swagger: "2.0"
schemes:
  - https
host: adminmanagement.local.azurestack.external
info:
  title: Compute Admin Client
  version: 2015-12-01-preview
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: azsadmin-VMExtensions
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Authorization uses an Azure Active Directory OAuth2 flow.
    flow: implicit
    scopes:
      user_impersonation: impersonate your user account
    type: oauth2
security:
  - azure_auth:
      - user_impersonation
parameters:
  TypeParameter:
    description: Type of extension.
    in: path
    name: type
    required: true
    type: string
    x-ms-parameter-location: method
  VMExtensionParameter:
    description: Virtual Machine Extension Image creation properties.
    in: body
    name: extension
    required: true
    schema:
      $ref: "#/definitions/VMExtensionParameters"
    x-ms-parameter-location: method
paths:
  "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/VMExtension":
    get:
      description: List of all Virtual Machine Extension Images for the current location are returned.
      operationId: VMExtensions_List
      parameters:
        - description: Subscription credentials that uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Location of the resource.
          in: path
          name: location
          required: true
          type: string
          x-ms-parameter-location: method
        - default: 2015-12-01-preview
          description: Client API Version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/VMExtensionList"
      summary: Returns a list of all Virtual Machine Extension Images.
      tags:
        - VMExtensions
      x-ms-examples:
        Returns a list of all Virtual Machine Extension Image.:
          parameters:
            api-version: 2015-12-01-preview
            location: local
            subscriptionId: 20ff7fc3-e762-44dd-bd96-b71116dcdc23
          responses:
            "200":
              body:
                - id: /subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/artifactTypes/VMExtension/publishers/Microsoft/types/MicroExtension/versions/0.2.0
                  location: local
                  properties:
                    computeRole: N/A
                    isSystemExtension: false
                    provisioningState: Succeeded
                    supportMultipleExtensions: true
                    vmOsType: Linux
                    vmScaleSetEnabled: false
                  type: Microsoft.Compute.Admin/locations/artifactTypes/VMExtension/publishers/types/versions/
                - id: /subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/artifactTypes/VMExtension/publishers/Microsoft.Compute/types/BGInfo/versions/2.1
                  location: local
                  properties:
                    computeRole: N/A
                    isSystemExtension: false
                    provisioningState: Succeeded
                    supportMultipleExtensions: false
                    vmOsType: Windows
                    vmScaleSetEnabled: false
                  type: Microsoft.Compute.Admin/locations/artifactTypes/VMExtension/publishers/types/versions/
                - id: /subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/artifactTypes/VMExtension/publishers/Microsoft.Compute/types/CustomScriptExtension/versions/1.8
                  location: local
                  properties:
                    computeRole: N/A
                    isSystemExtension: false
                    provisioningState: Succeeded
                    supportMultipleExtensions: false
                    vmOsType: Windows
                    vmScaleSetEnabled: false
                  type: Microsoft.Compute.Admin/locations/artifactTypes/VMExtension/publishers/types/versions/
                - id: /subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/artifactTypes/VMExtension/publishers/Microsoft.OSTCExtensions/types/CustomScriptForLinux/versions/1.5.2.0
                  location: local
                  properties:
                    computeRole: N/A
                    isSystemExtension: false
                    provisioningState: Succeeded
                    supportMultipleExtensions: false
                    vmOsType: Linux
                    vmScaleSetEnabled: false
                  type: Microsoft.Compute.Admin/locations/artifactTypes/VMExtension/publishers/types/versions/
                - id: /subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/artifactTypes/VMExtension/publishers/Microsoft.Azure.Extensions/types/DockerExtension/versions/1.1.1606092330
                  location: local
                  properties:
                    computeRole: N/A
                    isSystemExtension: false
                    provisioningState: Succeeded
                    supportMultipleExtensions: false
                    vmOsType: Linux
                    vmScaleSetEnabled: false
                  type: Microsoft.Compute.Admin/locations/artifactTypes/VMExtension/publishers/types/versions/
                - id: /subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/artifactTypes/VMExtension/publishers/Microsoft.Powershell/types/DSC/versions/2.19.0.0
                  location: local
                  properties:
                    computeRole: N/A
                    isSystemExtension: false
                    provisioningState: Succeeded
                    supportMultipleExtensions: false
                    vmOsType: Windows
                    vmScaleSetEnabled: false
                  type: Microsoft.Compute.Admin/locations/artifactTypes/VMExtension/publishers/types/versions/
                - id: /subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/artifactTypes/VMExtension/publishers/Microsoft.Azure.Security/types/IaaSAntimalware/versions/1.4.0.0
                  location: local
                  properties:
                    computeRole: N/A
                    isSystemExtension: false
                    provisioningState: Succeeded
                    supportMultipleExtensions: false
                    vmOsType: Windows
                    vmScaleSetEnabled: false
                  type: Microsoft.Compute.Admin/locations/artifactTypes/VMExtension/publishers/types/versions/
                - id: /subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/artifactTypes/VMExtension/publishers/Microsoft.Azure.Diagnostics/types/IaaSDiagnostics/versions/1.10.1.1
                  location: local
                  properties:
                    computeRole: N/A
                    isSystemExtension: false
                    provisioningState: Succeeded
                    supportMultipleExtensions: false
                    vmOsType: Windows
                    vmScaleSetEnabled: false
                  type: Microsoft.Compute.Admin/locations/artifactTypes/VMExtension/publishers/types/versions/
                - id: /subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/artifactTypes/VMExtension/publishers/Microsoft.Compute/types/JsonADDomainExtension/versions/1.3
                  location: local
                  properties:
                    computeRole: N/A
                    isSystemExtension: false
                    provisioningState: Succeeded
                    supportMultipleExtensions: false
                    vmOsType: Windows
                    vmScaleSetEnabled: false
                  type: Microsoft.Compute.Admin/locations/artifactTypes/VMExtension/publishers/types/versions/
                - id: /subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/artifactTypes/VMExtension/publishers/Microsoft.EnterpriseCloud.Monitoring/types/MicrosoftMonitoringAgent/versions/1.0.10900.0
                  location: local
                  properties:
                    computeRole: N/A
                    isSystemExtension: false
                    provisioningState: Succeeded
                    supportMultipleExtensions: false
                    vmOsType: Windows
                    vmScaleSetEnabled: false
                  type: Microsoft.Compute.Admin/locations/artifactTypes/VMExtension/publishers/types/versions/
                - id: /subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/artifactTypes/VMExtension/publishers/Microsoft.OSTCExtensions/types/OSPatchingForLinux/versions/2.3.0.1
                  location: local
                  properties:
                    computeRole: N/A
                    isSystemExtension: false
                    provisioningState: Succeeded
                    supportMultipleExtensions: false
                    vmOsType: Linux
                    vmScaleSetEnabled: false
                  type: Microsoft.Compute.Admin/locations/artifactTypes/VMExtension/publishers/types/versions/
                - id: /subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/artifactTypes/VMExtension/publishers/Microsoft.Compute/types/VMAccessAgent/versions/2.0
                  location: local
                  properties:
                    computeRole: N/A
                    isSystemExtension: false
                    provisioningState: Succeeded
                    supportMultipleExtensions: false
                    vmOsType: Windows
                    vmScaleSetEnabled: false
                  type: Microsoft.Compute.Admin/locations/artifactTypes/VMExtension/publishers/types/versions/
                - id: /subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/artifactTypes/VMExtension/publishers/Microsoft.OSTCExtensions/types/VMAccessForLinux/versions/1.4.0.0
                  location: local
                  properties:
                    computeRole: N/A
                    isSystemExtension: false
                    provisioningState: Succeeded
                    supportMultipleExtensions: false
                    vmOsType: Linux
                    vmScaleSetEnabled: false
                  type: Microsoft.Compute.Admin/locations/artifactTypes/VMExtension/publishers/types/versions/
  "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/VMExtension/publishers/{publisher}/types/{type}/versions/{version}":
    delete:
      description: Deletes specified Virtual Machine Extension Image.
      operationId: VMExtensions_Delete
      parameters:
        - description: Subscription credentials that uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Location of the resource.
          in: path
          name: location
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Name of the publisher.
          in: path
          name: publisher
          required: true
          type: string
          x-ms-parameter-location: method
        - $ref: "#/parameters/TypeParameter"
        - description: The version of the resource.
          in: path
          name: version
          required: true
          type: string
          x-ms-parameter-location: method
        - default: 2015-12-01-preview
          description: Client API Version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: OK
      summary: Deletes a Virtual Machine Extension Image.
      tags:
        - VMExtensions
      x-ms-examples:
        Delete a Virtual Machine Extension Image.:
          parameters:
            api-version: 2015-12-01-preview
            location: local
            publisher: Microsoft
            subscriptionId: 20ff7fc3-e762-44dd-bd96-b71116dcdc23
            type: MicroExtension
            version: 0.2.0
          responses:
            "200": {}
    get:
      description: Returns requested Virtual Machine Extension Image matching publisher, type, version.
      operationId: VMExtensions_Get
      parameters:
        - description: Subscription credentials that uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Location of the resource.
          in: path
          name: location
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Name of the publisher.
          in: path
          name: publisher
          required: true
          type: string
          x-ms-parameter-location: method
        - $ref: "#/parameters/TypeParameter"
        - description: The version of the resource.
          in: path
          name: version
          required: true
          type: string
          x-ms-parameter-location: method
        - default: 2015-12-01-preview
          description: Client API Version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/VMExtension"
      summary: Returns requested Virtual Machine Extension Image.
      tags:
        - VMExtensions
      x-ms-examples:
        Returns requested Virtual Machine Extension Image.:
          parameters:
            api-version: 2015-12-01-preview
            location: local
            publisher: Microsoft
            subscriptionId: 20ff7fc3-e762-44dd-bd96-b71116dcdc23
            type: MicroExtension
            version: 0.2.0
          responses:
            "200":
              body:
                id: /subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/artifactTypes/VMExtension/publishers/Microsoft/types/MicroExtension/versions/0.2.0
                location: local
                properties:
                  computeRole: N/A
                  isSystemExtension: false
                  provisioningState: Succeeded
                  supportMultipleExtensions: true
                  vmOsType: Linux
                  vmScaleSetEnabled: false
                type: Microsoft.Compute.Admin/locations/artifactTypes/VMExtension/publishers/types/versions/
    put:
      description: Create a Virtual Machine Extension Image with publisher, version.
      operationId: VMExtensions_Create
      parameters:
        - description: Subscription credentials that uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Location of the resource.
          in: path
          name: location
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Name of the publisher.
          in: path
          name: publisher
          required: true
          type: string
          x-ms-parameter-location: method
        - $ref: "#/parameters/TypeParameter"
        - description: The version of the resource.
          in: path
          name: version
          required: true
          type: string
          x-ms-parameter-location: method
        - default: 2015-12-01-preview
          description: Client API Version.
          in: query
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/VMExtensionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/VMExtension"
        "201":
          description: OK
          schema:
            $ref: "#/definitions/VMExtension"
      summary: Create a Virtual Machine Extension Image.
      tags:
        - VMExtensions
      x-ms-examples:
        Create a Virtual Machine Extension Image.:
          parameters:
            api-version: 2015-12-01-preview
            extension:
              properties:
                computeRole: N/A
                isSystemExtension: false
                sourceBlob:
                  uri: https://test.blob.local.azurestack.external/test/Microsoft.Powershell.DSC_2.19.0.0.zip
                supportMultipleExtensions: true
                vmOsType: Linux
                vmScaleSetEnabled: false
            location: local
            publisher: Microsoft
            subscriptionId: 20ff7fc3-e762-44dd-bd96-b71116dcdc23
            type: MicroExtension
            version: 0.2.0
          responses:
            "200":
              body:
                id: /subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/artifactTypes/VMExtension/publishers/Microsoft/types/MicroExtension/versions/0.2.0
                location: local
                properties:
                  computeRole: N/A
                  isSystemExtension: false
                  provisioningState: Succeeded
                  supportMultipleExtensions: true
                  vmOsType: Linux
                  vmScaleSetEnabled: false
                type: Microsoft.Compute.Admin/locations/artifactTypes/VMExtension/publishers/types/versions/
            "201":
              body:
                id: /subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/artifactTypes/VMExtension/publishers/Microsoft/types/MicroExtension/versions/0.2.0
                location: local
                properties:
                  computeRole: N/A
                  isSystemExtension: false
                  provisioningState: Succeeded
                  supportMultipleExtensions: true
                  vmOsType: Linux
                  vmScaleSetEnabled: false
                type: Microsoft.Compute.Admin/locations/artifactTypes/VMExtension/publishers/types/versions/
definitions:
  AzureBlob:
    description: Azure or AzureStack blob information.
    properties:
      uri:
        description: URI to Azure or AzureStack blob.
        type: string
    type: object
  VMExtension:
    allOf:
      - description: Base resource object.
        properties:
          id:
            description: ID of the resource.
            readOnly: true
            type: string
          location:
            description: Location of the resource.
            type: string
          name:
            description: Name of the resource.
            readOnly: true
            type: string
          type:
            description: Type of Resource.
            readOnly: true
            type: string
        type: object
        x-ms-azure-resource: true
    description: Virtual Machine Extension Image.
    properties:
      properties:
        $ref: "#/definitions/VMExtensionProperties"
        description: Inner properties of a Virtual Machine Extension Image.
        x-ms-client-flatten: true
    type: object
  VMExtensionList:
    description: List of virtual machine extensions.
    items:
      $ref: "#/definitions/VMExtension"
    type: array
  VMExtensionParameters:
    description: Parameters used to create a new Virtual Machine Extension Image.
    properties:
      properties:
        $ref: "#/definitions/VMExtensionProperties"
        description: Properties of a Virtual Machine Extension Image.
        x-ms-client-flatten: true
    type: object
  VMExtensionProperties:
    description: Properties of a Virtual Machine Extension Image.
    properties:
      computeRole:
        description: Compute role
        type: string
      isSystemExtension:
        description: Indicates if the extension is for the system.
        type: boolean
      provisioningState:
        description: The provisioning state of the resource.
        enum:
          - Creating
          - Failed
          - Succeeded
          - Canceled
        type: string
        x-ms-enum:
          name: ProvisioningState
      sourceBlob:
        $ref: "#/definitions/AzureBlob"
        description: URI to Azure or AzureStack blob.
      supportMultipleExtensions:
        description: True if supports multiple extensions.
        type: boolean
      vmOsType:
        description: Operating system type.
        enum:
          - Unknown
          - Windows
          - Linux
        type: string
        x-ms-enum:
          name: OsType
      vmScaleSetEnabled:
        description: Value indicating whether the extension is enabled for virtual machine scale set support.
        type: boolean
    type: object
