Application Research Volumes API

Volume resource operations

Documentation

Specifications

Code Examples

Schemas & Data

OpenAPI Specification

application-research-volumes-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Application Research CNAB Bundle API Resources Volumes 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: Volumes
  description: Volume resource operations
paths:
  /planes/radius/{planeName}/resourceGroups/{resourceGroupName}/providers/Applications.Core/volumes/{volumeName}:
    get:
      tags:
      - Volumes
      summary: Application Research Get volume
      operationId: Volumes_Get
      parameters:
      - $ref: '#/components/parameters/PlaneNameParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VolumeNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeResource'
              examples:
                azureKeyVaultVolume:
                  $ref: '#/components/examples/AzureKeyVaultVolumeExample'
        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'
    IdentitySettingKind:
      type: string
      description: IdentitySettingKind is the kind of supported external identity setting
      enum:
      - undefined
      - azure.com.workload
      - aws.com.irsa
      - userAssigned
      - systemAssigned
      - systemAssignedUserAssigned
    VolumeResource:
      type: object
      properties:
        properties:
          $ref: '#/components/schemas/VolumeProperties'
        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
    OutputResource:
      type: object
      description: Properties of an output resource
      properties:
        localId:
          type: string
        id:
          type: string
        radiusManaged:
          type: boolean
    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
    RecipeStatus:
      type: object
      description: Recipe status at deployment time
      properties:
        templateKind:
          type: string
        templatePath:
          type: string
        templateVersion:
          type: string
      required:
      - templateKind
      - templatePath
    VolumeProperties:
      type: object
      properties:
        kind:
          type: string
        environment:
          type: string
        application:
          type: string
        provisioningState:
          $ref: '#/components/schemas/ProvisioningState'
          readOnly: true
        status:
          $ref: '#/components/schemas/ResourceStatus'
          readOnly: true
      required:
      - kind
      - application
  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
    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
    VolumeNameParameter:
      name: volumeName
      in: path
      required: true
      description: The name of the volume
      schema:
        type: string
  examples:
    AzureKeyVaultVolumeExample:
      summary: Azure Key Vault volume with secrets and certificates
      value:
        properties:
          kind: azure.com.keyvault
          application: /planes/radius/local/resourceGroups/ecommerce-rg/providers/Applications.Core/applications/ecommerce-platform
          resource: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ecommerce-rg/providers/Microsoft.KeyVault/vaults/ecommerce-config-kv
          secrets:
            api-key:
              name: order-service-api-key
              version: v1
              alias: api-key.txt
              encoding: utf-8
            signing-key:
              name: jwt-signing-key
              alias: signing-key.pem
              encoding: base64
          certificates:
            client-cert:
              name: client-certificate
              alias: client.pfx
              format: pfx
              certType: certificate
          keys:
            encryption-key:
              name: data-encryption-key
              alias: encryption.key
        location: eastus
        tags:
          volume-type: config
  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