{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "title": "ResourceManagementClient",
    "version": "2015-11-01",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/resources.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "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": "Client Api Version.",
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string"
    },
    "SubscriptionIdParameter": {
      "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string"
    }
  },
  "paths": {
    "/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": "2015-11-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/{resourceProviderNamespace}/operations": {
      "get": {
        "description": "Gets a list of resource providers.",
        "operationId": "ResourceProviderOperationDetails_List",
        "parameters": [
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ResourceProviderOperationDetailListResult"
            }
          },
          "204": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ResourceProviderOperationDetailListResult"
            }
          }
        },
        "tags": [
          "ResourceProviderOperationDetails"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers": {
      "get": {
        "description": "Gets a list of resource providers.",
        "operationId": "Providers_List",
        "parameters": [
          {
            "description": "Query parameters. 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": "",
            "schema": {
              "$ref": "#/definitions/ProviderListResult"
            }
          }
        },
        "tags": [
          "Providers"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments": {
      "get": {
        "description": "Gets policy assignments of the subscription.",
        "operationId": "PolicyAssignments_List",
        "parameters": [
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/PolicyAssignmentListResult"
            }
          }
        },
        "tags": [
          "PolicyAssignments"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}": {
      "delete": {
        "description": "Deletes policy definition.",
        "operationId": "PolicyDefinitions_Delete",
        "parameters": [
          {
            "description": "The policy definition name.",
            "in": "path",
            "name": "policyDefinitionName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          }
        },
        "tags": [
          "PolicyDefinitions"
        ]
      },
      "get": {
        "description": "Gets policy definition.",
        "operationId": "PolicyDefinitions_Get",
        "parameters": [
          {
            "description": "The policy definition name.",
            "in": "path",
            "name": "policyDefinitionName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/PolicyDefinition"
            }
          }
        },
        "tags": [
          "PolicyDefinitions"
        ]
      },
      "put": {
        "description": "Create or update policy definition.",
        "operationId": "PolicyDefinitions_CreateOrUpdate",
        "parameters": [
          {
            "description": "The policy definition name.",
            "in": "path",
            "name": "policyDefinitionName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The policy definition properties",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PolicyDefinition"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/PolicyDefinition"
            }
          }
        },
        "tags": [
          "PolicyDefinitions"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}": {
      "get": {
        "description": "Gets a resource provider.",
        "operationId": "Providers_Get",
        "parameters": [
          {
            "description": "Namespace of the resource provider.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/Provider"
            }
          }
        },
        "tags": [
          "Providers"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register": {
      "post": {
        "description": "Registers provider to be used with a subscription.",
        "operationId": "Providers_Register",
        "parameters": [
          {
            "description": "Namespace of the resource provider.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/Provider"
            }
          }
        },
        "tags": [
          "Providers"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister": {
      "post": {
        "description": "Unregisters provider from a subscription.",
        "operationId": "Providers_Unregister",
        "parameters": [
          {
            "description": "Namespace of the resource provider.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/Provider"
            }
          }
        },
        "tags": [
          "Providers"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments": {
      "get": {
        "description": "Gets policy assignments of the resource group.",
        "operationId": "PolicyAssignments_ListForResourceGroup",
        "parameters": [
          {
            "description": "Resource group name.",
            "in": "path",
            "maxLength": 90,
            "minLength": 1,
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._\\(\\)]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/PolicyAssignmentListResult"
            }
          }
        },
        "tags": [
          "PolicyAssignments"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources": {
      "get": {
        "description": "Get all of the resources under a subscription.",
        "operationId": "ResourceGroups_ListResources",
        "parameters": [
          {
            "description": "Query parameters. If null is passed returns all resource groups.",
            "in": "path",
            "maxLength": 90,
            "minLength": 1,
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._\\(\\)]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "Query parameters. 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": "",
            "schema": {
              "$ref": "#/definitions/ResourceListResult"
            }
          }
        },
        "tags": [
          "ResourceGroups"
        ],
        "x-ms-odata": "#/definitions/GenericResourceFilter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/moveResources": {
      "post": {
        "description": "Begin moving resources.To determine whether the operation has finished processing the request, call GetLongRunningOperationStatus.",
        "operationId": "Resources_MoveResources",
        "parameters": [
          {
            "description": "Source resource group name.",
            "in": "path",
            "maxLength": 90,
            "minLength": 1,
            "name": "sourceResourceGroupName",
            "pattern": "^[-\\w\\._\\(\\)]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "move resources' parameters.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ResourcesMoveInfo"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "Resources"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups": {
      "get": {
        "description": "Gets a collection of resource groups.",
        "operationId": "ResourceGroups_List",
        "parameters": [
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "Query parameters. 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": "",
            "schema": {
              "$ref": "#/definitions/ResourceGroupListResult"
            }
          }
        },
        "tags": [
          "ResourceGroups"
        ],
        "x-ms-odata": "#/definitions/ResourceGroupFilter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}": {
      "delete": {
        "description": "Begin deleting resource group.To determine whether the operation has finished processing the request, call GetLongRunningOperationStatus.",
        "operationId": "ResourceGroups_Delete",
        "parameters": [
          {
            "description": "The name of the resource group to be deleted. 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": ""
          },
          "202": {
            "description": ""
          }
        },
        "tags": [
          "ResourceGroups"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Get 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": "",
            "schema": {
              "$ref": "#/definitions/ResourceGroup"
            }
          }
        },
        "tags": [
          "ResourceGroups"
        ]
      },
      "head": {
        "description": "Checks whether 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": ""
          },
          "404": {
            "description": ""
          }
        },
        "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 groups, though if a field is unspecified current value will be carried over. ",
        "operationId": "ResourceGroups_Patch",
        "parameters": [
          {
            "description": "The name of the resource group to be created or updated. The name is case insensitive.",
            "in": "path",
            "maxLength": 90,
            "minLength": 1,
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._\\(\\)]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the update state resource group service operation.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ResourceGroup"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ResourceGroup"
            }
          }
        },
        "tags": [
          "ResourceGroups"
        ]
      },
      "put": {
        "description": "Create a resource group.",
        "operationId": "ResourceGroups_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group to be created or updated.",
            "in": "path",
            "maxLength": 90,
            "minLength": 1,
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._\\(\\)]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create or update resource group service operation.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ResourceGroup"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ResourceGroup"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ResourceGroup"
            }
          }
        },
        "tags": [
          "ResourceGroups"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations": {
      "get": {
        "description": "Gets a list of deployments operations.",
        "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"
          },
          {
            "description": "The name of the deployment.",
            "in": "path",
            "name": "deploymentName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Query parameters.",
            "format": "int32",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "integer"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/DeploymentOperationsListResult"
            }
          }
        },
        "tags": [
          "DeploymentOperations"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}": {
      "get": {
        "description": "Get a list of deployments operations.",
        "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"
          },
          {
            "description": "The name of the deployment.",
            "in": "path",
            "name": "deploymentName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Operation Id.",
            "in": "path",
            "name": "operationId",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/DeploymentOperation"
            }
          }
        },
        "tags": [
          "DeploymentOperations"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/": {
      "get": {
        "description": "Get a list of deployments.",
        "operationId": "Deployments_List",
        "parameters": [
          {
            "description": "The name of the resource group to filter by. 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.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "Query parameters. 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": "",
            "schema": {
              "$ref": "#/definitions/DeploymentListResult"
            }
          }
        },
        "tags": [
          "Deployments"
        ],
        "x-ms-odata": "#/definitions/DeploymentExtendedFilter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}": {
      "delete": {
        "description": "Begin deleting deployment.To determine whether the operation has finished processing the request, call GetLongRunningOperationStatus.",
        "operationId": "Deployments_Delete",
        "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"
          },
          {
            "description": "The name of the deployment to be deleted.",
            "in": "path",
            "name": "deploymentName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "Deployments"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Get a deployment.",
        "operationId": "Deployments_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"
          },
          {
            "description": "The name of the deployment.",
            "in": "path",
            "name": "deploymentName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/DeploymentExtended"
            }
          }
        },
        "tags": [
          "Deployments"
        ]
      },
      "head": {
        "description": "Checks whether deployment exists.",
        "operationId": "Deployments_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"
          },
          {
            "description": "The name of the deployment.",
            "in": "path",
            "name": "deploymentName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "tags": [
          "Deployments"
        ]
      },
      "put": {
        "description": "Create a named template deployment using a template.",
        "operationId": "Deployments_CreateOrUpdate",
        "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"
          },
          {
            "description": "The name of the deployment.",
            "in": "path",
            "name": "deploymentName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Additional parameters supplied to the operation.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Deployment"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/DeploymentExtended"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/DeploymentExtended"
            }
          }
        },
        "tags": [
          "Deployments"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel": {
      "post": {
        "description": "Cancel a currently running template deployment.",
        "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"
          },
          {
            "description": "The name of the deployment.",
            "in": "path",
            "name": "deploymentName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "tags": [
          "Deployments"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate": {
      "post": {
        "description": "Validate a deployment template.",
        "operationId": "Deployments_Validate",
        "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"
          },
          {
            "description": "The name of the deployment.",
            "in": "path",
            "name": "deploymentName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Deployment to validate.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Deployment"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/DeploymentValidateResult"
            }
          },
          "400": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/DeploymentValidateResult"
            }
          }
        },
        "tags": [
          "Deployments"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}": {
      "delete": {
        "description": "Delete resource and all of its resources. ",
        "operationId": "Resources_Delete",
        "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"
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "parentResourcePath",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceType",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "Resources"
        ]
      },
      "get": {
        "description": "Returns a resource belonging to a resource group.",
        "operationId": "Resources_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"
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "parentResourcePath",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceType",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/GenericResource"
            }
          },
          "204": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/GenericResource"
            }
          }
        },
        "tags": [
          "Resources"
        ]
      },
      "head": {
        "description": "Checks whether resource exists.",
        "operationId": "Resources_CheckExistence",
        "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"
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "parentResourcePath",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceType",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "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"
          },
          {
            "description": "The API version to use for the operation.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "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"
          }
        },
        "tags": [
          "Resources"
        ],
        "x-ms-long-running-operation": true
      },
      "put": {
        "description": "Create a resource.",
        "operationId": "Resources_CreateOrUpdate",
        "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"
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "parentResourcePath",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceType",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Create or update resource parameters.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GenericResource"
            }
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/GenericResource"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/GenericResource"
            }
          }
        },
        "tags": [
          "Resources"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}providers/Microsoft.Authorization/policyAssignments": {
      "get": {
        "description": "Gets policy assignments of the resource.",
        "operationId": "PolicyAssignments_ListForResource",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "maxLength": 90,
            "minLength": 1,
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._\\(\\)]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the resource provider.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "The parent resource path.",
            "in": "path",
            "name": "parentResourcePath",
            "required": true,
            "type": "string"
          },
          {
            "description": "The resource type.",
            "in": "path",
            "name": "resourceType",
            "required": true,
            "type": "string"
          },
          {
            "description": "The resource name.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/PolicyAssignmentListResult"
            }
          }
        },
        "tags": [
          "PolicyAssignments"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resources": {
      "get": {
        "description": "Get all of the resources under a subscription.",
        "operationId": "Resources_List",
        "parameters": [
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "Query parameters. 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": "",
            "schema": {
              "$ref": "#/definitions/ResourceListResult"
            }
          }
        },
        "tags": [
          "Resources"
        ],
        "x-ms-odata": "#/definitions/GenericResourceFilter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/tagNames": {
      "get": {
        "description": "Get a list of subscription resource tags.",
        "operationId": "Tags_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/TagsListResult"
            }
          }
        },
        "tags": [
          "Tags"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/tagNames/{tagName}": {
      "delete": {
        "description": "Delete a subscription resource tag.",
        "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": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "Tags"
        ]
      },
      "put": {
        "description": "Create a subscription resource tag.",
        "operationId": "Tags_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the tag.",
            "in": "path",
            "name": "tagName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/TagDetails"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/TagDetails"
            }
          }
        },
        "tags": [
          "Tags"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}": {
      "delete": {
        "description": "Delete a subscription resource 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.",
            "in": "path",
            "name": "tagValue",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "Tags"
        ]
      },
      "put": {
        "description": "Create a subscription resource tag value.",
        "operationId": "Tags_CreateOrUpdateValue",
        "parameters": [
          {
            "description": "The name of the tag.",
            "in": "path",
            "name": "tagName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The value of the tag.",
            "in": "path",
            "name": "tagValue",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/TagValue"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/TagValue"
            }
          }
        },
        "tags": [
          "Tags"
        ]
      }
    },
    "/{policyAssignmentId}": {
      "delete": {
        "description": "Delete policy assignment.",
        "operationId": "PolicyAssignments_DeleteById",
        "parameters": [
          {
            "description": "Policy assignment Id",
            "in": "path",
            "name": "policyAssignmentId",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/PolicyAssignment"
            }
          }
        },
        "tags": [
          "PolicyAssignments"
        ]
      },
      "get": {
        "description": "Get single policy assignment.",
        "operationId": "PolicyAssignments_GetById",
        "parameters": [
          {
            "description": "Policy assignment Id",
            "in": "path",
            "name": "policyAssignmentId",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/PolicyAssignment"
            }
          }
        },
        "tags": [
          "PolicyAssignments"
        ]
      },
      "put": {
        "description": "Create policy assignment by Id.",
        "operationId": "PolicyAssignments_CreateById",
        "parameters": [
          {
            "description": "Policy assignment Id",
            "in": "path",
            "name": "policyAssignmentId",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Policy assignment.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PolicyAssignment"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/PolicyAssignment"
            }
          }
        },
        "tags": [
          "PolicyAssignments"
        ]
      }
    },
    "/{scope}/providers/Microsoft.Authorization/policyAssignments": {
      "get": {
        "description": "Gets policy assignments of the scope.",
        "operationId": "PolicyAssignments_ListForScope",
        "parameters": [
          {
            "description": "Scope.",
            "in": "path",
            "name": "scope",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/PolicyAssignmentListResult"
            }
          }
        },
        "tags": [
          "PolicyAssignments"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}": {
      "delete": {
        "description": "Delete policy assignment.",
        "operationId": "PolicyAssignments_Delete",
        "parameters": [
          {
            "description": "Scope.",
            "in": "path",
            "name": "scope",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Policy assignment name.",
            "in": "path",
            "name": "policyAssignmentName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/PolicyAssignment"
            }
          }
        },
        "tags": [
          "PolicyAssignments"
        ]
      },
      "get": {
        "description": "Get single policy assignment.",
        "operationId": "PolicyAssignments_Get",
        "parameters": [
          {
            "description": "Scope.",
            "in": "path",
            "name": "scope",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Policy assignment name.",
            "in": "path",
            "name": "policyAssignmentName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/PolicyAssignment"
            }
          }
        },
        "tags": [
          "PolicyAssignments"
        ]
      },
      "put": {
        "description": "Create policy assignment.",
        "operationId": "PolicyAssignments_Create",
        "parameters": [
          {
            "description": "Scope.",
            "in": "path",
            "name": "scope",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Policy assignment name.",
            "in": "path",
            "name": "policyAssignmentName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Policy assignment.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PolicyAssignment"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/PolicyAssignment"
            }
          }
        },
        "tags": [
          "PolicyAssignments"
        ]
      }
    }
  },
  "definitions": {
    "BasicDependency": {
      "description": "Deployment dependency information.",
      "properties": {
        "id": {
          "description": "Gets or sets the ID of the dependency.",
          "type": "string"
        },
        "resourceName": {
          "description": "Gets or sets the dependency resource name.",
          "type": "string"
        },
        "resourceType": {
          "description": "Gets or sets the dependency resource type.",
          "type": "string"
        }
      }
    },
    "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
    },
    "Dependency": {
      "description": "Deployment dependency information.",
      "properties": {
        "dependsOn": {
          "description": "Gets the list of dependencies.",
          "items": {
            "$ref": "#/definitions/BasicDependency"
          },
          "type": "array"
        },
        "id": {
          "description": "Gets or sets the ID of the dependency.",
          "type": "string"
        },
        "resourceName": {
          "description": "Gets or sets the dependency resource name.",
          "type": "string"
        },
        "resourceType": {
          "description": "Gets or sets the dependency resource type.",
          "type": "string"
        }
      }
    },
    "Deployment": {
      "description": "Deployment operation parameters.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/DeploymentProperties",
          "description": "Gets or sets the deployment properties."
        }
      }
    },
    "DeploymentExtended": {
      "description": "Deployment information.",
      "properties": {
        "id": {
          "description": "Gets or sets the ID of the deployment.",
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "description": "Gets or sets the name of the deployment.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/DeploymentPropertiesExtended",
          "description": "Gets or sets deployment properties."
        }
      },
      "required": [
        "name"
      ],
      "x-ms-azure-resource": true
    },
    "DeploymentExtendedFilter": {
      "description": "Deployment filter.",
      "properties": {
        "provisioningState": {
          "description": "Gets or sets the provisioning state.",
          "type": "string"
        }
      }
    },
    "DeploymentListResult": {
      "description": "List of deployments.",
      "properties": {
        "nextLink": {
          "description": "Gets or sets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets the list of deployments.",
          "items": {
            "$ref": "#/definitions/DeploymentExtended"
          },
          "type": "array"
        }
      }
    },
    "DeploymentOperation": {
      "description": "Deployment operation information.",
      "properties": {
        "id": {
          "description": "Gets or sets full deployment operation id.",
          "type": "string"
        },
        "operationId": {
          "description": "Gets or sets deployment operation id.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/DeploymentOperationProperties",
          "description": "Gets or sets deployment properties."
        }
      }
    },
    "DeploymentOperationProperties": {
      "description": "Deployment operation properties.",
      "properties": {
        "provisioningState": {
          "description": "Gets or sets the state of the provisioning.",
          "type": "string"
        },
        "statusCode": {
          "description": "Gets or sets operation status code.",
          "type": "string"
        },
        "statusMessage": {
          "description": "Gets or sets operation status message."
        },
        "targetResource": {
          "$ref": "#/definitions/TargetResource",
          "description": "Gets or sets the target resource."
        },
        "timestamp": {
          "description": "Gets or sets the date and time of the operation.",
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "DeploymentOperationsListResult": {
      "description": "List of deployment operations.",
      "properties": {
        "nextLink": {
          "description": "Gets or sets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets the list of deployments.",
          "items": {
            "$ref": "#/definitions/DeploymentOperation"
          },
          "type": "array"
        }
      }
    },
    "DeploymentProperties": {
      "description": "Deployment properties.",
      "properties": {
        "mode": {
          "description": "Gets or sets the deployment mode.",
          "enum": [
            "Incremental",
            "Complete"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "DeploymentMode"
          }
        },
        "parameters": {
          "description": "Deployment parameters. Use only one of Parameters or ParametersLink.",
          "type": "object"
        },
        "parametersLink": {
          "$ref": "#/definitions/ParametersLink",
          "description": "Gets or sets the URI referencing the parameters. Use only one of Parameters or ParametersLink."
        },
        "template": {
          "description": "Gets or sets the template content. Use only one of Template or TemplateLink.",
          "type": "object"
        },
        "templateLink": {
          "$ref": "#/definitions/TemplateLink",
          "description": "Gets or sets the URI referencing the template. Use only one of Template or TemplateLink."
        }
      }
    },
    "DeploymentPropertiesExtended": {
      "description": "Deployment properties with additional details.",
      "properties": {
        "correlationId": {
          "description": "Gets or sets the correlation ID of the deployment.",
          "type": "string"
        },
        "dependencies": {
          "description": "Gets the list of deployment dependencies.",
          "items": {
            "$ref": "#/definitions/Dependency"
          },
          "type": "array"
        },
        "mode": {
          "description": "Gets or sets the deployment mode.",
          "enum": [
            "Incremental",
            "Complete"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "DeploymentMode"
          }
        },
        "outputs": {
          "description": "Gets or sets key/value pairs that represent deployment output.",
          "type": "object"
        },
        "parameters": {
          "description": "Deployment parameters. Use only one of Parameters or ParametersLink.",
          "type": "object"
        },
        "parametersLink": {
          "$ref": "#/definitions/ParametersLink",
          "description": "Gets or sets the URI referencing the parameters. Use only one of Parameters or ParametersLink."
        },
        "providers": {
          "description": "Gets the list of resource providers needed for the deployment.",
          "items": {
            "$ref": "#/definitions/Provider"
          },
          "type": "array"
        },
        "provisioningState": {
          "description": "Gets or sets the state of the provisioning.",
          "type": "string"
        },
        "template": {
          "description": "Gets or sets the template content. Use only one of Template or TemplateLink.",
          "type": "object"
        },
        "templateLink": {
          "$ref": "#/definitions/TemplateLink",
          "description": "Gets or sets the URI referencing the template. Use only one of Template or TemplateLink."
        },
        "timestamp": {
          "description": "Gets or sets the timestamp of the template deployment.",
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "DeploymentValidateResult": {
      "description": "Information from validate template deployment response.",
      "properties": {
        "error": {
          "$ref": "#/definitions/ResourceManagementErrorWithDetails",
          "description": "Gets or sets validation error."
        },
        "properties": {
          "$ref": "#/definitions/DeploymentPropertiesExtended",
          "description": "Gets or sets the template deployment properties."
        }
      }
    },
    "ErrorResponse": {},
    "GenericResource": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Resource information.",
      "properties": {
        "plan": {
          "$ref": "#/definitions/Plan",
          "description": "Gets or sets the plan of the resource."
        },
        "properties": {
          "description": "Gets or sets the resource properties.",
          "type": "object"
        }
      }
    },
    "GenericResourceFilter": {
      "description": "Resource filter.",
      "properties": {
        "resourceType": {
          "description": "Gets or sets the resource type.",
          "type": "string"
        },
        "tagname": {
          "description": "Gets or sets the tag name.",
          "type": "string"
        },
        "tagvalue": {
          "description": "Gets or sets the tag value.",
          "type": "string"
        }
      }
    },
    "ParametersLink": {
      "description": "Entity representing the reference to the deployment parameters.",
      "properties": {
        "contentVersion": {
          "description": "If included it must match the ContentVersion in the template.",
          "type": "string"
        },
        "uri": {
          "description": "URI referencing the template.",
          "type": "string"
        }
      },
      "required": [
        "uri"
      ]
    },
    "Plan": {
      "description": "Plan for the resource.",
      "properties": {
        "name": {
          "description": "Gets or sets the plan ID.",
          "type": "string"
        },
        "product": {
          "description": "Gets or sets the offer ID.",
          "type": "string"
        },
        "promotionCode": {
          "description": "Gets or sets the promotion code.",
          "type": "string"
        },
        "publisher": {
          "description": "Gets or sets the publisher ID.",
          "type": "string"
        }
      }
    },
    "PolicyAssignment": {
      "description": "Policy assignment.",
      "properties": {
        "name": {
          "description": "Gets or sets the policy assignment name.",
          "readOnly": true,
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/PolicyAssignmentProperties",
          "description": "Gets or sets the policy assignment properties."
        }
      }
    },
    "PolicyAssignmentListResult": {
      "description": "Policy assignment list operation result.",
      "properties": {
        "nextLink": {
          "description": "Gets or sets the URL to get the next set of policy assignment results.",
          "type": "string"
        },
        "value": {
          "description": "Policy assignment list.",
          "items": {
            "$ref": "#/definitions/PolicyAssignment"
          },
          "type": "array"
        }
      }
    },
    "PolicyAssignmentProperties": {
      "description": "Policy Assignment properties.",
      "properties": {
        "displayName": {
          "description": "Gets or sets the policy assignment display name.",
          "type": "string"
        },
        "policyDefinitionId": {
          "description": "Gets or sets the policy definition Id.",
          "type": "string"
        },
        "scope": {
          "description": "Gets or sets the policy assignment scope.",
          "type": "string"
        }
      }
    },
    "PolicyDefinition": {
      "description": "Policy definition.",
      "properties": {
        "name": {
          "description": "Gets or sets the policy definition name.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/PolicyDefinitionProperties",
          "description": "Gets or sets the policy definition properties."
        }
      }
    },
    "PolicyDefinitionProperties": {
      "description": "Policy definition properties.",
      "properties": {
        "description": {
          "description": "Gets or sets the policy definition description.",
          "type": "string"
        },
        "displayName": {
          "description": "Gets or sets the policy definition display name.",
          "type": "string"
        },
        "policyRule": {
          "description": "The policy rule json.",
          "type": "object"
        }
      }
    },
    "Provider": {
      "description": "Resource provider information.",
      "properties": {
        "id": {
          "description": "Gets or sets the provider id.",
          "type": "string"
        },
        "namespace": {
          "description": "Gets or sets the namespace of the provider.",
          "type": "string"
        },
        "registrationState": {
          "description": "Gets or sets the registration state of the provider.",
          "type": "string"
        },
        "resourceTypes": {
          "description": "Gets or sets the collection of provider resource types.",
          "items": {
            "$ref": "#/definitions/ProviderResourceType"
          },
          "type": "array"
        }
      }
    },
    "ProviderListResult": {
      "description": "List of resource providers.",
      "properties": {
        "nextLink": {
          "description": "Gets or sets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets the list of resource providers.",
          "items": {
            "$ref": "#/definitions/Provider"
          },
          "type": "array"
        }
      }
    },
    "ProviderResourceType": {
      "description": "Resource type managed by the resource provider.",
      "properties": {
        "apiVersions": {
          "description": "Gets or sets the api version.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "locations": {
          "description": "Gets or sets the collection of locations where this resource type can be created in.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "properties": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Gets or sets the properties.",
          "type": "object"
        },
        "resourceType": {
          "description": "Gets or sets the resource type.",
          "type": "string"
        }
      }
    },
    "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"
        }
      },
      "required": [
        "location"
      ],
      "x-ms-azure-resource": true
    },
    "ResourceGroup": {
      "description": "Resource group information.",
      "properties": {
        "id": {
          "description": "Gets the ID of the resource group.",
          "readOnly": true,
          "type": "string"
        },
        "location": {
          "description": "Gets or sets the location of the resource group. It cannot be changed after the resource group has been created. Has to be one of the supported Azure Locations, such as West US, East US, West Europe, East Asia, etc.",
          "type": "string"
        },
        "name": {
          "description": "Gets or sets the Name of the resource group.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/ResourceGroupProperties"
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Gets or sets the tags attached to the resource group.",
          "type": "object"
        }
      },
      "required": [
        "location"
      ],
      "x-ms-azure-resource": true
    },
    "ResourceGroupFilter": {
      "description": "Resource group filter.",
      "properties": {
        "tagName": {
          "description": "Gets or sets the tag name.",
          "type": "string"
        },
        "tagValue": {
          "description": "Gets or sets the tag value.",
          "type": "string"
        }
      }
    },
    "ResourceGroupListResult": {
      "description": "List of resource groups.",
      "properties": {
        "nextLink": {
          "description": "Gets or sets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets the list of resource groups.",
          "items": {
            "$ref": "#/definitions/ResourceGroup"
          },
          "type": "array"
        }
      },
      "required": [
        "nextLink"
      ]
    },
    "ResourceGroupProperties": {
      "description": "The resource group properties.",
      "properties": {
        "provisioningState": {
          "description": "Gets resource group provisioning state.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "ResourceListResult": {
      "description": "List of resource groups.",
      "properties": {
        "nextLink": {
          "description": "Gets or sets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets the list of resource groups.",
          "items": {
            "$ref": "#/definitions/GenericResource"
          },
          "type": "array"
        }
      },
      "required": [
        "nextLink"
      ]
    },
    "ResourceManagementError": {
      "properties": {
        "code": {
          "description": "Gets or sets the error code returned from the server.",
          "type": "string"
        },
        "message": {
          "description": "Gets or sets the error message returned from the server.",
          "type": "string"
        },
        "target": {
          "description": "Gets or sets the target of the error.",
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ]
    },
    "ResourceManagementErrorWithDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/ResourceManagementError"
        }
      ],
      "properties": {
        "details": {
          "description": "Gets or sets validation error.",
          "items": {
            "$ref": "#/definitions/ResourceManagementError"
          },
          "type": "array"
        }
      },
      "required": [
        "code",
        "message"
      ]
    },
    "ResourceProviderOperationDefinition": {
      "description": "Resource provider operation information.",
      "properties": {
        "display": {
          "$ref": "#/definitions/ResourceProviderOperationDisplayProperties",
          "description": "Gets or sets the display property of the provider operation."
        },
        "name": {
          "description": "Gets or sets the provider operation name.",
          "type": "string"
        }
      }
    },
    "ResourceProviderOperationDetailListResult": {
      "description": "List of resource provider operations.",
      "properties": {
        "nextLink": {
          "description": "URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets the list of resource provider operations.",
          "items": {
            "$ref": "#/definitions/ResourceProviderOperationDefinition"
          },
          "type": "array"
        }
      }
    },
    "ResourceProviderOperationDisplayProperties": {
      "description": "Resource provider operation's display properties.",
      "properties": {
        "description": {
          "description": "Gets or sets operation description.",
          "type": "string"
        },
        "operation": {
          "description": "Gets or sets operation.",
          "type": "string"
        },
        "provider": {
          "description": "Gets or sets operation provider.",
          "type": "string"
        },
        "publisher": {
          "description": "Gets or sets operation description.",
          "type": "string"
        },
        "resource": {
          "description": "Gets or sets operation resource.",
          "type": "string"
        }
      }
    },
    "ResourcesMoveInfo": {
      "description": "Parameters of move resources.",
      "properties": {
        "resources": {
          "description": "Gets or sets the ids of the resources.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "targetResourceGroup": {
          "description": "The target resource group.",
          "type": "string"
        }
      }
    },
    "SubResource": {
      "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": "string"
        }
      }
    },
    "TagDetails": {
      "description": "Tag details.",
      "properties": {
        "count": {
          "$ref": "#/definitions/TagCount",
          "description": "Gets or sets the tag count."
        },
        "id": {
          "description": "Gets or sets the tag ID.",
          "readOnly": true,
          "type": "string"
        },
        "tagName": {
          "description": "Gets or sets the tag name.",
          "type": "string"
        },
        "values": {
          "description": "Gets or sets the list of tag values.",
          "items": {
            "$ref": "#/definitions/TagValue"
          },
          "type": "array"
        }
      }
    },
    "TagValue": {
      "description": "Tag information.",
      "properties": {
        "count": {
          "$ref": "#/definitions/TagCount",
          "description": "Gets or sets the tag value count."
        },
        "id": {
          "description": "Gets or sets the tag ID.",
          "readOnly": true,
          "type": "string"
        },
        "tagValue": {
          "description": "Gets or sets the tag value.",
          "type": "string"
        }
      },
      "x-ms-azure-resource": true
    },
    "TagsListResult": {
      "description": "List of subscription tags.",
      "properties": {
        "nextLink": {
          "description": "Gets or sets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets the list of tags.",
          "items": {
            "$ref": "#/definitions/TagDetails"
          },
          "type": "array"
        }
      },
      "required": [
        "nextLink"
      ]
    },
    "TargetResource": {
      "description": "Target resource.",
      "properties": {
        "id": {
          "description": "Gets or sets the ID of the resource.",
          "type": "string"
        },
        "resourceName": {
          "description": "Gets or sets the name of the resource.",
          "type": "string"
        },
        "resourceType": {
          "description": "Gets or sets 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 it must match the ContentVersion in the template.",
          "type": "string"
        },
        "uri": {
          "description": "URI referencing the template.",
          "type": "string"
        }
      },
      "required": [
        "uri"
      ]
    }
  }
}