swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: Provides operations for working with resources and resource groups.
  title: ResourceManagementClient
  version: 2019-08-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/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/resources.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: resources
  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: The API version to use for this operation.
    in: query
    name: api-version
    required: true
    type: string
  DeploymentNameParameter:
    description: The name of the deployment.
    in: path
    maxLength: 64
    minLength: 1
    name: deploymentName
    pattern: ^[-\w\._\(\)]+$
    required: true
    type: string
    x-ms-parameter-location: method
  GroupIdParameter:
    description: The management group ID.
    in: path
    maxLength: 90
    minLength: 1
    name: groupId
    required: true
    type: string
    x-ms-parameter-location: method
  ScopeParameter:
    description: The scope of a deployment.
    in: path
    name: scope
    required: true
    type: string
    x-ms-parameter-location: method
  SubscriptionIdParameter:
    description: The ID of the target subscription.
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  /providers:
    get:
      description: Gets all resource providers for the tenant.
      operationId: Providers_ListAtTenantScope
      parameters:
        - description: The number of results to return. If null is passed returns all providers.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - description: The properties to include in the results. For example, use &$expand=metadata in the query string to retrieve resource provider metadata. To include property aliases in response, use $expand=resourceTypes/aliases.
          in: query
          name: $expand
          required: false
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns an array of resource providers.
          schema:
            $ref: "#/definitions/ProviderListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Providers
      x-ms-pageable:
        nextLinkName: nextLink
  "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/":
    get:
      description: Get all the deployments for a management group.
      operationId: Deployments_ListAtManagementGroupScope
      parameters:
        - $ref: "#/parameters/GroupIdParameter"
        - description: The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'.
          in: query
          name: $filter
          required: false
          type: string
        - description: The number of results to get. If null is passed, returns all deployments.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns an array of deployments.
          schema:
            $ref: "#/definitions/DeploymentListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
      x-ms-odata: "#/definitions/DeploymentExtendedFilter"
      x-ms-pageable:
        nextLinkName: nextLink
  "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}":
    delete:
      description: A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.
      operationId: Deployments_DeleteAtManagementGroupScope
      parameters:
        - $ref: "#/parameters/GroupIdParameter"
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: Accepted - Returns this status until the asynchronous operation has completed.
        "204":
          description: No Content
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Deletes a deployment from the deployment history.
      tags:
        - Deployments
      x-ms-long-running-operation: true
    get:
      description: Gets a deployment.
      operationId: Deployments_GetAtManagementGroupScope
      parameters:
        - $ref: "#/parameters/GroupIdParameter"
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns information about the deployment, including provisioning status.
          schema:
            $ref: "#/definitions/DeploymentExtended"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
    head:
      description: Checks whether the deployment exists.
      operationId: Deployments_CheckExistenceAtManagementGroupScope
      parameters:
        - $ref: "#/parameters/GroupIdParameter"
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: No Content
        "404":
          description: Not Found
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
    put:
      description: You can provide the template and parameters directly in the request or link to JSON files.
      operationId: Deployments_CreateOrUpdateAtManagementGroupScope
      parameters:
        - $ref: "#/parameters/GroupIdParameter"
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: Additional parameters supplied to the operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ScopedDeployment"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns information about the deployment, including provisioning status.
          schema:
            $ref: "#/definitions/DeploymentExtended"
        "201":
          description: Created - Returns information about the deployment, including provisioning status.
          schema:
            $ref: "#/definitions/DeploymentExtended"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Deploys resources at management group scope.
      tags:
        - Deployments
      x-ms-examples:
        Create deployment at management group scope.:
          parameters:
            api-version: 2019-08-01
            deploymentName: mg-dep01
            groupId: tiano-group1
            parameters:
              location: eastus
              properties:
                mode: Incremental
                parameters: {}
                templateLink: "{templateUri}"
          responses:
            "200":
              body:
                id: /providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Resources/deployments/mg-dep01
                location: eastus
                name: mg-dep01
                properties:
                  correlationId: "{correlationId}"
                  dependencies:
                    - dependsOn:
                        - id: /providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Authorization/policyDefinitions/policy2
                          resourceName: policy2
                          resourceType: Microsoft.Authorization/policyDefinitions
                      id: /providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Authorization/policyAssignments/location-lock
                      resourceName: location-lock
                      resourceType: Microsoft.Authorization/policyAssignments
                  duration: PT1.2970875S
                  mode: Incremental
                  parameters: {}
                  providers:
                    - namespace: Microsoft.Authorization
                      resourceTypes:
                        - locations:
                            - null
                          resourceType: policyDefinitions
                        - locations:
                            - null
                          resourceType: policyAssignments
                    - namespace: Microsoft.Resources
                      resourceTypes:
                        - locations:
                            - eastus
                          resourceType: deployments
                  provisioningState: Accepted
                  timestamp: 2019-04-24T22:52:38.7895563Z
                type: Microsoft.Resources/deployments
            "201":
              body:
                id: /providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Resources/deployments/mg-dep01
                location: eastus
                name: mg-dep01
                properties:
                  correlationId: "{correlationId}"
                  dependencies:
                    - dependsOn:
                        - id: /providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Authorization/policyDefinitions/policy2
                          resourceName: policy2
                          resourceType: Microsoft.Authorization/policyDefinitions
                      id: /providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Authorization/policyAssignments/location-lock
                      resourceName: location-lock
                      resourceType: Microsoft.Authorization/policyAssignments
                  duration: PT1.2970875S
                  mode: Incremental
                  parameters: {}
                  providers:
                    - namespace: Microsoft.Authorization
                      resourceTypes:
                        - locations:
                            - null
                          resourceType: policyDefinitions
                        - locations:
                            - null
                          resourceType: policyAssignments
                    - namespace: Microsoft.Resources
                      resourceTypes:
                        - locations:
                            - eastus
                          resourceType: deployments
                  provisioningState: Accepted
                  timestamp: 2019-04-24T22:52:38.7895563Z
                type: Microsoft.Resources/deployments
      x-ms-long-running-operation: true
  "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel":
    post:
      description: You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.
      operationId: Deployments_CancelAtManagementGroupScope
      parameters:
        - $ref: "#/parameters/GroupIdParameter"
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: No Content
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Cancels a currently running template deployment.
      tags:
        - Deployments
  "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate":
    post:
      description: Exports the template used for specified deployment.
      operationId: Deployments_ExportTemplateAtManagementGroupScope
      parameters:
        - $ref: "#/parameters/GroupIdParameter"
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns the template.
          schema:
            $ref: "#/definitions/DeploymentExportResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
  "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations":
    get:
      description: Gets all deployments operations for a deployment.
      operationId: DeploymentOperations_ListAtManagementGroupScope
      parameters:
        - $ref: "#/parameters/GroupIdParameter"
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: The number of results to return.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Return an array of deployment operations.
          schema:
            $ref: "#/definitions/DeploymentOperationsListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - DeploymentOperations
      x-ms-pageable:
        nextLinkName: nextLink
  "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}":
    get:
      description: Gets a deployments operation.
      operationId: DeploymentOperations_GetAtManagementGroupScope
      parameters:
        - $ref: "#/parameters/GroupIdParameter"
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: The ID of the operation to get.
          in: path
          name: operationId
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns information about the deployment operation.
          schema:
            $ref: "#/definitions/DeploymentOperation"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - DeploymentOperations
  "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/validate":
    post:
      description: Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..
      operationId: Deployments_ValidateAtManagementGroupScope
      parameters:
        - $ref: "#/parameters/GroupIdParameter"
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: Parameters to validate.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ScopedDeployment"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns the validation result.
          schema:
            $ref: "#/definitions/DeploymentValidateResult"
        "400":
          description: Returns the validation result.
          schema:
            $ref: "#/definitions/DeploymentValidateResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
  /providers/Microsoft.Resources/calculateTemplateHash:
    post:
      description: Calculate the hash of the given template.
      operationId: Deployments_CalculateTemplateHash
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - description: The template provided to calculate hash.
          in: body
          name: template
          required: true
          schema:
            type: object
      responses:
        "200":
          description: OK - Returns the hash.
          schema:
            $ref: "#/definitions/TemplateHashResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
      x-ms-examples:
        Calculate template hash:
          parameters:
            api-version: 2019-08-01
            template:
              $schema: http://schemas.management.azure.com/deploymentTemplate?api-version=2014-04-01-preview
              contentVersion: 1.0.0.0
              outputs:
                string:
                  type: string
                  value: myvalue
              parameters:
                string:
                  type: string
              resources: []
              variables:
                array:
                  - 1
                  - 2
                  - 3
                  - 4
                bool: true
                int: 42
                object:
                  object:
                    location: West US
                    vmSize: Large
                string: string
          responses:
            "200":
              body:
                minifiedTemplate: '{"$SCHEMA":"HTTP://SCHEMAS.MANAGEMENT.AZURE.COM/DEPLOYMENTTEMPLATE?API-VERSION=2014-04-01-PREVIEW","CONTENTVERSION":"1.0.0.0","PARAMETERS":{"STRING":{"TYPE":"STRING"}},"VARIABLES":{"STRING":"STRING","INT":42,"BOOL":TRUE,"ARRAY":[1,2,3,4],"OBJECT":{"OBJECT":{"VMSIZE":"LARGE","LOCATION":"WEST US"}}},"RESOURCES":[],"OUTPUTS":{"STRING":{"TYPE":"STRING","VALUE":"MYVALUE"}}}'
                templateHash: "695440707931307747"
  /providers/Microsoft.Resources/deployments/:
    get:
      description: Get all the deployments at the tenant scope.
      operationId: Deployments_ListAtTenantScope
      parameters:
        - description: The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'.
          in: query
          name: $filter
          required: false
          type: string
        - description: The number of results to get. If null is passed, returns all deployments.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns an array of deployments.
          schema:
            $ref: "#/definitions/DeploymentListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
      x-ms-odata: "#/definitions/DeploymentExtendedFilter"
      x-ms-pageable:
        nextLinkName: nextLink
  "/providers/Microsoft.Resources/deployments/{deploymentName}":
    delete:
      description: A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.
      operationId: Deployments_DeleteAtTenantScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: Accepted - Returns this status until the asynchronous operation has completed.
        "204":
          description: No Content
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Deletes a deployment from the deployment history.
      tags:
        - Deployments
      x-ms-long-running-operation: true
    get:
      description: Gets a deployment.
      operationId: Deployments_GetAtTenantScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns information about the deployment, including provisioning status.
          schema:
            $ref: "#/definitions/DeploymentExtended"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
    head:
      description: Checks whether the deployment exists.
      operationId: Deployments_CheckExistenceAtTenantScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: No Content
        "404":
          description: Not Found
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
    put:
      description: You can provide the template and parameters directly in the request or link to JSON files.
      operationId: Deployments_CreateOrUpdateAtTenantScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: Additional parameters supplied to the operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ScopedDeployment"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns information about the deployment, including provisioning status.
          schema:
            $ref: "#/definitions/DeploymentExtended"
        "201":
          description: Created - Returns information about the deployment, including provisioning status.
          schema:
            $ref: "#/definitions/DeploymentExtended"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Deploys resources at tenant scope.
      tags:
        - Deployments
      x-ms-examples:
        Create deployment at tenant scope.:
          parameters:
            api-version: 2019-08-01
            deploymentName: tenant-dep01
            parameters:
              location: eastus
              properties:
                mode: Incremental
                parameters: {}
                templateLink: "{templateUri}"
          responses:
            "200":
              body:
                id: /providers/Microsoft.Resources/deployments/tenant-dep01
                location: eastus
                name: tenant-dep01
                properties:
                  correlationId: "{correlationId}"
                  dependencies:
                    - dependsOn:
                        - id: /providers/Microsoft.Authorization/policyDefinitions/policy2
                          resourceName: policy2
                          resourceType: Microsoft.Authorization/policyDefinitions
                      id: /providers/Microsoft.Authorization/policyAssignments/location-lock
                      resourceName: location-lock
                      resourceType: Microsoft.Authorization/policyAssignments
                  duration: PT1.2970875S
                  mode: Incremental
                  parameters: {}
                  providers:
                    - namespace: Microsoft.Authorization
                      resourceTypes:
                        - locations:
                            - null
                          resourceType: policyDefinitions
                        - locations:
                            - null
                          resourceType: policyAssignments
                    - namespace: Microsoft.Resources
                      resourceTypes:
                        - locations:
                            - eastus
                          resourceType: deployments
                  provisioningState: Accepted
                  timestamp: 2019-04-24T22:52:38.7895563Z
                type: Microsoft.Resources/deployments
            "201":
              body:
                id: /providers/Microsoft.Resources/deployments/tenant-dep01
                location: eastus
                name: tenant-dep01
                properties:
                  correlationId: "{correlationId}"
                  dependencies:
                    - dependsOn:
                        - id: /providers/Microsoft.Authorization/policyDefinitions/policy2
                          resourceName: policy2
                          resourceType: Microsoft.Authorization/policyDefinitions
                      id: /providers/Microsoft.Authorization/policyAssignments/location-lock
                      resourceName: location-lock
                      resourceType: Microsoft.Authorization/policyAssignments
                  duration: PT1.2970875S
                  mode: Incremental
                  parameters: {}
                  providers:
                    - namespace: Microsoft.Authorization
                      resourceTypes:
                        - locations:
                            - null
                          resourceType: policyDefinitions
                        - locations:
                            - null
                          resourceType: policyAssignments
                    - namespace: Microsoft.Resources
                      resourceTypes:
                        - locations:
                            - eastus
                          resourceType: deployments
                  provisioningState: Accepted
                  timestamp: 2019-04-24T22:52:38.7895563Z
                type: Microsoft.Resources/deployments
      x-ms-long-running-operation: true
  "/providers/Microsoft.Resources/deployments/{deploymentName}/cancel":
    post:
      description: You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.
      operationId: Deployments_CancelAtTenantScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: No Content
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Cancels a currently running template deployment.
      tags:
        - Deployments
  "/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate":
    post:
      description: Exports the template used for specified deployment.
      operationId: Deployments_ExportTemplateAtTenantScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns the template.
          schema:
            $ref: "#/definitions/DeploymentExportResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
  "/providers/Microsoft.Resources/deployments/{deploymentName}/operations":
    get:
      description: Gets all deployments operations for a deployment.
      operationId: DeploymentOperations_ListAtTenantScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: The number of results to return.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Return an array of deployment operations.
          schema:
            $ref: "#/definitions/DeploymentOperationsListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - DeploymentOperations
      x-ms-pageable:
        nextLinkName: nextLink
  "/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}":
    get:
      description: Gets a deployments operation.
      operationId: DeploymentOperations_GetAtTenantScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: The ID of the operation to get.
          in: path
          name: operationId
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns information about the deployment operation.
          schema:
            $ref: "#/definitions/DeploymentOperation"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - DeploymentOperations
  "/providers/Microsoft.Resources/deployments/{deploymentName}/validate":
    post:
      description: Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..
      operationId: Deployments_ValidateAtTenantScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: Parameters to validate.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ScopedDeployment"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns the validation result.
          schema:
            $ref: "#/definitions/DeploymentValidateResult"
        "400":
          description: Returns the validation result.
          schema:
            $ref: "#/definitions/DeploymentValidateResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
  /providers/Microsoft.Resources/operations:
    get:
      description: Lists all of the available Microsoft.Resources REST API operations.
      operationId: Operations_List
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/OperationListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Operations
      x-ms-pageable:
        nextLinkName: nextLink
  "/providers/{resourceProviderNamespace}":
    get:
      description: Gets the specified resource provider at the tenant level.
      operationId: Providers_GetAtTenantScope
      parameters:
        - description: The $expand query parameter. For example, to include property aliases in response, use $expand=resourceTypes/aliases.
          in: query
          name: $expand
          required: false
          type: string
        - description: The namespace of the resource provider.
          in: path
          name: resourceProviderNamespace
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns information about the resource provider.
          schema:
            $ref: "#/definitions/Provider"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Providers
  "/subscriptions/{subscriptionId}/providers":
    get:
      description: Gets all resource providers for a subscription.
      operationId: Providers_List
      parameters:
        - description: The number of results to return. If null is passed returns all deployments.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - description: The properties to include in the results. For example, use &$expand=metadata in the query string to retrieve resource provider metadata. To include property aliases in response, use $expand=resourceTypes/aliases.
          in: query
          name: $expand
          required: false
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns an array of resource providers.
          schema:
            $ref: "#/definitions/ProviderListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Providers
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/":
    get:
      description: Get all the deployments for a subscription.
      operationId: Deployments_ListAtSubscriptionScope
      parameters:
        - description: The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'.
          in: query
          name: $filter
          required: false
          type: string
        - description: The number of results to get. If null is passed, returns all deployments.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns an array of deployments.
          schema:
            $ref: "#/definitions/DeploymentListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
      x-ms-odata: "#/definitions/DeploymentExtendedFilter"
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}":
    delete:
      description: A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.
      operationId: Deployments_DeleteAtSubscriptionScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "202":
          description: Accepted - Returns this status until the asynchronous operation has completed.
        "204":
          description: No Content
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Deletes a deployment from the deployment history.
      tags:
        - Deployments
      x-ms-long-running-operation: true
    get:
      description: Gets a deployment.
      operationId: Deployments_GetAtSubscriptionScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns information about the deployment, including provisioning status.
          schema:
            $ref: "#/definitions/DeploymentExtended"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
    head:
      description: Checks whether the deployment exists.
      operationId: Deployments_CheckExistenceAtSubscriptionScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "204":
          description: No Content
        "404":
          description: Not Found
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
    put:
      description: You can provide the template and parameters directly in the request or link to JSON files.
      operationId: Deployments_CreateOrUpdateAtSubscriptionScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: Additional parameters supplied to the operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/Deployment"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns information about the deployment, including provisioning status.
          schema:
            $ref: "#/definitions/DeploymentExtended"
        "201":
          description: Created - Returns information about the deployment, including provisioning status.
          schema:
            $ref: "#/definitions/DeploymentExtended"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Deploys resources at subscription scope.
      tags:
        - Deployments
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel":
    post:
      description: You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.
      operationId: Deployments_CancelAtSubscriptionScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "204":
          description: No Content
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Cancels a currently running template deployment.
      tags:
        - Deployments
  "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate":
    post:
      description: Exports the template used for specified deployment.
      operationId: Deployments_ExportTemplateAtSubscriptionScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns the template.
          schema:
            $ref: "#/definitions/DeploymentExportResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
  "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations":
    get:
      description: Gets all deployments operations for a deployment.
      operationId: DeploymentOperations_ListAtSubscriptionScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: The number of results to return.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Return an array of deployment operations.
          schema:
            $ref: "#/definitions/DeploymentOperationsListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - DeploymentOperations
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}":
    get:
      description: Gets a deployments operation.
      operationId: DeploymentOperations_GetAtSubscriptionScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: The ID of the operation to get.
          in: path
          name: operationId
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns information about the deployment operation.
          schema:
            $ref: "#/definitions/DeploymentOperation"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - DeploymentOperations
  "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/validate":
    post:
      description: Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..
      operationId: Deployments_ValidateAtSubscriptionScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: Parameters to validate.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/Deployment"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns the validation result.
          schema:
            $ref: "#/definitions/DeploymentValidateResult"
        "400":
          description: Returns the validation result.
          schema:
            $ref: "#/definitions/DeploymentValidateResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
  "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf":
    post:
      description: Returns changes that will be made by the deployment if executed at the scope of the subscription.
      operationId: Deployments_WhatIfAtSubscriptionScope
      parameters:
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: Parameters to What If.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/DeploymentWhatIf"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns What-If operation status
          schema:
            $ref: "#/definitions/WhatIfOperationResult"
        "202":
          description: Accepted - Returns URL in Location header to query for long-running operation status.
          headers:
            Location:
              description: URL to get status of this long-running operation.
              type: string
            Retry-After:
              description: Number of seconds to wait before polling for status.
              type: string
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
      x-ms-examples:
        Predict template changes at subscription scope:
          parameters:
            api-version: 2019-08-01
            deploymentName: exampleDeploymentName
            parameters:
              location: westus
              properties:
                mode: Incremental
                parameters: {}
                templateLink: https://example.com/exampleTemplate.json
            subscriptionId: 00000000-0000-0000-0000-000000000001
          responses:
            "200":
              body:
                properties:
                  changes:
                    - after:
                        apiVersion: 2018-11-30
                        id: /subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity
                        location: westus2
                        name: myExistingIdentity
                        tags:
                          myNewTag: my tag value
                        type: Microsoft.ManagedIdentity/userAssignedIdentities
                      before:
                        apiVersion: 2018-11-30
                        id: /subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity
                        location: westus2
                        name: myExistingIdentity
                        type: Microsoft.ManagedIdentity/userAssignedIdentities
                      changeType: Modify
                      delta:
                        - after: my tag value
                          path: tags.myNewTag
                          propertyChangeType: Create
                      resourceId: /subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity
                    - after:
                        apiVersion: 2018-11-30
                        id: /subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNewIdentity
                        location: eastus
                        name: myNewIdentity
                        tags:
                          myOtherNewTag: another new tag value
                        type: Microsoft.ManagedIdentity/userAssignedIdentities
                      changeType: Create
                      resourceId: /subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNewIdentity
                    - after:
                        apiVersion: 2019-03-01
                        id: /subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup2
                        location: "{location3}"
                        name: myResourceGroup2
                        type: Microsoft.Resources/resourceGroups
                      changeType: Create
                      resourceId: /subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup2
                status: succeeded
            "202":
              headers:
                Location: /subscriptions/4d0ca63b-7939-4c9c-afbe-5fafae501724/operationresults/ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: location
  "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}":
    get:
      description: Gets the specified resource provider.
      operationId: Providers_Get
      parameters:
        - description: The $expand query parameter. For example, to include property aliases in response, use $expand=resourceTypes/aliases.
          in: query
          name: $expand
          required: false
          type: string
        - description: The namespace of the resource provider.
          in: path
          name: resourceProviderNamespace
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns information about the resource provider.
          schema:
            $ref: "#/definitions/Provider"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Providers
  "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register":
    post:
      description: Registers a subscription with a resource provider.
      operationId: Providers_Register
      parameters:
        - description: The namespace of the resource provider to register.
          in: path
          name: resourceProviderNamespace
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns information about the resource provider.
          schema:
            $ref: "#/definitions/Provider"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Providers
  "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister":
    post:
      description: Unregisters a subscription from a resource provider.
      operationId: Providers_Unregister
      parameters:
        - description: The namespace of the resource provider to unregister.
          in: path
          name: resourceProviderNamespace
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns information about the resource provider.
          schema:
            $ref: "#/definitions/Provider"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Providers
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources":
    get:
      description: Get all the resources for a resource group.
      operationId: Resources_ListByResourceGroup
      parameters:
        - description: The resource group with the resources to get.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - description: "The filter to apply on the operation.<br><br>The properties you can use for eq (equals) or ne (not equals) are: location, resourceType, name, resourceGroup, identity, identity/principalId, plan, plan/publisher, plan/product, plan/name, plan/version, and plan/promotionCode.<br><br>For example, to filter by a resource type, use: $filter=resourceType eq 'Microsoft.Network/virtualNetworks'<br><br>You can use substringof(value, property) in the filter. The properties you can use for substring are: name and resourceGroup.<br><br>For example, to get all resources with 'demo' anywhere in the name, use: $filter=substringof('demo', name)<br><br>You can link more than one substringof together by adding and/or operators.<br><br>You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'. When you filter by a tag name and value, the tags for each resource are not returned in the results.<br><br>You can use some properties together when filtering. The combinations you can use are: substringof and/or resourceType, plan and plan/publisher and plan/name, identity and identity/principalId."
          in: query
          name: $filter
          required: false
          type: string
        - description: The $expand query parameter. You can expand createdTime and changedTime. For example, to expand both properties, use $expand=changedTime,createdTime
          in: query
          name: $expand
          required: false
          type: string
        - description: The number of results to return. If null is passed, returns all resources.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns an array of resources
          schema:
            $ref: "#/definitions/ResourceListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - ResourceGroups
      x-ms-odata: "#/definitions/GenericResourceFilter"
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/moveResources":
    post:
      description: "The resources to move must be in the same source resource group. The target resource group may be in a different subscription. When moving resources, both the source group and the target group are locked for the duration of the operation. Write and delete operations are blocked on the groups until the move completes. "
      operationId: Resources_MoveResources
      parameters:
        - description: The name of the resource group containing the resources to move.
          in: path
          maxLength: 90
          minLength: 1
          name: sourceResourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - description: Parameters for moving resources.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ResourcesMoveInfo"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "202":
          description: Accepted
        "204":
          description: No Content
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Moves resources from one resource group to another resource group.
      tags:
        - Resources
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/validateMoveResources":
    post:
      description: This operation checks whether the specified resources can be moved to the target. The resources to move must be in the same source resource group. The target resource group may be in a different subscription. If validation succeeds, it returns HTTP response code 204 (no content). If validation fails, it returns HTTP response code 409 (Conflict) with an error message. Retrieve the URL in the Location header value to check the result of the long-running operation.
      operationId: Resources_ValidateMoveResources
      parameters:
        - description: The name of the resource group containing the resources to validate for move.
          in: path
          maxLength: 90
          minLength: 1
          name: sourceResourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - description: Parameters for moving resources.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ResourcesMoveInfo"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "202":
          description: Accepted
        "204":
          description: No Content
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Validates whether resources can be moved from one resource group to another resource group.
      tags:
        - Resources
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourcegroups":
    get:
      description: Gets all the resource groups for a subscription.
      operationId: ResourceGroups_List
      parameters:
        - description: The filter to apply on the operation.<br><br>You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'
          in: query
          name: $filter
          required: false
          type: string
        - description: The number of results to return. If null is passed, returns all resource groups.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns an array of resource groups.
          schema:
            $ref: "#/definitions/ResourceGroupListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - ResourceGroups
      x-ms-odata: "#/definitions/ResourceGroupFilter"
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}":
    delete:
      description: When you delete a resource group, all of its resources are also deleted. Deleting a resource group deletes all of its template deployments and currently stored operations.
      operationId: ResourceGroups_Delete
      parameters:
        - description: The name of the resource group to delete. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK
        "202":
          description: Accepted
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Deletes a resource group.
      tags:
        - ResourceGroups
      x-ms-long-running-operation: true
    get:
      description: Gets a resource group.
      operationId: ResourceGroups_Get
      parameters:
        - description: The name of the resource group to get. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns information about the resource group.
          schema:
            $ref: "#/definitions/ResourceGroup"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - ResourceGroups
    head:
      description: Checks whether a resource group exists.
      operationId: ResourceGroups_CheckExistence
      parameters:
        - description: The name of the resource group to check. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "204":
          description: No Content
        "404":
          description: Not Found
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - ResourceGroups
    patch:
      description: Resource groups can be updated through a simple PATCH operation to a group address. The format of the request is the same as that for creating a resource group. If a field is unspecified, the current value is retained.
      operationId: ResourceGroups_Update
      parameters:
        - description: The name of the resource group to update. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - description: Parameters supplied to update a resource group.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ResourceGroupPatchable"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns information about the resource group.
          schema:
            $ref: "#/definitions/ResourceGroup"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Updates a resource group.
      tags:
        - ResourceGroups
    put:
      description: Creates or updates a resource group.
      operationId: ResourceGroups_CreateOrUpdate
      parameters:
        - description: The name of the resource group to create or update. Can include alphanumeric, underscore, parentheses, hyphen, period (except at end), and Unicode characters that match the allowed characters.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - description: Parameters supplied to the create or update a resource group.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ResourceGroup"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns information about the new resource group.
          schema:
            $ref: "#/definitions/ResourceGroup"
        "201":
          description: Created - Returns information about the new resource group.
          schema:
            $ref: "#/definitions/ResourceGroup"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - ResourceGroups
      x-ms-examples:
        Create or update a resource group:
          parameters:
            api-version: 2019-08-01
            parameters:
              location: eastus
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscription-id}"
          responses:
            "200":
              body:
                id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup
                location: eastus
                name: myResourceGroup
                properties:
                  provisioningState: Succeeded
            "201":
              body:
                id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup
                location: eastus
                name: myResourceGroup
                properties:
                  provisioningState: Succeeded
  "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations":
    get:
      description: Gets all deployments operations for a deployment.
      operationId: DeploymentOperations_List
      parameters:
        - description: The name of the resource group. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: The number of results to return.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Return an array of deployment operations.
          schema:
            $ref: "#/definitions/DeploymentOperationsListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - DeploymentOperations
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}":
    get:
      description: Gets a deployments operation.
      operationId: DeploymentOperations_Get
      parameters:
        - description: The name of the resource group. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: The ID of the operation to get.
          in: path
          name: operationId
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns information about the deployment operation.
          schema:
            $ref: "#/definitions/DeploymentOperation"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - DeploymentOperations
  "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate":
    post:
      description: Captures the specified resource group as a template.
      operationId: ResourceGroups_ExportTemplate
      parameters:
        - description: The ID of the target subscription.
          in: path
          minLength: 1
          name: subscriptionId
          required: true
          type: string
        - description: The name of the resource group. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
          x-ms-parameter-location: method
        - description: The API version to use for this operation.
          in: query
          minLength: 1
          name: api-version
          required: true
          type: string
        - description: Parameters for exporting the template.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ExportTemplateRequest"
      responses:
        "200":
          description: OK - Returns the result of the export.
          schema:
            $ref: "#/definitions/ResourceGroupExportResult"
        "202":
          description: Accepted
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - ResourceGroups
      x-ms-examples:
        Export a resource group:
          parameters:
            api-version: 2019-08-01
            parameters:
              options: IncludeParameterDefaultValue,IncludeComments
              resources:
                - "*"
            resourceGroupName: myResourceGroup
            subscriptionId: eaee6a92-e973-4922-9471-3a0a6abf81cd
          responses:
            "200":
              body:
                error:
                  code: ExportTemplateCompletedWithErrors
                  details: []
                  message: Export template operation completed with errors. Some resources were not exported. Please see details for more information.
                template:
                  $schema: https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#
                  contentVersion: 1.0.0.0
                  parameters:
                    myResourceType_myFirstResource_name:
                      defaultValue: myFirstResource
                      type: String
                    myResourceType_myFirstResource_secret:
                      defaultValue: null
                      type: SecureString
                    myResourceType_mySecondResource_name:
                      defaultValue: mySecondResource
                      type: String
                  resources:
                    - apiVersion: 2019-01-01
                      location: West US
                      name: "[parameters('myResourceType_myFirstResource_name')]"
                      properties:
                        secret: "[parameters('myResourceType_myFirstResource_secret')]"
                      type: My.RP/myResourceType
                    - apiVersion: 2019-01-01
                      location: West US
                      name: "[parameters('myResourceType_mySecondResource_name')]"
                      properties:
                        customProperty: hello!
                      type: My.RP/myResourceType
                  variables: {}
            "202":
              headers:
                location: https://management.azure.com/subscriptions/eaee6a92-e973-4922-9471-3a0a6abf81cd/operationresults/c9bbccf4-e16a-4eb7-befb-2e2e5195c347?api-version=2018-08-01
        Export a resource group with filtering:
          parameters:
            api-version: 2019-08-01
            parameters:
              options: SkipResourceNameParameterization
              resources:
                - /subscriptions/eaee6a92-e973-4922-9471-3a0a6abf81cd/resourceGroups/myResourceGroup/providers/My.RP/myResourceType/myFirstResource
            resourceGroupName: myResourceGroup
            subscriptionId: eaee6a92-e973-4922-9471-3a0a6abf81cd
          responses:
            "200":
              body:
                template:
                  $schema: https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#
                  contentVersion: 1.0.0.0
                  parameters:
                    myResourceType_myFirstResource_secret:
                      defaultValue: null
                      type: SecureString
                  resources:
                    - apiVersion: 2019-01-01
                      location: West US
                      name: myFirstResource
                      properties:
                        secret: "[parameters('myResourceType_myFirstResource_secret')]"
                      type: My.RP/myResourceType
                  variables: {}
            "202":
              headers:
                location: https://management.azure.com/subscriptions/eaee6a92-e973-4922-9471-3a0a6abf81cd/operationresults/c9bbccf4-e16a-4eb7-befb-2e2e5195c347?api-version=2018-08-01
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: location
  "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/":
    get:
      description: Get all the deployments for a resource group.
      operationId: Deployments_ListByResourceGroup
      parameters:
        - description: The name of the resource group with the deployments to get. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - description: The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'.
          in: query
          name: $filter
          required: false
          type: string
        - description: The number of results to get. If null is passed, returns all deployments.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns an array of deployments.
          schema:
            $ref: "#/definitions/DeploymentListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
      x-ms-odata: "#/definitions/DeploymentExtendedFilter"
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}":
    delete:
      description: A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. Deleting a template deployment does not affect the state of the resource group. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.
      operationId: Deployments_Delete
      parameters:
        - description: The name of the resource group with the deployment to delete. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "202":
          description: Accepted - Returns this status until the asynchronous operation has completed.
        "204":
          description: No Content
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Deletes a deployment from the deployment history.
      tags:
        - Deployments
      x-ms-long-running-operation: true
    get:
      description: Gets a deployment.
      operationId: Deployments_Get
      parameters:
        - description: The name of the resource group. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns information about the deployment, including provisioning status.
          schema:
            $ref: "#/definitions/DeploymentExtended"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
    head:
      description: Checks whether the deployment exists.
      operationId: Deployments_CheckExistence
      parameters:
        - description: The name of the resource group with the deployment to check. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "204":
          description: No Content
        "404":
          description: Not Found
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
    put:
      description: You can provide the template and parameters directly in the request or link to JSON files.
      operationId: Deployments_CreateOrUpdate
      parameters:
        - description: The name of the resource group to deploy the resources to. The name is case insensitive. The resource group must already exist.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: Additional parameters supplied to the operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/Deployment"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns information about the deployment, including provisioning status.
          schema:
            $ref: "#/definitions/DeploymentExtended"
        "201":
          description: Created - Returns information about the deployment, including provisioning status.
          schema:
            $ref: "#/definitions/DeploymentExtended"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Deploys resources to a resource group.
      tags:
        - Deployments
      x-ms-examples:
        Create a deployment that will redeploy another deployment on failure:
          parameters:
            api-version: 2019-08-01
            deploymentName: exampleDeploymentName
            parameters:
              properties:
                mode: Complete
                onErrorDeployment:
                  deploymentName: "{nameOfDeploymentToUse}"
                  type: SpecificDeployment
                parameters: {}
                templateLink: "{templateUri}"
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscriptionId}"
          responses:
            "200":
              body:
                id: /subscriptions/{subscriptionId}/resourcegroups/myResourceGroup/providers/Microsoft.Resources/deployments/exampleDeploymentName
                name: exampleDeploymentName
                properties:
                  correlationId: "{correlationId}"
                  mode: Complete
                  onErrorDeployment:
                    deploymentName: "{nameOfDeploymentToUse}"
                    type: SpecificDeployment
                  provisioningState: Accepted
                  timestamp: 2019-03-01T00:00:00.0000000Z
                type: Microsoft.Resources/deployments
            "201":
              body:
                id: /subscriptions/{subscriptionId}/resourcegroups/myResourceGroup/providers/Microsoft.Resources/deployments/exampleDeploymentName
                name: exampleDeploymentName
                properties:
                  correlationId: "{correlationId}"
                  mode: Complete
                  onErrorDeployment:
                    deploymentName: "{nameOfDeploymentToUse}"
                    type: SpecificDeployment
                  provisioningState: Accepted
                  timestamp: 2019-03-01T00:00:00.0000000Z
                type: Microsoft.Resources/deployments
        Create a deployment that will redeploy the last successful deployment on failure:
          parameters:
            api-version: 2019-08-01
            deploymentName: exampleDeploymentName
            parameters:
              properties:
                mode: Complete
                onErrorDeployment:
                  type: LastSuccessful
                parameters: {}
                templateLink: "{templateUri}"
            resourceGroupName: myResourceGroup
            subscriptionId: "{subscriptionId}"
          responses:
            "200":
              body:
                id: /subscriptions/{subscriptionId}/resourcegroups/myResourceGroup/providers/Microsoft.Resources/deployments/exampleDeploymentName
                name: exampleDeploymentName
                properties:
                  correlationId: "{correlationId}"
                  mode: Complete
                  onErrorDeployment:
                    deploymentName: "{nameOfLastSuccesfulDeployment}"
                    type: LastSuccessful
                  provisioningState: Accepted
                  timestamp: 2019-03-01T00:00:00.0000000Z
                type: Microsoft.Resources/deployments
            "201":
              body:
                id: /subscriptions/{subscriptionId}/resourcegroups/myResourceGroup/providers/Microsoft.Resources/deployments/exampleDeploymentName
                name: exampleDeploymentName
                properties:
                  correlationId: "{correlationId}"
                  mode: Complete
                  onErrorDeployment:
                    deploymentName: "{nameOfLastSuccesfulDeployment}"
                    type: LastSuccessful
                  provisioningState: Accepted
                  timestamp: 2019-03-01T00:00:00.0000000Z
                type: Microsoft.Resources/deployments
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel":
    post:
      description: You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resource group partially deployed.
      operationId: Deployments_Cancel
      parameters:
        - description: The name of the resource group. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "204":
          description: No Content
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Cancels a currently running template deployment.
      tags:
        - Deployments
  "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate":
    post:
      description: Exports the template used for specified deployment.
      operationId: Deployments_ExportTemplate
      parameters:
        - description: The name of the resource group. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns the template.
          schema:
            $ref: "#/definitions/DeploymentExportResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
  "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate":
    post:
      description: Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..
      operationId: Deployments_Validate
      parameters:
        - description: The name of the resource group the template will be deployed to. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: Parameters to validate.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/Deployment"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns the validation result.
          schema:
            $ref: "#/definitions/DeploymentValidateResult"
        "400":
          description: Returns the validation result.
          schema:
            $ref: "#/definitions/DeploymentValidateResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
  "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf":
    post:
      description: Returns changes that will be made by the deployment if executed at the scope of the resource group.
      operationId: Deployments_WhatIf
      parameters:
        - description: The name of the resource group the template will be deployed to. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: Parameters to validate.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/DeploymentWhatIf"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns What-If operation status
          schema:
            $ref: "#/definitions/WhatIfOperationResult"
        "202":
          description: Accepted - Returns URL in Location header to query for long-running operation status.
          headers:
            Location:
              description: URL to get status of this long-running operation.
              type: string
            Retry-After:
              description: Number of seconds to wait before polling for status.
              type: string
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
      x-ms-examples:
        Predict template changes at resource group scope:
          parameters:
            api-version: 2019-08-01
            deploymentName: exampleDeploymentName
            parameters:
              properties:
                mode: Incremental
                parameters: {}
                templateLink: https://example.com/exampleTemplate.json
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000001
          responses:
            "200":
              body:
                properties:
                  changes:
                    - after:
                        apiVersion: 2018-11-30
                        id: /subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity
                        location: westus2
                        name: myExistingIdentity
                        tags:
                          myNewTag: my tag value
                        type: Microsoft.ManagedIdentity/userAssignedIdentities
                      before:
                        apiVersion: 2018-11-30
                        id: /subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity
                        location: westus2
                        name: myExistingIdentity
                        type: Microsoft.ManagedIdentity/userAssignedIdentities
                      changeType: Modify
                      delta:
                        - after: my tag value
                          path: tags.myNewTag
                          propertyChangeType: Create
                      resourceId: /subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity
                    - after:
                        apiVersion: 2018-11-30
                        id: /subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNewIdentity
                        location: eastus
                        name: myNewIdentity
                        tags:
                          myOtherNewTag: another new tag value
                        type: Microsoft.ManagedIdentity/userAssignedIdentities
                      changeType: Create
                      resourceId: /subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNewIdentity
                status: succeeded
            "202":
              headers:
                Location: /subscriptions/4d0ca63b-7939-4c9c-afbe-5fafae501724/operationresults/ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: location
  "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}":
    delete:
      description: Deletes a resource.
      operationId: Resources_Delete
      parameters:
        - description: The name of the resource group that contains the resource to delete. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - description: The namespace of the resource provider.
          in: path
          name: resourceProviderNamespace
          required: true
          type: string
        - description: The parent resource identity.
          in: path
          name: parentResourcePath
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - description: The resource type.
          in: path
          name: resourceType
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - description: The name of the resource to delete.
          in: path
          name: resourceName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK
        "202":
          description: Accepted
        "204":
          description: No Content
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Resources
      x-ms-long-running-operation: true
    get:
      description: Gets a resource.
      operationId: Resources_Get
      parameters:
        - description: The name of the resource group containing the resource to get. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - description: The namespace of the resource provider.
          in: path
          name: resourceProviderNamespace
          required: true
          type: string
        - description: The parent resource identity.
          in: path
          name: parentResourcePath
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - description: The resource type of the resource.
          in: path
          name: resourceType
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - description: The name of the resource to get.
          in: path
          name: resourceName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns information about the resource.
          schema:
            $ref: "#/definitions/GenericResource"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Resources
    head:
      description: Checks whether a resource exists.
      operationId: Resources_CheckExistence
      parameters:
        - description: The name of the resource group containing the resource to check. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - description: The resource provider of the resource to check.
          in: path
          name: resourceProviderNamespace
          required: true
          type: string
        - description: The parent resource identity.
          in: path
          name: parentResourcePath
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - description: The resource type.
          in: path
          name: resourceType
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - description: The name of the resource to check whether it exists.
          in: path
          name: resourceName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "204":
          description: No Content
        "404":
          description: Not Found
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Resources
    patch:
      description: Updates a resource.
      operationId: Resources_Update
      parameters:
        - description: The name of the resource group for the resource. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - description: The namespace of the resource provider.
          in: path
          name: resourceProviderNamespace
          required: true
          type: string
        - description: The parent resource identity.
          in: path
          name: parentResourcePath
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - description: The resource type of the resource to update.
          in: path
          name: resourceType
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - description: The name of the resource to update.
          in: path
          name: resourceName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - description: Parameters for updating the resource.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/GenericResource"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns information about the resource.
          schema:
            $ref: "#/definitions/GenericResource"
        "202":
          description: Accepted
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Resources
      x-ms-long-running-operation: true
    put:
      description: Creates a resource.
      operationId: Resources_CreateOrUpdate
      parameters:
        - description: The name of the resource group for the resource. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
        - description: The namespace of the resource provider.
          in: path
          name: resourceProviderNamespace
          required: true
          type: string
        - description: The parent resource identity.
          in: path
          name: parentResourcePath
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - description: The resource type of the resource to create.
          in: path
          name: resourceType
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - description: The name of the resource to create.
          in: path
          name: resourceName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - description: Parameters for creating or updating the resource.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/GenericResource"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns information about the resource.
          schema:
            $ref: "#/definitions/GenericResource"
        "201":
          description: Created - Returns information about the resource.
          schema:
            $ref: "#/definitions/GenericResource"
        "202":
          description: Accepted
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Resources
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resources":
    get:
      description: Get all the resources in a subscription.
      operationId: Resources_List
      parameters:
        - description: "The filter to apply on the operation.<br><br>The properties you can use for eq (equals) or ne (not equals) are: location, resourceType, name, resourceGroup, identity, identity/principalId, plan, plan/publisher, plan/product, plan/name, plan/version, and plan/promotionCode.<br><br>For example, to filter by a resource type, use: $filter=resourceType eq 'Microsoft.Network/virtualNetworks'<br><br>You can use substringof(value, property) in the filter. The properties you can use for substring are: name and resourceGroup.<br><br>For example, to get all resources with 'demo' anywhere in the name, use: $filter=substringof('demo', name)<br><br>You can link more than one substringof together by adding and/or operators.<br><br>You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'. When you filter by a tag name and value, the tags for each resource are not returned in the results.<br><br>You can use some properties together when filtering. The combinations you can use are: substringof and/or resourceType, plan and plan/publisher and plan/name, identity and identity/principalId."
          in: query
          name: $filter
          required: false
          type: string
        - description: The $expand query parameter. You can expand createdTime and changedTime. For example, to expand both properties, use $expand=changedTime,createdTime
          in: query
          name: $expand
          required: false
          type: string
        - description: The number of results to return. If null is passed, returns all resource groups.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns an array of resources.
          schema:
            $ref: "#/definitions/ResourceListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Resources
      x-ms-odata: "#/definitions/GenericResourceFilter"
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/tagNames":
    get:
      description: Gets the names and values of all resource tags that are defined in a subscription.
      operationId: Tags_List
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns an array of tag names and values.
          schema:
            $ref: "#/definitions/TagsListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Tags
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/tagNames/{tagName}":
    delete:
      description: You must remove all values from a resource tag before you can delete it.
      operationId: Tags_Delete
      parameters:
        - description: The name of the tag.
          in: path
          name: tagName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK
        "204":
          description: No Content
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Deletes a tag from the subscription.
      tags:
        - Tags
    put:
      description: The tag name can have a maximum of 512 characters and is case insensitive. Tag names created by Azure have prefixes of microsoft, azure, or windows. You cannot create tags with one of these prefixes.
      operationId: Tags_CreateOrUpdate
      parameters:
        - description: The name of the tag to create.
          in: path
          name: tagName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns information about the tag.
          schema:
            $ref: "#/definitions/TagDetails"
        "201":
          description: Created - Returns information about the tag.
          schema:
            $ref: "#/definitions/TagDetails"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Creates a tag in the subscription.
      tags:
        - Tags
  "/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}":
    delete:
      description: Deletes a tag value.
      operationId: Tags_DeleteValue
      parameters:
        - description: The name of the tag.
          in: path
          name: tagName
          required: true
          type: string
        - description: The value of the tag to delete.
          in: path
          name: tagValue
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK
        "204":
          description: No Content
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Tags
    put:
      description: Creates a tag value. The name of the tag must already exist.
      operationId: Tags_CreateOrUpdateValue
      parameters:
        - description: The name of the tag.
          in: path
          name: tagName
          required: true
          type: string
        - description: The value of the tag to create.
          in: path
          name: tagValue
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: OK - Returns information about the tag value.
          schema:
            $ref: "#/definitions/TagValue"
        "201":
          description: Created - Returns information about the tag value.
          schema:
            $ref: "#/definitions/TagValue"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Tags
  "/{resourceId}":
    delete:
      description: Deletes a resource by ID.
      operationId: Resources_DeleteById
      parameters:
        - description: The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}
          in: path
          name: resourceId
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK
        "202":
          description: Accepted
        "204":
          description: No Content
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Resources
      x-ms-long-running-operation: true
    get:
      description: Gets a resource by ID.
      operationId: Resources_GetById
      parameters:
        - description: The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}
          in: path
          name: resourceId
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns information about the resource.
          schema:
            $ref: "#/definitions/GenericResource"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Resources
    head:
      description: Checks by ID whether a resource exists.
      operationId: Resources_CheckExistenceById
      parameters:
        - description: The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}
          in: path
          name: resourceId
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: No Content
        "404":
          description: Not Found
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Resources
    patch:
      description: Updates a resource by ID.
      operationId: Resources_UpdateById
      parameters:
        - description: The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}
          in: path
          name: resourceId
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - $ref: "#/parameters/ApiVersionParameter"
        - description: Update resource parameters.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/GenericResource"
      responses:
        "200":
          description: OK - Returns information about the resource.
          schema:
            $ref: "#/definitions/GenericResource"
        "202":
          description: Accepted
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Resources
      x-ms-long-running-operation: true
    put:
      description: Create a resource by ID.
      operationId: Resources_CreateOrUpdateById
      parameters:
        - description: The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}
          in: path
          name: resourceId
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - $ref: "#/parameters/ApiVersionParameter"
        - description: Create or update resource parameters.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/GenericResource"
      responses:
        "200":
          description: OK - Returns information about the resource.
          schema:
            $ref: "#/definitions/GenericResource"
        "201":
          description: Created - Returns information about the resource.
          schema:
            $ref: "#/definitions/GenericResource"
        "202":
          description: Accepted
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Resources
      x-ms-long-running-operation: true
  "/{scope}/providers/Microsoft.Resources/deployments/":
    get:
      description: Get all the deployments at the given scope.
      operationId: Deployments_ListAtScope
      parameters:
        - $ref: "#/parameters/ScopeParameter"
        - description: The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'.
          in: query
          name: $filter
          required: false
          type: string
        - description: The number of results to get. If null is passed, returns all deployments.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns an array of deployments.
          schema:
            $ref: "#/definitions/DeploymentListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
      x-ms-odata: "#/definitions/DeploymentExtendedFilter"
      x-ms-pageable:
        nextLinkName: nextLink
  "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}":
    delete:
      description: A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.
      operationId: Deployments_DeleteAtScope
      parameters:
        - $ref: "#/parameters/ScopeParameter"
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: Accepted - Returns this status until the asynchronous operation has completed.
        "204":
          description: No Content
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Deletes a deployment from the deployment history.
      tags:
        - Deployments
      x-ms-long-running-operation: true
    get:
      description: Gets a deployment.
      operationId: Deployments_GetAtScope
      parameters:
        - $ref: "#/parameters/ScopeParameter"
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns information about the deployment, including provisioning status.
          schema:
            $ref: "#/definitions/DeploymentExtended"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
    head:
      description: Checks whether the deployment exists.
      operationId: Deployments_CheckExistenceAtScope
      parameters:
        - $ref: "#/parameters/ScopeParameter"
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: No Content
        "404":
          description: Not Found
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
    put:
      description: You can provide the template and parameters directly in the request or link to JSON files.
      operationId: Deployments_CreateOrUpdateAtScope
      parameters:
        - $ref: "#/parameters/ScopeParameter"
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: Additional parameters supplied to the operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/Deployment"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns information about the deployment, including provisioning status.
          schema:
            $ref: "#/definitions/DeploymentExtended"
        "201":
          description: Created - Returns information about the deployment, including provisioning status.
          schema:
            $ref: "#/definitions/DeploymentExtended"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Deploys resources at a given scope.
      tags:
        - Deployments
      x-ms-examples:
        Create deployment at a given scope.:
          parameters:
            api-version: 2019-08-01
            deploymentName: mg-dep01
            parameters:
              location: eastus
              properties:
                mode: Incremental
                parameters: {}
                templateLink: "{templateUri}"
            scope: providers/Microsoft.Management/managementGroups/tiano-group1
          responses:
            "200":
              body:
                id: /providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Resources/deployments/mg-dep01
                location: eastus
                name: mg-dep01
                properties:
                  correlationId: "{correlationId}"
                  dependencies:
                    - dependsOn:
                        - id: /providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Authorization/policyDefinitions/policy2
                          resourceName: policy2
                          resourceType: Microsoft.Authorization/policyDefinitions
                      id: /providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Authorization/policyAssignments/location-lock
                      resourceName: location-lock
                      resourceType: Microsoft.Authorization/policyAssignments
                  duration: PT1.2970875S
                  mode: Incremental
                  parameters: {}
                  providers:
                    - namespace: Microsoft.Authorization
                      resourceTypes:
                        - locations:
                            - null
                          resourceType: policyDefinitions
                        - locations:
                            - null
                          resourceType: policyAssignments
                    - namespace: Microsoft.Resources
                      resourceTypes:
                        - locations:
                            - eastus
                          resourceType: deployments
                  provisioningState: Accepted
                  timestamp: 2019-04-24T22:52:38.7895563Z
                type: Microsoft.Resources/deployments
            "201":
              body:
                id: /providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Resources/deployments/mg-dep01
                location: eastus
                name: mg-dep01
                properties:
                  correlationId: "{correlationId}"
                  dependencies:
                    - dependsOn:
                        - id: /providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Authorization/policyDefinitions/policy2
                          resourceName: policy2
                          resourceType: Microsoft.Authorization/policyDefinitions
                      id: /providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Authorization/policyAssignments/location-lock
                      resourceName: location-lock
                      resourceType: Microsoft.Authorization/policyAssignments
                  duration: PT1.2970875S
                  mode: Incremental
                  parameters: {}
                  providers:
                    - namespace: Microsoft.Authorization
                      resourceTypes:
                        - locations:
                            - null
                          resourceType: policyDefinitions
                        - locations:
                            - null
                          resourceType: policyAssignments
                    - namespace: Microsoft.Resources
                      resourceTypes:
                        - locations:
                            - eastus
                          resourceType: deployments
                  provisioningState: Accepted
                  timestamp: 2019-04-24T22:52:38.7895563Z
                type: Microsoft.Resources/deployments
      x-ms-long-running-operation: true
  "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel":
    post:
      description: You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.
      operationId: Deployments_CancelAtScope
      parameters:
        - $ref: "#/parameters/ScopeParameter"
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: No Content
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      summary: Cancels a currently running template deployment.
      tags:
        - Deployments
  "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate":
    post:
      description: Exports the template used for specified deployment.
      operationId: Deployments_ExportTemplateAtScope
      parameters:
        - $ref: "#/parameters/ScopeParameter"
        - $ref: "#/parameters/DeploymentNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns the template.
          schema:
            $ref: "#/definitions/DeploymentExportResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
  "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/operations":
    get:
      description: Gets all deployments operations for a deployment.
      operationId: DeploymentOperations_ListAtScope
      parameters:
        - $ref: "#/parameters/ScopeParameter"
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: The number of results to return.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Return an array of deployment operations.
          schema:
            $ref: "#/definitions/DeploymentOperationsListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - DeploymentOperations
      x-ms-pageable:
        nextLinkName: nextLink
  "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}":
    get:
      description: Gets a deployments operation.
      operationId: DeploymentOperations_GetAtScope
      parameters:
        - $ref: "#/parameters/ScopeParameter"
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: The ID of the operation to get.
          in: path
          name: operationId
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns information about the deployment operation.
          schema:
            $ref: "#/definitions/DeploymentOperation"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - DeploymentOperations
  "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/validate":
    post:
      description: Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..
      operationId: Deployments_ValidateAtScope
      parameters:
        - $ref: "#/parameters/ScopeParameter"
        - $ref: "#/parameters/DeploymentNameParameter"
        - description: Parameters to validate.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/Deployment"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns the validation result.
          schema:
            $ref: "#/definitions/DeploymentValidateResult"
        "400":
          description: Returns the validation result.
          schema:
            $ref: "#/definitions/DeploymentValidateResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - Deployments
definitions:
  AliasPathType:
    description: "The type of the paths for alias. "
    properties:
      apiVersions:
        description: The API versions.
        items:
          type: string
        type: array
      path:
        description: The path of an alias.
        type: string
  AliasType:
    description: "The alias type. "
    properties:
      name:
        description: The alias name.
        type: string
      paths:
        description: The paths for an alias.
        items:
          $ref: "#/definitions/AliasPathType"
        type: array
  BasicDependency:
    description: Deployment dependency information.
    properties:
      id:
        description: The ID of the dependency.
        type: string
      resourceName:
        description: The dependency resource name.
        type: string
      resourceType:
        description: The dependency resource type.
        type: string
  CloudError:
    description: An error response for a resource management request.
    properties:
      error:
        description: The resource management error response.
        properties:
          additionalInfo:
            description: The error additional info.
            items:
              description: The resource management error additional info.
              properties:
                info:
                  description: The additional info.
                  readOnly: true
                  type: object
                type:
                  description: The additional info type.
                  readOnly: true
                  type: string
            readOnly: true
            type: array
          code:
            description: The error code.
            readOnly: true
            type: string
          details:
            description: The error details.
            items:
              $ref: "#/definitions/ErrorResponse"
            readOnly: true
            type: array
          message:
            description: The error message.
            readOnly: true
            type: string
          target:
            description: The error target.
            readOnly: true
            type: string
    x-ms-external: true
  DebugSetting:
    description: The debug setting.
    properties:
      detailLevel:
        description: Specifies the type of information to log for debugging. The permitted values are none, requestContent, responseContent, or both requestContent and responseContent separated by a comma. The default is none. When setting this value, carefully consider the type of information you are passing in during deployment. By logging information about the request or response, you could potentially expose sensitive data that is retrieved through the deployment operations.
        type: string
  Dependency:
    description: Deployment dependency information.
    properties:
      dependsOn:
        description: The list of dependencies.
        items:
          $ref: "#/definitions/BasicDependency"
        type: array
      id:
        description: The ID of the dependency.
        type: string
      resourceName:
        description: The dependency resource name.
        type: string
      resourceType:
        description: The dependency resource type.
        type: string
  Deployment:
    description: Deployment operation parameters.
    properties:
      location:
        description: The location to store the deployment data.
        type: string
      properties:
        $ref: "#/definitions/DeploymentProperties"
        description: The deployment properties.
    required:
      - properties
  DeploymentExportResult:
    description: "The deployment export result. "
    properties:
      template:
        description: The template content.
        type: object
  DeploymentExtended:
    description: Deployment information.
    properties:
      id:
        description: The ID of the deployment.
        readOnly: true
        type: string
      location:
        description: the location of the deployment.
        type: string
      name:
        description: The name of the deployment.
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/DeploymentPropertiesExtended"
        description: Deployment properties.
      type:
        description: The type of the deployment.
        readOnly: true
        type: string
    x-ms-azure-resource: true
  DeploymentExtendedFilter:
    description: Deployment filter.
    properties:
      provisioningState:
        description: The provisioning state.
        type: string
  DeploymentListResult:
    description: List of deployments.
    properties:
      nextLink:
        description: The URL to use for getting the next set of results.
        readOnly: true
        type: string
      value:
        description: An array of deployments.
        items:
          $ref: "#/definitions/DeploymentExtended"
        type: array
  DeploymentOperation:
    description: Deployment operation information.
    properties:
      id:
        description: Full deployment operation ID.
        readOnly: true
        type: string
      operationId:
        description: Deployment operation ID.
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/DeploymentOperationProperties"
        description: Deployment properties.
  DeploymentOperationProperties:
    description: Deployment operation properties.
    properties:
      duration:
        description: The duration of the operation.
        readOnly: true
        type: string
      provisioningState:
        description: The state of the provisioning.
        readOnly: true
        type: string
      request:
        $ref: "#/definitions/HttpMessage"
        description: The HTTP request message.
        readOnly: true
      response:
        $ref: "#/definitions/HttpMessage"
        description: The HTTP response message.
        readOnly: true
      serviceRequestId:
        description: Deployment operation service request id.
        readOnly: true
        type: string
      statusCode:
        description: Operation status code.
        readOnly: true
        type: string
      statusMessage:
        description: Operation status message.
        readOnly: true
        type: object
      targetResource:
        $ref: "#/definitions/TargetResource"
        description: The target resource.
        readOnly: true
      timestamp:
        description: The date and time of the operation.
        format: date-time
        readOnly: true
        type: string
  DeploymentOperationsListResult:
    description: List of deployment operations.
    properties:
      nextLink:
        description: The URL to use for getting the next set of results.
        readOnly: true
        type: string
      value:
        description: An array of deployment operations.
        items:
          $ref: "#/definitions/DeploymentOperation"
        type: array
  DeploymentProperties:
    description: Deployment properties.
    properties:
      debugSetting:
        $ref: "#/definitions/DebugSetting"
        description: The debug setting of the deployment.
      mode:
        description: The mode that is used to deploy resources. This value can be either Incremental or Complete. In Incremental mode, resources are deployed without deleting existing resources that are not included in the template. In Complete mode, resources are deployed and existing resources in the resource group that are not included in the template are deleted. Be careful when using Complete mode as you may unintentionally delete resources.
        enum:
          - Incremental
          - Complete
        type: string
        x-ms-enum:
          modelAsString: false
          name: DeploymentMode
      onErrorDeployment:
        $ref: "#/definitions/OnErrorDeployment"
        description: The deployment on error behavior.
      parameters:
        description: Name and value pairs that define the deployment parameters for the template. You use this element when you want to provide the parameter values directly in the request rather than link to an existing parameter file. Use either the parametersLink property or the parameters property, but not both. It can be a JObject or a well formed JSON string.
        type: object
      parametersLink:
        $ref: "#/definitions/ParametersLink"
        description: The URI of parameters file. You use this element to link to an existing parameters file. Use either the parametersLink property or the parameters property, but not both.
      template:
        description: The template content. You use this element when you want to pass the template syntax directly in the request rather than link to an existing template. It can be a JObject or well-formed JSON string. Use either the templateLink property or the template property, but not both.
        type: object
      templateLink:
        $ref: "#/definitions/TemplateLink"
        description: The URI of the template. Use either the templateLink property or the template property, but not both.
    required:
      - mode
  DeploymentPropertiesExtended:
    description: Deployment properties with additional details.
    properties:
      correlationId:
        description: The correlation ID of the deployment.
        readOnly: true
        type: string
      debugSetting:
        $ref: "#/definitions/DebugSetting"
        description: The debug setting of the deployment.
      dependencies:
        description: The list of deployment dependencies.
        items:
          $ref: "#/definitions/Dependency"
        type: array
      duration:
        description: The duration of the template deployment.
        readOnly: true
        type: string
      mode:
        description: The deployment mode. Possible values are Incremental and Complete.
        enum:
          - Incremental
          - Complete
        type: string
        x-ms-enum:
          modelAsString: false
          name: DeploymentMode
      onErrorDeployment:
        $ref: "#/definitions/OnErrorDeploymentExtended"
        description: The deployment on error behavior.
      outputs:
        description: 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: The URI referencing the parameters. Use only one of Parameters or ParametersLink.
      providers:
        description: The list of resource providers needed for the deployment.
        items:
          $ref: "#/definitions/Provider"
        type: array
      provisioningState:
        description: The state of the provisioning.
        readOnly: true
        type: string
      template:
        description: The template content. Use only one of Template or TemplateLink.
        type: object
      templateLink:
        $ref: "#/definitions/TemplateLink"
        description: The URI referencing the template. Use only one of Template or TemplateLink.
      timestamp:
        description: The timestamp of the template deployment.
        format: date-time
        readOnly: true
        type: string
  DeploymentValidateResult:
    description: Information from validate template deployment response.
    properties:
      error:
        description: The resource management error response.
        properties:
          additionalInfo:
            description: The error additional info.
            items:
              description: The resource management error additional info.
              properties:
                info:
                  description: The additional info.
                  readOnly: true
                  type: object
                type:
                  description: The additional info type.
                  readOnly: true
                  type: string
            readOnly: true
            type: array
          code:
            description: The error code.
            readOnly: true
            type: string
          details:
            description: The error details.
            items:
              $ref: "#/definitions/ErrorResponse"
            readOnly: true
            type: array
          message:
            description: The error message.
            readOnly: true
            type: string
          target:
            description: The error target.
            readOnly: true
            type: string
      properties:
        $ref: "#/definitions/DeploymentPropertiesExtended"
        description: The template deployment properties.
  DeploymentWhatIf:
    description: Deployment What-if operation parameters.
    properties:
      location:
        description: The location to store the deployment data.
        type: string
      properties:
        $ref: "#/definitions/DeploymentWhatIfProperties"
        description: The deployment properties.
    required:
      - properties
  DeploymentWhatIfProperties:
    allOf:
      - $ref: "#/definitions/DeploymentProperties"
    description: Deployment What-if properties.
    properties:
      whatIfSettings:
        $ref: "#/definitions/DeploymentWhatIfSettings"
        description: Optional What-If operation settings.
  DeploymentWhatIfSettings:
    description: Deployment What-If operation settings.
    properties:
      resultFormat:
        description: The format of the What-If results
        enum:
          - ResourceIdOnly
          - FullResourcePayloads
        type: string
        x-ms-enum:
          modelAsString: false
          name: WhatIfResultFormat
  ErrorResponse: {}
  ExportTemplateRequest:
    description: Export resource group template request parameters.
    properties:
      options:
        description: "The export template options. A CSV-formatted list containing zero or more of the following: 'IncludeParameterDefaultValue', 'IncludeComments', 'SkipResourceNameParameterization', 'SkipAllParameterization'"
        type: string
      resources:
        description: The IDs of the resources to filter the export by. To export all resources, supply an array with single entry '*'.
        items:
          type: string
        type: array
  GenericResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Resource information.
    properties:
      identity:
        $ref: "#/definitions/Identity"
        description: The identity of the resource.
      kind:
        description: The kind of the resource.
        pattern: ^[-\w\._,\(\)]+$
        type: string
      managedBy:
        description: ID of the resource that manages this resource.
        type: string
      plan:
        $ref: "#/definitions/Plan"
        description: The plan of the resource.
      properties:
        description: The resource properties.
        type: object
      sku:
        $ref: "#/definitions/Sku"
        description: The SKU of the resource.
  GenericResourceFilter:
    description: Resource filter.
    properties:
      resourceType:
        description: The resource type.
        type: string
      tagname:
        description: The tag name.
        type: string
      tagvalue:
        description: The tag value.
        type: string
  HttpMessage:
    description: HTTP message.
    properties:
      content:
        description: HTTP message content.
        type: object
  Identity:
    description: Identity for the resource.
    properties:
      principalId:
        description: The principal ID of resource identity.
        readOnly: true
        type: string
      tenantId:
        description: The tenant ID of resource.
        readOnly: true
        type: string
      type:
        description: The identity type.
        enum:
          - SystemAssigned
          - UserAssigned
          - SystemAssigned, UserAssigned
          - None
        type: string
        x-ms-enum:
          modelAsString: false
          name: ResourceIdentityType
      userAssignedIdentities:
        additionalProperties:
          properties:
            clientId:
              description: The client id of user assigned identity.
              readOnly: true
              type: string
            principalId:
              description: The principal id of user assigned identity.
              readOnly: true
              type: string
          type: object
        description: "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
        type: object
  OnErrorDeployment:
    description: Deployment on error behavior.
    properties:
      deploymentName:
        description: The deployment to be used on error case.
        type: string
      type:
        description: The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment.
        enum:
          - LastSuccessful
          - SpecificDeployment
        type: string
        x-ms-enum:
          modelAsString: false
          name: OnErrorDeploymentType
  OnErrorDeploymentExtended:
    description: Deployment on error behavior with additional details.
    properties:
      deploymentName:
        description: The deployment to be used on error case.
        type: string
      provisioningState:
        description: The state of the provisioning for the on error deployment.
        readOnly: true
        type: string
      type:
        description: The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment.
        enum:
          - LastSuccessful
          - SpecificDeployment
        type: string
        x-ms-enum:
          modelAsString: false
          name: OnErrorDeploymentType
  Operation:
    description: Microsoft.Resources operation
    properties:
      display:
        description: The object that represents the operation.
        properties:
          description:
            description: Description of the operation.
            type: string
          operation:
            description: "Operation type: Read, write, delete, etc."
            type: string
          provider:
            description: "Service provider: Microsoft.Resources"
            type: string
          resource:
            description: "Resource on which the operation is performed: Profile, endpoint, etc."
            type: string
      name:
        description: "Operation name: {provider}/{resource}/{operation}"
        type: string
    type: object
  OperationListResult:
    description: Result of the request to list Microsoft.Resources operations. It contains a list of operations and a URL link to get the next set of results.
    properties:
      nextLink:
        description: URL to get the next set of operation list results if there are any.
        type: string
      value:
        description: List of Microsoft.Resources operations.
        items:
          $ref: "#/definitions/Operation"
        type: array
  ParametersLink:
    description: Entity representing the reference to the deployment parameters.
    properties:
      contentVersion:
        description: If included, must match the ContentVersion in the template.
        type: string
      uri:
        description: The URI of the parameters file.
        type: string
    required:
      - uri
  Plan:
    description: Plan for the resource.
    properties:
      name:
        description: The plan ID.
        type: string
      product:
        description: The offer ID.
        type: string
      promotionCode:
        description: The promotion code.
        type: string
      publisher:
        description: The publisher ID.
        type: string
      version:
        description: The plan's version.
        type: string
  Provider:
    description: Resource provider information.
    properties:
      id:
        description: The provider ID.
        readOnly: true
        type: string
      namespace:
        description: The namespace of the resource provider.
        type: string
      registrationPolicy:
        description: The registration policy of the resource provider.
        readOnly: true
        type: string
      registrationState:
        description: The registration state of the resource provider.
        readOnly: true
        type: string
      resourceTypes:
        description: The collection of provider resource types.
        items:
          $ref: "#/definitions/ProviderResourceType"
        readOnly: true
        type: array
  ProviderListResult:
    description: List of resource providers.
    properties:
      nextLink:
        description: The URL to use for getting the next set of results.
        readOnly: true
        type: string
      value:
        description: An array of resource providers.
        items:
          $ref: "#/definitions/Provider"
        type: array
  ProviderResourceType:
    description: Resource type managed by the resource provider.
    properties:
      aliases:
        description: The aliases that are supported by this resource type.
        items:
          $ref: "#/definitions/AliasType"
        type: array
      apiVersions:
        description: The API version.
        items:
          type: string
        type: array
      capabilities:
        description: The additional capabilities offered by this resource type.
        type: string
      locations:
        description: The collection of locations where this resource type can be created.
        items:
          type: string
        type: array
      properties:
        additionalProperties:
          description: "The additional properties. "
          type: string
        description: The properties.
        type: object
      resourceType:
        description: The resource type.
        type: string
  Resource:
    description: Specified resource.
    properties:
      id:
        description: Resource ID
        readOnly: true
        type: string
      location:
        description: Resource location
        type: string
      name:
        description: Resource name
        readOnly: true
        type: string
      tags:
        additionalProperties:
          type: string
        description: Resource tags
        type: object
      type:
        description: Resource type
        readOnly: true
        type: string
    x-ms-azure-resource: true
  ResourceGroup:
    description: Resource group information.
    properties:
      id:
        description: The ID of the resource group.
        readOnly: true
        type: string
      location:
        description: The location of the resource group. It cannot be changed after the resource group has been created. It must be one of the supported Azure locations.
        type: string
      managedBy:
        description: The ID of the resource that manages this resource group.
        type: string
      name:
        description: The name of the resource group.
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/ResourceGroupProperties"
        description: The resource group properties.
      tags:
        additionalProperties:
          description: "The additional properties. "
          type: string
        description: The tags attached to the resource group.
        type: object
      type:
        description: The type of the resource group.
        readOnly: true
        type: string
    required:
      - location
    x-ms-azure-resource: true
  ResourceGroupExportResult:
    description: Resource group export result.
    properties:
      error:
        description: The resource management error response.
        properties:
          additionalInfo:
            description: The error additional info.
            items:
              description: The resource management error additional info.
              properties:
                info:
                  description: The additional info.
                  readOnly: true
                  type: object
                type:
                  description: The additional info type.
                  readOnly: true
                  type: string
            readOnly: true
            type: array
          code:
            description: The error code.
            readOnly: true
            type: string
          details:
            description: The error details.
            items:
              $ref: "#/definitions/ErrorResponse"
            readOnly: true
            type: array
          message:
            description: The error message.
            readOnly: true
            type: string
          target:
            description: The error target.
            readOnly: true
            type: string
      template:
        description: The template content.
        type: object
  ResourceGroupFilter:
    description: Resource group filter.
    properties:
      tagName:
        description: The tag name.
        type: string
      tagValue:
        description: The tag value.
        type: string
  ResourceGroupListResult:
    description: List of resource groups.
    properties:
      nextLink:
        description: The URL to use for getting the next set of results.
        readOnly: true
        type: string
      value:
        description: An array of resource groups.
        items:
          $ref: "#/definitions/ResourceGroup"
        type: array
  ResourceGroupPatchable:
    description: Resource group information.
    properties:
      managedBy:
        description: The ID of the resource that manages this resource group.
        type: string
      name:
        description: The name of the resource group.
        type: string
      properties:
        $ref: "#/definitions/ResourceGroupProperties"
        description: The resource group properties.
      tags:
        additionalProperties:
          description: "The additional properties. "
          type: string
        description: The tags attached to the resource group.
        type: object
  ResourceGroupProperties:
    description: The resource group properties.
    properties:
      provisioningState:
        description: "The provisioning state. "
        readOnly: true
        type: string
  ResourceListResult:
    description: List of resource groups.
    properties:
      nextLink:
        description: The URL to use for getting the next set of results.
        readOnly: true
        type: string
      value:
        description: An array of resources.
        items:
          $ref: "#/definitions/GenericResource"
        type: array
  ResourceProviderOperationDisplayProperties:
    description: Resource provider operation's display properties.
    properties:
      description:
        description: Operation description.
        type: string
      operation:
        description: Resource provider operation.
        type: string
      provider:
        description: Operation provider.
        type: string
      publisher:
        description: Operation description.
        type: string
      resource:
        description: Operation resource.
        type: string
  ResourcesMoveInfo:
    description: Parameters of move resources.
    properties:
      resources:
        description: The IDs of the resources.
        items:
          type: string
        type: array
      targetResourceGroup:
        description: The target resource group.
        type: string
  ScopedDeployment:
    description: Deployment operation parameters.
    properties:
      location:
        description: The location to store the deployment data.
        type: string
      properties:
        $ref: "#/definitions/DeploymentProperties"
        description: The deployment properties.
    required:
      - location
      - properties
  Sku:
    description: SKU for the resource.
    properties:
      capacity:
        description: The SKU capacity.
        format: int32
        type: integer
      family:
        description: The SKU family.
        type: string
      model:
        description: The SKU model.
        type: string
      name:
        description: The SKU name.
        type: string
      size:
        description: The SKU size.
        type: string
      tier:
        description: The SKU tier.
        type: string
  SubResource:
    description: Sub-resource.
    properties:
      id:
        description: Resource ID
        type: string
    x-ms-azure-resource: true
  TagCount:
    description: Tag count.
    properties:
      type:
        description: Type of count.
        type: string
      value:
        description: Value of count.
        type: integer
  TagDetails:
    description: Tag details.
    properties:
      count:
        $ref: "#/definitions/TagCount"
        description: The total number of resources that use the resource tag. When a tag is initially created and has no associated resources, the value is 0.
      id:
        description: The tag ID.
        readOnly: true
        type: string
      tagName:
        description: The tag name.
        type: string
      values:
        description: The list of tag values.
        items:
          $ref: "#/definitions/TagValue"
        type: array
  TagValue:
    description: Tag information.
    properties:
      count:
        $ref: "#/definitions/TagCount"
        description: The tag value count.
      id:
        description: The tag ID.
        readOnly: true
        type: string
      tagValue:
        description: The tag value.
        type: string
    x-ms-azure-resource: true
  TagsListResult:
    description: List of subscription tags.
    properties:
      nextLink:
        description: The URL to use for getting the next set of results.
        readOnly: true
        type: string
      value:
        description: An array of tags.
        items:
          $ref: "#/definitions/TagDetails"
        type: array
  TargetResource:
    description: Target resource.
    properties:
      id:
        description: The ID of the resource.
        type: string
      resourceName:
        description: The name of the resource.
        type: string
      resourceType:
        description: The type of the resource.
        type: string
  TemplateHashResult:
    description: Result of the request to calculate template hash. It contains a string of minified template and its hash.
    properties:
      minifiedTemplate:
        description: The minified template string.
        type: string
      templateHash:
        description: The template hash.
        type: string
  TemplateLink:
    description: Entity representing the reference to the template.
    properties:
      contentVersion:
        description: If included, must match the ContentVersion in the template.
        type: string
      uri:
        description: The URI of the template to deploy.
        type: string
    required:
      - uri
  WhatIfChange:
    description: Information about a single resource change predicted by What-If operation.
    properties:
      after:
        description: The predicted snapshot of the resource after the deployment is executed.
        type: object
      before:
        description: The snapshot of the resource before the deployment is executed.
        type: object
      changeType:
        description: Type of change that will be made to the resource when the deployment is executed.
        enum:
          - Create
          - Delete
          - Ignore
          - Deploy
          - NoChange
          - Modify
        type: string
        x-ms-enum:
          modelAsString: false
          name: ChangeType
          values:
            - description: The resource does not exist in the current state but is present in the desired state. The resource will be created when the deployment is executed.
              value: Create
            - description: The resource exists in the current state and is missing from the desired state. The resource will be deleted when the deployment is executed.
              value: Delete
            - description: The resource exists in the current state and is missing from the desired state. The resource will not be deployed or modified when the deployment is executed.
              value: Ignore
            - description: The resource exists in the current state and the desired state and will be redeployed when the deployment is executed. The properties of the resource may or may not change.
              value: Deploy
            - description: The resource exists in the current state and the desired state and will be redeployed when the deployment is executed. The properties of the resource will not change.
              value: NoChange
            - description: The resource exists in the current state and the desired state and will be redeployed when the deployment is executed. The properties of the resource will change.
              value: Modify
      delta:
        description: The predicted changes to resource properties.
        items:
          $ref: "#/definitions/WhatIfPropertyChange"
        type: array
      resourceId:
        description: Resource ID
        type: string
    required:
      - resourceId
      - changeType
  WhatIfOperationProperties:
    description: Deployment operation properties.
    properties:
      changes:
        description: List of resource changes predicted by What-If operation.
        items:
          $ref: "#/definitions/WhatIfChange"
        type: array
  WhatIfOperationResult:
    description: Result of the What-If operation. Contains a list of predicted changes and a URL link to get to the next set of results.
    properties:
      error:
        description: The resource management error response.
        properties:
          additionalInfo:
            description: The error additional info.
            items:
              description: The resource management error additional info.
              properties:
                info:
                  description: The additional info.
                  readOnly: true
                  type: object
                type:
                  description: The additional info type.
                  readOnly: true
                  type: string
            readOnly: true
            type: array
          code:
            description: The error code.
            readOnly: true
            type: string
          details:
            description: The error details.
            items:
              $ref: "#/definitions/ErrorResponse"
            readOnly: true
            type: array
          message:
            description: The error message.
            readOnly: true
            type: string
          target:
            description: The error target.
            readOnly: true
            type: string
      properties:
        $ref: "#/definitions/WhatIfOperationProperties"
        description: What-If operation properties.
        x-ms-client-flatten: true
      status:
        description: Status of the What-If operation.
        type: string
  WhatIfPropertyChange:
    description: The predicted change to the resource property.
    properties:
      after:
        description: The value of the property after the deployment is executed.
        type: object
      before:
        description: The value of the property before the deployment is executed.
        type: object
      children:
        description: Nested property changes.
        items:
          $ref: "#/definitions/WhatIfPropertyChange"
        type: array
      path:
        description: The path of the property.
        type: string
      propertyChangeType:
        description: The type of property change.
        enum:
          - Create
          - Delete
          - Modify
          - Array
        type: string
        x-ms-enum:
          modelAsString: false
          name: PropertyChangeType
          values:
            - description: The property does not exist in the current state but is present in the desired state. The property will be created when the deployment is executed.
              value: Create
            - description: The property exists in the current state and is missing from the desired state. It will be deleted when the deployment is executed.
              value: Delete
            - description: The property exists in both current and desired state and is different. The value of the property will change when the deployment is executed.
              value: Modify
            - description: The property is an array and contains nested changes.
              value: Array
    required:
      - path
      - propertyChangeType
