Deployments - What If At Tenant Scope
返回部署将在租户组范围内执行的更改。
POST https://management.azure.com/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf?api-version=2025-04-01
URI 参数
| 名称 | 在 | 必需 | 类型 | 说明 |
|---|---|---|---|---|
|
deployment
|
path | True |
string minLength: 1maxLength: 64 pattern: ^[-\w\._\(\)]+$ |
部署的名称。 |
|
api-version
|
query | True |
string |
用于此操作的 API 版本。 |
请求正文
| 名称 | 必需 | 类型 | 说明 |
|---|---|---|---|
| location | True |
string |
用于存储部署数据的位置。 |
| properties | True |
部署属性。 |
响应
| 名称 | 类型 | 说明 |
|---|---|---|
| 200 OK |
确定 - 返回 What-If作状态 |
|
| 202 Accepted |
已接受 - 返回 Location 标头中的 URL 以查询长时间运行的作状态。 标头
|
|
| Other Status Codes |
描述作失败的原因的错误响应。 |
安全性
azure_auth
Azure Active Directory OAuth2 流
类型:
oauth2
流向:
implicit
授权 URL:
https://login.microsoftonline.com/common/oauth2/authorize
作用域
| 名称 | 说明 |
|---|---|
| user_impersonation | 模拟用户帐户 |
示例
Predict template changes at management group scope
示例请求
POST https://management.azure.com/providers/Microsoft.Resources/deployments/exampleDeploymentName/whatIf?api-version=2025-04-01
{
"location": "eastus",
"properties": {
"templateLink": {
"uri": "https://example.com/exampleTemplate.json"
},
"parameters": {},
"mode": "Incremental"
}
}
示例响应
{
"status": "Succeeded",
"properties": {
"changes": [
{
"resourceId": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
"changeType": "Create",
"after": {
"id": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
"apiVersion": "2019-11-01",
"type": "Microsoft.Management/managementGroups",
"name": "myManagementGroup"
}
}
]
}
}
Location: /subscriptions/4d0ca63b-7939-4c9c-afbe-5fafae501724/operationresults/ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
定义
ChangeType
执行部署时对资源进行的更改类型。
| 值 | 说明 |
|---|---|
| Create |
资源不存在于当前状态,但处于所需状态。 执行部署时,将创建资源。 |
| Delete |
资源存在于当前状态中,并且缺少所需状态。 执行部署时,将删除资源。 |
| Ignore |
资源存在于当前状态中,并且缺少所需状态。 执行部署时,不会部署或修改资源。 |
| Deploy |
资源存在于当前状态和所需状态中,在执行部署时将重新部署。 资源的属性可能会更改,也可能不会更改。 |
| NoChange |
资源存在于当前状态和所需状态中,在执行部署时将重新部署。 资源的属性不会更改。 |
| Modify |
资源存在于当前状态和所需状态中,在执行部署时将重新部署。 资源的属性将发生更改。 |
| Unsupported |
What-If 不支持资源。 |
CloudError
资源管理请求的错误响应。
| 名称 | 类型 | 说明 |
|---|---|---|
| error |
错误响应 |
DebugSetting
调试设置。
| 名称 | 类型 | 说明 |
|---|---|---|
| detailLevel |
string |
指定要记录以供调试的信息的类型。 允许的值不为 none、requestContent、responseContent,或两者均用逗号分隔的 requestContent 和 responseContent。 默认值为 none。 设置此值时,请仔细考虑在部署期间传入的信息类型。 通过记录有关请求或响应的信息,可能会公开通过部署作检索的敏感数据。 |
DeploymentDiagnosticsDefinition
| 名称 | 类型 | 说明 |
|---|---|---|
| additionalInfo |
错误附加信息。 |
|
| code |
string |
错误代码。 |
| level |
表示附加响应级别。 |
|
| message |
string |
错误消息。 |
| target |
string |
错误目标。 |
DeploymentExtensionConfigItem
| 名称 | 类型 | 说明 |
|---|---|---|
| keyVaultReference |
用于检索扩展配置属性的机密值的 Azure Key Vault 引用。 |
|
| type |
扩展配置属性的值类型。 |
|
| value |
扩展配置属性的值。 |
DeploymentExtensionDefinition
| 名称 | 类型 | 说明 |
|---|---|---|
| alias |
string |
部署模板中定义的扩展的别名。 |
| config |
<string,
Deployment |
扩展配置。 |
| configId |
string |
扩展配置 ID。 它唯一标识扩展中的部署控制平面。 |
| name |
string |
扩展名称。 |
| version |
string |
扩展版本。 |
DeploymentExternalInput
部署外部输入以进行参数化。
| 名称 | 类型 | 说明 |
|---|---|---|
| value |
外部输入值。 |
DeploymentExternalInputDefinition
部署用于参数化的外部输入定义。
| 名称 | 类型 | 说明 |
|---|---|---|
| config |
外部输入的配置。 |
|
| kind |
string |
外部输入的类型。 |
DeploymentMode
用于部署资源的模式。 此值可以是增量值,也可以是“完成”。 在增量模式下,部署资源而不删除模板中不包含的现有资源。 在“完成”模式下,将部署资源,并删除模板中不包含的资源组中的现有资源。 使用“完成”模式时请注意,因为可能会无意中删除资源。
| 值 | 说明 |
|---|---|
| Incremental | |
| Complete |
DeploymentParameter
模板的部署参数。
| 名称 | 类型 | 说明 |
|---|---|---|
| expression |
string |
参数的 input expression。 |
| reference |
Azure Key Vault 参数引用。 |
|
| value |
参数的输入值。 |
DeploymentWhatIfProperties
部署 What-if 属性。
| 名称 | 类型 | 说明 |
|---|---|---|
| debugSetting |
部署的调试设置。 |
|
| expressionEvaluationOptions |
指定模板表达式是在父模板或嵌套模板的范围内计算的。 仅适用于嵌套模板。 如果未指定,则默认值为外部值。 |
|
| extensionConfigs |
object |
用于部署扩展的配置。 此对象的键是部署模板中定义的部署扩展别名。 |
| externalInputDefinitions |
<string,
Deployment |
外部输入定义,由外部工具用于定义预期的外部输入值。 |
| externalInputs |
<string,
Deployment |
外部输入值,由外部工具用于参数评估。 |
| mode |
用于部署资源的模式。 此值可以是增量值,也可以是“完成”。 在增量模式下,部署资源而不删除模板中不包含的现有资源。 在“完成”模式下,将部署资源,并删除模板中不包含的资源组中的现有资源。 使用“完成”模式时请注意,因为可能会无意中删除资源。 |
|
| onErrorDeployment |
错误行为的部署。 |
|
| parameters |
<string,
Deployment |
定义模板部署参数的名称和值对。 如果要直接在请求中提供参数值,而不是链接到现有参数文件,请使用此元素。 使用 parametersLink 属性或 parameters 属性,但不能同时使用两者。 它可以是 JObject 或格式良好的 JSON 字符串。 |
| parametersLink |
参数文件的 URI。 使用此元素链接到现有参数文件。 使用 parametersLink 属性或 parameters 属性,但不能同时使用两者。 |
|
| template |
object |
模板内容。 如果要直接在请求中传递模板语法,而不是链接到现有模板,请使用此元素。 它可以是 JObject 或格式正确的 JSON 字符串。 使用 templateLink 属性或模板属性,但不能同时使用这两者。 |
| templateLink |
模板的 URI。 使用 templateLink 属性或模板属性,但不能同时使用这两者。 |
|
| validationLevel |
部署的验证级别 |
|
| whatIfSettings |
可选 What-If作设置。 |
DeploymentWhatIfSettings
部署 What-If作设置。
| 名称 | 类型 | 说明 |
|---|---|---|
| resultFormat |
What-If 结果的格式 |
ErrorAdditionalInfo
资源管理错误附加信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| info |
object |
其他信息。 |
| type |
string |
其他信息类型。 |
ErrorResponse
错误响应
| 名称 | 类型 | 说明 |
|---|---|---|
| additionalInfo |
错误附加信息。 |
|
| code |
string |
错误代码。 |
| details |
错误详细信息。 |
|
| message |
string |
错误消息。 |
| target |
string |
错误目标。 |
ExpressionEvaluationOptions
指定模板表达式是在父模板或嵌套模板的范围内计算的。
| 名称 | 类型 | 说明 |
|---|---|---|
| scope |
用于计算嵌套模板中的参数、变量和函数的范围。 |
ExpressionEvaluationOptionsScopeType
用于计算嵌套模板中的参数、变量和函数的范围。
| 值 | 说明 |
|---|---|
| NotSpecified | |
| Outer | |
| Inner |
ExtensionConfigPropertyType
| 值 | 说明 |
|---|---|
| String |
表示字符串值的属性类型。 |
| Int |
表示整数值的属性类型。 |
| Bool |
Property 类型表示布尔值。 |
| Array |
属性类型。 |
| Object |
表示对象值的属性类型。 |
| SecureString |
表示安全字符串值的属性类型。 |
| SecureObject |
表示安全对象值的属性类型。 |
KeyVaultParameterReference
Azure Key Vault 参数引用。
| 名称 | 类型 | 说明 |
|---|---|---|
| keyVault |
Azure Key Vault 参考。 |
|
| secretName |
string |
Azure Key Vault 机密名称。 |
| secretVersion |
string |
Azure Key Vault 机密版本。 |
KeyVaultReference
Azure Key Vault 参考。
| 名称 | 类型 | 说明 |
|---|---|---|
| id |
string |
Azure Key Vault 资源 ID。 |
Level
表示附加响应级别。
| 值 | 说明 |
|---|---|
| Warning | |
| Info | |
| Error |
OnErrorDeployment
针对错误行为进行部署。
| 名称 | 类型 | 说明 |
|---|---|---|
| deploymentName |
string |
要用于错误案例的部署。 |
| type |
错误行为类型的部署。 可能的值为 LastSuccessful 和 SpecificDeployment。 |
OnErrorDeploymentType
错误行为类型的部署。 可能的值为 LastSuccessful 和 SpecificDeployment。
| 值 | 说明 |
|---|---|
| LastSuccessful | |
| SpecificDeployment |
ParametersLink
表示对部署参数的引用的实体。
| 名称 | 类型 | 说明 |
|---|---|---|
| contentVersion |
string |
如果包含,则必须匹配模板中的 ContentVersion。 |
| uri |
string |
参数文件的 URI。 |
PropertyChangeType
属性更改的类型。
| 值 | 说明 |
|---|---|
| Create |
该属性不存在于当前状态,但处于所需状态。 执行部署时将创建该属性。 |
| Delete |
该属性存在于当前状态中,并且缺少所需状态。 执行部署时,将删除该部署。 |
| Modify |
该属性同时存在于当前状态和所需状态中,并且不同。 执行部署时,属性的值将更改。 |
| Array |
该属性是一个数组,包含嵌套更改。 |
| NoEffect |
不会设置或更新该属性。 |
ScopedDeploymentWhatIf
部署 What-if作参数。
| 名称 | 类型 | 说明 |
|---|---|---|
| location |
string |
用于存储部署数据的位置。 |
| properties |
部署属性。 |
TemplateLink
表示对模板的引用的实体。
| 名称 | 类型 | 说明 |
|---|---|---|
| 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 属性,但不能同时使用这两个属性。 |
ValidationLevel
对部署执行的验证级别。
| 值 | 说明 |
|---|---|
| Template |
对模板进行静态分析。 |
| Provider |
对模板进行静态分析,并将资源声明发送到资源提供程序进行语义验证。 验证调用方是否对每个资源具有 RBAC 写入权限。 |
| ProviderNoRbac |
对模板进行静态分析,并将资源声明发送到资源提供程序进行语义验证。 跳过验证调用方是否对每个资源具有 RBAC 写入权限。 |
WhatIfChange
有关 What-If作预测的单个资源更改的信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| after |
object |
执行部署后资源的预测快照。 |
| before |
object |
执行部署之前资源的快照。 |
| changeType |
执行部署时对资源进行的更改类型。 |
|
| delta |
对资源属性的预测更改。 |
|
| deploymentId |
string |
负责此更改的部署的资源 ID。 |
| extension |
部署资源时使用的扩展。 |
|
| identifiers |
object |
唯一标识 Bicep 可扩展资源的属性子集,因为它缺少像 Azure 资源那样的资源 ID。 |
| resourceId |
string |
资源标识符 |
| symbolicName |
string |
负责此更改的资源的符号名称。 |
| unsupportedReason |
string |
关于 What-If 不支持资源的原因的说明。 |
WhatIfOperationResult
What-If作的结果。 包含预测的更改列表和 URL 链接,用于获取下一组结果。
| 名称 | 类型 | 说明 |
|---|---|---|
| error |
错误响应 |
|
| properties.changes |
What-If作预测的资源更改列表。 |
|
| properties.diagnostics |
What-If作检测到的资源诊断列表。 |
|
| properties.potentialChanges |
What-If作预测的资源更改列表。 |
|
| status |
string |
What-If作的状态。 |
WhatIfPropertyChange
对资源属性的预测更改。
| 名称 | 类型 | 说明 |
|---|---|---|
| after |
object |
执行部署后属性的值。 |
| before |
object |
执行部署前的属性的值。 |
| children |
嵌套属性更改。 |
|
| path |
string |
属性的路径。 |
| propertyChangeType |
属性更改的类型。 |
WhatIfResultFormat
What-If 结果的格式
| 值 | 说明 |
|---|---|
| ResourceIdOnly | |
| FullResourcePayloads |