Get-AzDeploymentWhatIfResult

Gets a template What-If result for a deployment at subscription scope.

Syntax

Get-AzDeploymentWhatIfResult
   [-Name <String>]
   -Location <String>
   [-ResultFormat <WhatIfResultFormat>]
   [-ExcludeChangeType <String[]>]
   -TemplateFile <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzDeploymentWhatIfResult
   [-Name <String>]
   -Location <String>
   [-ResultFormat <WhatIfResultFormat>]
   [-ExcludeChangeType <String[]>]
   -TemplateParameterObject <Hashtable>
   -TemplateObject <Hashtable>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzDeploymentWhatIfResult
   [-Name <String>]
   -Location <String>
   [-ResultFormat <WhatIfResultFormat>]
   [-ExcludeChangeType <String[]>]
   -TemplateParameterObject <Hashtable>
   -TemplateFile <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzDeploymentWhatIfResult
   [-Name <String>]
   -Location <String>
   [-ResultFormat <WhatIfResultFormat>]
   [-ExcludeChangeType <String[]>]
   -TemplateParameterObject <Hashtable>
   -TemplateUri <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzDeploymentWhatIfResult
   [-Name <String>]
   -Location <String>
   [-ResultFormat <WhatIfResultFormat>]
   [-ExcludeChangeType <String[]>]
   -TemplateParameterObject <Hashtable>
   -TemplateSpecId <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzDeploymentWhatIfResult
   [-Name <String>]
   -Location <String>
   [-ResultFormat <WhatIfResultFormat>]
   [-ExcludeChangeType <String[]>]
   -TemplateParameterFile <String>
   -TemplateObject <Hashtable>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzDeploymentWhatIfResult
   [-Name <String>]
   -Location <String>
   [-ResultFormat <WhatIfResultFormat>]
   [-ExcludeChangeType <String[]>]
   -TemplateParameterFile <String>
   -TemplateFile <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzDeploymentWhatIfResult
   [-Name <String>]
   -Location <String>
   [-ResultFormat <WhatIfResultFormat>]
   [-ExcludeChangeType <String[]>]
   -TemplateParameterFile <String>
   -TemplateUri <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzDeploymentWhatIfResult
   [-Name <String>]
   -Location <String>
   [-ResultFormat <WhatIfResultFormat>]
   [-ExcludeChangeType <String[]>]
   -TemplateParameterFile <String>
   -TemplateSpecId <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzDeploymentWhatIfResult
   [-Name <String>]
   -Location <String>
   [-ResultFormat <WhatIfResultFormat>]
   [-ExcludeChangeType <String[]>]
   -TemplateParameterFile <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzDeploymentWhatIfResult
   [-Name <String>]
   -Location <String>
   [-ResultFormat <WhatIfResultFormat>]
   [-ExcludeChangeType <String[]>]
   -TemplateParameterUri <String>
   -TemplateObject <Hashtable>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzDeploymentWhatIfResult
   [-Name <String>]
   -Location <String>
   [-ResultFormat <WhatIfResultFormat>]
   [-ExcludeChangeType <String[]>]
   -TemplateParameterUri <String>
   -TemplateFile <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzDeploymentWhatIfResult
   [-Name <String>]
   -Location <String>
   [-ResultFormat <WhatIfResultFormat>]
   [-ExcludeChangeType <String[]>]
   -TemplateParameterUri <String>
   -TemplateUri <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzDeploymentWhatIfResult
   [-Name <String>]
   -Location <String>
   [-ResultFormat <WhatIfResultFormat>]
   [-ExcludeChangeType <String[]>]
   -TemplateParameterUri <String>
   -TemplateSpecId <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzDeploymentWhatIfResult
   [-Name <String>]
   -Location <String>
   [-ResultFormat <WhatIfResultFormat>]
   [-ExcludeChangeType <String[]>]
   -TemplateObject <Hashtable>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzDeploymentWhatIfResult
   [-Name <String>]
   -Location <String>
   [-ResultFormat <WhatIfResultFormat>]
   [-ExcludeChangeType <String[]>]
   -TemplateUri <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzDeploymentWhatIfResult
   [-Name <String>]
   -Location <String>
   [-ResultFormat <WhatIfResultFormat>]
   [-ExcludeChangeType <String[]>]
   -TemplateSpecId <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

The Get-AzDeploymentWhatIfResult cmdlet gets the ARM template What-If result for a template deployment at the current subscription scope. It returns a list of changes indicating what resources will be updated if the deployment is applied without making any changes to real resources. To specify the format for the returning result, use the ResultFormat parameter.

Examples

Example 1: Get a What-If result at subscription scope

Get-AzDeploymentWhatIfResult `
    -DeploymentName "deploy-01" `
    -Location "West US" `
    -TemplateFile "D:\Azure\Templates\ServiceTemplate.json" `
    -TemplateParameterFile "D:\Azure\Templates\ServiceParameters.json" `
    -ResultFormat "FullResourcePayloads"

This command gets a What-If result at the current subscription scope by using a custom template file and a parameter file on disk. The command uses the Location parameter to specify where to store the deployment data. The command uses the TemplateFile parameter to specify a template file. The command uses the TemplateParameterFile parameter to specify a template parameter file. The command uses the ResultFormat parameter to set the What-If result to include full resource payloads.

Example 2: Get a What-If result at subscription scope with ResourceIdOnly

Get-AzDeploymentWhatIfResult `
    -DeploymentName "deploy-01" `
    -Location "West US" `
    -TemplateFile "D:\Azure\Templates\ServiceTemplate.json" `
    -TemplateParameterFile "D:\Azure\Templates\ServiceParameters.json" `
    -ResultFormat "ResourceIdOnly"

This command gets a What-If result at the current subscription scope by using a custom template file and a parameter file on disk. The command uses the Location parameter to specify where to store the deployment data. The command uses the TemplateFile parameter to specify a template file. The command uses the TemplateParameterFile parameter to specify a template parameter file. The command uses the ResultFormat parameter to set the What-If result to only contain resource IDs.

Example 3: Use a .bicepparam file to calculate What-If

Get-AzDeploymentWhatIfResult -Location "West US" -TemplateParameterFile "./parameters.bicepparam"

This command gets a What-If result at the current subscription scope by using a .bicepparam file on disk. The command uses the TemplateParameterFile parameter to specify a .bicepparam file.

Parameters

-DefaultProfile

The credentials, account, tenant, and subscription used for communication with Azure.

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ExcludeChangeType

Comma-separated list of resource change types to be excluded from What-If results.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Location

The location to store deployment data.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Name

The name of the deployment it's going to create. If not specified, defaults to the template file name when a template file is provided; defaults to the current time when a template object is provided, e.g. "20131223140835".

Type:String
Aliases:DeploymentName
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Pre

When set, indicates that the cmdlet should use pre-release API versions when automatically determining which version to use.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResultFormat

The What-If result format.

Type:WhatIfResultFormat
Accepted values:ResourceIdOnly, FullResourcePayloads
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipTemplateParameterPrompt

Skips the PowerShell dynamic parameter processing that checks if the provided template parameter contains all necessary parameters used by the template. This check would prompt the user to provide a value for the missing parameters, but providing the -SkipTemplateParameterPrompt will ignore this prompt and error out immediately if a parameter was found not to be bound in the template. For non-interactive scripts, -SkipTemplateParameterPrompt can be provided to provide a better error message in the case where not all required parameters are satisfied.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TemplateFile

Local path to the template file. Supported template file type: json and bicep.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-TemplateObject

A hash table which represents the template.

Type:Hashtable
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-TemplateParameterFile

Parameter file to use for the template.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-TemplateParameterObject

A hash table which represents the parameters.

Type:Hashtable
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-TemplateParameterUri

Uri to the template parameter file.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-TemplateSpecId

Resource ID of the templateSpec to be deployed.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-TemplateUri

Uri to the template file.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

Inputs

Hashtable

String

Outputs

PSWhatIfOperationResult