New-AzTenantDeployment

Create a deployment at tenant scope

Syntax

New-AzTenantDeployment
   [-Name <String>]
   -Location <String>
   [-DeploymentDebugLogLevel <String>]
   [-Tag <Hashtable>]
   [-WhatIfResultFormat <WhatIfResultFormat>]
   [-WhatIfExcludeChangeType <String[]>]
   [-ProceedIfNoChange]
   [-AsJob]
   [-QueryString <String>]
   -TemplateFile <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzTenantDeployment
   [-Name <String>]
   -Location <String>
   [-DeploymentDebugLogLevel <String>]
   [-Tag <Hashtable>]
   [-WhatIfResultFormat <WhatIfResultFormat>]
   [-WhatIfExcludeChangeType <String[]>]
   [-ProceedIfNoChange]
   [-AsJob]
   [-QueryString <String>]
   -TemplateParameterObject <Hashtable>
   -TemplateObject <Hashtable>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzTenantDeployment
   [-Name <String>]
   -Location <String>
   [-DeploymentDebugLogLevel <String>]
   [-Tag <Hashtable>]
   [-WhatIfResultFormat <WhatIfResultFormat>]
   [-WhatIfExcludeChangeType <String[]>]
   [-ProceedIfNoChange]
   [-AsJob]
   [-QueryString <String>]
   -TemplateParameterObject <Hashtable>
   -TemplateFile <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzTenantDeployment
   [-Name <String>]
   -Location <String>
   [-DeploymentDebugLogLevel <String>]
   [-Tag <Hashtable>]
   [-WhatIfResultFormat <WhatIfResultFormat>]
   [-WhatIfExcludeChangeType <String[]>]
   [-ProceedIfNoChange]
   [-AsJob]
   [-QueryString <String>]
   -TemplateParameterObject <Hashtable>
   -TemplateUri <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzTenantDeployment
   [-Name <String>]
   -Location <String>
   [-DeploymentDebugLogLevel <String>]
   [-Tag <Hashtable>]
   [-WhatIfResultFormat <WhatIfResultFormat>]
   [-WhatIfExcludeChangeType <String[]>]
   [-ProceedIfNoChange]
   [-AsJob]
   [-QueryString <String>]
   -TemplateParameterObject <Hashtable>
   -TemplateSpecId <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzTenantDeployment
   [-Name <String>]
   -Location <String>
   [-DeploymentDebugLogLevel <String>]
   [-Tag <Hashtable>]
   [-WhatIfResultFormat <WhatIfResultFormat>]
   [-WhatIfExcludeChangeType <String[]>]
   [-ProceedIfNoChange]
   [-AsJob]
   [-QueryString <String>]
   -TemplateParameterFile <String>
   -TemplateObject <Hashtable>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzTenantDeployment
   [-Name <String>]
   -Location <String>
   [-DeploymentDebugLogLevel <String>]
   [-Tag <Hashtable>]
   [-WhatIfResultFormat <WhatIfResultFormat>]
   [-WhatIfExcludeChangeType <String[]>]
   [-ProceedIfNoChange]
   [-AsJob]
   [-QueryString <String>]
   -TemplateParameterFile <String>
   -TemplateFile <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzTenantDeployment
   [-Name <String>]
   -Location <String>
   [-DeploymentDebugLogLevel <String>]
   [-Tag <Hashtable>]
   [-WhatIfResultFormat <WhatIfResultFormat>]
   [-WhatIfExcludeChangeType <String[]>]
   [-ProceedIfNoChange]
   [-AsJob]
   [-QueryString <String>]
   -TemplateParameterFile <String>
   -TemplateUri <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzTenantDeployment
   [-Name <String>]
   -Location <String>
   [-DeploymentDebugLogLevel <String>]
   [-Tag <Hashtable>]
   [-WhatIfResultFormat <WhatIfResultFormat>]
   [-WhatIfExcludeChangeType <String[]>]
   [-ProceedIfNoChange]
   [-AsJob]
   [-QueryString <String>]
   -TemplateParameterFile <String>
   -TemplateSpecId <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzTenantDeployment
   [-Name <String>]
   -Location <String>
   [-DeploymentDebugLogLevel <String>]
   [-Tag <Hashtable>]
   [-WhatIfResultFormat <WhatIfResultFormat>]
   [-WhatIfExcludeChangeType <String[]>]
   [-ProceedIfNoChange]
   [-AsJob]
   [-QueryString <String>]
   -TemplateParameterFile <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzTenantDeployment
   [-Name <String>]
   -Location <String>
   [-DeploymentDebugLogLevel <String>]
   [-Tag <Hashtable>]
   [-WhatIfResultFormat <WhatIfResultFormat>]
   [-WhatIfExcludeChangeType <String[]>]
   [-ProceedIfNoChange]
   [-AsJob]
   [-QueryString <String>]
   -TemplateParameterUri <String>
   -TemplateObject <Hashtable>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzTenantDeployment
   [-Name <String>]
   -Location <String>
   [-DeploymentDebugLogLevel <String>]
   [-Tag <Hashtable>]
   [-WhatIfResultFormat <WhatIfResultFormat>]
   [-WhatIfExcludeChangeType <String[]>]
   [-ProceedIfNoChange]
   [-AsJob]
   [-QueryString <String>]
   -TemplateParameterUri <String>
   -TemplateFile <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzTenantDeployment
   [-Name <String>]
   -Location <String>
   [-DeploymentDebugLogLevel <String>]
   [-Tag <Hashtable>]
   [-WhatIfResultFormat <WhatIfResultFormat>]
   [-WhatIfExcludeChangeType <String[]>]
   [-ProceedIfNoChange]
   [-AsJob]
   [-QueryString <String>]
   -TemplateParameterUri <String>
   -TemplateUri <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzTenantDeployment
   [-Name <String>]
   -Location <String>
   [-DeploymentDebugLogLevel <String>]
   [-Tag <Hashtable>]
   [-WhatIfResultFormat <WhatIfResultFormat>]
   [-WhatIfExcludeChangeType <String[]>]
   [-ProceedIfNoChange]
   [-AsJob]
   [-QueryString <String>]
   -TemplateParameterUri <String>
   -TemplateSpecId <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzTenantDeployment
   [-Name <String>]
   -Location <String>
   [-DeploymentDebugLogLevel <String>]
   [-Tag <Hashtable>]
   [-WhatIfResultFormat <WhatIfResultFormat>]
   [-WhatIfExcludeChangeType <String[]>]
   [-ProceedIfNoChange]
   [-AsJob]
   [-QueryString <String>]
   -TemplateObject <Hashtable>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzTenantDeployment
   [-Name <String>]
   -Location <String>
   [-DeploymentDebugLogLevel <String>]
   [-Tag <Hashtable>]
   [-WhatIfResultFormat <WhatIfResultFormat>]
   [-WhatIfExcludeChangeType <String[]>]
   [-ProceedIfNoChange]
   [-AsJob]
   [-QueryString <String>]
   -TemplateUri <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzTenantDeployment
   [-Name <String>]
   -Location <String>
   [-DeploymentDebugLogLevel <String>]
   [-Tag <Hashtable>]
   [-WhatIfResultFormat <WhatIfResultFormat>]
   [-WhatIfExcludeChangeType <String[]>]
   [-ProceedIfNoChange]
   [-AsJob]
   [-QueryString <String>]
   -TemplateSpecId <String>
   [-SkipTemplateParameterPrompt]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The New-AzTenantDeployment cmdlet adds a deployment at the current tenant scope.

To add a deployment at tenant scope, specify the location and a template. The location tells Azure Resource Manager where to store the deployment data. The template is a JSON string that contains individual resources to be deployed. The template includes parameter placeholders for required resources and configurable property values, such as names and sizes.

To use a custom template for the deployment, specify the TemplateFile parameter or TemplateUri parameter. Each template has parameters for configurable properties. To specify values for the template parameters, specify the TemplateParameterFile parameter or the TemplateParameterObject parameter. Alternatively, you can use the template parameters that are dynamically added to the command when you specify a template. To use dynamic parameters, type them at the command prompt, or type a minus sign (-) to indicate a parameter and use the Tab key to cycle through available parameters. Template parameter values that you enter at the command prompt take precedence over values in a template parameter object or file.

To add resources to a resource group, use the New-AzResourceGroupDeployment which creates a deployment at a resource group. To add resources to a subscription, use the New-AzSubscriptionDeployment which creates a deployment at subscription scope, which deploys subscription level resources. To add resources at a management group, use the New-AzManagementGroupDeployment which creates a deployment at a management group.

Examples

Example 1: Use a custom template and parameter file to create a deployment

New-AzTenantDeployment -Location "West US" -TemplateFile "D:\Azure\Templates\OrgSetup.json" -TemplateParameterFile "D:\Azure\Templates\OrgParms.json" -Tag @{"key1"="value1"; "key2"="value2";}

This command creates a new deployment at the current tenant scope by using a custom template and a template file on disk, with defined tags parameter. The command uses the TemplateFile parameter to specify the template and the TemplateParameterFile parameter to specify a file that contains parameters and parameter values.

Example 2: Use a custom template object and parameter file to create a deployment

$TemplateFileText = [System.IO.File]::ReadAllText("D:\Azure\Templates\OrgSetup.json")
$TemplateObject = ConvertFrom-Json $TemplateFileText -AsHashtable
New-AzTenantDeployment -Location "West US" -TemplateObject $TemplateObject -TemplateParameterFile "D:\Azure\Templates\OrgParams.json"

This command creates a new deployment at the current tenant by using a custom template and a template file on disk that has been converted to an in-memory hashtable. The first two commands read the text for the template file on disk and convert it to an in-memory hashtable. The last command uses the TemplateObject parameter to specify this hashtable and the TemplateParameterFile parameter to specify a file that contains parameters and parameter values.

Example 3: Use a .bicepparam file to create a deployment

New-AzTenantDeployment -Location "West US" -TemplateParameterFile "./parameters.bicepparam"

This command creates a new deployment at the current tenant scope by using a .bicepparam file on disk. The command uses the TemplateParameterFile parameter to specify a .bicepparam file.

Parameters

-AsJob

Run cmdlet in the background

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

-Confirm

Prompts you for confirmation before running the cmdlet.

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

-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

-DeploymentDebugLogLevel

The deployment debug log level.

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

-ProceedIfNoChange

Do not ask for confirmation if there is no changes in the What-If result. Applicable when the -Confirm switch is set.

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

-QueryString

The query string (for example, a SAS token) to be used with the TemplateUri parameter. Would be used in case of linked templates

Type:String
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

-Tag

The tags to put on the deployment.

Type:Hashtable
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

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

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

-WhatIfExcludeChangeType

Comma-separated resource change types to be excluded from What-If results. Applicable when the -WhatIf or -Confirm switch is set.

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

-WhatIfResultFormat

The What-If result format. Applicable when the -WhatIf or -Confirm switch is set.

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

Inputs

Hashtable

String

Outputs

PSDeployment