Condividi tramite


Deployments - What If At Subscription Scope

Restituisce le modifiche che verranno apportate dalla distribuzione se eseguite nell'ambito della sottoscrizione.

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

Parametri dell'URI

Nome In Necessario Tipo Descrizione
deploymentName
path True

string

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

Nome della distribuzione.

subscriptionId
path True

string

ID sottoscrizione di Microsoft Azure.

api-version
query True

string

Versione dell'API da usare per questa operazione.

Corpo della richiesta

Nome Necessario Tipo Descrizione
properties True

DeploymentWhatIfProperties

Proprietà di distribuzione.

location

string

Percorso in cui archiviare i dati di distribuzione.

Risposte

Nome Tipo Descrizione
200 OK

WhatIfOperationResult

OK - Restituisce lo stato dell'operazione di What-If

202 Accepted

Accettato: restituisce l'URL nell'intestazione Percorso per eseguire una query per lo stato dell'operazione a esecuzione prolungata.

Intestazioni

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

CloudError

Risposta di errore che descrive il motivo per cui l'operazione non è riuscita.

Sicurezza

azure_auth

Flusso OAuth2 di Azure Active Directory

Tipo: oauth2
Flow: implicit
URL di autorizzazione: https://login.microsoftonline.com/common/oauth2/authorize

Ambiti

Nome Descrizione
user_impersonation rappresentare l'account utente

Esempio

Predict template changes at subscription scope

Esempio di richiesta

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": {
    "templateLink": {
      "uri": "https://example.com/exampleTemplate.json"
    },
    "parameters": {},
    "mode": "Incremental"
  }
}

Risposta di esempio

{
  "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"
          }
        }
      },
      {
        "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group2",
        "changeType": "Create",
        "after": {
          "apiVersion": "2019-03-01",
          "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group2",
          "type": "Microsoft.Resources/resourceGroups",
          "name": "my-resource-group2",
          "location": "{location3}"
        }
      }
    ]
  }
}
Location: /subscriptions/00000000-0000-0000-0000-000000000000/ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

Definizioni

Nome Descrizione
ChangeType

Tipo di modifica che verrà apportata alla risorsa quando viene eseguita la distribuzione.

CloudError

Risposta di errore per una richiesta di gestione delle risorse.

DebugSetting

Impostazione di debug.

DeploymentDiagnosticsDefinition
DeploymentExtensionConfigItem
DeploymentExtensionDefinition
DeploymentExternalInput

Input esterno di distribuzione per la parametrizzazione.

DeploymentExternalInputDefinition

Definizione dell'input esterno di distribuzione per la parametrizzazione.

DeploymentMode

Modalità utilizzata per distribuire le risorse. Questo valore può essere Incremental o Complete. In modalità incrementale, le risorse vengono distribuite senza eliminare le risorse esistenti non incluse nel modello. In modalità Completa le risorse vengono distribuite e le risorse esistenti nel gruppo di risorse non incluse nel modello vengono eliminate. Prestare attenzione quando si usa la modalità Completa perché è possibile eliminare involontariamente le risorse.

DeploymentParameter

Parametro di distribuzione per il modello.

DeploymentWhatIf

Parametri dell'operazione di simulazione della distribuzione.

DeploymentWhatIfProperties

Proprietà di simulazione della distribuzione.

DeploymentWhatIfSettings

Impostazioni dell'operazione di distribuzione What-If.

ErrorAdditionalInfo

Informazioni aggiuntive sull'errore di gestione delle risorse.

ErrorResponse

Risposta di errore

ExpressionEvaluationOptions

Specifica se le espressioni modello vengono valutate nell'ambito del modello padre o del modello annidato.

ExpressionEvaluationOptionsScopeType

Ambito da usare per la valutazione di parametri, variabili e funzioni in un modello annidato.

ExtensionConfigPropertyType
KeyVaultParameterReference

Informazioni di riferimento sul parametro di Azure Key Vault.

KeyVaultReference

Informazioni di riferimento su Azure Key Vault.

Level

Indica il livello di risposta aggiuntivo.

OnErrorDeployment

Distribuzione in caso di comportamento degli errori.

OnErrorDeploymentType

Distribuzione sul tipo di comportamento degli errori. I valori possibili sono LastSuccessful e SpecificDeployment.

ParametersLink

Entità che rappresenta il riferimento ai parametri di distribuzione.

PropertyChangeType

Tipo di modifica della proprietà.

TemplateLink

Entità che rappresenta il riferimento al modello.

ValidationLevel

Livello di convalida eseguito nella distribuzione.

WhatIfChange

Informazioni su una singola modifica della risorsa stimata dall'operazione di What-If.

WhatIfOperationResult

Risultato dell'operazione di What-If. Contiene un elenco di modifiche stimate e un collegamento URL per accedere al set di risultati successivo.

WhatIfPropertyChange

Modifica stimata alla proprietà della risorsa.

WhatIfResultFormat

Formato dei risultati What-If

ChangeType

Tipo di modifica che verrà apportata alla risorsa quando viene eseguita la distribuzione.

Valore Descrizione
Create

La risorsa non esiste nello stato corrente, ma è presente nello stato desiderato. La risorsa verrà creata quando viene eseguita la distribuzione.

Delete

La risorsa esiste nello stato corrente ed è mancante dallo stato desiderato. La risorsa verrà eliminata quando viene eseguita la distribuzione.

Ignore

La risorsa esiste nello stato corrente ed è mancante dallo stato desiderato. La risorsa non verrà distribuita o modificata quando viene eseguita la distribuzione.

Deploy

La risorsa esiste nello stato corrente e nello stato desiderato e verrà ridistribuito quando viene eseguita la distribuzione. Le proprietà della risorsa possono essere modificate o meno.

NoChange

La risorsa esiste nello stato corrente e nello stato desiderato e verrà ridistribuito quando viene eseguita la distribuzione. Le proprietà della risorsa non cambieranno.

Modify

La risorsa esiste nello stato corrente e nello stato desiderato e verrà ridistribuito quando viene eseguita la distribuzione. Le proprietà della risorsa cambieranno.

Unsupported

La risorsa non è supportata da What-If.

CloudError

Risposta di errore per una richiesta di gestione delle risorse.

Nome Tipo Descrizione
error

ErrorResponse

Risposta di errore
Risposta di errore comune per tutte le API di Azure Resource Manager per restituire i dettagli dell'errore per le operazioni non riuscite. Questo segue anche il formato di risposta di errore OData.

DebugSetting

Impostazione di debug.

Nome Tipo Descrizione
detailLevel

string

Specifica il tipo di informazioni da registrare per il debug. I valori consentiti sono none, requestContent, responseContent o requestContent e responseContent separati da una virgola. Il valore predefinito è nessuno. Quando si imposta questo valore, considerare attentamente il tipo di informazioni passate durante la distribuzione. Registrando informazioni sulla richiesta o sulla risposta, è possibile esporre dati sensibili recuperati tramite le operazioni di distribuzione.

DeploymentDiagnosticsDefinition

Nome Tipo Descrizione
additionalInfo

ErrorAdditionalInfo[]

Informazioni aggiuntive sull'errore.

code

string

Codice di errore.

level

Level

Indica il livello di risposta aggiuntivo.

message

string

Messaggio di errore.

target

string

Destinazione dell'errore.

DeploymentExtensionConfigItem

Nome Tipo Descrizione
keyVaultReference

KeyVaultParameterReference

Riferimento di Azure Key Vault usato per recuperare il valore segreto della proprietà config dell'estensione.

type

ExtensionConfigPropertyType

Tipo di valore della proprietà di configurazione dell'estensione.

value

Valore della proprietà config dell'estensione.

DeploymentExtensionDefinition

Nome Tipo Descrizione
alias

string

Alias dell'estensione come definito nel modello di distribuzione.

config

<string,  DeploymentExtensionConfigItem>

La configurazione dell'estensione.

configId

string

L'ID di configurazione dell'estensione. Identifica in modo univoco un piano di controllo della distribuzione all'interno di un'estensione.

name

string

Nome dell'estensione.

version

string

La versione dell'estensione.

DeploymentExternalInput

Input esterno di distribuzione per la parametrizzazione.

Nome Tipo Descrizione
value

Valore di input esterno.

DeploymentExternalInputDefinition

Definizione dell'input esterno di distribuzione per la parametrizzazione.

Nome Tipo Descrizione
config

Configurazione per l'ingresso esterno.

kind

string

Il tipo di input esterno.

DeploymentMode

Modalità utilizzata per distribuire le risorse. Questo valore può essere Incremental o Complete. In modalità incrementale, le risorse vengono distribuite senza eliminare le risorse esistenti non incluse nel modello. In modalità Completa le risorse vengono distribuite e le risorse esistenti nel gruppo di risorse non incluse nel modello vengono eliminate. Prestare attenzione quando si usa la modalità Completa perché è possibile eliminare involontariamente le risorse.

Valore Descrizione
Incremental
Complete

DeploymentParameter

Parametro di distribuzione per il modello.

Nome Tipo Descrizione
expression

string

Espressione di input per il parametro.

reference

KeyVaultParameterReference

Informazioni di riferimento sul parametro di Azure Key Vault.

value

Valore di input per il parametro .

DeploymentWhatIf

Parametri dell'operazione di simulazione della distribuzione.

Nome Tipo Descrizione
location

string

Percorso in cui archiviare i dati di distribuzione.

properties

DeploymentWhatIfProperties

Proprietà di distribuzione.

DeploymentWhatIfProperties

Proprietà di simulazione della distribuzione.

Nome Tipo Descrizione
debugSetting

DebugSetting

Impostazione di debug della distribuzione.

expressionEvaluationOptions

ExpressionEvaluationOptions

Specifica se le espressioni modello vengono valutate nell'ambito del modello padre o del modello annidato. Applicabile solo ai modelli annidati. Se non specificato, il valore predefinito è esterno.

extensionConfigs

object

Configurazioni da usare per le estensioni di distribuzione. Le chiavi di questo oggetto sono alias di estensione della distribuzione definiti nel modello di distribuzione.

externalInputDefinitions

<string,  DeploymentExternalInputDefinition>

Definizioni di input esterno, utilizzate dagli strumenti esterni per definire i valori di input esterni previsti.

externalInputs

<string,  DeploymentExternalInput>

Valori di input esterni, utilizzati dagli strumenti esterni per la valutazione dei parametri.

mode

DeploymentMode

Modalità utilizzata per distribuire le risorse. Questo valore può essere Incremental o Complete. In modalità incrementale, le risorse vengono distribuite senza eliminare le risorse esistenti non incluse nel modello. In modalità Completa le risorse vengono distribuite e le risorse esistenti nel gruppo di risorse non incluse nel modello vengono eliminate. Prestare attenzione quando si usa la modalità Completa perché è possibile eliminare involontariamente le risorse.

onErrorDeployment

OnErrorDeployment

Distribuzione in caso di comportamento dell'errore.

parameters

<string,  DeploymentParameter>

Coppie nome e valore che definiscono i parametri di distribuzione per il modello. Questo elemento viene usato quando si desidera specificare i valori dei parametri direttamente nella richiesta anziché collegarsi a un file di parametri esistente. Utilizzare la proprietà parametersLink o la proprietà parameters, ma non entrambe. Può essere un JObject o una stringa JSON ben formata.

parametersLink

ParametersLink

URI del file di parametri. Questo elemento viene usato per collegarsi a un file di parametri esistente. Utilizzare la proprietà parametersLink o la proprietà parameters, ma non entrambe.

template

object

Contenuto del modello. Questo elemento viene usato quando si vuole passare la sintassi del modello direttamente nella richiesta anziché collegarsi a un modello esistente. Può trattarsi di una stringa JSON JObject o di formato corretto. Usare la proprietà templateLink o la proprietà del modello, ma non entrambe.

templateLink

TemplateLink

URI del modello. Usare la proprietà templateLink o la proprietà del modello, ma non entrambe.

validationLevel

ValidationLevel

Livello di convalida della distribuzione

whatIfSettings

DeploymentWhatIfSettings

Impostazioni dell'operazione di What-If facoltative.

DeploymentWhatIfSettings

Impostazioni dell'operazione di distribuzione What-If.

Nome Tipo Descrizione
resultFormat

WhatIfResultFormat

Formato dei risultati What-If

ErrorAdditionalInfo

Informazioni aggiuntive sull'errore di gestione delle risorse.

Nome Tipo Descrizione
info

object

Informazioni aggiuntive.

type

string

Tipo di informazioni aggiuntive.

ErrorResponse

Risposta di errore

Nome Tipo Descrizione
additionalInfo

ErrorAdditionalInfo[]

Informazioni aggiuntive sull'errore.

code

string

Codice di errore.

details

ErrorResponse[]

Dettagli dell'errore.

message

string

Messaggio di errore.

target

string

Destinazione dell'errore.

ExpressionEvaluationOptions

Specifica se le espressioni modello vengono valutate nell'ambito del modello padre o del modello annidato.

Nome Tipo Descrizione
scope

ExpressionEvaluationOptionsScopeType

Ambito da usare per la valutazione di parametri, variabili e funzioni in un modello annidato.

ExpressionEvaluationOptionsScopeType

Ambito da usare per la valutazione di parametri, variabili e funzioni in un modello annidato.

Valore Descrizione
NotSpecified
Outer
Inner

ExtensionConfigPropertyType

Valore Descrizione
String

Tipo di proprietà che rappresenta un valore stringa.

Int

Tipo di proprietà che rappresenta un valore intero.

Bool

Tipo di proprietà che rappresenta un valore booleano.

Array

Tipo di proprietà che rappresenta un valore di matrice.

Object

Tipo di proprietà che rappresenta il valore di un oggetto.

SecureString

Tipo di proprietà che rappresenta un valore stringa sicuro.

SecureObject

Tipo di proprietà che rappresenta un valore di oggetto sicuro.

KeyVaultParameterReference

Informazioni di riferimento sul parametro di Azure Key Vault.

Nome Tipo Descrizione
keyVault

KeyVaultReference

Informazioni di riferimento su Azure Key Vault.

secretName

string

Nome del segreto di Azure Key Vault.

secretVersion

string

Versione del segreto di Azure Key Vault.

KeyVaultReference

Informazioni di riferimento su Azure Key Vault.

Nome Tipo Descrizione
id

string

ID risorsa di Azure Key Vault.

Level

Indica il livello di risposta aggiuntivo.

Valore Descrizione
Warning
Info
Error

OnErrorDeployment

Distribuzione in caso di comportamento degli errori.

Nome Tipo Descrizione
deploymentName

string

Distribuzione da usare in caso di errore.

type

OnErrorDeploymentType

Distribuzione sul tipo di comportamento degli errori. I valori possibili sono LastSuccessful e SpecificDeployment.

OnErrorDeploymentType

Distribuzione sul tipo di comportamento degli errori. I valori possibili sono LastSuccessful e SpecificDeployment.

Valore Descrizione
LastSuccessful
SpecificDeployment

Entità che rappresenta il riferimento ai parametri di distribuzione.

Nome Tipo Descrizione
contentVersion

string

Se incluso, deve corrispondere a ContentVersion nel modello.

uri

string

URI del file di parametri.

PropertyChangeType

Tipo di modifica della proprietà.

Valore Descrizione
Create

La proprietà non esiste nello stato corrente, ma è presente nello stato desiderato. La proprietà verrà creata quando viene eseguita la distribuzione.

Delete

La proprietà esiste nello stato corrente ed è mancante dallo stato desiderato. Verrà eliminato quando viene eseguita la distribuzione.

Modify

La proprietà esiste sia nello stato corrente che in quello desiderato ed è diversa. Il valore della proprietà cambierà quando viene eseguita la distribuzione.

Array

La proprietà è una matrice e contiene modifiche annidate.

NoEffect

La proprietà non verrà impostata o aggiornata.

Entità che rappresenta il riferimento al modello.

Nome Tipo Descrizione
contentVersion

string

Se incluso, deve corrispondere a ContentVersion nel modello.

id

string

ID risorsa di una specifica di modello. Utilizzare la proprietà ID o URI, ma non entrambi.

queryString

string

Stringa di query (ad esempio, un token di firma di accesso condiviso) da usare con l'URI templateLink.

relativePath

string

La proprietà relativePath può essere utilizzata per distribuire un modello collegato in una posizione relativa all'elemento padre. Se il modello padre è stato collegato a un oggetto TemplateSpec, verrà fatto riferimento a un artefatto in TemplateSpec. Se l'elemento padre è stato collegato con un URI, la distribuzione figlio sarà una combinazione degli URI padre e relativePath

uri

string

URI del modello da distribuire. Usare l'URI o la proprietà ID, ma non entrambi.

ValidationLevel

Livello di convalida eseguito nella distribuzione.

Valore Descrizione
Template

Viene eseguita l'analisi statica del modello.

Provider

Viene eseguita l'analisi statica del modello e le dichiarazioni delle risorse vengono inviate ai provider di risorse per la convalida semantica. Verifica che il chiamante disponga delle autorizzazioni di scrittura RBAC per ogni risorsa.

ProviderNoRbac

Viene eseguita l'analisi statica del modello e le dichiarazioni delle risorse vengono inviate ai provider di risorse per la convalida semantica. Ignora la verifica che il chiamante disponga delle autorizzazioni di scrittura RBAC per ogni risorsa.

WhatIfChange

Informazioni su una singola modifica della risorsa stimata dall'operazione di What-If.

Nome Tipo Descrizione
after

object

Snapshot stimato della risorsa dopo l'esecuzione della distribuzione.

before

object

Snapshot della risorsa prima dell'esecuzione della distribuzione.

changeType

ChangeType

Tipo di modifica che verrà apportata alla risorsa quando viene eseguita la distribuzione.

delta

WhatIfPropertyChange[]

Le modifiche previste alle proprietà delle risorse.

deploymentId

string

ID risorsa della distribuzione responsabile della modifica.

extension

DeploymentExtensionDefinition

L'estensione con cui è stata distribuita la risorsa.

identifiers

object

Subset di proprietà che identificano in modo univoco una risorsa estendibile Bicep perché manca di un ID risorsa come una risorsa di Azure.

resourceId

string

ID risorsa

symbolicName

string

Nome simbolico della risorsa responsabile della modifica.

unsupportedReason

string

Spiegazione del motivo per cui la risorsa non è supportata da What-If.

WhatIfOperationResult

Risultato dell'operazione di What-If. Contiene un elenco di modifiche stimate e un collegamento URL per accedere al set di risultati successivo.

Nome Tipo Descrizione
error

ErrorResponse

Risposta di errore
Errore quando What-If'operazione ha esito negativo.

properties.changes

WhatIfChange[]

Elenco delle modifiche delle risorse stimate dall'operazione di What-If.

properties.diagnostics

DeploymentDiagnosticsDefinition[]

Elenco delle diagnostiche delle risorse rilevate dallWhat-If operazione.

properties.potentialChanges

WhatIfChange[]

Elenco delle modifiche delle risorse stimate dall'operazione di What-If.

status

string

Stato dell'operazione di What-If.

WhatIfPropertyChange

Modifica stimata alla proprietà della risorsa.

Nome Tipo Descrizione
after

object

Valore della proprietà dopo l'esecuzione della distribuzione.

before

object

Valore della proprietà prima dell'esecuzione della distribuzione.

children

WhatIfPropertyChange[]

Modifiche alle proprietà annidate.

path

string

Percorso della proprietà.

propertyChangeType

PropertyChangeType

Tipo di modifica della proprietà.

WhatIfResultFormat

Formato dei risultati What-If

Valore Descrizione
ResourceIdOnly
FullResourcePayloads