Partilhar via


Deployments - What If At Subscription Scope

Retorna as alterações que serão feitas pela implantação se executadas no escopo da assinatura.

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

Parâmetros do URI

Name Em Necessário Tipo Description
deploymentName
path True

string

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

O nome da implantação.

subscriptionId
path True

string

minLength: 1

A ID da assinatura de destino.

api-version
query True

string

minLength: 1

A versão da API a utilizar para esta operação.

Corpo do Pedido

Name Necessário Tipo Description
properties True

DeploymentWhatIfProperties

As propriedades de implantação.

location

string

O local para armazenar os dados de implantação.

Respostas

Name Tipo Description
200 OK

WhatIfOperationResult

Operação do Azure concluída com sucesso.

202 Accepted

Operação de recurso aceita.

Cabeçalhos

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

CloudError

Uma resposta de erro inesperada.

Segurança

azure_auth

Azure Active Directory OAuth2 Flow.

Tipo: oauth2
Fluxo: implicit
URL de Autorização: https://login.microsoftonline.com/common/oauth2/authorize

Âmbitos

Name Description
user_impersonation personificar a sua conta de utilizador

Exemplos

Predict template changes at subscription scope

Pedido de amostra

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

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

Resposta da amostra

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

Definições

Name Description
ChangeType

Tipo de alteração que será feita no recurso quando a implantação for executada.

CloudError

Uma resposta de erro para uma solicitação de gerenciamento de recursos.

DebugSetting

A configuração de depuração.

DeploymentDiagnosticsDefinition
DeploymentExtensionConfigItem
DeploymentExtensionDefinition
DeploymentExternalInput

Implantação de entrada externa para parametrização.

DeploymentExternalInputDefinition

Definição de entrada externa de implantação para parametrização.

DeploymentMode

O modo usado para implantar recursos. Esse valor pode ser Incremental ou Completo. No modo Incremental, os recursos são implantados sem excluir os recursos existentes que não estão incluídos no modelo. No modo Completo, os recursos são implantados e os recursos existentes no grupo de recursos que não estão incluídos no modelo são excluídos. Tenha cuidado ao usar o modo Completo, pois você pode excluir recursos involuntariamente.

DeploymentParameter

Parâmetro de implantação para o modelo.

DeploymentWhatIf

Parâmetros de operação hipotéticos de implantação.

DeploymentWhatIfProperties

Propriedades hipotéticas de implantação.

DeploymentWhatIfSettings

Configurações de implantação What-If operação.

ErrorAdditionalInfo

O erro de gerenciamento de recursos informações adicionais.

ErrorResponse

Resposta de erro comum para todas as APIs do Azure Resource Manager devolver detalhes de erro para operações falhadas. (Isso também segue o formato de resposta de erro OData.)

ExpressionEvaluationOptions

Especifica se as expressões de modelo são avaliadas dentro do escopo do modelo pai ou aninhado.

ExpressionEvaluationOptionsScopeType

O escopo a ser usado para avaliação de parâmetros, variáveis e funções em um modelo aninhado.

ExtensionConfigPropertyType
KeyVaultParameterReference

Azure Key Vault referência de parâmetro.

KeyVaultReference

Referência ao Azure Key Vault.

Level

Indica o nível de resposta adicional.

OnErrorDeployment

Implantação em comportamento de erro.

OnErrorDeploymentType

A implantação no tipo de comportamento de erro. Os valores possíveis são LastSuccessful e SpecificDeployment.

ParametersLink

Entidade que representa a referência aos parâmetros de implantação.

PropertyChangeType

O tipo de alteração de propriedade.

TemplateLink

Entidade que representa a referência ao modelo.

ValidationLevel

O nível de validação realizado na implantação.

WhatIfChange

Informações sobre uma única alteração de recurso prevista por What-If operação.

WhatIfOperationResult

Resultado da operação What-If. Contém uma lista de alterações previstas e um link de URL para chegar ao próximo conjunto de resultados.

WhatIfPropertyChange

A alteração prevista para a propriedade de recurso.

WhatIfResultFormat

O formato dos resultados What-If

ChangeType

Tipo de alteração que será feita no recurso quando a implantação for executada.

Valor Description
Create

O recurso não existe no estado atual, mas está presente no estado desejado. O recurso será criado quando a implantação for executada.

Delete

O recurso existe no estado atual e está ausente do estado desejado. O recurso será excluído quando a implantação for executada.

Ignore

O recurso existe no estado atual e está ausente do estado desejado. O recurso não será implantado ou modificado quando a implantação for executada.

Deploy

O recurso existe no estado atual e no estado desejado e será reimplantado quando a implantação for executada. As propriedades do recurso podem ou não ser alteradas.

NoChange

O recurso existe no estado atual e no estado desejado e será reimplantado quando a implantação for executada. As propriedades do recurso não serão alteradas.

Modify

O recurso existe no estado atual e no estado desejado e será reimplantado quando a implantação for executada. As propriedades do recurso serão alteradas.

Unsupported

O recurso não é suportado pelo What-If.

CloudError

Uma resposta de erro para uma solicitação de gerenciamento de recursos.

Name Tipo Description
error

ErrorResponse

Resposta de erro comum para todas as APIs do Azure Resource Manager devolver detalhes de erro para operações falhadas. (Isso também segue o formato de resposta de erro OData.)

DebugSetting

A configuração de depuração.

Name Tipo Description
detailLevel

string

Especifica o tipo de informação a ser registrada para depuração. Os valores permitidos são none, requestContent, responseContent ou ambos requestContent e responseContent separados por uma vírgula. O padrão é nenhum. Ao definir esse valor, considere cuidadosamente o tipo de informação que você está passando durante a implantação. Ao registrar informações sobre a solicitação ou resposta, você pode expor dados confidenciais recuperados por meio das operações de implantação.

DeploymentDiagnosticsDefinition

Name Tipo Description
additionalInfo

ErrorAdditionalInfo[]

O erro informações adicionais.

code

string

O código de erro.

level

Level

Indica o nível de resposta adicional.

message

string

A mensagem de erro.

target

string

O destino do erro.

DeploymentExtensionConfigItem

Name Tipo Description
keyVaultReference

KeyVaultParameterReference

A referência ao Azure Key Vault foi usada para recuperar o valor secreto da propriedade de configuração da extensão.

type

ExtensionConfigPropertyType

O tipo de valor da propriedade de configuração de extensão.

value

O valor da propriedade extension config.

DeploymentExtensionDefinition

Name Tipo Description
alias

string

O alias da extensão, conforme definido no modelo de implantação.

config

<string,  DeploymentExtensionConfigItem>

A configuração da extensão.

configId

string

O ID de configuração da extensão. Ele identifica exclusivamente um plano de controle de implantação dentro de uma extensão.

name

string

O nome da extensão.

version

string

A versão de extensão.

DeploymentExternalInput

Implantação de entrada externa para parametrização.

Name Tipo Description
value

Valor de entrada externa.

DeploymentExternalInputDefinition

Definição de entrada externa de implantação para parametrização.

Name Tipo Description
config

Configuração para a entrada externa.

kind

string

O tipo de entrada externa.

DeploymentMode

O modo usado para implantar recursos. Esse valor pode ser Incremental ou Completo. No modo Incremental, os recursos são implantados sem excluir os recursos existentes que não estão incluídos no modelo. No modo Completo, os recursos são implantados e os recursos existentes no grupo de recursos que não estão incluídos no modelo são excluídos. Tenha cuidado ao usar o modo Completo, pois você pode excluir recursos involuntariamente.

Valor Description
Incremental

Incrementais

Complete

Concluído

DeploymentParameter

Parâmetro de implantação para o modelo.

Name Tipo Description
expression

string

Expressão de entrada para o parâmetro.

reference

KeyVaultParameterReference

Azure Key Vault referência de parâmetro.

value

Valor de entrada para o parâmetro .

DeploymentWhatIf

Parâmetros de operação hipotéticos de implantação.

Name Tipo Description
location

string

O local para armazenar os dados de implantação.

properties

DeploymentWhatIfProperties

As propriedades de implantação.

DeploymentWhatIfProperties

Propriedades hipotéticas de implantação.

Name Tipo Description
debugSetting

DebugSetting

A configuração de depuração da implantação.

expressionEvaluationOptions

ExpressionEvaluationOptions

Especifica se as expressões de modelo são avaliadas dentro do escopo do modelo pai ou aninhado. Aplicável apenas a modelos aninhados. Se não for especificado, o valor padrão será externo.

extensionConfigs

object

As configurações a serem usadas para extensões de implantação. As chaves desse objeto são aliases de extensão de implantação, conforme definido no modelo de implantação.

externalInputDefinitions

<string,  DeploymentExternalInputDefinition>

Definições de entrada externa, usadas por ferramentas externas para definir os valores de entrada externos esperados.

externalInputs

<string,  DeploymentExternalInput>

Valores de entrada externos, usados por ferramentas externas para avaliação de parâmetros.

mode

DeploymentMode

O modo usado para implantar recursos. Esse valor pode ser Incremental ou Completo. No modo Incremental, os recursos são implantados sem excluir os recursos existentes que não estão incluídos no modelo. No modo Completo, os recursos são implantados e os recursos existentes no grupo de recursos que não estão incluídos no modelo são excluídos. Tenha cuidado ao usar o modo Completo, pois você pode excluir recursos involuntariamente.

onErrorDeployment

OnErrorDeployment

A implantação no comportamento de erro.

parameters

<string,  DeploymentParameter>

Pares de nome e valor que definem os parâmetros de implantação para o modelo. Use esse elemento quando quiser fornecer os valores de parâmetro diretamente na solicitação, em vez de vincular a um arquivo de parâmetro existente. Use a propriedade parametersLink ou a propriedade parameters, mas não ambas. Pode ser um JObject ou uma cadeia de caracteres JSON bem formada.

parametersLink

ParametersLink

O URI do arquivo de parâmetros. Use esse elemento para vincular a um arquivo de parâmetros existente. Use a propriedade parametersLink ou a propriedade parameters, mas não ambas.

template

O conteúdo do modelo. Use esse elemento quando quiser passar a sintaxe do modelo diretamente na solicitação, em vez de vincular a um modelo existente. Pode ser um JObject ou uma cadeia de caracteres JSON bem formada. Use a propriedade templateLink ou a propriedade template, mas não ambas.

templateLink

TemplateLink

O URI do modelo. Use a propriedade templateLink ou a propriedade template, mas não ambas.

validationLevel

ValidationLevel

O nível de validação da implantação

whatIfSettings

DeploymentWhatIfSettings

Configurações opcionais de operação What-If.

DeploymentWhatIfSettings

Configurações de implantação What-If operação.

Name Tipo Description
resultFormat

WhatIfResultFormat

O formato dos resultados What-If

ErrorAdditionalInfo

O erro de gerenciamento de recursos informações adicionais.

Name Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informação adicional.

ErrorResponse

Resposta de erro comum para todas as APIs do Azure Resource Manager devolver detalhes de erro para operações falhadas. (Isso também segue o formato de resposta de erro OData.)

Name Tipo Description
additionalInfo

ErrorAdditionalInfo[]

O erro informações adicionais.

code

string

O código de erro.

details

ErrorResponse[]

Os detalhes do erro.

message

string

A mensagem de erro.

target

string

O destino do erro.

ExpressionEvaluationOptions

Especifica se as expressões de modelo são avaliadas dentro do escopo do modelo pai ou aninhado.

Name Tipo Description
scope

ExpressionEvaluationOptionsScopeType

O escopo a ser usado para avaliação de parâmetros, variáveis e funções em um modelo aninhado.

ExpressionEvaluationOptionsScopeType

O escopo a ser usado para avaliação de parâmetros, variáveis e funções em um modelo aninhado.

Valor Description
NotSpecified

Não especificado

Outer

Exterior

Inner

Interior

ExtensionConfigPropertyType

Valor Description
String

Tipo de propriedade que representa um valor de cadeia de caracteres.

Int

Tipo de propriedade que representa um valor inteiro.

Bool

Tipo de propriedade que representa um valor booleano.

Array

Tipo de propriedade que representa um valor de matriz.

Object

Tipo de propriedade que representa um valor de objeto.

SecureString

Tipo de propriedade que representa um valor de cadeia de caracteres seguro.

SecureObject

Tipo de propriedade que representa um valor de objeto seguro.

KeyVaultParameterReference

Azure Key Vault referência de parâmetro.

Name Tipo Description
keyVault

KeyVaultReference

Referência ao Azure Key Vault.

secretName

string

Azure Key Vault nome secreto.

secretVersion

string

Azure Key Vault versão secreta.

KeyVaultReference

Referência ao Azure Key Vault.

Name Tipo Description
id

string

Azure Key Vault resource id.

Level

Indica o nível de resposta adicional.

Valor Description
Warning

Advertência

Info

Informações

Error

Erro

OnErrorDeployment

Implantação em comportamento de erro.

Name Tipo Description
deploymentName

string

A implantação a ser usada em caso de erro.

type

OnErrorDeploymentType

A implantação no tipo de comportamento de erro. Os valores possíveis são LastSuccessful e SpecificDeployment.

OnErrorDeploymentType

A implantação no tipo de comportamento de erro. Os valores possíveis são LastSuccessful e SpecificDeployment.

Valor Description
LastSuccessful

ÚltimoBem-sucedido

SpecificDeployment

EspecificaçãoImplementação

Entidade que representa a referência aos parâmetros de implantação.

Name Tipo Description
contentVersion

string

Se incluído, deve corresponder ao ContentVersion no modelo.

uri

string

O URI do arquivo de parâmetros.

PropertyChangeType

O tipo de alteração de propriedade.

Valor Description
Create

A propriedade não existe no estado atual, mas está presente no estado desejado. A propriedade será criada quando a implantação for executada.

Delete

A propriedade existe no estado atual e está ausente do estado desejado. Ele será excluído quando a implantação for executada.

Modify

A propriedade existe no estado atual e desejado e é diferente. O valor da propriedade será alterado quando a implantação for executada.

Array

A propriedade é uma matriz e contém alterações aninhadas.

NoEffect

A propriedade não será definida ou atualizada.

Entidade que representa a referência ao modelo.

Name Tipo Description
contentVersion

string

Se incluído, deve corresponder ao ContentVersion no modelo.

id

string

Use a propriedade id ou uri, mas não ambas.

queryString

string

A cadeia de caracteres de consulta (por exemplo, um token SAS) a ser usada com o URI templateLink.

relativePath

string

A propriedade relativePath pode ser usada para implantar um modelo vinculado em um local relativo ao pai. Se o modelo pai foi vinculado a um TemplateSpec, isso fará referência a um artefato no TemplateSpec. Se o pai foi vinculado a um URI, a implantação filho será uma combinação dos URIs pai e relativePath

uri

string

O URI do modelo a ser implantado. Use a propriedade uri ou id, mas não ambas.

ValidationLevel

O nível de validação realizado na implantação.

Valor Description
Template

A análise estática do modelo é realizada.

Provider

A análise estática do modelo é executada e as declarações de recursos são enviadas aos provedores de recursos para validação semântica. Valida se o chamador tem permissões de gravação RBAC em cada recurso.

ProviderNoRbac

A análise estática do modelo é executada e as declarações de recursos são enviadas aos provedores de recursos para validação semântica. Ignora a validação de que o chamador tem permissões de gravação RBAC em cada recurso.

WhatIfChange

Informações sobre uma única alteração de recurso prevista por What-If operação.

Name Tipo Description
after

O instantâneo previsto do recurso após a execução da implantação.

before

O instantâneo do recurso antes da implantação ser executada.

changeType

ChangeType

Tipo de alteração que será feita no recurso quando a implantação for executada.

delta

WhatIfPropertyChange[]

As alterações previstas nas propriedades do recurso.

deploymentId

string

A ID do recurso da Implantação responsável por essa alteração.

extension

DeploymentExtensionDefinition

A extensão com a qual o recurso foi implantado.

identifiers

Um subconjunto de propriedades que identifica de forma única um recurso extensível do Bicep porque não tem um id de recurso, tal como um recurso do Azure.

resourceId

string

ID do Recurso

symbolicName

string

O nome simbólico do recurso responsável por essa alteração.

unsupportedReason

string

A explicação sobre por que o recurso não é suportado pelo What-If.

WhatIfOperationResult

Resultado da operação What-If. Contém uma lista de alterações previstas e um link de URL para chegar ao próximo conjunto de resultados.

Name Tipo Description
error

ErrorResponse

Erro quando What-If operação falha.

properties.changes

WhatIfChange[]

Lista de alterações de recursos previstas por What-If operação.

properties.diagnostics

DeploymentDiagnosticsDefinition[]

Lista de diagnósticos de recursos detetados por What-If operação.

properties.potentialChanges

WhatIfChange[]

Lista de alterações de recursos previstas por What-If operação.

status

string

Status da operação What-If.

WhatIfPropertyChange

A alteração prevista para a propriedade de recurso.

Name Tipo Description
after

O valor da propriedade após a execução da implantação.

before

O valor da propriedade antes da implantação ser executada.

children

WhatIfPropertyChange[]

Alterações de propriedade aninhadas.

path

string

O caminho da propriedade.

propertyChangeType

PropertyChangeType

O tipo de alteração de propriedade.

WhatIfResultFormat

O formato dos resultados What-If

Valor Description
ResourceIdOnly

ResourceIdOnly

FullResourcePayloads

CargasÚteisFullResourcePayloads