{ "swagger": "2.0", "info": { "title": "DeploymentStacksClient", "version": "2022-08-01-preview", "description": "The APIs listed in this specification can be used to manage Deployment stack resources through the Azure Resource Manager.", "x-typespec-generated": [ { "emitter": "@azure-tools/typespec-autorest" } ] }, "schemes": [ "https" ], "host": "management.azure.com", "produces": [ "application/json" ], "consumes": [ "application/json" ], "security": [ { "azure_auth": [ "user_impersonation" ] } ], "securityDefinitions": { "azure_auth": { "type": "oauth2", "description": "Azure Active Directory OAuth2 Flow.", "flow": "implicit", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } }, "tags": [ { "name": "DeploymentStacksAtResourceGroup" }, { "name": "DeploymentStacksAtSubscription" }, { "name": "DeploymentStacksAtManagementGroup" } ], "paths": { "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Resources/deploymentStacks": { "get": { "operationId": "DeploymentStacks_ListAtManagementGroup", "tags": [ "DeploymentStacksAtManagementGroup" ], "description": "Lists Deployment stacks at the specified scope.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "name": "managementGroupId", "in": "path", "description": "The management group ID.", "required": true, "type": "string", "minLength": 1 } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DeploymentStackListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "List management group Deployment stacks": { "$ref": "./examples/DeploymentStackManagementGroupList.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Resources/deploymentStacks/{deploymentStackName}": { "get": { "operationId": "DeploymentStacks_GetAtManagementGroup", "tags": [ "DeploymentStacksAtManagementGroup" ], "description": "Gets the Deployment stack with the given name.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "name": "managementGroupId", "in": "path", "description": "The management group ID.", "required": true, "type": "string", "minLength": 1 }, { "name": "deploymentStackName", "in": "path", "description": "Name of the deployment stack.", "required": true, "type": "string", "minLength": 1, "maxLength": 90, "pattern": "^[-\\w\\._\\(\\)]+$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DeploymentStack" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get a management group Deployment stack": { "$ref": "./examples/DeploymentStackManagementGroupGet.json" } } }, "put": { "operationId": "DeploymentStacks_CreateOrUpdateAtManagementGroup", "tags": [ "DeploymentStacksAtManagementGroup" ], "description": "Creates or updates a Deployment stack at the specified scope.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "name": "managementGroupId", "in": "path", "description": "The management group ID.", "required": true, "type": "string", "minLength": 1 }, { "name": "deploymentStackName", "in": "path", "description": "Name of the deployment stack.", "required": true, "type": "string", "minLength": 1, "maxLength": 90, "pattern": "^[-\\w\\._\\(\\)]+$" }, { "name": "deploymentStack", "in": "body", "description": "Resource create parameters.", "required": true, "schema": { "$ref": "#/definitions/DeploymentStack" } } ], "responses": { "200": { "description": "Resource 'DeploymentStack' update operation succeeded", "schema": { "$ref": "#/definitions/DeploymentStack" } }, "201": { "description": "Resource 'DeploymentStack' create operation succeeded", "schema": { "$ref": "#/definitions/DeploymentStack" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Create or update a management group Deployment stack": { "$ref": "./examples/DeploymentStackManagementGroupCreate.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "DeploymentStacks_DeleteAtManagementGroup", "tags": [ "DeploymentStacksAtManagementGroup" ], "description": "Deletes a Deployment stack by name at the specified scope. When operation completes, status code 200 returned without content.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "name": "managementGroupId", "in": "path", "description": "The management group ID.", "required": true, "type": "string", "minLength": 1 }, { "name": "deploymentStackName", "in": "path", "description": "Name of the deployment stack.", "required": true, "type": "string", "minLength": 1, "maxLength": 90, "pattern": "^[-\\w\\._\\(\\)]+$" }, { "$ref": "#/parameters/ActionOnUnmanageDeleteParameters.unmanageActionResources" }, { "$ref": "#/parameters/ActionOnUnmanageDeleteParameters.unmanageActionResourceGroups" }, { "$ref": "#/parameters/ActionOnUnmanageDeleteParameters.unmanageActionManagementGroups" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Delete a management group Deployment stack": { "$ref": "./examples/DeploymentStackManagementGroupDelete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Resources/deploymentStacks/{deploymentStackName}/exportTemplate": { "post": { "operationId": "DeploymentStacks_ExportTemplateAtManagementGroup", "tags": [ "DeploymentStacksAtManagementGroup" ], "description": "Exports the template used to create the Deployment stack at the specified scope.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "name": "managementGroupId", "in": "path", "description": "The management group ID.", "required": true, "type": "string", "minLength": 1 }, { "name": "deploymentStackName", "in": "path", "description": "Name of the deployment stack.", "required": true, "type": "string", "minLength": 1, "maxLength": 90, "pattern": "^[-\\w\\._\\(\\)]+$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DeploymentStackTemplateDefinition" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Export the Deployment template for a management group Deployment stack": { "$ref": "./examples/DeploymentStackManagementGroupExportTemplate.json" } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deploymentStacks": { "get": { "operationId": "DeploymentStacks_ListAtSubscription", "tags": [ "DeploymentStacksAtSubscription" ], "description": "Lists Deployment stacks at the specified scope.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DeploymentStackListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "List subscription Deployment stacks": { "$ref": "./examples/DeploymentStackSubscriptionList.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deploymentStacks/{deploymentStackName}": { "get": { "operationId": "DeploymentStacks_GetAtSubscription", "tags": [ "DeploymentStacksAtSubscription" ], "description": "Gets the Deployment stack with the given name.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "name": "deploymentStackName", "in": "path", "description": "Name of the deployment stack.", "required": true, "type": "string", "minLength": 1, "maxLength": 90, "pattern": "^[-\\w\\._\\(\\)]+$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DeploymentStack" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get a subscription Deployment stack": { "$ref": "./examples/DeploymentStackSubscriptionGet.json" } } }, "put": { "operationId": "DeploymentStacks_CreateOrUpdateAtSubscription", "tags": [ "DeploymentStacksAtSubscription" ], "description": "Creates or updates a Deployment stack at the specified scope.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "name": "deploymentStackName", "in": "path", "description": "Name of the deployment stack.", "required": true, "type": "string", "minLength": 1, "maxLength": 90, "pattern": "^[-\\w\\._\\(\\)]+$" }, { "name": "deploymentStack", "in": "body", "description": "Resource create parameters.", "required": true, "schema": { "$ref": "#/definitions/DeploymentStack" } } ], "responses": { "200": { "description": "Resource 'DeploymentStack' update operation succeeded", "schema": { "$ref": "#/definitions/DeploymentStack" } }, "201": { "description": "Resource 'DeploymentStack' create operation succeeded", "schema": { "$ref": "#/definitions/DeploymentStack" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Create or update a subscription Deployment stack": { "$ref": "./examples/DeploymentStackSubscriptionCreate.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "DeploymentStacks_DeleteAtSubscription", "tags": [ "DeploymentStacksAtSubscription" ], "description": "Deletes a Deployment stack by name at the specified scope. When operation completes, status code 200 returned without content.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "name": "deploymentStackName", "in": "path", "description": "Name of the deployment stack.", "required": true, "type": "string", "minLength": 1, "maxLength": 90, "pattern": "^[-\\w\\._\\(\\)]+$" }, { "$ref": "#/parameters/ActionOnUnmanageDeleteParameters.unmanageActionResources" }, { "$ref": "#/parameters/ActionOnUnmanageDeleteParameters.unmanageActionResourceGroups" }, { "$ref": "#/parameters/ActionOnUnmanageDeleteParameters.unmanageActionManagementGroups" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Delete a subscription Deployment stack": { "$ref": "./examples/DeploymentStackSubscriptionDelete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deploymentStacks/{deploymentStackName}/exportTemplate": { "post": { "operationId": "DeploymentStacks_ExportTemplateAtSubscription", "tags": [ "DeploymentStacksAtSubscription" ], "description": "Exports the template used to create the Deployment stack at the specified scope.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "name": "deploymentStackName", "in": "path", "description": "Name of the deployment stack.", "required": true, "type": "string", "minLength": 1, "maxLength": 90, "pattern": "^[-\\w\\._\\(\\)]+$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DeploymentStackTemplateDefinition" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Export the Deployment template for a subscription Deployment stack": { "$ref": "./examples/DeploymentStackSubscriptionExportTemplate.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Resources/deploymentStacks": { "get": { "operationId": "DeploymentStacks_ListAtResourceGroup", "tags": [ "DeploymentStacksAtResourceGroup" ], "description": "Lists Deployment stacks at the specified scope.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DeploymentStackListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "List resource group Deployment stacks": { "$ref": "./examples/DeploymentStackResourceGroupList.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Resources/deploymentStacks/{deploymentStackName}": { "get": { "operationId": "DeploymentStacks_GetAtResourceGroup", "tags": [ "DeploymentStacksAtResourceGroup" ], "description": "Gets the Deployment stack with the given name.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "deploymentStackName", "in": "path", "description": "Name of the deployment stack.", "required": true, "type": "string", "minLength": 1, "maxLength": 90, "pattern": "^[-\\w\\._\\(\\)]+$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DeploymentStack" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get a resource group Deployment stack": { "$ref": "./examples/DeploymentStackResourceGroupGet.json" } } }, "put": { "operationId": "DeploymentStacks_CreateOrUpdateAtResourceGroup", "tags": [ "DeploymentStacksAtResourceGroup" ], "description": "Creates or updates a Deployment stack at the specified scope.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "deploymentStackName", "in": "path", "description": "Name of the deployment stack.", "required": true, "type": "string", "minLength": 1, "maxLength": 90, "pattern": "^[-\\w\\._\\(\\)]+$" }, { "name": "deploymentStack", "in": "body", "description": "Resource create parameters.", "required": true, "schema": { "$ref": "#/definitions/DeploymentStack" } } ], "responses": { "200": { "description": "Resource 'DeploymentStack' update operation succeeded", "schema": { "$ref": "#/definitions/DeploymentStack" } }, "201": { "description": "Resource 'DeploymentStack' create operation succeeded", "schema": { "$ref": "#/definitions/DeploymentStack" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Create or update a resource group Deployment stack": { "$ref": "./examples/DeploymentStackResourceGroupCreate.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "DeploymentStacks_DeleteAtResourceGroup", "tags": [ "DeploymentStacksAtResourceGroup" ], "description": "Deletes a Deployment stack by name at the specified scope. When operation completes, status code 200 returned without content.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "deploymentStackName", "in": "path", "description": "Name of the deployment stack.", "required": true, "type": "string", "minLength": 1, "maxLength": 90, "pattern": "^[-\\w\\._\\(\\)]+$" }, { "$ref": "#/parameters/ActionOnUnmanageDeleteParameters.unmanageActionResources" }, { "$ref": "#/parameters/ActionOnUnmanageDeleteParameters.unmanageActionResourceGroups" }, { "$ref": "#/parameters/ActionOnUnmanageDeleteParameters.unmanageActionManagementGroups" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Delete a resource group Deployment stack": { "$ref": "./examples/DeploymentStackResourceGroupDelete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Resources/deploymentStacks/{deploymentStackName}/exportTemplate": { "post": { "operationId": "DeploymentStacks_ExportTemplateAtResourceGroup", "tags": [ "DeploymentStacksAtResourceGroup" ], "description": "Exports the template used to create the Deployment stack at the specified scope.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "deploymentStackName", "in": "path", "description": "Name of the deployment stack.", "required": true, "type": "string", "minLength": 1, "maxLength": 90, "pattern": "^[-\\w\\._\\(\\)]+$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DeploymentStackTemplateDefinition" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Export the Deployment template for a resource group Deployment stack": { "$ref": "./examples/DeploymentStackExportTemplate.json" } } } } }, "definitions": { "ActionOnUnmanage": { "type": "object", "description": "Defines the behavior of resources that are no longer managed after the stack is updated or deleted.", "properties": { "resources": { "$ref": "#/definitions/UnmanageActionResourceMode", "description": "Specifies an action for a newly unmanaged resource." }, "resourceGroups": { "$ref": "#/definitions/UnmanageActionResourceGroupMode", "description": "Specifies an action for a newly unmanaged resource group." }, "managementGroups": { "$ref": "#/definitions/UnmanageActionManagementGroupMode", "description": "Specifies an action for a newly unmanaged resource management group." } }, "required": [ "resources" ] }, "DenySettings": { "type": "object", "description": "Defines how resources deployed by the Deployment stack are locked.", "properties": { "mode": { "$ref": "#/definitions/DenySettingsMode", "description": "denySettings Mode that defines denied actions." }, "excludedPrincipals": { "type": "array", "description": "List of AAD principal IDs excluded from the lock. Up to 5 principals are permitted.", "items": { "type": "string" } }, "excludedActions": { "type": "array", "description": "List of role-based management operations that are excluded from the denySettings. Up to 200 actions are permitted. If the denySetting mode is set to 'denyWriteAndDelete', then the following actions are automatically appended to 'excludedActions': '*\\/read' and 'Microsoft.Authorization/locks/delete'. If the denySetting mode is set to 'denyDelete', then the following actions are automatically appended to 'excludedActions': 'Microsoft.Authorization/locks/delete'. Duplicate actions will be removed.", "items": { "type": "string" } }, "applyToChildScopes": { "type": "boolean", "description": "DenySettings will be applied to child resource scopes of every managed resource with a deny assignment." } }, "required": [ "mode" ] }, "DenySettingsMode": { "type": "string", "description": "denySettings Mode that defines denied actions.", "enum": [ "denyDelete", "denyWriteAndDelete", "none" ], "x-ms-enum": { "name": "DenySettingsMode", "modelAsString": true, "values": [ { "name": "DenyDelete", "value": "denyDelete", "description": "Authorized users are able to read and modify the resources, but cannot delete." }, { "name": "DenyWriteAndDelete", "value": "denyWriteAndDelete", "description": "Authorized users can read from a resource, but cannot modify or delete it." }, { "name": "None", "value": "none", "description": "No denyAssignments have been applied." } ] } }, "DeploymentParameter": { "type": "object", "description": "Deployment parameter for the template.", "properties": { "value": { "description": "Input value to the parameter." }, "type": { "type": "string", "description": "Type of the value." }, "reference": { "$ref": "#/definitions/KeyVaultParameterReference", "description": "Azure Key Vault parameter reference." } } }, "DeploymentStack": { "type": "object", "description": "Deployment stack object.", "properties": { "properties": { "$ref": "#/definitions/DeploymentStackProperties", "description": "Deployment stack properties.", "x-ms-client-flatten": true }, "location": { "type": "string", "description": "The geo-location where the resource lives. Required for subscription and management group scoped stacks. The location is inherited from the resource group for resource group scoped stacks.", "x-ms-mutability": [ "read", "create" ] }, "tags": { "type": "object", "description": "Resource tags.", "additionalProperties": { "type": "string" } } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "DeploymentStackListResult": { "type": "object", "description": "The response of a DeploymentStack list operation.", "properties": { "value": { "type": "array", "description": "The DeploymentStack items on this page", "items": { "$ref": "#/definitions/DeploymentStack" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "DeploymentStackProperties": { "type": "object", "description": "Deployment stack properties.", "properties": { "error": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", "description": "The error detail.", "readOnly": true }, "template": { "type": "object", "description": "The template content. You use this element when you want to pass the template syntax directly in the request rather than link to an existing template. It can be a JObject or well-formed JSON string. Use either the templateLink property or the template property, but not both.", "additionalProperties": {}, "x-ms-mutability": [ "update", "create" ] }, "templateLink": { "$ref": "#/definitions/DeploymentStacksTemplateLink", "description": "The URI of the template. Use either the templateLink property or the template property, but not both.", "x-ms-mutability": [ "update", "create" ] }, "parameters": { "type": "object", "description": "Name and value pairs that define the deployment parameters for the template. Use this element when providing the parameter values directly in the request, rather than linking to an existing parameter file. Use either the parametersLink property or the parameters property, but not both.", "additionalProperties": { "$ref": "#/definitions/DeploymentParameter" } }, "parametersLink": { "$ref": "#/definitions/DeploymentStacksParametersLink", "description": "The URI of parameters file. Use this element to link to an existing parameters file. Use either the parametersLink property or the parameters property, but not both." }, "actionOnUnmanage": { "$ref": "#/definitions/ActionOnUnmanage", "description": "Defines the behavior of resources that are no longer managed after the Deployment stack is updated or deleted." }, "debugSetting": { "$ref": "#/definitions/DeploymentStacksDebugSetting", "description": "The debug setting of the deployment." }, "deploymentScope": { "type": "string", "description": "The scope at which the initial deployment should be created. If a scope is not specified, it will default to the scope of the deployment stack. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroupId}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}')." }, "description": { "type": "string", "description": "Deployment stack description. Max length of 4096 characters.", "maxLength": 4096 }, "denySettings": { "$ref": "#/definitions/DenySettings", "description": "Defines how resources deployed by the stack are locked." }, "provisioningState": { "$ref": "#/definitions/DeploymentStackProvisioningState", "description": "State of the deployment stack.", "readOnly": true }, "detachedResources": { "type": "array", "description": "An array of resources that were detached during the most recent Deployment stack update. Detached means that the resource was removed from the template, but no relevant deletion operations were specified. So, the resource still exists while no longer being associated with the stack.", "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": true }, "deletedResources": { "type": "array", "description": "An array of resources that were deleted during the most recent Deployment stack update. Deleted means that the resource was removed from the template and relevant deletion operations were specified.", "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": true }, "failedResources": { "type": "array", "description": "An array of resources that failed to reach goal state during the most recent update. Each resourceId is accompanied by an error message.", "items": { "$ref": "#/definitions/ResourceReferenceExtended" }, "readOnly": true }, "resources": { "type": "array", "description": "An array of resources currently managed by the deployment stack.", "items": { "$ref": "#/definitions/ManagedResourceReference" }, "readOnly": true }, "deploymentId": { "type": "string", "description": "The resourceId of the deployment resource created by the deployment stack.", "readOnly": true }, "outputs": { "type": "object", "description": "The outputs of the deployment resource created by the deployment stack.", "additionalProperties": {}, "readOnly": true }, "duration": { "type": "string", "description": "The duration of the last successful Deployment stack update.", "readOnly": true } }, "required": [ "actionOnUnmanage", "denySettings" ] }, "DeploymentStackProvisioningState": { "type": "string", "description": "State of the deployment stack.", "enum": [ "creating", "validating", "waiting", "deploying", "canceling", "updatingDenyAssignments", "deletingResources", "succeeded", "failed", "canceled", "deleting" ], "x-ms-enum": { "name": "DeploymentStackProvisioningState", "modelAsString": true, "values": [ { "name": "Creating", "value": "creating", "description": "The deployment stack is currently being created" }, { "name": "Validating", "value": "validating", "description": "The deployment stack is currently being validated" }, { "name": "Waiting", "value": "waiting", "description": "The deployment stack is currently waiting" }, { "name": "Deploying", "value": "deploying", "description": "The deployment stack is currently deploying" }, { "name": "Canceling", "value": "canceling", "description": "The deployment stack is being cancelled" }, { "name": "UpdatingDenyAssignments", "value": "updatingDenyAssignments", "description": "The deployment stack is updating deny assignments" }, { "name": "DeletingResources", "value": "deletingResources", "description": "The deployment stack is deleting resources" }, { "name": "Succeeded", "value": "succeeded", "description": "The deployment stack completed successfully" }, { "name": "Failed", "value": "failed", "description": "The deployment stack has failed" }, { "name": "Canceled", "value": "canceled", "description": "The deployment stack has been cancelled" }, { "name": "Deleting", "value": "deleting", "description": "The deployment stack is being deleted" } ] }, "readOnly": true }, "DeploymentStackTemplateDefinition": { "type": "object", "description": "Export Template specific properties of the Deployment stack.", "properties": { "template": { "type": "object", "description": "The template content. Use this element to pass the template syntax directly in the request rather than link to an existing template. It can be a JObject or well-formed JSON string. Use either the templateLink property or the template property, but not both.", "additionalProperties": {} }, "templateLink": { "$ref": "#/definitions/DeploymentStacksTemplateLink", "description": "The URI of the template. Use either the templateLink property or the template property, but not both." } } }, "DeploymentStacksDebugSetting": { "type": "object", "description": "The debug setting.", "properties": { "detailLevel": { "type": "string", "description": "Specifies the type of information to log for debugging. The permitted values are none, requestContent, responseContent, or both requestContent and responseContent separated by a comma. The default is none. When setting this value, carefully consider the type of information that is being passed in during deployment. By logging information about the request or response, sensitive data that is retrieved through the deployment operations could potentially be exposed." } } }, "DeploymentStacksParametersLink": { "type": "object", "description": "Entity representing the reference to the deployment parameters.", "properties": { "uri": { "type": "string", "description": "The URI of the parameters file." }, "contentVersion": { "type": "string", "description": "If included, must match the ContentVersion in the template." } }, "required": [ "uri" ] }, "DeploymentStacksTemplateLink": { "type": "object", "description": "Entity representing the reference to the template.", "properties": { "uri": { "type": "string", "description": "The URI of the template to deploy. Use either the uri or id property, but not both." }, "id": { "type": "string", "description": "The resourceId of a Template Spec. Use either the id or uri property, but not both." }, "relativePath": { "type": "string", "description": "The relativePath property can be used to deploy a linked template at a location relative to the parent. If the parent template was linked with a TemplateSpec, this will reference an artifact in the TemplateSpec. If the parent was linked with a URI, the child deployment will be a combination of the parent and relativePath URIs." }, "queryString": { "type": "string", "description": "The query string (for example, a SAS token) to be used with the templateLink URI." }, "contentVersion": { "type": "string", "description": "If included, must match the ContentVersion in the template." } } }, "KeyVaultParameterReference": { "type": "object", "description": "Azure Key Vault parameter reference.", "properties": { "keyVault": { "$ref": "#/definitions/KeyVaultReference", "description": "Azure Key Vault reference." }, "secretName": { "type": "string", "description": "Azure Key Vault secret name." }, "secretVersion": { "type": "string", "description": "Azure Key Vault secret version." } }, "required": [ "keyVault", "secretName" ] }, "KeyVaultReference": { "type": "object", "description": "Azure Key Vault reference.", "properties": { "id": { "type": "string", "description": "Azure Key Vault resourceId." } }, "required": [ "id" ] }, "ManagedResourceReference": { "type": "object", "description": "The managed resource model.", "properties": { "denyStatus": { "type": "string", "description": "denyAssignment settings applied to the resource.", "default": "none", "enum": [ "denyDelete", "notSupported", "inapplicable", "denyWriteAndDelete", "removedBySystem", "none" ], "x-ms-enum": { "name": "DenyStatusMode", "modelAsString": true, "values": [ { "name": "DenyDelete", "value": "denyDelete", "description": "Authorized users are able to read and modify the resources, but cannot delete." }, { "name": "NotSupported", "value": "notSupported", "description": "Resource type does not support denyAssignments." }, { "name": "Inapplicable", "value": "inapplicable", "description": "denyAssignments are not supported on resources outside the scope of the deployment stack." }, { "name": "DenyWriteAndDelete", "value": "denyWriteAndDelete", "description": "Authorized users can only read from a resource, but cannot modify or delete it." }, { "name": "RemovedBySystem", "value": "removedBySystem", "description": "Deny assignment has been removed by Azure due to a resource management change (management group move, etc.)" }, { "name": "None", "value": "none", "description": "No denyAssignments have been applied." } ] } }, "status": { "type": "string", "description": "Current management state of the resource in the deployment stack.", "default": "none", "enum": [ "managed", "removeDenyFailed", "deleteFailed", "none" ], "x-ms-enum": { "name": "ResourceStatusMode", "modelAsString": true, "values": [ { "name": "Managed", "value": "managed", "description": "This resource is managed by the deployment stack." }, { "name": "RemoveDenyFailed", "value": "removeDenyFailed", "description": "Unable to remove the deny assignment on resource." }, { "name": "DeleteFailed", "value": "deleteFailed", "description": "Unable to delete the resource from Azure. The delete will be retried on the next stack deployment, or can be deleted manually." }, { "name": "None", "value": "none", "description": "No management state." } ] } } }, "allOf": [ { "$ref": "#/definitions/ResourceReference" } ] }, "ResourceReference": { "type": "object", "description": "The resourceId model.", "properties": { "id": { "type": "string", "description": "The ARM Resource ID of a resource managed by the deployment stack.", "readOnly": true } } }, "ResourceReferenceExtended": { "type": "object", "description": "The resourceId extended model. This is used to document failed resources with a resourceId and a corresponding error.", "properties": { "id": { "type": "string", "description": "The ARM Resource ID of a resource managed by the deployment stack.", "readOnly": true }, "error": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", "description": "The error detail.", "readOnly": true } } }, "UnmanageActionManagementGroupMode": { "type": "string", "description": "Specifies an action for a newly unmanaged resource.", "enum": [ "delete", "detach" ], "x-ms-enum": { "name": "UnmanageActionManagementGroupMode", "modelAsString": true, "values": [ { "name": "Delete", "value": "delete", "description": "Delete the management groups from Azure." }, { "name": "Detach", "value": "detach", "description": "Keep the management groups in Azure." } ] } }, "UnmanageActionResourceGroupMode": { "type": "string", "description": "Specifies an action for a newly unmanaged resource group.", "enum": [ "delete", "detach" ], "x-ms-enum": { "name": "UnmanageActionResourceGroupMode", "modelAsString": true, "values": [ { "name": "Delete", "value": "delete", "description": "Delete the resource groups from Azure." }, { "name": "Detach", "value": "detach", "description": "Keep the resource groups in Azure." } ] } }, "UnmanageActionResourceMode": { "type": "string", "description": "Specifies an action for a newly unmanaged resource.", "enum": [ "delete", "detach" ], "x-ms-enum": { "name": "UnmanageActionResourceMode", "modelAsString": true, "values": [ { "name": "Delete", "value": "delete", "description": "Delete the resources from Azure" }, { "name": "Detach", "value": "detach", "description": "Keep the resources in Azure" } ] } } }, "parameters": { "ActionOnUnmanageDeleteParameters.unmanageActionManagementGroups": { "name": "unmanageAction.ManagementGroups", "in": "query", "description": "Flag to indicate delete rather than detach for unmanaged management groups.", "required": false, "type": "string", "enum": [ "delete", "detach" ], "x-ms-enum": { "name": "UnmanageActionManagementGroupMode", "modelAsString": true, "values": [ { "name": "Delete", "value": "delete", "description": "Delete the management groups from Azure." }, { "name": "Detach", "value": "detach", "description": "Keep the management groups in Azure." } ] }, "x-ms-parameter-location": "method", "x-ms-client-name": "unmanageActionManagementGroups" }, "ActionOnUnmanageDeleteParameters.unmanageActionResourceGroups": { "name": "unmanageAction.ResourceGroups", "in": "query", "description": "Flag to indicate delete rather than detach for unmanaged resource groups.", "required": false, "type": "string", "enum": [ "delete", "detach" ], "x-ms-enum": { "name": "UnmanageActionResourceGroupMode", "modelAsString": true, "values": [ { "name": "Delete", "value": "delete", "description": "Delete the resource groups from Azure." }, { "name": "Detach", "value": "detach", "description": "Keep the resource groups in Azure." } ] }, "x-ms-parameter-location": "method", "x-ms-client-name": "unmanageActionResourceGroups" }, "ActionOnUnmanageDeleteParameters.unmanageActionResources": { "name": "unmanageAction.Resources", "in": "query", "description": "Flag to indicate delete rather than detach for unmanaged resources.", "required": false, "type": "string", "enum": [ "delete", "detach" ], "x-ms-enum": { "name": "UnmanageActionResourceMode", "modelAsString": true, "values": [ { "name": "Delete", "value": "delete", "description": "Delete the resources from Azure" }, { "name": "Detach", "value": "detach", "description": "Keep the resources in Azure" } ] }, "x-ms-parameter-location": "method", "x-ms-client-name": "unmanageActionResources" } } }