你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Deployments - What If At Management Group Scope

返回部署在管理组范围内执行的更改。

POST https://management.azure.com/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf?api-version=2021-04-01

URI 参数

名称 必需 类型 说明
deploymentName
path True

string

部署的名称。

Regex pattern: ^[-\w\._\(\)]+$

groupId
path True

string

管理组 ID。

api-version
query True

string

要用于此操作的 API 版本。

请求正文

名称 必需 类型 说明
location True

string

用于存储部署数据的位置。

properties True

DeploymentWhatIfProperties

部署属性。

响应

名称 类型 说明
200 OK

WhatIfOperationResult

正常 - 返回 What-If 操作状态

202 Accepted

接受 - 返回 Location 标头中的 URL 以查询长时间运行的操作状态。

Headers

  • Location: string
  • Retry-After: string
Other Status Codes

CloudError

描述操作失败原因的错误响应。

安全性

azure_auth

Azure Active Directory OAuth2 流

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

名称 说明
user_impersonation 模拟用户帐户

示例

Predict template changes at management group scope

Sample Request

POST https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGruop/providers/Microsoft.Resources/deployments/exampleDeploymentName/whatIf?api-version=2021-04-01

{
  "location": "eastus",
  "properties": {
    "templateLink": {
      "uri": "https://example.com/exampleTemplate.json"
    },
    "parameters": {},
    "mode": "Incremental"
  }
}

Sample Response

{
  "status": "Succeeded",
  "properties": {
    "changes": [
      {
        "resourceId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment",
        "changeType": "Modify",
        "before": {
          "apiVersion": "2019-06-01",
          "id": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment",
          "type": "Microsoft.Authorization/policyAssignments",
          "name": "myPolicyAssignment",
          "location": "westus2",
          "properties": {
            "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyDefinition",
            "scope": "/subscriptions/00000000-0000-0000-0000-000000000001",
            "enforcementMode": "Default"
          }
        },
        "after": {
          "resourceId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment",
          "changeType": "Modify",
          "before": {
            "apiVersion": "2019-06-01",
            "id": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment",
            "type": "Microsoft.Authorization/policyAssignments",
            "name": "myPolicyAssignment",
            "location": "westus2",
            "properties": {
              "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyDefinition",
              "scope": "/subscriptions/00000000-0000-0000-0000-000000000001",
              "enforcementMode": "DoNotEnforce"
            }
          },
          "delta": [
            {
              "path": "properties.enforcementMode",
              "propertyChangeType": "Modify",
              "before": "Default",
              "after": "DoNotEnforce"
            }
          ]
        }
      },
      {
        "resourceId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment2",
        "changeType": "Create",
        "after": {
          "apiVersion": "2019-06-01",
          "id": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment2",
          "type": "Microsoft.Authorization/policyAssignments",
          "name": "myPolicyAssignment2",
          "location": "westus2",
          "properties": {
            "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyDefinition",
            "scope": "/subscriptions/00000000-0000-0000-0000-000000000002",
            "enforcementMode": "Default"
          }
        }
      }
    ]
  }
}
Location: /subscriptions/4d0ca63b-7939-4c9c-afbe-5fafae501724/operationresults/ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

定义

名称 说明
ChangeType

执行部署时将对资源进行的更改类型。

CloudError

资源管理请求的错误响应。

DebugSetting

调试设置。

DeploymentMode

用于部署资源的模式。 此值可以是 Incremental 或 Complete。 在增量模式下,将在不删除模板中未包含的现有资源的情况下部署资源。 在“完成”模式下,将部署资源,并删除资源组中未包含在模板中的现有资源。 使用“完成”模式时要小心,因为可能会无意中删除资源。

DeploymentWhatIfProperties

部署 What-if 属性。

DeploymentWhatIfSettings

部署 What-If 操作设置。

ErrorAdditionalInfo

资源管理错误附加信息。

ErrorResponse

错误响应

ExpressionEvaluationOptions

指定是在父模板还是嵌套模板的范围内计算模板表达式。

ExpressionEvaluationOptionsScopeType

用于计算嵌套模板中的参数、变量和函数的范围。

OnErrorDeployment

针对错误行为进行部署。

OnErrorDeploymentType

错误行为类型的部署。 可能的值为 LastSuccessful 和 SpecificDeployment。

ParametersLink

表示对部署参数的引用的实体。

PropertyChangeType

属性的类型更改。

ScopedDeploymentWhatIf

部署 What-if 操作参数。

TemplateLink

表示对该模板的引用的实体。

WhatIfChange

有关 What-If 操作预测的单个资源更改的信息。

WhatIfOperationResult

What-If 操作的结果。 包含预测更改的列表和用于访问下一组结果的 URL 链接。

WhatIfPropertyChange

资源属性的预测更改。

WhatIfResultFormat

What-If 结果的格式

ChangeType

执行部署时将对资源进行的更改类型。

名称 类型 说明
Create

string

资源不存在于当前状态,但以所需状态存在。 执行部署时将创建资源。

Delete

string

资源存在于当前状态中,并且缺少所需状态。 执行部署时,将删除资源。

Deploy

string

资源存在于当前状态和所需状态,在执行部署时将重新部署。 资源的属性可能会更改,也可能不会更改。

Ignore

string

资源存在于当前状态中,并且缺少所需状态。 执行部署时,不会部署或修改资源。

Modify

string

资源存在于当前状态和所需状态,在执行部署时将重新部署。 资源的属性将更改。

NoChange

string

资源存在于当前状态和所需状态,在执行部署时将重新部署。 资源的属性不会更改。

Unsupported

string

What-If 不支持该资源。

CloudError

资源管理请求的错误响应。

名称 类型 说明
error

ErrorResponse

错误响应
对所有 Azure 资源管理器 API 的常见错误响应,可返回失败操作的错误详细信息。 (这也遵循 OData 错误响应格式。)

DebugSetting

调试设置。

名称 类型 说明
detailLevel

string

指定要记录用于调试的信息的类型。 允许的值为 none、requestContent、responseContent 或 requestContent 和 responseContent(用逗号分隔)。 默认值为 none。 设置此值时,请仔细考虑在部署期间传入的信息类型。 通过记录有关请求或响应的信息,可能会公开通过部署操作检索的机密数据。

DeploymentMode

用于部署资源的模式。 此值可以是 Incremental 或 Complete。 在增量模式下,将在不删除模板中未包含的现有资源的情况下部署资源。 在“完成”模式下,将部署资源,并删除资源组中未包含在模板中的现有资源。 使用“完成”模式时要小心,因为可能会无意中删除资源。

名称 类型 说明
Complete

string

Incremental

string

DeploymentWhatIfProperties

部署 What-if 属性。

名称 类型 说明
debugSetting

DebugSetting

部署的调试设置。

expressionEvaluationOptions

ExpressionEvaluationOptions

指定是在父模板还是嵌套模板的范围内计算模板表达式。 仅适用于嵌套模板。 如果未指定,默认值为 outer。

mode

DeploymentMode

用于部署资源的模式。 此值可以是 Incremental 或 Complete。 在增量模式下,将在不删除模板中未包含的现有资源的情况下部署资源。 在“完成”模式下,将部署资源,并删除资源组中未包含在模板中的现有资源。 使用“完成”模式时要小心,因为可能会无意中删除资源。

onErrorDeployment

OnErrorDeployment

错误行为时部署。

parameters

object

定义模板部署参数的名称和值对。 如果要直接在请求中提供参数值,而不是链接到现有参数文件,请使用此元素。 使用 parametersLink 属性或 parameters 属性,但不能同时使用两者。 它可以是 JObject 或格式正确的 JSON 字符串。

parametersLink

ParametersLink

参数文件的 URI。 使用此元素链接到现有参数文件。 使用 parametersLink 属性或 parameters 属性,但不能同时使用两者。

template

object

模板内容。 如果要直接在请求中传递模板语法,而不是链接到现有模板,请使用此元素。 它可以是 JObject 或格式正确的 JSON 字符串。 使用 templateLink 属性或 template 属性,但不能同时使用两者。

templateLink

TemplateLink

模板的 URI。 使用 templateLink 属性或 template 属性,但不能同时使用两者。

whatIfSettings

DeploymentWhatIfSettings

可选 What-If 操作设置。

DeploymentWhatIfSettings

部署 What-If 操作设置。

名称 类型 说明
resultFormat

WhatIfResultFormat

What-If 结果的格式

ErrorAdditionalInfo

资源管理错误附加信息。

名称 类型 说明
info

object

其他信息。

type

string

其他信息类型。

ErrorResponse

错误响应

名称 类型 说明
additionalInfo

ErrorAdditionalInfo[]

错误附加信息。

code

string

错误代码。

details

ErrorResponse[]

错误详细信息。

message

string

错误消息。

target

string

错误目标。

ExpressionEvaluationOptions

指定是在父模板还是嵌套模板的范围内计算模板表达式。

名称 类型 说明
scope

ExpressionEvaluationOptionsScopeType

用于计算嵌套模板中的参数、变量和函数的范围。

ExpressionEvaluationOptionsScopeType

用于计算嵌套模板中的参数、变量和函数的范围。

名称 类型 说明
Inner

string

NotSpecified

string

Outer

string

OnErrorDeployment

针对错误行为进行部署。

名称 类型 说明
deploymentName

string

要用于错误情况的部署。

type

OnErrorDeploymentType

错误行为类型的部署。 可能的值为 LastSuccessful 和 SpecificDeployment。

OnErrorDeploymentType

错误行为类型的部署。 可能的值为 LastSuccessful 和 SpecificDeployment。

名称 类型 说明
LastSuccessful

string

SpecificDeployment

string

表示对部署参数的引用的实体。

名称 类型 说明
contentVersion

string

如果包含,则必须与模板中的 ContentVersion 匹配。

uri

string

参数文件的 URI。

PropertyChangeType

属性的类型更改。

名称 类型 说明
Array

string

属性是一个数组,包含嵌套更改。

Create

string

属性在当前状态下不存在,但以所需状态存在。 执行部署时,将创建 属性。

Delete

string

属性存在于当前状态中,并且缺少所需状态。 执行部署时,它将被删除。

Modify

string

属性同时处于当前状态和所需状态,并且不同。 执行部署时, 属性的值将更改。

NoEffect

string

不会设置或更新属性。

ScopedDeploymentWhatIf

部署 What-if 操作参数。

名称 类型 说明
location

string

用于存储部署数据的位置。

properties

DeploymentWhatIfProperties

部署属性。

表示对该模板的引用的实体。

名称 类型 说明
contentVersion

string

如果包含,则必须与模板中的 ContentVersion 匹配。

id

string

模板规格的资源 ID。请使用 id 或 uri 属性,但不能同时使用两者。

queryString

string

查询字符串 (例如,) 用于 templateLink URI 的 SAS 令牌。

relativePath

string

relativePath 属性可用于在相对于父级的位置部署链接模板。 如果父模板与 TemplateSpec 链接,这将引用 TemplateSpec 中的项目。 如果父级与 URI 链接,则子部署将是父级和 relativePath URI 的组合

uri

string

要部署的模板的 URI。 使用 uri 或 id 属性,但不能同时使用两者。

WhatIfChange

有关 What-If 操作预测的单个资源更改的信息。

名称 类型 说明
after

object

执行部署后预测的资源快照。

before

object

执行部署前的资源快照。

changeType

ChangeType

执行部署时将对资源进行的更改类型。

delta

WhatIfPropertyChange[]

对资源属性的预测更改。

resourceId

string

资源 ID

unsupportedReason

string

What-If 为何不支持资源的说明。

WhatIfOperationResult

What-If 操作的结果。 包含预测更改的列表和用于访问下一组结果的 URL 链接。

名称 类型 说明
error

ErrorResponse

错误响应
What-If 操作失败时出错。

properties.changes

WhatIfChange[]

What-If 操作预测的资源更改列表。

status

string

What-If 操作的状态。

WhatIfPropertyChange

资源属性的预测更改。

名称 类型 说明
after

object

执行部署后 属性的值。

before

object

执行部署之前 属性的值。

children

WhatIfPropertyChange[]

嵌套属性更改。

path

string

属性的路径。

propertyChangeType

PropertyChangeType

属性的类型更改。

WhatIfResultFormat

What-If 结果的格式

名称 类型 说明
FullResourcePayloads

string

ResourceIdOnly

string