diff --git a/src/Cdn/Cdn.Autorest/README.md b/src/Cdn/Cdn.Autorest/README.md index 1ad81df0b400..caf311366383 100644 --- a/src/Cdn/Cdn.Autorest/README.md +++ b/src/Cdn/Cdn.Autorest/README.md @@ -43,6 +43,8 @@ module-version: 0.1.0 # Normally, title is the service name title: Cdn subject-prefix: $(service-name) +# Change Safety: opt in -AcquirePolicyToken / -ChangeReference on write cmdlets +enable-change-safety: true commit: 9e9079a5d235e0c804e7fbb188258a84b4221571 # If there are post APIs for some kinds of actions in the RP, you may need to diff --git a/src/Cdn/Cdn.Autorest/custom/Enable-AzFrontDoorCdnProfileMigration.ps1 b/src/Cdn/Cdn.Autorest/custom/Enable-AzFrontDoorCdnProfileMigration.ps1 index 129fdec5cd69..50a388b749fd 100644 --- a/src/Cdn/Cdn.Autorest/custom/Enable-AzFrontDoorCdnProfileMigration.ps1 +++ b/src/Cdn/Cdn.Autorest/custom/Enable-AzFrontDoorCdnProfileMigration.ps1 @@ -118,6 +118,21 @@ function Enable-AzFrontDoorCdnProfileMigration { # Use the default credentials for the proxy ${ProxyUseDefaultCredentials} ) + dynamicparam { + # Change Safety: forward the wrapped generated cmdlet's dynamic parameters (-AcquirePolicyToken / -ChangeReference). + # Self-gates on enable-change-safety: the private cmdlet implements IDynamicParameters only when the module opted in. + $dynamicParameters = [System.Management.Automation.RuntimeDefinedParameterDictionary]::new() + $wrapped = Get-Command -Name 'Az.Cdn.private\Invoke-AzCdnCommitProfileMigration_Commit' -ErrorAction Ignore + if ($wrapped -and [System.Management.Automation.IDynamicParameters].IsAssignableFrom($wrapped.ImplementingType)) { + $instance = [System.Activator]::CreateInstance($wrapped.ImplementingType) + foreach ($entry in $instance.GetDynamicParameters().GetEnumerator()) { + if (-not $dynamicParameters.ContainsKey($entry.Key)) { + $dynamicParameters.Add($entry.Key, $entry.Value) + } + } + } + return $dynamicParameters + } process { Write-Host("Start to migrate.") diff --git a/src/Cdn/Cdn.Autorest/custom/Invoke-AzCdnCommitProfileToAFDMigration.ps1 b/src/Cdn/Cdn.Autorest/custom/Invoke-AzCdnCommitProfileToAFDMigration.ps1 index 645195e8f81a..6ff7e32ba334 100644 --- a/src/Cdn/Cdn.Autorest/custom/Invoke-AzCdnCommitProfileToAFDMigration.ps1 +++ b/src/Cdn/Cdn.Autorest/custom/Invoke-AzCdnCommitProfileToAFDMigration.ps1 @@ -113,6 +113,21 @@ function Invoke-AzCdnCommitProfileToAFDMigration { # Use the default credentials for the proxy ${ProxyUseDefaultCredentials} ) + dynamicparam { + # Change Safety: forward the wrapped generated cmdlet's dynamic parameters (-AcquirePolicyToken / -ChangeReference). + # Self-gates on enable-change-safety: the private cmdlet implements IDynamicParameters only when the module opted in. + $dynamicParameters = [System.Management.Automation.RuntimeDefinedParameterDictionary]::new() + $wrapped = Get-Command -Name 'Az.Cdn.private\Invoke-AzCdnCommitProfileMigration_Commit' -ErrorAction Ignore + if ($wrapped -and [System.Management.Automation.IDynamicParameters].IsAssignableFrom($wrapped.ImplementingType)) { + $instance = [System.Activator]::CreateInstance($wrapped.ImplementingType) + foreach ($entry in $instance.GetDynamicParameters().GetEnumerator()) { + if (-not $dynamicParameters.ContainsKey($entry.Key)) { + $dynamicParameters.Add($entry.Key, $entry.Value) + } + } + } + return $dynamicParameters + } process { Write-Host("Start to migrate.") diff --git a/src/Cdn/Cdn.Autorest/custom/Move-AzCdnProfileToAFD.ps1 b/src/Cdn/Cdn.Autorest/custom/Move-AzCdnProfileToAFD.ps1 index 2c2cf43f9db8..76d5ac30a5d8 100644 --- a/src/Cdn/Cdn.Autorest/custom/Move-AzCdnProfileToAFD.ps1 +++ b/src/Cdn/Cdn.Autorest/custom/Move-AzCdnProfileToAFD.ps1 @@ -205,6 +205,21 @@ function Move-AzCdnProfileToAFD { # Use the default credentials for the proxy ${ProxyUseDefaultCredentials} ) + dynamicparam { + # Change Safety: forward the wrapped generated cmdlet's dynamic parameters (-AcquirePolicyToken / -ChangeReference). + # Self-gates on enable-change-safety: the private cmdlet implements IDynamicParameters only when the module opted in. + $dynamicParameters = [System.Management.Automation.RuntimeDefinedParameterDictionary]::new() + $wrapped = Get-Command -Name 'Az.Cdn.private\Move-AzFrontDoorCdnCdnProfilesTo_MigrateExpanded' -ErrorAction Ignore + if ($wrapped -and [System.Management.Automation.IDynamicParameters].IsAssignableFrom($wrapped.ImplementingType)) { + $instance = [System.Activator]::CreateInstance($wrapped.ImplementingType) + foreach ($entry in $instance.GetDynamicParameters().GetEnumerator()) { + if (-not $dynamicParameters.ContainsKey($entry.Key)) { + $dynamicParameters.Add($entry.Key, $entry.Value) + } + } + } + return $dynamicParameters + } process { ValidateIdentityType Write-Host("Start the initial progress of migration of CDN profile to Azure Front Door.") diff --git a/src/Cdn/Cdn.Autorest/custom/New-AzCdnProfile.ps1 b/src/Cdn/Cdn.Autorest/custom/New-AzCdnProfile.ps1 index d516768c3b67..10c685f3e7c3 100644 --- a/src/Cdn/Cdn.Autorest/custom/New-AzCdnProfile.ps1 +++ b/src/Cdn/Cdn.Autorest/custom/New-AzCdnProfile.ps1 @@ -144,11 +144,27 @@ function New-AzCdnProfile { # Use the default credentials for the proxy ${ProxyUseDefaultCredentials} ) - - if(-Not (ISFrontDoorCdnProfile($PSBoundParameters['SkuName']))){ - Az.Cdn.internal\New-AzCdnProfile @PSBoundParameters - }else{ - throw "$($PSBoundParameters['SkuName']) is not a valid SKU. Please use a valid AzureCDN SkuName."; + dynamicparam { + # Change Safety: forward the wrapped generated cmdlet's dynamic parameters (-AcquirePolicyToken / -ChangeReference). + # Self-gates on enable-change-safety: the private cmdlet implements IDynamicParameters only when the module opted in. + $dynamicParameters = [System.Management.Automation.RuntimeDefinedParameterDictionary]::new() + $wrapped = Get-Command -Name 'Az.Cdn.private\New-AzCdnProfile_CreateExpanded' -ErrorAction Ignore + if ($wrapped -and [System.Management.Automation.IDynamicParameters].IsAssignableFrom($wrapped.ImplementingType)) { + $instance = [System.Activator]::CreateInstance($wrapped.ImplementingType) + foreach ($entry in $instance.GetDynamicParameters().GetEnumerator()) { + if (-not $dynamicParameters.ContainsKey($entry.Key)) { + $dynamicParameters.Add($entry.Key, $entry.Value) + } + } + } + return $dynamicParameters + } + process { + if(-Not (ISFrontDoorCdnProfile($PSBoundParameters['SkuName']))){ + Az.Cdn.internal\New-AzCdnProfile @PSBoundParameters + }else{ + throw "$($PSBoundParameters['SkuName']) is not a valid SKU. Please use a valid AzureCDN SkuName."; + } } } \ No newline at end of file diff --git a/src/Cdn/Cdn.Autorest/custom/New-AzFrontDoorCdnProfile.ps1 b/src/Cdn/Cdn.Autorest/custom/New-AzFrontDoorCdnProfile.ps1 index ae2e2a576e28..e22d0b0a67a0 100644 --- a/src/Cdn/Cdn.Autorest/custom/New-AzFrontDoorCdnProfile.ps1 +++ b/src/Cdn/Cdn.Autorest/custom/New-AzFrontDoorCdnProfile.ps1 @@ -190,6 +190,22 @@ function New-AzFrontDoorCdnProfile { ${ProxyUseDefaultCredentials} ) + dynamicparam { + # Change Safety: forward the wrapped generated cmdlet's dynamic parameters (-AcquirePolicyToken / -ChangeReference). + # Self-gates on enable-change-safety: the private cmdlet implements IDynamicParameters only when the module opted in. + $dynamicParameters = [System.Management.Automation.RuntimeDefinedParameterDictionary]::new() + $wrapped = Get-Command -Name 'Az.Cdn.private\New-AzCdnProfile_CreateExpanded' -ErrorAction Ignore + if ($wrapped -and [System.Management.Automation.IDynamicParameters].IsAssignableFrom($wrapped.ImplementingType)) { + $instance = [System.Activator]::CreateInstance($wrapped.ImplementingType) + foreach ($entry in $instance.GetDynamicParameters().GetEnumerator()) { + if (-not $dynamicParameters.ContainsKey($entry.Key)) { + $dynamicParameters.Add($entry.Key, $entry.Value) + } + } + } + return $dynamicParameters + } + process { if(ISFrontDoorCdnProfile($PSBoundParameters['SkuName'])) { diff --git a/src/Cdn/Cdn.Autorest/custom/New-AzFrontDoorCdnRoute.ps1 b/src/Cdn/Cdn.Autorest/custom/New-AzFrontDoorCdnRoute.ps1 index a77a06d6c984..56d8a5098603 100644 --- a/src/Cdn/Cdn.Autorest/custom/New-AzFrontDoorCdnRoute.ps1 +++ b/src/Cdn/Cdn.Autorest/custom/New-AzFrontDoorCdnRoute.ps1 @@ -368,6 +368,21 @@ function New-AzFrontDoorCdnRoute { # Use the default credentials for the proxy ${ProxyUseDefaultCredentials} ) + dynamicparam { + # Change Safety: forward the wrapped generated cmdlet's dynamic parameters (-AcquirePolicyToken / -ChangeReference). + # Self-gates on enable-change-safety: the private cmdlet implements IDynamicParameters only when the module opted in. + $dynamicParameters = [System.Management.Automation.RuntimeDefinedParameterDictionary]::new() + $wrapped = Get-Command -Name 'Az.Cdn.private\New-AzFrontDoorCdnRoute_CreateExpanded' -ErrorAction Ignore + if ($wrapped -and [System.Management.Automation.IDynamicParameters].IsAssignableFrom($wrapped.ImplementingType)) { + $instance = [System.Activator]::CreateInstance($wrapped.ImplementingType) + foreach ($entry in $instance.GetDynamicParameters().GetEnumerator()) { + if (-not $dynamicParameters.ContainsKey($entry.Key)) { + $dynamicParameters.Add($entry.Key, $entry.Value) + } + } + } + return $dynamicParameters + } process { if (${CompressionSettingIsCompressionEnabled}.IsPresent) { diff --git a/src/Cdn/Cdn.Autorest/custom/Remove-AzCdnProfile.ps1 b/src/Cdn/Cdn.Autorest/custom/Remove-AzCdnProfile.ps1 index f9026c28fd8b..4f212a065d7a 100644 --- a/src/Cdn/Cdn.Autorest/custom/Remove-AzCdnProfile.ps1 +++ b/src/Cdn/Cdn.Autorest/custom/Remove-AzCdnProfile.ps1 @@ -153,6 +153,21 @@ function Remove-AzCdnProfile { # Use the default credentials for the proxy ${ProxyUseDefaultCredentials} ) + dynamicparam { + # Change Safety: forward the wrapped generated cmdlet's dynamic parameters (-AcquirePolicyToken / -ChangeReference). + # Self-gates on enable-change-safety: the private cmdlet implements IDynamicParameters only when the module opted in. + $dynamicParameters = [System.Management.Automation.RuntimeDefinedParameterDictionary]::new() + $wrapped = Get-Command -Name 'Az.Cdn.private\Remove-AzCdnProfile_Delete' -ErrorAction Ignore + if ($wrapped -and [System.Management.Automation.IDynamicParameters].IsAssignableFrom($wrapped.ImplementingType)) { + $instance = [System.Activator]::CreateInstance($wrapped.ImplementingType) + foreach ($entry in $instance.GetDynamicParameters().GetEnumerator()) { + if (-not $dynamicParameters.ContainsKey($entry.Key)) { + $dynamicParameters.Add($entry.Key, $entry.Value) + } + } + } + return $dynamicParameters + } process { $hasAsJob = $PSBoundParameters.Remove('AsJob') diff --git a/src/Cdn/Cdn.Autorest/custom/Remove-AzFrontDoorCdnProfile.ps1 b/src/Cdn/Cdn.Autorest/custom/Remove-AzFrontDoorCdnProfile.ps1 index 479246ea94a8..077d11bb2c39 100644 --- a/src/Cdn/Cdn.Autorest/custom/Remove-AzFrontDoorCdnProfile.ps1 +++ b/src/Cdn/Cdn.Autorest/custom/Remove-AzFrontDoorCdnProfile.ps1 @@ -154,6 +154,22 @@ function Remove-AzFrontDoorCdnProfile { ${ProxyUseDefaultCredentials} ) + dynamicparam { + # Change Safety: forward the wrapped generated cmdlet's dynamic parameters (-AcquirePolicyToken / -ChangeReference). + # Self-gates on enable-change-safety: the private cmdlet implements IDynamicParameters only when the module opted in. + $dynamicParameters = [System.Management.Automation.RuntimeDefinedParameterDictionary]::new() + $wrapped = Get-Command -Name 'Az.Cdn.private\Remove-AzCdnProfile_Delete' -ErrorAction Ignore + if ($wrapped -and [System.Management.Automation.IDynamicParameters].IsAssignableFrom($wrapped.ImplementingType)) { + $instance = [System.Activator]::CreateInstance($wrapped.ImplementingType) + foreach ($entry in $instance.GetDynamicParameters().GetEnumerator()) { + if (-not $dynamicParameters.ContainsKey($entry.Key)) { + $dynamicParameters.Add($entry.Key, $entry.Value) + } + } + } + return $dynamicParameters + } + process { $hasAsJob = $PSBoundParameters.Remove('AsJob') $hasNoWait = $PSBoundParameters.Remove('NoWait') diff --git a/src/Cdn/Cdn.Autorest/custom/Start-AzFrontDoorCdnProfilePrepareMigration.ps1 b/src/Cdn/Cdn.Autorest/custom/Start-AzFrontDoorCdnProfilePrepareMigration.ps1 index 36915fa91ae9..96c317ad7d69 100644 --- a/src/Cdn/Cdn.Autorest/custom/Start-AzFrontDoorCdnProfilePrepareMigration.ps1 +++ b/src/Cdn/Cdn.Autorest/custom/Start-AzFrontDoorCdnProfilePrepareMigration.ps1 @@ -166,6 +166,21 @@ function Start-AzFrontDoorCdnProfilePrepareMigration { # Use the default credentials for the proxy ${ProxyUseDefaultCredentials} ) + dynamicparam { + # Change Safety: forward the wrapped generated cmdlet's dynamic parameters (-AcquirePolicyToken / -ChangeReference). + # Self-gates on enable-change-safety: the private cmdlet implements IDynamicParameters only when the module opted in. + $dynamicParameters = [System.Management.Automation.RuntimeDefinedParameterDictionary]::new() + $wrapped = Get-Command -Name 'Az.Cdn.private\Move-AzCdnProfile_MigrateExpanded' -ErrorAction Ignore + if ($wrapped -and [System.Management.Automation.IDynamicParameters].IsAssignableFrom($wrapped.ImplementingType)) { + $instance = [System.Activator]::CreateInstance($wrapped.ImplementingType) + foreach ($entry in $instance.GetDynamicParameters().GetEnumerator()) { + if (-not $dynamicParameters.ContainsKey($entry.Key)) { + $dynamicParameters.Add($entry.Key, $entry.Value) + } + } + } + return $dynamicParameters + } process { if (!(Get-Module -ListAvailable -Name Az.FrontDoor)) { diff --git a/src/Cdn/Cdn.Autorest/custom/Test-AzFrontDoorCdnProfileMigration.ps1 b/src/Cdn/Cdn.Autorest/custom/Test-AzFrontDoorCdnProfileMigration.ps1 index 3a4791abeb41..4f2801efbdea 100644 --- a/src/Cdn/Cdn.Autorest/custom/Test-AzFrontDoorCdnProfileMigration.ps1 +++ b/src/Cdn/Cdn.Autorest/custom/Test-AzFrontDoorCdnProfileMigration.ps1 @@ -112,6 +112,21 @@ function Test-AzFrontDoorCdnProfileMigration { # Use the default credentials for the proxy ${ProxyUseDefaultCredentials} ) + dynamicparam { + # Change Safety: forward the wrapped generated cmdlet's dynamic parameters (-AcquirePolicyToken / -ChangeReference). + # Self-gates on enable-change-safety: the private cmdlet implements IDynamicParameters only when the module opted in. + $dynamicParameters = [System.Management.Automation.RuntimeDefinedParameterDictionary]::new() + $wrapped = Get-Command -Name 'Az.Cdn.private\Invoke-AzCdnCanProfileMigrate_CanExpanded' -ErrorAction Ignore + if ($wrapped -and [System.Management.Automation.IDynamicParameters].IsAssignableFrom($wrapped.ImplementingType)) { + $instance = [System.Activator]::CreateInstance($wrapped.ImplementingType) + foreach ($entry in $instance.GetDynamicParameters().GetEnumerator()) { + if (-not $dynamicParameters.ContainsKey($entry.Key)) { + $dynamicParameters.Add($entry.Key, $entry.Value) + } + } + } + return $dynamicParameters + } process { Write-Host("This could take a few seconds to a few mins depending on the complexity of your resource.") diff --git a/src/Cdn/Cdn.Autorest/custom/Update-AzCdnProfile.ps1 b/src/Cdn/Cdn.Autorest/custom/Update-AzCdnProfile.ps1 index 0319db645741..e5496b364f7d 100644 --- a/src/Cdn/Cdn.Autorest/custom/Update-AzCdnProfile.ps1 +++ b/src/Cdn/Cdn.Autorest/custom/Update-AzCdnProfile.ps1 @@ -159,6 +159,21 @@ function Update-AzCdnProfile { # Use the default credentials for the proxy ${ProxyUseDefaultCredentials} ) + dynamicparam { + # Change Safety: forward the wrapped generated cmdlet's dynamic parameters (-AcquirePolicyToken / -ChangeReference). + # Self-gates on enable-change-safety: the private cmdlet implements IDynamicParameters only when the module opted in. + $dynamicParameters = [System.Management.Automation.RuntimeDefinedParameterDictionary]::new() + $wrapped = Get-Command -Name 'Az.Cdn.private\Update-AzCdnProfile_UpdateExpanded' -ErrorAction Ignore + if ($wrapped -and [System.Management.Automation.IDynamicParameters].IsAssignableFrom($wrapped.ImplementingType)) { + $instance = [System.Activator]::CreateInstance($wrapped.ImplementingType) + foreach ($entry in $instance.GetDynamicParameters().GetEnumerator()) { + if (-not $dynamicParameters.ContainsKey($entry.Key)) { + $dynamicParameters.Add($entry.Key, $entry.Value) + } + } + } + return $dynamicParameters + } process { $hasTag = $PSBoundParameters.Remove('Tag') diff --git a/src/Cdn/Cdn.Autorest/custom/Update-AzFrontDoorCdnProfile.ps1 b/src/Cdn/Cdn.Autorest/custom/Update-AzFrontDoorCdnProfile.ps1 index f7b508d913f1..4ccf861db0ce 100644 --- a/src/Cdn/Cdn.Autorest/custom/Update-AzFrontDoorCdnProfile.ps1 +++ b/src/Cdn/Cdn.Autorest/custom/Update-AzFrontDoorCdnProfile.ps1 @@ -215,6 +215,22 @@ function Update-AzFrontDoorCdnProfile { ${ProxyUseDefaultCredentials} ) + dynamicparam { + # Change Safety: forward the wrapped generated cmdlet's dynamic parameters (-AcquirePolicyToken / -ChangeReference). + # Self-gates on enable-change-safety: the private cmdlet implements IDynamicParameters only when the module opted in. + $dynamicParameters = [System.Management.Automation.RuntimeDefinedParameterDictionary]::new() + $wrapped = Get-Command -Name 'Az.Cdn.private\Update-AzCdnProfile_UpdateExpanded' -ErrorAction Ignore + if ($wrapped -and [System.Management.Automation.IDynamicParameters].IsAssignableFrom($wrapped.ImplementingType)) { + $instance = [System.Activator]::CreateInstance($wrapped.ImplementingType) + foreach ($entry in $instance.GetDynamicParameters().GetEnumerator()) { + if (-not $dynamicParameters.ContainsKey($entry.Key)) { + $dynamicParameters.Add($entry.Key, $entry.Value) + } + } + } + return $dynamicParameters + } + process { $hasTag = $PSBoundParameters.Remove('Tag') $hasOriginResponseTimeout = $PSBoundParameters.Remove('OriginResponseTimeoutSecond') diff --git a/src/Cdn/Cdn.Autorest/custom/Update-AzFrontDoorCdnProfileSku.ps1 b/src/Cdn/Cdn.Autorest/custom/Update-AzFrontDoorCdnProfileSku.ps1 index 1e5889aeae4d..1744da22db9a 100644 --- a/src/Cdn/Cdn.Autorest/custom/Update-AzFrontDoorCdnProfileSku.ps1 +++ b/src/Cdn/Cdn.Autorest/custom/Update-AzFrontDoorCdnProfileSku.ps1 @@ -138,6 +138,21 @@ function Update-AzFrontDoorCdnProfileSku { # Use the default credentials for the proxy ${ProxyUseDefaultCredentials} ) + dynamicparam { + # Change Safety: forward the wrapped generated cmdlet's dynamic parameters (-AcquirePolicyToken / -ChangeReference). + # Self-gates on enable-change-safety: the private cmdlet implements IDynamicParameters only when the module opted in. + $dynamicParameters = [System.Management.Automation.RuntimeDefinedParameterDictionary]::new() + $wrapped = Get-Command -Name 'Az.Cdn.private\Update-AzFrontDoorCdnProfileSku_Upgrade' -ErrorAction Ignore + if ($wrapped -and [System.Management.Automation.IDynamicParameters].IsAssignableFrom($wrapped.ImplementingType)) { + $instance = [System.Activator]::CreateInstance($wrapped.ImplementingType) + foreach ($entry in $instance.GetDynamicParameters().GetEnumerator()) { + if (-not $dynamicParameters.ContainsKey($entry.Key)) { + $dynamicParameters.Add($entry.Key, $entry.Value) + } + } + } + return $dynamicParameters + } process { if (!(Get-Module -ListAvailable -Name Az.FrontDoor)) { diff --git a/src/Cdn/Cdn.Autorest/generate-info.json b/src/Cdn/Cdn.Autorest/generate-info.json index 9cbc2828538f..e8d11f117004 100644 --- a/src/Cdn/Cdn.Autorest/generate-info.json +++ b/src/Cdn/Cdn.Autorest/generate-info.json @@ -1,3 +1,3 @@ { - "generate_Id": "93c4dd87-c726-443a-9d3b-2dc823cd4a6b" + "generate_Id": "39d7c1e4-7bfb-4e14-a49a-ba3e1c9354f5" } diff --git a/src/Cdn/Cdn/ChangeLog.md b/src/Cdn/Cdn/ChangeLog.md index 139aa0170894..6231222fa3d3 100644 --- a/src/Cdn/Cdn/ChangeLog.md +++ b/src/Cdn/Cdn/ChangeLog.md @@ -19,6 +19,7 @@ --> ## Upcoming Release +* Added ChangeSafety Support ## Version 6.1.0 * Upgraded API version to 2026-04-01-preview.