From d846a757271ba1097c52ef466fae26dd0d9538dc Mon Sep 17 00:00:00 2001 From: wyunchi-ms Date: Wed, 17 Jun 2020 13:51:11 +0800 Subject: [PATCH 1/2] Make Sha256Checksum optional in `New-AzImageBuilderCustomizerObject` --- src/ImageBuilder/Az.ImageBuilder.psd1 | 2 +- src/ImageBuilder/ChangeLog.md | 3 +++ src/ImageBuilder/Properties/AssemblyInfo.cs | 4 ++-- .../New-AzImageBuilderCustomizerObject.ps1 | 6 +++--- .../New-AzImageBuilderCustomizerObject.ps1 | 16 ++++++++-------- .../exports/ProxyCmdletDefinitions.ps1 | 16 ++++++++-------- .../runtime/BuildTime/Cmdlets/ExportPsd1.cs | 2 +- .../help/New-AzImageBuilderCustomizerObject.md | 14 +++++++------- src/ImageBuilder/help/readme.md | 11 +++++++++++ src/ImageBuilder/readme.md | 2 +- 10 files changed, 45 insertions(+), 31 deletions(-) create mode 100644 src/ImageBuilder/help/readme.md diff --git a/src/ImageBuilder/Az.ImageBuilder.psd1 b/src/ImageBuilder/Az.ImageBuilder.psd1 index 7d8e7069df23..94ab21b8caf3 100644 --- a/src/ImageBuilder/Az.ImageBuilder.psd1 +++ b/src/ImageBuilder/Az.ImageBuilder.psd1 @@ -1,7 +1,7 @@ @{ GUID = 'bdedc683-d9b6-41ea-b310-d068b8c72305' RootModule = './Az.ImageBuilder.psm1' - ModuleVersion = '0.1.0' + ModuleVersion = '0.1.1' CompatiblePSEditions = 'Core', 'Desktop' Author = 'Microsoft Corporation' CompanyName = 'Microsoft Corporation' diff --git a/src/ImageBuilder/ChangeLog.md b/src/ImageBuilder/ChangeLog.md index b76ecb79cf4a..3413f2dc2f2b 100644 --- a/src/ImageBuilder/ChangeLog.md +++ b/src/ImageBuilder/ChangeLog.md @@ -19,6 +19,9 @@ --> ## Upcoming Release +## Version 0.1.1 +* Made `Sha256Checksum` optional in `New-AzImageBuilderCustomizerObject`. + ## Version 0.1.0 * the first preview release diff --git a/src/ImageBuilder/Properties/AssemblyInfo.cs b/src/ImageBuilder/Properties/AssemblyInfo.cs index 7d67f4bd48f8..9437989f0549 100644 --- a/src/ImageBuilder/Properties/AssemblyInfo.cs +++ b/src/ImageBuilder/Properties/AssemblyInfo.cs @@ -24,5 +24,5 @@ [assembly: ComVisible(false)] [assembly: CLSCompliant(false)] [assembly: Guid("032C639A-AFE3-4DEE-8B70-6B920335732D")] -[assembly: AssemblyVersion("0.1.0")] -[assembly: AssemblyFileVersion("0.1.0")] \ No newline at end of file +[assembly: AssemblyVersion("0.1.1")] +[assembly: AssemblyFileVersion("0.1.1")] \ No newline at end of file diff --git a/src/ImageBuilder/custom/New-AzImageBuilderCustomizerObject.ps1 b/src/ImageBuilder/custom/New-AzImageBuilderCustomizerObject.ps1 index e3aab6aadb99..874785a31244 100644 --- a/src/ImageBuilder/custom/New-AzImageBuilderCustomizerObject.ps1 +++ b/src/ImageBuilder/custom/New-AzImageBuilderCustomizerObject.ps1 @@ -41,9 +41,9 @@ function New-AzImageBuilderCustomizerObject { [Microsoft.Azure.PowerShell.Cmdlets.ImageBuilder.Category('Body')] [string] ${ScriptUri}, - [Parameter(ParameterSetName='ShellCustomizer', Mandatory, HelpMessage="SHA256 checksum of the shell script provided in the scriptUri field.")] - [Parameter(ParameterSetName='FileCustomizer', Mandatory, HelpMessage="SHA256 checksum of the shell script provided in the scriptUri field.")] - [Parameter(ParameterSetName='PowerShellCustomizer', Mandatory, HelpMessage="SHA256 checksum of the shell script provided in the scriptUri field.")] + [Parameter(ParameterSetName='ShellCustomizer', HelpMessage="SHA256 checksum of the shell script provided in the scriptUri field.")] + [Parameter(ParameterSetName='FileCustomizer', HelpMessage="SHA256 checksum of the shell script provided in the scriptUri field.")] + [Parameter(ParameterSetName='PowerShellCustomizer', HelpMessage="SHA256 checksum of the shell script provided in the scriptUri field.")] [Microsoft.Azure.PowerShell.Cmdlets.ImageBuilder.Category('Body')] [string] ${Sha256Checksum}, diff --git a/src/ImageBuilder/exports/New-AzImageBuilderCustomizerObject.ps1 b/src/ImageBuilder/exports/New-AzImageBuilderCustomizerObject.ps1 index d9bb62593a9e..d5384a9addba 100644 --- a/src/ImageBuilder/exports/New-AzImageBuilderCustomizerObject.ps1 +++ b/src/ImageBuilder/exports/New-AzImageBuilderCustomizerObject.ps1 @@ -67,14 +67,6 @@ param( # Friendly Name to provide context on what this customization step does. ${CustomizerName}, - [Parameter(ParameterSetName='ShellCustomizer', Mandatory)] - [Parameter(ParameterSetName='PowerShellCustomizer', Mandatory)] - [Parameter(ParameterSetName='FileCustomizer', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.ImageBuilder.Category('Body')] - [System.String] - # SHA256 checksum of the shell script provided in the scriptUri field. - ${Sha256Checksum}, - [Parameter(ParameterSetName='ShellCustomizer', Mandatory)] [Microsoft.Azure.PowerShell.Cmdlets.ImageBuilder.Category('Body')] [System.Management.Automation.SwitchParameter] @@ -98,6 +90,14 @@ param( # It can be a github link, SAS URI for Azure Storage, etc. ${ScriptUri}, + [Parameter(ParameterSetName='ShellCustomizer')] + [Parameter(ParameterSetName='PowerShellCustomizer')] + [Parameter(ParameterSetName='FileCustomizer')] + [Microsoft.Azure.PowerShell.Cmdlets.ImageBuilder.Category('Body')] + [System.String] + # SHA256 checksum of the shell script provided in the scriptUri field. + ${Sha256Checksum}, + [Parameter(ParameterSetName='PowerShellCustomizer', Mandatory)] [Microsoft.Azure.PowerShell.Cmdlets.ImageBuilder.Category('Body')] [System.Management.Automation.SwitchParameter] diff --git a/src/ImageBuilder/exports/ProxyCmdletDefinitions.ps1 b/src/ImageBuilder/exports/ProxyCmdletDefinitions.ps1 index 40c96ffd42c2..b398cbb016f4 100644 --- a/src/ImageBuilder/exports/ProxyCmdletDefinitions.ps1 +++ b/src/ImageBuilder/exports/ProxyCmdletDefinitions.ps1 @@ -1012,14 +1012,6 @@ param( # Friendly Name to provide context on what this customization step does. ${CustomizerName}, - [Parameter(ParameterSetName='ShellCustomizer', Mandatory)] - [Parameter(ParameterSetName='PowerShellCustomizer', Mandatory)] - [Parameter(ParameterSetName='FileCustomizer', Mandatory)] - [Microsoft.Azure.PowerShell.Cmdlets.ImageBuilder.Category('Body')] - [System.String] - # SHA256 checksum of the shell script provided in the scriptUri field. - ${Sha256Checksum}, - [Parameter(ParameterSetName='ShellCustomizer', Mandatory)] [Microsoft.Azure.PowerShell.Cmdlets.ImageBuilder.Category('Body')] [System.Management.Automation.SwitchParameter] @@ -1043,6 +1035,14 @@ param( # It can be a github link, SAS URI for Azure Storage, etc. ${ScriptUri}, + [Parameter(ParameterSetName='ShellCustomizer')] + [Parameter(ParameterSetName='PowerShellCustomizer')] + [Parameter(ParameterSetName='FileCustomizer')] + [Microsoft.Azure.PowerShell.Cmdlets.ImageBuilder.Category('Body')] + [System.String] + # SHA256 checksum of the shell script provided in the scriptUri field. + ${Sha256Checksum}, + [Parameter(ParameterSetName='PowerShellCustomizer', Mandatory)] [Microsoft.Azure.PowerShell.Cmdlets.ImageBuilder.Category('Body')] [System.Management.Automation.SwitchParameter] diff --git a/src/ImageBuilder/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs b/src/ImageBuilder/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs index 0aad0dbfa1fe..e4e5068dc7ed 100644 --- a/src/ImageBuilder/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs +++ b/src/ImageBuilder/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs @@ -49,7 +49,7 @@ protected override void ProcessRecord() throw new ArgumentException($"Custom folder '{CustomFolder}' does not exist"); } - string version = Convert.ToString(@"0.1.0"); + string version = Convert.ToString(@"0.1.1"); // Validate the module version should be semantic version // Following regex is official from https://semver.org/ Regex rx = new Regex(@"^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$", RegexOptions.Compiled); diff --git a/src/ImageBuilder/help/New-AzImageBuilderCustomizerObject.md b/src/ImageBuilder/help/New-AzImageBuilderCustomizerObject.md index 67c624efcf13..19b063a51bbd 100644 --- a/src/ImageBuilder/help/New-AzImageBuilderCustomizerObject.md +++ b/src/ImageBuilder/help/New-AzImageBuilderCustomizerObject.md @@ -14,20 +14,20 @@ Describes a unit of image customization ### ShellCustomizer (Default) ``` -New-AzImageBuilderCustomizerObject -CustomizerName -Sha256Checksum -ShellCustomizer - [-Inline ] [-ScriptUri ] [] +New-AzImageBuilderCustomizerObject -CustomizerName -ShellCustomizer [-Inline ] + [-ScriptUri ] [-Sha256Checksum ] [] ``` ### FileCustomizer ``` -New-AzImageBuilderCustomizerObject -CustomizerName -FileCustomizer -Sha256Checksum - [-Destination ] [-SourceUri ] [] +New-AzImageBuilderCustomizerObject -CustomizerName -FileCustomizer [-Destination ] + [-Sha256Checksum ] [-SourceUri ] [] ``` ### PowerShellCustomizer ``` -New-AzImageBuilderCustomizerObject -CustomizerName -PowerShellCustomizer -Sha256Checksum - [-Inline ] [-RunElevated ] [-ScriptUri ] [-ValidExitCode ] +New-AzImageBuilderCustomizerObject -CustomizerName -PowerShellCustomizer [-Inline ] + [-RunElevated ] [-ScriptUri ] [-Sha256Checksum ] [-ValidExitCode ] [] ``` @@ -320,7 +320,7 @@ Type: System.String Parameter Sets: FileCustomizer, PowerShellCustomizer, ShellCustomizer Aliases: -Required: True +Required: False Position: Named Default value: None Accept pipeline input: False diff --git a/src/ImageBuilder/help/readme.md b/src/ImageBuilder/help/readme.md new file mode 100644 index 000000000000..031fc4278b6e --- /dev/null +++ b/src/ImageBuilder/help/readme.md @@ -0,0 +1,11 @@ +# Docs +This directory contains the documentation of the cmdlets for the `Az.ImageBuilder` module. To run documentation generation, use the `generate-help.ps1` script at the root module folder. Files in this folder will *always be overriden on regeneration*. To update documentation examples, please use the `..\examples` folder. + +## Info +- Modifiable: no +- Generated: all +- Committed: yes +- Packaged: yes + +## Details +The process of documentation generation loads `Az.ImageBuilder` and analyzes the exported cmdlets from the module. It recognizes the [help comments](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_comment_based_help) that are generated into the scripts in the `..\exports` folder. Additionally, when writing custom cmdlets in the `..\custom` folder, you can use the help comments syntax, which decorate the exported scripts at build-time. The documentation examples are taken from the `..\examples` folder. \ No newline at end of file diff --git a/src/ImageBuilder/readme.md b/src/ImageBuilder/readme.md index 3f2978e26579..c25f3df4a846 100644 --- a/src/ImageBuilder/readme.md +++ b/src/ImageBuilder/readme.md @@ -53,7 +53,7 @@ input-file: - $(repo)/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/stable/2020-02-14/imagebuilder.json title: ImageBuilder -module-version: 0.1.0 +module-version: 0.1.1 subject-prefix: '' identity-correction-for-post: true From 7f4e8d7d7d816a16f4b1373b7f999352d939b1a7 Mon Sep 17 00:00:00 2001 From: wyunchi-ms Date: Wed, 17 Jun 2020 14:08:50 +0800 Subject: [PATCH 2/2] Make Sha256Checksum optional in `New-AzImageBuilderCustomizerObject` --- src/ImageBuilder/help/readme.md | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 src/ImageBuilder/help/readme.md diff --git a/src/ImageBuilder/help/readme.md b/src/ImageBuilder/help/readme.md deleted file mode 100644 index 031fc4278b6e..000000000000 --- a/src/ImageBuilder/help/readme.md +++ /dev/null @@ -1,11 +0,0 @@ -# Docs -This directory contains the documentation of the cmdlets for the `Az.ImageBuilder` module. To run documentation generation, use the `generate-help.ps1` script at the root module folder. Files in this folder will *always be overriden on regeneration*. To update documentation examples, please use the `..\examples` folder. - -## Info -- Modifiable: no -- Generated: all -- Committed: yes -- Packaged: yes - -## Details -The process of documentation generation loads `Az.ImageBuilder` and analyzes the exported cmdlets from the module. It recognizes the [help comments](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_comment_based_help) that are generated into the scripts in the `..\exports` folder. Additionally, when writing custom cmdlets in the `..\custom` folder, you can use the help comments syntax, which decorate the exported scripts at build-time. The documentation examples are taken from the `..\examples` folder. \ No newline at end of file