openapi: 3.1.0 info: title: Application Research CNAB Bundle API Resources Applications API version: 1.0.0 description: 'API for managing Cloud Native Application Bundles (CNAB). This API provides endpoints for managing CNAB bundles, claims, claim results, dependencies, parameter sources, relocation mappings, and installation status. ' contact: name: CNAB Specification url: https://cnab.io license: name: Apache-2.0 url: https://www.apache.org/licenses/LICENSE-2.0 servers: - url: https://api.example.com/v1 description: Production server - url: https://staging-api.example.com/v1 description: Staging server security: - bearerAuth: [] - apiKey: [] tags: - name: Applications description: Application resource operations paths: /planes/radius/{planeName}/resourceGroups/{resourceGroupName}/providers/Applications.Core/applications: get: tags: - Applications summary: Application Research List applications operationId: Applications_List parameters: - $ref: '#/components/parameters/PlaneNameParameter' - $ref: '#/components/parameters/ResourceGroupNameParameter' - $ref: '#/components/parameters/ApiVersionParameter' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApplicationResourceListResult' examples: applicationList: $ref: '#/components/examples/ApplicationListExample' default: $ref: '#/components/responses/ErrorResponse' /planes/radius/{planeName}/resourceGroups/{resourceGroupName}/providers/Applications.Core/applications/{applicationName}: get: tags: - Applications summary: Application Research Get application operationId: Applications_Get parameters: - $ref: '#/components/parameters/PlaneNameParameter' - $ref: '#/components/parameters/ResourceGroupNameParameter' - $ref: '#/components/parameters/ApplicationNameParameter' - $ref: '#/components/parameters/ApiVersionParameter' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApplicationResource' examples: ecommerceApplication: $ref: '#/components/examples/EcommerceApplicationExample' default: $ref: '#/components/responses/ErrorResponse' put: tags: - Applications summary: Application Research Create or update application operationId: Applications_CreateOrUpdate parameters: - $ref: '#/components/parameters/PlaneNameParameter' - $ref: '#/components/parameters/ResourceGroupNameParameter' - $ref: '#/components/parameters/ApplicationNameParameter' - $ref: '#/components/parameters/ApiVersionParameter' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ApplicationResource' examples: ecommerceApplication: $ref: '#/components/examples/EcommerceApplicationExample' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApplicationResource' '201': description: Created content: application/json: schema: $ref: '#/components/schemas/ApplicationResource' default: $ref: '#/components/responses/ErrorResponse' delete: tags: - Applications summary: Application Research Delete application operationId: Applications_Delete parameters: - $ref: '#/components/parameters/PlaneNameParameter' - $ref: '#/components/parameters/ResourceGroupNameParameter' - $ref: '#/components/parameters/ApplicationNameParameter' - $ref: '#/components/parameters/ApiVersionParameter' responses: '200': description: Success '204': description: No Content default: $ref: '#/components/responses/ErrorResponse' components: schemas: EnvironmentCompute: type: object description: Represents backing compute resource properties: kind: type: string resourceId: type: string identity: $ref: '#/components/schemas/IdentitySettings' required: - kind discriminator: propertyName: kind mapping: kubernetes: '#/components/schemas/KubernetesCompute' aci: '#/components/schemas/AzureContainerInstanceCompute' ProvisioningState: type: string description: Provisioning state of the resource at the time the operation was called enum: - Creating - Updating - Deleting - Accepted - Provisioning - Succeeded - Failed - Canceled readOnly: true ResourceStatus: type: object description: Status of a resource properties: compute: $ref: '#/components/schemas/EnvironmentCompute' recipe: $ref: '#/components/schemas/RecipeStatus' readOnly: true outputResources: type: array items: $ref: '#/components/schemas/OutputResource' ApplicationProperties: type: object properties: provisioningState: $ref: '#/components/schemas/ProvisioningState' readOnly: true environment: type: string description: Fully qualified resource ID for the environment extensions: type: array items: $ref: '#/components/schemas/Extension' status: $ref: '#/components/schemas/ResourceStatus' readOnly: true required: - environment IdentitySettingKind: type: string description: IdentitySettingKind is the kind of supported external identity setting enum: - undefined - azure.com.workload - aws.com.irsa - userAssigned - systemAssigned - systemAssignedUserAssigned IdentitySettings: type: object description: IdentitySettings is the external identity setting properties: kind: $ref: '#/components/schemas/IdentitySettingKind' oidcIssuer: type: string description: The URI for your compute platform's OIDC issuer resource: type: string description: The resource ID of the provisioned identity managedIdentity: type: array items: type: string required: - kind Extension: type: object description: Extension of a environment/application resource properties: kind: type: string required: - kind discriminator: propertyName: kind mapping: kubernetesMetadata: '#/components/schemas/KubernetesMetadataExtension' kubernetesNamespace: '#/components/schemas/KubernetesNamespaceExtension' manualScaling: '#/components/schemas/ManualScalingExtension' daprSidecar: '#/components/schemas/DaprSidecarExtension' aci: '#/components/schemas/AzureContainerInstanceExtension' ApplicationResourceListResult: type: object properties: value: type: array items: $ref: '#/components/schemas/ApplicationResource' nextLink: type: string format: uri required: - value RecipeStatus: type: object description: Recipe status at deployment time properties: templateKind: type: string templatePath: type: string templateVersion: type: string required: - templateKind - templatePath OutputResource: type: object description: Properties of an output resource properties: localId: type: string id: type: string radiusManaged: type: boolean ApplicationResource: type: object properties: properties: $ref: '#/components/schemas/ApplicationProperties' id: type: string readOnly: true name: type: string readOnly: true type: type: string readOnly: true systemData: type: object readOnly: true tags: type: object additionalProperties: type: string location: type: string required: - properties - location parameters: ApiVersionParameter: name: api-version in: query required: true description: The API version to use for this operation schema: type: string default: 2023-10-01-preview ApplicationNameParameter: name: applicationName in: path required: true description: The name of the application schema: type: string ResourceGroupNameParameter: name: resourceGroupName in: path required: true description: The name of the resource group schema: type: string pattern: ^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$ maxLength: 63 PlaneNameParameter: name: planeName in: path required: true description: The name of the plane schema: type: string pattern: ^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$ maxLength: 63 examples: EcommerceApplicationExample: summary: E-commerce application value: properties: environment: /planes/radius/local/resourceGroups/ecommerce-rg/providers/Applications.Core/environments/prod extensions: - kind: kubernetesNamespace namespace: ecommerce-app - kind: kubernetesMetadata annotations: app.kubernetes.io/managed-by: radius labels: app.kubernetes.io/name: ecommerce-platform app.kubernetes.io/version: 2.5.0 location: eastus tags: application: ecommerce-platform version: 2.5.0 ApplicationListExample: summary: List of applications value: value: - properties: environment: /planes/radius/local/resourceGroups/ecommerce-rg/providers/Applications.Core/environments/prod extensions: - kind: kubernetesNamespace namespace: ecommerce-app - kind: kubernetesMetadata annotations: app.kubernetes.io/managed-by: radius labels: app.kubernetes.io/name: ecommerce-platform app.kubernetes.io/version: 2.5.0 location: eastus tags: application: ecommerce-platform version: 2.5.0 id: /planes/radius/local/resourceGroups/ecommerce-rg/providers/Applications.Core/applications/ecommerce-platform name: ecommerce-platform type: Applications.Core/applications responses: ErrorResponse: description: Error response content: application/json: schema: type: object properties: error: type: object properties: code: type: string description: Error code message: type: string description: Error message target: type: string description: Error target required: - code - message required: - error securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: JWT-based authentication apiKey: type: apiKey in: header name: X-API-Key description: API key authentication