Az.CloudService update generation tool version: autorest.powershell v3->v4#28572
Az.CloudService update generation tool version: autorest.powershell v3->v4#28572lijinpei2008 wants to merge 18 commits intomainfrom
Conversation
| Thanks for your contribution! The pull request validation has started. Please revisit this comment for updated status. |
|
To the author of the pull request, |
There was a problem hiding this comment.
Pull Request Overview
This PR updates the Az.CloudService module from AutoRest PowerShell v3 to v4, involving a complete regeneration of the code structure and significant changes to model types, cmdlet APIs, and documentation.
Key Changes:
- Migration from AutoRest.PowerShell v3 to v4 generation tool
- Type system changes from API-specific models to generic models (e.g.,
Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.*toMicrosoft.Azure.PowerShell.Cmdlets.CloudService.Models.*) - Addition of new cmdlet parameter sets and JSON-based input options
Reviewed Changes
Copilot reviewed 87 out of 87 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| tools/StaticAnalysis/Exceptions/ | Static analysis exception files with duplicate entries for example and breaking change issues |
| src/CloudService/CloudService/help/ | Updated help documentation with corrected descriptions, parameter types, and new parameter sets |
| src/CloudService/CloudService.sln | Updated project GUID reference |
| src/CloudService/CloudService.Autorest/ | Complete regeneration with v4 tool including new autogen model cmdlets, updated custom files, and revised configuration |
| "Az.CloudService","New-AzCloudService","3","6","Invalid_Cmdlet","5000","1","Get-AzKeyVault is not a valid command name.","Get-AzKeyVault -ResourceGroupName ContosOrg -VaultName ContosKeyVault","Check the spell of Get-AzKeyVault." | ||
| "Az.CloudService","New-AzCloudService","3","7","Invalid_Cmdlet","5000","1","Get-AzKeyVaultCertificate is not a valid command name.","Get-AzKeyVaultCertificate -VaultName ContosKeyVault -Name ContosCert","Check the spell of Get-AzKeyVaultCertificate." | ||
| "Az.CloudService","New-AzCloudServiceVaultSecretGroupObject","1","1","Invalid_Cmdlet","5000","1","Get-AzKeyVault is not a valid command name.","Get-AzKeyVault -VaultName 'ContosoKeyVault'","Check the spell of Get-AzKeyVault." | ||
| "Az.CloudService","New-AzCloudServiceVaultSecretGroupObject","1","2","Invalid_Cmdlet","5000","1","Get-AzKeyVaultCertificate is not a valid command name.","Get-AzKeyVaultCertificate -VaultName 'ContosoKeyVault' -Name 'ContosoCert'","Check the spell of Get-AzKeyVaultCertificate." |
There was a problem hiding this comment.
This file contains duplicate entries (lines 2-5 and 6-9 are identical). Remove the duplicate entries to avoid confusion and maintain a cleaner exception file.
| "Az.CloudService","New-AzCloudService","3","6","Invalid_Cmdlet","5000","1","Get-AzKeyVault is not a valid command name.","Get-AzKeyVault -ResourceGroupName ContosOrg -VaultName ContosKeyVault","Check the spell of Get-AzKeyVault." | |
| "Az.CloudService","New-AzCloudService","3","7","Invalid_Cmdlet","5000","1","Get-AzKeyVaultCertificate is not a valid command name.","Get-AzKeyVaultCertificate -VaultName ContosKeyVault -Name ContosCert","Check the spell of Get-AzKeyVaultCertificate." | |
| "Az.CloudService","New-AzCloudServiceVaultSecretGroupObject","1","1","Invalid_Cmdlet","5000","1","Get-AzKeyVault is not a valid command name.","Get-AzKeyVault -VaultName 'ContosoKeyVault'","Check the spell of Get-AzKeyVault." | |
| "Az.CloudService","New-AzCloudServiceVaultSecretGroupObject","1","2","Invalid_Cmdlet","5000","1","Get-AzKeyVaultCertificate is not a valid command name.","Get-AzKeyVaultCertificate -VaultName 'ContosoKeyVault' -Name 'ContosoCert'","Check the spell of Get-AzKeyVaultCertificate." |
| "Az.CloudService","Update-AzCloudService","Update-AzCloudService","0","3000","The type of property 'Zone' of type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ICloudService' has changed from 'System.String[]' to 'System.Collections.Generic.List`1[System.String]'.","Change the type of property 'Zone' back to 'System.String[]'." | ||
| "Az.CloudService","Update-AzCloudService","Update-AzCloudService","0","3000","The type of property 'UpgradeMode' of type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ICloudService' has changed from 'System.Nullable`1[Microsoft.Azure.PowerShell.Cmdlets.CloudService.Support.CloudServiceUpgradeMode]' to 'System.String'.","Change the type of property 'UpgradeMode' back to 'System.Nullable`1[Microsoft.Azure.PowerShell.Cmdlets.CloudService.Support.CloudServiceUpgradeMode]'." | ||
| "Az.CloudService","Update-AzCloudService","Update-AzCloudService","0","3010","The property 'ResourceGroupName' of type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ICloudService' has been removed.","Add the property 'ResourceGroupName' back to type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ICloudService'." |
There was a problem hiding this comment.
Lines 119-121 are exact duplicates of lines 116-118. Remove the duplicate entries to maintain file integrity and prevent confusion.
| "Az.CloudService","Update-AzCloudService","Update-AzCloudService","0","3000","The type of property 'Zone' of type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ICloudService' has changed from 'System.String[]' to 'System.Collections.Generic.List`1[System.String]'.","Change the type of property 'Zone' back to 'System.String[]'." | |
| "Az.CloudService","Update-AzCloudService","Update-AzCloudService","0","3000","The type of property 'UpgradeMode' of type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ICloudService' has changed from 'System.Nullable`1[Microsoft.Azure.PowerShell.Cmdlets.CloudService.Support.CloudServiceUpgradeMode]' to 'System.String'.","Change the type of property 'UpgradeMode' back to 'System.Nullable`1[Microsoft.Azure.PowerShell.Cmdlets.CloudService.Support.CloudServiceUpgradeMode]'." | |
| "Az.CloudService","Update-AzCloudService","Update-AzCloudService","0","3010","The property 'ResourceGroupName' of type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ICloudService' has been removed.","Add the property 'ResourceGroupName' back to type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ICloudService'." |
… jinpei/main/CloudService-updatev4
|
|
|
This PR was labeled "needs-revision" because it has unresolved review comments or CI failures. |
|
/azp run |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
| @@ -0,0 +1,20 @@ | |||
| "Module","Cmdlet","Example","Line","RuleName","ProblemId","Severity","Description","Extent","Remediation" | |||
| "Az.CloudService","New-AzCloudService","3","6","Invalid_Cmdlet","5000","1","Get-AzKeyVault is not a valid command name.","Get-AzKeyVault -ResourceGroupName ContosOrg -VaultName ContosKeyVault","Check the spell of Get-AzKeyVault." | |||
There was a problem hiding this comment.
The remediation text says "Check the spell of ..."; this should be "Check the spelling of ..." for correct grammar.
| "Az.CloudService","Update-AzCloudService","Update-AzCloudService","0","3000","The type of property 'UpgradeMode' of type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ICloudService' has changed from 'System.Nullable`1[Microsoft.Azure.PowerShell.Cmdlets.CloudService.Support.CloudServiceUpgradeMode]' to 'System.String'.","Change the type of property 'UpgradeMode' back to 'System.Nullable`1[Microsoft.Azure.PowerShell.Cmdlets.CloudService.Support.CloudServiceUpgradeMode]'." | ||
| "Az.CloudService","Update-AzCloudService","Update-AzCloudService","0","3010","The property 'ResourceGroupName' of type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ICloudService' has been removed.","Add the property 'ResourceGroupName' back to type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ICloudService'." | ||
| "Az.CloudService","Update-AzCloudService","Update-AzCloudService","0","3000","The type of property 'Zone' of type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ICloudService' has changed from 'System.String[]' to 'System.Collections.Generic.List`1[System.String]'.","Change the type of property 'Zone' back to 'System.String[]'." | ||
| "Az.CloudService","Update-AzCloudService","Update-AzCloudService","0","3000","The type of property 'UpgradeMode' of type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ICloudService' has changed from 'System.Nullable`1[Microsoft.Azure.PowerShell.Cmdlets.CloudService.Support.CloudServiceUpgradeMode]' to 'System.String'.","Change the type of property 'UpgradeMode' back to 'System.Nullable`1[Microsoft.Azure.PowerShell.Cmdlets.CloudService.Support.CloudServiceUpgradeMode]'." | ||
| "Az.CloudService","Update-AzCloudService","Update-AzCloudService","0","3010","The property 'ResourceGroupName' of type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ICloudService' has been removed.","Add the property 'ResourceGroupName' back to type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ICloudService'." | ||
| "Az.CloudService","Update-AzCloudService","Update-AzCloudService","0","3000","The type of property 'Zone' of type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ICloudService' has changed from 'System.String[]' to 'System.Collections.Generic.List`1[System.String]'.","Change the type of property 'Zone' back to 'System.String[]'." No newline at end of file |
There was a problem hiding this comment.
BreakingChangeIssues.csv includes duplicated entries at the end (the Update-AzCloudService ResourceGroupName/Zone/type-change rows appear twice). Please de-duplicate identical rows to keep the exception list maintainable.
| ## SYNOPSIS | ||
| Updates the role instances in the specified update domain. | ||
| Walk the role instances in the specified walk domain. | ||
|
|
There was a problem hiding this comment.
Set-AzCloudServiceUpdateDomain help text uses "Walk" and "walk domain" in synopsis/description. Since the public cmdlet is still "Set-...UpdateDomain", the synopsis/description should describe updating role instances in an update domain (avoid exposing internal operation naming like "Walk"/"walk domain").
|
|
||
| ## SYNOPSIS | ||
| Updates the role instances in the specified update domain. | ||
| Walk the role instances in the specified walk domain. | ||
|
|
There was a problem hiding this comment.
Set-AzCloudServiceUpdateDomain help text uses "Walk" and "walk domain" in synopsis/description. Please update wording to describe update domain behavior consistent with the cmdlet name.
| subject: ^WalkCloudServiceUpdateDomain$ | ||
| variant: ^Walk$ | ||
| subject: ^WalkCloudServicesUpdateDomain$ | ||
| variant: ^Walk$|^WalkViaIdentity$|^WalkViaIdentityCloudService$|^WalkViaIdentityCloudServiceExpanded$|^WalkViaIdentityExpanded$|^WalkViaJsonFilePathViaJsonFilePath$|^WalkViaJsonStringViaJsonString$ |
There was a problem hiding this comment.
AutoRest README directive regex patterns include what look like duplicated parameter-set suffixes (e.g., RebuildViaJsonFilePathViaJsonFilePath, WalkViaJsonStringViaJsonString). These likely won't match the actual generated variant names (e.g., RebuildViaJsonFilePath, WalkViaJsonString), so the directives may not apply. Please verify/update the variant regexes to match the real parameter set names produced by the generator.
| variant: ^Walk$|^WalkViaIdentity$|^WalkViaIdentityCloudService$|^WalkViaIdentityCloudServiceExpanded$|^WalkViaIdentityExpanded$|^WalkViaJsonFilePathViaJsonFilePath$|^WalkViaJsonStringViaJsonString$ | |
| variant: ^Walk$|^WalkViaIdentity$|^WalkViaIdentityCloudService$|^WalkViaIdentityCloudServiceExpanded$|^WalkViaIdentityExpanded$|^WalkViaJsonFilePath$|^WalkViaJsonString$ |
|
|
||
| # Modules that must be imported into the global environment prior to importing this module | ||
| RequiredModules = @(@{ModuleName = 'Az.Accounts'; ModuleVersion = '5.3.2'; }) | ||
| RequiredModules = @(@{ModuleName = 'Az.Accounts'; ModuleVersion = '5.3.3'; }) |
There was a problem hiding this comment.
Az.CloudService now requires Az.Accounts 5.3.3 (was 5.3.2). Raising the minimum dependency can be a breaking change for users/environments; please confirm this bump is required for the AutoRest v4 output and that release notes/documentation reflect the new minimum.
| "Az.CloudService","New-AzCloudService","3","6","Invalid_Cmdlet","5000","1","Get-AzKeyVault is not a valid command name.","Get-AzKeyVault -ResourceGroupName ContosOrg -VaultName ContosKeyVault","Check the spell of Get-AzKeyVault." | ||
| "Az.CloudService","New-AzCloudService","3","7","Invalid_Cmdlet","5000","1","Get-AzKeyVaultCertificate is not a valid command name.","Get-AzKeyVaultCertificate -VaultName ContosKeyVault -Name ContosCert","Check the spell of Get-AzKeyVaultCertificate." | ||
| "Az.CloudService","New-AzCloudServiceVaultSecretGroupObject","1","1","Invalid_Cmdlet","5000","1","Get-AzKeyVault is not a valid command name.","Get-AzKeyVault -VaultName 'ContosoKeyVault'","Check the spell of Get-AzKeyVault." | ||
| "Az.CloudService","New-AzCloudServiceVaultSecretGroupObject","1","2","Invalid_Cmdlet","5000","1","Get-AzKeyVaultCertificate is not a valid command name.","Get-AzKeyVaultCertificate -VaultName 'ContosoKeyVault' -Name 'ContosoCert'","Check the spell of Get-AzKeyVaultCertificate." | ||
| "Az.CloudService","New-AzCloudService","3","6","Invalid_Cmdlet","5000","1","Get-AzKeyVault is not a valid command name.","Get-AzKeyVault -ResourceGroupName ContosOrg -VaultName ContosKeyVault","Check the spell of Get-AzKeyVault." | ||
| "Az.CloudService","New-AzCloudService","3","7","Invalid_Cmdlet","5000","1","Get-AzKeyVaultCertificate is not a valid command name.","Get-AzKeyVaultCertificate -VaultName ContosKeyVault -Name ContosCert","Check the spell of Get-AzKeyVaultCertificate." |
There was a problem hiding this comment.
ExampleIssues.csv contains duplicate exception records (e.g., the Invalid_Cmdlet entries for New-AzCloudService example 3/lines 6-7 are repeated). Duplicates add noise and slow down exception matching; please de-duplicate identical rows.
| "Az.CloudService","Update-AzCloudService","1","2","Unassigned_Variable","5110","2","New-AzCloudServiceRemoteDesktopExtensionObject -Expiration $expiration is a null-valued parameter value.","-Expiration","Assign value for $expiration." | ||
| "Az.CloudService","New-AzCloudService","5","2","Invalid_Cmdlet","5000","1","New-AzStorageAccount is not a valid command name.","New-AzStorageAccount -ResourceGroupName ContosoOrg -Name ContosoStorAcc -Location 'East US' -SkuName 'Standard_RAGRS' -Kind 'StorageV2'","Check the spell of New-AzStorageAccount." | ||
| "Az.CloudService","New-AzCloudService","2","6","Invalid_Cmdlet","5000","1","Get-AzPublicIpAddress is not a valid command name.","Get-AzPublicIpAddress -ResourceGroupName ContosoOrg -Name ContosIp","Check the spell of Get-AzPublicIpAddress." | ||
| "Az.CloudService","New-AzCloudService","1","6","ParameterNameAndValue\Measure-ParameterNameAndValue","5200","1","Exception calling 'FindAll' with '2' argument(s): 'Cannot index into a null array.'","ContosIp","Unexpected Error. Please check [Trouble Shotting for Unexpected Errors in Example Issues](https://github.com/Azure/azure-powershell/blob/main/documentation/Debugging-StaticAnalysis-Errors.md#Troubleshotting-Example-Issues) for more details." No newline at end of file |
There was a problem hiding this comment.
Remediation text contains a typo ("Trouble Shotting"). Consider changing to "Troubleshooting" to match standard wording.
| ## SYNOPSIS | ||
| Create or update a cloud service. | ||
| Create a cloud service. | ||
| Please note some properties can be set only during cloud service creation. |
There was a problem hiding this comment.
Update-AzCloudService help synopsis now says "Create a cloud service", which is misleading for an Update cmdlet (and contradicts the cmdlet name). Please adjust synopsis/description to reflect that this cmdlet updates (and/or creates-or-updates) a cloud service.
|
|
||
| ## SYNOPSIS | ||
| Create or update a cloud service. | ||
| Create a cloud service. | ||
| Please note some properties can be set only during cloud service creation. | ||
|
|
There was a problem hiding this comment.
Update-AzCloudService help synopsis now says "Create a cloud service", which is misleading for an Update cmdlet. Please adjust synopsis/description to reflect update (or create-or-update) behavior.
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 89 out of 89 changed files in this pull request and generated 15 comments.
Comments suppressed due to low confidence (1)
src/CloudService/CloudService.Autorest/custom/New-AzCloudServiceExtensionObject.ps1:62
New-AzCloudServiceExtensionObjectnow instantiatesMicrosoft.Azure.PowerShell.Cmdlets.CloudService.Models.Extension, but the generated type isMicrosoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.Extension. If the model namespace was not regenerated, this will cause runtime failures. Please use the correct generated type namespace (or ensure the generator output includes the non-versioned model types).
function New-AzCloudServiceExtensionObject {
[Microsoft.Azure.PowerShell.Cmdlets.CloudService.ModelCmdletAttribute()]
[OutputType('Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Extension')]
[Microsoft.Azure.PowerShell.Cmdlets.CloudService.Runtime.OutputBreakingChangeAttribute("Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Extension", "16.0.0", "9.0.0", "May 2026", ReplacementCmdletOutputType = "Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Extension", DeprecatedOutputProperties = ("RolesAppliedTo System.String[]"), NewOutputProperties = ("RolesAppliedTo System.Collections.Generic.List`1[System.String]"))]
[CmdletBinding(PositionalBinding=$false)]
Param(
[Parameter(HelpMessage="Explicitly specify whether CRP can automatically upgrade typeHandlerVersion to higher minor versions when they become available.")]
[bool]
$AutoUpgradeMinorVersion,
[Parameter(HelpMessage="Name.")]
[string]
$Name,
[Parameter(HelpMessage="Protected settings for the extension which are encrypted before sent to the VM.")]
[string]
$ProtectedSetting,
[Parameter(HelpMessage="Publisher.")]
[string]
$Publisher,
[Parameter(HelpMessage="RolesAppliedTo.")]
[string[]]
$RolesAppliedTo,
[Parameter(HelpMessage="Public settings for the extension.")]
[string]
$Setting,
[Parameter(HelpMessage="Type.")]
[string]
$Type,
[Parameter(HelpMessage="TypeHandlerVersion.")]
[string]
$TypeHandlerVersion
)
process {
$Object = [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Extension]::New()
$Object.AutoUpgradeMinorVersion = $AutoUpgradeMinorVersion
$Object.Name = $Name
$Object.ProtectedSetting = $ProtectedSetting
$Object.Publisher = $Publisher
$Object.RolesAppliedTo = $RolesAppliedTo
| ## PARAMETERS | ||
|
|
||
| ### -Name | ||
| Name of role profile. | ||
| Resource name. | ||
|
|
There was a problem hiding this comment.
The parameter description for -Name was changed to the very generic "Resource name." For this cmdlet it represents the role profile name (as shown in the example), so this description is likely too vague and may confuse users. Please update it to a more specific description (e.g., role profile name / role name).
| ## Upcoming Release | ||
| * Improved user experience and consistency. This may introduce breaking changes. Please refer to [here](https://go.microsoft.com/fwlink/?linkid=2340249). | ||
|
|
There was a problem hiding this comment.
The new changelog entry is very broad ("Improved user experience and consistency") and doesn’t reference the related issues mentioned in the PR description. Since this is user-facing release notes, please make the entry more specific about what changed and include the relevant issue references (e.g., [#28470], [#29145]) if applicable.
| function New-AzCloudServiceExtensionObject { | ||
| [Microsoft.Azure.PowerShell.Cmdlets.CloudService.ModelCmdletAttribute()] | ||
| [OutputType('Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Extension')] | ||
| [CmdletBinding(PositionalBinding=$false)] | ||
| Param( | ||
|
|
||
| [Parameter(HelpMessage="Explicitly specify whether platform can automatically upgrade typeHandlerVersion to higher minor versions when they become available.")] | ||
| [bool] | ||
| $AutoUpgradeMinorVersion, | ||
| [Parameter(HelpMessage="Tag to force apply the provided public and protected settings. | ||
| Changing the tag value allows for re-running the extension without changing any of the public or protected settings. | ||
| If forceUpdateTag is not changed, updates to public or protected settings would still be applied by the handler. | ||
| If neither forceUpdateTag nor any of public or protected settings change, extension would flow to the role instance with the same sequence-number, and | ||
| it is up to handler implementation whether to re-run it or not.")] | ||
| [string] | ||
| $ForceUpdateTag, | ||
| [Parameter(HelpMessage="The name of the extension.")] | ||
| [string] | ||
| $Name, | ||
| [Parameter(HelpMessage="Protected settings for the extension which are encrypted before sent to the role instance.")] | ||
| [string] | ||
| $ProtectedSetting, | ||
| [Parameter(HelpMessage="Secret URL which contains the protected settings of the extension.")] | ||
| [string] | ||
| $ProtectedSettingFromKeyVaultSecretUrl, | ||
| [Parameter(HelpMessage="The name of the extension handler publisher.")] | ||
| [string] | ||
| $Publisher, | ||
| [Parameter(HelpMessage="Optional list of roles to apply this extension. If property is not specified or '*' is specified, extension is applied to all roles in the cloud service.")] | ||
| [string[]] | ||
| $RolesAppliedTo, | ||
| [Parameter(HelpMessage="Public settings for the extension. For JSON extensions, this is the JSON settings for the extension. For XML Extension (like RDP), this is the XML setting for the extension.")] | ||
| [string] | ||
| $Setting, | ||
| [Parameter(HelpMessage="Resource Id.")] | ||
| [string] | ||
| $SourceVaultId, | ||
| [Parameter(HelpMessage="Specifies the type of the extension.")] | ||
| [string] | ||
| $Type, | ||
| [Parameter(HelpMessage="Specifies the version of the extension. Specifies the version of the extension. If this element is not specified or an asterisk (*) is used as the value, the latest version of the extension is used. If the value is specified with a major version number and an asterisk as the minor version number (X.), the latest minor version of the specified major version is selected. If a major version number and a minor version number are specified (X.Y), the specific extension version is selected. If a version is specified, an auto-upgrade is performed on the role instance.")] | ||
| [string] | ||
| $TypeHandlerVersion | ||
| ) | ||
|
|
||
| process { | ||
| $Object = [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Extension]::New() | ||
|
|
There was a problem hiding this comment.
This new model-cmdlet implementation references Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Extension, but the generated model is currently Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.Extension. If non-versioned models aren’t generated, this cmdlet will fail when invoked/imported. Please use the correct generated model namespace or include the regenerated types.
| external help file: Az.CloudService-help.xml | ||
| Module Name: Az.CloudService | ||
| online version: https://learn.microsoft.com/powershell/module/az.cloudservice/new-azcloudservicevaultsecretgroupobject | ||
| online version: https://learn.microsoft.com/powershell/module/Az.CloudService/new-azcloudservicevaultsecretgroupobject | ||
| schema: 2.0.0 |
There was a problem hiding this comment.
The online version link was changed to use .../module/Az.CloudService/..., but the rest of this module’s help files (and existing Learn links in this repo) use the lowercase .../module/az.cloudservice/... form. Please keep the link format consistent across the module to avoid broken/duplicate URLs.
|
|
||
| [Parameter(ParameterSetName='quickCreateParameterSetWithoutStorage', HelpMessage="Describes a cloud service extension profile.")] | ||
| [Parameter(ParameterSetName='quickCreateParameterSetWithStorage', HelpMessage="Describes a cloud service extension profile.")] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Category('Body')] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ICloudServiceExtensionProfile] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.ICloudServiceExtensionProfile] | ||
| # Describes a cloud service extension profile. | ||
| # To construct, see NOTES section for EXTENSIONPROFILE properties and create a hash table. | ||
| ${ExtensionProfile}, | ||
|
|
||
| [Parameter(ParameterSetName='quickCreateParameterSetWithoutStorage', HelpMessage="Indicates whether to start the cloud service immediately after it is created.")] | ||
| [Parameter(ParameterSetName='quickCreateParameterSetWithStorage', HelpMessage="Indicates whether to start the cloud service immediately after it is created.")] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Category('Body')] | ||
| [System.Management.Automation.SwitchParameter] | ||
| # (Optional) Indicates whether to start the cloud service immediately after it is created. | ||
| # The default value is `true`.If false, the service model is still deployed, but the code is not run immediately. | ||
| # Instead, the service is PoweredOff until you call Start, at which time the service will be started. | ||
| # A deployed service still incurs charges, even if it is poweredoff. | ||
| ${StartCloudService}, | ||
|
|
||
| [Parameter(ParameterSetName='quickCreateParameterSetWithoutStorage')] | ||
| [Parameter(ParameterSetName='quickCreateParameterSetWithStorage')] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Category('Body')] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ICloudServiceTags]))] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.ICloudServiceTags]))] | ||
| [System.Collections.Hashtable] | ||
| # Resource tags. | ||
| ${Tag}, | ||
|
|
||
| [Parameter(ParameterSetName='quickCreateParameterSetWithoutStorage', HelpMessage="Update mode for the cloud service.")] | ||
| [Parameter(ParameterSetName='quickCreateParameterSetWithStorage', HelpMessage="Update mode for the cloud service.")] | ||
| [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.CloudService.Support.CloudServiceUpgradeMode])] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.CloudService.PSArgumentCompleterAttribute("Auto", "Manual", "Simultaneous")] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Category('Body')] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Support.CloudServiceUpgradeMode] | ||
| [System.String] | ||
| # Update mode for the cloud service. |
There was a problem hiding this comment.
Several parameter/type annotations were switched from Models.Api20220904.* to Models.* (e.g., ICloudServiceExtensionProfile, ICloudServiceTags, and ICloudServiceUpgradeMode). In the current generated code, these non-versioned types do not exist (only identities are in Models, while service models remain under Models.Api20220904), so the cmdlet will fail to load/bind types. Please keep the versioned model namespaces (or include the corresponding regenerated model types in the module output).
| function New-AzCloudServiceLoadBalancerConfigurationObject { | ||
| [OutputType('Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.LoadBalancerConfiguration')] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Runtime.OutputBreakingChangeAttribute("Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.LoadBalancerConfiguration", "16.0.0", "9.0.0", "May 2026", ReplacementCmdletOutputType = "Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.LoadBalancerConfiguration", DeprecatedOutputProperties = ("FrontendIPConfiguration Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.ILoadBalancerFrontendIPConfiguration"), NewOutputProperties = ("FrontendIPConfiguration System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.ILoadBalancerFrontendIPConfiguration]"))] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.CloudService.ModelCmdletAttribute()] | ||
| [OutputType('Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.LoadBalancerConfiguration')] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Runtime.OutputBreakingChangeAttribute("Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.LoadBalancerConfiguration", "16.0.0", "9.0.0", "May 2026", ReplacementCmdletOutputType = "Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.LoadBalancerConfiguration", DeprecatedOutputProperties = ("FrontendIPConfiguration Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.ILoadBalancerFrontendIPConfiguration"), NewOutputProperties = ("FrontendIPConfiguration System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.ILoadBalancerFrontendIPConfiguration]"))] | ||
| [CmdletBinding(PositionalBinding=$false)] | ||
| Param( | ||
|
|
||
| [Parameter(HelpMessage="FrontendIPConfiguration.")] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ILoadBalancerFrontendIPConfiguration[]] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.ILoadBalancerFrontendIPConfiguration[]] | ||
| $FrontendIPConfiguration, | ||
| [Parameter(HelpMessage="Name of LoadBalancerConfiguration.")] | ||
| [string] | ||
| $Name | ||
| ) | ||
|
|
||
| process { | ||
| $Object = [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.LoadBalancerConfiguration]::New() | ||
| $Object = [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.LoadBalancerConfiguration]::New() | ||
|
|
||
| $Object.FrontendIPConfiguration = $FrontendIPConfiguration | ||
| $Object.Name = $Name |
There was a problem hiding this comment.
The model type for FrontendIPConfiguration was changed to Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.ILoadBalancerFrontendIPConfiguration[], but the generated interface currently lives under Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.ILoadBalancerFrontendIPConfiguration. If the non-versioned interface is not generated, this will break parameter binding/import. Please keep the type in the correct generated namespace (or regenerate models so the non-versioned interface exists).
| function New-AzCloudServiceLoadBalancerFrontendIPConfigurationObject { | ||
| [OutputType('Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.LoadBalancerFrontendIPConfiguration')] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.CloudService.ModelCmdletAttribute()] | ||
| [OutputType('Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.LoadBalancerFrontendIPConfiguration')] | ||
| [CmdletBinding(PositionalBinding=$false)] | ||
| Param( | ||
|
|
||
| [Parameter(HelpMessage="Name of FrontendIpConfiguration.")] | ||
| [Parameter(Mandatory, HelpMessage="The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource.")] | ||
| [string] | ||
| $Name, | ||
| [Parameter(ParameterSetName="DefaultParameterSet", HelpMessage="Resource Id.")] | ||
| [string] | ||
| $PublicIPAddressId, | ||
| [Parameter(ParameterSetName="PrivateIP", HelpMessage="Private IP Address")] | ||
| [Parameter(ParameterSetName="PrivateIP", HelpMessage="The virtual network private IP address of the IP configuration.")] | ||
| [string] | ||
| $PrivateIPAddress, | ||
| [Parameter(ParameterSetName="PrivateIP", HelpMessage="Subnet ID")] | ||
| [Parameter(ParameterSetName="PrivateIP", HelpMessage="Resource Id.")] | ||
| [string] | ||
| $SubnetId | ||
| ) | ||
|
|
||
| process { | ||
| $Object = [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.LoadBalancerFrontendIPConfiguration]::New() | ||
| $Object = [Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.LoadBalancerFrontendIPConfiguration]::New() | ||
|
|
||
| $Object.Name = $Name | ||
| if ($PSBoundParameters.ContainsKey("PublicIPAddressId")) { | ||
| if ($PSBoundParameters.ContainsKey('Name')) { | ||
| $Object.Name = $Name | ||
| } |
There was a problem hiding this comment.
This function was updated to instantiate Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.LoadBalancerFrontendIPConfiguration, but the generated model type is Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Api20220904.LoadBalancerFrontendIPConfiguration. Creating the non-versioned type will fail if it is not generated. Please align the instantiated type/namespace with the generated model, or include the regenerated model that provides the new namespace.
| @@ -31,4 +20,4 @@ public partial interface ICloudService | |||
| PossibleTypes = new [] { typeof(string) })] | |||
| string ResourceGroupName { get; } | |||
| } | |||
| } | |||
| } No newline at end of file | |||
There was a problem hiding this comment.
This file changed from extending Models.Api20220904.CloudService/Models.Api20220904.ICloudService to defining a new Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.ICloudService interface. In the current generated code, the ICloudService interface is in the Models.Api20220904 namespace, so this customization will not add ResourceGroupName to the actual output type used by cmdlets. Please apply the partial interface/property to the correct generated interface namespace/type so cmdlet output includes ResourceGroupName.
| @@ -20,7 +20,7 @@ Update-AzCloudService -InputObject <ICloudServiceIdentity> -Parameter <ICloudSer | |||
| ``` | |||
|
|
|||
| ## DESCRIPTION | |||
| Create or update a cloud service. | |||
| Create a cloud service. | |||
| Please note some properties can be set only during cloud service creation. | |||
There was a problem hiding this comment.
The SYNOPSIS/DESCRIPTION for Update-AzCloudService was changed to "Create a cloud service." This is misleading for an Update-* cmdlet (and previously stated "Create or update"). Please update the synopsis/description to accurately reflect that the cmdlet updates an existing cloud service (and whether it can also create).
| ## SYNOPSIS | ||
| Updates the role instances in the specified update domain. | ||
| Walk the role instances in the specified walk domain. | ||
|
|
||
| ## SYNTAX | ||
|
|
||
| ### WalkExpanded (Default) | ||
| ``` | ||
| Set-AzCloudServiceUpdateDomain -CloudServiceName <String> -ResourceGroupName <String> -UpdateDomain <Int32> | ||
| [-SubscriptionId <String>] [-DefaultProfile <PSObject>] [-AsJob] [-NoWait] [-PassThru] | ||
| [-WhatIf] [-Confirm] [<CommonParameters>] | ||
| ``` | ||
|
|
||
| ### WalkViaJsonFilePath | ||
| ``` | ||
| Set-AzCloudServiceUpdateDomain -CloudServiceName <String> -ResourceGroupName <String> -UpdateDomain <Int32> | ||
| [-SubscriptionId <String>] -JsonFilePath <String> [-DefaultProfile <PSObject>] [-AsJob] [-NoWait] [-PassThru] | ||
| [-WhatIf] [-Confirm] [<CommonParameters>] | ||
| ``` | ||
|
|
||
| ### WalkViaJsonString | ||
| ``` | ||
| Set-AzCloudServiceUpdateDomain -CloudServiceName <String> -ResourceGroupName <String> -UpdateDomain <Int32> | ||
| [-SubscriptionId <String>] -JsonString <String> [-DefaultProfile <PSObject>] [-AsJob] [-NoWait] [-PassThru] | ||
| [-WhatIf] [-Confirm] [<CommonParameters>] | ||
| ``` | ||
|
|
||
| ## DESCRIPTION | ||
| Updates the role instances in the specified update domain. | ||
| Walk the role instances in the specified walk domain. | ||
|
|
There was a problem hiding this comment.
The SYNOPSIS/DESCRIPTION says "Walk the role instances in the specified walk domain." This looks like a generation typo (walk vs update) and doesn’t match the cmdlet name Set-AzCloudServiceUpdateDomain. Please correct the text to refer to the update domain operation (and use consistent terminology).
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
Description
Preannouncement PR:
Mandatory Checklist
Please choose the target release of Azure PowerShell. (⚠️ Target release is a different concept from API readiness. Please click below links for details.)
Check this box to confirm: I have read the Submitting Changes section of
CONTRIBUTING.mdand reviewed the following information:ChangeLog.mdfile(s) appropriatelysrc/{{SERVICE}}/{{SERVICE}}/ChangeLog.md.## Upcoming Releaseheader in the past tense.ChangeLog.mdif no new release is required, such as fixing test case only.