Deployments - What If
Restituisce le modifiche che verranno apportate dalla distribuzione se eseguite nell'ambito del gruppo di risorse.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf?api-version=2025-04-01
Parametri dell'URI
| Nome | In | Necessario | Tipo | Descrizione |
|---|---|---|---|---|
|
deployment
|
path | True |
string minLength: 1maxLength: 64 pattern: ^[-\w\._\(\)]+$ |
Nome della distribuzione. |
|
resource
|
path | True |
string minLength: 1maxLength: 90 pattern: ^[-\w\._\(\)]+$ |
Nome del gruppo di risorse in cui verrà distribuito il modello. Il nome è insensibile alle maiuscole e minuscole. |
|
subscription
|
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 |
Proprietà di distribuzione. |
|
| ___location |
string |
Percorso in cui archiviare i dati di distribuzione. |
Risposte
| Nome | Tipo | Descrizione |
|---|---|---|
| 200 OK |
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
|
|
| Other Status Codes |
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 resource group scope
Esempio di richiesta
POST https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000001/resourcegroups/my-resource-group/providers/Microsoft.Resources/deployments/my-deployment/whatIf?api-version=2025-04-01
{
"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"
}
}
}
]
}
}
Location: /subscriptions/00000000-0000-0000-0000-000000000000/ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
Definizioni
| Nome | Descrizione |
|---|---|
|
Change |
Tipo di modifica che verrà apportata alla risorsa quando viene eseguita la distribuzione. |
|
Cloud |
Risposta di errore per una richiesta di gestione delle risorse. |
|
Debug |
Impostazione di debug. |
|
Deployment |
|
|
Deployment |
|
|
Deployment |
|
|
Deployment |
Input esterno di distribuzione per la parametrizzazione. |
|
Deployment |
Definizione dell'input esterno di distribuzione per la parametrizzazione. |
|
Deployment |
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. |
|
Deployment |
Parametro di distribuzione per il modello. |
|
Deployment |
Parametri dell'operazione di simulazione della distribuzione. |
|
Deployment |
Proprietà di simulazione della distribuzione. |
|
Deployment |
Impostazioni dell'operazione di distribuzione What-If. |
|
Error |
Informazioni aggiuntive sull'errore di gestione delle risorse. |
|
Error |
Risposta di errore |
|
Expression |
Specifica se le espressioni modello vengono valutate nell'ambito del modello padre o del modello annidato. |
|
Expression |
Ambito da usare per la valutazione di parametri, variabili e funzioni in un modello annidato. |
|
Extension |
|
|
Key |
Informazioni di riferimento sul parametro di Azure Key Vault. |
|
Key |
Informazioni di riferimento su Azure Key Vault. |
| Level |
Indica il livello di risposta aggiuntivo. |
|
On |
Distribuzione in caso di comportamento degli errori. |
|
On |
Distribuzione sul tipo di comportamento degli errori. I valori possibili sono LastSuccessful e SpecificDeployment. |
|
Parameters |
Entità che rappresenta il riferimento ai parametri di distribuzione. |
|
Property |
Tipo di modifica della proprietà. |
|
Template |
Entità che rappresenta il riferimento al modello. |
|
Validation |
Livello di convalida eseguito nella distribuzione. |
|
What |
Informazioni su una singola modifica della risorsa stimata dall'operazione di What-If. |
|
What |
Risultato dell'operazione di What-If. Contiene un elenco di modifiche stimate e un collegamento URL per accedere al set di risultati successivo. |
|
What |
Modifica stimata alla proprietà della risorsa. |
|
What |
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 |
Risposta di errore |
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 |
Informazioni aggiuntive sull'errore. |
|
| code |
string |
Codice di errore. |
| level |
Indica il livello di risposta aggiuntivo. |
|
| message |
string |
Messaggio di errore. |
| target |
string |
Destinazione dell'errore. |
DeploymentExtensionConfigItem
| Nome | Tipo | Descrizione |
|---|---|---|
| keyVaultReference |
Riferimento di Azure Key Vault usato per recuperare il valore segreto della proprietà config dell'estensione. |
|
| type |
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,
Deployment |
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 |
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 |
Proprietà di distribuzione. |
DeploymentWhatIfProperties
Proprietà di simulazione della distribuzione.
| Nome | Tipo | Descrizione |
|---|---|---|
| debugSetting |
Impostazione di debug della distribuzione. |
|
| 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,
Deployment |
Definizioni di input esterno, utilizzate dagli strumenti esterni per definire i valori di input esterni previsti. |
| externalInputs |
<string,
Deployment |
Valori di input esterni, utilizzati dagli strumenti esterni per la valutazione dei parametri. |
| mode |
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 |
Distribuzione in caso di comportamento dell'errore. |
|
| parameters |
<string,
Deployment |
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 |
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 |
URI del modello. Usare la proprietà templateLink o la proprietà del modello, ma non entrambe. |
|
| validationLevel |
Livello di convalida della distribuzione |
|
| whatIfSettings |
Impostazioni dell'operazione di What-If facoltative. |
DeploymentWhatIfSettings
Impostazioni dell'operazione di distribuzione What-If.
| Nome | Tipo | Descrizione |
|---|---|---|
| resultFormat |
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 |
Informazioni aggiuntive sull'errore. |
|
| code |
string |
Codice di errore. |
| details |
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 |
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 |
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 |
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 |
ParametersLink
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. |
TemplateLink
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 |
Tipo di modifica che verrà apportata alla risorsa quando viene eseguita la distribuzione. |
|
| delta |
Le modifiche previste alle proprietà delle risorse. |
|
| deploymentId |
string |
ID risorsa della distribuzione responsabile della modifica. |
| extension |
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 |
Risposta di errore |
|
| properties.changes |
Elenco delle modifiche delle risorse stimate dall'operazione di What-If. |
|
| properties.diagnostics |
Elenco delle diagnostiche delle risorse rilevate dallWhat-If operazione. |
|
| properties.potentialChanges |
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 |
Modifiche alle proprietà annidate. |
|
| path |
string |
Percorso della proprietà. |
| propertyChangeType |
Tipo di modifica della proprietà. |
WhatIfResultFormat
Formato dei risultati What-If
| Valore | Descrizione |
|---|---|
| ResourceIdOnly | |
| FullResourcePayloads |