Skip to content

Commit

Permalink
Resolve review feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
cormacpayne committed Apr 3, 2019
1 parent 27fc2c5 commit 5e3f943
Show file tree
Hide file tree
Showing 8 changed files with 128 additions and 125 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -116,12 +116,15 @@ protected ResourceWithParameterCmdletBase()
[ValidateNotNullOrEmpty]
public string TemplateUri { get; set; }

[Parameter(Mandatory = false, HelpMessage = "Skip resolving dynamic parameters; this should be used when running a script or running this command as a job.")]
public SwitchParameter IgnoreDynamicParameters { get; set; }
[Parameter(Mandatory = false, HelpMessage = "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 avoid generic error messages from being thrown.")]
public SwitchParameter SkipTemplateParameterPrompt { get; set; }

public object GetDynamicParameters()
{
if (!this.IsParameterBound(c => c.IgnoreDynamicParameters))
if (!this.IsParameterBound(c => c.SkipTemplateParameterPrompt))
{
if (TemplateObject != null &&
TemplateObject != templateObject)
Expand Down
6 changes: 3 additions & 3 deletions src/Resources/Resources.Test/ScenarioTests/Common.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ function Test-AzResourceGroupDeploymentWithName
[string] [Parameter()] $TemplateParameterUri,
[string] [Parameter()] $ApiVersion,
[switch] [Parameter()] $RollbackToLastDeployment,
[switch] [Parameter()] $IgnoreDynamicParameters,
[switch] [Parameter()] $SkipTemplateParameterPrompt,
[switch] [Parameter()] $Pre,
[hashtable] [Parameter()] $TemplateObject,
[hashtable] [Parameter()] $TemplateParameterObject,
Expand Down Expand Up @@ -370,9 +370,9 @@ function Test-AzResourceGroupDeploymentWithName
$cmdlet.RollbackToLastDeployment = $true
}

if ($IgnoreDynamicParameters.IsPresent)
if ($SkipTemplateParameterPrompt.IsPresent)
{
$cmdlet.IgnoreDynamicParameters = $true
$cmdlet.SkipTemplateParameterPrompt = $true
}

if ($Pre.IsPresent)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ function Test-TestResourceGroupDeploymentErrors
# Test
# Catch exception when parameter template is missing
New-AzResourceGroup -Name $rgname -Location $rglocation
$result = Test-AzResourceGroupDeploymentWithName -DeploymentName $deploymentName -ResourceGroupName $rgname -TemplateFile sampleDeploymentTemplate.json -IgnoreDynamicParameters
$result = Test-AzResourceGroupDeploymentWithName -DeploymentName $deploymentName -ResourceGroupName $rgname -TemplateFile sampleDeploymentTemplate.json -SkipTemplateParameterPrompt
Assert-NotNull $result
Assert-AreEqual "InvalidTemplate" $result.Code
Assert-StartsWith "Deployment template validation failed" $result.Message
Expand Down
72 changes: 38 additions & 34 deletions src/Resources/Resources/help/New-AzDeployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,85 +15,89 @@ Create a deployment
### ByTemplateFileWithNoParameters (Default)
```
New-AzDeployment [-Name <String>] -Location <String> [-DeploymentDebugLogLevel <String>] [-AsJob]
-TemplateFile <String> [-IgnoreDynamicParameters] [-ApiVersion <String>] [-Pre]
-TemplateFile <String> [-SkipTemplateParameterPrompt] [-ApiVersion <String>] [-Pre]
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```

### ByTemplateObjectAndParameterObject
```
New-AzDeployment [-Name <String>] -Location <String> [-DeploymentDebugLogLevel <String>] [-AsJob]
-TemplateParameterObject <Hashtable> -TemplateObject <Hashtable> [-IgnoreDynamicParameters]
-TemplateParameterObject <Hashtable> -TemplateObject <Hashtable> [-SkipTemplateParameterPrompt]
[-ApiVersion <String>] [-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```

### ByTemplateFileAndParameterObject
```
New-AzDeployment [-Name <String>] -Location <String> [-DeploymentDebugLogLevel <String>] [-AsJob]
-TemplateParameterObject <Hashtable> -TemplateFile <String> [-IgnoreDynamicParameters] [-ApiVersion <String>]
[-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
-TemplateParameterObject <Hashtable> -TemplateFile <String> [-SkipTemplateParameterPrompt]
[-ApiVersion <String>] [-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```

### ByTemplateUriAndParameterObject
```
New-AzDeployment [-Name <String>] -Location <String> [-DeploymentDebugLogLevel <String>] [-AsJob]
-TemplateParameterObject <Hashtable> -TemplateUri <String> [-IgnoreDynamicParameters] [-ApiVersion <String>]
[-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
-TemplateParameterObject <Hashtable> -TemplateUri <String> [-SkipTemplateParameterPrompt]
[-ApiVersion <String>] [-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```

### ByTemplateObjectAndParameterFile
```
New-AzDeployment [-Name <String>] -Location <String> [-DeploymentDebugLogLevel <String>] [-AsJob]
-TemplateParameterFile <String> -TemplateObject <Hashtable> [-IgnoreDynamicParameters] [-ApiVersion <String>]
[-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
-TemplateParameterFile <String> -TemplateObject <Hashtable> [-SkipTemplateParameterPrompt]
[-ApiVersion <String>] [-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```

### ByTemplateFileAndParameterFile
```
New-AzDeployment [-Name <String>] -Location <String> [-DeploymentDebugLogLevel <String>] [-AsJob]
-TemplateParameterFile <String> -TemplateFile <String> [-IgnoreDynamicParameters] [-ApiVersion <String>]
-TemplateParameterFile <String> -TemplateFile <String> [-SkipTemplateParameterPrompt] [-ApiVersion <String>]
[-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```

### ByTemplateUriAndParameterFile
```
New-AzDeployment [-Name <String>] -Location <String> [-DeploymentDebugLogLevel <String>] [-AsJob]
-TemplateParameterFile <String> -TemplateUri <String> [-IgnoreDynamicParameters] [-ApiVersion <String>] [-Pre]
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
-TemplateParameterFile <String> -TemplateUri <String> [-SkipTemplateParameterPrompt] [-ApiVersion <String>]
[-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```

### ByTemplateObjectAndParameterUri
```
New-AzDeployment [-Name <String>] -Location <String> [-DeploymentDebugLogLevel <String>] [-AsJob]
-TemplateParameterUri <String> -TemplateObject <Hashtable> [-IgnoreDynamicParameters] [-ApiVersion <String>]
[-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
-TemplateParameterUri <String> -TemplateObject <Hashtable> [-SkipTemplateParameterPrompt]
[-ApiVersion <String>] [-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```

### ByTemplateFileAndParameterUri
```
New-AzDeployment [-Name <String>] -Location <String> [-DeploymentDebugLogLevel <String>] [-AsJob]
-TemplateParameterUri <String> -TemplateFile <String> [-IgnoreDynamicParameters] [-ApiVersion <String>] [-Pre]
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
-TemplateParameterUri <String> -TemplateFile <String> [-SkipTemplateParameterPrompt] [-ApiVersion <String>]
[-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```

### ByTemplateUriAndParameterUri
```
New-AzDeployment [-Name <String>] -Location <String> [-DeploymentDebugLogLevel <String>] [-AsJob]
-TemplateParameterUri <String> -TemplateUri <String> [-IgnoreDynamicParameters] [-ApiVersion <String>] [-Pre]
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
-TemplateParameterUri <String> -TemplateUri <String> [-SkipTemplateParameterPrompt] [-ApiVersion <String>]
[-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```

### ByTemplateObjectWithNoParameters
```
New-AzDeployment [-Name <String>] -Location <String> [-DeploymentDebugLogLevel <String>] [-AsJob]
-TemplateObject <Hashtable> [-IgnoreDynamicParameters] [-ApiVersion <String>] [-Pre]
-TemplateObject <Hashtable> [-SkipTemplateParameterPrompt] [-ApiVersion <String>] [-Pre]
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```

### ByTemplateUriWithNoParameters
```
New-AzDeployment [-Name <String>] -Location <String> [-DeploymentDebugLogLevel <String>] [-AsJob]
-TemplateUri <String> [-IgnoreDynamicParameters] [-ApiVersion <String>] [-Pre]
-TemplateUri <String> [-SkipTemplateParameterPrompt] [-ApiVersion <String>] [-Pre]
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```

Expand Down Expand Up @@ -204,21 +208,6 @@ Accept pipeline input: False
Accept wildcard characters: False
```
### -IgnoreDynamicParameters
Skip resolving dynamic parameters; this should be used when running a script or running this command as a job.
```yaml
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -Location
The location to store deployment data.
Expand Down Expand Up @@ -266,6 +255,21 @@ 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 avoid generic error messages from being thrown.
```yaml
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -TemplateFile
Local path to the template file.
Expand Down
54 changes: 27 additions & 27 deletions src/Resources/Resources/help/New-AzResourceGroupDeployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ Adds an Azure deployment to a resource group.
```
New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mode <DeploymentMode>]
[-DeploymentDebugLogLevel <String>] [-RollbackToLastDeployment] [-RollBackDeploymentName <String>] [-Force]
[-AsJob] -TemplateFile <String> [-IgnoreDynamicParameters] [-ApiVersion <String>] [-Pre]
[-AsJob] -TemplateFile <String> [-SkipTemplateParameterPrompt] [-ApiVersion <String>] [-Pre]
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```

### ByTemplateObjectAndParameterObject
```
New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mode <DeploymentMode>]
[-DeploymentDebugLogLevel <String>] [-RollbackToLastDeployment] [-RollBackDeploymentName <String>] [-Force]
[-AsJob] -TemplateParameterObject <Hashtable> -TemplateObject <Hashtable> [-IgnoreDynamicParameters]
[-AsJob] -TemplateParameterObject <Hashtable> -TemplateObject <Hashtable> [-SkipTemplateParameterPrompt]
[-ApiVersion <String>] [-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```
Expand All @@ -34,7 +34,7 @@ New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mod
```
New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mode <DeploymentMode>]
[-DeploymentDebugLogLevel <String>] [-RollbackToLastDeployment] [-RollBackDeploymentName <String>] [-Force]
[-AsJob] -TemplateParameterObject <Hashtable> -TemplateFile <String> [-IgnoreDynamicParameters]
[-AsJob] -TemplateParameterObject <Hashtable> -TemplateFile <String> [-SkipTemplateParameterPrompt]
[-ApiVersion <String>] [-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```
Expand All @@ -43,7 +43,7 @@ New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mod
```
New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mode <DeploymentMode>]
[-DeploymentDebugLogLevel <String>] [-RollbackToLastDeployment] [-RollBackDeploymentName <String>] [-Force]
[-AsJob] -TemplateParameterObject <Hashtable> -TemplateUri <String> [-IgnoreDynamicParameters]
[-AsJob] -TemplateParameterObject <Hashtable> -TemplateUri <String> [-SkipTemplateParameterPrompt]
[-ApiVersion <String>] [-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```
Expand All @@ -52,7 +52,7 @@ New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mod
```
New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mode <DeploymentMode>]
[-DeploymentDebugLogLevel <String>] [-RollbackToLastDeployment] [-RollBackDeploymentName <String>] [-Force]
[-AsJob] -TemplateParameterFile <String> -TemplateObject <Hashtable> [-IgnoreDynamicParameters]
[-AsJob] -TemplateParameterFile <String> -TemplateObject <Hashtable> [-SkipTemplateParameterPrompt]
[-ApiVersion <String>] [-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```
Expand All @@ -61,7 +61,7 @@ New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mod
```
New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mode <DeploymentMode>]
[-DeploymentDebugLogLevel <String>] [-RollbackToLastDeployment] [-RollBackDeploymentName <String>] [-Force]
[-AsJob] -TemplateParameterFile <String> -TemplateFile <String> [-IgnoreDynamicParameters]
[-AsJob] -TemplateParameterFile <String> -TemplateFile <String> [-SkipTemplateParameterPrompt]
[-ApiVersion <String>] [-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```
Expand All @@ -70,7 +70,7 @@ New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mod
```
New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mode <DeploymentMode>]
[-DeploymentDebugLogLevel <String>] [-RollbackToLastDeployment] [-RollBackDeploymentName <String>] [-Force]
[-AsJob] -TemplateParameterFile <String> -TemplateUri <String> [-IgnoreDynamicParameters]
[-AsJob] -TemplateParameterFile <String> -TemplateUri <String> [-SkipTemplateParameterPrompt]
[-ApiVersion <String>] [-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```
Expand All @@ -79,7 +79,7 @@ New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mod
```
New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mode <DeploymentMode>]
[-DeploymentDebugLogLevel <String>] [-RollbackToLastDeployment] [-RollBackDeploymentName <String>] [-Force]
[-AsJob] -TemplateParameterUri <String> -TemplateObject <Hashtable> [-IgnoreDynamicParameters]
[-AsJob] -TemplateParameterUri <String> -TemplateObject <Hashtable> [-SkipTemplateParameterPrompt]
[-ApiVersion <String>] [-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```
Expand All @@ -88,7 +88,7 @@ New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mod
```
New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mode <DeploymentMode>]
[-DeploymentDebugLogLevel <String>] [-RollbackToLastDeployment] [-RollBackDeploymentName <String>] [-Force]
[-AsJob] -TemplateParameterUri <String> -TemplateFile <String> [-IgnoreDynamicParameters]
[-AsJob] -TemplateParameterUri <String> -TemplateFile <String> [-SkipTemplateParameterPrompt]
[-ApiVersion <String>] [-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```
Expand All @@ -97,7 +97,7 @@ New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mod
```
New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mode <DeploymentMode>]
[-DeploymentDebugLogLevel <String>] [-RollbackToLastDeployment] [-RollBackDeploymentName <String>] [-Force]
[-AsJob] -TemplateParameterUri <String> -TemplateUri <String> [-IgnoreDynamicParameters]
[-AsJob] -TemplateParameterUri <String> -TemplateUri <String> [-SkipTemplateParameterPrompt]
[-ApiVersion <String>] [-Pre] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```
Expand All @@ -106,15 +106,15 @@ New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mod
```
New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mode <DeploymentMode>]
[-DeploymentDebugLogLevel <String>] [-RollbackToLastDeployment] [-RollBackDeploymentName <String>] [-Force]
[-AsJob] -TemplateObject <Hashtable> [-IgnoreDynamicParameters] [-ApiVersion <String>] [-Pre]
[-AsJob] -TemplateObject <Hashtable> [-SkipTemplateParameterPrompt] [-ApiVersion <String>] [-Pre]
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```

### ByTemplateUriWithNoParameters
```
New-AzResourceGroupDeployment [-Name <String>] -ResourceGroupName <String> [-Mode <DeploymentMode>]
[-DeploymentDebugLogLevel <String>] [-RollbackToLastDeployment] [-RollBackDeploymentName <String>] [-Force]
[-AsJob] -TemplateUri <String> [-IgnoreDynamicParameters] [-ApiVersion <String>] [-Pre]
[-AsJob] -TemplateUri <String> [-SkipTemplateParameterPrompt] [-ApiVersion <String>] [-Pre]
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
```

Expand Down Expand Up @@ -242,21 +242,6 @@ Accept pipeline input: False
Accept wildcard characters: False
```
### -IgnoreDynamicParameters
Skip resolving dynamic parameters; this should be used when running a script or running this command as a job.
```yaml
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -Mode
Specifies the deployment mode. The acceptable values for this parameter are:
- Complete
Expand Down Expand Up @@ -353,6 +338,21 @@ 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 avoid generic error messages from being thrown.
```yaml
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -TemplateFile
Specifies the full path of a JSON template file.
This can be a custom template or a gallery template that is saved as a JSON file, such as one created by using the **Save-AzResourceGroupGalleryTemplate** cmdlet.
Expand Down
Loading

0 comments on commit 5e3f943

Please sign in to comment.