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

Deployments - What If

返回部署将在资源组范围内执行的更改。

POST https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf?api-version=2021-04-01

URI 参数

名称 必需 类型 说明
deploymentName
path True

string

minLength: 1
maxLength: 64
pattern: ^[-\w\._\(\)]+$

部署的名称。

resourceGroupName
path True

string

minLength: 1
maxLength: 90
pattern: ^[-\w\._\(\)]+$

模板将部署到的资源组的名称。 名称不区分大小写。

subscriptionId
path True

string

Microsoft Azure 订阅 ID。

api-version
query True

string

用于此操作的 API 版本。

请求正文

名称 必需 类型 说明
properties True

DeploymentWhatIfProperties

部署属性。

location

string

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

响应

名称 类型 说明
200 OK

WhatIfOperationResult

确定 - 返回 What-If作状态

202 Accepted

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

标头

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

CloudError

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

安全性

azure_auth

Azure Active Directory OAuth2 Flow

类型: oauth2
流向: implicit
授权 URL: https://login.microsoftonline.com/common/oauth2/authorize

作用域

名称 说明
user_impersonation 模拟用户帐户

示例

Predict template changes at resource group scope

示例请求

POST https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000001/resourcegroups/my-resource-group/providers/Microsoft.Resources/deployments/my-deployment/whatIf?api-version=2021-04-01

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

示例响应

{
  "status": "Succeeded",
  "properties": {
    "changes": [
      {
        "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity",
        "changeType": "Modify",
        "before": {
          "apiVersion": "2018-11-30",
          "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity",
          "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
          "name": "myExistingIdentity",
          "location": "westus2"
        },
        "after": {
          "apiVersion": "2018-11-30",
          "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity",
          "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
          "name": "myExistingIdentity",
          "location": "westus2",
          "tags": {
            "myNewTag": "my tag value"
          }
        },
        "delta": [
          {
            "path": "tags.myNewTag",
            "propertyChangeType": "Create",
            "after": "my tag value"
          }
        ]
      },
      {
        "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNewIdentity",
        "changeType": "Create",
        "after": {
          "apiVersion": "2018-11-30",
          "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNewIdentity",
          "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
          "name": "myNewIdentity",
          "location": "eastus",
          "tags": {
            "myOtherNewTag": "another new tag value"
          }
        }
      }
    ]
  }
}
Location: /subscriptions/00000000-0000-0000-0000-000000000000/ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

定义

名称 说明
ChangeType

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

CloudError

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

DebugSetting

调试设置。

DeploymentMode

用于部署资源的模式。 此值可以是增量值,也可以是“完成”。 在增量模式下,部署资源而不删除模板中不包含的现有资源。 在“完成”模式下,将部署资源,并删除模板中不包含的资源组中的现有资源。 使用“完成”模式时请注意,因为可能会无意中删除资源。

DeploymentWhatIf

部署 What-if作参数。

DeploymentWhatIfProperties

部署 What-if 属性。

DeploymentWhatIfSettings

部署 What-If作设置。

ErrorAdditionalInfo

资源管理错误附加信息。

ErrorResponse

错误响应

ExpressionEvaluationOptions

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

ExpressionEvaluationOptionsScopeType

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

OnErrorDeployment

针对错误行为进行部署。

OnErrorDeploymentType

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

ParametersLink

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

PropertyChangeType

属性更改的类型。

TemplateLink

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

WhatIfChange

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

WhatIfOperationResult

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

WhatIfPropertyChange

对资源属性的预测更改。

WhatIfResultFormat

What-If 结果的格式

ChangeType

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

说明
Create

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

Delete

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

Deploy

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

Ignore

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

Modify

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

NoChange

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

Unsupported

What-If 不支持资源。

CloudError

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

名称 类型 说明
error

ErrorResponse

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

DebugSetting

调试设置。

名称 类型 说明
detailLevel

string

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

DeploymentMode

用于部署资源的模式。 此值可以是增量值,也可以是“完成”。 在增量模式下,部署资源而不删除模板中不包含的现有资源。 在“完成”模式下,将部署资源,并删除模板中不包含的资源组中的现有资源。 使用“完成”模式时请注意,因为可能会无意中删除资源。

说明
Complete
Incremental

DeploymentWhatIf

部署 What-if作参数。

名称 类型 说明
location

string

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

properties

DeploymentWhatIfProperties

部署属性。

DeploymentWhatIfProperties

部署 What-if 属性。

名称 类型 说明
debugSetting

DebugSetting

部署的调试设置。

expressionEvaluationOptions

ExpressionEvaluationOptions

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

mode

DeploymentMode

用于部署资源的模式。 此值可以是增量值,也可以是“完成”。 在增量模式下,部署资源而不删除模板中不包含的现有资源。 在“完成”模式下,将部署资源,并删除模板中不包含的资源组中的现有资源。 使用“完成”模式时请注意,因为可能会无意中删除资源。

onErrorDeployment

OnErrorDeployment

错误行为的部署。

parameters

object

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

parametersLink

ParametersLink

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

template

object

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

templateLink

TemplateLink

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

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
NotSpecified
Outer

OnErrorDeployment

针对错误行为进行部署。

名称 类型 说明
deploymentName

string

要用于错误案例的部署。

type

OnErrorDeploymentType

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

OnErrorDeploymentType

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

说明
LastSuccessful
SpecificDeployment

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

名称 类型 说明
contentVersion

string

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

uri

string

参数文件的 URI。

PropertyChangeType

属性更改的类型。

说明
Array

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

Create

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

Delete

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

Modify

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

NoEffect

不会设置或更新该属性。

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

名称 类型 说明
contentVersion

string

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

id

string

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

queryString

string

要与 templateLink URI 一起使用的查询字符串(例如 SAS 令牌)。

relativePath

string

relativePath 属性可用于在相对于父级的位置部署链接模板。 如果父模板与 TemplateSpec 链接,则会引用 TemplateSpec 中的项目。 如果父级已链接到 URI,则子部署将是父 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
ResourceIdOnly