swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  title: ComputeManagementConvenienceClient
  version: 2015-11-01
  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/compute/quickstart-templates/swagger.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: compute-swagger
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Azure Active Directory OAuth2 Flow
    flow: implicit
    scopes:
      user_impersonation: impersonate your user account
    type: oauth2
security:
  - azure_auth:
      - user_impersonation
parameters:
  ApiVersionParameter:
    description: Client Api Version.
    in: query
    name: api-version
    required: true
    type: string
  SubscriptionIdParameter:
    description: Gets subscription credentials which 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
paths:
  "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}":
    put:
      description: Create a named template deployment using a template.
      operationId: VirtualMachines_QuickCreate
      parameters:
        - description: The name of the resource group. The name is case insensitive.
          in: path
          name: resourceGroupName
          pattern: ^[-\w\._]+$
          required: true
          type: string
        - description: The name of the deployment.
          in: path
          name: deploymentName
          required: true
          type: string
        - description: Additional parameters supplied to the operation.
          in: body
          name: parameters
          required: false
          schema:
            $ref: "#/definitions/Deployment"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/DeploymentExtended"
        "201":
          description: ""
          schema:
            $ref: "#/definitions/DeploymentExtended"
      tags:
        - Deployments
      x-ms-long-running-operation: true
definitions:
  BasicDependency:
    description: Deployment dependency information.
    properties:
      id:
        description: Gets or sets the ID of the dependency.
        type: string
      resourceName:
        description: Gets or sets the dependency resource name.
        type: string
      resourceType:
        description: Gets or sets the dependency resource type.
        type: string
  Dependency:
    description: Deployment dependency information.
    properties:
      dependsOn:
        description: Gets the list of dependencies.
        items:
          $ref: "#/definitions/BasicDependency"
        type: array
      id:
        description: Gets or sets the ID of the dependency.
        type: string
      resourceName:
        description: Gets or sets the dependency resource name.
        type: string
      resourceType:
        description: Gets or sets the dependency resource type.
        type: string
  Deployment:
    description: Deployment operation parameters.
    properties:
      properties:
        $ref: "#/definitions/DeploymentProperties"
        description: Gets or sets the deployment properties.
        x-ms-client-flatten: true
  DeploymentExtended:
    description: Deployment information.
    properties:
      id:
        description: Gets or sets the ID of the deployment.
        type: string
      name:
        description: Gets or sets the name of the deployment.
        type: string
      properties:
        $ref: "#/definitions/DeploymentPropertiesExtended"
        description: Gets or sets deployment properties.
    required:
      - name
  DeploymentParameters:
    properties:
      adminPassword:
        properties:
          value:
            description: Password for the Virtual Machine.
            format: password
            type: string
        required:
          - value
        type: object
        x-ms-client-flatten: true
      adminUsername:
        properties:
          value:
            description: Username for the Virtual Machine.
            type: string
        required:
          - value
        type: object
        x-ms-client-flatten: true
      dnsLabelPrefix:
        properties:
          value:
            description: Unique DNS Name for the Public IP used to access the Virtual Machine.
            type: string
        required:
          - value
        type: object
        x-ms-client-flatten: true
      osVersion:
        description: Deployment operation parameters.
        properties:
          value:
            default: 14.04.2-LTS
            description: The OS version for the VM. This will pick a fully patched image of this given OS version.
            enum:
              - 12.04.5-LTS
              - 14.04.2-LTS
              - "15.10"
            type: string
        required:
          - value
        type: object
        x-ms-client-flatten: true
  DeploymentProperties:
    description: Deployment properties.
    properties:
      mode:
        description: Gets or sets the deployment mode.
        enum:
          - Incremental
        type: string
      parameters:
        $ref: "#/definitions/DeploymentParameters"
        description: Deployment parameters. Use only one of Parameters or ParametersLink.
        x-ms-client-flatten: true
      templateLink:
        $ref: "#/definitions/TemplateLink"
        description: Gets or sets the URI referencing the template. Use only one of Template or TemplateLink.
    required:
      - templateLink
      - mode
  DeploymentPropertiesExtended:
    description: Deployment properties with additional details.
    properties:
      correlationId:
        description: Gets or sets the correlation ID of the deployment.
        type: string
      dependencies:
        description: Gets the list of deployment dependencies.
        items:
          $ref: "#/definitions/Dependency"
        type: array
      mode:
        description: Gets or sets the deployment mode.
        enum:
          - Incremental
          - Complete
        type: string
        x-ms-enum:
          modelAsString: false
          name: DeploymentMode
      outputs:
        description: Gets or sets key/value pairs that represent deployment output.
        type: object
      parameters:
        description: Deployment parameters. Use only one of Parameters or ParametersLink.
        type: object
      parametersLink:
        $ref: "#/definitions/ParametersLink"
        description: Gets or sets the URI referencing the parameters. Use only one of Parameters or ParametersLink.
      providers:
        description: Gets the list of resource providers needed for the deployment.
        items:
          $ref: "#/definitions/Provider"
        type: array
      provisioningState:
        description: Gets or sets the state of the provisioning.
        type: string
      template:
        description: Gets or sets the template content. Use only one of Template or TemplateLink.
        type: object
      templateLink:
        $ref: "#/definitions/TemplateLink"
        description: Gets or sets the URI referencing the template. Use only one of Template or TemplateLink.
      timestamp:
        description: Gets or sets the timestamp of the template deployment.
        format: date-time
        type: string
  ParametersLink:
    description: Entity representing the reference to the deployment parameters.
    properties:
      contentVersion:
        description: If included it must match the ContentVersion in the template.
        type: string
      uri:
        description: URI referencing the template.
        type: string
    required:
      - uri
  Provider:
    description: Resource provider information.
    properties:
      id:
        description: Gets or sets the provider id.
        type: string
      namespace:
        description: Gets or sets the namespace of the provider.
        type: string
      registrationState:
        description: Gets or sets the registration state of the provider.
        type: string
      resourceTypes:
        description: Gets or sets the collection of provider resource types.
        items:
          $ref: "#/definitions/ProviderResourceType"
        type: array
  ProviderResourceType:
    description: Resource type managed by the resource provider.
    properties:
      apiVersions:
        description: Gets or sets the api version.
        items:
          type: string
        type: array
      locations:
        description: Gets or sets the collection of locations where this resource type can be created in.
        items:
          type: string
        type: array
      properties:
        additionalProperties:
          type: string
        description: Gets or sets the properties.
        type: object
      resourceType:
        description: Gets or sets the resource type.
        type: string
  TemplateLink:
    description: Entity representing the reference to the template.
    properties:
      uri:
        description: URI referencing the template.
        enum:
          - https://raw.githubusercontent.com/stankovski/azure-rest-api-specs/master/arm-compute/quickstart-templates/vm-simple-linux.json
        type: string
    required:
      - uri
