{
  "openapi": "3.0.0",
  "info": {
    "title": "ResourceManagementClient",
    "version": "2015-11-01",
    "x-jentic-source-url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/resources.json"
  },
  "servers": [
    {
      "url": "https://management.azure.com/"
    }
  ],
  "paths": {
    "/providers/Microsoft.Resources/calculateTemplateHash": {
      "post": {
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TemplateHashResult"
                }
              }
            },
            "description": "OK - Returns the hash."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CloudError"
                }
              }
            },
            "description": "Error response describing why the operation failed."
          }
        },
        "tags": [
          "Deployments"
        ],
        "description": "Calculate the hash of the given template.",
        "operationId": "Deployments_CalculateTemplateHash",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "description": "The template provided to calculate hash.",
          "required": true
        },
        "x-ms-examples": {
          "Calculate template hash": {
            "$ref": "./examples/CalculateTemplateHash.json"
          }
        }
      }
    },
    "/providers/{resourceProviderNamespace}/operations": {
      "get": {
        "parameters": [
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "api-version",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceProviderOperationDetailListResult"
                }
              }
            },
            "description": "OK"
          },
          "204": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceProviderOperationDetailListResult"
                }
              }
            },
            "description": "No Content"
          }
        },
        "tags": [
          "ResourceProviderOperationDetails"
        ],
        "description": "Gets a list of resource providers.",
        "operationId": "ResourceProviderOperationDetails_List",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers": {
      "get": {
        "parameters": [
          {
            "description": "Query parameters. If null is passed returns all deployments.",
            "in": "query",
            "name": "$top",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderListResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "Providers"
        ],
        "description": "Gets a list of resource providers.",
        "operationId": "Providers_List",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments": {
      "get": {
        "parameters": [
          {
            "allowReserved": true,
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyAssignmentListResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "PolicyAssignments"
        ],
        "description": "Gets policy assignments of the subscription.",
        "operationId": "PolicyAssignments_List",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}": {
      "delete": {
        "parameters": [
          {
            "description": "The policy definition name.",
            "in": "path",
            "name": "policyDefinitionName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "tags": [
          "PolicyDefinitions"
        ],
        "description": "Deletes policy definition.",
        "operationId": "PolicyDefinitions_Delete"
      },
      "get": {
        "parameters": [
          {
            "description": "The policy definition name.",
            "in": "path",
            "name": "policyDefinitionName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyDefinition"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "PolicyDefinitions"
        ],
        "description": "Gets policy definition.",
        "operationId": "PolicyDefinitions_Get"
      },
      "put": {
        "parameters": [
          {
            "description": "The policy definition name.",
            "in": "path",
            "name": "policyDefinitionName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyDefinition"
                }
              }
            },
            "description": "Created"
          }
        },
        "tags": [
          "PolicyDefinitions"
        ],
        "description": "Create or update policy definition.",
        "operationId": "PolicyDefinitions_CreateOrUpdate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PolicyDefinition"
              }
            }
          },
          "description": "The policy definition properties",
          "required": true
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}": {
      "get": {
        "parameters": [
          {
            "description": "Namespace of the resource provider.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Provider"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "Providers"
        ],
        "description": "Gets a resource provider.",
        "operationId": "Providers_Get"
      }
    },
    "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register": {
      "post": {
        "parameters": [
          {
            "description": "Namespace of the resource provider.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Provider"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "Providers"
        ],
        "description": "Registers provider to be used with a subscription.",
        "operationId": "Providers_Register"
      }
    },
    "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister": {
      "post": {
        "parameters": [
          {
            "description": "Namespace of the resource provider.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Provider"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "Providers"
        ],
        "description": "Unregisters provider from a subscription.",
        "operationId": "Providers_Unregister"
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments": {
      "get": {
        "parameters": [
          {
            "description": "Resource group name.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "allowReserved": true,
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyAssignmentListResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "PolicyAssignments"
        ],
        "description": "Gets policy assignments of the resource group.",
        "operationId": "PolicyAssignments_ListForResourceGroup",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources": {
      "get": {
        "parameters": [
          {
            "description": "Query parameters. If null is passed returns all resource groups.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Comma-separated list of additional properties to be included in the response. Valid values include `createdTime`, `changedTime` and `provisioningState`. For example, `$expand=createdTime,changedTime`.",
            "in": "query",
            "name": "$expand",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Query parameters. If null is passed returns all resource groups.",
            "in": "query",
            "name": "$top",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceListResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "ResourceGroups"
        ],
        "description": "Get all of the resources under a subscription.",
        "operationId": "ResourceGroups_ListResources",
        "x-ms-odata": "#/components/schemas/GenericResourceFilter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/moveResources": {
      "post": {
        "parameters": [
          {
            "description": "Source resource group name.",
            "in": "path",
            "name": "sourceResourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          }
        },
        "tags": [
          "Resources"
        ],
        "description": "Begin moving resources.To determine whether the operation has finished processing the request, call GetLongRunningOperationStatus.",
        "operationId": "Resources_MoveResources",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResourcesMoveInfo"
              }
            }
          },
          "description": "move resources' parameters.",
          "required": true
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups": {
      "get": {
        "parameters": [
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Query parameters. If null is passed returns all resource groups.",
            "in": "query",
            "name": "$top",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceGroupListResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "ResourceGroups"
        ],
        "description": "Gets a collection of resource groups.",
        "operationId": "ResourceGroups_List",
        "x-ms-odata": "#/components/schemas/ResourceGroupFilter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}": {
      "delete": {
        "parameters": [
          {
            "description": "The name of the resource group to be deleted. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "Accepted"
          }
        },
        "tags": [
          "ResourceGroups"
        ],
        "description": "Begin deleting resource group.To determine whether the operation has finished processing the request, call GetLongRunningOperationStatus.",
        "operationId": "ResourceGroups_Delete",
        "x-ms-long-running-operation": true
      },
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group to get. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceGroup"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "ResourceGroups"
        ],
        "description": "Get a resource group.",
        "operationId": "ResourceGroups_Get"
      },
      "head": {
        "parameters": [
          {
            "description": "The name of the resource group to check. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "tags": [
          "ResourceGroups"
        ],
        "description": "Checks whether resource group exists.",
        "operationId": "ResourceGroups_CheckExistence"
      },
      "patch": {
        "parameters": [
          {
            "description": "The name of the resource group to be created or updated. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceGroup"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "ResourceGroups"
        ],
        "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",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResourceGroup"
              }
            }
          },
          "description": "Parameters supplied to the update state resource group service operation.",
          "required": true
        }
      },
      "put": {
        "parameters": [
          {
            "description": "The name of the resource group to be created or updated.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceGroup"
                }
              }
            },
            "description": "OK"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceGroup"
                }
              }
            },
            "description": "Created"
          }
        },
        "tags": [
          "ResourceGroups"
        ],
        "description": "Create a resource group.",
        "operationId": "ResourceGroups_CreateOrUpdate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResourceGroup"
              }
            }
          },
          "description": "Parameters supplied to the create or update resource group service operation.",
          "required": true
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations": {
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "description": "The name of the deployment.",
            "in": "path",
            "name": "deploymentName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Query parameters.",
            "in": "query",
            "name": "$top",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentOperationsListResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "DeploymentOperations"
        ],
        "description": "Gets a list of deployments operations.",
        "operationId": "DeploymentOperations_List",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}": {
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "description": "The name of the deployment.",
            "in": "path",
            "name": "deploymentName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Operation Id.",
            "in": "path",
            "name": "operationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentOperation"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "DeploymentOperations"
        ],
        "description": "Get a list of deployments operations.",
        "operationId": "DeploymentOperations_Get"
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/": {
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group to filter by. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Query parameters. If null is passed returns all deployments.",
            "in": "query",
            "name": "$top",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentListResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "Deployments"
        ],
        "description": "Get a list of deployments.",
        "operationId": "Deployments_List",
        "x-ms-odata": "#/components/schemas/DeploymentExtendedFilter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}": {
      "delete": {
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "description": "The name of the deployment to be deleted.",
            "in": "path",
            "name": "deploymentName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          }
        },
        "tags": [
          "Deployments"
        ],
        "description": "Begin deleting deployment.To determine whether the operation has finished processing the request, call GetLongRunningOperationStatus.",
        "operationId": "Deployments_Delete",
        "x-ms-long-running-operation": true
      },
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group to get. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "description": "The name of the deployment.",
            "in": "path",
            "name": "deploymentName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentExtended"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "Deployments"
        ],
        "description": "Get a deployment.",
        "operationId": "Deployments_Get"
      },
      "head": {
        "parameters": [
          {
            "description": "The name of the resource group to check. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "description": "The name of the deployment.",
            "in": "path",
            "name": "deploymentName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "tags": [
          "Deployments"
        ],
        "description": "Checks whether deployment exists.",
        "operationId": "Deployments_CheckExistence"
      },
      "put": {
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "description": "The name of the deployment.",
            "in": "path",
            "name": "deploymentName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentExtended"
                }
              }
            },
            "description": "OK"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentExtended"
                }
              }
            },
            "description": "Created"
          }
        },
        "tags": [
          "Deployments"
        ],
        "description": "Create a named template deployment using a template.",
        "operationId": "Deployments_CreateOrUpdate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Deployment"
              }
            }
          },
          "description": "Additional parameters supplied to the operation.",
          "required": true
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel": {
      "post": {
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "description": "The name of the deployment.",
            "in": "path",
            "name": "deploymentName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        },
        "tags": [
          "Deployments"
        ],
        "description": "Cancel a currently running template deployment.",
        "operationId": "Deployments_Cancel"
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate": {
      "post": {
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "description": "The name of the deployment.",
            "in": "path",
            "name": "deploymentName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentValidateResult"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentValidateResult"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "tags": [
          "Deployments"
        ],
        "description": "Validate a deployment template.",
        "operationId": "Deployments_Validate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Deployment"
              }
            }
          },
          "description": "Deployment to validate.",
          "required": true
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}": {
      "delete": {
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "allowReserved": true,
            "description": "Resource identity.",
            "in": "path",
            "name": "parentResourcePath",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-skip-url-encoding": true
          },
          {
            "allowReserved": true,
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceType",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "api-version",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          }
        },
        "tags": [
          "Resources"
        ],
        "description": "Delete resource and all of its resources. ",
        "operationId": "Resources_Delete"
      },
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "allowReserved": true,
            "description": "Resource identity.",
            "in": "path",
            "name": "parentResourcePath",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-skip-url-encoding": true
          },
          {
            "allowReserved": true,
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceType",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "api-version",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenericResource"
                }
              }
            },
            "description": "OK"
          },
          "204": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenericResource"
                }
              }
            },
            "description": "No Content"
          }
        },
        "tags": [
          "Resources"
        ],
        "description": "Returns a resource belonging to a resource group.",
        "operationId": "Resources_Get"
      },
      "head": {
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "allowReserved": true,
            "description": "Resource identity.",
            "in": "path",
            "name": "parentResourcePath",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-skip-url-encoding": true
          },
          {
            "allowReserved": true,
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceType",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "api-version",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "tags": [
          "Resources"
        ],
        "description": "Checks whether resource exists.",
        "operationId": "Resources_CheckExistence"
      },
      "patch": {
        "parameters": [
          {
            "description": "The name of the resource group for the resource. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "description": "The namespace of the resource provider.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "allowReserved": true,
            "description": "The parent resource identity.",
            "in": "path",
            "name": "parentResourcePath",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-skip-url-encoding": true
          },
          {
            "allowReserved": true,
            "description": "The resource type of the resource to update.",
            "in": "path",
            "name": "resourceType",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "The name of the resource to update.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The API version to use for the operation.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenericResource"
                }
              }
            },
            "description": "OK - Returns information about the resource."
          },
          "202": {
            "description": "Accepted"
          }
        },
        "tags": [
          "Resources"
        ],
        "description": "Updates a resource.",
        "operationId": "Resources_Update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenericResource"
              }
            }
          },
          "description": "Parameters for updating the resource.",
          "required": true
        },
        "x-ms-long-running-operation": true
      },
      "put": {
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "allowReserved": true,
            "description": "Resource identity.",
            "in": "path",
            "name": "parentResourcePath",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-skip-url-encoding": true
          },
          {
            "allowReserved": true,
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceType",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Resource identity.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "api-version",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenericResource"
                }
              }
            },
            "description": "OK"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenericResource"
                }
              }
            },
            "description": "Created"
          }
        },
        "tags": [
          "Resources"
        ],
        "description": "Create a resource.",
        "operationId": "Resources_CreateOrUpdate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenericResource"
              }
            }
          },
          "description": "Create or update resource parameters.",
          "required": true
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}providers/Microsoft.Authorization/policyAssignments": {
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "maxLength": 90,
              "minLength": 1,
              "pattern": "^[-\\w\\._\\(\\)]+$",
              "type": "string"
            }
          },
          {
            "description": "The name of the resource provider.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The parent resource path.",
            "in": "path",
            "name": "parentResourcePath",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The resource type.",
            "in": "path",
            "name": "resourceType",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The resource name.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "allowReserved": true,
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyAssignmentListResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "PolicyAssignments"
        ],
        "description": "Gets policy assignments of the resource.",
        "operationId": "PolicyAssignments_ListForResource",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resources": {
      "get": {
        "parameters": [
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Comma-separated list of additional properties to be included in the response. Valid values include `createdTime`, `changedTime` and `provisioningState`. For example, `$expand=createdTime,changedTime`.",
            "in": "query",
            "name": "$expand",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The number of results to return. If null is passed, returns all resources.",
            "in": "query",
            "name": "$top",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceListResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "Resources"
        ],
        "description": "Get all of the resources under a subscription.",
        "operationId": "Resources_List",
        "x-ms-odata": "#/components/schemas/GenericResourceFilter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/tagNames": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsListResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "Tags"
        ],
        "description": "Get a list of subscription resource tags.",
        "operationId": "Tags_List",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/tagNames/{tagName}": {
      "delete": {
        "parameters": [
          {
            "description": "The name of the tag.",
            "in": "path",
            "name": "tagName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          }
        },
        "tags": [
          "Tags"
        ],
        "description": "Delete a subscription resource tag.",
        "operationId": "Tags_Delete"
      },
      "put": {
        "parameters": [
          {
            "description": "The name of the tag.",
            "in": "path",
            "name": "tagName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagDetails"
                }
              }
            },
            "description": "OK"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagDetails"
                }
              }
            },
            "description": "Created"
          }
        },
        "tags": [
          "Tags"
        ],
        "description": "Create a subscription resource tag.",
        "operationId": "Tags_CreateOrUpdate"
      }
    },
    "/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}": {
      "delete": {
        "parameters": [
          {
            "description": "The name of the tag.",
            "in": "path",
            "name": "tagName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The value of the tag.",
            "in": "path",
            "name": "tagValue",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          }
        },
        "tags": [
          "Tags"
        ],
        "description": "Delete a subscription resource tag value.",
        "operationId": "Tags_DeleteValue"
      },
      "put": {
        "parameters": [
          {
            "description": "The name of the tag.",
            "in": "path",
            "name": "tagName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The value of the tag.",
            "in": "path",
            "name": "tagValue",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagValue"
                }
              }
            },
            "description": "OK"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagValue"
                }
              }
            },
            "description": "Created"
          }
        },
        "tags": [
          "Tags"
        ],
        "description": "Create a subscription resource tag value.",
        "operationId": "Tags_CreateOrUpdateValue"
      }
    },
    "/{policyAssignmentId}": {
      "delete": {
        "parameters": [
          {
            "allowReserved": true,
            "description": "Policy assignment Id",
            "in": "path",
            "name": "policyAssignmentId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-skip-url-encoding": true
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyAssignment"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "PolicyAssignments"
        ],
        "description": "Delete policy assignment.",
        "operationId": "PolicyAssignments_DeleteById"
      },
      "get": {
        "parameters": [
          {
            "allowReserved": true,
            "description": "Policy assignment Id",
            "in": "path",
            "name": "policyAssignmentId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-skip-url-encoding": true
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyAssignment"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "PolicyAssignments"
        ],
        "description": "Get single policy assignment.",
        "operationId": "PolicyAssignments_GetById"
      },
      "put": {
        "parameters": [
          {
            "allowReserved": true,
            "description": "Policy assignment Id",
            "in": "path",
            "name": "policyAssignmentId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-skip-url-encoding": true
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyAssignment"
                }
              }
            },
            "description": "Created"
          }
        },
        "tags": [
          "PolicyAssignments"
        ],
        "description": "Create policy assignment by Id.",
        "operationId": "PolicyAssignments_CreateById",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PolicyAssignment"
              }
            }
          },
          "description": "Policy assignment.",
          "required": true
        }
      }
    },
    "/{scope}/providers/Microsoft.Authorization/policyAssignments": {
      "get": {
        "parameters": [
          {
            "allowReserved": true,
            "description": "Scope.",
            "in": "path",
            "name": "scope",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-skip-url-encoding": true
          },
          {
            "allowReserved": true,
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyAssignmentListResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "PolicyAssignments"
        ],
        "description": "Gets policy assignments of the scope.",
        "operationId": "PolicyAssignments_ListForScope",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}": {
      "delete": {
        "parameters": [
          {
            "allowReserved": true,
            "description": "Scope.",
            "in": "path",
            "name": "scope",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Policy assignment name.",
            "in": "path",
            "name": "policyAssignmentName",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyAssignment"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "PolicyAssignments"
        ],
        "description": "Delete policy assignment.",
        "operationId": "PolicyAssignments_Delete"
      },
      "get": {
        "parameters": [
          {
            "allowReserved": true,
            "description": "Scope.",
            "in": "path",
            "name": "scope",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Policy assignment name.",
            "in": "path",
            "name": "policyAssignmentName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyAssignment"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "PolicyAssignments"
        ],
        "description": "Get single policy assignment.",
        "operationId": "PolicyAssignments_Get"
      },
      "put": {
        "parameters": [
          {
            "allowReserved": true,
            "description": "Scope.",
            "in": "path",
            "name": "scope",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Policy assignment name.",
            "in": "path",
            "name": "policyAssignmentName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyAssignment"
                }
              }
            },
            "description": "Created"
          }
        },
        "tags": [
          "PolicyAssignments"
        ],
        "description": "Create policy assignment.",
        "operationId": "PolicyAssignments_Create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PolicyAssignment"
              }
            }
          },
          "description": "Policy assignment.",
          "required": true
        }
      }
    }
  },
  "components": {
    "parameters": {
      "ApiVersionParameter": {
        "description": "Client Api Version.",
        "in": "query",
        "name": "api-version",
        "required": true,
        "schema": {
          "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,
        "schema": {
          "type": "string"
        }
      }
    },
    "requestBodies": {
      "PolicyAssignment": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PolicyAssignment"
            }
          }
        },
        "description": "Policy assignment.",
        "required": true
      }
    },
    "schemas": {
      "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"
          }
        },
        "type": "object"
      },
      "CloudError": {
        "description": "An error response for a resource management request.",
        "properties": {
          "error": {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse"
          }
        },
        "type": "object",
        "x-ms-external": true
      },
      "Dependency": {
        "description": "Deployment dependency information.",
        "properties": {
          "dependsOn": {
            "description": "Gets the list of dependencies.",
            "items": {
              "$ref": "#/components/schemas/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"
          }
        },
        "type": "object"
      },
      "Deployment": {
        "description": "Deployment operation parameters.",
        "properties": {
          "properties": {
            "$ref": "#/components/schemas/DeploymentProperties",
            "description": "Gets or sets the deployment properties."
          }
        },
        "type": "object"
      },
      "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": "#/components/schemas/DeploymentPropertiesExtended",
            "description": "Gets or sets deployment properties."
          }
        },
        "required": [
          "name"
        ],
        "type": "object",
        "x-ms-azure-resource": true
      },
      "DeploymentExtendedFilter": {
        "description": "Deployment filter.",
        "properties": {
          "provisioningState": {
            "description": "Gets or sets the provisioning state.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "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": "#/components/schemas/DeploymentExtended"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "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": "#/components/schemas/DeploymentOperationProperties",
            "description": "Gets or sets deployment properties."
          }
        },
        "type": "object"
      },
      "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": "#/components/schemas/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"
          }
        },
        "type": "object"
      },
      "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": "#/components/schemas/DeploymentOperation"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "DeploymentProperties": {
        "description": "Deployment properties.",
        "properties": {
          "parameters": {
            "description": "Deployment parameters. Use only one of Parameters or ParametersLink.",
            "type": "object"
          },
          "mode": {
            "description": "Gets or sets the deployment mode.",
            "enum": [
              "Incremental",
              "Complete"
            ],
            "type": "string",
            "x-ms-enum": {
              "modelAsString": false,
              "name": "DeploymentMode"
            }
          },
          "parametersLink": {
            "$ref": "#/components/schemas/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": "#/components/schemas/TemplateLink",
            "description": "Gets or sets the URI referencing the template. Use only one of Template or TemplateLink."
          }
        },
        "type": "object"
      },
      "DeploymentPropertiesExtended": {
        "description": "Deployment properties with additional details.",
        "properties": {
          "parameters": {
            "description": "Deployment parameters. Use only one of Parameters or ParametersLink.",
            "type": "object"
          },
          "correlationId": {
            "description": "Gets or sets the correlation ID of the deployment.",
            "type": "string"
          },
          "dependencies": {
            "description": "Gets the list of deployment dependencies.",
            "items": {
              "$ref": "#/components/schemas/Dependency"
            },
            "type": "array"
          },
          "error": {
            "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse",
            "description": "The deployment error.",
            "readOnly": true
          },
          "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"
          },
          "parametersLink": {
            "$ref": "#/components/schemas/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": "#/components/schemas/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": "#/components/schemas/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"
          }
        },
        "type": "object"
      },
      "DeploymentValidateResult": {
        "description": "Information from validate template deployment response.",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/ResourceManagementErrorWithDetails",
            "description": "Gets or sets validation error."
          },
          "properties": {
            "$ref": "#/components/schemas/DeploymentPropertiesExtended",
            "description": "Gets or sets the template deployment properties."
          }
        },
        "type": "object"
      },
      "GenericResource": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Resource"
          }
        ],
        "description": "Resource information.",
        "properties": {
          "plan": {
            "$ref": "#/components/schemas/Plan",
            "description": "Gets or sets the plan of the resource."
          },
          "properties": {
            "description": "Gets or sets the resource properties.",
            "type": "object"
          }
        },
        "type": "object"
      },
      "GenericResourceExpanded": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GenericResource"
          }
        ],
        "description": "Resource information.",
        "properties": {
          "changedTime": {
            "description": "The changed time of the resource. This is only present if requested via the $expand query parameter.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "createdTime": {
            "description": "The created time of the resource. This is only present if requested via the $expand query parameter.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "provisioningState": {
            "description": "The provisioning state of the resource. This is only present if requested via the $expand query parameter.",
            "readOnly": true,
            "type": "string"
          }
        },
        "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"
          }
        },
        "type": "object"
      },
      "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"
        ],
        "type": "object"
      },
      "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"
          }
        },
        "type": "object"
      },
      "PolicyAssignment": {
        "description": "Policy assignment.",
        "properties": {
          "name": {
            "description": "Gets or sets the policy assignment name.",
            "readOnly": true,
            "type": "string"
          },
          "properties": {
            "$ref": "#/components/schemas/PolicyAssignmentProperties",
            "description": "Gets or sets the policy assignment properties."
          }
        },
        "type": "object"
      },
      "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": "#/components/schemas/PolicyAssignment"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "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"
          }
        },
        "type": "object"
      },
      "PolicyDefinition": {
        "description": "Policy definition.",
        "properties": {
          "name": {
            "description": "Gets or sets the policy definition name.",
            "type": "string"
          },
          "properties": {
            "$ref": "#/components/schemas/PolicyDefinitionProperties",
            "description": "Gets or sets the policy definition properties."
          }
        },
        "type": "object"
      },
      "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"
          }
        },
        "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": "#/components/schemas/ProviderResourceType"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "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": "#/components/schemas/Provider"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "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"
          }
        },
        "type": "object"
      },
      "Resource": {
        "properties": {
          "tags": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Resource tags",
            "type": "object"
          },
          "id": {
            "description": "Resource Id",
            "readOnly": true,
            "type": "string"
          },
          "location": {
            "description": "Resource location",
            "type": "string"
          },
          "name": {
            "description": "Resource name",
            "readOnly": true,
            "type": "string"
          },
          "type": {
            "description": "Resource type",
            "readOnly": true,
            "type": "string"
          }
        },
        "required": [
          "location"
        ],
        "type": "object",
        "x-ms-azure-resource": true
      },
      "ResourceGroup": {
        "description": "Resource group information.",
        "properties": {
          "tags": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Gets or sets the tags attached to the resource group.",
            "type": "object"
          },
          "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": "#/components/schemas/ResourceGroupProperties"
          }
        },
        "required": [
          "location"
        ],
        "type": "object",
        "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"
          }
        },
        "type": "object"
      },
      "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": "#/components/schemas/ResourceGroup"
            },
            "type": "array"
          }
        },
        "required": [
          "nextLink"
        ],
        "type": "object"
      },
      "ResourceGroupProperties": {
        "description": "The resource group properties.",
        "properties": {
          "provisioningState": {
            "description": "Gets resource group provisioning state.",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "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": "#/components/schemas/GenericResourceExpanded"
            },
            "type": "array"
          }
        },
        "required": [
          "nextLink"
        ],
        "type": "object"
      },
      "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"
        ],
        "type": "object"
      },
      "ResourceManagementErrorWithDetails": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResourceManagementError"
          }
        ],
        "properties": {
          "details": {
            "description": "Gets or sets validation error.",
            "items": {
              "$ref": "#/components/schemas/ResourceManagementError"
            },
            "type": "array"
          }
        },
        "required": [
          "code",
          "message"
        ],
        "type": "object"
      },
      "ResourceProviderOperationDefinition": {
        "description": "Resource provider operation information.",
        "properties": {
          "display": {
            "$ref": "#/components/schemas/ResourceProviderOperationDisplayProperties",
            "description": "Gets or sets the display property of the provider operation."
          },
          "name": {
            "description": "Gets or sets the provider operation name.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "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": "#/components/schemas/ResourceProviderOperationDefinition"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "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"
          }
        },
        "type": "object"
      },
      "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"
          }
        },
        "type": "object"
      },
      "SubResource": {
        "properties": {
          "id": {
            "description": "Resource Id",
            "type": "string"
          }
        },
        "type": "object",
        "x-ms-azure-resource": true
      },
      "TagCount": {
        "description": "Tag count.",
        "properties": {
          "type": {
            "description": "Type of count.",
            "type": "string"
          },
          "value": {
            "description": "Value of count.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "TagDetails": {
        "description": "Tag details.",
        "properties": {
          "count": {
            "$ref": "#/components/schemas/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": "#/components/schemas/TagValue"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "TagValue": {
        "description": "Tag information.",
        "properties": {
          "count": {
            "$ref": "#/components/schemas/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"
          }
        },
        "type": "object",
        "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": "#/components/schemas/TagDetails"
            },
            "type": "array"
          }
        },
        "required": [
          "nextLink"
        ],
        "type": "object"
      },
      "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"
          }
        },
        "type": "object"
      },
      "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"
          }
        },
        "type": "object"
      },
      "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"
        ],
        "type": "object"
      }
    },
    "securitySchemes": {
      "azure_auth": {
        "description": "Azure Active Directory OAuth2 Flow",
        "flows": {
          "implicit": {
            "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
            "scopes": {
              "user_impersonation": "impersonate your user account"
            }
          }
        },
        "type": "oauth2"
      }
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ]
}