# Technical Documentation: Azure/azure-powershell

> ℹ️ **Provenance:** Multi-Tier Ingestion · [CodeWiki Reference](https://codewiki.google/github.com/Azure/azure-powershell)

### Overview (README.md)

<meta name="google-site-verification" content="tZgbB2s-hTI0IePQQRCjHqL_Vf0j_XJmehXAHJerrn4" />

# ![AzureIcon] ![PowershellIcon] Microsoft Azure PowerShell

This repository contains PowerShell cmdlets for developers and administrators to develop, deploy,
administer, and manage Microsoft Azure resources.

The Az PowerShell module is preinstalled in [Azure Cloud Shell][AzureCloudShell].

## Modules

The following table contains a list of the Azure PowerShell rollup modules.

Description       | Module Name  | PowerShell Gallery Link | Microsoft Artifact Registry |
----------------- | ------------ | ----------------------- | ----------------------------- |
Azure PowerShell  | `Az`         | [![Az]][AzGallery]| [![Az]][AzMar] |
Azure PowerShell with preview modules | `AzPreview`                             | [![AzPreview]][AzPreviewGallery] | [![AzPreview]][AzPreviewMar] |

For a complete list of the modules found in this repository, see
[Azure PowerShell Modules][AzurePowerShellModules].

## Installation

### PowerShell Gallery

Run the following command in a PowerShell session to install the Az PowerShell module:

```powershell
Install-Module -Name Az -Scope CurrentUser -Repository PSGallery -Force
```

[The latest version of PowerShell 7][PowerShellCore] is the recommended version of PowerShell for
use with the Az PowerShell module on all platforms including Windows, Linux, and macOS. This module
also runs on Windows PowerShell 5.1 with [.NET Framework 4.7.2][DotNetFramework] or higher.

The `Az` module replaces `AzureRM`. You should not install `Az` side-by-side with `AzureRM`.

If you have an earlier version of the Azure PowerShell module installed from the PowerShell Gallery
and would like to update to the latest version, run the following command in a PowerShell session:

```powershell
Update-Module -Name Az -Scope CurrentUser -Force
```

`Update-Module` installs the new version side-by-side with previous versions. It does not uninstall
the previous versions.

For more information on installing Azure PowerShell, see the
[installation guide][InstallationGuide].

## Usage

### Log into Azure

To connect to Azure, use the [`Connect-AzAccount`][ConnectAzAccount] cmdlet:

```powershell
# Opens a new browser window to log into your Azure account.
Connect-AzAccount

# Log in with a previously created service principal. Use the application ID as the username, and the secret as password.
$Credential = Get-Credential
Connect-AzAccount -ServicePrincipal -Credential $Credential -TenantId $TenantId
```

To log into a specific cloud (_AzureChinaCloud_, _AzureCloud_, _AzureUSGovernment_), use the
`Environment` parameter:

```powershell
# Log into a specific cloud, for example the Azure China cloud.
Connect-AzAccount -Environment AzureChinaCloud
```

### Session context

A session context persists login information across Azure PowerShell modules and PowerShell
instances. Use the [`Get-AzContext`][GetAzContext] cmdlet to view the context you are using in the
current session. The results contain the Azure tenant and subscription.

```powershell
# Get the Azure PowerShell context for the current PowerShell session
Get-AzContext

# Lists all available Azure PowerShell contexts in the current PowerShell session
Get-AzContext -ListAvailable
```

To get the subscriptions in a tenant, use the [`Get-AzSubscription`][GetAzSubscription] cmdlet:

```powershell
# Get all of the Azure subscriptions in your current Azure tenant
Get-AzSubscription

# Get all of the Azure subscriptions in a specific Azure tenant
Get-AzSubscription -TenantId $TenantId
```

To change the subscription that you are using for your current context, use the
[`Set-AzContext`][SetAzContext] cmdlet:

```powershell
# Set the Azure PowerShell context to a specific Azure subscription
Set-AzContext -Subscription $SubscriptionName -Name 'MyContext'

# Set the Azure PowerShell context using piping
Get-AzSubscription -SubscriptionName $SubscriptionName | Set-AzContext -Name 'MyContext'
```

For details on Azure PowerShell contexts, see [Azure PowerShell context objects][PersistedCredentialsGuide].

### Discovering cmdlets

Use `Get-Command` to discover cmdlets within a specific module, or cmdlets that follow a specific
search pattern:

```powershell
# List all cmdlets in the Az.Accounts module
Get-Command -Module Az.Accounts

# List all cmdlets that contain VirtualNetwork in their name
Get-Command -Name '*VirtualNetwork*'

# List all cmdlets that contain VM in their name in the Az.Compute module
Get-Command -Module Az.Compute -Name '*VM*'
```

### Cmdlet help and examples

To view the help content for a cmdlet, use the `Get-Help` cmdlet:

```powershell
# View basic help information for Get-AzSubscription
Get-Help -Name Get-AzSubscription

# View the examples for Get-AzSubscription
Get-Help -Name Get-AzSubscription -Examples

# View the full help for Get-AzSubscription
Get-Help -Name Get-AzSubscription -Full

# View the online version of the help from https://learn.microsoft.com for Get-AzSubscription
Get-Help -Name Get-AzSubscription -Online
```

For detailed instructions on using Azure PowerShell, see the [getting started guide][GettingStartedGuide].

## Reporting Issues and Feedback

### Issues

If you find any bugs when using Azure PowerShell, file an issue in our [GitHub repo][GitHubRepo].
Fill out the issue template with the appropriate information.

Alternatively, see [Azure Community Support][AzureCommunitySupport] if you
have issues with Azure PowerShell or Azure services.

### Feedback

If there is a feature you would like to see in Azure PowerShell, use the
[`Send-Feedback`][SendFeedback] cmdlet, or file an issue in our [GitHub repo][GitHubRepo].

## Contributing
For details on contributing to this repository, see the [contributing guide][Contributing] and the [_Azure PowerShell Developer Guide_][DeveloperGuide].

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit
https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA.

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.

## Telemetry

Azure PowerShell collects telemetry data by default. Microsoft aggregates collected data to identify
patterns of usage to identify common issues and to improve the experience of Azure PowerShell.
Microsoft Azure PowerShell does not collect any private or personal data. For example, the usage
data helps identify issues such as cmdlets with low success and helps prioritize our work. While we
appreciate the insights this data provides, we also understand that not everyone wants to send usage
data. You can disable data collection with the
[`Disable-AzDataCollection`][DisableAzDataCollection] cmdlet. To learn more, see our
[privacy statement][PrivacyStatement].

## Learn More

* [Microsoft Azure Documentation][MicrosoftAzureDocs]
* [PowerShell Documentation][PowerShellDocs]

---
_This project has adopted the [Microsoft Open Source Code of Conduct][CodeOfConduct]. For more
information see the [Code of Conduct FAQ][CodeOfConductFaq] or contact
[opencode@microsoft.com][OpenCodeEmail] with any additional questions or comments._




[GitHubRepo]: https://github.com/Azure/azure-powershell/issues

[Contributing]: CONTRIBUTING.md

[AzureIcon]: documentation/images/MicrosoftAzure-32px.png
[PowershellIcon]: documentation/images/MicrosoftPowerShellCore-32px.png
[AzurePowerShellModules]: documentation/azure-powershell-modules.md
[DeveloperGuide]: documentation/development-docs/azure-powershell-developer-guide.md


[Az]: https://img.shields.io/powershellgallery/v/Az.svg?style=flat-square&label=Az
[AzPreview]: https://img.shields.io/powershellgallery/v/AzPreview.svg?style=flat-square&label=AzPreview
[AzGallery]: https://www.powershellgallery.com/packages/Az/
[AzPreviewGallery]: https://www.powershellgallery.com/packages/AzPreview/
[AzMar]: https://mcr.microsoft.com/en-us/artifact/mar/psresource/az/tags
[AzPreviewMar]: https://mcr.microsoft.com/en-us/artifact/mar/psresource/azpreview/tags

[DotNetFramework]: https://dotnet.microsoft.com/download/dotnet-framework-runtime
[PowerShellCore]: https://github.com/PowerShell/PowerShell/releases/latest

[ContributionGuidelines]: https://opensource.microsoft.com/collaborate/
[CodeOfConduct]: https://opensource.microsoft.com/codeofconduct/
[CodeOfConductFaq]: https://opensource.microsoft.com/codeofconduct/faq/
[OpenCodeEmail]: mailto:opencode@microsoft.com

[AzureCloudShell]: https://shell.azure.com/
[AzureCommunitySupport]: https://azure.microsoft.com/support/community/
[PrivacyStatement]: https://privacy.microsoft.com/privacystatement


[MicrosoftAzureDocs]: https://learn.microsoft.com/azure/
[PowerShellDocs]: https://learn.microsoft.com/powershell/

[InstallationGuide]: https://learn.microsoft.com/powershell/azure/install-az-ps
[GettingStartedGuide]: https://learn.microsoft.com/powershell/azure/get-started-azureps
[PersistedCredentialsGuide]: https://learn.microsoft.com/powershell/azure/context-persistence

[ConnectAzAccount]: https://learn.microsoft.com/powershell/module/az.accounts/connect-azaccount
[GetAzContext]: https://learn.microsoft.com/powershell/module/az.accounts/get-azcontext
[GetAzSubscription]: https://learn.microsoft.com/powershell/module/az.accounts/get-azsubscription
[SetAzContext]: https://learn.microsoft.com/powershell/module/az.accounts/set-azcontext
[SendFeedback]: https://learn.microsoft.com/powershell/module/az.accounts/send-feedback
[DisableAzDataCollection]: https://learn.microsoft.com/powershell/module/az.accounts/disable-azdatacollection

---

### Documentation Breaking Changes Upcoming Breaking Changes README (`documentation/breaking-changes/upcoming-breaking-changes/README.md`)

Here is the list of modules which contain the breaking changes. The detailed information is listed on individual module page.

* [Az.Accounts](Az.Accounts-UpcomingBreakingChanges.md)
* [Az.AnalysisServices](Az.AnalysisServices-UpcomingBreakingChanges.md)
* [Az.Batch](Az.Batch-UpcomingBreakingChanges.md)
* [Az.Cdn](Az.Cdn-UpcomingBreakingChanges.md)
* [Az.CognitiveServices](Az.CognitiveServices-UpcomingBreakingChanges.md)
* [Az.Compute](Az.Compute-UpcomingBreakingChanges.md)
* [Az.DataLakeStore](Az.DataLakeStore-UpcomingBreakingChanges.md)
* [Az.EventHub](Az.EventHub-UpcomingBreakingChanges.md)
* [Az.KeyVault](Az.KeyVault-UpcomingBreakingChanges.md)
* [Az.LogicApp](Az.LogicApp-UpcomingBreakingChanges.md)
* [Az.MachineLearning](Az.MachineLearning-UpcomingBreakingChanges.md)
* [Az.Media](Az.Media-UpcomingBreakingChanges.md)
* [Az.Network](Az.Network-UpcomingBreakingChanges.md)
* [Az.NotificationHubs](Az.NotificationHubs-UpcomingBreakingChanges.md)
* [Az.OperationalInsights](Az.OperationalInsights-UpcomingBreakingChanges.md)
* [Az.PowerBIEmbedded](Az.PowerBIEmbedded-UpcomingBreakingChanges.md)
* [Az.RecoveryServices](Az.RecoveryServices-UpcomingBreakingChanges.md)
* [Az.RedisCache](Az.RedisCache-UpcomingBreakingChanges.md)
* [Az.Resources](Az.Resources-UpcomingBreakingChanges.md)
* [Az.ServiceBus](Az.ServiceBus-UpcomingBreakingChanges.md)
* [Az.Sql](Az.Sql-UpcomingBreakingChanges.md)
* [Az.StorageSync](Az.StorageSync-UpcomingBreakingChanges.md)
* [Az.Storage](Az.Storage-UpcomingBreakingChanges.md)
* [Az.Websites](Az.Websites-UpcomingBreakingChanges.md)

---

### Documentation Development Docs Design Guidelines README (`documentation/development-docs/design-guidelines/README.md`)

## Azure PowerShell Design Guidelines

In this folder, you will find best practices and design guidelines for different components of Azure PowerShell.

### Table of contents

- [Cmdlet Best Practices](./cmdlet-best-practices.md)
    - [Cmdlet Naming Conventions](./cmdlet-best-practices.md#cmdlet-naming-conventions)
    - [Output Type](./cmdlet-best-practices.md#output-type)
    - [`ShouldProcess`](./cmdlet-best-practices.md#shouldprocess)
    - [`AsJob`](./cmdlet-best-practices.md#asjob)
    - [Required Parameter Sets](./cmdlet-best-practices.md#required-parameter-sets)
- [Module Best Practices](./module-best-practices.md)
    - [Module Metadata](./module-best-practices.md#module-metadata)
    - [Module Dependencies](./module-best-practices.md#module-dependencies)
- [Parameter Best Practices](./parameter-best-practices.md)
    - [Parameter Guidelines](./parameter-best-practices.md#parameter-guidelines)
        - [Parameter Naming Conventions](./parameter-best-practices.md#parameter-naming-conventions)
        - [Parameter Types](./parameter-best-practices.md#parameter-types)
        - [Argument Completers](./parameter-best-practices.md#argument-completers)
    - [Parameter Set Guidelines](./parameter-best-practices.md#parameter-set-guidelines)
        - [Parameter Set Naming Conventions](./parameter-best-practices.md#parameter-set-naming-conventions)
        - [Attribute Guidelines](./parameter-best-practices.md#attribute-guidelines)
- [Piping Best Practices](./piping-best-practices.md)
    - [Piping in PowerShell](./piping-best-practices.md#piping-in-powershell)
        - [Understanding Piping](./piping-best-practices.md#understanding-piping)
    - [Piping in Azure PowerShell](./piping-best-practices.md#piping-in-azure-powershell)
        - [Using the `-InputObject` Parameter](./piping-best-practices.md#using-the-inputobject-parameter)
        - [Using the `-ResourceId` Parameter](./piping-best-practices.md#using-the-resourceid-parameter)
        - [Full examples](./piping-best-practices.md#full-examples)
- [`ShouldProcess` and `ConfirmImpact`](./should-process-confirm-impact.md)
    - [`ShouldProcess`](./should-process-confirm-impact.md#shouldprocess)
    - [`ConfirmImpact`](./should-process-confirm-impact.md#confirmimpact)

---

### Documentation Development Docs Examples README (`documentation/development-docs/examples/README.md`)

## Examples of standard Azure PowerShell cmdlets

In this folder, you will find patterns and examples for standard Azure PowerShell cmdlets that should be implemented for a service. Both top-level and child resource scenarios are covered in each of the documents.

### Table of contents

- [`Get-*` cmdlet](get-cmdlet-example.md)
    - [Top-level resource](get-cmdlet-example.md#top-level-resource)
    - [Child resource](get-cmdlet-example.md#child-resource)
- [`New-*` cmdlet](new-cmdlet-example.md)
    - [Top-level resource](new-cmdlet-example.md#top-level-resource)
    - [Child resource](new-cmdlet-example.md#child-resource)
- [`Remove-*` cmdlet](remove-cmdlet-example.md)
    - [Top-level resource](remove-cmdlet-example.md#top-level-resource)
    - [Child resource](remove-cmdlet-example.md#child-resource)
- [`Set-*` cmdlet](set-cmdlet-example.md)
    - [Top-level resource](set-cmdlet-example.md#top-level-resource)
    - [Child resource](set-cmdlet-example.md#child-resource)
- [`Update-*` cmdlet](update-cmdlet-example.md)
    - [Top-level resource](update-cmdlet-example.md#top-level-resource)
    - [Child resource](update-cmdlet-example.md#child-resource)

---

### Documentation Autorest Powershell V4 New Features (`documentation/Autorest-powershell-v4-new-features.md`)

# Autorest PowerShell V4 Features from the End Users' Perspective
How to migrate from Autorest PowerShell v3 to v4 please refer to [here](https://go.microsoft.com/fwlink/?linkid=2340250).

## 1. Support for piping parent object: 
    This allows users to pipe parent objects into cmdlets, simplifying commands. 

## 2. Progress bar for long running operations:
    Users will see a visual indicator during long operations. Important to note it's just visual, no impact on functionality. 

## 3. Auto completer for enum parameters: 
    Enums are now strings with tab completion. Users can still tab through possible values, which is more flexible. 

## 4. Switch between table and list views: 
    Automatically changes based on the number of results. Single result shows detailed list, multiple show concise table. 

## 5. ExternalDocs in help: 
    Adds links to external documentation directly in the cmdlet help. Helps users find more info easily. 

## 6. Non-fixed size arrays: 
    Now lists instead of fixed arrays, making it easier to add elements. Simplifies scripting. 

## 7. Removal of API version from namespace: 
    More consistent naming in generated code, but users probably won't notice unless they work with the code directly. 

## 8. JSON import for resources: 
    Users can create resources via JSON files or strings. Provides flexibility, especially for complex configurations. 

## 9. x-ms-mutability support: 
    Better handling of create vs update operations based on HTTP methods. Helps ensure correct cmdlet usage. 

## 10. Managed Identity alignment: 
    Changes parameter types for identity settings. Users need to adjust to new parameter names and types (switch parameters for enabling, string arrays for identities). 

## 11. Retry policies: 
    Automatically retries on certain errors. Users benefit from increased reliability. Can configure via environment variables. 

## 12. Update via GET and PUT: 
    For resources without PATCH, updates use GET then PUT. Might affect performance but ensures compatibility. Conflicts possible, so mention the disable option. 

## 13. Discriminator parameter hidden: 
    Removes redundant parameters in model cmdlets, making them cleaner. Users won't have to input fixed values.

---

### Documentation Debugging StaticAnalysis Errors (`documentation/Debugging-StaticAnalysis-Errors.md`)

# Debugging StaticAnalysis Errors

Our StaticAnalysis tools help us ensure our modules follow PowerShell guidelines and prevent breaking changes from occurring outside of breaking change releases.

- [How to know if you have a StaticAnalysis Error](#how-to-know-if-you-have-a-staticanalysis-error)
- [How to locate the StaticAnalysis Error](#how-to-locate-the-staticanalysis-error)
- [Where to find StaticAnalysis reports](#where-to-find-staticanalysis-reports)
- [Types of StaticAnalysis Errors](#types-of-staticanalysis-errors)
  - [Assembly Version Conflict](#assembly-version-conflict)
  - [Breaking Changes](#breaking-changes)
  - [Example Issues](#example-issues)
  - [Extra Assemblies](#example-issues)
  - [Help Issues](#help-issues)
  - [Missing Assemblies](#missing-assemblies)
  - [Signature Issues](#signature-issues)
- [Troubleshotting Example Issues](#troubleshotting-example-issues)

## How to know if you have a StaticAnalysis Error
If your build is failing, see the ADO pipeline checks. If check `azure-powershell - powershell-core (Analyze)` failed, then you have a StaticAnalysis Error.

## How to locate the StaticAnalysis Error
Click into the failed check, then click `View more details on Azure Pipelines` to redirect to ADO pipeline page. Click the sub task with errors and search `csv` or `error` to locate the specific errors. 

## Where to find StaticAnalysis reports
The StaticAnalysis reports could show up in the CI build. On the status page in ADO, under the Build Artifacts, expand the folder whose name starts with `analyze`. Under the `StaticAnalysisResults` folder: the relevant files are `AssemblyVersionConflict.csv`, `BreakingChangeIssues.csv`, `ExampleIssues.csv`, `ExtraAssemblies.csv`, `HelpIssues.csv`, `MissingAssemblies.csv`, and/or `SignatureIssues.csv` .

Locally, the StaticAnalysis report will show up under Azure-PowerShell/artifacts. You will see the `.csv` fils listed. You can generate these files by running
```
msbuild build.proj
```

## Types of StaticAnalysis Errors
The three most common Static Analysis errors are breaking changes, signature issues, and help issues.  To figure out which type of error is causing the build failure, open each of the relevant .csv files (if the .csv file does not exist, there is no violation detected).  Any issue marked with severity 0 or 1 must be resolved in order for the build to pass.

### Assembly Version Conflict
We utilize some shared assemblies, such as Azure.Core, accross all the modules to avoid duplicating. To maintain consistency, only one version is allowed to be loaded within a single PowerShell session. If any errors occur, they will be recorded in the `AssemblyVersionConflict.csv` file. We recommend reviewing each error listed in this file and updating your package dependencies accordingly. Generally, suppressing these issues is not advised.

### Breaking Changes
If you make a change that could cause a breaking change, it will be listed in `BreakingChangeIssues.csv`.  Please look at each of these errors in this file, and if they do indeed introduce a breaking change in a non-breaking change release, please revert the change that caused this violation. 

_Note_: Sometimes the error listed in the .csv file can be a false positive (for example, if you change a parameter attribute to span all parameter sets rather than individual parameter sets).  Please read the error thoroughly and examine the relevant code before deciding that an error is a false positive, and contact the Azure PowerShell team if you have questions.  If you are releasing a preview module, are releasing during a breaking change release, or have determined that the error is a false positive, please follow these instructions to suppress the errors:

- Download the `BreakingChangeIssues.csv` file from the CI pipeline artifacts
- Open the file using a text editor (such as VS Code) and copy each of the errors you'd like to suppress
- Paste each of these errors into the `BreakingChangeIssues.csv` file found in their respective [module folder](../tools/StaticAnalysis/Exceptions) (_e.g._, if a breaking change is being suppressed for Compute, then you would paste the corresponding line(s) in the `tools/StaticAnalysis/Exceptions/Az.Compute/BreakingChangeIssues.csv` file) using the same text editor
- Push the changes to the .csv file and ensure the errors no longer show up in the `BreakingChangeIssues.csv` file output from the CI pipeline artifacts.

We take breaking changes very seriously, so please be mindful about the violations that you suppress in our repo.

### Example Issues
Example issues occur when your changed markdown files in the `help` folder (_e.g.,_ `src/Accounts/Accounts/help`) violate PowerShell language best practices. Please follow the suggestion displayed in "Remediation" entry for each violation listed in `ExampleIssues.csv`. Issues with severity 0 or 1 must be addressed, while issues with severity 2 are advisory. To better standardize the writing of documents, please also check the warning issues with severity 2 in log or download the `ExampleIssues.csv` file. If you have an issue with severity 0 or 1 that has been approved by the Azure PowerShell team, you can suppress them following these steps:

- Download the `ExampleIssues.csv` file from the CI pipeline artifacts
- Open the file using a text editor (such as VS Code) and copy each of the errors you'd like to suppress
- Paste each of these errors into the `ExampleIssues.csv` file found in their respective [module folder](../tools/StaticAnalysis/Exceptions) (_e.g.,_ if an example issue is being suppressed for Accounts, then you would paste the corresponding line(s) in the `tools/StaticAnalysis/Exceptions/Az.Accounts/ExampleIssue.csv` file) using the same text editor
- Copy each of the errors you would like to suppress directly from the ExampleIssues.csv file output in the CI pipeline artifacts
- Push the changes to the .csv file and ensure the errors no longer show up in the `ExampleIssues.csv` file output from the CI pipeline artifacts.
- 
### Extra Assemblies
We will examine each assembly within the module's artifacts folder to identify any assembly that is actually not needed to pack into the package, for example a a system assembly. The names of these assemblies will be documented in the `ExtraAssemblies.csv` file. As these assemblies serve no purpose for this module, they should be removed to decrease the module package size. It is important to verify whether these files were copied due to an incorrect copy step, such as a `Copy` action in a `props` or `csproj` file. Generally, suppressing these issues is not advised.

### Help Issues
Most help issues that cause StaticAnalysis to fail occur when help has not been added for a particular cmdlet.  If you have not generated help for your new cmdlets, please follow the instructions [here](https://github.com/Azure/azure-powershell/blob/main/documentation/development-docs/help-generation.md). If this is not the issue, follow the steps listed under "Remediation" for each violation listed in HelpIssues.csv.

### Missing Assemblies
We will ensure that all required assemblies are located within the module's artifacts folder for packaging purposes. If a necessary assembly is not included, the module cannot be imported. Any missing assemblies will be documented in the `MissingAssemblies.csv` file. It is important to investigate the reason behind a missing assembly, such as the assembly being loaded as a shared assembly but not added to the allowed list defined in `DependencyAnalyzer.cs`.

### Signature Issues
Signature issues occur when your cmdlets do not follow PowerShell standards.  Please check the [_Cmdlet Best Practices_](https://github.com/Azure/azure-powershell/blob/main/documentation/development-docs/design-guidelines/cmdlet-best-practices.md) and the [_Parameter Best Practices_](https://github.com/Azure/azure-powershell/blob/main/documentation/development-docs/design-guidelines/parameter-best-practices.md) documents to ensure you are following PowerShell guidelines.  Issues with severity 0 or 1 must be addressed, while issues with severity 2 are advisory.  If you have an issue with severity 0 or 1 that has been approved by the Azure PowerShell team, you can suppress them following these steps:

- Download the `SignatureIssues.csv` file from the CI pipeline artifacts
- Open the file using a text editor (such as VS Code) and copy each of the errors you'd like to suppress
- Paste each of these errors into the `SignatureIssues.csv` file found in their respective [module folder](../tools/StaticAnalysis/Exceptions) (_e.g.,_ if a signature issue is being suppressed for Sql, then you would paste the corresponding line(s) in the `tools/StaticAnalysis/Exceptions/Az.Sql/SignatureIssues.csv` file) using the same text editor
- Copy each of the errors you would like to suppress directly from the SignatureIssues.csv file output in the CI pipeline artifacts
- Push the changes to the .csv file and ensure the errors no longer show up in the `SignatureIssues.csv` file output from the CI pipeline artifacts.

## Troubleshotting Example Issues
### Scenario 1: Unexpected errors caused by the mixture of outputs and codes 
PowerShell code and output are required to be in sepreated code blocks (```). If you have put outputs in the code block, then the outputs will be recognized as invalid PowerShell syntax. Please make sure you have splitted outputs from codes. The following shows the correct scene. Note that if the example has no output, you don't need to add an output block.
### Example: Codes and outputs are split correctly
````
```powershell
Get-AzConfig -EnableDataCollection
```

```output
Key                           Value Applies To Scope       Help Message
---                           ----- ---------- -----       ------------
EnableDataCollection          False Az         CurrentUser When enabled, Azure PowerShell cmdlets send telemetry data to Microsoft to improve the custom…
```
````
If outputs cannot be separated from codes, then please add the tag `` to the next line of the example title and in front of the code block. The following is an example. 
### Example: Add skip tag to the example whose outputs cannot be separated from codes
````

```powershell
$Context = Get-AzBatchAccountKey -AccountName myaccount
$Context.PrimaryAccountKey
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMN==
$Context.SecondaryAccountKey
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMN==
```
````

### Scenario 2: Unexpected errors caused by unpaired quotes or brackets
Please check whether you have matched the correct number of **quotes** and **brackets**. The common error messages in this scenario are as follows.
- MissingEndParenthesisInExpression: Missing closing ')' in expression.
- MissingEndCurlyBrace: Missing closing '}' in statement block or type definition.
- MissingArrayIndexExpression: Array index expression is missing or not valid.
- UnexpectedToken: Unexpected token xxx. (Check whether you have missed or added extra quote)

In this scenario, many other unreasonable errors will occur. Leave them alone. Just make sure you have correct the number of **quotes** and **brackets** and rerun the CI verification.

---

### Documentation Announcing Az Module (`documentation/announcing-az-module.md`)

# Announcing New Module 'Az'
In August 2018 we released a new module, 'Az' which combines the functionality of the AzureRM and AzureRM.Netcore modules.  Az goes to version 1.0 on 12/18/2018. Az runs on both Windows PowerShell 5.1 and PowerShell 7.  'Az' ensures that the Windows PowerShell and PowerShell 7 cmdlets for managing Azure resources will always be in sync and up to date.  In addition, Az will simplify and regularize the naming of Azure cmdlets, and the organization of Azure modules.  Az is intended as a replacement for the AzureRM.Netcore and AzureRM modules.

Az currently ships in Cloud Shell, and can be found on the PowerShell Gallery [here](https://www.powershellgallery.com/packages/Az/)

Az is a new module, and reorganizing and simplifying cmdlet names involves breaking changes, so we have [added features to Az to make it easier to transition to the simplified, normalized names in your existing scripts](#migrating-from-azurerm). 

## New Features
  - Windows PowerShell 5.1 and PowerShell 7 support in the same module
  - PowerShell 7 and Windows PowerShell cmdlets are always in sync and up to date with latest Azure capabilities
  - Shortened and normalized cmdlet names - all cmdlets use the noun prefix 'Az'
  - Simplified and normalized module organization - data plane and management plane cmdlets in the same module for each service
  - Enhanced authentication for Netcore
    * Self-renewing Service Principal Authentication
    * Service Principal Certificate Authentication (in the future)
  - Enable/Disable-AzureRmAlias cmdlets to manage compatibility with scripts based on AzureRM

## Supported Platforms
  - PowerShell 5.1 with .Net Framework 4.7.2 or later [Windows only]
  - PowerShell 7 - Windows, Linux, macOS

## Timeline

| Date | Feature |
-------|----------
| **August 2018** | Initial Release |
| **November 2018** | Functional parity with AzureRM |
| **December 2018** | Az 1.0 Release |
| **January 2019** | New Authentication mechanisms for Windows PowerShell
|  | - Username + password authentication
|  | - Web browser control authentication |

 

## AzureRM Module Support
AzureRM will continue to be supported, and important bugs will be fixed, but new development and new Azure capabilities will be shipped only in Az starting December 2018.

## Authentication Changes
   - ADAL has limited support for the "not recommended" user credential non-interactive auth flow.
     - Connect-AzAccount in Az 1.0 will not accept PSCredential, but will support this for Windows PowerShell only in Az 1.1.0 (January 15, 2019)
     - Here are a couple issues that describe why ADAL has limited this support   
        - [Azure ActiveDirectory UserPasswordCredential doesn't support .NET core](https://github.com/AzureAD/azure-activedirectory-library-for-dotnet/issues/482#issuecomment-262256236)
        - [Connect-AzureRmAccount with user credential login does not work in Az](https://github.com/Azure/azure-powershell/issues/7430#issuecomment-426480499)

  - Service Principal improvements
    - Self-renewing Service Principal Authentication
    - Service Principal Certificate Authentication (in the future)
  - Device Auth Flow
  - Future Improvements
    - [Interactive user credential login in az](https://github.com/Azure/azure-powershell/issues/7358)


## Migrating From AzureRM

To make it easier for existing scripts to migrate from AzureRM to Az, we have provided cmdlets to create aliases that map the cmdlet names in AzureRM into the appropriate cmdlets in Az.  When the aliases are enabled, any script that uses AzureRM cmdlet names should run against Az without modification.

Note: Connect-AzAccount aka Connect-AzureRmAccount no does not ```PSCredential``` in version 1.0, but will in version 1.1. See [Authentication Changes](#authentication-changes) for more details

```powershell
PS C:\> Enable-AzureRmAlias
```

will enable AzureRM aliases in the Az module for the current PowerShell session.  For your convenience, we have added a ```Scope``` parameter that will automatically set up the AzureRM aliases in Az for every PowerShell session:

```powershell
PC C:\> Enable-AzureRmAlias -Scope CurrentUser
```

Sets up AzureRM cmdlet name aliases in the Az module for all sessions started by the current user, while

```powershell
PS C:\> Enable-AzureRmAlias -Scope LocalMachine
```

sets up AzureRM cmdlet aliases in the Az module for all sessions started on this machine for any user. You can turn aliases off similarly using the ```Disable-AzureRmAlias``` cmdlet

```powershell
PS C:\> Disable-AzureRmAlias
```

Turns off aliases in the current session.  The ```Scope``` parameter allows you to remove the aliases for PowerShell sessions started by the current user

```powershell
PS C:\> Disable-AzureRmAlias -Scope CurrentUser
```

or for all PowerShell sessions:

```powershell
PS C:\> Disable-AzureRmAlias -Scope LocalMachine
```

### Module Name Changes
For scripts that import modules directly, or use ```#Requires``` statements to specify required modules, references to ```AzureRM.*``` will need to be changed to the appropriate ```Az``` module.  A current list of AzureRM modules and their Az equivalents are listed below.

| AzureRM Module Name | Az Module Name|
| -------------------------------------- | ------------------------------- |
| AzureRM | Az |
| Azure.AnalysisServices | Az.AnalysisServices |
| **Azure.Storage** | **Az.Storage** |
| AzureRM.Aks | Az.Aks |
| AzureRM.AnalysisServices | Az.AnalysisServices |
| AzureRM.ApiManagement | Az.ApiManagement |
| AzureRM.ApplicationInsights | Az.ApplicationInsights |
| AzureRM.Automation | Az.Automation |
| ~~AzureRM.Backup~~ | **REMOVED** |
| AzureRM.Batch | Az.Batch |
| AzureRM.Billing | Az.Billing |
| AzureRM.Cdn | Az.Cdn |
| AzureRM.CognitiveServices | Az.CognitiveServices |
| AzureRM.Compute | Az.Compute |
| ~~AzureRM.Compute.ManagedService~~ | **REMOVED** |
| **AzureRM.Consumption** | **Az.Billing** |
| AzureRM.ContainerInstance | Az.ContainerInstance |
| AzureRM.ContainerRegistry | Az.ContainerRegistry |
| **AzureRM.DataFactories** | **Az.DataFactory** |
| **AzureRM.DataFactoryV2** | **Az.DataFactory** |
| AzureRM.DataLakeAnalytics | Az.DataLakeAnalytics |
| AzureRM.DataLakeStore | Az.DataLakeStore |
| AzureRM.DataMigration | Az.DataMigration |
| AzureRM.DeviceProvisioningServices | Az.DeviceProvisioningServices |
| AzureRM.DevSpaces | Az.DevSpaces |
| AzureRM.DevTestLabs | Az.DevTestLabs |
| AzureRM.Dns | Az.Dns |
| AzureRM.EventGrid | Az.EventGrid |
| AzureRM.EventHub | Az.EventHub |
| AzureRM.HDInsight | Az.HDInsight |
| **AzureRM.Insights** | **Az.Monitor** |
| AzureRM.IotHub | Az.IoTHub |
| AzureRM.KeyVault | Az.KeyVault |
| AzureRM.LogicApp | Az.LogicApp |
| AzureRM.MachineLearning | Az.MachineLearning |
| **AzureRM.MachineLearningCompute** | **Az.MachineLearning** |
| AzureRM.ManagedServiceIdentity | Az.ManagedServiceIdentity |
| AzureRM.ManagementPartner | Az.ManagementPartner |
| AzureRM.Maps | Az.Maps |
| AzureRM.MarketplaceOrdering | Az.MarketplaceOrdering |
| AzureRM.Media | Az.Media |
| AzureRM.Network | Az.Network |
| AzureRM.NotificationHubs | Az.NotificationHubs |
| AzureRM.OperationalInsights | Az.OperationalInsights |
| AzureRM.PolicyInsights | Az.PolicyInsights |
| AzureRM.PowerBIEmbedded | Az.PowerBIEmbedded* |
| **AzureRM.Profile** | **Az.Accounts** |
| AzureRM.RecoveryServices | Az.RecoveryServices |
| **AzureRM.RecoveryServices.Backup** | **Az.RecoveryServices** |
| **AzureRM.RecoveryServices.SiteRecovery**| **Az.RecoveryServices** |
| AzureRM.RedisCache | Az.RedisCache |
| AzureRM.Relay | Az.Relay |
| AzureRM.Reservations | Az.Reservations |
| AzureRM.Resources | Az. Resources |
| ~~AzureRM.Scheduler~~ | **REMOVED** |
| AzureRM.Search | Az.Search |
| AzureRM.Security | Az.Security |
| AzureRM.ServiceBus | Az.ServiceBus |
| AzureRM.ServiceFabric | Az.ServiceFabric |
| AzureRM.SignalR | Az.SignalR |
| AzureRM.Sql | Az.Sql |
| AzureRM.Storage | Az.Storage |
| AzureRM.StorageSync | Az.StorageSync |
| AzureRM.StreamAnalytics | Az.StreamAnalytics |
| AzureRM.Subscription | Az.Subscription |
| **AzureRM.Tags** | **Az.Resources** |
| AzureRM.TrafficManager | Az.TrafficManager |
| AzureRM.UsageAggregates | Az.UsageAggregates |
| AzureRM.Websites | Az.Websites |


### Installing Az and AzureRM Side-by-Side

Az and AzureRM cannot be imported side-by-side into the same PowerShell session.  If you do not want to migrate your scripts from AzureRM to Az right away, there are two main options:
- Install Az in PowerShell 7, and leave AzureRM in Windows PowerShell
- Install Az and AzureRM side-by-side in Windows PowerShell and ensure scripts do not mix the modules

#### Install Az in PowerShell 7
You can follow the instructions in [Installing PowerShell 7 on Windows](https://learn.microsoft.com/powershell/scripting/install/installing-powershell-core-on-windows
) to install PowerShell 7, then use ```Install-Module Az``` in PowerShell 7 to acquire the Az module.  Since Windows PowerShell and PowerShell 7 can exist side-by-side and do not share module directories, this will effectively isolate the two modules.

#### Install Az and AzureRM Side-by-Side
If you need to have both modules installed:
- Do not use the Enable-AzureRmAlias cmdlet with -Scope CurrentUser or LocalMachine
- When installing Az on a machine with AzureRM previously installed, you must specify ```AllowClobber``` in the Install-Module cmdlet invocation.

  ```powershell
  PS C:\> Install-Module -Name Az -AllowClobber
  ```

##### Interactive Usage
You cannot load Az and AzureRM modules in the same PowerShell session, but they can be used in separate sessions as follows
  - In AzureRM session:  ```Import-Module AzureRM```
  - In Az session:  Begin the session with ```Enable-AzureRmAlias```, which will prevent inadvertently loading AzureRM modules.  Alternately, you can use cmdlets with Az noun prefix, and avoid using cmdlets with Azure or AzureRm noun

##### Usage in Scripts

Declare the modules used in your script at the beginning of your script.
- For Az:
  ```powershell
  #Requires -Modules Az.Accounts, Az.Storage, Az.Compute
  ```

- For AzureRM:
  ```powershell
  #Requires -Modules AzureRM.Profile, AzureRM.Storage, Azure.Storage, AzureRM.Compute
  ```

---

### Documentation Azure Powershell Modules (`documentation/azure-powershell-modules.md`)

# Azure PowerShell Modules

## Rollup Module

| Description                           | Module Name | PowerShell Gallery Link          |
| ------------------------------------- | ----------- | -------------------------------- |
| Azure PowerShell                      | `Az`        | [![Az]][AzGallery]               |
| Azure PowerShell with preview modules | `AzPreview` | [![AzPreview]][AzPreviewGallery] |

## Service Modules

| Azure Service                  | Module Name                     | PowerShell Gallery Link                                            | Changelog                                          |
| ------------------------------ | ------------------------------- | ------------------------------------------------------------------ | -------------------------------------------------- |
| Accounts                       | `Az.Accounts`                   | [![Accounts]][AccountsGallery]                                     | [Changelog][AccountsChangeLog]                   |
| ADDomainServices               | `Az.ADDomainServices`           | [![ADDomainServices]][ADDomainServicesGallery]                     | [Changelog][ADDomainServicesChangeLog]           |
| Advisor                        | `Az.Advisor`                    | [![Advisor]][AdvisorGallery]                                       | [Changelog][AdvisorChangeLog]                    |
| Kubernetes Service             | `Az.Aks`                        | [![Aks]][AksGallery]                                               | [Changelog][AksChangeLog]                        |
| Kubernetes Service enabled by Azure Arc   | `Az.AksArc`          | [![AksArc]][AksArcGallery]                                         | [Changelog][AksArcChangeLog]                        |
| Alb                            | `Az.Alb`                        | [![Alb]][AlbGallery]                                               | [Changelog][AlbChangeLog]                        |
| Alert Management               | `Az.AlertsManagement`           | [![AlertsManagement]][AlertsManagementGallery]                     | [Changelog][AlertsManagementChangeLog]           |
| Analysis Services              | `Az.AnalysisServices`           | [![AnalysisServices]][AnalysisServicesGallery]                     | [Changelog][AnalysisServicesChangeLog]           |
| API Management                 | `Az.ApiManagement`              | [![ApiManagement]][ApiManagementGallery]                           | [Changelog][ApiManagementChangeLog]              |
| Container Apps                 | `Az.App`                        | [![App]][AppGallery]                                               | [Changelog][AppChangeLog]                        |
| App Compliance Automation      | `Az.AppComplianceAutomation`    | [![AppComplianceAutomation]][AppComplianceAutomationGallery]       | [Changelog][AppComplianceAutomationChangeLog]    |
| App Configuration              | `Az.AppConfiguration`           | [![AppConfiguration]][AppConfigurationGallery]                     | [Changelog][AppConfigurationChangeLog]           |
| Application Insights           | `Az.ApplicationInsights`        | [![ApplicationInsights]][ApplicationInsightsGallery]               | [Changelog][ApplicationInsightsChangeLog]        |
| Arc Resource Bridge            | `Az.ArcResourceBridge`          | [![ArcResourceBridge]][ArcResourceBridgeGallery]                   | [Changelog][ArcResourceBridgeChangeLog]          |
| ArcGateway                     | `Az.ArcGateway`                 | [![ArcGateway]][ArcGatewayGallery]                                 | [Changelog][ArcGatewayChangeLog]                 |
| Attestation                    | `Az.Attestation`                | [![Attestation]][AttestationGallery]                               | [Changelog][AttestationChangeLog]                |
| Automanage                     | `Az.Automanage`                 | [![Automanage]][AutomanageGallery]                                 | [Changelog][AutomanageChangeLog]                 |
| Automation                     | `Az.Automation`                 | [![Automation]][AutomationGallery]                                 | [Changelog][AutomationChangeLog]                 |
| BareMetal                      | `Az.BareMetal`                  | [![BareMetal]][BareMetalGallery]                                   | [Changelog][BareMetalChangeLog]                  |
| Batch                          | `Az.Batch`                      | [![Batch]][BatchGallery]                                           | [Changelog][BatchChangeLog]                      |
| Billing                        | `Az.Billing`                    | [![Billing]][BillingGallery]                                       | [Changelog][BillingChangeLog]                    |
| Billing Benefits               | `Az.BillingBenefits`            | [![BillingBenefits]][BillingBenefitsGallery]                       | [Changelog][BillingBenefitsChangeLog]            |
| Blueprints                     | `Az.Blueprint`                  | [![Blueprint]][BlueprintGallery]                                   | [Changelog][BlueprintChangeLog]                  |
| BotService                     | `Az.BotService`                 | [![BotService]][BotServiceGallery]                                 | [Changelog][BotServiceChangeLog]                 |
| Content Delivery Network       | `Az.Cdn`                        | [![Cdn]][CdnGallery]                                               | [Changelog][CdnChangeLog]                        |
| Change Analysis                | `Az.ChangeAnalysis`             | [![ChangeAnalysis]][ChangeAnalysisGallery]                         | [Changelog][ChangeAnalysisChangeLog]             |
| Cloud Service                  | `Az.CloudService`               | [![CloudService]][CloudServiceGallery]                             | [Changelog][CloudServiceChangeLog]               |
| Cognitive Services             | `Az.CognitiveServices`          | [![CognitiveServices]][CognitiveServicesGallery]                   | [Changelog][CognitiveServicesChangeLog]          |
| Communication                  | `Az.Communication`              | [![Communication]][CommunicationGallery]                           | [Changelog][CommunicationChangeLog]              |
| Compute                        | `Az.Compute`                    | [![Compute]][ComputeGallery]                                       | [Changelog][ComputeChangeLog]                    |
| Compute Fleet                  | `Az.ComputeFleet`               | [![ComputeFleet]][ComputeFleetGallery]                             | [Changelog][ComputeFleetChangeLog]               |
| Compute Schedule               | `Az.ComputeSchedule`            | [![ComputeSchedule]][ComputeScheduleGallery]                       | [Changelog][ComputeScheduleChangeLog]            |
| ConfidentialLedger             | `Az.ConfidentialLedger`         | [![ConfidentialLedger]][ConfidentialLedgerGallery]                 | [Changelog][ConfidentialLedgerChangeLog]         |
| Confluent                      | `Az.Confluent`                  | [![Confluent]][ConfluentGallery]                                   | [Changelog][ConfluentChangeLog]                  |
| Connected Kubernetes           | `Az.ConnectedKubernetes`        | [![ConnectedKubernetes]][ConnectedKubernetesGallery]               | [Changelog][ConnectedKubernetesChangeLog]        |
| Connected Machine              | `Az.ConnectedMachine`           | [![ConnectedMachine]][ConnectedMachineGallery]                     | [Changelog][ConnectedMachineChangeLog]           |
| ConnectedNetwork               | `Az.ConnectedNetwork`           | [![ConnectedNetwork]][ConnectedNetworkGallery]                     | [Changelog][ConnectedNetworkChangeLog]           |
| ConnectedVMware                | `Az.ConnectedVMware`            | [![ConnectedVMware]][ConnectedVMwareGallery]                       | [Changelog][ConnectedVMwareChangeLog]            |
| Container Instance             | `Az.ContainerInstance`          | [![ContainerInstance]][ContainerInstanceGallery]                   | [Changelog][ContainerInstanceChangeLog]          |
| Container Registry             | `Az.ContainerRegistry`          | [![ContainerRegistry]][ContainerRegistryGallery]                   | [Changelog][ContainerRegistryChangeLog]          |
| Cosmos DB                      | `Az.CosmosDB`                   | [![CosmosDB]][CosmosDBGallery]                                     | [Changelog][CosmosDBChangeLog]                   |
| Cost Management                | `Az.CostManagement`             | [![CostManagement]][CostManagementGallery]                         | [Changelog][CostManagementChangeLog]             |
| Custom Location                | `Az.CustomLocation`             | [![CustomLocation]][CustomLocationGallery]                         | [Changelog][CustomLocationChangeLog]             |
| Custom Resource Providers      | `Az.CustomProviders`            | [![CustomProviders]][CustomProvidersGallery]                       | [Changelog][CustomProvidersChangeLog]            |
| Dashboard                      | `Az.Dashboard`                  | [![Dashboard]][DashboardGallery]                                   | [Changelog][DashboardChangeLog]                  |
| Data Box                       | `Az.DataBox`                    | [![DataBox]][DataBoxGallery]                                       | [Changelog][DataBoxChangeLog]                    |
| Data Box Edge (Stack Edge)     | `Az.DataBoxEdge`                | [![DataBoxEdge]][DataBoxEdgeGallery]                               | [Changelog][DataBoxEdgeChangeLog]                |
| Databricks                     | `Az.Databricks`                 | [![Databricks]][DatabricksGallery]                                 | [Changelog][DatabricksChangeLog]                 |
| Datadog                        | `Az.Datadog`                    | [![Datadog]][DatadogGallery]                                       | [Changelog][DatadogChangeLog]                    |
| Data Factory                   | `Az.DataFactory`                | [![DataFactory]][DataFactoryGallery]                               | [Changelog][DataFactoryChangeLog]                |
| Data Lake Analytics            | `Az.DataLakeAnalytics`          | [![DataLakeAnalytics]][DataLakeAnalyticsGallery]                   | [Changelog][DataLakeAnalyticsChangeLog]          |
| Data Lake Store                | `Az.DataLakeStore`              | [![DataLakeStore]][DataLakeStoreGallery]                           | [Changelog][DataLakeStoreChangeLog]              |
| Data Migration                 | `Az.DataMigration`              | [![DataMigration]][DataMigrationGallery]                           | [Changelog][DataMigrationChangeLog]              |
| Data Protection                | `Az.DataProtection`             | [![DataProtection]][DataProtectionGallery]                         | [Changelog][DataProtectionChangeLog]             |
| Data Share                     | `Az.DataShare`                  | [![DataShare]][DataShareGallery]                                   | [Changelog][DataShareChangeLog]                  |
| Dedicated HSM                  | `Az.DedicatedHsm`               | [![DedicatedHsm]][DedicatedHsmGallery]                             | [Changelog][DedicatedHsmChangeLog]               |
| Windows Virtual Desktop        | `Az.DesktopVirtualization`      | [![DesktopVirtualization]][DesktopVirtualizationGallery]           | [Changelog][DesktopVirtualizationChangeLog]      |
| DevCenter                      | `Az.DevCenter`                  | [![DevCenter]][DevCenterGallery]                                   | [Changelog][DevCenterChangeLog]                  |
| Device Provisioning Services   | `Az.DeviceProvisioningServices` | [![DeviceProvisioningServices]][DeviceProvisioningServicesGallery] | [Changelog][DeviceProvisioningServicesChangeLog] |
| Device Registry                | `Az.DeviceRegistry`             | [![DeviceRegistry]][DeviceUpdateGallery]                           | [Changelog][DeviceRegistryChangeLog]             |
| Device Update                  | `Az.DeviceUpdate`               | [![DeviceUpdate]][DeviceUpdateGallery]                             | [Changelog][DeviceUpdateChangeLog]               |
| DevTest Labs                   | `Az.DevTestLabs`                | [![DevTestLabs]][DevTestLabsGallery]                               | [Changelog][DevTestLabsChangeLog]                |
| Digital Twins                  | `Az.DigitalTwins`               | [![DigitalTwins]][DigitalTwinsGallery]                             | [Changelog][DigitalTwinsChangeLog]               |
| Disk Pool                      | `Az.DiskPool`                   | [![DiskPool]][DiskPoolGallery]                                     | [Changelog][DiskPoolChangeLog]                   |
| DNS                            | `Az.Dns`                        | [![Dns]][DnsGallery]                                               | [Changelog][DnsChangeLog]                        |
| DnsResolver                    | `Az.DnsResolver`                | [![DnsResolver]][DnsResolverGallery]                               | [Changelog][DnsResolverChangeLog]                |
| DynatraceObservability         | `Az.DynatraceObservability`     | [![DynatraceObservability]][DynatraceObservabilityGallery]         | [Changelog][DynatraceObservabilityChangeLog]     |
| Stack Edge Order               | `Az.EdgeOrder`                  | [![EdgeOrder]][EdgeOrderGallery]                                   | [Changelog][EdgeOrderChangeLog]                  |
| Elastic on Azure               | `Az.Elastic`                    | [![Elastic]][ElasticGallery]                                       | [Changelog][ElasticChangeLog]                    |
| ElasticSan on Azure            | `Az.ElasticSan`                 | [![ElasticSan]][ElasticSanGallery]                                 | [Changelog][ElasticSanChangeLog]                 |
| Event Grid                     | `Az.EventGrid`                  | [![EventGrid]][EventGridGallery]                                   | [Changelog][EventGridChangeLog]                  |
| Event Hubs                     | `Az.EventHub`                   | [![EventHub]][EventHubGallery]                                     | [Changelog][EventHubChangeLog]                   |
| Fabric                         | `Fabric`                        | [![Fabric]][FabricGallery]                                         | [Changelog][FabricChangeLog]                     |
| FirmwareAnalysis               | `FirmwareAnalysis`              | [![FirmwareAnalysis]][FirmwareAnalysisGallery]                     | [Changelog][FirmwareAnalysisChangeLog]           |
| Fleet                          | `Az.Fleet`                      | [![Fleet]][FleetGallery]                                           | [Changelog][FleetChangeLog]                      |
| Fluid Relay                    | `Az.FluidRelay`                 | [![FluidRelay]][FluidRelayGallery]                                 | [Changelog][FluidRelayChangeLog]                 |
| Front Door                     | `Az.FrontDoor`                  | [![FrontDoor]][FrontDoorGallery]                                   | [Changelog][FrontDoorChangeLog]                  |
| Functions                      | `Az.Functions`                  | [![Functions]][FunctionsGallery]                                   | [Changelog][FunctionsChangeLog]                  |
| GraphServices                  | `Az.GraphServices`              | [![GraphServices]][GraphServicesGallery]                           | [Changelog][GraphServicesChangeLog]              |
| Guest Configuration            | `Az.GuestConfiguration`         | [![GuestConfiguration]][GuestConfigurationGallery]                 | [Changelog][GuestConfigurationChangeLog]         |
| SAP HANA on Azure              | `Az.HanaOnAzure`                | [![HanaOnAzure]][HanaOnAzureGallery]                               | [Changelog][HanaOnAzureChangeLog]                |
| HDInsight                      | `Az.HDInsight`                  | [![HDInsight]][HDInsightGallery]                                   | [Changelog][HDInsightChangeLog]                  |
| HealthBot                      | `Az.HealthBot`                  | [![HealthBot]][HealthBotGallery]                                   | [Changelog][HealthBotChangeLog]                  |
| HealthDataAIServices           | `Az.HealthDataAIServices`       | [![HealthDataAIServices]][HealthDataAIServicesGallery]             | [Changelog][HealthDataAIServicesChangeLog]       |
| API for FHIR                   | `Az.HealthcareApis`             | [![HealthcareApis]][HealthcareApisGallery]                         | [Changelog][HealthcareApisChangeLog]             |
| HPC Cache                      | `Az.HPCCache`                   | [![HPCCache]][HPCCacheGallery]                                     | [Changelog][HPCCacheChangeLog]                   |
| Image Builder                  | `Az.ImageBuilder`               | [![ImageBuilder]][ImageBuilderGallery]                             | [Changelog][ImageBuilderChangeLog]               |
| Import/Export                  | `Az.ImportExport`               | [![ImportExport]][ImportExportGallery]                             | [Changelog][ImportExportChangeLog]               |
| IoT Central                    | `Az.IotCentral`                 | [![IotCentral]][IotCentralGallery]                                 | [Changelog][IotCentralChangeLog]                 |
| IoT Hub                        | `Az.IotHub`                     | [![IotHub]][IotHubGallery]                                         | [Changelog][IotHubChangeLog]                     |
| Key Vault                      | `Az.KeyVault`                   | [![KeyVault]][KeyVaultGallery]                                     | [Changelog][KeyVaultChangeLog]                   |
| Kubernetes Configuration       | `Az.KubernetesConfiguration`    | [![KubernetesConfiguration]][KubernetesConfigurationGallery]       | [Changelog][KubernetesConfigurationChangeLog]    |
| Kubernetes Runtime             | `Az.KubernetesRuntime`          | [![KubernetesRuntime]][KubernetesRuntimeGallery]                   | [Changelog][KubernetesRuntimeChangeLog]          |
| Kusto                          | `Az.Kusto`                      | [![Kusto]][KustoGallery]                                           | [Changelog][KustoChangeLog]                      |
| Lab Services                   | `Az.LabServices`                | [![LabServices]][LabServicesGallery]                               | [Changelog][LabServicesChangeLog]                |
| Load Testing                   | `Az.LoadTesting`                | [![LoadTesting]][LoadTestingGallery]                               | [Changelog][LoadTestingChangeLog]                |
| Logic App                      | `Az.LogicApp`                   | [![LogicApp]][LogicAppGallery]                                     | [Changelog][LogicAppChangeLog]                   |                      |
| Machine Learning               | `Az.MachineLearning`            | [![MachineLearning]][MachineLearningGallery]                       | [Changelog][MachineLearningChangeLog]            |
| Machine Learning Services      | `Az.MachineLearningServices`    | [![MachineLearningServices]][MachineLearningServicesGallery]       | [Changelog][MachineLearningServicesChangeLog]    |
| Maintenance                    | `Az.Maintenance`                | [![Maintenance]][MaintenanceGallery]                               | [Changelog][MaintenanceChangeLog]                |
| ManagedNetworkFabric           | `Az.ManagedNetworkFabric`       | [![ManagedNetworkFabric]][ManagedNetworkFabricGallery]             | [Changelog][ManagedNetworkFabricChangeLog]       |
| Managed Service Identity       | `Az.ManagedServiceIdentity`     | [![ManagedServiceIdentity]][ManagedServiceIdentityGallery]         | [Changelog][ManagedServiceIdentityChangeLog]     |
| Managed Services               | `Az.ManagedServices`            | [![ManagedServices]][ManagedServicesGallery]                       | [Changelog][ManagedServicesChangeLog]            |
| Management Partner             | `Az.ManagementPartner`          | [![ManagementPartner]][ManagementPartnerGallery]                   | [Changelog][ManagementPartnerChangeLog]          |
| Maps                           | `Az.Maps`                       | [![Maps]][MapsGallery]                                             | [Changelog][MapsChangeLog]                       |
| Database for MariaDB           | `Az.MariaDb`                    | [![MariaDb]][MariaDbGallery]                                       | [Changelog][MariaDbChangeLog]                    |
| Marketplace                    | `Az.Marketplace`                | [![Marketplace]][MarketplaceGallery]                               | [Changelog][MarketplaceChangeLog]                |
| Marketplace Ordering           | `Az.MarketplaceOrdering`        | [![MarketplaceOrdering]][MarketplaceOrderingGallery]               | [Changelog][MarketplaceOrderingChangeLog]        |
| Managed DevOps Pools           | `Az.Mdp`                        | [![Mdp]][MdpGallery]                                               | [Changelog][MdpChangeLog]                      |
| Migrate                        | `Az.Migrate`                    | [![Migrate]][MigrateGallery]                                       | [Changelog][MigrateChangeLog]                    |
| Mixed Reality                  | `Az.MixedReality`               | [![MixedReality]][MixedRealityGallery]                             | [Changelog][MixedRealityChangeLog]               |
| Mobile Network                 | `Az.MobileNetwork`              | [![MobileNetwork]][MobileNetworkGallery]                           | [Changelog][MobileNetworkChangeLog]              |
| Monitor                        | `Az.Monitor`                    | [![Monitor]][MonitorGallery]                                       | [Changelog][MonitorChangeLog]                    |
| Monitoring Solutions           | `Az.MonitoringSolutions`        | [![MonitoringSolutions]][MonitoringSolutionsGallery]               | [Changelog][MonitoringSolutionsChangeLog]        |
| Database for MySQL             | `Az.MySql`                      | [![MySql]][MySqlGallery]                                           | [Changelog][MySqlChangeLog]                      |
| NetApp Files                   | `Az.NetAppFiles`                | [![NetAppFiles]][NetAppFilesGallery]                               | [Changelog][NetAppFilesChangeLog]                |
| Network                        | `Az.Network`                    | [![Network]][NetworkGallery]                                       | [Changelog][NetworkChangeLog]                    |
| NetworkAnalytics               | `Az.NetworkAnalytics`           | [![NetworkAnalytics]][NetworkAnalyticsGallery]                     | [Changelog][NetworkAnalyticsChangeLog]           |
| NetworkCloud                   | `Az.NetworkCloud`               | [![NetworkCloud]][NetworkCloudGallery]                             | [Changelog][NetworkCloudChangeLog]               |
| NetworkFunction                | `Az.NetworkFunction`            | [![NetworkFunction]][NetworkFunctionGallery]                       | [Changelog][NetworkFunctionChangeLog]            |
| NewRelic                       | `Az.NewRelic`                   | [![NewRelic]][NewRelicGallery]                                     | [Changelog][NewRelicChangeLog]                   |
| Nginx                          | `Az.Nginx`                      | [![Nginx]][NginxGallery]                                           | [Changelog][NginxChangeLog]                      |
| Notification Hubs              | `Az.NotificationHubs`           | [![NotificationHubs]][NotificationHubsGallery]                     | [Changelog][NotificationHubsChangeLog]           |
| Operational Insights           | `Az.OperationalInsights`        | [![OperationalInsights]][OperationalInsightsGallery]               | [Changelog][OperationalInsightsChangeLog]        |
| Orbital                        | `Az.Orbital`                    | [![Orbital]][OrbitalGallery]                                       | [Changelog][OrbitalChangeLog]                    |
| PaloAltoNetworks               | `Az.PaloAltoNetworks`           | [![PaloAltoNetworks]][PaloAltoNetworksGallery]                     | [Changelog][PaloAltoNetworksChangeLog]           |
| Virtual Network peering        | `Az.Peering`                    | [![Peering]][PeeringGallery]                                       | [Changelog][PeeringChangeLog]                    |
| Policy Insights                | `Az.PolicyInsights`             | [![PolicyInsights]][PolicyInsightsGallery]                         | [Changelog][PolicyInsightsChangeLog]             |
| Portal                         | `Az.Portal`                     | [![Portal]][PortalGallery]                                         | [Changelog][PortalChangeLog]                     |
| Power BI Embedded              | `Az.PowerBIEmbedded`            | [![PowerBIEmbedded]][PowerBIEmbeddedGallery]                       | [Changelog][PowerBIEmbeddedChangeLog]            |
| Private Dns                    | `Az.PrivateDns`                 | [![PrivateDns]][PrivateDnsGallery]                                 | [Changelog][PrivateDnsChangeLog]                 |
| Provider Hub                   | `Az.ProviderHub`                | [![ProviderHub]][ProviderHubGallery]                               | [Changelog][ProviderHubChangeLog]                |
| Purview                        | `Az.Purview`                    | [![Purview]][PurviewGallery]                                       | [Changelog][PurviewChangeLog]                    |
| Quantum                        | `Az.Quantum`                    | [![Quantum]][QuantumGallery]                                       | [Changelog][QuantumChangeLog]                    |
| Qumulo                         | `Az.Qumulo`                     | [![Qumulo]][QumuloGallery]                                         | [Changelog][QumuloChangeLog]                     |
| Quota                          | `Az.Quota`                      | [![Quota]][QuotaGallery]                                           | [Changelog][QuotaChangeLog]                      |
| Recovery Services              | `Az.RecoveryServices`           | [![RecoveryServices]][RecoveryServicesGallery]                     | [Changelog][RecoveryServicesChangeLog]           |
| Redis Cache                    | `Az.RedisCache`                 | [![RedisCache]][RedisCacheGallery]                                 | [Changelog][RedisCacheChangeLog]                 |
| Redis Enterprise Cache         | `Az.RedisEnterpriseCache`       | [![RedisEnterpriseCache]][RedisEnterpriseCacheGallery]             | [Changelog][RedisEnterpriseCacheChangeLog]       |
| Relay                          | `Az.Relay`                      | [![Relay]][RelayGallery]                                           | [Changelog][RelayChangeLog]                      |
| Reservations                   | `Az.Reservations`               | [![Reservations]][ReservationsGallery]                             | [Changelog][ReservationsChangeLog]               |
| Resource Graph                 | `Az.ResourceGraph`              | [![ResourceGraph]][ResourceGraphGallery]                           | [Changelog][ResourceGraphChangeLog]              |
| Resource Mover                 | `Az.ResourceMover`              | [![ResourceMover]][ResourceMoverGallery]                           | [Changelog][ResourceMoverChangeLog]              |
| Resources                      | `Az.Resources`                  | [![Resources]][ResourcesGallery]                                   | [Changelog][ResourcesChangeLog]                  |
| Search                         | `Az.Search`                     | [![Search]][SearchGallery]                                         | [Changelog][SearchChangeLog]                     |
| Security                       | `Az.Security`                   | [![Security]][SecurityGallery]                                     | [Changelog][SecurityChangeLog]                   |
| Sentinel (SecurityInsights)    | `Az.SecurityInsights`           | [![SecurityInsights]][SecurityInsightsGallery]                     | [Changelog][SecurityInsightsChangeLog]           |
| SelfHelp                       | `Az.SelfHelp`                   | [![SelfHelp]][SelfHelpGallery]                                     | [Changelog][SelfHelpChangeLog]                   |
| Service Bus                    | `Az.ServiceBus`                 | [![ServiceBus]][ServiceBusGallery]                                 | [Changelog][ServiceBusChangeLog]                 |
| Service Fabric                 | `Az.ServiceFabric`              | [![ServiceFabric]][ServiceFabricGallery]                           | [Changelog][ServiceFabricChangeLog]              |
| Service Linker                 | `Az.ServiceLinker`              | [![ServiceLinker]][ServiceLinkerGallery]                           | [Changelog][ServiceLinkerChangeLog]              |
| SignalR                        | `Az.SignalR`                    | [![SignalR]][SignalRGallery]                                       | [Changelog][SignalRChangeLog]                    |
| SpringCloud                    | `Az.SpringCloud`                | [![SpringCloud]][SpringCloudGallery]                               | [Changelog][SpringCloudChangeLog]                |
| SQL                            | `Az.Sql`                        | [![Sql]][SqlGallery]                                               | [Changelog][SqlChangeLog]                        |
| SQL Server on Virtual Machines | `Az.SqlVirtualMachine`          | [![SqlVirtualMachine]][SqlVirtualMachineGallery]                   | [Changelog][SqlVirtualMachineChangeLog]          |
| SSH                            | `Az.Ssh`                        | [![Ssh]][SshGallery]                                               | [Changelog][SshChangeLog]                        |
| Stack HCI                      | `Az.StackHCI`                   | [![StackHCI]][StackHCIGallery]                                     | [Changelog][StackHCIChangeLog]                   |
| Stack HCI VM                   | `Az.StackHCIVM`                 | [![StackHCIVM]][StackHCIVMGallery]                                 | [Changelog][StackHCIVMChangeLog]                 |
| Storage                        | `Az.Storage`                    | [![Storage]][StorageGallery]                                       | [Changelog][StorageChangeLog]                    |
| StorageCache                   | `Az.StorageCache`               | [![StorageCache]][StorageCacheGallery]                             | [Changelog][StorageCacheChangeLog]               |
| Storage Mover                  | `Az.StorageMover`               | [![StorageMover]][StorageMoverGallery]                             | [Changelog][StorageMoverChangeLog]               |
| File Sync                      | `Az.StorageSync`                | [![StorageSync]][StorageSyncGallery]                               | [Changelog][StorageSyncChangeLog]                |
| Stream Analytics               | `Az.StreamAnalytics`            | [![StreamAnalytics]][StreamAnalyticsGallery]                       | [Changelog][StreamAnalyticsChangeLog]            |
| Subscription                   | `Az.Subscription`               | [![Subscription]][SubscriptionGallery]                             | [Changelog][SubscriptionChangeLog]               |
| Support                        | `Az.Support`                    | [![Support]][SupportGallery]                                       | [Changelog][SupportChangeLog]                    |
| Synapse Analytics              | `Az.Synapse`                    | [![Synapse]][SynapseGallery]                                       | [Changelog][SynapseChangeLog]                    |
| Time Series Insights           | `Az.TimeSeriesInsights`         | [![TimeSeriesInsights]][TimeSeriesInsightsGallery]                 | [Changelog][TimeSeriesInsightsChangeLog]         |
| Traffic Manager                | `Az.TrafficManager`             | [![TrafficManager]][TrafficManagerGallery]                         | [Changelog][TrafficManagerChangeLog]             |
| Terraform                      | `Az.Terraform`                  | [![Terraform]][TerraformGallery]                                   | [Changelog][TerraformChangeLog]                  |
| Azure VMware Solution          | `Az.VMware`                     | [![VMware]][VMwareGallery]                                         | [Changelog][VMwareChangeLog]                     |
| Voice Services                 | `Az.VoiceServices`              | [![VoiceServices]][VMwareGallery]                                  | [Changelog][VoiceServicesChangeLog]              |
| Web App Service                | `Az.Websites`                   | [![Websites]][WebsitesGallery]                                     | [Changelog][WebsitesChangeLog]                   |
| Windows Iot Services           | `Az.WindowsIotServices`         | [![WindowsIotServices]][WindowsIotServicesGallery]                 | [Changelog][WindowsIotServicesChangeLog]         |
| Workloads                      | `Az.Workloads`                  | [![Workloads]][WorkloadsGallery]                                   | [Changelog][WorkloadsChangeLog]                  |






[Az]:                         https://img.shields.io/powershellgallery/v/Az.svg?style=flat-square&label=Az
[AzPreview]:                  https://img.shields.io/powershellgallery/v/AzPreview.svg?style=flat-square&label=AzPreview
[Accounts]:                   https://img.shields.io/powershellgallery/v/Az.Accounts.svg?style=flat-square&label=Az.Accounts
[ADDomainServices]:           https://img.shields.io/powershellgallery/v/Az.ADDomainServices.svg?style=flat-square&label=Az.ADDomainServices
[Advisor]:                    https://img.shields.io/powershellgallery/v/Az.Advisor.svg?style=flat-square&label=Az.Advisor
[Aks]:                        https://img.shields.io/powershellgallery/v/Az.Aks.svg?style=flat-square&label=Az.Aks
[AksArc]:                     https://img.shields.io/powershellgallery/v/Az.AksArc.svg?style=flat-square&label=Az.AksArc
[Alb]:                        https://img.shields.io/powershellgallery/v/Az.Alb.svg?style=flat-square&label=Az.Alb
[AlertsManagement]:           https://img.shields.io/powershellgallery/v/Az.AlertsManagement.svg?style=flat-square&label=Az.AlertsManagement
[AnalysisServices]:           https://img.shields.io/powershellgallery/v/Az.AnalysisServices.svg?style=flat-square&label=Az.AnalysisServices
[ApiManagement]:              https://img.shields.io/powershellgallery/v/Az.ApiManagement.svg?style=flat-square&label=Az.ApiManagement
[App]:                        https://img.shields.io/powershellgallery/v/Az.App.svg?style=flat-square&label=Az.App
[AppComplianceAutomation]:    https://img.shields.io/powershellgallery/v/Az.AppComplianceAutomation.svg?style=flat-square&label=Az.AppComplianceAutomation
[AppConfiguration]:           https://img.shields.io/powershellgallery/v/Az.AppConfiguration.svg?style=flat-square&label=Az.AppConfiguration
[ApplicationInsights]:        https://img.shields.io/powershellgallery/v/Az.ApplicationInsights.svg?style=flat-square&label=Az.ApplicationInsights
[ArcResourceBridge]:          https://img.shields.io/powershellgallery/v/Az.ArcResourceBridge.svg?style=flat-square&label=Az.ArcResourceBridge
[ArcGateway]:                 https://img.shields.io/powershellgallery/v/Az.ArcGateway.svg?style=flat-square&label=Az.ArcGateway
[Attestation]:                https://img.shields.io/powershellgallery/v/Az.Attestation.svg?style=flat-square&label=Az.Attestation
[Automanage]:                 https://img.shields.io/powershellgallery/v/Az.Automanage.svg?style=flat-square&label=Az.Automanage
[Automation]:                 https://img.shields.io/powershellgallery/v/Az.Automation.svg?style=flat-square&label=Az.Automation
[BareMetal]:                  https://img.shields.io/powershellgallery/v/Az.BareMetal.svg?style=flat-square&label=Az.BareMetal
[Batch]:                      https://img.shields.io/powershellgallery/v/Az.Batch.svg?style=flat-square&label=Az.Batch
[Billing]:                    https://img.shields.io/powershellgallery/v/Az.Billing.svg?style=flat-square&label=Az.Billing
[BillingBenefits]:            https://img.shields.io/powershellgallery/v/Az.BillingBenefits.svg?style=flat-square&label=Az.BillingBenefits
[Blueprint]:                  https://img.shields.io/powershellgallery/v/Az.Blueprint.svg?style=flat-square&label=Az.Blueprint
[BotService]:                 https://img.shields.io/powershellgallery/v/Az.BotService.svg?style=flat-square&label=Az.BotService
[Cdn]:                        https://img.shields.io/powershellgallery/v/Az.Cdn.svg?style=flat-square&label=Az.Cdn
[ChangeAnalysis]:             https://img.shields.io/powershellgallery/v/Az.ChangeAnalysis.svg?style=flat-square&label=Az.ChangeAnalysis
[CloudService]:               https://img.shields.io/powershellgallery/v/Az.CloudService.svg?style=flat-square&label=Az.CloudService
[CodeSigning]:                https://img.shields.io/powershellgallery/v/Az.CodeSigning.svg?style=flat-square&label=Az.CodeSigning
[CognitiveServices]:          https://img.shields.io/powershellgallery/v/Az.CognitiveServices.svg?style=flat-square&label=Az.CognitiveServices
[Communication]:              https://img.shields.io/powershellgallery/v/Az.Communication.svg?style=flat-square&label=Az.Communication
[Compute]:                    https://img.shields.io/powershellgallery/v/Az.Compute.svg?style=flat-square&label=Az.Compute
[ComputeFleet]:               https://img.shields.io/powershellgallery/v/Az.ComputeFleet.svg?style=flat-square&label=Az.ComputeFleet
[ComputeSchedule]:            https://img.shields.io/powershellgallery/v/Az.ComputeSchedule.svg?style=flat-square&label=Az.ComputeSchedule
[ConfidentialLedger]:         https://img.shields.io/powershellgallery/v/Az.ConfidentialLedger.svg?style=flat-square&label=Az.ConfidentialLedger
[Confluent]:                  https://img.shields.io/powershellgallery/v/Az.Confluent.svg?style=flat-square&label=Az.Confluent
[ConnectedKubernetes]:        https://img.shields.io/powershellgallery/v/Az.ConnectedKubernetes.svg?style=flat-square&label=Az.ConnectedKubernetes
[ConnectedMachine]:           https://img.shields.io/powershellgallery/v/Az.ConnectedMachine.svg?style=flat-square&label=Az.ConnectedMachine
[ConnectedNetwork]:           https://img.shields.io/powershellgallery/v/Az.ConnectedNetwork.svg?style=flat-square&label=Az.ConnectedNetwork
[ConnectedVMware]:            https://img.shields.io/powershellgallery/v/Az.ConnectedVMware.svg?style=flat-square&label=Az.ConnectedVMware
[ContainerInstance]:          https://img.shields.io/powershellgallery/v/Az.ContainerInstance.svg?style=flat-square&label=Az.ContainerInstance
[ContainerRegistry]:          https://img.shields.io/powershellgallery/v/Az.ContainerRegistry.svg?style=flat-square&label=Az.ContainerRegistry
[CosmosDB]:                   https://img.shields.io/powershellgallery/v/Az.CosmosDB.svg?style=flat-square&label=Az.CosmosDB
[CostManagement]:             https://img.shields.io/powershellgallery/v/Az.CostManagement.svg?style=flat-square&label=Az.CostManagement
[CustomLocation]:             https://img.shields.io/powershellgallery/v/Az.CustomLocation.svg?style=flat-square&label=Az.CustomLocation
[CustomProviders]:            https://img.shields.io/powershellgallery/v/Az.CustomProviders.svg?style=flat-square&label=Az.CustomProviders
[Dashboard]:                  https://img.shields.io/powershellgallery/v/Az.Dashboard.svg?style=flat-square&label=Az.Dashboard
[DataBox]:                    https://img.shields.io/powershellgallery/v/Az.DataBox.svg?style=flat-square&label=Az.DataBox
[DataBoxEdge]:                https://img.shields.io/powershellgallery/v/Az.DataBoxEdge.svg?style=flat-square&label=Az.DataBoxEdge
[Databricks]:                 https://img.shields.io/powershellgallery/v/Az.Databricks.svg?style=flat-square&label=Az.Databricks
[Datadog]:                    https://img.shields.io/powershellgallery/v/Az.Datadog.svg?style=flat-square&label=Az.Datadog
[DataFactory]:                https://img.shields.io/powershellgallery/v/Az.DataFactory.svg?style=flat-square&label=Az.DataFactory
[DataLakeAnalytics]:          https://img.shields.io/powershellgallery/v/Az.DataLakeAnalytics.svg?style=flat-square&label=Az.DataLakeAnalytics
[DataLakeStore]:              https://img.shields.io/powershellgallery/v/Az.DataLakeStore.svg?style=flat-square&label=Az.DataLakeStore
[DataMigration]:              https://img.shields.io/powershellgallery/v/Az.DataMigration.svg?style=flat-square&label=Az.DataMigration
[DataProtection]:             https://img.shields.io/powershellgallery/v/Az.DataProtection.svg?style=flat-square&label=Az.DataProtection
[DataShare]:                  https://img.shields.io/powershellgallery/v/Az.DataShare.svg?style=flat-square&label=Az.DataShare
[DedicatedHsm]:               https://img.shields.io/powershellgallery/v/Az.DedicatedHsm.svg?style=flat-square&label=Az.DedicatedHsm
[DesktopVirtualization]:      https://img.shields.io/powershellgallery/v/Az.DesktopVirtualization.svg?style=flat-square&label=Az.DesktopVirtualization
[DevCenter]:                  https://img.shields.io/powershellgallery/v/Az.DevCenter.svg?style=flat-square&label=Az.DevCenter
[DeviceProvisioningServices]: https://img.shields.io/powershellgallery/v/Az.DeviceProvisioningServices.svg?style=flat-square&label=Az.DeviceProvisioningServices
[DeviceRegistry]:             https://img.shields.io/powershellgallery/v/Az.DeviceRegistry.svg?style=flat-square&label=Az.DeviceRegistry
[DeviceUpdate]:               https://img.shields.io/powershellgallery/v/Az.DeviceUpdate.svg?style=flat-square&label=Az.DeviceUpdate
[DevTestLabs]:                https://img.shields.io/powershellgallery/v/Az.DevTestLabs.svg?style=flat-square&label=Az.DevTestLabs
[DigitalTwins]:               https://img.shields.io/powershellgallery/v/Az.DigitalTwins.svg?style=flat-square&label=Az.DigitalTwins
[DiskPool]:                   https://img.shields.io/powershellgallery/v/Az.DiskPool.svg?style=flat-square&label=Az.DiskPool
[Dns]:                        https://img.shields.io/powershellgallery/v/Az.Dns.svg?style=flat-square&label=Az.Dns
[DnsResolver]:                https://img.shields.io/powershellgallery/v/Az.DnsResolver.svg?style=flat-square&label=Az.DnsResolver
[DynatraceObservability]:     https://img.shields.io/powershellgallery/v/Az.DynatraceObservability.svg?style=flat-square&label=Az.DynatraceObservability
[EdgeOrder]:                  https://img.shields.io/powershellgallery/v/Az.EdgeOrder.svg?style=flat-square&label=Az.EdgeOrder
[Elastic]:                    https://img.shields.io/powershellgallery/v/Az.Elastic.svg?style=flat-square&label=Az.Elastic
[ElasticSan]:                 https://img.shields.io/powershellgallery/v/Az.ElasticSan.svg?style=flat-square&label=Az.ElasticSan
[EventGrid]:                  https://img.shields.io/powershellgallery/v/Az.EventGrid.svg?style=flat-square&label=Az.EventGrid
[EventHub]:                   https://img.shields.io/powershellgallery/v/Az.EventHub.svg?style=flat-square&label=Az.EventHub
[Fabric]:                     https://img.shields.io/powershellgallery/v/Az.Fabric.svg?style=flat-square&label=Az.Fabric
[FirmwareAnalysis]:           https://img.shields.io/powershellgallery/v/Az.FirmwareAnalysis.svg?style=flat-square&label=Az.FirmwareAnalysis
[Fleet]:                      https://img.shields.io/powershellgallery/v/Az.Fleet.svg?style=flat-square&label=Az.Fleet
[FluidRelay]:                 https://img.shields.io/powershellgallery/v/Az.FluidRelay.svg?style=flat-square&label=Az.FluidRelay
[FrontDoor]:                  https://img.shields.io/powershellgallery/v/Az.FrontDoor.svg?style=flat-square&label=Az.FrontDoor
[Functions]:                  https://img.shields.io/powershellgallery/v/Az.Functions.svg?style=flat-square&label=Az.Functions
[GraphServices]:              https://img.shields.io/powershellgallery/v/Az.GraphServices.svg?style=flat-square&label=Az.GraphServices
[GuestConfiguration]:         https://img.shields.io/powershellgallery/v/Az.GuestConfiguration.svg?style=flat-square&label=Az.GuestConfiguration
[HanaOnAzure]:                https://img.shields.io/powershellgallery/v/Az.HanaOnAzure.svg?style=flat-square&label=Az.HanaOnAzure
[HDInsight]:                  https://img.shields.io/powershellgallery/v/Az.HDInsight.svg?style=flat-square&label=Az.HDInsight
[HealthBot]:                  https://img.shields.io/powershellgallery/v/Az.HealthBot.svg?style=flat-square&label=Az.HealthBot
[HealthcareApis]:             https://img.shields.io/powershellgallery/v/Az.HealthcareApis.svg?style=flat-square&label=Az.HealthcareApis
[HealthDataAIServices]:       https://img.shields.io/powershellgallery/v/Az.HealthDataAIServices.svg?style=flat-square&label=Az.HealthDataAIServices
[HPCCache]:                   https://img.shields.io/powershellgallery/v/Az.HPCCache.svg?style=flat-square&label=Az.HPCCache
[ImageBuilder]:               https://img.shields.io/powershellgallery/v/Az.ImageBuilder.svg?style=flat-square&label=Az.ImageBuilder
[ImportExport]:               https://img.shields.io/powershellgallery/v/Az.ImportExport.svg?style=flat-square&label=Az.ImportExport
[IotCentral]:                 https://img.shields.io/powershellgallery/v/Az.IotCentral.svg?style=flat-square&label=Az.IotCentral
[IotHub]:                     https://img.shields.io/powershellgallery/v/Az.IotHub.svg?style=flat-square&label=Az.IotHub
[KeyVault]:                   https://img.shields.io/powershellgallery/v/Az.KeyVault.svg?style=flat-square&label=Az.KeyVault
[KubernetesConfiguration]:    https://img.shields.io/powershellgallery/v/Az.KubernetesConfiguration.svg?style=flat-square&label=Az.KubernetesConfiguration
[KubernetesRuntime]:          https://img.shields.io/powershellgallery/v/Az.KubernetesRuntime.svg?style=flat-square&label=Az.KubernetesRuntime
[Kusto]:                      https://img.shields.io/powershellgallery/v/Az.Kusto.svg?style=flat-square&label=Az.Kusto
[LabServices]:                https://img.shields.io/powershellgallery/v/Az.LabServices.svg?style=flat-square&label=Az.LabServices
[LoadTesting]:                https://img.shields.io/powershellgallery/v/Az.LoadTesting.svg?style=flat-square&label=Az.LoadTesting
[LogicApp]:                   https://img.shields.io/powershellgallery/v/Az.LogicApp.svg?style=flat-square&label=Az.LogicApp
[MachineLearning]:            https://img.shields.io/powershellgallery/v/Az.MachineLearning.svg?style=flat-square&label=Az.MachineLearning
[MachineLearningServices]:    https://img.shields.io/powershellgallery/v/Az.MachineLearningServices.svg?style=flat-square&label=Az.MachineLearningServices
[Maintenance]:                https://img.shields.io/powershellgallery/v/Az.Maintenance.svg?style=flat-square&label=Az.Maintenance
[ManagedNetworkFabric]:       https://img.shields.io/powershellgallery/v/Az.ManagedNetworkFabric.svg?style=flat-square&label=Az.ManagedNetworkFabric
[ManagedServiceIdentity]:     https://img.shields.io/powershellgallery/v/Az.ManagedServiceIdentity.svg?style=flat-square&label=Az.ManagedServiceIdentity
[ManagedServices]:            https://img.shields.io/powershellgallery/v/Az.ManagedServices.svg?style=flat-square&label=Az.ManagedServices
[ManagementPartner]:          https://img.shields.io/powershellgallery/v/Az.ManagementPartner.svg?style=flat-square&label=Az.ManagementPartner
[Maps]:                       https://img.shields.io/powershellgallery/v/Az.Maps.svg?style=flat-square&label=Az.Maps
[MariaDb]:                    https://img.shields.io/powershellgallery/v/Az.MariaDb.svg?style=flat-square&label=Az.MariaDb
[Marketplace]:                https://img.shields.io/powershellgallery/v/Az.Marketplace.svg?style=flat-square&label=Az.Marketplace
[MarketplaceOrdering]:        https://img.shields.io/powershellgallery/v/Az.MarketplaceOrdering.svg?style=flat-square&label=Az.MarketplaceOrdering
[Mdp]:                        https://img.shields.io/powershellgallery/v/Az.Mdp.svg?style=flat-square&label=Az.Mdp
[Migrate]:                    https://img.shields.io/powershellgallery/v/Az.Migrate.svg?style=flat-square&label=Az.Migrate
[MixedReality]:               https://img.shields.io/powershellgallery/v/Az.MixedReality.svg?style=flat-square&label=Az.MixedReality
[MobileNetwork]:              https://img.shields.io/powershellgallery/v/Az.MobileNetwork.svg?style=flat-square&label=Az.MobileNetwork
[Monitor]:                    https://img.shields.io/powershellgallery/v/Az.Monitor.svg?style=flat-square&label=Az.Monitor
[MonitoringSolutions]:        https://img.shields.io/powershellgallery/v/Az.MonitoringSolutions.svg?style=flat-square&label=Az.MonitoringSolutions
[MySql]:                      https://img.shields.io/powershellgallery/v/Az.MySql.svg?style=flat-square&label=Az.MySql
[NetAppFiles]:                https://img.shields.io/powershellgallery/v/Az.NetAppFiles.svg?style=flat-square&label=Az.NetAppFiles
[Network]:                    https://img.shields.io/powershellgallery/v/Az.Network.svg?style=flat-square&label=Az.Network
[NetworkAnalytics]:           https://img.shields.io/powershellgallery/v/Az.NetworkAnalytics.svg?style=flat-square&label=Az.NetworkAnalytics
[NetworkCloud]:               https://img.shields.io/powershellgallery/v/Az.NetworkCloud.svg?style=flat-square&label=Az.NetworkCloud
[NetworkFunction]:            https://img.shields.io/powershellgallery/v/Az.NetworkFunction.svg?style=flat-square&label=Az.NetworkFunction
[NewRelic]:                   https://img.shields.io/powershellgallery/v/Az.NewRelic.svg?style=flat-square&label=Az.NewRelic
[Nginx]:                      https://img.shields.io/powershellgallery/v/Az.Nginx.svg?style=flat-square&label=Az.Nginx
[NotificationHubs]:           https://img.shields.io/powershellgallery/v/Az.NotificationHubs.svg?style=flat-square&label=Az.NotificationHubs
[OperationalInsights]:        https://img.shields.io/powershellgallery/v/Az.OperationalInsights.svg?style=flat-square&label=Az.OperationalInsights
[Orbital]:                    https://img.shields.io/powershellgallery/v/Az.Orbital.svg?style=flat-square&label=Az.Orbital
[PaloAltoNetworks]:           https://img.shields.io/powershellgallery/v/Az.PaloAltoNetworks.svg?style=flat-square&label=Az.PaloAltoNetworks
[Peering]:                    https://img.shields.io/powershellgallery/v/Az.Peering.svg?style=flat-square&label=Az.Peering
[PolicyInsights]:             https://img.shields.io/powershellgallery/v/Az.PolicyInsights.svg?style=flat-square&label=Az.PolicyInsights
[Portal]:                     https://img.shields.io/powershellgallery/v/Az.Portal.svg?style=flat-square&label=Az.Portal
[PostgreSql]:                 https://img.shields.io/powershellgallery/v/Az.PostgreSql.svg?style=flat-square&label=Az.PostgreSql
[PowerBIEmbedded]:            https://img.shields.io/powershellgallery/v/Az.PowerBIEmbedded.svg?style=flat-square&label=Az.PowerBIEmbedded
[PrivateDns]:                 https://img.shields.io/powershellgallery/v/Az.PrivateDns.svg?style=flat-square&label=Az.PrivateDns
[ProviderHub]:                https://img.shields.io/powershellgallery/v/Az.ProviderHub.svg?style=flat-square&label=Az.ProviderHub
[Purview]:                    https://img.shields.io/powershellgallery/v/Az.Purview.svg?style=flat-square&label=Az.Purview
[Quantum]:                    https://img.shields.io/powershellgallery/v/Az.Quantum.svg?style=flat-square&label=Az.Quantum
[Qumulo]:                     https://img.shields.io/powershellgallery/v/Az.Qumulo.svg?style=flat-square&label=Az.Qumulo
[Quota]:                      https://img.shields.io/powershellgallery/v/Az.Quota.svg?style=flat-square&label=Az.Quota
[RecoveryServices]:           https://img.shields.io/powershellgallery/v/Az.RecoveryServices.svg?style=flat-square&label=Az.RecoveryServices
[RedisCache]:                 https://img.shields.io/powershellgallery/v/Az.RedisCache.svg?style=flat-square&label=Az.RedisCache
[RedisEnterpriseCache]:       https://img.shields.io/powershellgallery/v/Az.RedisEnterpriseCache.svg?style=flat-square&label=Az.RedisEnterpriseCache
[Relay]:                      https://img.shields.io/powershellgallery/v/Az.Relay.svg?style=flat-square&label=Az.Relay
[Reservations]:               https://img.shields.io/powershellgallery/v/Az.Reservations.svg?style=flat-square&label=Az.Reservations
[ResourceGraph]:              https://img.shields.io/powershellgallery/v/Az.ResourceGraph.svg?style=flat-square&label=Az.ResourceGraph
[ResourceMover]:              https://img.shields.io/powershellgallery/v/Az.ResourceMover.svg?style=flat-square&label=Az.ResourceMover
[Resources]:                  https://img.shields.io/powershellgallery/v/Az.Resources.svg?style=flat-square&label=Az.Resources
[Search]:                     https://img.shields.io/powershellgallery/v/Az.Search.svg?style=flat-square&label=Az.Search
[Security]:                   https://img.shields.io/powershellgallery/v/Az.Security.svg?style=flat-square&label=Az.Security
[SecurityInsights]:           https://img.shields.io/powershellgallery/v/Az.SecurityInsights.svg?style=flat-square&label=Az.SecurityInsights
[SelfHelp]:                   https://img.shields.io/powershellgallery/v/Az.SelfHelp.svg?style=flat-square&label=Az.SelfHelp
[ServiceBus]:                 https://img.shields.io/powershellgallery/v/Az.ServiceBus.svg?style=flat-square&label=Az.ServiceBus
[ServiceFabric]:              https://img.shields.io/powershellgallery/v/Az.ServiceFabric.svg?style=flat-square&label=Az.ServiceFabric
[ServiceLinker]:              https://img.shields.io/powershellgallery/v/Az.ServiceLinker.svg?style=flat-square&label=Az.ServiceLinker
[SignalR]:                    https://img.shields.io/powershellgallery/v/Az.SignalR.svg?style=flat-square&label=Az.SignalR
[SpringCloud]:                https://img.shields.io/powershellgallery/v/Az.SpringCloud.svg?style=flat-square&label=Az.SpringCloud
[Sql]:                        https://img.shields.io/powershellgallery/v/Az.Sql.svg?style=flat-square&label=Az.Sql
[SqlVirtualMachine]:          https://img.shields.io/powershellgallery/v/Az.SqlVirtualMachine.svg?style=flat-square&label=Az.SqlVirtualMachine
[Ssh]:                        https://img.shields.io/powershellgallery/v/Az.Ssh.svg?style=flat-square&label=Az.Ssh
[StackHCI]:                   https://img.shields.io/powershellgallery/v/Az.StackHCI.svg?style=flat-square&label=Az.StackHCI
[StackHCIVM]:                 https://img.shields.io/powershellgallery/v/Az.StackHCIVM.svg?style=flat-square&label=Az.StackHCIVM
[Storage]:                    https://img.shields.io/powershellgallery/v/Az.Storage.svg?style=flat-square&label=Az.Storage
[StorageCache]:               https://img.shields.io/powershellgallery/v/Az.StorageCache.svg?style=flat-square&label=Az.StorageCache
[StorageMover]:               https://img.shields.io/powershellgallery/v/Az.StorageMover.svg?style=flat-square&label=Az.StorageMover
[StorageSync]:                https://img.shields.io/powershellgallery/v/Az.StorageSync.svg?style=flat-square&label=Az.StorageSync
[StreamAnalytics]:            https://img.shields.io/powershellgallery/v/Az.StreamAnalytics.svg?style=flat-square&label=Az.StreamAnalytics
[Subscription]:               https://img.shields.io/powershellgallery/v/Az.Subscription.svg?style=flat-square&label=Az.Subscription
[Support]:                    https://img.shields.io/powershellgallery/v/Az.Support.svg?style=flat-square&label=Az.Support
[Synapse]:                    https://img.shields.io/powershellgallery/v/Az.Synapse.svg?style=flat-square&label=Az.Synapse
[TimeSeriesInsights]:         https://img.shields.io/powershellgallery/v/Az.TimeSeriesInsights.svg?style=flat-square&label=Az.TimeSeriesInsights
[TrafficManager]:             https://img.shields.io/powershellgallery/v/Az.TrafficManager.svg?style=flat-square&label=Az.TrafficManager
[Terraform]:                  https://img.shields.io/powershellgallery/v/Az.Terraform.svg?style=flat-square&label=Az.Terraform
[VMware]:                     https://img.shields.io/powershellgallery/v/Az.VMware.svg?style=flat-square&label=Az.VMware
[VoiceServices]:              https://img.shields.io/powershellgallery/v/Az.VoiceServices.svg?style=flat-square&label=Az.VoiceServices
[Websites]:                   https://img.shields.io/powershellgallery/v/Az.Websites.svg?style=flat-square&label=Az.Websites
[WindowsIotServices]:         https://img.shields.io/powershellgallery/v/Az.WindowsIotServices.svg?style=flat-square&label=Az.WindowsIotServices
[Workloads]:                  https://img.shields.io/powershellgallery/v/Az.Workloads.svg?style=flat-square&label=Az.Workloads


[AzGallery]:                         https://www.powershellgallery.com/packages/Az/
[AzPreviewGallery]:                  https://www.powershellgallery.com/packages/AzPreview/
[AccountsGallery]:                   https://www.powershellgallery.com/packages/Az.Accounts/
[ADDomainServicesGallery]:           https://www.powershellgallery.com/packages/Az.ADDomainServices/
[AdvisorGallery]:                    https://www.powershellgallery.com/packages/Az.Advisor/
[AksGallery]:                        https://www.powershellgallery.com/packages/Az.Aks/
[AksArcGallery]:                     https://www.powershellgallery.com/packages/Az.AksArc/
[AlbGallery]:                        https://www.powershellgallery.com/packages/Az.Alb/
[AlertsManagementGallery]:           https://www.powershellgallery.com/packages/Az.AlertsManagement/
[AnalysisServicesGallery]:           https://www.powershellgallery.com/packages/Az.AnalysisServices/
[ApiManagementGallery]:              https://www.powershellgallery.com/packages/Az.ApiManagement/
[AppGallery]:                        https://www.powershellgallery.com/packages/Az.App/
[AppComplianceAutomationGallery]:    https://www.powershellgallery.com/packages/Az.AppComplianceAutomation/
[AppConfigurationGallery]:           https://www.powershellgallery.com/packages/Az.AppConfiguration/
[ApplicationInsightsGallery]:        https://www.powershellgallery.com/packages/Az.ApplicationInsights/
[ArcGatewayGallery]:                 https://www.powershellgallery.com/packages/Az.ArcGateway/
[ArcResourceBridgeGallery]:          https://www.powershellgallery.com/packages/Az.ArcResourceBridge/
[AttestationGallery]:                https://www.powershellgallery.com/packages/Az.Attestation/
[AutomanageGallery]:                 https://www.powershellgallery.com/packages/Az.Automanage/
[AutomationGallery]:                 https://www.powershellgallery.com/packages/Az.Automation/
[BareMetalGallery]:                  https://www.powershellgallery.com/packages/Az.BareMetal/
[BatchGallery]:                      https://www.powershellgallery.com/packages/Az.Batch/
[BillingGallery]:                    https://www.powershellgallery.com/packages/Az.Billing/
[BillingBenefitsGallery]:            https://www.powershellgallery.com/packages/Az.BillingBenefits/
[BlueprintGallery]:                  https://www.powershellgallery.com/packages/Az.Blueprint/
[BotServiceGallery]:                 https://www.powershellgallery.com/packages/Az.BotService/
[CdnGallery]:                        https://www.powershellgallery.com/packages/Az.Cdn/
[ChangeAnalysisGallery]:             https://www.powershellgallery.com/packages/Az.ChangeAnalysis/
[CloudServiceGallery]:               https://www.powershellgallery.com/packages/Az.CloudService/
[CodeSigningGallery]:                https://www.powershellgallery.com/packages/Az.CodeSigning/
[CognitiveServicesGallery]:          https://www.powershellgallery.com/packages/Az.CognitiveServices/
[CommunicationGallery]:              https://www.powershellgallery.com/packages/Az.Communication/
[ComputeGallery]:                    https://www.powershellgallery.com/packages/Az.Compute/
[ComputeFleetGallery]:               https://www.powershellgallery.com/packages/Az.ComputeFleet/
[ComputeScheduleGallery]:            https://www.powershellgallery.com/packages/Az.ComputeSchedule/
[ConfidentialLedgerGallery]:         https://www.powershellgallery.com/packages/Az.ConfidentialLedger/
[ConfluentGallery]:                  https://www.powershellgallery.com/packages/Az.Confluent/
[ConnectedKubernetesGallery]:        https://www.powershellgallery.com/packages/Az.ConnectedKubernetes/
[ConnectedMachineGallery]:           https://www.powershellgallery.com/packages/Az.ConnectedMachine/
[ConnectedNetworkGallery]:           https://www.powershellgallery.com/packages/Az.ConnectedNetwork/
[ConnectedVMwareGallery]:            https://www.powershellgallery.com/packages/Az.ConnectedVMware/
[ContainerInstanceGallery]:          https://www.powershellgallery.com/packages/Az.ContainerInstance/
[ContainerRegistryGallery]:          https://www.powershellgallery.com/packages/Az.ContainerRegistry/
[CosmosDBGallery]:                   https://www.powershellgallery.com/packages/Az.CosmosDB/
[CostManagementGallery]:             https://www.powershellgallery.com/packages/Az.CostManagement/
[CustomLocationGallery]:             https://www.powershellgallery.com/packages/Az.CustomLocation/
[CustomProvidersGallery]:            https://www.powershellgallery.com/packages/Az.CustomProviders/
[DashboardGallery]:                  https://www.powershellgallery.com/packages/Az.Dashboard/
[DataBoxGallery]:                    https://www.powershellgallery.com/packages/Az.DataBox/
[DataBoxEdgeGallery]:                https://www.powershellgallery.com/packages/Az.DataBoxEdge/
[DatabricksGallery]:                 https://www.powershellgallery.com/packages/Az.Databricks/
[DatadogGallery]:                    https://www.powershellgallery.com/packages/Az.Datadog/
[DataFactoryGallery]:                https://www.powershellgallery.com/packages/Az.DataFactory/
[DataLakeAnalyticsGallery]:          https://www.powershellgallery.com/packages/Az.DataLakeAnalytics/
[DataLakeStoreGallery]:              https://www.powershellgallery.com/packages/Az.DataLakeStore/
[DataMigrationGallery]:              https://www.powershellgallery.com/packages/Az.DataMigration/
[DataProtectionGallery]:             https://www.powershellgallery.com/packages/Az.DataProtection/
[DataShareGallery]:                  https://www.powershellgallery.com/packages/Az.DataShare/
[DedicatedHsmGallery]:               https://www.powershellgallery.com/packages/Az.DedicatedHsm/
[DesktopVirtualizationGallery]:      https://www.powershellgallery.com/packages/Az.DesktopVirtualization/
[DevCenterGallery]:                  https://www.powershellgallery.com/packages/Az.DevCenter/
[DeviceProvisioningServicesGallery]: https://www.powershellgallery.com/packages/Az.DeviceProvisioningServices/
[DeviceRegistryGallery]:             https://www.powershellgallery.com/packages/Az.DeviceRegistry/
[DeviceUpdateGallery]:               https://www.powershellgallery.com/packages/Az.DeviceUpdate/
[DevTestLabsGallery]:                https://www.powershellgallery.com/packages/Az.DevTestLabs/
[DigitalTwinsGallery]:               https://www.powershellgallery.com/packages/Az.DigitalTwins/
[DiskPoolGallery]:                   https://www.powershellgallery.com/packages/Az.DiskPool/
[DnsGallery]:                        https://www.powershellgallery.com/packages/Az.Dns/
[DnsResolverGallery]:                https://www.powershellgallery.com/packages/Az.DnsResolver/
[DynatraceObservabilityGallery]:     https://www.powershellgallery.com/packages/Az.DynatraceObservability/
[EdgeOrderGallery]:                  https://www.powershellgallery.com/packages/Az.EdgeOrder/
[ElasticGallery]:                    https://www.powershellgallery.com/packages/Az.Elastic/
[ElasticSanGallery]:                 https://www.powershellgallery.com/packages/Az.ElasticSan/
[EventGridGallery]:                  https://www.powershellgallery.com/packages/Az.EventGrid/
[EventHubGallery]:                   https://www.powershellgallery.com/packages/Az.EventHub/
[FabricGallery]:                     https://www.powershellgallery.com/packages/Az.Fabric/
[FirmwareAnalysisGallery]:           https://www.powershellgallery.com/packages/Az.FirmwareAnalysis/
[FleetGallery]:                      https://www.powershellgallery.com/packages/Az.Fleet/
[FluidRelayGallery]:                 https://www.powershellgallery.com/packages/Az.FluidRelay/
[FrontDoorGallery]:                  https://www.powershellgallery.com/packages/Az.FrontDoor/
[FunctionsGallery]:                  https://www.powershellgallery.com/packages/Az.Functions/
[GraphServicesGallery]:              https://www.powershellgallery.com/packages/Az.GraphServices/
[GuestConfigurationGallery]:         https://www.powershellgallery.com/packages/Az.GuestConfiguration/
[HanaOnAzureGallery]:                https://www.powershellgallery.com/packages/Az.HanaOnAzure/
[HDInsightGallery]:                  https://www.powershellgallery.com/packages/Az.HDInsight/
[HealthBotGallery]:                  https://www.powershellgallery.com/packages/Az.HealthBot/
[HealthcareApisGallery]:             https://www.powershellgallery.com/packages/Az.HealthcareApis/
[HealthDataAIServicesGallery]:       https://www.powershellgallery.com/packages/Az.HealthDataAIServices/
[HPCCacheGallery]:                   https://www.powershellgallery.com/packages/Az.HPCCache/
[ImageBuilderGallery]:               https://www.powershellgallery.com/packages/Az.ImageBuilder/
[ImportExportGallery]:               https://www.powershellgallery.com/packages/Az.ImportExport/
[IotCentralGallery]:                 https://www.powershellgallery.com/packages/Az.IotCentral/
[IotHubGallery]:                     https://www.powershellgallery.com/packages/Az.IotHub/
[KeyVaultGallery]:                   https://www.powershellgallery.com/packages/Az.KeyVault/
[KubernetesConfigurationGallery]:    https://www.powershellgallery.com/packages/Az.KubernetesConfiguration/
[KubernetesRuntimeGallery]:          https://www.powershellgallery.com/packages/Az.KubernetesRuntime/
[KustoGallery]:                      https://www.powershellgallery.com/packages/Az.Kusto/
[LabServicesGallery]:                https://www.powershellgallery.com/packages/Az.LabServices/
[LoadTestingGallery]:                https://www.powershellgallery.com/packages/Az.LoadTesting/
[LogicAppGallery]:                   https://www.powershellgallery.com/packages/Az.LogicApp/
[MachineLearningGallery]:            https://www.powershellgallery.com/packages/Az.MachineLearning/
[MachineLearningServicesGallery]:    https://www.powershellgallery.com/packages/Az.MachineLearningServices/
[MaintenanceGallery]:                https://www.powershellgallery.com/packages/Az.Maintenance/
[ManagedNetworkFabricGallery]:       https://www.powershellgallery.com/packages/Az.ManagedNetworkFabric/
[ManagedServiceIdentityGallery]:     https://www.powershellgallery.com/packages/Az.ManagedServiceIdentity/
[ManagedServicesGallery]:            https://www.powershellgallery.com/packages/Az.ManagedServices/
[ManagementPartnerGallery]:          https://www.powershellgallery.com/packages/Az.ManagementPartner/
[MapsGallery]:                       https://www.powershellgallery.com/packages/Az.Maps/
[MariaDbGallery]:                    https://www.powershellgallery.com/packages/Az.MariaDb/
[MarketplaceGallery]:                https://www.powershellgallery.com/packages/Az.Marketplace/
[MarketplaceOrderingGallery]:        https://www.powershellgallery.com/packages/Az.MarketplaceOrdering/
[MdpGallery]:                        https://www.powershellgallery.com/packages/Az.Mdp/
[MigrateGallery]:                    https://www.powershellgallery.com/packages/Az.Migrate/
[MixedRealityGallery]:               https://www.powershellgallery.com/packages/Az.MixedReality/
[MobileNetworkGallery]:              https://www.powershellgallery.com/packages/Az.MobileNetwork/
[MonitorGallery]:                    https://www.powershellgallery.com/packages/Az.Monitor/
[MonitoringSolutionsGallery]:        https://www.powershellgallery.com/packages/Az.MonitoringSolutions/
[MySqlGallery]:                      https://www.powershellgallery.com/packages/Az.MySql/
[NetAppFilesGallery]:                https://www.powershellgallery.com/packages/Az.NetAppFiles/
[NetworkGallery]:                    https://www.powershellgallery.com/packages/Az.Network/
[NetworkAnalyticsGallery]:           https://www.powershellgallery.com/packages/Az.NetworkAnalytics/
[NetworkCloudGallery]:               https://www.powershellgallery.com/packages/Az.NetworkCloud/
[NetworkFunctionGallery]:            https://www.powershellgallery.com/packages/Az.NetworkFunction/
[NewRelicGallery]:                   https://www.powershellgallery.com/packages/Az.NewRelic/
[NginxGallery]:                      https://www.powershellgallery.com/packages/Az.Nginx/
[NotificationHubsGallery]:           https://www.powershellgallery.com/packages/Az.NotificationHubs/
[OperationalInsightsGallery]:        https://www.powershellgallery.com/packages/Az.OperationalInsights/
[OrbitalGallery]:                    https://www.powershellgallery.com/packages/Az.Orbital/
[PaloAltoNetworksGallery]:           https://www.powershellgallery.com/packages/Az.PaloAltoNetworks/
[PeeringGallery]:                    https://www.powershellgallery.com/packages/Az.Peering/
[PolicyInsightsGallery]:             https://www.powershellgallery.com/packages/Az.PolicyInsights/
[PortalGallery]:                     https://www.powershellgallery.com/packages/Az.Portal/
[PostgreSqlGallery]:                 https://www.powershellgallery.com/packages/Az.PostgreSql/
[PowerBIEmbeddedGallery]:            https://www.powershellgallery.com/packages/Az.PowerBIEmbedded/
[PrivateDnsGallery]:                 https://www.powershellgallery.com/packages/Az.PrivateDns/
[ProviderHubGallery]:                https://www.powershellgallery.com/packages/Az.ProviderHub/
[PurviewGallery]:                    https://www.powershellgallery.com/packages/Az.Purview/
[QuantumGallery]:                    https://www.powershellgallery.com/packages/Az.Quantum/
[QumuloGallery]:                     https://www.powershellgallery.com/packages/Az.Qumulo/
[QuotaGallery]:                      https://www.powershellgallery.com/packages/Az.Quota/
[RecoveryServicesGallery]:           https://www.powershellgallery.com/packages/Az.RecoveryServices/
[RedisCacheGallery]:                 https://www.powershellgallery.com/packages/Az.RedisCache/
[RedisEnterpriseCacheGallery]:       https://www.powershellgallery.com/packages/Az.RedisEnterpriseCache/
[RelayGallery]:                      https://www.powershellgallery.com/packages/Az.Relay/
[ReservationsGallery]:               https://www.powershellgallery.com/packages/Az.Reservations/
[ResourceGraphGallery]:              https://www.powershellgallery.com/packages/Az.ResourceGraph/
[ResourceMoverGallery]:              https://www.powershellgallery.com/packages/Az.ResourceMover/
[ResourcesGallery]:                  https://www.powershellgallery.com/packages/Az.Resources/
[SearchGallery]:                     https://www.powershellgallery.com/packages/Az.Search/
[SecurityGallery]:                   https://www.powershellgallery.com/packages/Az.Security/
[SecurityInsightsGallery]:           https://www.powershellgallery.com/packages/Az.SecurityInsights/
[SelfHelpGallery]:                   https://www.powershellgallery.com/packages/Az.SelfHelp/
[ServiceBusGallery]:                 https://www.powershellgallery.com/packages/Az.ServiceBus/
[ServiceFabricGallery]:              https://www.powershellgallery.com/packages/Az.ServiceFabric/
[ServiceLinkerGallery]:              https://www.powershellgallery.com/packages/Az.ServiceLinker/
[SignalRGallery]:                    https://www.powershellgallery.com/packages/Az.SignalR/
[SpringCloudGallery]:                https://www.powershellgallery.com/packages/Az.SpringCloud/
[SqlGallery]:                        https://www.powershellgallery.com/packages/Az.Sql/
[SqlVirtualMachineGallery]:          https://www.powershellgallery.com/packages/Az.SqlVirtualMachine/
[SshGallery]:                        https://www.powershellgallery.com/packages/Az.Ssh/
[StackHCIGallery]:                   https://www.powershellgallery.com/packages/Az.StackHCI/
[StackHCIVMGallery]:                 https://www.powershellgallery.com/packages/Az.StackHCIVM/
[StorageGallery]:                    https://www.powershellgallery.com/packages/Az.Storage/
[StorageCacheGallery]:               https://www.powershellgallery.com/packages/Az.StorageCache/
[StorageMoverGallery]:               https://www.powershellgallery.com/packages/Az.StorageMover/
[StorageSyncGallery]:                https://www.powershellgallery.com/packages/Az.StorageSync/
[StreamAnalyticsGallery]:            https://www.powershellgallery.com/packages/Az.StreamAnalytics/
[SubscriptionGallery]:               https://www.powershellgallery.com/packages/Az.Subscription/
[SupportGallery]:                    https://www.powershellgallery.com/packages/Az.Support/
[SynapseGallery]:                    https://www.powershellgallery.com/packages/Az.Synapse/
[TimeSeriesInsightsGallery]:         https://www.powershellgallery.com/packages/Az.TimeSeriesInsights/
[TrafficManagerGallery]:             https://www.powershellgallery.com/packages/Az.TrafficManager/
[TerraformGallery]:                  https://www.powershellgallery.com/packages/Az.Terraform/
[VMwareGallery]:                     https://www.powershellgallery.com/packages/Az.VMware/
[VoiceServicesGallery]:              https://www.powershellgallery.com/packages/Az.VoiceServices/
[WebsitesGallery]:                   https://www.powershellgallery.com/packages/Az.Websites/
[WindowsIotServicesGallery]:         https://www.powershellgallery.com/packages/Az.WindowsIotServices/
[WorkloadsGallery]:                  https://www.powershellgallery.com/packages/Az.Workloads/


[AccountsChangeLog]:                   ../src/Accounts/Accounts/ChangeLog.md
[ADDomainServicesChangeLog]:           ../src/ADDomainServices/ADDomainServices/ChangeLog.md
[AdvisorChangeLog]:                    ../src/Advisor/Advisor/ChangeLog.md
[AksChangeLog]:                        ../src/Aks/Aks/ChangeLog.md
[AksArcChangeLog]:                     ../src/AksArc/AksArc/ChangeLog.md
[AlbChangeLog]:                        ../src/Alb/Alb/ChangeLog.md
[AlertsManagementChangeLog]:           ../src/AlertsManagement/AlertsManagement/ChangeLog.md
[AnalysisServicesChangeLog]:           ../src/AnalysisServices/AnalysisServices/ChangeLog.md
[ApiManagementChangeLog]:              ../src/ApiManagement/ApiManagement/ChangeLog.md
[AppChangeLog]:                        ../src/App/App/ChangeLog.md
[AppComplianceAutomationChangelog]:    ../src/AppComplianceAutomation/AppComplianceAutomation/ChangeLog.md
[AppConfigurationChangeLog]:           ../src/AppConfiguration/AppConfiguration/ChangeLog.md
[ApplicationInsightsChangeLog]:        ../src/ApplicationInsights/ApplicationInsights/ChangeLog.md
[ArcGatewayChangeLog]:                 ../src/ArcGateway/ArcGateway/ChangeLog.md
[ArcResourceBridgeChangeLog]:          ../src/ArcResourceBridge/ArcResourceBridge/ChangeLog.md
[AttestationChangeLog]:                ../src/Attestation/Attestation/ChangeLog.md
[AutomanageChangeLog]:                 ../src/Automanage/Automanage/ChangeLog.md
[AutomationChangeLog]:                 ../src/Automation/Automation/ChangeLog.md
[BareMetalChangeLog]:                  ../src/BareMetal/BareMetal/ChangeLog.md
[BatchChangeLog]:                      ../src/Batch/Batch/ChangeLog.md
[BillingChangeLog]:                    ../src/Billing/Billing/ChangeLog.md
[BillingBenefitsChangeLog]:            ../src/BillingBenefits/BillingBenefits/ChangeLog.md
[BlueprintChangeLog]:                  ../src/Blueprint/Blueprint/ChangeLog.md
[BotServiceChangeLog]:                 ../src/BotService/BotService/ChangeLog.md
[CdnChangeLog]:                        ../src/Cdn/Cdn/ChangeLog.md
[ChangeAnalysisChangeLog]:             ../src/ChangeAnalysis/ChangeAnalysis/ChangeLog.md
[CloudServiceChangeLog]:               ../src/CloudService/CloudService/ChangeLog.md
[CodeSigningChangeLog]:                ../src/CodeSigning/CodeSigning/ChangeLog.md
[CognitiveServicesChangeLog]:          ../src/CognitiveServices/CognitiveServices/ChangeLog.md
[CommunicationChangeLog]:              ../src/Communication/Communication/ChangeLog.md
[ComputeChangeLog]:                    ../src/Compute/Compute/ChangeLog.md
[ComputeFleetChangeLog]:               ../src/ComputeFleet/ComputeFleet/ChangeLog.md
[ComputeScheduleChangeLog]:            ../src/ComputeSchedule/ComputeSchedule/ChangeLog.md
[ConfidentialLedgerChangeLog]:         ../src/ConfidentialLedger/ConfidentialLedger/ChangeLog.md
[ConfluentChangeLog]:                  ../src/Confluent/Confluent/ChangeLog.md
[ConnectedKubernetesChangeLog]:        ../src/ConnectedKubernetes/ConnectedKubernetes/ChangeLog.md
[ConnectedMachineChangeLog]:           ../src/ConnectedMachine/ConnectedMachine/ChangeLog.md
[ConnectedNetworkChangeLog]:           ../src/ConnectedNetwork/ConnectedNetwork/ChangeLog.md
[ConnectedVMwareChangeLog]:            ../src/ConnectedVMware/ConnectedVMware/ChangeLog.md
[ContainerInstanceChangeLog]:          ../src/ContainerInstance/ContainerInstance/ChangeLog.md
[ContainerRegistryChangeLog]:          ../src/ContainerRegistry/ContainerRegistry/ChangeLog.md
[CosmosDBChangeLog]:                   ../src/CosmosDB/CosmosDB/ChangeLog.md
[CostManagementChangeLog]:             ../src/CostManagement/CostManagement/ChangeLog.md
[CustomLocationChangeLog]:             ../src/CustomLocation/CustomLocation/ChangeLog.md
[CustomProvidersChangeLog]:            ../src/CustomProviders/CustomProviders/ChangeLog.md
[DashboardChangeLog]:                  ../src/Dashboard/Dashboard/ChangeLog.md
[DataBoxChangeLog]:                    ../src/DataBox/DataBox/ChangeLog.md
[DataBoxEdgeChangeLog]:                ../src/DataBoxEdge/DataBoxEdge/ChangeLog.md
[DatabricksChangeLog]:                 ../src/Databricks/Databricks/ChangeLog.md
[DatadogChangeLog]:                    ../src/Datadog/Datadog/ChangeLog.md
[DataFactoryChangeLog]:                ../src/DataFactory/DataFactory/ChangeLog.md
[DataLakeAnalyticsChangeLog]:          ../src/DataLakeAnalytics/DataLakeAnalytics/ChangeLog.md
[DataLakeStoreChangeLog]:              ../src/DataLakeStore/DataLakeStore/ChangeLog.md
[DataMigrationChangeLog]:              ../src/DataMigration/DataMigration/ChangeLog.md
[DataProtectionChangeLog]:             ../src/DataProtection/DataProtection/ChangeLog.md
[DataShareChangeLog]:                  ../src/DataShare/DataShare/ChangeLog.md
[DedicatedHsmChangeLog]:               ../src/DedicatedHsm/DedicatedHsm/ChangeLog.md
[DesktopVirtualizationChangeLog]:      ../src/DesktopVirtualization/DesktopVirtualization/ChangeLog.md
[DevCenterChangeLog]:                  ../src/DevCenter/DevCenter/ChangeLog.md
[DeviceProvisioningServicesChangeLog]: ../src/DeviceProvisioningServices/DeviceProvisioningServices/ChangeLog.md
[DeviceRegistryChangeLog]:             ../src/DeviceRegistry/DeviceRegistry/ChangeLog.md
[DeviceUpdateChangeLog]:               ../src/DeviceUpdate/DeviceUpdate/ChangeLog.md
[DevTestLabsChangeLog]:                ../src/DevTestLabs/DevTestLabs/ChangeLog.md
[DigitalTwinsChangeLog]:               ../src/DigitalTwins/DigitalTwins/ChangeLog.md
[DiskPoolChangeLog]:                   ../src/DiskPool/DiskPool/ChangeLog.md
[DnsChangeLog]:                        ../src/Dns/Dns/ChangeLog.md
[DnsResolverChangeLog]:                ../src/DnsResolver/DnsResolver/ChangeLog.md
[DynatraceObservabilityChangeLog]:     ../src/DynatraceObservability/DynatraceObservability/ChangeLog.md
[EdgeOrderChangeLog]:                  ../src/EdgeOrder/EdgeOrder/ChangeLog.md
[ElasticChangeLog]:                    ../src/Elastic/Elastic/ChangeLog.md
[ElasticSanChangeLog]:                 ../src/ElasticSan/ElasticSan/ChangeLog.md
[EventGridChangeLog]:                  ../src/EventGrid/EventGrid/ChangeLog.md
[EventHubChangeLog]:                   ../src/EventHub/EventHub/ChangeLog.md
[FabricChangeLog]:                     ../src/Fabric/Fabric/ChangeLog.md
[FirmwareAnalysisChangeLog]:           ../src/FirmwareAnalysis/FirmwareAnalysis/ChangeLog.md
[FleetChangeLog]:                      ../src/Fleet/Fleet/ChangeLog.md
[FluidRelayChangeLog]:                 ../src/FluidRelay/FluidRelay/ChangeLog.md
[FrontDoorChangeLog]:                  ../src/FrontDoor/FrontDoor/ChangeLog.md
[FunctionsChangeLog]:                  ../src/Functions/Functions/ChangeLog.md
[GraphServicesChangeLog]:              ../src/GraphServices/GraphServices/ChangeLog.md
[GuestConfigurationChangeLog]:         ../src/GuestConfiguration/GuestConfiguration/ChangeLog.md
[HanaOnAzureChangeLog]:                ../src/HanaOnAzure/HanaOnAzure/ChangeLog.md
[HDInsightChangeLog]:                  ../src/HDInsight/HDInsight/ChangeLog.md
[HealthBotChangeLog]:                  ../src/HealthBot/HealthBot/ChangeLog.md
[HealthcareApisChangeLog]:             ../src/HealthcareApis/HealthcareApis/ChangeLog.md
[HealthDataAIServicesChangeLog]:       ../src/HealthDataAIServices/HealthDataAIServices/ChangeLog.md
[HPCCacheChangeLog]:                   ../src/HPCCache/HPCCache/ChangeLog.md
[ImageBuilderChangeLog]:               ../src/ImageBuilder/ImageBuilder/ChangeLog.md
[ImportExportChangeLog]:               ../src/ImportExport/ImportExport/ChangeLog.md
[IotCentralChangeLog]:                 ../src/IotCentral/IotCentral/ChangeLog.md
[IotHubChangeLog]:                     ../src/IotHub/IotHub/ChangeLog.md
[KeyVaultChangeLog]:                   ../src/KeyVault/KeyVault/ChangeLog.md
[KubernetesConfigurationChangeLog]:    ../src/KubernetesConfiguration/KubernetesConfiguration/ChangeLog.md
[KubernetesRuntimeChangeLog]:          ../src/KubernetesRuntime/KubernetesRuntime/ChangeLog.md
[KustoChangeLog]:                      ../src/Kusto/Kusto/ChangeLog.md
[LabServicesChangeLog]:                ../src/LabServices/LabServices/ChangeLog.md
[LoadTestingChangeLog]:                ../src/LoadTesting/LoadTesting/ChangeLog.md
[LogicAppChangeLog]:                   ../src/LogicApp/LogicApp/ChangeLog.md
[MachineLearningChangeLog]:            ../src/MachineLearning/MachineLearning/ChangeLog.md
[MachineLearningServicesChangeLog]:    ../src/MachineLearningServices/MachineLearningServices/ChangeLog.md
[MaintenanceChangeLog]:                ../src/Maintenance/Maintenance/ChangeLog.md
[ManagedNetworkFabricChangeLog]:       ../src/ManagedNetworkFabric/ManagedNetworkFabric/ChangeLog.md
[ManagedServiceIdentityChangeLog]:     ../src/ManagedServiceIdentity/ManagedServiceIdentity/ChangeLog.md
[ManagedServicesChangeLog]:            ../src/ManagedServices/ManagedServices/ChangeLog.md
[ManagementPartnerChangeLog]:          ../src/ManagementPartner/ManagementPartner/ChangeLog.md
[MapsChangeLog]:                       ../src/Maps/Maps/ChangeLog.md
[MariaDbChangeLog]:                    ../src/MariaDb/MariaDb/ChangeLog.md
[MarketplaceChangeLog]:                ../src/Marketplace/Marketplace/ChangeLog.md
[MarketplaceOrderingChangeLog]:        ../src/MarketplaceOrdering/MarketplaceOrdering/ChangeLog.md
[MdpChangeLog]:                        ../src/Mdp/Mdp/ChangeLog.md
[MigrateChangeLog]:                    ../src/Migrate/Migrate/ChangeLog.md
[MixedRealityChangeLog]:               ../src/MixedReality/MixedReality/ChangeLog.md
[MobileNetworkChangeLog]:              ../src/MobileNetwork/MobileNetwork/ChangeLog.md
[MonitorChangeLog]:                    ../src/Monitor/Monitor/ChangeLog.md
[MonitoringSolutionsChangeLog]:        ../src/MonitoringSolutions/MonitoringSolutions/ChangeLog.md
[MySqlChangeLog]:                      ../src/MySql/MySql/ChangeLog.md
[NetAppFilesChangeLog]:                ../src/NetAppFiles/NetAppFiles/ChangeLog.md
[NetworkChangeLog]:                    ../src/Network/Network/ChangeLog.md
[NetworkAnalyticsChangeLog]:           ../src/NetworkAnalytics/NetworkAnalytics/ChangeLog.md
[NetworkCloudChangeLog]:               ../src/NetworkCloud/NetworkCloud/ChangeLog.md
[NetworkFunctionChangeLog]:            ../src/NetworkFunction/NetworkFunction/ChangeLog.md
[NewRelicChangeLog]:                   ../src/NewRelic/NewRelic/ChangeLog.md
[NginxChangeLog]:                      ../src/Nginx/Nginx/ChangeLog.md
[NotificationHubsChangeLog]:           ../src/NotificationHubs/NotificationHubs/ChangeLog.md
[OperationalInsightsChangeLog]:        ../src/OperationalInsights/OperationalInsights/ChangeLog.md
[OrbitalChangeLog]:                    ../src/Orbital/Orbital/ChangeLog.md
[PaloAltoNetworksChangeLog]:           ../src/PaloAltoNetworks/PaloAltoNetworks/ChangeLog.md
[PeeringChangeLog]:                    ../src/Peering/Peering/ChangeLog.md
[PolicyInsightsChangeLog]:             ../src/PolicyInsights/PolicyInsights/ChangeLog.md
[PortalChangeLog]:                     ../src/Portal/Portal/ChangeLog.md
[PostgreSqlChangeLog]:                 ../src/PostgreSql/PostgreSql/ChangeLog.md
[PowerBIEmbeddedChangeLog]:            ../src/PowerBIEmbedded/PowerBIEmbedded/ChangeLog.md
[PrivateDnsChangeLog]:                 ../src/PrivateDns/PrivateDns/ChangeLog.md
[ProviderHubChangeLog]:                ../src/ProviderHub/ProviderHub/ChangeLog.md
[PurviewChangeLog]:                    ../src/Purview/Purview/ChangeLog.md
[QuantumChangeLog]:                    ../src/Quantum/Quantum/ChangeLog.md
[QumuloChangeLog]:                     ../src/Qumulo/Qumulo/ChangeLog.md
[QuotaChangeLog]:                      ../src/Quota/Quota/ChangeLog.md
[RecoveryServicesChangeLog]:           ../src/RecoveryServices/RecoveryServices/ChangeLog.md
[RedisCacheChangeLog]:                 ../src/RedisCache/RedisCache/ChangeLog.md
[RedisEnterpriseCacheChangeLog]:       ../src/RedisEnterpriseCache/RedisEnterpriseCache/ChangeLog.md
[RelayChangeLog]:                      ../src/Relay/Relay/ChangeLog.md
[ReservationsChangeLog]:               ../src/Reservations/Reservations/ChangeLog.md
[ResourceGraphChangeLog]:              ../src/ResourceGraph/ResourceGraph/ChangeLog.md
[ResourceMoverChangeLog]:              ../src/ResourceMover/ResourceMover/ChangeLog.md
[ResourcesChangeLog]:                  ../src/Resources/Resources/ChangeLog.md
[SearchChangeLog]:                     ../src/Search/Search/ChangeLog.md
[SecurityChangeLog]:                   ../src/Security/Security/ChangeLog.md
[SecurityInsightsChangeLog]:           ../src/SecurityInsights/SecurityInsights/ChangeLog.md
[SelfHelpChangeLog]:                   ../src/SelfHelp/SelfHelp/ChangeLog.md
[ServiceBusChangeLog]:                 ../src/ServiceBus/ServiceBus/ChangeLog.md
[ServiceFabricChangeLog]:              ../src/ServiceFabric/ServiceFabric/ChangeLog.md
[ServiceLinkerChangeLog]:              ../src/ServiceLinker/ServiceLinker/ChangeLog.md
[SignalRChangeLog]:                    ../src/SignalR/SignalR/ChangeLog.md
[SpringCloudChangeLog]:                ../src/SpringCloud/SpringCloud/ChangeLog.md
[SqlChangeLog]:                        ../src/Sql/Sql/ChangeLog.md
[SqlVirtualMachineChangeLog]:          ../src/SqlVirtualMachine/SqlVirtualMachine/ChangeLog.md
[SshChangeLog]:                        ../src/Ssh/Ssh/ChangeLog.md
[StackHCIChangeLog]:                   ../src/StackHCI/StackHCI/ChangeLog.md
[StackHCIVMChangeLog]:                 ../src/StackHCIVM/StackHCIVM/ChangeLog.md
[StorageChangeLog]:                    ../src/Storage/Storage/ChangeLog.md
[StorageCacheChangeLog]:               ../src/StorageCache/StorageCache/ChangeLog.md
[StorageMoverChangeLog]:               ../src/StorageMover/StorageMover/ChangeLog.md
[StorageSyncChangeLog]:                ../src/StorageSync/StorageSync/ChangeLog.md
[StreamAnalyticsChangeLog]:            ../src/StreamAnalytics/StreamAnalytics/ChangeLog.md
[SubscriptionChangeLog]:               ../src/Subscription/Subscription/ChangeLog.md
[SupportChangeLog]:                    ../src/Support/Support/ChangeLog.md
[SynapseChangeLog]:                    ../src/Synapse/Synapse/ChangeLog.md
[TimeSeriesInsightsChangeLog]:         ../src/TimeSeriesInsights/TimeSeriesInsights/ChangeLog.md
[TrafficManagerChangeLog]:             ../src/TrafficManager/TrafficManager/ChangeLog.md
[TerraformChangeLog]:                  ../src/Terraform/Terraform/ChangeLog.md
[VMwareChangeLog]:                     ../src/VMware/VMware/ChangeLog.md
[VoiceServicesChangeLog]:              ../src/VoiceServices/VoiceServices/ChangeLog.md
[WebsitesChangeLog]:                   ../src/Websites/Websites/ChangeLog.md
[WindowsIotServicesChangeLog]:         ../src/WindowsIotServices/WindowsIotServices/ChangeLog.md
[WorkloadsChangeLog]:                  ../src/Workloads/Workloads/ChangeLog.md

---

### Documentation Installing Az Modules (`documentation/installing-az-modules.md`)

# Installing `Az` Modules

## Overview

By default, modules are installed from the [PowerShell Gallery](https://www.powershellgallery.com/), which is the central repository for accessing published PowerShell modules (equivalent to NuGet for .NET, npm for JavaScript, etc.). With the [`Install-Module`](https://learn.microsoft.com/en-us/powershell/module/powershellget/install-module) cmdlet, users can specify which modules they want to install; in addition, users can provide the `-Repository` parameter to specify which repository they want to install modules from (if this parameter isn't provided, then the cmdlet defaults to using PowerShell Gallery).

## Removing Modules

In some cases, existing `Az` modules will need to be removed before a new version can be installed. Since the `Uninstall-Module` cmdlet does not currently remove modules and their dependencies, users will need to manually delete the folders where the modules were installed to.

To figure out if you have any `Az` modules currently installed, as well as the location they are found, use the following command:

```
Get-Module -Name Az* -ListAvailable
```

This command will list all modules installed on your machine that are found in your `$env:PSModulePath`. Deleting the corresponding `Az.*` folders in the file explorer will remove these modules from your machine.

## Registering Repositories

In some cases, users will need to install modules from a different repository than the PowerShell Gallery -- this can be a new endpoint, or even a local folder containing `.nupkg` files. In either case, the [`Register-PSRepository`](https://learn.microsoft.com/en-us/powershell/module/powershellget/register-psrepository) cmdlet should be used to create a new local repository that can be used to install modules from.

Below is an example of registering a new repository from a local folder containing `.nupkg` files:

```
Register-PSRepository -Name "{{repository_name}}" -SourceLocation "{{folder_with_nupkg_files}}" -PackageManagementProvider NuGet -InstallationPolicy Trusted
```

### Registering the Test Gallery

Before a module is published to the PowerShell Gallery, it must first be published to the [Test Gallery](https://www.poshtestgallery.com/) to ensure there are no problems during the publishing and installation process. If you ever need to use this gallery for testing an installation, first register it by running the following command:

```
Register-PSRepository -Name TestGallery -SourceLocation https://poshtestgallery.com/api/v2 -PackageManagementProvider NuGet -InstallationPolicy
```

Modules can then be installed from this gallery by providing "TestGallery" to the `-Repository` parameter for the `Install-Module` cmdlet.

## Installing Modules

To install a module from the PowerShell Gallery, run the following command:

```
Install-Module -Name "{{module_name}}"
```

To install a module from a specific repository, run the following command:

```
Install-Module -Name "{{module_name}}" -Repository "{{repository_name}}"
```

### Installing `Az` Modules

To install the latest stable `Az` modules from the PowerShell Gallery, run the following command:

```
Install-Module -Name Az
```

To install a specific `Az` module from the PowerShell Gallery, run the following command:

```
Install-Module -Name Az.{{service}}
```

To install a preview version of a specific `Az` module, run the following command:

```
Install-Module -Name Az.{{service}} -RequiredVersion {{version}} -AllowPrerelease
```

_Note_: to install preview versions of modules, version 1.6.0 or greater of the `PowerShellGet` module will be needed. Users can run the following command to get the latest version of this module:

```
Install-Module -Name PowerShellGet -Force
```

Full documentation around installing the `Az` module can be found in the [_Install the Azure PowerShell module_](https://learn.microsoft.com/en-us/powershell/azure/install-az-ps) article.

---

### Documentation Troubleshoot Ci (`documentation/troubleshoot-ci.md`)

# Troubleshooting CI build failures

In case "default" CI job for your PR failed, click "Details" and analyze, messages there are usually helpful.

Find and open **msbuild.err** from build artifacts to see summarized error message. List of possible failures is below.

To get even more detailed data click "Console Output" and look for keywords like "Fail", etc.

## Help generation failure

### Message

> c:\workspace\powershell\build.proj(278,5): error MSB3073: The command ""C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NonInteractive -NoLogo -NoProfile -Command "$ProgressPreference = 'SilentlyContinue';. c:\workspace\powershell\tools\\**GenerateHelp.ps1** -ValidateMarkdownHelp -GenerateMamlHelp -BuildConfig Debug -FilteredModules 'Az.Network;Az.Profile' "" exited with code -1.

This means there are issues with your help files.

### Reasons:

- Cmdlet was changed while .md help files were not regenerated [this way](development-docs/help-generation.md) or there is no help files at all.
- Help files were re-generated, however they weren't filled with real data. I.e. help generator leaves templates like this `"{{Description there}}"` and they need to be manually filled by developer with descriptions, examples, etc.

### Solution

Regenerate MD help files [this way](development-docs/help-generation.md) and update "{{\*}}" placeholders

## Help generation failure (online version url)

### Message

> Online version in the header of the file is incorrect.

### Reasons

This means the online version url in the header of the help document is either incorrect or missing.

### Solution

The url should exactly match the schema `https://learn.microsoft.com/en-us/powershell/module/az.{modulename}/{cmdlet-name}`, all in lower case.

### Example
> https://learn.microsoft.com/en-us/powershell/module/az.keyvault/new-azkeyvault

## Code analysis failures

### Message

> c:\workspace\powershell\build.proj(597,5): error MSB3073: The command "c:\workspace\powershell\artifacts\\**StaticAnalysis.exe** -p c:\workspace\powershell\artifacts\Debug -r c:\workspace\powershell\artifacts -m Az.Network" exited with code 255.c:\workspace\powershell\build.proj(609,5): error : StaticAnalysis has failed. Please follow the instructions on this doc: [https://github.com/Azure/azure-powershell/blob/main/documentation/Debugging-StaticAnalysis-Errors.md](Debugging-StaticAnalysis-Errors.md)

### Reasons

Something that is considered as unacceptable was added with your PR e.g. breaking change, incorrect signature, etc.

### Solution

According to the [link above](Debugging-StaticAnalysis-Errors.md) you would need to investigate .csv files in the build artifacts.

There are several ways to act:

1. In case your changes in the listed files are unintentional, just roll them back.

2. In case changes could be improved without affecting functionality (e.g. signature is incorrect, but you could adjust it to suit requirements), try to fix.

3. In case messages in csv files describe expected changes, add them to [exclusions](Debugging-StaticAnalysis-Errors.md#breaking-changes).

### Example:

One of the often reasons are BreakingChangesIssues.

If collected Breaking Changes issues are expected (e.g. cmdlet was really changed), you would need to update Exclusions file [like this](Debugging-StaticAnalysis-Errors.md#breaking-changes) to bypass CI build.

## Test failures

### Message

> **Test failures occurred, check the files in artifacts/Test**

### Reasons

One or more tests failed

### Solution

See test reports in artifacts/Test and fix failures related to your changes.

In case you see more failures, please contact test owning team. Common way is to find a person who edited the cmdlet or test last. Networking tests are also marked with header like this to simplify team search: `[Trait(Category.Owner, Category.TeamAlias)]`

## Test failures (.psd1 of other modules not found)

### Message

> Exception:System.IO.FileNotFoundException: The specified module 'D:\a\1\s\artifacts\Debug\Az.Network\Az.Network.psd1' was not loaded because no valid module file was found in any module directory.

### Reasons

This is because your test cases are using cmdlets from other module, but it was not built by CI.

### Solution

Add the missing module's csproj to your module's .sln file. For example this is how `Compute.sln` references `Network.csproj`:
https://github.com/Azure/azure-powershell/blob/58ded2ba3e0a5f7da0d1ffed9e0adb986986ab6f/src/Compute/Compute.sln#L11

---

### Documentation Troubleshoot Module Load (`documentation/troubleshoot-module-load.md`)

# Troubleshooting Module Loading With Azure PowerShell

## Potential Incompatibilities

Azure PowerShell consists of multiple modules, each of which has a dependency on specific version of the central authentication module 'Az.Accounts'. If all versions of Azure PowerShell modules are kept up to date, and all are installed to the same scope, there should never be any incompatibility issues.

However, if some Azure PowerShell modules on a user's machine are updated while others or not, or if modules are installed to different scopes, or if an older version of the Az.Accounts module is imported in the current PowerShell session, then incompatibilities can occur. This document describes how to determine if there is a potential module incompatibility on a user machine, and how to resolve the incompatibility, including the following potential problems:

- [Prompt for Login when a cmdlet is executed after a previous login](#symptom-prompt-for-login-when-a-cmdlet-is-executed-after-a-previous-login)
- [Error when loading an Azure PowerShell module](#symptom-error-when-importing-an-azure-powershell-module)

## Symptom: Cannot load Az modules in Windows PowerShell

The Az modules are built against .NET Standard. This will cause them to fail in Windows PowerShell if a certain .NET Framework version is not installed. Here is an example error of this kind:

```powershell
Connect-AzAccount : The 'Connect-AzAccount' command was found in the module 'Az.Accounts', but the module could not be loaded. For more information, run 'Import-Module Az.Profile'.
At line:1 char:1
+ Connect-AzAccount
+ ~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Connect-AzAccount:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CouldNotAutoloadMatchingModule
```

Or, you'd see an error like this when using `Import-Module`:
```powershell
Import-Module : The following error occurred while loading the extended type data file: , C:\Program Files\WindowsPowerShell\Modules\Az.Accounts\1.0.0\Microsoft.Azure.Commands.Profile.types.ps1xml(85) : Error: Unable
to find type [Microsoft.Azure.Commands.Profile.Models.AzureContextConverter].

At line:1 char:1
+ Import-Module Az.Accounts
+ ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Import-Module], RuntimeException
    + FullyQualifiedErrorId : FormatXmlUpdateException,Microsoft.PowerShell.Commands.ImportModuleCommand
```

## Reason: Missing .NET Framework 4.7.2 or greater

If you are receiving type loading errors when trying to import/run Az modules in Windows PowerShell, you'll need to install [.NET Framework 4.7.2](https://dotnet.microsoft.com/download) or greater. This is required as Windows PowerShell does not natively support .NET Standard.

You can also avoid this issue by using [PowerShell 7](https://github.com/PowerShell/PowerShell/releases/latest). PowerShell 7 natively supports .NET Standard assemblies. PowerShell 7 also works cross platform, so Linux and Mac can use Az modules in PowerShell 7.

## Symptom: Prompt for Login When a Cmdlet is Executed After a Previous Login

After logging in, and executing a cmdlet, an error like the following is displayed, prompting for a second login:

```powershell
PS C:\> Get-AzResourceGroup
Get-AzResourceGroup : Run Connect-AzAccount to login.
At line:1 char:1
+ Get-AzResourceGroup
+ ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [Get-AzResourceGroup], PSInvalidOperationException
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.GetAzureResourceGroupCmd
   let
```

### Potential Reason 1: Older Version Stored in User or Global Scope

PowerShell allows installing multiple versions of modules. Normally, PowerShell will load the latest version of a module unless specifically instructed to load a specific version by using `Import-Module -RequiredVersion <version>`. However, if modules are installed in multiple directories of the `PSModulePath`, then the results can be unexpected. When PowerShell searches for a module in the module path, it will return the latest version stored in the earliest path component where the module appears, even if a later version of the module is installed in a subsequent directory in the PSModulePath.

For example, if the PSModulePath contains directory `A` followed by directory `B`, and if Directory `A` contains version 1 of a module, and Directory `B` contains version 2 of the module, PowerShell will *always* load version 1, unless the entire path to the later module in directory `B` is provided when importing the module.

To determine if this problem occurs on your machine, run `Get-Module -ListAvailable` and check for duplicate entries for Az.Accounts in different directories in the `PSModulePath`. For example:

```powershell
c:\> Get-Module -ListAvailable

    Directory: C:\Users\UserName\Documents\PowerShell\Modules


ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     0.7.0      Az.Accounts                         {Disable-AzDataCollection, Disable-AzContextAuto...


    Directory: C:\Program Files\PowerShell\Modules


ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     1.0.0      Az.Accounts                         {Disable-AzDataCollection, Disable-AzContextAuto...

```

In this case, the earlier version of Az.Accounts (0.7.0) will *always* be loaded because the directory containing this version appears first in the module path.  This means that newer versions of Azure PowerShell modules will be unable to use the authentication provided when logging in using the cmdlets from this module.  IN other words, logging in using Az.Accounts version 0.7.0 will not provide authentication for modules that depend on a later version of Az.Accounts (like 0.7.1).

To resolve this problem, simply remove all versions of Azure PowerShell cmdlets not in the global scope `%ProgramFiles%\PowerShell\Modules`.  You can remove modules by physically removing the module directory (for example `C:\Users\<myuser>\Documents\PowerShell\Modules\Az.Accounts`).

### Potential Reason 2: Azure/AzureRM installed side-by-side with Az

Azure and AzureRM, our prior Azure PowerShell modules, cannot load **in the same PowerShell session** as the Az modules. Here an example of what you might see when you run `Get-Module` if both AzureRM and Az are in the same PowerShell session:

```powershell
c:\> Get-Module

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     1.0.0      Az.Accounts                         {Disable-AzDataCollection, Disable-AzContextAuto...
Script     5.8.2      AzureRM.profile                     {Disable-AzureRmDataCollection, Disable-AzureRmContextAuto...

```

To remedy, open a new PowerShell session and run `Import-Module Az`. This will cause the Az modules to be loaded into the session. It is preferred to use the `Az` prefix for the cmdlets (such as `Connect-AzAccount`). However, if you need to use the Azure/AzureRm prefix, then run `Enable-AzureRmAlias`. This will use the Az cmdlets with aliases to the Azure/AzureRm prefixes.

Similarly, if you want to use the Azure/AzureRM cmdlets, run `Import-Module Azure` or `Import-Module AzureRM` in a new PowerShell session. As long as you don't use **any Az prefixed cmdlets**, the session will only contain Azure and AzureRM cmdlets. It is highly recommended you **do not mix usage of Az and Azure/AzureRM prefixed cmdlets**. This may inadvertently load modules from Az or Azure/AzureRM, which can potentially cause issues.

If you do not need to use Azure/AzureRM, it is **highly recommended** that you uninstall Azure/AzureRM. To do so, use `Uninstall-Module Azure` or `Uninstall-Module AzureRM` respectively.

## Symptom: Error when Importing an Azure PowerShell module

When importing an Azure PowerShell module into the current PowerShell Session, you see a message like the following:

```powershell
PS C:\WINDOWS\system32> Import-Module Az.Compute
C:\Program Files\PowerShell\Modules\Az.Compute\1.0.0\Az.Compute.psm1 : This module requires
Az.Accounts version 1.0.0. An earlier version of Az.Accounts is imported in the current PowerShell session. Please
open a new session before importing this module. This error could indicate that multiple incompatible versions of the
Azure PowerShell cmdlets are installed on your system. Please see aka.ms/azps-version-error for troubleshooting
information.
At line:1 char:1
+ Import-Module Az.Compute
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Az.Compute.psm1

Import-Module : The module to process 'Az.Compute.psm1', listed in field 'ModuleToProcess/RootModule' of module
manifest 'C:\Program Files\PowerShell\Modules\Az.Compute\1.0.0\Az.Compute.psd1' was not processed
because no valid module was found in any module directory.
At line:1 char:1
+ Import-Module Az.Compute
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (Az.Compute:String) [Import-Module], PSInvalidOperationExcepti
   on
    + FullyQualifiedErrorId : Modules_ModuleFileNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand
```

###  Reason: Older Version of Az.Accounts Loaded in Session

If an existing PowerShell session has loaded a version of Az.Accounts, then that version cannot be replaced with an updated version. If you receive an error like the one mentioned above, you can determine if this is the issue by looking at the currently imported modules using `Get-Module`:

```powershell
PS C:\WINDOWS\system32> Get-Module

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     1.0.0      Az.Accounts                         {Add-AzAccount, Add-AzEnvironment, Clear-Az...
Manifest   3.1.0.0    Microsoft.PowerShell.Utility        {Add-Member, Add-Type, Clear-Variable, Compare-Object...}
Script     1.2        PSReadline                          {Get-PSReadlineKeyHandler, Get-PSReadlineOption, Remove-PS...

```

If you see a version of Az.Accounts installed in the session, you can resolve this issue, by ensuring that all Az modules are up to date as shown [above](#potential-reason-1-older-version-stored-in-user-or-global-scope) and closing the PowerShell session.

## Why Are Incompatibilities Possible

Azure PowerShell is a set of binary modules, meaning that cmdlets are defined and implemented in .NET Standard code. PowerShell loads cmdlet assemblies into a single AppDomain, and these assemblies cannot be unloaded, even if the module is removed. Therefore, a module assembly and all its dependent assemblies remain loaded in the PowerShell session once it is imported until the PowerShell session is closed. Additionally, the types defined in a .NET Standard assembly are strongly tied to the assembly version, so that the types from version `A` and version `B` of the same assembly will appear as different types in the PowerShell session. When these types are used in common by multiple assemblies (as in the authentication types in Az.Accounts), then the types that are meant to be common are actually different for each module version. This causes problems when authentication information is instantiated using types from version `X` of Az.Accounts, but an assembly requires version `Y` of these types.

This underlying problem is solved in Az by requiring all authentication types used by the modules to be fully backward compatible.

### Newtonsoft.Json versions per PowerShell edition

The library `Newtonsoft.Json` is used throughout our cmdlets to handle JSON information. However, we do not have control of the version of this library that is loaded in PowerShell. To troubleshoot serialization issues, here is a table of the versions of `Newtonsoft.Json` that are loaded by the various editions of PowerShell.

| | Windows PowerShell 5.1 | PowerShell 7.0 | PowerShell 7.1
| - | - | - | - |
| **Newtonsoft.Json** | 6.0.8 |  12.0.0 | 12.0.0

---

### Documentation SyntaxChangeLog SyntaxChangeLog Az11 (`documentation/SyntaxChangeLog/SyntaxChangeLog-Az11.md`)

## 11.6.0 - April 2024
#### Az.Batch 3.6.0 
* Modified cmdlet `New-AzBatchPool`
   - Added parameters `-UpgradePolicy`, `-ResourceTag`
#### Az.Cdn 3.2.0 
* Modified cmdlet `New-AzFrontDoorCdnProfile`
   - Added parameters `-LogScrubbingRule`, `-LogScrubbingState`
* Modified cmdlet `Update-AzFrontDoorCdnProfile`
   - Added parameters `-LogScrubbingRule`, `-LogScrubbingState`
* Added cmdlet `New-AzFrontDoorCdnProfileLogScrubbingObject`, `New-AzFrontDoorCdnProfileScrubbingRulesObject`#### Az.Compute 7.3.0 
, `Invoke-AzSpotPlacementRecommender`
#### Az.DataProtection 2.4.0 
* Modified cmdlet `Initialize-AzDataProtectionRestoreRequest`
   - Added parameter `-PrefixMatch`
* Modified cmdlet `New-AzDataProtectionBackupVault`
   - Added parameters `-IdentityUserAssignedIdentity`, `-CmkEncryptionState`, `-CmkInfrastructureEncryption`, `-CmkIdentityType`, `-CmkUserAssignedIdentityId`, `-CmkEncryptionKeyUri`
* Modified cmdlet `Remove-AzDataProtectionBackupInstance`
   - Added parameter `-Token`
* Modified cmdlet `Start-AzDataProtectionBackupInstanceRestore`
   - Added parameters `-ResourceGuardOperationRequest`, `-Token`
* Modified cmdlet `Stop-AzDataProtectionBackupInstanceProtection`
   - Added parameters `-ResourceGuardOperationRequest`, `-Token`
* Modified cmdlet `Suspend-AzDataProtectionBackupInstanceBackup`
   - Added parameters `-ResourceGuardOperationRequest`, `-Token`
* Modified cmdlet `Update-AzDataProtectionBackupVault`
   - Added parameters `-Token`, `-EncryptionSetting`, `-ResourceGuardOperationRequest`, `-CmkEncryptionState`, `-CmkIdentityType`, `-CmkUserAssignedIdentityId`, `-CmkEncryptionKeyUri`
   - Added parameter alias `UserAssignedIdentity` to parameter `-IdentityUserAssignedIdentity`
* Added cmdlet `Get-AzDataProtectionBackupInstancesExtensionRouting`, `Update-AzDataProtectionBackupInstance`
#### Az.KeyVault 5.3.0 
* Modified cmdlet `Add-AzKeyVaultCertificate`
   - Added parameter `-PolicyPath`
#### Az.Monitor 5.2.0 
* Modified cmdlet `Get-AzMetricsBatch`
   - Changed the type of parameter `-InputObject` from `IMetricIdentity` to `IMetricdataIdentity`
* Modified cmdlet `Update-AzActionGroup`
   - Removed parameter `-Location`
* Modified cmdlet `Update-AzDataCollectionRule`
   - Removed parameter `-Location`
#### Az.Network 7.5.0 
* Added cmdlet `Convert-AzNetworkWatcherClassicConnectionMonitor`
#### Az.RecoveryServices 6.9.0 
* Modified cmdlet `New-AzRecoveryServicesVault`
   - Added parameters `-DisableEmailNotificationsForSiteRecovery`, `-DisableAzureMonitorAlertsForAllReplicationIssue`, `-DisableAzureMonitorAlertsForAllFailoverIssue`
* Modified cmdlet `Restore-AzRecoveryServicesBackupItem`
   - Added parameter `-Token`
* Modified cmdlet `Update-AzRecoveryServicesVault`
   - Added parameters `-DisableEmailNotificationsForSiteRecovery`, `-DisableAzureMonitorAlertsForAllReplicationIssue`, `-DisableAzureMonitorAlertsForAllFailoverIssue`, `-Token`

## 11.5.0 - April 2024
#### Az.Accounts 2.17.0 
* Modified cmdlet `Clear-AzConfig`
   - Added parameter `-DisableInstanceDiscovery`
* Modified cmdlet `Get-AzAccessToken`
   - Added parameter `-AsSecureString`
* Modified cmdlet `Get-AzConfig`
   - Added parameter `-DisableInstanceDiscovery`
* Modified cmdlet `Update-AzConfig`
   - Added parameter `-DisableInstanceDiscovery`
#### Az.Compute 7.2.0 
* Modified cmdlet `New-AzCapacityReservationGroup`
   - Added parameter `-SharingProfile`
* Modified cmdlet `New-AzGalleryImageVersion`
   - Added parameter `-SourceImageVMId`
* Modified cmdlet `New-AzSnapshotConfig`
   - Added parameter `-TierOption`
* Modified cmdlet `New-AzVmss`
   - Added parameter `-EnableAutomaticOSUpgrade`
* Modified cmdlet `New-AzVmssConfig`
   - Removed parameter `-AutoOSUpgrade`
   - Added parameter `-EnableAutomaticOSUpgrade`
* Modified cmdlet `Update-AzCapacityReservationGroup`
   - Added parameter `-SharingProfile`
* Modified cmdlet `Set-AzVMRunCommand`
   - Added parameters `-ErrorBlobManagedIdentityClientId`, `-ErrorBlobManagedIdentityObjectId`, `-OutputBlobManagedIdentityClientId`, `-OutputBlobManagedIdentityObjectId`, `-ScriptUriManagedIdentityClientId`, `-ScriptUriManagedIdentityObjectId`, `-TreatFailureAsDeploymentFailure`
* Modified cmdlet `Set-AzVmssVMRunCommand`
   - Added parameters `-ErrorBlobManagedIdentityClientId`, `-ErrorBlobManagedIdentityObjectId`, `-OutputBlobManagedIdentityClientId`, `-OutputBlobManagedIdentityObjectId`, `-ScriptUriManagedIdentityClientId`, `-ScriptUriManagedIdentityObjectId`, `-TreatFailureAsDeploymentFailure`
#### Az.ContainerRegistry 4.2.0 
* Modified cmdlet `Connect-AzContainerRegistry`
   - Added parameter `-ExposeToken`
#### Az.DataProtection 2.3.0 
* Modified cmdlet `Search-AzDataProtectionBackupVaultInAzGraph`
   - Added parameter alias `SubscriptionId` to parameter `-Subscription`
   - Added parameter alias `ResourceGroupName` to parameter `-ResourceGroup`
   - Added parameter alias `VaultName` to parameter `-Vault`
* Modified cmdlet `Set-AzDataProtectionMSIPermission`
   - Added parameters `-SubscriptionId`, `-DatasourceType`, `-StorageAccountARMId`
   - Added parameter alias `ResourceGroupName` to parameter `-VaultResourceGroup`
#### Az.RecoveryServices 6.8.0 
* Modified cmdlet `New-AzRecoveryServicesBackupProtectionPolicy`
   - Added parameter `-SnapshotConsistencyType`
* Modified cmdlet `Set-AzRecoveryServicesBackupProtectionPolicy`
   - Added parameter `-SnapshotConsistencyType`
#### Az.ServiceBus 3.1.0 
* Modified cmdlet `New-AzServiceBusGeoDRConfiguration`
   - Added parameter `-PassThru`

## 11.4.0 - March 2024
#### Az.Accounts 2.16.0 
* Modified cmdlet `Clear-AzConfig`
   - Added parameter `-DisplaySecretsWarning`
* Modified cmdlet `Get-AzConfig`
   - Added parameter `-DisplaySecretsWarning`
* Modified cmdlet `Update-AzConfig`
   - Added parameter `-DisplaySecretsWarning`
#### Az.Monitor 5.1.0 
* Added cmdlet `Get-AzMetricsBatch`
#### Az.RedisCache 1.9.0 
* Modified cmdlet `New-AzRedisCache`
   - Added parameter `-UpdateChannel`
* Modified cmdlet `Set-AzRedisCache`
   - Added parameter `-UpdateChannel`
* Added cmdlet `Clear-AzRedisCache`, `Get-AzRedisCacheAccessPolicy`, `Get-AzRedisCacheAccessPolicyAssignment`, `New-AzRedisCacheAccessPolicy`, `New-AzRedisCacheAccessPolicyAssignment`, `Remove-AzRedisCacheAccessPolicy`, `Remove-AzRedisCacheAccessPolicyAssignment`
#### Az.Resources 6.16.0 
* Modified cmdlet `New-AzResourceGroupDeployment`
   - Added parameter `-AuxTenant`
#### Az.Security 1.6.0 
* Added cmdlet `Get-AzSecurityApiCollection`, `Get-AzSecurityConnector`, `Get-AzSecurityConnectorAzureDevOpsOrg`, `Get-AzSecurityConnectorAzureDevOpsOrgAvailable`, `Get-AzSecurityConnectorAzureDevOpsProject`, `Get-AzSecurityConnectorAzureDevOpsRepo`, `Get-AzSecurityConnectorDevOpsConfiguration`, `Get-AzSecurityConnectorGitHubOwner`, `Get-AzSecurityConnectorGitHubOwnerAvailable`, `Get-AzSecurityConnectorGitHubRepo`, `Get-AzSecurityConnectorGitLabGroup`, `Get-AzSecurityConnectorGitLabGroupAvailable`, `Get-AzSecurityConnectorGitLabProject`, `Get-AzSecurityConnectorGitLabSubgroup`, `Invoke-AzSecurityApiCollectionApimOffboard`, `Invoke-AzSecurityApiCollectionApimOnboard`, `New-AzSecurityAwsEnvironmentObject`, `New-AzSecurityAwsOrganizationalDataMasterObject`, `New-AzSecurityAwsOrganizationalDataMemberObject`, `New-AzSecurityAzureDevOpsScopeEnvironmentObject`, `New-AzSecurityConnector`, `New-AzSecurityConnectorActionableRemediationObject`, `New-AzSecurityConnectorDevOpsConfiguration`, `New-AzSecurityCspmMonitorAwsOfferingObject`, `New-AzSecurityCspmMonitorAzureDevOpsOfferingObject`, `New-AzSecurityCspmMonitorGcpOfferingObject`, `New-AzSecurityCspmMonitorGithubOfferingObject`, `New-AzSecurityCspmMonitorGitLabOfferingObject`, `New-AzSecurityDefenderCspmAwsOfferingObject`, `New-AzSecurityDefenderCspmGcpOfferingObject`, `New-AzSecurityDefenderForContainersAwsOfferingObject`, `New-AzSecurityDefenderForContainersGcpOfferingObject`, `New-AzSecurityDefenderForDatabasesAwsOfferingObject`, `New-AzSecurityDefenderForDatabasesGcpOfferingObject`, `New-AzSecurityDefenderForServersAwsOfferingObject`, `New-AzSecurityDefenderForServersGcpOfferingObject`, `New-AzSecurityGcpOrganizationalDataMemberObject`, `New-AzSecurityGcpOrganizationalDataOrganizationObject`, `New-AzSecurityGcpProjectEnvironmentObject`, `New-AzSecurityGitHubScopeEnvironmentObject`, `New-AzSecurityGitLabScopeEnvironmentObject`, `New-AzSecurityInformationProtectionAwsOfferingObject`, `Remove-AzSecurityConnector`, `Remove-AzSecurityConnectorDevOpsConfiguration`, `Update-AzSecurityConnector`, `Update-AzSecurityConnectorAzureDevOpsOrg`, `Update-AzSecurityConnectorAzureDevOpsProject`, `Update-AzSecurityConnectorAzureDevOpsRepo`, `Update-AzSecurityConnectorDevOpsConfiguration`

## 11.3.1 - February 2024

## 11.3.0 - February 2024
#### Az.KeyVault 5.2.0 
* Modified cmdlet `Backup-AzKeyVault`
   - Added parameter `-UseUserManagedIdentity`
* Modified cmdlet `Restore-AzKeyVault`
   - Added parameter `-UseUserManagedIdentity`
#### Az.Migrate 2.3.0 
* Modified cmdlet `Get-AzMigrateDiscoveredServer`
   - Added parameter `-SourceMachineType`
* Added cmdlet `Get-AzMigrateHCIJob`, `Get-AzMigrateHCIReplicationFabric`, `Get-AzMigrateHCIServerReplication`, `Initialize-AzMigrateHCIReplicationInfrastructure`, `New-AzMigrateHCIDiskMappingObject`, `New-AzMigrateHCINicMappingObject`, `New-AzMigrateHCIServerReplication`, `Remove-AzMigrateHCIServerReplication`, `Set-AzMigrateHCIServerReplication`, `Start-AzMigrateHCIServerMigration`
#### Az.Network 7.4.0 
* Modified cmdlet `New-AzApplicationGateway`
   - Added parameters `-EnableRequestBuffering`, `-EnableResponseBuffering`
* Modified cmdlet `New-AzFirewallPolicyIntrusionDetection`
   - Added parameter `-Profile`
* Modified cmdlet `New-AzNetworkVirtualAppliance`
   - Added parameter `-InternetIngressIp`
* Added cmdlet `Invoke-AzFirewallPacketCapture`, `New-AzFirewallPacketCaptureParameter`, `New-AzFirewallPacketCaptureRule`, `New-AzVirtualApplianceInternetIngressIpsProperty`, `Update-AzNetworkVirtualApplianceConnection`
#### Az.Resources 6.15.0 
* Modified cmdlet `Get-AzRoleAssignment`
   - Added parameter `-SkipClientSideScopeValidation`
* Modified cmdlet `Get-AzRoleDefinition`
   - Added parameter `-SkipClientSideScopeValidation`
* Modified cmdlet `New-AzRoleAssignment`
   - Added parameter `-SkipClientSideScopeValidation`
* Modified cmdlet `New-AzRoleDefinition`
   - Added parameter `-SkipClientSideScopeValidation`
* Modified cmdlet `Remove-AzRoleAssignment`
   - Added parameter `-SkipClientSideScopeValidation`
* Modified cmdlet `Remove-AzRoleDefinition`
   - Added parameter `-SkipClientSideScopeValidation`
* Modified cmdlet `Set-AzRoleAssignment`
   - Added parameter `-SkipClientSideScopeValidation`
* Modified cmdlet `Set-AzRoleDefinition`
   - Added parameter `-SkipClientSideScopeValidation`
#### Az.Sql 4.14.0 
* Modified cmdlet `New-AzSqlInstance`
   - Added parameters `-DatabaseFormat`, `-PricingModel`
* Modified cmdlet `Set-AzSqlInstance`
   - Added parameters `-DatabaseFormat`, `-PricingModel`
* Added cmdlet `Invoke-AzSqlInstanceExternalGovernanceStatusRefresh`
#### Az.SqlVirtualMachine 2.2.0 
* Modified cmdlet `New-AzSqlVM`
   - Removed parameter `-VirtualMachineResourceId`
#### Az.StackHCI 2.3.0 
* Modified cmdlet `Unregister-AzStackHCI`
   - Added parameter `-IsWAC`

---

### Documentation SyntaxChangeLog SyntaxChangeLog Az12 (`documentation/SyntaxChangeLog/SyntaxChangeLog-Az12.md`)

## 12.5.0 - October 2024
#### Az.Compute 8.5.0 
* Modified cmdlet `New-AzVmss`
   - Added parameters `-SecurityPostureId`, `-SecurityPostureExcludeExtension`
* Modified cmdlet `New-AzVmssConfig`
   - Added parameters `-SecurityPostureId`, `-SecurityPostureExcludeExtension`
#### Az.DataProtection 2.5.0 
* Modified cmdlet `Initialize-AzDataProtectionRestoreRequest`
   - Changed the type of parameter `-RestoreConfiguration` from `KubernetesClusterRestoreCriteria` to `PSObject`
* Modified cmdlet `New-AzDataProtectionRestoreConfigurationClientObject`
   - Added parameters `-ResourceModifierReference`, `-StagingResourceGroupId`, `-StagingStorageAccountId`
* Modified cmdlet `Start-AzDataProtectionBackupInstanceRestore`
   - Added parameter `-SecureToken`
* Modified cmdlet `Stop-AzDataProtectionBackupInstanceProtection`
   - Added parameter `-SecureToken`
* Modified cmdlet `Suspend-AzDataProtectionBackupInstanceBackup`
   - Added parameter `-SecureToken`
* Modified cmdlet `Unlock-AzDataProtectionResourceGuardOperation`
   - Added parameter `-SecureToken`
* Modified cmdlet `Update-AzDataProtectionBackupInstance`
   - Added parameters `-ResourceGuardOperationRequest`, `-Token`, `-SecureToken`
* Modified cmdlet `Update-AzDataProtectionBackupInstanceAssociatedPolicy`
   - Added parameters `-ResourceGuardOperationRequest`, `-Token`, `-SecureToken`
* Modified cmdlet `Update-AzDataProtectionBackupVault`
   - Added parameter `-SecureToken`
#### Az.EventGrid 2.1.0 
* Removed cmdlet `New-AzEventGridAdvancedFilterObject`, `New-AzEventGridDeliveryAttributeMappingObject`, `New-AzEventGridFilterObject`
* Added cmdlet `New-AzEventGridBoolEqualsAdvancedFilterObject`, `New-AzEventGridBoolEqualsFilterObject`, `New-AzEventGridDynamicDeliveryAttributeMappingObject`, `New-AzEventGridEventSubscriptionFilterObject`, `New-AzEventGridIsNotNullAdvancedFilterObject`, `New-AzEventGridIsNotNullFilterObject`, `New-AzEventGridIsNullOrUndefinedAdvancedFilterObject`, `New-AzEventGridIsNullOrUndefinedFilterObject`, `New-AzEventGridNumberGreaterThanAdvancedFilterObject`, `New-AzEventGridNumberGreaterThanFilterObject`, `New-AzEventGridNumberGreaterThanOrEqualsAdvancedFilterObject`, `New-AzEventGridNumberGreaterThanOrEqualsFilterObject`, `New-AzEventGridNumberInAdvancedFilterObject`, `New-AzEventGridNumberInFilterObject`, `New-AzEventGridNumberInRangeAdvancedFilterObject`, `New-AzEventGridNumberInRangeFilterObject`, `New-AzEventGridNumberLessThanAdvancedFilterObject`, `New-AzEventGridNumberLessThanFilterObject`, `New-AzEventGridNumberLessThanOrEqualsAdvancedFilterObject`, `New-AzEventGridNumberLessThanOrEqualsFilterObject`, `New-AzEventGridNumberNotInAdvancedFilterObject`, `New-AzEventGridNumberNotInFilterObject`, `New-AzEventGridNumberNotInRangeAdvancedFilterObject`, `New-AzEventGridNumberNotInRangeFilterObject`, `New-AzEventGridStaticDeliveryAttributeMappingObject`, `New-AzEventGridStringBeginsWithAdvancedFilterObject`, `New-AzEventGridStringBeginsWithFilterObject`, `New-AzEventGridStringContainsAdvancedFilterObject`, `New-AzEventGridStringContainsFilterObject`, `New-AzEventGridStringEndsWithAdvancedFilterObject`, `New-AzEventGridStringEndsWithFilterObject`, `New-AzEventGridStringInAdvancedFilterObject`, `New-AzEventGridStringInFilterObject`, `New-AzEventGridStringNotBeginsWithAdvancedFilterObject`, `New-AzEventGridStringNotBeginsWithFilterObject`, `New-AzEventGridStringNotContainsAdvancedFilterObject`, `New-AzEventGridStringNotContainsFilterObject`, `New-AzEventGridStringNotEndsWithAdvancedFilterObject`, `New-AzEventGridStringNotEndsWithFilterObject`, `New-AzEventGridStringNotInAdvancedFilterObject`, `New-AzEventGridStringNotInFilterObject`
#### Az.Migrate 2.5.0 
* Modified cmdlet `New-AzMigrateServerReplication`
   - Added parameter `-LinuxLicenseType`
* Modified cmdlet `Set-AzMigrateServerReplication`
   - Added parameter `-LinuxLicenseType`
#### Az.Monitor 5.3.0 
* Added cmdlet `Get-AzPipelineGroup`, `New-AzPipelineGroup`, `Remove-AzPipelineGroup`, `Update-AzPipelineGroup`
#### Az.PrivateDns 1.1.0 
* Modified cmdlet `New-AzPrivateDnsVirtualNetworkLink`
   - Added parameter `-ResolutionPolicy`
* Modified cmdlet `Set-AzPrivateDnsVirtualNetworkLink`
   - Added parameter `-ResolutionPolicy`
#### Az.Resources 7.6.0 
* Modified cmdlet `Update-AzADAppFederatedCredential`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzADGroup`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzADServicePrincipalAppRoleAssignment`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Added cmdlet `Get-AzDataBoundaryScope`, `Get-AzDataBoundaryTenant`, `Set-AzDataBoundary`

## 12.4.0 - October 2024
#### Az.App 1.1.0 
* Modified cmdlet `Get-AzContainerApp`
   - Removed parameter `-PassThru`
* Modified cmdlet `Get-AzContainerAppAuthToken`
   - Removed parameter `-PassThru`
* Modified cmdlet `Get-AzContainerAppDiagnosticRoot`
   - Removed parameter `-PassThru`
* Modified cmdlet `New-AzContainerAppManagedCert`
   - Removed parameter `-PassThru`
#### Az.Billing 2.1.0 
* Removed cmdlet `Get-UsageAggregates`
* Added cmdlet `Get-AzUsageAggregate`
#### Az.Compute 8.4.0 
* Modified cmdlet `New-AzSshKey`
   - Added parameter `-SshKeyType`
* Modified cmdlet `New-AzVM`
   - Added parameter `-SshKeyType`
* Modified cmdlet `New-AzVmss`
   - Added parameters `-SkuProfileVmSize`, `-SkuProfileAllocationStrategy`
* Modified cmdlet `New-AzVmssConfig`
   - Added parameters `-SkuProfileVmSize`, `-SkuProfileAllocationStrategy`, `-EnableResilientVMCreate`, `-EnableResilientVMDelete`
* Modified cmdlet `Update-AzVmss`
   - Added parameters `-SkuProfileVmSize`, `-SkuProfileAllocationStrategy`, `-EnableResilientVMCreate`, `-EnableResilientVMDelete`
#### Az.CosmosDB 1.15.0 
* Modified cmdlet `Restore-AzCosmosDBAccount`
   - Added parameter `-DisableTtl`
#### Az.ElasticSan 1.1.0 
* Modified cmdlet `New-AzElasticSanVolumeGroup`
   - Added parameter `-EnforceDataIntegrityCheckForIscsi`
* Modified cmdlet `Update-AzElasticSanVolumeGroup`
   - Added parameter `-EnforceDataIntegrityCheckForIscsi`
#### Az.Network 7.9.0 
* Modified cmdlet `New-AzApplicationGatewayFirewallPolicyManagedRuleOverride`
   - Added parameter `-Sensitivity`
* Modified cmdlet `New-AzNetworkWatcherFlowLog`
   - Added parameters `-EnabledFilteringCriteria`, `-UserAssignedIdentityId`
* Modified cmdlet `New-AzPrivateLinkService`
   - Added parameter `-DestinationIPAddress`
* Modified cmdlet `Set-AzNetworkWatcherFlowLog`
   - Added parameters `-EnabledFilteringCriteria`, `-UserAssignedIdentityId`
* Added cmdlet `Get-AzBastionShareableLink`, `New-AzBastionShareableLink`, `Remove-AzBastionShareableLink`
#### Az.Resources 7.5.0 
* Modified cmdlet `New-AzPolicyAssignment`
   - Added parameters `-Override`, `-ResourceSelector`
* Modified cmdlet `New-AzPolicyExemption`
   - Added parameter `-ResourceSelector`
* Modified cmdlet `Update-AzPolicyAssignment`
   - Added parameters `-Override`, `-ResourceSelector`
* Modified cmdlet `Update-AzPolicyExemption`
   - Added parameter `-ResourceSelector`

## 12.3.0 - September 2024
#### Az.Compute 8.3.0 
* Modified cmdlet `Get-AzCapacityReservationGroup`
   - Added parameter `-ResourceIdsOnly`
* Modified cmdlet `Remove-AzVMDataDisk`
   - Added parameter `-ForceDetach`
#### Az.Databricks 1.9.0 
* Modified cmdlet `New-AzDatabricksWorkspace`
   - Added parameters `-DefaultCatalogInitialType`, `-ManagedDiskKeySource`, `-ManagedServiceKeySource`
* Modified cmdlet `Update-AzDatabricksWorkspace`
   - Added parameters `-DefaultCatalogInitialType`, `-ManagedDiskKeySource`, `-ManagedServiceKeySource`
#### Az.DevCenter 1.2.0 
* Modified cmdlet `New-AzDevCenterAdminCatalog`
   - Added parameters `-SyncType`, `-Tag`
* Modified cmdlet `New-AzDevCenterAdminDevCenter`
   - Added parameters `-DevBoxProvisioningSettingInstallAzureMonitorAgentEnableStatus`, `-NetworkSettingMicrosoftHostedNetworkEnableStatus`, `-PlanId`, `-ProjectCatalogSettingCatalogItemSyncEnableStatus`
* Modified cmdlet `New-AzDevCenterAdminPool`
   - Added parameters `-StopOnDisconnectGracePeriodMinute`, `-StopOnDisconnectStatus`
* Modified cmdlet `New-AzDevCenterAdminProject`
   - Added parameters `-CatalogSettingCatalogItemSyncType`, `-IdentityType`, `-IdentityUserAssignedIdentity`
* Modified cmdlet `New-AzDevCenterAdminProjectEnvironmentType`
   - Added parameter `-DisplayName`
* Modified cmdlet `Update-AzDevCenterAdminDevCenter`
   - Added parameters `-DevBoxProvisioningSettingInstallAzureMonitorAgentEnableStatus`, `-NetworkSettingMicrosoftHostedNetworkEnableStatus`, `-PlanId`, `-ProjectCatalogSettingCatalogItemSyncEnableStatus`
* Modified cmdlet `Update-AzDevCenterAdminProject`
   - Added parameters `-CatalogSettingCatalogItemSyncType`, `-IdentityType`, `-IdentityUserAssignedIdentity`
* Modified cmdlet `Update-AzDevCenterAdminProjectEnvironmentType`
   - Added parameter `-DisplayName`
* Added cmdlet `Connect-AzDevCenterAdminCatalog`, `Connect-AzDevCenterAdminProjectCatalog`, `Get-AzDevCenterAdminCustomizationTask`, `Get-AzDevCenterAdminCustomizationTaskErrorDetail`, `Get-AzDevCenterAdminPlan`, `Get-AzDevCenterAdminPlanMember`, `Get-AzDevCenterAdminProjectCatalog`, `Get-AzDevCenterAdminProjectCatalogSyncErrorDetail`, `Get-AzDevCenterAdminProjectEnvironmentDefinition`, `Get-AzDevCenterAdminProjectEnvironmentDefinitionErrorDetail`, `Get-AzDevCenterAdminProjectInheritedSetting`, `Invoke-AzDevCenterAdminExecuteCheckScopedNameAvailability`, `New-AzDevCenterAdminPlan`, `New-AzDevCenterAdminPlanMember`, `New-AzDevCenterAdminProjectCatalog`, `Remove-AzDevCenterAdminPlan`, `Remove-AzDevCenterAdminPlanMember`, `Remove-AzDevCenterAdminProjectCatalog`, `Sync-AzDevCenterAdminProjectCatalog`, `Update-AzDevCenterAdminPlan`, `Update-AzDevCenterAdminPlanMember`, `Update-AzDevCenterAdminProjectCatalog`
#### Az.HDInsight 6.2.0 
* Modified cmdlet `New-AzHDInsightCluster`
   - Added parameters `-PublicIpTagType`, `-PublicIpTag`, `-OutboundDependenciesManagedType`
* Added cmdlet `Disable-AzHDInsightAzureMonitorAgent`, `Enable-AzHDInsightAzureMonitorAgent`, `Get-AzHDInsightAzureMonitorAgent`, `Update-AzHDInsightCluster`
#### Az.Resources 7.4.0 
* Modified cmdlet `Remove-AzResourceGroup`
   - Added parameter `-ForceDeletionType`
#### Az.Security 1.7.0 
* Added cmdlet `Get-AzSecurityDefenderForStorage`, `Update-AzSecurityDefenderForStorage`
#### Az.Sql 5.3.0 
* Modified cmdlet `New-AzSqlInstance`
   - Added parameter `-AuthenticationMetadata`
* Modified cmdlet `Set-AzSqlInstance`
   - Added parameter `-AuthenticationMetadata`

## 12.2.0 - August 2024
#### Az.Compute 8.2.0 
* Modified cmdlet `New-AzRestorePointCollection`
   - Removed parameter `-VmId`
   - Added parameter `-SourceId`
#### Az.MachineLearningServices 1.1.0 
* Modified cmdlet `Get-AzMLWorkspaceJob`
   - Added parameter `-Job`
* Modified cmdlet `New-AzMLWorkspace`
   - Added parameters `-AssociatedWorkspace`, `-ComputeRuntimeSparkRuntimeVersion`, `-EnableDataIsolation`, `-FeatureStoreSettingOfflineStoreConnectionName`, `-FeatureStoreSettingOnlineStoreConnectionName`, `-HubResourceId`, `-Kind`, `-ManagedNetworkIsolationMode`, `-ManagedNetworkOutboundRule`, `-ServerlessComputeSettingServerlessComputeCustomSubnet`, `-ServerlessComputeSettingServerlessComputeNoPublicIP`, `-Status`, `-StatusSparkReady`, `-WorkspaceHubConfigAdditionalWorkspaceStorageAccount`, `-WorkspaceHubConfigDefaultWorkspaceResourceGroup`
* Modified cmdlet `New-AzMLWorkspaceBatchDeployment`
   - Removed parameter `-ModelReferenceType`
   - Added parameters `-DeploymentConfigurationType`, `-Model`
* Modified cmdlet `New-AzMLWorkspaceComputeStartStopScheduleObject`
   - Added parameters `-CronExpression`, `-CronStartTime`, `-CronTimeZone`, `-RecurrenceFrequency`, `-RecurrenceInterval`, `-RecurrenceStartTime`, `-RecurrenceTimeZone`, `-ScheduleHour`, `-ScheduleMinute`, `-ScheduleMonthDay`, `-ScheduleWeekDay`, `-Status`, `-TriggerType`
* Modified cmdlet `New-AzMLWorkspaceConnection`
   - Added parameters `-ExpiryTime`, `-IsSharedToAll`, `-Metadata`, `-SharedUserList`, `-Property`
* Modified cmdlet `New-AzMLWorkspaceEnvironmentVersion`
   - Added parameters `-AutoRebuild`, `-Stage`
* Modified cmdlet `New-AzMLWorkspaceModelVersion`
   - Added parameter `-Stage`
* Modified cmdlet `New-AzMLWorkspaceOnlineDeployment`
   - Added parameters `-DataCollectorCollection`, `-DataCollectorRollingRate`, `-EgressPublicNetworkAccess`, `-RequestLoggingCaptureHeader`
* Modified cmdlet `New-AzMLWorkspaceOnlineEndpoint`
   - Added parameters `-MirrorTraffic`, `-PublicNetworkAccess`
* Modified cmdlet `Remove-AzMLWorkspace`
   - Added parameter `-ForceToPurge`
* Modified cmdlet `Update-AzMLWorkspace`
   - Added parameters `-ComputeRuntimeSparkRuntimeVersion`, `-EnableDataIsolation`, `-FeatureStoreSettingOfflineStoreConnectionName`, `-FeatureStoreSettingOnlineStoreConnectionName`, `-KeyVaultKeyIdentifier`, `-ManagedNetworkIsolationMode`, `-ManagedNetworkOutboundRule`, `-ServerlessComputeSettingServerlessComputeCustomSubnet`, `-ServerlessComputeSettingServerlessComputeNoPublicIP`, `-Status`, `-StatusSparkReady`, `-V1LegacyMode`
* Added cmdlet `New-AzMLWorkspaceAadAuthTypeWorkspaceConnectionPropertiesObject`, `New-AzMLWorkspaceAccessKeyAuthTypeWorkspaceConnectionPropertiesObject`, `New-AzMLWorkspaceAccountKeyAuthTypeWorkspaceConnectionPropertiesObject`, `New-AzMLWorkspaceApiKeyAuthWorkspaceConnectionPropertiesObject`, `New-AzMLWorkspaceCustomKeysWorkspaceConnectionPropertiesObject`, `New-AzMLWorkspaceDataPathAssetReferenceObject`, `New-AzMLWorkspaceIdAssetReferenceObject`, `New-AzMLWorkspaceManagedIdentityAuthTypeWorkspaceConnectionPropertiesObject`, `New-AzMLWorkspaceNoneAuthTypeWorkspaceConnectionPropertiesObject`, `New-AzMLWorkspaceOAuth2AuthTypeWorkspaceConnectionPropertiesObject`, `New-AzMLWorkspaceOutputPathAssetReferenceObject`, `New-AzMLWorkspacePatAuthTypeWorkspaceConnectionPropertiesObject`, `New-AzMLWorkspaceSasAuthTypeWorkspaceConnectionPropertiesObject`, `New-AzMLWorkspaceServicePrincipalAuthTypeWorkspaceConnectionPropertiesObject`, `New-AzMLWorkspaceUsernamePasswordAuthTypeWorkspaceConnectionPropertiesObject`
#### Az.Nginx 1.1.0 
* Modified cmdlet `New-AzNginxDeployment`
   - Added parameter `-AutoScaleSettingProfile`
* Modified cmdlet `Update-AzNginxDeployment`
   - Added parameters `-AutoScaleSettingProfile`, `-AutoUpgradeProfileUpgradeChannel`
* Added cmdlet `Invoke-AzNginxAnalysisConfiguration`
#### Az.RedisCache 1.10.0 
* Modified cmdlet `New-AzRedisCache`
   - Added parameter `-DisableAccessKeyAuthentication`
* Modified cmdlet `Set-AzRedisCache`
   - Added parameter `-DisableAccessKeyAuthentication`
#### Az.Resources 7.3.0 
* Added cmdlet `Test-AzManagementGroupDeploymentStack`, `Test-AzResourceGroupDeploymentStack`, `Test-AzSubscriptionDeploymentStack`
#### Az.Sql 5.2.0 
* Modified cmdlet `New-AzSqlInstance`
   - Added parameters `-IsGeneralPurposeV2`, `-StorageIOps`
* Modified cmdlet `Set-AzSqlInstance`
   - Added parameters `-IsGeneralPurposeV2`, `-StorageIOps`
* Added cmdlet `Set-AzSqlDatabaseReplicationLink`
#### Az.StackHCI 2.4.0 
* Modified cmdlet `New-AzStackHciCluster`
   - Removed parameter `-SoftwareAssurancePropertySoftwareAssuranceStatus`
* Added cmdlet `Get-AzStackHciDeploymentSetting`, `Get-AzStackHciEdgeDevice`, `Get-AzStackHciSecuritySetting`, `Get-AzStackHciUpdate`, `Get-AzStackHciUpdateRun`, `Get-AzStackHciUpdateSummary`, `Invoke-AzStackHciUpdate`, `New-AzStackHciDeploymentSetting`, `New-AzStackHciEdgeDevice`, `New-AzStackHciSecuritySetting`, `Remove-AzStackHciDeploymentSetting`, `Remove-AzStackHciEdgeDevice`, `Remove-AzStackHciSecuritySetting`, `Remove-AzStackHciUpdate`, `Remove-AzStackHciUpdateRun`, `Remove-AzStackHciUpdateSummary`, `Set-AzStackHciDeploymentSetting`, `Set-AzStackHciEdgeDevice`, `Set-AzStackHciSecuritySetting`, `Set-AzStackHciUpdate`, `Set-AzStackHciUpdateRun`, `Set-AzStackHciUpdateSummary`, `Test-AzStackHciEdgeDevice`

## 12.1.0 - July 2024
#### Az.Compute 8.1.0 
* Modified cmdlet `Add-AzVMDataDisk`
   - Added parameter `-SourceResourceId`
* Modified cmdlet `Update-AzDiskEncryptionSet`
   - Added parameter `-IdentityType`
* Removed cmdlet `Invoke-AzSpotPlacementRecommender`
* Added cmdlet `Invoke-AzSpotPlacementScore`
#### Az.Databricks 1.8.0 
* Modified cmdlet `New-AzDatabricksWorkspace`
   - Added parameters `-EnhancedSecurityMonitoringValue`, `-AutomaticClusterUpdateValue`, `-ComplianceSecurityProfileComplianceStandard`, `-ComplianceSecurityProfileValue`, `-AccessConnectorId`, `-AccessConnectorIdentityType`, `-AccessConnectorUserAssignedIdentityId`, `-DefaultStorageFirewall`
* Modified cmdlet `Remove-AzDatabricksWorkspace`
   - Added parameter `-ForceDeletion`
* Modified cmdlet `Update-AzDatabricksWorkspace`
   - Added parameters `-EnhancedSecurityMonitoringValue`, `-AutomaticClusterUpdateValue`, `-ComplianceSecurityProfileComplianceStandard`, `-ComplianceSecurityProfileValue`, `-AccessConnectorId`, `-AccessConnectorIdentityType`, `-AccessConnectorUserAssignedIdentityId`, `-DefaultStorageFirewall`
#### Az.Functions 4.1.0 
* Modified cmdlet `New-AzFunctionApp`
   - Removed parameters `-DockerImageName`, `-DockerRegistryCredential`
   - Added parameters `-Environment`, `-Image`, `-RegistryCredential`, `-WorkloadProfileName`, `-ResourceCpu`, `-ResourceMemory`, `-ScaleMaxReplica`, `-ScaleMinReplica`, `-RegistryServer`
#### Az.Network 7.8.0 
* Modified cmdlet `Add-AzLoadBalancerProbeConfig`
   - Added parameter `-NoHealthyBackendsBehavior`
* Modified cmdlet `Add-AzVirtualNetworkSubnetConfig`
   - Added parameters `-NetworkIdentifier`, `-ServiceEndpointConfig`
* Modified cmdlet `New-AzBastion`
   - Added parameter `-EnableSessionRecording`
* Modified cmdlet `New-AzLoadBalancerProbeConfig`
   - Added parameter `-NoHealthyBackendsBehavior`
* Modified cmdlet `New-AzVirtualNetworkSubnetConfig`
   - Added parameters `-NetworkIdentifier`, `-ServiceEndpointConfig`
* Modified cmdlet `Set-AzBastion`
   - Added parameter `-EnableSessionRecording`
* Modified cmdlet `Set-AzLoadBalancerProbeConfig`
   - Added parameter `-NoHealthyBackendsBehavior`
* Modified cmdlet `Set-AzVirtualNetworkSubnetConfig`
   - Added parameters `-NetworkIdentifier`, `-ServiceEndpointConfig`
* Added cmdlet `Deploy-AzFirewallPolicy`, `Get-AzFirewallPolicyDraft`, `Get-AzFirewallPolicyRuleCollectionGroupDraft`, `New-AzFirewallPolicyDraft`, `New-AzFirewallPolicyRuleCollectionGroupDraft`, `Remove-AzFirewallPolicyDraft`, `Remove-AzFirewallPolicyRuleCollectionGroupDraft`, `Restart-AzNetworkVirtualAppliance`, `Set-AzFirewallPolicyDraft`, `Set-AzFirewallPolicyRuleCollectionGroupDraft`
#### Az.Resources 7.2.0 
* Modified cmdlet `Get-AzPolicyAssignment`
   - Removed parameter `-InputObject`
* Modified cmdlet `Get-AzPolicyDefinition`
   - Removed parameter `-InputObject`
   - Added parameters `-ListVersion`, `-Version`
* Modified cmdlet `Get-AzPolicyExemption`
   - Removed parameter `-InputObject`
* Modified cmdlet `Get-AzPolicySetDefinition`
   - Removed parameter `-InputObject`
   - Added parameters `-ListVersion`, `-Version`
* Modified cmdlet `New-AzADApplication`
   - Added parameter `-ServiceManagementReference`
* Modified cmdlet `New-AzPolicyAssignment`
   - Added parameter `-DefinitionVersion`
* Modified cmdlet `New-AzPolicyDefinition`
   - Removed parameter `-InputObject`
* Modified cmdlet `New-AzPolicySetDefinition`
   - Removed parameter `-InputObject`
* Modified cmdlet `Update-AzADApplication`
   - Added parameter `-ServiceManagementReference`
#### Az.Sql 5.1.0 
* Modified cmdlet `Add-AzSqlDatabaseToFailoverGroup`
   - Added parameter `-SecondaryType`
* Modified cmdlet `Complete-AzSqlInstanceDatabaseCopy`
   - Added parameter `-TargetSubscriptionId`
* Modified cmdlet `Complete-AzSqlInstanceDatabaseMove`
   - Added parameter `-TargetSubscriptionId`
* Modified cmdlet `Copy-AzSqlInstanceDatabase`
   - Added parameter `-TargetSubscriptionId`
* Modified cmdlet `Move-AzSqlInstanceDatabase`
   - Added parameter `-TargetSubscriptionId`
* Modified cmdlet `Stop-AzSqlInstanceDatabaseCopy`
   - Added parameter `-TargetSubscriptionId`
* Modified cmdlet `Stop-AzSqlInstanceDatabaseMove`
   - Added parameter `-TargetSubscriptionId`
#### Az.SqlVirtualMachine 2.3.0 
* Modified cmdlet `Update-AzSqlVM`
   - Added parameters `-ManagedIdentityClientId`, `-IdentityType`
* Added cmdlet `Assert-AzSqlVMEntraAuth`
#### Az.StorageMover 1.4.0 
* Modified cmdlet `Update-AzStorageMoverAgent`
   - Added parameter `-UploadLimitScheduleWeeklyRecurrence`
* Added cmdlet `New-AzStorageMoverUploadLimitWeeklyRecurrenceObject`

## 12.0.0 - May 2024
#### Az.Accounts 3.0.0 
* Modified cmdlet `Clear-AzConfig`
   - Removed parameter `-DisableErrorRecordsPersistence`
   - Added parameters `-EnableErrorRecordsPersistence`, `-LoginExperienceV2`
* Modified cmdlet `Get-AzConfig`
   - Removed parameter `-DisableErrorRecordsPersistence`
   - Added parameters `-EnableErrorRecordsPersistence`, `-LoginExperienceV2`
* Modified cmdlet `Update-AzConfig`
   - Removed parameter `-DisableErrorRecordsPersistence`
   - Added parameters `-EnableErrorRecordsPersistence`, `-LoginExperienceV2`
#### Az.Compute 8.0.0 
* Modified cmdlet `Get-AzVmss`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `False` to `True`
   - Parameter `-VMScaleSetName` ValidateNotNullOrEmpty changed from `False` to `True`
* Modified cmdlet `Grant-AzDiskAccess`
   - Added parameter `-SecureVMGuestStateSAS`
* Modified cmdlet `New-AzVM`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `New-AzVmss`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzVM`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzVmss`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
#### Az.EventGrid 2.0.0 
* Modified cmdlet `Enable-AzEventGridPartnerTopic`
   - Added parameters `-SubscriptionId`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSPartnerTopic` to `IEventGridIdentity`
   - Output type changed from ``PSPartnerTopic`` to ``IPartnerTopic``
* Modified cmdlet `Get-AzEventGridChannel`
   - Removed parameters `-ODataQuery`, `-NextLink`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-PartnerNamespaceInputObject`, `-Filter`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PartnerNamespaceName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-Top` from `Nullable`1[System.Int32]` to `Int32`
   - Output type changed from ``PSChannelListInstance``, ``PSChannel`` to ``IChannel``
* Modified cmdlet `Get-AzEventGridDomain`
   - Removed parameters `-ResourceId`, `-ODataQuery`, `-NextLink`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-Filter`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSDomain``, ``PSDomainListInstance`` to ``IDomain``
* Modified cmdlet `Get-AzEventGridDomainKey`
   - `SupportsShouldProcess` changed from False to True
   - Removed parameters `-Name`, `-DomainObject`, `-DomainResourceId`
   - Added parameters `-DomainName`, `-SubscriptionId`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PsDomainSharedAccessKeys`` to ``IDomainSharedAccessKeys``
* Modified cmdlet `Get-AzEventGridDomainTopic`
   - Removed parameters `-ResourceId`, `-ODataQuery`, `-NextLink`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-DomainInputObject`, `-Filter`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-DomainName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSDomainTopic``, ``PSDomainTopicListInstance`` to ``IDomainTopic``
* Modified cmdlet `Get-AzEventGridFullUrlForPartnerTopicEventSubscription`
   - `SupportsShouldProcess` changed from False to True
   - Removed parameters `-Name`, `-ResourceId`
   - Added parameters `-EventSubscriptionName`, `-SubscriptionId`, `-InputObject`, `-PartnerTopicInputObject`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PartnerTopicName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``String`` to ``IEventSubscriptionFullUrl``
* Modified cmdlet `Get-AzEventGridFullUrlForSystemTopicEventSubscription`
   - `SupportsShouldProcess` changed from False to True
   - Added parameters `-SubscriptionId`, `-InputObject`, `-SystemTopicInputObject`, `-PassThru`
   - Parameter `-EventSubscriptionName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `ResourceGroup` to parameter `-ResourceGroupName`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-SystemTopicName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``String`` to ``IEventSubscriptionFullUrl``
* Modified cmdlet `Get-AzEventGridPartnerConfiguration`
   - Removed parameters `-ODataQuery`, `-NextLink`
   - Added parameters `-SubscriptionId`, `-Filter`, `-PassThru`
   - Added parameter alias `ResourceGroup` to parameter `-ResourceGroupName`
   - Changed the type of parameter `-Top` from `Nullable`1[System.Int32]` to `Int32`
   - Output type changed from ``PSPartnerConfigurationListInstance``, ``PSPartnerConfiguration`` to ``IPartnerConfiguration``
* Modified cmdlet `Get-AzEventGridPartnerNamespace`
   - Removed parameters `-ODataQuery`, `-NextLink`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-Filter`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-Top` from `Nullable`1[System.Int32]` to `Int32`
   - Output type changed from ``PSPartnerNamespaceListInstance``, ``PSPartnerNamespace`` to ``IPartnerNamespace``
* Modified cmdlet `Get-AzEventGridPartnerNamespaceKey`
   - `SupportsShouldProcess` changed from False to True
   - Removed parameter `-InputObject`
   - Added parameters `-SubscriptionId`, `-PassThru`
   - Added parameter alias `ResourceGroup` to parameter `-ResourceGroupName`
   - Parameter `-PartnerNamespaceName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSPartnerNamespaceListInstance``, ``PSPartnerNamespace`` to ``IPartnerNamespaceSharedAccessKeys``
* Modified cmdlet `Get-AzEventGridPartnerRegistration`
   - Removed parameters `-ODataQuery`, `-NextLink`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-Filter`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-Top` from `Nullable`1[System.Int32]` to `Int32`
   - Output type changed from ``PSPartnerRegistrationListInstance``, ``PSPartnerRegistration`` to ``IPartnerRegistration``
* Modified cmdlet `Get-AzEventGridPartnerTopic`
   - Removed parameters `-ODataQuery`, `-NextLink`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-Filter`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-Top` from `Nullable`1[System.Int32]` to `Int32`
   - Output type changed from ``PSPartnerTopic``, ``PSSytemTopicListInstance`` to ``IPartnerTopic``
* Modified cmdlet `Get-AzEventGridPartnerTopicEventSubscription`
   - Removed parameters `-Name`, `-ResourceId`, `-IncludeFullEndpointUrl`, `-ODataQuery`, `-NextLink`
   - Added parameters `-EventSubscriptionName`, `-SubscriptionId`, `-InputObject`, `-PartnerTopicInputObject`, `-Filter`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PartnerTopicName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-Top` from `Nullable`1[System.Int32]` to `Int32`
   - Output type changed from ``PSEventSubscription``, ``PSEventSubscriptionListInstance`` to ``IEventSubscription``
* Modified cmdlet `Get-AzEventGridPartnerTopicEventSubscriptionDeliveryAttribute`
   - `SupportsShouldProcess` changed from False to True
   - Removed parameters `-Name`, `-ResourceId`
   - Added parameters `-EventSubscriptionName`, `-SubscriptionId`, `-InputObject`, `-PartnerTopicInputObject`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PartnerTopicName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PsDeliveryAttribute`` to ``IDeliveryAttributeListResult``
* Modified cmdlet `Get-AzEventGridSubscription`
   - Removed parameters `-EventSubscriptionName`, `-ResourceId`, `-DomainTopicName`, `-TopicTypeName`, `-Location`, `-DomainInputObject`, `-DomainTopicInputObject`, `-IncludeFullEndpointUrl`, `-ODataQuery`, `-NextLink`
   - Added parameters `-Name`, `-Scope`, `-ProviderNamespace`, `-ResourceName`, `-ResourceTypeName`, `-SubscriptionId`, `-Filter`, `-PassThru`
   - Added parameter alias `DomainTopicName` to parameter `-TopicName`
   - Changed the type of parameter `-InputObject` from `PSTopic` to `IEventGridIdentity`
   - Parameter `-InputObject` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-Top` from `Nullable`1[System.Int32]` to `Int32`
   - Output type changed from ``PSEventSubscription`` to ``IEventSubscription``
* Modified cmdlet `Get-AzEventGridSystemTopic`
   - Removed parameters `-ODataQuery`, `-NextLink`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-Filter`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-Top` from `Nullable`1[System.Int32]` to `Int32`
   - Output type changed from ``PSSystemTopic``, ``PSSytemTopicListInstance`` to ``ISystemTopic``
* Modified cmdlet `Get-AzEventGridSystemTopicEventSubscription`
   - Removed parameters `-IncludeFullEndpointUrl`, `-ODataQuery`, `-NextLink`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-SystemTopicInputObject`, `-Filter`, `-PassThru`
   - Parameter `-EventSubscriptionName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `ResourceGroup` to parameter `-ResourceGroupName`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-SystemTopicName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-Top` from `Nullable`1[System.Int32]` to `Int32`
   - Output type changed from ``PSEventSubscription``, ``PSEventSubscriptionListInstance`` to ``IEventSubscription``
* Modified cmdlet `Get-AzEventGridSystemTopicEventSubscriptionDeliveryAttribute`
   - `SupportsShouldProcess` changed from False to True
   - Added parameters `-SubscriptionId`, `-InputObject`, `-SystemTopicInputObject`, `-PassThru`
   - Parameter `-EventSubscriptionName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `ResourceGroup` to parameter `-ResourceGroupName`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-SystemTopicName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PsDeliveryAttribute`` to ``IDeliveryAttributeListResult``
* Modified cmdlet `Get-AzEventGridTopic`
   - Removed parameters `-ResourceId`, `-ODataQuery`, `-NextLink`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-Filter`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-Top` from `Nullable`1[System.Int32]` to `Int32`
   - Output type changed from ``PSTopic``, ``PSTopicListInstance`` to ``ITopic``
* Modified cmdlet `Get-AzEventGridTopicKey`
   - `SupportsShouldProcess` changed from False to True
   - Removed parameters `-Name`, `-InputObject`, `-ResourceId`
   - Added parameters `-TopicName`, `-SubscriptionId`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``TopicSharedAccessKeys`` to ``ITopicSharedAccessKeys``
* Modified cmdlet `Get-AzEventGridTopicType`
   - Removed parameter `-IncludeEventTypeData`
   - Added parameters `-InputObject`, `-PassThru`
   - Added parameter alias `TopicTypeName` to parameter `-Name`
   - Output type changed from ``PSTopicTypeInfoListInstance``, ``PSTopicTypeInfo`` to ``ITopicTypeInfo``
* Modified cmdlet `Get-AzEventGridVerifiedPartner`
   - Removed parameters `-ODataQuery`, `-NextLink`
   - Added parameters `-InputObject`, `-Filter`, `-PassThru`
   - Added parameter alias `VerifiedPartnerName` to parameter `-Name`
   - Output type changed from ``PSVerifiedPartnerListInstance``, ``PSVerifiedPartner`` to ``IVerifiedPartner``
* Modified cmdlet `Grant-AzEventGridPartnerConfiguration`
   - Removed parameters `-InputObject`, `-AuthorizationExpirationTime`
   - Added parameters `-SubscriptionId`, `-PartnerInfo`, `-AuthorizationExpirationTimeInUtc`, `-JsonFilePath`, `-JsonString`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-PartnerRegistrationImmutableId` from `Nullable`1[System.Guid]` to `String`
   - Output type changed from ``PSPartnerConfiguration`` to ``IPartnerConfiguration``
* Modified cmdlet `New-AzEventGridChannel`
   - Removed parameters `-PartnerTopicSource`, `-PartnerTopicName`, `-EventTypeKind`, `-InlineEvent`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-PartnerNamespaceInputObject`, `-EventTypeInfoInlineEventType`, `-EventTypeInfoKind`, `-PartnerDestinationInfoAzureSubscriptionId`, `-PartnerDestinationInfoEndpointServiceContext`, `-PartnerDestinationInfoName`, `-PartnerDestinationInfoResourceGroupName`, `-PartnerDestinationInfoResourceMoveChangeHistory`, `-PartnerTopicInfoAzureSubscriptionId`, `-PartnerTopicInfoName`, `-PartnerTopicInfoResourceGroupName`, `-PartnerTopicInfoSource`, `-ProvisioningState`, `-ReadinessState`, `-JsonFilePath`, `-JsonString`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PartnerNamespaceName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-ExpirationTimeIfNotActivatedUtc` from `Nullable`1[System.DateTime]` to `DateTime`
   - Output type changed from ``PSChannel`` to ``IChannel``
* Modified cmdlet `New-AzEventGridDomain`
   - Removed parameters `-InputMappingField`, `-InputMappingDefaultValue`, `-InboundIpRule`, `-IdentityType`, `-IdentityId`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-DataResidencyBoundary`, `-EnableSystemAssignedIdentity`, `-EventTypeInfoInlineEventType`, `-EventTypeInfoKind`, `-IdentityPrincipalId`, `-IdentityTenantId`, `-InboundIPRule`, `-MinimumTlsVersionAllowed`, `-SkuName`, `-UserAssignedIdentity`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Location` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-InputSchema` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PublicNetworkAccess` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-DisableLocalAuth` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-AutoCreateTopicWithFirstSubscription` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-AutoDeleteTopicWithLastSubscription` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSDomain`` to ``IDomain``
* Modified cmdlet `New-AzEventGridDomainKey`
   - Removed parameters `-Name`, `-DomainInputObject`, `-DomainResourceId`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-KeyName`, `-JsonFilePath`, `-JsonString`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-DomainName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PsDomainSharedAccessKeys`` to ``IDomainSharedAccessKeys``
* Modified cmdlet `New-AzEventGridDomainTopic`
   - Added parameters `-SubscriptionId`, `-AsJob`, `-NoWait`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-DomainName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSDomainTopic`` to ``IDomainTopic``
* Modified cmdlet `New-AzEventGridPartnerConfiguration`
   - Removed parameters `-MaxExpirationTimeInDays`, `-AuthorizedPartner`
   - Added parameters `-SubscriptionId`, `-Location`, `-PartnerAuthorizationAuthorizedPartnersList`, `-PartnerAuthorizationDefaultMaximumExpirationTimeInDay`, `-ProvisioningState`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSPartnerConfiguration`` to ``IPartnerConfiguration``
* Modified cmdlet `New-AzEventGridPartnerNamespace`
   - Removed parameters `-PrivateEndpointConnection`, `-InboundIpRule`, `-Endpoint`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-InboundIPRule`, `-MinimumTlsVersionAllowed`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Location` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-DisableLocalAuth` from `Nullable`1[System.Boolean]` to `SwitchParameter`
   - Output type changed from ``PSPartnerNamespace`` to ``IPartnerNamespace``
* Modified cmdlet `New-AzEventGridPartnerNamespaceKey`
   - Removed parameter `-Name`
   - Added parameters `-SubscriptionId`, `-KeyName`, `-JsonFilePath`, `-JsonString`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PartnerNamespaceName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSPartnerNamespace` to `IEventGridIdentity`
   - Output type changed from ``PSPartnerNamespace`` to ``IPartnerNamespaceSharedAccessKeys``
* Modified cmdlet `New-AzEventGridPartnerRegistration`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-Location`, `-PartnerRegistrationImmutableId`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSPartnerRegistration`` to ``IPartnerRegistration``
* Modified cmdlet `New-AzEventGridPartnerTopic`
   - Removed parameters `-IdentityType`, `-IdentityId`, `-EventTypeKind`, `-InlineEvent`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-ActivationState`, `-EnableSystemAssignedIdentity`, `-EventTypeInfoInlineEventType`, `-EventTypeInfoKind`, `-IdentityPrincipalId`, `-IdentityTenantId`, `-UserAssignedIdentity`, `-JsonFilePath`, `-JsonString`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Source` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Location` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-ExpirationTimeIfNotActivatedUtc` from `Nullable`1[System.DateTime]` to `DateTime`
   - Changed the type of parameter `-PartnerRegistrationImmutableId` from `Nullable`1[System.Guid]` to `String`
   - Output type changed from ``PSPartnerTopic`` to ``IPartnerTopic``
* Modified cmdlet `New-AzEventGridPartnerTopicEventSubscription`
   - Removed parameters `-Name`, `-AzureActiveDirectoryApplicationIdOrUri`, `-AzureActiveDirectoryTenantId`, `-DeadLetterEndpoint`, `-DeliveryAttributeMapping`, `-Endpoint`, `-EndpointType`, `-DeliverySchema`, `-EventTtl`, `-ExpirationDate`, `-MaxDeliveryAttempt`, `-MaxEventsPerBatch`, `-PreferredBatchSizeInKiloByte`, `-StorageQueueMessageTtl`, `-AdvancedFilter`, `-AdvancedFilteringOnArray`, `-IncludedEventType`, `-SubjectBeginsWith`, `-SubjectEndsWith`, `-SubjectCaseSensitive`
   - Added parameters `-EventSubscriptionName`, `-SubscriptionId`, `-InputObject`, `-PartnerTopicInputObject`, `-DeadLetterWithResourceIdentityType`, `-DeadLetterWithResourceIdentityUserAssignedIdentity`, `-DeliveryWithResourceIdentityDestination`, `-DeliveryWithResourceIdentityType`, `-DeliveryWithResourceIdentityUserAssignedIdentity`, `-Destination`, `-EventDeliverySchema`, `-ExpirationTimeUtc`, `-FilterAdvancedFilter`, `-FilterEnableAdvancedFilteringOnArray`, `-FilterIncludedEventType`, `-FilterIsSubjectCaseSensitive`, `-FilterSubjectBeginsWith`, `-FilterSubjectEndsWith`, `-RetryPolicyEventTimeToLiveInMinute`, `-RetryPolicyMaxDeliveryAttempt`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PartnerTopicName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Label` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSEventSubscription`` to ``IEventSubscription``
* Modified cmdlet `New-AzEventGridSubscription`
   - Removed parameters `-ResourceId`, `-DomainInputObject`, `-DomainTopicInputObject`, `-EventSubscriptionName`, `-Endpoint`, `-ResourceGroupName`, `-TopicName`, `-DomainName`, `-DomainTopicName`, `-EndpointType`, `-SubjectBeginsWith`, `-SubjectEndsWith`, `-SubjectCaseSensitive`, `-IncludedEventType`, `-EventTtl`, `-MaxDeliveryAttempt`, `-DeliverySchema`, `-DeadLetterEndpoint`, `-ExpirationDate`, `-AdvancedFilter`, `-MaxEventsPerBatch`, `-PreferredBatchSizeInKiloByte`, `-AzureActiveDirectoryTenantId`, `-AzureActiveDirectoryApplicationIdOrUri`, `-AdvancedFilteringOnArray`, `-DeliveryAttributeMapping`, `-StorageQueueMessageTtl`
   - Added parameters `-Name`, `-Scope`, `-DeadLetterWithResourceIdentityType`, `-DeadLetterWithResourceIdentityUserAssignedIdentity`, `-DeliveryWithResourceIdentityDestination`, `-DeliveryWithResourceIdentityType`, `-DeliveryWithResourceIdentityUserAssignedIdentity`, `-Destination`, `-EventDeliverySchema`, `-ExpirationTimeUtc`, `-FilterAdvancedFilter`, `-FilterEnableAdvancedFilteringOnArray`, `-FilterIncludedEventType`, `-FilterIsSubjectCaseSensitive`, `-FilterSubjectBeginsWith`, `-FilterSubjectEndsWith`, `-RetryPolicyEventTimeToLiveInMinute`, `-RetryPolicyMaxDeliveryAttempt`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`, `-PassThru`
   - Changed the type of parameter `-InputObject` from `PSTopic` to `IEventGridIdentity`
   - Parameter `-InputObject` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Label` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSEventSubscription`` to ``IEventSubscription``
* Modified cmdlet `New-AzEventGridSystemTopic`
   - Removed parameters `-IdentityType`, `-IdentityId`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-EnableSystemAssignedIdentity`, `-IdentityPrincipalId`, `-IdentityTenantId`, `-UserAssignedIdentity`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `SystemTopicName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Source` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-TopicType` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Location` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSSystemTopic`` to ``ISystemTopic``
* Modified cmdlet `New-AzEventGridSystemTopicEventSubscription`
   - Removed parameters `-AzureActiveDirectoryApplicationIdOrUri`, `-AzureActiveDirectoryTenantId`, `-DeadLetterEndpoint`, `-DeliveryAttributeMapping`, `-Endpoint`, `-EndpointType`, `-DeliverySchema`, `-EventTtl`, `-ExpirationDate`, `-MaxDeliveryAttempt`, `-MaxEventsPerBatch`, `-PreferredBatchSizeInKiloByte`, `-StorageQueueMessageTtl`, `-AdvancedFilter`, `-AdvancedFilteringOnArray`, `-IncludedEventType`, `-SubjectBeginsWith`, `-SubjectEndsWith`, `-SubjectCaseSensitive`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-SystemTopicInputObject`, `-DeadLetterWithResourceIdentityType`, `-DeadLetterWithResourceIdentityUserAssignedIdentity`, `-DeliveryWithResourceIdentityDestination`, `-DeliveryWithResourceIdentityType`, `-DeliveryWithResourceIdentityUserAssignedIdentity`, `-Destination`, `-EventDeliverySchema`, `-ExpirationTimeUtc`, `-FilterAdvancedFilter`, `-FilterEnableAdvancedFilteringOnArray`, `-FilterIncludedEventType`, `-FilterIsSubjectCaseSensitive`, `-FilterSubjectBeginsWith`, `-FilterSubjectEndsWith`, `-RetryPolicyEventTimeToLiveInMinute`, `-RetryPolicyMaxDeliveryAttempt`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`, `-PassThru`
   - Parameter `-EventSubscriptionName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `ResourceGroup` to parameter `-ResourceGroupName`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-SystemTopicName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Label` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSEventSubscription`` to ``IEventSubscription``
* Modified cmdlet `New-AzEventGridTopic`
   - Removed parameters `-InputMappingField`, `-InputMappingDefaultValue`, `-InboundIpRule`, `-IdentityType`, `-IdentityId`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-DataResidencyBoundary`, `-DisableLocalAuth`, `-EnableSystemAssignedIdentity`, `-EventTypeInfoInlineEventType`, `-EventTypeInfoKind`, `-ExtendedLocationName`, `-ExtendedLocationType`, `-IdentityPrincipalId`, `-IdentityTenantId`, `-InboundIPRule`, `-Kind`, `-MinimumTlsVersionAllowed`, `-SkuName`, `-UserAssignedIdentity`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Location` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-InputSchema` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PublicNetworkAccess` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSTopic`` to ``ITopic``
* Modified cmdlet `New-AzEventGridTopicKey`
   - Removed parameter `-ResourceId`
   - Added parameters `-SubscriptionId`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-TopicName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-KeyName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSTopic` to `IEventGridIdentity`
   - Parameter `-InputObject` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``TopicSharedAccessKeys`` to ``ITopicSharedAccessKeys``
* Modified cmdlet `Remove-AzEventGridChannel`
   - Removed parameter `-Force`
   - Added parameters `-SubscriptionId`, `-PartnerNamespaceInputObject`, `-AsJob`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PartnerNamespaceName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSChannel` to `IEventGridIdentity`
* Modified cmdlet `Remove-AzEventGridDomain`
   - Removed parameter `-ResourceId`
   - Added parameters `-SubscriptionId`, `-AsJob`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSDomain` to `IEventGridIdentity`
   - Parameter `-InputObject` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `Remove-AzEventGridDomainTopic`
   - Removed parameter `-ResourceId`
   - Added parameters `-SubscriptionId`, `-DomainInputObject`, `-AsJob`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `Domain` to parameter `-DomainName`
   - Parameter `-DomainName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSDomainTopic` to `IEventGridIdentity`
   - Parameter `-InputObject` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `Remove-AzEventGridPartnerConfiguration`
   - Removed parameters `-InputObject`, `-Force`
   - Added parameters `-SubscriptionId`, `-AsJob`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `Remove-AzEventGridPartnerNamespace`
   - Removed parameter `-Force`
   - Added parameters `-SubscriptionId`, `-AsJob`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSPartnerNamespace` to `IEventGridIdentity`
* Modified cmdlet `Remove-AzEventGridPartnerRegistration`
   - Removed parameter `-Force`
   - Added parameters `-SubscriptionId`, `-AsJob`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSPartnerRegistration` to `IEventGridIdentity`
* Modified cmdlet `Remove-AzEventGridPartnerTopic`
   - Removed parameter `-Force`
   - Added parameters `-SubscriptionId`, `-AsJob`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSPartnerTopic` to `IEventGridIdentity`
* Modified cmdlet `Remove-AzEventGridPartnerTopicEventSubscription`
   - Removed parameters `-Name`, `-ResourceId`, `-Force`
   - Added parameters `-EventSubscriptionName`, `-SubscriptionId`, `-InputObject`, `-PartnerTopicInputObject`, `-AsJob`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PartnerTopicName` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `Remove-AzEventGridSubscription`
   - Removed parameters `-ResourceId`, `-DomainInputObject`, `-DomainTopicInputObject`, `-EventSubscriptionName`, `-ResourceGroupName`, `-TopicName`, `-DomainName`, `-DomainTopicName`
   - Added parameters `-Name`, `-Scope`, `-AsJob`, `-NoWait`
   - Changed the type of parameter `-InputObject` from `PSTopic` to `IEventGridIdentity`
   - Parameter `-InputObject` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `Remove-AzEventGridSystemTopic`
   - Removed parameters `-ResourceId`, `-Force`
   - Added parameters `-SubscriptionId`, `-AsJob`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSSystemTopic` to `IEventGridIdentity`
   - Parameter `-InputObject` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `Remove-AzEventGridSystemTopicEventSubscription`
   - Removed parameter `-Force`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-SystemTopicInputObject`, `-AsJob`, `-NoWait`
   - Parameter `-EventSubscriptionName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `ResourceGroup` to parameter `-ResourceGroupName`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-SystemTopicName` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `Remove-AzEventGridTopic`
   - Removed parameter `-ResourceId`
   - Added parameters `-SubscriptionId`, `-AsJob`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSTopic` to `IEventGridIdentity`
   - Parameter `-InputObject` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `Revoke-AzEventGridPartnerConfiguration`
   - Removed parameters `-InputObject`, `-AuthorizationExpirationTime`
   - Added parameters `-SubscriptionId`, `-PartnerInfo`, `-AuthorizationExpirationTimeInUtc`, `-JsonFilePath`, `-JsonString`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-PartnerRegistrationImmutableId` from `Nullable`1[System.Guid]` to `String`
   - Output type changed from ``PSPartnerConfiguration`` to ``IPartnerConfiguration``
* Removed cmdlet `Set-AzEventGridTopic`
* Modified cmdlet `Update-AzEventGridChannel`
   - Removed parameters `-EventTypeKind`, `-InlineEvent`
   - Added parameters `-SubscriptionId`, `-PartnerNamespaceInputObject`, `-EventTypeInfoInlineEventType`, `-EventTypeInfoKind`, `-JsonFilePath`, `-JsonString`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PartnerNamespaceName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSChannel` to `IEventGridIdentity`
   - Changed the type of parameter `-ExpirationTimeIfNotActivatedUtc` from `Nullable`1[System.DateTime]` to `DateTime`
   - Output type changed from ``PSChannel`` to ``IChannel``
* Modified cmdlet `Update-AzEventGridPartnerConfiguration`
   - Removed parameters `-InputObject`, `-MaxExpirationTimeInDays`
   - Added parameters `-SubscriptionId`, `-DefaultMaximumExpirationTimeInDay`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSPartnerConfiguration`` to ``IPartnerConfiguration``
* Modified cmdlet `Update-AzEventGridPartnerTopic`
   - Removed parameters `-IdentityType`, `-IdentityId`
   - Added parameters `-SubscriptionId`, `-ActivationState`, `-EnableSystemAssignedIdentity`, `-EventTypeInfoInlineEventType`, `-EventTypeInfoKind`, `-ExpirationTimeIfNotActivatedUtc`, `-IdentityPrincipalId`, `-IdentityTenantId`, `-Location`, `-MessageForActivation`, `-PartnerRegistrationImmutableId`, `-PartnerTopicFriendlyDescription`, `-Source`, `-UserAssignedIdentity`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSPartnerTopic` to `IEventGridIdentity`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSPartnerTopic`` to ``IPartnerTopic``
* Modified cmdlet `Update-AzEventGridPartnerTopicEventSubscription`
   - Removed parameters `-Name`, `-ResourceId`, `-DeadLetterEndpoint`, `-DeliveryAttributeMapping`, `-Endpoint`, `-EndpointType`, `-StorageQueueMessageTtl`, `-AdvancedFilter`, `-AdvancedFilteringOnArray`, `-IncludedEventType`, `-SubjectBeginsWith`, `-SubjectEndsWith`, `-SubjectCaseSensitive`
   - Added parameters `-EventSubscriptionName`, `-SubscriptionId`, `-InputObject`, `-PartnerTopicInputObject`, `-DeadLetterWithResourceIdentityType`, `-DeadLetterWithResourceIdentityUserAssignedIdentity`, `-DeliveryWithResourceIdentityDestination`, `-DeliveryWithResourceIdentityType`, `-DeliveryWithResourceIdentityUserAssignedIdentity`, `-Destination`, `-EventDeliverySchema`, `-ExpirationTimeUtc`, `-FilterAdvancedFilter`, `-FilterEnableAdvancedFilteringOnArray`, `-FilterIncludedEventType`, `-FilterIsSubjectCaseSensitive`, `-FilterSubjectBeginsWith`, `-FilterSubjectEndsWith`, `-RetryPolicyEventTimeToLiveInMinute`, `-RetryPolicyMaxDeliveryAttempt`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PartnerTopicName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Label` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSEventSubscription`` to ``IEventSubscription``
* Modified cmdlet `Update-AzEventGridSubscription`
   - Removed parameters `-ResourceId`, `-EventSubscriptionName`, `-ResourceGroupName`, `-TopicName`, `-DomainName`, `-DomainTopicName`, `-EndpointType`, `-Endpoint`, `-SubjectBeginsWith`, `-SubjectEndsWith`, `-IncludedEventType`, `-ExpirationDate`, `-AdvancedFilter`, `-DeliveryAttributeMapping`, `-EventTtl`, `-MaxDeliveryAttempt`, `-DeadLetterEndpoint`, `-MaxEventsPerBatch`, `-PreferredBatchSizeInKiloByte`, `-AzureActiveDirectoryApplicationIdOrUri`, `-AzureActiveDirectoryTenantId`
   - Added parameters `-Name`, `-Scope`, `-DeadLetterWithResourceIdentityType`, `-DeadLetterWithResourceIdentityUserAssignedIdentity`, `-DeliveryWithResourceIdentityDestination`, `-DeliveryWithResourceIdentityType`, `-DeliveryWithResourceIdentityUserAssignedIdentity`, `-Destination`, `-EventDeliverySchema`, `-ExpirationTimeUtc`, `-FilterAdvancedFilter`, `-FilterEnableAdvancedFilteringOnArray`, `-FilterIncludedEventType`, `-FilterIsSubjectCaseSensitive`, `-FilterSubjectBeginsWith`, `-FilterSubjectEndsWith`, `-RetryPolicyEventTimeToLiveInMinute`, `-RetryPolicyMaxDeliveryAttempt`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`, `-PassThru`
   - Changed the type of parameter `-InputObject` from `PSEventSubscription` to `IEventGridIdentity`
   - Parameter `-InputObject` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Label` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSEventSubscription`` to ``IEventSubscription``
* Modified cmdlet `Update-AzEventGridSystemTopic`
   - Removed parameters `-IdentityType`, `-IdentityId`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-EnableSystemAssignedIdentity`, `-IdentityPrincipalId`, `-IdentityTenantId`, `-Location`, `-Source`, `-TopicType`, `-UserAssignedIdentity`, `-AsJob`, `-NoWait`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSSystemTopic`` to ``ISystemTopic``
* Modified cmdlet `Update-AzEventGridSystemTopicEventSubscription`
   - Removed parameters `-DeadLetterEndpoint`, `-DeliveryAttributeMapping`, `-Endpoint`, `-EndpointType`, `-StorageQueueMessageTtl`, `-AdvancedFilter`, `-AdvancedFilteringOnArray`, `-IncludedEventType`, `-SubjectBeginsWith`, `-SubjectEndsWith`, `-SubjectCaseSensitive`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-SystemTopicInputObject`, `-DeadLetterWithResourceIdentityType`, `-DeadLetterWithResourceIdentityUserAssignedIdentity`, `-DeliveryWithResourceIdentityDestination`, `-DeliveryWithResourceIdentityType`, `-DeliveryWithResourceIdentityUserAssignedIdentity`, `-Destination`, `-EventDeliverySchema`, `-ExpirationTimeUtc`, `-FilterAdvancedFilter`, `-FilterEnableAdvancedFilteringOnArray`, `-FilterIncludedEventType`, `-FilterIsSubjectCaseSensitive`, `-FilterSubjectBeginsWith`, `-FilterSubjectEndsWith`, `-RetryPolicyEventTimeToLiveInMinute`, `-RetryPolicyMaxDeliveryAttempt`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`, `-PassThru`
   - Parameter `-EventSubscriptionName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `ResourceGroup` to parameter `-ResourceGroupName`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-SystemTopicName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Label` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSEventSubscription`` to ``IEventSubscription``
* Added cmdlet `Disable-AzEventGridPartnerTopic`, `Enable-AzEventGridPartnerDestination`, `Get-AzEventGridCaCertificate`, `Get-AzEventGridChannelFullUrl`, `Get-AzEventGridClient`, `Get-AzEventGridClientGroup`, `Get-AzEventGridDomainEventSubscription`, `Get-AzEventGridDomainEventSubscriptionDeliveryAttribute`, `Get-AzEventGridDomainEventSubscriptionFullUrl`, `Get-AzEventGridDomainTopicEventSubscription`, `Get-AzEventGridDomainTopicEventSubscriptionDeliveryAttribute`, `Get-AzEventGridDomainTopicEventSubscriptionFullUrl`, `Get-AzEventGridExtensionTopic`, `Get-AzEventGridNamespace`, `Get-AzEventGridNamespaceKey`, `Get-AzEventGridNamespaceTopic`, `Get-AzEventGridNamespaceTopicEventSubscription`, `Get-AzEventGridNamespaceTopicKey`, `Get-AzEventGridPartnerDestination`, `Get-AzEventGridPermissionBinding`, `Get-AzEventGridSubscriptionDeliveryAttribute`, `Get-AzEventGridSubscriptionFullUrl`, `Get-AzEventGridSubscriptionGlobal`, `Get-AzEventGridSubscriptionRegional`, `Get-AzEventGridTopicEventSubscription`, `Get-AzEventGridTopicEventSubscriptionDeliveryAttribute`, `Get-AzEventGridTopicEventSubscriptionFullUrl`, `Get-AzEventGridTopicEventType`, `Get-AzEventGridTopicSpace`, `Get-AzEventGridTopicTypeEventType`, `New-AzEventGridAdvancedFilterObject`, `New-AzEventGridAzureFunctionEventSubscriptionDestinationObject`, `New-AzEventGridCaCertificate`, `New-AzEventGridClient`, `New-AzEventGridClientGroup`, `New-AzEventGridDeliveryAttributeMappingObject`, `New-AzEventGridDomainEventSubscription`, `New-AzEventGridDomainTopicEventSubscription`, `New-AzEventGridDynamicRoutingEnrichmentObject`, `New-AzEventGridEventHubEventSubscriptionDestinationObject`, `New-AzEventGridFilterObject`, `New-AzEventGridHybridConnectionEventSubscriptionDestinationObject`, `New-AzEventGridInboundIPRuleObject`, `New-AzEventGridNamespace`, `New-AzEventGridNamespaceKey`, `New-AzEventGridNamespaceTopic`, `New-AzEventGridNamespaceTopicEventSubscription`, `New-AzEventGridNamespaceTopicKey`, `New-AzEventGridPartnerDestination`, `New-AzEventGridPartnerEventSubscriptionDestinationObject`, `New-AzEventGridPartnerObject`, `New-AzEventGridPermissionBinding`, `New-AzEventGridPrivateEndpointConnectionObject`, `New-AzEventGridResourceMoveChangeHistoryObject`, `New-AzEventGridServiceBusQueueEventSubscriptionDestinationObject`, `New-AzEventGridServiceBusTopicEventSubscriptionDestinationObject`, `New-AzEventGridStaticRoutingEnrichmentObject`, `New-AzEventGridStorageQueueEventSubscriptionDestinationObject`, `New-AzEventGridTopicEventSubscription`, `New-AzEventGridTopicSpace`, `New-AzEventGridWebHookEventSubscriptionDestinationObject`, `Remove-AzEventGridCaCertificate`, `Remove-AzEventGridClient`, `Remove-AzEventGridClientGroup`, `Remove-AzEventGridDomainEventSubscription`, `Remove-AzEventGridDomainTopicEventSubscription`, `Remove-AzEventGridNamespace`, `Remove-AzEventGridNamespaceTopic`, `Remove-AzEventGridNamespaceTopicEventSubscription`, `Remove-AzEventGridPartnerDestination`, `Remove-AzEventGridPermissionBinding`, `Remove-AzEventGridTopicEventSubscription`, `Remove-AzEventGridTopicSpace`, `Update-AzEventGridClient`, `Update-AzEventGridClientGroup`, `Update-AzEventGridDomain`, `Update-AzEventGridDomainEventSubscription`, `Update-AzEventGridDomainTopicEventSubscription`, `Update-AzEventGridNamespace`, `Update-AzEventGridNamespaceTopic`, `Update-AzEventGridNamespaceTopicEventSubscription`, `Update-AzEventGridPartnerDestination`, `Update-AzEventGridPartnerNamespace`, `Update-AzEventGridPermissionBinding`, `Update-AzEventGridTopic`, `Update-AzEventGridTopicEventSubscription`, `Update-AzEventGridTopicSpace`
#### Az.EventHub 5.0.0 
* Modified cmdlet `Get-AzEventHub`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Get-AzEventHubApplicationGroup`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Get-AzEventHubConsumerGroup`
   - Added parameters `-EventhubInputObject`, `-NamespaceInputObject`
* Modified cmdlet `Get-AzEventHubGeoDRConfiguration`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Get-AzEventHubPrivateEndpointConnection`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Get-AzEventHubSchemaGroup`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `New-AzEventHub`
   - Added parameters `-NamespaceInputObject`, `-Parameter`
   - Changed the type of parameter `-CleanupPolicy` from `CleanupPolicyRetentionDescription` to `String`
   - Changed the type of parameter `-Encoding` from `EncodingCaptureDescription` to `String`
   - Changed the type of parameter `-IdentityType` from `CaptureIdentityType` to `String`
   - Changed the type of parameter `-Status` from `EntityStatus` to `String`
* Modified cmdlet `New-AzEventHubApplicationGroup`
   - Added parameters `-NamespaceInputObject`, `-Parameter`
* Modified cmdlet `New-AzEventHubAuthorizationRule`
   - Changed the type of parameter `-Rights` from `AccessRights[]` to `String[]`
* Modified cmdlet `New-AzEventHubConsumerGroup`
   - Added parameters `-EventhubInputObject`, `-NamespaceInputObject`, `-Parameter`
* Modified cmdlet `New-AzEventHubGeoDRConfiguration`
   - Added parameters `-NamespaceInputObject`, `-Parameter`
* Modified cmdlet `New-AzEventHubIPRuleConfig`
   - Changed the type of parameter `-Action` from `NetworkRuleIPAction` to `String`
* Modified cmdlet `New-AzEventHubKey`
   - Changed the type of parameter `-KeyType` from `KeyType` to `String`
* Modified cmdlet `New-AzEventHubNamespace`
   - Changed the type of parameter `-IdentityType` from `ManagedServiceIdentityType` to `String`
   - Changed the type of parameter `-SkuName` from `SkuName` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
* Modified cmdlet `New-AzEventHubSchemaGroup`
   - Added parameters `-NamespaceInputObject`, `-Parameter`
   - Changed the type of parameter `-SchemaCompatibility` from `SchemaCompatibility` to `String`
   - Changed the type of parameter `-SchemaType` from `SchemaType` to `String`
* Modified cmdlet `New-AzEventHubThrottlingPolicyConfig`
   - Changed the type of parameter `-MetricId` from `MetricId` to `String`
* Modified cmdlet `Remove-AzEventHub`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Remove-AzEventHubApplicationGroup`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Remove-AzEventHubConsumerGroup`
   - Added parameters `-EventhubInputObject`, `-NamespaceInputObject`
* Modified cmdlet `Remove-AzEventHubGeoDRConfiguration`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Remove-AzEventHubPrivateEndpointConnection`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Remove-AzEventHubSchemaGroup`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Set-AzEventHub`
   - Changed the type of parameter `-Encoding` from `EncodingCaptureDescription` to `String`
   - Changed the type of parameter `-Status` from `EntityStatus` to `String`
   - Changed the type of parameter `-IdentityType` from `ManagedServiceIdentityType` to `String`
* Modified cmdlet `Set-AzEventHubAuthorizationRule`
   - Changed the type of parameter `-Rights` from `AccessRights[]` to `String[]`
* Modified cmdlet `Set-AzEventHubNamespace`
   - Changed the type of parameter `-IdentityType` from `ManagedServiceIdentityType` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
* Modified cmdlet `Set-AzEventHubNetworkRuleSet`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
   - Changed the type of parameter `-DefaultAction` from `DefaultAction` to `String`
#### Az.KeyVault 6.0.0 
* Modified cmdlet `Invoke-AzKeyVaultKeyOperation`
   - Removed parameter `-Value`
* Modified cmdlet `New-AzKeyVault`
   - Removed parameter `-EnableRbacAuthorization`
   - Added parameter `-DisableRbacAuthorization`
* Modified cmdlet `Update-AzKeyVault`
   - Removed parameter `-EnableRbacAuthorization`
   - Added parameter `-DisableRbacAuthorization`
#### Az.Network 7.6.0 
* Modified cmdlet `New-AzApplicationGatewayFirewallPolicySetting`
   - Added parameter `-JSChallengeCookieExpirationInMins`
* Modified cmdlet `New-AzApplicationGatewayRewriteRuleHeaderConfiguration`
   - Added parameter `-HeaderValueMatcher`
* Modified cmdlet `New-AzLoadBalancerBackendAddressConfig`
   - Added parameter `-AdminState`
* Modified cmdlet `New-AzNetworkVirtualAppliance`
   - Added parameter `-NetworkProfile`
* Added cmdlet `New-AzApplicationGatewayHeaderValueMatcher`, `New-AzVirtualApplianceInboundSecurityRulesProperty`, `New-AzVirtualApplianceIpConfiguration`, `New-AzVirtualApplianceNetworkInterfaceConfiguration`, `New-AzVirtualApplianceNetworkProfile`, `Update-AzVirtualApplianceInboundSecurityRule`
#### Az.Resources 7.1.0 
* Modified cmdlet `Get-AzPolicyAssignment`
   - Removed parameters `-ApiVersion`, `-Pre`
   - Added parameters `-InputObject`, `-Filter`, `-BackwardCompatible`
   - Added parameter alias `PolicyAssignmentName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Scope` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `PolicyAssignmentId` to parameter `-Id`
   - Parameter `-Id` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PolicyDefinitionId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PsPolicyAssignment`` to ``IPolicyAssignment``
* Modified cmdlet `Get-AzPolicyDefinition`
   - Removed parameters `-ApiVersion`, `-Pre`
   - Added parameters `-InputObject`, `-Filter`, `-Static`, `-BackwardCompatible`
   - Added parameter alias `PolicyDefinitionName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Id` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ManagementGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-SubscriptionId` from `Nullable`1[System.Guid]` to `String`
   - Parameter `-SubscriptionId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PsPolicyDefinition`` to ``IPolicyDefinition``
* Modified cmdlet `Get-AzPolicyExemption`
   - Removed parameters `-ApiVersion`, `-Pre`
   - Added parameters `-InputObject`, `-Filter`, `-BackwardCompatible`
   - Added parameter alias `PolicyExemptionName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Scope` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Id` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PolicyAssignmentIdFilter` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PsPolicyExemption`` to ``IPolicyExemption``
* Modified cmdlet `Get-AzPolicySetDefinition`
   - Removed parameters `-ApiVersion`, `-Pre`
   - Added parameters `-InputObject`, `-Filter`, `-BackwardCompatible`
   - Added parameter alias `PolicySetDefinitionName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Id` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ManagementGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-SubscriptionId` from `Nullable`1[System.Guid]` to `String`
   - Parameter `-SubscriptionId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PsPolicySetDefinition`` to ``IPolicySetDefinition``
* Modified cmdlet `New-AzManagementGroupDeploymentStack`
   - Removed parameters `-DeleteAll`, `-DeleteResources`, `-DeleteResourceGroups`
   - Added parameters `-ActionOnUnmanage`, `-BypassStackOutOfSyncError`
* Modified cmdlet `New-AzPolicyAssignment`
   - `SupportsShouldProcess` changed from False to True
   - Removed parameters `-PolicySetDefinition`, `-AssignIdentity`, `-ApiVersion`, `-Pre`
   - Added parameter `-BackwardCompatible`
   - Added parameter alias `PolicyAssignmentName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Scope` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-NotScope` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-DisplayName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Description` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `PolicySetDefinition` to parameter `-PolicyDefinition`
   - Changed the type of parameter `-PolicyDefinition` from `PsPolicyDefinition` to `PSObject`
   - Parameter `-PolicyParameter` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Metadata` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-EnforcementMode` from `Nullable`1[Microsoft.Azure.Commands.ResourceManager.Cmdlets.Entities.Policy.PolicyAssignmentEnforcementMode]` to `String`
   - Parameter `-EnforcementMode` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-IdentityType` from `Nullable`1[Microsoft.Azure.Commands.ResourceManager.Cmdlets.Entities.Resources.ManagedIdentityType]` to `String`
   - Changed the type of parameter `-NonComplianceMessage` from `PsNonComplianceMessage[]` to `PSObject[]`
   - Output type changed from ``PsPolicyAssignment`` to ``IPolicyAssignment``
* Modified cmdlet `New-AzPolicyDefinition`
   - `SupportsShouldProcess` changed from False to True
   - Removed parameters `-ApiVersion`, `-Pre`
   - Added parameters `-InputObject`, `-BackwardCompatible`
   - Added parameter alias `PolicyDefinitionName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-DisplayName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Description` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Policy` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Metadata` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Parameter` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Mode` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ManagementGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-SubscriptionId` from `Nullable`1[System.Guid]` to `String`
   - Parameter `-SubscriptionId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PsPolicyDefinition`` to ``IPolicyDefinition``
* Modified cmdlet `New-AzPolicyExemption`
   - Removed parameters `-ApiVersion`, `-Pre`
   - Added parameters `-AssignmentScopeValidation`, `-BackwardCompatible`
   - Added parameter alias `PolicyExemptionName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Scope` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-DisplayName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Description` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-PolicyAssignment` from `PsPolicyAssignment` to `PSObject`
   - Parameter `-PolicyDefinitionReferenceId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Metadata` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PsPolicyExemption`` to ``IPolicyExemption``
* Modified cmdlet `New-AzPolicySetDefinition`
   - Removed parameters `-GroupDefinition`, `-ApiVersion`, `-Pre`
   - Added parameters `-InputObject`, `-PolicyDefinitionGroup`, `-BackwardCompatible`
   - Added parameter alias `PolicySetDefinitionName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-DisplayName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Description` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Metadata` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PolicyDefinition` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Parameter` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ManagementGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-SubscriptionId` from `Nullable`1[System.Guid]` to `String`
   - Parameter `-SubscriptionId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PsPolicySetDefinition`` to ``IPolicySetDefinition``
* Modified cmdlet `New-AzResourceGroupDeploymentStack`
   - Removed parameters `-DeleteAll`, `-DeleteResources`, `-DeleteResourceGroups`
   - Added parameters `-ActionOnUnmanage`, `-BypassStackOutOfSyncError`
* Modified cmdlet `New-AzSubscriptionDeploymentStack`
   - Removed parameters `-DeleteAll`, `-DeleteResources`, `-DeleteResourceGroups`
   - Added parameters `-ActionOnUnmanage`, `-BypassStackOutOfSyncError`
* Modified cmdlet `Remove-AzManagementGroupDeploymentStack`
   - Removed parameters `-DeleteAll`, `-DeleteResources`, `-DeleteResourceGroups`
   - Added parameters `-ActionOnUnmanage`, `-BypassStackOutOfSyncError`
* Modified cmdlet `Remove-AzPolicyAssignment`
   - Removed parameters `-ApiVersion`, `-Pre`
   - Added parameters `-Force`, `-BackwardCompatible`, `-PassThru`
   - Added parameter alias `PolicyAssignmentName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Scope` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `PolicyAssignmentId` to parameter `-Id`
   - Parameter `-Id` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PsPolicyAssignment` to `IPolicyIdentity`
* Modified cmdlet `Remove-AzPolicyDefinition`
   - Removed parameters `-ApiVersion`, `-Pre`
   - Added parameters `-BackwardCompatible`, `-PassThru`
   - Added parameter alias `PolicyDefinitionName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Id` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ManagementGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-SubscriptionId` from `Nullable`1[System.Guid]` to `String`
   - Parameter `-SubscriptionId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PsPolicyDefinition` to `IPolicyIdentity`
* Modified cmdlet `Remove-AzPolicyExemption`
   - Removed parameters `-ApiVersion`, `-Pre`
   - Added parameters `-BackwardCompatible`, `-PassThru`
   - Added parameter alias `PolicyExemptionName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Scope` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `PolicyExemptionId` to parameter `-Id`
   - Parameter `-Id` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PsPolicyExemption` to `IPolicyIdentity`
* Modified cmdlet `Remove-AzPolicySetDefinition`
   - Removed parameters `-ApiVersion`, `-Pre`
   - Added parameters `-BackwardCompatible`, `-PassThru`
   - Added parameter alias `PolicySetDefinitionName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Id` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ManagementGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-SubscriptionId` from `Nullable`1[System.Guid]` to `String`
   - Parameter `-SubscriptionId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PsPolicySetDefinition` to `IPolicyIdentity`
* Modified cmdlet `Remove-AzResourceGroupDeploymentStack`
   - Removed parameters `-DeleteAll`, `-DeleteResources`, `-DeleteResourceGroups`
   - Added parameters `-ActionOnUnmanage`, `-BypassStackOutOfSyncError`
* Modified cmdlet `Remove-AzSubscriptionDeploymentStack`
   - Removed parameters `-DeleteAll`, `-DeleteResources`, `-DeleteResourceGroups`
   - Added parameters `-ActionOnUnmanage`, `-BypassStackOutOfSyncError`
* Modified cmdlet `Set-AzManagementGroupDeploymentStack`
   - Removed parameters `-DeleteAll`, `-DeleteResources`, `-DeleteResourceGroups`
   - Added parameters `-ActionOnUnmanage`, `-BypassStackOutOfSyncError`
* Removed cmdlet `Set-AzPolicyAssignment`, `Set-AzPolicyDefinition`, `Set-AzPolicyExemption`, `Set-AzPolicySetDefinition`
* Modified cmdlet `Set-AzResourceGroupDeploymentStack`
   - Removed parameters `-DeleteAll`, `-DeleteResources`, `-DeleteResourceGroups`
   - Added parameters `-ActionOnUnmanage`, `-BypassStackOutOfSyncError`
* Modified cmdlet `Set-AzSubscriptionDeploymentStack`
   - Removed parameters `-DeleteAll`, `-DeleteResources`, `-DeleteResourceGroups`
   - Added parameters `-ActionOnUnmanage`, `-BypassStackOutOfSyncError`
* Added cmdlet `Update-AzPolicyAssignment`, `Update-AzPolicyDefinition`, `Update-AzPolicyExemption`, `Update-AzPolicySetDefinition`
#### Az.ServiceBus 4.0.0 
* Modified cmdlet `Get-AzServiceBusGeoDRConfiguration`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Get-AzServiceBusPrivateEndpointConnection`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Get-AzServiceBusQueue`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Get-AzServiceBusRule`
   - Added parameters `-NamespaceInputObject`, `-SubscriptionInputObject`, `-TopicInputObject`
* Modified cmdlet `Get-AzServiceBusSubscription`
   - Added parameters `-NamespaceInputObject`, `-TopicInputObject`
* Modified cmdlet `Get-AzServiceBusTopic`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `New-AzServiceBusAuthorizationRule`
   - Changed the type of parameter `-Rights` from `AccessRights[]` to `String[]`
* Modified cmdlet `New-AzServiceBusGeoDRConfiguration`
   - Added parameters `-NamespaceInputObject`, `-Parameter`
* Modified cmdlet `New-AzServiceBusIPRuleConfig`
   - Changed the type of parameter `-Action` from `NetworkRuleIPAction` to `String`
* Modified cmdlet `New-AzServiceBusKey`
   - Changed the type of parameter `-KeyType` from `KeyType` to `String`
* Modified cmdlet `New-AzServiceBusNamespace`
   - Changed the type of parameter `-IdentityType` from `ManagedServiceIdentityType` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
   - Changed the type of parameter `-SkuName` from `SkuName` to `String`
* Modified cmdlet `New-AzServiceBusQueue`
   - Added parameters `-NamespaceInputObject`, `-Parameter`
   - Changed the type of parameter `-Status` from `EntityStatus` to `String`
* Modified cmdlet `New-AzServiceBusRule`
   - Added parameters `-NamespaceInputObject`, `-SubscriptionInputObject`, `-TopicInputObject`, `-Parameter`
   - Changed the type of parameter `-FilterType` from `FilterType` to `String`
* Modified cmdlet `New-AzServiceBusSubscription`
   - Added parameters `-NamespaceInputObject`, `-TopicInputObject`, `-Parameter`
   - Changed the type of parameter `-Status` from `EntityStatus` to `String`
* Modified cmdlet `New-AzServiceBusTopic`
   - Added parameters `-NamespaceInputObject`, `-Parameter`
   - Changed the type of parameter `-Status` from `EntityStatus` to `String`
* Modified cmdlet `Remove-AzServiceBusGeoDRConfiguration`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Remove-AzServiceBusPrivateEndpointConnection`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Remove-AzServiceBusQueue`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Remove-AzServiceBusRule`
   - Added parameters `-NamespaceInputObject`, `-SubscriptionInputObject`, `-TopicInputObject`
* Modified cmdlet `Remove-AzServiceBusSubscription`
   - Added parameters `-NamespaceInputObject`, `-TopicInputObject`
* Modified cmdlet `Remove-AzServiceBusTopic`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Set-AzServiceBusAuthorizationRule`
   - Changed the type of parameter `-Rights` from `AccessRights[]` to `String[]`
* Modified cmdlet `Set-AzServiceBusNamespace`
   - Changed the type of parameter `-IdentityType` from `ManagedServiceIdentityType` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
   - Changed the type of parameter `-SkuName` from `SkuName` to `String`
* Modified cmdlet `Set-AzServiceBusNetworkRuleSet`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
   - Changed the type of parameter `-DefaultAction` from `DefaultAction` to `String`
* Modified cmdlet `Set-AzServiceBusQueue`
   - Changed the type of parameter `-Status` from `EntityStatus` to `String`
* Modified cmdlet `Set-AzServiceBusRule`
   - Changed the type of parameter `-FilterType` from `FilterType` to `String`
* Modified cmdlet `Set-AzServiceBusSubscription`
   - Changed the type of parameter `-Status` from `EntityStatus` to `String`
* Modified cmdlet `Set-AzServiceBusTopic`
   - Changed the type of parameter `-Status` from `EntityStatus` to `String`
#### Az.Sql 5.0.0 
* Modified cmdlet `Set-AzSqlDatabase`
   - Added parameters `-ManualCutover`, `-PerformCutover`
#### Az.Storage 7.0.0 
* Modified cmdlet `New-AzStorageQueueSASToken`
   - Changed the type of parameter `-Protocol` from `Nullable`1[Microsoft.Azure.Storage.SharedAccessProtocol]` to `String`
#### Az.Support 2.0.0 
* Modified cmdlet `Get-AzSupportProblemClassification`
   - Removed parameters `-ServiceId`, `-Id`, `-ServiceObject`
   - Added parameters `-Name`, `-ServiceName`, `-InputObject`, `-ServiceInputObject`
   - Output type changed from ``PSSupportProblemClassification`` to ``IProblemClassification``
* Modified cmdlet `Get-AzSupportService`
   - Removed parameter `-Id`
   - Added parameters `-Name`, `-InputObject`
   - Output type changed from ``PSSupportService`` to ``IService``
* Modified cmdlet `Get-AzSupportTicket`
   - Removed parameters `-IncludeTotalCount`, `-Skip`, `-First`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-Top`
   - Added parameter alias `SupportTicketName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Filter` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSSupportTicket`` to ``ISupportTicketDetails``
* Removed cmdlet `Get-AzSupportTicketCommunication`, `New-AzSupportContactProfileObject`
* Modified cmdlet `New-AzSupportTicket`
   - Removed parameters `-CustomerContactDetail`, `-CustomerFirstName`, `-CustomerLastName`, `-PreferredContactMethod`, `-CustomerPrimaryEmailAddress`, `-AdditionalEmailAddress`, `-CustomerPhoneNumber`, `-CustomerPreferredTimeZone`, `-CustomerCountry`, `-CustomerPreferredSupportLanguage`, `-TechnicalTicketResourceId`, `-QuotaTicketDetail`, `-CSPHomeTenantId`
   - Added parameters `-SubscriptionId`, `-AdvancedDiagnosticConsent`, `-ContactDetailCountry`, `-ContactDetailFirstName`, `-ContactDetailLastName`, `-ContactDetailPreferredContactMethod`, `-ContactDetailPreferredSupportLanguage`, `-ContactDetailPreferredTimeZone`, `-ContactDetailPrimaryEmailAddress`, `-ServiceId`, `-ContactDetailAdditionalEmailAddress`, `-ContactDetailPhoneNumber`, `-EnrollmentId`, `-FileWorkspaceName`, `-ProblemScopingQuestion`, `-QuotaTicketDetailQuotaChangeRequest`, `-QuotaTicketDetailQuotaChangeRequestSubType`, `-QuotaTicketDetailQuotaChangeRequestVersion`, `-SecondaryConsent`, `-SupportPlanId`, `-SupportTicketId`, `-TechnicalTicketDetailResourceId`, `-NoWait`
   - Added parameter alias `SupportTicketName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Title` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Description` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ProblemClassificationId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-Severity` from `Severity` to `String`
   - Output type changed from ``PSSupportTicket`` to ``ISupportTicketDetails``
* Removed cmdlet `New-AzSupportTicketCommunication`
* Modified cmdlet `Update-AzSupportTicket`
   - Removed parameters `-CustomerContactDetail`, `-CustomerFirstName`, `-CustomerLastName`, `-PreferredContactMethod`, `-CustomerPrimaryEmailAddress`, `-AdditionalEmailAddress`, `-CustomerPhoneNumber`, `-CustomerPreferredTimeZone`, `-CustomerCountry`, `-CustomerPreferredSupportLanguage`
   - Added parameters `-SubscriptionId`, `-AdvancedDiagnosticConsent`, `-ContactDetailAdditionalEmailAddress`, `-ContactDetailCountry`, `-ContactDetailFirstName`, `-ContactDetailLastName`, `-ContactDetailPhoneNumber`, `-ContactDetailPreferredContactMethod`, `-ContactDetailPreferredSupportLanguage`, `-ContactDetailPreferredTimeZone`, `-ContactDetailPrimaryEmailAddress`, `-SecondaryConsent`
   - Added parameter alias `SupportTicketName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSSupportTicket` to `ISupportIdentity`
   - Changed the type of parameter `-Severity` from `Severity` to `String`
   - Changed the type of parameter `-Status` from `Status` to `String`
   - Output type changed from ``PSSupportTicket`` to ``ISupportTicketDetails``
* Added cmdlet `Get-AzSupportChatTranscript`, `Get-AzSupportChatTranscriptsNoSubscription`, `Get-AzSupportCommunication`, `Get-AzSupportCommunicationsNoSubscription`, `Get-AzSupportFile`, `Get-AzSupportFilesNoSubscription`, `Get-AzSupportFileWorkspace`, `Get-AzSupportFileWorkspacesNoSubscription`, `Get-AzSupportOperation`, `Get-AzSupportTicketsNoSubscription`, `New-AzSupportCommunication`, `New-AzSupportCommunicationsNoSubscription`, `New-AzSupportFileAndUpload`, `New-AzSupportFileAndUploadNoSubscription`, `New-AzSupportFileWorkspace`, `New-AzSupportFileWorkspacesNoSubscription`, `New-AzSupportTicketsNoSubscription`, `Test-AzSupportCommunicationNameAvailability`, `Test-AzSupportCommunicationsNoSubscriptionNameAvailability`, `Test-AzSupportTicketNameAvailability`, `Test-AzSupportTicketsNoSubscriptionNameAvailability`, `Update-AzSupportTicketsNoSubscription`

---

### Documentation SyntaxChangeLog SyntaxChangeLog Az13 (`documentation/SyntaxChangeLog/SyntaxChangeLog-Az13.md`)

## 13.5.0 - May 2025
#### Az.Accounts 4.2.0 
* Modified cmdlet `Remove-AzContext`
   - Removed parameter `-Name`
* Modified cmdlet `Rename-AzContext`
   - Removed parameters `-SourceName`, `-TargetName`
* Modified cmdlet `Select-AzContext`
   - Removed parameter `-Name`
#### Az.Compute 9.3.0 
* Modified cmdlet `New-AzVM`
   - Added parameters `-ZonePlacementPolicy`, `-IncludeZone`, `-ExcludeZone`, `-AlignRegionalDisksToVMZone`
* Modified cmdlet `New-AzVMConfig`
   - Added parameters `-ZonePlacementPolicy`, `-IncludeZone`, `-ExcludeZone`, `-AlignRegionalDisksToVMZone`
* Modified cmdlet `Update-AzVM`
   - Added parameter `-AlignRegionalDisksToVMZone`
* Added cmdlet `Add-AzVmssSkuProfileVMSize`, `Remove-AzVmssSkuProfileVMSize`
#### Az.DataProtection 2.7.0 
* Modified cmdlet `Initialize-AzDataProtectionRestoreRequest`
   - Added parameters `-UseSystemAssignedIdentity`, `-UserAssignedIdentityArmId`
* Added cmdlet `Test-AzDataProtectionBackupInstanceUpdate`
#### Az.FrontDoor 1.13.0 
* Modified cmdlet `New-AzFrontDoorWafPolicy`
   - Added parameter `-CaptchaExpirationInMinutes`
* Modified cmdlet `Update-AzFrontDoorWafPolicy`
   - Added parameter `-CaptchaExpirationInMinutes`
#### Az.MarketplaceOrdering 2.2.0 
* Modified cmdlet `Get-AzMarketplaceTerms`
   - Changed the type of parameter `-OfferType` from `OfferType` to `String`
* Modified cmdlet `Invoke-AzMarketplaceSignTerms`
   - Added parameters `-AgreementInputObject`, `-OfferInputObject`
* Modified cmdlet `Stop-AzMarketplaceTerms`
   - Added parameters `-AgreementInputObject`, `-OfferInputObject`
#### Az.Resources 7.11.0 
* Modified cmdlet `Test-AzDeployment`
   - Added parameter `-SuppressDiagnostics`
* Modified cmdlet `Test-AzManagementGroupDeployment`
   - Added parameter `-SuppressDiagnostics`
* Modified cmdlet `Test-AzResourceGroupDeployment`
   - Added parameter `-SuppressDiagnostics`
* Modified cmdlet `Test-AzTenantDeployment`
   - Added parameter `-SuppressDiagnostics`

## 13.4.0 - April 2025
#### Az.CognitiveServices 1.16.0 
* Modified cmdlet `New-AzCognitiveServicesAccountDeployment`
   - Added parameter `-Tag`
* Modified cmdlet `New-AzCognitiveServicesObject`
   - Added parameter `-AsList`
* Added cmdlet `Get-AzCognitiveServicesAccountDefenderForAISetting`, `Get-AzCognitiveServicesAccountDeploymentSku`, `Get-AzCognitiveServicesAccountRaiBlocklist`, `Get-AzCognitiveServicesAccountRaiBlocklistItem`, `Get-AzCognitiveServicesAccountRaiPolicy`, `Get-AzCognitiveServicesModelCapacity`, `Get-AzCognitiveServicesRaiContentFilter`, `New-AzCognitiveServicesAccountDefenderForAISetting`, `New-AzCognitiveServicesAccountRaiBlocklist`, `New-AzCognitiveServicesAccountRaiBlocklistItem`, `New-AzCognitiveServicesAccountRaiPolicy`, `Remove-AzCognitiveServicesAccountRaiBlocklist`, `Remove-AzCognitiveServicesAccountRaiBlocklistItem`, `Remove-AzCognitiveServicesAccountRaiPolicy`
#### Az.Compute 9.2.0 
* Modified cmdlet `New-AzGalleryImageVersion`
   - Added parameters `-BlockDeletionBeforeEndOfLife`, `-ReplicationMode`
* Modified cmdlet `Update-AzGalleryImageVersion`
   - Added parameter `-BlockDeletionBeforeEndOfLife`
#### Az.RecoveryServices 7.6.0 
* Modified cmdlet `New-AzRecoveryServicesAsrReplicationProtectedItem`
   - Added parameter `-ReplicationProtectionCluster`
* Added cmdlet `Get-AzRecoveryServicesAsrClusterRecoveryPoint`, `Get-AzRecoveryServicesAsrReplicationProtectionCluster`, `New-AzRecoveryServicesAsrAzureToAzureReplicationProtectedItemConfig`, `New-AzRecoveryServicesAsrReplicationProtectionCluster`, `Remove-AzRecoveryServicesAsrReplicationProtectionCluster`, `Start-AzRecoveryServicesAsrApplyClusterRecoveryPoint`, `Start-AzRecoveryServicesAsrClusterCommitFailoverJob`, `Start-AzRecoveryServicesAsrClusterResynchronizeReplicationJob`, `Start-AzRecoveryServicesAsrClusterTestFailoverCleanupJob`, `Start-AzRecoveryServicesAsrClusterTestFailoverJob`, `Start-AzRecoveryServicesAsrClusterUnplannedFailoverJob`, `Update-AzRecoveryServicesAsrClusterProtectionDirection`
#### Az.Resources 7.10.0 
* Modified cmdlet `Get-AzDeploymentWhatIfResult`
   - Added parameter `-ValidationLevel`
* Modified cmdlet `Get-AzManagementGroupDeploymentWhatIfResult`
   - Added parameter `-ValidationLevel`
* Modified cmdlet `Get-AzResourceGroupDeploymentWhatIfResult`
   - Added parameter `-ValidationLevel`
* Modified cmdlet `Get-AzTenantDeploymentWhatIfResult`
   - Added parameter `-ValidationLevel`
* Modified cmdlet `New-AzDeployment`
   - Added parameter `-ValidationLevel`
* Modified cmdlet `New-AzManagementGroupDeployment`
   - Added parameter `-ValidationLevel`
* Modified cmdlet `New-AzResourceGroupDeployment`
   - Added parameter `-ValidationLevel`
* Modified cmdlet `New-AzTenantDeployment`
   - Added parameter `-ValidationLevel`
* Modified cmdlet `Test-AzDeployment`
   - Added parameter `-ValidationLevel`
* Modified cmdlet `Test-AzManagementGroupDeployment`
   - Added parameter `-ValidationLevel`
* Modified cmdlet `Test-AzResourceGroupDeployment`
   - Added parameter `-ValidationLevel`
* Modified cmdlet `Test-AzTenantDeployment`
   - Added parameter `-ValidationLevel`
#### Az.Storage 8.3.0 
* Modified cmdlet `New-AzStorageDirectory`
   - Added parameters `-FileMode`, `-Owner`, `-Group`
* Modified cmdlet `New-AzStorageShare`
   - Added parameters `-Protocol`, `-EnableSnapshotVirtualDirectoryAccess`
* Modified cmdlet `Set-AzStorageFileContent`
   - Added parameters `-FileMode`, `-Owner`, `-Group`
* Modified cmdlet `Start-AzStorageFileCopy`
   - Added parameters `-FileMode`, `-Owner`, `-Group`, `-OwnerCopyMode`, `-FileModeCopyMode`
* Added cmdlet `New-AzStorageFileHardLink`
#### Az.StorageSync 2.5.0 
* Modified cmdlet `Register-AzStorageSyncServer`
   - Added parameter `-AssignIdentity`
#### Az.Synapse 3.2.0 
* Modified cmdlet `Set-AzSynapseIntegrationRuntime`
   - Added parameters `-ManagedVNetCopyComputeScaleDataIntegrationUnit`, `-ManagedVNetCopyComputeScaleTimeToLive`, `-ManagedVNetPipelineExternalComputeScaleTimeToLive`, `-ManagedVNetNumberOfPipelineNodeCount`, `-ManagedVNetNumberOfExternalNodeCount`, `-SelfContainedInteractiveAuthoringEnabled`
#### Az.Websites 3.4.0 
* Modified cmdlet `Publish-AzWebApp`
   - Added parameters `-ArchiveURL`, `-PullIdentity`
   - Parameter `-ArchivePath` ValidateNotNullOrEmpty changed from `True` to `False`

## 13.3.0 - March 2025
#### Az.CosmosDB 1.17.0 
* Added cmdlet `Get-AzCosmosDBTableRoleAssignment`, `Get-AzCosmosDBTableRoleDefinition`, `New-AzCosmosDBTableRoleAssignment`, `New-AzCosmosDBTableRoleDefinition`, `Remove-AzCosmosDBTableRoleAssignment`, `Remove-AzCosmosDBTableRoleDefinition`, `Update-AzCosmosDBTableRoleAssignment`, `Update-AzCosmosDBTableRoleDefinition`
#### Az.Migrate 2.7.0 
* Removed cmdlet `Get-AzMigrateHCIJob`, `Get-AzMigrateHCIReplicationFabric`, `Get-AzMigrateHCIServerReplication`, `Initialize-AzMigrateHCIReplicationInfrastructure`, `New-AzMigrateHCIDiskMappingObject`, `New-AzMigrateHCINicMappingObject`, `New-AzMigrateHCIServerReplication`, `Remove-AzMigrateHCIServerReplication`, `Set-AzMigrateHCIServerReplication`, `Start-AzMigrateHCIServerMigration`
* Added cmdlet `Get-AzMigrateLocalJob`, `Get-AzMigrateLocalReplicationFabric`, `Get-AzMigrateLocalServerReplication`, `Initialize-AzMigrateLocalReplicationInfrastructure`, `New-AzMigrateLocalDiskMappingObject`, `New-AzMigrateLocalNicMappingObject`, `New-AzMigrateLocalServerReplication`, `Remove-AzMigrateLocalServerReplication`, `Set-AzMigrateLocalServerReplication`, `Start-AzMigrateLocalServerMigration`
#### Az.Resources 7.9.0 
* Modified cmdlet `Get-AzRoleAssignment`
   - Added parameter `-AtScope`
   - Added parameter alias `ApplicationId` to parameter `-ServicePrincipalName`
* Modified cmdlet `Remove-AzRoleAssignment`
   - Added parameter alias `ApplicationId` to parameter `-ServicePrincipalName`
#### Az.Storage 8.2.0 
* Modified cmdlet `New-AzRmStorageShare`
   - Added parameters `-ProvisionedBandwidthMibps`, `-ProvisionedIops`, `-PaidBurstingEnabled`, `-PaidBurstingMaxIops`, `-PaidBurstingMaxBandwidthMibps`
* Modified cmdlet `Update-AzRmStorageShare`
   - Added parameters `-ProvisionedBandwidthMibps`, `-ProvisionedIops`, `-PaidBurstingEnabled`, `-PaidBurstingMaxIops`, `-PaidBurstingMaxBandwidthMibps`
* Added cmdlet `Get-AzStorageFileServiceUsage`

## 13.2.0 - February 2025
#### Az.Compute 9.1.0 
* Modified cmdlet `New-AzVMConfig`
   - Added parameter `-EncryptionIdentity`
* Modified cmdlet `New-AzVmssConfig`
   - Added parameter `-EncryptionIdentity`
* Modified cmdlet `Set-AzVMDiskEncryptionExtension`
   - Added parameter `-EncryptionIdentity`
* Modified cmdlet `Set-AzVmssDiskEncryptionExtension`
   - Added parameter `-EncryptionIdentity`
#### Az.EventHub 5.2.0 
* Modified cmdlet `New-AzEventHub`
   - Added parameters `-MinCompactionLagInMin`, `-TimestampType`, `-UserMetadata`
* Modified cmdlet `Set-AzEventHub`
   - Added parameters `-UserMetadata`, `-MinCompactionLagInMin`, `-TimestampType`
#### Az.Network 7.14.0 
* Modified cmdlet `New-AzRouteServer`
   - Added parameter `-VirtualRouterAutoScaleConfiguration`
* Modified cmdlet `Update-AzRouteServer`
   - Added parameter `-VirtualRouterAutoScaleConfiguration`
#### Az.RecoveryServices 7.5.0 
* Modified cmdlet `Set-AzRecoveryServicesVaultProperty`
   - Added parameter `-SoftDeleteRetentionPeriodInDays`
* Added cmdlet `Undo-AzRecoveryServicesBackupContainerDeletion`

## 13.1.0 - January 2025
#### Az.Databricks 1.10.0 
* Modified cmdlet `New-AzDatabricksWorkspace`
   - Removed parameters `-EnhancedSecurityMonitoringValue`, `-AutomaticClusterUpdateValue`, `-ComplianceSecurityProfileComplianceStandard`, `-ComplianceSecurityProfileValue`
   - Added parameters `-EnhancedSecurityMonitoring`, `-AutomaticClusterUpdate`, `-ComplianceStandard`, `-EnhancedSecurityCompliance`
* Modified cmdlet `Update-AzDatabricksWorkspace`
   - Removed parameters `-EnhancedSecurityMonitoringValue`, `-AutomaticClusterUpdateValue`, `-ComplianceSecurityProfileComplianceStandard`, `-ComplianceSecurityProfileValue`
   - Added parameters `-EnhancedSecurityMonitoring`, `-AutomaticClusterUpdate`, `-ComplianceStandard`, `-EnhancedSecurityCompliance`
#### Az.DataProtection 2.6.0 
* Modified cmdlet `Initialize-AzDataProtectionBackupInstance`
   - Added parameters `-UseSystemAssignedIdentity`, `-UserAssignedIdentityArmId`
* Modified cmdlet `New-AzDataProtectionBackupVault`
   - Added parameter alias `AssignUserIdentity` to parameter `-IdentityUserAssignedIdentity`
* Modified cmdlet `Set-AzDataProtectionMSIPermission`
   - Added parameter `-UserAssignedIdentityARMId`
* Modified cmdlet `Update-AzDataProtectionBackupInstance`
   - Added parameters `-UseSystemAssignedIdentity`, `-UserAssignedIdentityArmId`
* Modified cmdlet `Update-AzDataProtectionBackupVault`
   - Added parameter alias `AssignUserIdentity` to parameter `-IdentityUserAssignedIdentity`
#### Az.Kusto 2.4.0 
* Modified cmdlet `New-AzKustoCluster`
   - Added parameter `-CalloutPolicy`
* Modified cmdlet `New-AzKustoSandboxCustomImage`
   - Added parameter `-BaseImageName`
* Modified cmdlet `New-AzKustoScript`
   - Added parameters `-PrincipalPermissionsAction`, `-ScriptLevel`
* Modified cmdlet `Update-AzKustoCluster`
   - Added parameter `-CalloutPolicy`
* Modified cmdlet `Update-AzKustoSandboxCustomImage`
   - Added parameter `-BaseImageName`
* Modified cmdlet `Update-AzKustoScript`
   - Added parameters `-PrincipalPermissionsAction`, `-ScriptLevel`
* Added cmdlet `Add-AzKustoClusterCalloutPolicy`, `Get-AzKustoClusterCalloutPolicy`, `Get-AzKustoClusterFollowerDatabaseGet`, `Remove-AzKustoClusterCalloutPolicy`
#### Az.Network 7.12.0 
* Modified cmdlet `Add-AzVirtualNetworkSubnetConfig`
   - Added parameter `-IpamPoolPrefixAllocation`
   - Parameter `-AddressPrefix` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `New-AzFirewall`
   - Added parameters `-MinCapacity`, `-MaxCapacity`
* Modified cmdlet `New-AzNetworkManagerSecurityAdminConfiguration`
   - Added parameter `-NetworkGroupAddressSpaceAggregationOption`
* Modified cmdlet `New-AzVirtualNetwork`
   - Added parameter `-IpamPoolPrefixAllocation`
   - Parameter `-AddressPrefix` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `New-AzVirtualNetworkGateway`
   - Added parameter `-ResiliencyModel`
* Modified cmdlet `New-AzVirtualNetworkSubnetConfig`
   - Added parameter `-IpamPoolPrefixAllocation`
   - Parameter `-AddressPrefix` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `Set-AzVirtualNetworkGateway`
   - Added parameter `-ResiliencyModel`
* Modified cmdlet `Set-AzVirtualNetworkSubnetConfig`
   - Added parameter `-IpamPoolPrefixAllocation`
   - Parameter `-AddressPrefix` ValidateNotNullOrEmpty changed from `True` to `False`
* Added cmdlet `Get-AzNetworkManagerAssociatedResourcesList`, `Get-AzNetworkManagerIpamPool`, `Get-AzNetworkManagerIpamPoolStaticCidr`, `Get-AzNetworkManagerIpamPoolUsage`, `Get-AzNetworkManagerVerifierWorkspace`, `Get-AzNetworkManagerVerifierWorkspaceReachabilityAnalysisIntent`, `Get-AzNetworkManagerVerifierWorkspaceReachabilityAnalysisRun`, `New-AzNetworkManagerIpamPool`, `New-AzNetworkManagerIpamPoolStaticCidr`, `New-AzNetworkManagerIPTraffic`, `New-AzNetworkManagerVerifierWorkspace`, `New-AzNetworkManagerVerifierWorkspaceReachabilityAnalysisIntent`, `New-AzNetworkManagerVerifierWorkspaceReachabilityAnalysisRun`, `Remove-AzNetworkManagerIpamPool`, `Remove-AzNetworkManagerIpamPoolStaticCidr`, `Remove-AzNetworkManagerVerifierWorkspace`, `Remove-AzNetworkManagerVerifierWorkspaceReachabilityAnalysisIntent`, `Remove-AzNetworkManagerVerifierWorkspaceReachabilityAnalysisRun`, `Set-AzNetworkManagerIpamPool`, `Set-AzNetworkManagerVerifierWorkspace`
#### Az.NetworkCloud 1.1.0 
* Modified cmdlet `New-AzNetworkCloudAgentPool`
   - Added parameters `-UpgradeSettingDrainTimeout`, `-UpgradeSettingMaxUnavailable`
* Modified cmdlet `New-AzNetworkCloudCluster`
   - Added parameters `-AssociatedIdentityType`, `-AssociatedIdentityUserAssignedIdentityResourceId`, `-CommandOutputSettingContainerUrl`, `-IdentityType`, `-IdentityUserAssignedIdentity`, `-RuntimeProtectionConfigurationEnforcementLevel`, `-SecretArchiveKeyVaultId`, `-SecretArchiveUseKeyVault`, `-UpdateStrategyMaxUnavailable`, `-UpdateStrategyThresholdType`, `-UpdateStrategyThresholdValue`, `-UpdateStrategyType`, `-UpdateStrategyWaitTimeMinute`
* Modified cmdlet `New-AzNetworkCloudClusterManager`
   - Added parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
* Modified cmdlet `New-AzNetworkCloudInitialAgentPoolConfigurationObject`
   - Added parameters `-UpgradeSettingDrainTimeout`, `-UpgradeSettingMaxUnavailable`
* Modified cmdlet `New-AzNetworkCloudKeySetUserObject`
   - Added parameter `-UserPrincipalName`
* Modified cmdlet `New-AzNetworkCloudKubernetesCluster`
   - Added parameter `-L2ServiceLoadBalancerConfigurationIPAddressPool`
* Modified cmdlet `Update-AzNetworkCloudAgentPool`
   - Added parameters `-AdministratorConfigurationSshPublicKey`, `-UpgradeSettingDrainTimeout`, `-UpgradeSettingMaxUnavailable`
* Modified cmdlet `Update-AzNetworkCloudCluster`
   - Added parameters `-AssociatedIdentityType`, `-AssociatedIdentityUserAssignedIdentityResourceId`, `-CommandOutputSettingContainerUrl`, `-IdentityType`, `-IdentityUserAssignedIdentity`, `-RuntimeProtectionConfigurationEnforcementLevel`, `-SecretArchiveKeyVaultId`, `-SecretArchiveUseKeyVault`, `-UpdateStrategyMaxUnavailable`, `-UpdateStrategyThresholdType`, `-UpdateStrategyThresholdValue`, `-UpdateStrategyType`, `-UpdateStrategyWaitTimeMinute`
* Modified cmdlet `Update-AzNetworkCloudClusterManager`
   - Added parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
* Modified cmdlet `Update-AzNetworkCloudKubernetesCluster`
   - Added parameters `-ControlPlaneNodeConfigurationAdminPublicKey`, `-SshPublicKey`
* Added cmdlet `Get-AzNetworkCloudKubernetesClusterFeature`, `Invoke-AzNetworkCloudClusterContinueVersionUpdate`, `Invoke-AzNetworkCloudScanClusterRuntime`, `New-AzNetworkCloudKubernetesClusterFeature`, `Remove-AzNetworkCloudKubernetesClusterFeature`, `Update-AzNetworkCloudKubernetesClusterFeature`
#### Az.RecoveryServices 7.4.0 
* Modified cmdlet `Get-AzRecoveryServicesBackupRetentionPolicyObject`
   - Added parameter `-BackupTier`
#### Az.RedisCache 1.11.0 
* Modified cmdlet `New-AzRedisCache`
   - Added parameter `-ZonalAllocationPolicy`
* Modified cmdlet `Set-AzRedisCache`
   - Added parameter `-ZonalAllocationPolicy`
#### Az.Resources 7.8.0 
* Modified cmdlet `New-AzADApplication`
   - Added parameter `-RequestedAccessTokenVersion`
* Modified cmdlet `Update-AzADApplication`
   - Added parameter `-RequestedAccessTokenVersion`

## 13.0.0 - November 2024
#### Az.Accounts 4.0.0 
* Modified cmdlet `Invoke-AzRestMethod`
   - Added parameters `-WaitForCompletion`, `-PollFrom`, `-FinalResultFrom`
#### Az.App 2.0.0 
* Modified cmdlet `New-AzContainerApp`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
* Modified cmdlet `New-AzContainerAppJob`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
* Modified cmdlet `Update-AzContainerApp`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
* Modified cmdlet `Update-AzContainerAppJob`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
#### Az.ConnectedMachine 1.1.0 
* Added cmdlet `Get-AzConnectedLicenseProfile`, `Get-AzConnectedMachineRunCommand`, `New-AzConnectedLicenseProfile`, `New-AzConnectedLicenseProfileFeature`, `New-AzConnectedMachineRunCommand`, `Remove-AzConnectedLicenseProfile`, `Remove-AzConnectedMachineRunCommand`, `Update-AzConnectedLicenseProfile`, `Update-AzConnectedLicenseProfileFeature`, `Update-AzConnectedMachineRunCommand`
#### Az.ContainerInstance 4.1.0 
* Modified cmdlet `New-AzContainerGroup`
   - Added parameters `-ContainerGroupProfileId`, `-ContainerGroupProfileRevision`, `-StandbyPoolProfileFailContainerGroupCreateOnReuseFailure`, `-StandbyPoolProfileId`
* Modified cmdlet `New-AzContainerInstanceObject`
   - Added parameter `-ConfigMapKeyValuePair`
* Added cmdlet `Get-AzContainerInstanceContainerGroupProfile`, `Get-AzContainerInstanceContainerGroupProfileRevision`, `New-AzContainerInstanceContainerGroupProfile`, `New-AzContainerInstanceNoDefaultObject`, `Remove-AzContainerInstanceContainerGroupProfile`, `Update-AzContainerInstanceContainerGroupProfile`
#### Az.DesktopVirtualization 5.4.0 
* Modified cmdlet `Disconnect-AzWvdUserSession`
   - Added parameters `-HostPoolInputObject`, `-SessionHostInputObject`
* Modified cmdlet `Expand-AzWvdMsixImage`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Get-AzWvdApplication`
   - Added parameter `-ApplicationGroupInputObject`
* Modified cmdlet `Get-AzWvdDesktop`
   - Added parameter `-ApplicationGroupInputObject`
* Modified cmdlet `Get-AzWvdMsixPackage`
   - Added parameter `-HostPoolInputObject`
* Modified cmdlet `Get-AzWvdPrivateEndpointConnection`
   - Added parameters `-HostPoolInputObject`, `-WorkspaceInputObject`
* Modified cmdlet `Get-AzWvdScalingPlanPersonalSchedule`
   - Added parameter `-ScalingPlanInputObject`
* Modified cmdlet `Get-AzWvdScalingPlanPooledSchedule`
   - Added parameter `-ScalingPlanInputObject`
* Modified cmdlet `Get-AzWvdSessionHost`
   - Added parameter `-HostPoolInputObject`
* Modified cmdlet `Get-AzWvdUserSession`
   - Added parameters `-HostPoolInputObject`, `-SessionHostInputObject`
* Modified cmdlet `New-AzWvdApplication`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-CommandLineSetting` from `CommandLineSetting` to `String`
   - Changed the type of parameter `-ApplicationType` from `RemoteApplicationType` to `String`
* Modified cmdlet `New-AzWvdApplicationGroup`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-ApplicationGroupType` from `ApplicationGroupType` to `String`
   - Changed the type of parameter `-IdentityType` from `ResourceIdentityType` to `String`
   - Changed the type of parameter `-SkuTier` from `SkuTier` to `String`
* Modified cmdlet `New-AzWvdHostPool`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-HostPoolType` from `HostPoolType` to `String`
   - Changed the type of parameter `-LoadBalancerType` from `LoadBalancerType` to `String`
   - Changed the type of parameter `-PreferredAppGroupType` from `PreferredAppGroupType` to `String`
   - Changed the type of parameter `-AgentUpdateType` from `SessionHostComponentUpdateType` to `String`
   - Changed the type of parameter `-IdentityType` from `ResourceIdentityType` to `String`
   - Changed the type of parameter `-PersonalDesktopAssignmentType` from `PersonalDesktopAssignmentType` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `HostpoolPublicNetworkAccess` to `String`
   - Changed the type of parameter `-RegistrationTokenOperation` from `RegistrationTokenOperation` to `String`
   - Changed the type of parameter `-SkuTier` from `SkuTier` to `String`
   - Changed the type of parameter `-SsoSecretType` from `SsoSecretType` to `String`
* Modified cmdlet `New-AzWvdMsixPackage`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzWvdScalingPlan`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-HostPoolType` from `ScalingHostPoolType` to `String`
   - Changed the type of parameter `-IdentityType` from `ResourceIdentityType` to `String`
   - Changed the type of parameter `-SkuTier` from `SkuTier` to `String`
* Modified cmdlet `New-AzWvdScalingPlanPersonalSchedule`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-DaysOfWeek` from `DayOfWeek[]` to `String[]`
   - Changed the type of parameter `-OffPeakActionOnDisconnect` from `SessionHandlingOperation` to `String`
   - Changed the type of parameter `-OffPeakActionOnLogoff` from `SessionHandlingOperation` to `String`
   - Changed the type of parameter `-OffPeakStartVMOnConnect` from `SetStartVMOnConnect` to `String`
   - Changed the type of parameter `-PeakActionOnDisconnect` from `SessionHandlingOperation` to `String`
   - Changed the type of parameter `-PeakActionOnLogoff` from `SessionHandlingOperation` to `String`
   - Changed the type of parameter `-PeakStartVMOnConnect` from `SetStartVMOnConnect` to `String`
   - Changed the type of parameter `-RampDownActionOnDisconnect` from `SessionHandlingOperation` to `String`
   - Changed the type of parameter `-RampDownActionOnLogoff` from `SessionHandlingOperation` to `String`
   - Changed the type of parameter `-RampDownStartVMOnConnect` from `SetStartVMOnConnect` to `String`
   - Changed the type of parameter `-RampUpActionOnDisconnect` from `SessionHandlingOperation` to `String`
   - Changed the type of parameter `-RampUpActionOnLogoff` from `SessionHandlingOperation` to `String`
   - Changed the type of parameter `-RampUpAutoStartHost` from `StartupBehavior` to `String`
   - Changed the type of parameter `-RampUpStartVMOnConnect` from `SetStartVMOnConnect` to `String`
* Modified cmdlet `New-AzWvdScalingPlanPooledSchedule`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-DaysOfWeek` from `DayOfWeek[]` to `String[]`
   - Changed the type of parameter `-OffPeakLoadBalancingAlgorithm` from `SessionHostLoadBalancingAlgorithm` to `String`
   - Changed the type of parameter `-PeakLoadBalancingAlgorithm` from `SessionHostLoadBalancingAlgorithm` to `String`
   - Changed the type of parameter `-RampDownLoadBalancingAlgorithm` from `SessionHostLoadBalancingAlgorithm` to `String`
   - Changed the type of parameter `-RampDownStopHostsWhen` from `StopHostsWhen` to `String`
   - Changed the type of parameter `-RampUpLoadBalancingAlgorithm` from `SessionHostLoadBalancingAlgorithm` to `String`
* Modified cmdlet `New-AzWvdWorkspace`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-IdentityType` from `ResourceIdentityType` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
   - Changed the type of parameter `-SkuTier` from `SkuTier` to `String`
* Modified cmdlet `Remove-AzWvdApplication`
   - Added parameter `-ApplicationGroupInputObject`
* Modified cmdlet `Remove-AzWvdMsixPackage`
   - Added parameter `-HostPoolInputObject`
* Modified cmdlet `Remove-AzWvdPrivateEndpointConnection`
   - Added parameters `-HostPoolInputObject`, `-WorkspaceInputObject`
* Modified cmdlet `Remove-AzWvdScalingPlanPersonalSchedule`
   - Added parameter `-ScalingPlanInputObject`
* Modified cmdlet `Remove-AzWvdScalingPlanPooledSchedule`
   - Added parameter `-ScalingPlanInputObject`
* Modified cmdlet `Remove-AzWvdSessionHost`
   - Added parameter `-HostPoolInputObject`
* Modified cmdlet `Remove-AzWvdUserSession`
   - Added parameters `-HostPoolInputObject`, `-SessionHostInputObject`
* Modified cmdlet `Send-AzWvdUserSessionMessage`
   - Added parameters `-HostPoolInputObject`, `-SessionHostInputObject`, `-SendMessage`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzWvdApplication`
   - Added parameters `-ApplicationGroupInputObject`, `-Application`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-ApplicationType` from `RemoteApplicationType` to `String`
   - Changed the type of parameter `-CommandLineSetting` from `CommandLineSetting` to `String`
* Modified cmdlet `Update-AzWvdApplicationGroup`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzWvdDesktop`
   - Added parameters `-ApplicationGroupInputObject`, `-Desktop`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzWvdHostPool`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-AgentUpdateType` from `SessionHostComponentUpdateType` to `String`
   - Changed the type of parameter `-LoadBalancerType` from `LoadBalancerType` to `String`
   - Changed the type of parameter `-PersonalDesktopAssignmentType` from `PersonalDesktopAssignmentType` to `String`
   - Changed the type of parameter `-PreferredAppGroupType` from `PreferredAppGroupType` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `HostpoolPublicNetworkAccess` to `String`
   - Changed the type of parameter `-RegistrationInfoRegistrationTokenOperation` from `RegistrationTokenOperation` to `String`
   - Changed the type of parameter `-SsoSecretType` from `SsoSecretType` to `String`
* Modified cmdlet `Update-AzWvdMsixPackage`
   - Added parameters `-HostPoolInputObject`, `-MsixPackage`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzWvdScalingPlan`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzWvdScalingPlanPersonalSchedule`
   - Added parameters `-ScalingPlanInputObject`, `-ScalingPlanSchedule`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-DaysOfWeek` from `DayOfWeek[]` to `String[]`
   - Changed the type of parameter `-OffPeakActionOnDisconnect` from `SessionHandlingOperation` to `String`
   - Changed the type of parameter `-OffPeakActionOnLogoff` from `SessionHandlingOperation` to `String`
   - Changed the type of parameter `-OffPeakStartVMOnConnect` from `SetStartVMOnConnect` to `String`
   - Changed the type of parameter `-PeakActionOnDisconnect` from `SessionHandlingOperation` to `String`
   - Changed the type of parameter `-PeakActionOnLogoff` from `SessionHandlingOperation` to `String`
   - Changed the type of parameter `-PeakStartVMOnConnect` from `SetStartVMOnConnect` to `String`
   - Changed the type of parameter `-RampDownActionOnDisconnect` from `SessionHandlingOperation` to `String`
   - Changed the type of parameter `-RampDownActionOnLogoff` from `SessionHandlingOperation` to `String`
   - Changed the type of parameter `-RampDownStartVMOnConnect` from `SetStartVMOnConnect` to `String`
   - Changed the type of parameter `-RampUpActionOnDisconnect` from `SessionHandlingOperation` to `String`
   - Changed the type of parameter `-RampUpActionOnLogoff` from `SessionHandlingOperation` to `String`
   - Changed the type of parameter `-RampUpAutoStartHost` from `StartupBehavior` to `String`
   - Changed the type of parameter `-RampUpStartVMOnConnect` from `SetStartVMOnConnect` to `String`
* Modified cmdlet `Update-AzWvdScalingPlanPooledSchedule`
   - Added parameters `-ScalingPlanInputObject`, `-ScalingPlanSchedule`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-DaysOfWeek` from `DayOfWeek[]` to `String[]`
   - Changed the type of parameter `-OffPeakLoadBalancingAlgorithm` from `SessionHostLoadBalancingAlgorithm` to `String`
   - Changed the type of parameter `-PeakLoadBalancingAlgorithm` from `SessionHostLoadBalancingAlgorithm` to `String`
   - Changed the type of parameter `-RampDownLoadBalancingAlgorithm` from `SessionHostLoadBalancingAlgorithm` to `String`
   - Changed the type of parameter `-RampDownStopHostsWhen` from `StopHostsWhen` to `String`
   - Changed the type of parameter `-RampUpLoadBalancingAlgorithm` from `SessionHostLoadBalancingAlgorithm` to `String`
* Modified cmdlet `Update-AzWvdSessionHost`
   - Added parameters `-HostPoolInputObject`, `-SessionHost`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzWvdWorkspace`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
* Added cmdlet `Get-AzWvdAppAttachPackage`, `Import-AzWvdAppAttachPackageInfo`, `New-AzWvdAppAttachPackage`, `Remove-AzWvdAppAttachPackage`, `Update-AzWvdAppAttachPackage`
#### Az.DevCenter 2.0.0 
* Modified cmdlet `Deploy-AzDevCenterUserEnvironment`
   - Output type changed from ``Boolean`` to ``IEnvironment``
* Modified cmdlet `Get-AzDevCenterUserCatalog`
   - Output type changed from ``String``, ``ICatalog`` to ``ICatalog``
* Modified cmdlet `Get-AzDevCenterUserEnvironmentLog`
   - Removed parameters `-OutFile`, `-PassThru`
   - Output type changed from ``Boolean`` to ``String``
* Modified cmdlet `Get-AzDevCenterUserEnvironmentType`
   - Added parameters `-InputObject`, `-Name`
* Modified cmdlet `New-AzDevCenterUserEnvironment`
   - Output type changed from ``Boolean`` to ``IEnvironment``
* Modified cmdlet `Remove-AzDevCenterUserDevBox`
   - Output type changed from ``Boolean`` to ``IOperationStatus``
* Modified cmdlet `Remove-AzDevCenterUserEnvironment`
   - Output type changed from ``Boolean`` to ``IOperationStatus``
* Modified cmdlet `Repair-AzDevCenterUserDevBox`
   - Output type changed from ``Boolean`` to ``IOperationStatus``
* Modified cmdlet `Restart-AzDevCenterUserDevBox`
   - Output type changed from ``Boolean`` to ``IOperationStatus``
* Modified cmdlet `Start-AzDevCenterUserDevBox`
   - Output type changed from ``Boolean`` to ``IOperationStatus``
* Modified cmdlet `Stop-AzDevCenterUserDevBox`
   - Output type changed from ``Boolean`` to ``IOperationStatus``
* Added cmdlet `Get-AzDevCenterUserDevBoxCustomizationGroup`, `Get-AzDevCenterUserDevBoxCustomizationTaskDefinition`, `Get-AzDevCenterUserDevBoxCustomizationTaskLog`, `New-AzDevCenterUserDevBoxCustomizationGroup`, `Test-AzDevCenterUserDevBoxCustomizationTaskAction`
#### Az.Dns 1.3.0 
* Modified cmdlet `Add-AzDnsRecordConfig`
   - Added parameters `-Order`, `-Flags`, `-Services`, `-Regexp`, `-Replacement`
* Modified cmdlet `New-AzDnsRecordConfig`
   - Added parameters `-Order`, `-Flags`, `-Services`, `-Regexp`, `-Replacement`
* Modified cmdlet `Remove-AzDnsRecordConfig`
   - Added parameters `-Order`, `-Flags`, `-Services`, `-Regexp`, `-Replacement`
#### Az.DnsResolver 1.1.0 
* Added cmdlet `Get-AzDnsResolverDomainList`, `Get-AzDnsResolverPolicy`, `Get-AzDnsResolverPolicyDnsSecurityRule`, `Get-AzDnsResolverPolicyVirtualNetworkLink`, `New-AzDnsResolverDomainList`, `New-AzDnsResolverPolicy`, `New-AzDnsResolverPolicyDnsSecurityRule`, `New-AzDnsResolverPolicyVirtualNetworkLink`, `Remove-AzDnsResolverDomainList`, `Remove-AzDnsResolverPolicy`, `Remove-AzDnsResolverPolicyDnsSecurityRule`, `Remove-AzDnsResolverPolicyVirtualNetworkLink`, `Update-AzDnsResolverDomainList`, `Update-AzDnsResolverPolicy`, `Update-AzDnsResolverPolicyDnsSecurityRule`, `Update-AzDnsResolverPolicyVirtualNetworkLink`
#### Az.HDInsight 6.3.0 
* Modified cmdlet `Update-AzHDInsightCluster`
   - Changed the type of parameter `-IdentityId` from `String` to `String[]`
#### Az.KeyVault 6.3.0 
* Modified cmdlet `Backup-AzKeyVaultSecret`
   - Added parameter `-Id`
* Modified cmdlet `Get-AzKeyVaultSecret`
   - Removed parameter `-ResourceId`
   - Added parameters `-Id`, `-ParentResourceId`
* Modified cmdlet `Remove-AzKeyVaultSecret`
   - Added parameter `-Id`
* Modified cmdlet `Restore-AzKeyVaultSecret`
   - Removed parameter `-ResourceId`
   - Added parameters `-Id`, `-ParentResourceId`
* Modified cmdlet `Set-AzKeyVaultSecret`
   - Added parameter `-Id`
* Modified cmdlet `Undo-AzKeyVaultSecretRemoval`
   - Added parameter `-Id`
* Modified cmdlet `Update-AzKeyVaultSecret`
   - Added parameter `-Id`
#### Az.Monitor 6.0.0 
* Modified cmdlet `New-AzDataCollectionEndpoint`
   - Removed parameter `-IdentityType`
   - Added parameter `-EnableSystemAssignedIdentity`
   - Changed the type of parameter `-UserAssignedIdentity` from `Hashtable` to `String[]`
* Modified cmdlet `New-AzDataCollectionRule`
   - Removed parameter `-IdentityType`
   - Added parameter `-EnableSystemAssignedIdentity`
   - Changed the type of parameter `-UserAssignedIdentity` from `Hashtable` to `String[]`
* Modified cmdlet `Update-AzDataCollectionEndpoint`
   - Removed parameter `-IdentityType`
   - Added parameters `-Description`, `-EnableSystemAssignedIdentity`, `-ImmutableId`, `-Kind`, `-NetworkAclsPublicNetworkAccess`
   - Changed the type of parameter `-UserAssignedIdentity` from `Hashtable` to `String[]`
* Modified cmdlet `Update-AzDataCollectionRule`
   - Removed parameter `-IdentityType`
   - Added parameter `-EnableSystemAssignedIdentity`
   - Changed the type of parameter `-UserAssignedIdentity` from `Hashtable` to `String[]`
#### Az.RecoveryServices 7.3.0 
* Modified cmdlet `Restore-AzRecoveryServicesBackupItem`
   - Added parameters `-DiskAccessOption`, `-TargetDiskAccessId`
#### Az.Sql 6.0.0 
* Modified cmdlet `New-AzSqlDatabaseSecondary`
   - Added parameter `-PartnerSubscriptionId`
* Modified cmdlet `New-AzSqlInstanceLink`
   - Removed parameters `-PrimaryAvailabilityGroupName`, `-SecondaryAvailabilityGroupName`, `-TargetDatabase`, `-SourceEndpoint`
   - Added parameters `-PartnerAvailabilityGroupName`, `-InstanceAvailabilityGroupName`, `-Database`, `-PartnerEndpoint`, `-FailoverMode`, `-InstanceLinkRole`, `-SeedingMode`
* Added cmdlet `Start-AzSqlInstanceLinkFailover`
#### Az.Storage 8.0.0 
* Modified cmdlet `Close-AzStorageFileHandle`
   - Removed parameters `-Share`, `-Directory`, `-File`
* Modified cmdlet `Get-AzStorageFile`
   - Removed parameters `-Share`, `-Directory`
* Modified cmdlet `Get-AzStorageFileContent`
   - Removed parameters `-Share`, `-Directory`, `-File`
* Modified cmdlet `Get-AzStorageFileCopyState`
   - Removed parameter `-File`
* Modified cmdlet `Get-AzStorageFileHandle`
   - Removed parameters `-Share`, `-Directory`, `-File`
* Modified cmdlet `New-AzStorageDirectory`
   - Removed parameters `-Share`, `-Directory`
* Modified cmdlet `New-AzStorageFileSASToken`
   - Removed parameter `-File`
   - Added parameter `-ShareFileClient`
   - Changed the type of parameter `-Protocol` from `Nullable`1[Microsoft.Azure.Storage.SharedAccessProtocol]` to `String`
* Modified cmdlet `New-AzStorageShareSASToken`
   - Changed the type of parameter `-Protocol` from `Nullable`1[Microsoft.Azure.Storage.SharedAccessProtocol]` to `String`
* Modified cmdlet `Remove-AzStorageDirectory`
   - Removed parameters `-Share`, `-Directory`
* Modified cmdlet `Remove-AzStorageFile`
   - Removed parameters `-Share`, `-Directory`, `-File`
* Modified cmdlet `Remove-AzStorageShare`
   - Removed parameter `-Share`
* Modified cmdlet `Set-AzStorageFileContent`
   - Removed parameters `-Share`, `-Directory`
* Modified cmdlet `Set-AzStorageShareQuota`
   - Removed parameter `-Share`
   - Added parameter `-ShareClient`
* Modified cmdlet `Start-AzStorageFileCopy`
   - Removed parameter `-DestFile`
   - Added parameter alias `ShareClient` to parameter `-SrcShare`
   - Removed parameter alias `CloudFileShare` from parameter `-SrcShare`
   - Changed the type of parameter `-SrcShare` from `CloudFileShare` to `ShareClient`
   - Added parameter alias `ShareFileClient` to parameter `-SrcFile`
   - Removed parameter alias `CloudFile` from parameter `-SrcFile`
   - Changed the type of parameter `-SrcFile` from `CloudFile` to `ShareFileClient`
   - Added parameter alias `DestFile` to parameter `-DestShareFileClient`
* Modified cmdlet `Stop-AzStorageFileCopy`
   - Removed parameter `-File`

---

### Documentation SyntaxChangeLog SyntaxChangeLog Az14 (`documentation/SyntaxChangeLog/SyntaxChangeLog-Az14.md`)

## 14.6.0 - November 2025
#### Az.Compute 10.5.0 
* Modified cmdlet `New-AzDiskConfig`
   - Added parameter `-SupportedSecurityOption`
* Modified cmdlet `New-AzDiskUpdateConfig`
   - Added parameter `-SupportedSecurityOption`
* Modified cmdlet `New-AzVM`
   - Added parameter `-AddProxyAgentExtension`
* Modified cmdlet `New-AzVmss`
   - Added parameter `-AddProxyAgentExtension`
* Modified cmdlet `Set-AzVMProxyAgentSetting`
   - Added parameter `-AddProxyAgentExtension`
* Modified cmdlet `Set-AzVmssProxyAgentSetting`
   - Added parameter `-AddProxyAgentExtension`
* Modified cmdlet `Update-AzHost`
   - Added parameter `-Redeploy`
#### Az.RecoveryServices 7.10.0 
* Added cmdlet `Get-AzRecoveryServicesSoftDeletedVault`, `Get-AzRecoveryServicesSoftDeletedVaultBackupItem`, `Undo-AzRecoveryServicesVaultDeletion`
#### Az.RedisEnterpriseCache 1.6.0 
* Modified cmdlet `New-AzRedisEnterpriseCache`
   - Added parameter `-PublicNetworkAccess`
* Modified cmdlet `Update-AzRedisEnterpriseCache`
   - Added parameter `-PublicNetworkAccess`
#### Az.SignalR 2.3.0 
* Added cmdlet `Add-AzSignalRNetworkIpRule`, `Get-AzSignalRReplica`, `New-AzSignalRNetworkIpRuleObject`, `New-AzSignalRReplica`, `Remove-AzSignalRNetworkIpRule`, `Remove-AzSignalRReplica`, `Restart-AzSignalRReplica`, `Start-AzSignalRReplica`, `Stop-AzSignalRReplica`, `Update-AzSignalRReplica`
#### Az.Sql 6.3.0 
* Modified cmdlet `Set-AzSqlDatabaseBackupLongTermRetentionPolicy`
   - Added parameters `-TimeBasedImmutability`, `-TimeBasedImmutabilityMode`
* Added cmdlet `Lock-AzSqlDatabaseLongTermRetentionBackupImmutability`, `Remove-AzSqlDatabaseLongTermRetentionBackupImmutability`, `Remove-AzSqlDatabaseLongTermRetentionBackupLegalHold`, `Set-AzSqlDatabaseLongTermRetentionBackupLegalHold`
#### Az.Storage 9.3.0 
* Modified cmdlet `New-AzStorageAccount`
   - Added parameter `-EnableBlobGeoPriorityReplication`
* Modified cmdlet `Set-AzStorageAccount`
   - Added parameter `-EnableBlobGeoPriorityReplication`
* Modified cmdlet `Set-AzStorageObjectReplicationPolicy`
   - Added parameter `-EnablePriorityReplication`
* Added cmdlet `Get-AzStorageNetworkSecurityPerimeterConfiguration`, `Invoke-AzStorageReconcileNetworkSecurityPerimeterConfiguration`

## 14.5.0 - October 2025
#### Az.Compute 10.4.0 
* Modified cmdlet `Grant-AzSnapshotAccess`
   - Added parameter `-SecureVMGuestStateSAS`
* Modified cmdlet `New-AzSnapshotConfig`
   - Added parameter `-InstantAccessDurationMinutes`
#### Az.HDInsight 6.4.0 
* Modified cmdlet `New-AzHDInsightCluster`
   - Added parameters `-EntraUserIdentity`, `-EntraUserFullInfo`
* Modified cmdlet `Set-AzHDInsightGatewayCredential`
   - Added parameters `-EntraUserIdentity`, `-EntraUserFullInfo`
#### Az.KeyVault 6.4.0 
* Modified cmdlet `New-AzKeyVaultManagedHsm`
   - Added parameter `-NetworkRuleSet`
* Added cmdlet `Add-AzKeyVaultManagedHsmNetworkRule`, `New-AzKeyVaultManagedHsmNetworkRuleSetObject`, `Remove-AzKeyVaultManagedHsmNetworkRule`, `Update-AzKeyVaultManagedHsmNetworkRuleSet`
#### Az.Migrate 2.10.0 
* Modified cmdlet `Get-AzMigrateServerMigrationStatus`
   - Added parameter `-Expedite`
#### Az.RecoveryServices 7.9.0 
* Added cmdlet `Redo-AzRecoveryServicesBackupProtection`
#### Az.ServiceFabric 3.8.0 
* Modified cmdlet `New-AzServiceFabricManagedCluster`
   - Added parameters `-EnableAutoOsUpgrade`, `-AllowRdpAccess`
* Modified cmdlet `New-AzServiceFabricManagedNodeType`
   - Added parameters `-ZoneBalance`, `-EnableOverProvisioning`, `-Zone`
* Modified cmdlet `Restart-AzServiceFabricManagedNodeType`
   - Added parameter `-UpdateType`
   - Parameter `-NodeName` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `Set-AzServiceFabricManagedCluster`
   - Added parameters `-EnableAutoOsUpgrade`, `-AllowRdpAccess`
* Modified cmdlet `Set-AzServiceFabricManagedNodeType`
   - Added parameters `-ZoneBalance`, `-EnableOverProvisioning`, `-Zone`
* Added cmdlet `Invoke-AzServiceFabricDeallocateManagedNodeType`, `Invoke-AzServiceFabricRedeployManagedNodeType`, `Invoke-AzServiceFabricReimageManagedNodeType`, `Start-AzServiceFabricManagedNodeType`
#### Az.SignalR 2.2.0 
* Modified cmdlet `New-AzSignalR`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
* Modified cmdlet `Update-AzSignalR`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
* Added cmdlet `Get-AzSignalRCustomCertificate`, `Get-AzSignalRCustomDomain`, `New-AzSignalRCustomCertificate`, `New-AzSignalRCustomDomain`, `Remove-AzSignalRCustomCertificate`, `Remove-AzSignalRCustomDomain`, `Update-AzSignalRCustomDomain`
#### Az.Sql 6.2.0 
* Modified cmdlet `New-AzSqlServer`
   - Added parameters `-EnableSoftDelete`, `-SoftDeleteRetentionDays`
* Modified cmdlet `Set-AzSqlServer`
   - Added parameters `-EnableSoftDelete`, `-SoftDeleteRetentionDays`
* Added cmdlet `Restore-AzSqlServer`
#### Az.Storage 9.2.0 
* Modified cmdlet `New-AzStorageAccount`
   - Added parameters `-EnableSmbOAuth`, `-Zone`, `-ZonePlacementPolicy`
* Modified cmdlet `Set-AzStorageAccount`
   - Added parameters `-EnableSmbOAuth`, `-Zone`, `-ZonePlacementPolicy`
* Modified cmdlet `Set-AzStorageObjectReplicationPolicy`
   - Added parameter `-EnableMetric`
* Modified cmdlet `Get-AzStorageTaskAssignment`
   - Removed parameter `-Maxpagesize`
   - Added parameter `-Top`
* Added cmdlet `Get-AzStorageFileSymbolicLink`, `New-AzStorageFileSymbolicLink`, `Get-AzStorageSku`
#### Az.StorageMover 1.6.0 
* Modified cmdlet `New-AzStorageMoverJobDefinition`
   - Added parameter `-JobType`
* Added cmdlet `New-AzStorageMoverAzNfsFileShareEndpoint`, `New-AzStorageMoverMultiCloudConnectorEndpoint`, `Update-AzStorageMoverAzNfsFileShareEndpoint`, `Update-AzStorageMoverMultiCloudConnectorEndpoint`

## 14.4.0 - September 2025
#### Az.Accounts 5.3.0 
* Modified cmdlet `Invoke-AzRestMethod`
   - Added parameters `-Paginate`, `-NextLinkName`, `-PageableItemName`, `-MaxPageSize`
#### Az.Compute 10.3.0 
* Modified cmdlet `New-AzDiskConfig`
   - Added parameters `-SecurityMetadataUri`, `-SecurityDataUri`
#### Az.Network 7.19.1 
* Added cmdlet `Set-AzNetworkManagerIpamPoolStaticCidr`
#### Az.ServiceFabric 3.7.0 
* Modified cmdlet `New-AzServiceFabricManagedCluster`
   - Added parameter `-AutoGeneratedDomainNameLabelScope`
* Modified cmdlet `Set-AzServiceFabricManagedCluster`
   - Added parameter `-AutoGeneratedDomainNameLabelScope`
#### Az.Sql 6.1.0 
* Modified cmdlet `New-AzSqlDatabaseExport`
   - Parameter `-AdministratorLoginPassword` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `New-AzSqlDatabaseImport`
   - Parameter `-AdministratorLoginPassword` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `New-AzSqlInstance`
   - Added parameter `-MemorySizeInGB`
* Modified cmdlet `Set-AzSqlInstance`
   - Added parameter `-MemorySizeInGB`

## 14.3.0 - August 2025
#### Az.Accounts 5.2.0 
* Modified cmdlet `Connect-AzAccount`
   - Added parameter `-ClaimsChallenge`
#### Az.DataLakeStore 1.5.0 
* Added cmdlet `Get-AzDataLakeStoreDeletedItemsWithToken`#### Az.EventHub 5.4.0 
, `Get-AzEventHubNetworkSecurityPerimeterConfiguration`, `Get-AzEventHubNetworkSecurityPerimeterConfigurationsForAssociation`
#### Az.Migrate 2.9.0 
* Modified cmdlet `New-AzMigrateLocalDiskMappingObject`
   - Removed parameter `-TargetStoragePathId`
* Modified cmdlet `New-AzMigrateLocalServerReplication`
   - Added parameters `-SourceApplianceName`, `-TargetApplianceName`
* Modified cmdlet `Set-AzMigrateLocalServerReplication`
   - Added parameter `-OsType`
#### Az.MySql 1.5.0 
* Modified cmdlet `Test-AzMySqlFlexibleServerConnect`
   - Added parameter `-Timeout`
#### Az.Network 7.19.0 
* Modified cmdlet `New-AzFirewall`
   - Added parameter `-EnableDnstapLogging`
#### Az.NetworkCloud 1.2.0 
* Modified cmdlet `New-AzNetworkCloudAgentPool`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `New-AzNetworkCloudBareMetalMachineKeySet`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `New-AzNetworkCloudBmcKeySet`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `New-AzNetworkCloudCluster`
   - Added parameters `-IfMatch`, `-IfNoneMatch`, `-AnalyticOutputSettingAnalyticsWorkspaceId`, `-AnalyticsOutputSettingsAssociatedIdentityType`, `-AnalyticsOutputSettingsAssociatedIdentityUserAssignedIdentityResourceId`, `-SecretArchiveSettingVaultUri`, `-SecretArchiveSettingsAssociatedIdentityType`, `-SecretArchiveSettingsAssociatedIdentityUserAssignedIdentityResourceId`, `-VulnerabilityScanningSettingContainerScan`
* Modified cmdlet `New-AzNetworkCloudClusterManager`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `New-AzNetworkCloudConsole`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `New-AzNetworkCloudKubernetesCluster`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `New-AzNetworkCloudKubernetesClusterFeature`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `New-AzNetworkCloudL2Network`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `New-AzNetworkCloudL3Network`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `New-AzNetworkCloudMetricsConfiguration`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `New-AzNetworkCloudServicesNetwork`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `New-AzNetworkCloudTrunkedNetwork`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `New-AzNetworkCloudVirtualMachine`
   - Added parameters `-IfMatch`, `-IfNoneMatch`, `-ConsoleExtendedLocationName`, `-ConsoleExtendedLocationType`
* Modified cmdlet `New-AzNetworkCloudVolume`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Remove-AzNetworkCloudAgentPool`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Remove-AzNetworkCloudBareMetalMachineKeySet`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Remove-AzNetworkCloudBmcKeySet`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Remove-AzNetworkCloudCluster`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Remove-AzNetworkCloudClusterManager`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Remove-AzNetworkCloudConsole`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Remove-AzNetworkCloudKubernetesCluster`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Remove-AzNetworkCloudKubernetesClusterFeature`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Remove-AzNetworkCloudL2Network`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Remove-AzNetworkCloudL3Network`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Remove-AzNetworkCloudMetricsConfiguration`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Remove-AzNetworkCloudServicesNetwork`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Remove-AzNetworkCloudTrunkedNetwork`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Remove-AzNetworkCloudVirtualMachine`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Remove-AzNetworkCloudVolume`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzNetworkCloudAgentPool`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzNetworkCloudBareMetalMachine`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzNetworkCloudBareMetalMachineKeySet`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzNetworkCloudBmcKeySet`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzNetworkCloudCluster`
   - Added parameters `-IfMatch`, `-IfNoneMatch`, `-AnalyticOutputSettingAnalyticsWorkspaceId`, `-AnalyticsOutputSettingsAssociatedIdentityType`, `-AnalyticsOutputSettingsAssociatedIdentityUserAssignedIdentityResourceId`, `-SecretArchiveSettingVaultUri`, `-SecretArchiveSettingsAssociatedIdentityType`, `-SecretArchiveSettingsAssociatedIdentityUserAssignedIdentityResourceId`, `-VulnerabilityScanningSettingContainerScan`
* Modified cmdlet `Update-AzNetworkCloudClusterManager`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzNetworkCloudConsole`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzNetworkCloudKubernetesCluster`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzNetworkCloudKubernetesClusterFeature`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzNetworkCloudL2Network`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzNetworkCloudL3Network`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzNetworkCloudMetricsConfiguration`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzNetworkCloudRack`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzNetworkCloudServicesNetwork`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzNetworkCloudStorageAppliance`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzNetworkCloudTrunkedNetwork`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzNetworkCloudVirtualMachine`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzNetworkCloudVolume`
   - Added parameters `-IfMatch`, `-IfNoneMatch`
#### Az.PostgreSql 1.4.0 
* Modified cmdlet `Test-AzPostgreSqlFlexibleServerConnect`
   - Added parameter `-Timeout`
#### Az.RecoveryServices 7.8.0 
* Modified cmdlet `Restore-AzRecoveryServicesBackupItem`
   - Added parameter `-CVMOsDiskEncryptionSetId`
#### Az.Resources 8.1.0 
* Modified cmdlet `Export-AzResourceGroup`
   - Added parameter `-OutputFormat`
* Modified cmdlet `Get-AzResourceGroup`
   - Added parameter `-ExpandProperties`
#### Az.ServiceFabric 3.6.0 
* Modified cmdlet `Add-AzServiceFabricNodeType`
   - Added parameter `-Location`
* Modified cmdlet `Set-AzServiceFabricManagedNodeType`
   - Added parameter `-VmSize`

## 14.2.0 - July 2025
#### Az.Network 7.18.0 
* Modified cmdlet `New-AzApplicationGatewayFirewallPolicyManagedRule`
   - Added parameter `-Exception`
* Modified cmdlet `New-AzNetworkWatcherPacketCaptureV2`
   - Added parameters `-ContinuousCapture`, `-LocalPath`, `-CaptureSetting`
* Added cmdlet `New-AzApplicationGatewayFirewallPolicyException`, `New-AzPacketCaptureSettingsConfig`
#### Az.Storage 9.1.0 
* Modified cmdlet `New-AzStorageAccount`
   - Added parameter `-SasExpirationAction`
* Modified cmdlet `Set-AzStorageAccount`
   - Added parameter `-SasExpirationAction`
* Added cmdlet `Get-AzStorageTaskAssignment`, `Get-AzStorageTaskAssignmentInstancesReport`, `New-AzStorageTaskAssignment`, `Remove-AzStorageTaskAssignment`, `Update-AzStorageTaskAssignment`

## 14.1.0 - June 2025
#### Az.Migrate 2.8.0 
* Added cmdlet `Get-AzMigrateServerMigrationStatus`
#### Az.MySql 1.4.0 
* Modified cmdlet `Restore-AzMySqlFlexibleServer`
   - Added parameters `-Location`, `-UseGeoRestore`, `-Sku`, `-Tag`
#### Az.PostgreSql 1.3.0 
* Modified cmdlet `Restore-AzPostgreSqlFlexibleServer`
   - Added parameters `-UseGeoRestore`, `-Sku`, `-Tag`

## 14.0.0 - May 2025
#### Az.Aks 7.0.0 
* Modified cmdlet `Get-AzAksMaintenanceConfiguration`
   - Added parameter `-ManagedClusterInputObject`
* Modified cmdlet `Get-AzAksManagedClusterCommandResult`
   - Added parameter `-ManagedClusterInputObject`
* Modified cmdlet `Get-AzAksNodePoolUpgradeProfile`
   - Added parameter `-ManagedClusterInputObject`
* Modified cmdlet `Invoke-AzAksAbortAgentPoolLatestOperation`
   - Added parameter `-ManagedclusterInputObject`
* Modified cmdlet `New-AzAksMaintenanceConfiguration`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzAksSnapshot`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-SnapshotType` from `SnapshotType` to `String`
* Modified cmdlet `New-AzAksTimeInWeekObject`
   - Changed the type of parameter `-Day` from `WeekDay` to `String`
* Modified cmdlet `Remove-AzAksMaintenanceConfiguration`
   - Added parameter `-ManagedClusterInputObject`
* Modified cmdlet `Start-AzAksManagedClusterCommand`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Added cmdlet `Update-AzAksMaintenanceConfiguration`
#### Az.AppConfiguration 2.0.0 
* Modified cmdlet `New-AzAppConfigurationStore`
   - Removed parameter `-IdentityType`
   - Added parameters `-EnableSystemAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-CreateMode` from `CreateMode` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
* Modified cmdlet `New-AzAppConfigurationStoreKey`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Test-AzAppConfigurationStoreNameAvailability`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzAppConfigurationStore`
   - Removed parameter `-IdentityType`
   - Added parameters `-EnableSystemAssignedIdentity`, `-SoftDeleteRetentionInDay`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
#### Az.Cdn 5.0.0 
* Modified cmdlet `Clear-AzCdnEndpointContent`
   - Added parameters `-ProfileInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Clear-AzFrontDoorCdnEndpointContent`
   - Added parameters `-ProfileInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Disable-AzCdnCustomDomainCustomHttps`
   - Added parameters `-EndpointInputObject`, `-ProfileInputObject`
* Modified cmdlet `Enable-AzCdnCustomDomainCustomHttps`
   - Added parameters `-EndpointInputObject`, `-ProfileInputObject`, `-CertificateSource`, `-MinimumTlsVersion`, `-ProtocolType`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Get-AzCdnCustomDomain`
   - Added parameters `-EndpointInputObject`, `-ProfileInputObject`
* Modified cmdlet `Get-AzCdnEndpoint`
   - Added parameter `-ProfileInputObject`
* Modified cmdlet `Get-AzCdnOrigin`
   - Added parameters `-EndpointInputObject`, `-ProfileInputObject`
* Modified cmdlet `Get-AzCdnOriginGroup`
   - Added parameters `-EndpointInputObject`, `-ProfileInputObject`
* Modified cmdlet `Get-AzFrontDoorCdnCustomDomain`
   - Added parameter `-ProfileInputObject`
* Modified cmdlet `Get-AzFrontDoorCdnEndpoint`
   - Added parameter `-ProfileInputObject`
* Modified cmdlet `Get-AzFrontDoorCdnOrigin`
   - Added parameters `-OriginGroupInputObject`, `-ProfileInputObject`
* Modified cmdlet `Get-AzFrontDoorCdnOriginGroup`
   - Added parameter `-ProfileInputObject`
* Modified cmdlet `Get-AzFrontDoorCdnRoute`
   - Added parameters `-AfdEndpointInputObject`, `-ProfileInputObject`
* Modified cmdlet `Get-AzFrontDoorCdnRule`
   - Added parameters `-ProfileInputObject`, `-RuleSetInputObject`
* Modified cmdlet `Get-AzFrontDoorCdnRuleSet`
   - Added parameter `-ProfileInputObject`
* Modified cmdlet `Get-AzFrontDoorCdnSecret`
   - Added parameter `-ProfileInputObject`
* Modified cmdlet `Get-AzFrontDoorCdnSecurityPolicy`
   - Added parameter `-ProfileInputObject`
* Modified cmdlet `Import-AzCdnEndpointContent`
   - Added parameters `-ProfileInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzCdnCustomDomain`
   - Added parameters `-EndpointInputObject`, `-ProfileInputObject`, `-CustomDomainProperty`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzCdnDeliveryRuleCacheExpirationActionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterCacheBehavior` from `CacheBehavior` to `String`
* Modified cmdlet `New-AzCdnDeliveryRuleCacheKeyQueryStringActionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterQueryStringBehavior` from `QueryStringBehavior` to `String`
* Modified cmdlet `New-AzCdnDeliveryRuleCookiesConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `CookiesOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzCdnDeliveryRuleHttpVersionConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzCdnDeliveryRuleIsDeviceConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzCdnDeliveryRuleObject`
   - Changed the type of parameter `-Action` from `IDeliveryRuleAction1[]` to `IDeliveryRuleAction[]`
* Modified cmdlet `New-AzCdnDeliveryRulePostArgsConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `PostArgsOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzCdnDeliveryRuleQueryStringConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `QueryStringOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzCdnDeliveryRuleRemoteAddressConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `RemoteAddressOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzCdnDeliveryRuleRequestBodyConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `RequestBodyOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzCdnDeliveryRuleRequestHeaderActionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterHeaderAction` from `HeaderAction` to `String`
* Modified cmdlet `New-AzCdnDeliveryRuleRequestHeaderConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `RequestHeaderOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzCdnDeliveryRuleRequestMethodConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzCdnDeliveryRuleRequestSchemeConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzCdnDeliveryRuleRequestUriConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `RequestUriOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzCdnDeliveryRuleResponseHeaderActionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterHeaderAction` from `HeaderAction` to `String`
* Modified cmdlet `New-AzCdnDeliveryRuleUrlFileExtensionConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `UrlFileExtensionOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzCdnDeliveryRuleUrlFileNameConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `UrlFileNameOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzCdnDeliveryRuleUrlPathConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `UrlPathOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzCdnEndpoint`
   - Added parameters `-ProfileInputObject`, `-Endpoint`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-OptimizationType` from `OptimizationType` to `String`
   - Changed the type of parameter `-QueryStringCachingBehavior` from `QueryStringCachingBehavior` to `String`
* Modified cmdlet `New-AzCdnHealthProbeParametersObject`
   - Changed the type of parameter `-ProbeProtocol` from `ProbeProtocol` to `String`
   - Changed the type of parameter `-ProbeRequestType` from `HealthProbeRequestType` to `String`
* Modified cmdlet `New-AzCdnManagedHttpsParametersObject`
   - Added parameter `-CertificateSourceParameterTypeName`
   - Changed the type of parameter `-CertificateSourceParameterCertificateType` from `CertificateType` to `String`
   - Changed the type of parameter `-CertificateSource` from `CertificateSource` to `String`
   - Changed the type of parameter `-ProtocolType` from `ProtocolType` to `String`
   - Changed the type of parameter `-MinimumTlsVersion` from `MinimumTlsVersion` to `String`
* Modified cmdlet `New-AzCdnOrigin`
   - Added parameters `-EndpointInputObject`, `-ProfileInputObject`, `-Origin`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzCdnOriginGroup`
   - Added parameters `-EndpointInputObject`, `-ProfileInputObject`, `-OriginGroup`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzCdnOriginGroupOverrideActionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
* Modified cmdlet `New-AzCdnProfile`
   - Changed the type of parameter `-SkuName` from `SkuName` to `String`
* Modified cmdlet `New-AzCdnResponseBasedOriginErrorDetectionParametersObject`
   - Changed the type of parameter `-ResponseBasedDetectedErrorType` from `ResponseBasedDetectedErrorTypes` to `String`
* Modified cmdlet `New-AzCdnUrlRedirectActionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterRedirectType` from `RedirectType` to `String`
   - Changed the type of parameter `-ParameterDestinationProtocol` from `DestinationProtocol` to `String`
* Modified cmdlet `New-AzCdnUrlRewriteActionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
* Modified cmdlet `New-AzCdnUrlSigningActionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterAlgorithm` from `Algorithm` to `String`
* Modified cmdlet `New-AzCdnUserManagedHttpsParametersObject`
   - Added parameter `-CertificateSourceParameterTypeName`
   - Changed the type of parameter `-CertificateSource` from `CertificateSource` to `String`
   - Changed the type of parameter `-ProtocolType` from `ProtocolType` to `String`
   - Changed the type of parameter `-MinimumTlsVersion` from `MinimumTlsVersion` to `String`
* Modified cmdlet `New-AzFrontDoorCdnCustomDomain`
   - Added parameters `-ProfileInputObject`, `-CustomDomain`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzFrontDoorCdnCustomDomainTlsSettingParametersObject`
   - Added parameters `-CipherSuiteSetType`, `-CustomizedCipherSuiteSet`
   - Changed the type of parameter `-CertificateType` from `AfdCertificateType` to `String`
   - Changed the type of parameter `-MinimumTlsVersion` from `AfdMinimumTlsVersion` to `String`
* Modified cmdlet `New-AzFrontDoorCdnEndpoint`
   - Added parameters `-ProfileInputObject`, `-Endpoint`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-AutoGeneratedDomainNameLabelScope` from `AutoGeneratedDomainNameLabelScope` to `String`
   - Changed the type of parameter `-EnabledState` from `EnabledState` to `String`
* Modified cmdlet `New-AzFrontDoorCdnMigrationParametersObject`
   - Changed the type of parameter `-SkuName` from `SkuName` to `String`
* Modified cmdlet `New-AzFrontDoorCdnOrigin`
   - Added parameters `-OriginGroupInputObject`, `-ProfileInputObject`, `-Origin`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-EnabledState` from `EnabledState` to `String`
   - Changed the type of parameter `-SharedPrivateLinkResourceStatus` from `SharedPrivateLinkResourceStatus` to `String`
* Modified cmdlet `New-AzFrontDoorCdnOriginGroup`
   - Added parameters `-ProfileInputObject`, `-OriginGroup`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-SessionAffinityState` from `EnabledState` to `String`
* Modified cmdlet `New-AzFrontDoorCdnOriginGroupHealthProbeSettingObject`
   - Changed the type of parameter `-ProbeProtocol` from `ProbeProtocol` to `String`
   - Changed the type of parameter `-ProbeRequestType` from `HealthProbeRequestType` to `String`
* Modified cmdlet `New-AzFrontDoorCdnProfile`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-SkuName` from `SkuName` to `String`
   - Changed the type of parameter `-IdentityType` from `ManagedServiceIdentityType` to `String`
   - Changed the type of parameter `-LogScrubbingState` from `ProfileScrubbingState` to `String`
* Modified cmdlet `New-AzFrontDoorCdnProfileLogScrubbingObject`
   - Changed the type of parameter `-State` from `ProfileScrubbingState` to `String`
* Modified cmdlet `New-AzFrontDoorCdnProfileScrubbingRulesObject`
   - Changed the type of parameter `-MatchVariable` from `ScrubbingRuleEntryMatchVariable` to `String`
   - Changed the type of parameter `-State` from `ScrubbingRuleEntryState` to `String`
* Modified cmdlet `New-AzFrontDoorCdnRoute`
   - Added parameters `-AfdEndpointInputObject`, `-ProfileInputObject`, `-Route`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-CacheConfigurationQueryStringCachingBehavior` from `AfdQueryStringCachingBehavior` to `String`
   - Changed the type of parameter `-EnabledState` from `EnabledState` to `String`
   - Changed the type of parameter `-ForwardingProtocol` from `ForwardingProtocol` to `String`
   - Changed the type of parameter `-HttpsRedirect` from `HttpsRedirect` to `String`
   - Changed the type of parameter `-LinkToDefaultDomain` from `LinkToDefaultDomain` to `String`
   - Changed the type of parameter `-SupportedProtocol` from `AfdEndpointProtocols[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRule`
   - Added parameters `-ProfileInputObject`, `-RuleSetInputObject`, `-Rule`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Action` from `IDeliveryRuleAction1[]` to `IDeliveryRuleAction[]`
   - Changed the type of parameter `-MatchProcessingBehavior` from `MatchProcessingBehavior` to `String`
* Modified cmdlet `New-AzFrontDoorCdnRuleClientPortConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `ClientPortOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRuleCookiesConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `CookiesOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRuleHostNameConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `HostNameOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRuleHttpVersionConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRuleIsDeviceConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRulePostArgsConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `PostArgsOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRuleQueryStringConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `QueryStringOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRuleRemoteAddressConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `RemoteAddressOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRuleRequestBodyConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `RequestBodyOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRuleRequestHeaderActionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterHeaderAction` from `HeaderAction` to `String`
* Modified cmdlet `New-AzFrontDoorCdnRuleRequestHeaderConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `RequestHeaderOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRuleRequestMethodConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRuleRequestSchemeConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRuleRequestUriConditionObject`
   - Changed the type of parameter `-ParameterOperator` from `RequestUriOperator` to `String`
   - Changed the type of parameter `-Name` from `MatchVariable` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRuleResponseHeaderActionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterHeaderAction` from `HeaderAction` to `String`
* Modified cmdlet `New-AzFrontDoorCdnRuleRouteConfigurationOverrideActionObject`
   - Changed the type of parameter `-Name` from `DeliveryRuleAction` to `String`
   - Changed the type of parameter `-CacheConfigurationCacheBehavior` from `RuleCacheBehavior` to `String`
   - Changed the type of parameter `-CacheConfigurationIsCompressionEnabled` from `RuleIsCompressionEnabled` to `String`
   - Changed the type of parameter `-CacheConfigurationQueryStringCachingBehavior` from `RuleQueryStringCachingBehavior` to `String`
   - Changed the type of parameter `-OriginGroupOverrideForwardingProtocol` from `ForwardingProtocol` to `String`
* Modified cmdlet `New-AzFrontDoorCdnRuleServerPortConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `ServerPortOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRuleSet`
   - Added parameter `-ProfileInputObject`
* Modified cmdlet `New-AzFrontDoorCdnRuleSocketAddrConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `SocketAddrOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRuleSslProtocolConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterMatchValue` from `SslProtocol[]` to `String[]`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRuleUrlFileExtensionConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `UrlFileExtensionOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRuleUrlFileNameConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `UrlFileNameOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRuleUrlPathConditionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterOperator` from `UrlPathOperator` to `String`
   - Changed the type of parameter `-ParameterTransform` from `Transform[]` to `String[]`
* Modified cmdlet `New-AzFrontDoorCdnRuleUrlRedirectActionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterRedirectType` from `RedirectType` to `String`
   - Changed the type of parameter `-ParameterDestinationProtocol` from `DestinationProtocol` to `String`
* Modified cmdlet `New-AzFrontDoorCdnRuleUrlRewriteActionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
* Modified cmdlet `New-AzFrontDoorCdnRuleUrlSigningActionObject`
   - Removed parameter `-Name`
   - Added parameter `-ParameterTypeName`
   - Changed the type of parameter `-ParameterAlgorithm` from `Algorithm` to `String`
* Modified cmdlet `New-AzFrontDoorCdnSecret`
   - Added parameters `-ProfileInputObject`, `-Secret`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzFrontDoorCdnSecretCustomerCertificateParametersObject`
   - Changed the type of parameter `-Type` from `SecretType` to `String`
* Modified cmdlet `New-AzFrontDoorCdnSecretFirstPartyManagedCertificateParametersObject`
   - Added parameter `-SubjectAlternativeName`
   - Changed the type of parameter `-Type` from `SecretType` to `String`
* Modified cmdlet `New-AzFrontDoorCdnSecretManagedCertificateParametersObject`
   - Changed the type of parameter `-Type` from `SecretType` to `String`
* Modified cmdlet `New-AzFrontDoorCdnSecretUrlSigningKeyParametersObject`
   - Changed the type of parameter `-Type` from `SecretType` to `String`
* Modified cmdlet `New-AzFrontDoorCdnSecurityPolicy`
   - Added parameters `-ProfileInputObject`, `-SecurityPolicy`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Remove-AzCdnCustomDomain`
   - Added parameters `-EndpointInputObject`, `-ProfileInputObject`
* Modified cmdlet `Remove-AzCdnEndpoint`
   - Added parameter `-ProfileInputObject`
* Modified cmdlet `Remove-AzCdnOrigin`
   - Added parameters `-EndpointInputObject`, `-ProfileInputObject`
* Modified cmdlet `Remove-AzCdnOriginGroup`
   - Added parameters `-EndpointInputObject`, `-ProfileInputObject`
* Modified cmdlet `Remove-AzFrontDoorCdnCustomDomain`
   - Added parameter `-ProfileInputObject`
* Modified cmdlet `Remove-AzFrontDoorCdnEndpoint`
   - Added parameter `-ProfileInputObject`
* Modified cmdlet `Remove-AzFrontDoorCdnOrigin`
   - Added parameters `-OriginGroupInputObject`, `-ProfileInputObject`
* Modified cmdlet `Remove-AzFrontDoorCdnOriginGroup`
   - Added parameter `-ProfileInputObject`
* Modified cmdlet `Remove-AzFrontDoorCdnRoute`
   - Added parameters `-AfdEndpointInputObject`, `-ProfileInputObject`
* Modified cmdlet `Remove-AzFrontDoorCdnRule`
   - Added parameters `-ProfileInputObject`, `-RuleSetInputObject`
* Modified cmdlet `Remove-AzFrontDoorCdnRuleSet`
   - Added parameter `-ProfileInputObject`
* Modified cmdlet `Remove-AzFrontDoorCdnSecret`
   - Added parameter `-ProfileInputObject`
* Modified cmdlet `Remove-AzFrontDoorCdnSecurityPolicy`
   - Added parameter `-ProfileInputObject`
* Modified cmdlet `Start-AzCdnEndpoint`
   - Added parameter `-ProfileInputObject`
* Modified cmdlet `Start-AzFrontDoorCdnProfilePrepareMigration`
   - Changed the type of parameter `-SkuName` from `SkuName` to `String`
   - Changed the type of parameter `-IdentityType` from `ManagedServiceIdentityType` to `String`
* Modified cmdlet `Stop-AzCdnEndpoint`
   - Added parameter `-ProfileInputObject`
* Modified cmdlet `Test-AzCdnEndpointCustomDomain`
   - Added parameters `-ProfileInputObject`, `-CustomDomainProperty`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Test-AzCdnNameAvailability`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Type` from `ResourceType` to `String`
* Modified cmdlet `Test-AzCdnProbe`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Test-AzFrontDoorCdnEndpointCustomDomain`
   - Added parameters `-ProfileInputObject`, `-CustomDomainProperty`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Test-AzFrontDoorCdnEndpointNameAvailability`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Type` from `ResourceType` to `String`
   - Changed the type of parameter `-AutoGeneratedDomainNameLabelScope` from `AutoGeneratedDomainNameLabelScope` to `String`
* Modified cmdlet `Test-AzFrontDoorCdnProfileHostNameAvailability`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzCdnEndpoint`
   - Added parameters `-ProfileInputObject`, `-EndpointUpdateProperty`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-OptimizationType` from `OptimizationType` to `String`
   - Changed the type of parameter `-QueryStringCachingBehavior` from `QueryStringCachingBehavior` to `String`
* Modified cmdlet `Update-AzCdnOrigin`
   - Added parameters `-EndpointInputObject`, `-ProfileInputObject`, `-OriginUpdateProperty`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzCdnOriginGroup`
   - Added parameters `-EndpointInputObject`, `-ProfileInputObject`, `-OriginGroupUpdateProperty`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzFrontDoorCdnCustomDomain`
   - Added parameters `-ProfileInputObject`, `-CustomDomainUpdateProperty`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzFrontDoorCdnCustomDomainValidationToken`
   - Added parameter `-ProfileInputObject`
* Modified cmdlet `Update-AzFrontDoorCdnEndpoint`
   - Added parameters `-ProfileInputObject`, `-EndpointUpdateProperty`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-EnabledState` from `EnabledState` to `String`
* Modified cmdlet `Update-AzFrontDoorCdnOrigin`
   - Added parameters `-OriginGroupInputObject`, `-ProfileInputObject`, `-OriginUpdateProperty`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-EnabledState` from `EnabledState` to `String`
   - Changed the type of parameter `-SharedPrivateLinkResourceStatus` from `SharedPrivateLinkResourceStatus` to `String`
* Modified cmdlet `Update-AzFrontDoorCdnOriginGroup`
   - Added parameters `-ProfileInputObject`, `-OriginGroupUpdateProperty`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-SessionAffinityState` from `EnabledState` to `String`
* Modified cmdlet `Update-AzFrontDoorCdnProfile`
   - Added parameters `-JsonString`, `-JsonFilePath`
   - Changed the type of parameter `-LogScrubbingState` from `ProfileScrubbingState` to `String`
   - Changed the type of parameter `-IdentityType` from `ManagedServiceIdentityType` to `String`
* Modified cmdlet `Update-AzFrontDoorCdnRoute`
   - Added parameters `-AfdEndpointInputObject`, `-ProfileInputObject`, `-RouteUpdateProperty`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-CacheConfigurationQueryStringCachingBehavior` from `AfdQueryStringCachingBehavior` to `String`
   - Changed the type of parameter `-EnabledState` from `EnabledState` to `String`
   - Changed the type of parameter `-ForwardingProtocol` from `ForwardingProtocol` to `String`
   - Changed the type of parameter `-HttpsRedirect` from `HttpsRedirect` to `String`
   - Changed the type of parameter `-LinkToDefaultDomain` from `LinkToDefaultDomain` to `String`
   - Changed the type of parameter `-SupportedProtocol` from `AfdEndpointProtocols[]` to `String[]`
* Modified cmdlet `Update-AzFrontDoorCdnRule`
   - Added parameters `-ProfileInputObject`, `-RuleSetInputObject`, `-RuleUpdateProperty`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Action` from `IDeliveryRuleAction1[]` to `IDeliveryRuleAction[]`
   - Changed the type of parameter `-MatchProcessingBehavior` from `MatchProcessingBehavior` to `String`
* Modified cmdlet `Update-AzFrontDoorCdnSecurityPolicy`
   - Added parameters `-ProfileInputObject`, `-SecurityPolicyUpdateProperty`, `-JsonFilePath`, `-JsonString`
* Added cmdlet `Invoke-AzCdnAbortProfileToAFDMigration`, `Invoke-AzCdnCommitProfileToAFDMigration`, `Move-AzCdnProfileToAFD`, `New-AzCdnMigrationEndpointMappingObject`, `Test-AzCdnProfileMigrationCompatibility`, `Update-AzFrontDoorCdnSecret`
#### Az.Compute 10.0.0 
* Modified cmdlet `Get-AzVMImage`
   - Added parameter `-Expand`
* Modified cmdlet `Get-AzVMSize`
   - Removed parameter `-Location`
* Modified cmdlet `New-AzVmssConfig`
   - Added parameters `-EnableAutomaticZoneRebalance`, `-AutomaticZoneRebalanceStrategy`, `-AutomaticZoneRebalanceBehavior`
* Modified cmdlet `Update-AzVmss`
   - Added parameters `-EnableAutomaticZoneRebalance`, `-AutomaticZoneRebalanceStrategy`, `-AutomaticZoneRebalanceBehavior`
#### Az.EventHub 5.3.0 
* Modified cmdlet `New-AzEventHubNamespace`
   - Added parameters `-GeoDataReplicationMaxReplicationLagDurationInSecond`, `-GeoDataReplicationLocation`
* Modified cmdlet `Set-AzEventHubNamespace`
   - Added parameters `-GeoDataReplicationMaxReplicationLagDurationInSecond`, `-GeoDataReplicationLocation`
* Added cmdlet `New-AzEventHubLocationsNameObject`, `Start-AzEventHubNamespaceFailOver`
#### Az.ManagedServiceIdentity 2.0.0 
* Modified cmdlet `New-AzFederatedIdentityCredential`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzUserAssignedIdentity`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzFederatedIdentityCredential`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzUserAssignedIdentity`
   - Added parameters `-JsonFilePath`, `-JsonString`
#### Az.RedisEnterpriseCache 1.5.0 
* Added cmdlet `Get-AzRedisEnterpriseCacheSku`
#### Az.Storage 9.0.0 
* Modified cmdlet `Start-AzStorageAccountMigration`
   - Added parameter `-Force`

---

### Documentation SyntaxChangeLog SyntaxChangeLog Az15 (`documentation/SyntaxChangeLog/SyntaxChangeLog-Az15.md`)

## 15.6.1 - May 2026

## 15.6.0 - May 2026
#### Az.Accounts 5.4.0 
* Modified cmdlet `Add-AzEnvironment`
   - Added parameters `-AzureAppConfigurationEndpointSuffix`, `-AzureAppConfigurationEndpointResourceId`
* Modified cmdlet `Set-AzEnvironment`
   - Added parameters `-AzureAppConfigurationEndpointSuffix`, `-AzureAppConfigurationEndpointResourceId`
#### Az.AppConfiguration 2.1.0 
* Modified cmdlet `Get-AzAppConfigurationKeyValue`
   - Added parameter `-Snapshot`
* Modified cmdlet `Get-AzAppConfigurationLabel`
   - Added parameter `-ClientRequestId`
* Modified cmdlet `Get-AzAppConfigurationRevision`
   - Added parameters `-Tag`, `-ClientRequestId`
* Modified cmdlet `New-AzAppConfigurationStore`
   - Added parameters `-DataPlaneProxyAuthenticationMode`, `-DataPlaneProxyPrivateLinkDelegation`, `-DefaultKeyValueRevisionRetentionPeriodInSecond`
* Modified cmdlet `Remove-AzAppConfigurationKeyValue`
   - Added parameter `-ClientRequestId`
* Modified cmdlet `Remove-AzAppConfigurationLock`
   - Added parameter `-ClientRequestId`
* Modified cmdlet `Set-AzAppConfigurationKeyValue`
   - Removed parameters `-Key1`, `-Label1`
   - Added parameter `-ClientRequestId`
* Modified cmdlet `Set-AzAppConfigurationLock`
   - Added parameter `-ClientRequestId`
* Modified cmdlet `Test-AzAppConfigurationKeyValue`
   - Added parameters `-Tag`, `-ClientRequestId`
* Modified cmdlet `Update-AzAppConfigurationStore`
   - Added parameters `-DataPlaneProxyAuthenticationMode`, `-DataPlaneProxyPrivateLinkDelegation`, `-DefaultKeyValueRevisionRetentionPeriodInSecond`
* Added cmdlet `Get-AzAppConfigurationOperationDetail`, `Get-AzAppConfigurationReplica`, `Get-AzAppConfigurationSnapshot`, `New-AzAppConfigurationReplica`, `New-AzAppConfigurationSnapshot`, `Remove-AzAppConfigurationReplica`, `Test-AzAppConfigurationSnapshot`, `Update-AzAppConfigurationSnapshot`
#### Az.Compute 11.5.0 
* Modified cmdlet `New-AzGallery`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
* Modified cmdlet `Update-AzGallery`
   - Added parameters `-EnableSystemAssignedIdentity`, `-DisableSystemAssignedIdentity`, `-UserAssignedIdentity`, `-RemoveUserAssignedIdentity`
* Modified cmdlet `Update-AzGalleryImageDefinition`
   - Added parameters `-Feature`, `-AllowUpdateImage`
#### Az.DataProtection 2.10.0 
* Modified cmdlet `New-AzDataProtectionBackupConfigurationClientObject`
   - Added parameters `-AutoProtection`, `-AutoProtectionExclusionRule`
#### Az.NetAppFiles 1.2.0 
* Added cmdlet `Get-AzNetAppFilesBucket`, `Get-AzNetAppFilesCache`, `Get-AzNetAppFilesCachePeeringPassphrase`, `New-AzNetAppFilesBucket`, `New-AzNetAppFilesBucketCredential`, `New-AzNetAppFilesCache`, `Remove-AzNetAppFilesBucket`, `Remove-AzNetAppFilesCache`, `Reset-AzNetAppFilesCacheSmbPassword`, `Set-AzNetAppFilesBucketAkvCredential`, `Set-AzNetAppFilesCachePool`, `Update-AzNetAppFilesBucket`, `Update-AzNetAppFilesBucketCertificate`, `Update-AzNetAppFilesCache`
#### Az.Network 7.27.0 
* Modified cmdlet `Add-AzLoadBalancerFrontendIpConfig`
   - Added parameter `-DdosCustomPolicyId`
* Modified cmdlet `New-AzLoadBalancerFrontendIpConfig`
   - Added parameter `-DdosCustomPolicyId`
* Modified cmdlet `Set-AzLoadBalancerFrontendIpConfig`
   - Added parameters `-DdosCustomPolicyId`, `-RemoveDdosCustomPolicy`
#### Az.Resources 9.1.0 
* Added cmdlet `New-AzDenyAssignment`, `Remove-AzDenyAssignment`

## 15.5.0 - April 2026
#### Az.CosmosDB 1.20.0 
* Modified cmdlet `New-AzCosmosDBAccount`
   - Added parameter `-DisableLocalAuth`
* Modified cmdlet `Update-AzCosmosDBAccount`
   - Added parameters `-Capabilities`, `-DisableLocalAuth`
#### Az.Migrate 2.12.0 
* Modified cmdlet `New-AzMigrateServerReplication`
   - Added parameters `-TargetSecurityType`, `-TargetVMSecureBootEnabled`
#### Az.NetAppFiles 1.1.0 
* Modified cmdlet `New-AzNetAppFilesVolume`
   - Added parameter `-DesiredRansomwareProtectionState`
* Modified cmdlet `Update-AzNetAppFilesVolume`
   - Added parameter `-DesiredRansomwareProtectionState`
* Added cmdlet `Clear-AzNetAppFilesRansomwareReportSuspect`, `Get-AzNetAppFilesRansomwareReport`, `Get-AzNetAppFilesVolumeQuotaReport`
#### Az.Network 7.26.0 
* Modified cmdlet `New-AzFirewall`
   - Added parameter `-EdgeZone`

## 15.4.0 - March 2026
#### Az.Compute 11.4.0 
* Modified cmdlet `Add-AzVMDataDisk`
   - Added parameters `-DiskIOPSReadWrite`, `-DiskMBpsReadWrite`
* Modified cmdlet `New-AzDiskConfig`
   - Added parameter `-ActionOnDiskDelay`
* Modified cmdlet `New-AzDiskUpdateConfig`
   - Added parameter `-ActionOnDiskDelay`
* Modified cmdlet `New-AzSshKey`
   - Added parameters `-Location`, `-Tag`
* Modified cmdlet `Update-AzSshKey`
   - Added parameter `-Tag`
#### Az.Databricks 1.11.0 
* Modified cmdlet `New-AzDatabricksWorkspace`
   - Added parameter `-ComputeMode`
   - Changed the type of parameter `-ComplianceStandard` from `ComplianceStandard[]` to `String[]`
* Modified cmdlet `Update-AzDatabricksWorkspace`
   - Changed the type of parameter `-ComplianceStandard` from `ComplianceStandard[]` to `String[]`
#### Az.ElasticSan 1.7.0 
* Modified cmdlet `New-AzElasticSan`
   - Added parameters `-AutoScalePolicyEnforcement`, `-CapacityUnitScaleUpLimitTiB`, `-IncreaseCapacityUnitByTiB`, `-UnusedSizeTiB`
* Modified cmdlet `Update-AzElasticSan`
   - Added parameters `-AutoScalePolicyEnforcement`, `-CapacityUnitScaleUpLimitTiB`, `-IncreaseCapacityUnitByTiB`, `-UnusedSizeTiB`
* Added cmdlet `Test-AzElasticSanVolumeBackup`, `Test-AzElasticSanVolumeRestore`

## 15.3.0 - February 2026
#### Az.Compute 11.3.0 
* Added cmdlet `Convert-AzAvailabilitySet`, `Move-AzVirtualMachineToVmss`, `Start-AzAvailabilitySetMigration`, `Stop-AzAvailabilitySetMigration`, `Test-AzAvailabilitySetMigration`#### Az.DataProtection 2.9.0 
, `Get-AzDataProtectionSoftDeletedBackupVault`, `Search-AzDataProtectionSoftDeletedVaultBackupInstanceInAzGraph`, `Undo-AzDataProtectionVaultDeletion`
#### Az.Network 7.25.0 
* Modified cmdlet `New-AzPrivateEndpoint`
   - Added parameter `-IpVersionType`
* Added cmdlet `Get-AzVirtualNetworkAppliance`, `New-AzVirtualNetworkAppliance`, `Remove-AzVirtualNetworkAppliance`, `Update-AzVirtualNetworkAppliance`
#### Az.Storage 9.6.0 
* Modified cmdlet `Update-AzStorageFileServiceProperty`
   - Added parameters `-SmbEncryptionInTransitRequired`, `-NfsEncryptionInTransitRequired`

## 15.2.0 - January 2026
#### Az.Aks 7.1.0 
* Modified cmdlet `New-AzAksCluster`
   - Removed parameter `-AutoUpgradeChannel`
   - Added parameters `-NodeMessageOfTheDay`, `-NodeNetworkProfile`, `-NodeOSDiskType`, `-NodePodIPAllocationMode`, `-NodeEnableSecureBoot`, `-NodeEnableVtpm`, `-NodeSshAccess`, `-NodeTaint`, `-NodeWorkloadRuntime`, `-EnableAIToolchainOperator`, `-DisableApiServerRunCommand`, `-EnableApiServerVnetIntegration`, `-ApiServerSubnetId`, `-NodeOSAutoUpgradeChannel`, `-NodeAutoUpgradeChannel`, `-EnableMonitorMetric`, `-BootstrapArtifactSource`, `-BootstrapContainerRegistryId`, `-AssignKubeletIdentity`, `-EnableCostAnalysis`, `-EnableAdvancedNetworking`, `-EnableAdvancedNetworkingObservability`, `-EnableAdvancedNetworkingSecurity`, `-AdvancedNetworkingSecurityPolicy`, `-IPFamily`, `-LoadBalancerBackendPoolType`, `-LoadBalancerManagedOutboundIpCountIPv6`, `-NATGatewayIdleTimeoutInMinute`, `-NATGatewayManagedOutboundIpCount`, `-NetworkDataplane`, `-NetworkPluginMode`, `-EnableStaticEgressGateway`, `-NodeProvisioningMode`, `-NodeProvisioningDefaultPool`, `-NodeResourceGroupRestrictionLevel`, `-EnablePodIdentity`, `-EnablePodIdentityWithKubenet`, `-EnablePublicNetworkAccess`, `-EnableAzureKeyVaultKms`, `-AzureKeyVaultKmsKeyId`, `-AzureKeyVaultKmsNetworkAccess`, `-AzureKeyVaultKmsResourceId`, `-CustomCaTrustCertificate`, `-DefenderLogAnalyticsWorkspaceResourceId`, `-EnableDefenderSecurityMonitoring`, `-EnableImageCleaner`, `-ImageCleanerIntervalHour`, `-EnableWorkloadIdentity`, `-SupportPlan`, `-EnableKEDA`, `-EnableVerticalPodAutoscaler`, `-EnableBlobCSIDriver`, `-EnableDiskCSIDriver`, `-EnableFileCSIDriver`, `-EnableSnapshotCSIDriver`, `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `New-AzAksNodePool`
   - Added parameters `-OSDiskType`, `-WorkloadRuntime`, `-MessageOfTheDay`, `-PodIPAllocationMode`, `-GatewayPublicIPPrefixSize`, `-GPUDriver`, `-IfMatch`, `-IfNoneMatch`, `-NetworkProfile`, `-ScaleDownMode`, `-EnableSecureBoot`, `-EnableVtpm`, `-SshAccess`, `-MaxUnavailable`, `-DrainTimeoutInMinute`, `-NodeSoakDurationInMinute`, `-UndrainableNodeBehavior`
* Modified cmdlet `Set-AzAksCluster`
   - Removed parameter `-AutoUpgradeChannel`
   - Added parameters `-NodeTaint`, `-NodeWorkloadRuntime`, `-EnableAIToolchainOperator`, `-DisableApiServerRunCommand`, `-EnableApiServerVnetIntegration`, `-ApiServerSubnetId`, `-NodeOSAutoUpgradeChannel`, `-NodeAutoUpgradeChannel`, `-EnableMonitorMetric`, `-BootstrapArtifactSource`, `-BootstrapContainerRegistryId`, `-AssignKubeletIdentity`, `-EnableCostAnalysis`, `-EnableAdvancedNetworking`, `-EnableAdvancedNetworkingObservability`, `-EnableAdvancedNetworkingSecurity`, `-AdvancedNetworkingSecurityPolicy`, `-IPFamily`, `-LoadBalancerBackendPoolType`, `-LoadBalancerManagedOutboundIpCountIPv6`, `-NATGatewayIdleTimeoutInMinute`, `-NATGatewayManagedOutboundIpCount`, `-NetworkDataplane`, `-NetworkPluginMode`, `-EnableStaticEgressGateway`, `-NodeProvisioningMode`, `-NodeProvisioningDefaultPool`, `-NodeResourceGroupRestrictionLevel`, `-EnablePodIdentity`, `-EnablePodIdentityWithKubenet`, `-EnablePublicNetworkAccess`, `-EnableAzureKeyVaultKms`, `-AzureKeyVaultKmsKeyId`, `-AzureKeyVaultKmsNetworkAccess`, `-AzureKeyVaultKmsResourceId`, `-CustomCaTrustCertificate`, `-DefenderLogAnalyticsWorkspaceResourceId`, `-EnableDefenderSecurityMonitoring`, `-EnableImageCleaner`, `-ImageCleanerIntervalHour`, `-EnableWorkloadIdentity`, `-SupportPlan`, `-EnableKEDA`, `-EnableVerticalPodAutoscaler`, `-EnableBlobCSIDriver`, `-EnableDiskCSIDriver`, `-EnableFileCSIDriver`, `-EnableSnapshotCSIDriver`, `-IfMatch`, `-IfNoneMatch`
* Modified cmdlet `Update-AzAksNodePool`
   - Added parameters `-IfMatch`, `-IfNoneMatch`, `-NetworkProfile`, `-ScaleDownMode`, `-EnableSecureBoot`, `-EnableVtpm`, `-SshAccess`, `-MaxUnavailable`, `-DrainTimeoutInMinute`, `-NodeSoakDurationInMinute`, `-UndrainableNodeBehavior`
* Removed cmdlet `Get-AzAksManagedClusterOSOption`
* Modified cmdlet `New-AzAksMaintenanceConfiguration`
   - Added parameters `-AbsoluteMonthlyDayOfMonth`, `-AbsoluteMonthlyIntervalMonth`, `-DailyIntervalDay`, `-MaintenanceWindowDurationHour`, `-MaintenanceWindowNotAllowedDate`, `-MaintenanceWindowStartDate`, `-MaintenanceWindowStartTime`, `-MaintenanceWindowUtcOffset`, `-RelativeMonthlyDayOfWeek`, `-RelativeMonthlyIntervalMonth`, `-RelativeMonthlyWeekIndex`, `-WeeklyDayOfWeek`, `-WeeklyIntervalWeek`
* Modified cmdlet `Update-AzAksMaintenanceConfiguration`
   - Added parameters `-AbsoluteMonthlyDayOfMonth`, `-AbsoluteMonthlyIntervalMonth`, `-DailyIntervalDay`, `-MaintenanceWindowDurationHour`, `-MaintenanceWindowNotAllowedDate`, `-MaintenanceWindowStartDate`, `-MaintenanceWindowStartTime`, `-MaintenanceWindowUtcOffset`, `-RelativeMonthlyDayOfWeek`, `-RelativeMonthlyIntervalMonth`, `-RelativeMonthlyWeekIndex`, `-WeeklyDayOfWeek`, `-WeeklyIntervalWeek`
* Added cmdlet `Get-AzAksMachine`, `Get-AzAksManagedClusterKuberneteVersion`, `Get-AzAksManagedClusterMeshRevisionProfile`, `Get-AzAksManagedClusterMeshUpgradeProfile`, `Get-AzAksTrustedAccessRole`, `Get-AzAksTrustedAccessRoleBinding`, `New-AzAksTrustedAccessRoleBinding`, `Remove-AzAksAgentPoolMachine`, `Remove-AzAksTrustedAccessRoleBinding`, `Update-AzAksTrustedAccessRoleBinding`
#### Az.Compute 11.2.0 
* Modified cmdlet `New-AzVmss`
   - Added parameters `-ZonePlacementPolicy`, `-IncludeZone`, `-ExcludeZone`, `-HighSpeedInterconnectPlacement`
* Modified cmdlet `New-AzVmssConfig`
   - Added parameters `-ZonePlacementPolicy`, `-MaxZoneCount`, `-EnableMaxInstancePercentPerZone`, `-MaxInstancePercentPerZoneValue`, `-IncludeZone`, `-ExcludeZone`, `-HighSpeedInterconnectPlacement`
* Modified cmdlet `Update-AzVmss`
   - Added parameters `-MaxZoneCount`, `-EnableMaxInstancePercentPerZone`, `-MaxInstancePercentPerZoneValue`
#### Az.FrontDoor 2.1.0 
* Modified cmdlet `New-AzFrontDoorWafManagedRuleOverrideObject`
   - Added parameter `-Sensitivity`
#### Az.Migrate 2.11.0 
* Modified cmdlet `New-AzMigrateServerReplication`
   - Added parameter `-TargetCapacityReservationGroupId`
* Modified cmdlet `Set-AzMigrateServerReplication`
   - Added parameter `-TargetCapacityReservationGroupId`
* Modified cmdlet `Start-AzMigrateServerMigration`
   - Added parameter `-TargetCapacityReservationGroupId`
#### Az.RecoveryServices 7.11.0 
* Modified cmdlet `New-AzRecoveryServicesAsrReplicationProtectedItem`
   - Added parameter `-PlatformFaultDomain`
* Modified cmdlet `Set-AzRecoveryServicesAsrReplicationProtectedItem`
   - Added parameter `-PlatformFaultDomain`
* Modified cmdlet `Update-AzRecoveryServicesAsrProtectionDirection`
   - Added parameters `-RecoveryAvailabilityZone`, `-PlatformFaultDomain`
#### Az.Sql 6.4.0 
* Added cmdlet `Get-AzSqlDeletedServer`

## 15.1.0 - December 2025
#### Az.Compute 11.1.0 
* Modified cmdlet `Get-AzVmssVM`
   - Added parameter `-ResiliencyView`
#### Az.CosmosDB 1.19.0 
* Modified cmdlet `New-AzCosmosDBAccount`
   - Added parameters `-EnablePriorityBasedExecution`, `-DefaultPriorityLevel`
* Modified cmdlet `New-AzCosmosDBSqlVectorIndex`
   - Added parameters `-QuantizationByteSize`, `-IndexingSearchListSize`, `-VectorIndexShardKey`
* Modified cmdlet `Restore-AzCosmosDBAccount`
   - Added parameter `-SourceBackupLocation`
* Modified cmdlet `Update-AzCosmosDBAccount`
   - Added parameters `-EnablePriorityBasedExecution`, `-DefaultPriorityLevel`
* Added cmdlet `Add-AzCosmosDBFleetspaceAccount`, `Get-AzCosmosDBFleet`, `Get-AzCosmosDBFleetspace`, `Get-AzCosmosDBFleetspaceAccount`, `New-AzCosmosDBFleet`, `New-AzCosmosDBFleetspace`, `Remove-AzCosmosDBFleet`, `Remove-AzCosmosDBFleetspace`, `Remove-AzCosmosDBFleetspaceAccount`, `Update-AzCosmosDBFleet`, `Update-AzCosmosDBFleetspace`
#### Az.Migrate 2.10.1 
* Modified cmdlet `New-AzMigrateServerReplication`
   - Added parameter `-TargetCapacityReservationGroupId`
* Modified cmdlet `Set-AzMigrateServerReplication`
   - Added parameter `-TargetCapacityReservationGroupId`
* Modified cmdlet `Start-AzMigrateServerMigration`
   - Added parameter `-TargetCapacityReservationGroupId`
#### Az.Network 7.24.0 
* Modified cmdlet `New-AzNetworkVirtualAppliance`
   - Added parameter `-NvaInterfaceConfiguration`
* Modified cmdlet `New-AzNetworkWatcherFlowLog`
   - Added parameter `-RecordType`
* Modified cmdlet `Set-AzNetworkWatcherFlowLog`
   - Added parameter `-RecordType`
* Added cmdlet `New-AzNvaInterfaceConfiguration`

## 15.0.0 - November 2025
#### Az.Advisor 3.0.0 
* Modified cmdlet `Set-AzAdvisorConfiguration`
   - Changed the type of parameter `-LowCpuThreshold` from `CpuThreshold` to `String`
#### Az.ApplicationInsights 3.0.0 
* Modified cmdlet `Get-AzApplicationInsightsApiKey`
   - Added parameter `-ComponentInputObject`
* Modified cmdlet `Get-AzApplicationInsightsContinuousExport`
   - Added parameter `-ComponentInputObject`
* Modified cmdlet `Get-AzApplicationInsightsMyWorkbook`
   - Changed the type of parameter `-Category` from `CategoryType` to `String`
   - Changed the type of parameter `-Tag` from `String[]` to `List`1[System.String]`
* Modified cmdlet `Get-AzApplicationInsightsWorkbook`
   - Changed the type of parameter `-Category` from `CategoryType` to `String`
   - Changed the type of parameter `-Tag` from `String[]` to `List`1[System.String]`
* Modified cmdlet `Get-AzApplicationInsightsWorkbookRevision`
   - Added parameter `-WorkbookInputObject`
* Modified cmdlet `New-AzApplicationInsights`
   - Changed the type of parameter `-ApplicationType` from `ApplicationType` to `String`
   - Changed the type of parameter `-FlowType` from `FlowType` to `String`
   - Changed the type of parameter `-IngestionMode` from `IngestionMode` to `String`
   - Changed the type of parameter `-PublicNetworkAccessForIngestion` from `PublicNetworkAccessType` to `String`
   - Changed the type of parameter `-PublicNetworkAccessForQuery` from `PublicNetworkAccessType` to `String`
   - Changed the type of parameter `-RequestSource` from `RequestSource` to `String`
* Modified cmdlet `New-AzApplicationInsightsLinkedStorageAccount`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzApplicationInsightsMyWorkbook`
   - Removed parameter `-IdentityType`
   - Added parameters `-EnableSystemAssignedIdentity`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzApplicationInsightsWebTest`
   - Changed the type of parameter `-Kind` from `WebTestKindEnum` to `String`
* Modified cmdlet `New-AzApplicationInsightsWorkbook`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzApplicationInsightsWorkbookTemplate`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Remove-AzApplicationInsightsApiKey`
   - Added parameter `-ComponentInputObject`
* Modified cmdlet `Remove-AzApplicationInsightsContinuousExport`
   - Added parameter `-ComponentInputObject`
* Modified cmdlet `Update-AzApplicationInsights`
   - Changed the type of parameter `-ApplicationType` from `ApplicationType` to `String`
   - Changed the type of parameter `-FlowType` from `FlowType` to `String`
   - Changed the type of parameter `-IngestionMode` from `IngestionMode` to `String`
   - Changed the type of parameter `-PublicNetworkAccessForIngestion` from `PublicNetworkAccessType` to `String`
   - Changed the type of parameter `-PublicNetworkAccessForQuery` from `PublicNetworkAccessType` to `String`
   - Changed the type of parameter `-RequestSource` from `RequestSource` to `String`
* Modified cmdlet `Update-AzApplicationInsightsLinkedStorageAccount`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzApplicationInsightsWebTestTag`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzApplicationInsightsWorkbook`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzApplicationInsightsWorkbookTemplate`
   - Added parameters `-JsonFilePath`, `-JsonString`
#### Az.ArcResourceBridge 2.0.0 
* Modified cmdlet `Get-AzArcResourceBridgeTelemetryConfig`
   - Removed parameter `-InputObject`
   - Output type changed from ``String`` to ``IApplianceGetTelemetryConfigResult``
* Modified cmdlet `Get-AzArcResourceBridgeUpgradeGraph`
   - Added parameter `-ApplianceInputObject`
* Modified cmdlet `New-AzArcResourceBridge`
   - Removed parameter `-IdentityType`
   - Added parameters `-EnableSystemAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Distro` from `Distro` to `String`
   - Changed the type of parameter `-InfrastructureConfigProvider` from `Provider` to `String`
* Modified cmdlet `Update-AzArcResourceBridge`
   - Added parameters `-JsonFilePath`, `-JsonString`
#### Az.Attestation 3.0.0 
* Modified cmdlet `New-AzAttestationProvider`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzAttestationProvider`
   - Added parameters `-JsonFilePath`, `-JsonString`
#### Az.Automanage 2.0.0 
* Modified cmdlet `Get-AzAutomanageConfigProfileAssignment`
   - Added parameter `-ConfigurationProfileAssignmentInputObject`
* Modified cmdlet `Get-AzAutomanageConfigProfileHciAssignment`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Get-AzAutomanageConfigProfileHcrpAssignment`
   - Added parameter `-MachineInputObject`
* Modified cmdlet `Get-AzAutomanageHciReport`
   - Added parameters `-ClusterInputObject`, `-ConfigurationProfileAssignmentInputObject`
* Modified cmdlet `Get-AzAutomanageHcrpReport`
   - Added parameters `-ConfigurationProfileAssignmentInputObject`, `-MachineInputObject`
* Modified cmdlet `Get-AzAutomanageReport`
   - Added parameters `-ConfigurationProfileAssignmentInputObject`, `-ReportInputObject`
* Modified cmdlet `New-AzAutomanageConfigProfile`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzAutomanageConfigProfileAssignment`
   - Added parameters `-ConfigurationProfileAssignmentInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzAutomanageConfigProfileHciAssignment`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzAutomanageConfigProfileHcrpAssignment`
   - Added parameters `-MachineInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Remove-AzAutomanageConfigProfileAssignment`
   - Added parameter `-ConfigurationProfileAssignmentInputObject`
* Modified cmdlet `Remove-AzAutomanageConfigProfileHciAssignment`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Remove-AzAutomanageConfigProfileHcrpAssignment`
   - Added parameter `-MachineInputObject`
* Modified cmdlet `Update-AzAutomanageConfigProfile`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Added cmdlet `Update-AzAutomanageConfigProfileAssignment`, `Update-AzAutomanageConfigProfileHciAssignment`, `Update-AzAutomanageConfigProfileHcrpAssignment`
#### Az.Batch 4.0.0 
* Removed cmdlet `Get-AzBatchCertificate`, `Get-AzBatchRemoteDesktopProtocolFile`, `New-AzBatchCertificate`
* Modified cmdlet `New-AzBatchPool`
   - Removed parameters `-ResourceTag`, `-CertificateReferences`, `-ApplicationLicenses`, `-CloudServiceConfiguration`, `-CurrentNodeCommunicationMode`, `-TargetNodeCommunicationMode`
* Removed cmdlet `Remove-AzBatchCertificate`, `Stop-AzBatchCertificateDeletion`
#### Az.Cdn 6.0.0 
* Modified cmdlet `New-AzFrontDoorCdnOriginGroup`
   - Added parameters `-AuthenticationScope`, `-AuthenticationType`, `-UserAssignedIdentityId`
* Modified cmdlet `Update-AzFrontDoorCdnOriginGroup`
   - Added parameters `-AuthenticationScope`, `-AuthenticationType`, `-UserAssignedIdentityId`
* Added cmdlet `Add-AzCdnEdgeActionAttachment`, `Deploy-AzCdnEdgeActionVersionCode`, `Get-AzCdnEdgeAction`, `Get-AzCdnEdgeActionExecutionFilter`, `Get-AzCdnEdgeActionVersion`, `Get-AzCdnEdgeActionVersionCode`, `New-AzCdnEdgeAction`, `New-AzCdnEdgeActionExecutionFilter`, `New-AzCdnEdgeActionVersion`, `Remove-AzCdnEdgeAction`, `Remove-AzCdnEdgeActionAttachment`, `Remove-AzCdnEdgeActionExecutionFilter`, `Remove-AzCdnEdgeActionVersion`, `Update-AzCdnEdgeAction`, `Update-AzCdnEdgeActionExecutionFilter`, `Update-AzCdnEdgeActionVersion`
#### Az.Compute 11.0.0 
* Modified cmdlet `Add-AzVmGalleryApplication`
   - Added parameter `-EnableAutomaticUpgrade`
* Modified cmdlet `Add-AzVmssGalleryApplication`
   - Added parameter `-EnableAutomaticUpgrade`
* Modified cmdlet `New-AzVmGalleryApplication`
   - Added parameters `-EnableAutomaticUpgrade`, `-TreatFailureAsDeploymentFailure`
* Modified cmdlet `New-AzVmssGalleryApplication`
   - Added parameters `-EnableAutomaticUpgrade`, `-TreatFailureAsDeploymentFailure`
* Modified cmdlet `Get-AzGalleryApplication`
   - Added parameter `-GalleryInputObject`
* Modified cmdlet `Get-AzGalleryApplicationVersion`
   - Added parameters `-ApplicationInputObject`, `-GalleryInputObject`
   - Changed the type of parameter `-Expand` from `ReplicationStatusTypes` to `String`
* Modified cmdlet `Invoke-AzSpotPlacementScore`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzGalleryApplication`
   - Added parameters `-GalleryInputObject`, `-JsonString`, `-JsonFilePath`
   - Changed the type of parameter `-SupportedOSType` from `OperatingSystemTypes` to `String`
* Modified cmdlet `New-AzGalleryApplicationVersion`
   - Added parameters `-GalleryInputObject`, `-ApplicationInputObject`, `-JsonString`, `-JsonFilePath`
* Modified cmdlet `Remove-AzGalleryApplication`
   - Added parameter `-GalleryInputObject`
* Modified cmdlet `Remove-AzGalleryApplicationVersion`
   - Added parameters `-ApplicationInputObject`, `-GalleryInputObject`
* Modified cmdlet `Remove-AzVMRunCommand`
   - Added parameter `-VirtualMachineInputObject`
* Modified cmdlet `Remove-AzVmssVMRunCommand`
   - Added parameters `-VirtualMachineInputObject`, `-VirtualMachineScaleSetInputObject`
* Modified cmdlet `Set-AzVMRunCommand`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Set-AzVmssVMRunCommand`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzGalleryApplication`
   - Added parameters `-GalleryInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzGalleryApplicationVersion`
   - Added parameters `-GalleryInputObject`, `-ApplicationInputObject`, `-JsonString`, `-JsonFilePath`
#### Az.ConfidentialLedger 2.0.0 
* Modified cmdlet `New-AzConfidentialLedger`
   - Changed the type of parameter `-LedgerType` from `LedgerType` to `String`
* Modified cmdlet `New-AzConfidentialLedgerAADBasedSecurityPrincipalObject`
   - Changed the type of parameter `-LedgerRoleName` from `LedgerRoleName` to `String`
* Modified cmdlet `New-AzConfidentialLedgerCertBasedSecurityPrincipalObject`
   - Changed the type of parameter `-LedgerRoleName` from `LedgerRoleName` to `String`
* Modified cmdlet `Update-AzConfidentialLedger`
   - Changed the type of parameter `-LedgerType` from `LedgerType` to `String`
#### Az.ContainerRegistry 5.0.0 
* Modified cmdlet `Get-AzContainerRegistryAgentPool`
   - Added parameter `-RegistryInputObject`
* Modified cmdlet `Get-AzContainerRegistryAgentPoolQueueStatus`
   - Added parameter `-RegistryInputObject`
   - Output type changed from ``Int32`` to ``IAgentPoolQueueStatus``
* Modified cmdlet `Get-AzContainerRegistryExportPipeline`
   - Added parameter `-RegistryInputObject`
* Modified cmdlet `Get-AzContainerRegistryImportPipeline`
   - Added parameter `-RegistryInputObject`
* Modified cmdlet `Get-AzContainerRegistryScopeMap`
   - Added parameter `-RegistryInputObject`
* Modified cmdlet `Get-AzContainerRegistryToken`
   - Added parameter `-RegistryInputObject`
* Modified cmdlet `Get-AzContainerRegistryWebhookCallbackConfig`
   - Added parameter `-RegistryInputObject`
* Modified cmdlet `Import-AzContainerRegistryImage`
   - Removed parameter `-Parameter`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Mode` from `ImportMode` to `String`
* Modified cmdlet `New-AzContainerRegistry`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Sku` from `SkuName` to `String`
   - Changed the type of parameter `-AzureAdAuthenticationAsArmPolicyStatus` from `AzureAdAuthenticationAsArmPolicyStatus` to `String`
   - Changed the type of parameter `-EncryptionStatus` from `EncryptionStatus` to `String`
   - Changed the type of parameter `-ExportPolicyStatus` from `ExportPolicyStatus` to `String`
   - Changed the type of parameter `-NetworkRuleBypassOption` from `NetworkRuleBypassOptions` to `String`
   - Changed the type of parameter `-NetworkRuleSetDefaultAction` from `DefaultAction` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
   - Changed the type of parameter `-QuarantinePolicyStatus` from `PolicyStatus` to `String`
   - Changed the type of parameter `-RetentionPolicyStatus` from `PolicyStatus` to `String`
   - Changed the type of parameter `-SoftDeletePolicyStatus` from `PolicyStatus` to `String`
   - Changed the type of parameter `-TrustPolicyStatus` from `PolicyStatus` to `String`
   - Changed the type of parameter `-TrustPolicyType` from `TrustPolicyType` to `String`
   - Changed the type of parameter `-ZoneRedundancy` from `ZoneRedundancy` to `String`
* Modified cmdlet `New-AzContainerRegistryAgentPool`
   - Added parameters `-RegistryInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-OS` from `OS` to `String`
* Modified cmdlet `New-AzContainerRegistryCredentials`
   - Added parameters `-JsonString`, `-JsonFilePath`
   - Changed the type of parameter `-Name` from `TokenPasswordName` to `String`
   - Output type changed from ``PSContainerRegistryCredential`` to ``IGenerateCredentialsResult``
* Modified cmdlet `New-AzContainerRegistryExportPipeline`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-RegistryInputObject`, `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Option` from `PipelineOptions[]` to `String[]`
* Modified cmdlet `New-AzContainerRegistryImportPipeline`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-RegistryInputObject`, `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Option` from `PipelineOptions[]` to `String[]`
   - Changed the type of parameter `-SourceTriggerStatus` from `TriggerStatus` to `String`
   - Changed the type of parameter `-SourceType` from `PipelineSourceType` to `String`
* Modified cmdlet `New-AzContainerRegistryIPRuleObject`
   - Changed the type of parameter `-Action` from `Action` to `String`
* Modified cmdlet `New-AzContainerRegistryReplication`
   - Added parameters `-RegistryInputObject`, `-JsonString`, `-JsonFilePath`
   - Changed the type of parameter `-ZoneRedundancy` from `ZoneRedundancy` to `String`
* Modified cmdlet `New-AzContainerRegistryScopeMap`
   - Added parameters `-RegistryInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzContainerRegistryToken`
   - Added parameters `-RegistryInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Status` from `TokenStatus` to `String`
* Modified cmdlet `New-AzContainerRegistryWebhook`
   - Added parameters `-RegistryInputObject`, `-JsonString`, `-JsonFilePath`
   - Changed the type of parameter `-Action` from `WebhookAction[]` to `String[]`
   - Changed the type of parameter `-Status` from `WebhookStatus` to `String`
* Modified cmdlet `Remove-AzContainerRegistryAgentPool`
   - Added parameter `-RegistryInputObject`
* Modified cmdlet `Remove-AzContainerRegistryExportPipeline`
   - Added parameter `-RegistryInputObject`
* Modified cmdlet `Remove-AzContainerRegistryImportPipeline`
   - Added parameter `-RegistryInputObject`
* Modified cmdlet `Remove-AzContainerRegistryReplication`
   - Added parameter `-RegistryInputObject`
* Modified cmdlet `Remove-AzContainerRegistryScopeMap`
   - Added parameter `-RegistryInputObject`
* Modified cmdlet `Remove-AzContainerRegistryToken`
   - Added parameter `-RegistryInputObject`
* Modified cmdlet `Remove-AzContainerRegistryWebhook`
   - Added parameter `-RegistryInputObject`
* Modified cmdlet `Test-AzContainerRegistryNameAvailability`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Test-AzContainerRegistryWebhook`
   - Output type changed from ``String`` to ``IEventInfo``
* Modified cmdlet `Update-AzContainerRegistry`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`, `-ZoneRedundancy`
   - Changed the type of parameter `-AzureAdAuthenticationAsArmPolicyStatus` from `AzureAdAuthenticationAsArmPolicyStatus` to `String`
   - Changed the type of parameter `-EncryptionStatus` from `EncryptionStatus` to `String`
   - Changed the type of parameter `-ExportPolicyStatus` from `ExportPolicyStatus` to `String`
   - Changed the type of parameter `-NetworkRuleBypassOption` from `NetworkRuleBypassOptions` to `String`
   - Changed the type of parameter `-NetworkRuleSetDefaultAction` from `DefaultAction` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
   - Changed the type of parameter `-QuarantinePolicyStatus` from `PolicyStatus` to `String`
   - Changed the type of parameter `-RetentionPolicyStatus` from `PolicyStatus` to `String`
   - Changed the type of parameter `-Sku` from `SkuName` to `String`
   - Changed the type of parameter `-SoftDeletePolicyStatus` from `PolicyStatus` to `String`
   - Changed the type of parameter `-TrustPolicyStatus` from `PolicyStatus` to `String`
   - Changed the type of parameter `-TrustPolicyType` from `TrustPolicyType` to `String`
* Modified cmdlet `Update-AzContainerRegistryAgentPool`
   - Added parameters `-RegistryInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzContainerRegistryCredential`
   - Removed parameter `-RegenerateCredentialParameter`
   - Added parameters `-JsonString`, `-JsonFilePath`
   - Changed the type of parameter `-PasswordName` from `PasswordName` to `String`
   - Output type changed from ``PSContainerRegistryCredential`` to ``IRegistryListCredentialsResult``
* Modified cmdlet `Update-AzContainerRegistryScopeMap`
   - Added parameters `-RegistryInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzContainerRegistryToken`
   - Added parameters `-RegistryInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Status` from `TokenStatus` to `String`
* Modified cmdlet `Update-AzContainerRegistryWebhook`
   - Added parameters `-RegistryInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Action` from `WebhookAction[]` to `String[]`
   - Changed the type of parameter `-Status` from `WebhookStatus` to `String`
* Added cmdlet `Update-AzContainerRegistryExportPipeline`, `Update-AzContainerRegistryImportPipeline`
#### Az.DevCenter 3.0.0 
* Modified cmdlet `Get-AzDevCenterAdminImage`
   - Added parameter `-ProjectName`
* Modified cmdlet `Get-AzDevCenterAdminImageVersion`
   - Added parameter `-ProjectName`
* Removed cmdlet `Get-AzDevCenterAdminPlan`, `Get-AzDevCenterAdminPlanMember`
* Modified cmdlet `Get-AzDevCenterAdminSku`
   - `SupportsShouldProcess` changed from False to True
   - Added parameters `-ProjectName`, `-ResourceGroupName`
* Modified cmdlet `New-AzDevCenterAdminDevCenter`
   - Removed parameter `-PlanId`
* Removed cmdlet `New-AzDevCenterAdminPlan`, `New-AzDevCenterAdminPlanMember`
* Modified cmdlet `New-AzDevCenterAdminPool`
   - Added parameters `-ActiveHourConfigurationAutoStartEnableStatus`, `-ActiveHourConfigurationDefaultEndTimeHour`, `-ActiveHourConfigurationDefaultStartTimeHour`, `-ActiveHourConfigurationDefaultTimeZone`, `-ActiveHourConfigurationKeepAwakeEnableStatus`, `-DevBoxDefinitionType`, `-DevBoxTunnelEnableStatus`, `-ImageReferenceId`, `-SkuCapacity`, `-SkuFamily`, `-SkuName`, `-SkuSize`, `-SkuTier`, `-StopOnNoConnectGracePeriodMinute`, `-StopOnNoConnectStatus`
* Modified cmdlet `New-AzDevCenterAdminProject`
   - Added parameters `-AzureAiServiceSettingAzureAiServicesMode`, `-CustomizationSettingIdentity`, `-CustomizationSettingUserCustomizationsEnableStatus`, `-DevBoxAutoDeleteSettingDeleteMode`, `-DevBoxAutoDeleteSettingGracePeriod`, `-DevBoxAutoDeleteSettingInactiveThreshold`, `-ServerlessGpuSessionSettingMaxConcurrentSessionsPerProject`, `-ServerlessGpuSessionSettingServerlessGpuSessionsMode`, `-WorkspaceStorageSettingWorkspaceStorageMode`
* Modified cmdlet `New-AzDevCenterUserDevBox`
   - Removed parameter `-LocalAdministrator`
* Removed cmdlet `Remove-AzDevCenterAdminPlan`, `Remove-AzDevCenterAdminPlanMember`
* Modified cmdlet `Remove-AzDevCenterUserEnvironment`
   - Added parameter `-Force`
* Modified cmdlet `Update-AzDevCenterAdminDevCenter`
   - Removed parameter `-PlanId`
* Removed cmdlet `Update-AzDevCenterAdminPlan`, `Update-AzDevCenterAdminPlanMember`
* Modified cmdlet `Update-AzDevCenterAdminPool`
   - Added parameters `-ActiveHourConfigurationAutoStartEnableStatus`, `-ActiveHourConfigurationDefaultEndTimeHour`, `-ActiveHourConfigurationDefaultStartTimeHour`, `-ActiveHourConfigurationDefaultTimeZone`, `-ActiveHourConfigurationKeepAwakeEnableStatus`, `-DevBoxDefinitionType`, `-DevBoxTunnelEnableStatus`, `-ImageReferenceId`, `-SkuCapacity`, `-SkuFamily`, `-SkuName`, `-SkuSize`, `-SkuTier`, `-StopOnNoConnectGracePeriodMinute`, `-StopOnNoConnectStatus`
* Modified cmdlet `Update-AzDevCenterAdminProject`
   - Added parameters `-AzureAiServiceSettingAzureAiServicesMode`, `-CustomizationSettingIdentity`, `-CustomizationSettingUserCustomizationsEnableStatus`, `-DevBoxAutoDeleteSettingDeleteMode`, `-DevBoxAutoDeleteSettingGracePeriod`, `-DevBoxAutoDeleteSettingInactiveThreshold`, `-ServerlessGpuSessionSettingMaxConcurrentSessionsPerProject`, `-ServerlessGpuSessionSettingServerlessGpuSessionsMode`, `-WorkspaceStorageSettingWorkspaceStorageMode`
* Added cmdlet `Approve-AzDevCenterUserDevBox`, `Build-AzDevCenterAdminProjectCatalogImageDefinitionImage`, `Disable-AzDevCenterUserDevBoxAddOn`, `Enable-AzDevCenterUserDevBoxAddOn`, `Get-AzDevCenterAdminProjectCatalogImageDefinition`, `Get-AzDevCenterAdminProjectCatalogImageDefinitionBuild`, `Get-AzDevCenterAdminProjectCatalogImageDefinitionBuildDetail`, `Get-AzDevCenterAdminProjectCatalogImageDefinitionErrorDetail`, `Get-AzDevCenterAdminProjectPolicy`, `Get-AzDevCenterUserDevBoxAddon`, `Get-AzDevCenterUserDevBoxImagingTaskLog`, `Get-AzDevCenterUserDevBoxSnapshot`, `Get-AzDevCenterUserDevCenterApproval`, `Get-AzDevCenterUserEnvironmentTypeAbility`, `Get-AzDevCenterUserProjectAbility`, `Invoke-AzDevCenterUserAlignPool`, `New-AzDevCenterAdminProjectPolicy`, `New-AzDevCenterUserDevBoxAddOn`, `New-AzDevCenterUserDevBoxSnapshot`, `Remove-AzDevCenterAdminProjectPolicy`, `Remove-AzDevCenterUserDevBoxAddOn`, `Restore-AzDevCenterUserDevBoxSnapshot`, `Set-AzDevCenterUserDevBoxActiveHour`, `Stop-AzDevCenterAdminProjectCatalogImageDefinitionBuild`, `Update-AzDevCenterAdminProjectPolicy`
#### Az.ElasticSan 1.5.0 
* Modified cmdlet `New-AzElasticSan`
   - Added parameters `-AutoScalePolicyEnforcement`, `-CapacityUnitScaleUpLimitTiB`, `-IncreaseCapacityUnitByTiB`, `-UnusedSizeTiB`
* Modified cmdlet `Update-AzElasticSan`
   - Added parameters `-AutoScalePolicyEnforcement`, `-CapacityUnitScaleUpLimitTiB`, `-IncreaseCapacityUnitByTiB`, `-UnusedSizeTiB`
* Added cmdlet `Test-AzElasticSanVolumeBackup`, `Test-AzElasticSanVolumeRestore`
#### Az.FrontDoor 2.0.0 
* Modified cmdlet `Disable-AzFrontDoorCustomDomainHttps`
   - Removed parameter `-ResourceId`
   - Added parameters `-SubscriptionId`, `-FrontDoorInputObject`, `-AsJob`, `-NoWait`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-FrontDoorName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-FrontendEndpointName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSFrontendEndpoint` to `IFrontDoorIdentity`
   - Parameter `-InputObject` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSFrontendEndpoint`` to ``Boolean``
* Modified cmdlet `Enable-AzFrontDoorCustomDomainHttps`
   - Removed parameter `-ResourceId`
   - Added parameters `-SubscriptionId`, `-FrontDoorInputObject`, `-JsonString`, `-JsonFilePath`, `-AsJob`, `-NoWait`, `-PassThru`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-FrontDoorName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-FrontendEndpointName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSFrontendEndpoint` to `IFrontDoorIdentity`
   - Parameter `-InputObject` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSFrontendEndpoint`` to ``Boolean``
* Modified cmdlet `Get-AzFrontDoor`
   - Added parameters `-SubscriptionId`, `-InputObject`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `FrontDoorName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSFrontDoor`` to ``IFrontDoor``
* Modified cmdlet `Get-AzFrontDoorFrontendEndpoint`
   - Removed parameters `-FrontDoorObject`, `-ResourceId`
   - Added parameters `-SubscriptionId`, `-FrontDoorInputObject`, `-InputObject`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-FrontDoorName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `FrontendEndpointName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSFrontendEndpoint`` to ``IFrontendEndpoint``
* Modified cmdlet `Get-AzFrontDoorRulesEngine`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-FrontDoorInputObject`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-FrontDoorName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `RulesEngineName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSRulesEngine`` to ``IRulesEngine``
* Modified cmdlet `Get-AzFrontDoorWafManagedRuleSetDefinition`
   - Added parameter `-SubscriptionId`
   - Output type changed from ``PSManagedRuleSetDefinition`` to ``IManagedRuleSetDefinition``
* Modified cmdlet `Get-AzFrontDoorWafPolicy`
   - Added parameters `-SubscriptionId`, `-InputObject`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `PolicyName` to parameter `-Name`
   - Output type changed from ``PSPolicy`` to ``IWebApplicationFirewallPolicy``
* Modified cmdlet `New-AzFrontDoor`
   - Added parameters `-SubscriptionId`, `-FriendlyName`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `FrontDoorName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-RoutingRule` from `PSRoutingRule[]` to `IRoutingRule[]`
   - Changed the type of parameter `-BackendPool` from `PSBackendPool[]` to `IBackendPool[]`
   - Changed the type of parameter `-FrontendEndpoint` from `PSFrontendEndpoint[]` to `IFrontendEndpoint[]`
   - Changed the type of parameter `-LoadBalancingSetting` from `PSLoadBalancingSetting[]` to `ILoadBalancingSettingsModel[]`
   - Changed the type of parameter `-HealthProbeSetting` from `PSHealthProbeSetting[]` to `IHealthProbeSettingsModel[]`
   - Changed the type of parameter `-EnabledState` from `PSEnabledState` to `String`
   - Changed the type of parameter `-BackendPoolsSetting` from `PSBackendPoolsSetting` to `IBackendPoolsSettings`
   - Output type changed from ``PSFrontDoor`` to ``IFrontDoor``
* Modified cmdlet `New-AzFrontDoorBackendObject`
   - Changed the type of parameter `-EnabledState` from `PSEnabledState` to `String`
   - Output type changed from ``PSBackend`` to ``Backend``
* Modified cmdlet `New-AzFrontDoorBackendPoolObject`
   - Added parameter `-Id`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-FrontDoorName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-Backend` from `PSBackend[]` to `IBackend[]`
   - Parameter `-Backend` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-LoadBalancingSettingsName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-HealthProbeSettingsName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSBackendPool`` to ``BackendPool``
* Modified cmdlet `New-AzFrontDoorBackendPoolsSettingObject`
   - Changed the type of parameter `-EnforceCertificateNameCheck` from `PSEnabledState` to `String`
   - Output type changed from ``PSBackendPoolsSetting`` to ``BackendPoolsSettings``
* Modified cmdlet `New-AzFrontDoorFrontendEndpointObject`
   - Removed parameter `-WebApplicationFirewallPolicyLink`
   - Added parameters `-WebApplicationFirewallPolicyLinkId`, `-Id`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-SessionAffinityEnabledState` from `PSEnabledState` to `String`
   - Output type changed from ``PSFrontendEndpoint`` to ``FrontendEndpoint``
* Modified cmdlet `New-AzFrontDoorHeaderActionObject`
   - Changed the type of parameter `-HeaderActionType` from `PSHeaderActionType` to `String`
   - Output type changed from ``PSHeaderAction`` to ``HeaderAction``
* Modified cmdlet `New-AzFrontDoorHealthProbeSettingObject`
   - Added parameter `-Id`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-Protocol` from `PSProtocol` to `String`
   - Changed the type of parameter `-EnabledState` from `PSEnabledState` to `String`
   - Output type changed from ``PSHealthProbeSetting`` to ``HealthProbeSettingsModel``
* Modified cmdlet `New-AzFrontDoorLoadBalancingSettingObject`
   - Added parameter `-Id`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSLoadBalancingSetting`` to ``LoadBalancingSettingsModel``
* Modified cmdlet `New-AzFrontDoorRoutingRuleObject`
   - Removed parameters `-PatternToMatch`, `-RulesEngineName`
   - Added parameters `-PatternsToMatch`, `-RouteConfiguration`, `-RuleEngineName`, `-WebApplicationFirewallPolicyLinkId`, `-Id`, `-CacheDuration`, `-QueryParameter`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-FrontDoorName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-FrontendEndpointName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-BackendPoolName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-AcceptedProtocol` from `PSProtocol[]` to `String[]`
   - Changed the type of parameter `-DynamicCompression` from `PSEnabledState` to `String`
   - Changed the type of parameter `-EnabledState` from `PSEnabledState` to `String`
   - Output type changed from ``PSRoutingRule`` to ``RoutingRule``
* Modified cmdlet `New-AzFrontDoorRulesEngine`
   - Added parameters `-SubscriptionId`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-FrontDoorName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `RulesEngineName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-Rule` from `PSRulesEngineRule[]` to `IRulesEngineRule[]`
   - Output type changed from ``PSRulesEngine`` to ``IRulesEngine``
* Modified cmdlet `New-AzFrontDoorRulesEngineActionObject`
   - Added parameters `-RouteConfigurationOverride`, `-CacheDuration`, `-QueryParameter`
   - Changed the type of parameter `-RequestHeaderAction` from `List`1[Microsoft.Azure.Commands.FrontDoor.Models.PSHeaderAction]` to `IHeaderAction[]`
   - Changed the type of parameter `-ResponseHeaderAction` from `List`1[Microsoft.Azure.Commands.FrontDoor.Models.PSHeaderAction]` to `IHeaderAction[]`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-FrontDoorName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-BackendPoolName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-DynamicCompression` from `PSEnabledState` to `String`
   - Output type changed from ``PSRulesEngineAction`` to ``RulesEngineAction``
* Modified cmdlet `New-AzFrontDoorRulesEngineMatchConditionObject`
   - Changed the type of parameter `-MatchVariable` from `PSRulesEngineMatchVariable` to `String`
   - Changed the type of parameter `-Operator` from `PSRulesEngineOperator` to `String`
   - Changed the type of parameter `-Transform` from `PSTransform[]` to `String[]`
   - Output type changed from ``PSRulesEngineMatchCondition`` to ``RulesEngineMatchCondition``
* Modified cmdlet `New-AzFrontDoorRulesEngineRuleObject`
   - Changed the type of parameter `-Action` from `PSRulesEngineAction` to `IRulesEngineAction`
   - Changed the type of parameter `-MatchProcessingBehavior` from `PSMatchProcessingBehavior` to `String`
   - Changed the type of parameter `-MatchCondition` from `PSRulesEngineMatchCondition[]` to `IRulesEngineMatchCondition[]`
   - Output type changed from ``PSRulesEngineRule`` to ``RulesEngineRule``
* Modified cmdlet `New-AzFrontDoorWafCustomRuleGroupByVariableObject`
   - Output type changed from ``PSFrontDoorWafCustomRuleGroupByVariable`` to ``GroupByVariable``
* Modified cmdlet `New-AzFrontDoorWafCustomRuleObject`
   - Removed parameter `-CustomRule`
   - Added parameter `-GroupByCustomRule`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-MatchCondition` from `PSMatchCondition[]` to `IMatchCondition[]`
   - Parameter `-MatchCondition` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-RateLimitDurationInMinutes` from `Int32` to `Nullable`1[System.Int32]`
   - Changed the type of parameter `-RateLimitThreshold` from `Nullable`1[System.Int32]` to `Int32`
   - Output type changed from ``PSCustomRule`` to ``CustomRule``
* Modified cmdlet `New-AzFrontDoorWafLogScrubbingRuleObject`
   - Output type changed from ``PSFrontDoorWafLogScrubbingRule`` to ``WebApplicationFirewallScrubbingRules``
* Modified cmdlet `New-AzFrontDoorWafLogScrubbingSettingObject`
   - Changed the type of parameter `-ScrubbingRule` from `PSFrontDoorWafLogScrubbingRule[]` to `IWebApplicationFirewallScrubbingRules[]`
   - Output type changed from ``PSFrontDoorWafLogScrubbingSetting`` to ``PolicySettingsLogScrubbing``
* Modified cmdlet `New-AzFrontDoorWafManagedRuleExclusionObject`
   - Output type changed from ``PSManagedRuleExclusion`` to ``ManagedRuleExclusion``
* Modified cmdlet `New-AzFrontDoorWafManagedRuleObject`
   - Added parameter `-RuleSetAction`
   - Changed the type of parameter `-RuleGroupOverride` from `PSAzureRuleGroupOverride[]` to `IManagedRuleGroupOverride[]`
   - Changed the type of parameter `-Exclusion` from `PSManagedRuleExclusion[]` to `IManagedRuleExclusion[]`
   - Output type changed from ``PSAzureManagedRule`` to ``ManagedRuleSet``
* Modified cmdlet `New-AzFrontDoorWafManagedRuleOverrideObject`
   - Changed the type of parameter `-Exclusion` from `PSManagedRuleExclusion[]` to `IManagedRuleExclusion[]`
   - Output type changed from ``PSAzureManagedRuleOverride`` to ``ManagedRuleOverride``
* Modified cmdlet `New-AzFrontDoorWafMatchConditionObject`
   - Output type changed from ``PSMatchCondition`` to ``MatchCondition``
* Modified cmdlet `New-AzFrontDoorWafPolicy`
   - Removed parameters `-ManagedRule`, `-Sku`
   - Added parameters `-SubscriptionId`, `-Etag`, `-ManagedRuleSet`, `-SkuName`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`
   - Added parameter alias `PolicyName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-EnabledState` from `PSEnabledState` to `String`
   - Changed the type of parameter `-Customrule` from `PSCustomRule[]` to `ICustomRule[]`
   - Parameter `-Customrule` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-LogScrubbingSetting` from `PSFrontDoorWafLogScrubbingSetting` to `IPolicySettingsLogScrubbing`
   - Output type changed from ``PSPolicy`` to ``IWebApplicationFirewallPolicy``
* Modified cmdlet `New-AzFrontDoorWafRuleGroupOverrideObject`
   - Changed the type of parameter `-ManagedRuleOverride` from `PSAzureManagedRuleOverride[]` to `IManagedRuleOverride[]`
   - Changed the type of parameter `-Exclusion` from `PSManagedRuleExclusion[]` to `IManagedRuleExclusion[]`
   - Output type changed from ``PSAzureRuleGroupOverride`` to ``ManagedRuleGroupOverride``
* Modified cmdlet `Remove-AzFrontDoor`
   - Removed parameter `-ResourceId`
   - Added parameters `-SubscriptionId`, `-AsJob`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `FrontDoorName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSFrontDoor` to `IFrontDoorIdentity`
   - Parameter `-InputObject` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `Remove-AzFrontDoorContent`
   - Added parameters `-SubscriptionId`, `-InputObject`, `-ContentFilePath`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `Remove-AzFrontDoorRulesEngine`
   - Removed parameter `-ResourceId`
   - Added parameters `-SubscriptionId`, `-FrontDoorInputObject`, `-AsJob`, `-NoWait`
   - Changed the type of parameter `-InputObject` from `PSRulesEngine` to `IFrontDoorIdentity`
   - Parameter `-InputObject` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-FrontDoorName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `RulesEngineName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `Remove-AzFrontDoorWafPolicy`
   - Removed parameter `-ResourceId`
   - Added parameters `-SubscriptionId`, `-AsJob`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `PolicyName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSPolicy` to `IFrontDoorIdentity`
   - Parameter `-InputObject` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `Set-AzFrontDoor`
   - Removed parameters `-InputObject`, `-ResourceId`
   - Added parameters `-SubscriptionId`, `-FriendlyName`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `FrontDoorName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-RoutingRule` from `PSRoutingRule[]` to `IRoutingRule[]`
   - Changed the type of parameter `-BackendPool` from `PSBackendPool[]` to `IBackendPool[]`
   - Changed the type of parameter `-FrontendEndpoint` from `PSFrontendEndpoint[]` to `IFrontendEndpoint[]`
   - Changed the type of parameter `-LoadBalancingSetting` from `PSLoadBalancingSetting[]` to `ILoadBalancingSettingsModel[]`
   - Changed the type of parameter `-HealthProbeSetting` from `PSHealthProbeSetting[]` to `IHealthProbeSettingsModel[]`
   - Changed the type of parameter `-EnabledState` from `PSEnabledState` to `String`
   - Changed the type of parameter `-BackendPoolsSetting` from `PSBackendPoolsSetting` to `IBackendPoolsSettings`
   - Output type changed from ``PSFrontDoor`` to ``IFrontDoor``
* Modified cmdlet `Set-AzFrontDoorRulesEngine`
   - Removed parameters `-InputObject`, `-ResourceId`
   - Added parameters `-SubscriptionId`, `-AsJob`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-FrontDoorName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `RulesEngineName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-Rule` from `PSRulesEngineRule[]` to `IRulesEngineRule[]`
   - Output type changed from ``PSRulesEngine`` to ``IRulesEngine``
* Modified cmdlet `Update-AzFrontDoorWafPolicy`
   - Removed parameters `-ResourceId`, `-ManagedRule`
   - Added parameters `-SubscriptionId`, `-Etag`, `-ManagedRuleSet`, `-SkuName`, `-Tag`, `-AsJob`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Added parameter alias `PolicyName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSPolicy` to `IFrontDoorIdentity`
   - Parameter `-InputObject` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-EnabledState` from `PSEnabledState` to `String`
   - Changed the type of parameter `-Customrule` from `PSCustomRule[]` to `ICustomRule[]`
   - Changed the type of parameter `-LogScrubbingSetting` from `PSFrontDoorWafLogScrubbingSetting` to `IPolicySettingsLogScrubbing`
   - Output type changed from ``PSPolicy`` to ``IWebApplicationFirewallPolicy``
* Added cmdlet `New-AzFrontDoorCacheConfigurationObject`, `New-AzFrontDoorForwardingConfigurationObject`, `New-AzFrontDoorPolicySettingsObject`, `New-AzFrontDoorRedirectConfigurationObject`
#### Az.HealthcareApis 3.0.0 
* Modified cmdlet `Get-AzHealthcareDicomService`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Get-AzHealthcareFhirService`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Get-AzHealthcareIotConnector`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Get-AzHealthcareIotConnectorFhirDestination`
   - Added parameters `-IotconnectorInputObject`, `-WorkspaceInputObject`
* Modified cmdlet `New-AzHealthcareApisService`
   - Removed parameter `-IdentityType`
   - Added parameters `-EnableSystemAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Kind` from `Kind` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
* Modified cmdlet `New-AzHealthcareApisWorkspace`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
* Modified cmdlet `New-AzHealthcareDicomService`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-WorkspaceInputObject`, `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`, `-JsonString`, `-JsonFilePath`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
* Modified cmdlet `New-AzHealthcareFhirService`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-WorkspaceInputObject`, `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`, `-JsonString`, `-JsonFilePath`
   - Changed the type of parameter `-Kind` from `FhirServiceKind` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
   - Changed the type of parameter `-ResourceVersionPolicyConfigurationDefault` from `FhirResourceVersionPolicy` to `String`
* Modified cmdlet `New-AzHealthcareIotConnector`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-WorkspaceInputObject`, `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`, `-JsonString`, `-JsonFilePath`
* Modified cmdlet `New-AzHealthcareIotConnectorFhirDestination`
   - Added parameters `-WorkspaceInputObject`, `-IotconnectorInputObject`, `-JsonString`, `-JsonFilePath`
   - Changed the type of parameter `-ResourceIdentityResolutionType` from `IotIdentityResolutionType` to `String`
* Modified cmdlet `Remove-AzHealthcareDicomService`
   - Added parameter `-DicomserviceInputObject`
* Modified cmdlet `Remove-AzHealthcareFhirService`
   - Added parameter `-FhirserviceInputObject`
* Modified cmdlet `Remove-AzHealthcareIotConnector`
   - Added parameter `-IotconnectorInputObject`
* Modified cmdlet `Remove-AzHealthcareIotConnectorFhirDestination`
   - Added parameters `-IotconnectorInputObject`, `-WorkspaceInputObject`
* Modified cmdlet `Test-AzHealthcareServiceNameAvailability`
   - Removed parameter `-InputObject`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzHealthcareApisService`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
* Modified cmdlet `Update-AzHealthcareApisWorkspace`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzHealthcareDicomService`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-WorkspaceInputObject`, `-EnableSystemAssignedIdentity`, `-Etag`, `-PublicNetworkAccess`, `-UserAssignedIdentity`
* Modified cmdlet `Update-AzHealthcareFhirService`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-WorkspaceInputObject`, `-AccessPolicyObjectId`, `-AcrConfigurationLoginServer`, `-AcrConfigurationOciArtifact`, `-AllowCorsCredential`, `-Audience`, `-Authority`, `-CorsHeader`, `-CorsMaxAge`, `-CorsMethod`, `-CorsOrigin`, `-EnableSmartProxy`, `-EnableSystemAssignedIdentity`, `-Etag`, `-ExportStorageAccountName`, `-Kind`, `-PublicNetworkAccess`, `-ResourceVersionPolicyConfigurationDefault`, `-ResourceVersionPolicyConfigurationResourceTypeOverride`, `-UserAssignedIdentity`
* Modified cmdlet `Update-AzHealthcareIotConnector`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-WorkspaceInputObject`, `-DeviceMappingContent`, `-EnableSystemAssignedIdentity`, `-Etag`, `-IngestionEndpointConfigurationConsumerGroup`, `-IngestionEndpointConfigurationEventHubName`, `-IngestionEndpointConfigurationFullyQualifiedEventHubNamespace`, `-UserAssignedIdentity`
* Added cmdlet `Update-AzHealthcareIotConnectorFhirDestination`
#### Az.Monitor 7.0.0 
* Modified cmdlet `New-AzActivityLogAlert`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzAutoscaleProfileObject`
   - Changed the type of parameter `-RecurrenceFrequency` from `RecurrenceFrequency` to `String`
* Modified cmdlet `New-AzAutoscaleScaleRuleMetricDimensionObject`
   - Changed the type of parameter `-Operator` from `ScaleRuleMetricDimensionOperationType` to `String`
* Modified cmdlet `New-AzAutoscaleScaleRuleObject`
   - Changed the type of parameter `-MetricTriggerOperator` from `ComparisonOperationType` to `String`
   - Changed the type of parameter `-MetricTriggerStatistic` from `MetricStatisticType` to `String`
   - Changed the type of parameter `-MetricTriggerTimeAggregation` from `TimeAggregationType` to `String`
   - Changed the type of parameter `-ScaleActionDirection` from `ScaleDirection` to `String`
   - Changed the type of parameter `-ScaleActionType` from `ScaleType` to `String`
* Modified cmdlet `New-AzAutoscaleSetting`
   - Removed parameters `-InputObject`, `-Parameter`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-PredictiveAutoscalePolicyScaleMode` from `PredictiveAutoscalePolicyScaleMode` to `String`
* Modified cmdlet `New-AzDiagnosticSetting`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzScheduledQueryRule`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Kind` from `Kind` to `String`
* Modified cmdlet `New-AzScheduledQueryRuleConditionObject`
   - Changed the type of parameter `-Operator` from `ConditionOperator` to `String`
   - Changed the type of parameter `-TimeAggregation` from `TimeAggregation` to `String`
* Modified cmdlet `New-AzScheduledQueryRuleDimensionObject`
   - Changed the type of parameter `-Operator` from `DimensionOperator` to `String`
* Modified cmdlet `New-AzSubscriptionDiagnosticSetting`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzActivityLogAlert`
   - Added parameters `-JsonString`, `-JsonFilePath`
* Modified cmdlet `Update-AzAutoscaleSetting`
   - Changed the type of parameter `-PredictiveAutoscalePolicyScaleMode` from `PredictiveAutoscalePolicyScaleMode` to `String`
* Modified cmdlet `Update-AzScheduledQueryRule`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Added cmdlet `Update-AzDiagnosticSetting`, `Update-AzSubscriptionDiagnosticSetting`
#### Az.NetworkCloud 2.0.0 
* Modified cmdlet `Deploy-AzNetworkCloudCluster`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Enable-AzNetworkCloudStorageApplianceRemoteVendorManagement`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Get-AzNetworkCloudAgentPool`
   - Added parameter `-KubernetesClusterInputObject`
* Modified cmdlet `Get-AzNetworkCloudBareMetalMachineKeySet`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Get-AzNetworkCloudBmcKeySet`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Get-AzNetworkCloudConsole`
   - Added parameter `-VirtualMachineInputObject`
* Modified cmdlet `Get-AzNetworkCloudKubernetesClusterFeature`
   - Added parameter `-KubernetesClusterInputObject`
* Modified cmdlet `Get-AzNetworkCloudMetricsConfiguration`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Invoke-AzNetworkCloudBareMetalMachineCordon`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Evacuate` from `BareMetalMachineEvacuate` to `String`
* Modified cmdlet `Invoke-AzNetworkCloudBareMetalMachineDataExtract`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Invoke-AzNetworkCloudBareMetalMachineReplace`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Invoke-AzNetworkCloudBareMetalMachineRunCommand`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Invoke-AzNetworkCloudBareMetalMachineRunReadCommand`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Invoke-AzNetworkCloudClusterContinueVersionUpdate`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-MachineGroupTargetingMode` from `ClusterContinueUpdateVersionMachineGroupTargetingMode` to `String`
* Modified cmdlet `Invoke-AzNetworkCloudClusterVersionUpdate`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Invoke-AzNetworkCloudScanClusterRuntime`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-ScanActivity` from `ClusterScanRuntimeParametersScanActivity` to `String`
* Modified cmdlet `New-AzNetworkCloudAgentPool`
   - Added parameters `-KubernetesClusterInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Mode` from `AgentPoolMode` to `String`
   - Changed the type of parameter `-AgentOptionHugepagesSize` from `HugepagesSize` to `String`
* Modified cmdlet `New-AzNetworkCloudBareMetalMachineKeySet`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-PrivilegeLevel` from `BareMetalMachineKeySetPrivilegeLevel` to `String`
* Modified cmdlet `New-AzNetworkCloudBgpAdvertisementObject`
   - Changed the type of parameter `-AdvertiseToFabric` from `AdvertiseToFabric` to `String`
* Modified cmdlet `New-AzNetworkCloudBgpServiceLoadBalancerConfigurationObject`
   - Changed the type of parameter `-FabricPeeringEnabled` from `FabricPeeringEnabled` to `String`
* Modified cmdlet `New-AzNetworkCloudBmcKeySet`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-PrivilegeLevel` from `BmcKeySetPrivilegeLevel` to `String`
* Modified cmdlet `New-AzNetworkCloudCluster`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-ClusterType` from `ClusterType` to `String`
   - Changed the type of parameter `-AnalyticsOutputSettingsAssociatedIdentityType` from `ManagedServiceIdentitySelectorType` to `String`
   - Changed the type of parameter `-AssociatedIdentityType` from `ManagedServiceIdentitySelectorType` to `String`
   - Changed the type of parameter `-ComputeDeploymentThresholdGrouping` from `ValidationThresholdGrouping` to `String`
   - Changed the type of parameter `-ComputeDeploymentThresholdType` from `ValidationThresholdType` to `String`
   - Changed the type of parameter `-RuntimeProtectionConfigurationEnforcementLevel` from `RuntimeProtectionEnforcementLevel` to `String`
   - Changed the type of parameter `-SecretArchiveSettingsAssociatedIdentityType` from `ManagedServiceIdentitySelectorType` to `String`
   - Changed the type of parameter `-SecretArchiveUseKeyVault` from `ClusterSecretArchiveEnabled` to `String`
   - Changed the type of parameter `-UpdateStrategyThresholdType` from `ValidationThresholdType` to `String`
   - Changed the type of parameter `-UpdateStrategyType` from `ClusterUpdateStrategyType` to `String`
   - Changed the type of parameter `-VulnerabilityScanningSettingContainerScan` from `VulnerabilityScanningSettingsContainerScan` to `String`
* Modified cmdlet `New-AzNetworkCloudClusterManager`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzNetworkCloudConsole`
   - Added parameters `-VirtualMachineInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Enabled` from `ConsoleEnabled` to `String`
* Modified cmdlet `New-AzNetworkCloudInitialAgentPoolConfigurationObject`
   - Changed the type of parameter `-Mode` from `AgentPoolMode` to `String`
   - Changed the type of parameter `-AgentOptionHugepagesSize` from `HugepagesSize` to `String`
* Modified cmdlet `New-AzNetworkCloudIpAddressPoolObject`
   - Changed the type of parameter `-AutoAssign` from `BfdEnabled` to `String`
   - Changed the type of parameter `-OnlyUseHostIP` from `BfdEnabled` to `String`
* Modified cmdlet `New-AzNetworkCloudKubernetesCluster`
   - Removed parameter `-KubernetesClusterName`
   - Added parameters `-Name`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-BgpServiceLoadBalancerConfigurationFabricPeeringEnabled` from `FabricPeeringEnabled` to `String`
* Modified cmdlet `New-AzNetworkCloudKubernetesClusterFeature`
   - Added parameters `-KubernetesClusterInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzNetworkCloudL2Network`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-HybridAksPluginType` from `HybridAksPluginType` to `String`
* Modified cmdlet `New-AzNetworkCloudL3Network`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-HybridAksIpamEnabled` from `HybridAksIpamEnabled` to `String`
   - Changed the type of parameter `-HybridAksPluginType` from `HybridAksPluginType` to `String`
   - Changed the type of parameter `-IPAllocationType` from `IPAllocationType` to `String`
* Modified cmdlet `New-AzNetworkCloudL3NetworkAttachmentConfigurationObject`
   - Changed the type of parameter `-IpamEnabled` from `L3NetworkConfigurationIpamEnabled` to `String`
   - Changed the type of parameter `-PluginType` from `KubernetesPluginType` to `String`
* Modified cmdlet `New-AzNetworkCloudMetricsConfiguration`
   - Removed parameter `-MetricsConfigurationName`
   - Added parameters `-Name`, `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzNetworkCloudNetworkAttachmentObject`
   - Changed the type of parameter `-IPAllocationMethod` from `VirtualMachineIPAllocationMethod` to `String`
   - Changed the type of parameter `-DefaultGateway` from `DefaultGateway` to `String`
* Modified cmdlet `New-AzNetworkCloudServiceLoadBalancerBgpPeerObject`
   - Changed the type of parameter `-BfdEnabled` from `BfdEnabled` to `String`
   - Changed the type of parameter `-BgpMultiHop` from `BgpMultiHop` to `String`
* Modified cmdlet `New-AzNetworkCloudServicesNetwork`
   - Removed parameter `-CloudServicesNetworkName`
   - Added parameters `-Name`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-EnableDefaultEgressEndpoint` from `CloudServicesNetworkEnableDefaultEgressEndpoints` to `String`
* Modified cmdlet `New-AzNetworkCloudTrunkedNetwork`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-HybridAksPluginType` from `HybridAksPluginType` to `String`
* Modified cmdlet `New-AzNetworkCloudVirtualMachine`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-CloudServiceNetworkAttachmentIPAllocationMethod` from `VirtualMachineIPAllocationMethod` to `String`
   - Changed the type of parameter `-BootMethod` from `VirtualMachineBootMethod` to `String`
   - Changed the type of parameter `-CloudServiceNetworkAttachmentDefaultGateway` from `DefaultGateway` to `String`
   - Changed the type of parameter `-IsolateEmulatorThread` from `VirtualMachineIsolateEmulatorThread` to `String`
   - Changed the type of parameter `-OSDiskCreateOption` from `OSDiskCreateOption` to `String`
   - Changed the type of parameter `-OSDiskDeleteOption` from `OSDiskDeleteOption` to `String`
   - Changed the type of parameter `-VMDeviceModel` from `VirtualMachineDeviceModelType` to `String`
   - Changed the type of parameter `-VirtioInterface` from `VirtualMachineVirtioInterfaceType` to `String`
* Modified cmdlet `New-AzNetworkCloudVirtualMachinePlacementHintObject`
   - Changed the type of parameter `-HintType` from `VirtualMachinePlacementHintType` to `String`
   - Changed the type of parameter `-SchedulingExecution` from `VirtualMachineSchedulingExecution` to `String`
   - Changed the type of parameter `-Scope` from `VirtualMachinePlacementHintPodAffinityScope` to `String`
* Modified cmdlet `New-AzNetworkCloudVolume`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Remove-AzNetworkCloudAgentPool`
   - Added parameter `-KubernetesClusterInputObject`
* Modified cmdlet `Remove-AzNetworkCloudBareMetalMachineKeySet`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Remove-AzNetworkCloudBmcKeySet`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Remove-AzNetworkCloudConsole`
   - Added parameter `-VirtualMachineInputObject`
* Modified cmdlet `Remove-AzNetworkCloudKubernetesClusterFeature`
   - Added parameter `-KubernetesClusterInputObject`
* Modified cmdlet `Remove-AzNetworkCloudMetricsConfiguration`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Restart-AzNetworkCloudKubernetesClusterNode`
   - Added parameters `-KubernetesClusterRestartNodeParameter`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Stop-AzNetworkCloudBareMetalMachine`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-SkipShutdown` from `BareMetalMachineSkipShutdown` to `String`
* Modified cmdlet `Stop-AzNetworkCloudVirtualMachine`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-SkipShutdown` from `SkipShutdown` to `String`
* Modified cmdlet `Update-AzNetworkCloudAgentPool`
   - Added parameters `-KubernetesClusterInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzNetworkCloudBareMetalMachine`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzNetworkCloudBareMetalMachineKeySet`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzNetworkCloudBmcKeySet`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzNetworkCloudCluster`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
   - Changed the type of parameter `-AnalyticsOutputSettingsAssociatedIdentityType` from `ManagedServiceIdentitySelectorType` to `String`
   - Changed the type of parameter `-AssociatedIdentityType` from `ManagedServiceIdentitySelectorType` to `String`
   - Changed the type of parameter `-ComputeDeploymentThresholdGrouping` from `ValidationThresholdGrouping` to `String`
   - Changed the type of parameter `-ComputeDeploymentThresholdType` from `ValidationThresholdType` to `String`
   - Changed the type of parameter `-RuntimeProtectionConfigurationEnforcementLevel` from `RuntimeProtectionEnforcementLevel` to `String`
   - Changed the type of parameter `-SecretArchiveSettingsAssociatedIdentityType` from `ManagedServiceIdentitySelectorType` to `String`
   - Changed the type of parameter `-SecretArchiveUseKeyVault` from `ClusterSecretArchiveEnabled` to `String`
   - Changed the type of parameter `-UpdateStrategyThresholdType` from `ValidationThresholdType` to `String`
   - Changed the type of parameter `-UpdateStrategyType` from `ClusterUpdateStrategyType` to `String`
   - Changed the type of parameter `-VulnerabilityScanningSettingContainerScan` from `VulnerabilityScanningSettingsContainerScan` to `String`
* Modified cmdlet `Update-AzNetworkCloudClusterManager`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`, `-AsJob`, `-NoWait`
* Modified cmdlet `Update-AzNetworkCloudConsole`
   - Added parameters `-VirtualMachineInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Enabled` from `ConsoleEnabled` to `String`
* Modified cmdlet `Update-AzNetworkCloudKubernetesCluster`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzNetworkCloudKubernetesClusterFeature`
   - Added parameters `-KubernetesClusterInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzNetworkCloudL2Network`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzNetworkCloudL3Network`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzNetworkCloudMetricsConfiguration`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzNetworkCloudRack`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzNetworkCloudServicesNetwork`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-EnableDefaultEgressEndpoint` from `CloudServicesNetworkEnableDefaultEgressEndpoints` to `String`
* Modified cmdlet `Update-AzNetworkCloudStorageAppliance`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzNetworkCloudTrunkedNetwork`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzNetworkCloudVirtualMachine`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzNetworkCloudVolume`
   - Added parameters `-JsonFilePath`, `-JsonString`
#### Az.Nginx 2.0.0 
* Modified cmdlet `Get-AzNginxCertificate`
   - Added parameter `-NginxDeploymentInputObject`
* Modified cmdlet `Get-AzNginxConfiguration`
   - Added parameter `-NginxDeploymentInputObject`
* Modified cmdlet `Invoke-AzNginxAnalysisConfiguration`
   - Removed parameter `-Body`
   - Added parameters `-NginxDeploymentInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzNginxCertificate`
   - Added parameters `-NginxDeploymentInputObject`, `-CertificateErrorCode`, `-CertificateErrorMessage`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzNginxConfiguration`
   - Added parameters `-NginxDeploymentInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzNginxDeployment`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-JsonFilePath`, `-JsonString`, `-AutoUpgradeProfileUpgradeChannel`, `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
* Modified cmdlet `New-AzNginxPrivateIPAddressObject`
   - Changed the type of parameter `-PrivateIPAllocationMethod` from `NginxPrivateIPAllocationMethod` to `String`
* Modified cmdlet `Remove-AzNginxCertificate`
   - Added parameter `-NginxDeploymentInputObject`
* Modified cmdlet `Remove-AzNginxConfiguration`
   - Added parameter `-NginxDeploymentInputObject`
* Modified cmdlet `Update-AzNginxDeployment`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-JsonFilePath`, `-JsonString`, `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`, `-NetworkProfile`
* Added cmdlet `Update-AzNginxCertificate`, `Update-AzNginxConfiguration`
#### Az.Oracle 2.0.0 
* Modified cmdlet `Get-AzOracleDbSystemShape`
   - Added parameter `-ShapeAttribute`
* Modified cmdlet `Get-AzOracleGiVersion`
   - Added parameter `-ShapeAttribute`
* Modified cmdlet `New-AzOracleAutonomousDatabase`
   - Removed parameters `-DayOfWeekName`, `-ScheduledStartTime`, `-ScheduledStopTime`
   - Added parameter `-ScheduledOperationsList`
* Modified cmdlet `New-AzOracleCloudVMCluster`
   - Added parameter `-ExascaleDbStorageVaultId`
* Modified cmdlet `New-AzOracleExadbVMCluster`
   - Added parameter `-ShapeAttribute`
* Modified cmdlet `New-AzOracleExascaleDbStorageVault`
   - Added parameter `-ExadataInfrastructureId`
* Modified cmdlet `Update-AzOracleAutonomousDatabase`
   - Removed parameters `-DayOfWeekName`, `-ScheduledStartTime`, `-ScheduledStopTime`
   - Added parameter `-ScheduledOperationsList`
* Added cmdlet `Get-AzOracleDbSystem`, `Get-AzOracleDbVersion`, `Get-AzOracleNetworkAnchor`, `Get-AzOracleResourceAnchor`, `Invoke-AzOracleActionAutonomousDatabase`, `New-AzOracleDbSystem`, `New-AzOracleNetworkAnchor`, `New-AzOracleResourceAnchor`, `Remove-AzOracleDbSystem`, `Remove-AzOracleNetworkAnchor`, `Remove-AzOracleResourceAnchor`, `Update-AzOracleDbSystem`, `Update-AzOracleNetworkAnchor`, `Update-AzOracleResourceAnchor`
#### Az.Relay 3.0.0 
* Modified cmdlet `Get-AzRelayHybridConnection`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Get-AzWcfRelay`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `New-AzRelayAuthorizationRule`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Rights` from `AccessRights[]` to `String[]`
* Modified cmdlet `New-AzRelayHybridConnection`
   - Added parameters `-NamespaceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzRelayKey`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-RegenerateKey` from `KeyType` to `String`
* Modified cmdlet `New-AzRelayNamespace`
   - Added parameters `-InputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-SkuTier` from `SkuTier` to `String`
* Modified cmdlet `New-AzRelayNetworkRuleSetIPRuleObject`
   - Changed the type of parameter `-Action` from `NetworkRuleIPAction` to `String`
* Modified cmdlet `New-AzWcfRelay`
   - Added parameters `-NamespaceInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-WcfRelayType` from `Relaytype` to `String`
* Modified cmdlet `Remove-AzRelayHybridConnection`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Remove-AzWcfRelay`
   - Added parameter `-NamespaceInputObject`
* Modified cmdlet `Set-AzRelayAuthorizationRule`
   - Changed the type of parameter `-Rights` from `AccessRights[]` to `String[]`
* Modified cmdlet `Set-AzRelayNamespaceNetworkRuleSet`
   - Changed the type of parameter `-DefaultAction` from `DefaultAction` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
* Modified cmdlet `Set-AzWcfRelay`
   - Changed the type of parameter `-WcfRelayType` from `Relaytype` to `String`
* Modified cmdlet `Test-AzRelayName`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzRelayNamespace`
   - Added parameters `-JsonFilePath`, `-JsonString`
#### Az.Resources 9.0.0 
* Modified cmdlet `Get-AzRoleEligibleChildResource`
   - Removed parameter `-InputObject`
* Modified cmdlet `New-AzRoleAssignmentScheduleRequest`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-ExpirationType` from `Type` to `String`
   - Changed the type of parameter `-RequestType` from `RequestType` to `String`
* Modified cmdlet `New-AzRoleEligibilityScheduleRequest`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-ExpirationType` from `Type` to `String`
   - Changed the type of parameter `-RequestType` from `RequestType` to `String`
* Modified cmdlet `New-AzRoleManagementPolicyAssignment`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzRoleManagementPolicy`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Added cmdlet `Update-AzRoleAssignmentScheduleRequest`, `Update-AzRoleEligibilityScheduleRequest`, `Update-AzRoleManagementPolicyAssignment`
#### Az.ServiceFabric 5.0.0 
* Modified cmdlet `Set-AzServiceFabricManagedNodeType`
   - Removed parameters `-NodeName`, `-Reimage`, `-ForceReimage`, `-PassThru`
#### Az.Storage 9.4.0 
* Modified cmdlet `Invoke-AzStorageAccountFailover`
   - Added parameter `-FailoverType`
#### Az.StorageMover 2.0.0 
* Modified cmdlet `Get-AzStorageMoverAgent`
   - Added parameter `-StorageMoverInputObject`
* Modified cmdlet `Get-AzStorageMoverEndpoint`
   - Added parameter `-StorageMoverInputObject`
* Modified cmdlet `Get-AzStorageMoverJobDefinition`
   - Added parameters `-ProjectInputObject`, `-StorageMoverInputObject`
* Modified cmdlet `Get-AzStorageMoverJobRun`
   - Added parameters `-JobDefinitionInputObject`, `-ProjectInputObject`, `-StorageMoverInputObject`
* Modified cmdlet `Get-AzStorageMoverProject`
   - Added parameter `-StorageMoverInputObject`
* Modified cmdlet `New-AzStorageMover`
   - Removed parameter `-StorageMover`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzStorageMoverJobDefinition`
   - Removed parameter `-JobDefinition`
   - Added parameters `-ProjectInputObject`, `-StorageMoverInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-CopyMode` from `CopyMode` to `String`
   - Changed the type of parameter `-JobType` from `JobType` to `String`
* Modified cmdlet `New-AzStorageMoverNfsEndpoint`
   - Changed the type of parameter `-NfsVersion` from `NfsVersion` to `String`
* Modified cmdlet `New-AzStorageMoverProject`
   - Removed parameter `-Project`
   - Added parameters `-StorageMoverInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzStorageMoverUploadLimitWeeklyRecurrenceObject`
   - Changed the type of parameter `-Day` from `DayOfWeek[]` to `String[]`
* Modified cmdlet `Remove-AzStorageMoverEndpoint`
   - Added parameter `-StorageMoverInputObject`
* Modified cmdlet `Remove-AzStorageMoverJobDefinition`
   - Added parameters `-ProjectInputObject`, `-StorageMoverInputObject`
* Modified cmdlet `Remove-AzStorageMoverProject`
   - Added parameter `-StorageMoverInputObject`
* Modified cmdlet `Start-AzStorageMoverJobDefinition`
   - Added parameters `-ProjectInputObject`, `-StorageMoverInputObject`
   - Output type changed from ``String`` to ``IJobRunResourceId``
* Modified cmdlet `Stop-AzStorageMoverJobDefinition`
   - Added parameters `-ProjectInputObject`, `-StorageMoverInputObject`
   - Output type changed from ``String`` to ``IJobRunResourceId``
* Modified cmdlet `Update-AzStorageMover`
   - Removed parameter `-StorageMover`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzStorageMoverAgent`
   - Removed parameter `-Agent`
   - Added parameters `-StorageMoverInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzStorageMoverJobDefinition`
   - Removed parameter `-JobDefinition`
   - Added parameters `-ProjectInputObject`, `-StorageMoverInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-CopyMode` from `CopyMode` to `String`
* Modified cmdlet `Update-AzStorageMoverProject`
   - Removed parameter `-Project`
   - Added parameters `-StorageMoverInputObject`, `-JsonFilePath`, `-JsonString`
#### Az.StreamAnalytics 3.0.0 
* Modified cmdlet `Get-AzStreamAnalyticsFunction`
   - Added parameter `-StreamingjobInputObject`
* Modified cmdlet `Get-AzStreamAnalyticsInput`
   - Added parameter `-StreamingjobInputObject`
* Modified cmdlet `Get-AzStreamAnalyticsOutput`
   - Added parameter `-StreamingjobInputObject`
* Modified cmdlet `Get-AzStreamAnalyticsTransformation`
   - Added parameter `-StreamingjobInputObject`
* Modified cmdlet `New-AzStreamAnalyticsCluster`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-SkuName` from `ClusterSkuName` to `String`
* Modified cmdlet `New-AzStreamAnalyticsJob`
   - Changed the type of parameter `-SkuName` from `StreamingJobSkuName` to `String`
   - Changed the type of parameter `-CompatibilityLevel` from `CompatibilityLevel` to `String`
   - Changed the type of parameter `-EventsOutOfOrderPolicy` from `EventsOutOfOrderPolicy` to `String`
   - Changed the type of parameter `-OutputErrorPolicy` from `OutputErrorPolicy` to `String`
* Modified cmdlet `New-AzStreamAnalyticsTransformation`
   - Added parameters `-StreamingjobInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Remove-AzStreamAnalyticsFunction`
   - Added parameter `-StreamingjobInputObject`
* Modified cmdlet `Remove-AzStreamAnalyticsInput`
   - Added parameter `-StreamingjobInputObject`
* Modified cmdlet `Remove-AzStreamAnalyticsOutput`
   - Added parameter `-StreamingjobInputObject`
* Modified cmdlet `Start-AzStreamAnalyticsJob`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-OutputStartMode` from `OutputStartMode` to `String`
* Modified cmdlet `Update-AzStreamAnalyticsCluster`
   - Removed parameter `-Location`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-SkuName` from `ClusterSkuName` to `String`
* Modified cmdlet `Update-AzStreamAnalyticsJob`
   - Changed the type of parameter `-EventsOutOfOrderPolicy` from `EventsOutOfOrderPolicy` to `String`
   - Changed the type of parameter `-OutputErrorPolicy` from `OutputErrorPolicy` to `String`
* Modified cmdlet `Update-AzStreamAnalyticsTransformation`
   - Added parameters `-StreamingjobInputObject`, `-JsonFilePath`, `-JsonString`
#### Az.Workloads 2.0.0 
* Modified cmdlet `Get-AzWorkloadsProviderInstance`
   - Added parameter `-MonitorInputObject`
* Modified cmdlet `Get-AzWorkloadsSapApplicationInstance`
   - Added parameter `-SapVirtualInstanceInputObject`
* Modified cmdlet `Get-AzWorkloadsSapCentralInstance`
   - Added parameter `-SapVirtualInstanceInputObject`
* Modified cmdlet `Get-AzWorkloadsSapDatabaseInstance`
   - Added parameter `-SapVirtualInstanceInputObject`
* Modified cmdlet `Invoke-AzWorkloadsSapDiskConfiguration`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-DatabaseType` from `SapDatabaseType` to `String`
   - Changed the type of parameter `-DeploymentType` from `SapDeploymentType` to `String`
   - Changed the type of parameter `-Environment` from `SapEnvironmentType` to `String`
   - Changed the type of parameter `-SapProduct` from `SapProductType` to `String`
   - Output type changed from ``ISapDiskConfigurationsResultVolumeConfigurations`` to ``ISapDiskConfigurationsResult``
* Modified cmdlet `Invoke-AzWorkloadsSapSizingRecommendation`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-DatabaseType` from `SapDatabaseType` to `String`
   - Changed the type of parameter `-DeploymentType` from `SapDeploymentType` to `String`
   - Changed the type of parameter `-Environment` from `SapEnvironmentType` to `String`
   - Changed the type of parameter `-SapProduct` from `SapProductType` to `String`
   - Changed the type of parameter `-DbScaleMethod` from `SapDatabaseScaleMethod` to `String`
   - Changed the type of parameter `-HighAvailabilityType` from `SapHighAvailabilityType` to `String`
   - Output type changed from ``SapDeploymentType`` to ``ISapSizingRecommendationResult``
* Modified cmdlet `Invoke-AzWorkloadsSapSupportedSku`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-DatabaseType` from `SapDatabaseType` to `String`
   - Changed the type of parameter `-DeploymentType` from `SapDeploymentType` to `String`
   - Changed the type of parameter `-Environment` from `SapEnvironmentType` to `String`
   - Changed the type of parameter `-SapProduct` from `SapProductType` to `String`
   - Changed the type of parameter `-HighAvailabilityType` from `SapHighAvailabilityType` to `String`
   - Output type changed from ``ISapSupportedSku`` to ``ISapSupportedResourceSkusResult``
* Modified cmdlet `New-AzWorkloadsMonitor`
   - Removed parameter `-IdentityType`
   - Added parameters `-EnableSystemAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-RoutingPreference` from `RoutingPreference` to `String`
   - Changed the type of parameter `-UserAssignedIdentity` from `Hashtable` to `String[]`
* Modified cmdlet `New-AzWorkloadsProviderDB2InstanceObject`
   - Changed the type of parameter `-SslPreference` from `SslPreference` to `String`
* Modified cmdlet `New-AzWorkloadsProviderHanaDbInstanceObject`
   - Changed the type of parameter `-SslPreference` from `SslPreference` to `String`
* Modified cmdlet `New-AzWorkloadsProviderInstance`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-MonitorInputObject`, `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzWorkloadsProviderPrometheusHaClusterInstanceObject`
   - Changed the type of parameter `-SslPreference` from `SslPreference` to `String`
* Modified cmdlet `New-AzWorkloadsProviderPrometheusOSInstanceObject`
   - Changed the type of parameter `-SslPreference` from `SslPreference` to `String`
* Modified cmdlet `New-AzWorkloadsProviderSapNetWeaverInstanceObject`
   - Changed the type of parameter `-SslPreference` from `SslPreference` to `String`
* Modified cmdlet `New-AzWorkloadsProviderSqlServerInstanceObject`
   - Changed the type of parameter `-SslPreference` from `SslPreference` to `String`
* Modified cmdlet `New-AzWorkloadsSapLandscapeMonitor`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzWorkloadsSapVirtualInstance`
   - Removed parameter `-IdentityType`
   - Added parameters `-JsonFilePath`, `-JsonString`, `-EnableSystemAssignedIdentity`
   - Changed the type of parameter `-Environment` from `SapEnvironmentType` to `String`
   - Changed the type of parameter `-SapProduct` from `SapProductType` to `String`
   - Changed the type of parameter `-UserAssignedIdentity` from `Hashtable` to `String[]`
* Modified cmdlet `Remove-AzWorkloadsProviderInstance`
   - Added parameter `-MonitorInputObject`
* Modified cmdlet `Start-AzWorkloadsSapApplicationInstance`
   - Added parameters `-SapVirtualInstanceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Start-AzWorkloadsSapCentralInstance`
   - Added parameters `-SapVirtualInstanceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Start-AzWorkloadsSapDatabaseInstance`
   - Added parameters `-SapVirtualInstanceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Start-AzWorkloadsSapVirtualInstance`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Stop-AzWorkloadsSapApplicationInstance`
   - Added parameters `-SapVirtualInstanceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Stop-AzWorkloadsSapCentralInstance`
   - Added parameters `-SapVirtualInstanceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Stop-AzWorkloadsSapDatabaseInstance`
   - Added parameters `-SapVirtualInstanceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Stop-AzWorkloadsSapVirtualInstance`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzWorkloadsMonitor`
   - Removed parameter `-IdentityType`
   - Added parameters `-AppLocation`, `-EnableSystemAssignedIdentity`, `-LogAnalyticsWorkspaceArmId`, `-ManagedResourceGroupName`, `-MonitorSubnet`, `-RoutingPreference`, `-ZoneRedundancyPreference`, `-AsJob`, `-NoWait`
   - Changed the type of parameter `-UserAssignedIdentity` from `Hashtable` to `String[]`
* Modified cmdlet `Update-AzWorkloadsSapApplicationInstance`
   - Added parameters `-SapVirtualInstanceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzWorkloadsSapCentralInstance`
   - Added parameters `-SapVirtualInstanceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzWorkloadsSapDatabaseInstance`
   - Added parameters `-SapVirtualInstanceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzWorkloadsSapLandscapeMonitor`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzWorkloadsSapVirtualInstance`
   - Removed parameter `-IdentityType`
   - Added parameters `-EnableSystemAssignedIdentity`, `-JsonString`, `-JsonFilePath`
   - Changed the type of parameter `-ManagedResourcesNetworkAccessType` from `ManagedResourcesNetworkAccessType` to `String`
   - Changed the type of parameter `-UserAssignedIdentity` from `Hashtable` to `String[]`
* Added cmdlet `Update-AzWorkloadsProviderInstance`

---

### Documentation SyntaxChangeLog SyntaxChangeLog Az16 (`documentation/SyntaxChangeLog/SyntaxChangeLog-Az16.md`)

## 16.4.0 - October 2026
#### Az.Automation 1.12.1 
* Added cmdlet `Get-AzAutomationRuntimeEnvironment`, `Get-AzAutomationRuntimeEnvironmentPackage`, `New-AzAutomationRuntimeEnvironment`, `New-AzAutomationRuntimeEnvironmentPackage`, `Remove-AzAutomationRuntimeEnvironment`, `Remove-AzAutomationRuntimeEnvironmentPackage`, `Set-AzAutomationRuntimeEnvironment`, `Set-AzAutomationRuntimeEnvironmentPackage`
#### Az.Compute 11.10.0 
* Modified cmdlet `Get-AzVMExtensionImage`
   - Added parameter `-Expand`
* Modified cmdlet `New-AzCapacityReservation`
   - Added parameters `-ScheduleProfileStart`, `-MinimumCommitmentDayCount`
* Modified cmdlet `New-AzVmssIpTagConfig`
   - Added parameter `-FirstPartyServiceTagId`
* Added cmdlet `Add-AzVMNetworkInterfaceConfiguration`, `New-AzVMIpConfig`, `New-AzVMIpTagConfig`
#### Az.ContainerInstance 5.1.0 
* Modified cmdlet `Add-AzContainerInstanceOutput`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzContainerInstanceCommand`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzContainerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzContainerInstanceContainerGroupProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzContainerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzContainerInstanceContainerGroupProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzContainerInstanceSubnetServiceAssociationLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restart-AzContainerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzContainerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzContainerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzContainerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzContainerInstanceContainerGroupProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.ContainerRegistry 5.2.0 
* Modified cmdlet `Import-AzContainerRegistryImage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzContainerRegistry`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzContainerRegistryAgentPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzContainerRegistryExportPipeline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzContainerRegistryImportPipeline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzContainerRegistryScopeMap`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzContainerRegistryToken`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzContainerRegistry`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzContainerRegistryAgentPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzContainerRegistryExportPipeline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzContainerRegistryImportPipeline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzContainerRegistryReplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzContainerRegistryScopeMap`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzContainerRegistryToken`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzContainerRegistryWebhook`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzContainerRegistry`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzContainerRegistryAgentPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzContainerRegistryExportPipeline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzContainerRegistryImportPipeline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzContainerRegistryScopeMap`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzContainerRegistryToken`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzContainerRegistryWebhook`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.EventGrid 2.3.0 
* Modified cmdlet `Disable-AzEventGridPartnerTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzEventGridPartnerDestination`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzEventGridPartnerTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Grant-AzEventGridPartnerConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridCaCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridChannel`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridClient`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridClientGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridDomain`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridDomainEventSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridDomainKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridDomainTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridDomainTopicEventSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridNamespace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridNamespaceKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridNamespaceTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridNamespaceTopicEventSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridNamespaceTopicKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridPartnerConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridPartnerDestination`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridPartnerNamespace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridPartnerNamespaceKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridPartnerRegistration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridPartnerTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridPartnerTopicEventSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridPermissionBinding`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridSystemTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridSystemTopicEventSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridTopicEventSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridTopicKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventGridTopicSpace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridCaCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridChannel`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridClient`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridClientGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridDomain`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridDomainEventSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridDomainTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridDomainTopicEventSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridNamespace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridNamespaceTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridNamespaceTopicEventSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridPartnerConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridPartnerDestination`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridPartnerNamespace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridPartnerRegistration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridPartnerTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridPartnerTopicEventSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridPermissionBinding`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridSystemTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridSystemTopicEventSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridTopicEventSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventGridTopicSpace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Revoke-AzEventGridPartnerConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridChannel`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridClient`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridClientGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridDomain`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridDomainEventSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridDomainTopicEventSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridNamespace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridNamespaceTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridNamespaceTopicEventSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridPartnerConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridPartnerDestination`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridPartnerNamespace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridPartnerTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridPartnerTopicEventSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridPermissionBinding`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridSystemTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridSystemTopicEventSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridTopicEventSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzEventGridTopicSpace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.EventHub 5.7.0 
* Modified cmdlet `Approve-AzEventHubPrivateEndpointConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Deny-AzEventHubPrivateEndpointConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventHub`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventHubApplicationGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventHubAuthorizationRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventHubCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventHubConsumerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventHubGeoDRConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventHubKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventHubNamespace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzEventHubSchemaGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventHub`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventHubApplicationGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventHubAuthorizationRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventHubCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventHubConsumerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventHubGeoDRConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventHubNamespace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventHubPrivateEndpointConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEventHubSchemaGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzEventHub`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzEventHubApplicationGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzEventHubAuthorizationRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzEventHubCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzEventHubConsumerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzEventHubGeoDRConfigurationBreakPair`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzEventHubGeoDRConfigurationFailOver`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzEventHubNamespace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzEventHubNetworkRuleSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzEventHubNamespaceFailOver`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.Kusto 3.1.0 
* Modified cmdlet `Add-AzKustoClusterCalloutPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzKustoClusterLanguageExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzKustoDatabasePrincipal`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzKustoClusterMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzKustoDetachClusterFollowerDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzKustoDiagnoseClusterVirtualNetwork`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzKustoInviteDatabaseFollower`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzKustoAttachedDatabaseConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzKustoCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzKustoClusterPrincipalAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzKustoDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzKustoDatabasePrincipalAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzKustoManagedPrivateEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzKustoPrivateEndpointConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzKustoSandboxCustomImage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzKustoScript`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKustoAttachedDatabaseConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKustoCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKustoClusterCalloutPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKustoClusterLanguageExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKustoClusterPrincipalAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKustoDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKustoDatabasePrincipal`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKustoDatabasePrincipalAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKustoDataConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKustoManagedPrivateEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKustoPrivateEndpointConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKustoSandboxCustomImage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKustoScript`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzKustoCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzKustoCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzKustoCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzKustoDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzKustoManagedPrivateEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzKustoSandboxCustomImage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzKustoScript`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.ManagedServiceIdentity 2.1.0 
* Modified cmdlet `New-AzFederatedIdentityCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzUserAssignedIdentity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzFederatedIdentityCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzUserAssignedIdentity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzFederatedIdentityCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzUserAssignedIdentity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.Migrate 3.1.0 
* Modified cmdlet `New-AzMigrateLocalServerReplication`
   - Added parameter `-MigrateAsArcVM`
#### Az.Monitor 8.1.0 
* Modified cmdlet `New-AzDataCollectionEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataCollectionRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataCollectionRuleAssociation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataCollectionEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataCollectionRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataCollectionRuleAssociation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzDataCollectionEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzDataCollectionRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzDataCollectionRuleAssociation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.Network 8.3.0 
* Modified cmdlet `Add-AzApplicationGatewayRequestRoutingRule`
   - Added parameters `-AdvancedRoutingMapId`, `-AdvancedRoutingMap`
* Modified cmdlet `New-AzApplicationGateway`
   - Added parameters `-AdvancedRoutingMaps`, `-AdvancedRoutingConditionSets`
* Modified cmdlet `New-AzApplicationGatewayClientAuthConfiguration`
   - Added parameter `-VerifyClientAuthMode`
* Modified cmdlet `New-AzApplicationGatewayFirewallPolicySetting`
   - Added parameter `-CaptchaExpirationInMins`
* Modified cmdlet `New-AzApplicationGatewayRequestRoutingRule`
   - Added parameters `-AdvancedRoutingMapId`, `-AdvancedRoutingMap`
* Modified cmdlet `New-AzExpressRouteCircuit`
   - Added parameter `-ExpressRouteLag`
* Modified cmdlet `New-AzFirewallPolicyNetworkRule`
   - Added parameters `-SourceGeoLocation`, `-DestinationGeoLocation`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerIpamPool`
   - Added parameters `-MinAllocationSize`, `-MaxAllocationSize`
* Modified cmdlet `Set-AzApplicationGatewayClientAuthConfiguration`
   - Added parameter `-VerifyClientAuthMode`
* Modified cmdlet `Set-AzApplicationGatewayRequestRoutingRule`
   - Added parameters `-AdvancedRoutingMapId`, `-AdvancedRoutingMap`
* Modified cmdlet `Set-AzNetworkManagerIpamPool`
   - Added parameters `-MinAllocationSize`, `-MaxAllocationSize`
* Modified cmdlet `New-AzNetworkSecurityPerimeter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkSecurityPerimeterAccessRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkSecurityPerimeterAssociation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkSecurityPerimeterLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkSecurityPerimeterLoggingConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkSecurityPerimeterProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkSecurityPerimeter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkSecurityPerimeterAccessRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkSecurityPerimeterAssociation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkSecurityPerimeterLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkSecurityPerimeterLinkReference`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkSecurityPerimeterLoggingConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkSecurityPerimeterProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetworkSecurityPerimeter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetworkSecurityPerimeterAccessRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetworkSecurityPerimeterAssociation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetworkSecurityPerimeterLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetworkSecurityPerimeterLoggingConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Added cmdlet `Add-AzApplicationGatewayAdvancedRoutingConditionSet`, `Add-AzApplicationGatewayAdvancedRoutingMap`, `Get-AzApplicationGatewayAdvancedRoutingConditionSet`, `Get-AzApplicationGatewayAdvancedRoutingMap`, `Get-AzExpressRouteCircuitAuthorizationKey`, `Get-AzExpressRouteCrossConnectionMigrationInfo`, `Get-AzExpressRoutePortAuthorizationKey`, `Invoke-AzExpressRouteCrossConnectionCommitMigration`, `Invoke-AzExpressRouteCrossConnectionMigration`, `Invoke-AzExpressRouteCrossConnectionPrepareMigration`, `Invoke-AzExpressRouteCrossConnectionRestoreBgpForMigration`, `Invoke-AzExpressRouteCrossConnectionRollbackMigration`, `Invoke-AzExpressRouteCrossConnectionShutDownBgpForMigration`, `New-AzApplicationGatewayAdvancedRoutingCondition`, `New-AzApplicationGatewayAdvancedRoutingConditionSet`, `New-AzApplicationGatewayAdvancedRoutingMap`, `New-AzApplicationGatewayAdvancedRoutingRuleConfig`, `New-AzExpressRouteCrossConnectionPortMapping`, `Remove-AzApplicationGatewayAdvancedRoutingConditionSet`, `Remove-AzApplicationGatewayAdvancedRoutingMap`, `Set-AzApplicationGatewayAdvancedRoutingConditionSet`, `Set-AzApplicationGatewayAdvancedRoutingMap`, `Test-AzExpressRouteCrossConnectionMigration`
#### Az.RecoveryServices 7.15.0 
* Modified cmdlet `Enable-AzRecoveryServicesBackupProtection`
   - Added parameters `-AccessType`, `-IsSystemAssignedIdentity`, `-UserAssignedIdentityArmUrl`, `-Force`
* Modified cmdlet `Register-AzRecoveryServicesBackupContainer`
   - Added parameters `-StorageAccountName`, `-AccessType`, `-IsSystemAssignedIdentity`, `-UserAssignedIdentityArmUrl`
* Modified cmdlet `Restore-AzRecoveryServicesBackupItem`
   - Added parameters `-IsSystemAssignedIdentity`, `-UserAssignedIdentityArmUrl`
* Modified cmdlet `Update-AzRecoveryServicesVault`
   - Added parameter `-SourceScanState`
* Added cmdlet `Set-AzRecoveryServicesBackupItemSourceScanConfiguration`
#### Az.ServiceBus 4.4.0 
* Modified cmdlet `Approve-AzServiceBusPrivateEndpointConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Complete-AzServiceBusMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Deny-AzServiceBusPrivateEndpointConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceBusAuthorizationRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceBusGeoDRConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceBusKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceBusNamespace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceBusQueue`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceBusRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceBusSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceBusTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceBusAuthorizationRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceBusGeoDRConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceBusMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceBusNamespace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceBusPrivateEndpointConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceBusQueue`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceBusRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceBusSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceBusTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceBusAuthorizationRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceBusGeoDRConfigurationBreakPair`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceBusGeoDRConfigurationFailOver`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceBusNamespace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceBusNetworkRuleSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceBusQueue`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceBusRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceBusSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceBusTopic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzServiceBusMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzServiceBusNamespaceFailOver`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzServiceBusMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.Sql 7.2.0 
* Modified cmdlet `Set-AzSqlDatabaseAudit`
   - Added parameter `-RequiredFields`
* Modified cmdlet `Set-AzSqlServerAudit`
   - Added parameter `-RequiredFields`
#### Az.StorageSync 2.7.0 
* Modified cmdlet `New-AzStorageSyncCloudEndpoint`
   - Added parameter `-ChangeEnumerationIntervalDay`
* Added cmdlet `Set-AzStorageSyncCloudEndpoint`

## 16.3.0 - September 2026
#### Az.Cdn 6.2.0 
* Modified cmdlet `Add-AzCdnEdgeActionAttachment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Clear-AzCdnEndpointContent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Clear-AzFrontDoorCdnEndpointContent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Deploy-AzCdnEdgeActionVersionCode`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzCdnCustomDomainCustomHttps`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzCdnCustomDomainCustomHttps`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzFrontDoorCdnProfileMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Import-AzCdnEndpointContent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzCdnAbortProfileToAFDMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzCdnCommitProfileToAFDMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Move-AzCdnProfileToAFD`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCdnCustomDomain`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCdnEdgeAction`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCdnEdgeActionExecutionFilter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCdnEdgeActionVersion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCdnEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCdnOrigin`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCdnOriginGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCdnProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFrontDoorCdnCustomDomain`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFrontDoorCdnEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFrontDoorCdnOrigin`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFrontDoorCdnOriginGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFrontDoorCdnProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFrontDoorCdnRoute`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFrontDoorCdnRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFrontDoorCdnRuleSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFrontDoorCdnSecret`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFrontDoorCdnSecurityPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCdnCustomDomain`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCdnEdgeAction`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCdnEdgeActionAttachment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCdnEdgeActionExecutionFilter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCdnEdgeActionVersion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCdnEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCdnOrigin`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCdnOriginGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCdnProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzFrontDoorCdnCustomDomain`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzFrontDoorCdnEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzFrontDoorCdnOrigin`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzFrontDoorCdnOriginGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzFrontDoorCdnProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzFrontDoorCdnRoute`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzFrontDoorCdnRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzFrontDoorCdnRuleSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzFrontDoorCdnSecret`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzFrontDoorCdnSecurityPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzCdnEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzCdnEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Test-AzFrontDoorCdnProfileMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCdnEdgeAction`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCdnEdgeActionExecutionFilter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCdnEdgeActionVersion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCdnEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCdnOrigin`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCdnOriginGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCdnProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzFrontDoorCdnCustomDomain`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzFrontDoorCdnCustomDomainValidationToken`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzFrontDoorCdnEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzFrontDoorCdnOrigin`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzFrontDoorCdnOriginGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzFrontDoorCdnProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzFrontDoorCdnProfileSku`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzFrontDoorCdnRoute`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzFrontDoorCdnRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzFrontDoorCdnRuleSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzFrontDoorCdnSecret`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzFrontDoorCdnSecurityPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.Compute 11.9.0 
* Modified cmdlet `New-AzCapacityReservationGroup`
   - Added parameter `-ReservationType`
* Modified cmdlet `New-AzVM`
   - Added parameters `-DisableCapacityReservationAssignment`, `-ProcessorMode`
* Modified cmdlet `New-AzVMConfig`
   - Added parameters `-DisableCapacityReservationAssignment`, `-ProcessorMode`
* Modified cmdlet `New-AzVmss`
   - Added parameters `-DisableCapacityReservationAssignment`, `-ProcessorMode`
* Modified cmdlet `New-AzVmssConfig`
   - Added parameters `-DisableCapacityReservationAssignment`, `-ProcessorMode`
* Modified cmdlet `Set-AzVMProxyAgentSetting`
   - Added parameters `-WireServerUseLocalFileRules`, `-ImdsUseLocalFileRules`
* Modified cmdlet `Set-AzVmssProxyAgentSetting`
   - Added parameters `-WireServerUseLocalFileRules`, `-ImdsUseLocalFileRules`
* Modified cmdlet `Stop-AzVM`
   - Added parameter `-ForceDeallocate`
* Modified cmdlet `Update-AzCapacityReservationGroup`
   - Added parameter `-ReservationType`
* Modified cmdlet `Update-AzVM`
   - Added parameters `-DisableCapacityReservationAssignment`, `-ProcessorMode`
* Modified cmdlet `Update-AzVmss`
   - Added parameters `-DisableCapacityReservationAssignment`, `-ProcessorMode`
* Added cmdlet `Set-AzVMZoneMovement`
#### Az.CosmosDB 1.22.0 
* Modified cmdlet `Restore-AzCosmosDBAccount`
   - Added parameter `-DisableLocalAuth`
#### Az.Network 8.2.0 
* Modified cmdlet `Add-AzLoadBalancerFrontendIpConfig`
   - Added parameter `-EnableConnectionTracking`
* Modified cmdlet `Add-AzRouteServerPeer`
   - Added parameters `-RoutingConfiguration`, `-VirtualHubVnetConnection`, `-VirtualHubVnetConnectionId`
* Modified cmdlet `New-AzApplicationGateway`
   - Added parameter `-DisableDefaultServerHeaderInResponse`
* Modified cmdlet `New-AzExpressRouteCircuit`
   - Added parameters `-PartnerAccountId`, `-ActivationKey`
* Modified cmdlet `New-AzLoadBalancer`
   - Added parameters `-Mode`, `-Scope`
* Modified cmdlet `New-AzLoadBalancerFrontendIpConfig`
   - Added parameter `-EnableConnectionTracking`
* Modified cmdlet `New-AzPublicIpTag`
   - Added parameter `-FirstPartyServiceTagId`
* Modified cmdlet `New-AzVirtualHub`
   - Added parameter `-AddressPrefixV6`
* Modified cmdlet `New-AzVirtualHubVnetConnection`
   - Added parameter `-EnableOnlyIpv6Peering`
* Modified cmdlet `New-AzVirtualNetworkGatewayConnection`
   - Added parameter `-RoutingConfiguration`
* Modified cmdlet `Set-AzLoadBalancerFrontendIpConfig`
   - Added parameter `-EnableConnectionTracking`
* Modified cmdlet `Set-AzPublicIpAddress`
   - Added parameters `-DdosCustomPolicyId`, `-RemoveDdosCustomPolicy`
* Modified cmdlet `Set-AzVirtualNetworkGatewayConnection`
   - Added parameter `-RoutingConfiguration`
* Modified cmdlet `Update-AzRouteServerPeer`
   - Added parameters `-RoutingConfiguration`, `-VirtualHubVnetConnection`, `-VirtualHubVnetConnectionId`
* Modified cmdlet `Update-AzVirtualHub`
   - Added parameter `-AddressPrefixV6`
* Added cmdlet `Get-AzAddressPrefixSet`, `Get-AzExpressRouteLag`, `Get-AzExpressRouteLagIdentity`, `Get-AzExpressRouteLagLink`, `Get-AzExpressRouteLagMember`, `Get-AzFirewallPolicyKubeSelectorGroup`, `Get-AzFirstPartyServiceTag`, `Get-AzInterconnectGroup`, `Get-AzInterconnectGroupNodeAvailability`, `Get-AzInterconnectGroupSubgroup`, `Get-AzVirtualNetworkGatewayEffectiveRoute`, `Move-AzVirtualNetworkIpConfiguration`, `New-AzAddressPrefixSet`, `New-AzExpressRouteLag`, `New-AzExpressRouteLagIdentity`, `New-AzExpressRouteLagLOA`, `New-AzFirewallPolicyKubeLabelSelector`, `New-AzFirewallPolicyKubeSelectorGroup`, `New-AzFirewallPolicyLabelSelectorExpression`, `New-AzFirstPartyServiceTag`, `New-AzInterconnectGroup`, `New-AzMoveIpConfigurationItem`, `Remove-AzAddressPrefixSet`, `Remove-AzExpressRouteLag`, `Remove-AzExpressRouteLagIdentity`, `Remove-AzFirewallPolicyKubeSelectorGroup`, `Remove-AzFirstPartyServiceTag`, `Remove-AzInterconnectGroup`, `Set-AzAddressPrefixSet`, `Set-AzExpressRouteLag`, `Set-AzExpressRouteLagIdentity`, `Set-AzFirewallPolicyKubeSelectorGroup`, `Set-AzFirstPartyServiceTag`, `Set-AzInterconnectGroup`
#### Az.Resources 10.2.0 
* Modified cmdlet `New-AzManagementGroupDeploymentStackWhatIfResult`
   - Removed parameter `-DenySettingsApplyToChildScope`
   - Added parameters `-DenySettingsApplyToChildScopes`, `-ResourcesWithoutDeleteSupport`, `-Tag`
* Modified cmdlet `New-AzResourceGroupDeploymentStackWhatIfResult`
   - Removed parameter `-DenySettingsApplyToChildScope`
   - Added parameters `-DenySettingsApplyToChildScopes`, `-ResourcesWithoutDeleteSupport`, `-Tag`
* Modified cmdlet `New-AzSubscriptionDeploymentStackWhatIfResult`
   - Removed parameter `-DenySettingsApplyToChildScope`
   - Added parameters `-DenySettingsApplyToChildScopes`, `-ResourcesWithoutDeleteSupport`, `-Tag`
* Modified cmdlet `Set-AzManagementGroupDeploymentStackWhatIfResult`
   - Removed parameter `-DenySettingsApplyToChildScope`
   - Added parameters `-DenySettingsApplyToChildScopes`, `-ResourcesWithoutDeleteSupport`, `-Tag`
* Modified cmdlet `Set-AzResourceGroupDeploymentStackWhatIfResult`
   - Removed parameter `-DenySettingsApplyToChildScope`
   - Added parameters `-DenySettingsApplyToChildScopes`, `-ResourcesWithoutDeleteSupport`, `-Tag`
* Modified cmdlet `Set-AzSubscriptionDeploymentStackWhatIfResult`
   - Removed parameter `-DenySettingsApplyToChildScope`
   - Added parameters `-DenySettingsApplyToChildScopes`, `-ResourcesWithoutDeleteSupport`, `-Tag`
* Modified cmdlet `Get-AzPolicyDefinition`
   - Removed parameter `-ManagementGroupName`
   - Added parameter `-ManagementGroupId`
* Modified cmdlet `Get-AzPolicySetDefinition`
   - Removed parameter `-ManagementGroupName`
   - Added parameter `-ManagementGroupId`
* Modified cmdlet `New-AzPolicyDefinition`
   - Removed parameter `-ManagementGroupName`
   - Added parameter `-ManagementGroupId`
* Modified cmdlet `New-AzPolicySetDefinition`
   - Removed parameter `-ManagementGroupName`
   - Added parameter `-ManagementGroupId`
* Modified cmdlet `Remove-AzPolicyDefinition`
   - Removed parameter `-ManagementGroupName`
   - Added parameter `-ManagementGroupId`
* Modified cmdlet `Remove-AzPolicySetDefinition`
   - Removed parameter `-ManagementGroupName`
   - Added parameter `-ManagementGroupId`
* Modified cmdlet `Update-AzPolicyDefinition`
   - Removed parameter `-ManagementGroupName`
   - Added parameter `-ManagementGroupId`
* Modified cmdlet `Update-AzPolicySetDefinition`
   - Removed parameter `-ManagementGroupName`
   - Added parameter `-ManagementGroupId`
* Added cmdlet `Get-AzPolicyEnrollment`, `New-AzPolicyEnrollment`, `Remove-AzPolicyEnrollment`, `Update-AzPolicyEnrollment`#### Az.Security 1.10.0 
, `Add-AzSecuritySqlVulnerabilityAssessmentBaselineRule`, `Get-AzSecuritySqlVulnerabilityAssessmentBaselineRule`, `Get-AzSecuritySqlVulnerabilityAssessmentScan`, `Get-AzSecuritySqlVulnerabilityAssessmentScanRuleResult`, `Get-AzSecuritySqlVulnerabilityAssessmentSetting`, `Invoke-AzSecurityInitiateSqlVulnerabilityAssessmentScan`, `New-AzSecuritySqlVulnerabilityAssessmentBaselineRule`, `New-AzSecuritySqlVulnerabilityAssessmentSetting`, `Remove-AzSecuritySqlVulnerabilityAssessmentBaselineRule`, `Remove-AzSecuritySqlVulnerabilityAssessmentSetting`, `Update-AzSecuritySqlVulnerabilityAssessmentSetting`
#### Az.Sql 7.1.0 
* Modified cmdlet `New-AzSqlInstanceLink`
   - Added parameter `-LinkMode`
* Modified cmdlet `Update-AzSqlInstanceLink`
   - Added parameter `-Database`

## 16.2.0 - August 2026
#### Az.Cdn 6.1.0 
* Modified cmdlet `New-AzCdnEdgeAction`
   - Added parameter `-ProvisioningState`
* Modified cmdlet `New-AzCdnEdgeActionExecutionFilter`
   - Added parameter `-ProvisioningState`
* Modified cmdlet `New-AzCdnEdgeActionVersion`
   - Added parameter `-ProvisioningState`
* Modified cmdlet `New-AzFrontDoorCdnCustomDomain`
   - Added parameter `-MtlSettingScenario`
* Modified cmdlet `New-AzFrontDoorCdnEndpoint`
   - Added parameter `-EnforceMtl`
* Modified cmdlet `New-AzFrontDoorCdnOriginGroup`
   - Added parameter `-AuthenticationTokenDestinationHeader`
* Modified cmdlet `New-AzFrontDoorCdnRuleSet`
   - Added parameters `-Resource`, `-BatchMode`, `-Rule`, `-JsonFilePath`, `-JsonString`, `-AsJob`, `-NoWait`
* Modified cmdlet `New-AzFrontDoorCdnSecurityPolicyWebApplicationFirewallAssociationObject`
   - Added parameter `-Route`
* Modified cmdlet `New-AzFrontDoorCdnSecurityPolicyWebApplicationFirewallParametersObject`
   - Added parameter `-IsProfileLevel`
* Modified cmdlet `Update-AzFrontDoorCdnCustomDomain`
   - Added parameter `-MtlSettingScenario`
* Modified cmdlet `Update-AzFrontDoorCdnEndpoint`
   - Added parameter `-EnforceMtl`
* Modified cmdlet `Update-AzFrontDoorCdnOriginGroup`
   - Added parameter `-AuthenticationTokenDestinationHeader`
* Added cmdlet `Get-AzCdnManagedRuleSet`, `Update-AzFrontDoorCdnRuleSet`#### Az.Compute 11.8.0 
, `Get-AzInterconnectBlock`, `New-AzInterconnectBlock`, `Remove-AzInterconnectBlock`, `Update-AzInterconnectBlock`
#### Az.EventHub 5.6.0 
* Modified cmdlet `New-AzEventHubCluster`
   - Added parameters `-InputObject`, `-Parameter`, `-ConfidentialComputeMode`, `-ZoneRedundant`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzEventHubNamespace`
   - Added parameter `-IPAddressType`
* Modified cmdlet `Set-AzEventHubNamespace`
   - Added parameter `-IPAddressType`
#### Az.FrontDoor 2.3.0 
* Modified cmdlet `New-AzFrontDoorWafPolicy`
   - Added parameter `-ExceptionListException`
* Modified cmdlet `Update-AzFrontDoorWafPolicy`
   - Added parameter `-ExceptionListException`
#### Az.NetAppFiles 1.4.0 
* Modified cmdlet `New-AzNetAppFilesVolume`
   - Added parameter `-BreakthroughMode`
* Modified cmdlet `New-AzNetAppFilesVolumeGroup`
   - Added parameters `-BreakthroughMode`, `-DataBreakthroughMode`, `-LogBreakthroughMode`, `-SharedBreakthroughMode`, `-DataBackupBreakthroughMode`, `-LogBackupBreakthroughMode`, `-BinaryBreakthroughMode`, `-BackupBreakthroughMode`, `-LogMirrorBreakthroughMode`
#### Az.Network 8.1.0 
* Modified cmdlet `Add-AzApplicationGatewaySslCertificate`
   - Added parameters `-HsmKeyId`, `-HsmPublicCertData`
* Modified cmdlet `Add-AzRouteConfig`
   - Changed the type of parameter `-NextHopIpAddress` from `String` to `String[]`
* Modified cmdlet `New-AzApplicationGatewaySslCertificate`
   - Added parameters `-HsmKeyId`, `-HsmPublicCertData`
* Modified cmdlet `New-AzNatGateway`
   - Added parameter `-Nat64`
* Modified cmdlet `New-AzRouteConfig`
   - Changed the type of parameter `-NextHopIpAddress` from `String` to `String[]`
* Modified cmdlet `New-AzRouteTable`
   - Added parameter `-DisablePeeringRoute`
* Modified cmdlet `New-AzVirtualNetwork`
   - Added parameter `-SummarizedGatewayPrefix`
* Modified cmdlet `New-AzVirtualNetworkAppliance`
   - Added parameter `-PrivateIPAddressVersion`
* Modified cmdlet `Set-AzApplicationGatewaySslCertificate`
   - Added parameters `-HsmKeyId`, `-HsmPublicCertData`
* Modified cmdlet `Set-AzNatGateway`
   - Added parameter `-Nat64`
* Modified cmdlet `Set-AzRouteConfig`
   - Changed the type of parameter `-NextHopIpAddress` from `String` to `String[]`
* Added cmdlet `Add-AzDdosCustomPolicyDetectionRule`, `Get-AzConnectionPolicy`, `Get-AzDdosCustomPolicy`, `Invoke-AzPublicIpAddressCloudServiceReservation`, `Invoke-AzPublicIpAddressDisassociateCloudServiceReservedIp`, `New-AzConnectionPolicy`, `New-AzDdosCustomPolicy`, `New-AzDdosCustomPolicyDetectionRule`, `Remove-AzConnectionPolicy`, `Remove-AzDdosCustomPolicy`, `Remove-AzDdosCustomPolicyDetectionRule`, `Set-AzConnectionPolicy`, `Set-AzDdosCustomPolicy`
#### Az.RecoveryServices 7.14.0 
* Modified cmdlet `Enable-AzRecoveryServicesBackupProtection`
   - Added parameter `-ContainerSubscriptionId`
* Modified cmdlet `New-AzRecoveryServicesVault`
   - Added parameter `-CostManagementGranularity`
* Modified cmdlet `Update-AzRecoveryServicesVault`
   - Added parameter `-CostManagementGranularity`
#### Az.Resources 10.1.0 
* Added cmdlet `Get-AzManagementGroupDeploymentStackWhatIfResult`, `Get-AzResourceGroupDeploymentStackWhatIfResult`, `Get-AzSubscriptionDeploymentStackWhatIfResult`, `New-AzManagementGroupDeploymentStackWhatIfResult`, `New-AzResourceGroupDeploymentStackWhatIfResult`, `New-AzSubscriptionDeploymentStackWhatIfResult`, `Remove-AzManagementGroupDeploymentStackWhatIfResult`, `Remove-AzResourceGroupDeploymentStackWhatIfResult`, `Remove-AzSubscriptionDeploymentStackWhatIfResult`, `Set-AzManagementGroupDeploymentStackWhatIfResult`, `Set-AzResourceGroupDeploymentStackWhatIfResult`, `Set-AzSubscriptionDeploymentStackWhatIfResult`
#### Az.ServiceBus 4.3.0 
* Modified cmdlet `New-AzServiceBusGeoDRConfiguration`
   - Removed parameter `-PassThru`
* Modified cmdlet `New-AzServiceBusNamespace`
   - Added parameters `-GeoDataReplicationMaxReplicationLagDurationInSecond`, `-GeoDataReplicationLocation`, `-IPAddressType`
* Modified cmdlet `New-AzServiceBusQueue`
   - Added parameter `-UserMetadata`
* Modified cmdlet `New-AzServiceBusSubscription`
   - Added parameter `-UserMetadata`
* Modified cmdlet `New-AzServiceBusTopic`
   - Added parameter `-UserMetadata`
* Modified cmdlet `Set-AzServiceBusNamespace`
   - Added parameters `-GeoDataReplicationMaxReplicationLagDurationInSecond`, `-GeoDataReplicationLocation`, `-IPAddressType`
* Added cmdlet `Get-AzServiceBusNetworkSecurityPerimeterConfiguration`, `Get-AzServiceBusNetworkSecurityPerimeterConfigurationsForAssociation`, `New-AzServiceBusLocationsNameObject`, `Start-AzServiceBusNamespaceFailOver`

## 16.1.0 - July 2026
#### Az.AppConfiguration 2.2.0 
* Modified cmdlet `New-AzAppConfigurationSnapshot`
   - Added parameter `-Description`
* Modified cmdlet `Set-AzAppConfigurationKeyValue`
   - Added parameter `-Description`
#### Az.Compute 11.7.0 
* Modified cmdlet `New-AzVM`
   - Added parameters `-ScheduledEventsApiVersion`, `-EnableAllInstancesDown`
* Modified cmdlet `New-AzVmss`
   - Added parameters `-ScheduledEventsApiVersion`, `-EnableAllInstancesDown`
* Modified cmdlet `New-AzVmssConfig`
   - Added parameter `-LifecycleHooksProfile`
* Modified cmdlet `Update-AzAvailabilitySet`
   - Added parameters `-ScheduledEventsApiVersion`, `-EnableAllInstancesDown`
* Modified cmdlet `Update-AzVM`
   - Added parameters `-ScheduledEventsApiVersion`, `-EnableAllInstancesDown`
* Modified cmdlet `Update-AzVmss`
   - Added parameters `-ScheduledEventsApiVersion`, `-EnableAllInstancesDown`
* Added cmdlet `Get-AzVmssLifecycleHookEvent`, `New-AzVmssLifecycleHookConfig`, `Remove-AzVmssLifecycleHook`, `Set-AzVmssLifecycleHooksProfile`, `Update-AzVmssLifecycleHookEvent`
#### Az.Dns 2.2.0 
* Modified cmdlet `New-AzDnsRecordSet`
   - Added parameter `-TrafficManagerProfileId`
#### Az.RecoveryServices 7.13.0 
* Modified cmdlet `New-AzRecoveryServicesAsrAzureToAzureDiskReplicationConfig`
   - Added parameters `-RecoveryNetworkAccessPolicy`, `-RecoveryDiskAccessId`, `-RecoveryPublicNetworkAccess`

## 16.0.0 - June 2026
#### Az.Accounts 5.5.0 
* Modified cmdlet `Add-AzEnvironment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Clear-AzConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Clear-AzContext`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Clear-AzDefault`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Connect-AzAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzContextAutosave`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzDataCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzureRmAlias`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disconnect-AzAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzContextAutosave`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzDataCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzureRmAlias`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Export-AzConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Import-AzConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Import-AzContext`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzRestMethod`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Open-AzSurveyLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzContext`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzEnvironment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Rename-AzContext`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Resolve-AzError`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Save-AzContext`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Select-AzContext`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Send-Feedback`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzContext`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDefault`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzEnvironment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Uninstall-AzureRm`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.Aks 7.2.0 
* Modified cmdlet `Disable-AzAksAddOn`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzAksAddOn`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Import-AzAksCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzAksRunCommand`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAksCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAksNodePool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAksCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAksNodePool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzAksCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzAksClusterCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzAksDashboard`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzAksDashboard`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzAksNodePool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.AnalysisServices 1.3.0 
* Modified cmdlet `Add-AzAnalysisServicesAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Export-AzAnalysisServicesInstanceLog`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAnalysisServicesFirewallConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAnalysisServicesFirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAnalysisServicesServer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAnalysisServicesServer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restart-AzAnalysisServicesInstance`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Resume-AzAnalysisServicesServer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzAnalysisServicesServer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Suspend-AzAnalysisServicesServer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Sync-AzAnalysisServicesInstance`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.ApiManagement 4.2.0 
* Modified cmdlet `Add-AzApiManagementApiToGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApiManagementApiToProduct`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApiManagementProductToGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApiManagementRegion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApiManagementUserToGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Backup-AzApiManagement`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Export-AzApiManagementApi`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Import-AzApiManagementApi`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagement`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementApi`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementApiRelease`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementApiRevision`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementApiSchema`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementApiVersionSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementAuthorizationServer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementBackend`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementBackendCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementBackendProxy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementBackendServiceFabric`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementCache`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementContext`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementCustomHostnameConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementDiagnostic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementGatewayHostnameConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementHttpMessageDiagnostic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementIdentityProvider`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementKeyVaultObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementLogger`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementNamedValue`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementOpenIdConnectProvider`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementOperation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementPipelineDiagnosticSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementProduct`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementRegion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementResourceLocationObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementSamplingSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementSslSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementSystemCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementUser`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementUserToken`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApiManagementVirtualNetwork`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Publish-AzApiManagementTenantGitConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagement`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementApi`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementApiFromGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementApiFromProduct`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementApiRelease`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementApiRevision`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementApiSchema`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementApiVersionSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementAuthorizationServer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementBackend`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementCache`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementDiagnostic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementGatewayHostnameConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementIdentityProvider`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementLogger`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementNamedValue`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementOpenIdConnectProvider`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementOperation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementProduct`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementProductFromGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementRegion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementUser`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApiManagementUserFromGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzApiManagement`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Save-AzApiManagementTenantGitConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagement`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementApi`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementApiRevision`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementApiSchema`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementApiVersionSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementAuthorizationServer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementBackend`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementDiagnostic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementIdentityProvider`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementLogger`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementNamedValue`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementOpenIdConnectProvider`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementOperation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementProduct`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementTenantAccess`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApiManagementUser`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Sync-AzApiManagementKeyVaultSecret`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzApiManagementApiRelease`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzApiManagementCache`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzApiManagementGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzApiManagementRegion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.Attestation 3.1.0 
* Modified cmdlet `Add-AzAttestationPolicySigner`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAttestationPolicySigner`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzAttestationPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzAttestationPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.Automation 1.12.0 
* Modified cmdlet `Export-AzAutomationDscConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Export-AzAutomationDscNodeReportContent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Export-AzAutomationRunbook`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Import-AzAutomationDscConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Import-AzAutomationDscNodeConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Import-AzAutomationRunbook`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Move-AzAutomationHybridRunbookWorker`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAutomationAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAutomationCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAutomationConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAutomationCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAutomationHybridRunbookWorker`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAutomationHybridRunbookWorkerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAutomationKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAutomationModule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAutomationPython3Package`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAutomationRunbook`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAutomationSchedule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAutomationSoftwareUpdateConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAutomationSourceControl`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAutomationUpdateManagementAzureQuery`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAutomationVariable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAutomationWebhook`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Publish-AzAutomationRunbook`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Register-AzAutomationDscNode`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Register-AzAutomationScheduledRunbook`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAutomationAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAutomationCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAutomationConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAutomationConnectionType`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAutomationCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAutomationDscConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAutomationDscNodeConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAutomationHybridRunbookWorker`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAutomationHybridRunbookWorkerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAutomationHybridWorkerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAutomationModule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAutomationPython3Package`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAutomationRunbook`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAutomationSchedule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAutomationSoftwareUpdateConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAutomationSourceControl`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAutomationVariable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAutomationWebhook`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Resume-AzAutomationJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzAutomationAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzAutomationCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzAutomationConnectionFieldValue`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzAutomationCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzAutomationDscNode`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzAutomationHybridRunbookWorkerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzAutomationModule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzAutomationPython3Package`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzAutomationRunbook`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzAutomationSchedule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzAutomationVariable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzAutomationWebhook`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzAutomationDscCompilationJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzAutomationDscNodeConfigurationDeployment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzAutomationRunbook`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzAutomationSourceControlSyncJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzAutomationDscNodeConfigurationDeployment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzAutomationJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Suspend-AzAutomationJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Unregister-AzAutomationDscNode`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Unregister-AzAutomationScheduledRunbook`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzAutomationSourceControl`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.Batch 4.1.0 
* Modified cmdlet `Disable-AzBatchAutoScale`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzBatchComputeNodeScheduling`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzBatchJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzBatchJobSchedule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzBatchAutoScale`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzBatchComputeNodeScheduling`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzBatchJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzBatchJobSchedule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzBatchTask`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzBatchAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzBatchAccountKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzBatchApplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzBatchApplicationPackage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzBatchComputeNodeUser`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzBatchJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzBatchJobSchedule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzBatchPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzBatchResourceFile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzBatchTask`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzBatchAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzBatchApplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzBatchApplicationPackage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzBatchComputeNode`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzBatchComputeNodeUser`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzBatchJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzBatchJobSchedule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzBatchNodeFile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzBatchPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzBatchTask`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzBatchComputeNode`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restart-AzBatchComputeNode`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzBatchAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzBatchApplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzBatchComputeNodeUser`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzBatchJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzBatchJobSchedule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzBatchPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzBatchTask`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzBatchComputeNodeServiceLogUpload`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzBatchPoolResize`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzBatchJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzBatchJobSchedule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzBatchPoolResize`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzBatchTask`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.Billing 2.3.0 
* Modified cmdlet `New-AzConsumptionBudget`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzConsumptionBudget`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzConsumptionBudget`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.CloudService 3.0.0 
* Modified cmdlet `Get-AzCloudServiceNetworkInterface`
   - Added parameters `-CloudServiceInputObject`, `-RoleInstanceInputObject`
* Modified cmdlet `Get-AzCloudServiceOSFamily`
   - Added parameter `-LocationInputObject`
* Modified cmdlet `Get-AzCloudServiceOSVersion`
   - Added parameter `-LocationInputObject`
* Modified cmdlet `Get-AzCloudServicePublicIPAddress`
   - Added parameters `-CloudServiceInputObject`, `-IpconfigurationInputObject`, `-NetworkInterfaceInputObject`, `-RoleInstanceInputObject`
* Modified cmdlet `Get-AzCloudServiceRoleInstance`
   - Added parameter `-RoleInstanceInputObject`
   - Changed the type of parameter `-Expand` from `InstanceViewTypes` to `String`
* Modified cmdlet `Get-AzCloudServiceRoleInstanceRemoteDesktopFile`
   - Added parameter `-RoleInstanceInputObject`
* Modified cmdlet `Get-AzCloudServiceRoleInstanceView`
   - Added parameter `-RoleInstanceInputObject`
* Modified cmdlet `Invoke-AzCloudServiceRebuild`
   - Added parameters `-JsonString`, `-JsonFilePath`
* Modified cmdlet `New-AzCloudService`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-UpgradeMode` from `CloudServiceUpgradeMode` to `String`
* Modified cmdlet `Remove-AzCloudServiceRoleInstance`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Restart-AzCloudService`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Restart-AzCloudServiceRoleInstance`
   - Added parameter `-RoleInstanceInputObject`
* Modified cmdlet `Set-AzCloudServiceUpdateDomain`
   - Added parameters `-JsonFilePath`, `-JsonString`
#### Az.CognitiveServices 1.17.0 
* Modified cmdlet `Add-AzCognitiveServicesAccountNetworkRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCognitiveServicesAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCognitiveServicesAccountApiProperty`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCognitiveServicesAccountCommitmentPlan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCognitiveServicesAccountDefenderForAISetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCognitiveServicesAccountDeployment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCognitiveServicesAccountKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCognitiveServicesAccountRaiBlocklist`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCognitiveServicesAccountRaiBlocklistItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCognitiveServicesAccountRaiPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCognitiveServicesCommitmentPlan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCognitiveServicesCommitmentPlanAssociation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCognitiveServicesObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCognitiveServicesAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCognitiveServicesAccountCommitmentPlan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCognitiveServicesAccountDeployment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCognitiveServicesAccountNetworkRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCognitiveServicesAccountRaiBlocklist`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCognitiveServicesAccountRaiBlocklistItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCognitiveServicesAccountRaiPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCognitiveServicesCommitmentPlan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCognitiveServicesCommitmentPlanAssociation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzCognitiveServicesAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Undo-AzCognitiveServicesAccountRemoval`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCognitiveServicesAccountNetworkRuleSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.Compute 11.6.0 
* Modified cmdlet `Add-AzGalleryInVMAccessControlProfileVersionRulesIdentity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzGalleryInVMAccessControlProfileVersionRulesPrivilege`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzGalleryInVMAccessControlProfileVersionRulesRole`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzGalleryInVMAccessControlProfileVersionRulesRoleAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzImageDataDisk`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVhd`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVMAdditionalUnattendContent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVMDataDisk`
   - Added parameters `-StorageFaultDomainAlignment`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVmGalleryApplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVMNetworkInterface`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVMSecret`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVmssAdditionalUnattendContent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVmssDataDisk`
   - Added parameters `-StorageFaultDomainAlignment`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVmssDiagnosticsExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVmssExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVmssGalleryApplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVMSshPublicKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVmssNetworkInterfaceConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVmssRunCommand`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVmssSecret`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVmssSkuProfileVMSize`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVmssSshPublicKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVmssVMDataDisk`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVmssWinRMListener`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Convert-AzAvailabilitySet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `ConvertTo-AzVMManagedDisk`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzVMDiskEncryption`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzVmssDiskEncryption`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Export-AzLogAnalyticRequestRateByInterval`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Export-AzLogAnalyticThrottledRequest`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Grant-AzDiskAccess`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Grant-AzSnapshotAccess`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzVMInstallPatch`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzVMPatchAssessment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzVMReimage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzVMRunCommand`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzVmssVMRunCommand`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Move-AzVirtualMachineToVmss`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAvailabilitySet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCapacityReservation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCapacityReservationGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDisk`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDiskAccess`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDiskConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDiskEncryptionSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDiskEncryptionSetConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDiskPurchasePlanConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDiskUpdateConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzGallery`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzGalleryImageDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzGalleryImageVersion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzGalleryInVMAccessControlProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzGalleryInVMAccessControlProfileVersion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzGalleryInVMAccessControlProfileVersionConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzHost`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzHostGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzImage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzImageConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzProximityPlacementGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRestorePoint`
   - Added parameters `-InstantAccessDurationInMinutes`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRestorePointCollection`
   - Added parameters `-InstantAccess`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSnapshot`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSnapshotConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSnapshotUpdateConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSshKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVM`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVMConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVMDataDisk`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVmGalleryApplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVMSqlServerAutoBackupConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVmss`
   - Added parameters `-ZonalPlatformFaultDomainAlignMode`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVmssConfig`
   - Added parameters `-ZonalPlatformFaultDomainAlignMode`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVmssGalleryApplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVmssIpConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVmssIpTagConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVmssVaultCertificateConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Publish-AzVMDscConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAvailabilitySet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCapacityReservation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCapacityReservationGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDisk`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDiskAccess`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDiskEncryptionSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzGallery`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzGalleryImageDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzGalleryImageVersion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzGalleryInVMAccessControlProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzGalleryInVMAccessControlProfileVersion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzGalleryInVMAccessControlProfileVersionRulesIdentity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzGalleryInVMAccessControlProfileVersionRulesPrivilege`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzGalleryInVMAccessControlProfileVersionRulesRole`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzGalleryInVMAccessControlProfileVersionRulesRoleAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzHost`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzHostGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzImage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzImageDataDisk`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzProximityPlacementGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRestorePoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRestorePointCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSnapshot`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSshKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVM`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVMAccessExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVMAEMExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVMBackup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVMChefExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVMCustomScriptExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVMDataDisk`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVMDiagnosticsExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVMDiskEncryptionExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVMDscExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVMExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVmGalleryApplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVMNetworkInterface`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVMSecret`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVMSqlServerExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVmss`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVmssDataDisk`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVmssDiagnosticsExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVmssExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVmssGalleryApplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVmssNetworkInterfaceConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVmssRunCommand`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVmssSkuProfileVMSize`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVmssVMDataDisk`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Repair-AzVmssServiceFabricUpdateDomain`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restart-AzHost`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restart-AzVM`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restart-AzVmss`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Revoke-AzDiskAccess`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Revoke-AzSnapshotAccess`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Save-AzVhd`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Save-AzVMImage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDiskDiskEncryptionKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDiskImageReference`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDiskKeyEncryptionKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDiskSecurityProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDiskUpdateDiskEncryptionKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDiskUpdateKeyEncryptionKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzImageOsDisk`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSnapshotDiskEncryptionKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSnapshotImageReference`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSnapshotKeyEncryptionKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSnapshotUpdateDiskEncryptionKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSnapshotUpdateKeyEncryptionKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVM`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMAccessExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMADDomainExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMAEMExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMBackupExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMBginfoExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMBootDiagnostic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMChefExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMCustomScriptExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMDataDisk`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMDiagnosticsExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMDiskEncryptionExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMDscExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMOperatingSystem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMOSDisk`
   - Added parameters `-StorageFaultDomainAlignment`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMPlan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMProxyAgentSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMSecurityProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMSourceImage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMSqlServerExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVmss`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVmssBootDiagnostic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVmssDiskEncryptionExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVmssOrchestrationServiceState`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVmssOsProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVmssProxyAgentSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVmssRollingUpgradePolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVmssSecurityProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVmssStorageProfile`
   - Added parameters `-OsDiskStorageFaultDomainAlignment`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVmssUefi`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVmssVM`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVMUefi`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzAvailabilitySetMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzVM`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzVmss`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzVmssRollingExtensionUpgrade`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzVmssRollingOSUpgrade`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzAvailabilitySetMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzVM`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzVmss`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzVmssRollingUpgrade`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzAvailabilitySet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCapacityReservation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCapacityReservationGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzDisk`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzDiskEncryptionSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzGallery`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzGalleryImageDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzGalleryImageVersion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzGalleryInVMAccessControlProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzGalleryInVMAccessControlProfileVersion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzHost`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzImage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzRestorePointCollection`
   - Added parameters `-InstantAccess`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSnapshot`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSshKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVM`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVmss`
   - Added parameters `-ZonalPlatformFaultDomainAlignMode`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVmssInstance`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVmssVM`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.ContainerInstance 5.0.0 
* Modified cmdlet `Add-AzContainerInstanceOutput`
   - Added parameter `-ContainerGroupInputObject`
* Modified cmdlet `Get-AzContainerInstanceContainerGroupProfile`
   - Added parameter `-ContainerGroupProfileInputObject`
* Modified cmdlet `New-AzContainerGroup`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-ConfidentialComputePropertyCcePolicy`, `-EnableSystemAssignedIdentity`, `-EncryptionPropertyIdentity`, `-Extension`, `-IPAddressAutoGeneratedDomainNameLabelScope`, `-UserAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-OSType` from `OperatingSystemTypes` to `String`
   - Changed the type of parameter `-IPAddressType` from `ContainerGroupIPAddressType` to `String`
   - Changed the type of parameter `-LogAnalyticLogType` from `LogAnalyticsLogType` to `String`
   - Changed the type of parameter `-RestartPolicy` from `ContainerGroupRestartPolicy` to `String`
   - Changed the type of parameter `-Sku` from `ContainerGroupSku` to `String`
* Modified cmdlet `New-AzContainerInstanceContainerGroupProfile`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-OSType` from `OperatingSystemTypes` to `String`
   - Changed the type of parameter `-IPAddressAutoGeneratedDomainNameLabelScope` from `DnsNameLabelReusePolicy` to `String`
   - Changed the type of parameter `-IPAddressType` from `ContainerGroupIPAddressType` to `String`
   - Changed the type of parameter `-LogAnalyticLogType` from `LogAnalyticsLogType` to `String`
   - Changed the type of parameter `-Priority` from `ContainerGroupPriority` to `String`
   - Changed the type of parameter `-RestartPolicy` from `ContainerGroupRestartPolicy` to `String`
   - Changed the type of parameter `-Sku` from `ContainerGroupSku` to `String`
* Modified cmdlet `New-AzContainerInstanceObject`
   - Added parameter `-SecurityContextSeccompProfile`
* Modified cmdlet `Remove-AzContainerInstanceSubnetServiceAssociationLink`
   - Added parameter `-VirtualNetworkInputObject`
* Modified cmdlet `Update-AzContainerGroup`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzContainerInstanceContainerGroupProfile`
   - Added parameters `-JsonFilePath`, `-JsonString`
#### Az.ContainerRegistry 5.1.0 
* Modified cmdlet `Connect-AzContainerRegistry`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzContainerRegistryManifest`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzContainerRegistryRepository`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzContainerRegistryTag`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzContainerRegistryManifest`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzContainerRegistryRepository`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzContainerRegistryTag`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.CosmosDB 1.21.0 
* Modified cmdlet `Add-AzCosmosDBFleetspaceAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzCosmosDBCassandraKeyspaceThroughputMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzCosmosDBCassandraTableThroughputMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzCosmosDBGremlinDatabaseThroughputMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzCosmosDBGremlinGraphThroughputMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzCosmosDBMongoDBCollectionThroughputMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzCosmosDBMongoDBDatabaseThroughputMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzCosmosDBSqlContainerThroughputMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzCosmosDBSqlDatabaseThroughputMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzCosmosDBTableThroughputMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBAccountKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBCassandraClusterKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBCassandraColumn`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBCassandraKeyspace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBCassandraSchema`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBCassandraTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDbClientEncryptionKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBDatabaseToRestore`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBFleet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBFleetspace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBGremlinCompositePath`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBGremlinConflictResolutionPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBGremlinDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBGremlinDatabaseToRestore`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBGremlinGraph`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBGremlinIncludedPath`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBGremlinIncludedPathIndex`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBGremlinIndexingPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBGremlinSpatialSpec`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBGremlinUniqueKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBGremlinUniqueKeyPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBLocationObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBMongoDBCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBMongoDBDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBMongoDBIndex`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBMongoDBPrivilege`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBMongoDBPrivilegeResource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBMongoDBRole`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBMongoDBRoleDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBMongoDBUserDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBPermission`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBSqlCompositePath`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBSqlConflictResolutionPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBSqlContainer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBSqlDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBSqlIncludedPath`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBSqlIncludedPathIndex`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBSqlIndexingPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBSqlRoleAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBSqlRoleDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBSqlSpatialSpec`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBSqlStoredProcedure`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBSqlTrigger`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBSqlUniqueKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBSqlUniqueKeyPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBSqlUserDefinedFunction`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBSqlVectorEmbedding`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBSqlVectorEmbeddingPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBSqlVectorIndex`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBTableRoleAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBTableRoleDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBTableToRestore`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCosmosDBVirtualNetworkRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzManagedCassandraCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzManagedCassandraDatacenter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBCassandraKeyspace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBCassandraTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBFleet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBFleetspace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBFleetspaceAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBGremlinDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBGremlinGraph`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBMongoDBCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBMongoDBDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBMongoDBRoleDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBMongoDBUserDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBSqlContainer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBSqlDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBSqlRoleAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBSqlRoleDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBSqlStoredProcedure`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBSqlTrigger`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBSqlUserDefinedFunction`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBTableRoleAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCosmosDBTableRoleDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzManagedCassandraCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzManagedCassandraDatacenter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzCosmosDBAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzCosmosDBGremlinDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzCosmosDBGremlinGraph`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzCosmosDBMongoDBCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzCosmosDBMongoDBDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzCosmosDBSqlContainer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzCosmosDBSqlDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzCosmosDBTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBAccountFailoverPriority`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBAccountRegion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBCassandraKeyspace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBCassandraKeyspaceThroughput`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBCassandraTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBCassandraTableThroughput`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDbClientEncryptionKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBFleet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBFleetspace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBGremlinDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBGremlinDatabaseThroughput`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBGremlinGraph`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBGremlinGraphThroughput`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBMongoDBCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBMongoDBCollectionThroughput`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBMongoDBDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBMongoDBDatabaseThroughput`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBMongoDBRoleDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBMongoDBUserDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBSqlContainer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBSqlContainerThroughput`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBSqlDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBSqlDatabaseThroughput`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBSqlRoleAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBSqlRoleDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBSqlStoredProcedure`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBSqlTrigger`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBSqlUserDefinedFunction`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBTableRoleAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBTableRoleDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCosmosDBTableThroughput`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzManagedCassandraCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzManagedCassandraDatacenter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.DataBoxEdge 1.3.0 
* Modified cmdlet `Invoke-AzDataBoxEdgeDevice`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzDataBoxEdgeShare`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzDataBoxEdgeStorageContainer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataBoxEdgeBandwidthSchedule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataBoxEdgeDevice`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataBoxEdgeOrder`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataBoxEdgeRole`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataBoxEdgeShare`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataBoxEdgeStorageAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataBoxEdgeStorageAccountCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataBoxEdgeStorageContainer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataBoxEdgeTrigger`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataBoxEdgeUser`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataBoxEdgeBandwidthSchedule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataBoxEdgeDevice`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataBoxEdgeOrder`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataBoxEdgeRole`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataBoxEdgeShare`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataBoxEdgeStorageAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataBoxEdgeStorageAccountCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataBoxEdgeStorageContainer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataBoxEdgeTrigger`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataBoxEdgeUser`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataBoxEdgeBandwidthSchedule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataBoxEdgeRole`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataBoxEdgeShare`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataBoxEdgeStorageAccountCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataBoxEdgeUser`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.Databricks 2.0.0 
* Modified cmdlet `Get-AzDatabricksVNetPeering`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `New-AzDatabricksAccessConnector`
   - Removed parameter `-IdentityType`
   - Added parameters `-EnableSystemAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-UserAssignedIdentity` from `Hashtable` to `String[]`
* Modified cmdlet `New-AzDatabricksVNetPeering`
   - Added parameters `-WorkspaceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzDatabricksWorkspace`
   - Added parameters `-DefaultCatalogInitialName`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-DefaultCatalogInitialType` from `InitialType` to `String`
   - Changed the type of parameter `-EncryptionKeySource` from `KeySource` to `String`
   - Changed the type of parameter `-ManagedDiskKeySource` from `EncryptionKeySource` to `String`
   - Changed the type of parameter `-ManagedServiceKeySource` from `EncryptionKeySource` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
   - Changed the type of parameter `-RequiredNsgRule` from `RequiredNsgRules` to `String`
   - Changed the type of parameter `-EnhancedSecurityMonitoring` from `EnhancedSecurityMonitoringValue` to `String`
   - Changed the type of parameter `-AutomaticClusterUpdate` from `AutomaticClusterUpdateValue` to `String`
   - Changed the type of parameter `-EnhancedSecurityCompliance` from `ComplianceSecurityProfileValue` to `String`
   - Changed the type of parameter `-AccessConnectorIdentityType` from `IdentityType` to `String`
   - Changed the type of parameter `-DefaultStorageFirewall` from `DefaultStorageFirewall` to `String`
* Modified cmdlet `Remove-AzDatabricksVNetPeering`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Update-AzDatabricksAccessConnector`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
* Modified cmdlet `Update-AzDatabricksVNetPeering`
   - Added parameters `-JsonString`, `-JsonFilePath`
   - Changed the type of parameter `-AllowForwardedTraffic` from `Boolean` to `SwitchParameter`
   - Changed the type of parameter `-AllowGatewayTransit` from `Boolean` to `SwitchParameter`
   - Changed the type of parameter `-AllowVirtualNetworkAccess` from `Boolean` to `SwitchParameter`
   - Changed the type of parameter `-UseRemoteGateway` from `Boolean` to `SwitchParameter`
* Modified cmdlet `Update-AzDatabricksWorkspace`
   - Changed the type of parameter `-EncryptionKeySource` from `KeySource` to `String`
   - Changed the type of parameter `-DefaultCatalogInitialType` from `InitialType` to `String`
   - Changed the type of parameter `-ManagedDiskKeySource` from `EncryptionKeySource` to `String`
   - Changed the type of parameter `-ManagedServiceKeySource` from `EncryptionKeySource` to `String`
   - Changed the type of parameter `-RequiredNsgRule` from `RequiredNsgRules` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
   - Changed the type of parameter `-EnhancedSecurityMonitoring` from `EnhancedSecurityMonitoringValue` to `String`
   - Changed the type of parameter `-AutomaticClusterUpdate` from `AutomaticClusterUpdateValue` to `String`
   - Changed the type of parameter `-EnhancedSecurityCompliance` from `ComplianceSecurityProfileValue` to `String`
   - Changed the type of parameter `-AccessConnectorIdentityType` from `IdentityType` to `String`
   - Changed the type of parameter `-DefaultStorageFirewall` from `DefaultStorageFirewall` to `String`
#### Az.DataFactory 1.20.0 
* Modified cmdlet `Add-AzDataFactoryV2DataFlowDebugSessionPackage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzDataFactoryV2TriggerSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzDataFactoryV2DataFlowDebugSessionCommand`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzDataFactoryV2IntegrationRuntimeUpgrade`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzDataFactoryV2Pipeline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzDataFactoryV2TriggerRun`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataFactory`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataFactoryDataset`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataFactoryEncryptValue`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataFactoryGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataFactoryGatewayAuthKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataFactoryHub`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataFactoryLinkedService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataFactoryPipeline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataFactoryV2IntegrationRuntimeKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataFactoryV2LinkedServiceEncryptedCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataFactory`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataFactoryDataset`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataFactoryGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataFactoryHub`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataFactoryLinkedService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataFactoryPipeline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataFactoryV2`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataFactoryV2DataFlow`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataFactoryV2Dataset`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataFactoryV2IntegrationRuntime`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataFactoryV2IntegrationRuntimeNode`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataFactoryV2LinkedService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataFactoryV2Pipeline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataFactoryV2Trigger`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataFactoryV2TriggerSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Resume-AzDataFactoryPipeline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Save-AzDataFactoryLog`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataFactoryGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataFactoryPipelineActivePeriod`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataFactorySliceStatus`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataFactoryV2`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataFactoryV2DataFlow`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataFactoryV2Dataset`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataFactoryV2IntegrationRuntime`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataFactoryV2LinkedService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataFactoryV2Pipeline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataFactoryV2Trigger`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzDataFactoryV2DataFlowDebugSession`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzDataFactoryV2IntegrationRuntime`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzDataFactoryV2Trigger`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzDataFactoryV2DataFlowDebugSession`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzDataFactoryV2IntegrationRuntime`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzDataFactoryV2PipelineRun`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzDataFactoryV2Trigger`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzDataFactoryV2TriggerRun`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Suspend-AzDataFactoryPipeline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Sync-AzDataFactoryV2IntegrationRuntimeCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzDataFactoryV2`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzDataFactoryV2IntegrationRuntime`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzDataFactoryV2IntegrationRuntimeNode`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.DataLakeAnalytics 1.2.0 
* Modified cmdlet `Add-AzDataLakeAnalyticsDataSource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzDataLakeAnalyticsFirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataLakeAnalyticsAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataLakeAnalyticsCatalogCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataLakeAnalyticsComputePolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataLakeAnalyticsAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataLakeAnalyticsCatalogCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataLakeAnalyticsCatalogItemAclEntry`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataLakeAnalyticsComputePolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataLakeAnalyticsDataSource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataLakeAnalyticsFirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataLakeAnalyticsAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataLakeAnalyticsCatalogCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataLakeAnalyticsCatalogItemAclEntry`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataLakeAnalyticsDataSource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataLakeAnalyticsFirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzDataLakeAnalyticsJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Submit-AzDataLakeAnalyticsJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzDataLakeAnalyticsComputePolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Wait-AzDataLakeAnalyticsJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.DataLakeStore 1.6.0 
* Modified cmdlet `Add-AzDataLakeStoreFirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzDataLakeStoreItemContent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzDataLakeStoreTrustedIdProvider`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzDataLakeStoreVirtualNetworkRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzDataLakeStoreKeyVault`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Export-AzDataLakeStoreChildItemProperty`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Export-AzDataLakeStoreItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Import-AzDataLakeStoreItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Join-AzDataLakeStoreItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Move-AzDataLakeStoreItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataLakeStoreAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataLakeStoreItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataLakeStoreAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataLakeStoreFirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataLakeStoreItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataLakeStoreItemAcl`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataLakeStoreItemAclEntry`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataLakeStoreTrustedIdProvider`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataLakeStoreVirtualNetworkRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzDataLakeStoreDeletedItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataLakeStoreAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataLakeStoreFirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataLakeStoreItemAcl`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataLakeStoreItemAclEntry`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataLakeStoreItemExpiry`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataLakeStoreItemOwner`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataLakeStoreItemPermission`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataLakeStoreTrustedIdProvider`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataLakeStoreVirtualNetworkRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.DataMigration 1.1.0 
* Modified cmdlet `Invoke-AzDataMigrationCommand`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataMigrationAzureActiveDirectoryApp`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataMigrationConnectionInfo`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataMigrationDatabaseInfo`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataMigrationFileShare`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataMigrationMongoDbCollectionSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataMigrationMongoDbDatabaseSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataMigrationProject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataMigrationSelectedDBObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataMigrationService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataMigrationSyncSelectedDBObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataMigrationTask`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataMigrationProject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataMigrationService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataMigrationTask`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzDataMigrationService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzDataMigrationService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzDataMigrationTask`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.DataProtection 3.0.0 
* Modified cmdlet `Backup-AzDataProtectionBackupInstanceAdhoc`
   - Added parameters `-BackupVaultInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Find-AzDataProtectionRestorableTimeRange`
   - Added parameters `-BackupVaultInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-SourceDataStoreType` from `RestoreSourceDataStoreType` to `String`
* Modified cmdlet `Get-AzDataProtectionBackupInstance`
   - Added parameter `-BackupVaultInputObject`
* Modified cmdlet `Get-AzDataProtectionBackupPolicy`
   - Added parameter `-BackupVaultInputObject`
* Modified cmdlet `Get-AzDataProtectionOperationStatus`
   - Added parameter `-LocationInputObject`
* Modified cmdlet `Get-AzDataProtectionRecoveryPoint`
   - Added parameters `-BackupInstanceInputObject`, `-BackupVaultInputObject`
* Modified cmdlet `Get-AzDataProtectionResourceGuardMapping`
   - Added parameter `-BackupVaultInputObject`
* Modified cmdlet `Get-AzDataProtectionSoftDeletedBackupInstance`
   - Added parameter `-BackupVaultInputObject`
* Modified cmdlet `Get-AzDataProtectionSoftDeletedBackupVault`
   - Added parameter `-LocationInputObject`
* Modified cmdlet `Initialize-AzDataProtectionRestoreRequest`
   - Added parameter `-RenameTo`
* Modified cmdlet `New-AzDataProtectionBackupVault`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
   - Changed the type of parameter `-AzureMonitorAlertsForAllJobFailure` from `AlertsState` to `String`
   - Changed the type of parameter `-ImmutabilityState` from `ImmutabilityState` to `String`
   - Changed the type of parameter `-CrossRegionRestoreState` from `CrossRegionRestoreState` to `String`
   - Changed the type of parameter `-CrossSubscriptionRestoreState` from `CrossSubscriptionRestoreState` to `String`
   - Changed the type of parameter `-SoftDeleteState` from `SoftDeleteState` to `String`
   - Changed the type of parameter `-CmkEncryptionState` from `EncryptionState` to `String`
   - Changed the type of parameter `-CmkInfrastructureEncryption` from `InfrastructureEncryptionState` to `String`
   - Changed the type of parameter `-CmkIdentityType` from `IdentityType` to `String`
* Modified cmdlet `Remove-AzDataProtectionBackupInstance`
   - Added parameter `-BackupVaultInputObject`
* Modified cmdlet `Remove-AzDataProtectionBackupPolicy`
   - Added parameter `-BackupVaultInputObject`
* Modified cmdlet `Remove-AzDataProtectionResourceGuardMapping`
   - Added parameter `-BackupVaultInputObject`
* Modified cmdlet `Resume-AzDataProtectionBackupInstanceProtection`
   - Added parameter `-BackupVaultInputObject`
* Modified cmdlet `Set-AzDataProtectionResourceGuardMapping`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Start-AzDataProtectionBackupInstanceRestore`
   - Changed the type of parameter `-SourceDataStoreType` from `SourceDataStoreType` to `String`
* Modified cmdlet `Stop-AzDataProtectionBackupInstanceProtection`
   - Added parameters `-BackupVaultInputObject`, `-Parameter`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Suspend-AzDataProtectionBackupInstanceBackup`
   - Added parameters `-BackupVaultInputObject`, `-Parameter`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Sync-AzDataProtectionBackupInstance`
   - Added parameters `-BackupVaultInputObject`, `-Parameter`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-SyncType` from `SyncType` to `String`
* Modified cmdlet `Undo-AzDataProtectionBackupInstanceDeletion`
   - Added parameter `-BackupVaultInputObject`
* Modified cmdlet `Undo-AzDataProtectionVaultDeletion`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
* Modified cmdlet `Update-AzDataProtectionBackupInstance`
   - Removed parameter `-BackupInstanceName`
   - Added parameter `-Name`
* Modified cmdlet `Update-AzDataProtectionBackupVault`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-XmsDeletedVaultId`, `-ETag`, `-EnableSystemAssignedIdentity`, `-ReplicatedRegion`, `-StorageSetting`, `-UserAssignedIdentity`
   - Changed the type of parameter `-AzureMonitorAlertsForAllJobFailure` from `AlertsState` to `String`
   - Changed the type of parameter `-CrossRegionRestoreState` from `CrossRegionRestoreState` to `String`
   - Changed the type of parameter `-CrossSubscriptionRestoreState` from `CrossSubscriptionRestoreState` to `String`
   - Changed the type of parameter `-ImmutabilityState` from `ImmutabilityState` to `String`
   - Changed the type of parameter `-SoftDeleteState` from `SoftDeleteState` to `String`
   - Changed the type of parameter `-CmkEncryptionState` from `EncryptionState` to `String`
   - Changed the type of parameter `-CmkIdentityType` from `IdentityType` to `String`
#### Az.DataShare 1.2.0 
* Modified cmdlet `Grant-AzDataShareSubscriptionAccess`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataShare`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataShareAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataShareDataSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataShareDataSetMapping`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataShareInvitation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataShareSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataShareSynchronizationSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataShareTrigger`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataShare`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataShareAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataShareDataSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataShareDataSetMapping`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataShareInvitation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataShareSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataShareSynchronizationSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataShareTrigger`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Revoke-AzDataShareSubscriptionAccess`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataShare`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzDataShareSubscriptionSynchronization`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzDataShareSubscriptionSynchronization`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.DesktopVirtualization 6.0.0 
* Modified cmdlet `Update-AzWvdApplication`
   - Removed parameter `-Tag`
* Modified cmdlet `Update-AzWvdDesktop`
   - Removed parameter `-Tag`
* Modified cmdlet `Update-AzWvdHostPool`
   - Added parameter `-IdentityType`
#### Az.DevTestLabs 1.2.0 
* Modified cmdlet `Set-AzDtlAllowedVMSizesPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDtlAutoShutdownPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDtlAutoStartPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDtlVMsPerLabPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDtlVMsPerUserPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.Dns 2.1.0 
* Modified cmdlet `Add-AzDnsRecordConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDnsRecordConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDnsRecordSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDnsZone`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDnsRecordConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDnsRecordSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDnsZone`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDnsRecordSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDnsZone`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.DnsResolver 2.0.0 
* Modified cmdlet `Get-AzDnsForwardingRulesetForwardingRule`
   - Added parameter `-DnsForwardingRulesetInputObject`
* Modified cmdlet `Get-AzDnsForwardingRulesetVirtualNetworkLink`
   - Added parameter `-DnsForwardingRulesetInputObject`
* Modified cmdlet `Get-AzDnsResolverInboundEndpoint`
   - Added parameter `-DnsResolverInputObject`
* Modified cmdlet `Get-AzDnsResolverOutboundEndpoint`
   - Added parameter `-DnsResolverInputObject`
* Modified cmdlet `Get-AzDnsResolverPolicyDnsSecurityRule`
   - Added parameter `-DnsResolverPolicyInputObject`
* Modified cmdlet `Get-AzDnsResolverPolicyVirtualNetworkLink`
   - Added parameter `-DnsResolverPolicyInputObject`
* Modified cmdlet `New-AzDnsForwardingRuleset`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzDnsForwardingRulesetForwardingRule`
   - Added parameters `-DnsForwardingRulesetInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-ForwardingRuleState` from `ForwardingRuleState` to `String`
* Modified cmdlet `New-AzDnsForwardingRulesetVirtualNetworkLink`
   - Added parameters `-DnsForwardingRulesetInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzDnsResolver`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzDnsResolverDomainList`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzDnsResolverInboundEndpoint`
   - Added parameters `-DnsResolverInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzDnsResolverIPConfigurationObject`
   - Changed the type of parameter `-PrivateIPAllocationMethod` from `IPAllocationMethod` to `String`
* Modified cmdlet `New-AzDnsResolverOutboundEndpoint`
   - Added parameters `-DnsResolverInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzDnsResolverPolicy`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzDnsResolverPolicyDnsSecurityRule`
   - Removed parameter `-ActionBlockResponseCode`
   - Added parameters `-DnsResolverPolicyInputObject`, `-ManagedDomainList`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-ActionType` from `ActionType` to `String`
   - Changed the type of parameter `-DnsSecurityRuleState` from `DnsSecurityRuleState` to `String`
* Modified cmdlet `New-AzDnsResolverPolicyVirtualNetworkLink`
   - Added parameters `-DnsResolverPolicyInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Remove-AzDnsForwardingRulesetForwardingRule`
   - Added parameter `-DnsForwardingRulesetInputObject`
* Modified cmdlet `Remove-AzDnsForwardingRulesetVirtualNetworkLink`
   - Added parameter `-DnsForwardingRulesetInputObject`
* Modified cmdlet `Remove-AzDnsResolverInboundEndpoint`
   - Added parameter `-DnsResolverInputObject`
* Modified cmdlet `Remove-AzDnsResolverOutboundEndpoint`
   - Added parameter `-DnsResolverInputObject`
* Modified cmdlet `Remove-AzDnsResolverPolicyDnsSecurityRule`
   - Added parameter `-DnsResolverPolicyInputObject`
* Modified cmdlet `Remove-AzDnsResolverPolicyVirtualNetworkLink`
   - Added parameter `-DnsResolverPolicyInputObject`
* Modified cmdlet `Update-AzDnsForwardingRuleset`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzDnsForwardingRulesetForwardingRule`
   - Added parameters `-DnsForwardingRulesetInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-ForwardingRuleState` from `ForwardingRuleState` to `String`
* Modified cmdlet `Update-AzDnsForwardingRulesetVirtualNetworkLink`
   - Added parameters `-DnsForwardingRulesetInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzDnsResolver`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzDnsResolverDomainList`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzDnsResolverInboundEndpoint`
   - Added parameters `-DnsResolverInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzDnsResolverOutboundEndpoint`
   - Added parameters `-DnsResolverInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzDnsResolverPolicy`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzDnsResolverPolicyDnsSecurityRule`
   - Removed parameter `-ActionBlockResponseCode`
   - Added parameters `-DnsResolverPolicyInputObject`, `-ManagedDomainList`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-ActionType` from `ActionType` to `String`
   - Changed the type of parameter `-DnsSecurityRuleState` from `DnsSecurityRuleState` to `String`
* Modified cmdlet `Update-AzDnsResolverPolicyVirtualNetworkLink`
   - Added parameters `-DnsResolverPolicyInputObject`, `-JsonFilePath`, `-JsonString`
* Added cmdlet `Invoke-AzDnsResolverBulkDnsResolverDomainList`
#### Az.EventHub 5.5.0 
* Modified cmdlet `New-AzEventHubAuthorizationRuleSASToken`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.Functions 5.0.0 
* Modified cmdlet `New-AzFunctionApp`
   - Removed parameters `-IdentityType`, `-IdentityID`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
* Modified cmdlet `Update-AzFunctionApp`
   - Removed parameters `-IdentityType`, `-IdentityID`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
#### Az.HDInsight 6.5.0 
* Modified cmdlet `Add-AzHDInsightClusterIdentity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzHDInsightComponentVersion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzHDInsightConfigValue`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzHDInsightMetastore`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzHDInsightScriptAction`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzHDInsightSecurityProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzHDInsightStorage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzHDInsightAzureMonitor`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzHDInsightAzureMonitorAgent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzHDInsightMonitoring`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzHDInsightAzureMonitor`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzHDInsightAzureMonitorAgent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzHDInsightMonitoring`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzHDInsightHiveJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzHDInsightCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzHDInsightClusterAutoscaleConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzHDInsightClusterAutoscaleScheduleCondition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzHDInsightClusterConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzHDInsightHiveJobDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzHDInsightIPConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzHDInsightMapReduceJobDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzHDInsightPigJobDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzHDInsightPrivateLinkConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzHDInsightSqoopJobDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzHDInsightStreamingMapReduceJobDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzHDInsightCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzHDInsightClusterAutoscaleConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzHDInsightPersistedScriptAction`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restart-AzHDInsightHost`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzHDInsightClusterAutoscaleConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzHDInsightClusterDiskEncryptionKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzHDInsightClusterSize`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzHDInsightDefaultStorage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzHDInsightGatewayCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzHDInsightPersistedScriptAction`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzHDInsightJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzHDInsightJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Submit-AzHDInsightScriptAction`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzHDInsightCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Use-AzHDInsightCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Wait-AzHDInsightJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.IotHub 2.9.0 
* Modified cmdlet `Add-AzIotHubCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzIotHubConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzIotHubDeployment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzIotHubDevice`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzIotHubDeviceChildren`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzIotHubEventHubConsumerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzIotHubKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzIotHubMessageEnrichment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzIotHubModule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzIotHubRoute`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzIotHubRoutingEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzIotHubConfigurationMetricsQuery`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzIotHubDeploymentMetricsQuery`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzIotHubDeviceMethod`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzIotHubManualFailover`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzIotHubModuleMethod`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzIotHubQuery`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIotHub`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIotHubExportDevice`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIotHubImportDevice`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIotHubKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIotHubSasToken`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIotHub`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIotHubCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIotHubConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIotHubDeployment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIotHubDevice`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIotHubDeviceChildren`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIotHubEventHubConsumerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIotHubKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIotHubMessageEnrichment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIotHubModule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIotHubRoute`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIotHubRoutingEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Send-AzIotHubDevice2CloudMessage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIotHub`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIotHubConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIotHubDeployment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIotHubDevice`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIotHubDeviceParent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIotHubDistributedTracing`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIotHubEdgeModule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIotHubMessageEnrichment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIotHubModule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIotHubRoute`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIotHubVerifiedCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzIotHub`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzIotHubDeviceTwin`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzIotHubModuleTwin`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.KeyVault 6.5.0 
* Modified cmdlet `Add-AzKeyVaultCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzKeyVaultCertificateContact`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzKeyVaultKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzKeyVaultManagedHsmNetworkRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzKeyVaultManagedStorageAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzKeyVaultNetworkRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Backup-AzKeyVault`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Backup-AzKeyVaultCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Backup-AzKeyVaultKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Backup-AzKeyVaultManagedStorageAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Backup-AzKeyVaultSecret`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Export-AzKeyVaultSecurityDomain`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Import-AzKeyVaultCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Import-AzKeyVaultSecurityDomain`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzKeyVaultKeyOperation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzKeyVaultKeyRotation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzKeyVault`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzKeyVaultCertificateAdministratorDetail`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzKeyVaultCertificateOrganizationDetail`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzKeyVaultCertificatePolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzKeyVaultManagedHsm`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzKeyVaultManagedHsmNetworkRuleSetObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzKeyVaultNetworkRuleSetObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzKeyVaultRoleAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzKeyVaultRoleDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKeyVault`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKeyVaultAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKeyVaultCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKeyVaultCertificateContact`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKeyVaultCertificateIssuer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKeyVaultCertificateOperation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKeyVaultKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKeyVaultManagedHsm`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKeyVaultManagedHsmNetworkRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKeyVaultManagedStorageAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKeyVaultManagedStorageSasDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKeyVaultNetworkRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKeyVaultRoleAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKeyVaultRoleDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzKeyVaultSecret`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzKeyVault`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzKeyVaultCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzKeyVaultKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzKeyVaultManagedStorageAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzKeyVaultSecret`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzKeyVaultAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzKeyVaultCertificateIssuer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzKeyVaultCertificatePolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzKeyVaultKeyRotationPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzKeyVaultManagedStorageSasDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzKeyVaultSecret`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzKeyVaultCertificateOperation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Undo-AzKeyVaultCertificateRemoval`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Undo-AzKeyVaultKeyRemoval`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Undo-AzKeyVaultManagedHsmRemoval`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Undo-AzKeyVaultManagedStorageAccountRemoval`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Undo-AzKeyVaultManagedStorageSasDefinitionRemoval`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Undo-AzKeyVaultRemoval`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Undo-AzKeyVaultSecretRemoval`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzKeyVault`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzKeyVaultCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzKeyVaultKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzKeyVaultManagedHsm`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzKeyVaultManagedHsmNetworkRuleSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzKeyVaultManagedStorageAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzKeyVaultManagedStorageAccountKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzKeyVaultNetworkRuleSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzKeyVaultSecret`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzKeyVaultSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.Kusto 3.0.0 
* Modified cmdlet `Add-AzKustoClusterCalloutPolicy`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Add-AzKustoClusterLanguageExtension`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Add-AzKustoDatabasePrincipal`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
   - Output type changed from ``IDatabasePrincipal`` to ``IDatabasePrincipalListResult``
* Modified cmdlet `Get-AzKustoAttachedDatabaseConfiguration`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Get-AzKustoClusterPrincipalAssignment`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Get-AzKustoDatabase`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Get-AzKustoDatabasePrincipalAssignment`
   - Added parameters `-ClusterInputObject`, `-DatabaseInputObject`
* Modified cmdlet `Get-AzKustoDataConnection`
   - Added parameters `-ClusterInputObject`, `-DatabaseInputObject`
* Modified cmdlet `Get-AzKustoManagedPrivateEndpoint`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Get-AzKustoOperationsResult`
   - Added parameter `-LocationInputObject`
* Modified cmdlet `Get-AzKustoOperationsResultLocation`
   - Added parameter `-LocationInputObject`
* Modified cmdlet `Get-AzKustoPrivateEndpointConnection`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Get-AzKustoPrivateLinkResource`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Get-AzKustoSandboxCustomImage`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Get-AzKustoScript`
   - Added parameters `-ClusterInputObject`, `-DatabaseInputObject`
* Modified cmdlet `Invoke-AzKustoClusterMigration`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Invoke-AzKustoDataConnectionValidation`
   - Changed the type of parameter `-Kind` from `Kind` to `String`
   - Changed the type of parameter `-Compression` from `Compression` to `String`
   - Changed the type of parameter `-DatabaseRouting` from `DatabaseRouting` to `String`
   - Changed the type of parameter `-BlobStorageEventType` from `BlobStorageEventType` to `String`
* Modified cmdlet `Invoke-AzKustoDetachClusterFollowerDatabase`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Invoke-AzKustoInviteDatabaseFollower`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
   - Output type changed from ``String`` to ``IDatabaseInviteFollowerResult``
* Modified cmdlet `New-AzKustoAttachedDatabaseConfiguration`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-DefaultPrincipalsModificationKind` from `DefaultPrincipalsModificationKind` to `String`
* Modified cmdlet `New-AzKustoCluster`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-SkuName` from `AzureSkuName` to `String`
   - Changed the type of parameter `-SkuTier` from `AzureSkuTier` to `String`
   - Changed the type of parameter `-EngineType` from `EngineType` to `String`
   - Changed the type of parameter `-PublicIPType` from `PublicIPType` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
   - Changed the type of parameter `-RestrictOutboundNetworkAccess` from `ClusterNetworkAccessFlag` to `String`
   - Changed the type of parameter `-VirtualNetworkConfigurationState` from `VnetState` to `String`
* Modified cmdlet `New-AzKustoClusterPrincipalAssignment`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-PrincipalType` from `PrincipalType` to `String`
   - Changed the type of parameter `-Role` from `ClusterPrincipalRole` to `String`
* Modified cmdlet `New-AzKustoDatabase`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-CallerRole` from `CallerRole` to `String`
   - Changed the type of parameter `-Kind` from `Kind` to `String`
* Modified cmdlet `New-AzKustoDatabasePrincipalAssignment`
   - Added parameters `-ClusterInputObject`, `-DatabaseInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-PrincipalType` from `PrincipalType` to `String`
   - Changed the type of parameter `-Role` from `DatabasePrincipalRole` to `String`
* Modified cmdlet `New-AzKustoDataConnection`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Kind` from `Kind` to `String`
   - Changed the type of parameter `-Compression` from `Compression` to `String`
   - Changed the type of parameter `-DatabaseRouting` from `DatabaseRouting` to `String`
   - Changed the type of parameter `-BlobStorageEventType` from `BlobStorageEventType` to `String`
* Modified cmdlet `New-AzKustoManagedPrivateEndpoint`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzKustoPrivateEndpointConnection`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzKustoSandboxCustomImage`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzKustoScript`
   - Added parameters `-ClusterInputObject`, `-DatabaseInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-PrincipalPermissionsAction` from `PrincipalPermissionsAction` to `String`
   - Changed the type of parameter `-ScriptLevel` from `ScriptLevel` to `String`
* Modified cmdlet `Remove-AzKustoAttachedDatabaseConfiguration`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Remove-AzKustoClusterCalloutPolicy`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Remove-AzKustoClusterLanguageExtension`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Remove-AzKustoClusterPrincipalAssignment`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Remove-AzKustoDatabase`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Remove-AzKustoDatabasePrincipal`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
   - Output type changed from ``IDatabasePrincipal`` to ``IDatabasePrincipalListResult``
* Modified cmdlet `Remove-AzKustoDatabasePrincipalAssignment`
   - Added parameters `-ClusterInputObject`, `-DatabaseInputObject`
* Modified cmdlet `Remove-AzKustoDataConnection`
   - Added parameters `-ClusterInputObject`, `-DatabaseInputObject`
* Modified cmdlet `Remove-AzKustoManagedPrivateEndpoint`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Remove-AzKustoPrivateEndpointConnection`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Remove-AzKustoSandboxCustomImage`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Remove-AzKustoScript`
   - Added parameters `-ClusterInputObject`, `-DatabaseInputObject`
* Modified cmdlet `Test-AzKustoAttachedDatabaseConfigurationNameAvailability`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Test-AzKustoClusterNameAvailability`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Test-AzKustoClusterPrincipalAssignmentNameAvailability`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Test-AzKustoDatabaseNameAvailability`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Type` from `Type` to `String`
* Modified cmdlet `Test-AzKustoDatabasePrincipalAssignmentNameAvailability`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Test-AzKustoDataConnectionNameAvailability`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Test-AzKustoManagedPrivateEndpointNameAvailability`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Test-AzKustoSandboxCustomImageNameAvailability`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Test-AzKustoScriptNameAvailability`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzKustoCluster`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`, `-Location`, `-VirtualClusterGraduationProperty`, `-VirtualNetworkConfigurationDataManagementPublicIPId`, `-VirtualNetworkConfigurationEnginePublicIPId`, `-VirtualNetworkConfigurationSubnetId`
   - Added parameters `-IfNoneMatch`, `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
   - Changed the type of parameter `-EngineType` from `EngineType` to `String`
   - Changed the type of parameter `-PublicIPType` from `PublicIPType` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
   - Changed the type of parameter `-RestrictOutboundNetworkAccess` from `ClusterNetworkAccessFlag` to `String`
   - Changed the type of parameter `-SkuName` from `AzureSkuName` to `String`
   - Changed the type of parameter `-SkuTier` from `AzureSkuTier` to `String`
   - Changed the type of parameter `-VirtualNetworkConfigurationState` from `VnetState` to `String`
* Modified cmdlet `Update-AzKustoDatabase`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-CallerRole` from `CallerRole` to `String`
   - Changed the type of parameter `-Kind` from `Kind` to `String`
* Modified cmdlet `Update-AzKustoDataConnection`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Kind` from `Kind` to `String`
   - Changed the type of parameter `-Compression` from `Compression` to `String`
   - Changed the type of parameter `-DatabaseRouting` from `DatabaseRouting` to `String`
   - Changed the type of parameter `-BlobStorageEventType` from `BlobStorageEventType` to `String`
* Modified cmdlet `Update-AzKustoManagedPrivateEndpoint`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzKustoSandboxCustomImage`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzKustoScript`
   - Removed parameters `-ScriptContent`, `-ScriptUrlSasToken`
   - Added parameters `-ClusterInputObject`, `-DatabaseInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-PrincipalPermissionsAction` from `PrincipalPermissionsAction` to `String`
   - Changed the type of parameter `-ScriptLevel` from `ScriptLevel` to `String`
#### Az.LoadTesting 2.0.0 
* Modified cmdlet `New-AzLoad`
   - Removed parameters `-IdentityType`, `-IdentityUserAssigned`
   - Added parameters `-JsonFilePath`, `-JsonString`, `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
* Modified cmdlet `Update-AzLoad`
   - Removed parameters `-IdentityType`, `-IdentityUserAssigned`
   - Added parameters `-JsonFilePath`, `-JsonString`, `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
#### Az.LogicApp 1.7.0 
* Modified cmdlet `New-AzIntegrationAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIntegrationAccountAgreement`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIntegrationAccountAssembly`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIntegrationAccountBatchConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIntegrationAccountCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIntegrationAccountMap`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIntegrationAccountPartner`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIntegrationAccountSchema`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzLogicApp`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIntegrationAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIntegrationAccountAgreement`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIntegrationAccountAssembly`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIntegrationAccountBatchConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIntegrationAccountCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIntegrationAccountMap`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIntegrationAccountPartner`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIntegrationAccountReceivedIcn`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIntegrationAccountSchema`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzLogicApp`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIntegrationAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIntegrationAccountAgreement`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIntegrationAccountAssembly`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIntegrationAccountBatchConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIntegrationAccountCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIntegrationAccountGeneratedIcn`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIntegrationAccountMap`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIntegrationAccountPartner`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIntegrationAccountReceivedIcn`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIntegrationAccountSchema`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzLogicApp`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzLogicApp`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzLogicAppRun`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.MachineLearning 1.3.0 
* Modified cmdlet `Add-AzMlWebServiceRegionalProperty`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Export-AzMlWebService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Move-AzMlCommitmentAssociation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzMlCommitmentPlan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzMlWebService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzMlCommitmentPlan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzMlWebService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzMlCommitmentPlan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzMlWebService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.MachineLearningServices 2.0.0 
* Modified cmdlet `Get-AzMLWorkspaceBatchDeployment`
   - Added parameters `-BatchEndpointInputObject`, `-WorkspaceInputObject`
* Modified cmdlet `Get-AzMLWorkspaceBatchEndpoint`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Get-AzMLWorkspaceCodeVersion`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Get-AzMLWorkspaceComponentContainer`
   - Added parameter `-WorkspaceInputObject`
   - Changed the type of parameter `-ListViewType` from `ListViewType` to `String`
* Modified cmdlet `Get-AzMLWorkspaceComponentVersion`
   - Added parameters `-ComponentInputObject`, `-WorkspaceInputObject`
   - Changed the type of parameter `-ListViewType` from `ListViewType` to `String`
* Modified cmdlet `Get-AzMLWorkspaceCompute`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Get-AzMLWorkspaceConnection`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Get-AzMLWorkspaceDataContainer`
   - Added parameter `-WorkspaceInputObject`
   - Changed the type of parameter `-ListViewType` from `ListViewType` to `String`
* Modified cmdlet `Get-AzMLWorkspaceDatastore`
   - Added parameter `-WorkspaceInputObject`
   - Changed the type of parameter `-SearchName` from `String[]` to `List`1[System.String]`
* Modified cmdlet `Get-AzMLWorkspaceDataVersion`
   - Added parameters `-DataInputObject`, `-WorkspaceInputObject`
   - Changed the type of parameter `-ListViewType` from `ListViewType` to `String`
* Modified cmdlet `Get-AzMLWorkspaceEnvironmentContainer`
   - Added parameter `-WorkspaceInputObject`
   - Changed the type of parameter `-ListViewType` from `ListViewType` to `String`
* Modified cmdlet `Get-AzMLWorkspaceEnvironmentVersion`
   - Added parameters `-EnvironmentInputObject`, `-WorkspaceInputObject`
   - Changed the type of parameter `-ListViewType` from `ListViewType` to `String`
* Modified cmdlet `Get-AzMLWorkspaceJob`
   - Added parameter `-WorkspaceInputObject`
   - Changed the type of parameter `-ListViewType` from `ListViewType` to `String`
* Modified cmdlet `Get-AzMLWorkspaceModelContainer`
   - Added parameter `-WorkspaceInputObject`
   - Changed the type of parameter `-ListViewType` from `ListViewType` to `String`
* Modified cmdlet `Get-AzMLWorkspaceModelVersion`
   - Added parameters `-ModelInputObject`, `-WorkspaceInputObject`
   - Changed the type of parameter `-ListViewType` from `ListViewType` to `String`
* Modified cmdlet `Get-AzMLWorkspaceOnlineDeployment`
   - Added parameters `-OnlineEndpointInputObject`, `-WorkspaceInputObject`
* Modified cmdlet `Get-AzMLWorkspaceOnlineDeploymentLog`
   - Added parameters `-InputObject`, `-OnlineEndpointInputObject`, `-WorkspaceInputObject`
   - Changed the type of parameter `-ContainerType` from `ContainerType` to `String`
   - Output type changed from ``String`` to ``IDeploymentLogs``
* Modified cmdlet `Get-AzMLWorkspaceOnlineEndpoint`
   - Added parameter `-WorkspaceInputObject`
   - Changed the type of parameter `-ComputeType` from `EndpointComputeType` to `String`
   - Changed the type of parameter `-OrderBy` from `OrderString` to `String`
* Modified cmdlet `Get-AzMLWorkspaceOnlineEndpointToken`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Invoke-AzMLWorkspaceDiagnose`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Output type changed from ``IDiagnoseResponseResultValue`` to ``IDiagnoseResponseResult``
* Modified cmdlet `New-AzMLWorkspace`
   - Removed parameter `-IdentityType`
   - Added parameters `-EnableSystemAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-EncryptionStatus` from `EncryptionStatus` to `String`
   - Changed the type of parameter `-Kind` from `WorkspaceType` to `String`
   - Changed the type of parameter `-ManagedNetworkIsolationMode` from `IsolationMode` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
   - Changed the type of parameter `-SkuTier` from `SkuTier` to `String`
   - Changed the type of parameter `-Status` from `ManagedNetworkStatus` to `String`
* Modified cmdlet `New-AzMLWorkspaceAadAuthTypeWorkspaceConnectionPropertiesObject`
   - Changed the type of parameter `-Category` from `ConnectionCategory` to `String`
   - Changed the type of parameter `-ValueFormat` from `ValueFormat` to `String`
* Modified cmdlet `New-AzMLWorkspaceAccessKeyAuthTypeWorkspaceConnectionPropertiesObject`
   - Changed the type of parameter `-Category` from `ConnectionCategory` to `String`
   - Changed the type of parameter `-ValueFormat` from `ValueFormat` to `String`
* Modified cmdlet `New-AzMLWorkspaceAccountKeyAuthTypeWorkspaceConnectionPropertiesObject`
   - Changed the type of parameter `-Category` from `ConnectionCategory` to `String`
   - Changed the type of parameter `-ValueFormat` from `ValueFormat` to `String`
* Modified cmdlet `New-AzMLWorkspaceAksObject`
   - Changed the type of parameter `-ClusterPurpose` from `ClusterPurpose` to `String`
   - Changed the type of parameter `-LoadBalancerType` from `LoadBalancerType` to `String`
   - Changed the type of parameter `-SslStatus` from `SslConfigStatus` to `String`
* Modified cmdlet `New-AzMLWorkspaceAmlComputeObject`
   - Changed the type of parameter `-OSType` from `OSType` to `String`
   - Changed the type of parameter `-RemoteLoginPortPublicAccess` from `RemoteLoginPortPublicAccess` to `String`
   - Changed the type of parameter `-VMPriority` from `VMPriority` to `String`
* Modified cmdlet `New-AzMLWorkspaceApiKeyAuthWorkspaceConnectionPropertiesObject`
   - Changed the type of parameter `-Category` from `ConnectionCategory` to `String`
   - Changed the type of parameter `-ValueFormat` from `ValueFormat` to `String`
* Modified cmdlet `New-AzMLWorkspaceBatchDeployment`
   - Removed parameter `-IdentityType`
   - Added parameters `-BatchEndpointInputObject`, `-WorkspaceInputObject`, `-EnableSystemAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-DeploymentConfigurationType` from `BatchDeploymentConfigurationType` to `String`
   - Changed the type of parameter `-LoggingLevel` from `BatchLoggingLevel` to `String`
   - Changed the type of parameter `-OutputAction` from `BatchOutputAction` to `String`
   - Changed the type of parameter `-SkuTier` from `SkuTier` to `String`
* Modified cmdlet `New-AzMLWorkspaceBatchEndpoint`
   - Removed parameter `-IdentityType`
   - Added parameters `-WorkspaceInputObject`, `-EnableSystemAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-AuthMode` from `EndpointAuthMode` to `String`
   - Changed the type of parameter `-SkuTier` from `SkuTier` to `String`
* Modified cmdlet `New-AzMLWorkspaceCodeVersion`
   - Added parameters `-WorkspaceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzMLWorkspaceCommandJobObject`
   - Added parameters `-QueueSettingJobTier`, `-ResourceDockerArg`, `-ResourceShmSize`, `-ComponentId`, `-NotificationSettingEmail`, `-NotificationSettingEmailOn`, `-NotificationSettingWebhook`
   - Changed the type of parameter `-DistributionType` from `DistributionType` to `String`
   - Changed the type of parameter `-IdentityType` from `IdentityConfigurationType` to `String`
* Modified cmdlet `New-AzMLWorkspaceComponentContainer`
   - Added parameters `-WorkspaceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzMLWorkspaceComponentVersion`
   - Added parameters `-ComponentInputObject`, `-WorkspaceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzMLWorkspaceCompute`
   - Removed parameter `-IdentityType`
   - Added parameters `-WorkspaceInputObject`, `-EnableSystemAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-SkuTier` from `SkuTier` to `String`
* Modified cmdlet `New-AzMLWorkspaceComputeInstanceObject`
   - Removed parameters `-LastOperationName`, `-LastOperationStatus`, `-LastOperationTime`, `-LastOperationTrigger`, `-VersionRuntime`
   - Added parameters `-Location`, `-CustomService`
   - Changed the type of parameter `-ApplicationSharingPolicy` from `ApplicationSharingPolicy` to `String`
   - Changed the type of parameter `-AuthorizationType` from `ComputeInstanceAuthorizationType` to `String`
   - Changed the type of parameter `-SshSettingSshPublicAccess` from `SshPublicAccess` to `String`
* Modified cmdlet `New-AzMLWorkspaceComputeStartStopScheduleObject`
   - Changed the type of parameter `-Action` from `ComputePowerAction` to `String`
   - Changed the type of parameter `-RecurrenceFrequency` from `ComputeRecurrenceFrequency` to `String`
   - Changed the type of parameter `-ScheduleProvisioningStatus` from `ScheduleProvisioningState` to `String`
   - Changed the type of parameter `-ScheduleStatus` from `ScheduleStatus` to `String`
   - Changed the type of parameter `-ScheduleWeekDay` from `ComputeWeekDay[]` to `String[]`
   - Changed the type of parameter `-Status` from `ScheduleStatus` to `String`
   - Changed the type of parameter `-TriggerType` from `ComputeTriggerType` to `String`
   - Output type changed from ``ComputeStartStopSchedule`` to 
* Modified cmdlet `New-AzMLWorkspaceConnection`
   - Changed the type of parameter `-AuthType` from `ConnectionAuthType` to `String`
   - Changed the type of parameter `-Category` from `ConnectionCategory` to `String`
   - Changed the type of parameter `-ValueFormat` from `ValueFormat` to `String`
* Modified cmdlet `New-AzMLWorkspaceCustomKeysWorkspaceConnectionPropertiesObject`
   - Changed the type of parameter `-Category` from `ConnectionCategory` to `String`
   - Changed the type of parameter `-ValueFormat` from `ValueFormat` to `String`
* Modified cmdlet `New-AzMLWorkspaceCustomModelJobInputObject`
   - Changed the type of parameter `-Type` from `JobInputType` to `String`
   - Changed the type of parameter `-Mode` from `InputDeliveryMode` to `String`
* Modified cmdlet `New-AzMLWorkspaceCustomModelJobOutputObject`
   - Changed the type of parameter `-Type` from `JobOutputType` to `String`
   - Changed the type of parameter `-Mode` from `OutputDeliveryMode` to `String`
* Modified cmdlet `New-AzMLWorkspaceDatabricksObject`
   - Added parameter `-Location`
* Modified cmdlet `New-AzMLWorkspaceDataContainer`
   - Added parameters `-WorkspaceInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-DataType` from `DataType` to `String`
* Modified cmdlet `New-AzMLWorkspaceDataFactoryObject`
   - Added parameter `-Location`
* Modified cmdlet `New-AzMLWorkspaceDataLakeAnalyticsObject`
   - Added parameter `-Location`
* Modified cmdlet `New-AzMLWorkspaceDataPathAssetReferenceObject`
   - Removed parameter `-ReferenceType`
* Modified cmdlet `New-AzMLWorkspaceDatastore`
   - Added parameters `-WorkspaceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzMLWorkspaceDatastoreBlobObject`
   - Added parameters `-ResourceGroup`, `-SubscriptionId`
   - Changed the type of parameter `-ServiceDataAccessAuthIdentity` from `ServiceDataAccessAuthIdentity` to `String`
* Modified cmdlet `New-AzMLWorkspaceDatastoreDataLakeGen1Object`
   - Added parameters `-ResourceGroup`, `-SubscriptionId`
   - Changed the type of parameter `-ServiceDataAccessAuthIdentity` from `ServiceDataAccessAuthIdentity` to `String`
* Modified cmdlet `New-AzMLWorkspaceDatastoreDataLakeGen2Object`
   - Added parameters `-ResourceGroup`, `-SubscriptionId`
   - Changed the type of parameter `-ServiceDataAccessAuthIdentity` from `ServiceDataAccessAuthIdentity` to `String`
* Modified cmdlet `New-AzMLWorkspaceDatastoreFileObject`
   - Added parameters `-Credentials`, `-ResourceGroup`, `-SubscriptionId`
   - Changed the type of parameter `-ServiceDataAccessAuthIdentity` from `ServiceDataAccessAuthIdentity` to `String`
* Modified cmdlet `New-AzMLWorkspaceDataVersion`
   - Added parameters `-DataInputObject`, `-WorkspaceInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-DataType` from `DataType` to `String`
* Modified cmdlet `New-AzMLWorkspaceEnvironmentVersion`
   - Added parameters `-EnvironmentInputObject`, `-WorkspaceInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-AutoRebuild` from `AutoRebuildSetting` to `String`
   - Changed the type of parameter `-OSType` from `OperatingSystemType` to `String`
* Modified cmdlet `New-AzMLWorkspaceHDInsightObject`
   - Added parameter `-Location`
* Modified cmdlet `New-AzMLWorkspaceIdAssetReferenceObject`
   - Removed parameter `-ReferenceType`
* Modified cmdlet `New-AzMLWorkspaceJob`
   - Added parameters `-WorkspaceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzMLWorkspaceLiteralJobInputObject`
   - Changed the type of parameter `-Type` from `JobInputType` to `String`
* Modified cmdlet `New-AzMLWorkspaceManagedIdentityAuthTypeWorkspaceConnectionPropertiesObject`
   - Changed the type of parameter `-Category` from `ConnectionCategory` to `String`
   - Changed the type of parameter `-ValueFormat` from `ValueFormat` to `String`
* Modified cmdlet `New-AzMLWorkspaceMLFlowModelJobInputObject`
   - Changed the type of parameter `-Type` from `JobInputType` to `String`
   - Changed the type of parameter `-Mode` from `InputDeliveryMode` to `String`
* Modified cmdlet `New-AzMLWorkspaceMLFlowModelJobOutputObject`
   - Changed the type of parameter `-Type` from `JobOutputType` to `String`
   - Changed the type of parameter `-Mode` from `OutputDeliveryMode` to `String`
* Modified cmdlet `New-AzMLWorkspaceMLTableJobInputObject`
   - Changed the type of parameter `-Type` from `JobInputType` to `String`
   - Changed the type of parameter `-Mode` from `InputDeliveryMode` to `String`
* Modified cmdlet `New-AzMLWorkspaceMLTableJobOutputObject`
   - Changed the type of parameter `-Type` from `JobOutputType` to `String`
   - Changed the type of parameter `-Mode` from `OutputDeliveryMode` to `String`
* Modified cmdlet `New-AzMLWorkspaceModelContainer`
   - Added parameters `-WorkspaceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzMLWorkspaceModelVersion`
   - Added parameters `-ModelInputObject`, `-WorkspaceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzMLWorkspaceNoneAuthTypeWorkspaceConnectionPropertiesObject`
   - Changed the type of parameter `-Category` from `ConnectionCategory` to `String`
   - Changed the type of parameter `-ValueFormat` from `ValueFormat` to `String`
* Modified cmdlet `New-AzMLWorkspaceOAuth2AuthTypeWorkspaceConnectionPropertiesObject`
   - Changed the type of parameter `-Category` from `ConnectionCategory` to `String`
   - Changed the type of parameter `-ValueFormat` from `ValueFormat` to `String`
* Modified cmdlet `New-AzMLWorkspaceOnlineDeployment`
   - Removed parameter `-IdentityType`
   - Added parameters `-OnlineEndpointInputObject`, `-WorkspaceInputObject`, `-EnableSystemAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-EndpointComputeType` from `EndpointComputeType` to `String`
   - Changed the type of parameter `-DataCollectorRollingRate` from `RollingRateType` to `String`
   - Changed the type of parameter `-EgressPublicNetworkAccess` from `EgressPublicNetworkAccessType` to `String`
   - Changed the type of parameter `-ScaleType` from `ScaleType` to `String`
   - Changed the type of parameter `-SkuTier` from `SkuTier` to `String`
* Modified cmdlet `New-AzMLWorkspaceOnlineEndpoint`
   - Removed parameter `-IdentityType`
   - Added parameters `-WorkspaceInputObject`, `-EnableSystemAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-AuthMode` from `EndpointAuthMode` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccessType` to `String`
   - Changed the type of parameter `-SkuTier` from `SkuTier` to `String`
* Modified cmdlet `New-AzMLWorkspaceOnlineEndpointKey`
   - Added parameters `-WorkspaceInputObject`, `-Body`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-KeyType` from `KeyType` to `String`
* Modified cmdlet `New-AzMLWorkspaceOutputPathAssetReferenceObject`
   - Removed parameter `-ReferenceType`
* Modified cmdlet `New-AzMLWorkspacePatAuthTypeWorkspaceConnectionPropertiesObject`
   - Changed the type of parameter `-Category` from `ConnectionCategory` to `String`
   - Changed the type of parameter `-ValueFormat` from `ValueFormat` to `String`
* Modified cmdlet `New-AzMLWorkspacePipelineJobObject`
   - Added parameters `-SourceJobId`, `-ComponentId`, `-NotificationSettingEmail`, `-NotificationSettingEmailOn`, `-NotificationSettingWebhook`
   - Changed the type of parameter `-IdentityType` from `IdentityConfigurationType` to `String`
* Modified cmdlet `New-AzMLWorkspaceQuotaPropertiesObject`
   - Changed the type of parameter `-Unit` from `QuotaUnit` to `String`
* Modified cmdlet `New-AzMLWorkspaceSasAuthTypeWorkspaceConnectionPropertiesObject`
   - Changed the type of parameter `-Category` from `ConnectionCategory` to `String`
   - Changed the type of parameter `-ValueFormat` from `ValueFormat` to `String`
* Modified cmdlet `New-AzMLWorkspaceServicePrincipalAuthTypeWorkspaceConnectionPropertiesObject`
   - Changed the type of parameter `-Category` from `ConnectionCategory` to `String`
   - Changed the type of parameter `-ValueFormat` from `ValueFormat` to `String`
* Modified cmdlet `New-AzMLWorkspaceSharedPrivateLinkResourceObject`
   - Changed the type of parameter `-Status` from `PrivateEndpointServiceConnectionStatus` to `String`
* Modified cmdlet `New-AzMLWorkspaceSweepJobObject`
   - Added parameters `-LimitJobLimitsType`, `-QueueSettingJobTier`, `-ResourceDockerArg`, `-ResourceShmSize`, `-ComponentId`, `-NotificationSettingEmail`, `-NotificationSettingEmailOn`, `-NotificationSettingWebhook`
   - Changed the type of parameter `-ObjectiveGoal` from `Goal` to `String`
   - Changed the type of parameter `-SamplingAlgorithmType` from `SamplingAlgorithmType` to `String`
   - Changed the type of parameter `-DistributionType` from `DistributionType` to `String`
   - Changed the type of parameter `-EarlyTerminationPolicyType` from `EarlyTerminationPolicyType` to `String`
   - Changed the type of parameter `-IdentityType` from `IdentityConfigurationType` to `String`
* Modified cmdlet `New-AzMLWorkspaceSynapseSparkObject`
   - Added parameter `-Location`
* Modified cmdlet `New-AzMLWorkspaceTritonModelJobInputObject`
   - Changed the type of parameter `-Type` from `JobInputType` to `String`
   - Changed the type of parameter `-Mode` from `InputDeliveryMode` to `String`
* Modified cmdlet `New-AzMLWorkspaceTritonModelJobOutputObject`
   - Changed the type of parameter `-Type` from `JobOutputType` to `String`
   - Changed the type of parameter `-Mode` from `OutputDeliveryMode` to `String`
* Modified cmdlet `New-AzMLWorkspaceUriFileJobInputObject`
   - Changed the type of parameter `-Type` from `JobInputType` to `String`
   - Changed the type of parameter `-Mode` from `InputDeliveryMode` to `String`
* Modified cmdlet `New-AzMLWorkspaceUriFileJobOutputObject`
   - Changed the type of parameter `-Type` from `JobOutputType` to `String`
   - Changed the type of parameter `-Mode` from `OutputDeliveryMode` to `String`
* Modified cmdlet `New-AzMLWorkspaceUriFolderJobInputObject`
   - Changed the type of parameter `-Type` from `JobInputType` to `String`
   - Changed the type of parameter `-Mode` from `InputDeliveryMode` to `String`
* Modified cmdlet `New-AzMLWorkspaceUriFolderJobOutputObject`
   - Changed the type of parameter `-Type` from `JobOutputType` to `String`
   - Changed the type of parameter `-Mode` from `OutputDeliveryMode` to `String`
* Modified cmdlet `New-AzMLWorkspaceUsernamePasswordAuthTypeWorkspaceConnectionPropertiesObject`
   - Changed the type of parameter `-Category` from `ConnectionCategory` to `String`
   - Changed the type of parameter `-ValueFormat` from `ValueFormat` to `String`
* Modified cmdlet `New-AzMLWorkspaceVirtualMachineObject`
   - Added parameter `-Location`
* Modified cmdlet `Remove-AzMLWorkspaceBatchDeployment`
   - Added parameters `-BatchEndpointInputObject`, `-WorkspaceInputObject`
* Modified cmdlet `Remove-AzMLWorkspaceBatchEndpoint`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Remove-AzMLWorkspaceCodeVersion`
   - Added parameters `-CodeInputObject`, `-WorkspaceInputObject`
* Modified cmdlet `Remove-AzMLWorkspaceComponentContainer`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Remove-AzMLWorkspaceComponentVersion`
   - Added parameters `-ComponentInputObject`, `-WorkspaceInputObject`
* Modified cmdlet `Remove-AzMLWorkspaceCompute`
   - Added parameter `-WorkspaceInputObject`
   - Changed the type of parameter `-UnderlyingResourceAction` from `UnderlyingResourceAction` to `String`
* Modified cmdlet `Remove-AzMLWorkspaceConnection`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Remove-AzMLWorkspaceDataContainer`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Remove-AzMLWorkspaceDatastore`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Remove-AzMLWorkspaceDataVersion`
   - Added parameters `-DataInputObject`, `-WorkspaceInputObject`
* Modified cmdlet `Remove-AzMLWorkspaceEnvironmentContainer`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Remove-AzMLWorkspaceEnvironmentVersion`
   - Added parameters `-EnvironmentInputObject`, `-WorkspaceInputObject`
* Modified cmdlet `Remove-AzMLWorkspaceJob`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Remove-AzMLWorkspaceModelContainer`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Remove-AzMLWorkspaceModelVersion`
   - Added parameters `-ModelInputObject`, `-WorkspaceInputObject`
* Modified cmdlet `Remove-AzMLWorkspaceOnlineDeployment`
   - Added parameters `-OnlineEndpointInputObject`, `-WorkspaceInputObject`
* Modified cmdlet `Remove-AzMLWorkspaceOnlineEndpoint`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Restart-AzMLWorkspaceCompute`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Start-AzMLWorkspaceCompute`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Stop-AzMLWorkspaceCompute`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Stop-AzMLWorkspaceJob`
   - Added parameter `-WorkspaceInputObject`
* Modified cmdlet `Update-AzMLServiceQuota`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzMLWorkspace`
   - Removed parameter `-IdentityType`
   - Added parameters `-AllowPublicAccessWhenBehindVnet`, `-AssociatedWorkspace`, `-DiscoveryUrl`, `-EnableSystemAssignedIdentity`, `-EncryptionStatus`, `-EncryptionUserAssignedIdentity`, `-HbiWorkspace`, `-HubResourceId`, `-KeyVaultArmId`, `-KeyVaultId`, `-KeyVaultIdentityClientId`, `-Kind`, `-Location`, `-SharedPrivateLinkResource`, `-StorageAccountId`, `-WorkspaceHubConfigAdditionalWorkspaceStorageAccount`, `-WorkspaceHubConfigDefaultWorkspaceResourceGroup`
   - Changed the type of parameter `-ManagedNetworkIsolationMode` from `IsolationMode` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
   - Changed the type of parameter `-SkuTier` from `SkuTier` to `String`
   - Changed the type of parameter `-Status` from `ManagedNetworkStatus` to `String`
* Modified cmdlet `Update-AzMLWorkspaceBatchDeployment`
   - Added parameters `-BatchEndpointInputObject`, `-WorkspaceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzMLWorkspaceBatchEndpoint`
   - Removed parameter `-IdentityType`
   - Added parameters `-WorkspaceInputObject`, `-AuthMode`, `-DefaultDeploymentName`, `-Description`, `-EnableSystemAssignedIdentity`, `-EndpointProperties`, `-Kind`, `-SkuCapacity`, `-SkuFamily`, `-SkuName`, `-SkuSize`, `-SkuTier`
* Modified cmdlet `Update-AzMLWorkspaceCompute`
   - Added parameters `-WorkspaceInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzMLWorkspaceOnlineDeployment`
   - Added parameters `-OnlineEndpointInputObject`, `-WorkspaceInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-SkuTier` from `SkuTier` to `String`
* Modified cmdlet `Update-AzMLWorkspaceOnlineEndpoint`
   - Removed parameter `-IdentityType`
   - Added parameters `-WorkspaceInputObject`, `-AuthMode`, `-Compute`, `-Description`, `-EnableSystemAssignedIdentity`, `-EndpointPropertiesBaseProperty`, `-Kind`, `-MirrorTraffic`, `-PublicNetworkAccess`, `-SkuCapacity`, `-SkuFamily`, `-SkuName`, `-SkuSize`, `-SkuTier`, `-Traffic`
* Added cmdlet `Update-AzMLWorkspaceCodeVersion`, `Update-AzMLWorkspaceComponentContainer`, `Update-AzMLWorkspaceComponentVersion`, `Update-AzMLWorkspaceConnection`, `Update-AzMLWorkspaceDataContainer`, `Update-AzMLWorkspaceDataVersion`, `Update-AzMLWorkspaceEnvironmentVersion`, `Update-AzMLWorkspaceJob`, `Update-AzMLWorkspaceModelContainer`, `Update-AzMLWorkspaceModelVersion`
#### Az.Maintenance 1.6.0 
* Modified cmdlet `New-AzApplyUpdate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzConfigurationAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzMaintenanceConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzConfigurationAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzMaintenanceConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzMaintenanceConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.ManagedServices 4.0.0 
* Modified cmdlet `New-AzManagedServicesAssignment`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzManagedServicesDefinition`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzManagedServicesEligibleAuthorizationObject`
   - Changed the type of parameter `-JustInTimeAccessPolicyMultiFactorAuthProvider` from `MultiFactorAuthProvider` to `String`
* Added cmdlet `Update-AzManagedServicesDefinition`
#### Az.Migrate 3.0.0 
* Modified cmdlet `Get-AzMigrateReplicationFabric`
   - Added parameter `-VaultInputObject`
* Modified cmdlet `Get-AzMigrateReplicationPolicy`
   - Added parameter `-VaultInputObject`
* Modified cmdlet `Get-AzMigrateReplicationProtectionContainer`
   - Added parameters `-ReplicationFabricInputObject`, `-VaultInputObject`
* Modified cmdlet `Get-AzMigrateReplicationProtectionContainerMapping`
   - Added parameters `-ReplicationFabricInputObject`, `-ReplicationProtectionContainerInputObject`, `-VaultInputObject`
* Modified cmdlet `Get-AzMigrateReplicationRecoveryServicesProvider`
   - Added parameters `-ReplicationFabricInputObject`, `-VaultInputObject`
* Modified cmdlet `Get-AzMigrateRunAsAccount`
   - Added parameters `-SubscriptionInputObject`, `-VMwareSiteInputObject`
* Modified cmdlet `Get-AzMigrateSite`
   - `SupportsShouldProcess` changed from False to True
   - Added parameters `-SubscriptionInputObject`, `-Subscription1InputObject`, `-Subscription2InputObject`
* Modified cmdlet `Get-AzMigrateSolution`
   - Added parameter `-MigrateProjectInputObject`
* Modified cmdlet `New-AzMigrateReplicationPolicy`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzMigrateReplicationProtectionContainerMapping`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Register-AzMigrateProjectTool`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Output type changed from ``Boolean`` to ``IRegistrationResult``
#### Az.Monitor 8.0.0 
* Modified cmdlet `Add-AzLogProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzMetricAlertRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzMetricAlertRuleV2`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzWebtestAlertRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAlertRuleEmail`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAlertRuleWebhook`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzInsightsPrivateLinkScope`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzInsightsPrivateLinkScopedResource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzMetricAlertRuleV2Criteria`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzMetricAlertRuleV2DimensionSelection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzMetricFilter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAlertRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzInsightsPrivateLinkScope`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzInsightsPrivateLinkScopedResource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzLogProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzMetricAlertRuleV2`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzInsightsPrivateLinkScope`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzMonitorWorkspace`
   - Added parameters `-EnableSystemAssignedIdentity`, `-MetricEnableAccessUsingResourcePermission`, `-PublicNetworkAccess`, `-UserAssignedIdentity`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzPipelineGroup`
   - Removed parameter `-NetworkingConfiguration`
   - Added parameters `-DistributionMaxInstancesPerHost`, `-ExecutionPlacementConstraint`, `-TlsConfiguration`
* Modified cmdlet `Update-AzMonitorWorkspace`
   - Added parameters `-EnableSystemAssignedIdentity`, `-MetricEnableAccessUsingResourcePermission`, `-PublicNetworkAccess`, `-UserAssignedIdentity`
* Modified cmdlet `Update-AzPipelineGroup`
   - Removed parameter `-NetworkingConfiguration`
   - Added parameters `-DistributionMaxInstancesPerHost`, `-ExecutionPlacementConstraint`, `-TlsConfiguration`
* Added cmdlet `Add-AzMonitorWorkspaceIssueAlert`, `Add-AzMonitorWorkspaceIssueInvestigationResult`, `Add-AzMonitorWorkspaceIssueResource`, `Get-AzMonitorWorkspaceIssue`, `Get-AzMonitorWorkspaceIssueAlert`, `Get-AzMonitorWorkspaceIssueResource`, `Get-AzMonitorWorkspaceMetricsContainer`, `Invoke-AzMonitorWorkspaceFetchIssueBackgroundVisualization`, `Invoke-AzMonitorWorkspaceFetchIssueInvestigationResult`, `New-AzMonitorWorkspaceIssue`, `New-AzMonitorWorkspaceMetricsContainer`, `Remove-AzMonitorWorkspaceIssue`, `Set-AzMonitorWorkspace`, `Set-AzMonitorWorkspaceIssueBackgroundVisualization`, `Set-AzMonitorWorkspaceMetricsContainer`, `Update-AzMonitorWorkspaceIssue`, `Update-AzMonitorWorkspaceIssueAlert`, `Update-AzMonitorWorkspaceIssueResource`, `Update-AzMonitorWorkspaceMetricsContainer`
#### Az.MySql 2.0.0 
* Removed cmdlet `Get-AzMySqlConfiguration`, `Get-AzMySqlConnectionString`, `Get-AzMySqlFirewallRule`
* Modified cmdlet `Get-AzMySqlFlexibleServer`
   - Output type changed from ``IServerAutoGenerated`` to ``IServer``
* Modified cmdlet `Get-AzMySqlFlexibleServerConfiguration`
   - Added parameter `-FlexibleServerInputObject`
   - Output type changed from ``IConfigurationAutoGenerated`` to ``IConfiguration``
* Modified cmdlet `Get-AzMySqlFlexibleServerDatabase`
   - Added parameter `-FlexibleServerInputObject`
   - Output type changed from ``IDatabaseAutoGenerated`` to ``IDatabase``
* Modified cmdlet `Get-AzMySqlFlexibleServerFirewallRule`
   - Added parameter `-FlexibleServerInputObject`
   - Output type changed from ``IFirewallRuleAutoGenerated`` to ``IFirewallRule``
* Removed cmdlet `Get-AzMySqlReplica`, `Get-AzMySqlServer`, `Get-AzMySqlVirtualNetworkRule`, `New-AzMySqlFirewallRule`
* Modified cmdlet `New-AzMySqlFlexibleServer`
   - Changed the type of parameter `-StorageAutogrow` from `StorageAutogrow` to `String`
   - Changed the type of parameter `-Version` from `ServerVersion` to `String`
   - Output type changed from ``IServerAutoGenerated`` to ``IServer``
* Modified cmdlet `New-AzMySqlFlexibleServerDatabase`
   - Added parameters `-FlexibleServerInputObject`, `-JsonFilePath`, `-JsonString`
   - Output type changed from ``IDatabaseAutoGenerated`` to ``IDatabase``
* Modified cmdlet `New-AzMySqlFlexibleServerReplica`
   - Changed the type of parameter `-Master` from `IServerAutoGenerated` to `IServer`
   - Output type changed from ``IServerAutoGenerated`` to ``IServer``
* Removed cmdlet `New-AzMySqlReplica`, `New-AzMySqlServer`, `New-AzMySqlVirtualNetworkRule`, `Remove-AzMySqlFirewallRule`
* Modified cmdlet `Remove-AzMySqlFlexibleServerDatabase`
   - Added parameter `-FlexibleServerInputObject`
* Modified cmdlet `Remove-AzMySqlFlexibleServerFirewallRule`
   - Added parameter `-FlexibleServerInputObject`
* Removed cmdlet `Remove-AzMySqlServer`, `Remove-AzMySqlVirtualNetworkRule`
* Modified cmdlet `Restart-AzMySqlFlexibleServer`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-RestartWithFailover` from `EnableStatusEnum` to `String`
* Removed cmdlet `Restart-AzMySqlServer`
* Modified cmdlet `Restore-AzMySqlFlexibleServer`
   - Changed the type of parameter `-InputObject` from `IServerAutoGenerated` to `IServer`
   - Output type changed from ``IServerAutoGenerated`` to ``IServer``
* Removed cmdlet `Restore-AzMySqlServer`, `Update-AzMySqlConfiguration`, `Update-AzMySqlFirewallRule`
* Modified cmdlet `Update-AzMySqlFlexibleServer`
   - Changed the type of parameter `-SkuTier` from `SkuTier` to `String`
   - Changed the type of parameter `-StorageAutogrow` from `StorageAutogrow` to `String`
   - Output type changed from ``IServerAutoGenerated`` to ``IServer``
* Modified cmdlet `Update-AzMySqlFlexibleServerAdvancedThreatProtectionSetting`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-State` from `AdvancedThreatProtectionState` to `String`
* Modified cmdlet `Update-AzMySqlFlexibleServerConfiguration`
   - Output type changed from ``IConfigurationAutoGenerated`` to ``IConfiguration``
* Modified cmdlet `Update-AzMySqlFlexibleServerFirewallRule`
   - Output type changed from ``IFirewallRuleAutoGenerated`` to ``IFirewallRule``
* Removed cmdlet `Update-AzMySqlServer`, `Update-AzMySqlServerConfigurationsList`, `Update-AzMySqlVirtualNetworkRule`
#### Az.NetAppFiles 1.3.0 
* Modified cmdlet `Approve-AzNetAppFilesReplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Clear-AzNetAppFilesRansomwareReportSuspect`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Convert-AzNetAppFilesAccountToCmk`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Initialize-AzNetAppFilesReplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzNetAppFilesAccountChangeKeyVault`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetAppFilesAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetAppFilesActiveDirectory`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetAppFilesBackup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetAppFilesBackupPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetAppFilesBackupVault`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetAppFilesBucket`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetAppFilesBucketCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetAppFilesCache`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetAppFilesExportPolicyObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetAppFilesExportPolicyRuleObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetAppFilesPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetAppFilesSnapshot`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetAppFilesSnapshotPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetAppFilesSubvolume`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetAppFilesVolume`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetAppFilesVolumeGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetAppFilesVolumeQuotaRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetAppFilesAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetAppFilesActiveDirectory`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetAppFilesBackup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetAppFilesBackupPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetAppFilesBackupVault`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetAppFilesBucket`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetAppFilesCache`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetAppFilesPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetAppFilesReplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetAppFilesSnapshot`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetAppFilesSnapshotPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetAppFilesSubvolume`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetAppFilesVolume`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetAppFilesVolumeGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetAppFilesVolumeQuotaRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzNetAppFilesCacheSmbPassword`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzNetAppFilesVolumeCifsPassword`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzNetAppFilesBackupFile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzNetAppFilesReplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzNetAppFilesSnapshotFile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzNetAppFilesVolume`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Resume-AzNetAppFilesReplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetAppFilesAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetAppFilesBackupPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetAppFilesBackupVault`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetAppFilesBucketAkvCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetAppFilesCachePool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetAppFilesPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetAppFilesSnapshotPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetAppFilesVolumePool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Split-AzNetAppFilesCloneFromParent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzNetAppFilesAuthorizeExternalReplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzNetAppFilesFinalizeExternalReplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzNetAppFilesPeerExternalCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzNetAppFilesPerformExternalReplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Suspend-AzNetAppFilesReplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Unlock-AzNetAppFilesVolumeFileLock`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetAppFilesAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetAppFilesAccountCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetAppFilesActiveDirectory`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetAppFilesBackup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetAppFilesBackupPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetAppFilesBackupVault`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetAppFilesBucket`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetAppFilesBucketCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetAppFilesCache`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetAppFilesNetworkSiblingSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetAppFilesPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetAppFilesSnapshotPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetAppFilesSubvolume`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetAppFilesVolume`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetAppFilesVolumeQuotaRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.Network 8.0.0 
* Modified cmdlet `Add-AzApplicationGatewayAuthenticationCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayBackendAddressPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayBackendHttpSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayBackendSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayCustomError`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayFrontendIPConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayFrontendPort`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayHttpListener`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayHttpListenerCustomError`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayIPConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayListener`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayPrivateLinkConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayProbeConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayRedirectConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayRequestRoutingRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayRewriteRuleSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayRoutingRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewaySslCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewaySslProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayTrustedClientCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayTrustedRootCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzApplicationGatewayUrlPathMapConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzDelegation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzExpressRouteCircuitAuthorization`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzExpressRouteCircuitConnectionConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzExpressRouteCircuitMicrosoftPeeringPrefixConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzExpressRouteCircuitPeeringConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzExpressRouteCrossConnectionPeering`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzExpressRoutePortAuthorization`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzLoadBalancerBackendAddressPoolConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzLoadBalancerFrontendIpConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzLoadBalancerInboundNatPoolConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzLoadBalancerInboundNatRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzLoadBalancerOutboundRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzLoadBalancerProbeConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzLoadBalancerRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzNetworkInterfaceIpConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzNetworkInterfaceTapConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzNetworkSecurityRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzRouteConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzRouteFilterRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzRouteServerPeer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzRoutingPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzServiceEndpointPolicyDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVirtualHubRoute`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVirtualHubRouteTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVirtualNetworkGatewayIpConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVirtualNetworkPeering`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVirtualNetworkSubnetConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVirtualRouterPeer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVpnClientRevokedCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzVpnClientRootCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Approve-AzPrivateEndpointConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Convert-AzNetworkWatcherClassicConnectionMonitor`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Deny-AzPrivateEndpointConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Deploy-AzFirewallPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Deploy-AzNetworkManagerCommit`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disconnect-AzP2SVpnGatewayVpnConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disconnect-AzVirtualNetworkGatewayVpnConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzFirewallPacketCapture`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzFirewallPacketCaptureOperation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzNetworkWatcherNetworkConfigurationDiagnostic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzVirtualNetworkGatewayAbortMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzVirtualNetworkGatewayCommitMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzVirtualNetworkGatewayExecuteMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzVirtualNetworkGatewayPrepareMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Move-AzExpressRouteCircuit`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayAuthenticationCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayAutoscaleConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayBackendAddressPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayBackendHttpSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayBackendSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayClientAuthConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayConnectionDraining`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayCustomError`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallCondition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallCustomRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallCustomRuleGroupByUserSession`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallCustomRuleGroupByVariable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallDisabledRuleGroupConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallExclusionConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallMatchVariable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallPolicyException`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallPolicyExclusion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallPolicyExclusionManagedRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallPolicyExclusionManagedRuleGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallPolicyExclusionManagedRuleSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallPolicyLogScrubbingConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallPolicyLogScrubbingRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallPolicyManagedRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallPolicyManagedRuleGroupOverride`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallPolicyManagedRuleOverride`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallPolicyManagedRuleSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFirewallPolicySetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayFrontendPort`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayHeaderValueMatcher`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayIdentity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayListener`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayPrivateLinkConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayPrivateLinkIpConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayProbeConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayProbeHealthResponseMatch`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayRewriteRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayRewriteRuleActionSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayRewriteRuleCondition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayRewriteRuleHeaderConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayRewriteRuleSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayRewriteRuleUrlConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayRoutingRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewaySku`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewaySslCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewaySslPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewaySslProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayTrustedClientCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayTrustedRootCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayUrlPathMapConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationGatewayWebApplicationFirewallConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzApplicationSecurityGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzBastion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzBastionShareableLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzContainerNicConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzContainerNicConfigIpConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzCustomIpPrefix`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDdosProtectionPlan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDelegation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzExpressRouteCircuit`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzExpressRouteCircuitAuthorization`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzExpressRouteCircuitPeeringConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzExpressRouteConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzExpressRouteGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzExpressRoutePort`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzExpressRoutePortIdentity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzExpressRoutePortLOA`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewall`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallApplicationRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallApplicationRuleCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallHubIpAddress`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallHubPublicIpAddress`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallNatRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallNatRuleCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallNetworkRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallNetworkRuleCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallPacketCaptureParameter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallPacketCaptureRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
   - Changed the type of parameter `-UserAssignedIdentityId` from `String` to `String[]`
* Modified cmdlet `New-AzFirewallPolicyApplicationRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallPolicyApplicationRuleCustomHttpHeader`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallPolicyDnsSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallPolicyDraft`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallPolicyExplicitProxy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallPolicyFilterRuleCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallPolicyIntrusionDetection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallPolicyIntrusionDetectionBypassTraffic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallPolicyIntrusionDetectionSignatureOverride`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallPolicyNatRuleCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallPolicyRuleCollectionGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallPolicyRuleCollectionGroupDraft`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallPolicySnat`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallPolicySqlSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallPolicyThreatIntelWhitelist`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallPublicIpAddress`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzFirewallThreatIntelWhitelist`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzGatewayCustomBgpIpConfigurationObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIpAllocation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIpConfigurationBgpPeeringAddressObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIpGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIpsecPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIpsecTrafficSelectorPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzLoadBalancer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzLoadBalancerBackendAddressConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzLoadBalancerBackendAddressPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzLoadBalancerBackendAddressPoolConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzLoadBalancerBackendAddressPoolTunnelInterfaceConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzLoadBalancerFrontendIpConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzLoadBalancerInboundNatPoolConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzLoadBalancerInboundNatRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzLoadBalancerOutboundRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzLoadBalancerProbeConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzLoadBalancerRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzLocalNetworkGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNatGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkInterface`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkInterfaceIpConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManager`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerAddressPrefixItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerConnectivityConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerConnectivityGroupItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerHub`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerIpamPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerIpamPoolStaticCidr`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerIPTraffic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerManagementGroupConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerRoutingConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerRoutingGroupItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerRoutingRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerRoutingRuleCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerRoutingRuleDestination`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerRoutingRuleNextHop`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerScope`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerScopeConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerSecurityAdminConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerSecurityAdminRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerSecurityAdminRuleCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerSecurityGroupItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerSecurityUserConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerSecurityUserGroupItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerSecurityUserRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerSecurityUserRuleCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerStaticMember`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerSubscriptionConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerVerifierWorkspace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerVerifierWorkspaceReachabilityAnalysisIntent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkManagerVerifierWorkspaceReachabilityAnalysisRun`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkSecurityGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkSecurityRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkVirtualAppliance`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkWatcher`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkWatcherConnectionMonitor`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkWatcherConnectionMonitorEndpointScopeItemObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkWatcherConnectionMonitorObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkWatcherConnectionMonitorOutputObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkWatcherConnectionMonitorTestConfigurationObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkWatcherConnectionMonitorTestGroupObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkWatcherFlowLog`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkWatcherNetworkConfigurationDiagnosticProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkWatcherPacketCapture`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkWatcherPacketCaptureV2`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNetworkWatcherProtocolConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNvaInterfaceConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzO365PolicyProperty`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOffice365PolicyProperty`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzP2sVpnGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzPacketCaptureFilterConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzPacketCaptureScopeConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzPacketCaptureSettingsConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzPrivateDnsZoneConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzPrivateDnsZoneGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzPrivateEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzPrivateEndpointIpConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzPrivateLinkService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzPrivateLinkServiceConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzPrivateLinkServiceIpConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzPublicIpAddress`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzPublicIpPrefix`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzPublicIpTag`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRadiusServer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRouteConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRouteFilter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRouteFilterRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRouteMap`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRouteMapRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRouteMapRuleAction`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRouteMapRuleActionParameter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRouteMapRuleCriterion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRouteServer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRouteTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRoutingConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRoutingIntent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRoutingPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSaaSNetworkVirtualAppliance`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSecurityPartnerProvider`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceEndpointPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceEndpointPolicyDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStaticRoute`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVHubRoute`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVHubRouteTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualApplianceAdditionalNicProperty`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualApplianceInboundSecurityRulesProperty`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualApplianceInternetIngressIpsProperty`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualApplianceIpConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualApplianceNetworkInterfaceConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualApplianceNetworkProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualApplianceSite`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualApplianceSkuProperty`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualHub`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualHubBgpConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualHubRoute`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualHubRouteTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualHubVnetConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualNetwork`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualNetworkAppliance`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualNetworkGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualNetworkGatewayCertificateAuthentication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualNetworkGatewayConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualNetworkGatewayMigrationParameter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualNetworkGatewayNatRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualNetworkGatewayPolicyGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualNetworkGatewayPolicyGroupMember`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualNetworkSubnetConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualNetworkTap`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualRouter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualRouterAutoScaleConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVirtualWan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVpnClientConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVpnClientConnectionConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVpnClientIpsecParameter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVpnClientIpsecPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVpnClientRevokedCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVpnClientRootCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVpnConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVpnGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVpnGatewayNatRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVpnServerConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVpnServerConfigurationPolicyGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVpnSite`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzVpnSiteLinkConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayAuthenticationCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayAutoscaleConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayBackendAddressPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayBackendHttpSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayBackendSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayClientAuthConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayConnectionDraining`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayCustomError`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayFirewallCustomRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayFirewallPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayFrontendIPConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayFrontendPort`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayHttpListener`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayHttpListenerCustomError`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayIdentity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayIPConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayListener`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayPrivateLinkConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayProbeConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayRedirectConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayRequestRoutingRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayRewriteRuleSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayRoutingRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewaySslCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewaySslPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewaySslProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewaySslProfilePolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayTrustedClientCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayTrustedRootCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationGatewayUrlPathMapConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzApplicationSecurityGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzBastion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzBastionShareableLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzCustomIpPrefix`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDdosProtectionPlan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDelegation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzExpressRouteCircuit`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzExpressRouteCircuitAuthorization`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzExpressRouteCircuitConnectionConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzExpressRouteCircuitMicrosoftPeeringPrefixConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzExpressRouteCircuitPeeringConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzExpressRouteConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzExpressRouteCrossConnectionPeering`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzExpressRouteGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzExpressRoutePort`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzExpressRoutePortAuthorization`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzExpressRoutePortIdentity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzFirewall`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzFirewallPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzFirewallPolicyDraft`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzFirewallPolicyRuleCollectionGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzFirewallPolicyRuleCollectionGroupDraft`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIpAllocation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIpGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzLoadBalancer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzLoadBalancerBackendAddressPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzLoadBalancerBackendAddressPoolConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzLoadBalancerFrontendIpConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzLoadBalancerInboundNatPoolConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzLoadBalancerInboundNatRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzLoadBalancerOutboundRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzLoadBalancerProbeConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzLoadBalancerRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzLocalNetworkGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNatGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkInterface`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkInterfaceIpConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkInterfaceTapConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManager`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerConnectivityConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerIpamPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerIpamPoolStaticCidr`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerManagementGroupConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerRoutingConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerRoutingRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerRoutingRuleCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerScopeConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerSecurityAdminConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerSecurityAdminRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerSecurityAdminRuleCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerSecurityUserConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerSecurityUserRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerSecurityUserRuleCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerStaticMember`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerSubscriptionConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerVerifierWorkspace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerVerifierWorkspaceReachabilityAnalysisIntent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkManagerVerifierWorkspaceReachabilityAnalysisRun`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkSecurityGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkSecurityRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkVirtualAppliance`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkWatcher`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkWatcherConnectionMonitor`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkWatcherFlowLog`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNetworkWatcherPacketCapture`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzP2sVpnGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzPrivateDnsZoneGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzPrivateEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzPrivateEndpointConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzPrivateLinkService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzPublicIpAddress`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzPublicIpPrefix`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRouteConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRouteFilter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRouteFilterRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRouteMap`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRouteServer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRouteServerPeer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRouteTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRoutingIntent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRoutingPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSecurityPartnerProvider`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceEndpointPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceEndpointPolicyDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVHubRouteTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVirtualApplianceSite`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVirtualHub`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVirtualHubBgpConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVirtualHubRouteTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVirtualHubVnetConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVirtualNetwork`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVirtualNetworkAppliance`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVirtualNetworkGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVirtualNetworkGatewayConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVirtualNetworkGatewayDefaultSite`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVirtualNetworkGatewayIpConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVirtualNetworkGatewayNatRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVirtualNetworkPeering`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVirtualNetworkSubnetConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVirtualNetworkTap`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVirtualRouter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVirtualRouterPeer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVirtualWan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVpnClientIpsecParameter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVpnClientRevokedCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVpnClientRootCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVpnConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVpnGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVpnGatewayNatRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVpnServerConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVpnServerConfigurationPolicyGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzVpnSite`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzHubRouter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzP2sVpnGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzVirtualNetworkGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzVirtualNetworkGatewayConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzVirtualNetworkGatewayConnectionSharedKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzVpnGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzVpnSiteLinkConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Resize-AzVirtualNetworkGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restart-AzNetworkVirtualAppliance`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayAuthenticationCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayAutoscaleConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayBackendAddressPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayBackendHttpSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayBackendSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayClientAuthConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayConnectionDraining`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayCustomError`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayFirewallPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayFrontendIPConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayFrontendPort`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayHttpListener`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayHttpListenerCustomError`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayIdentity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayIPConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayListener`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayPrivateLinkConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayProbeConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayRedirectConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayRequestRoutingRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayRewriteRuleSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayRoutingRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewaySku`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewaySslCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewaySslPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewaySslProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewaySslProfilePolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayTrustedClientCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayTrustedRootCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayUrlPathMapConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzApplicationGatewayWebApplicationFirewallConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzBastion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzExpressRouteCircuit`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzExpressRouteCircuitConnectionConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzExpressRouteCircuitMicrosoftPeeringPrefixConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzExpressRouteCircuitPeeringConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzExpressRouteConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzExpressRouteCrossConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzExpressRouteGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzExpressRoutePort`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzExpressRoutePortIdentity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzFirewall`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzFirewallPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
   - Changed the type of parameter `-UserAssignedIdentityId` from `String` to `String[]`
* Modified cmdlet `Set-AzFirewallPolicyDraft`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzFirewallPolicyRuleCollectionGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzFirewallPolicyRuleCollectionGroupDraft`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIpAllocation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIpGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzLoadBalancer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzLoadBalancerBackendAddressPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzLoadBalancerFrontendIpConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzLoadBalancerInboundNatPoolConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzLoadBalancerInboundNatRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzLoadBalancerOutboundRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzLoadBalancerProbeConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzLoadBalancerRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzLocalNetworkGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNatGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkInterface`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkInterfaceIpConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkInterfaceTapConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkManager`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkManagerConnectivityConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkManagerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkManagerIpamPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkManagerIpamPoolStaticCidr`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkManagerManagementGroupConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkManagerRoutingConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkManagerRoutingRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkManagerRoutingRuleCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkManagerScopeConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkManagerSecurityAdminConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkManagerSecurityAdminRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkManagerSecurityAdminRuleCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkManagerSecurityUserConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkManagerSecurityUserRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkManagerSecurityUserRuleCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkManagerSubscriptionConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkManagerVerifierWorkspace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkSecurityGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkSecurityRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkWatcherConfigFlowLog`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkWatcherConnectionMonitor`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNetworkWatcherFlowLog`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzPrivateDnsZoneGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzPrivateEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzPrivateEndpointConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzPrivateLinkService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzPublicIpAddress`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzPublicIpPrefix`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRouteConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRouteFilter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRouteFilterRuleConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRouteTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRoutingIntent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRoutingPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSecurityPartnerProvider`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceEndpointPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceEndpointPolicyDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVirtualHub`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVirtualNetwork`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVirtualNetworkGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVirtualNetworkGatewayConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVirtualNetworkGatewayConnectionSharedKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVirtualNetworkGatewayDefaultSite`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVirtualNetworkPeering`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVirtualNetworkSubnetConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVirtualNetworkTap`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzVpnClientIpsecParameter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzApplicationGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzNetworkWatcherResourceTroubleshooting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzVirtualNetworkGatewayConnectionPacketCapture`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzVirtualnetworkGatewayPacketCapture`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzVirtualNetworkGatewaySiteFailoverTest`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzVpnConnectionPacketCapture`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzVpnGatewayPacketCapture`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzApplicationGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzNetworkWatcherConnectionMonitor`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzNetworkWatcherPacketCapture`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzVirtualNetworkGatewayConnectionPacketCapture`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzVirtualNetworkGatewayPacketCapture`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzVirtualNetworkGatewaySiteFailoverTest`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzVpnConnectionPacketCapture`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzVpnGatewayPacketCapture`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Sync-AzVirtualNetworkPeering`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzCustomIpPrefix`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetworkVirtualAppliance`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzNetworkVirtualApplianceConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzP2sVpnGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzRouteMap`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzRouteServer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzRouteServerPeer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVHubRouteTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVirtualApplianceInboundSecurityRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVirtualApplianceSite`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVirtualHub`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVirtualHubBgpConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVirtualHubVnetConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVirtualNetworkAppliance`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVirtualNetworkGatewayNatRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVirtualRouter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVirtualRouterPeer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVirtualWan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVpnConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVpnGateway`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVpnGatewayNatRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVpnServerConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVpnServerConfigurationPolicyGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzVpnSite`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.NetworkCloud 3.0.0 
* Modified cmdlet `Get-AzNetworkCloudAgentPool`
   - Added parameters `-SkipToken`, `-Top`
* Modified cmdlet `Get-AzNetworkCloudBareMetalMachine`
   - Added parameters `-SkipToken`, `-Top`
* Modified cmdlet `Get-AzNetworkCloudBareMetalMachineKeySet`
   - Added parameters `-SkipToken`, `-Top`
* Modified cmdlet `Get-AzNetworkCloudBmcKeySet`
   - Added parameters `-SkipToken`, `-Top`
* Modified cmdlet `Get-AzNetworkCloudCluster`
   - Added parameters `-SkipToken`, `-Top`
* Modified cmdlet `Get-AzNetworkCloudClusterManager`
   - Added parameters `-SkipToken`, `-Top`
* Modified cmdlet `Get-AzNetworkCloudConsole`
   - Added parameters `-SkipToken`, `-Top`
* Modified cmdlet `Get-AzNetworkCloudKubernetesCluster`
   - Added parameters `-SkipToken`, `-Top`
* Modified cmdlet `Get-AzNetworkCloudKubernetesClusterFeature`
   - Added parameters `-SkipToken`, `-Top`
* Modified cmdlet `Get-AzNetworkCloudL2Network`
   - Added parameters `-SkipToken`, `-Top`
* Modified cmdlet `Get-AzNetworkCloudL3Network`
   - Added parameters `-SkipToken`, `-Top`
* Modified cmdlet `Get-AzNetworkCloudMetricsConfiguration`
   - Added parameters `-SkipToken`, `-Top`
* Modified cmdlet `Get-AzNetworkCloudRack`
   - Added parameters `-SkipToken`, `-Top`
* Modified cmdlet `Get-AzNetworkCloudServicesNetwork`
   - Added parameters `-SkipToken`, `-Top`
* Modified cmdlet `Get-AzNetworkCloudStorageAppliance`
   - Added parameters `-SkipToken`, `-Top`
* Modified cmdlet `Get-AzNetworkCloudTrunkedNetwork`
   - Added parameters `-SkipToken`, `-Top`
* Modified cmdlet `Get-AzNetworkCloudVirtualMachine`
   - Added parameters `-SkipToken`, `-Top`
* Modified cmdlet `Get-AzNetworkCloudVolume`
   - Added parameters `-SkipToken`, `-Top`
* Modified cmdlet `Invoke-AzNetworkCloudBareMetalMachineReplace`
   - Added parameters `-SafeguardMode`, `-StoragePolicy`
* Modified cmdlet `New-AzNetworkCloudBareMetalMachineKeySet`
   - Added parameter `-PrivilegeLevelName`
* Modified cmdlet `New-AzNetworkCloudCluster`
   - Added parameter `-CommandOutputSettingOverride`
* Modified cmdlet `New-AzNetworkCloudServicesNetwork`
   - Added parameters `-StorageOptionMode`, `-StorageOptionSizeMiB`, `-StorageOptionStorageApplianceId`
* Modified cmdlet `New-AzNetworkCloudVirtualMachine`
   - Added parameters `-EnableSystemAssignedIdentity`, `-NetworkDataContent`, `-UserAssignedIdentity`, `-UserDataContent`
* Modified cmdlet `New-AzNetworkCloudVolume`
   - Added parameter `-StorageApplianceId`
* Modified cmdlet `Update-AzNetworkCloudCluster`
   - Added parameter `-CommandOutputSettingOverride`
* Modified cmdlet `Update-AzNetworkCloudServicesNetwork`
   - Added parameters `-StorageOptionMode`, `-StorageOptionSizeMiB`, `-StorageOptionStorageApplianceId`
* Modified cmdlet `Update-AzNetworkCloudVirtualMachine`
   - Removed parameters `-JsonFilePath`, `-JsonString`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
* Added cmdlet `Invoke-AzNetworkCloudBareMetalMachineRestrictedDataExtract`, `Invoke-AzNetworkCloudStorageApplianceReadCommand`
#### Az.NotificationHubs 1.3.0 
* Modified cmdlet `New-AzNotificationHub`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNotificationHubAuthorizationRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNotificationHubKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNotificationHubsNamespace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNotificationHubsNamespaceAuthorizationRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzNotificationHubsNamespaceKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNotificationHub`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNotificationHubAuthorizationRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNotificationHubsNamespace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzNotificationHubsNamespaceAuthorizationRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNotificationHub`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNotificationHubAuthorizationRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNotificationHubsNamespace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzNotificationHubsNamespaceAuthorizationRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.OperationalInsights 3.4.0 
* Modified cmdlet `Disable-AzOperationalInsightsIISLogCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzOperationalInsightsLinuxCustomLogCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzOperationalInsightsLinuxPerformanceCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzOperationalInsightsLinuxSyslogCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzOperationalInsightsIISLogCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzOperationalInsightsLinuxCustomLogCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzOperationalInsightsLinuxPerformanceCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzOperationalInsightsLinuxSyslogCollection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzOperationalInsightsMigrateTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzOperationalInsightsQuery`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOperationalInsightsApplicationInsightsDataSource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOperationalInsightsAzureActivityLogDataSource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOperationalInsightsCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOperationalInsightsComputerGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOperationalInsightsCustomLogDataSource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOperationalInsightsDataExport`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOperationalInsightsLinkedStorageAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOperationalInsightsLinuxPerformanceObjectDataSource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOperationalInsightsLinuxSyslogDataSource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOperationalInsightsPurgeWorkspace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOperationalInsightsRestoreTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOperationalInsightsSavedSearch`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOperationalInsightsSearchTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOperationalInsightsStorageInsight`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOperationalInsightsTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOperationalInsightsWindowsEventDataSource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOperationalInsightsWindowsPerformanceCounterDataSource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzOperationalInsightsWorkspace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzOperationalInsightsCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzOperationalInsightsDataExport`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzOperationalInsightsDataSource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzOperationalInsightsLinkedService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzOperationalInsightsLinkedStorageAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzOperationalInsightsSavedSearch`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzOperationalInsightsStorageInsight`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzOperationalInsightsTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzOperationalInsightsWorkspace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzOperationalInsightsWorkspace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzOperationalInsightsDataSource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzOperationalInsightsIntelligencePack`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzOperationalInsightsLinkedService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzOperationalInsightsLinkedStorageAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzOperationalInsightsSavedSearch`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzOperationalInsightsStorageInsight`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzOperationalInsightsWorkspace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzOperationalInsightsCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzOperationalInsightsDataExport`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzOperationalInsightsTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzOperationalInsightsWorkspaceSharedKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.PolicyInsights 2.0.0 
* Modified cmdlet `Get-AzPolicyAttestation`
   - Added parameters `-SubscriptionId`, `-InputObject`
   - Added parameter alias `AttestationName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Scope` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Removed parameter alias `Id` from parameter `-ResourceId`
   - Parameter `-ResourceId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Filter` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSAttestation`` to ``IAttestation``
* Modified cmdlet `Get-AzPolicyEvent`
   - `SupportsShouldProcess` changed from False to True
   - Added parameter `-Expand`
   - Parameter `-ManagementGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-SubscriptionId` from `String` to `String[]`
   - Parameter `-SubscriptionId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ResourceId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PolicySetDefinitionName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PolicyDefinitionName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PolicyAssignmentName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-OrderBy` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Select` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Filter` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Apply` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PolicyEvent`` to ``IPolicyEvent``
* Modified cmdlet `Get-AzPolicyMetadata`
   - Added parameter alias `ResourceName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSPolicyMetadata`` to ``IPolicyMetadata``
* Modified cmdlet `Get-AzPolicyRemediation`
   - Removed parameter `-ManagementGroupName`
   - Added parameters `-SubscriptionId`, `-ManagementGroupId`, `-InputObject`
   - Added parameter alias `RemediationName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Scope` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Removed parameter alias `Id` from parameter `-ResourceId`
   - Parameter `-ResourceId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Filter` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PSRemediation`` to ``IRemediation``
* Modified cmdlet `Get-AzPolicyState`
   - `SupportsShouldProcess` changed from False to True
   - Parameter `-ManagementGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-SubscriptionId` from `String` to `String[]`
   - Parameter `-SubscriptionId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ResourceId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PolicySetDefinitionName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PolicyDefinitionName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PolicyAssignmentName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-OrderBy` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Select` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Filter` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Apply` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Expand` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PolicyState`` to ``IPolicyState``
* Modified cmdlet `Get-AzPolicyStateSummary`
   - `SupportsShouldProcess` changed from False to True
   - Parameter `-ManagementGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-SubscriptionId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ResourceId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PolicySetDefinitionName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PolicyDefinitionName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PolicyAssignmentName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Filter` ValidateNotNullOrEmpty changed from `True` to `False`
   - Output type changed from ``PolicyStateSummary`` to ``ISummary``
* Modified cmdlet `New-AzPolicyAttestation`
   - Added parameters `-SubscriptionId`, `-InputObject`
   - Added parameter alias `AttestationName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ResourceId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PolicyAssignmentId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-ExpiresOn` from `Nullable`1[System.DateTime]` to `DateTime`
   - Changed the type of parameter `-Evidence` from `PSAttestationEvidence[]` to `IAttestationEvidence[]`
   - Changed the type of parameter `-AssessmentDate` from `Nullable`1[System.DateTime]` to `DateTime`
   - Output type changed from ``PSAttestation`` to ``IAttestation``
* Modified cmdlet `Remove-AzPolicyAttestation`
   - Added parameter `-SubscriptionId`
   - Added parameter alias `AttestationName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Scope` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ResourceId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSAttestation` to `IPolicyInsightsIdentity`
* Modified cmdlet `Remove-AzPolicyRemediation`
   - Removed parameter `-ManagementGroupName`
   - Added parameters `-SubscriptionId`, `-ManagementGroupId`
   - Added parameter alias `RemediationName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Scope` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Removed parameter alias `Id` from parameter `-ResourceId`
   - Parameter `-ResourceId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSRemediation` to `IPolicyInsightsIdentity`
* Removed cmdlet `Set-AzPolicyAttestation`
* Modified cmdlet `Start-AzPolicyComplianceScan`
   - Added parameters `-SubscriptionId`, `-NoWait`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
* Modified cmdlet `Start-AzPolicyRemediation`
   - Removed parameters `-ManagementGroupName`, `-LocationFilter`, `-ParallelDeploymentCount`, `-FailureThreshold`
   - Added parameters `-SubscriptionId`, `-ManagementGroupId`, `-InputObject`, `-FailureThresholdPercentage`, `-FilterLocation`, `-FilterResourceId`, `-ParallelDeployment`, `-NoWait`
   - Added parameter alias `RemediationName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Scope` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ResourceId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PolicyAssignmentId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-PolicyDefinitionReferenceId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-ResourceCount` from `Nullable`1[System.Int32]` to `Int32`
   - Output type changed from ``PSRemediation`` to ``IRemediation``
* Modified cmdlet `Stop-AzPolicyRemediation`
   - Removed parameters `-ManagementGroupName`, `-PassThru`
   - Added parameters `-SubscriptionId`, `-ManagementGroupId`, `-NoWait`
   - Added parameter alias `RemediationName` to parameter `-Name`
   - Parameter `-Name` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-Scope` ValidateNotNullOrEmpty changed from `True` to `False`
   - Parameter `-ResourceGroupName` ValidateNotNullOrEmpty changed from `True` to `False`
   - Removed parameter alias `Id` from parameter `-ResourceId`
   - Parameter `-ResourceId` ValidateNotNullOrEmpty changed from `True` to `False`
   - Changed the type of parameter `-InputObject` from `PSRemediation` to `IPolicyInsightsIdentity`
   - Output type changed from ``Boolean`` to ``IRemediation``
* Added cmdlet `Update-AzPolicyAttestation`
#### Az.PowerBIEmbedded 2.2.0 
* Modified cmdlet `New-AzPowerBIEmbeddedCapacity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzPowerBIEmbeddedCapacity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Resume-AzPowerBIEmbeddedCapacity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Suspend-AzPowerBIEmbeddedCapacity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzPowerBIEmbeddedCapacity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.PrivateDns 1.3.0 
* Modified cmdlet `Add-AzPrivateDnsRecordConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzPrivateDnsRecordConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzPrivateDnsRecordSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzPrivateDnsVirtualNetworkLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzPrivateDnsZone`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzPrivateDnsRecordConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzPrivateDnsRecordSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzPrivateDnsVirtualNetworkLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzPrivateDnsZone`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzPrivateDnsRecordSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzPrivateDnsVirtualNetworkLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzPrivateDnsZone`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.RecoveryServices 7.12.0 
* Modified cmdlet `Add-AzRecoveryServicesAsrReplicationProtectedItemDisk`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Backup-AzRecoveryServicesBackupItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Copy-AzRecoveryServicesVault`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzRecoveryServicesBackupAutoProtection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzRecoveryServicesBackupProtection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzRecoveryServicesBackupRPMountScript`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Edit-AzRecoveryServicesAsrRecoveryPlan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzRecoveryServicesBackupAutoProtection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzRecoveryServicesBackupProtection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Import-AzRecoveryServicesAsrVaultSettingsFile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Initialize-AzRecoveryServicesBackupProtectableItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Initialize-AzRecoveryServicesDSMove`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Move-AzRecoveryServicesBackupRecoveryPoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesAsrAzureToAzureDiskReplicationConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesAsrAzureToAzureReplicationProtectedItemConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesAsrFabric`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesAsrInMageAzureV2DiskInput`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesAsrInMageRcmDiskInput`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesAsrNetworkMapping`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesAsrPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesAsrProtectableItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesAsrProtectionContainer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesAsrProtectionContainerMapping`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesAsrRecoveryPlan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesAsrReplicationProtectedItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesAsrReplicationProtectionCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesAsrStorageClassificationMapping`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesAsrvCenter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesAsrVMNicConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesAsrVMNicIPConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesBackupProtectionPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRecoveryServicesVault`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Redo-AzRecoveryServicesBackupProtection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Register-AzRecoveryServicesBackupContainer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRecoveryServicesAsrFabric`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRecoveryServicesAsrNetworkMapping`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRecoveryServicesAsrPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRecoveryServicesAsrProtectionContainer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRecoveryServicesAsrProtectionContainerMapping`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRecoveryServicesAsrRecoveryPlan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRecoveryServicesAsrReplicationProtectedItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRecoveryServicesAsrReplicationProtectedItemDisk`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRecoveryServicesAsrReplicationProtectionCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRecoveryServicesAsrServicesProvider`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRecoveryServicesAsrStorageClassificationMapping`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRecoveryServicesAsrvCenter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRecoveryServicesBackupProtectionPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRecoveryServicesResourceGuardMapping`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRecoveryServicesVault`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restart-AzRecoveryServicesAsrJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzRecoveryServicesBackupItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Resume-AzRecoveryServicesAsrJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRecoveryServicesAsrAlertSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRecoveryServicesAsrReplicationProtectedItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRecoveryServicesAsrVaultContext`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRecoveryServicesBackupProperty`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRecoveryServicesBackupProtectionPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRecoveryServicesResourceGuardMapping`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRecoveryServicesVaultContext`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRecoveryServicesVaultProperty`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzRecoveryServicesAsrApplyClusterRecoveryPoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzRecoveryServicesAsrApplyRecoveryPoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzRecoveryServicesAsrCancelFailoverJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzRecoveryServicesAsrClusterCommitFailoverJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzRecoveryServicesAsrClusterResynchronizeReplicationJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzRecoveryServicesAsrClusterTestFailoverCleanupJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzRecoveryServicesAsrClusterTestFailoverJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzRecoveryServicesAsrClusterUnplannedFailoverJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzRecoveryServicesAsrCommitFailoverJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzRecoveryServicesAsrPlannedFailoverJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzRecoveryServicesAsrResynchronizeReplicationJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzRecoveryServicesAsrSwitchAppliance`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzRecoveryServicesAsrSwitchProcessServerJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzRecoveryServicesAsrTestFailoverCleanupJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzRecoveryServicesAsrTestFailoverJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzRecoveryServicesAsrUnplannedFailoverJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzRecoveryServicesAsrJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzRecoveryServicesBackupJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Undo-AzRecoveryServicesBackupContainerDeletion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Undo-AzRecoveryServicesBackupItemDeletion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Undo-AzRecoveryServicesVaultDeletion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Unregister-AzRecoveryServicesBackupContainer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Unregister-AzRecoveryServicesBackupManagementServer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzRecoveryServicesAsrClusterProtectionDirection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzRecoveryServicesAsrMobilityService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzRecoveryServicesAsrNetworkMapping`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzRecoveryServicesAsrPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzRecoveryServicesAsrProtectionContainerMapping`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzRecoveryServicesAsrProtectionDirection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzRecoveryServicesAsrRecoveryPlan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzRecoveryServicesAsrServicesProvider`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzRecoveryServicesAsrvCenter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzRecoveryServicesVault`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Wait-AzRecoveryServicesBackupJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.RedisCache 1.12.0 
* Modified cmdlet `Clear-AzRedisCache`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Export-AzRedisCache`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Import-AzRedisCache`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRedisCache`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRedisCacheAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRedisCacheAccessPolicyAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRedisCacheFirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRedisCacheKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRedisCacheLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRedisCachePatchSchedule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRedisCacheScheduleEntry`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRedisCache`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRedisCacheAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRedisCacheAccessPolicyAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRedisCacheDiagnostic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRedisCacheFirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRedisCacheLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRedisCachePatchSchedule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzRedisCache`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRedisCache`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRedisCacheDiagnostic`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.RedisEnterpriseCache 2.0.0 
* Modified cmdlet `Get-AzRedisEnterpriseCacheAccessPolicyAssignment`
   - Added parameters `-DatabaseInputObject`, `-RedisEnterpriseInputObject`
* Modified cmdlet `Get-AzRedisEnterpriseCacheOperationStatus`
   - Added parameter `-LocationInputObject`
* Modified cmdlet `Invoke-AzRedisEnterpriseCacheDatabaseFlush`
   - Removed parameter `-Parameter`
   - Added parameters `-RedisEnterpriseInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Invoke-AzRedisEnterpriseCacheForceDatabaseLinkToReplicationGroup`
   - Removed parameter `-Parameter`
   - Added parameters `-RedisEnterpriseInputObject`, `-JsonFilePath`, `-JsonString`, `-PassThru`
* Modified cmdlet `Invoke-AzRedisEnterpriseCacheForceDatabaseUnlink`
   - Removed parameter `-Parameter`
   - Added parameters `-RedisEnterpriseInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzRedisEnterpriseCache`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`
   - Changed the type of parameter `-Sku` from `SkuName` to `String`
   - Changed the type of parameter `-MinimumTlsVersion` from `TlsVersion` to `String`
   - Changed the type of parameter `-ClientProtocol` from `Protocol` to `String`
   - Changed the type of parameter `-EvictionPolicy` from `EvictionPolicy` to `String`
   - Changed the type of parameter `-ClusteringPolicy` from `ClusteringPolicy` to `String`
   - Changed the type of parameter `-AccessKeysAuthentication` from `AccessKeysAuthentication` to `String`
   - Changed the type of parameter `-HighAvailability` from `HighAvailability` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
   - Changed the type of parameter `-KeyEncryptionKeyIdentityType` from `CmkIdentityType` to `String`
   - Changed the type of parameter `-AofPersistenceFrequency` from `AofFrequency` to `String`
   - Changed the type of parameter `-RdbPersistenceFrequency` from `RdbFrequency` to `String`
* Modified cmdlet `New-AzRedisEnterpriseCacheAccessPolicyAssignment`
   - Removed parameters `-AccessPolicyAssignmentName`, `-Parameter`
   - Added parameters `-Name`, `-DatabaseInputObject`, `-RedisEnterpriseInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzRedisEnterpriseCacheDatabase`
   - Changed the type of parameter `-ClientProtocol` from `Protocol` to `String`
   - Changed the type of parameter `-EvictionPolicy` from `EvictionPolicy` to `String`
   - Changed the type of parameter `-ClusteringPolicy` from `ClusteringPolicy` to `String`
   - Changed the type of parameter `-AofPersistenceFrequency` from `AofFrequency` to `String`
   - Changed the type of parameter `-RdbPersistenceFrequency` from `RdbFrequency` to `String`
   - Changed the type of parameter `-AccessKeysAuthentication` from `AccessKeysAuthentication` to `String`
* Modified cmdlet `New-AzRedisEnterpriseCacheKey`
   - Changed the type of parameter `-KeyType` from `AccessKeyType` to `String`
* Modified cmdlet `Remove-AzRedisEnterpriseCacheAccessPolicyAssignment`
   - Added parameters `-DatabaseInputObject`, `-RedisEnterpriseInputObject`
* Modified cmdlet `Update-AzRedisEnterpriseCache`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`, `-Zone`
   - Changed the type of parameter `-HighAvailability` from `HighAvailability` to `String`
   - Changed the type of parameter `-KeyEncryptionKeyIdentityType` from `CmkIdentityType` to `String`
   - Changed the type of parameter `-MinimumTlsVersion` from `TlsVersion` to `String`
   - Changed the type of parameter `-PublicNetworkAccess` from `PublicNetworkAccess` to `String`
   - Changed the type of parameter `-Sku` from `SkuName` to `String`
* Modified cmdlet `Update-AzRedisEnterpriseCacheDatabase`
   - Changed the type of parameter `-AccessKeysAuthentication` from `AccessKeysAuthentication` to `String`
   - Changed the type of parameter `-ClientProtocol` from `Protocol` to `String`
   - Changed the type of parameter `-EvictionPolicy` from `EvictionPolicy` to `String`
   - Changed the type of parameter `-AofPersistenceFrequency` from `AofFrequency` to `String`
   - Changed the type of parameter `-RdbPersistenceFrequency` from `RdbFrequency` to `String`
* Modified cmdlet `Update-AzRedisEnterpriseCacheDatabaseDbRedisVersion`
   - Added parameters `-RedisEnterpriseInputObject`, `-PassThru`
#### Az.ResourceGraph 1.3.0 
* Modified cmdlet `Search-AzGraph`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.ResourceMover 2.0.0 
* Modified cmdlet `Add-AzResourceMoverMoveResource`
   - Added parameters `-MoveCollectionInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Get-AzResourceMoverMoveResource`
   - Added parameter `-MoveCollectionInputObject`
* Modified cmdlet `Get-AzResourceMoverUnresolvedDependency`
   - Changed the type of parameter `-DependencyLevel` from `DependencyLevel` to `String`
* Modified cmdlet `Invoke-AzResourceMoverBulkRemove`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-MoveResourceInputType` from `MoveResourceInputType` to `String`
* Modified cmdlet `Invoke-AzResourceMoverCommit`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-MoveResourceInputType` from `MoveResourceInputType` to `String`
* Modified cmdlet `Invoke-AzResourceMoverDiscard`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-MoveResourceInputType` from `MoveResourceInputType` to `String`
* Modified cmdlet `Invoke-AzResourceMoverInitiateMove`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-MoveResourceInputType` from `MoveResourceInputType` to `String`
* Modified cmdlet `Invoke-AzResourceMoverPrepare`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-MoveResourceInputType` from `MoveResourceInputType` to `String`
* Modified cmdlet `New-AzResourceMoverMoveCollection`
   - Removed parameter `-IdentityType`
   - Added parameters `-EnableSystemAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-MoveType` from `MoveType` to `String`
* Modified cmdlet `Remove-AzResourceMoverMoveResource`
   - Added parameter `-MoveCollectionInputObject`
#### Az.Resources 10.0.0 
* Modified cmdlet `Export-AzResourceGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Export-AzTemplateSpec`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzResourceAction`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Move-AzResource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDenyAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzManagedApplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzManagedApplicationDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzManagementGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzManagementGroupDeploymentStack`
   - Added parameters `-ResourcesWithoutDeleteSupport`, `-ValidationLevel`
* Modified cmdlet `New-AzManagementGroupHierarchySetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzManagementGroupSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzPrivateLinkAssociation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzResource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzResourceGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzResourceGroupDeploymentStack`
   - Added parameters `-ResourcesWithoutDeleteSupport`, `-ValidationLevel`
* Modified cmdlet `New-AzResourceLock`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzResourceManagementPrivateLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRoleAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSubscriptionDeploymentStack`
   - Added parameters `-ResourcesWithoutDeleteSupport`, `-ValidationLevel`
* Modified cmdlet `New-AzTag`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzTemplateSpec`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Publish-AzBicepModule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Register-AzProviderFeature`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Register-AzProviderPreviewFeature`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Register-AzResourceProvider`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDenyAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDeployment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDeploymentScript`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzManagedApplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzManagedApplicationDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzManagementGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzManagementGroupDeployment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzManagementGroupDeploymentStack`
   - Removed parameter `-InputObjet`
   - Added parameters `-InputObject`, `-ResourcesWithoutDeleteSupport`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzManagementGroupHierarchySetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzManagementGroupSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzPrivateLinkAssociation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzResource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzResourceGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzResourceGroupDeployment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzResourceGroupDeploymentStack`
   - Removed parameter `-InputObjet`
   - Added parameters `-InputObject`, `-ResourcesWithoutDeleteSupport`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzResourceLock`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzResourceManagementPrivateLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRoleAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRoleDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSubscriptionDeploymentStack`
   - Removed parameter `-InputObjet`
   - Added parameters `-InputObject`, `-ResourcesWithoutDeleteSupport`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzTag`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzTemplateSpec`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzTenantDeployment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Save-AzDeploymentScriptLog`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Save-AzDeploymentTemplate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Save-AzManagementGroupDeploymentStackTemplate`
   - Removed parameter `-InputObjet`
   - Added parameters `-InputObject`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Save-AzManagementGroupDeploymentTemplate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Save-AzResourceGroupDeploymentStackTemplate`
   - Removed parameter `-InputObjet`
   - Added parameters `-InputObject`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Save-AzResourceGroupDeploymentTemplate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Save-AzSubscriptionDeploymentStackTemplate`
   - Removed parameter `-InputObjet`
   - Added parameters `-InputObject`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Save-AzTenantDeploymentTemplate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzManagedApplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzManagedApplicationDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzManagementGroupDeploymentStack`
   - Added parameters `-ResourcesWithoutDeleteSupport`, `-ValidationLevel`
* Modified cmdlet `Set-AzResource`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzResourceGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzResourceGroupDeploymentStack`
   - Added parameters `-ResourcesWithoutDeleteSupport`, `-ValidationLevel`
* Modified cmdlet `Set-AzResourceLock`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRoleAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRoleDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSubscriptionDeploymentStack`
   - Added parameters `-ResourcesWithoutDeleteSupport`, `-ValidationLevel`
* Modified cmdlet `Set-AzTemplateSpec`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzTenantBackfill`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzDeployment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzManagementGroupDeployment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzResourceGroupDeployment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzTenantDeployment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Test-AzManagementGroupDeploymentStack`
   - Added parameters `-ResourcesWithoutDeleteSupport`, `-ValidationLevel`
* Modified cmdlet `Test-AzResourceGroupDeploymentStack`
   - Added parameters `-ResourcesWithoutDeleteSupport`, `-ValidationLevel`
* Modified cmdlet `Test-AzSubscriptionDeploymentStack`
   - Added parameters `-ResourcesWithoutDeleteSupport`, `-ValidationLevel`
* Modified cmdlet `Unregister-AzProviderFeature`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Unregister-AzProviderPreviewFeature`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Unregister-AzResourceProvider`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzManagementGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzManagementGroupHierarchySetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzTag`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Get-AzPolicyAssignment`
   - Removed parameter `-BackwardCompatible`
   - Added parameter `-Expand`
* Modified cmdlet `Get-AzPolicyDefinition`
   - Removed parameter `-BackwardCompatible`
* Modified cmdlet `Get-AzPolicyExemption`
   - Removed parameter `-BackwardCompatible`
* Modified cmdlet `Get-AzPolicySetDefinition`
   - Removed parameter `-BackwardCompatible`
   - Added parameter `-Expand`
* Modified cmdlet `New-AzPolicyAssignment`
   - Removed parameter `-BackwardCompatible`
* Modified cmdlet `New-AzPolicyDefinition`
   - Removed parameter `-BackwardCompatible`
   - Added parameters `-Version`, `-ExternalEvaluationEnforcementSettingMissingTokenAction`, `-ExternalEvaluationEnforcementSettingResultLifespan`, `-ExternalEvaluationEnforcementSettingRoleDefinitionId`, `-EndpointSettingKind`, `-EndpointSettingDetail`
* Modified cmdlet `New-AzPolicyExemption`
   - Removed parameter `-BackwardCompatible`
* Modified cmdlet `New-AzPolicySetDefinition`
   - Removed parameter `-BackwardCompatible`
   - Added parameter `-Version`
* Modified cmdlet `Remove-AzPolicyAssignment`
   - Removed parameter `-BackwardCompatible`
* Modified cmdlet `Remove-AzPolicyDefinition`
   - Removed parameter `-BackwardCompatible`
   - Added parameter `-Version`
* Modified cmdlet `Remove-AzPolicyExemption`
   - Removed parameter `-BackwardCompatible`
* Modified cmdlet `Remove-AzPolicySetDefinition`
   - Removed parameter `-BackwardCompatible`
   - Added parameter `-Version`
* Modified cmdlet `Update-AzPolicyAssignment`
   - Removed parameter `-BackwardCompatible`
* Modified cmdlet `Update-AzPolicyDefinition`
   - Removed parameter `-BackwardCompatible`
   - Added parameters `-Version`, `-ExternalEvaluationEnforcementSettingMissingTokenAction`, `-ExternalEvaluationEnforcementSettingResultLifespan`, `-ExternalEvaluationEnforcementSettingRoleDefinitionId`, `-EndpointSettingKind`, `-EndpointSettingDetail`
* Modified cmdlet `Update-AzPolicyExemption`
   - Removed parameter `-BackwardCompatible`
* Modified cmdlet `Update-AzPolicySetDefinition`
   - Removed parameter `-BackwardCompatible`
   - Added parameter `-Version`
#### Az.Security 1.9.0 
* Modified cmdlet `Add-AzSecurityAdaptiveNetworkHardening`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzSecuritySqlVulnerabilityAssessmentBaseline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Confirm-AzSecurityAutomation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzIotSecurityAnalyticsAggregatedAlert`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzSecurityAdvancedThreatProtection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzSecurityAdvancedThreatProtection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAlertsSuppressionRuleScope`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDeviceSecurityGroupAllowlistCustomAlertRuleObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDeviceSecurityGroupDenylistCustomAlertRuleObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDeviceSecurityGroupThresholdCustomAlertRuleObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDeviceSecurityGroupTimeWindowRuleObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIotSecuritySolutionRecommendationConfigurationObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzIotSecuritySolutionUserDefinedResourcesObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSecurityAutomation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSecurityAutomationActionObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSecurityAutomationRuleObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSecurityAutomationRuleSetObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSecurityAutomationScopeObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSecurityAutomationSourceObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAlertsSuppressionRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDeviceSecurityGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzIotSecuritySolution`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzJitNetworkAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSecurityAssessment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSecurityAssessmentMetadata`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSecurityAutomation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSecurityContact`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSecuritySqlVulnerabilityAssessmentBaseline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSecurityWorkspaceSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzAlertsSuppressionRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDeviceSecurityGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzIotSecuritySolution`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzJitNetworkAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSecurityAlert`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSecurityAssessment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSecurityAssessmentMetadata`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSecurityAutoProvisioningSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSecurityContact`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSecurityPricing`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSecuritySetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSecuritySqlVulnerabilityAssessmentBaseline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSecurityWorkspaceSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlInformationProtectionPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzJitNetworkAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzIotSecuritySolution`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.SecurityInsights 4.0.0 
* Modified cmdlet `Get-AzSentinelAlertRuleAction`
   - Added parameter `-AlertRuleInputObject`
* Modified cmdlet `Get-AzSentinelBookmarkRelation`
   - Added parameter `-BookmarkInputObject`
* Modified cmdlet `Get-AzSentinelEnrichment`
   - Removed parameter `-InputObject`
* Modified cmdlet `Get-AzSentinelEntityActivity`
   - Added parameter `-InputObject`
   - Output type changed from ``IEntityQueryItem`` to ``IGetQueriesResponse``
* Modified cmdlet `Get-AzSentinelEntityInsight`
   - Added parameter `-InputObject`
* Modified cmdlet `Get-AzSentinelEntityRelation`
   - Added parameter `-EntityInputObject`
* Modified cmdlet `Get-AzSentinelEntityTimeline`
   - Changed the type of parameter `-Kind` from `EntityTimelineKind[]` to `String[]`
* Modified cmdlet `Get-AzSentinelIncidentComment`
   - Added parameter `-IncidentInputObject`
* Modified cmdlet `Get-AzSentinelIncidentRelation`
   - Added parameter `-IncidentInputObject`
* Modified cmdlet `Invoke-AzSentinelThreatIntelligenceIndicatorQuery`
   - Added parameters `-InputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzSentinelAlertRule`
   - Changed the type of parameter `-Kind` from `AlertRuleKind` to `String`
   - Changed the type of parameter `-Severity` from `AlertSeverity` to `String`
   - Changed the type of parameter `-TriggerOperator` from `TriggerOperator` to `String`
   - Changed the type of parameter `-GroupByAlertDetail` from `AlertDetail[]` to `String[]`
   - Changed the type of parameter `-GroupByEntity` from `EntityMappingType[]` to `String[]`
   - Changed the type of parameter `-EventGroupingSettingAggregationKind` from `EventGroupingAggregationKind` to `String`
   - Changed the type of parameter `-ProductFilter` from `MicrosoftSecurityProductName` to `String`
   - Changed the type of parameter `-SeveritiesFilter` from `AlertSeverity[]` to `String[]`
* Modified cmdlet `New-AzSentinelAlertRuleAction`
   - Added parameters `-AlertRuleInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzSentinelAutomationRule`
   - Removed parameter `-AutomationRule`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzSentinelBookmark`
   - Removed parameter `-Bookmark`
   - Added parameters `-UpdatedByEmail`, `-UpdatedByName`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-IncidentInfoSeverity` from `IncidentSeverity` to `String`
* Modified cmdlet `New-AzSentinelBookmarkRelation`
   - Removed parameter `-Relation`
   - Added parameters `-BookmarkInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzSentinelDataConnector`
   - Changed the type of parameter `-Kind` from `DataConnectorKind` to `String`
   - Changed the type of parameter `-PollingFrequency` from `PollingFrequency` to `String`
* Modified cmdlet `New-AzSentinelEntityQuery`
   - Added parameter alias `EntityQueryId` to parameter `-Id`
   - Changed the type of parameter `-Kind` from `EntityQueryKind` to `String`
   - Changed the type of parameter `-InputEntityType` from `EntityType` to `String`
* Modified cmdlet `New-AzSentinelIncident`
   - Removed parameter `-Incident`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-Classification` from `IncidentClassification` to `String`
   - Changed the type of parameter `-ClassificationReason` from `IncidentClassificationReason` to `String`
   - Changed the type of parameter `-Severity` from `IncidentSeverity` to `String`
   - Changed the type of parameter `-Status` from `IncidentStatus` to `String`
* Modified cmdlet `New-AzSentinelIncidentComment`
   - Removed parameter `-IncidentComment`
   - Added parameters `-IncidentInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzSentinelIncidentRelation`
   - Removed parameter `-Relation`
   - Added parameters `-IncidentInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzSentinelIncidentTeam`
   - Removed parameter `-TeamProperty`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzSentinelOnboardingState`
   - Removed parameter `-SentinelOnboardingStateParameter`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Remove-AzSentinelAlertRuleAction`
   - Added parameter `-AlertRuleInputObject`
* Modified cmdlet `Remove-AzSentinelBookmarkRelation`
   - Added parameter `-BookmarkInputObject`
* Modified cmdlet `Remove-AzSentinelIncidentComment`
   - Added parameter `-IncidentInputObject`
* Modified cmdlet `Remove-AzSentinelIncidentRelation`
   - Added parameter `-IncidentInputObject`
* Modified cmdlet `Test-AzSentinelDataConnectorCheckRequirement`
   - Changed the type of parameter `-Kind` from `DataConnectorKind` to `String`
* Modified cmdlet `Update-AzSentinelAlertRule`
   - Changed the type of parameter `-Severity` from `AlertSeverity` to `String`
   - Changed the type of parameter `-Tactic` from `AttackTactic` to `String[]`
   - Changed the type of parameter `-GroupByAlertDetail` from `AlertDetail[]` to `String[]`
   - Changed the type of parameter `-GroupByEntity` from `EntityMappingType[]` to `String[]`
   - Changed the type of parameter `-TriggerOperator` from `TriggerOperator` to `String`
   - Changed the type of parameter `-EventGroupingSettingAggregationKind` from `EventGroupingAggregationKind` to `String`
   - Changed the type of parameter `-ProductFilter` from `MicrosoftSecurityProductName` to `String`
   - Changed the type of parameter `-SeveritiesFilter` from `AlertSeverity[]` to `String[]`
* Modified cmdlet `Update-AzSentinelAlertRuleAction`
   - Added parameters `-AlertRuleInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzSentinelBookmark`
   - Added parameters `-UpdatedByEmail`, `-UpdatedByName`
   - Changed the type of parameter `-IncidentInfoSeverity` from `IncidentSeverity` to `String`
* Modified cmdlet `Update-AzSentinelBookmarkRelation`
   - Added parameter `-BookmarkInputObject`
* Modified cmdlet `Update-AzSentinelDataConnector`
   - Changed the type of parameter `-PollingFrequency` from `PollingFrequency` to `String`
* Modified cmdlet `Update-AzSentinelEntityQuery`
   - Removed parameter `-EntityQueryId`
   - Added parameter `-Id`
   - Changed the type of parameter `-InputEntityType` from `EntityType` to `String`
* Modified cmdlet `Update-AzSentinelIncident`
   - Changed the type of parameter `-Classification` from `IncidentClassification` to `String`
   - Changed the type of parameter `-ClassificationReason` from `IncidentClassificationReason` to `String`
   - Changed the type of parameter `-Severity` from `IncidentSeverity` to `String`
   - Changed the type of parameter `-Status` from `IncidentStatus` to `String`
* Modified cmdlet `Update-AzSentinelIncidentComment`
   - Added parameter `-IncidentInputObject`
* Modified cmdlet `Update-AzSentinelIncidentRelation`
   - Added parameter `-IncidentInputObject`
* Modified cmdlet `Update-AzSentinelSetting`
   - Changed the type of parameter `-DataSource` from `UebaDataSources[]` to `String[]`
* Added cmdlet `Update-AzSentinelOnboardingState`
#### Az.ServiceBus 4.2.0 
* Modified cmdlet `New-AzServiceBusAuthorizationRuleSASToken`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.ServiceFabric 5.2.0 
* Modified cmdlet `Add-AzServiceFabricClientCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzServiceFabricManagedClusterClientCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzServiceFabricManagedClusterNetworkSecurityRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzServiceFabricManagedNodeTypeVMExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzServiceFabricManagedNodeTypeVMSecret`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzServiceFabricNode`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzServiceFabricNodeType`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzServiceFabricDeallocateManagedNodeType`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzServiceFabricRedeployManagedNodeType`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzServiceFabricReimageManagedNodeType`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceFabricApplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceFabricApplicationType`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceFabricApplicationTypeVersion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceFabricCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceFabricManagedCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceFabricManagedClusterApplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceFabricManagedClusterApplicationType`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceFabricManagedClusterApplicationTypeVersion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceFabricManagedClusterService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceFabricManagedNodeType`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzServiceFabricService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceFabricApplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceFabricApplicationType`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceFabricApplicationTypeVersion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceFabricClientCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceFabricManagedCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceFabricManagedClusterApplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceFabricManagedClusterApplicationType`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceFabricManagedClusterApplicationTypeVersion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceFabricManagedClusterClientCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceFabricManagedClusterService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceFabricManagedNodeType`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceFabricManagedNodeTypeVMExtension`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceFabricNode`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceFabricNodeType`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceFabricService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzServiceFabricSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restart-AzServiceFabricManagedNodeType`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceFabricManagedCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceFabricManagedClusterApplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceFabricManagedClusterApplicationType`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceFabricManagedClusterApplicationTypeVersion`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceFabricManagedClusterService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceFabricManagedNodeType`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceFabricSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzServiceFabricUpgradeType`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzServiceFabricManagedNodeType`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzServiceFabricApplication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzServiceFabricDurability`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzServiceFabricNodeType`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzServiceFabricReliability`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzServiceFabricVmImage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Added cmdlet `Enable-AzServiceFabricManagedClusterMaintenanceWindow`, `Get-AzServiceFabricManagedClusterMaintenanceWindowStatus`
#### Az.SignalR 3.0.0 
* Modified cmdlet `Add-AzSignalRNetworkIpRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSignalR`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSignalRCustomCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSignalRCustomDomain`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSignalRKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSignalRReplica`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSignalR`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSignalRCustomCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSignalRCustomDomain`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSignalRNetworkIpRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSignalRReplica`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restart-AzSignalR`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restart-AzSignalRReplica`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSignalRUpstream`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzSignalRReplica`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSignalRReplica`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSignalR`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSignalRCustomDomain`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSignalRNetworkAcl`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSignalRReplica`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Get-AzWebPubSubCustomCertificate`
   - Added parameter `-WebPubSubInputObject`
* Modified cmdlet `Get-AzWebPubSubCustomDomain`
   - Added parameter `-WebPubSubInputObject`
* Modified cmdlet `Get-AzWebPubSubHub`
   - Added parameter `-HubInputObject`
* Modified cmdlet `New-AzWebPubSub`
   - Removed parameter `-IdentityType`
   - Added parameter `-EnableSystemAssignedIdentity`
   - Changed the type of parameter `-NetworkAcLDefaultAction` from `AclAction` to `String`
   - Changed the type of parameter `-PublicNetworkAllow` from `WebPubSubRequestType[]` to `String[]`
   - Changed the type of parameter `-PublicNetworkDeny` from `WebPubSubRequestType[]` to `String[]`
   - Changed the type of parameter `-SkuTier` from `WebPubSubSkuTier` to `String`
* Modified cmdlet `New-AzWebPubSubCustomCertificate`
   - Added parameters `-WebPubSubInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzWebPubSubHub`
   - Added parameters `-HubInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzWebPubSubKey`
   - Changed the type of parameter `-KeyType` from `KeyType` to `String`
* Modified cmdlet `Remove-AzWebPubSubCustomCertificate`
   - Added parameter `-WebPubSubInputObject`
* Modified cmdlet `Remove-AzWebPubSubCustomDomain`
   - Added parameter `-WebPubSubInputObject`
* Modified cmdlet `Remove-AzWebPubSubHub`
   - Added parameter `-HubInputObject`
* Modified cmdlet `Test-AzWebPubSubNameAvailability`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Update-AzWebPubSub`
   - Removed parameter `-IdentityType`
   - Added parameter `-EnableSystemAssignedIdentity`
   - Changed the type of parameter `-NetworkAcLDefaultAction` from `AclAction` to `String`
   - Changed the type of parameter `-PublicNetworkAllow` from `WebPubSubRequestType[]` to `String[]`
   - Changed the type of parameter `-PublicNetworkDeny` from `WebPubSubRequestType[]` to `String[]`
   - Changed the type of parameter `-SkuTier` from `WebPubSubSkuTier` to `String`
   - Changed the type of parameter `-UserAssignedIdentity` from `Hashtable` to `String[]`
* Added cmdlet `Update-AzWebPubSubCustomDomain`, `Update-AzWebPubSubHub`
#### Az.Sql 7.0.0 
* Modified cmdlet `Add-AzSqlDatabaseToFailoverGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzSqlElasticJobStep`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzSqlElasticJobTarget`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzSqlInstanceKeyVaultKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzSqlManagedInstanceTransparentDataEncryptionCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzSqlServerKeyVaultKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzSqlServerTransparentDataEncryptionCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Clear-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Clear-AzSqlDatabaseVulnerabilityAssessmentSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Clear-AzSqlInstanceVulnerabilityAssessmentSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Clear-AzSqlServerVulnerabilityAssessmentSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Complete-AzSqlInstanceDatabaseCopy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Complete-AzSqlInstanceDatabaseLogReplay`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Complete-AzSqlInstanceDatabaseMove`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Convert-AzSqlDatabaseVulnerabilityAssessmentScan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Convert-AzSqlInstanceDatabaseVulnerabilityAssessmentScan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Copy-AzSqlDatabaseLongTermRetentionBackup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Copy-AzSqlInstanceDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzSqlDatabaseLedgerDigestUpload`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzSqlDatabaseSensitivityRecommendation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzSqlInstanceActiveDirectoryOnlyAuthentication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzSqlInstanceAdvancedDataSecurity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzSqlInstanceDatabaseLedgerDigestUpload`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzSqlInstanceDatabaseSensitivityRecommendation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzSqlServerActiveDirectoryOnlyAuthentication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzSqlServerAdvancedDataSecurity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzSqlDatabaseLedgerDigestUpload`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzSqlDatabaseSensitivityRecommendation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzSqlInstanceActiveDirectoryOnlyAuthentication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzSqlInstanceAdvancedDataSecurity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzSqlInstanceDatabaseLedgerDigestUpload`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzSqlInstanceDatabaseSensitivityRecommendation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzSqlServerActiveDirectoryOnlyAuthentication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzSqlServerAdvancedDataSecurity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzSqlDatabaseFailover`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzSqlDatabaseTransparentDataEncryptionProtectorRevalidation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzSqlDatabaseTransparentDataEncryptionProtectorRevert`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzSqlElasticPoolFailover`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzSqlInstanceExternalGovernanceStatusRefresh`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzSqlInstanceFailover`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzSqlInstanceTransparentDataEncryptionProtectorRevalidation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzSqlServerExternalGovernanceStatusRefresh`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzSqlServerTransparentDataEncryptionProtectorRevalidation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Lock-AzSqlDatabaseLongTermRetentionBackupImmutability`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Move-AzSqlInstanceDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlDatabaseCopy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlDatabaseDataMaskingRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlDatabaseExport`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlDatabaseFailoverGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlDatabaseImport`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlDatabaseInstanceFailoverGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlDatabaseRestorePoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlDatabaseSecondary`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlElasticJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlElasticJobAgent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlElasticJobCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlElasticJobPrivateEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlElasticJobTargetGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlElasticPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlInstance`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlInstanceDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlInstanceLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlInstancePool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlInstanceScheduleItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlInstanceServerTrustCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlInstanceStartStopSchedule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlServer`
   - Removed parameter `-EnableSoftDelete`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlServerCommunicationLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlServerDisasterRecoveryConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlServerDnsAlias`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlServerFirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlServerIpv6FirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlServerOutboundFirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlServerTrustGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlServerVirtualNetworkRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlSyncAgent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlSyncAgentKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlSyncGroup`
   - Removed parameters `-HubDatabaseAuthenticationType`, `-ResourceId`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSqlSyncMember`
   - Removed parameters `-MemberDatabaseAuthenticationType`, `-ResourceId`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlDatabaseAudit`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlDatabaseDataMaskingRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlDatabaseFailoverGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlDatabaseFromFailoverGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlDatabaseInstanceFailoverGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlDatabaseLongTermRetentionBackup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlDatabaseLongTermRetentionBackupImmutability`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlDatabaseLongTermRetentionBackupLegalHold`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlDatabaseRestorePoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlDatabaseSecondary`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlDatabaseSensitivityClassification`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlElasticJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlElasticJobAgent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlElasticJobCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlElasticJobPrivateEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlElasticJobStep`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlElasticJobTarget`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlElasticJobTargetGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlElasticPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlInstance`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlInstanceActiveDirectoryAdministrator`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlInstanceDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlInstanceDatabaseLongTermRetentionBackup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlInstanceDatabaseSensitivityClassification`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlInstanceKeyVaultKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlInstanceLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlInstancePool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlInstanceServerTrustCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlInstanceStartStopSchedule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlServer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlServerActiveDirectoryAdministrator`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlServerAudit`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlServerCommunicationLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlServerDisasterRecoveryConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlServerDnsAlias`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlServerFirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlServerIpv6FirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlServerKeyVaultKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlServerMSSupportAudit`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlServerOutboundFirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlServerTrustGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlServerVirtualNetworkRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlSyncAgent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlSyncGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlSyncMember`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSqlVirtualCluster`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzSqlDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzSqlInstanceDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzSqlServer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Resume-AzSqlDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlDatabaseAdvisorAutoExecuteStatus`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlDatabaseAudit`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlDatabaseBackupLongTermRetentionPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlDatabaseBackupShortTermRetentionPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlDatabaseDataMaskingPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlDatabaseDataMaskingRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlDatabaseFailoverGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlDatabaseGeoBackupPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlDatabaseInstanceFailoverGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlDatabaseLongTermRetentionBackupLegalHold`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlDatabaseRecommendedActionState`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlDatabaseReplicationLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlDatabaseSecondary`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlDatabaseSensitivityClassification`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlDatabaseTransparentDataEncryption`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlElasticJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlElasticJobAgent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlElasticJobCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlElasticJobStep`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlElasticPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlElasticPoolAdvisorAutoExecuteStatus`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlElasticPoolRecommendedActionState`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlInstance`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlInstanceActiveDirectoryAdministrator`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlInstanceDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlInstanceDatabaseBackupShortTermRetentionPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlInstanceDatabaseSensitivityClassification`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlInstanceDtc`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlInstancePool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlInstanceTransparentDataEncryptionProtector`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlServer`
   - Removed parameter `-EnableSoftDelete`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlServerActiveDirectoryAdministrator`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlServerAdvisorAutoExecuteStatus`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlServerAudit`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlServerConfigurationOption`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlServerDisasterRecoveryConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlServerDnsAlias`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlServerFirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlServerIpv6FirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlServerMSSupportAudit`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlServerRecommendedActionState`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlServerTransparentDataEncryptionProtector`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSqlServerVirtualNetworkRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzSqlDatabaseExecuteIndexRecommendation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzSqlDatabaseVulnerabilityAssessmentScan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzSqlElasticJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzSqlInstance`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzSqlInstanceDatabaseLogReplay`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzSqlInstanceDatabaseVulnerabilityAssessmentScan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzSqlInstanceLinkFailover`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzSqlSyncGroupSync`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSqlDatabaseActivity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSqlDatabaseExecuteIndexRecommendation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSqlElasticJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSqlElasticPoolActivity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSqlInstance`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSqlInstanceDatabaseCopy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSqlInstanceDatabaseLogReplay`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSqlInstanceDatabaseMove`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSqlInstanceOperation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSqlSyncGroupSync`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Suspend-AzSqlDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Switch-AzSqlDatabaseFailoverGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Switch-AzSqlDatabaseInstanceFailoverGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSqlDatabaseAdvancedThreatProtectionSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSqlDatabaseLongTermRetentionBackup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSqlDatabaseVulnerabilityAssessmentSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSqlInstanceAdvancedThreatProtectionSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSqlInstanceDatabaseAdvancedThreatProtectionSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSqlInstanceLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSqlInstanceVulnerabilityAssessmentSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSqlServerAdvancedThreatProtectionSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSqlServerVulnerabilityAssessmentSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSqlSyncGroup`
   - Removed parameters `-HubDatabaseAuthenticationType`, `-ResourceId`, `-RemoveIdentityResourceId`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSqlSyncMember`
   - Removed parameters `-MemberDatabaseAuthenticationType`, `-ResourceId`, `-RemoveIdentityResourceId`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSqlSyncSchema`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.SqlVirtualMachine 3.0.0 
* Modified cmdlet `Get-AzAvailabilityGroupListener`
   - Added parameter `-SqlVirtualMachineGroupInputObject`
* Modified cmdlet `Invoke-AzSqlVMTroubleshoot`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-TroubleshootingScenario` from `TroubleshootingScenario` to `String`
* Modified cmdlet `New-AzSqlVirtualMachineAgReplicaObject`
   - Changed the type of parameter `-Commit` from `Commit` to `String`
   - Changed the type of parameter `-Failover` from `Failover` to `String`
   - Changed the type of parameter `-ReadableSecondary` from `ReadableSecondary` to `String`
   - Changed the type of parameter `-Role` from `Role` to `String`
* Modified cmdlet `New-AzSqlVM`
   - Changed the type of parameter `-AutoBackupSettingBackupScheduleType` from `BackupScheduleType` to `String`
   - Changed the type of parameter `-AutoBackupSettingDaysOfWeek` from `AutoBackupDaysOfWeek[]` to `String[]`
   - Changed the type of parameter `-AutoBackupSettingFullBackupFrequency` from `FullBackupFrequencyType` to `String`
   - Changed the type of parameter `-AutoPatchingSettingDayOfWeek` from `DayOfWeek` to `String`
   - Changed the type of parameter `-IdentityType` from `IdentityType` to `String`
   - Changed the type of parameter `-LeastPrivilegeMode` from `LeastPrivilegeMode` to `String`
   - Changed the type of parameter `-LicenseType` from `SqlServerLicenseType` to `String`
   - Changed the type of parameter `-ScheduleDayOfWeek` from `AssessmentDayOfWeek` to `String`
   - Changed the type of parameter `-Sku` from `SqlImageSku` to `String`
   - Changed the type of parameter `-SqlConnectivityUpdateSettingConnectivityType` from `ConnectivityType` to `String`
   - Changed the type of parameter `-SqlManagementType` from `SqlManagementMode` to `String`
   - Changed the type of parameter `-SqlStorageUpdateSettingDiskConfigurationType` from `DiskConfigurationType` to `String`
   - Changed the type of parameter `-SqlWorkloadTypeUpdateSettingSqlWorkloadType` from `SqlWorkloadType` to `String`
   - Changed the type of parameter `-StorageConfigurationSettingDiskConfigurationType` from `DiskConfigurationType` to `String`
   - Changed the type of parameter `-StorageConfigurationSettingStorageWorkloadType` from `StorageWorkloadType` to `String`
* Modified cmdlet `New-AzSqlVMGroup`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-ClusterSubnetType` from `ClusterSubnetType` to `String`
   - Changed the type of parameter `-Sku` from `SqlVMGroupImageSku` to `String`
* Modified cmdlet `Remove-AzAvailabilityGroupListener`
   - Added parameter `-SqlVirtualMachineGroupInputObject`
* Modified cmdlet `Update-AzSqlVM`
   - Changed the type of parameter `-LicenseType` from `SqlServerLicenseType` to `String`
   - Changed the type of parameter `-Sku` from `SqlImageSku` to `String`
   - Changed the type of parameter `-SqlManagementType` from `SqlManagementMode` to `String`
   - Changed the type of parameter `-AutoBackupSettingBackupScheduleType` from `BackupScheduleType` to `String`
   - Changed the type of parameter `-AutoBackupSettingDaysOfWeek` from `AutoBackupDaysOfWeek[]` to `String[]`
   - Changed the type of parameter `-AutoBackupSettingFullBackupFrequency` from `FullBackupFrequencyType` to `String`
   - Changed the type of parameter `-AutoPatchingSettingDayOfWeek` from `DayOfWeek` to `String`
   - Changed the type of parameter `-ScheduleDayOfWeek` from `AssessmentDayOfWeek` to `String`
* Modified cmdlet `Update-AzSqlVMGroup`
   - Changed the type of parameter `-ClusterSubnetType` from `ClusterSubnetType` to `String`
#### Az.StackHCI 3.0.0 
* Modified cmdlet `Get-AzStackHciArcSetting`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Get-AzStackHciDeploymentSetting`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Get-AzStackHciExtension`
   - Added parameters `-ArcSettingInputObject`, `-ClusterInputObject`
* Modified cmdlet `Get-AzStackHciSecuritySetting`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Get-AzStackHciUpdate`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Get-AzStackHciUpdateRun`
   - Added parameters `-ClusterInputObject`, `-UpdateInputObject`
* Modified cmdlet `Invoke-AzStackHciConsentAndInstallDefaultExtension`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Invoke-AzStackHciExtendClusterSoftwareAssuranceBenefit`
   - Removed parameter `-SoftwareAssuranceChangeRequest`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-SoftwareAssuranceIntent` from `SoftwareAssuranceIntent` to `String`
* Modified cmdlet `Invoke-AzStackHciUpdate`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `New-AzStackHciArcSetting`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzStackHciCluster`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-EnableSystemAssignedIdentity`, `-UserAssignedIdentity`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-DesiredPropertyDiagnosticLevel` from `DiagnosticLevel` to `String`
   - Changed the type of parameter `-DesiredPropertyWindowsServerSubscription` from `WindowsServerSubscription` to `String`
   - Changed the type of parameter `-SoftwareAssurancePropertySoftwareAssuranceIntent` from `SoftwareAssuranceIntent` to `String`
* Modified cmdlet `New-AzStackHciDeploymentSetting`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-DeploymentMode` from `DeploymentMode` to `String`
   - Changed the type of parameter `-OperationType` from `OperationType` to `String`
* Modified cmdlet `New-AzStackHciEdgeDevice`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzStackHciExtension`
   - Added parameters `-ArcSettingInputObject`, `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzStackHciSecuritySetting`
   - Added parameters `-ClusterInputObject`, `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-ProvisioningState` from `ProvisioningState` to `String`
   - Changed the type of parameter `-SecuredCoreComplianceAssignment` from `ComplianceAssignmentType` to `String`
   - Changed the type of parameter `-SmbEncryptionForIntraClusterTrafficComplianceAssignment` from `ComplianceAssignmentType` to `String`
   - Changed the type of parameter `-WdacComplianceAssignment` from `ComplianceAssignmentType` to `String`
* Modified cmdlet `Remove-AzStackHciArcSetting`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Remove-AzStackHciDeploymentSetting`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Remove-AzStackHciExtension`
   - Added parameters `-ArcSettingInputObject`, `-ClusterInputObject`
* Modified cmdlet `Remove-AzStackHciSecuritySetting`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Remove-AzStackHciUpdate`
   - Added parameter `-ClusterInputObject`
* Modified cmdlet `Remove-AzStackHciUpdateRun`
   - Added parameters `-ClusterInputObject`, `-UpdateInputObject`
* Modified cmdlet `Set-AzStackHciDeploymentSetting`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-DeploymentMode` from `DeploymentMode` to `String`
   - Changed the type of parameter `-OperationType` from `OperationType` to `String`
* Modified cmdlet `Set-AzStackHciEdgeDevice`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Set-AzStackHciSecuritySetting`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-ProvisioningState` from `ProvisioningState` to `String`
   - Changed the type of parameter `-SecuredCoreComplianceAssignment` from `ComplianceAssignmentType` to `String`
   - Changed the type of parameter `-SmbEncryptionForIntraClusterTrafficComplianceAssignment` from `ComplianceAssignmentType` to `String`
   - Changed the type of parameter `-WdacComplianceAssignment` from `ComplianceAssignmentType` to `String`
* Modified cmdlet `Set-AzStackHciUpdate`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-AvailabilityType` from `AvailabilityType` to `String`
   - Changed the type of parameter `-HealthState` from `HealthState` to `String`
   - Changed the type of parameter `-RebootRequired` from `RebootRequirement` to `String`
   - Changed the type of parameter `-State` from `State` to `String`
* Modified cmdlet `Set-AzStackHciUpdateRun`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-State` from `UpdateRunPropertiesState` to `String`
* Modified cmdlet `Set-AzStackHciUpdateSummary`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-HealthState` from `HealthState` to `String`
   - Changed the type of parameter `-State` from `UpdateSummariesPropertiesState` to `String`
* Modified cmdlet `Test-AzStackHciEdgeDevice`
   - Removed parameter `-ValidateRequest`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Output type changed from ``String`` to ``IValidateResponse``
* Modified cmdlet `Update-AzStackHciCluster`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-AadApplicationObjectId`, `-AadServicePrincipalObjectId`, `-EnableSystemAssignedIdentity`, `-SoftwareAssurancePropertySoftwareAssuranceIntent`, `-UserAssignedIdentity`
   - Changed the type of parameter `-DesiredPropertyDiagnosticLevel` from `DiagnosticLevel` to `String`
   - Changed the type of parameter `-DesiredPropertyWindowsServerSubscription` from `WindowsServerSubscription` to `String`
* Added cmdlet `New-AzStackHciArcSettingIdentity`
#### Az.StackHCIVM 2.0.0 
* Modified cmdlet `New-AzStackHCIVMImage`
   - Changed the type of parameter `-ImagePath` from `String` to `SecureString`
* Modified cmdlet `New-AzStackHCIVMVirtualMachine`
   - Changed the type of parameter `-AdminPassword` from `String` to `SecureString`
* Added cmdlet `Save-AzStackHCIVMVirtualMachine`, `Suspend-AzStackHCIVMVirtualMachine`
#### Az.Storage 9.7.0 
* Modified cmdlet `Add-AzRmStorageContainerLegalHold`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzStorageAccountManagementPolicyAction`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzStorageAccountNetworkRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Close-AzStorageFileHandle`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Copy-AzStorageBlob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzStorageBlobDeleteRetentionPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzStorageBlobLastAccessTimeTracking`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzStorageBlobRestorePolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzStorageContainerDeleteRetentionPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzStorageDeleteRetentionPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzStorageStaticWebsite`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzStorageBlobDeleteRetentionPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzStorageBlobLastAccessTimeTracking`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzStorageBlobRestorePolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzStorageContainerDeleteRetentionPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzStorageDeleteRetentionPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzStorageStaticWebsite`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzRmStorageContainerImmutableStorageWithVersioningMigration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzStorageAccountFailover`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzStorageAccountHierarchicalNamespaceUpgrade`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Lock-AzRmStorageContainerImmutabilityPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Move-AzDataLakeGen2Item`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataLakeGen2Item`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzDataLakeGen2SasToken`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRmStorageContainer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzRmStorageShare`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageAccountKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageAccountManagementPolicyBlobIndexMatchObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageAccountManagementPolicyFilter`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageAccountManagementPolicyRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageAccountSASToken`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageBlobInventoryPolicyRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageBlobQueryConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageBlobRangeToRestore`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageBlobSASToken`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageContainer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageContainerSASToken`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageContainerStoredAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageContext`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageDirectory`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageEncryptionScope`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageFileHardLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageFileSASToken`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageFileSymbolicLink`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageLocalUserPermissionScope`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageLocalUserSshPassword`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageLocalUserSshPublicKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageObjectReplicationPolicyRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageQueue`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageQueueSASToken`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageQueueStoredAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageShare`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageShareSASToken`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageShareStoredAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageTableSASToken`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageTableStoredAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataLakeGen2AclRecursive`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzDataLakeGen2Item`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRmStorageContainer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRmStorageContainerImmutabilityPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRmStorageContainerLegalHold`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzRmStorageShare`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageAccountManagementPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageAccountNetworkRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageBlob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageBlobImmutabilityPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageBlobInventoryPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageContainer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageContainerStoredAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageCORSRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageDirectory`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageFile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageLocalUser`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageObjectReplicationPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageQueue`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageQueueStoredAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageShare`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageShareStoredAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageTableStoredAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Rename-AzStorageDirectory`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Rename-AzStorageFile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzDataLakeGen2DeletedItem`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzRmStorageShare`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzStorageBlobRange`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzStorageContainer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Revoke-AzStorageAccountUserDelegationKeys`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzCurrentStorageAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataLakeGen2AclRecursive`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzDataLakeGen2ItemAclObject`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzRmStorageContainerImmutabilityPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageAccount`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageAccountManagementPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageBlobContent`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageBlobImmutabilityPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageBlobInventoryPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageBlobLegalHold`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageBlobTag`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageContainerAcl`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageContainerStoredAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageCORSRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageLocalUser`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageObjectReplicationPolicy`
   - Added parameters `-EnableTagsReplication`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageQueueStoredAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageServiceLoggingProperty`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageServiceMetricsProperty`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageShareQuota`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageShareStoredAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageTableStoredAccessPolicy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzStorageBlobCopy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzStorageBlobIncrementalCopy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzStorageFileCopy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzStorageAccountHierarchicalNamespaceUpgrade`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzStorageBlobCopy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzStorageFileCopy`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzDataLakeGen2AclRecursive`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzDataLakeGen2Item`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzRmStorageContainer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzRmStorageShare`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzStorageAccountNetworkRuleSet`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzStorageBlobServiceProperty`
   - Added parameters `-EnableStaticWebsite`, `-StaticWebsiteIndexDocument`, `-StaticWebsiteDefaultIndexDocumentPath`, `-StaticWebsiteErrorDocument404Path`, `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzStorageEncryptionScope`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzStorageFileServiceProperty`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzStorageServiceProperty`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.StorageMover 2.1.0 
* Modified cmdlet `New-AzStorageMoverJobDefinition`
   - Added parameters `-Connection`, `-DataIntegrityValidation`, `-ExecutionTimeHour`, `-ExecutionTimeMinute`, `-PreservePermission`, `-ScheduleCronExpression`, `-ScheduleDaysOfMonth`, `-ScheduleDaysOfWeek`, `-ScheduleEndDate`, `-ScheduleFrequency`, `-ScheduleIsActive`, `-ScheduleStartDate`
* Modified cmdlet `Update-AzStorageMoverJobDefinition`
   - Added parameters `-Connection`, `-DataIntegrityValidation`, `-ExecutionTimeHour`, `-ExecutionTimeMinute`, `-ScheduleCronExpression`, `-ScheduleDaysOfMonth`, `-ScheduleDaysOfWeek`, `-ScheduleEndDate`, `-ScheduleFrequency`, `-ScheduleIsActive`, `-ScheduleStartDate`
* Added cmdlet `Get-AzStorageMoverConnection`, `New-AzStorageMoverConnection`, `New-AzStorageMoverS3WithHmacEndpoint`, `Remove-AzStorageMoverConnection`, `Update-AzStorageMoverS3WithHmacEndpoint`
#### Az.StorageSync 2.6.0 
* Modified cmdlet `Invoke-AzStorageSyncChangeDetection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageSyncCloudEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageSyncGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageSyncServerEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzStorageSyncService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Register-AzStorageSyncServer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageSyncCloudEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageSyncGroup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageSyncServerEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageSyncServerEndpointPermission`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzStorageSyncService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzStorageSyncServerCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageSyncCloudEndpointPermission`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageSyncServer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageSyncServerEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageSyncServerEndpointPermission`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageSyncService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzStorageSyncServiceIdentity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Unregister-AzStorageSyncServer`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.Synapse 3.3.0 
* Modified cmdlet `Add-AzSynapseDataFlowDebugSessionPackage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzSynapseTriggerSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Clear-AzSynapseSqlPoolVulnerabilityAssessmentRuleBaseline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Convert-AzSynapseSqlPoolVulnerabilityAssessmentScan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzSynapseActiveDirectoryOnlyAuthentication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzSynapseSqlAdvancedDataSecurity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzSynapseSqlPoolSensitivityRecommendation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzSynapseActiveDirectoryOnlyAuthentication`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzSynapseSqlAdvancedDataSecurity`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzSynapseSqlPoolSensitivityRecommendation`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzSynapseWorkspace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Export-AzSynapseKqlScript`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Export-AzSynapseNotebook`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Export-AzSynapseSparkConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Export-AzSynapseSqlScript`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzSynapseDataFlowDebugSessionCommand`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzSynapseIntegrationRuntimeUpgrade`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzSynapsePipeline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzSynapseSparkStatement`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Invoke-AzSynapseTriggerRun`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSynapseFirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSynapseGitRepositoryConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSynapseIntegrationRuntimeKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSynapseKqlScript`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSynapseLinkedServiceEncryptedCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSynapseManagedPrivateEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSynapseManagedVirtualNetworkConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSynapseRoleAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSynapseSparkConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSynapseSparkPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSynapseSqlDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSynapseSqlPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSynapseSqlPoolRestorePoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSynapseWorkspace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSynapseWorkspaceKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzSynapseWorkspacePackage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseDataFlow`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseDataset`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseFirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseIntegrationRuntime`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseIntegrationRuntimeNode`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseKqlScript`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseLinkConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseLinkedService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseManagedPrivateEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseNotebook`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapsePipeline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseRoleAssignment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseSparkConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseSparkJobDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseSparkPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseSqlActiveDirectoryAdministrator`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseSqlDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseSqlPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseSqlPoolRestorePoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseSqlPoolSensitivityClassification`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseSqlScript`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseTrigger`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseTriggerSubscription`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseWorkspace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseWorkspaceKey`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzSynapseWorkspacePackage`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzSynapseSparkSessionTimeout`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzSynapseSqlAdvancedThreatProtectionSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzSynapseSqlAuditSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzSynapseSqlPoolAdvancedThreatProtectionSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzSynapseSqlPoolAuditSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzSynapseSqlPoolVulnerabilityAssessmentSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzSynapseSqlVulnerabilityAssessmentSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzSynapseSqlPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Resume-AzSynapseSqlPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSynapseDataFlow`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSynapseDataset`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSynapseIntegrationRuntime`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSynapseLinkConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSynapseLinkConnectionLinkTable`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSynapseLinkedService`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSynapseManagedIdentitySqlControlSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSynapseNotebook`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSynapsePipeline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSynapseSparkJobDefinition`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSynapseSqlActiveDirectoryAdministrator`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSynapseSqlAuditSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSynapseSqlPoolAuditSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSynapseSqlPoolSensitivityClassification`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSynapseSqlPoolTransparentDataEncryption`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSynapseSqlPoolVulnerabilityAssessmentRuleBaseline`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSynapseSqlScript`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzSynapseTrigger`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzSynapseDataFlowDebugSession`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzSynapseIntegrationRuntime`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzSynapseLinkConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzSynapseSparkSession`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzSynapseSqlPoolVulnerabilityAssessmentScan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzSynapseTrigger`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSynapseDataFlowDebugSession`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSynapseIntegrationRuntime`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSynapseLinkConnection`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSynapsePipelineRun`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSynapseSparkJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSynapseSparkSession`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSynapseSparkStatement`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSynapseTrigger`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzSynapseTriggerRun`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Submit-AzSynapseSparkJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Suspend-AzSynapseSqlPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Sync-AzSynapseIntegrationRuntimeCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSynapseFirewallRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSynapseIntegrationRuntime`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSynapseIntegrationRuntimeNode`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSynapseLinkConnectionLandingZoneCredential`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSynapseManagedVirtualNetworkConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSynapseSparkPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSynapseSqlAdvancedThreatProtectionSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSynapseSqlDatabase`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSynapseSqlPool`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSynapseSqlPoolAdvancedThreatProtectionSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSynapseSqlPoolVulnerabilityAssessmentSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSynapseSqlVulnerabilityAssessmentSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzSynapseWorkspace`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Wait-AzSynapseSparkJob`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.TrafficManager 1.4.0 
* Modified cmdlet `Add-AzTrafficManagerCustomHeaderToEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzTrafficManagerCustomHeaderToProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzTrafficManagerEndpointConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzTrafficManagerExpectedStatusCodeRange`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzTrafficManagerIpAddressRange`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzTrafficManagerEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Disable-AzTrafficManagerProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzTrafficManagerEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Enable-AzTrafficManagerProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzTrafficManagerEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzTrafficManagerProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzTrafficManagerCustomHeaderFromEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzTrafficManagerCustomHeaderFromProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzTrafficManagerEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzTrafficManagerEndpointConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzTrafficManagerExpectedStatusCodeRange`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzTrafficManagerIpAddressRange`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzTrafficManagerProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzTrafficManagerEndpoint`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzTrafficManagerProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
#### Az.Websites 4.0.0 
* Modified cmdlet `Add-AzWebAppAccessRestrictionRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Add-AzWebAppTrafficRouting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Edit-AzWebAppBackupConfiguration`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Import-AzWebAppKeyVaultCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAppServiceEnvironment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAppServiceEnvironmentInboundServices`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzAppServicePlan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzWebApp`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzWebAppAzureStoragePath`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzWebAppBackup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzWebAppCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzWebAppDatabaseBackupSetting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzWebAppSlot`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `New-AzWebAppSSLBinding`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Publish-AzWebApp`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAppServiceEnvironment`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzAppServicePlan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzWebApp`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzWebAppAccessRestrictionRule`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzWebAppBackup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzWebAppCertificate`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzWebAppSlot`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzWebAppSSLBinding`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Remove-AzWebAppTrafficRouting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzWebAppPublishingProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Reset-AzWebAppSlotPublishingProfile`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restart-AzWebApp`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restart-AzWebAppSlot`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzDeletedWebApp`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzWebAppBackup`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Restore-AzWebAppSnapshot`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzAppServicePlan`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzWebApp`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzWebAppSlot`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Set-AzWebAppSlotConfigName`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzWebApp`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Start-AzWebAppSlot`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzWebApp`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Stop-AzWebAppSlot`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Switch-AzWebAppSlot`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzWebAppAccessRestrictionConfig`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Update-AzWebAppTrafficRouting`
   - Added parameters `-AcquirePolicyToken`, `-ChangeReference`
* Modified cmdlet `Get-AzStaticWebAppBuild`
   - Added parameter `-StaticSiteInputObject`
* Modified cmdlet `Get-AzStaticWebAppCustomDomain`
   - Added parameter `-StaticSiteInputObject`
* Modified cmdlet `Get-AzStaticWebAppUserProvidedFunctionApp`
   - Added parameters `-BuildInputObject`, `-StaticSiteInputObject`
* Modified cmdlet `Get-AzWebAppContinuousWebJob`
   - Removed parameter `-PassThru`
   - Added parameter `-SiteInputObject`
* Modified cmdlet `Get-AzWebAppSlotContinuousWebJob`
   - Removed parameter `-PassThru`
   - Added parameters `-ContinuouswebjobInputObject`, `-SiteInputObject`
* Modified cmdlet `Get-AzWebAppSlotTriggeredWebJob`
   - Removed parameter `-PassThru`
   - Added parameters `-SiteInputObject`, `-TriggeredwebjobInputObject`
* Modified cmdlet `Get-AzWebAppSlotTriggeredWebJobHistory`
   - Removed parameter `-PassThru`
   - Added parameters `-HistoryInputObject`, `-SiteInputObject`, `-TriggeredwebjobInputObject`
* Modified cmdlet `Get-AzWebAppTriggeredWebJob`
   - Removed parameter `-PassThru`
   - Added parameter `-SiteInputObject`
* Modified cmdlet `Get-AzWebAppTriggeredWebJobHistory`
   - Removed parameter `-PassThru`
   - Added parameters `-SiteInputObject`, `-TriggeredwebjobInputObject`
* Modified cmdlet `New-AzStaticWebApp`
   - Removed parameters `-IdentityType`, `-IdentityUserAssignedIdentity`
   - Added parameters `-InputObject`, `-EnableSystemAssignedIdentity`, `-SkuCapability`, `-SkuCapacityDefault`, `-SkuCapacityElasticMaximum`, `-SkuCapacityMaximum`, `-SkuCapacityMinimum`, `-SkuCapacityScaleType`, `-SkuFamily`, `-SkuLocation`, `-SkuSize`, `-SkuTier`, `-UserAssignedIdentity`, `-JsonString`, `-JsonFilePath`
   - Changed the type of parameter `-StagingEnvironmentPolicy` from `StagingEnvironmentPolicy` to `String`
* Modified cmdlet `New-AzStaticWebAppBuildAppSetting`
   - Added parameters `-StaticSiteInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzStaticWebAppBuildFunctionAppSetting`
   - Added parameters `-StaticSiteInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzStaticWebAppCustomDomain`
   - Added parameters `-StaticSiteInputObject`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzStaticWebAppFunctionAppSetting`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzStaticWebAppSetting`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `New-AzStaticWebAppUserRoleInvitationLink`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Register-AzStaticWebAppUserProvidedFunctionApp`
   - Added parameters `-BuildInputObject`, `-StaticSiteInputObject`, `-StaticSite1InputObject`, `-StaticSiteUserProvidedFunctionEnvelope`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Remove-AzStaticWebAppBuild`
   - Added parameter `-StaticSiteInputObject`
* Modified cmdlet `Remove-AzStaticWebAppCustomDomain`
   - Added parameter `-StaticSiteInputObject`
* Modified cmdlet `Remove-AzStaticWebAppUser`
   - Added parameters `-AuthproviderInputObject`, `-StaticSiteInputObject`
* Modified cmdlet `Remove-AzWebAppContinuousWebJob`
   - Added parameter `-SiteInputObject`
* Modified cmdlet `Remove-AzWebAppSlotContinuousWebJob`
   - Added parameters `-ContinuouswebjobInputObject`, `-SiteInputObject`
* Modified cmdlet `Remove-AzWebAppSlotTriggeredWebJob`
   - Added parameters `-SiteInputObject`, `-TriggeredwebjobInputObject`
* Modified cmdlet `Remove-AzWebAppTriggeredWebJob`
   - Added parameter `-SiteInputObject`
* Modified cmdlet `Reset-AzStaticWebAppApiKey`
   - Added parameters `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Start-AzWebAppContinuousWebJob`
   - Added parameter `-SiteInputObject`
* Modified cmdlet `Start-AzWebAppSlotContinuousWebJob`
   - Added parameters `-ContinuouswebjobInputObject`, `-SiteInputObject`
* Modified cmdlet `Start-AzWebAppSlotTriggeredWebJob`
   - Added parameters `-SiteInputObject`, `-TriggeredwebjobInputObject`
* Modified cmdlet `Start-AzWebAppTriggeredWebJob`
   - Added parameter `-SiteInputObject`
* Modified cmdlet `Stop-AzWebAppContinuousWebJob`
   - Added parameter `-SiteInputObject`
* Modified cmdlet `Stop-AzWebAppSlotContinuousWebJob`
   - Added parameters `-ContinuouswebjobInputObject`, `-SiteInputObject`
* Modified cmdlet `Test-AzStaticWebAppCustomDomain`
   - Added parameters `-StaticSiteInputObject`, `-StaticSiteCustomDomainRequestPropertiesEnvelope`, `-JsonFilePath`, `-JsonString`
* Modified cmdlet `Unregister-AzStaticWebAppBuildUserProvidedFunctionApp`
   - Added parameters `-BuildInputObject`, `-StaticSiteInputObject`
* Modified cmdlet `Unregister-AzStaticWebAppUserProvidedFunctionApp`
   - Added parameter `-StaticSiteInputObject`
* Modified cmdlet `Update-AzStaticWebApp`
   - Added parameters `-JsonFilePath`, `-JsonString`
   - Changed the type of parameter `-StagingEnvironmentPolicy` from `StagingEnvironmentPolicy` to `String`
* Modified cmdlet `Update-AzStaticWebAppUser`
   - Added parameters `-AuthproviderInputObject`, `-StaticSiteInputObject`, `-StaticSiteUserEnvelope`, `-JsonFilePath`, `-JsonString`

---

### Documentation Breaking Changes Breaking Change Template (`documentation/breaking-changes/breaking-change-template.md`)

## Breaking Change Title

The following cmdlets were affected this release:

**Cmdlet-1**
- Description of what has changed

```powershell
# Old
# Sample of how the cmdlet was previously called

# New
# Sample of how the cmdlet should now be called
```

**Cmdlet-2**
- Description of what has changed

```powershell
# Old
# Sample of how the cmdlet was previously called

# New
# Sample of how the cmdlet should now be called
```

For an example migration guide for breaking changes, click [here](release-notes/migration-guide.2.0.0.md).

---

### Documentation Breaking Changes Breaking Changes Attribute Help (`documentation/breaking-changes/breaking-changes-attribute-help.md`)

> **WARNING:**<br>
> **This page is moved to [Breaking Changes Attribute Help](https://eng.ms/docs/cloud-ai-platform/azure-core/azure-management-and-platforms/control-plane-bburns/azure-cli-tools-azure-cli-powershell-and-terraform/azure-cli-tools/devguide/azps/breaking-change/breaking-changes-attribute-help). DO NOT UPDATE IT HERE!**<br>

# Breaking Changes Attribute Help

Below is description of the various types of Breaking Change Attributes (custom attributes) that can be used to decorate the cmdlet or its parameters to call out various [types of breaking changes](https://github.com/praries880/azure-powershell/blob/breakingchangeattribute/documentation/breaking-changes/breaking-changes-definition.md).

## The different types of attributes

- [Common stuff and The generic breaking change attribute](#common-aspects-and-properties)
- [Cmdlet deprecation attribute](#cmdletdeprecationattribute)
- [Cmdlet output breaking change attribute](#cmdletoutputbreakingchangeattribute)
- [Cmdlet parameter properties change attribute](#cmdletparameterbreakingchangeattribute)

## Common aspects and properties
### GenericBreakingChangeAttribute
The base attribute which provides the core functionality is called "GenericBreakingChange" All the remaining attributes derive from it and provide functionality that makes sense for the scenarios they handle.

The generic attribute is the most free form of them all and can be used to call out breaking changes that do not fall into the more specialized categories.

### Common behavioral aspects
All of the attributes have the following common traits:
- The attribute (when added to the cmdlet/parameter of the cmdlet) is used for the following purposes
  - At runtime, if the cmdlet is used, we will print out a message for each breaking change attribute present in the cmdlet and its properties.
  - We use these attributes to generate the breaking change document for the cmdlet.

### Common Properties
#### Constructor arguments
- Each attribute has two additional constructors that take the following params in addition to the ones the attribute mentions:
  - The "deprecatedByVersion" is the version number the breaking change is going to be done in.
  - The "changeInEffectByDate" is the date the breaking change is going to go in effect on. The string format is "mm/dd/yyyy", as an example : "02/25/2018"
#### Properties by name
- Each attribute accepts the following properties by name (all of them are optional) :
  - "ChangeDescription" : This is a free form text field that can be used to describe the breaking change.
  - Usage changes (you cant have one or the other, you need to specify both for the usage message to be generated) :
    - "OldWay" : The way to call the cmdlet before the breaking change takes effect
    - "NewWay" : If there is a workaround to the breaking change, or if the same functionality can be achieved in another manner

The properties "deprecatedByVersion" and "changeInEffectByDate" are information only (for the end user) as of now.

#### Suppress the breaking change messages at runtime

If the user desires to not see the warning messages generated by the attributes at runtime, they can update the `DisplayBreakingChangeWarning` config as below:

```powershell
Update-AzConfig -DisplayBreakingChangeWarning $false
```

This config can be applied to a certain module or cmdlet, allowing the user to suppress breaking change messages just for the chosen part:

```powershell
Update-AzConfig -DisplayBreakingChangeWarning $false -AppliesTo Az.KeyVault
```

For more info, run `Get-Help Update-AzConfig`. 

Alternatively, set the env variable "SuppressAzurePowerShellBreakingChangeWarnings" to "true" to suppress all the breaking change messages.

```powershell
Set-Item Env:\SuppressAzurePowerShellBreakingChangeWarnings "true"
```

This environment variable must be set before importing the **Az** or **Az.Accounts** PowerShell module for it to take effect in the current PowerShell session.

For additional methods to disable breaking change warning messages in Azure PowerShell, see [Configure Azure PowerShell global settings](https://learn.microsoft.com/powershell/azure/configure-global-settings#breaking-change-warning-messages).

NOTE :
- The only time you will see the output (at runtime) of an attribute applied to a parameter (property or field) is if the parameter is actually invoked on the cmdline. The breaking change attributes to all parameters that are not invoked are ignored.

### Examples (with GenericBreakingChangeAttribute)
#### With a simple message
```cs
    [GenericBreakingChange("Message 1")]
    [Cmdlet(VerbsCommon.Get, "SomeObject0"), OutputType(typeof(Foo))]
    class GetSomeObject0 : AzureRMCmdlet
    {

    }
```

##### Effects at runtime:
```
Get-SomeObject0 <parms here>
...
Breaking changes in the cmdlet : Get-SomeObject0
 - Message 1
```

#### With "GenericBreakingChange"
```cs
    [GenericBreakingChange("Message 1", "5.0.0.0")]
    [Cmdlet(VerbsCommon.Get, "SomeObjectA"), OutputType(typeof(Foo))]
    class GetSomeObjectA : AzureRMCmdlet
    {

    }
```

##### Effects at runtime:
```
Get-SomeObjectA <parms here>
...
Breaking changes in the cmdlet : Get-SomeObjectA
 - Message 1
    The change is expected to take effect from the version : 5.0.0.0
```

#### With "deprecatedByVersion" and "changeInEffectByDate"
```cs
    [GenericBreakingChange("Message2", "5.0.0.0", "02/13/2018")]
    [Cmdlet(VerbsCommon.Get, "SomeObjectB"), OutputType(typeof(Foo))]
    class GetSomeObjectB : AzureRMCmdlet

    }
```

##### Effects at runtime:
```
Get-SomeObjectB <parms here>
...
Breaking changes in the cmdlet : Get-SomeObjectB
 - Message 2
    NOTE : This change will take effect on '02/13/2018'
    The change is expected to take effect from the version : 5.0.0.0
```

#### With OldWay/NewWay
```cs
    [GenericBreakingChange("Added new required param to Get-SomeObjectC", OldWay = "Get-SomeObjectC -Param1=\"blah\"", NewWay = "Get-SomeObjectC -Param1=\"blah\" -Param2=\"Yo Yo\"")]
    [Cmdlet(VerbsCommon.Get, "SomeObjectC"), OutputType(typeof(Foo))]
    class GetSomeObjectC : AzureRMCmdlet

    }
```

##### Effects at runtime
```
Get-SomeObjectC <parms here>
...
Breaking changes in the cmdlet : Get-SomeObjectC
 - Added new required param to Get-SomeObjectC
Cmdlet invocation changes :
    Old Way : Get-SomeObjectC -Param1="blah"
    New Way : Get-SomeObjectC -Param1="blah" -Param2="Yo Yo"
```

#### With ChangeDescription property and multiple attributes in the cmdlet
```cs
    [GenericBreakingChange("Message5")]
    [Cmdlet(VerbsCommon.Get, "SomeObjectD"), OutputType(typeof(Foo))]
    class GetSomeObjectD : AzureRMCmdlet
        //This is just as an example, to call out a param change we would not use the generic attribute. Use "CmdletParameterBreakingChangeMarker" instead
        [GenericBreakingChange("Param1 changes coming", ChangeDescription = "The param is changing from a List<String> to HashSet<String>")]
        [Parameter(Mandatory = false)]
        public List<String> Param1;
        [Parameter(Mandatory = false)]
        public List<String> Param2;
    }
```

##### Effects at runtime when the param with an attribute is used
```
Get-SomeObjectC -Param1=...
...
Breaking changes in the cmdlet : Get-SomeObjectD
 - Message5
 - Param1 changes coming
    Change description : The param is changing from a List<String> to HashSet<String>"
```

##### Effects at runtime when the param with an attribute is not used
```
Get-SomeObjectC -Param2=...
...
Breaking changes in the cmdlet : Get-SomeObjectD
- Message5
```

## CmdletDeprecationAttribute

This attribute marks a cmdlet for deprecation.

### Usage
#### Constructor Arguments
None, other than the two inherited from GenericBreakingChangeAttribute

#### When there is a replacement cmdlet
```cs
[CmdletDeprecation(ReplacementCmdletName = "Get-SomeObjectC")]
[Cmdlet(VerbsCommon.Get, "SomeObjectA"), OutputType(typeof(Foo))]
public class GetSomeObjectA : AzureRMCmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

##### Effect at runtime
```
Get-SomeObjectA <parms here>
...
Breaking changes in the cmdlet : Get-SomeObjectA
The cmdlet 'Get-SomeObjectC' is replacing this cmdlet
```

#### When there is no replacement cmdlet
```cs
[CmdletDeprecation()]
[Cmdlet(VerbsCommon.Get, "SomeObjectB"), OutputType(typeof(Foo))]
public class GetSomeObjectB : AzureRMCmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

##### Effect at runtime

```
Get-SomeObjectB <params here>
...
Breaking changes in the cmdlet : Get-SomeObjectB
The cmdlet is being deprecated. There will be no replacement for it.
```

## CmdletOutputBreakingChangeAttribute
This attribute is used to call out the breaking changes with the output of a cmdlet. A few examples are :
 - The type of the output is changing
 - The Output type is being deprecated
 - Some internal properties in the output type are being deprecated
 - New properties are being introduced to the output type

Note :
 - It is possible to mix the above, as in you can have a case where a type is being replaced and we want to call out the change to internal properties, as in list te old ones deprecating with the old type and the new ones being introduced in the new type

### Usage
#### Constructor Arguments
- deprecatedCmdletOutputTypeName : String, represents the type of the existing output type,
- The two inherited from GenericBreakingChangeAttribute

#### The output return type is being dropped
```cs
[CmdletOutputBreakingChange(typeof(Foo))]
[Cmdlet(VerbsCommon.Get, "SomeObjectA"), OutputType(typeof(Foo))]
public class GetSomeObjectA : AzureRMCmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```
##### Effect at runtime
```
Get-SomeObjectA <parms here>
...
Breaking changes in the cmdlet : Get-SomeObjectA
 - The output type 'Foo' is being deprecated without a replacement.
```

#### The output return type is changing
```cs
[CmdletOutputBreakingChange(typeof(Foo), ReplacementCmdletOutputTypeName = "Dictionary<String, Foo>")]
[Cmdlet(VerbsCommon.Get, "SomeObjectA"), OutputType(typeof(Foo))]
public class GetSomeObjectA : AzureRMCmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```
##### Effect at runtime
```
Get-SomeObjectA <parms here>
...
Breaking changes in the cmdlet : Get-SomeObjectA
 - The output type is changing from the existing type :'List<Foo>' to the new type :'Dictionary<String, Foo>'
```

#### A few properties in the output type are being deprecated
```cs
[CmdletOutputBreakingChange(typeof(Foo), DeprecatedOutputProperties = new String[] {"Prop1", "Prop2"})]
[Cmdlet(VerbsCommon.Get, "SomeObjectB"), OutputType(typeof(Foo))]
public class GetSomeObjectB : AzureRMCmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

##### Effect at runtime
```
Get-SomeObjectB <parms here>
...
Breaking changes in the cmdlet : Get-SomeObjectB
 - The output type 'Foo' is changing
 - The following properties in the output type are being deprecated :
    'Prop1' 'Prop2'
```

#### A few new properties are being added to the output type
```cs
[CmdletOutputBreakingChange(typeof(Foo), NewOutputProperties = new String[] {"Prop1", "Prop2"})]
[Cmdlet(VerbsCommon.Get, "SomeObjectC"), OutputType(typeof(Foo))]
public class GetSomeObjectC : AzureRMCmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

##### Effect at runtime
```
Get-SomeObjectC <parms here>
...
Breaking changes in the cmdlet : Get-SomeObjectC
 - The output type 'Foo' is changing
 - The following properties are being added to the output type :
    'Prop1' 'Prop2'
```

#### A mixed example
```cs
[CmdletOutputBreakingChange(typeof(Foo), ReplacementCmdletOutputTypeName = "Foo1",
DeprecatedOutputProperties = new String[] {"Prop1", "Prop2"},
NewOutputProperties = new String[] {"Prop3", "Prop4"})]
[Cmdlet(VerbsCommon.Get, "SomeObjectD"), OutputType(typeof(Foo))]
public class GetSomeObjectD : AzureRMCmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

##### Effect at runtime
```
Get-SomeObjectD <parms here>
...
Breaking changes in the cmdlet : Get-SomeObjectD
 - The output type is changing from the existing type :'Foo' to the new type :'Foo1'
 - The following properties in the output type are being deprecated :
    'Prop1' 'Prop2'
 - The following properties are being added to the output type :
    'Prop3' 'Prop4'
```

## CmdletParameterBreakingChangeAttribute
This attribute is used to call out the breaking changes relating to a parameter of a cmdlet. A few examples are :
 - A parameter is being deprecated
 - A parameter is being replaced
 - A parameter is becoming mandatory
 - A non mandatory parameter is being replaced by a mandatory parameter 

NOTE :
- The only time you will see the output (at runtime) of an attribute applied to a parameter (property or field) is if the parameter is actually invoked on the cmdline. The breaking change attributes to all parameters that are not invoked are ignored.

### Usage
#### Constructor Arguments
- nameOfParameterChanging : String, represents the name of the existing parameter,
- The two inherited from GenericBreakingChangeAttribute

#### Generic change in a parameter
```cs
[Cmdlet(VerbsCommon.Get, "SomeObjectA0"), OutputType(typeof(Foo))]
public class GetSomeObjectA0 : AzureRMCmdlet
{
        public const String ChangeDesc = "Change description Foo bar";
        [CmdletParameterBreakingChange("Param1", ChangeDescription = ChangeDesc)]
        [Parameter(Mandatory = false)]
        public String Param1;
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

##### Effect at runtime
```
Get-SomeObjectA0 -Param1=...
...
Breaking changes in the cmdlet : Get-SomeObjectA0
 - The parameter 'Param1' is changing
    Change description : Change description Foo bar
```

#### A Parameter is being deprecated
```cs
[Cmdlet(VerbsCommon.Get, "SomeObjectA"), OutputType(typeof(Foo))]
public class GetSomeObjectA : AzureRMCmdlet
{
        public const String ChangeDesc = "Parameter is being deprecated without being replaced";
        [CmdletParameterBreakingChange("Param1", ChangeDescription = ChangeDesc)]
        [Parameter(Mandatory = false)]
        public String Param1;
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

##### Effect at runtime
```
Get-SomeObjectA -Param1=...
...
Breaking changes in the cmdlet : Get-SomeObjectA
 - The parameter 'Param1' is changing
    Change description : Parameter is being deprecated without being replaced
```

#### A Parameter is changing its type
```cs
[Cmdlet(VerbsCommon.Get, "SomeObjectA1"), OutputType(typeof(Foo))]
public class GetSomeObjectA1 : AzureRMCmdlet
{
        [CmdletParameterBreakingChange("Param1", OldParameterType = typeof(String), NewParameterTypeName="FooBar")]
        [Parameter(Mandatory = false)]
        public String Param1;
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

##### Effect at runtime
```
Get-SomeObjectA1 -Param1=...
...
Breaking changes in the cmdlet : Get-SomeObjectA1
 - The parameter 'Param1' is changing
    The type of the parameter is changing from 'String' to 'FooBar'.
```

#### A Parameter is being replaced
```cs
[Cmdlet(VerbsCommon.Get, "SomeObjectB"), OutputType(typeof(Foo))]
public class GetSomeObjectB : AzureRMCmdlet
{
        [CmdletParameterBreakingChange("Param1", ReplaceMentCmdletParameterName = "ParamX")]
        [Parameter(Mandatory = false)]
        public String Param1;
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

##### Effect at runtime
```
Get-SomeObjectB -Param1=...
...
Breaking changes in the cmdlet : Get-SomeObjectB
 - The parameter 'Param1' is  being replaced by parameter "ParamX"
```

#### A non mandatory parameter is being replaced by a mandatory param
```cs
[Cmdlet(VerbsCommon.Get, "SomeObjectC"), OutputType(typeof(Foo))]
public class GetSomeObjectC : AzureRMCmdlet
{
        [CmdletParameterBreakingChange("Param1", ReplaceMentCmdletParameterName = "ParamX",
        IsBecomingMandatory=true)]
        [Parameter(Mandatory = false)]
        public String Param1;
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

##### Effect at runtime
```
Get-SomeObjectC -Param1=...
...
Breaking changes in the cmdlet : Get-SomeObjectB
 - The parameter 'Param1' is  being replaced by mandatory parameter "ParamX"
```

#### A Parameter is becoming mandatory
```cs
[Cmdlet(VerbsCommon.Get, "SomeObjectA"), OutputType(typeof(Foo))]
public class GetSomeObjectA : AzureRMCmdlet
{
        [CmdletParameterBreakingChange("Param1", IsBecomingMandatory=true)]
        [Parameter(Mandatory = false)]
        public String Param1;
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

##### Effect at runtime
```
Get-SomeObjectA -Param1=...
...
Breaking changes in the cmdlet : Get-SomeObjectA
 - The parameter 'Param1' is becoming mandatory
```

---

### Documentation Breaking Changes Breaking Changes Definition (`documentation/breaking-changes/breaking-changes-definition.md`)

> **WARNING:**<br>
> **This page is moved to [Breaking Change Definition](https://eng.ms/docs/cloud-ai-platform/azure-core/azure-management-and-platforms/control-plane-bburns/azure-cli-tools-azure-cli-powershell-and-terraform/azure-cli-tools/devguide/azps/breaking-change/breaking-changes-definition). DO NOT UPDATE IT HERE!**<br>

# Breaking Change Definition

This document lists the various types of breaking changes and how to call them out in your code using the [breaking change attributes](./breaking-changes-attribute-help.md).

Breaking changes in cmdlets are defined as follows:

# Cmdlets
- Removing a cmdlet
  - Use the breaking change attribute ["CmdletDeprecationAttribute"](./breaking-changes-attribute-help.md#cmdletdeprecationattribute), more specifically the ["cmdlet deprecation without replacement"](./breaking-changes-attribute-help.md#when-there-is-no-replacement-cmdlet) option
- Changing a cmdlet name without an alias to the original name
  - Use the breaking change attribute ["CmdletDeprecationAttribute"](./breaking-changes-attribute-help.md#cmdletdeprecationattribute), more specifically the ["cmdlet deprecation with replacement"](./breaking-changes-attribute-help.md#when-there-is-a-replacement-cmdlet) option
- Removing or changing a cmdlet alias
  - Use the generic breaking change attribute ["GenericBreakingChangeAttribute"](./breaking-changes-attribute-help.md#genericbreakingchangeattribute) with a [simple message](./breaking-changes-attribute-help.md#with-a-simple-message) calling out the alias that is being deprecated
- Removing a cmdlet attribute option (`SupportShouldProcess`, `SupportsPaging`)
  - Use the generic breaking change attribute ["GenericBreakingChangeAttribute"](./breaking-changes-attribute-help.md#genericbreakingchangeattribute) with a [simple message](./breaking-changes-attribute-help.md#with-a-simple-message) calling out the cmdlet attribute that is being removed
- Breaking change in `OutputType` or removal of `OutputType` attribute
  - Use the cmdlet output type breaking change attribute ["CmdletOutputBreakingChangeAttribute"](./breaking-changes-attribute-help.md#cmdletoutputbreakingchangeattribute)
    - To call out the output type being changed use the above attribute [as described here](./breaking-changes-attribute-help.md#the-output-return-type-is-changing).
    - To deprecate an output type use the above attribute [as described here](./breaking-changes-attribute-help.md#the-output-return-type-is-being-dropped).

# Parameters
- Removing a parameter
  - Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md#cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md#a-parameter-is-being-deprecated) to call out a parameter being removed.
- Changing the name of a parameter without an alias to the original parameter name
  - Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md#cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md#a-parameter-is-being-replaced) to call out a parameter name change.
- Breaking change in parameter type
  - Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md#cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md#a-parameter-is-changing-its-type) to call out a parameter name change.
- Adding a required parameter to an existing parameter set (adding new parameter sets or adding additional optional parameters is not a breaking change)
  - An existing parameter becomes mandatory :
    - Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md#cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md#a-parameter-is-becoming-mandatory) to call out a parameter becoming mandatory.
  - Adding a new mandatory parameter to a parameter set:
      - Use the generic breaking change attribute ["GenericBreakingChangeAttribute"](./breaking-changes-attribute-help.md#genericbreakingchangeattribute) with a [custom message](./breaking-changes-attribute-help.md#with-a-simple-message) calling out the new mandatory parameter that is going to be added to the parameter set.
- Changing parameter order for parameter sets with ordered parameters
    - Use the generic breaking change attribute ["GenericBreakingChangeAttribute"](./breaking-changes-attribute-help.md#genericbreakingchangeattribute) with a [custom message](./breaking-changes-attribute-help.md#with-a-simple-message) calling out the new order in the parameter set.
- Removing or changing a parameter alias
  - Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md#cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md#generic-change-in-a-parameter) to call out the change by altering the change description.
- Removing or changing existing parameter attribute values
  - Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md#cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md#generic-change-in-a-parameter) to call out the change by altering the change description.
- Making parameter validation more exclusive (_e.g.,_ removing values from a `ValidateSet`)
  - Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md#cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md#generic-change-in-a-parameter) to call out the change by altering the change description.

# Output and Parameter Types
- Changing property names without an accompanying alias to the original name
  - In the output type
    - Use the cmdlet output type breaking change attribute ["CmdletOutputBreakingChangeAttribute"](./breaking-changes-attribute-help.md#cmdletoutputbreakingchangeattribute) [as follows](./breaking-changes-attribute-help.md#a-mixed-example) to call out property name changes (do not specify the attribute property "ReplacementCmdletOutputTypeName" for this purpose).
  - In a parameter
    - Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md#cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md#generic-change-in-a-parameter) to call out the change.
- Removing properties
  - In the output type
      - Use the cmdlet output type breaking change attribute ["CmdletOutputBreakingChangeAttribute"](./breaking-changes-attribute-help.md#cmdletoutputbreakingchangeattribute) [as follows](./breaking-changes-attribute-help.md#a-few-properties-in-the-output-type-are-being-deprecated) to call out deprecated properties. 
  - In a parameter
      - Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md#cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md#generic-change-in-a-parameter) to call out the change.
- Adding additional required properties
  - In the output type
      - Use the cmdlet output type breaking change attribute ["CmdletOutputBreakingChangeAttribute"](./breaking-changes-attribute-help.md#cmdletoutputbreakingchangeattribute) [as follows](./breaking-changes-attribute-help.md#a-few-new-properties-are-being-added-to-the-output-type) to call out deprecated properties. 
  - In a parameter
      - Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md#cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md#generic-change-in-a-parameter) to call out the change.
- Adding required parameters, changing parameter names, or parameter types for methods or constructors
    - Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md#cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md#generic-change-in-a-parameter) to call out the change.
- Changing return types of methods
    - Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md#cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md#generic-change-in-a-parameter) to call out the change.

---

### Documentation Breaking Changes Breaking Changes In Generated Modules Due To Codegen Tool Upgrade From V3 To V4 (`documentation/breaking-changes/breaking-changes-in-generated-modules-due-to-codegen-tool-upgrade-from-v3-to-v4.md`)

# Breaking Changes in Generated Modules Due to AutoRest.PowerShell Upgrade from v3 to v4

We are moving forward with using the new version of the code generation tool, AutoRest.PowerShell v4, to take advantage of the features offered by the latest version. The redesign of the generated code to support new user requirements in this version inevitably introduces some breaking changes.

Below, we list the potential breaking changes from the perspective of users that may occur when upgrading the code generation tool for Azure PowerShell modules.

**Note: The breaking changes listed below may not apply universally to all generated modules. The occurrence of these breaking changes also depends on the specific configurations used when generating Azure PowerShell modules with AutoRest.PowerShell v4. For detailed information on which breaking changes may occur, please refer to the [breaking change list](https://learn.microsoft.com/powershell/azure/upcoming-breaking-changes) for the specific module.**

## List Replaces Array in Generated C# Classes

We now generate collection-like properties as [`List`](https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1) instead of [`Array`](https://learn.microsoft.com/en-us/dotnet/api/system.array) in the models. This is because `List` is dynamic that it allows appending/deleting elements, while `Array` is fixed-size hence difficult to edit.

### How to Mitigate the Impact of Breaking Changes

* "Use methods from List to replace methods from Array, for example: use count instead of Length to retrieve the number of elements
* Use the ToArray function if conversion to a fixed-size array is needed

## Use Primitive Types for Enum Instead of Struct

We used to generate a struct for [enum](https://github.com/Azure/autorest/blob/main/docs/extensions/readme.md#x-ms-enum) to support tab completer for parameters. This design has been abandoned due to its limitation of only supporting enums with string type.

### How to Mitigate the Impact of Breaking Changes

Generally, this change will not cause a breaking change for users. In modules generated by older versions, users typically use primitive types, and the generated struct includes a converter that transforms these primitive types into the struct. The only requirement for users is to avoid using Microsoft.Azure.PowerShell.Cmdlets.{module}.Support.* directly.

## Breaking Changes Due to Bug Fixes

### Removal of PassThru for Certain Cmdlets

`-PassThru` is a switch parameter that we add to cmdlets that don't have outputs to enable the pipeline functionality. In AutoRest.PowerShell v3, `-PassThru` was incorrectly added to some cmdlets that do have outputs. This is fixed in v4 and those extra `-PassThru` parameters are removed.

#### How to Mitigate the Impact of Breaking Changes

Discontinue using the `PassThru` parameter for these cmdlets. Be careful that by doing so the output may change.

### Removal of Readonly Parameters

If a property is marked `"x-ms-mutability": ["read"]` in the OpenAPI spec, it means it should only appear in the output but never as an input parameter. However, in AutoRest.PowerShell v3, such kind of readonly parameters were incorrectly generated for cmdlets.

#### How to Mitigate the Impact of Breaking Changes

It's safe to simply remove these Readonly parameters, as they are ignored by the service.

---

### Documentation Breaking Changes Breaking Changes Messages Help (`documentation/breaking-changes/breaking-changes-messages-help.md`)

# Breaking Change Messages Help

## What is this warning and what is it about?

Breaking change warnings are a means for the cmdlet authors to communicate with the end users any upcoming breaking changes in the cmdlet. Most of these changes will be taking effect in the next breaking change release.

## How do I get rid of the warnings?

To suppress these warning messages, set the config 'DisplayBreakingChangeWarning' to '$false'.

```powershell
Update-AzConfig -DisplayBreakingChangeWarning $false
```

More details on breaking change message suppression can be found [here](https://github.com/Azure/azure-powershell/blob/main/documentation/breaking-changes/breaking-changes-attribute-help.md#suppress-the-breaking-change-messages-at-runtime).

## Further reading

### When will the breaking change happen
We have two breaking change releases in a year:
* One in late spring
* One in the fall

Here is a [link to our milestones](https://github.com/Azure/azure-powershell/milestones). We will call out any upcoming breaking change releases here.

### What are the different types of breaking changes possible in the cmdlet?

[Here](https://github.com/Azure/azure-powershell/blob/preview/documentation/breaking-changes/breaking-changes-definition.md
) is a good resource on the various types of breaking changes authors can call out in a cmdlet.

### Send us feedback
* Generic feedback : Use the [`Send-Feedback`](https://learn.microsoft.com/en-us/powershell/module/azurerm.profile/send-feedback?view=azurermps-6.11.0) cmdlet
* A bug : Report issues in the [azure-powershell repository issue list](https://github.com/Azure/azure-powershell/issues)

---

### Documentation Breaking Changes Breaking Changes Tool Help (`documentation/breaking-changes/breaking-changes-tool-help.md`)

# Breaking Changes Tool

Below are descriptions and remediations for each of the errors that can be seen when using the breaking changes tool.

## Table of Contents

| Problem ID | Breaking Change |
| --- | --- |
| 1000 | [Removed Cmdlet](#1000---removed-cmdlet) |
| 1010 | [Removed Cmdlet Alias](#1010---removed-cmdlet-alias) |
| 1020 | [Changed Output Type](#1020---changed-output-type) |
| 1030 | [Removed SupportsShouldProcess](#1030---removed-supportsshouldprocess) |
| 1040 | [Removed SupportsPaging](#1040---removed-supportspaging) |
| 1050 | [Removed Parameter Set](#1050---removed-parameter-set) |
| 1060 | [Changed Default Parameter Set](#1060---changed-default-parameter-set) |
| 1070 | [Changed Output Element Type](#1070---changed-output-element-type) |
| 1080 | [Changed Output Generic Type](#1080---changed-output-generic-type) |
| 1090 | [Changed Output Generic Type Argument](#1090---changed-output-generic-type-argument) |
| 1100 | [Different Output Generic Type Argument Size](#1100---different-output-generic-type-argument-size) |
| 2000 | [Removed Parameter](#2000---removed-parameter) |
| 2010 | [Removed Parameter Alias](#2010---removed-parameter-alias) |
| 2020 | [Changed Parameter Type](#2020---changed-parameter-type) |
| 2030 | [Mandatory Parameter](#2030---mandatory-parameter) |
| 2040 | [Removed ValidateSet Value](#2040---removed-validateset-value) |
| 2050 | [Added ValidateSet](#2050---added-validateset) |
| 2060 | [Position Changed](#2060---position-changed) |
| 2070 | [Removed ValueFromPipeline](#2070---removed-valuefrompipeline) |
| 2080 | [Removed ValueFromPipelineByPropertyName](#2080---removed-valuefrompipelinebypropertyname) |
| 2090 | [Added ValidateNotNullOrEmpty](#2090---added-validatenotnullorempty) |
| 2100 | [Removed Parameter From Parameter Set](#2100---removed-parameter-from-parameter-set) |
| 2110 | [Changed Parameter Element Type](#2110---changed-parameter-element-type) |
| 2120 | [Changed Parameter Generic Type](#2120---changed-parameter-generic-type) |
| 2130 | [Changed Parameter Generic Type Argument](#2130---changed-parameter-generic-type-argument) |
| 2140 | [Different Parameter Generic Type Argument Size](#2140---different-parameter-generic-type-argument-size) |
| 2150 | [Added ValidateRange](#2150---added-validaterange) |
| 2160 | [Changed ValidateRange Minimum Value](#2160---changed-validaterange-minimum-value) |
| 2170 | [Changed ValidateRange Maximum Value](#2170---changed-validaterange-maximum-value) |
| 3000 | [Changed Property Type](#3000---changed-property-type) |
| 3010 | [Removed Property](#3010---removed-property) |
| 3020 | [Changed Element Type](#3020---changed-element-type) |
| 3030 | [Changed Generic Type](#3030---changed-generic-type) |
| 3040 | [Changed Generic Type Argument](#3040---changed-generic-type-argument) |
| 3050 | [Different Generic Type Argument Size](#3050---different-generic-type-argument-size) |

## 1000 - Removed or Renamed Cmdlet

### Description

_The cmdlet '`<cmdlet>`' has been removed and no alias was found for the original cmdlet name._

When a user can no longer use a cmdlet that was previously available in a module, that is a breaking change. This can occur when the cmdlet is deleted, or when the name of the cmdlet was changed with no alias to the original cmdlet name.

### Remediation

_Add the cmdlet '`<cmdlet>`' back to the module, or add an alias to the original cmdlet name._

To add an alias to the original cmdlet name, use the `Alias` attribute for the cmdlet.

If you need to, you can add multiple aliases for cmdlets that need to be renamed twice.

```cs
[Cmdlet(VerbsCommunications.Connect, "AzAccount")]
[Alias("Login-AzAccount", "Add-AzAccount")]
public class ConnectAzureRmAccount : Cmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

## 1010 - Removed Cmdlet Alias

### Description

_The cmdlet '`<cmdlet>`' no longer supports the alias '`<alias>`'._

When a user can no longer use a cmdlet by calling one of its aliases, that is a breaking change. 

### Remediation

_Add the alias '`<alias>`' back to the cmdlet '`<cmdlet>`'._

## 1020 - Changed Output Type

### Description

_The cmdlet '`<cmdlet>`' no longer has output type '`<outputType>`'._

When the output of a cmdlet changes types, that is a breaking change. Existing scripts that assign the output of a cmdlet to a variable and call one of its properties or pass it through to another cmdlet will no longer work. If the new output type has all of the same properties as the previous output type, then this is not considered a breaking change.

For example, if we have a cmdlet, `Get-SomeObject` that returns a `Foo` object

```cs
[Cmdlet(VerbsCommon.Get, "SomeObject"), OutputType(typeof(Foo))]
public class GetSomeObject : Cmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but we change the output type to `Bar`

```cs
[Cmdlet(VerbsCommon.Get, "SomeObject"), OutputType(typeof(Bar))]
```

the following script will no longer work since we are accessing properties of the `Foo` object that may not be a part of the `Bar` object 

```powershell
$foo = Get-SomeObject
$foo.SomeProperty
$foo.AnotherProperty
```

### Remediation

_Make cmdlet '`<cmdlet>`' return type '`<outputType>`'._

## 1030 - Removed SupportsShouldProcess

### Description

_The cmdlet '`<cmdlet>`' no longer implements ShouldProcess._

When a cmdlet that previously implemented `ShouldProcess` no longer does, that is a breaking change. Users will no longer be able to use the `WhatIf` and `Confirm` parameters with the cmdlet.

For example, if we had a cmdlet `Remove-SomeObject` that implemented `ShouldProcess`, but no longer does, the following script will no longer work since the `WhatIf` and `Confirm` parameters are not defined in the cmdlet.

```powershell
Remove-SomeObject -WhatIf
Remove-SomeObject -Confirm
```

### Remediation

_Make sure the cmdlet '`<cmdlet>`' implements ShouldProcess._

## 1040 - Removed SupportsPaging

### Description

_The cmdlet '`<cmdlet>`' no longer implements Paging._

When a cmdlet that previously implemented `Paging` no longer does, that is a breaking change. Users will no longer be able to use the `First`, `Skip`, and `IncludeTotalCount` parameters with the cmdlet.

### Remediation

_Make sure the cmdlet '`<cmdlet>`' implements Paging._

## 1050 - Removed Parameter Set

### Description

_The parameter set '`<parameterSet>`' for cmdlet '`<cmdlet>`' has been removed._

When a parameter set for a cmdlet has been removed, that is a breaking change. Existing scripts that use the removed parameter set will no longer work.

### Remediation

_Add parameter set '`<parameterSet>`' back to cmdlet '`<cmdlet>`'._

## 1060 - Changed Default Parameter Set

### Description

_The parameter set '`<parameterSet>`' for cmdlet '`<cmdlet>`' is no longer the default parameter set._

When the default parameter set is changed, that is a breaking change. Existing scripts that rely on the default parameter set will no longer function the same since they will now be using a different parameter set.

For example, if we had a cmdlet `Add-SomeObject` whose default parameter set was `Foo`

```cs
[Cmdlet(VerbsCommon.Add, "SomeObject", DefaultParameterSetName = "Foo")]
public class AddSomeObject : Cmdlet
{
    [Parameter(
        ParameterSetName = "Foo",
        Mandatory = false)]
    public string Foo { get; set; }

    [Parameter(
        ParameterSetName = "Bar",
        Mandatory = false)]
    public string Bar { get; set; }

    public override void ExecuteCmdlet()
    {
        ...
    }
}
```

but the default parameter set was changed to `Bar`

```cs
[Cmdlet(VerbsCommon.Add, "SomeObject", DefaultParameterSetName = "Bar")]
```

this will cause a change in functionality of the cmdlet and a call to `Add-SomeObject` with no parameters will not work as expected.

Also, if the default parameter set is removed entirely from this cmdlet, this will cause an exception to be thrown whenever `Add-SomeObject` is called with no parameters since PowerShell will not be able to determine which parameter to use.

### Remediation

_Change the default parameter for cmdlet '`<cmdlet>`' back to '`<parameterSet>`'._

_Note_: if the default parameter set name is changed, this breaking change can also be resolved by ensuring that the same set of parameters in the previous default parameter set are found in the new one. This also means the parameters' attributes (such as `Mandatory` and `Position`) must also remain the same for the set of parameters that were included.

## 1070 - Changed Output Element Type

### Description

_The element type for the output has been changed from `'<oldElementType>'` to `'<newElementType>'`._

When the type of the output is an array, and the element type of that array has been changed, that is a breaking change. If the new output type has all of the properties found in the previous output type, then this is not considered a breaking change.

For example, if we had a cmdlet `Get-SomeObject` that returned an array of `Foo` objects

```cs
[Cmdlet(VerbsCommon.Get, "SomeObject"), OutputType(typeof(Foo[]))]
public class GetSomeObject : Cmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but it now returns an array of `Bar` objects

```cs
[Cmdlet(VerbsCommon.Get, "SomeObject"), OutputType(typeof(Bar[]))]
```

the following script will no longer work since we are accessing properties of the `Foo` object that may not be a part of the `Bar` object 

```powershell
$foo = Get-SomeObject
$foo[0].SomeProperty
$foo[0].AnotherProperty
```

### Remediation

_Change the element type for the output back to `'<oldElementType>'`._

## 1080 - Changed Output Generic Type

### Description

_The generic type for the output has been changed from `'<oldGenericType>'` to `'<newGenericType>'`._

When the type of the output is a generic, and that generic has been changed, that is a breaking change.

For example, if we had a cmdlet `Get-SomeObject` that returned a stack of `Foo` objects

```cs
[Cmdlet(VerbsCommon.Get, "SomeObject"), OutputType(typeof(Stack<Foo>))]
public class GetSomeObject : Cmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but it now returns a queue of `Foo` objects

```cs
[Cmdlet(VerbsCommon.Get, "SomeObject"), OutputType(typeof(Queue<Foo>))]
```

the following script will no longer work since we are accessing methods of the `Stack` class that are not a part of the `Queue` class

```powershell
$stack = Get-SomeObject
$stack.Pop()
$stack.Push($foo)
```

### Remediation

_Change the generic type for the output back to `'<oldGenericType>'`._

## 1090 - Changed Output Generic Type Argument

### Description

_The generic type argument for the output has been changed from `'<oldArgument>'` to `'<newArgument>'`._

When the type of the output is a generic, and one of the arguments of the generic has changed, that is a breaking change. 

For example, if we had a cmdlet `Get-SomeObject` that returned a list of `Foo` objects

```cs
[Cmdlet(VerbsCommon.Get, "SomeObject"), OutputType(typeof(Foo))]
public class GetSomeObject : Cmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but it now returns a list of `Bar` objects

```cs
[Cmdlet(VerbsCommon.Get, "SomeObject"), OutputType(typeof(Bar))]
```

the following script will no longer work since we are accessing properties of the `Foo` object that may not be a part of the `Bar` object 

```powershell
$list = Get-SomeObject
foreach ($foo in $list)
{
    $foo.SomeProperty
    $foo.AnotherProperty
}
```

### Remediation

_Change the generic type argument for the output back to `'<oldArgument>'`._

## 1100 - Different Output Generic Type Argument Size

### Description

_The number of arguments for generic type `'<genericType>'` for the output has been changed from `'<oldSize>'` to `'<newSize>'`._

When the type of the output is a generic, and the number of arguments for the generic has changed, that is a breaking change. 

For example, if we had a cmdlet `Get-SomeObject` that returned a `Tuple<Foo, Bar>` object

```cs
[Cmdlet(VerbsCommon.Get, "SomeObject"), OutputType(typeof(Tuple<Foo, Bar>))]
public class GetSomeObject : Cmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but it now returns a `Tuple<Foo>` object

```cs
[Cmdlet(VerbsCommon.Get, "SomeObject"), OutputType(typeof(Tuple<Foo>))]
```

The following script will no longer work since it is expecting a tuple containing two objects rather than an object containing only one

```powershell
$tuple = Get-SomeObject
$tuple.Item1
$tuple.Item2
```

### Remediation

_Change the number of arguments for generic type `'<genericType>'` back to `'<oldSize>'`._

## 2000 - Removed Parameter

### Description

_The cmdlet '`<cmdlet>`' no longer supports the parameter '`<parameter>`' and no alias was found for the original parameter name._

When a user can no longer use a parameter for a cmdlet, that is a breaking change. This can occur when the parameter has been removed, or the parameter name has been changed without adding an alias to the original parameter name.

### Remediation

_Add the parameter '`<parameter>`' back to the cmdlet '`<cmdlet>`', or add an alias to the original parameter name._

To add an alias to the original parameter name, use the `Alias` attribute for the parameter.

```cs
[Cmdlet(VerbsCommunications.Connect, "AzAccount")]
public class ConnectAzureRmAccount : Cmdlet
{
    [Alias("Domain")]
    [Parameter(ParameterSetName = "...", Mandatory = false)
    public string TenantId { get; set; }

    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

## 2010 - Removed Parameter Alias

### Description

_The cmdlet '`<cmdlet>`' no longer supports the alias '`<alias>`' for parameter '`<parameter>`'._

When a user can no longer use a parameter by calling one of its aliases, that is a breaking change. 

### Remediation

_Add the alias '`<alias>`' back to parameter '`<parameter>`'._

## 2020 - Changed Parameter Type

### Description

_The cmdlet '`<cmdlet>`' no longer supports the type '`<parameterType>`' for parameter '`<parameter>`'._

When the type of a parameter is changed, that is a breaking change. Existing scripts that use this parameter will no longer work as the type of the object being passed through will no longer match.

For example, if we have a cmdlet, `Add-SomeObject` that has parameter `Foo` of type `string`

```cs
[Cmdlet(VerbsCommon.Add, "SomeObject")]
public class AddSomeObject : Cmdlet
{
	[Parameter(Mandatory = false)]
	public string Foo { get; set; }

    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but `Foo` is now of type `int`

```cs
[Parameter(Mandatory = false)]
public int Foo { get; set; }
```

The following script will no longer work since it is expecting a `string` to be passed through for `Foo`

```powershell
Add-SomeObject -Foo "string"
```

### Remediation

_Change the type for parameter '`<parameter>`' back to '`<parameterType>`'._

## 2030 - Mandatory Parameter

### Description

_The parameter '`<parameter>`' is no longer optional for the parameter set '`<parameterSet>`' for cmdlet '`<cmdlet>`'._

When a parameter is made mandatory when it was previously optional, that is a breaking change. Existing scripts that do not use this parameter in the given parameter set will no longer work.

For example, if we have a cmdlet, `Add-SomeObject` that has an optional parameter `Foo` 

```cs
[Cmdlet(VerbsCommon.Add, "SomeObject")]
public class AddSomeObject : Cmdlet
{
	[Parameter(Mandatory = false)]
	public string Foo { get; set; }

    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but `Foo` is now mandatory

```cs
[Parameter(Mandatory = true)]
public string Foo { get; set; }
```

The following script will no longer work since `Foo` was not previously provided because it was optional

```powershell
Add-SomeObject
```

### Remediation

_Make '`<parameter>`' optional for the parameter set '`<parameterSet>`'._

## 2040 - Removed ValidateSet Value

### Description

_The validation set for parameter `'<parameter>'` for cmdlet `'<cmdlet>'` no longer contains the value `'<value>'`._

When a value has been removed from a validation set for a parameter, that is a breaking change. Existing scripts that use this value for the parameter will no longer work.

For example, if we have a cmdlet, `Add-SomeObject` that has parameter `Foo`  with a validation set containing the values "one", "two" and "three"

```cs
[Cmdlet(VerbsCommon.Add, "SomeObject")]
public class AddSomeObject : Cmdlet
{
	[Parameter(Mandatory = false)]
	[ValidateSet("one", "two", "three")]
	public string Foo { get; set; }

    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but "two" has been removed from the validation set

```cs
[Parameter(Mandatory = false)]
[ValidateSet("one", "three")]
public string Foo { get; set; }
```

The following script will no longer work since the value "two" that previously worked for parameter `Foo` is no longer accepted

```powershell
Add-SomeObject -Foo "one"
Add-SomeObject -Foo "two"
Add-SomeObject -Foo "three"
```

### Remediation

_Add `'<value>'` back to the validation set for `'<parameter>'`._

## 2050 - Added ValidateSet

### Description

_A validate set has been added for parameter `'<parameter>'` for cmdlet `'<cmdlet>'`._

When a validation set is added to an existing parameter to restrict the values that can be used, that is a breaking change. Existing scripts that use values not in the validation set will no longer work.

For example, if we have a cmdlet, `Add-SomeObject` that has parameter `Foo`  with no validation set

```cs
[Cmdlet(VerbsCommon.Add, "SomeObject")]
public class AddSomeObject : Cmdlet
{
	[Parameter(Mandatory = false)]
	public string Foo { get; set; }

    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but a validation set has now been added

```cs
[Parameter(Mandatory = false)]
[ValidateSet("one", "two", "three")]
public string Foo { get; set; }
```

The following script will no longer work since previously used values that aren't in the newly added validation set will not work

```powershell
Add-SomeObject -Foo "foo"
Add-SomeObject -Foo "bar"
```

### Remediation

_Remove the validate set from parameter `'<parameter>'`._

## 2060 - Position Changed

### Description

_The position of parameter '`<parameter>`' has changed for parameter set '`<parameterSet>`' for cmdlet '`<cmdlet>`'._

When the position of a parameter has changed, that is a breaking change. Existing scripts that use the ordering of the parameters in the cmdlet call will no longer work.

For example, if we have a cmdlet, `Add-SomeObject` that has positional parameters `Foo`  and `Bar`

```cs
[Cmdlet(VerbsCommon.Add, "SomeObject")]
public class AddSomeObject : Cmdlet
{
	[Parameter(Position = 0, Mandatory = false)]
	public string Foo { get; set; }

	[Parameter(Position = 1, Mandatory = false)]
	public int Bar { get; set; }

    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but the positions of the parameters have switched

```cs
[Parameter(Position = 1, Mandatory = false)]
public string Foo { get; set; }

[Parameter(Position = 0, Mandatory = false)]
public int Bar { get; set; }
```

The following script will no longer work since it depends on the ordering of the parameters, which have been changed

```powershell
Add-SomeObject "foo" 3
```

### Remediation

_Revert the position change made to parameter '`<parameter>`' for parameter set '`<parameterSet>`'._

## 2070 - Removed ValueFromPipeline

### Description

_The parameter '`<parameter>`' in parameter set '`<parameterSet>`' for cmdlet '`<cmdlet>`' no longer has the attribute 'ValueFromPipeline'._

When a parameter is no longer able to get its value from the pipeline, that is a breaking change. Existing scripts that pipe the output of a command to the cmdlet as the value for the parameter will no longer work.

For example, if we have a cmdlet, `Add-SomeObject` that has parameter `Foo`  that gets its value from the pipeline

```cs
[Cmdlet(VerbsCommon.Add, "SomeObject")]
public class AddSomeObject : Cmdlet
{
	[Parameter(ValueFromPipeline = true, Mandatory = false)]
	public string Foo { get; set; }

    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but `Foo` no longer gets its value from the pipeline

```cs
[Parameter(Mandatory = false)]
public string Foo { get; set; }
```

The following script will no longer work since the value of `Foo` was being passed through the pipeline, which is no longer supported

```powershell
"foo" | Add-SomeObject
```

### Remediation

_Add the attribute 'ValueFromPipeline' back to parameter '`<parameter>`' in parameter set '`<parameterSet>`'._

## 2080 - Removed ValueFromPipelineByPropertyName

### Description

_The parameter '`<parameter>`' in parameter set '`<parameterSet>`' for cmdlet '`<cmdlet>`' no longer has the attribute 'ValueFromPipelineByPropertyName'._

When a parameter is no longer able to get its value from the pipeline by matching the property name, that is a breaking change. Existing scripts that pipe the output of a command to the cmdlet as the value for the parameter will no longer work.

For example, if we have a cmdlet, `Add-SomeObject` that has parameters `Foo` and `Bar` that get their value from the pipeline by property name

```cs
[Cmdlet(VerbsCommon.Add, "SomeObject")]
public class AddSomeObject : Cmdlet
{
	[Parameter(ValueFromPipelineByPropertyName = true, Mandatory = false)]
	public string Foo { get; set; }

	[Parameter(ValueFromPipelineByPropertyName = true, Mandatory = false)]
	public string Bar { get; set; }

    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

and there is a type `SomeType` that has properties `Foo` and `Bar` and is returned by another cmdlet `Get-SomeObject`

```cs
public class SomeType
{
	public string Foo { get; set; }

	public string Bar { get; set; }
}
```

but `Foo` and `Bar` no longer get their value from the pipeline by property name

```cs
[Parameter(Mandatory = false)]
public string Foo { get; set; }

[Parameter(Mandatory = false)]
public string Bar { get; set; }
```

The following script will no longer work since the value of `Foo` and `Bar` were being passed through the pipeline by property name, which is no longer supported

```powershell
Get-SomeObject | Add-SomeObject
```

### Remediation

_Add the attribute 'ValueFromPipelineByPropertyName' back to parameter '`<parameter>`' in parameter set '`<parameterSet>`'._

## 2090 - Added ValidateNotNullOrEmpty

### Description

_The ValidateNotNullOrEmpty attribute has been added to parameter `'<parameter>'` for cmdlet `'<cmdlet>'`._

When a parameter no longer accepts null or empty values, that is a breaking change. Existing scripts that pass through null or empty values through to the parameter will no longer work.

For example, if we have a cmdlet, `Add-SomeObject` that has parameter `Foo` 

```cs
[Cmdlet(VerbsCommon.Add, "SomeObject")]
public class AddSomeObject : Cmdlet
{
	[Parameter(Mandatory = false)]
	public string Foo { get; set; }

    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but `Foo` now has the `ValidateNotNullOrEmpty` attribute

```cs
[Parameter(Mandatory = false)]
[ValidateNotNullOrEmpty]
public string Foo { get; set; }
```

The following script will no longer work since an empty string was being passed through to `Foo`, but this is not longer allowed and will throw an exception

```powershell
Add-SomeObject -Foo ""
```

### Remediation

_Remove the ValidateNotNullOrEmpty attribute from parameter `'<parameter>'`._

## 2100 - Removed Parameter From Parameter Set

### Description

_The parameter '`<parameter>`' in cmdlet '`<cmdlet>`' is no longer in the parameter set '`<parameterSet>`'._

When a parameter is no longer available in a parameter set, that is a breaking change. Existing scripts that use the parameter set with the removed parameter will no longer work.

For example, if we have a cmdlet, `Add-SomeObject` that has parameters `Foo` and `Bar`, both in the same parameter set 

```cs
[Cmdlet(VerbsCommon.Add, "SomeObject")]
public class AddSomeObject : Cmdlet
{
	[Parameter(ParameterSetName = "ParameterSetOne", Mandatory = false)]
	public string Foo { get; set; }

	[Parameter(ParameterSetName = "ParameterSetOne", Mandatory = false)]
	public string Bar { get; set; }

    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but `Foo` is now a part of a different parameter set

```cs
[Parameter(ParameterSetName = "ParameterSetTwo", Mandatory = false)]
public string Foo { get; set; }
```

The following script will no longer work since there is no parameter set that contains both `Foo` and `Bar`

```powershell
Add-SomeObject -Foo "foo" -Bar "bar"
```

### Remediation

_Add parameter '`<parameter>`' back to the parameter set '`<parameterSet>`'._

## 2110 - Changed Parameter Element Type

### Description

_The element type for parameter `'<parameter>'` has been changed from `'<oldElementType>'` to `'<newElementType>'`._

When the type of the parameter is an array, and the element type of that array has been changed, that is a breaking change. 

For example, if we had a cmdlet `Add-SomeObject` with parameter `SomeParameter` that took an array of `Foo` objects

```cs
[Cmdlet(VerbsCommon.Add, "SomeObject")]
public class AddSomeObject : Cmdlet
{
	[Parameter(Mandatory = false)]
	public Foo[] SomeParameter { get; set; }

    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but `SomeParameter` now accepts an array of `Bar` objects

```cs
[Parameter(Mandatory = false)]
public Bar[] SomeParameter { get; set; }
```

the following script will no longer work since we are passing through an array of `Foo` objects rather than an array of `Bar` objects

```powershell
Add-SomeObject -SomeParameter $fooArray
```

### Remediation

_Change the element type for parameter `'<parameter>'` back to `'<oldElementType>'`._

## 2120 - Changed Parameter Generic Type

### Description

_The generic type for parameter `'<parameter>'` has been changed from `'<oldGenericType>'` to `'<newGenericType>'`._

When the type of the parameter is a generic, and that generic has been changed, that is a breaking change. 

For example, if we had a cmdlet `Add-SomeObject` with parameter `SomeParameter` that took a stack of `Foo` objects

```cs
[Cmdlet(VerbsCommon.Add, "SomeObject")]
public class AddSomeObject : Cmdlet
{
	[Parameter(Mandatory = false)]
	public Stack<Foo> SomeParameter { get; set; }

    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but `SomeParameter` now accepts a queue of `Bar` objects

```cs
[Parameter(Mandatory = false)]
public Queue<Foo> SomeParameter { get; set; }
```

the following script will no longer work since we are passing through a stack of `Foo` objects rather than a queue of `Foo` objects

```powershell
Add-SomeObject -SomeParameter $fooStack
```

### Remediation

_Change the generic type for parameter `'<parameter>'` back to `'<oldGenericType>'`._

## 2130 - Changed Parameter Generic Type Argument

### Description

_The generic type argument for parameter `'<parameter>'` has been changed from `'<oldArgument>'` to `'<newArgument>'`._

When the type of a parameter is a generic, and one of the arguments of the generic has changed, that is a breaking change. 

For example, if we had a cmdlet `Add-SomeObject` with parameter `SomeParameter` that took a list of `Foo` objects

```cs
[Cmdlet(VerbsCommon.Add, "SomeObject")]
public class AddSomeObject : Cmdlet
{
	[Parameter(Mandatory = false)]
	public List<Foo> SomeParameter { get; set; }

    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but `SomeParameter` now accepts a list of `Bar` objects

```cs
[Parameter(Mandatory = false)]
public List<Bar> SomeParameter { get; set; }
```

the following script will no longer work since we are passing through a list of `Foo` objects rather than a list of `Bar` objects

```powershell
Add-SomeObject -SomeParameter $fooList
```

### Remediation

_Change the generic type argument for parameter `'<parameter>'` back to `'<oldArgument>'`._

## 2140 - Different Parameter Generic Type Argument Size

### Description

_The number of arguments for generic type `'<genericType>'` for parameter `'<parameter>'` has been changed from `'<oldSize>'` to `'<newSize>'`._

When the type of a parameter is a generic, and the number of arguments for the generic has changed, that is a breaking change. 

For example, if we had a cmdlet `Add-SomeObject` with parameter `SomeParameter` that took a `Tuple<Foo, Bar>`

```cs
[Cmdlet(VerbsCommon.Add, "SomeObject")]
public class AddSomeObject : Cmdlet
{
	[Parameter(Mandatory = false)]
	public Tuple<Foo, Bar> SomeParameter { get; set; }

    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but `SomeParameter` now accepts a `Tuple<Foo>`

```cs
[Parameter(Mandatory = false)]
public Tuple<Foo> SomeParameter { get; set; }
```

the following script will no longer work since we are passing through a tuple with the incorrect number of arguments

```powershell
Add-SomeObject -SomeParameter $tupleWithFooAndBar
```

### Remediation

_Change the number of arguments for generic type `'<genericType>'` back to `'<oldSize>'`._

## 2150 - Added ValidateRange

### Description

_A validate range has been added for parameter `'<parameter>'` for cmdlet `'<cmdlet>'`._

When a validation range is added to an existing parameter to restrict the values that can be used, that is a breaking change. Existing scripts that use values not in the validation range will no longer work.

For example, if we have a cmdlet, `Add-SomeObject` that has parameter `Foo`  with no validation range

```cs
[Cmdlet(VerbsCommon.Add, "SomeObject")]
public class AddSomeObject : Cmdlet
{
	[Parameter(Mandatory = false)]
	public int Foo { get; set; }

    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but a validation range has now been added

```cs
[Parameter(Mandatory = false)]
[ValidateRange(1, 100)]
public int Foo { get; set; }
```

The following script will no longer work since previously used values that aren't in the newly added validation range will not work

```powershell
Add-SomeObject -Foo 0
Add-SomeObject -Foo 1000
```

### Remediation

_Remove the validate range from parameter `'<parameter>'`._

## 2160 - Changed ValidateRange Minimum Value

### Description

_The minimum value of the validate range for parameter `'<parameter>'` has been increased from `'<oldMinimum>'` to `'<newMinimum>'`._

When the minimum value of the validation range has been increased, that is a breaking change. Existing scripts that use values that were previously in the accepted range but are no longer due to the increase in the minimum value will no longer work.

For example, if we have a cmdlet, `Add-SomeObject` that has parameter `Foo`  with a validation range containing the values 1 to 100

```cs
[Cmdlet(VerbsCommon.Add, "SomeObject")]
public class AddSomeObject : Cmdlet
{
	[Parameter(Mandatory = false)]
	[ValidateRange(1, 100)]
	public int Foo { get; set; }

    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but the minimum value of the validation range has been increased to 10

```cs
[Parameter(Mandatory = false)]
[ValidateRange(10, 100)]
public int Foo { get; set; }
```

The following script will no longer work since values less than the new minimum value, but were previously within range, no longer work

```powershell
Add-SomeObject -Foo 1
Add-SomeObject -Foo 5
Add-SomeObject -Foo 10
```

### Remediation

_Change the minimum value of the validate range for parameter `'<parameter>'` back to at most `'<oldMinimum>'`._

## 2170 - Changed ValidateRange Maximum Value

### Description

_The maximum value of the validate range for parameter `'<parameter>'` has been reduced from `'<oldMaximum>'` to `'<newMaximum>'`._

When the maximum value of the validation range has been decreased, that is a breaking change. Existing scripts that use values that were previously in the accepted range but are no longer due to the decrease in the maximum value will no longer work.

For example, if we have a cmdlet, `Add-SomeObject` that has parameter `Foo`  with a validation range containing the values 1 to 100

```cs
[Cmdlet(VerbsCommon.Add, "SomeObject")]
public class AddSomeObject : Cmdlet
{
	[Parameter(Mandatory = false)]
	[ValidateRange(1, 100)]
	public int Foo { get; set; }

    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but the maximum value of the validation range has been decreased to 10

```cs
[Parameter(Mandatory = false)]
[ValidateRange(1, 10)]
public int Foo { get; set; }
```

The following script will no longer work since values greater than the new maximum value, but were previously within range, no longer work

```powershell
Add-SomeObject -Foo 10
Add-SomeObject -Foo 50
Add-SomeObject -Foo 100
```

### Remediation

_Change the maximum value of the validate range for parameter `'<parameter>'` back to at least `'<oldMaximum>'`._

## 3000 - Changed Property Type

### Description

_The type of property `'<property>'` of type `'<type>'` has changed from `'<oldPropertyType>'` to `'<newPropertyType>'`._

When the type of a property has been changed, that is a breaking change.

For example, if there is a class `SomeType` that has property `Foo`

```cs
public class SomeType
{
    public string Foo { get; set; }
}
```

and there is a cmdlet `Get-SomeObject` that returns an object of type `SomeType`

```cs
[Cmdlet(VerbsCommon.Get, "SomeObject"), OutputType(typeof(SomeType))]
public class GetSomeObject : Cmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but the type of `Foo` is changed

```cs
public int Foo { get; set; }
```

the following script will no longer work since it is trying to access a property whose type has changed, and any use of this property could potentially result in an exception

```powershell
$someType = Get-SomeObject
$someType.Foo
```

### Remediation

_Change the type of property `'<property>'` back to `'<oldPropertyType>'`._

## 3010 - Removed Property

### Description

_The property `'<property>'` of type `'<type>'` has been removed._

When the property of a type has been removed, that is a breaking change.

For example, if there is a class `SomeType` that has property `Foo`

```cs
public class SomeType
{
    public string Foo { get; set; }
}
```

and there is a cmdlet `Get-SomeObject` that returns an object of type `SomeType`

```cs
[Cmdlet(VerbsCommon.Get, "SomeObject"), OutputType(typeof(SomeType))]
public class GetSomeObject : Cmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but the type of `Foo` is removed, the following script will no longer work since it is trying to access a property that no longer exists for the returned type

```powershell
$someType = Get-SomeObject
$someType.Foo
```

### Remediation

_Add the property `'<property>'` back to type `'<type>'`._

## 3020 - Changed Element Type

### Description

_The element type for property `'<property>'` has been changed from `'<oldElementType>'` to `'<newElementType>'`._

When the type of a property is an array, and the element type has been changed, that is a breaking change.

For example, if there is a class `SomeType` that has property `SomeProperty` whose type is an array of `Foo` objects

```cs
public class SomeType
{
    public Foo[] SomeProperty { get; set; }
}
```

and there is a cmdlet `Get-SomeObject` that returns an object of type `SomeType`

```cs
[Cmdlet(VerbsCommon.Get, "SomeObject"), OutputType(typeof(SomeType))]
public class GetSomeObject : Cmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but the type of `SomeProperty` is changed to an array of `Bar` objects

```cs
public Bar[] SomeProperty { get; set; }
```

the following script will no longer work since it is trying to access a property whose element type has changed, therefore accessing any of the objects in the array could potentially throw an exception

```powershell
$someType = Get-SomeObject
$someType.SomeProperty[0].Property
$someType.SomeProperty[0].AnotherProperty
```

### Remediation

_Change the element type for property `'<property>'` back to `'<oldElementType>'`._

## 3030 - Changed Generic Type

### Description

_The generic type for property `'<property>'` has been changed from `'<oldGenericType>'` to `'<newGenericType>'`._

When the type of a property is a generic, and the generic has been changed, that is a breaking change.

For example, if there is a class `SomeType` that has property `SomeProperty` whose type is a stack of `Foo` objects

```cs
public class SomeType
{
    public Stack<Foo> SomeProperty { get; set; }
}
```

and there is a cmdlet `Get-SomeObject` that returns an object of type `SomeType`

```cs
[Cmdlet(VerbsCommon.Get, "SomeObject"), OutputType(typeof(SomeType))]
public class GetSomeObject : Cmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but the type of `SomeProperty` is changed to a queue of `Foo` objects

```cs
public Queue<Foo> SomeProperty { get; set; }
```

the following script will no longer work since it is trying to access methods of the `Stack` class that are not a part of the `Queue` class

```powershell
$someType = Get-SomeObject
$someType.SomeProperty.Pop()
$someType.SomeProperty.Push($foo)
```

### Remediation

_Change the generic type for property `'<property>'` back to `'<oldGenericType>'`._

## 3040 - Changed Generic Type Argument

### Description

_The generic type argument for property `'<property>'` has been changed from `'<oldArgument>'` to `'<newArgument>'`._

When the type of a property is a generic, and one of the arguments of the generic has been changed, that is a breaking change.

For example, if there is a class `SomeType` that has property `SomeProperty` whose type is a list of `Foo` objects

```cs
public class SomeType
{
    public List<Foo> SomeProperty { get; set; }
}
```

and there is a cmdlet `Get-SomeObject` that returns an object of type `SomeType`

```cs
[Cmdlet(VerbsCommon.Get, "SomeObject"), OutputType(typeof(SomeType))]
public class GetSomeObject : Cmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but the type of `SomeProperty` is changed to a list of `Bar` objects

```cs
public List<Bar> SomeProperty { get; set; }
```

the following script will no longer work since it is trying to access properties of `Foo` objects that may not be a part of the `Bar` object

```powershell
$someType = Get-SomeObject
foreach ($foo in $someType.SomeProperty)
{
    $foo.Property
    $foo.AnotherProperty
}
```

### Remediation

_Change the generic type argument for property `'<property>'` back to `'<oldArgument>'`._

## 3050 - Different Generic Type Argument Size

### Description

_The number of arguments for generic type `'<genericType>'` for property `'<property>'` has been changed from `'<oldSize>'` to `'<newSize>'`._

When the type of a property is a generic, and the number of arguments for the generic has been changed, that is a breaking change.

For example, if there is a class `SomeType` that has property `SomeProperty` whose type is a `Tuple<Foo, Bar>`

```cs
public class SomeType
{
    public Tuple<Foo, Bar> SomeProperty { get; set; }
}
```

and there is a cmdlet `Get-SomeObject` that returns an object of type `SomeType`

```cs
[Cmdlet(VerbsCommon.Get, "SomeObject"), OutputType(typeof(SomeType))]
public class GetSomeObject : Cmdlet
{
    protected override void BeginProcessing()
    {
        // cmdlet logic
    }
}
```

but the type of `SomeProperty` is changed to a `Tuple<Foo>`

```cs
public Tuple<Foo> SomeProperty { get; set; }
```

the following script will no longer work since it is trying to access elements in the tuple that no longer exist

```powershell
$someType = Get-SomeObject
$someType.SomeProperty.Item1
$someType.SomeProperty.Item2
```

### Remediation

_Change the number of arguments for generic type `'<genericType>'` back to `'<oldSize>'`._

---

### Documentation Breaking Changes Upcoming Breaking Changes Desktopvirtualization (`documentation/breaking-changes/upcoming-breaking-changes-desktopvirtualization.md`)

# Upcoming breaking changes in Az.DesktopVirtualization module

The following breaking changes are caused by upgrading the generation tool (autorest.powershell). The affected cmdlets are listed below:
- **Get-AzWvdApplication**
- **Get-AzWvdApplicationGroup**
- **Get-AzWvdDesktop**
- **Get-AzWvdHostPool**
- **Get-AzWvdHostPoolRegistrationInfo**
- **Get-AzWvdMsixPackage**
- **Get-AzWvdPrivateEndpointConnection**
- **Get-AzWvdRegistrationInfo**
- **Get-AzWvdScalingPlan**
- **Get-AzWvdScalingPlanPersonalSchedule**
- **Get-AzWvdScalingPlanPooledSchedule**
- **Get-AzWvdSessionHost**
- **Get-AzWvdUserSession**
- **Get-AzWvdWorkspace**
- **New-AzWvdApplication**
- **New-AzWvdApplicationGroup**
- **New-AzWvdHostPool**
- **New-AzWvdMsixPackage**
- **New-AzWvdRegistraionInfo**
- **New-AzWvdScalingPlan**
- **New-AzWvdScalingPlanPersonalSchedule**
- **New-AzWvdScalingPlanPooledSchedule**
- **New-AzWvdWorkspace**
- **Register-AzWvdApplicationGroup**
- **Send-AzWvdUserSessionMessage**
- **Unregister-AzWvdApplicationGroup**
- **Update-AzWvdApplication**
- **Update-AzWvdApplicationGroup**
- **Update-AzWvdDesktop**
- **Update-AzWvdHostpool**
- **Update-AzWvdMsixPackage**
- **Update-AzWvdScalingPlan**
- **Update-AzWvdScalingPlanPersonalSchedule**
- **Update-AzWvdScalingPlanPooledSchedule**
- **Update-AzWvdSessionHost**
- **Update-AzWvdWorkspace**

## The breaking changes in details

### Use primitive types for enum instead of struct

Details can be found [here](https://learn.microsoft.com/powershell/azure/breaking-changes-generated-modules?#use-primitive-types-for-enum-instead-of-struct)

The following enums have been converted to strings:
- CommandLineSetting
- ApplicationType
- ApplicationGroupType
- IdentityType
- HostPoolType
- LoadBalancerType
- PreferredAppGroupType
- AgentUpdateType
- IdentityType
- PersonalDesktopAssignmentType
- PublicNetworkAccess
- RegistrationTokenOperation
- SkuTier
- SsoSecretType
- ScalingHostPoolType
- ResourceIdentityType
- SessionHandlingOperation
- SetStartVmOnConnect
- StartupBehavior
- SessionHostLoadBalancingAlogrithm
- StopHostsWhen
- RemoteApplicationType
- SessionHostComponentUpdateType
- LoadBalancerType
- PersonalDesktopAssignmentType
- PreferredAppGroupType
- DaysOfWeek

The following properties have changed from struct to string:
- SystemDataLastModifiedByType
- SystemDataCreatedByType
- SystemDataCreatedAt
- SystemDataLastModifiedAt
- SystemDataLastModifiedBy
- SystemDataCreatedBy

### Array replaced by List

Details can be found [here](https://learn.microsoft.com/powershell/azure/breaking-changes-generated-modules?#list-replaces-array-in-generated-c-classes)

---

### Documentation Breaking Changes Upcoming Breaking Changes (`documentation/breaking-changes/upcoming-breaking-changes.md`)

# Upcoming breaking changes in Azure PowerShell

The breaking changes listed in this article are planned for the next major release of the Az
PowerShell module unless otherwise noted. Per our
[Support lifecycle](azureps-support-lifecycle.md), breaking changes in Azure PowerShell occur twice
a year with major versions of the Az PowerShell module.

Preview modules are not included in this list. Read more about [module version types](azureps-support-lifecycle.md#module-version-types).

## Az.Cdn

### `New-AzFrontDoorCdnSecretCustomerCertificateParametersObject`

- Parameter breaking-change will happen to all parameter sets
  - `-SubjectAlternativeName`
    

## Az.CloudService

### `Get-AzCloudService`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.ICloudService' is changing
  - The following properties in the output type are being deprecated : 'Extension' 'LoadBalancerConfiguration' 'Secret' 'Role' 'Zone'
  - The following properties are being added to the output type : 'Extension' 'LoadBalancerConfiguration' 'Secret' 'Role' 'Zone'
  - Change description : The types of the properties 'Extension', 'LoadBalancerConfiguration', 'Secret', 'Role', and 'Zone' will be changed from object to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.CloudService' from version : '9.0.0'

### `Get-AzCloudServiceInstanceView`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.ICloudServiceInstanceView' is changing
  - The following properties in the output type are being deprecated : 'Statuses' 'RoleInstanceStatusesSummary' 'PrivateId'
  - The following properties are being added to the output type : 'Statuses' 'RoleInstanceStatusesSummary' 'PrivateId'
  - Change description : The types of the properties 'Statuses', 'RoleInstanceStatusesSummary', and 'PrivateId' will be changed from object to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.CloudService' from version : '9.0.0'

### `Get-AzCloudServiceNetworkInterface`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.INetworkInterface' is changing
  - The following properties in the output type are being deprecated : 'ApplicationSecurityGroup' 'CustomDnsConfig' 'FlowLog' 'LoadBalancerFrontendIPConfiguration' 'NetworkSecurityGroupPropertiesNetworkInterface' 'PrivateEndpointPropertiesNetworkInterface' 'PrivateLinkServicePropertiesNetworkInterface' 'IPConfiguration' 'TapConfiguration' 'PrivateEndpointConnection' 'PrivateEndpointPropertiesIPConfiguration' 'PrivateLinkServiceConnection' 'ManualPrivateLinkServiceConnection' 'PrivateLinkServicePropertiesIPConfiguration' 'SecurityRule' 'DefaultSecurityRule' 'ApplicationGatewayIPConfiguration' 'Delegation' 'FlowLog' 'IPConfiguration' 'IPConfigurationProfile' 'NetworkInterface' 'PrivateEndpoint' 'ResourceNavigationLink' 'Route' 'DefaultSecurityRule' 'SecurityRule' 'ServiceAssociationLink' 'ServiceEndpointPolicy' 'ServiceEndpoint' 'NetworkSecurityGroupPropertiesSubnet' 'RouteTablePropertiesSubnet' 'IPAllocation' 'PropertiesAddressPrefixes' 'PropertiesNetworkSecurityGroupPropertiesSubnets' 'HostedWorkload' 'VisibilitySubscription' 'DnsSettingDnsServer' 'DnsSettingAppliedDnsServer' 'AutoApprovalSubscription' 'Fqdn'
  - The following properties are being added to the output type : 'ApplicationSecurityGroup' 'CustomDnsConfig' 'FlowLog' 'LoadBalancerFrontendIPConfiguration' 'NetworkSecurityGroupPropertiesNetworkInterface' 'PrivateEndpointPropertiesNetworkInterface' 'PrivateLinkServicePropertiesNetworkInterface' 'IPConfiguration' 'TapConfiguration' 'PrivateEndpointConnection' 'PrivateEndpointPropertiesIPConfiguration' 'PrivateLinkServiceConnection' 'ManualPrivateLinkServiceConnection' 'PrivateLinkServicePropertiesIPConfiguration' 'SecurityRule' 'DefaultSecurityRule' 'ApplicationGatewayIPConfiguration' 'Delegation' 'FlowLog' 'IPConfiguration' 'IPConfigurationProfile' 'NetworkInterface' 'PrivateEndpoint' 'ResourceNavigationLink' 'Route' 'DefaultSecurityRule' 'SecurityRule' 'ServiceAssociationLink' 'ServiceEndpointPolicy' 'ServiceEndpoint' 'NetworkSecurityGroupPropertiesSubnet' 'RouteTablePropertiesSubnet' 'IPAllocation' 'PropertiesAddressPrefixes' 'PropertiesNetworkSecurityGroupPropertiesSubnets' 'HostedWorkload' 'VisibilitySubscription' 'DnsSettingDnsServer' 'DnsSettingAppliedDnsServer' 'AutoApprovalSubscription' 'Fqdn'
  - Change description : The types of the properties 'ApplicationSecurityGroup', 'CustomDnsConfig', 'FlowLog', 'LoadBalancerFrontendIPConfiguration', 'NetworkSecurityGroupPropertiesNetworkInterface', 'PrivateEndpointPropertiesNetworkInterface', 'PrivateLinkServicePropertiesNetworkInterface', 'IPConfiguration', 'TapConfiguration', 'PrivateEndpointConnection', 'PrivateEndpointPropertiesIPConfiguration', 'PrivateLinkServiceConnection', 'ManualPrivateLinkServiceConnection', 'PrivateLinkServicePropertiesIPConfiguration', 'SecurityRule', 'DefaultSecurityRule', 'ApplicationGatewayIPConfiguration', 'Delegation', 'FlowLog', 'IPConfiguration', 'IPConfigurationProfile', 'NetworkInterface', 'PrivateEndpoint', 'ResourceNavigationLink', 'Route', 'DefaultSecurityRule', 'SecurityRule', 'ServiceAssociationLink', 'ServiceEndpointPolicy', 'ServiceEndpoint', 'NetworkSecurityGroupPropertiesSubnet', 'RouteTablePropertiesSubnet', 'IPAllocation', 'PropertiesAddressPrefixes', 'PropertiesNetworkSecurityGroupPropertiesSubnets', 'HostedWorkload', 'VisibilitySubscription', 'DnsSettingDnsServer', 'DnsSettingAppliedDnsServer', 'AutoApprovalSubscription', 'Fqdn' will be changed from object to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.CloudService' from version : '9.0.0'

### `Get-AzCloudServiceOSFamily`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.IOSFamily' is changing
  - The following properties in the output type are being deprecated : 'Version'
  - The following properties are being added to the output type : 'Version'
  - Change description : The types of the properties 'Version' will be changed from object to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.CloudService' from version : '9.0.0'

### `Get-AzCloudServicePublicIPAddress`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.IPublicIPAddress' is changing
  - The following properties in the output type are being deprecated : 'Zone' 'IPTag' 'PublicIPAddress' 'PublicIPPrefix' 'Subnet'
  - The following properties are being added to the output type : 'Zone' 'IPTag' 'PublicIPAddress' 'PublicIPPrefix' 'Subnet'
  - Change description : The types of the properties 'Zone', 'IPTag', 'PublicIPAddress', 'PublicIPPrefix', and 'Subnet' will be changed from object to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.CloudService' from version : '9.0.0'

### `Get-AzCloudServiceRoleInstance`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.IRoleInstance' is changing
  - The following properties in the output type are being deprecated : 'NetworkProfileNetworkInterface' 'InstanceViewStatuses'
  - The following properties are being added to the output type : 'NetworkProfileNetworkInterface' 'InstanceViewStatuses'
  - Change description : The types of the properties 'NetworkProfileNetworkInterface' and 'InstanceViewStatuses' will be changed from object to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.CloudService' from version : '9.0.0'

### `Get-AzCloudServiceRoleInstanceView`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.IRoleInstanceView' is changing
  - The following properties in the output type are being deprecated : 'Statuses'
  - The following properties are being added to the output type : 'Statuses'
  - Change description : The types of the properties 'Statuses' will be changed from object to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.CloudService' from version : '9.0.0'

### `New-AzCloudService`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.ICloudService' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.ICloudService'
  - The following properties in the output type are being deprecated : 'Zone, Extension, LoadBalancerConfiguration, Secret, Role'
  - The following properties are being added to the output type : 'Zone, Extension, LoadBalancerConfiguration, Secret, Role will be changed from object to 'List'.'
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.CloudService' from version : '9.0.0'

### `New-AzCloudServiceDiagnosticsExtension`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Extension' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Extension'
  - The following properties in the output type are being deprecated : 'RolesAppliedTo System.String[]'
  - The following properties are being added to the output type : 'RolesAppliedTo System.Collections.Generic.List1[System.String]'
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.CloudService' from version : '9.0.0'

### `New-AzCloudServiceExtensionObject`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Extension' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Extension'
  - The following properties in the output type are being deprecated : 'RolesAppliedTo System.String[]'
  - The following properties are being added to the output type : 'RolesAppliedTo System.Collections.Generic.List1[System.String]'
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.CloudService' from version : '9.0.0'

### `New-AzCloudServiceLoadBalancerConfigurationObject`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.LoadBalancerConfiguration' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.LoadBalancerConfiguration'
  - The following properties in the output type are being deprecated : 'FrontendIPConfiguration Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.ILoadBalancerFrontendIPConfiguration'
  - The following properties are being added to the output type : 'FrontendIPConfiguration System.Collections.Generic.List1[Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.ILoadBalancerFrontendIPConfiguration]'
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.CloudService' from version : '9.0.0'

### `New-AzCloudServiceRemoteDesktopExtensionObject`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Extension' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.Extension'
  - The following properties in the output type are being deprecated : 'RolesAppliedTo System.String[]'
  - The following properties are being added to the output type : 'RolesAppliedTo System.Collections.Generic.List1[System.String]'
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.CloudService' from version : '9.0.0'

### `New-AzCloudServiceVaultSecretGroupObject`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.CloudServiceVaultSecretGroup' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.CloudServiceVaultSecretGroup'
  - The following properties in the output type are being deprecated : 'VaultCertificate Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.ICloudServiceVaultCertificate'
  - The following properties are being added to the output type : 'VaultCertificate System.Collections.Generic.List1[Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.ICloudServiceVaultCertificate]'
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.CloudService' from version : '9.0.0'

### `Update-AzCloudService`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.CloudService.Models.ICloudService' is changing
  - The following properties in the output type are being deprecated : 'Extension' 'LoadBalancerConfiguration' 'Secret' 'Role' 'Zone'
  - The following properties are being added to the output type : 'Extension' 'LoadBalancerConfiguration' 'Secret' 'Role' 'Zone'
  - Change description : The types of the properties 'Extension', 'LoadBalancerConfiguration', 'Secret', 'Role', and 'Zone' will be changed from object to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.CloudService' from version : '9.0.0'

## Az.Compute

### `New-AzVM`

- Cmdlet breaking-change will happen to all parameter sets
  - The default VM size will change from 'Standard_D2s_v3' to 'Standard_D2s_v5'.
  - This change is expected to take effect from Az.Compute version: 11.0.0 and Az version: 15.0.0

### `New-AzVmss`

- Cmdlet breaking-change will happen to all parameter sets
  - In the next breaking change period (Nov 2025), the default VM size will change from 'Standard_Ds1_v2' to 'Standard_D2s_v5'.
  - This change is expected to take effect from Az.Compute version: 11.0.0 and Az version: 15.0.0

### `Set-AzVMAEMExtension`

- Parameter breaking-change will happen to all parameter sets
  - `-EnableWAD`
    - This parameter is deprecated because it is only used by the legacy Azure Enhanced Monitoring (AEM) extension for SAP, which is being deprecated. It will be removed in a future release.
    - This change is expected to take effect from Az.Compute version: 12.0.0 and Az version: 17.0.0
  - `-InstallNewExtension`
    - This parameter is deprecated. The cmdlet installs the new VM Extension for SAP by default, so this switch is no longer required. It will be removed in a future release.
    - This change is expected to take effect from Az.Compute version: 12.0.0 and Az version: 17.0.0
  - `-SkipStorage`
    - This parameter is deprecated because it is only used by the legacy Azure Enhanced Monitoring (AEM) extension for SAP, which is being deprecated. It will be removed in a future release.
    - This change is expected to take effect from Az.Compute version: 12.0.0 and Az version: 17.0.0

## Az.ContainerInstance

### `New-AzContainerGroup`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.ContainerInstance.Models.IContainerGroup' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.ContainerInstance.Models.IContainerGroup'
  - The following properties in the output type are being deprecated : 'Port, EnvironmentVariable, InstanceViewEvent, LivenessProbeHttpGetHttpHeader, ReadinessProbeHttpGetHttpHeader, VolumeMount, ReadinessProbeExecCommand, Command, CapabilityDrop, LivenessProbeExecCommand, CapabilityAdd'
  - The following properties are being added to the output type : 'Port, EnvironmentVariable, InstanceViewEvent, LivenessProbeHttpGetHttpHeader, ReadinessProbeHttpGetHttpHeader, VolumeMount, ReadinessProbeExecCommand, Command, CapabilityDrop, LivenessProbeExecCommand, CapabilityAdd. This parameter will be changed from single object to 'List'.'
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.ContainerInstance' from version : '9.0.0'
  IdentityType will be removed. EnableSystemAssignedIdentity will be used to enable/disable system assigned identity and UserAssignedIdentity will be used to specify user assigned identities.
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.ContainerInstance' from version : '9.0.0'

### `New-AzContainerInstanceContainerGroupProfile`

- Parameter breaking-change will happen to all parameter sets
  - `-OSType`
    - The parameter : 'OSType' is changing.
    - Change description : Removing the default value of OSType parameter. 
    - This change will take effect on '5/21/2025'- The change is expected to take effect from Az version : '14.0.0'
    - The change is expected to take effect in 'Az.ContainerInstance' from version : '5.0.0'

### `New-AzContainerInstanceInitDefinitionObject`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.ContainerInstance.Models.InitContainerDefinition' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.ContainerInstance.Models.InitContainerDefinition'
  - The following properties in the output type are being deprecated : 'EnvironmentVariable, InstanceViewEvent, VolumeMount, Command, CapabilityDrop, CapabilityAdd'
  - The following properties are being added to the output type : 'EnvironmentVariable, InstanceViewEvent, VolumeMount, Command, CapabilityDrop, CapabilityAdd. This parameter will be changed from single object to 'List'.'
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.ContainerInstance' from version : '9.0.0'

### `New-AzContainerInstanceNoDefaultObject`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.ContainerInstance.Models.Container' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.ContainerInstance.Models.Container'
  - The following properties in the output type are being deprecated : 'Port, EnvironmentVariable, InstanceViewEvent, LivenessProbeHttpGetHttpHeader, ReadinessProbeHttpGetHttpHeader, VolumeMount, LimitsGpuSku, RequestsGpuSku, ReadinessProbeHttpGetScheme, LivenessProbeHttpGetScheme, ReadinessProbeExecCommand, Command, CapabilityDrop, LivenessProbeExecCommand, CapabilityAdd, Protocol'
  - The following properties are being added to the output type : 'Port, EnvironmentVariable, InstanceViewEvent, LivenessProbeHttpGetHttpHeader, ReadinessProbeHttpGetHttpHeader, VolumeMount, LimitsGpuSku, RequestsGpuSku, ReadinessProbeHttpGetScheme, LivenessProbeHttpGetScheme, ReadinessProbeExecCommand, Command, CapabilityDrop, LivenessProbeExecCommand, CapabilityAdd, Protocol. This parameter will be changed from single object to 'List'.'
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.ContainerInstance' from version : '9.0.0'

### `New-AzContainerInstanceObject`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.ContainerInstance.Models.Container' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.ContainerInstance.Models.Container'
  - The following properties in the output type are being deprecated : 'Port, EnvironmentVariable, InstanceViewEvent, LivenessProbeHttpGetHttpHeader, ReadinessProbeHttpGetHttpHeader, VolumeMount, LimitsGpuSku, RequestsGpuSku, ReadinessProbeHttpGetScheme, LivenessProbeHttpGetScheme, ReadinessProbeExecCommand, Command, CapabilityDrop, LivenessProbeExecCommand, CapabilityAdd, Protocol'
  - The following properties are being added to the output type : 'Port, EnvironmentVariable, InstanceViewEvent, LivenessProbeHttpGetHttpHeader, ReadinessProbeHttpGetHttpHeader, VolumeMount, LimitsGpuSku, RequestsGpuSku, ReadinessProbeHttpGetScheme, LivenessProbeHttpGetScheme, ReadinessProbeExecCommand, Command, CapabilityDrop, LivenessProbeExecCommand, CapabilityAdd, Protocol. This parameter will be changed from single object to 'List'.'
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.ContainerInstance' from version : '9.0.0'

## Az.Databricks

### `Get-AzDatabricksAccessConnector`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Databricks.Models.IAccessConnector' is changing
  - The following properties in the output type are being deprecated : 'ReferedBy'
  - The following properties are being added to the output type : 'ReferedBy'
  - Change description : The types of the properties 'ReferedBy' will be changed from 'System.String[]' to 'System.Collections.Generic.List`1[System.String]' 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.Databricks' from version : '2.0.0'

### `Get-AzDatabricksOutboundNetworkDependenciesEndpoint`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Databricks.Models.IOutboundEnvironmentEndpoint' is changing
  - The following properties in the output type are being deprecated : 'Endpoint'
  - The following properties are being added to the output type : 'Endpoint'
  - Change description : The types of the properties 'Endpoint' will be changed from 'Microsoft.Azure.PowerShell.Cmdlets.Databricks.Models.IEndpointDependency' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Databricks.Models.IEndpointDependency]' 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.Databricks' from version : '2.0.0'

### `Get-AzDatabricksVNetPeering`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Databricks.Models.IVirtualNetworkPeering' is changing
  - The following properties in the output type are being deprecated : 'DatabrickAddressSpaceAddressPrefix' 'RemoteAddressSpaceAddressPrefix'
  - The following properties are being added to the output type : 'DatabrickAddressSpaceAddressPrefix' 'RemoteAddressSpaceAddressPrefix'
  - Change description : The types of the properties 'DatabrickAddressSpaceAddressPrefix' and 'RemoteAddressSpaceAddressPrefix' will be changed from 'System.String[]' to 'System.Collections.Generic.List`1[System.String]' 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.Databricks' from version : '2.0.0'

### `Get-AzDatabricksWorkspace`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Databricks.Models.IWorkspace' is changing
  - The following properties in the output type are being deprecated : 'PrivateEndpointConnection' 'Authorization' 'ComplianceSecurityProfileComplianceStandard'
  - The following properties are being added to the output type : 'PrivateEndpointConnection' 'Authorization' 'ComplianceSecurityProfileComplianceStandard'
  - Change description : The types of the properties 'PrivateEndpointConnection', 'Authorization' and 'ComplianceSecurityProfileComplianceStandard' will be changed from object to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.Databricks' from version : '2.0.0'

### `New-AzDatabricksAccessConnector`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Databricks.Models.IAccessConnector' is changing
  - The following properties in the output type are being deprecated : 'ReferedBy' 'EnableSystemAssignedIdentity' 'UserAssignedIdentity'
  - The following properties are being added to the output type : 'ReferedBy' 'EnableSystemAssignedIdentity' 'UserAssignedIdentity'
  - Change description : (1) The types of the properties 'ReferedBy' will be changed from 'System.String[]' to 'System.Collections.Generic.List`1[System.String]' (2) IdentityType will be removed. EnableSystemAssignedIdentity will be used to enable/disable system assigned identity and UserAssignedIdentity will be used to specify user assigned identities. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.Databricks' from version : '2.0.0'

### `New-AzDatabricksVNetPeering`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Databricks.Models.IVirtualNetworkPeering' is changing
  - The following properties in the output type are being deprecated : 'DatabrickAddressSpaceAddressPrefix' 'RemoteAddressSpaceAddressPrefix'
  - The following properties are being added to the output type : 'DatabrickAddressSpaceAddressPrefix' 'RemoteAddressSpaceAddressPrefix'
  - Change description : The types of the properties 'DatabrickAddressSpaceAddressPrefix' and 'RemoteAddressSpaceAddressPrefix' will be changed from 'System.String[]' to 'System.Collections.Generic.List`1[System.String]' 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.Databricks' from version : '2.0.0'

### `New-AzDatabricksWorkspace`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.Databricks.Models.IWorkspace' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.Databricks.Models.IWorkspace'
  - The following properties in the output type are being deprecated : 'PrivateEndpointConnection, ComplianceSecurityProfileComplianceStandard, Authorization'
  - The following properties are being added to the output type : 'PrivateEndpointConnection, ComplianceSecurityProfileComplianceStandard, Authorization The types of the properties will be changed from object to 'List''
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.Databricks' from version : '2.0.0'

### `Update-AzDatabricksAccessConnector`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Databricks.Models.IAccessConnector' is changing
  - The following properties in the output type are being deprecated : 'ReferedBy' 'EnableSystemAssignedIdentity' 'UserAssignedIdentity'
  - The following properties are being added to the output type : 'ReferedBy' 'EnableSystemAssignedIdentity' 'UserAssignedIdentity'
  - Change description : (1) The types of the properties 'ReferedBy' will be changed from 'System.String[]' to 'System.Collections.Generic.List`1[System.String]' (2) IdentityType will be removed. EnableSystemAssignedIdentity will be used to enable/disable system assigned identity and UserAssignedIdentity will be used to specify user assigned identities. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.Databricks' from version : '2.0.0'

### `Update-AzDatabricksVNetPeering`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.Databricks.Models.IVirtualNetworkPeering' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.Databricks.Models.IVirtualNetworkPeering'
  - The following properties in the output type are being deprecated : 'DatabrickAddressSpaceAddressPrefix, RemoteAddressSpaceAddressPrefix 'System.String[]''
  - The following properties are being added to the output type : 'DatabrickAddressSpaceAddressPrefix, RemoteAddressSpaceAddressPrefix 'System.Collections.Generic.List1[System.String]''
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.Databricks' from version : '2.0.0'

### `Update-AzDatabricksWorkspace`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.Databricks.Models.IWorkspace' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.Databricks.Models.IWorkspace'
  - The following properties in the output type are being deprecated : 'PrivateEndpointConnection, ComplianceSecurityProfileComplianceStandard, Authorization'
  - The following properties are being added to the output type : 'PrivateEndpointConnection, ComplianceSecurityProfileComplianceStandard, Authorization The types of the properties will be changed from object to 'List''
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.Databricks' from version : '2.0.0'

## Az.DnsResolver

### `New-AzDnsResolverDomainList`

- Parameter breaking-change will happen to all parameter sets
  - `-Domain`
    - The parameter : 'Domain' is changing.
    - Change description : The parameter 'Domain' is no longer mandatory. Domain lists will support bulk upload via the new cmdlet 'Invoke-AzDnsResolverBulkDnsResolverDomainList'. 
    - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
    - The change is expected to take effect in 'Az.DnsResolver' from version : '2.0.0'

## Az.MachineLearningServices

### `New-AzMLWorkspaceCustomModelJobInputObject`

- Parameter breaking-change will happen to all parameter sets
  - `-Type`
    

### `New-AzMLWorkspaceCustomModelJobOutputObject`

- Parameter breaking-change will happen to all parameter sets
  - `-Type`
    

### `New-AzMLWorkspaceLiteralJobInputObject`

- Parameter breaking-change will happen to all parameter sets
  - `-Type`
    

### `New-AzMLWorkspaceMLFlowModelJobInputObject`

- Parameter breaking-change will happen to all parameter sets
  - `-Type`
    

### `New-AzMLWorkspaceMLFlowModelJobOutputObject`

- Parameter breaking-change will happen to all parameter sets
  - `-Type`
    

### `New-AzMLWorkspaceMLTableJobInputObject`

- Parameter breaking-change will happen to all parameter sets
  - `-Type`
    

### `New-AzMLWorkspaceMLTableJobOutputObject`

- Parameter breaking-change will happen to all parameter sets
  - `-Type`
    

### `New-AzMLWorkspaceTritonModelJobInputObject`

- Parameter breaking-change will happen to all parameter sets
  - `-Type`
    

### `New-AzMLWorkspaceTritonModelJobOutputObject`

- Parameter breaking-change will happen to all parameter sets
  - `-Type`
    

### `New-AzMLWorkspaceUriFileJobInputObject`

- Parameter breaking-change will happen to all parameter sets
  - `-Type`
    

### `New-AzMLWorkspaceUriFileJobOutputObject`

- Parameter breaking-change will happen to all parameter sets
  - `-Type`
    

### `New-AzMLWorkspaceUriFolderJobInputObject`

- Parameter breaking-change will happen to all parameter sets
  - `-Type`
    

### `New-AzMLWorkspaceUriFolderJobOutputObject`

- Parameter breaking-change will happen to all parameter sets
  - `-Type`
    

## Az.ManagedServices

### `Get-AzManagedServicesAssignment`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.ManagedServices.Models.IRegistrationAssignment' is changing
  - The following properties in the output type are being deprecated : 'Authorization[]' 'EligibleAuthorization[]'
  - The following properties are being added to the output type : 'List[Authorization]' 'List[EligibleAuthorization]'
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.ManagedServices' from version : '9.0.0'

### `Get-AzManagedServicesDefinition`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.ManagedServices.Models.IRegistrationDefinition' is changing
  - The following properties in the output type are being deprecated : 'Authorization[]' 'EligibleAuthorization[]'
  - The following properties are being added to the output type : 'List[Authorization]' 'List[EligibleAuthorization]'
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.ManagedServices' from version : '9.0.0'

### `New-AzManagedServicesAssignment`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.ManagedServices.Models.IRegistrationAssignment' is changing
  - The following properties in the output type are being deprecated : 'Authorization[]' 'EligibleAuthorization[]'
  - The following properties are being added to the output type : 'List[Authorization]' 'List[EligibleAuthorization]'
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.ManagedServices' from version : '9.0.0'

### `New-AzManagedServicesAuthorizationObject`

- Parameter breaking-change will happen to all parameter sets
  - `-DelegatedRoleDefinitionId`
    

### `New-AzManagedServicesDefinition`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.ManagedServices.Models.IRegistrationDefinition' is changing
  - The following properties in the output type are being deprecated : 'Authorization' 'EligibleAuthorization' 'DelegatedRoleDefinitionId[]' 'JustInTimeAccessPolicyManagedByTenantApprover[]'
  - The following properties are being added to the output type : 'List[Authorization]' 'List[EligibleAuthorization]' 'List[DelegatedRoleDefinitionId]' 'List[JustInTimeAccessPolicyManagedByTenantApprover]'
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.ManagedServices' from version : '9.0.0'

- Parameter breaking-change will happen to parameter set `NewAzManagedServicesDefinition_CreateExpanded`
  - `-Authorization`
    - The parameter : 'Authorization' is changing.
    The type of the parameter is changing from 'Array' to 'List'.
    - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
    - The change is expected to take effect in 'Az.ManagedServices' from version : '9.0.0'
  - `-EligibleAuthorization`
    - The parameter : 'EligibleAuthorization' is changing.
    The type of the parameter is changing from 'Array' to 'List'.
    - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
    - The change is expected to take effect in 'Az.ManagedServices' from version : '9.0.0'

### `New-AzManagedServicesEligibleAuthorizationObject`

- Parameter breaking-change will happen to all parameter sets
  - `-JustInTimeAccessPolicyManagedByTenantApprover`
    

### `Update-AzManagedServicesDefinition`

- Parameter breaking-change will happen to all parameter sets
  - `-Authorization`
    - The parameter : 'Authorization' is changing.
    The type of the parameter is changing from 'Array' to 'List'.
    - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
    - The change is expected to take effect in 'Az.ManagedServices' from version : '9.0.0'
  - `-EligibleAuthorization`
    - The parameter : 'EligibleAuthorization' is changing.
    The type of the parameter is changing from 'Array' to 'List'.
    - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
    - The change is expected to take effect in 'Az.ManagedServices' from version : '9.0.0'

## Az.Monitor

### `Get-AzDiagnosticSetting`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Monitor.DiagnosticSetting.Models.IDiagnosticSettingsResource' is changing
  - The following properties in the output type are being deprecated : 'Log' 'Metric'
  - The following properties are being added to the output type : 'Log' 'Metric'
  - Change description : The types of the properties Log and Metric will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `Get-AzDiagnosticSettingCategory`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Monitor.DiagnosticSetting.Models.IDiagnosticSettingsCategoryResource' is changing
  - The following properties in the output type are being deprecated : 'CategoryGroup'
  - The following properties are being added to the output type : 'CategoryGroup'
  - Change description : The type of the property CategoryGroup will be changed from fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `Get-AzMonitorWorkspace`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Monitor.MonitorWorkspace.Models.IAzureMonitorWorkspaceResource' is changing
  - The following properties in the output type are being deprecated : 'PrivateEndpointConnection' 'ProvisioningState'
  - The following properties are being added to the output type : 'PrivateEndpointConnection' 'ProvisioningState'
  - Change description : The types of the properties PrivateEndpointConnection and ProvisioningState will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `Get-AzMonitorWorkspaceIssue`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Monitor.MonitorWorkspace.Models.IIssueResource' is changing
  - The following properties in the output type are being deprecated : 'PrivateEndpointConnection' 'ProvisioningState'
  - The following properties are being added to the output type : 'PrivateEndpointConnection' 'ProvisioningState'
  - Change description : The types of the properties PrivateEndpointConnection and ProvisioningState will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `Get-AzMonitorWorkspaceIssueAlert`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Monitor.MonitorWorkspace.Models.IPagedRelatedAlert' is changing
  - The following properties in the output type are being deprecated : 'PrivateEndpointConnection' 'ProvisioningState'
  - The following properties are being added to the output type : 'PrivateEndpointConnection' 'ProvisioningState'
  - Change description : The types of the properties PrivateEndpointConnection and ProvisioningState will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `Get-AzMonitorWorkspaceIssueResource`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Monitor.MonitorWorkspace.Models.IPagedRelatedResource' is changing
  - The following properties in the output type are being deprecated : 'PrivateEndpointConnection' 'ProvisioningState'
  - The following properties are being added to the output type : 'PrivateEndpointConnection' 'ProvisioningState'
  - Change description : The types of the properties PrivateEndpointConnection and ProvisioningState will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `Get-AzMonitorWorkspaceMetricsContainer`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Monitor.MonitorWorkspace.Models.IMetricsContainerResource' is changing
  - The following properties in the output type are being deprecated : 'PrivateEndpointConnection' 'ProvisioningState'
  - The following properties are being added to the output type : 'PrivateEndpointConnection' 'ProvisioningState'
  - Change description : The types of the properties PrivateEndpointConnection and ProvisioningState will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `Get-AzSubscriptionDiagnosticSetting`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Monitor.DiagnosticSetting.Models.ISubscriptionDiagnosticSettingsResource' is changing
  - The following properties in the output type are being deprecated : 'Log'
  - The following properties are being added to the output type : 'Log'
  - Change description : The type of the property Log will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `New-AzAutoscaleNotificationObject`

- Parameter breaking-change will happen to all parameter sets
  - `-EmailCustomEmail`
    
  - `-Webhook`
    

### `New-AzAutoscaleProfileObject`

- Parameter breaking-change will happen to all parameter sets
  - `-Rule`
    
  - `-ScheduleDay`
    
  - `-ScheduleHour`
    
  - `-ScheduleMinute`
    

### `New-AzAutoscaleScaleRuleMetricDimensionObject`

- Parameter breaking-change will happen to all parameter sets
  - `-Value`
    

### `New-AzAutoscaleScaleRuleObject`

- Parameter breaking-change will happen to all parameter sets
  - `-MetricTriggerDimension`
    

### `New-AzDiagnosticSetting`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Monitor.DiagnosticSetting.Models.IDiagnosticSettingsResource' is changing
  - The following properties in the output type are being deprecated : 'Log' 'Metric'
  - The following properties are being added to the output type : 'Log' 'Metric'
  - Change description : The types of the properties Log and Metric will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

- Parameter breaking-change will happen to all parameter sets
  - `-Log`
    - The parameter : 'Log' is changing.
    The type of the parameter is changing from 'Array' to 'List'.
    - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
    - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `New-AzMonitorWorkspace`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Monitor.MonitorWorkspace.Models.IAzureMonitorWorkspaceResource' is changing
  - The following properties in the output type are being deprecated : 'PrivateEndpointConnection' 'ProvisioningState'
  - The following properties are being added to the output type : 'PrivateEndpointConnection' 'ProvisioningState'
  - Change description : The types of the properties PrivateEndpointConnection and ProvisioningState will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `New-AzMonitorWorkspaceIssue`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Monitor.MonitorWorkspace.Models.IIssueResource' is changing
  - The following properties in the output type are being deprecated : 'PrivateEndpointConnection' 'ProvisioningState'
  - The following properties are being added to the output type : 'PrivateEndpointConnection' 'ProvisioningState'
  - Change description : The types of the properties PrivateEndpointConnection and ProvisioningState will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `New-AzMonitorWorkspaceMetricsContainer`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Monitor.MonitorWorkspace.Models.IMetricsContainerResource' is changing
  - The following properties in the output type are being deprecated : 'PrivateEndpointConnection' 'ProvisioningState'
  - The following properties are being added to the output type : 'PrivateEndpointConnection' 'ProvisioningState'
  - Change description : The types of the properties PrivateEndpointConnection and ProvisioningState will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `New-AzSubscriptionDiagnosticSetting`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Monitor.DiagnosticSetting.Models.ISubscriptionDiagnosticSettingsResource' is changing
  - The following properties in the output type are being deprecated : 'Log'
  - The following properties are being added to the output type : 'Log'
  - Change description : The type of the property Log will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

- Parameter breaking-change will happen to parameter set `NewAzSubscriptionDiagnosticSetting_CreateExpanded`
  - `-Log`
    - The parameter : 'Log' is changing.
    The type of the parameter is changing from 'Array' to 'List'.
    - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
    - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `Update-AzDiagnosticSetting`

- Parameter breaking-change will happen to all parameter sets
  - `-Log`
    - The parameter : 'Log' is changing.
    The type of the parameter is changing from 'Array' to 'List'.
    - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
    - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `Update-AzMonitorWorkspace`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Monitor.MonitorWorkspace.Models.IAzureMonitorWorkspaceResource' is changing
  - The following properties in the output type are being deprecated : 'PrivateEndpointConnection' 'ProvisioningState'
  - The following properties are being added to the output type : 'PrivateEndpointConnection' 'ProvisioningState'
  - Change description : The types of the properties PrivateEndpointConnection and ProvisioningState will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `Update-AzMonitorWorkspaceIssue`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Monitor.MonitorWorkspace.Models.IIssueResource' is changing
  - The following properties in the output type are being deprecated : 'PrivateEndpointConnection' 'ProvisioningState'
  - The following properties are being added to the output type : 'PrivateEndpointConnection' 'ProvisioningState'
  - Change description : The types of the properties PrivateEndpointConnection and ProvisioningState will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `Update-AzMonitorWorkspaceIssueAlert`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Monitor.MonitorWorkspace.Models.IRelatedAlerts' is changing
  - The following properties in the output type are being deprecated : 'PrivateEndpointConnection' 'ProvisioningState'
  - The following properties are being added to the output type : 'PrivateEndpointConnection' 'ProvisioningState'
  - Change description : The types of the properties PrivateEndpointConnection and ProvisioningState will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `Update-AzMonitorWorkspaceIssueResource`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Monitor.MonitorWorkspace.Models.IRelatedResources' is changing
  - The following properties in the output type are being deprecated : 'PrivateEndpointConnection' 'ProvisioningState'
  - The following properties are being added to the output type : 'PrivateEndpointConnection' 'ProvisioningState'
  - Change description : The types of the properties PrivateEndpointConnection and ProvisioningState will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `Update-AzMonitorWorkspaceMetricsContainer`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Monitor.MonitorWorkspace.Models.IMetricsContainerResource' is changing
  - The following properties in the output type are being deprecated : 'PrivateEndpointConnection' 'ProvisioningState'
  - The following properties are being added to the output type : 'PrivateEndpointConnection' 'ProvisioningState'
  - Change description : The types of the properties PrivateEndpointConnection and ProvisioningState will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

### `Update-AzSubscriptionDiagnosticSetting`

- Parameter breaking-change will happen to all parameter sets
  - `-Log`
    - The parameter : 'Log' is changing.
    The type of the parameter is changing from 'Array' to 'List'.
    - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
    - The change is expected to take effect in 'Az.Monitor' from version : '7.0.0'

## Az.NetAppFiles

### `Get-AzNetAppFilesSubvolume`

- Cmdlet breaking-change will happen to all parameter sets
  - The cmdlet is being deprecated. There will be no replacement for it.
  - This change is expected to take effect from Az.NetAppFiles version: 2.0.0 and Az version: 17.0.0

### `Get-AzNetAppFilesSubvolumeMetadata`

- Cmdlet breaking-change will happen to all parameter sets
  - The cmdlet is being deprecated. There will be no replacement for it.
  - This change is expected to take effect from Az.NetAppFiles version: 2.0.0 and Az version: 17.0.0

### `Get-AzNetAppFilesVolume`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.NetAppFiles.Volume.GetAzureRmNetAppFilesVolume' is changing
  - The following properties in the output type are being deprecated : 'EnableSubvolumes'
  - This change is expected to take effect from Az.NetAppFiles version: 7.0.0 and Az version: 12.0.0

### `New-AzNetAppFilesSubvolume`

- Cmdlet breaking-change will happen to all parameter sets
  - The cmdlet is being deprecated. There will be no replacement for it.
  - This change is expected to take effect from Az.NetAppFiles version: 2.0.0 and Az version: 17.0.0

### `New-AzNetAppFilesVolume`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.NetAppFiles.Volume.NewAzureRmNetAppFilesVolume' is changing
  - The following properties in the output type are being deprecated : 'EnableSubvolumes'
  - This change is expected to take effect from Az.NetAppFiles version: 7.0.0 and Az version: 12.0.0

- Parameter breaking-change will happen to all parameter sets
  - `-EnableSubvolume`
    - EnableSubvolume is being deprecated and removed in a future release; there is no replacement.
    - This change is expected to take effect from Az.NetAppFiles version: 7.0.0 and Az version: 12.0.0

### `Remove-AzNetAppFilesSubvolume`

- Cmdlet breaking-change will happen to all parameter sets
  - The cmdlet is being deprecated. There will be no replacement for it.
  - This change is expected to take effect from Az.NetAppFiles version: 2.0.0 and Az version: 17.0.0

### `Update-AzNetAppFilesSubvolume`

- Cmdlet breaking-change will happen to all parameter sets
  - The cmdlet is being deprecated. There will be no replacement for it.
  - This change is expected to take effect from Az.NetAppFiles version: 2.0.0 and Az version: 17.0.0

### `Update-AzNetAppFilesVolume`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.NetAppFiles.Volume.UpdateAzureRmNetAppFilesVolume' is changing
  - The following properties in the output type are being deprecated : 'EnableSubvolumes'
  - This change is expected to take effect from Az.NetAppFiles version: 7.0.0 and Az version: 12.0.0

## Az.Network

### `Invoke-AzFirewallPacketCapture`

- Cmdlet breaking-change will happen to all parameter sets
  - The cmdlet is being deprecated. There will be no replacement for it.
  - This change is expected to take effect from Az.Network version: Az.Network: 8.0.0 and Az version: Az: 15.0.0

## Az.RecoveryServices

### `Get-AzRecoveryServicesBackupSchedulePolicyObject`

- Cmdlet breaking-change will happen to all parameter sets
  - May 2025 onwards, this command will return a schedule policy object for Enhanced policy by default for AzureVM workload
  - This change is expected to take effect from Az.RecoveryServices version: 8.0.0 and Az version: 14.0.0

## Az.Relay

### `Get-AzRelayNamespace`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Relay.Models.IRelayNamespace' is changing
  - The following properties in the output type are being deprecated : 'PrivateEndpointConnection'
  - The following properties are being added to the output type : 'List[PrivateEndpointConnection]'
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Relay' from version : '9.0.0'

### `Get-AzRelayNamespaceNetworkRuleSet`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Relay.Models.INetworkRuleSet' is changing
  - The following properties in the output type are being deprecated : 'IPRule'
  - The following properties are being added to the output type : 'List[IPRule]'
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Relay' from version : '9.0.0'

## Az.Resources

### `Get-AzRoleDefinition`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type PSRoleDefinition is changing. The flattened properties 'Actions', 'NotActions', 'DataActions', 'NotDataActions', 'Condition', and 'ConditionVersion' are being removed. Use 'Permissions[n].Actions', 'Permissions[n].DataActions', etc. instead to access the full permission structure with per-permission conditions.
  - This change is expected to take effect from Az.Resources version: 10.0.0 and Az version: 16.0.0

### `Get-AzRoleManagementPolicy`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Resources.Authorization.Models.IRoleManagementPolicy' is changing
  - The following properties in the output type are being deprecated : 'EffectiveRule[]' 'Rule[]'
  - The following properties are being added to the output type : 'List[EffectiveRule]' 'List[Rule]'
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Resources' from version : '9.0.0'

### `New-AzRoleDefinition`

- Cmdlet breaking-change will happen to all parameter sets
  - The -InputFile JSON format and -Role parameter are changing. The flattened properties 'Actions', 'NotActions', 'DataActions', 'NotDataActions' at the root level are being replaced by a 'Permissions' array. Each permission object contains 'Actions', 'NotActions', 'DataActions', 'NotDataActions', 'Condition', and 'ConditionVersion' properties. The output type PSRoleDefinition is also changing accordingly.
  - This change is expected to take effect from Az.Resources version: 10.0.0 and Az version: 16.0.0

### `Remove-AzRoleDefinition`

- Cmdlet breaking-change will happen to all parameter sets
  - The -InputObject parameter type PSRoleDefinition is changing. The flattened properties 'Actions', 'NotActions', 'DataActions', 'NotDataActions', 'Condition', 'ConditionVersion' are being replaced by a 'Permissions' array containing permission objects with these properties. The output when using -PassThru is also changing accordingly.
  - This change is expected to take effect from Az.Resources version: 10.0.0 and Az version: 16.0.0

### `Set-AzRoleDefinition`

- Cmdlet breaking-change will happen to all parameter sets
  - The -InputFile JSON format and -Role parameter are changing. The flattened properties 'Actions', 'NotActions', 'DataActions', 'NotDataActions' at the root level are being replaced by a 'Permissions' array. Each permission object contains 'Actions', 'NotActions', 'DataActions', 'NotDataActions', 'Condition', and 'ConditionVersion' properties. The output type PSRoleDefinition is also changing accordingly.
  - This change is expected to take effect from Az.Resources version: 10.0.0 and Az version: 16.0.0

### `Update-AzRoleManagementPolicy`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.Resources.Authorization.Models.IRoleManagementPolicy' is changing
  - The following properties in the output type are being deprecated : 'EffectiveRule[]' 'Rule[]'
  - The following properties are being added to the output type : 'List[EffectiveRule]' 'List[Rule]'
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.Resources' from version : '9.0.0'

- Parameter breaking-change will happen to all parameter sets
  - `-Rule`
    - The parameter : 'Rule' is changing.
    The type of the parameter is changing from 'Array' to 'List'.
    - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
    - The change is expected to take effect in 'Az.Resources' from version : '9.0.0'

- Parameter breaking-change will happen to parameter set `UpdateAzRoleManagementPolicy_UpdateViaIdentityExpanded`

## Az.StackHCI

### `Get-AzStackHciArcSetting`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.IArcSetting' is changing
  - The following properties in the output type are being deprecated : 'DefaultExtension' 'PerNodeDetail'
  - The following properties are being added to the output type : 'DefaultExtension' 'PerNodeDetail'
  - Change description : The types of the properties DefaultExtension and PerNodeDetail will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StackHCI' from version : '3.0.0'

### `Get-AzStackHciCluster`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.ICluster' is changing
  - The following properties in the output type are being deprecated : 'ReportedPropertyNode' 'LogCollectionPropertyLogCollectionSessionDetail' 'RemoteSupportPropertyRemoteSupportSessionDetail' 'RemoteSupportPropertyRemoteSupportNodeSetting' 'ReportedPropertySupportedCapability'
  - The following properties are being added to the output type : 'ReportedPropertyNode' 'LogCollectionPropertyLogCollectionSessionDetail' 'RemoteSupportPropertyRemoteSupportSessionDetail' 'RemoteSupportPropertyRemoteSupportNodeSetting' 'ReportedPropertySupportedCapability'
  - Change description : The types of the properties ReportedPropertyNode, LogCollectionPropertyLogCollectionSessionDetail, RemoteSupportPropertyRemoteSupportSessionDetail, RemoteSupportPropertyRemoteSupportNodeSetting and ReportedPropertySupportedCapability will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StackHCI' from version : '3.0.0'

### `Get-AzStackHciDeploymentSetting`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.IDeploymentSetting' is changing
  - The following properties in the output type are being deprecated : 'DeploymentStatusStep' 'ValidationStatusStep' 'DeploymentConfigurationScaleUnit' 'ArcNodeResourceId'
  - The following properties are being added to the output type : 'DeploymentStatusStep' 'ValidationStatusStep' 'DeploymentConfigurationScaleUnit' 'ArcNodeResourceId'
  - Change description : The types of the properties DeploymentStatusStep, ValidationStatusStep, DeploymentConfigurationScaleUnit and ArcNodeResourceId will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StackHCI' from version : '3.0.0'

### `Get-AzStackHciExtension`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.IExtension' is changing
  - The following properties in the output type are being deprecated : 'PerNodeExtensionDetail'
  - The following properties are being added to the output type : 'PerNodeExtensionDetail'
  - Change description : The type of the property PerNodeExtensionDetail will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StackHCI' from version : '3.0.0'

### `Get-AzStackHciUpdate`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.IUpdate' is changing
  - The following properties in the output type are being deprecated : 'ComponentVersion' 'HealthCheckResult' 'Prerequisite'
  - The following properties are being added to the output type : 'ComponentVersion' 'HealthCheckResult' 'Prerequisite'
  - Change description : The types of the properties ComponentVersion, HealthCheckResult and Prerequisite will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StackHCI' from version : '3.0.0'

### `Get-AzStackHciUpdateRun`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.IUpdateRun' is changing
  - The following properties in the output type are being deprecated : 'ProgressStep'
  - The following properties are being added to the output type : 'ProgressStep'
  - Change description : The type of the property ProgressStep will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StackHCI' from version : '3.0.0'

### `Get-AzStackHciUpdateSummary`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.IUpdateSummaries' is changing
  - The following properties in the output type are being deprecated : 'PackageVersion' 'HealthCheckResult'
  - The following properties are being added to the output type : 'PackageVersion' 'HealthCheckResult'
  - Change description : The types of the properties PackageVersion and HealthCheckResult will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StackHCI' from version : '3.0.0'

### `Invoke-AzStackHciConsentAndInstallDefaultExtension`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.IArcSetting' is changing
  - The following properties in the output type are being deprecated : 'DefaultExtension' 'PerNodeDetail'
  - The following properties are being added to the output type : 'DefaultExtension' 'PerNodeDetail'
  - Change description : The types of the properties DefaultExtension and PerNodeDetail will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StackHCI' from version : '3.0.0'

### `Invoke-AzStackHciExtendClusterSoftwareAssuranceBenefit`

- Cmdlet breaking-change will happen to all parameter sets
  The cmdlet parameter set is being deprecated. There will be no replacement for it.
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StackHCI' from version : '3.0.0'

### `New-AzStackHciArcSetting`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.IArcSetting' is changing
  - The following properties in the output type are being deprecated : 'DefaultExtension' 'PerNodeDetail'
  - The following properties are being added to the output type : 'DefaultExtension' 'PerNodeDetail'
  - Change description : The types of the properties DefaultExtension and PerNodeDetail will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StackHCI' from version : '3.0.0'

### `New-AzStackHciCluster`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.ICluster' is changing
  - The following properties in the output type are being deprecated : 'ReportedPropertyNode' 'LogCollectionPropertyLogCollectionSessionDetail' 'RemoteSupportPropertyRemoteSupportSessionDetail' 'RemoteSupportPropertyRemoteSupportNodeSetting' 'ReportedPropertySupportedCapability'
  - The following properties are being added to the output type : 'ReportedPropertyNode' 'LogCollectionPropertyLogCollectionSessionDetail' 'RemoteSupportPropertyRemoteSupportSessionDetail' 'RemoteSupportPropertyRemoteSupportNodeSetting' 'ReportedPropertySupportedCapability'
  - Change description : The types of the properties ReportedPropertyNode, LogCollectionPropertyLogCollectionSessionDetail, RemoteSupportPropertyRemoteSupportSessionDetail, RemoteSupportPropertyRemoteSupportNodeSetting and ReportedPropertySupportedCapability will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StackHCI' from version : '3.0.0'

### `New-AzStackHciDeploymentSetting`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.IDeploymentSetting' is changing
  - The following properties in the output type are being deprecated : 'DeploymentStatusStep' 'ValidationStatusStep' 'DeploymentConfigurationScaleUnit' 'ArcNodeResourceId' 'DeploymentDataSecret' 'DeploymentDataInfrastructureNetwork' 'HostNetworkIntent' 'DeploymentDataPhysicalNode' 'SbePartnerInfoCredentialList' 'SbePartnerInfoPartnerProperty' 'HostNetworkStorageNetwork'
  - The following properties are being added to the output type : 'DeploymentStatusStep' 'ValidationStatusStep' 'DeploymentConfigurationScaleUnit' 'ArcNodeResourceId' 'DeploymentDataSecret' 'DeploymentDataInfrastructureNetwork' 'HostNetworkIntent' 'DeploymentDataPhysicalNode' 'SbePartnerInfoCredentialList' 'SbePartnerInfoPartnerProperty' 'HostNetworkStorageNetwork'
  - Change description : The types of the properties DeploymentStatusStep, ValidationStatusStep, DeploymentConfigurationScaleUnit and ArcNodeResourceId will be changed from single object or fixed array to 'List'. The type of property DeploymentDataSecret, DeploymentDataInfrastructureNetwork, HostNetworkIntent, DeploymentDataPhysicalNode, SbePartnerInfoCredentialList, SbePartnerInfoPartnerProperty and HostNetworkStorageNetwork of type ScaleUnits will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StackHCI' from version : '3.0.0'

### `New-AzStackHciExtension`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.IExtension' is changing
  - The following properties in the output type are being deprecated : 'PerNodeExtensionDetail'
  - The following properties are being added to the output type : 'PerNodeExtensionDetail'
  - Change description : The type of the property PerNodeExtensionDetail will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StackHCI' from version : '3.0.0'

### `Set-AzStackHciUpdate`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.IUpdate' is changing
  - The following properties in the output type are being deprecated : 'ComponentVersion' 'HealthCheckResult' 'Prerequisite'
  - The following properties are being added to the output type : 'ComponentVersion' 'HealthCheckResult' 'Prerequisite'
  - Change description : The types of the properties ComponentVersion, HealthCheckResult and Prerequisite will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StackHCI' from version : '3.0.0'

### `Set-AzStackHciUpdateRun`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.IUpdateRun' is changing
  - The following properties in the output type are being deprecated : 'ProgressStep'
  - The following properties are being added to the output type : 'ProgressStep'
  - Change description : The type of the property ProgressStep will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StackHCI' from version : '3.0.0'

### `Set-AzStackHciUpdateSummary`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.IUpdateSummaries' is changing
  - The following properties in the output type are being deprecated : 'PackageVersion' 'HealthCheckResult'
  - The following properties are being added to the output type : 'PackageVersion' 'HealthCheckResult'
  - Change description : The types of the properties PackageVersion and HealthCheckResult will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StackHCI' from version : '3.0.0'

### `Test-AzStackHciEdgeDevice`

- Cmdlet breaking-change will happen to all parameter sets
  The cmdlet parameter set is being deprecated. There will be no replacement for it.
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StackHCI' from version : '3.0.0'

### `Update-AzStackHciCluster`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StackHCI.Models.ICluster' is changing
  - The following properties in the output type are being deprecated : 'ReportedPropertyNode' 'LogCollectionPropertyLogCollectionSessionDetail' 'RemoteSupportPropertyRemoteSupportSessionDetail' 'RemoteSupportPropertyRemoteSupportNodeSetting' 'ReportedPropertySupportedCapability'
  - The following properties are being added to the output type : 'ReportedPropertyNode' 'LogCollectionPropertyLogCollectionSessionDetail' 'RemoteSupportPropertyRemoteSupportSessionDetail' 'RemoteSupportPropertyRemoteSupportNodeSetting' 'ReportedPropertySupportedCapability'
  - Change description : The types of the properties ReportedPropertyNode, LogCollectionPropertyLogCollectionSessionDetail, RemoteSupportPropertyRemoteSupportSessionDetail, RemoteSupportPropertyRemoteSupportNodeSetting and ReportedPropertySupportedCapability will be changed from single object or fixed array to 'List'. 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StackHCI' from version : '3.0.0'

## Az.StackHCIVM

### `New-AzStackHCIVMImage`

- Parameter breaking-change will happen to all parameter sets
  - `-ImagePath`
    

### `New-AzStackHCIVMVirtualMachine`

- Parameter breaking-change will happen to all parameter sets
  - `-AdminPassword`
    

## Az.StreamAnalytics

### `Get-AzStreamAnalyticsInput`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StreamAnalytics.Models.IInput' is changing
  - The following properties in the output type are being deprecated : 'Condition'
  - The following properties are being added to the output type : 'Condition'
  - Change description : The type of property Condition will be changed from fixed array to 'List'. 
  - This change will take effect on '11/1/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.StreamAnalytics' from version : '3.0.0'

### `Get-AzStreamAnalyticsJob`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StreamAnalytics.Models.IStreamingJob' is changing
  - The following properties in the output type are being deprecated : 'Input' 'Output'
  - The following properties are being added to the output type : 'Input' 'Output'
  - Change description : The types of the properties Input and Output will be changed from fixed array to 'List'. 
  - This change will take effect on '11/1/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.StreamAnalytics' from version : '3.0.0'

### `Get-AzStreamAnalyticsOutput`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StreamAnalytics.Models.IOutput' is changing
  - The following properties in the output type are being deprecated : 'DiagnosticCondition'
  - The following properties are being added to the output type : 'DiagnosticCondition'
  - Change description : The type of property DiagnosticCondition will be changed from fixed array to 'List'. 
  - This change will take effect on '11/1/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.StreamAnalytics' from version : '3.0.0'

### `Get-AzStreamAnalyticsQuota`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StreamAnalytics.Models.ISubscriptionQuotasListResult' is changing
  - The following properties in the output type are being deprecated : 'ISubscriptionQuota'
  - The following properties are being added to the output type : 'ISubscriptionQuotasListResult'
  - Change description : The type of property Quota will be changed from fixed array to 'List'. 
  - This change will take effect on '11/1/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.StreamAnalytics' from version : '3.0.0'

### `New-AzStreamAnalyticsJob`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StreamAnalytics.Models.Api20170401Preview.IStreamingJob' is changing
  - Change description : The types of the properties Function, Input and Output will be changed from fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.StreamAnalytics' from version : '3.0.0'

### `Update-AzStreamAnalyticsJob`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StreamAnalytics.Models.Api20170401Preview.IStreamingJob' is changing
  - Change description : The types of the properties Function, Input and Output will be changed from fixed array to 'List'. 
  - This change will take effect on '11/3/2025'- The change is expected to take effect from Az version : '15.0.0'
  - The change is expected to take effect in 'Az.StreamAnalytics' from version : '3.0.0'

---

### Documentation Development Docs Autogen Directives For Azure Powershell (`documentation/development-docs/autogen-directives-for-azure-powershell.md`)

# Autogen Directives for Azure Powershell
## Directive Scenarios
- [Resource Group Append](#Resource-Group-Append)
### Resource Group Append
To provide `ResourceGroupName` in returned object,  set `resourcegroup-append` as true in readme.md 
```
resourcegroup-append: true
```

---

### Documentation Development Docs Azure Powershell Developer Guide (`documentation/development-docs/azure-powershell-developer-guide.md`)

# Azure PowerShell Developer Guide

The Azure PowerShell Developer Guide was created to help with the development and testing of Azure PowerShell cmdlets. This guide contains information on how to set up your environment, create a new project, implement cmdlets, record and run tests, and more.

**Note: this guide only applies to the SDK-based development approach. For the generator-based approach, please refer to [Autorest PowerShell Generator](#autorest-powershell-generator).**

## Table of Contents

- [Table of Contents](#table-of-contents)
- [Prerequisites](#prerequisites)
- [Environment Setup](#environment-setup)
  - [GitHub Basics](#github-basics)
  - [Building the Environment](#building-the-environment)
  - [Generating Help](#generating-help)
  - [Running Static Analysis](#running-static-analysis)
  - [Running Tests](#running-tests)
- [Before Adding a New Project](#before-adding-a-new-project)
  - [.NET SDK](#net-sdk)
  - [Design Review](#design-review)
  - [Point of Contact](#point-of-contact)
- [Setting Up a New Project](#setting-up-a-new-project)
  - [Getting Started](#getting-started)
    - [Creating the Project](#creating-the-project)
    - [Adding Project References](#adding-project-references)
- [Creating Cmdlets](#creating-cmdlets)
  - [PowerShell Cmdlet Design Guidelines](#powershell-cmdlet-design-guidelines)
  - [Exceptions Guidelines](#exceptions-guidelines)
  - [Enable Running PowerShell when Debugging](#enable-running-powershell-when-debugging)
    - [Set a StartUp Project](#set-a-startup-project)
    - [Setup a Debug Profile](#setup-a-debug-profile)
  - [Adding Help Content](#adding-help-content)
- [Adding Tests](#adding-tests)
  - [Using Azure TestFramework](#using-azure-testframework)
  - [Scenario Tests](#scenario-tests)
    - [Adding Test Project](#adding-test-project)
    - [Adding Scenario Tests](#adding-scenario-tests)
    - [Use local files in test](#use-local-files-in-test)
    - [Using Active Directory](#using-active-directory)
    - [AD Scenario Tests](#ad-scenario-tests)
    - [Recording/Running Tests](#recordingrunning-tests)
- [After Development](#after-development)
  - [Change Log](#change-log)
- [Misc](#misc)
  - [Publish to PowerShell Gallery](#publish-to-powershell-gallery)
- [AutoRest PowerShell Generator](#autorest-powershell-generator)

## Prerequisites

The following prerequisites should be completed before contributing to the Azure PowerShell repository:

- Install [Visual Studio 2022 or above](https://www.visualstudio.com/downloads/)
- Install the latest version of [Git](https://git-scm.com/downloads)
- Install the [`platyPS` module](help-generation.md#Installing-platyPS)
- Install [PSScriptAnalyzer](https://github.com/PowerShell/PSScriptAnalyzer#installation)
- Install [**.NET SDK 6, and .NET Framework Dev Pack 4.7.2**](https://dotnet.microsoft.com/en-us/download/dotnet) or greater
- Install [PowerShell 7](https://github.com/PowerShell/PowerShell/releases/latest)
- Set the PowerShell [execution policy](https://technet.microsoft.com/en-us/library/ee176961.aspx) to **Unrestricted** for the following versions of PowerShell:
  - `C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe`
  - `C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe`
  - `C:\Program Files\PowerShell\{{version}}\pwsh.exe`

## Environment Setup

### GitHub Basics

If you don't have experience with Git and GitHub, some of the terminology and process can be confusing. [Here is a guide to understanding the GitHub flow](https://guides.github.com/introduction/flow/) and [here is a guide to understanding the basic Git commands](https://education.github.com/git-cheat-sheet-education.pdf).

To develop in the Azure PowerShell repository locally, you first need to create your own fork. For more information on how to fork, click [here](https://guides.github.com/activities/forking/).

Once your fork of the Azure PowerShell repository has been created, you need to clone your fork to your local machine. To do so, run the following command:

```
git clone https://github.com/<YOUR GITHUB USERNAME>/azure-powershell.git
```

You now be able to create your own branches, commit changes, and push commits to your fork.

**Note**: we recommend adding the _Azure/azure-powershell_ repository to your list of tracked repositories in Git. This allows you to easily pull changes from the Azure repository. To do this, run the following command:

```
git remote add upstream https://github.com/Azure/azure-powershell.git
```

Then, to pull changes from the **main** branch in _Azure/azure-powershell_ into your local working branch, run the following command:

```
git pull upstream main
```

### Building the Environment

_Note_: to build the environment locally, you need `platyPS` install on your machine. Please see the [Prerequisites](#prerequisites) section for details on how to install this module.

After cloning the repository to your local machine, you want to ensure that you can build the environment. To do so, launch `VS Developer Command Prompt` (which is installed with Visual Studio) and run the following command (from the root of the repository) to do a full build:

```
msbuild build.proj
```

Alternatively, you can open any command prompt (Command Prompt, Windows PowerShell, or PowerShell 7), navigate to the root of the repository, and run:

```powershell
PS C:\azure-powershell> dotnet msbuild build.proj
```

### Generating Help

We build the `dll-Help.xml` files (used to display the help content for cmdlets in PowerShell) from markdown using the `platyPS` module. Since this help generation step can take 10-15 minutes, it is a separate part of the command line build process. Run this to generate help:

```
msbuild build.proj /t:GenerateHelp
```

### Running Static Analysis

To keep consistency across our modules, we've implemented a static analysis system. This verifies various aspects (dependencies, breaking changes, etc.) for your module. Run this command to execute static analysis validation for the built modules:

```
msbuild build.proj /t:StaticAnalysis
```

_Note_: this can add 10-15 minutes to your build time due to help generation.

### Running Tests

Launch `VS Developer Command Prompt` and run the following command (from the root of the repository) to run all of the tests in playback:

```
msbuild build.proj /t:Test
```

Alternatively, you can open any command prompt (Command Prompt, Windows PowerShell, or PowerShell 7), navigate to the root of the repository, and run:

```powershell
PS C:\azure-powershell> dotnet msbuild build.proj /t:Test
```

## Before Adding a New Project

### .NET SDK

Before adding a new project to Azure PowerShell, you must have generated an [SDK for .NET](https://github.com/Azure/azure-sdk-for-net) using [AutoRest](https://github.com/Azure/autorest) for your service, and it must have been merged into the repository.

For more information about on-boarding a new library in the SDK for .NET repository, click [here](https://github.com/Azure/azure-sdk-for-net#to-on-board-new-libraries).

### Design Review

Before development, you must meet with the Azure PowerShell team to have a design review for your proposed PowerShell cmdlets. We advise that this review is held no earlier than three weeks out from code complete of the release you want to ship the cmdlets with. For a small number of cmdlet changes and/or additions, an email containing the markdown files for the proposed changes is suggested. For a large number of changes and/or additions, a meeting is required with the Azure PowerShell team.

Before submitting a design review, please be sure that you have read the documents found in the [Azure PowerShell Design Guidelines](./design-guidelines) folder.

Please submit a design review here: https://github.com/Azure/azure-powershell-cmdlet-review-pr

_Note_: You will need to be part of the `GitHub Azure` org to see this repository. Please go to [this link](https://aka.ms/azuregithub) to become part of the `Azure` org.

We recommend using the `platyPS` module to easily generate markdown files that contains the above information and including the files in the design submission.

### Point of Contact

You must provide a contact (Microsoft alias + GitHub alias) on your team that is responsible for handling issues with your SDK and cmdlets, as well as open source contributions to your code.

Also, members of your team (who are involved with the SDKs) are advised to join the [Microsoft Teams Azure SDK team](https://teams.microsoft.com/l/team/19%3a9b93b9f4bd1540a486e5ef1a82a74637%40thread.skype/conversations?groupId=da8d67c5-f19d-4799-b158-5dbbef868d49&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47), and join the **adxsdkpartners** alias on idweb.

## Setting Up a New Project

### Getting Started

When adding a new project, please follow these guidelines:

#### Creating the Project

Add a new folder under `src` with your service specific name (_e.g.,_ `Compute`, `Sql`, `Websites`).

We recommend copying an existing module. For example, go to `src/Cdn` and copy the contents of this folder. Paste these to your service folder you just created. **Rename** the following:
- The folders to `<SERVICE>` and `<SERVICE>.Test`
- The solution to `<SERVICE>.sln`
- The projects (within each folder) to `<SERVICE>.csproj` and `<SERVICE>.Test.csproj`
- The PSD1 file (in the `<SERVICE>` folder) to `Az.<SERVICE>.psd1`

Now, you'll need to edit the solution file. Open the `<SERVICE>.sln` in your text editor of choice. Edit these lines to use your `<SERVICE>` name:
- Update the `"<SERVICE>", "<SERVICE>\<SERVICE>.csproj"`
- Update the `"<SERVICE>.Test", "<SERVICE>.Test\<SERVICE>.Test.csproj"`
- **Note**: Leave the `"Accounts", "..\Accounts\Accounts\Accounts.csproj"` entry as is. All modules depend on `Accounts`.

After the solution file is updated, save and close it. Now, open the solution file in Visual Studio. Right click on the `<SERVICE>` project in the `Solution Explorer` and select `Unload project`. Right click on the unloaded project and select `Edit <SERVICE>.csproj`. Once opened, ensure that the following things are changed:
- Update this entry to use your service name (what you used as `<SERVICE>` above):
```xml
  <PropertyGroup>
    <PsModuleName>Cdn</PsModuleName>
  </PropertyGroup>
```
- **Remove the entry**:
```xml
  <PropertyGroup>
    <RootNamespace>$(LegacyAssemblyPrefix)$(PsModuleName)</RootNamespace>
  </PropertyGroup>
```
**Note**: This is not needed since this is a new project and does not use legacy namespace conventions.

- Update this entry to use your SDK:
```xml
  <ItemGroup>
    <PackageReference Include="Microsoft.Azure.Management.Cdn" Version="4.0.2-preview" />
  </ItemGroup>
```
If you have not generated your AutoRest SDK yet, remove this entry for now.

Right click on the project and select `Reload project`, and then build the solution by either right clicking on the solution and selecting `Rebuild Solution` or, from the top of Visual Studio, selecting `Build > Rebuild Solution`. If the build does not succeed, open the `.csproj` file and ensure there are no errors.

#### Adding Project References

There are a few existing projects that need to be added before developing any cmdlets. To add a project to the solution, right click on the solution in `Solution Explorer` and select `Add > Existing Project`. This allows you to navigate through folders to find the `.csproj` of the project you want to add. Once a project is added to your solution, you can add it as a reference to the `<SERVICE>` project by right clicking on `<SERVICE>` and selecting `Add > Reference`. This opens the `Reference Manager` window, and once you have selected the `Projects > Solution` option on the left side of the window, you are able to select which projects you want to reference in `<SERVICE>` by checking the box to the left of the name.

## Creating Cmdlets

### PowerShell Cmdlet Design Guidelines

Please check out the [_Cmdlet Best Practices_](./design-guidelines/cmdlet-best-practices.md) document for more information on how to create cmdlets that follow the PowerShell guidelines.

### Exceptions Guidelines

Azure PowerShell defines most commonly used exceptions. Developers working on Azure PowerShell should use these exceptions during development, rather than other more generic exceptions.
Refer to [_Azure PowerShell Exceptions_](./design-guidelines/azure-powershell-exceptions.md) for more information on Azure PowerShell Exceptions.

### Enable Running PowerShell when Debugging
To import modules automatically when debug has started, follow the below steps:

#### Set a StartUp Project
- Choose any project and set it as the startup project in Visual Studio
  - Right click on your project in the **Solution Explorer** and select **Set as StartUp project**

#### Setup a Debug Profile
- Please refer to [Debug Page, Project Designer](https://learn.microsoft.com/visualstudio/ide/reference/debug-page-project-designer?view=vs-2022) for how to access the Debug page
- Create a **Excutable** new Debug profile
- For Azure PowerShell, please setup debug profile in the following way
  - Set **Excutable** to the path of the executable file of PowerShell core, for example,`C:\Program Files\PowerShell\7\pwsh.exe`
  - Import the Profile module, along with the module you are testing, by pasting the following in the **Command line arguments** box (_note_: you have to update the <PATH_TO_REPO> and <SERVICE> values provided below):
    - `-NoExit -Command "Import-Module <PATH_TO_REPO>/artifacts/Debug/Az.Accounts/Az.Accounts.psd1;Import-Module <PATH_TO_REPO>/artifacts/Debug/Az.<SERVICE>/Az.<SERVICE>.psd1;$DebugPreference='Continue'"`

**Note**: if you do not see all of the changes you made to the cmdlets when importing your module in a PowerShell session (_e.g.,_ a cmdlet you added is not recognized as a cmdlet), you may need to delete any existing Azure PowerShell modules that you have on your machine (installed through the PowerShell Gallery) before you import your module.

### Adding Help Content

All cmdlets that are created must have accompanying help that is displayed when users execute the command `Get-Help <your cmdlet>`.

Each cmdlet has a markdown file that contains the help content that is displayed in PowerShell; these markdown files are created (and maintained) using the platyPS module.

For complete documentation, see [`help-generation.md`](help-generation.md) in the `documentation` folder.

## Adding Tests

_Note_: As mentioned in the prerequisites section, set the PowerShell [execution policy](https://technet.microsoft.com/en-us/library/ee176961.aspx) to **Unrestricted** for the following versions of PowerShell:

- `C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe`
- `C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe`
- `C:\Program Files\PowerShell\{{version}}\pwsh.exe`

### Using Azure TestFramework

Please see our guide on [Using Azure TestFramework](../testing-docs/using-azure-test-framework.md) for information on how to setup the appropriate connection string and record tests.

### Scenario Tests

#### Adding Test Project

- Create a new folder called `ScenarioTests`
- Create a new folder called `SessionRecords`
- Inside the `ScenarioTests` folder, create a new class called `<SERVICE>TestRunner`
- In the `<SERVICE>TestRunner` class, it should have the similar field and constructor like shown below. The parameter values passed in are based on the real situation.
```csharp
    protected readonly ITestRunner TestRunner;

    protected <SERVICE>TestRunner(ITestOutputHelper output)
    {
        TestRunner = TestManager.CreateInstance(output)
            .WithProjectSubfolderForTests("ScenarioTests")
            .WithNewPsScriptFilename($"{GetType().Name}.ps1")
            .WithCommonPsScripts(new[]
            {
                @"Common.ps1",
                @"../AzureRM.Resources.ps1",
                @"../AzureRM.Storage.ps1"
            })
            .WithNewRmModules(helper => new[]
            {
                helper.RMProfileModule,
                ...
            })
            .WithNewRecordMatcherArguments(
                userAgentsToIgnore: new Dictionary<string, string>
                {
                    ...
                },
                resourceProviders: new Dictionary<string, string>
                {
                    ...
                }
            )
            .Build();
    }
```

#### Adding Scenario Tests

- Create a new class in `<SERVICE>.Test`
    - The new class must inherit from the `<SERVICE>TestRunner` class in this project.
    - Add `[Fact]` as an attribute to every test
    - Add `[Trait(Category.AcceptanceType, Category.CheckIn)]` as an attribute to any test that should be run during CI in Playback mode.
    - Add `[Trait(Category.AcceptanceType, Category.LiveOnly)]` as an attribute to any test that cannot be run in Playback mode (for example, if a test depends on a Dataplane SDK).
- Create a ps1 file in the same folder that contains the actual tests.
- The name of the ps1 file should exactly match with name of the class. ([see sample](../../src/Media/Media.Test/ScenarioTests))
    - Use `Assert-AreEqual x y` to verify that values are the same
    - Use `Assert-AreNotEqual x y` to verify that values are not the same
    - Use `Assert-Throws scriptblock message` to verify an exception is being thrown
    - Use `Assert-ThrowsContains scriptblock substring` to verify an exception is being thrown and contains a substring
    - Use `Assert-Env env[]` to verify environment variables
    - Use `Assert-True scriptblock` to verify that a script block returns true
    - Use `Assert-False scriptblock` to verify that a script block returns false
    - Use `Assert-Null object` to verify that an object is null
    - Use `Assert-NotNull object` to verify that an object is not null
    - Use `Assert-Exists path` to verify that a file exists
    - Use `Assert-AreEqualArray a1 a2` to verify that arrays are the same
    - Use `Assert-StartsWith s1 s2` to verify that the string `s2` starts with the string `s1`
    - Use `Assert-Match s1 s2` to verify that the string `s2` matches the regular expression `s1`
    - Use `Assert-NotMatch s1 s2` to verify that the string `s2` does not match the regular expression `s1`

#### Use local files in test
CI in DevOps will happens under `Debug` folder. So you need to make sure that these files will be copied to that folder during the CI runs. One way to do this is config the `Module.Test.csproj`. There is a example:
```xml
  <ItemGroup>
    <None Update="PemFiles\*.*" CopyToOutputDirectory="PreserveNewest" />
  </ItemGroup>
```

#### Using Active Directory

- Use the `Set-TestEnvironment` cmdlet from `Repo-Tasks.psd1` to setup your connection string
- Alternatively, you can set the following environment variables
    - `TEST_CSM_ORGID_AUTHENTICATION` is used for Resource Manager testing

> **Important!**
> 1. Be sure that you have set the `ExecutionPolicy` to `Unrestricted` on both 32-bit and 64-bit PowerShell environments, as mentioned in the [prerequisites](#prerequisites) at the top
> 2. When recording tests, if you are using a Prod environment, use ServicePrincipalName (SPN) and ServicePrincipalSecret. For more information on creating an SPN, click [here](https://learn.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal).

#### AD Scenario Tests

Create this environment variables for the AD scenario tests:

- `AZURE_SERVICE_PRINCIPAL` should be a service principal - an application defined in the subscription's tenant - that has management access to the subscription (or at least to a resource group in the tenant)
  - `AZURE_SERVICE_PRINCIPAL=UserId=<UserGuid>;Password=<Password>;TenantId=<TenantGuid>;SubscriptionId=<SubscriptionId>`

#### Recording/Running Tests

- Set up environment variables using New-TestCredential as described [here](../testing-docs/using-azure-test-framework.md#new-testcredential)
- Run the test in Visual Studio in the Test Explorer window and make sure you got a generated JSON file that matches the test name under the `SessionRecords` folder

## After Development

Once all of your cmdlets have been created and the appropriate tests have been added, you can open a pull request in the Azure PowerShell repository to have your cmdlets added to the next release. Please make sure to read [CONTRIBUTING.md](../../CONTRIBUTING.md) for more information on how to open a pull request, clean up commits, make sure appropriate files have been added/changed, and more.

### Change Log

Whenever you make updates to a project, please make sure to update the corresponding service's `ChangeLog.md` file with a snippet of what you changed under the `Upcoming Release` header. This information is later used for the release notes that goes out with each module the next time they are released, and provides users with more information as to what has changed in the module from the previous release. For more information on updating change logs can be found in [`CONTRIBUTING.md`](../../CONTRIBUTING.md#updating-the-change-log)

## Misc

### Publish to PowerShell Gallery

To publish your module to the [official PowerShell gallery](http://www.powershellgallery.com/) or the test gallery site, contact the Azure PowerShell team

## AutoRest PowerShell Generator
- [autorest.powershell documentation](https://github.com/Azure/autorest.powershell/tree/master/docs)
- [examples](https://github.com/Azure/azure-powershell/tree/generation/src)

---

### Documentation Development Docs Breakingchange For Autogen Module (`documentation/development-docs/breakingchange-for-autogen-module.md`)

To add breaking changes and preview messages for cmdlets, there are two scenarios to handle.

- For auto gen cmdlets
- For customized cmdlets

# For auto gen cmdlets

Breaking changes and preview messages for auto gen cmdlets are added through directives in readme.md. And following are some common cases.

## Case 1 — Module is deprecated

```yaml
- where:
    verb: (.*)
  set:
    breaking-change:
      deprecated-by-version: 5.0.0
      deprecated-by-azversion: 20.0.0
      change-effective-date: 2055/10/30
```

## Case 2 — Breaking change for a cmdlet

```yaml
- where:
    verb: New
    subject: VNetPeering
  set:
    breaking-change:
      replacement-cmdlet: New-AzNewVNetPeering
      deprecated-by-version: 5.0.0
      deprecated-by-azversion: 20.0.0
      change-effective-date: 2022/05/30
```

## Case 3 — Breaking change for multiple cmdlets

```yaml
- where:
    subject: VNetPeering
  set:
    breaking-change:
      replacement-cmdlet: $.replace("VNetPeering", "VNewNetPeering")
      deprecated-by-version: 5.0.0
      deprecated-by-azversion: 20.0.0
      change-effective-date: 2022/05/30
```

## Case 4 — Breaking change for an output type

```yaml
- where:
    verb: New
    subject: VNetPeering
  set:
    breaking-change:
      deprecated-cmdlet-output-type: oldtype
      replacement-cmdlet-output-type: newtype
      deprecated-output-properties:
        - propertyA
        - PropertyB
      new-output-properties:
        - PropertyC
        - PropertyD
      change-description: This is a custom message for the change.
      deprecated-by-version: 5.0.0
      deprecated-by-azversion: 20.0.0
      change-effective-date: 2022/05/11
```

## Case 5 — Breaking change for parameter sets(variants)

```yaml
- where:
    verb: Remove
    subject: VNetPeering
    variant: Delete
  set:
    breaking-change:
      deprecated-by-version: 5.0.0
      deprecated-by-azversion: 20.0.0
      change-effective-date: 2022/05/30
```

## Case 6 — Breaking change for a parameter

```yaml
- where:
    parameter-name: Sku
  set:
    breaking-change:
      old-parameter-type: int
      new-parameter-type: boolean
      become-mandatory: true
      change-description: This is a custom message for the change.
      deprecated-by-version: 5.0.0
      deprecated-by-azversion: 20.0.0
      change-effective-date: 2022/05/30
```

## Case 7 — Preview message

```yaml
- where:
    verb: New
    subject: VNetPeering
  set:
    preview-announcement:
      preview-message: This is a test preview message.
      estimated-ga-date: 2023-09-30
```

## Case 8 — Breaking change for a cmdlet(No parameter specified; only apply description at the cmdlet level)

```yaml
- where:
    verb: Remove
    subject: VNetPeering
  set:
    breaking-change:
      deprecated-by-version: 5.0.0
      deprecated-by-azversion: 20.0.0
      change-effective-date: 2022/05/30
      change-description: Breaking change message applies at the cmdlet level
```

# For customized cmdlets

To add breaking changes or preview messages for a customized cmdlets, you will need to add related attributes in code directly. And following are some common cases.

You must provide expected breaking change az version and module version otherwise it won't compile. The first version is expected az version while the second one is expected module version.

**Note: these examples are based on the Az.Databricks module. Please double check the namespace. You will most likely need to replace "Databricks" with your module's name.**

## Case 1 — Generic Breaking change for a cmdlet

```csharp
[Microsoft.Azure.PowerShell.Cmdlets.Databricks.Runtime.GenericBreakingChangeAttribute("message about the change", "16.0.0", "4.0.0", "2022/05/30")
```

## Case 2 — Breaking change for a cmdlet

```csharp
[Microsoft.Azure.PowerShell.Cmdlets.Databricks.Runtime.CmdletBreakingChangeAttribute("16.0.0", "4.0.0", "2022/05/30", ReplacementCmdletName = 'replace-xxx')
```

## Case 3 — Breaking change for an output type

```csharp
[Microsoft.Azure.PowerShell.Cmdlets.Databricks.Runtime.OutputBreakingChangeAttribute("oldtype", "11.0.0", "5.0.0", "2022/05/11", ReplacementCmdletOutputType = "newtype", DeprecatedOutputProperties = ("propertyA", "PropertyB"), NewOutputProperties = ("PropertyC", "PropertyD"))]
```

## Case 4 — Breaking change for a parameter

```csharp
[Microsoft.Azure.PowerShell.Cmdlets.Databricks.Runtime.ParameterBreakingChangeAttribute("ResourceGroupName", "11.0.0", "4.1.0", "2028/06/18")]
```

## Case 5 — Preview message

```csharp
[Microsoft.Azure.PowerShell.Cmdlets.Databricks.Runtime.PreviewMessageAttribute("This is a preview version", "2028/06/18")]
```

---

### Documentation Development Docs Cleaning Up Commits (`documentation/development-docs/cleaning-up-commits.md`)

## Cleaning up commits

### Best practices for keeping commits clean

During development, to make sure that your commit history stays clean while the branch you're based off of is changing, follow some of these rules:

1. **Rebase instead of merging**
    - When you need to update your branch with the changes made to the base branch, [rebasing](#rebasing) will change the commit that your branch is based off of, allowing you to add the changes from the base branch and not gain an extra commit that you would with merging
2. **Large number of changes**
    - If you create a pull request that contains a large number of changes (*e.g.,* re-recording tests) that won't be able to be displayed on GitHub, separate your changes into multiple pull requests that reference each other.

### Number of commits

It can be difficult to follow the changes in a pull request when the number of commits that come with it become too large:
- If a bug fix is being addressed, a single commit should be submitted
- If a new feature is being introduced, then the pull request can have multiple logical commits with each commit clearly describing what it does

### Rebasing

Sometimes a pull request can be based on a much earlier commit in the branch that you are trying to merge into it, causing a large amount of commits and file changes to litter the pull request. In this case, it would be better to **rebase** (move branches around by changing the commit that they are based on).

For example, if you're working from the branch **feature** and are trying to rebase with **dev**, you'll first want to pull the latest changes from **dev**:

```
git pull upstream dev
```

Next, you'll want to "uncommit" all of the changes in **feature** that differ from **dev**:

```
git reset --soft upstream/dev
```

Finally, make a small number of commits with the changes you have made and push them to your fork:

```
< commit changes >
git push origin feature -f
```

**Note**: the `-f` must be included when pushing to your fork for the rebase to be successful 

For more information on rebasing, click [here](https://git-scm.com/docs/git-rebase).

### Squashing

When your pull request has a group of commits that can be condensed into one, logical commit, use **squashing**. This will clean up the number of commits your pull request has while also grouping together common commits. 

For example, if you wanted to squash the last three commits into one, you may run the following command:

```
git rebase -i HEAD~3
```

This will bring up an editor showing your last three commits. Pick a commit to keep (as the message), and squash the other two into it.

For more information on squashing, click [here](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#Squashing-Commits).

### Cherry-picking

If you want to merge specific commits from another branch into the current one you are working from, use **cherry-picking**. 

For example, if you're working on the **main** branch and want to pull commit X (the commit-hash) from the **feature** branch, you may run the following commands:

```
git checkout main
git cherry-pick X -n
```

The `-n`, or `--no-commit`, is recommended for cherry-picking because it won't automatically create a commit for the cherry-picked change; this will allow you to view the changes first and make sure that you want to add all everything from the cherry-picked commit.

Now, if you want to cherry-pick a range of commits, say X through Y, from the **feature** branch, you may run the following commands:

```
git checkout -b temp-branch X
git rebase --onto main Y^
```

For more information on cherry-picking, click [here](https://git-scm.com/docs/git-cherry-pick).

---

### Documentation Development Docs Common Assemblies (`documentation/development-docs/common-assemblies.md`)

# Common Assemblies
It is common scenario that 2 different modules take dependency on different versions of one assembly. It won't be big issue for Windows PowerShell as .NET Framework allows to load different versions of one assembly into one process. However, .NET Core and .NET 5+ do not allow to load 2 different versions of one assembly into the same [AssemblyLoadContext](https://learn.microsoft.com/en-us/dotnet/api/system.runtime.loader.assemblyloadcontext).

As a platform, PowerShell allows user to import modules on demand. Modules may probably share the same dependency but with different versions. Assembly conflict is a common problem in PowerShell. Although Azure PowerShell cannot resolve it completely, we introduce techniques across modules of Azure PowerShell to mitigate this problem. The idea come from [Resolving PowerShell Module Assembly Dependency Conflicts](https://devblogs.microsoft.com/powershell/resolving-powershell-module-assembly-dependency-conflicts/)

To minimize conflicts among modules, shared assemblies are loaded by Az.Accounts during being imported. All assemblies should be referenced by `Common.Netcore.Dependencies.targets` and stored under `src/lib/{framework}/` according to target framework.

## PowerShell 7+ with .NET 5+
Since .NET Core and .NET 5+ cannot load 2 different versions of one assembly into the same assembly load context. `Az.Accounts` creates a dedicated context during initialization to load all the **shared** assemblies. We select shared assemblies according to their popularity, such as [Microsoft Authentication Library (MSAL.NET)](https://www.nuget.org/packages/Microsoft.Identity.Client/), [`Azure.Core`](https://www.nuget.org/packages/Azure.Core), and [`Azure.Identity`](https://www.nuget.org/packages/Azure.Identity).

Service modules of Azure PowerShell also can create their own assembly load context when they must depend on an assembly of different version from other modules. The page [How to define AssemblyLoadContext for module](/src/Accounts/AuthenticationAssemblyLoadContext) provides a comprehensive sample used by `Az.Compute`.

## Windows PowerShell with .NET Framework
The major problem on Windows PowerShell is required assembly may not be offered by Windows PowerShell or .NET Framework. `Az.Accounts` registers a handler in `CustomAssemblyResolver` to handle event that required assembly could not be resolved. It means target assembly cannot be found from the probing path of .NET Framework or Windows PowerShell. Then, resolver compares expected version and loads target from directory `/lib` in `Az.Accounts` (`src/lib/` in source code) if major version is the same. Here, we assume there is no breaking change across minor or patch versions, but it cannot be guaranteed.

For further reading, please visit https://learn.microsoft.com/en-us/dotnet/standard/assembly/resolve-loads#how-the-assemblyresolve-event-works

## Example: How to upgrade `Azure.Core`
`Azure.Core` is a common library used by management plane and data plane track 2 SDKs. Below are the steps to upgrade its version.
1. Navigate to [Common.Netcore.Dependencies.targets](/tools/Common.Netcore.Dependencies.targets) to check current version of `Azure.Core` used by latest code and bump version to expected.
2. Compare dependencies of `Azure.Core` on [nuget.org](https://www.nuget.org/packages/Azure.Core/) between current version and expected version, including the dependencies of the dependencies. Identify which of the dependencies are updated or newly introduced.
   1. You need to ensure the version CANNOT be higher than existing assembly if PowerShell already includes it.
3. For each updated assembly (including `Azure.Core`)
   1. Look for it in `src/Accounts/AssemblyLoading/ConditionalAssemblyProvider.cs`. Note down its target framework. It should be one of "netcoreapp*", "netstandard*" and "netfx" (stand for ".NET framework").
   2. Download the nuget package from nuget.org, decompress it, find the DLL with the correct framework in `lib/{framework}` and replace the one in `src/lib/{framework}` with it.
   3. Update `src/Accounts/AssemblyLoading/ConditionalAssemblyProvider.cs` with the new assembly version. To get the version, open the DLL file with [ILSpy](https://github.com/icsharpcode/ILSpy).
4. For each newly introduced assembly
   1. Download the nuget package. Decompress it.
   2. Find the assembly with desired target framework. In most cases we should choose "netstandard*" (* <= 2.0).
      - As an exception, `Microsoft.Identity.Client` needs its net461 version because of known issue with certificates.
   3. Copy the assembly to `src/lib/{framework}`.
   4. Update `src/Accounts/AssemblyLoading/ConditionalAssemblyProvider.cs` with the new assembly. To get the assembly version, open the DLL file with [ILSpy](https://github.com/icsharpcode/ILSpy).
5. Verify built `Az.Accounts` can work with existing Azure PowerShell modules on PowerShell 7 and Windows PowerShell.
   - Import module into PowerShell 7 or Windows PowerShell, and ensure there is no error in verbose output
    ```powershell
    $VerbosePreference = "Continue"
    Import-Module .\artifacts\Release\Az.Accounts\Az.Accounts.psd1
    ```
   - Connect to Azure and switch to your test subscription
    ```powershell
    Connect-AzAccount
    Set-AzContext -Subscription <target subscription name>
    ```
   - Execute sanity test and ensure all modules can be imported correctly
    ```powershell
    (Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Azure/azure-powershell/main/tools/Test/SmokeTest/RmCoreSmokeTests.ps1").Content | Invoke-Expression
    ```

Please note `Azure.Core` **CANNOT** be upgraded till the next Az major release if above test is failed.

## FAQ
### How to list all loaded assemblies in PowerShell session?
Below script can be used to list all loaded assemblies when modules are imported. It is also used to detect the imported module which loads lower version of assembly and blocks Azure PowerShell modules.
```powershell
[System.AppDomain]::CurrentDomain.GetAssemblies() | Where-Object Location | Sort-Object -Property FullName | Select-Object -Property FullName, Location
```

### How to check version and target framework of assembly?
We recommend [ILSpy](https://github.com/icsharpcode/ILSpy).

### How to get detailed information for assembly binds?
PowerShell normally shows brief information when required assembly cannot be found or loaded. Assembly Binding Log Viewer can help to display details. This tool is installed with Visual Studio together. You need to run `Visual Studio Developer PowerShell` with administrator privileges and execute `fuslogvw` to invoke this tool.

For more information, please reference https://learn.microsoft.com/en-us/dotnet/framework/tools/fuslogvw-exe-assembly-binding-log-viewer

---

### Documentation Development Docs Enable Subscription Id Overriding (`documentation/development-docs/enable-subscription-id-overriding.md`)

# How to: Enable Overriding Subscription ID in Your Module

- [Background](#background)
- [Limitation](#limitation)
- [Steps](#steps)
  - [Add `SupportsSubscriptionId` Attribute](#add-supportssubscriptionid-attribute)
  - [Regenerate Help Documents](#regenerate-help-documents)
- [Notes / Troubleshooting](#notes--troubleshooting)
  - [Your Cmdlet Implements `IDynamicParameters`](#your-cmdlet-implements-idynamicparameters)
  - [Static Analysis Fails: Parameters are Removed](#static-analysis-fails-parameters-are-removed)

## Background

Working with **multiple Azure subscriptions** can be inconvenient in Azure PowerShell, because users has to keep switching the context, which is why we introduced a mechanism that can easily turn your module **multiple-subscription-friendly** in [Az v6.4.0](https://github.com/Azure/azure-powershell/blob/isra-fel-patch-1/ChangeLog.md#640---september-2021). For example

```powershell
# Legacy (switch subscription first)
Select-AzSubscription -SubscriptionId "00000000-0000-0000-0000-000000000000"
New-AzAksCluster ...

# New (just -SubscriptionId)
New-AzAksCluster ... -SubscriptionId "00000000-0000-0000-0000-000000000000"
```

The new design does not only simplify scripts, but also runs more efficiently, as it saves 1 cmdlet execution per subscription switching.

## Limitation

The feature was designed to balance between "supporting more login scenarios" and "being easy to use". Here are the limitations:

- **One subscription, multiple accounts**: when you login Azure PowerShell with multiple user accounts, and there is one subscription owned by more than one of them, it is obvious that `-SubscriptionId` is not enough to tell which context you wish to use, but we do not want to introduce more parameters, so this is not supported.
  - Work-around is to log in with only 1 user account.
- **Management-plane only**: as subscription may not make as much sense in data-plane as in management-plane, this feature is suggested to be applied to management-plane cmdlets only.

## Steps

Here are the two simple steps to enable this for your module:

### Add `SupportsSubscriptionId` Attribute

You can either add it to the cmdlet base class, which applies to all the derived cmdlets; or to individual cmdlets.

```csharp
[SupportsSubscriptionId] // Adding to base class: all cmdlets that inherit `KubeCmdletBase` will benefit
public abstract class KubeCmdletBase : AzureRMCmdlet { /* ... */ }

[SupportsSubscriptionId] // Adding to cmdlet class: only this cmdlet will benefit
public class NewAzureRmAks : CreateOrUpdateKubeBase { /* ... */ }
```

### Regenerate Help Documents

By adding the attribute your cmdlet(s) get a `[-Subscription <String>]` parameter, so the help documents need to be regenerated.
Please refer to [Azure PowerShell Help Generation](https://github.com/Azure/azure-powershell/blob/main/documentation/development-docs/help-generation.md) for more details.


## Notes / Troubleshooting

This design is compatible with most modules, however, there are some uncommon case you should be careful.

### Your Cmdlet Implements `IDynamicParameters`

The `-SubscriptionId` parameter is added via `IDynamicParameters` interface, so if your cmdlet has already implemented it, make sure:

1. `GetDynamicParameters()` is decorated with [`new` modifier](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/new-modifier).
1. Call `base.GetDynamicParameters()` and combine the results in your `GetDynamicParameters()`.

A sample implementation:

```csharp
public new object GetDynamicParameters()
{
    var parameters = base.GetDynamicParameters() as RuntimeDefinedParameterDictionary;
    // here should be customized logic to construct `RuntimeDefinedParameter` objects,
    // and call `parameters.Add()`
    return parameters;
}
```

### Static Analysis Fails: Parameters are Removed

This happens when the constructor of your cmdlet throws an exception -- normally constructors are not called during static analysis, but things are different if this feature is enabled.
Make sure you use `BeginProcessing()` for heavy work.

```csharp
// DO NOT
public StorageSyncClientCmdletBase()
{
    InitializeComponent(); // do stuff that throws exception in test environment, like an API call
}

// DO
public StorageSyncClientCmdletBase()
{
}

protected override void BeginProcessing()
{
    base.BeginProcessing();
    InitializeComponent();
}
```

---

### Documentation Development Docs Generate Format.Ps1xml File (`documentation/development-docs/generate-format.ps1xml-file.md`)

# Introduction
Output is the most important part of any interactive console application including Powershell. PowerShell has a set of  [format cmdlets](https://learn.microsoft.com/en-us/powershell/scripting/getting-started/cookbooks/using-format-commands-to-change-output-view?view=powershell-6) that allow you to control the cmdlet output format:
1. Format-Wide
2. Format-List
3. Format-Table
4. Format-Custom

Each format cmdlet has default properties that will be used if you do not specify specific properties to display. Each cmdlet also uses the same parameter name, **Property**, to specify which properties you want to display.

Our team trends to make the cmdlets output more convenient and consistent across all the resource providers and chasing the following goals:
1. Default output for cmdlets should be displayed in a table view.
2. Output should include only essential properties with clear labels.


# How table view output works by default.

 As an example let's consider [Get-AzSubscription](https://github.com/Azure/azure-powershell/blob/main/src/Accounts/Accounts/Subscription/GetAzureRMSubscription.cs) cmdlet. 

The cmdlet class specifies the ```PSAzureSubscription``` class as an output type with the **OutputType attribute**:

```Cs
namespace Microsoft.Azure.Commands.Profile
{
    [Cmdlet(VerbsCommon.Get, "AzSubscription", DefaultParameterSetName = ListByIdInTenantParameterSet),
        OutputType(typeof(PSAzureSubscription))]
    public class GetAzureRMSubscriptionCommand : AzureRmLongRunningCmdlet
    {
        public const string ListByIdInTenantParameterSet = "ListByIdInTenant";
        public const string ListByNameInTenantParameterSet = "ListByNameInTenant";

// omitted for brevity the rest of the definition.
```

The [PSAzureSubscription](https://github.com/Azure/azure-powershell-common/blob/main/src/Authentication.ResourceManager/Models/PSAzureSubscription.cs) class contains several public properties. 

* Id
* Name
* State
* SubscriptionId
* TenantId
* CurrentStorageAccountName
* ExtendedProperties

```Cs
// code omitted for brevity 
namespace Microsoft.Azure.Commands.Profile.Models
{
    public class PSAzureSubscription : IAzureSubscription
    {

// code omitted for brevity 

        public string Id { get; set; }

        public string Name { get; set; }

        public string State { get; set; }

        public string SubscriptionId { get { return Id; } }

        public string TenantId
        {
            get
            {
                return this.GetTenant();
            }
            set
            {
                this.SetTenant(value);
            }
        }

        public string CurrentStorageAccountName
        {
            get
            {
                return GetAccountName(CurrentStorageAccount);
            }
        }

        public IDictionary<string, string> ExtendedProperties { get; }

// code omitted for brevity 
```

PowerShell uses these properties for the cmdlet table formatted output:

```PowerShell
PS C:\> Get-AzSubscription | Format-Table

Id                                   Name                      State   SubscriptionId                       TenantId                             CurrentStorageAcc
                                                                                                                                                 ountName
--                                   ----                      -----   --------------                       --------                             -----------------
c9cbd920-c00c-427c-852b-c329e824c3a8 Azure SDK Powershell Test Enabled c9cbd920-c00c-427c-852b-c329e824c3a8 72f988bf-86f1-41af-91ab-7a64d1d63df5
6b085460-5f21-477e-ba44-4cd9fbd030ef Azure SDK Infrastructure  Enabled 6b085460-5f21-477e-ba44-4cd9fbd030ef 72f988bf-86f1-41af-91ab-7a64d1d63df5


```

The default table output reveals some issues:
* The selected fields don't fit in a standard window
* The columns are not displayed in order of importance to the customer for doing their work.
* **SubscriptionId** property values duplicates the **Id** property values, 
* **CurrentStorageAccountName** property values are empty 
* **ExtendedProperties** property values don't fit in the console window and omitted.

# File format.ps1xml.

Powershell allows to configure cmdlets output view with the [format.ps1xml](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_format.ps1xml) files.

To provide a better PowerShell Azure cmdlets output experience we worked out a mechanism to quickly generate a format.ps1xml file:


1. Mark all the cmdlet output type public properties that should go to the table output with the *Ps1XmlAttribute* attribute.
2. Run the New-FormatPs1Xml cmdlet to generate the format.ps1xml file.

---
 We presume that for the [output type](./design-guidelines/cmdlet-best-practices.md#output-type) you created a new class that, for example,  wraps a returning .NET SDK type, rather than PSObject.

---


#  Ps1XmlAttribute attribute.

The key element of the mechanism is the **Ps1XmlAttribute** attribute located in the [Commands.Common](https://github.com/Azure/azure-powershell-common/blob/main/src/Common/Attributes/Ps1XmlAttribute.cs) project. Below is the attribute definition:

```Cs
namespace Microsoft.WindowsAzure.Commands.Common.Attributes
{
    [Flags]
    public enum ViewControl
    {
        None = 0,
        Table,
        List,
        All = Table | List,
    }

    [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = true)]
    public sealed class Ps1XmlAttribute : Attribute
    {
        public string Label { get; set; }

        public ViewControl Target { get; set; } = ViewControl.Table;

        public string ScriptBlock { get; set; }

        public bool GroupByThis { get; set; }

        public uint TableColumnWidth { get; set; }

        public uint Position { get; set; } = Ps1XmlConstants.DefaultPosition;
    }
}

```

With the attribute you can specify for a public property (or field) a target view (table view is default) and a label.

# Ps1XmlAttribute attribute usage.

## Properties of primitive types.

Let's say for our example we want to only show these parameters in the output:
* Id
* Name
* State
* TenantId

We just need to add the Ps1Xml attribute to the selected properties:

```Cs
// code omitted for brevity
using Microsoft.WindowsAzure.Commands.Common.Attributes;

namespace Microsoft.Azure.Commands.Profile.Models
{
    public class PSAzureSubscription : IAzureSubscription
    {

// code omitted for brevity

        [Ps1Xml(Label = "SubscriptionId", Target = ViewControl.Table)]
        public string Id { get; set; }

        [Ps1Xml(Label = "Name", Target = ViewControl.Table)]
        public string Name { get; set; }

        [Ps1Xml(Label = "State", Target = ViewControl.Table)]
        public string State { get; set; }

        public string SubscriptionId { get { return Id; } }

        [Ps1Xml(Label = "TenantId", Target = ViewControl.Table)]
        public string TenantId
        {
            get
            {
                return this.GetTenant();
            }
            set
            {
                this.SetTenant(value);
            }
        }

        public string CurrentStorageAccountName
        {
            get
            {
                return GetAccountName(CurrentStorageAccount);
            }
        }

        public IDictionary<string, string> ExtendedProperties { get; } = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);

// code omitted for brevity 
```
* The column order in the output table will be the same as the order of the properties in the class:
  ```
  Id Name State TenantId
  == ==== ===== ========
  ```
* If **Label** is not specified - the property name will be used. 

* Since the **Ps1Xml attribute** definition is located in the [Commands.Common](https://github.com/Azure/azure-powershell-common/tree/main/src/Common) project and the Command.Common project is likely referenced from your project - to make the attribute visible - you only need to add ```using Microsoft.WindowsAzure.Commands.Common.Attributes;``` statement.

## Properties of complex types.

If you have a property of a complex type, for example, Account of type IAzureAccount:
```Cs
    public class PSAzureContext : IAzureContext
    {
        // code omitted for brevity

        public IAzureAccount Account { get; set; }

        // code omitted for brevity
    }

```
where the IAzureAccount type has its own properties :

```Cs
    public interface IAzureAccount : IExtensibleModel
    {
        string Id { get; set; }

        string Credential { get; set; }

        string Type { get; set; }

        IDictionary<string, string> TenantMap { get; }
    }
```

To specify what goes into the table view - use the **ScriptBlock** attribute property. You can use as many attributes as you need to specify all desired complex type properties: 
```Cs
    public class PSAzureContext : IAzureContext
    {
        // code omitted for brevity

        [Ps1Xml(Label = "Account.Id", Target = ViewControl.Table, ScriptBlock = "$_.Account.Id")]
        [Ps1Xml(Label = "Account.Type", Target = ViewControl.Table, ScriptBlock = "$_.Account.Type")]
        public IAzureAccount Account { get; set; }

        // code omitted for brevity
    }

```
Note: **$_** symbol in PowerShell means the same as **this** key word means in C#. 

These two attribute will result in 2 column in the table view:
```Ps
    Account.Id   Account.Type
    ==========   ============
```
## GroupBy a property.

If you need to group by a property - use the **GroupByThis** attribute property like this:
```Cs
public class PSAzureSubscription : IAzureSubscription
{

// code omitted for brevity

    [Ps1Xml(Label = "SubscriptionId", Target = ViewControl.Table, GroupByThis = true)]
    public string Id { get; set; }

// code omitted for brevity 
``` 
## Column order.

The column order in the output table will be the same as the order of the properties in the class. If you need to change this behavior - use the **Position** (zero-based) attribute property like this:
```Cs
public class PSAzureSubscription : IAzureSubscription
{

// code omitted for brevity

    [Ps1Xml(Label = "Name", Target = ViewControl.Table, Position = 0)]
    public string Name { get; set; }

// code omitted for brevity 
``` 

This will place the column at the very beginning of the table.


# How to generate format.ps1xml file.

## Let's consider how to generate a format.ps1xml file for the Az.Storage and Az.Account modules.
1. Start PowerShell 6
2. Build and import the FormatPs1XmlGenerator module.
    * Go to the generator directory
    ```Powershell
    PS C:\Users\you> cd E:\git\azure-powershell\tools\FormatPs1XmlGenerator\
    ```
    * Build the generator solution
    ```Powershell
    PS E:\git\azure-powershell\tools\FormatPs1XmlGenerator> dotnet build
    ```
    * Import the generator module
    ```Powershell
    PS E:\git\azure-powershell\tools\FormatPs1XmlGenerator> Import-Module .\FormatPs1XmlGenerator\bin\Debug\FormatPs1XmlGenerator.psd1
    ```

3. Build the Az.Storage module.
    * Go to the Storage directory
    ```Powershell
    PS C:\Users\you>cd E:\git\azure-powershell\src\Storage
    ```
    * Build the module
    ```Powershell
    PS E:\git\azure-powershell\src\Storage>dotnet build
    ```
    * Go to the repository root folder
    ```Powershell
    PS E:\git\azure-powershell\src\Storage>cd E:\git\azure-powershell\
    ```
    * Check the artifacts folder - all built modules should be there. Since Az.Storage depends on the Az.Accounts module both Az.Accounts and Az.Storage modules should be there:
    ```Powershell
    PS E:\git\azure-powershell> ls .\artifacts\Debug\


    Directory: E:\git\azure-powershell\artifacts\Debug


    Mode                LastWriteTime         Length Name
    ----                -------------         ------ ----
    d-----        1/29/2019   2:18 PM                Az.Accounts
    d-----        1/29/2019   2:18 PM                Az.Storage
    ```
4. Run the **New-FormatPs1Xml** cmdlet. 
    * The cmdlet has one required parameter **-ModulePath** - a path to a module manifest (psd1) file.
    * Also with the cmdlet we need to use **-OnlyMarkedProperties** switch.
    * You may also want to specify an output path for the generated file with the **-OutputPath** argument. If not specified this is current folder.
    * After a successful run the cmdlet outputs the full path to the generated format.ps1xml file.

    * Below is an example of how to generate a format.ps1xml file for the ```Az.Storage``` module:
    ```Powershell
    PS E:\git\azure-powershell> New-FormatPs1Xml -OnlyMarkedProperties -ModulePath .\src\Storage\Storage\Az.Storage.psd1
    E:\git\azure-powershell\Microsoft.Azure.PowerShell.Cmdlets.Storage.Management.generated.format.ps1xml
    E:\git\azure-powershell\Microsoft.Azure.PowerShell.Cmdlets.Storage.generated.format.ps1xml
    ```
    * Below is an example of how to generate a format.ps1xml file for the ```Az.Account``` module:
    ```powershell
    PS E:\git\azure-powershell> New-FormatPs1Xml -OnlyMarkedProperties -ModulePath .\src\Accounts\Accounts\Az.Accounts.psd1
    E:\git\azure-powershell\Microsoft.Azure.PowerShell.Cmdlets.Accounts.generated.format.ps1xml
    PS E:\git\azure-powershell>
    ```

# How to test the format.ps1xml file.

## Let's take a look at how to check the newly created format.ps1xml file for the ```Az.Account``` module.
**Note:** All the paths used in the example in the section are under **_azure-powershell/src/<module_name>_**

1. **Copy** the generated format.ps1xml file to the built module folder (this is where your module manifest file psd1 is located). In our example the module folder is 
```
E:\git\azure-powershell\artifacts\Debug\Az.Accounts
```

2. Modify your module manifest file. 
* In our example the module manifest is Az.Accounts.psd1: 
```
E:\git\azure-powershell\artifacts\Debug\Az.Accounts\Az.Accounts.psd1 
``` 

* In the module manifest file there is a variable called **FormatsToProcess** to reference format.ps1xml files.
If the variable already has a value - **insert** you generated file before the value following by comma (or just replace it).
In our example insert the generated file ```'.\Microsoft.Azure.Commands.Profile.generated.format.ps1xml'``` before the existing one ```'.\Microsoft.Azure.Commands.Profile.format.ps1xml'```:

```Powershell
# script omitted for brevity

# Format files (.ps1xml) to be loaded when importing this module
FormatsToProcess = '.\Microsoft.Azure.Commands.Profile.generated.format.ps1xml', '.\Microsoft.Azure.Commands.Profile.format.ps1xml'

# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
NestedModules = @('.\Microsoft.Azure.Commands.Profile.dll')

# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
FunctionsToExport = @()

# script omitted for brevity
```
3. Open a **PowerShell window** and **import** your module. In our example it is Az.Accounts:
```Powershell
PS C:\> Import-Module E:\git\azure-powershell\artifacts\Debug\Az.Accounts\Az.Accounts.psd1
```

4. Try your cmdlet out. In our example it is Get-AzureRmSubscription:
```Powershell
PS C:\> Get-AzSubscription

SubscriptionId                       Name                      State   TenantId
---------------                      -----------------         -----   ---------
c9cbd920-c00c-427c-852b-c329e824c3a8 Azure SDK Powershell Test Enabled 72f988bf-86f1-41af-91ab-7a64d1d63df5
6b085460-5f21-477e-ba44-4cd9fbd030ef Azure SDK Infrastructure  Enabled 72f988bf-86f1-41af-91ab-7a64d1d63df5
```
* Note the table output happens without ```| Format-Table``` cmdlet usage.


# How to add the format.ps1xml file to your project.

**Note:** All the paths used in the example in the section are under **_azure-powershell/src/Accounts_**

1. Copy the generated file into your project source folder. In our example this is [src/Accounts/Accounts](https://github.com/Azure/azure-powershell/tree/main/src/Accounts/Accounts) folder.

2. Reference the generated format.ps1xml file form your project. In our example this is [Accounts.csproj](https://github.com/Azure/azure-powershell/blob/main/src/Accounts/Accounts/Accounts.csproj) file.
- **Note**: This is now automatically referenced based on `Az.props` being imported in your csproj file.

3. Add the generated format.ps1xml file to your source module manifest **FormatsToProcess** variable. In our example this is [src/Accounts/Az.Accounts.psd1](https://github.com/Azure/azure-powershell/blob/main/src/Accounts/Az.Accounts.psd1) file:
```Powershell
# script omitted for brevity

# Format files (.ps1xml) to be loaded when importing this module
FormatsToProcess = '.\Accounts.generated.format.ps1xml', '.\Accounts.format.ps1xml'

# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
NestedModules = @('.\Microsoft.Azure.PowerShell.Cmdlets.Profile.dll')

# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
FunctionsToExport = @()

# script omitted for brevity
```

---

### Documentation Development Docs Help Generation (`documentation/development-docs/help-generation.md`)

# Azure PowerShell Help Generation

## Description

All MAML files containing the help content for cmdlets have been removed from the Azure PowerShell repository and replaced with markdown files, which are generated and maintained using the [`platyPS`](https://github.com/PowerShell/platyPS) module. Each module has a `help` folder (_e.g.,_ `src/Accounts/Accounts/help`) which contains a markdown file for each of the cmdlets found in that given module. When the help content for a cmdlet (or multiple cmdlets) needs to be updated, users will now only have to update the contents of the markdown file, _and not the MAML file as well_.

## Installing `platyPS`

In order to use the cmdlets necessary to update the markdown help files (or generate MAML help locally from these markdown files), you must first install the `platyPS` module mentioned previously.  You will need to install a minimum version of 0.11.0.

To do so, you can follow the below steps (which are outlined in the [**Quick start**](https://github.com/PowerShell/platyPS#quick-start) section of the `platyPS` README):

```powershell
Install-Module -Name platyPS -Scope CurrentUser
```

**Note:** this module will need to be installed from the [PowerShell Gallery](http://www.powershellgallery.com/). If, for some reason, this isn't a registered repository when running the `Get-PSRepository` cmdlet, then you will need to register it by running the following command:

```powershell
Register-PSRepository -Default -InstallationPolicy Trusted
```

## Using `platyPS`

### Importing your module

Before you run the `platyPS` cmdlets to update your markdown help files, you will need to first import the module containing the changes that you have made to your cmdlets into your current PowerShell session. Once you have built your project (either through Visual Studio or with `msbuild`), you can locate the module manifest that you will need to import in the `artifacts/Debug` folder of your local repository.

For example, if you have made changes to the `Accounts` module, you will find the corresponding module manifest in `artifacts/Debug/Az.Accounts/Az.Accounts.psd1`.

Once you have located the module manifest, you can import it in your current PowerShell session by running the following command:

```powershell
$PathToModuleManifest = "../../<module>.psd1"
Import-Module -Name $PathToModuleManifest
```

**Note**: if you do not see all of the changes you made to the cmdlets in your markdown files (_e.g.,_ a cmdlet you deleted is still appearing), you may need to delete any existing Azure PowerShell modules that you have on your machine (installed either through the PowerShell Gallery or by Web Platform Installer) before you import your module.

### Generating help for a new module

For new modules with no existing `help` folder containing the markdown help files, run the following command to do an initial generation:

```powershell
$PathToHelpFolder = "../../help" # Full path to help folder containing markdown files to be generated (e.g., src/Accounts/Accounts/help)
New-MarkdownHelp -Module {{moduleName}} -OutputFolder $PathToHelpFolder -AlphabeticParamsOrder -UseFullTypeName -WithModulePage
```

Once this folder has been generated, follow the steps provided in the below section to update the files with any changes made to the public interface of the cmdlets.

### Updating help after making cmdlet changes

Whenever the public interface for a cmdlet has changed, the corresponding markdown file for that cmdlet will need to be updated to reflect the changes. Public interface changes include the following:

- Add/change/remove parameter set
- Add/remove parameter
- Change attribute of a parameter
    - Type
    - Parameter set(s)
    - Aliases
    - Mandatory
    - Position
    - Accept pipeline input
- Add/change output type

#### Updating all markdown files in a module

To update all of the markdown files for a single module, use the [`Update-MarkdownHelpModule`](https://github.com/PowerShell/platyPS/blob/master/docs/Update-MarkdownHelpModule.md) cmdlet:

```powershell
$PathToModuleManifest = "../../<module>.psd1" # Full path to the module manifest that you have updated
Import-Module -Name $PathToModuleManifest

$PathToHelpFolder = "../../help" # Full path to help folder containing markdown files to be updated
Update-MarkdownHelpModule -Path $PathToHelpFolder -RefreshModulePage -AlphabeticParamsOrder -UseFullTypeName
```

If you would like to update the inputs/outputs for a markdown file, please run this cmdlet with the -UpdateInputOutput parameter.  Keep in mind that this will overwrite any customized descriptions of inputs and outputs, so you will need to add these descriptions back if still relevant.

This will update all of the markdown files with public interface changes made to corresponding cmdlets, add markdown files for any new cmdlets, remove markdown files for any deleted cmdlets, and update the module page (_e.g.,_ `Az.Accounts.md`) with any added or removed cmdlets.

_This seems to work better when run from within the `help` folder itself (For e.g. to generate the help files for the [`Network`](https://github.com/Azure/azure-powershell/tree/main/src/Network) module run the cmd from under [`Commands.Network/help`](https://github.com/Azure/azure-powershell/tree/main/src/Network/Network/help)). Also, you will have to import the profile module from under <Repo base path>/artifacts/Debug/Az.Accounts/Az.Accounts.psd1_
 
#### Updating a single markdown file

To update a single markdown file with the changes made to the corresponding cmdlet, use the [`Update-MarkdownHelp`](https://github.com/PowerShell/platyPS/blob/master/docs/Update-MarkdownHelp.md) cmdlet:

```powershell
$PathToModuleManifest = "../../<module>.psd1" # Full path to the module manifest that you have updated
Import-Module -Name $PathToModuleManifest

$PathToMarkdownFile = "../../<cmdlet>.md" # Full path to the markdown file to be updated
Update-MarkdownHelp -Path $PathToMarkdownFile -AlphabeticParamsOrder -UseFullTypeName
```

If you would like to update the inputs/outputs for a markdown file, please run this cmdlet with the -UpdateInputOutput parameter.  Keep in mind that this will overwrite any customized descriptions of inputs and outputs, so you will need to add these descriptions back if still relevant.

#### Generating and viewing the MAML help

During the build, the MAML help will be generated from the markdown files in the repository. If you would like to generate the MAML help and preview what the help content will look like for each of your cmdlets, you can do so with two more commands.

To generate the MAML help based on the contents of your markdown files, use the [`New-ExternalHelp`](https://github.com/PowerShell/platyPS/blob/master/docs/New-ExternalHelp.md) cmdlet:

```powershell
$PathToHelpFolder = "../../help" # Full path to help folder containing markdown files to be updated
$PathToOutputFolder = "../../.." # Full path to folder where you want the MAML file to be generated
New-ExternalHelp -Path $PathToHelpFolder -OutputPath $PathToOutputFolder
```

To preview the help that you just generated, use the [`Get-HelpPreview`](https://github.com/PowerShell/platyPS/blob/master/docs/Get-HelpPreview.md) cmdlet:

```powershell
$PathToMAML = "../../<maml>.dll-Help.xml" # Full path to the MAML file that was generated

# Save the help locally
$help = Get-HelpPreview -Path $PathToMAML

# Get the help for a specific cmdlet
$help | where { $_.Name -eq "<cmdlet>" }
```

---

### Documentation Development Docs Sdkbased Vs Autogen (`documentation/development-docs/sdkbased-vs-autogen.md`)

# Description

The document is for those, who are familiar with SDK-based modules and want to give a try with auto-gen modules. The content will contain the comparison between these two kinds of modules from architecture, cmdlets differences, and onboard process, etc.

# Architecture

## SDK-based Module


## Auto-gen Module


# Cmdlet Parameters

Highlight parameters differences in auto-gen modules as below.

- No Set-* cmdlets, Set-* is replaced by New-* and Update-*
- Add *[-SubscriptionId <String[]>]* parameter for get-* cmdlets and add for *[-SubscriptionId <String>]* parameter for the others
- Do not support breaking change warning yet
- Pipeline
    - Do not support to pipe in parent resource
    - Unify two types (through *-InputObject and -ResourceId*) of pipeline into one *-InputObject,* Users could either pipe in the resourceId or resource object
# Implementation

## Process

### SDK-based Module

- Design review
- Get a released management SDK for Dotnet
- Implement cmdlets in C# based on management SDK for Dotnet
- Implement testcases
- Generate docs, and populate them with examples
- Create a PR in main branch for code review

### Auto-gen Module

- Design review
- Write a readme.md as the autorest.powershell configuration for the module, and normally, it should contains
    - links to swaggers in [azure-rest-api-specs](https://github.com/Azure/azure-rest-api-specs) (should pin to specific version through commit id to avoid potential breaking changes)
    - A reference to readme.azure.noprofile.md to inline common configurations
    - Module specific configurations, e.g. *module-version, title, subject-prefix...*
    - directive
- customization
- Implement testcases
- Generate docs and populate them with examples
- Create a PR in **generation** branch for code review
- Azure team members will help merge code from generation branch to main branch

## Customization

### SDK-based Module

Since the cmdlets are handcrafted by developers, no special customization mechanism is required.

### Auto-gen Module

Customization could be done through three ways.

- Through directive in readme.md, please see [directives.md](https://github.com/Azure/autorest.powershell/blob/master/docs/directives.md) for details
- Through PowerShell script, please see [customization.md](https://github.com/Azure/autorest.powershell/blob/master/docs/customization.md) for details
- Through C# code

## Hero Scenario

### SDK-based Module

If your module relies on some other modules, you will need to rely on dotnet SDK of these modules, which could put in your module if only your module depends on them or in Az.Accounts they are some common modules required by several modules. 

### Auto-gen Module

Generally speaking, hero scenarios are implemented through customization through PowerShell script above. Regarding to third party dependencies, there are two ways to handle it.

- Add the swaggers of the dependencies to readme.md either directly or by adding related helpers defined src/helpers if they are common shared modules
- Rely on related Azure PowerShell modules, in this case, it is better you could add the logic to check whether the modules you rely on have installed or not

## Docs and Examples

### SDK-based Module

Docs are generated through playPS, please see [platyPS](https://github.com/Azure/azure-powershell/blob/main/documentation/development-docs/help-generation.md#Installing-platyPS) for details. And developers should populate generated docs with examples.

### Auto-gen Module

Autorest.powershell will generate example stubs in the examples folder, which should be populated by the developers manually. When building, examples in the examples folder will be automatically merged into docs. 

## Test

### SDK-based Module

Tests are written in C# code.

### Auto-gen Module

Tests are written in PowerShell script. And we will leverage PowerShell test framework [Pester](https://github.com/pester/Pester).

# Others

## Data plane support

We are still working on bringing data plane to auto-gen.

---

### Documentation Development Docs Using Config Framework (`documentation/development-docs/using-config-framework.md`)

# Using Config Framework

- [Overview](#overview)
- [Guide: How to Add a New Config](#guide-how-to-add-a-new-config)
  - [Step 1: Define the Config](#step-1-define-the-config)
    - [Simple Config Definition](#simple-config-definition)
    - [Standard Config Definition](#standard-config-definition)
  - [Step 2: Register the Config](#step-2-register-the-config)
  - [Step 3: Regenerate Help Documents](#step-3-regenerate-help-documents)
- [Guide: How to Get the Value of a Config](#guide-how-to-get-the-value-of-a-config)
- [Customizing Config Definitions](#customizing-config-definitions)
  - [About AppliesTo](#about-appliesto)
  - [Validation of Config Value](#validation-of-config-value)
  - [Parsing Environment Variables](#parsing-environment-variables)

## Overview

The config framework was introduced in Az 8, May 2022 to set up a standard of how configs are used by both developers and end users of Azure PowerShell.

This document will go over two most common scenarios for developers. As for how to use the config framework in PowerShell please refer to [Update-AzConfig](https://learn.microsoft.com/powershell/module/az.accounts/update-azconfig).

## Guide: How to Add a New Config

### Step 1: Define the Config

#### Simple Config Definition

For most cases, creating an instance of [`SimpleTypedConfig<TValue>`](https://github.com/Azure/azure-powershell/blob/main/src/Accounts/Authentication/Config/Models/SimpleTypedConfig.cs) is the easiest way to define a config. The syntax is:

```csharp
SimpleTypedConfig<TValue>.SimpleTypedConfig(string key, string helpMessage, TValue defaultValue, [string environmentVariable = null], [IReadOnlyCollection<AppliesTo> canApplyTo = null])
```
where
- `TValue` is the type of the value of the config, for example `int` or `bool`.
- `key` is the unique key of the config. It is used when user gets or sets the config.
  - It must be defined in [src/shared/ConfigKeys.cs](https://github.com/Azure/azure-powershell/blob/main/src/shared/ConfigKeys.cs) so that it can be referenced in any project.
    - If the config will be used in the [azure-powershell-common] solution, it must also be defined in [src/Authentication.Abstractions/Models/ConfigKeysForCommon.cs](https://github.com/Azure/azure-powershell-common/blob/main/src/Authentication.Abstractions/Models/ConfigKeysForCommon.cs).
  - It is reused as a parameter name of cmdlets that operate on configs, for example `Get-AzConfig`, so it must **follow the PowerShell naming conventions**. See [Parameter Best Practices](https://github.com/Azure/azure-powershell/blob/main/documentation/development-docs/design-guidelines/parameter-best-practices.md#parameter-best-practices).
- `helpMessage` is the help message or description of the config. 
  - It is reused as the help message of the corresponding PowerShell parameter in documents.
- `defaultValue` is the default value of the config. Used for basic type validation when setting the config.
- _(Optional)_ `environmentVariable` sets to which environment variable the config is connected. Once set, the config framework will pick up the variable automatically.
  - Note: the config must correspond to **one single** environment variable and it must not require special logic to parse the value. Otherwise please check out [Parsing Environment Variables](#parsing-environment-variables).
- _(Optional)_ `canApplyTo` defines at which levels the config can apply to. There are three levels in total: `AppliesTo.Az`, `AppliesTo.Module`, `AppliesTo.Cmdlet`. By default all of them are included. For more details, see [About AppliesTo](#about-appliesto).

Here is a sample definition:

```csharp
new SimpleTypedConfig<string>(
    ConfigKeys.DefaultSubscriptionForLogin,
    Resources.HelpMessageOfDefaultSubscriptionForLogin,
    string.Empty,
    "AZURE_ENV_VAR_FOR_SUBSCRIPTION",
    new[] { AppliesTo.Az });
```

#### Standard Config Definition

The more standard way to define a config is to create a class inheriting [`TypedConfig<TValue>`](https://github.com/Azure/azure-powershell/blob/main/src/Accounts/Authentication/Config/Models/TypedConfig.cs). It should be placed at [`src/Accounts/Authentication/Config/Definitions/`](https://github.com/Azure/azure-powershell/tree/main/src/Accounts/Authentication/Config/Definitions), where you can also find other examples of configs.

Like simple definition, you will need to override some key properties, which will not be repeated here.

Here is a sample definition:

```csharp
internal class DisplayBreakingChangeWarningsConfig : TypedConfig<bool>
{
    public override object DefaultValue => true;

    public override string Key => ConfigKeys.DisplayBreakingChangeWarning;

    public override string HelpMessage => Resources.HelpMessageOfDisplayBreakingChangeWarnings;
}
```

Defining configs in the standard way is more _flexible_ than the simple way, for example when it comes to validating values and parsing environment variables. For more, see [Customizing Config Definitions](#customizing-config-definitions).

### Step 2: Register the Config

Either way the config is defined, instantiate it and call [`IConfigManager.RegisterConfig(ConfigDefinition config)`](https://github.com/Azure/azure-powershell-common/blob/8d70507d41a3698b5b131df61f14e329d7a6eb41/src/Authentication.Abstractions/Interfaces/IConfigManager.cs#L30) in [`ConfigInitializer.RegisterConfigs(IConfigManager configManager)`](https://github.com/Azure/azure-powershell/blob/304e15c84071fee02622734c4e5f12c05baa77d2/src/Accounts/Authentication/Config/ConfigInitializer.cs#L192). For example:

```csharp
configManager.RegisterConfig(new DisplayBreakingChangeWarningsConfig());
```

Up until now, you are able to test this new config with PowerShell cmdlets `Get-AzConfig`, `Update-AzConfig` and `Clear-AzConfig`. For more, run `Get-Help Get-AzConfig`.

### Step 3: Regenerate Help Documents

As mentioned in Step 1, each config maps to a parameter of `Get-AzConfig`, `Update-AzConfig`, and `Clear-AzConfig`, so it is important to regenerate help documents after introducing new configs. Here are [the instructions](https://github.com/Azure/azure-powershell/blob/main/documentation/development-docs/help-generation.md#updating-help-after-making-cmdlet-changes).

## Guide: How to Get the Value of a Config

Now that you have defined and registered the config, it is time to get its value. First you need to get the singleton of `IConfigManager`, then use `T GetConfigValue<T>(string key, object invocation = null);`. For example:

```csharp
AzureSession.Instance.TryGetComponent<IConfigManager>(nameof(IConfigManager), out var configManager);
string subscriptionFromConfig = configManager.GetConfigValue<string>(ConfigKeys.DefaultSubscriptionForLogin, MyInvocation);
```

Note that although `invocation` is optional, if the config can apply to either `AppliesTo.Module` or `AppliesTo.Cmdlet` (see [About AppliesTo](#about-appliesto)), it must be `MyInvocation`. Alternatively, **it is best practice to always pass in `MyInvocation`**.

## Customizing Config Definitions

### About AppliesTo

Configs cannot only be set globally, but also be set for a certain cmdlet or module. For example, the following script disables breaking change warning messages for `Az.KeyVault` module, while other modules are not affected by it.

```powershell
Update-AzConfig -DisplayBreakingChangeWarning $false -AppliesTo Az.KeyVault
```

The `IReadOnlyCollection<AppliesTo> ConfigDefinition.CanApplyTo { get; }` property controls to which levels a config can be applied. For example, if it does not make sense for your config to apply to a module or cmdlet, you should set the property to `new AppliesTo[] { AppliesTo.Az }`.

### Validation of Config Value

By default, when user sets a config, the type of the value is validated. If you want to implement your own validation, override `void TypedConfig<TValue>.Validate(object value)`, throw an exception when the value is invalid.

```csharp
public override void Validate(object value)
{
    // do not forget to call `base` so type is still checked
    base.Validate(value);
    int valueInt = (int)value;
    if (value < 0 || value > 100))
    {
        throw new ArgumentException($"Unexpected value [{value}]. The value of config [{Key}] should be between 0 and 100.", nameof(value));
    }
}
```

### Parsing Environment Variables 

Some configs can also be set via environment variables. The config framework will try to parse the variable by the key you set for `string EnvironmentVariableName` property.

However, if for any of the following situations, you need to implement your onw parsing logic:
- Multiple environment variables control one config.
- The value cannot be parsed directly. For example string "Y" to boolean "true".

In this case, instead of setting `EnvironmentVariableName`, override `string ParseFromEnvironmentVariables(IReadOnlyDictionary<string, string> environmentVariables)`. For example:

```csharp
// `environmentVariables` contains all the environment variables
public override string ParseFromEnvironmentVariables(IReadOnlyDictionary<string, string> environmentVariables)
{
    if (environmentVariables.TryGetValue("Azure_PS_Intercept_Survey", out string configString))
    {
        if ("Disabled".Equals(configString, StringComparison.OrdinalIgnoreCase)
            || "False".Equals(configString, StringComparison.OrdinalIgnoreCase))
        {
            // note the return type is string
            return false.ToString();
        }
    }
    // returning null means the variable is not set 
    return null;
}
```

---

### Documentation Development Docs Vm For Partners (`documentation/development-docs/vm-for-partners.md`)

If you need an Azure Virtual Machine with all the [prerequisites](https://github.com/Azure/azure-powershell/blob/main/documentation/development-docs/azure-powershell-developer-guide.md#prerequisites) installed and ready to build and test Powershell Azure - follow the steps below. 

# Copy the PowerShell Azure VHD blob to your subscription and create a VM from it.

1. Make sure that you have the version 4.5.0 or above of the Az.Compute PowerShell module. Run the following command to install it. This version has the "easy VM create" cmdlet that we are going to use in the script below to create a VM.
    ```PowerShell
    Install-Module Az.Compute --MinimumVersion  4.5.0
    ```
2. Email azdevxps@microsoft.com to obtain a VHD SAS URI, and assign that unique URI to the variable below.
    ```PowerShell
    $VhdSasUri = <vhd-sas-uri-requested-from-us>
    ```
3. Create some variables. **_Before setting the ```$Location``` variable - make sure your subscription supports virtual machine creation in the location._**
   ```PowerShell
    $SubscriptionId = <subscription-id>
    $ResourceGroupName = <resource-group-name>
    #Make sure your subscription supports virtual machine creation in the location.
    $Location = <location>

    $Random_5_digits = Get-Random -SetSeed (Get-Date).Second | ForEach-Object {$_.ToString().Substring(5)}
    $StorageAccountName = "poshazureenv" + $Random_5_digits
    $StorageContainerName = "vhds"

    $VhdFileName = "ps-azure-env.vhd"
    $ImageName = "ps-azure-env-image"
    $VmName = "ps-azure-env"
    $VMSize= "Standard_D4s_v3"

    $VmLogin = <login>
    $VmPassword = <password>

    $ErrorActionPreference = "Stop"
    $VmCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $VmLogin, $(ConvertTo-SecureString -String $VmPassword -AsPlainText -Force)
   ```
4. Sign in to your Azure account.
    ```PowerShell
    Connect-AzAccount
    ```
5. Execute the Powershell script. The script essentially does the following:
    1. Checks if a **resource group** with the name ```$ResourceGroupName``` exists if not - creates it for you.
    2. Checks if a **storage account**  with the name ```$StorageAccountName``` exists if not - creates it for you.
    3. Checks if a **storage account container** with the name ```$StorageAccountName``` exists if not - creates it for you.
    4. Copies a **VHD** from the location ```$VhdSasUri``` to you storage account container.
    5. Creates an **image** form the VHD with the ```$ImageName``` name.
    5. Creates a **VM** from the image with the ```$VmName``` name.
    ```
/* Detailed source-code truncated for AI context efficiency. */
```

# GitHub Settings and Repository Setup
You will need to set up the GitHub configuration so that commits appear with your GitHub name.
```
git config --global user.email "<Your email on GitHub>"
```
```
git config --global user.name "<Your name>"
```
Next, you will need to follow the steps [here](https://github.com/Azure/azure-powershell/blob/main/documentation/development-docs/azure-powershell-developer-guide.md#environment-setup) to set up your local fork of Azure/azure-powershell.

# Building and Running Tests
This image has been set up to build and run tests immediately. To build the project, run msbuild build.proj in the Developer Command Prompt for VS2015. Once this has completed, you can open your module in Visual Studio and start development there. To record tests, follow the instructions [here](https://github.com/Azure/azure-powershell/blob/main/documentation/development-docs/azure-powershell-developer-guide.md#recordingrunning-tests).

---

### Documentation Internal Authentication (`documentation/internal/authentication.md`)

# Authentication
## Overview

All authentication in PowerShell follows the same basic method. All requests are authenticated with a token, that is provided by a token service.  The token identifies the principal, and the services (also called resources) that the user wants to access (and the STS can verify that the user is registered to access).  Services use this token to identify the principal, and associate the user with the appropriate authorization level.  Authorization is managed separately, by each service, and is not part of this discussion.

This document breaks down PowerShell Authentication into the following sections
- Abstractions - Discusses the Concepts used in authenticating a user
- Authentication Scenarios - Discusses the various authentication methods that can be used by each kind of principal
  - User Authentication
  - Service Authentication
  - MSI Authentication
  - Token Authentication
- MSAL Authentication - Discusses how these scenarios differ in MSAL

## Abstractions

### Context
The context is the default target of any cmdlet executed in PowerShell.  It consists of the [`Account`](#account), [`Tenant`](#tenant]), [`Environment`](#environment),  and [`Subscription`](#subscription) that the user has selected using the `Select-AzContext` or `Select-AzSubscription` cmdlets.  It also contains a reference to the token cache that is used in Authentication.  For most cmdlets, the subscription or tenant they target for their calls is the subscription/tenant in the `Default` Context.

### ContextContainer
A context container is a collection of contexts - it contains a dictionary associating its context with a unique key, and a `Default` context which is the context currently selected.  The user can switch between any contexts in the container without additional login.  The ContextContainer is populated when the user authenticates for the first time.

### Account
An account is the representation of the principal used for authentication.  This can be a User Account, a Service Principal, a Managed Service Identity, or a raw token.  The primary key for Account is a name. In the case of user authentication, this will be of the form ```<user>@<domain>```, for example ```user1@contoso.org```.  For service principal authentication, the name is the oid of the service principal object.  In the case of MSI, the name can be the oid, clientId, or resource id of the associated MSI.  For tokens, the name is the token hash.

### Subscription
A subscription represents a subscription in Azure, it has properties indicating ID, Name, and State. The default subscription (that is the description in the  `Default` context) will be the target of all cmdlets.

### Environment
An Environment is a particular Azure cloud that is targeted for commands.  'AzureCloud' is the default environment if none is selected.  Built-in clouds also include 'AzureChinaCloud' and 'AzureUSGovernment' cloud.  Each environment contains the endpoints for services on that cloud, the 'resourceId' that is required when authenticating for that service, and a set of domain suffixes that can be used to determine data plane service endpoints (for example, the StorageEndpointSuffix can be appended to a storage account name to get the default domain name of the endpoints for that storage account).

### Tenant
A Tenant represents an Active Directory tenant that may contain one or more subscriptions.  When authenticating, a user may have access to multiple tenants, and the default ContextContainer will contain all of the tenants (and associated subscriptions) the user has access to.

### Caching
Each context contains a reference to the currently active TokenCache - this allows common Authentication methods to retrieve tokens for the given context when it is passed in to common methods.

### AuthenticationFactory

The Authentication Factory is a central abstraction used by all modules to acquire authentication tokens for their calls to Azure services.  This abstract factory is used by Az.Accounts to do initial login and context acquisition, and by service modules to acquire tokens using the currently selected context for their Azure requests (management and data plane).  Generally, a client needs to pass in the current context and an indication of what service the user want to authenticate with to get back authentication tokens.

Generally, the types returned by the Authentication Factory encapsulate the actual tokens, so that tokens can be automatically renewed as requests are made without additional explicit calls from the service module.

## Authentication Scenarios

### User Authentication
In User Authentication, Azure PowerShell authenticates on behalf of a user in the authenticating tenant.  The privileges granted will be those privileges that the user is assigned.

#### Overview
In user authentication, powershell authenticates to the tenant on behalf of the user.  The authentication methods are essentially mechanisms for the user to supply their credentials for authentication.

#### Interactive Authentication
In this mechanism, the user is presented with a browser window pointing at the authentication website to provide credentials.  PowerShell supplies a callback that the token service calls once authentication is complete, returning the authentication results.  This callback must match one of the 'replyUrls' configured for the application.  In PowerShell's case, this configuration is in the first party app registration for PowerShell.

#### Username/Password Authentication
In this mechanism, the user provides a PSCredential with username and password, and powershell authenticates with the token service on the user's behalf.  This authentication mechanism is not encouraged, because it precludes the use of multi-factor authentication (MFA), which is a security best practice.  However, it is still used in some legacy customer scenarios.

#### DeviceCode Authentication
In this mechanism, the user is given a URI and a code.  They must open a browser and navigate to the given URI and supply the given code, then they proceed with interactive authentication as above.  DeviceCode authentication is useful for remote terminal access, as the user can authenticate on a remote machine using their local browser.

### Service Authentication
Service authentication authenticates PowerShell as a service principal, rather than a user principal.  Service Principal authentication is the recommended method for authenticating scripts that are executed without interaction (for example, scripts run on a particular schedule, or automatically triggered by a particular event).  This is because the service used to authenticate may be restricted to only those functions required by the specific script.  Additionally, service principal authentication returns authentication tokens, but never renewal tokens.

In service authentication, the script must present the service id and a credential - either a secret string, or a certificate private key, depending on how the service principal is configured.  The token service returns a token.  Note that, for all of the common code methods used for authentication, service principal credentials are stored in the output type, so that a new token can be automatically acquired when the access token expires, transparently to the user of the returned token abstraction. 

### MSI Authentication
MSI authentication is essentially a managed version of service authentication.  An Azure resource (such as a VM or AppService) is assigned a service principal, and the credentials of the service principal are managed without the user's intervention.  This allows credentials to be propagated to a VM and rotated without the user's intervention or knowledge.

Any code running on an Azure Resource associated with an MSI may acquire a token using a GET request to the local token service on that resource.  The token service then authenticates using the underlying service principal and credential, and returns the authentication result as the response to the GET request.  As with other authentication types, all MSI authentication performed by common code returns an abstraction over the token that automatically and transparently renews the token when needed (by making additional calls to the local token service).

### Token Authentication
In token authentication, the user simply provides an access token that want to use for accessing Azure.  The token the user supplies in `Connect-AzAccount` is simply added to the Authorization header for requests.  Generally, the user is allowed to provide one token for each of the services that they need to authenticate wth (ARM, Graph, KeyVault, etc.).  While, for parallelism, this authentication type also returns an abstraction that allows the user to renew tokens, token renewal will always fail, since no refresh token is provided, and no credential is provide that would allow re-authentication.  

Use of token authentication is an advanced scenario.

## MSAL Authentication
TBD

---

### Documentation Internal Authinrdfe (`documentation/internal/authinrdfe.md`)

# Authentication and Authorization in RDFE (Azure) and ARM (Az/AzureRM)
## RDFE Authorization
In RDFE, users are authorized on a per-subscription basis. Users who are authorized to access a subscription may perform any action within that subscription - on the subscription itself, or on any resources in the subscription. There is no mechanism for limiting the access of an authorized user within a subscription.
## RDFE Authentication Mechanisms
- Management Certificate Authentication
- User Authentication
### RDFE Management Certificate Authentication
Management certificate authentication is the most popular mechanism for authenticating RDFE calls for automation.  In this authentication mechanism, the public key of a management certificate is associated with one or more subscriptions.  Users in possession of the certificate private key use standard Http certificate authentication to negotiate an SSL session with the RDFE endpoint, and all subsequent calls in that session have access to any subscriptions associated with the certificate.

To acquire management certificate credentials, you must download  a PublishingProfile from the portal (using Get-AzurePublishSettingsFile, or direct download from the portal), and import it using Import-AzurePublishSettingsFile.  This downloads a file containing management certificates for selected subscriptions. Importing will automatically add each certificate as an account.

### RDFE User Authentication
The Add-AzureAccount command can be used to acquire a token based on user credentials, and if the associated user is authorized for RDFE access to a subscription (they must be a classic administrator or co-admin of the subscription), they will have access to those subscriptions authorized to their account for classic administrator access

## General Notes
- Management certificate authentication lasts for an entire TCP session.  User authentication is self-renewing, just as it is in ARM.

## Programmatic Authentication for PowerShell clients
- Clients are still authenticated using an IAuthenticationFactory, and the following overload:

```c#
SubscriptionCloudCredentials GetSubscriptionCloudCredentials(IAzureContext context)
```
Note that, the ARM token audience is different than the token audience used for RDFE, although the RDFE token audience is accepted by both endpoints.

Similarly, RDFE clients can be created using the IClientFactory interface: 

```c#
TClient CreateClient<TClient>(IAzureContext context, string endpoint) where TClient : ServiceClient<TClient>;
```

Also note that, for management certificate authentication, authentication is performed as part of creating the http client - the ```ServiceClientCredentials``` returned above automatically apply the certificate to the http connection, which automatically performs HTTP certificate authentication using the certificate private key.  You can see this implementation here: https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/mgmtcommon/ClientRuntime/ClientRuntime/CertificateCredentials.cs

---

### Documentation Internal Pull Request Review Knowledge Share (`documentation/internal/pull-request-review-knowledge-share.md`)

## PR Review Knowledge Share

### Dependency Assembly Version Confliction
If one assembly has been referenced by more than one module, we should let Az.Accounts to handle the dependency.

**RED** flag
- Update assembly version for common Microsoft.Extensions.*
- Add new dependency assembly for one module, the assembly may be referenced by other module already.
- Contains version update for dependency assembly in module other than Az.Accounts

### Resource ID **MUST** start with a slash 
*Correct*: "/subscriptions/18bxxxxxx-4d70-8b1e-937660bde798/resourceGroups/MNC-PowerShell/providers/Microsoft.Network/virtualnetworks/Mesh1"

*Wrong*: "subscriptions/18bxxxxxx-92e4-4d70-8b1e-937660bde798/resourceGroups/MNC-PowerShell/providers/Microsoft.Network/virtualnetworks/Mesh1"

---

### Documentation Internal Resource Manager Active Directory (`documentation/internal/resource-manager-active-directory.md`)

# Resource Manager / Active Directory

The `Az.Resources` module contains cmdlets for the following services:

- Resource Manager (ARM)
    - Calls made from the `Microsoft.Azure.Management.ResourceManager` SDK
- Active Directory (Graph)
    - Calls made from the `Microsoft.Azure.Graph.RBAC` SDK (_note_: this is a data plane SDK)
- Authorization
    - Calls made from the `Microsoft.Azure.Management.Authorization` SDK
- Management Groups
    - Calls made from the `Microsoft.Azure.Management.ManagementGroups` SDK

In the `azure-powershell` repository, the cmdlets in the `Az.Resources` module are found in the `ResourceManager` and `Resources` projects. Below are the parts of those projects that the Azure PowerShell team own and help to maintain.

## `ResourceManager` project

The `ResourceManager` project contains all of the Resource Manager cmdlets.

One thing that differentiates the `ResourceManager` project from all other service projects is that it doesn't always use the client exposed from its corresponding SDK (`Microsoft.Azure.Management.ResourceManager`). In some cases, a generic [`HttpClient`](https://github.com/Azure/azure-powershell/blob/4fd93d58860b3ead9b6ba9acf7974457d4891aea/src/Resources/ResourceManager/RestClients/ResourceManagerRestClientBase.cs#L221) is created and used to make requests to ARM, which allows the cmdlets to make calls to endpoints that aren't yet defined in their REST API specification. This pattern was used commonly in the early stages of this module, but since then have shifted primarily to using calls exposed from the SDK that can be made using the given SDK client.

### Resources

From the [_Azure Resource Manager overview_](https://learn.microsoft.com/en-us/azure/azure-resource-manager/resource-group-overview#terminology) document, a resource is defined as the following:

_A manageable item that is available through Azure. Virtual machines, storage accounts, web apps, databases, and virtual networks are examples of resources._

Resources are tracked using an ID; top-level resources have IDs that follow the below pattern:

```
/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/{PROVIDER_NAMESPACE}/{RESOURCE_TYPE}/{RESOURCE_NAME}
```

For example, a virtual machined called "MyVM" found in the resource group "MyResourceGroup" for subscription "830afc1a-b2c2-49fa-b36d-c05c335ea986" would have the following ID:

```
/subscriptions/830afc1a-b2c2-49fa-b36d-c05c335ea986/resourceGroups/MyResourceGroup/Microsoft.Compute/virtualMachines/MyVM
```

Child resources have IDs that follow the below pattern:

```
/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/{PARENT_PROVIDER_NAMESPACE}/{PARENT_RESOURCE_TYPE}/{PARENT_RESOURCE_NAME}/{CHILD_RESOURCE_TYPE}/{CHILD_RESOURCE_NAME}
```

For example, if the same virtual machine from before had an extension called "MyExtension", the resource ID would be the following:

```
/subscriptions/830afc1a-b2c2-49fa-b36d-c05c335ea986/resourceGroups/MyResourceGroup/Microsoft.Compute/virtualMachines/MyVM/extensions/MyExtension
```

Because a resource's ID contains the identifier properties of the resource (resource group, name, parent name, etc.), we suggest that cmdlets have a parameter set that contains a `-ResourceId` parameter to allow the user to pass in the ID of the resource that they would like to act upon. Within the cmdlet code, the resource ID can be parsed to pull out these identifier properties and then pass them to the corresponding SDK call.

The cmdlets currently found in the `Az.Resources` module that act upon resources are the following:

- [`Get-AzResource`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Get-AzResource.md)
- [`Move-AzResource`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Move-AzResource.md)
- [`New-AzResource`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/New-AzResource.md)
- [`Remove-AzResource`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Remove-AzResource.md)
- [`Set-AzResource`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Set-AzResource.md)

#### `Get-AzResource`

The `Get-AzResource` cmdlet has a couple of features that make it different than a regular cmdlet:

**Wildcard support**

To allow for another layer of filtering over the large number of resources that may be returned for a given query, wildcard support was added for the `-ResourceGroupName` and `-Name` parameters. This allows users to perform the following:

```powershell
# List all resources that are in any resource group with the prefix "test"
Get-AzResource -ResourceGroupName test*

# List all resources with the prefix "test"
Get-AzResource -Name test*

# List all resources with the prefix "test" in the resource group "test-rg"
Get-AzResource -ResourceGroupName test-rg -Name test*

# List all resources named "test" in any resource group with the prefix "test"
Get-AzResource -ResourceGroupName test* -Name test
```

The cmdlet uses the [`TopLevelWildcardFilter()`](https://github.com/Azure/azure-powershell-common/blob/main/src/ResourceManager/Version2016_09_01/AzureRMCmdlet.cs#L394-L435) call in our common code to [filter the results by the given wildcard](https://github.com/Azure/azure-powershell/blob/main/src/Resources/ResourceManager/Implementation/Resource/GetAzureResourceCmdlet.cs#L185).

**Uses both `HttpClient` and `ResourceManagerClient`**

As mentioned previously, the `ResourceManager` project has a mix of cmdlets that use a generic `HttpClient` and/or the `ResourceManagerClient` to make calls to the server. Where applicable, calls that could be made using the `ResourceManagerClient` were implemented and replaced the calls using the generic `HttpClient`.

First, the cmdlet tries to [construct a resource ID](https://github.com/Azure/azure-powershell/blob/main/src/Resources/ResourceManager/Implementation/Resource/GetAzureResourceCmdlet.cs#L129-L132) out of the parameters provided, specifically,  `-ResourceGroupName`, `-ResourceType` and `-Name`. If the user provided a value for all three of these parameters (and didn't include wildcards in either `-ResourceGroupName` or `-Name`), then we would make a [call to get the resource by ID](https://github.com/Azure/azure-powershell/blob/main/src/Resources/ResourceManager/Implementation/Resource/GetAzureResourceCmdlet.cs#L136) using the `ResourceManagerClient`. Since the `GetById()` call on the client requires both the resource ID _and_ the API version of the service, we make an additional [call to the client to get the resource provider](https://github.com/Azure/azure-powershell/blob/main/src/Resources/ResourceManager/SdkClient/ResourceManagerSdkClient.cs#L1143-L1164) of the resource we're trying to get, and when we [match the resource type from the provider](https://github.com/Azure/azure-powershell/blob/main/src/Resources/ResourceManager/SdkClient/ResourceManagerSdkClient.cs#L1168-L1170), we use either the default API version previously provided, or the latest API version of the service, and then [make the `GetById()` call](https://github.com/Azure/azure-powershell/blob/main/src/Resources/ResourceManager/SdkClient/ResourceManagerSdkClient.cs#L1173-L1177).

If the resource ID could not be constructed, but the user did provide a value for `-ResourceId`, then it would also follow the same flow mentioned above _unless_ the ID provided was partial and not pointing to a specific resource, but a collection of resources. For example, the resource ID `/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/MyVM` points to a specific VM called "MyVM" in the resource group "MyResourceGroup", but if the user were to provide the ID `/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines`, then we would expect to return _all_ VMs in the resource group "MyResourceGroup". Since the `ResourceManagerClient` does not support this scenario, we need to use the generic `HttpClient` to list these resources for the given resource ID.

The last scenario that we would possibly use the generic `HttpClient` for this cmdlet would be if the user provided either the `-ApiVersion` or `-ExpandProperties` parameters. The `-ApiVersion` parameter is used to define which API version of the service should be used when retrieving the resource(s), which can change the values in the `Properties` property on the returned object(s). By default the `Get-AzResource` cmdlet is handled by the ARM service and returns only the generic parts of the resource managed by ARM which are common to all resources (e.g., `ResourceId`, `Sku`, `Tags`, etc.). The `-ExpandProperties` switch parameter is used to signal that the `Properties` property on the returned object(s) should be expanded and include all resource specific information. The `ResourceManagerClient` doesn't allow for either of these scenarios (outside of providing an API version for a resource ID, which was covered previously), so the `HttpClient` must be used to provide users with this functionality.

For all other scenarios, the `ResourceManagerClient` is used either to [list all resources in a given resource group](https://github.com/Azure/azure-powershell/blob/main/src/Resources/ResourceManager/Implementation/Resource/GetAzureResourceCmdlet.cs#L178) or [list all resources in the current subscription](https://github.com/Azure/azure-powershell/blob/main/src/Resources/ResourceManager/Implementation/Resource/GetAzureResourceCmdlet.cs#L182).

**New-AzResource**

Unlike the `Get-AzResource` cmdlet, the `New-AzResource` cmdlet only uses the generic `HttpClient` to make calls to the server to create a resource. With this cmdlet, a user can create a resource at the tenant or subscription level against a specified API version with a defined set of properties. The cmdlet [constructs the resource ID](https://github.com/Azure/azure-powershell/blob/main/src/Resources/ResourceManager/Implementation/Resource/NewAzureResourceCmdlet.cs#L96) from the given identity parameters, [sets up the body](https://github.com/Azure/azure-powershell/blob/main/src/Resources/ResourceManager/Implementation/Resource/NewAzureResourceCmdlet.cs#L105) of the request from the property parameters, and [sends the `PUT` request](https://github.com/Azure/azure-powershell/blob/main/src/Resources/ResourceManager/Implementation/Resource/NewAzureResourceCmdlet.cs#L107-L124) to the server using the `HttpClient` in order to create the resource.

In the future, it should be determined whether or not the `ResourceManagerClient` can be used to make the subscription level calls as it has two functions, `CreateOrUpdate()` and `CreateOrUpdateById()`, which should be able to perform the same steps outlined above.

**Set-AzResource**

Also like the `New-AzResource` cmdlet, the `Set-AzResource` cmdlet only uses the generic `HttpClient` to make calls to the server to update a resource. This cmdlet gives users the ability to perform either a `PUT` or `PATCH` operation on the server to update the given resource. If the user provides the identity properties of a resource as parameters, they can perform a `PATCH` operation by providing the `-UsePatchSemantics` switch, providing a value for the `-Tag` or `-Sku` parameters, or not providing a value for the `-Plan`, `-Properties` and `-Kind` parameters. If the user doesn't do [any of the previous three](https://github.com/Azure/azure-powershell/blob/main/src/Resources/ResourceManager/Implementation/Resource/SetAzureResourceCmdlet.cs#L226-L229), than the cmdlet will perform a `PUT` operation.

If the user provides a `PSResource` object to the `-InputObject` parameter, then the cmdlet will push the value of the properties on the object to the server, [unless overwritten by a parameter provided on the command line](https://github.com/Azure/azure-powershell/blob/main/src/Resources/ResourceManager/Implementation/Resource/SetAzureResourceCmdlet.cs#L94-L102). For example, if the user provides a `PSResource` for `-InputObject` and a new `Hashtable` for `-Tag`, then the tags defined on the given resource will be overwritten with whatever is in the `Hashtable` provided, and all other properties on the `PSResource` will be pushed to the server.

#### Piping Scenarios

```powershell
# Update the tags with a new key-value pair for all resources
Get-AzResource @FilterParameters | ForEach-Object { $_.Tags.Add("SampleKey", "SampleValue") } | Set-AzResource -Force

# Update a single property on a resource
$Resource = Get-AzResource -ResourceGroupName MyResourceGroup -ResourceType Microsoft.Web/sites -Name MySite
$Resource.Properties.Enabled = "False"
$Resource | Set-AzResource -Force
```

## `Resources` project

The `Resources` project contains all of the Active Directory, Authorization, and Management Groups cmdlets.

### Active Directory Applications

From the [_Application and service principal objects in Azure Active Directory_](https://learn.microsoft.com/en-us/azure/active-directory/develop/app-objects-and-service-principals#application-object) document, an Azure AD application is defined as the following:

_An Azure AD application is defined by its one and only application object, which resides in the Azure AD tenant where the application was registered, known as the application's "home" tenant._

_The application object serves as the template from which common and default properties are derived for use in creating corresponding service principal objects. An application object therefore has a 1:1 relationship with the software application, and a 1:many relationships with its corresponding service principal object(s)._

The cmdlets currently found in the `Az.Resources` module that act upon applications are the following:

- [`Get-AzADAppCredential`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Get-AzADAppCredential.md)
- [`Get-AzADApplication`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Get-AzADApplication.md)
- [`New-AzADAppCredential`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/New-AzADAppCredential.md)
- [`New-AzADApplication`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/New-AzADApplication.md)
- [`Remove-AzADAppCredential`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Remove-AzADAppCredential.md)
- [`Remove-AzADApplication`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Remove-AzADApplication.md)
- [`Update-AzADApplication`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Update-AzADApplication.md)

#### Piping Scenarios

```powershell
# Remove a set of applications
Get-AzADApplication @FilterParameters | Remove-AzADApplication

# (PATCH) Update a set of applications
Get-AzADApplication @FilterParameters | Update-AzADApplication @PatchParameters

# Get the credentials for a set of applications
Get-AzADApplication @FilterParameters | Get-AzADAppCredential

# Create a new credential for a set of applications
Get-AzADApplication @FilterParameters | New-AzADAppCredential @PutParameters

# Remove the credentials from a set of applications
Get-AzADApplication @FilterParameters | Remove-AzADAppCredential
```

### Active Directory Groups

From the [_Manage app and resource access using Azure Active Directory groups_](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-manage-groups#how-does-access-management-in-azure-ad-work) document, an Azure AD group does the following:

_Using groups lets the resource owner (or Azure AD directory owner), assign a set of access permissions to all the members of the group, instead of having to provide the rights one-by-one. The resource or directory owner can also give management rights for the member list to someone else, such as a department manager or a Helpdesk administrator, letting that person add and remove members, as needed._

The cmdlets currently found in the `Az.Resources` module that act upon groups are the following:

- [`Add-AzADGroupMember`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Add-AzADGroupMember.md)
- [`Get-AzADGroup`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Get-AzADGroup.md)
- [`Get-AzADGroupMember`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Get-AzADGroupMember.md)
- [`New-AzADGroup`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/New-AzADGroup.md)
- [`Remove-AzADGroup`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Remove-AzADGroup.md)
- [`Remove-AzADGroupMember`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Remove-AzADGroupMember.md)

#### Piping Scenarios

```powershell
# Remove a set of groups
Get-AzADUser @FilterParameters | Remove-AzADUser

# Get the users of a set of groups
Get-AzADGroup @FilterParameters | Get-AzADGroupMember

# Add a user to a set of groups
Get-AzADGroup @FilterParameters | Add-AzADGroupMember @UserParameters

# Remove a user from a set of groups
Get-AzADGroup @FilterParameters | Remove-AzADGroupMember @UserParameters
```

### Active Directory Service Principals

From the [_Application and service principal objects in Azure Active Directory_](https://learn.microsoft.com/en-us/azure/active-directory/develop/app-objects-and-service-principals) document, a service principal is defined as the following:

_When an application is given permission to access resources in a tenant (upon registration or consent), a service principal object is created._

_A service principal must be created in each tenant where the application is used, enabling it to establish an identity for sign-in and/or access to resources being secured by the tenant. A single-tenant application has only one service principal (in its home tenant), created and consented for use during application registration. A multi-tenant Web application/API also has a service principal created in each tenant where a user from that tenant has consented to its use._

The cmdlets currently found in the `Az.Resources` module that act upon service principals are the following:

- [`Get-AzADServicePrincipal`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Get-AzADServicePrincipal.md)
- [`Get-AzADSpCredential`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Get-AzADSpCredential.md)
- [`New-AzADServicePrincipal`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/New-AzADServicePrincipal.md)
- [`New-AzADSpCredential`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/New-AzADSpCredential.md)
- [`Remove-AzADServicePrincipal`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Remove-AzADServicePrincipal.md)
- [`Remove-AzADSpCredential`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Remove-AzADSpCredential.md)
- [`Update-AzADServicePrincipal`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Update-AzADServicePrincipal.md)

#### User Scenarios

A common scenario is for a user to create a service principal in order to automate Azure management tasks.When a service principal is used to automate management tasks, it must have a credential, and it must be given permissions to manage the resources that are part of its task. The `New-AzADServicePrincipal` cmdlet allows the user to create a service principal, give it secure credentials, and allow the service principal the appropriate level of access in Azure through issuing a single cmdlet. If the user provided a value for either the `-Role` or `-Scope` parameter, once the service principal was created, a [call to the authorization SDK](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/ActiveDirectory/Cmdlets/NewAzureADServicePrincipalCommand.cs#L346-L380) would be made to assign the specified role to the service principal over the given scope. If neither parameter was provided, or the `-SkipAssignment` switch was set, then a role assignment would not be created. If only `-Role` was provided, `-Scope` would be [set to the user's current subscription](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/ActiveDirectory/Cmdlets/NewAzureADServicePrincipalCommand.cs#L252-L256), and if only `-Scope` was provided, `-Role` would be [set to the "Contributor"](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/ActiveDirectory/Cmdlets/NewAzureADServicePrincipalCommand.cs#L260-L264).

```powershell
# Create a service principal with no permissions
New-AzADServicePrincipal @Properties

# Create a service principal with "Reader" permissions over the current subscription
New-AzADServicePrincipal -Role Reader @Properties

# Create a service principal with "Contributor" permissions over the "MyResourceGroup" resource group
New-AzADServicePrincipal -Scope /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup @Properties

# Create a service principal with "Reader" permissions over the "MyResourceGroup" resource group
New-AzADServicePrincipal -Role Reader -Scope /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup @Properties
```

_Note_: for parity with Azure CLI, parameters should be added in the future that would allow for the user to create a self-signed certificate and create or retrieve a certificate from a specified Azure KeyVault. Since .NET Standard does not include a cross-platform library for certificate creation, platform-specific mechanisms for creating certificates will need to be identified.

Another scenario added for the `New-AzADServicePrincipal` cmdlet was to introduce smart defaults for properties that the user may not know the value of, or may not care to provide a value for, when creating a service principal. The following are the parameters that have smart defaults for this cmdlet:

- `-DisplayName`
    - Defaults to "azure-powershell-MM-dd-yyyy-HH-mm-ss", where "MM-dd-yyyy-HH-mm-ss" is the starting date of the service principal
- `-StartDate`
    - Defaults to the current time (in UTC)
- `-EndDate`
    - Defaults to one year after the value of `-StartDate`
- `-Password`
    - Defaults to a generated GUID that the user can retrieve from the `Secret` property on the object returned from this cmdlet
- `-Scope`
    - As mentioned previously, defaults to the current subscription ("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
- `-Role`
    - As mentioned previously, defaults to "Contributor"

#### Piping Scenarios

```powershell
# Get the service principals for a set of applications
Get-AzADApplication @FilterParameters | Get-AzADServicePrincipal

# Create a service principal for a set of applications
Get-AzADApplication @FilterParameters | New-AzADServicePrincipal @PutParameters

# Remove a set of service principals
Get-AzADServicePrincipal @FilterParameters | Remove-AzADServicePrincipal

# Remove a set of service principals from the given applications
Get-AzADApplication @FilterParameters | Remove-AzADServicePrincipal

# (PATCH) Update a set of service principals
Get-AzADServicePrincipal @FilterParameters | Update-AzADServicePrincipal @PatchParameters

# Get the credentials for a set of service principals
Get-AzADServicePrincipal @FilterParameters | Get-AzADSpCredential

# Create a new credential for a set of service principals
Get-AzADServicePrincipal @FilterParameters | New-AzADSpCredential @PutParameters

# Remove the credentials from a set of service principals
Get-AzADServicePrincipal @FilterParameters | Remove-AzADSpCredential
```

### Active Directory Users

The cmdlets currently found in this `Az.Resources` module that act upon users are the following:

- [`Get-AzADUser`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Get-AzADUser.md)
- [`New-AzADUser`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/New-AzADUser.md)
- [`Remove-AzADUser`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Remove-AzADUser.md)
- [`Update-AzADUser`](https://github.com/Azure/azure-powershell/blob/main/src/Resources/Resources/help/Update-AzADUser.md)

#### Piping Scenarios

```powershell
# Remove a set of users
Get-AzADUser @FilterParameters | Remove-AzADUser

# (PATCH) Update a set of users
Get-AzADUser @FilterParameters | Update-AzADUser @PatchParameters
```

---

### Documentation Migration Guides Az.1.0.0 Migration Guide (`documentation/migration-guides/Az.1.0.0-migration-guide.md`)

# Migration Guide for Az 1.0.0

This document describes the changes between the 6.x versions of AzureRM and Az version 1.0.0

## Table of Contents
- [General breaking changes](#general-breaking-changes)
  - [Cmdlet Noun Prefix Changes](#cmdlet-noun-prefix-changes)
  - [Module name changes](#module-name-changes)
  - [Removed modules](#removed-modules)
  - [Windows PowerShell 5.1 and .NET 4.7.2](#windows-powershell-51-and-net-framework-472)
  - [Temporary removal of User login using PSCredential](#temporary-removal-of-user-login-using-pscredential)
  - [Default Device Code login instead of Web Browser prompt](#default-device-code-login-instead-of-web-browser-prompt)
- [Module breaking changes](#module-breaking-changes)
  - [Az.ApiManagement (previously AzureRM.ApiManagement)](#azapimanagement-previously-azurermapimanagement)
  - [Az.Billing (previously AzureRM.Billing, AzureRM.Consumption, and AzureRM.UsageAggregates)](#azbilling-previously-azurermbilling-azurermconsumption-and-azurermusageaggregates)
  - [Az.CognitiveServices (previously AzureRM.CognitiveServices)](#azcognitiveservices-previously-azurermcognitiveservices)
  - [Az.Compute (previously AzureRM.Compute)](#azcompute-previously-azurermcompute)
  - [Az.DataFactory (previously AzureRM.DataFactories and AzureRM.DataFactoryV2)](#azdatafactory-previously-azurermdatafactories-and-azurermdatafactoryv2)
  - [Az.DataLakeAnalytics (previously AzureRM.DataLakeAnalytics)](#azdatalakeanalytics-previously-azurermdatalakeanalytics)
  - [Az.DataLakeStore (previously AzureRM.DataLakeStore)](#azdatalakestore-previously-azurermdatalakestore)
  - [Az.KeyVault (previously AzureRM.KeyVault)](#azkeyvault-previously-azurermkeyvault)
  - [Az.Media (previously AzureRM.Media)](#azmedia-previously-azurermmedia)
  - [Az.Monitor (previously AzureRM.Insights)](#azmonitor-previously-azurerminsights)
  - [Az.Network (previously AzureRM.Network)](#aznetwork-previously-azurermnetwork)
  - [Az.OperationalInsights (previously AzureRM.OperationalInsights)](#azoperationalinsights-previously-azurermoperationalinsights)
  - [Az.RecoveryServices (previously AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup, and AzureRM.RecoveryServices.SiteRecovery)](#azrecoveryservices-previously-azurermrecoveryservices-azurermrecoveryservicesbackup-and-azurermrecoveryservicessiterecovery)
  - [Az.Resources (previously AzureRM.Resources)](#azresources-previously-azurermresources)
  - [Az.ServiceFabric (previously AzureRM.ServiceFabric)](#azservicefabric-previously-azurermservicefabric)
  - [Az.Sql (previously AzureRM.Sql)](#azsql-previously-azurermsql)
  - [Az.Storage (previously Azure.Storage and AzureRM.Storage)](#azstorage-previously-azurestorage-and-azurermstorage)
  - [Az.Websites (previously AzureRM.Websites)](#azwebsites-previously-azurermwebsites)

## General breaking changes
### Cmdlet Noun Prefix Changes
In AzureRM, cmdlets used either 'AzureRM' or 'Azure' as a noun prefix.  Az simplifies and normalizes cmdlet names, so that all cmdlets use 'Az' as their cmdlet noun prefix. 
For example:
```powershell
Get-AzureRmVM
Get-AzureKeyVaultSecret
```

Have changed to
```powershell
Get-AzVM
Get-AzKeyVaultSecret
```

To make the transition to these new cmdlet names simpler, Az introduces two new cmdlets, ```Enable-AzureRmAlias``` and ```Disable-AzureRmAlias```.  ```Enable-AzureRmAlias``` creates aliases from the older cmdlet names in AzureRM to the newer Az cmdlet names.  The cmdlet allows creating aliases in the current session, or across all sessions by changing your user or machine profile. 

For example, the following script in AzureRM:
```powershell
#Requires -Modules AzureRM.Storage
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
```

Could be run with minimal changes using ```Enable-AzureRmAlias```:
```powershell
#Requires -Modules Az.Storage
Enable-AzureRmAlias
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
```

Running ```Enable-AzureRmAlias -Scope CurrentUser``` will enable the aliases for all PowerShell sessions you open, so that after executing this cmdlet, a script like this would not need to be changed at all:
```powershell
Get-AzureRmStorageAccount | Get-AzureStorageContainer | Get-AzureStorageBlob
```

For complete details on the usage of the alias cmdlets, execute ```Get-Help Enable-AzureRmAlias -Online``` from the PowerShell prompt.

```Disable-AzureRmAlias``` removes AzureRM cmdlet aliases created by ```Enable-AzureRmAlias```.  For complete details, execute ```Get-Help Disable-AzureRmAlias -Online``` from the PowerShell prompt.

### Module Name Changes
- The module names have changed from `AzureRM.*` to `Az.*`, except for the following modules:
```
AzureRM.Profile                       -> Az.Accounts
Azure.AnalysisServices                -> Az.AnalysisServices
AzureRM.Consumption                   -> Az.Billing
AzureRM.UsageAggregates               -> Az.Billing
AzureRM.DataFactories                 -> Az.DataFactory
AzureRM.DataFactoryV2                 -> Az.DataFactory
AzureRM.MachineLearningCompute        -> Az.MachineLearning
AzureRM.Insights                      -> Az.Monitor
AzureRM.RecoveryServices.Backup       -> Az.RecoveryServices
AzureRM.RecoveryServices.SiteRecovery -> Az.RecoveryServices
AzureRM.Tags                          -> Az.Resources
Azure.Storage                         -> Az.Storage
```

The changes in module names mean that any script that uses ```#Requires``` or ```Import-Module``` to load specific modules will need to be changed to use the new module instead.

#### Migrating #Requires Statements
Scripts that use #Requires to declare a dependency on AzureRM modules should be updated to use the new module names
```powershell
#Requires -Module AzureRM.Compute
```

Should be changed to
```powershell
#Requires -Module Az.Compute
```

#### Migrating Import-Module Statements
Scripts that use ```Import-Module``` to load AzureRM modules will need to be updated to reflect the new module names.
```powershell
Import-Module -Name AzureRM.Compute
```

Should be changed to
```powershell
Import-Module -Name Az.Compute
```

### Migrating Fully-Qualified Cmdlet Invocations
Scripts that use module-qualified cmdlet invocations, like
```powershell
AzureRM.Compute\Get-AzureRmVM
```

Should be changed to use the new module and cmdlet names
```powershell
Az.Compute\Get-AzVM
```

### Migrating Module Manifest Dependencies
Modules that express dependencies on AzureRM modules through a module manifest (.psd1) file will need to update the module names in their 'RequiredModules' section

```powershell
RequiredModules = @(@{ModuleName="AzureRM.Profile"; ModuleVersion="5.8.2"})
```

Should be changed to

```powershell
RequiredModules = @(@{ModuleName="Az.Accounts"; ModuleVersion="1.0.0"})
```

### Removed modules
- `AzureRM.Backup`
- `AzureRM.Compute.ManagedService`
- `AzureRM.Scheduler`

The tooling for these services are no longer actively supported.  Customers are encouraged to move to alternative services as soon as it is convenient.

### Windows PowerShell 5.1 and .NET Framework 4.7.2
- Using Az with Windows PowerShell 5.1 requires the installation of .NET Framework 4.7.2. However, using Az with PowerShell 7 does not require .NET Framework 4.7.2. 

### Temporary removal of User login using PSCredential
- Due to changes in the authentication flow for .NET Standard, we are temporarily removing user login via PSCredential. This capability will be re-introduced in the 1/15/2019 release for Windows PowerShell 5.1. This is discussed in detail in [this issue.](https://github.com/Azure/azure-powershell/issues/7430)

### Default Device Code login instead of Web Browser prompt
- Due to changes in the authentication flow for .NET Standard, we are using device login as the default login flow during interactive login. Web browser based login will be re-introduced for Windows PowerShell 5.1 as the default in the 1/15/2019 release. At that time, users will be able to choose device login using a switch parameter.

## Module breaking changes

### Az.ApiManagement (previously AzureRM.ApiManagement)
- Removing the following cmdlets:
  - New-AzureRmApiManagementHostnameConfiguration
  - Set-AzureRmApiManagementHostnames
  - Update-AzureRmApiManagementDeployment
  - Import-AzureRmApiManagementHostnameCertificate
  - Use **Set-AzApiManagement** cmdlet to set these properties instead
- Following properties were removed
  - Removed property `PortalHostnameConfiguration`, `ProxyHostnameConfiguration`, `ManagementHostnameConfiguration` and `ScmHostnameConfiguration` of type `PsApiManagementHostnameConfiguration` from `PsApiManagementContext`. Instead use `PortalCustomHostnameConfiguration`, `ProxyCustomHostnameConfiguration`, `ManagementCustomHostnameConfiguration` and `ScmCustomHostnameConfiguration` of type `PsApiManagementCustomHostNameConfiguration`.
  - Removed property `StaticIPs` from PsApiManagementContext. The property has been split into `PublicIPAddresses` and `PrivateIPAddresses`.
  - Removed required property `Location` from New-AzureApiManagementVirtualNetwork cmdlet.

### Az.Billing (previously AzureRM.Billing, AzureRM.Consumption, and AzureRM.UsageAggregates)
- The `InvoiceName` parameter was removed from the `Get-AzConsumptionUsageDetail` cmdlet.  Scripts will need to use other identity parameters for the invoice.

### Az.CognitiveServices (previously AzureRM.CognitiveServices)
- Removed `GetSkusWithAccountParamSetName` parameter set from `Get-AzCognitiveServicesAccountSkus` cmdlet.  You must get Skus by Account Type and Location, instead of using ResourceGroupName and Account Name.

### Az.Compute (previously AzureRM.Compute)
- `IdentityIds` are removed from `Identity` property in `PSVirtualMachine` and `PSVirtualMachineScaleSet` objects.
  Scripts should no longer use the value of this field to make processing decisions.
- The type of `InstanceView` property of `PSVirtualMachineScaleSetVM` object is changed from `VirtualMachineInstanceView` to `VirtualMachineScaleSetVMInstanceView`
- `AutoOSUpgradePolicy` and `AutomaticOSUpgrade` properties are removed from `UpgradePolicy` property
- The type of `Sku` property in `PSSnapshotUpdate` object is changed from `DiskSku` to `SnapshotSku`
- `VmScaleSetVMParameterSet` is removed from `Add-AzVMDataDisk` cmdlet, you can no longer add a data disk individually to a ScaleSet VM.

### Az.DataFactory (previously AzureRM.DataFactories and AzureRM.DataFactoryV2)
- The `GatewayName` parameter has become mandatory in the `New-AzDataFactoryEncryptValue` cmdlet
- Removed `New-AzDataFactoryGatewayKey` cmdlet
- Removed `LinkedServiceName` parameter from `Get-AzDataFactoryV2ActivityRun` cmdlet.
  Scripts should no longer use the value of this field to make processing decisions.

### Az.DataLakeAnalytics (previously AzureRM.DataLakeAnalytics)
- Removed deprecated cmdlets: `New-AzDataLakeAnalyticsCatalogSecret`, `Remove-AzDataLakeAnalyticsCatalogSecret`, and `Set-AzDataLakeAnalyticsCatalogSecret`

### Az.DataLakeStore (previously AzureRM.DataLakeStore)
- The following cmdlets have had the `Encoding` parameter changed from the type `FileSystemCmdletProviderEncoding` to `System.Text.Encoding`. This change removes the encoding values `String` and `Oem`. All the other prior encoding values remain.
  - New-AzureRmDataLakeStoreItem
  - Add-AzureRmDataLakeStoreItemContent
  - Get-AzureRmDataLakeStoreItemContent
- Removed deprecated `Tags` property alias from `New-AzDataLakeStoreAccount` and `Set-AzDataLakeStoreAccount` cmdlets

  Scripts using
  ```powershell
  New-AzureRMDataLakeStoreAccount -Tags @{TagName="TagValue"}
  ```

  Should be changed to
  ```powershell
  New-AzDataLakeStoreAccount -Tag @{TagName="TagValue"}
  ```

- Removed deprecated properties ```Identity```, ```EncryptionState```, ```EncryptionProvisioningState```, ```EncryptionConfig```, ```FirewallState```, ```FirewallRules```, ```VirtualNetworkRules```, ```TrustedIdProviderState```, ```TrustedIdProviders```, ```DefaultGroup```, ```NewTier```, ```CurrentTier```, ```FirewallAllowAzureIps``` from ```PSDataLakeStoreAccountBasic``` object.  Any script that 
uses the ```PSDatalakeStoreAccount``` returned from ```Get-AzDataLakeStoreAccount``` should not reference these properties.

### Az.KeyVault (previously AzureRM.KeyVault)
- The `PurgeDisabled` property was removed from the `PSKeyVaultKeyAttributes`, `PSKeyVaultKeyIdentityItem`, and `PSKeyVaultSecretAttributes` objects.
  Scripts should no longer reference the ```PurgeDisabled``` property to make processing decisions.

### Az.Media (previously AzureRM.Media)
- Remove deprecated `Tags` property alias from `New-AzMediaService` cmdlet
  Scripts using
  ```powershell
  New-AzureRMMediaService -Tags @{TagName="TagValue"}
  ```

  Should be changed to
  ```powershell
  New-AzMMediaService -Tag @{TagName="TagValue"}
  ```
### Az.Monitor (previously AzureRM.Insights)
- Removed plural names `Categories` and `Timegrains` parameter in favor of singular parameter names from `Set-AzDiagnosticSetting` cmdlet.
  Scripts using
  ```powershell
  Set-AzureRmDiagnosticSetting -Timegrains PT1M -Categories Category1, Category2
  ```

  Should be changed to
  ```powershell
  Set-AzDiagnosticSetting -Timegrain PT1M -Category Category1, Category2
  ```
### Az.Network (previously AzureRM.Network)
- Removed deprecated `ResourceId` parameter from `Get-AzServiceEndpointPolicyDefinition` cmdlet
- Removed deprecated `EnableVmProtection` property from `PSVirtualNetwork` object
- Removed deprecated `Set-AzVirtualNetworkGatewayVpnClientConfig` cmdlet
  
Scripts should no longer make processing decisions based on the values for these fields.

### Az.OperationalInsights (previously AzureRM.OperationalInsights)
- Default parameter set for `Get-AzOperationalInsightsDataSource` is removed, and `ByWorkspaceNameByKind` has become the default parameter set

  Scripts that listed data sources using
  ```powershell
  Get-AzureRmOperationalInsightsDataSource
  ```

  Should be changed to specify a Kind
  ```powershell
  Get-AzOperationalInsightsDataSource -Kind AzureActivityLog
  ```

### Az.RecoveryServices (previously AzureRM.RecoveryServices, AzureRM.RecoveryServices.Backup, and AzureRM.RecoveryServices.SiteRecovery)
- Removed `Encryption` parameter from `New/Set-AzRecoveryServicesAsrPolicy` cmdlets
- `TargetStorageAccountName` parameter is now mandatory for managed disk restores in `Restore-AzRecoveryServicesBackupItem` cmdlet
- Removed `StorageAccountName` and `StorageAccountResourceGroupName` parameters in `Restore-AzRecoveryServicesBackupItem` cmdlet for Azure File Share restore
- Removed `Name`parameter in `Get-AzRecoveryServicesBackupContainer` cmdlet

### Az.Resources (previously AzureRM.Resources)
- Removed `Sku` parameter from `New/Set-AzPolicyAssignment` cmdlets
- Removed `Password` parameter from `New-AzADServicePrincipal` and `New-AzADSpCredential` cmdlets.
  Passwords are automatically generated, scripts that provided the password:
  ```powershell
  New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476 -Password $secPassword
  ```

  Should be changed to retrieve the password from the output:
  ```powershell
  $credential = New-AzAdSpCredential -ObjectId 1f99cf81-0146-4f4e-beae-2007d0668476
  $secPassword = $credential.Secret
  ```

### Az.ServiceFabric (previously AzureRM.ServiceFabric)
- The following cmdlet return types have been changed:
  - The property `ServiceTypeHealthPolicies` of type `ApplicationHealthPolicy` has been removed.
  - The property `ApplicationHealthPolicies` of type `ClusterUpgradeDeltaHealthPolicy` has been removed.
  - The property `OverrideUserUpgradePolicy` of type `ClusterUpgradePolicy` has been removed.
  - These changes affect the following cmdlets:
    - Add-AzServiceFabricClientCertificate
    - Add-AzServiceFabricClusterCertificate
    - Add-AzServiceFabricNode
    - Add-AzServiceFabricNodeType
    - Get-AzServiceFabricCluster
    - Remove-AzServiceFabricClientCertificate
    - Remove-AzServiceFabricClusterCertificate
    - Remove-AzServiceFabricNode
    - Remove-AzServiceFabricNodeType
    - Remove-AzServiceFabricSetting
    - Set-AzServiceFabricSetting
    - Set-AzServiceFabricUpgradeType
    - Update-AzServiceFabricDurability
    - Update-AzServiceFabricReliability

### Az.Sql (previously AzureRM.Sql)
- Removed `State` and `ResourceId` parameters from `Set-AzSqlDatabaseBackupLongTermRetentionPolicy` cmdlet
- Removed deprecated cmdlets: `Get/Set-AzSqlServerBackupLongTermRetentionVault`, `Get/Start/Stop-AzSqlServerUpgrade`, `Get/Set-AzSqlDatabaseAuditingPolicy`, `Get/Set-AzSqlServerAuditingPolicy`, `Remove-AzSqlDatabaseAuditing`, `Remove-AzSqlServerAuditing`
- Removed deprecated parameter `Current` from `Get-AzSqlDatabaseBackupLongTermRetentionPolicy` cmdlet
- Removed deprecated parameter `DatabaseName` from `Get-AzSqlServerServiceObjective` cmdlet
- Removed deprecated parameter `PrivilegedLogin` from `Set-AzSqlDatabaseDataMaskingPolicy` cmdlet

### Az.Storage (previously Azure.Storage and AzureRM.Storage)
- To support creating an OAuth storage context with only the storage account name, the default parameter set has been changed to `OAuthParameterSet`
  - Example: `$ctx = New-AzStorageContext -StorageAccountName $accountName`
- The `Location` parameter has become mandatory in the `Get-AzStorageUsage` cmdlet
- The Storage API methods now use the Task-based Asynchronous Pattern (TAP), instead of synchronous API calls.
#### 1. Blob Snapshot
##### Before:
```powershell
$b = Get-AzureStorageBlob -Container $containerName -Blob $blobName -Context $ctx
$b.ICloudBlob.Snapshot()
```

##### After:
```powershell
$b = Get-AzStorageBlob -Container $containerName -Blob $blobName -Context $ctx
$task = $b.ICloudBlob.SnapshotAsync()
$task.Wait()
$snapshot = $task.Result
```

#### 2. Share Snapshot
##### Before:
```powershell
$Share = Get-AzureStorageShare -Name $containerName -Context $ctx
$snapshot = $Share.Snapshot()
```
#####  After:
```powershell

$Share = Get-AzStorageShare -Name $containerName -Context $ctx
$task = $Share.SnapshotAsync()
$task.Wait()
$snapshot = $task.Result
```

#### 3. Undelete a soft delete blob
##### Before:
```powershell
$b = Get-AzureStorageBlob -Container $containerName -Blob $blobName -IncludeDeleted -Context $ctx
$b.ICloudBlob.Undelete()
```
##### After:
```powershell
$b = Get-AzStorageBlob -Container $containerName -Blob $blobName -IncludeDeleted -Context $ctx
$task = $b.ICloudBlob.UndeleteAsync()
$task.Wait()
```

#### 4. Set Blob Tier
##### Before:
```powershell
$blockBlob = Get-AzureStorageBlob -Container $containerName -Blob $blockBlobName -Context $ctx
$blockBlob.ICloudBlob.SetStandardBlobTier("hot")

$pageBlob = Get-AzureStorageBlob -Container $containerName -Blob $pageBlobName -Context $ctx
$pageBlob.ICloudBlob.SetPremiumBlobTier("P4")
```

##### After:
```powershell
$blockBlob = Get-AzStorageBlob -Container $containerName -Blob $blockBlobName -Context $ctx
$task = $blockBlob.ICloudBlob.SetStandardBlobTierAsync("hot")
$task.Wait()

$pageBlob = Get-AzStorageBlob -Container $containerName -Blob $pageBlobName -Context $ctx
$task = $pageBlob.ICloudBlob.SetPremiumBlobTierAsync("P4")
$task.Wait()
```

### Az.Websites (previously AzureRM.Websites)
- Removed deprecated properties from the `PSAppServicePlan`, `PSCertificate`, `PSCloningInfo`, and `PSSite` objects

---

### Documentation Migration Guides Az.10.0.0 Migration Guide (`documentation/migration-guides/Az.10.0.0-migration-guide.md`)

# Migration Guide for Az 10.0.0

## Az.Cdn

### `Update-AzFrontDoorCdnProfile`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `Update-AzCdnProfile`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `Update-AzCdnOriginGroup`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `Update-AzCdnOrigin`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `Update-AzCdnEndpoint`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `Stop-AzCdnEndpoint`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `Start-AzCdnEndpoint`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `New-AzFrontDoorCdnProfile`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `New-AzCdnProfile`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `New-AzCdnOriginGroup`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `New-AzCdnOrigin`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `New-AzCdnEndpoint`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `New-AzCdnCustomDomain`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `Get-AzFrontDoorCdnProfile`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `Get-AzCdnSubscriptionResourceUsage`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `Get-AzCdnProfileResourceUsage`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `Get-AzCdnProfile`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `Get-AzCdnOriginGroup`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `Get-AzCdnOrigin`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `Get-AzCdnEndpointResourceUsage`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `Get-AzCdnEndpoint`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `Get-AzCdnCustomDomain`
- The output type is changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20210601.IProfile' to'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20221101Preview.IProfile' without properties changed.

### `Enable-AzCdnCustomDomainCustomHttps`
- The cmdlet 'Enable-AzCdnCustomDomainCustomHttps' no longer supports the parameter 'PassThru' and no alias was found for the original parameter name.

#### Before
```powershell
$customDomainHttpsParameter = New-AzCdnManagedHttpsParametersObject -CertificateSourceParameterCertificateType Dedicated -CertificateSource Cdn  -ProtocolType ServerNameIndication
Enable-AzCdnCustomDomainCustomHttps -ResourceGroupName testps-rg-da16jm -ProfileName cdn001 -EndpointName endptest001 -CustomDomainName customdomain001 -CustomDomainHttpsParameter $customDomainHttpsParameter -PassThru

Output:
True
```
#### After
```powershell
$customDomainHttpsParameter = New-AzCdnManagedHttpsParametersObject -CertificateSourceParameterCertificateType Dedicated -CertificateSource Cdn  -ProtocolType ServerNameIndication
Enable-AzCdnCustomDomainCustomHttps -ResourceGroupName testps-rg-da16jm -ProfileName cdn001 -EndpointName endptest001 -CustomDomainName customdomain001 -CustomDomainHttpsParameter $customDomainHttpsParameter

Output:
Null
```


### `Disable-AzCdnCustomDomainCustomHttps`
- The cmdlet 'Disable-AzCdnCustomDomainCustomHttps' no longer supports the parameter 'PassThru' and no alias was found for the original parameter name.

#### Before
```powershell
Disable-AzCdnCustomDomainCustomHttps -ResourceGroupName testps-rg-da16jm -ProfileName cdn001 -EndpointName endptest001 -CustomDomainName customdomain001 -PassThru

Output:
True
```
#### After
```powershell
Disable-AzCdnCustomDomainCustomHttps -ResourceGroupName testps-rg-da16jm -ProfileName cdn001 -EndpointName endptest001 -CustomDomainName customdomain001

OutPut:
Null
```


## Az.Compute

### `Get-AzVM`
- The cmdlet 'Get-AzVM' no longer supports the parameter 'NextLink' and no alias was found for the original parameter name.

#### Before
```powershell
Get-AzVM -NextLink $myUri
```
#### After
```powershell
Get-AzVM -ResourceGroupName $rgname -Name $vmName
```


## Az.ContainerRegistry

### `Update-AzContainerRegistryWebhook`
- The cmdlet 'Update-AzContainerRegistryWebhook' no longer supports the alias 'WebhookUri' for parameter 'Uri'.
- The cmdlet 'Update-AzContainerRegistryWebhook' no longer supports the alias 'WebhookActions' for parameter 'Action'.
- The cmdlet 'Update-AzContainerRegistryWebhook' no longer supports the alias 'WebhookHeaders' for parameter 'Header'.
- The cmdlet 'Update-AzContainerRegistryWebhook' no longer supports the alias 'WebhookStatus' for parameter 'Status'.
- The cmdlet 'Update-AzContainerRegistryWebhook' no longer supports the alias 'WebhookScope' for parameter 'Scope'.
- The cmdlet 'Update-AzContainerRegistryWebhook' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'Update-AzContainerRegistryWebhook' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Update-AzContainerRegistryWebhook' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Update-AzContainerRegistryWebhook' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Update-AzContainerRegistryWebhook -ResourceId /subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/registries/MyRegistry/webhooks/webhook001 -Uri http://www.bing.com -Action Delete,Push -Header @{SpecialHeader='headerVal'} -Tag @{Key='val'} -Status Enabled -Scope 'foo:*'
```
#### After
```powershell
Update-AzContainerRegistryWebhook -ResourceGroupName "MyResourceGroup" -RegistryName "RegistryExample" -Name "webhook001" -Uri http://www.bing.com -Action Delete,Push -Header @{SpecialHeader='headerVal'} -Tag @{Key='val'} -Status Enabled -Scope 'foo:*'
```


### `Update-AzContainerRegistryCredential`
- The cmdlet 'Update-AzContainerRegistryCredential' no longer supports the alias 'RegistryName' for parameter 'Name'.
- The cmdlet 'Update-AzContainerRegistryCredential' no longer supports the type 'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistry' for parameter 'Registry'.
- The cmdlet 'Update-AzContainerRegistryCredential' no longer supports the type 'Microsoft.Azure.Management.ContainerRegistry.Models.PasswordName' for parameter 'PasswordName'.
- The cmdlet 'Update-AzContainerRegistryCredential' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'Update-AzContainerRegistryCredential' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Update-AzContainerRegistryCredential' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Update-AzContainerRegistryCredential' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Update-AzContainerRegistryCredential -ResourceId /subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/registries/MyRegistry -PasswordName password

```
#### After
```powershell
Update-AzContainerRegistryCredential -ResourceGroupName "MyResourceGroup" -RegistryName "RegistryExample" -PasswordName Password
```


### `Update-AzContainerRegistry`
- The cmdlet 'Update-AzContainerRegistry' no longer has output type 'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistry'.
- The cmdlet 'Update-AzContainerRegistry' no longer supports the alias 'EnableAdmin' for parameter 'EnableAdminUser'.
- The cmdlet 'Update-AzContainerRegistry' no longer supports the parameter 'DisableAdminUser' and no alias was found for the original parameter name.
- The cmdlet 'Update-AzContainerRegistry' no longer supports the parameter 'StorageAccountName' and no alias was found for the original parameter name.
- The cmdlet 'Update-AzContainerRegistry' no longer supports the parameter 'NetworkRuleSet' and no alias was found for the original parameter name.
- The cmdlet 'Update-AzContainerRegistry' no longer supports the alias 'ContainerRegistrySku' for parameter 'Sku'.
- The cmdlet 'Update-AzContainerRegistry' no longer supports the alias 'RegistrySku' for parameter 'Sku'.
- The cmdlet 'Update-AzContainerRegistry' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'Update-AzContainerRegistry' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Update-AzContainerRegistry' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Update-AzContainerRegistry' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Update-AzContainerRegistry -ResourceId /subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/registries/MyRegistry -EnableAdmin
```
#### After
```powershell
Update-AzContainerRegistry -ResourceGroupName "MyResourceGroup" -Name "RegistryExample" -EnableAdminUser
```


### `Test-AzContainerRegistryWebhook`
- The cmdlet 'Test-AzContainerRegistryWebhook' no longer has output type 'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistryEventInfo'.
- The cmdlet 'Test-AzContainerRegistryWebhook' no longer supports the type 'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistryWebhook' for parameter 'Webhook'.
- The cmdlet 'Test-AzContainerRegistryWebhook' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'Test-AzContainerRegistryWebhook' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Test-AzContainerRegistryWebhook' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Test-AzContainerRegistryWebhook' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Test-AzContainerRegistryWebhook -ResourceId /subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/registries/MyRegistry/webhooks/webhook001
```
#### After
```powershell
Test-AzContainerRegistryWebhook -ResourceGroupName "MyResourceGroup" -RegistryName "RegistryExample" -Name "webhook001"
```


### `Test-AzContainerRegistryNameAvailability`
- The cmdlet 'Test-AzContainerRegistryNameAvailability' no longer supports the alias 'ContainerRegistryName' for parameter 'Name'.
- The cmdlet 'Test-AzContainerRegistryNameAvailability' no longer supports the alias 'RegistryName' for parameter 'Name'.
- The cmdlet 'Test-AzContainerRegistryNameAvailability' no longer supports the alias 'ResourceName' for parameter 'Name'.
- The cmdlet 'Test-AzContainerRegistryNameAvailability' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Test-AzContainerRegistryNameAvailability' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Test-AzContainerRegistryNameAvailability' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Test-AzContainerRegistryNameAvailability -ContainerRegistryName 'SomeRegistryName'
```
#### After
```powershell
Test-AzContainerRegistryNameAvailability -Name 'SomeRegistryName'
```


### `Set-AzContainerRegistryNetworkRuleSet`
- The cmdlet 'Set-AzContainerRegistryNetworkRuleSet' has been removed and no alias was found for the original cmdlet name.

### `Remove-AzContainerRegistryWebhook`
- The cmdlet 'Remove-AzContainerRegistryWebhook' no longer supports the parameter 'Webhook' and no alias was found for the original parameter name.
- The cmdlet 'Remove-AzContainerRegistryWebhook' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'Remove-AzContainerRegistryWebhook' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Remove-AzContainerRegistryWebhook' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Remove-AzContainerRegistryWebhook' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Remove-AzContainerRegistryWebhook -ResourceId /subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/registries/MyRegistry/webhooks/webhook001
```
#### After
```powershell
Remove-AzContainerRegistryWebhook -ResourceGroupName "MyResourceGroup" -RegistryName "RegistryExample" -Name "webhook001"
```


### `Remove-AzContainerRegistryReplication`
- The cmdlet 'Remove-AzContainerRegistryReplication' no longer supports the parameter 'Replication' and no alias was found for the original parameter name.
- The cmdlet 'Remove-AzContainerRegistryReplication' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'Remove-AzContainerRegistryReplication' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Remove-AzContainerRegistryReplication' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Remove-AzContainerRegistryReplication' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Remove-AzContainerRegistryReplication -ResourceId /subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/registries/MyRegistry/replications/westus
```
#### After
```powershell
Remove-AzContainerRegistryReplication -Name "NewReplication" -ResourceGroupName "MyResourceGroup" -RegistryName "RegistryExample"
```


### `Remove-AzContainerRegistry`
- The cmdlet 'Remove-AzContainerRegistry' no longer supports the parameter 'Registry' and no alias was found for the original parameter name.
- The cmdlet 'Remove-AzContainerRegistry' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'Remove-AzContainerRegistry' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Remove-AzContainerRegistry' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Remove-AzContainerRegistry' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Remove-AzContainerRegistry -ResourceId /subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/registries/MyRegistry
```
#### After
```powershell
Remove-AzContainerRegistry -ResourceGroupName "MyResourceGroup" -Name "MyRegistry"
```


### `New-AzContainerRegistryWebhook`
- The cmdlet 'New-AzContainerRegistryWebhook' no longer has output type 'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistryWebhook'.
- The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the alias 'WebhookUri' for parameter 'Uri'.
- The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the alias 'WebhookActions' for parameter 'Action'.
- The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the alias 'WebhookHeaders' for parameter 'Header'.
- The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the alias 'WebhookStatus' for parameter 'Status'.
- The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the alias 'WebhookScope' for parameter 'Scope'.
- The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the alias 'WebhookLocation' for parameter 'Location'.
- The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzContainerRegistryWebhook' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
New-AzContainerRegistryWebhook -ResourceGroupName "MyResourceGroup" -RegistryName "RegistryExample" -Name "webhook001" -Uri http://www.bing.com -Action Delete,Push -Header @{SpecialHeader='headerVal'} -Tag @{Key="val"} -Location "east us" -Status WebhookStatus -WebhookScope "foo:*"
```
#### After
```powershell
New-AzContainerRegistryWebhook -ResourceGroupName "MyResourceGroup" -RegistryName "RegistryExample" -Name "webhook001" -Uri http://www.bing.com -Action Delete,Push -Header @{SpecialHeader='headerVal'} -Tag @{Key="val"} -Location "east us" -Status Enabled -Scope "foo:*"
```


### `New-AzContainerRegistryReplication`
- The cmdlet 'New-AzContainerRegistryReplication' no longer has output type 'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistryReplication'.
- The cmdlet 'New-AzContainerRegistryReplication' no longer supports the type 'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistry' for parameter 'Registry'.
- The cmdlet 'New-AzContainerRegistryReplication' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'New-AzContainerRegistryReplication' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzContainerRegistryReplication' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzContainerRegistryReplication' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
New-AzContainerRegistryReplication -Name replication001 -Location 'west us' -ResourceId /subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/registries/MyRegistry
```
#### After
```powershell
New-AzContainerRegistryReplication -ResourceGroupName "MyResourceGroup" -RegistryName "MyRegistry" -Name replication001 -Location 'west us'
```


### `New-AzContainerRegistryNetworkRule`
- The cmdlet 'New-AzContainerRegistryNetworkRule' has been removed and no alias was found for the original cmdlet name.

### `New-AzContainerRegistry`
- The cmdlet 'New-AzContainerRegistry' no longer has output type 'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistry'.
- The cmdlet 'New-AzContainerRegistry' no longer supports the alias 'ContainerRegistrySku' for parameter 'Sku'.
- The cmdlet 'New-AzContainerRegistry' no longer supports the alias 'RegistrySku' for parameter 'Sku'.
- The cmdlet 'New-AzContainerRegistry' no longer supports the alias 'EnableAdmin' for parameter 'EnableAdminUser'.
- The cmdlet 'New-AzContainerRegistry' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzContainerRegistry' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzContainerRegistry' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
 New-AzContainerRegistry -ResourceGroupName "MyResourceGroup" -Name "RegistryExample" -ContainerRegistrySku "Basic" -Location "west us" -EnableAdmin
```
#### After
```powershell
 New-AzContainerRegistry -ResourceGroupName "MyResourceGroup" -Name "RegistryExample" -Sku "Basic" -Location "west us" -EnableAdminUser
```


### `Import-AzContainerRegistryImage`
- The cmdlet 'Import-AzContainerRegistryImage' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Import-AzContainerRegistryImage' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Import-AzContainerRegistryImage' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

### `Get-AzContainerRegistryWebhookEvent`
- The cmdlet 'Get-AzContainerRegistryWebhookEvent' no longer has output type 'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistryWebhookEvent'.
- The cmdlet 'Get-AzContainerRegistryWebhookEvent' no longer supports the type 'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistryWebhook' for parameter 'Webhook'.
- The cmdlet 'Get-AzContainerRegistryWebhookEvent' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'Get-AzContainerRegistryWebhookEvent' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzContainerRegistryWebhookEvent' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzContainerRegistryWebhookEvent' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Get-AzContainerRegistryWebhookEvent -ResourceId /subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/registries/MyRegistry/webhooks/webhook001
```
#### After
```powershell
Get-AzContainerRegistryWebhookEvent  -ResourceGroupName MyResourceGroup -RegistryName RegistryExample -WebhookName webhook001
```


### `Get-AzContainerRegistryWebhook`
- The cmdlet 'Get-AzContainerRegistryWebhook' no longer has output type 'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistryWebhook'.
- The cmdlet 'Get-AzContainerRegistryWebhook' no longer supports the type 'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistry' for parameter 'Registry'.
- The cmdlet 'Get-AzContainerRegistryWebhook' no longer supports the parameter 'IncludeConfiguration' and no alias was found for the original parameter name.
- The cmdlet 'Get-AzContainerRegistryWebhook' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'Get-AzContainerRegistryWebhook' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzContainerRegistryWebhook' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzContainerRegistryWebhook' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Get-AzContainerRegistryWebhook -ResourceId /subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/registries/MyRegistry/webhooks/webhook001
```
#### After
```powershell
Get-AzContainerRegistryWebhook  -ResourceGroupName "MyResourceGroup" -RegistryName "RegistryExample" -Name "webhook001"
```


### `Get-AzContainerRegistryUsage`
- The cmdlet 'Get-AzContainerRegistryUsage' no longer has output type 'Microsoft.Azure.Commands.ContainerRegistry.Models.PSRegistryUsage'.
- The cmdlet 'Get-AzContainerRegistryUsage' no longer supports the alias 'RegistryName' for parameter 'Name'.
- The cmdlet 'Get-AzContainerRegistryUsage' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzContainerRegistryUsage' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzContainerRegistryUsage' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Get-AzContainerRegistryUsage -ResourceId /subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/registries/MyRegistry
```
#### After
```powershell
Get-AzContainerRegistryUsage -ResourceGroupName "MyResourceGroup" -Name "MyRegistry"
```


### `Get-AzContainerRegistryReplication`
- The cmdlet 'Get-AzContainerRegistryReplication' no longer has output type 'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistryReplication'.
- The cmdlet 'Get-AzContainerRegistryReplication' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'Get-AzContainerRegistryReplication' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzContainerRegistryReplication' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzContainerRegistryReplication' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Get-AzContainerRegistryReplication  -ResourceId /subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/registries/MyRegistry/replications/westus
```
#### After
```powershell
 Get-AzContainerRegistryReplication -ResourceGroupName "MyResourceGroup" -RegistryName "RegistryExample"
```


### `Get-AzContainerRegistryCredential`
- The cmdlet 'Get-AzContainerRegistryCredential' no longer supports the alias 'ContainerRegistryName' for parameter 'Name'.
- The cmdlet 'Get-AzContainerRegistryCredential' no longer supports the alias 'RegistryName' for parameter 'Name'.
- The cmdlet 'Get-AzContainerRegistryCredential' no longer supports the alias 'ResourceName' for parameter 'Name'.
- The cmdlet 'Get-AzContainerRegistryCredential' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'Get-AzContainerRegistryCredential' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzContainerRegistryCredential' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzContainerRegistryCredential' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
 Get-AzContainerRegistryCredential  -ResourceId /subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/registries/MyRegistry
```
#### After
```powershell
 Get-AzContainerRegistryCredential -ResourceGroupName "MyResourceGroup" -RegistryName "RegistryExample"
```


### `Get-AzContainerRegistry`
- The cmdlet 'Get-AzContainerRegistry' no longer has output type 'Microsoft.Azure.Commands.ContainerRegistry.PSContainerRegistry'.
- The cmdlet 'Get-AzContainerRegistry' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'Get-AzContainerRegistry' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzContainerRegistry' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzContainerRegistry' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Get-AzContainerRegistry -ResourceId /subscriptions/{subscriptionID}/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerRegistry/registries/MyRegistry
```
#### After
```powershell
Get-AzContainerRegistry -ResourceGroupName "MyResourceGroup" -Name "MyRegistry"
```


## Az.DataProtection

### `Initialize-AzDataProtectionBackupInstance`
- The parameter 'BackupConfiguration' is changed from 'Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api202301.KubernetesClusterBackupDatasourceParameters' to its base class type 'Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api202301.IBackupDatasourceParameters'. The usage remains unchanged.

## Az.DesktopVirtualization

### `Update-AzWvdScalingPlan`
- The cmdlet 'Update-AzWvdScalingPlan' no longer supports the parameter 'HostPoolType' and no alias was found for the original parameter name.

#### Before
```
/* Detailed source-code truncated for AI context efficiency. */
```
#### After
```
/* Detailed source-code truncated for AI context efficiency. */
```


### `General`
We upgraded the API version of the Az.DesktopVirtualization module from 2021-07-12 to 2022-09-09. It caused breaking changes as we include the version in the namespace of the models, for example, 'Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20210712.IHostPool'. If your script depends on the namespace, please replace "Api20210712" with "Api202209".

### `New-AzWvdScalingPlan`
- The cmdlet 'New-AzWvdScalingPlan' no longer supports the type 'Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Support.HostPoolType' for parameter 'HostPoolType'.

#### Before
```
/* Detailed source-code truncated for AI context efficiency. */
```
#### After
```
/* Detailed source-code truncated for AI context efficiency. */
```


### `New-AzWvdHostPool`
- The cmdlet 'New-AzWvdHostPool' no longer supports the parameter 'MigrationRequestMigrationPath' and no alias was found for the original parameter name.
- The cmdlet 'New-AzWvdHostPool' no longer supports the parameter 'MigrationRequestOperation' and no alias was found for the original parameter name.

#### Before
```powershell
New-AzWvdHostpool -hostpoolName  hpName -location westus -resourceGroupName rgName -friendlyName "friendly" -description "des1" -hostPoolType Pooled -personalDesktopAssignmentType Automatic -customRdpProperty null -maxSessionLimit 999999 -loadBalancerType BreadthFirst -registrationInfo @{
          "expirationTime"= "2020-10-01T14:01:54.9571247Z",
          "registrationTokenOperation":="Update"
        }
        -vmTemplate "{json:json}"
        -ssoadfsAuthority "https://adfs"
        -ssoClientId "client"
        -ssoClientSecretKeyVaultPath "https://keyvault/secret"
        -ssoSecretType "SharedKey”
        -preferredAppGroupType Desktop
        -startVMOnConnect $false
        -migrationRequest @{
          "migrationPath"= "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
          "operation"= "Start"
        }
```
#### After
```powershell
New-AzWvdHostpool -hostpoolName  hpName -location westus -resourceGroupName rgName -friendlyName "friendly" -description "des1" -hostPoolType Pooled -personalDesktopAssignmentType Automatic -customRdpProperty null -maxSessionLimit 999999 -loadBalancerType BreadthFirst -registrationInfo @{
          "expirationTime"= "2020-10-01T14:01:54.9571247Z",
          "registrationTokenOperation":="Update"
        }
        -vmTemplate "{json:json}"
        -ssoadfsAuthority https://adfs
        -ssoClientId "client"
        -ssoClientSecretKeyVaultPath https://keyvault/secret
        -ssoSecretType "SharedKey”
        -preferredAppGroupType Desktop
        -startVMOnConnect $false
       -agentUpdate @{
          "type"= "Scheduled",
          "useSessionHostLocalTime"= $false,
          "maintenanceWindowTimeZone"= "Alaskan Standard Time",
          "maintenanceWindows"= “{json:json}
        }
```


### `New-AzWvdApplicationGroup`
- The cmdlet 'New-AzWvdApplicationGroup' no longer supports the parameter 'MigrationRequestMigrationPath' and no alias was found for the original parameter name.
- The cmdlet 'New-AzWvdApplicationGroup' no longer supports the parameter 'MigrationRequestOperation' and no alias was found for the original parameter name.

#### Before
```powershell
New-AzWvdApplicationGroup -resourceGroupName “rgName” -applicationGroupName “appName” -applicationGroup @{"description"= "des1",
        "friendlyName"= "friendly",
        "hostPoolArmPath"= "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
        "applicationGroupType"= "RemoteApp",
        "migrationRequest"= @{
          "migrationPath"="TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
          "operation"= "Start"
        }

```
#### After
```powershell
New-AzWvdApplicationGroup -resourceGroupName -applicationGroupName -applicationGroup @{"description"= "des1",
        "friendlyName"= "friendly",
        "hostPoolArmPath"= "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
        "applicationGroupType"= "RemoteApp"
}
```


## Az.EventHub

### `Set-AzEventHubNamespace`
- The cmdlet 'Set-AzEventHubNamespace' has undergone several changes, including changes to the output type and default parameter set. 
- The cmdlet no longer supports certain aliases and parameter types, including 'NamespaceName', 'System.String' for 'SkuName', and 'System.Nullable`1[System.Int32]' for 'SkuCapacity'. Additionally, the parameters 'MaximumThroughputUnits', 'EnableKafka', 'ClusterARMId', 'IdentityId', and 'EncryptionConfig' are no longer supported, and no aliases were found for the original parameter names. 
- The cmdlet also no longer supports the 'IAzureContextContainer' type for the 'DefaultProfile' parameter, and the 'AzContext' and 'AzureRmContext' aliases for 'DefaultProfile' are no longer supported. Finally, several parameter sets, including '__AllParameterSets', 'NamespaceParameterSet', and 'AutoInflateParameterSet', have been removed.

### `Set-AzEventHub`
- MessageRetentionInDays' has been deprecated and replaced by '-RetentionTimeInHours'.

#### Before
```powershell
$eventhub = Get-AzEventHub -Name myEventHub -ResourceGroupName myResourceGroup -NamespaceName myNamespace
Set-AzEventHub -InputObject $eventhub -MessageRetentionInDays 3
```
#### After
```powershell
Set-AzEventHub -Name myEventHub -ResourceGroupName myResourceGroup -NamespaceName myNamespace -ArchiveNameFormat "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}"
    -BlobContainer container -CaptureEnabled -DestinationName EventHubArchive.AzureBlockBlob -Encoding Avro -IntervalInSeconds 600 -SizeLimitInBytes 11000000 -SkipEmptyArchive -StorageAccountResourceId
    "/subscriptions/subscriptionId/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount"
```


### `Remove-AzEventHubVirtualNetworkRule`
- The cmdlet 'Remove-AzEventHubVirtualNetworkRule' has been removed. Please use 'Set-AzEventHubNetworkRuleSet'.

#### Before
```powershell
Remove-AzEventHubVirtualNetworkRule -ResourceGroupName v-ajnavtest -Name Eventhub-Namespace1-2389 -SubnetId "/subscriptions/SubscriptionId/resourcegroups/ResourceGroup/v-ajnavtest/providers/Microsoft.Network/virtualNetworks/sbehvnettest1/subnets/sbdefault01"
```
#### After
```powershell
$virtualNetworkRule1 = New-AzEventHubVirtualNetworkRuleConfig -SubnetId '/subscriptions/subscriptionId/resourcegroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/default'
Set-AzEventHubNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -VirtualNetworkRule $virtualNetworkRule1
```


### `Remove-AzEventHubNetworkRuleSet`
- The cmdlet 'Remove-AzEventHubNetworkRuleSet' has been removed. Please use 'Set-AzEventHubNetworkRuleSet'.

#### Before
```powershell
Remove-AzEventHubNetworkRuleSet -ResourceGroupName  v-ajnavtest -Name Eventhub-Namespace1-1375 -PassThru
```
#### After
```powershell
Set-AzEventHubNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -VirtualNetworkRule @()
```


### `Remove-AzEventHubNamespace`
- The cmdlet 'Remove-AzEventHubNamespace' has undergone several changes, including type change for parameter 'InputObject' and 'DefaultProfile', but the usage remains the same, including piping.

### `Remove-AzEventHubIPRule`
- The cmdlet 'Remove-AzEventHubIPRule' has been removed. Please use 'Set-AzEventHubNetworkRuleSet'.

#### Before
```powershell
Remove-AzEventHubIPRule -ResourceGroupName v-ajnavtest -Name Eventhub-Namespace1-2389 -IpMask "11.22.33.44"
```
#### After
```powershell
$ipRule1 = New-AzEventHubIPRuleConfig -IPMask 2.2.2.2 -Action Allow
$ipRule2 = New-AzEventHubIPRuleConfig -IPMask 3.3.3.3 -Action Allow
Set-AzEventHubNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -IPRule $ipRule1,$ipRule2
```


### `New-AzEventHubNamespace`
- The cmdlet 'New-AzEventHubNamespace' has undergone several changes, including changes to the output type and default parameter set. 
- The cmdlet no longer supports certain aliases and parameter types, including 'NamespaceName', 'System.String' for 'SkuName', and 'System.Nullable`1[System.Int32]' for 'SkuCapacity'. Additionally, the parameters 'MaximumThroughputUnits', 'EnableKafka', 'ClusterARMId', 'IdentityId', and 'EncryptionConfig' are no longer supported, and no aliases were found for the original parameter names. 
- The cmdlet also no longer supports the 'IAzureContextContainer' type for the 'DefaultProfile' parameter, and the 'AzContext' and 'AzureRmContext' aliases for 'DefaultProfile' are no longer supported. Finally, several parameter sets, including '__AllParameterSets', 'NamespaceParameterSet', and 'AutoInflateParameterSet', have been removed.

### `New-AzEventHubEncryptionConfig`
- The cmdlet 'New-AzEventHubEncryptionConfig' has been replaced by 'New-AzEventHubKeyVaultPropertiesObject'.

#### Before
```powershell
New-AzEventHubEncryptionConfig -KeyName key1 -KeyVaultUri https://myvaultname.vault.azure.net -UserAssignedIdentity '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MSIName2'
```
#### After
```powershell
$keyVaultProperty1 = New-AzEventHubKeyVaultPropertiesObject -KeyName key1 -KeyVaultUri https://testkeyvault.vault.azure.net -UserAssignedIdentity "/subscriptions/000000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myFirstIdentity"
$keyVaultProperty2 = New-AzEventHubKeyVaultPropertiesObject -KeyName key2 -KeyVaultUri https://testkeyvault.vault.azure.net -UserAssignedIdentity "/subscriptions/000000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mySecondIdentity"

New-AzEventHubNamespace -ResourceGroupName myResourceGroup -Name myNamespace -SkuName Premium -Location northeurope -IdentityType UserAssigned -UserAssignedIdentityId "/subscriptions/000000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myFirstIdentity","/subscriptions/000000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mySecondIdentity" -KeyVaultProperty $keyVaultProperty1,$keyVaultProperty2
```


### `New-AzEventHub`
-MessageRetentionInDays' has been deprecated and replaced by '-RetentionTimeInHours'.

#### Before
```powershell
New-AzEventHub -Name myEventHub -ResourceGroupName myResourceGroup -NamespaceName myNamespace -MessageRetentionInDays 6 -PartitionCount 5
```
#### After
```powershell
New-AzEventHub -Name myEventHub -ResourceGroupName myResourceGroup -NamespaceName myNamespace -RetentionTimeInHour 168 -PartitionCount 5 -CleanupPolicy Delete
```


### `Get-AzEventHubNamespace`
- The output type and the properties has been changed. See the example for more information.

#### Before
```powershell
Name                   : MyNamespaceName
Id                     : /subscriptions/{subscriptionId}/resourceGroups/Default-EventHub-WestCentralUS/providers/Microsoft.EventHub/namespaces/MyNamespaceName
ResourceGroupName      : Default-EventHub-WestCentralUS
Location               : West US
Sku                    : Name : Standard , Capacity : 1 , Tier : Standard
Tags                   :
ProvisioningState      : Succeeded
Status                 : Active
CreatedAt              : 5/24/2019 12:47:27 AM
UpdatedAt              : 5/24/2019 12:48:14 AM
ServiceBusEndpoint     : #########
Enabled                : True
KafkaEnabled           : True
IsAutoInflateEnabled   : True
MaximumThroughputUnits : 10
```
#### After
```
/* Detailed source-code truncated for AI context efficiency. */
```


### `Get-AzEventHub`
- The cmdlet 'Get-AzEventHub' no longer has output type 'Microsoft.Azure.PowerShell.Cmdlets.EventHub.Models.Api202201Preview.IEventhub'.
(Yeming: namespace changed, not considered a breaking change. should be removed)

### `Add-AzEventHubVirtualNetworkRule`
- The cmdlet 'Add-AzEventHubVirtualNetworkRule' has been removed. Please use 'Set-AzEventHubNetworkRuleSet'.

#### Before
```powershell
Add-AzEventHubVirtualNetworkRule -ResourceGroupName v-ajnavtest -Name Eventhub-Namespace1-2389 -SubnetId "/subscriptions/SubscriptionId/resourcegroups/ResourceGroup/v-ajnavtest/providers/Microsoft.Network/virtualNetworks/sbehvnettest1/subnets/sbdefault01" -IgnoreMissingVnetServiceEndpoint
```
#### After
```powershell
$virtualNetworkRule1 = New-AzEventHubVirtualNetworkRuleConfig -SubnetId '/subscriptions/subscriptionId/resourcegroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/default'
Set-AzEventHubNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -VirtualNetworkRule $virtualNetworkRule1
```


### `Add-AzEventHubIPRule`
- The cmdlet 'Add-AzEventHubIPRule' has been removed. Please use 'Set-AzEventHubNetworkRuleSet'.

#### Before
```powershell
Add-AzEventHubIPRule -ResourceGroupName v-ajnavtest -Name Eventhub-Namespace1-2389 -IpMask "11.22.33.44" -Action Allow
```
#### After
```powershell
$ipRule1 = New-AzEventHubIPRuleConfig -IPMask 2.2.2.2 -Action Allow
$ipRule2 = New-AzEventHubIPRuleConfig -IPMask 3.3.3.3 -Action Allow
Set-AzEventHubNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -IPRule $ipRule1,$ipRule2
```


## Az.HDInsight

### `New-AzHDInsightCluster`
- The cmdlet 'New-AzHDInsightCluster' no longer supports the parameter 'RdpCredential' and no alias was found for the original parameter name.
- The cmdlet 'New-AzHDInsightCluster' no longer supports the parameter 'RdpAccessExpiry' and no alias was found for the original parameter name.

#### Before
```powershell
Customer didn’t use the two parameters for a very long time. There is not old usage.
```
#### After
```powershell
Don’t use the two parameters any more.
```


## Az.Relay

### `Test-AzRelayName`
- The cmdlet 'Test-AzRelayName' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Test-AzRelayName' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Test-AzRelayName' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

### `Set-AzWcfRelay`
- The cmdlet 'Set-AzWcfRelay' no longer has output type 'Microsoft.Azure.Commands.Relay.Models.PSWcfRelayAttributes'.
- The cmdlet 'Set-AzWcfRelay' no longer supports the type 'Microsoft.Azure.Commands.Relay.Models.PSWcfRelayAttributes' for parameter 'InputObject'.
- The cmdlet 'Set-AzWcfRelay' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Set-AzWcfRelay' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Set-AzWcfRelay' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

### `Set-AzRelayNamespace`
- The cmdlet 'Set-AzRelayNamespace' has been removed and no alias was found for the original cmdlet name.

#### Before
```powershell
Set-AzRelayNamespace -ResourceGroupName Default-ServiceBus-WestUS -Name TestNameSpace-Relay1 -Tag @{Tag2="Tag2Value"}
```
#### After
```powershell
Update-AzRelayNamespace -ResourceGroupName Default-ServiceBus-WestUS -Name TestNameSpace-Relay1 -Tag @{Tag2="Tag2Value"}
```


### `Set-AzRelayNamespace`
- The cmdlet 'Set-AzRelayNamespace' has been removed and no alias was found for the original cmdlet name.

#### Before
```powershell
$relayNamespace = new RelayNamespaceAttirbutesUpdateParameter()
Update-AzRelayNamespace -InputObject $relayNamespace -Tag @{'k'='v'}
```
#### After
```powershell
$relayNamespace = Get-AzRelayNamespace -ResourceGroupName lucas-relay-rg -Name namespace-pwsh01
Update-AzRelayNamespace -InputObject $relayNamespace -Tag @{'k'='v'}
```


### `Set-AzRelayHybridConnection`
- The cmdlet 'Set-AzRelayHybridConnection' no longer has output type 'Microsoft.Azure.Commands.Relay.Models.PSHybridConnectionAttributes'.
- The cmdlet 'Set-AzRelayHybridConnection' no longer supports the type 'Microsoft.Azure.Commands.Relay.Models.PSHybridConnectionAttributes' for parameter 'InputObject'.
- The cmdlet 'Set-AzRelayHybridConnection' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Set-AzRelayHybridConnection' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Set-AzRelayHybridConnection' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

### `Set-AzRelayAuthorizationRule`
- The cmdlet 'Set-AzRelayAuthorizationRule' no longer has output type 'Microsoft.Azure.Commands.Relay.Models.PSAuthorizationRuleAttributes'.
The parameter set 'NamespaceAuthorizationRuleSet' for cmdlet 'Set-AzRelayAuthorizationRule' is no longer the default parameter set.
- The cmdlet 'Set-AzRelayAuthorizationRule' no longer supports the type 'Microsoft.Azure.Commands.Relay.Models.PSAuthorizationRuleAttributes' for parameter 'InputObject'.
The element type for parameter 'Rights' has been changed from 'System.String' to 'Microsoft.Azure.PowerShell.Cmdlets.Relay.Support.AccessRights'.
- The cmdlet 'Set-AzRelayAuthorizationRule' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Set-AzRelayAuthorizationRule' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Set-AzRelayAuthorizationRule' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Set-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -WcfRelay TestWCFRelay1 -Name AuthoRule1 -Rights "Send"
```
#### After
```powershell
Set-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -Namespace TestNameSpace-Relay1 -WcfRelay TestWCFRelay1 -Name AuthoRule1 -Rights "Send"
```


### `Set-AzRelayAuthorizationRule`
- The cmdlet 'Set-AzRelayAuthorizationRule' no longer has output type 'Microsoft.Azure.Commands.Relay.Models.PSAuthorizationRuleAttributes'.
- The cmdlet 'Set-AzRelayAuthorizationRule' no longer supports the type 'Microsoft.Azure.Commands.Relay.Models.PSAuthorizationRuleAttributes' for parameter 'InputObject'.
The element type for parameter 'Rights' has been changed from 'System.String' to 'Microsoft.Azure.PowerShell.Cmdlets.Relay.Support.AccessRights'.
- The cmdlet 'Set-AzRelayAuthorizationRule' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Set-AzRelayAuthorizationRule' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Set-AzRelayAuthorizationRule' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
$GetHybirdAutho = Get-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -Namespace TestNameSpace-Relay1 -HybridConnection TestHybridConnection -Name AuthoRule1
Set-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -Namespace TestNameSpace-Relay1 -HybridConnection TestHybridConnection -Name AuthoRule1 -InputObject $GetHybirdAutho -Rights {"Listen", "Send"}
```
#### After
```powershell
$GetHybirdAutho = Get-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -Namespace TestNameSpace-Relay1 -HybridConnection TestHybridConnection -Name AuthoRule1
$GetHybirdAutho.Rights.Add("Send")
Set-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -Namespace TestNameSpace-Relay1 -HybridConnection TestHybridConnection -Name AuthoRule1 -InputObject $GetHybirdAutho
```


### `Remove-AzWcfRelay`
- The cmdlet 'Remove-AzWcfRelay' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Remove-AzWcfRelay' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Remove-AzWcfRelay' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

### `Remove-AzRelayNamespace`
- The cmdlet 'Remove-AzRelayNamespace' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Remove-AzRelayNamespace' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Remove-AzRelayNamespace' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

### `Remove-AzRelayHybridConnection`
- The cmdlet 'Remove-AzRelayHybridConnection' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Remove-AzRelayHybridConnection' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Remove-AzRelayHybridConnection' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

### `Remove-AzRelayAuthorizationRule`
- The cmdlet 'Remove-AzRelayAuthorizationRule' no longer supports the parameter 'Force' and no alias was found for the original parameter name.
- The cmdlet 'Remove-AzRelayAuthorizationRule' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Remove-AzRelayAuthorizationRule' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Remove-AzRelayAuthorizationRule' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Remove-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -WcfRelay TestWcfRelay -Name AuthoRule1
```
#### After
```powershell
Remove-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -Namespace TestNameSpace-Relay1 -WcfRelay TestWcfRelay -Name AuthoRule1
```


### `New-AzWcfRelay`
- The cmdlet 'New-AzWcfRelay' no longer has output type 'Microsoft.Azure.Commands.Relay.Models.PSWcfRelayAttributes'.
- The cmdlet 'New-AzWcfRelay' no longer supports the type 'Microsoft.Azure.Commands.Relay.Models.PSWcfRelayAttributes' for parameter 'InputObject'.
- The cmdlet 'New-AzWcfRelay' no longer supports the type 'System.String' for parameter 'WcfRelayType'.
- The cmdlet 'New-AzWcfRelay' no longer supports the type 'System.Nullable`1[System.Boolean]' for parameter 'RequiresClientAuthorization'.
- The cmdlet 'New-AzWcfRelay' no longer supports the type 'System.Nullable`1[System.Boolean]' for parameter 'RequiresTransportSecurity'.
- The cmdlet 'New-AzWcfRelay' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzWcfRelay' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzWcfRelay' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

### `New-AzRelayNamespace`
- The cmdlet 'New-AzRelayNamespace' no longer has output type 'Microsoft.Azure.Commands.Relay.Models.PSRelayNamespaceAttributes'.
- The cmdlet 'New-AzRelayNamespace' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzRelayNamespace' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzRelayNamespace' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

### `New-AzRelayKey`
- The cmdlet 'New-AzRelayKey' no longer supports the type 'System.String' for parameter 'RegenerateKey'.
- The cmdlet 'New-AzRelayKey' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzRelayKey' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzRelayKey' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
New-AzRelayKey -ResourceGroupName Default-ServiceBus-WestUS -Name AuthoRule1 -HybridConnection TestHybridConnection -RegenerateKey PrimaryKey
```
#### After
```powershell
New-AzRelayKey -ResourceGroupName Default-ServiceBus-WestUS -Namespace TestNameSpace-Relay1 -Name AuthoRule1 -HybridConnection TestHybridConnection -RegenerateKey PrimaryKey
```


### `New-AzRelayHybridConnection`
- The cmdlet 'New-AzRelayHybridConnection' no longer has output type 'Microsoft.Azure.Commands.Relay.Models.PSHybridConnectionAttributes'.
- The cmdlet 'New-AzRelayHybridConnection' no longer supports the type 'Microsoft.Azure.Commands.Relay.Models.PSHybridConnectionAttributes' for parameter 'InputObject'.
- The cmdlet 'New-AzRelayHybridConnection' no longer supports the type 'System.Nullable`1[System.Boolean]' for parameter 'RequiresClientAuthorization'.
- The cmdlet 'New-AzRelayHybridConnection' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzRelayHybridConnection' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzRelayHybridConnection' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

### `New-AzRelayAuthorizationRule`
- The cmdlet 'New-AzRelayAuthorizationRule' no longer has output type 'Microsoft.Azure.Commands.Relay.Models.PSAuthorizationRuleAttributes'.
The element type for parameter 'Rights' has been changed from 'System.String' to 'Microsoft.Azure.PowerShell.Cmdlets.Relay.Support.AccessRights'.
- The cmdlet 'New-AzRelayAuthorizationRule' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzRelayAuthorizationRule' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzRelayAuthorizationRule' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
New-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -WcfRelay TestWCFRelay1 -Name AuthoRule1 -Rights "Listen"
```
#### After
```powershell
New-AzRelayAuthorizationRule -ResourceGroupName Default-ServiceBus-WestUS -Namespace TestNameSpace-Relay1 -WcfRelay TestWCFRelay1 -Name AuthoRule1 -Rights "Listen"
```


### `Get-AzWcfRelay`
- The cmdlet 'Get-AzWcfRelay' no longer has output type 'Microsoft.Azure.Commands.Relay.Models.PSWcfRelayAttributes'.
- The cmdlet 'Get-AzWcfRelay' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzWcfRelay' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzWcfRelay' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

### `Get-AzRelayOperation`
- The cmdlet 'Get-AzRelayOperation' has been removed and no alias was found for the original cmdlet name.

### `Get-AzRelayNamespace`
- The cmdlet 'Get-AzRelayNamespace' no longer has output type 'Microsoft.Azure.Commands.Relay.Models.PSRelayNamespaceAttributes'.
- The cmdlet 'Get-AzRelayNamespace' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzRelayNamespace' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzRelayNamespace' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

### `Get-AzRelayKey`
- The cmdlet 'Get-AzRelayKey' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzRelayKey' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzRelayKey' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Get-AzRelayKey -ResourceGroupName Default-ServiceBus-WestUS -HybridConnection TestHybridConnection -Name AuthoRule1
```
#### After
```powershell
Get-AzRelayKey -ResourceGroupName Default-ServiceBus-WestUS -Namespace TestNameSpace-Relay1 -HybridConnection TestHybridConnection -Name AuthoRule1
```


### `Get-AzRelayHybridConnection`
- The cmdlet 'Get-AzRelayHybridConnection' no longer has output type 'Microsoft.Azure.Commands.Relay.Models.PSHybridConnectionAttributes'.
- The cmdlet 'Get-AzRelayHybridConnection' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzRelayHybridConnection' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzRelayHybridConnection' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

### `Get-AzRelayAuthorizationRule`
- The cmdlet 'Get-AzRelayAuthorizationRule' no longer has output type 'Microsoft.Azure.Commands.Relay.Models.PSAuthorizationRuleAttributes'.
- The cmdlet 'Get-AzRelayAuthorizationRule' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzRelayAuthorizationRule' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzRelayAuthorizationRule' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

## Az.ServiceBus

### `Set-AzServiceBusNamespace`
- The cmdlet 'Set-AzServiceBusNamespace' has undergone several changes, including changes to the output type and default parameter set. 
- The cmdlet no longer supports certain aliases and parameter types, including 'NamespaceName', 'System.String' for 'SkuName', and 'System.Nullable`1[System.Int32]' for 'SkuCapacity'. Additionally, the parameters 'MaximumThroughputUnits', 'EnableKafka', 'ClusterARMId', 'IdentityId', and 'EncryptionConfig' are no longer supported, and no aliases were found for the original parameter names. 
- The cmdlet also no longer supports the 'IAzureContextContainer' type for the 'DefaultProfile' parameter, and the 'AzContext' and 'AzureRmContext' aliases for 'DefaultProfile' are no longer supported.

### `Remove-AzServiceBusVirtualNetworkRule`
- The cmdlet 'Remove-AzServiceBusVirtualNetworkRule' has been removed. Use 'Set-AzServiceBusNetworkRuleSet' instead.

#### Before
```powershell
Remove-AzServiceBusVirtualNetworkRule -ResourceGroupName v-ajnavtest -Name ServiceBus-Namespace1-2389 -SubnetId "/subscriptions/SubscriptionId/resourcegroups/ResourceGroup/v-ajnavtest/providers/Microsoft.Network/virtualNetworks/sbehvnettest1/subnets/sbdefault01"
```
#### After
```powershell
$virtualNetworkRule1 = New-AzServiceBusVirtualNetworkRuleConfig -SubnetId /subscriptions/subscriptionId/resourcegroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/default
Set-AzServiceBusNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -IPRule $ipRule1,$ipRule2 -VirtualNetworkRule $virtualNetworkRule1,$virtualNetworkRule2,$virtualNetworkRule3
```


### `Remove-AzServiceBusNetworkRuleSet`
- The cmdlet 'Remove-AzServiceBusNetworkRuleSet' has been removed. Use 'Set-AzServiceBusNetworkRuleSet' instead.

#### Before
```powershell
Remove-AzServiceBusNetworkRuleSet -ResourceGroupName  v-ajnavtest -Name ServiceBus-Namespace1-1375
```
#### After
```powershell
Set-AzServiceBusNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -IPRule @() -VirtualNetworkRule @()
```


### `Remove-AzServiceBusNamespace`
- The cmdlet 'Remove-AzServiceBusNamespace' no longer supports the alias 'ResourceGroup' for parameter 'ResourceGroupName'.

#### Before
```powershell
Remove-AzServiceBusNamespace -ResourceGroup Default-ServiceBus-WestUS -NamespaceName SB-Example1
```
#### After
```powershell
Remove-AzServiceBusNamespace -ResourceGroupName Default-ServiceBus-WestUS -NamespaceName SB-Example1
```


### `Remove-AzServiceBusIPRule`
- The cmdlet 'Remove-AzServiceBusIPRule' has been removed. Use 'Set-AzServiceBusNetworkRuleSet' instead.

#### Before
```powershell
Remove-AzServiceBusIPRule -ResourceGroupName v-ajnavtest -Name ServiceBus-Namespace1-2389 -IpMask "11.22.33.44"
```
#### After
```powershell
Set-AzServiceBusNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -IPRule @()
```


### `New-AzServiceBusNamespace`
- The cmdlet 'New-AzServiceBusNamespace' has undergone several changes. 
- The cmdlet no longer supports certain aliases and parameter types, including 'NamespaceName', 'System.String' for 'SkuName', and 'System.Nullable`1[System.Int32]' for 'SkuCapacity'. Additionally, the parameters 'MaximumThroughputUnits', 'EnableKafka', 'ClusterARMId', 'IdentityId', and 'EncryptionConfig' are no longer supported, and no aliases were found for the original parameter names. 
- The cmdlet also no longer supports the 'IAzureContextContainer' type for the 'DefaultProfile' parameter, and the 'AzContext' and 'AzureRmContext' aliases for 'DefaultProfile' are no longer supported.

### `New-AzServiceBusGeoDRConfiguration`
- The cmdlet 'New-AzServiceBusGeoDRConfiguration' no longer supports the parameter 'PassThru' and no alias was found for the original parameter name.

#### Before
```powershell
New-AzServiceBusGeoDRConfiguration -Name myAlias -ResourceGroupName myResourceGroup -NamespaceName myPrimaryNamespace -PartnerNamespace "/subscriptions/0000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ServiceBus/namespaces/mySecondaryNamespace" -PassThru
```
#### After
```powershell
New-AzServiceBusGeoDRConfiguration -Name myAlias -ResourceGroupName myResourceGroup -NamespaceName myPrimaryNamespace -PartnerNamespace "/subscriptions/0000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ServiceBus/namespaces/mySecondaryNamespace"
```


### `New-AzServiceBusEncryptionConfig`
- The cmdlet 'New-AzServiceBusEncryptionConfig' has been removed. Use 'New-AzServiceBusNamespace' and 'Set-AzServiceBusNamespace' to enable encryption.

#### Before
```powershell
New-AzServiceBusEncryptionConfig -KeyName key1 -KeyVaultUri https://myvaultname.vault.azure.net -UserAssignedIdentity '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MSIName2'
```
#### After
```powershell
$id1 = "/subscriptions/000000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myFirstIdentity"
$id2 = "/subscriptions/000000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mySecondIdentity"
$keyVaultProperty1 = New-AzServiceBusKeyVaultPropertiesObject -KeyName key4 -KeyVaultUri https://testkeyvault.vault.azure.net/ -UserAssignedIdentity "/subscriptions/000000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myFirstIdentity"
$keyVaultProperty2 = New-AzServiceBusKeyVaultPropertiesObject -KeyName key5 -KeyVaultUri https://testkeyvault.vault.azure.net/ -UserAssignedIdentity "/subscriptions/000000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myFirstIdentity"
New-AzServiceBusNamespace -ResourceGroupName myResourceGroup -Name myNamespace -SkuName Premium -Location northeurope -IdentityType UserAssigned -UserAssignedIdentityID $id1,$id2 -KeyVaultProperty $keyVaultProperty1,$keyVaultProperty2

```


### `Get-AzServiceBusOperation`
- The cmdlet 'Get-AzServiceBusOperation' has been removed.

### `Get-AzServiceBusNamespace`
- The cmdlet 'Get-AzServiceBusNamespace' no longer supports the alias 'ResourceGroup' for parameter 'ResourceGroupName'.

#### Before
```powershell
Get-AzServiceBusNamespace -ResourceGroup Default-ServiceBus-WestUS -NamespaceName SB-Example1
```
#### After
```powershell
Get-AzServiceBusNamespace -ResourceGroupName Default-ServiceBus-WestUS -NamespaceName SB-Example1
```


### `Add-AzServiceBusVirtualNetworkRule`
- The cmdlet 'Add-AzServiceBusVirtualNetworkRule' has been removed. Use 'Set-AzServiceBusNetworkRuleSet' instead.

#### Before
```powershell
Add-AzServiceBusVirtualNetworkRule -ResourceGroupName v-ajnavtest -Name ServiceBus-Namespace1-2389 -SubnetId "/subscriptions/SubscriptionId/resourcegroups/ResourceGroup/v-ajnavtest/providers/Microsoft.Network/virtualNetworks/sbehvnettest1/subnets/sbdefault01" -IgnoreMissingVnetServiceEndpoint
```
#### After
```powershell
$virtualNetworkRule1 = New-AzServiceBusVirtualNetworkRuleConfig -SubnetId /subscriptions/subscriptionId/resourcegroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/default
Set-AzServiceBusNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -VirtualNetworkRule $virtualNetworkRule1
```


### `Add-AzServiceBusIPRule`
- The cmdlet 'Add-AzServiceBusIPRule' has been removed. Use 'Set-AzServiceBusNetworkRuleSet' instead.

#### Before
```powershell
Add-AzServiceBusIPRule -ResourceGroupName v-ajnavtest -Name ServiceBus-Namespace1-2389 -IpMask "11.22.33.44" -Action Allow
```
#### After
```powershell
$ipRule1 = New-AzServiceBusIPRuleConfig -IPMask 2.2.2.2 -Action Allow
$ipRule2 = New-AzServiceBusIPRuleConfig -IPMask 3.3.3.3 -Action Allow
Set-AzServiceBusNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -IPRule $ipRule1,$ipRule2
```


## Az.SignalR

### `Update-AzSignalRNetworkAcl`
- The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been removed.

### `Update-AzSignalR`
- The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been removed.
- The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been removed.

#### Before
```powershell
$hostNamePrefix = $(Update-AzSignalR -ResourceGroupName myResourceGroup -Name mysignalr1 -UnitCount 5).HostNamePrefix
```
#### After
```powershell
$hostNamePrefix = $(Update-AzSignalR -ResourceGroupName myResourceGroup -Name mysignalr1 -UnitCount 5).Name
```


### `Set-AzSignalRUpstream`
- The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been removed.

### `Restart-AzSignalR`
- The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been removed.

### `Remove-AzSignalR`
- The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been removed.

### `New-AzSignalRKey`
- The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been removed.

### `New-AzSignalR`
- The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been removed.

#### Before
```powershell
$hostNamePrefix = $(New-AzSignalR -ResourceGroupName myResourceGroup1 -Name mysignalr1 -Location eastus -Sku Standard_S1).HostNamePrefix
```
#### After
```powershell
$hostNamePrefix = $(New-AzSignalR -ResourceGroupName myResourceGroup1 -Name mysignalr1 -Location eastus -Sku Standard_S1).Name
```


### `Get-AzSignalRKey`
- The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been removed.

### `Get-AzSignalR`
- The property 'HostNamePrefix' of type 'Microsoft.Azure.Commands.SignalR.Models.PSSignalRResource' has been removed.

#### Before
```powershell
$hostNamePrefix = $(Get-AzSignalR -ResourceGroupName myResourceGroup -Name mysignalr1).HostNamePrefix
```
#### After
```powershell
$hostNamePrefix = $(Get-AzSignalR -ResourceGroupName myResourceGroup -Name mysignalr1).Name
```


## Az.SqlVirtualMachine

### `Update-AzSqlVMGroup`
- The cmdlet 'Update-AzSqlVMGroup' no longer has output type 'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMGroupModel'.
- The cmdlet 'Update-AzSqlVMGroup' no longer supports the type 'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMGroupModel' for parameter 'InputObject'.
- The cmdlet 'Update-AzSqlVMGroup' no longer supports the alias 'SqlVMGroup' for parameter 'InputObject'.
- The cmdlet 'Update-AzSqlVMGroup' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'Update-AzSqlVMGroup' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Update-AzSqlVMGroup' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Update-AzSqlVMGroup' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
$group = Get-AzSqlVMGroup -ResourceGroupName "ResourceGroup01" -Name "test-group"
Update-AzSqlVMGroup -SqlVMGroup $group -Tag @{'key'='value'}
```
#### After
```powershell
$group = Get-AzSqlVMGroup -ResourceGroupName 'ResourceGroup01' -Name 'sqlvmgroup01'
$group | Update-AzSqlVMGroup -Tag @{'key'='value'}
```


### `Update-AzSqlVM`
- The cmdlet 'Update-AzSqlVM' no longer has output type 'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMModel'.
- The cmdlet 'Update-AzSqlVM' no longer supports the type 'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMModel' for parameter 'InputObject'.
- The cmdlet 'Update-AzSqlVM' no longer supports the alias 'SqlVM' for parameter 'InputObject'.
- The cmdlet 'Update-AzSqlVM' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'Update-AzSqlVM' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Update-AzSqlVM' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Update-AzSqlVM' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

### `Update-AzAvailabilityGroupListener`
- The cmdlet 'Update-AzAvailabilityGroupListener' has been removed and no alias was found for the original cmdlet name.

### `Set-AzSqlVMConfigGroup`
- The cmdlet 'Set-AzSqlVMConfigGroup' has been removed and no alias was found for the original cmdlet name.

### `Remove-AzSqlVMGroup`
- The cmdlet 'Remove-AzSqlVMGroup' has undergone changes and no longer supports certain parameters and output types. Specifically, the 'InputObject' parameter no longer supports the 'AzureSqlVMGroupModel' type or its 'SqlVMGroup' alias, and the 'ResourceId' parameter has been removed entirely. Additionally, the 'DefaultProfile' parameter no longer supports the 'IAzureContextContainer' type, and its aliases 'AzContext' and 'AzureRmContext'.

#### Before
```powershell
$group = Get-AzSqlVMGroup -ResourceGroupName 'ResourceGroup01' -Name 'sqlvmgroup01'
Remove-AzSqlVMGroup -SqlVMGroup $group
```
#### After
```powershell
$group = Get-AzSqlVMGroup -ResourceGroupName 'ResourceGroup01' -Name 'sqlvmgroup01'
$group | Remove-AzSqlVMGroup
```


### `Remove-AzSqlVM`
- The cmdlet 'Remove-AzSqlVM' no longer has output type 'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMModel'.
- The cmdlet 'Remove-AzSqlVM' no longer supports the type 'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMModel' for parameter 'InputObject'.
- The cmdlet 'Remove-AzSqlVM' no longer supports the alias 'SqlVM' for parameter 'InputObject'.
- The cmdlet 'Remove-AzSqlVM' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'Remove-AzSqlVM' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Remove-AzSqlVM' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Remove-AzSqlVM' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
$sqlVM = Get-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1'
Remove-AzSqlVM -SqlVM $sqlVM
```
#### After
```powershell
$sqlVM = Get-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1'
$sqlVM | Remove-AzSqlVM
```


### `Remove-AzAvailabilityGroupListener`
- The cmdlet 'Remove-AzAvailabilityGroupListener' has undergone changes and some features have been removed. Specifically, the output type 'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureAvailabilityGroupListenerModel' is no longer supported. Additionally, the parameter 'InputObject' no longer supports this type. The 'ResourceId' and 'SqlVMGroupObject' parameters have also been removed without any alias found. The 'DefaultProfile' parameter no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' and its aliases 'AzContext' and 'AzureRmContext'. 

#### Before
```powershell
$SqlVmGroupObject = Get-AzSqlVMGroup -ResourceGroupName ResourceGroup01 -SqlVMGroupName SqlVmGroup01
Remove-AzAvailabilityGroupListener -Name AgListener01 -SqlVMGroupObject $SqlVmGroupObject
```
#### After
```powershell
Remove-AzAvailabilityGroupListener -ResourceGroupName 'ResourceGroup01' -SqlVMGroupName 'SqlVmGroup01' -Name 'AgListener01'
```


### `New-AzSqlVMGroup`
- The cmdlet 'New-AzSqlVMGroup' no longer has output type 'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMGroupModel'.
- The cmdlet 'New-AzSqlVMGroup' no longer supports the type 'System.String' for parameter 'Sku'.
- The cmdlet 'New-AzSqlVMGroup' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzSqlVMGroup' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzSqlVMGroup' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

### `New-AzSqlVMConfig`
- The cmdlet 'New-AzSqlVMConfig' has been removed and no alias was found for the original cmdlet name.

#### Before
```powershell
$config = New-AzSqlVMConfig -LicenseType "PAYG"
New-AzSqlVM -ResourceGroupName "ResourceGroup01" -Name "vm" -SqlVM $config
```
#### After
```powershell
New-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1' -Location 'eastus' -Sku 'Developer' -LicenseType 'PAYG'
```


### `New-AzSqlVM`
- The cmdlet 'New-AzSqlVM' no longer has output type 'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMModel'.
- The cmdlet 'New-AzSqlVM' no longer supports the parameter 'SqlVM' and no alias was found for the original parameter name.
- The cmdlet 'New-AzSqlVM' no longer supports the type 'System.String' for parameter 'LicenseType'.
- The cmdlet 'New-AzSqlVM' no longer supports the type 'System.String' for parameter 'Sku'.
- The cmdlet 'New-AzSqlVM' no longer supports the type 'System.String' for parameter 'SqlManagementType'.
- The cmdlet 'New-AzSqlVM' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzSqlVM' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzSqlVM' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
$config = New-AzSqlVMConfig -LicenseType "PAYG"
New-AzSqlVM -ResourceGroupName "ResourceGroup01" -Name "vm" -SqlVM $config
```
#### After
```powershell
New-AzSqlVM -ResourceGroupName 'ResourceGroup01' -Name 'sqlvm1' -Location 'eastus' -Sku 'Developer' -LicenseType 'PAYG'
```


### `New-AzAvailabilityGroupListener`
- The cmdlet 'New-AzAvailabilityGroupListener' no longer has output type 'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureAvailabilityGroupListenerModel'.
- The cmdlet 'New-AzAvailabilityGroupListener' no longer supports the type 'System.Nullable`1[System.Int32]' for parameter 'Port'.
- The cmdlet 'New-AzAvailabilityGroupListener' no longer supports the type 'System.Nullable`1[System.Int32]' for parameter 'ProbePort'.
- The cmdlet 'New-AzAvailabilityGroupListener' no longer supports the parameter 'SqlVMGroupObject' and no alias was found for the original parameter name.
- The cmdlet 'New-AzAvailabilityGroupListener' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzAvailabilityGroupListener' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'New-AzAvailabilityGroupListener' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

### `Get-AzSqlVMGroup`
- The cmdlet 'Get-AzSqlVMGroup' no longer has output type 'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMGroupModel'.
- The cmdlet 'Get-AzSqlVMGroup' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'Get-AzSqlVMGroup' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzSqlVMGroup' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzSqlVMGroup' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

### `Get-AzSqlVM`
- The cmdlet 'Get-AzSqlVM' no longer has output type 'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureSqlVMModel'.
- The cmdlet 'Get-AzSqlVM' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- The cmdlet 'Get-AzSqlVM' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzSqlVM' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- The cmdlet 'Get-AzSqlVM' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

### `Get-AzAvailabilityGroupListener`
- The cmdlet 'Get-AzAvailabilityGroupListener' has been updated and some features have been removed. 
- The cmdlet 'Get-AzAvailabilityGroupListener' no longer has output type 'Microsoft.Azure.Commands.SqlVirtualMachine.SqlVirtualMachine.Model.AzureAvailabilityGroupListenerModel'. The 'ResourceId' and 'SqlVMGroupObject' parameters have been removed without any alias found. The 'DefaultProfile' parameter no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' and its aliases 'AzContext' and 'AzureRmContext'.

#### Before
```powershell
$SqlVmGroupObject = Get-AzSqlVMGroup -ResourceGroupName ResourceGroup01 -SqlVMGroupName SqlVmGroup01
Get-AzAvailabilityGroupListener -Name AgListener01 -SqlVMGroupObject $SqlVmGroupObject
```
#### After
```powershell
Get-AzAvailabilityGroupListener -ResourceGroupName 'ResourceGroup01' -SqlVMGroupName 'SqlVmGroup01' -Name 'AgListener01'
```


## Az.StackHCI

### `Unregister-AzStackHCI`
- The cmdlet 'Unregister-AzStackHCI' no longer supports the parameter 'GraphAccessToken' and no alias was found for the original parameter name.

#### Before
```powershell
Customers had an option to pass GraphAccessToken parameter in Unregister-AzStackHCI, which used to be ignored by the cmdlet
```
#### After
```powershell
Unregister-AzStackHCI  won’t support GraphAccessToken as a parameter
```


### `Test-AzStackHCIConnection`
- The cmdlet 'Test-AzStackHCIConnection' has been removed and no alias was found for the original cmdlet name.

#### Before
```powershell
Customers used Test-AzStackHCIConnection for connectivity verification tests
```
#### After
```powershell
Customers can use Invoke-AzStackHciConnectivityValidation from AzStackHCI.EnvironmentChecker module for enhanced connectivity verification tests
```


### `Set-AzStackHCI`
- The cmdlet 'Set-AzStackHCI' no longer supports the parameter 'GraphAccessToken' and no alias was found for the original parameter name.

#### Before
```powershell
Customers had an option to pass GraphAccessToken parameter in Set-AzStackHCI, which used to be ignored by the cmdlet
```
#### After
```powershell
Set-AzStackHCI won’t support GraphAccessToken as a parameter
```


### `Register-AzStackHCI`
- The cmdlet 'Register-AzStackHCI' no longer supports the parameter 'GraphAccessToken' and no alias was found for the original parameter name.
- The cmdlet 'Register-AzStackHCI' no longer supports the parameter 'EnableAzureArcServer' and no alias was found for the original parameter name.

#### Before
```powershell
Customers had an option to pass GraphAccessToken parameter in Register-AzStackHCI, which used to be ignored by the cmdlet. Customers had an option to pass EnableAzureArcServer as true or false. Register-AzStackHCI used to fail for customers who passed EnableAzureArcServer as false. Customers used to get a confirmation prompt if they didn't pass the Region parameter in Register-AzStackHCI
```
#### After
```powershell
Register-AzStackHCI won’t support GraphAccessToken and EnableAzureArcServer as parameters, and will make Region parameter as mandatory.
```

## Az.StorageSync

### `Set-AzStorageSyncServerEndpoint`
- The cmdlet 'Set-AzStorageSyncServerEndpoint' no longer supports the alias 'RegisteredServer' for parameter 'InputObject'.

#### Before
```powershell
Set-AzStorageSyncServerEndpoint -RegisteredServer $inputObject
```
#### After
```powershell
Set-AzStorageSyncServerEndpoint -ServerEndpoint $inputObject
```


## Az.Synapse

### `Update-AzSynapseSparkPool`
- The cmdlet 'Update-AzSynapseSparkPool' no longer supports the parameter 'SparkConfigFilePath' and no alias was found for the original parameter name.


#### Before
```powershell
Update-AzSynapseSparkPool -WorkspaceName $wsname -Name $sparkpoolname -SparkConfigFilePath $path
```
#### After
```powershell
Update-AzSynapseSparkPool -WorkspaceName $wsname -Name $sparkpoolname -SparkConfiguration $config
```


### `New-AzSynapseSparkPool`
- The cmdlet 'New-AzSynapseSparkPool' no longer supports the parameter 'SparkConfigFilePath' and no alias was found for the original parameter name.

#### Before
```powershell
New-AzSynapseSparkPool -WorkspaceName $wsname -Name $sparkpoolname -SparkConfigFilePath $path
```
#### After
```powershell
New-AzSynapseSparkPool -WorkspaceName $wsname -Name $sparkpoolname -SparkConfiguration $config
```


## Az.Websites

### `New-AzWebAppContainerPSSession`
- The cmdlet 'New-AzWebAppContainerPSSession' has been removed and no alias was found for the original cmdlet name.

#### Before
```powershell
Opens a remote PowerShell session into the windows container specified in a given site or slot and given resource group
```
#### After
```powershell
N/A
```


### `Enter-AzWebAppContainerPSSession`
- The cmdlet 'Enter-AzWebAppContainerPSSession' has been removed and no alias was found for the original cmdlet name.

#### Before
```powershell
Create new remote PowerShell Session into the windows container specified in a given site or slot and given resource group
```
#### After
```powershell
N/A
```

---

### Documentation Migration Guides Az.11.0.0 Migration Guide (`documentation/migration-guides/Az.11.0.0-migration-guide.md`)

# Migration Guide for Az 11.0.0

## Az.Aks

### `New-AzAksCluster`
The parameter  'DockerBridgeCidr' is removed from the cmdlet 'New-AzAksCluster', and there is no replacement for it.

## Az.CloudService

### `Get-AzCloudServiceNetworkInterface`
The api version is downgraded to `2021-03-01`. Some properties are removed.
- 'ProtectionMode' and 'DdosProtectionPlanId' of type 'IDdosSettings' have been removed.
- 'InboundNatRulesPortMapping' and 'AdminState' of type 'ILoadBalancerBackendAddress' have been removed.
- 'InboundNatRule' and 'DrainPeriodInSecond' of type 'IBackendAddressPool' have been removed.
- 'FlushConnection' of type 'ISubnet' has been removed.
- 'AuxiliaryMode', 'VnetEncryptionSupported', and 'DisableTcpStateTracking' of type 'INetworkInterface' have been removed.


## Az.Compute

### `New-AzDisk`
Creation of Disk without any Image or SecurityType values provided will default to turn Trusted Launch on. 

#### Before
```powershell
$diskconfig = New-AzDiskConfig -DiskSizeGB 127 -AccountType Premium_LRS -OsType Windows -CreateOption FromImage -Location $loc;
```
#### After
```powershell
$diskconfig = New-AzDiskConfig -DiskSizeGB 127 -AccountType Premium_LRS -OsType Windows -CreateOption FromImage -Location $loc -SecurityType "Standard";
```


### `New-AzVM`
Linux image aliases CentOS, Debian, RHEL, and UbuntuLTS are removed. Instead use the aliases CentOS85Gen2, Debian11, RHELRaw8LVMGen2, Ubuntu2204.

#### Before
```powershell
New-AzVM -ResourceGroupName MyResourceGroup -Name mytestvm -Location $loc -Credential $cred -DomainNameLabel $domainNameLabel -Image UbuntuLTS;
```
#### After
```powershell
New-AzVM -ResourceGroupName MyResourceGroup -Name mytestvm -Location $loc -Credential $cred -DomainNameLabel $domainNameLabel -Image Ubuntu2204;
```


### `New-AzVM`
Creation of VM without any Image or SecurityType values provided will default to turn Trusted Launch on. 

#### Before
```powershell
$result = New-AzVM -ResourceGroupName $rgname -Credential $vmCred -Name $vmName -DomainNameLabel $domainNameLabel ;
```
#### After
```powershell
$result = New-AzVM-ResourceGroupName $rgname -Credential $vmCred -Name $vmName -ImageName $imageName -DomainNameLabel $domainNameLabel -SecurityType "Standard";
```


### `New-AzVmss`
Linux image aliases CentOS, Debian, RHEL, and UbuntuLTS are removed. Instead use the aliases CentOS85Gen2, Debian11, RHELRaw8LVMGen2, Ubuntu2204.

### `New-AzVmss`
Creation of Vmss using this cmdlet will now default to OrchestrationMode: Flexible. Only when explicitly stated "-OrchestrationMode Uniform", it will create a VMSS in Uniform orchestration mode.  UgradePolicy  and SinglePlacementGroup can also be set now when OrchestrationMode is Flexible. 

#### Before
```powershell
New-AzVmss
```
#### After
```powershell
New-AzVmss
```


### `New-AzVmss`
Creation of Vmss without any Image or SecurityType values provided will default to turn Trusted Launch on. 

#### Before
```powershell
$result = New-AzVmss -ResourceGroupName $rgname -Credential $vmCred -VMScaleSetName $vmssName1 -DomainNameLabel $domainNameLabel ;
```
#### After
```powershell
$result = New-AzVmss -ResourceGroupName $rgname -Credential $vmCred -VMScaleSetName $vmssName1 -ImageName $imageName -DomainNameLabel $domainNameLabel -SecurityType "Standard";
```


## Az.ContainerInstance

### `Get-AzContainerGroup`
Fixed typos in these output properties: 'PreviouState' 'PreviouStateDetailStatus' 'PreviouStateExitCode' 'PreviouStateFinishTime' 'PreviouStateStartTime'. 
The impacted cmdlets are: 'Get-AzContainerGroup', 'Remove-AzContainerGroup', 'Restart-AzContainerGroup', 'Start-AzContainerGroup', 'Stop-AzContainerGroup', 'Update-AzContainerGroup', 'New-AzContainerInstanceObject', 'New-AzContainerInstanceInitDefinitionObject'

#### Before
```powershell
$aci = Get-AzContainerGroup -ResourceGroupName 'rg name' -Name 'aci name'
$previousState = $aci.Property.Container.PreviouState

```
#### After
```powershell
$aci = Get-AzContainerGroup -ResourceGroupName 'rg name' -Name 'aci name'
$previousState = $aci.Property.Container.PreviousState

```


## Az.DesktopVirtualization

### `New-AzWvdScalingPlan`
The allowed value of this parameter changed from 'BYODesktop, Personal, Pooled' to 'Pooled'

## Az.Functions

### `Get-AzFunctionApp`
This cmdlet will redact the application settings of the returned function apps and only the keys will be shown while previously it returned both keys and values.

#### Before
```powershell
Get-AzFunctionApp  -Name <AppName> -ResourceGroupName <ResourceGroupName>
```output
Name                                                                        Value
----                                                                             -----
FUNCTIONS_EXTENSION_VERSION            ~4
WEBSITE_CONTENTAZUREFILECONNE… <connection string>
AzureWebJobsStorage                                       <connection string>
APPLICATIONINSIGHTS_CONNECTIO…   <connection string>
APPINSIGHTS_INSTRUMENTATIONKEY     <guid>
FUNCTIONS_WORKER_RUNTIME                 powershell
WEBSITE_CONTENTSHARE                            <share name>
```
```
#### After
```powershell
Get-AzFunctionApp  -Name <AppName> -ResourceGroupName <ResourceGroupName>
```output
WARNING: App settings have been redacted. Use the Get-AzFunctionAppSetting cmdlet to view them.
Name                                                                        Value
----                                                                             -----
FUNCTIONS_EXTENSION_VERSION            
WEBSITE_CONTENTAZUREFILECONNE… 
AzureWebJobsStorage                                       
APPLICATIONINSIGHTS_CONNECTIO…   
APPINSIGHTS_INSTRUMENTATIONKEY     
FUNCTIONS_WORKER_RUNTIME                 
WEBSITE_CONTENTSHARE                             
```
```


### `Update-AzFunctionAppSetting`
This cmdlet will only return the updated application settings while previously all of them returned.

#### Before
```powershell
Update-AzFunctionAppSetting  -Name <AppName> -ResourceGroupName <ResourceGroupName>  -AppSetting @{"foo3"="bar3"}
```output
Name                                                                        Value
----                                                                             -----
FUNCTIONS_EXTENSION_VERSION            ~4
WEBSITE_CONTENTAZUREFILECONNE… <connection string>
foo3                                                                           bar3
AzureWebJobsStorage                                       <connection string>
APPLICATIONINSIGHTS_CONNECTIO…   <connection string>
APPINSIGHTS_INSTRUMENTATIONKEY     <guid>
FUNCTIONS_WORKER_RUNTIME                 powershell
WEBSITE_CONTENTSHARE                            <share name>
```
```
#### After
```powershell
Update-AzFunctionAppSetting  -Name <AppName> -ResourceGroupName <ResourceGroupName>  -AppSetting @{"foo3"="bar3"}
```output
Name                      Value
----                           -----
foo3                         bar3
```
```


## Az.KeyVault

### `New-AzKeyVaultManagedHsm`
parameter `SoftDeleteRetentionInDays` in `New-AzKeyVaultManagedHsm` is becoming mandatory

#### Before
```powershell
New-AzKeyVaultManagedHsm -HsmName $hsmName -ResourceGroupName $rgName -Location $hsmLocation -Administrator $adminId
```
#### After
```powershell
New-AzKeyVaultManagedHsm -HsmName $hsmName -ResourceGroupName $rgName -Location $hsmLocation -Administrator $adminId -SoftDeleteRetentionInDays 7
```


## Az.Monitor

### `Set-AzDataCollectionRule`
The cmdlet 'Set-AzDataCollectionRule' has been removed and no alias was found for the original cmdlet name.

#### Before
```powershell
Set-AzDataCollectionRule -Location 'East US 2 EUAP' `
                                -ResourceGroupName 'testdcr' `
                                -RuleName 'newDcr' `
                                -RuleFile 'C:\samples\dcr1.json' `
                                -Description 'Updated Description'
```
#### After
```
/* Detailed source-code truncated for AI context efficiency. */
```


### `Get-AzDataCollectionRule`
The cmdlet 'Get-AzDataCollectionRule' no longer has output type 'Microsoft.Azure.Commands.Insights.OutputClasses.PSDataCollectionRuleResource'.
The cmdlet 'Get-AzDataCollectionRule' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The cmdlet 'Get-AzDataCollectionRule' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Get-AzDataCollectionRule' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.

#### Before
```powershell
Description       : DCR description
DataSources       : Microsoft.Azure.Commands.Insights.OutputClasses.PSDataCollectionRuleDataSources
Destinations      : Microsoft.Azure.Commands.Insights.OutputClasses.PSDataCollectionRuleDestinations
DataFlows         : {Microsoft.Azure.Commands.Insights.OutputClasses.PSDataFlow}
ProvisioningState : Succeeded
Etag              : "{etag}"
Id                : /subscriptions/{subId}/resourceGroups/testgroup/providers/Microsoft.Insights/dataCollectionRules/testDcr
Name              : testDcr
Type              : Microsoft.Insights/dataCollectionRules
Location          : East US 2 EUAP
Tags              : {[tag2, value2], [tag1, value1]}
```
#### After
```
/* Detailed source-code truncated for AI context efficiency. */
```


### `New-AzDataCollectionRule`
The cmdlet 'New-AzDataCollectionRule' no longer has output type 'Microsoft.Azure.Commands.Insights.OutputClasses.PSDataCollectionRuleResource'
The cmdlet 'New-AzDataCollectionRule' no longer has output type 'Microsoft.Azure.Commands.Insights.OutputClasses.PSDataCollectionRuleResource'.
The cmdlet 'New-AzDataCollectionRule' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
The cmdlet 'New-AzDataCollectionRule' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'New-AzDataCollectionRule' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Description       : DCR description
DataSources       : Microsoft.Azure.Commands.Insights.OutputClasses.PSDataCollectionRuleDataSources
Destinations      : Microsoft.Azure.Commands.Insights.OutputClasses.PSDataCollectionRuleDestinations
DataFlows         : {Microsoft.Azure.Commands.Insights.OutputClasses.PSDataFlow}
ProvisioningState : Succeeded
Etag              : "{etag}"
Id                : /subscriptions/{subId}/resourceGroups/testgroup/providers/Microsoft.Insights/dataCollectionRules/testDcr
Name              : testDcr
Type              : Microsoft.Insights/dataCollectionRules
Location          : East US 2 EUAP
Tags              : {[tag2, value2], [tag1, value1]}
```
#### After
```
/* Detailed source-code truncated for AI context efficiency. */
```


### `Get-AzDataCollectionRuleAssociation`
The cmdlet 'Get-AzDataCollectionRuleAssociation' no longer supports the type 'Microsoft.Azure.Commands.Insights.OutputClasses.PSDataCollectionRuleResource' for parameter 'InputObject'.".
The cmdlet 'Get-AzDataCollectionRuleAssociation' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.".

#### Before
```powershell
Description          :
DataCollectionRuleId : /subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.I
                       nsights/dataCollectionRules/{dcrName}
ProvisioningState    :
Etag                 : "{etag}"
Id                   : /subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.C
                       ompute/virtualMachines/{vmName}/providers/Microsoft.Insights/dataCollectionRuleAssociations/{assocName}
Name                 : {assocName}
Type                 : Microsoft.Insights/dataCollectionRuleAssociations
```
#### After
```powershell
DataCollectionEndpointId        :
DataCollectionRuleId            : /subscriptions/9e223dbe-3399-4e19-88eb-0975f02ac87f/resourceGroups/AMCS-TEST/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule2
Description                     :
Etag                            : "20017ecf-0000-0100-0000-651147350000"
Id                              : /subscriptions/9e223dbe-3399-4e19-88eb-0975f02ac87f/resourceGroups/amcs-test/providers/microsoft.compute/virtualmachines/monitortestvm01/providers/Microsof
                                  t.Insights/dataCollectionRuleAssociations/myCollectionRule2-association1
MetadataProvisionedBy           :
MetadataProvisionedByResourceId :
Name                            : myCollectionRule2-association1
ProvisioningState               :
ResourceGroupName               : amcs-test
SystemDataCreatedAt             : 9/25/2023 8:39:15 AM
SystemDataCreatedBy             : v-jiaji@microsoft.com
SystemDataCreatedByType         : User
SystemDataLastModifiedAt        : 9/25/2023 8:39:15 AM
SystemDataLastModifiedBy        : v-jiaji@microsoft.com
SystemDataLastModifiedByType    : User
Type                            : Microsoft.Insights/dataCollectionRuleAssociations
```


### `New-AzDataCollectionRuleAssociation`
The cmdlet 'New-AzDataCollectionRuleAssociation' no longer supports the parameter 'InputObject' and no alias was found for the original parameter name.
The cmdlet 'New-AzDataCollectionRuleAssociation' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
The cmdlet 'New-AzDataCollectionRuleAssociation' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'New-AzDataCollectionRuleAssociation' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'ByInputObject' for cmdlet 'New-AzDataCollectionRuleAssociation' has been removed.

#### Before
```powershell
$dcr = Get-AzDataCollectionRule -ResourceGroupName $rg -RuleName $dcrName
$vmId = '/subscriptions/{subId}/resourceGroups/{resourcegroup}/providers/Microsoft.Compute/virtualMachines/{vmName}'
$dcr | New-AzDataCollectionRuleAssociation -TargetResourceId $vmId -AssociationName "dcrAssocInput"
```
#### After
```powershell
New-AzDataCollectionRuleAssociation -AssociationName myCollectionRule2-association1 -ResourceUri /subscriptions/9e223dbe-3399-4e19-88eb-0975f02ac87f/resourcegroups/amcs-test/providers/microsoft.compute/virtualmachines/monitortestvm01 -DataCollectionRuleId /subscriptions/9e223dbe-3399-4e19-88eb-0975f02ac87f/resourceGroups/AMCS-TEST/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule2
```


### `Remove-AzDataCollectionRule`
The cmdlet 'Remove-AzDataCollectionRule' no longer supports the type 'Microsoft.Azure.Commands.Insights.OutputClasses.PSDataCollectionRuleResource' for parameter 'InputObject'.
The cmdlet 'Remove-AzDataCollectionRule' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
The cmdlet 'Remove-AzDataCollectionRule' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Remove-AzDataCollectionRule' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Get-AzDataCollectionRule -ResourceGroupName "testdcr" -RuleName "dcrFromPipe95" | Remove-AzDataCollectionRule
```
#### After
```powershell
Get-AzDataCollectionRule -ResourceGroupName "testdcr" -RuleName "dcrFromPipe95" | Remove-AzDataCollectionRule
```


### `Remove-AzDataCollectionRuleAssociation`
The cmdlet 'Remove-AzDataCollectionRuleAssociation' no longer supports the type 'Microsoft.Azure.Commands.Insights.OutputClasses.PSDataCollectionRuleAssociationProxyOnlyResource' for parameter 'InputObject'.
The cmdlet 'Remove-AzDataCollectionRuleAssociation' no longer supports the parameter 'AssociationId' and no alias was found for the original parameter name.
The cmdlet 'Remove-AzDataCollectionRuleAssociation' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
The cmdlet 'Remove-AzDataCollectionRuleAssociation' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Remove-AzDataCollectionRuleAssociation' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'ByResourceId' for cmdlet 'Remove-AzDataCollectionRuleAssociation' has been removed.

#### Before
```powershell
$dcrAssoc | Remove-AzDataCollectionRuleAssociation
Remove-AzDataCollectionRuleAssociation -AssociationId $dcrAssoc.Id
```
#### After
```powershell
$dcrAssoc | Remove-AzDataCollectionRuleAssociation
Remove-AzDataCollectionRuleAssociation -InputObject $dcrAssoc.Id
```


### `Update-AzDataCollectionRule`
The cmdlet 'Update-AzDataCollectionRule' no longer has output type 'Microsoft.Azure.Commands.Insights.OutputClasses.PSDataCollectionRuleResource'.
The cmdlet 'Update-AzDataCollectionRule' no longer supports the type 'Microsoft.Azure.Commands.Insights.OutputClasses.PSDataCollectionRuleResource' for parameter 'InputObject'.
The cmdlet 'Update-AzDataCollectionRule' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
The cmdlet 'Update-AzDataCollectionRule' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Update-AzDataCollectionRule' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
$dcr = Get-AzDataCollectionRule -ResourceGroupName "testdcr" -Name "newDcr"
$dcr | Update-AzDataCollectionRule -Tag @{"tag1"="value1"; "tag2"="value2"}
```
#### After
```powershell
$dcr = Get-AzDataCollectionRule -ResourceGroupName "testdcr" -Name "newDcr"
$dcr | Update-AzDataCollectionRule -Tag @{"tag1"="value1"; "tag2"="value2"}
```


### `Get-AzActionGroup`
The cmdlet 'Get-AzActionGroup' no longer has output type 'Microsoft.Azure.Commands.Insights.OutputClasses.PSActionGroupResource'.
The cmdlet 'Get-AzActionGroup' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
The cmdlet 'Get-AzActionGroup' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Get-AzActionGroup' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Get-AzActionGroup -ResourceGroupName "Default-activityLogAlerts" -Name "actionGroup1"
```
#### After
```powershell
Get-AzActionGroup -ResourceGroupName "Default-activityLogAlerts" -Name "actionGroup1"

ArmRoleReceiver           : {}
AutomationRunbookReceiver : {}
AzureAppPushReceiver      : {}
AzureFunctionReceiver     : {}
EmailReceiver             : {}
Enabled                   : False
EventHubReceiver          : {}
GroupShortName            : ag1
Id                        : /subscriptions/{subid}/resourceGroups/Monitor-Action/providers/microsoft.insights/actionGroups/actiongroup1
ItsmReceiver              : {}
Location                  : northcentralus
LogicAppReceiver          : {}
Name                      : actiongroup1
ResourceGroupName         : Monitor-Action
SmsReceiver               : {}
Tag                       : {
                            }
Type                      : Microsoft.Insights/ActionGroups
VoiceReceiver             : {}
WebhookReceiver           : {}
```


### `Remove-AzActionGroup`
The cmdlet 'Remove-AzActionGroup' no longer supports the type 'Microsoft.Azure.Commands.Insights.OutputClasses.PSActionGroupResource' for parameter 'InputObject'.
The parameter set 'ByResourceId' for cmdlet 'Remove-AzActionGroup' has been removed.
The cmdlet 'Remove-AzActionGroup' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
The cmdlet 'Remove-AzActionGroup' no longer has output type 'Microsoft.Azure.AzureOperationResponse'.
The cmdlet 'Remove-AzActionGroup' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
The cmdlet 'Remove-AzActionGroup' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Remove-AzActionGroup' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.

#### Before
```powershell
Remove-AzActionGroup -ResourceGroupName "Default-Web-CentralUS" -Name "myActionGroup"

RequestId                                                                                                    StatusCode
---------                                                                                                    ----------
2c6c159b-0e73-4a01-a67b-c32c1a0008a3                                                                                 OK
```
#### After
```powershell
Remove-AzActionGroup -ResourceGroupName Monitor-Action -Name actiongroup1 --PassThur

True
```


### `Set-AzActionGroup`
The cmdlet 'Set-AzActionGroup' has been removed and no alias was found for the original cmdlet name.

#### Before
```powershell
$email1 = New-AzActionGroupReceiver -Name 'user1' -EmailReceiver -EmailAddress 'user1@example.com'
$sms1 = New-AzActionGroupReceiver -Name 'user2' -SmsReceiver -CountryCode '1' -PhoneNumber '5555555555'
Set-AzActionGroup -Name $actionGroupName -ResourceGroupName $resourceGroupName -ShortName $shortName -Receiver $email1,$sms1
```
#### After
```powershell
$email1 = New-AzActionGroupEmailReceiverObject -EmailAddress user@example.com -Name user1
$sms1 = New-AzActionGroupSmsReceiverObject -CountryCode '{countrycode}' -Name user2 -PhoneNumber '{phonenumber}'
New-AzActionGroup -Name 'actiongroup1' -ResourceGroupName 'Monitor-Action' -Location northcentralus -GroupShortName ag1 -EmailReceiver $email1 -SmsReceiver $sms1
```


### `Test-AzActionGroup`
The cmdlet 'Test-AzActionGroup' no longer supports the type 'System.Collections.Generic.List`1[Microsoft.Azure.Commands.Insights.OutputClasses.PSActionGroupReceiverBase]' for parameter 'Receiver'.
The cmdlet 'Test-AzActionGroup' no longer has output type 'Microsoft.Azure.Commands.Insights.OutputClasses.PSTestNotificationDetailsResponse'.
The parameter set 'ByPropertyName' for cmdlet 'Test-AzActionGroup' is no longer the default parameter set.
The cmdlet 'Test-AzActionGroup' no longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
The cmdlet 'Test-AzActionGroup' no longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
The cmdlet 'Test-AzActionGroup' no longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
The parameter set 'ByPropertyName' for cmdlet 'Test-AzActionGroup' has been removed.

#### Before
```powershell
$email = New-AzActionGroupReceiver -Name 'user1' -EmailReceiver -EmailAddress 'test@test.example.com'
Test-AzActionGroup -AlertType servicehealth -Receiver $email -ResourceGroupName "test-RG" -ActionGroupName "test-AG"
```
#### After
```powershell
$sms1 = New-AzActionGroupSmsReceiverObject -CountryCode 86 -Name user1 -PhoneNumber 'phonenumber'
$email2 = New-AzActionGroupEmailReceiverObject -EmailAddress user@example.com -Name user2
Test-AzActionGroup -ActionGroupName actiongroup1 -ResourceGroupName monitor-action -AlertType servicehealth -Receiver $email2,$sms1

ActionDetail              : {{
                              "MechanismType": "Email",
                              "Name": "user2",
                              "Status": "Succeeded",
                              "SubState": "Default",
                              "SendTime": "2023-11-08T05:16:09.6280455+00:00"
                            }, {
                              "MechanismType": "Sms",
                              "Name": "user1",
                              "Status": "Succeeded",
                              "SubState": "Default",
                              "SendTime": "2023-11-08T05:16:09.642967+00:00"
                            }}
CompletedTime             : 2023-11-08T05:18:10.6755827+00:00
ContextNotificationSource : Microsoft.Insights/TestNotification
ContextType               : Microsoft.Insights/ServiceHealth
CreatedTime               : 2023-11-08T05:16:00.7951739+00:00
State                     : Complete
```


### `New-AzActionGroupReceiver`
The cmdlet 'New-AzActionGroupReceiver' has been removed and no alias was found for the original cmdlet name.

#### Before
```powershell
$emailReceiver = New-AzActionGroupReceiver -Name 'emailReceiver1' -EmailReceiver -EmailAddress 'user1@example.com'
```
#### After
```powershell
$emailReceiver = New-AzActionGroupEmailReceiverObject -EmailAddress user@example.com -Name user1
```


## Az.Network

### `New-AzApplicationGatewayFirewallCustomRuleGroupByVariable`
"Geo" is no longwe a valid input for parameter `VariableName` in `NewAzureApplicationGatewayFirewallCustomRuleGroupByVariable`

## Az.PowerBIEmbedded

### `Remove-AzPowerBIWorkspaceCollection`
The cmdlet 'Remove-AzPowerBIWorkspaceCollection' has been removed as Workspace Collection is no longer supported

### `Get-AzPowerBIWorkspaceCollection`
The cmdlet 'Get-AzPowerBIWorkspaceCollection' has been removed as Workspace Collection is no longer supported

### `Get-AzPowerBIWorkspaceCollectionAccessKey`
The cmdlet Get-AzPowerBIWorkspaceCollectionAccessKey' has been removed as Workspace Collection is no longer supported

### `Get-AzPowerBIWorkspace`
The cmdlet 'Get-AzPowerBIWorkspace' has been removed as Workspace Collection is no longer supported

### `New-AzPowerBIWorkspaceCollection`
The cmdlet 'New-AzPowerBIWorkspaceCollection' has been removed as Workspace Collection is no longer supported

### `Reset-AzPowerBIWorkspaceCollectionAccessKey`
The cmdlet 'Reset-AzPowerBIWorkspaceCollectionAccessKey' has been removed as Workspace Collection is no longer supported


## AZ.Storage

### `Get-AzStorageQueueStoredAccessPolicy`
Permissions in the output access policy is changed to a string like "raup"

### `New-AzStorageAccountSasToken`
The leading question mark '?' of the created SAS token is removed

### `New-AzStorageBlobSasToken`
The leading question mark '?' of the created SAS token is removed

### `New-AzStorageContainerSasToken`
The leading question mark '?' of the created SAS token is removed

### `New-AzStorageFileSasToken`
The leading question mark '?' of the created SAS token is removed

### `New-AzStorageQueueSasToken`
The leading question mark '?' of the created SAS token is removed

### `New-AzStorageShareSasToken`
The leading question mark '?' of the created SAS token is removed

### `New-AzStorageTableSasToken`
The leading question mark '?' of the created SAS token is removed

### `Set-AzStorageQueueStoredAccessPolicy`
Permissions in the output access policy is changed to a string like "raup"

---

### Documentation Migration Guides Az.12.0.0 Migration Guide (`documentation/migration-guides/Az.12.0.0-migration-guide.md`)

# Migration Guide for Az 12.0.0

## Az.Accounts

### `Clear-AzConfig`

- Cmdlet breaking-change will happen to all parameter sets
  - Parameter `DisableErrorRecordsPersistence` will be deprecated, a new parameter `EnableErrorRecordsPersistence` will be added instead. Writing error records to file system will become opt-in instead of opt-out. This change will happen around May 2024
  - This change is expected to take effect from Az.Accounts version: 2.X and Az version: 12.0.0

#### Before
```powershell
Clear-AzConfig -DisableErrorRecordsPersistence
```
#### After
```powershell
error record will be disabled by default. New parameter 'EnableErrorRecordsPersistence' added to enable error record.
```


### `Get-AzConfig`

- Cmdlet breaking-change will happen to all parameter sets
  - Parameter `DisableErrorRecordsPersistence` will be deprecated, a new parameter `EnableErrorRecordsPersistence` will be added instead. Writing error records to file system will become opt-in instead of opt-out. This change will happen around May 2024
  - This change is expected to take effect from Az.Accounts version: 2.X and Az version: 12.0.0

#### Before
```powershell
Get-AzConfig -DisableErrorRecordsPersistence 
```
#### After
```powershell
error record will be disabled by default. New parameter 'EnableErrorRecordsPersistence' added to enable error record.
```


### `Update-AzConfig`

- Cmdlet breaking-change will happen to all parameter sets
  - Parameter `DisableErrorRecordsPersistence` will be deprecated, a new parameter `EnableErrorRecordsPersistence` will be added instead. Writing error records to file system will become opt-in instead of opt-out. This change will happen around May 2024
  - This change is expected to take effect from Az.Accounts version: 2.X and Az version: 12.0.0

#### Before
```powershell
Update-AzConfig -DisableErrorRecordsPersistence 
```
#### After
```powershell
error record will be disabled by default. New parameter 'EnableErrorRecordsPersistence' added to enable error record.
```


## Az.Compute

### `Get-AzVmss`

- Cmdlet breaking-change will happen to all parameter sets
  - Starting in May 2024 the "Get-AzVmss" cmdlet will no longer allow an empty value for resource group name and virtual machine scale set name.
  - This change is expected to take effect from Az.Compute version: 8.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-AzVmss -ResourceGroupName ""
# Returned an empty list.
```
#### After
```powershell
Get-AzVmss -ResourceGroupName ""
# Will return an error from empty string validation in the parameter.
```


### `New-AzGalleryImageDefinition`

- Cmdlet breaking-change will happen to all parameter sets
  - Starting in May 2024 the "New-AzGalleryImage" cmdlet will deploy with the Trusted Launch configuration and Gen2 Hyper V Generation by default. To know more about Trusted Launch, please visit [https://learn.microsoft.com/azure/virtual-machines/trusted-launch](/azure/virtual-machines/trusted-launch)
  - This change is expected to take effect from Az.Compute version: 8.0.0 and Az version: 12.0.0

#### Before
```powershell
New-AzGalleryImageDefinition -ResourceGroupName $rgName -GalleryName $galleryName -Name $galleryImageDefinitionName -Location $location -Publisher $publisherName -Offer $offerName -Sku $skuName -OsState "Specialized" -OsType "Linux"
# Defaulted to HyperVGeneration: Gen1 and SecurityType: Standard in the service side .
```
#### After
```powershell
New-AzGalleryImageDefinition -ResourceGroupName $rgName -GalleryName $galleryName -Name $galleryImageDefinitionName -Location $location -Publisher $publisherName -Offer $offerName -Sku $skuName -OsState "Specialized" -OsType "Linux"
# Defaults to HyperVGeneration: Gen2 and SecurityType: TrustedLaunchSupported at the PowerShell level.
```


### `New-AzVM`

- Cmdlet breaking-change will happen to all parameter sets
  - Starting in May 2024 the "New-AzVM" cmdlet will deploy with the image 'Windows Server 2022 Azure Edition' by default. This will make migrating to Trusted Launch easier in the future. To know more about Trusted Launch, please visit [https://learn.microsoft.com/azure/virtual-machines/trusted-launch](/azure/virtual-machines/trusted-launch)
  - This change is expected to take effect from Az.Compute version: 8.0.0 and Az version: 12.0.0

#### Before
```powershell
$vm = New-AzVM -ResourceGroupName $rgname -Name $vmname -Credential $cred -SecurityType "Standard" -DomainNameLabel $domainNameLabel
# Creates a VM with the image Windows 2016 Datacenter. 
```
#### After
```powershell
$vm = New-AzVM -ResourceGroupName $rgname -Name $vmname -Credential $cred -SecurityType "Standard" -DomainNameLabel $domainNameLabel
# Now generates with the Windows 2022 Azure Edition image.
```


### `New-AzVmss`

- Cmdlet breaking-change will happen to all parameter sets
  - Starting in May 2024 the "New-AzVmss" cmdlet will deploy with the image 'Windows Server 2022 Azure Edition' by default. This will make migrating to Trusted Launch easier in the future. To know more about Trusted Launch, please visit [https://learn.microsoft.com/azure/virtual-machines/trusted-launch](/azure/virtual-machines/trusted-launch)
  - This change is expected to take effect from Az.Compute version: 8.0.0 and Az version: 12.0.0

#### Before
```powershell
$vmss = New-AzVmss -ResourceGroupName $rgname -Credential $cred -VMScaleSetName $vmssName -SecurityType "Standard" -DomainNameLabel $domainNameLabel1
# would create a VMSS with a Windows 2016 Datacenter image. 
```
#### After
```powershell
$vmss = New-AzVmss -ResourceGroupName $rgname -Credential $cred -VMScaleSetName $vmssName -SecurityType "Standard" -DomainNameLabel $domainNameLabel1
# Now it will generate with a Windows 2022 Azure Edition image.
```


## Az.EventGrid

### `Get-AzEventGridChannel`
- Parameter breaking-change will happen to all parameter sets
  - `-NextLink`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ODataQuery`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-AzEventGridChannel -ResourceGroup MyResourceGroupName -PartnerNamespaceName PartnerNamespace1 -Name Channel1
```
#### After
```powershell
Get-AzEventGridChannel -ResourceGroupName azps_test_group_eventgrid -PartnerNamespaceName azps-partnernamespace
```


### `Get-AzEventGridDomain`

- Parameter breaking-change will happen to all parameter sets
  - `-NextLink`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ODataQuery`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ResourceId`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-AzEventGridDomain -ResourceGroup MyResourceGroupName -Name Domain1
```
#### After
```powershell
Get-AzEventGridDomain -ResourceGroupName azps_test_group_eventgrid -Name azps-domain
```


### `Get-AzEventGridDomainTopic`

- Parameter breaking-change will happen to all parameter sets
  - `-NextLink`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ODataQuery`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ResourceId`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-AzEventGridDomainTopic -ResourceGroup MyResourceGroupName -DomainName Domain1 -DomainTopicName DomainTopic1
```
#### After
```powershell
Get-AzEventGridDomainTopic -DomainName azps-domain -ResourceGroupName azps_test_group_eventgrid -Name azps-domaintopics
```


### `Get-AzEventGridFullUrlForPartnerTopicEventSubscription`

- Parameter breaking-change will happen to all parameter sets
  - `-ResourceId`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-AzEventGridFullUrlForPartnerTopicEventSubscription -ResourceGroupName MyResourceGroupName -PartnerTopicName Topic1 -EventSubscriptionName EventSubscription1
```
#### After
```powershell
Get-AzEventGridFullUrlForPartnerTopicEventSubscription -ResourceGroupName azps_test_group_eventgrid -PartnerTopicName default -EventSubscriptionName azps-eventsubname
```


### `Get-AzEventGridPartnerConfiguration`

- Parameter breaking-change will happen to all parameter sets
  - `-NextLink`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ODataQuery`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-AzEventGridPartnerConfiguration -ResourceGroupName ResourceGroup1
```
#### After
```powershell
Get-AzEventGridPartnerConfiguration -ResourceGroupName azps_test_group_eventgrid
```


### `Get-AzEventGridPartnerNamespace`

- Parameter breaking-change will happen to all parameter sets
  - `-NextLink`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ODataQuery`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-AzEventGridPartnerNamespace -ResourceGroup MyResourceGroupName -Name PartnerNamespace1
```
#### After
```powershell
Get-AzEventGridPartnerNamespace -ResourceGroupName azps_test_group_eventgrid -Name azps-partnernamespace
```


### `Get-AzEventGridPartnerRegistration`

- Parameter breaking-change will happen to all parameter sets
  - `-NextLink`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ODataQuery`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-AzEventGridPartnerRegistration -ResourceGroupName MyResourceGroupName -Name PartnerRegistration1
```
#### After
```powershell
Get-AzEventGridPartnerRegistration -ResourceGroupName azps_test_group_eventgrid -Name azps-registration
```


### `Get-AzEventGridPartnerTopic`

- Parameter breaking-change will happen to all parameter sets
  - `-NextLink`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ODataQuery`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-AzEventGridPartnerTopic -ResourceGroupName MyResourceGroupName -Name PartnerTopic1
```
#### After
```powershell
Get-AzEventGridPartnerTopic -Name default -ResourceGroupName azps_test_group_eventgrid
```


### `Get-AzEventGridPartnerTopicEventSubscription`

- Parameter breaking-change will happen to all parameter sets
  - `-IncludeFullEndpointUrl`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-NextLink`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ODataQuery`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ResourceId`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-AzEventGridPartnerTopicEventSubscription -ResourceGroupName MyResourceGroupName -PartnerTopicName Topic1 -EventSubscriptionName EventSubscription1 -IncludeFullEndpointUrl
```
#### After
```powershell
Get-AzEventGridPartnerTopicEventSubscription -ResourceGroupName azps_test_group_eventgrid -PartnerTopicName default -EventSubscriptionName azps-eventsubname
```


### `Get-AzEventGridSubscription`

- Parameter breaking-change will happen to all parameter sets
  - `-IncludeFullEndpointUrl`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-Location`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-NextLink`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ODataQuery`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ResourceId`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-TopicTypeName`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-AzEventGridSubscription -ResourceId "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.EventHub/namespaces/$namespaceName"
```
#### After
```powershell
Get-AzEventGridSubscription -Name azps-eventsub -Scope "/subscriptions/{subId}/resourceGroups/azps_test_group_eventgrid/providers/Microsoft.EventGrid/topics/azps-topic"
```


### `Get-AzEventGridSystemTopic`

- Parameter breaking-change will happen to all parameter sets
  - `-NextLink`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ODataQuery`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-AzEventGridSystemTopic -ResourceGroup MyResourceGroupName -Name Topic1
```
#### After
```powershell
Get-AzEventGridSystemTopic -ResourceGroupName azps_test_group_eventgrid -Name azps-systopic
```


### `Get-AzEventGridSystemTopicEventSubscription`

- Parameter breaking-change will happen to all parameter sets
  - `-IncludeFullEndpointUrl`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-NextLink`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ODataQuery`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-AzEventGridSystemTopicEventSubscription -ResourceGroupName MyResourceGroupName -SystemTopicName Topic1 -EventSubscriptionName EventSubscription1 -IncludeFullEndpointUrl
```
#### After
```powershell
Get-AzEventGridSystemTopicEventSubscription -ResourceGroupName azps_test_group_eventgrid -SystemTopicName azps-systopic -EventSubscriptionName azps-evnetsub
```


### `Get-AzEventGridTopic`

- Parameter breaking-change will happen to all parameter sets
  - `-NextLink`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ODataQuery`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ResourceId`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-AzEventGridTopic -ResourceGroup MyResourceGroupName -Name Topic1
```
#### After
```powershell
Get-AzEventGridTopic -ResourceGroupName azps_test_group_eventgrid -Name azps-topic
```


### `Get-AzEventGridTopicType`

- Parameter breaking-change will happen to all parameter sets
  - `-IncludeEventTypeData`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-AzEventGridTopicType -Name "Microsoft.Storage.StorageAccounts"
```
#### After
```powershell
Get-AzEventGridTopicType -Name Microsoft.EventGrid.Namespaces
```


### `Get-AzEventGridVerifiedPartner`

- Parameter breaking-change will happen to all parameter sets
  - `-NextLink`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ODataQuery`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-AzEventGridVerifiedPartner -Name VerifiedPartner1
```
#### After
```powershell
Get-AzEventGridVerifiedPartner -Name MicrosoftGraphAPI
```


### `New-AzEventGridDomain`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-InboundIpRule`
    - The parameter : 'InboundIpRule' is changing.
    The type of the parameter is changing from 'System.Collections.Hashtable' to 'IInboundIPRule[]'.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-InputMappingDefaultValue`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-InputMappingField`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
New-AzEventGridDomain -ResourceGroupName MyResourceGroupName -Name Domain1 -Location westus2 -Tag @{ Department="Finance"; Environment="Test" }
```
#### After
```powershell
$inboundIpRule = New-AzEventGridInboundIPRuleObject -Action Allow -IPMask "12.18.176.1"
New-AzEventGridDomain -Name azps-domain -ResourceGroupName azps_test_group_eventgrid -Location westus2 -PublicNetworkAccess Enabled -InboundIPRule $inboundIpRule
```


### `New-AzEventGridPartnerConfiguration`

- Parameter breaking-change will happen to all parameter sets
  - `-AuthorizedPartner`
    - The parameter : 'AuthorizedPartner' is changing.
    The type of the parameter is changing from 'System.Collections.Hashtable[]' to 'IPartner[]'.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
New-AzEventGridPartnerConfiguration -ResourceGroupName MyResourceGroupName -MaxExpirationTimeInDays 14
```
#### After
```powershell
$partnerRegistration = Get-AzEventGridPartnerRegistration -ResourceGroupName azps_test_group_eventgrid -Name azps-registration
$partner = New-AzEventGridPartnerObject -AuthorizationExpirationTimeInUtc "2023-11-19T09:31:42.521Z" -RegistrationImmutableId $partnerRegistration.ImmutableId
New-AzEventGridPartnerConfiguration -ResourceGroupName azps_test_group_eventgrid -Location global -PartnerAuthorizationDefaultMaximumExpirationTimeInDay 10 -PartnerAuthorizationAuthorizedPartnersList $partner
```


### `New-AzEventGridPartnerNamespace`

- Parameter breaking-change will happen to all parameter sets
  - `-Endpoint`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-InboundIpRule`
    - The parameter : 'InboundIpRule' is changing.
    The type of the parameter is changing from 'Microsoft.Azure.Commands.EventGrid.Models.PSInboundIpRule[]' to 'IInboundIPRule[]'.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-PrivateEndpointConnection`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
New-AzEventGridPartnerNamespace -ResourceGroupName MyResourceGroupName -Name PartnerNamespace1 -Location westus2 -PartnerRegistrationFullyQualifiedId 23e0092b-f336-4833-9ab3-9353a15650fc
```
#### After
```powershell
New-AzEventGridPartnerNamespace -Name azps-partnernamespace -ResourceGroupName azps_test_group_eventgrid -Location eastus -PartnerTopicRoutingMode ChannelNameHeader -PartnerRegistrationFullyQualifiedId "/subscriptions/{subId}/resourceGroups/azps_test_group_eventgrid/providers/Microsoft.EventGrid/partnerRegistrations/azps-registration"
```


### `New-AzEventGridPartnerRegistration`

- Cmdlet breaking-change will happen to all parameter sets
  - Added new required parameter: Location `<String>`
  - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
New-AzEventGridPartnerRegistration -ResourceGroupName MyResourceGroupName -Name PartnerRegistration1
```
#### After
```powershell
New-AzEventGridPartnerRegistration -Name azps-registration -ResourceGroupName azps_test_group_eventgrid -Location global
```


### `New-AzEventGridPartnerTopic`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
New-AzEventGridPartnerTopic -ResourceGroupName MyResourceGroupName -Name PartnerTopic1 -Source ContosoCorp.Accounts.User1 -Location westus2 -PartnerRegistrationImmutableId 23e0092b-f336-4833-9ab3-9353a15650fc
```
#### After
```powershell
$partnerRegistration = Get-AzEventGridPartnerRegistration -ResourceGroupName azps_test_group_eventgrid -Name azps-registration
New-AzEventGridPartnerTopic -Name default -ResourceGroupName azps_test_group_eventgrid -Location eastus -partnerRegistrationImmutableId $partnerRegistration.ImmutableId -Source "ContosoCorp.Accounts.User1" -ExpirationTimeIfNotActivatedUtc "2023-11-17T11:06:13.109Z" -PartnerTopicFriendlyDescription "Example description" -MessageForActivation "Example message for activation"
```


### `New-AzEventGridPartnerTopicEventSubscription`

- Parameter breaking-change will happen to all parameter sets
  - `-AdvancedFilter`
    - The parameter : 'AdvancedFilter' is changing.
    The type of the parameter is changing from 'System.Collections.Hashtable[]' to 'IAdvancedFilter[]'.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-AzureActiveDirectoryApplicationIdOrUri`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-AzureActiveDirectoryTenantId`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-DeadLetterEndpoint`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-DeliveryAttributeMapping`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-Endpoint`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-EndpointType`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-MaxEventsPerBatch`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-PreferredBatchSizeInKiloByte`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-StorageQueueMessageTtl`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
$includedEventTypes = "Microsoft.Resources.ResourceWriteFailure", "Microsoft.Resources.ResourceWriteSuccess"
$labels = "Finance", "HR"
New-AzEventGridPartnerTopicEventSubscription -ResourceGroup MyResourceGroup -PartnerTopicName Topic1 -EventSubscriptionName EventSubscription1 -Endpoint https://requestb.in/19qlscd1  -SubjectBeginsWith "TestPrefix" -SubjectEndsWith "TestSuffix" -IncludedEventType $includedEventTypes -Label $labels
```
#### After
```powershell
$obj = New-AzEventGridWebHookEventSubscriptionDestinationObject -EndpointUrl "https://azpsweb.azurewebsites.net"
New-AzEventGridPartnerTopicEventSubscription -EventSubscriptionName azps-eventsub -ResourceGroupName azps_test_group_eventgrid -PartnerTopicName default -FilterIsSubjectCaseSensitive:$false -FilterSubjectBeginsWith "ExamplePrefix" -FilterSubjectEndsWith "ExampleSuffix" -EventDeliverySchema CloudEventSchemaV1_0 -Destination $obj
```


### `New-AzEventGridSubscription`

- Parameter breaking-change will happen to all parameter sets
  - `-AzureActiveDirectoryApplicationIdOrUri`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-AzureActiveDirectoryTenantId`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-DeadLetterEndpoint`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-DeliveryAttributeMapping`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-MaxEventsPerBatch`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-PreferredBatchSizeInKiloByte`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-StorageQueueMessageTtl`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
$includedEventTypes = "Microsoft.Resources.ResourceWriteFailure", "Microsoft.Resources.ResourceWriteSuccess"
$labels = "Finance", "HR"
New-AzEventGridSubscription -Endpoint https://requestb.in/19qlscd1 -EventSubscriptionName EventSubscription1 -SubjectBeginsWith "TestPrefix" -SubjectEndsWith "TestSuffix" -IncludedEventType $includedEventTypes -Label $labels
```
#### After
```powershell
$obj = New-AzEventGridWebHookEventSubscriptionDestinationObject -EndpointUrl "https://azpsweb.azurewebsites.net/api/updates"
$topic = Get-AzEventGridTopic -ResourceGroupName azps_test_group_eventgrid -Name azps-topic
New-AzEventGridSubscription -Name azps-eventsub -Scope $topic.Id -Destination $obj -FilterIsSubjectCaseSensitive:$false -FilterSubjectBeginsWith "ExamplePrefix" -FilterSubjectEndsWith "ExampleSuffix"
```


### `New-AzEventGridSystemTopic`
- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
New-AzEventGridSystemTopic -ResourceGroupName MyResourceGroupName -Name Topic1 -Source ServiceBusNamespaceResourceId -TopicType 'Microsoft.ServiceBus.Namespaces' -Location westus2 -Tag @{ Department="Finance"; Environment="Test" }
```
#### After
```powershell
New-AzEventGridSystemTopic -Name azps-systopic -ResourceGroupName azps_test_group_eventgrid -Location eastus -Source "/subscriptions/{subId}/resourcegroups/azps_test_group_eventgrid/providers/Microsoft.Storage/storageAccounts/azpssa" -TopicType "microsoft.storage.storageaccounts"
```


### `New-AzEventGridSystemTopicEventSubscription`
- Parameter breaking-change will happen to all parameter sets
  - `-AzureActiveDirectoryApplicationIdOrUri`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-AzureActiveDirectoryTenantId`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-DeadLetterEndpoint`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-DeliveryAttributeMapping`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-Endpoint`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-EndpointType`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-MaxEventsPerBatch`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-PreferredBatchSizeInKiloByte`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-StorageQueueMessageTtl`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
$includedEventTypes = "Microsoft.Resources.ResourceWriteFailure", "Microsoft.Resources.ResourceWriteSuccess"
$labels = "Finance", "HR"
New-AzEventGridSystemTopicEventSubscription -ResourceGroupName MyResourceGroup -SystemTopicName Topic1 -EventSubscriptionName EventSubscription1 -Endpoint https://requestb.in/19qlscd1  -SubjectBeginsWith "TestPrefix" -SubjectEndsWith "TestSuffix" -IncludedEventType $includedEventTypes -Label $labels
```
#### After
```powershell
$obj = New-AzEventGridWebHookEventSubscriptionDestinationObject -EndpointUrl "https://azpsweb.azurewebsites.net"
New-AzEventGridSystemTopicEventSubscription -EventSubscriptionName azps-evnetsub -ResourceGroupName azps_test_group_eventgrid -SystemTopicName azps-systopic -FilterIsSubjectCaseSensitive:$false -FilterSubjectBeginsWith "ExamplePrefix" -FilterSubjectEndsWith "ExampleSuffix" -Destination $obj
```


### `New-AzEventGridTopic`
- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-InboundIpRule`
    - The parameter : 'InboundIpRule' is changing.
    The type of the parameter is changing from 'System.Collections.Hashtable' to 'IInboundIPRule[]'.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-InputMappingDefaultValue`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-InputMappingField`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
New-AzEventGridTopic -ResourceGroupName MyResourceGroupName -Name Topic1 -Location westus2 -Tag @{ Department="Finance"; Environment="Test" }
```
#### After
```powershell
$inboundIpRule = New-AzEventGridInboundIPRuleObject -Action Allow -IPMask "12.18.176.1"
New-AzEventGridTopic -Name azps-topic -ResourceGroupName azps_test_group_eventgrid -Location eastus -PublicNetworkAccess Enabled -InboundIPRule $inboundIpRule
```


### `Remove-AzEventGridSubscription`
- Parameter breaking-change will happen to all parameter sets
  - `-DomainInputObject`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-DomainName`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-DomainTopicInputObject`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-DomainTopicName`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ResourceGroupName`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-ResourceId`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-TopicName`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Remove-AzEventGridSubscription -ResourceGroup MyResourceGroup -TopicName Topic1 -EventSubscriptionName EventSubscription1
```
#### After
```powershell
Remove-AzEventGridSubscription -Name azps-eventsub -Scope "subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
```


### `Set-AzEventGridTopic`

- Cmdlet breaking-change will happen to all parameter sets
  - The cmdlet is being deprecated. There will be no replacement for it.
  - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Set-AzEventGridTopic -ResourceGroup MyResourceGroupName -Name Topic1 -Tag @{ Department="Finance"; Environment="Test" }
```
#### After



### `Update-AzEventGridPartnerTopic`

- Cmdlet breaking-change will happen to all parameter sets
  - The existing syntax will be extended. The new syntax will support updating more properties.
  - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Update-AzEventGridPartnerTopic -ResourceGroup MyResourceGroupName -Name Topic1 -IdentityType "SystemAssigned"
```
#### After
```powershell
Update-AzEventGridPartnerTopic -Name default -ResourceGroupName azps_test_group_eventgrid -UserAssignedIdentity "/subscriptions/{subId}/resourcegroups/azps_test_group_eventgrid/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uami"
```


### `Update-AzEventGridPartnerTopicEventSubscription`

- Parameter breaking-change will happen to all parameter sets
  - `-DeadLetterEndpoint`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-DeliveryAttributeMapping`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-Endpoint`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-EndpointType`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-StorageQueueMessageTtl`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Update-AzEventGridPartnerTopicEventSubscription -EventSubscriptionName ES1 -PartnerTopicName Topic1 -ResourceGroup MyResourceGroupName -Endpoint https://requestb.in/1kxxoui1 -SubjectEndsWith "jpg"
```
#### After
```powershell
$obj = New-AzEventGridWebHookEventSubscriptionDestinationObject -EndpointUrl "https://azpsweb.azurewebsites.net/api/updates"
Update-AzEventGridPartnerTopicEventSubscription -EventSubscriptionName azps-eventsubname -ResourceGroupName azps_test_group_eventgrid -PartnerTopicName default -FilterIsSubjectCaseSensitive:$false -FilterSubjectBeginsWith "ExamplePrefix" -FilterSubjectEndsWith "ExampleSuffix" -EventDeliverySchema CloudEventSchemaV1_0 -Destination $obj
```


### `Update-AzEventGridSubscription`

- Parameter breaking-change will happen to all parameter sets
  - `-AzureActiveDirectoryApplicationIdOrUri`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-AzureActiveDirectoryTenantId`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-DeadLetterEndpoint`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-DeliveryAttributeMapping`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-Endpoint`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-EndpointType`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-MaxEventsPerBatch`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-PreferredBatchSizeInKiloByte`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Update-AzEventGridSubscription -EventSubscriptionName ES1 -TopicName Topic1 -ResourceGroup MyResourceGroupName -Endpoint https://requestb.in/1kxxoui1
```
#### After
```powershell
$obj = New-AzEventGridWebHookEventSubscriptionDestinationObject -EndpointUrl "https://azpsweb.azurewebsites.net/api/updates"
Update-AzEventGridSubscription -Name azps-eventsub -Scope "subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" -Destination $obj -FilterIsSubjectCaseSensitive:$false
```


### `Update-AzEventGridSystemTopicEventSubscription`

- Parameter breaking-change will happen to all parameter sets
  - `-DeadLetterEndpoint`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-DeliveryAttributeMapping`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-Endpoint`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-EndpointType`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0
  - `-StorageQueueMessageTtl`
    - This parameter will be deprecated.
    - This change is expected to take effect from Az.EventGrid version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Update-AzEventGridSystemTopicEventSubscription -EventSubscriptionName ES1 -SystemTopicName Topic1 -ResourceGroupName MyResourceGroupName -Endpoint https://requestb.in/1kxxoui1 -SubjectEndsWith "jpg"
```
#### After
```powershell
$obj = New-AzEventGridWebHookEventSubscriptionDestinationObject -EndpointUrl "https://azpsweb.azurewebsites.net/api/updates"
Update-AzEventGridSystemTopicEventSubscription -EventSubscriptionName azps-evnetsub -ResourceGroupName azps_test_group_eventgrid -SystemTopicName azps-systopic -FilterIsSubjectCaseSensitive:$false -FilterSubjectBeginsWith "ExamplePrefix" -FilterSubjectEndsWith "ExampleSuffix" -Destination $obj
```


## Az.EventHub

### `New-AzEventHub`

- Parameter breaking-change will happen to all parameter sets
  - `-CleanupPolicy`
    - The parameter : 'CleanupPolicy' is changing.
    The type of the parameter is changing from 'CleanupPolicyRetentionDescription' to 'String'.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'
  - `-Encoding`
    - The parameter : 'Encoding' is changing.
    The type of the parameter is changing from 'EncodingCaptureDescription' to 'String'.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    The type of the parameter is changing from 'CaptureIdentityType' to 'String'.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'
  - `-Status`
    - The parameter : 'Status' is changing.
    The type of the parameter is changing from 'EntityStatus' to 'String'.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'

#### Before
```powershell
New-AzEventHub -Name $env.eventHub9 -ResourceGroupName $env.resourceGroup -NamespaceName $eventHubNamespace.Name -PartitionCount 2 -CleanupPolicy Delete -IdentityType UserAssigned  

 (CleanupPolicy type is CleanupPolicyRetentionDescription), 
 (Status type is EntityStatus),
 (IdentityType type is CaptureIdentiType), 
 (EncodingType type is EncodingCaptureDescription)
```
#### After
```powershell
New-AzEventHub -Name $env.eventHub9 -ResourceGroupName $env.resourceGroup -NamespaceName $eventHubNamespace.Name -PartitionCount 2 -CleanupPolicy Delete -IdentityType UserAssigned  

 (CleanupPolicy type is String),
 (Status type is String), 
 (IdentityType type is String), 
 (EncodingType type is String)
```


### `New-AzEventHubAuthorizationRule`

- Parameter breaking-change will happen to all parameter sets
  - `-Rights`
    - The parameter : 'Rights' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'

#### Before
```powershell
New-AzEventHubAuthorizationRule -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -Name $env.authRule2 -Rights @("Manage", "Send", "Listen")
 
 (Rights is of type AccessRights[])
```
#### After
```powershell
New-AzEventHubAuthorizationRule -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -Name $env.authRule2 -Rights @("Manage", "Send", "Listen")
 
 (Rights is of type System.String[])
```


### `New-AzEventHubIPRuleConfig`

- Parameter breaking-change will happen to all parameter sets
  - `-Action`
    - The parameter : 'Action' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'

#### Before
```powershell
(Action is of type NetworkRuleIPAction )
```
#### After
```powershell
(Action is of type String)
```


### `New-AzEventHubKey`

- Parameter breaking-change will happen to all parameter sets
  - `-KeyType`
    - The parameter : 'KeyType' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'

#### Before
```powershell
New-AzEventHubKey -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -Name $env.authRule -KeyType PrimaryKey

(KeyType is of type KeyType)
```
#### After
```powershell
New-AzEventHubKey -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -Name $env.authRule -KeyType PrimaryKey

(KeyType is of type String)
```


### `New-AzEventHubNamespace`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'
  - `-PublicNetworkAccess`
    - The parameter : 'PublicNetworkAccess' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'
  - `-SkuName`
    - The parameter : 'SkuName' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'

#### Before
```powershell
New-AzEventHubNamespace -ResourceGroupName $env.resourceGroup -Name $env.namespaceV4 -SkuName Premium -Location eastus -IdentityType SystemAssigned -PublicNetworkAccess Disabled

( IdentityType is ManagedServiceIdentityType),
(PublicNetworkAccess is of type PublicNetworkAccess),
( SkuName is of type SkuName)
```
#### After
```powershell
New-AzEventHubNamespace -ResourceGroupName $env.resourceGroup -Name $env.namespaceV4 -SkuName Premium -Location eastus -IdentityType SystemAssigned -PublicNetworkAccess Disabled

( IdentityType is String),
(PublicNetworkAccess is of type String),
( SkuName is of type String)
```


### `New-AzEventHubNamespaceV2`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'
  - `-PublicNetworkAccess`
    - The parameter : 'PublicNetworkAccess' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'
  - `-SkuName`
    - The parameter : 'SkuName' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'

#### Before
```powershell
New-AzEventHubNamespaceV2 -ResourceGroupName $env.resourceGroup -Name $env.namespaceV4 -SkuName Premium -Location eastus -IdentityType SystemAssigned -PublicNetworkAccess Disabled

( IdentityType is ManagedServiceIdentityType),
(PublicNetworkAccess is of type PublicNetworkAccess),
( SkuName is of type SkuName)
```
#### After
```powershell
New-AzEventHubNamespaceV2 -ResourceGroupName $env.resourceGroup -Name $env.namespaceV4 -SkuName Premium -Location eastus -IdentityType SystemAssigned -PublicNetworkAccess Disabled

( IdentityType is String),
(PublicNetworkAccess is of type String),
( SkuName is of type String)
```


### `New-AzEventHubSchemaGroup`

- Parameter breaking-change will happen to all parameter sets
  - `-SchemaCompatibility`
    - The parameter : 'SchemaCompatibility' is changing.
    The type of the parameter is changing from 'SchemaCompatibility' to 'String'.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'
  - `-SchemaType`
    - The parameter : 'SchemaType' is changing.
    The type of the parameter is changing from 'SchemaType' to 'String'.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'

#### Before
```powershell
New-AzEventHubSchemaGroup -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -Name $env.schemaGroup2 -SchemaCompatibility Forward -SchemaType Avro -GroupProperty @{a='b'; c='d'}

(SchemaCompatibility is of type SchemaCompatibility)
(SchemaType is of type SchemaType)
```
#### After
```powershell
New-AzEventHubSchemaGroup -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -Name $env.schemaGroup2 -SchemaCompatibility Forward -SchemaType Avro -GroupProperty @{a='b'; c='d'}

(SchemaCompatibility is of type String),
(SchemaType is of type String)
```


### `New-AzEventHubThrottlingPolicyConfig`

- Parameter breaking-change will happen to all parameter sets
  - `-MetricId`
    - The parameter : 'MetricId' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'

#### Before
```powershell
(MetricId is of type MetricId)
```
#### After
```powershell
(MetricId is of type String)
```


### `Set-AzEventHub`

- Parameter breaking-change will happen to all parameter sets
  - `-Encoding`
    - The parameter : 'Encoding' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'
  - `-Status`
    - The parameter : 'Status' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'

#### Before
```powershell
Set-AzEventHub -Name $env.eventHub9 -ResourceGroupName $env.resourceGroup -NamespaceName $eventHubNamespace.Name  -IdentityType UserAssigned  

 
 (Status type is EntityStatus),
 (IdentityType type is CaptureIdentiType), 
 (Encoding type is EncodingCaptureDescription)
```
#### After
```powershell
Set-AzEventHub -Name $env.eventHub9 -ResourceGroupName $env.resourceGroup -NamespaceName $eventHubNamespace.Name  -IdentityType UserAssigned  

 
 (Status type is String),
 (IdentityType type is String), 
 (Encoding type is String)
```


### `Set-AzEventHubAuthorizationRule`

- Parameter breaking-change will happen to all parameter sets
  - `-Rights`
    - The parameter : 'Rights' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'

#### Before
```powershell
Set-AzEventHubAuthorizationRule -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -Name $env.authRule2 -Rights @("Manage", "Send", "Listen")
 
 (Rights is of type AccessRights[])
```
#### After
```powershell
Set-AzEventHubAuthorizationRule -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -Name $env.authRule2 -Rights @("Manage", "Send", "Listen")
 
 (Rights is of type System.String[])
```


### `Set-AzEventHubNamespace`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'
  - `-PublicNetworkAccess`
    - The parameter : 'PublicNetworkAccess' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'

#### Before
```powershell
Set-AzEventHubNamespace -ResourceGroupName $env.resourceGroup -Name $env.namespaceV4  -IdentityType SystemAssigned -PublicNetworkAccess Disabled

( IdentityType is of type ManagedServiceIdentityType),
(PublicNetworkAccess is of type PublicNetworkAccess)
```
#### After
```powershell
Set-AzEventHubNamespace -ResourceGroupName $env.resourceGroup -Name $env.namespaceV4  -IdentityType SystemAssigned -PublicNetworkAccess Disabled

( IdentityType is of type String),
(PublicNetworkAccess is of type String)
```


### `Set-AzEventHubNamespaceV2`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'
  - `-PublicNetworkAccess`
    - The parameter : 'PublicNetworkAccess' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'

#### Before
```powershell
Set-AzEventHubNamespaceV2 -ResourceGroupName $env.resourceGroup -Name $env.namespaceV4  -IdentityType SystemAssigned -PublicNetworkAccess Disabled

( IdentityType is of type ManagedServiceIdentityType),
(PublicNetworkAccess is of type PublicNetworkAccess)
```
#### After
```powershell
Set-AzEventHubNamespaceV2 -ResourceGroupName $env.resourceGroup -Name $env.namespaceV4  -IdentityType SystemAssigned -PublicNetworkAccess Disabled

( IdentityType is of type String),
(PublicNetworkAccess is of type String)
```


### `Set-AzEventHubNetworkRuleSet`

- Parameter breaking-change will happen to all parameter sets
  - `-DefaultAction`
    - The parameter : 'DefaultAction' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'
  - `-PublicNetworkAccess`
    - The parameter : 'PublicNetworkAccess' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '5.0.0'

#### Before
```powershell
Set-AzEventHubNetworkRuleSet -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -PublicNetworkAccess Disabled -DefaultAction deny

 ( DefaultAction is of type DefaultAction),
 ( PublicNetworkAccess is of type PublicNetworkAccess)
```
#### After
```powershell
Set-AzEventHubNetworkRuleSet -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -PublicNetworkAccess Disabled -DefaultAction deny

 ( DefaultAction is of type String),
 ( PublicNetworkAccess is of type String)
```


## Az.KeyVault

### `Add-AzKeyVaultKey`

- Parameter breaking-change will happen to all parameter sets
  - `-UseDefaultCVMPolicy`
    - The offline fallback policy will be removed. Key creation will fail if unable to get regional default CVM SKR policy from MAA Service Discovery API.
    - This change is expected to take effect from Az.KeyVault version: 6.0.0 and Az version: 12.0.0

### `Invoke-AzKeyVaultKeyOperation`
Remove parameter Value from Invoke-AzKeyVaultKeyOperation and property Result from the output type PSKeyOperationResult

#### Before
```powershell
$encryptedData = Invoke-AzKeyVaultKeyOperation -Operation Encrypt -Algorithm RSA1_5 -VaultName test-kv -Name test-key -Value (ConvertTo-SecureString -String "test" -AsPlainText -Force)
```
#### After
```powershell
"$plainText = ""test""
$byteArray = [system.Text.Encoding]::UTF8.GetBytes($plainText)
$encryptedData = Invoke-AzKeyVaultKeyOperation -Operation Encrypt -Algorithm RSA1_5 -VaultName test-kv -Name test-key -ByteArrayValue $byteArray"
```


### `New-AzKeyVault`
Replaced parameter EnableRbacAuthorization by DisableRbacAuthorization in New-AzKeyVault and Update-AzKeyVault, RbacAuthorization will be enabled by default

#### Before
```powershell
New-AzKeyVault -VaultName 'Contoso03Vault' -ResourceGroupName 'Group14' -Location 'East US' -DisableRbacAuthorization 
```
#### After
```powershell
New-AzKeyVault -VaultName 'Contoso03Vault' -ResourceGroupName 'Group14' -Location 'East US' 
```


### `Update-AzKeyVault`
Replaced parameter EnableRbacAuthorization by DisableRbacAuthorization in Update-AzKeyVault

#### Before
```powershell
Get-AzKeyVault -VaultName $keyVaultName -ResourceGroupName $resourceGroupName | Update-AzKeyVault -EnableRbacAuthorization $true
```
#### After
```powershell
Get-AzKeyVault -VaultName $keyVaultName -ResourceGroupName $resourceGroupName | Update-AzKeyVault -DisableRbacAuthorization $false
```


## Az.RecoveryServices

### `Get-AzRecoveryServicesAsrVaultContext`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.RecoveryServices.SiteRecovery.ASRVaultSettings' is changing
  - The following properties in the output type are being deprecated : 'ResouceType'
  - The following properties are being added to the output type : 'ResourceType'
  - This change is expected to take effect from Az.RecoveryServices version: 7.0.0 and Az version: 12.0.0

#### Before
```powershell
$VaultSettings = Get-AzRecoveryServicesAsrVaultContext
$ResourceType = $VaultSettings.ResouceType
```
#### After
```powershell
$VaultSettings = Get-AzRecoveryServicesAsrVaultContext
$ResourceType = $VaultSettings.ResourceType
```


### `Import-AzRecoveryServicesAsrVaultSettingsFile`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.RecoveryServices.SiteRecovery.ASRVaultSettings' is changing
  - The following properties in the output type are being deprecated : 'ResouceType'
  - The following properties are being added to the output type : 'ResourceType'
  - This change is expected to take effect from Az.RecoveryServices version: 7.0.0 and Az version: 12.0.0

#### Before
```powershell
$VaultSettings = Import-AzRecoveryServicesAsrVaultSettingsFile -Path $FilePath
$ResourceType = $VaultSettings.ResouceType
```
#### After
```powershell
$VaultSettings = Import-AzRecoveryServicesAsrVaultSettingsFile -Path $FilePath
$ResourceType = $VaultSettings.ResourceType
```


### `Set-AzRecoveryServicesAsrVaultContext`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.RecoveryServices.SiteRecovery.ASRVaultSettings' is changing
  - The following properties in the output type are being deprecated : 'ResouceType'
  - The following properties are being added to the output type : 'ResourceType'
  - This change is expected to take effect from Az.RecoveryServices version: 7.0.0 and Az version: 12.0.0

#### Before
```powershell
$vaultSettings = Set-AzRecoveryServicesAsrVaultContext -Vault $RecoveryServicesVault
$ResourceType = $VaultSettings.ResouceType
```
#### After
```powershell
$vaultSettings = Set-AzRecoveryServicesAsrVaultContext -Vault $RecoveryServicesVault
$ResourceType = $VaultSettings.ResourceType
```


## Az.Resources

### `Get-AzPolicyAssignment`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyAssignment' is changing
  - The following properties in the output type are being deprecated : 'Properties'
  - The following properties are being added to the output type : 'Description' 'DisplayName' 'EnforcementMode' 'Metadata' 'NonComplianceMessages' 'NotScopes' 'Parameters' 'PolicyDefinitionId' 'Scope'
  - This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0

#### Before
```powershell
$policyAssignment = Get-AzPolicyAssignment -Name MyAssignment
$description = $policyAssignment.Properties.Description

```
#### After
```powershell
$policyAssignment = Get-AzPolicyAssignment -Name MyAssignment
$description = $policyAssignment.Description

Compatible option:
$policyAssignment = Get-AzPolicyAssignment -Name MyAssignment -BackwardCompatible
$description = $policyAssignment.Properties.Description

```


### `Get-AzPolicyDefinition`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyDefinition' is changing
  - The following properties in the output type are being deprecated : 'Properties'
  - The following properties are being added to the output type : 'Description' 'DisplayName' 'Metadata' 'Mode' 'Parameters' 'PolicyRule' 'PolicyType'
  - This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0

#### Before
```powershell
$policyDefinition = Get-AzPolicyDefinition -Builtin | select -First 1
$policyRule = $policyDefinition.Properties.PolicyRule


```
#### After
```powershell
$policyDefinition = Get-AzPolicyDefinition -Builtin | select -First 1
$policyRule = $policyDefinition.PolicyRule

Compatible option:
$policyDefinition = Get-AzPolicyDefinition -Builtin -BackwardCompatible | select -First 1
$policyRule = $policyDefinition.Properties.PolicyRule

```


### `Get-AzPolicyExemption`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyExemption' is changing
  - The following properties in the output type are being deprecated : 'Properties'
  - The following properties are being added to the output type : 'Description' 'DisplayName' 'ExemptionCategory' 'ExpiresOn' 'Metadata' 'PolicyAssignmentId' 'PolicyDefinitionReferenceIds'
  - This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0

#### Before
```powershell
$policyExemption = Get-AzPolicyExemption -Scope /providers/Microsoft.Management/managementGroups/myManagementGroup -Name MyExemption
$expiresOn = $policyExemption.Properties.ExpiresOn

```
#### After
```powershell
$policyExemption = Get-AzPolicyExemption -Scope /providers/Microsoft.Management/managementGroups/myManagementGroup -Name MyExemption
$expiresOn = $policyExemption.ExpiresOn

Compatible option:
$policyExemption = Get-AzPolicyExemption -Scope /providers/Microsoft.Management/managementGroups/myManagementGroup -Name MyExemption -BackwardCompatible
$expiresOn = $policyExemption.Properties.ExpiresOn

```


### `Get-AzPolicySetDefinition`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicySetDefinition' is changing
  - The following properties in the output type are being deprecated : 'Properties'
  - The following properties are being added to the output type : 'Description' 'DisplayName' 'Metadata' 'Parameter' 'PolicyDefinitionGroup' 'PolicyDefinition' 'PolicyType'
  - This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0

#### Before
```powershell
$policySetDefinition = Get-AzPolicySetDefinition -Builtin | select -First 1
$policySetParameters = $policySetDefinition.Properties.Parameters

```
#### After
```powershell
$policySetDefinition = Get-AzPolicySetDefinition -Builtin | select -First 1
$policySetParameters = $policySetDefinition.Parameter

Compatible option:
$policySetDefinition = Get-AzPolicySetDefinition -Builtin -BackwardCompatible | select -First 1
$policySetParameters = $policySetDefinition.Properties.Parameters

```


### `New-AzPolicyAssignment`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyAssignment' is changing
  - The following properties in the output type are being deprecated : 'Properties'
  - The following properties are being added to the output type : 'Description' 'DisplayName' 'EnforcementMode' 'Metadata' 'NonComplianceMessages' 'NotScopes' 'Parameters' 'PolicyDefinitionId' 'Scope'
  - This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0

#### Before
```powershell
$policyAssignment = New-AzPolicyAssignment -Name MyAssignment -PolicyDefinition MyPolicyDefinition
$enforcementMode = $policyAssignment.Properties.EnforcementMode

```
#### After
```powershell
$policyAssignment = New-AzPolicyAssignment -Name MyAssignment -PolicyDefinition MyPolicyDefinition
$enforcementMode = $policyAssignment.EnforcementMode

Compatible option:
$policyAssignment = New-AzPolicyAssignment -Name MyAssignment -PolicyDefinition MyPolicyDefinition -BackwardCompatible
$enforcementMode = $policyAssignment.Properties.EnforcementMode

```


### `New-AzPolicyDefinition`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyDefinition' is changing
  - The following properties in the output type are being deprecated : 'Properties'
  - The following properties are being added to the output type : 'Description' 'DisplayName' 'Metadata' 'Mode' 'Parameters' 'PolicyRule' 'PolicyType'
  - This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0

#### Before
```powershell
$policyRule = '{ "if": { "field": "type", "like": "Microsoft.DesktopVirtualization/*" }, "then": { "effect": "deny" } }'
$policyDefinition = New-AzPolicyDefinition -Name MyDefinition -Policy $policyRule
$policyType = $policyDefinition.Properties.PolicyType


```
#### After
```powershell
$policyRule = '{ "if": { "field": "type", "like": "Microsoft.DesktopVirtualization/*" }, "then": { "effect": "deny" } }'
$policyDefinition = New-AzPolicyDefinition -Name MyDefinition -Policy $policyRule
$policyType = $policyDefinition.PolicyType

Compatible option:
$policyDefinition = New-AzPolicyDefinition -Name MyDefinition -Policy $policyRule -BackwardCompatible
$policyType = $policyDefinition.Properties.PolicyType


```


### `New-AzPolicyExemption`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyExemption' is changing
  - The following properties in the output type are being deprecated : 'Properties'
  - The following properties are being added to the output type : 'Description' 'DisplayName' 'ExemptionCategory' 'ExpiresOn' 'Metadata' 'PolicyAssignmentId' 'PolicyDefinitionReferenceIds'
  - This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0

#### Before
```powershell
$policyExemption = Get-AzPolicyAssignment -Name MyAssignment | New-AzPolicyExemption -Name MyExemption -ExemptionCategory Mitigated
$policyDefinitionId = $policyExemption.Properties.PolicyAssignmentId


```
#### After
```powershell
$policyExemption = Get-AzPolicyAssignment -Name MyAssignment | New-AzPolicyExemption -Name MyExemption -ExemptionCategory Mitigated
$policyDefinitionId = $policyExemption.PolicyAssignmentId

Compatible option:
$policyExemption = Get-AzPolicyAssignment -Name MyAssignment | New-AzPolicyExemption -Name MyExemption -ExemptionCategory Mitigated -BackwardCompatible
$policyDefinitionId = $policyExemption.Properties.PolicyAssignmentId

```


### `New-AzPolicySetDefinition`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicySetDefinition' is changing
  - The following properties in the output type are being deprecated : 'Properties'
  - The following properties are being added to the output type : 'Description' 'DisplayName' 'Metadata' 'Parameters' 'PolicyDefinitionGroups' 'PolicyDefinitions' 'PolicyType'
  - This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0

#### Before
```powershell
$policyDefinitionReferences = ('[{ "policyDefinitionId": "' + (Get-AzPolicyDefinition -Name MyDefinition).ResourceId + '"}]')
$policySetDefinition = New-AzPolicySetDefinition -Name MySetDefinition -PolicyDefinition $policyDefinitionReferences
$policyDefinitionReferenceId = $policySetDefinition.Properties.PolicyDefinitions[0].policyDefinitionReferenceId


```
#### After
```powershell
$policyDefinitionReferences = ('[{ "policyDefinitionId": "' + (Get-AzPolicyDefinition -Name MyDefinition).ResourceId + '"}]')
$policySetDefinition = New-AzPolicySetDefinition -Name MySetDefinition -PolicyDefinition $policyDefinitionReferences
$policyDefinitionReferenceId = $policySetDefinition.PolicyDefinition[0].policyDefinitionReferenceId

Compatible option:
$policySetDefinition = New-AzPolicySetDefinition -Name MySetDefinition -PolicyDefinition $policyDefinitionReferences 
$policyDefinitionReferenceId = $policySetDefinition.Properties.PolicyDefinitions[0].policyDefinitionReferenceId

```


### `Set-AzPolicyAssignment`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyAssignment' is changing
  - The following properties in the output type are being deprecated : 'Properties'
  - The following properties are being added to the output type : 'Description' 'DisplayName' 'EnforcementMode' 'Metadata' 'NonComplianceMessages' 'NotScopes' 'Parameters' 'PolicyDefinitionId' 'Scope'
  - This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0

#### Before
```powershell
$policyAssignment = Set-AzPolicyAssignment -Name MyAssignment -DisplayName 'My cool assignment'
$displayName = $policyAssignment.Properties.DisplayName


```
#### After
```powershell
$policyAssignment = Update-AzPolicyAssignment -Name MyAssignment -DisplayName 'My cool assignment'
$displayName = $policyAssignment.DisplayName

Compatible option:
$policyAssignment = Set-AzPolicyAssignment -Name MyAssignment -DisplayName 'My cool assignment' -BackwardCompatible
$displayName = $policyAssignment.Properties.DisplayName


```


### `Set-AzPolicyDefinition`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyDefinition' is changing
  - The following properties in the output type are being deprecated : 'Properties'
  - The following properties are being added to the output type : 'Description' 'DisplayName' 'Metadata' 'Mode' 'Parameters' 'PolicyRule' 'PolicyType'
  - This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0

#### Before
```powershell
$policyDefinition = Set-AzPolicyDefinition -Name MyDefinition -Description 'A much better policy definition'
$description = $policyDefinition.Properties.Description


```
#### After
```powershell
$policyDefinition = Update-AzPolicyDefinition -Name MyDefinition -Description 'A much better policy definition'
$description = $policyDefinition.Description

Compatible option:
$policyDefinition = Set-AzPolicyDefinition -Name MyDefinition -Description 'A much better policy definition' -BackwardCompatible
$description = $policyDefinition.Properties.Description

```


### `Set-AzPolicyExemption`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyExemption' is changing
  - The following properties in the output type are being deprecated : 'Properties'
  - The following properties are being added to the output type : 'Description' 'DisplayName' 'ExemptionCategory' 'ExpiresOn' 'Metadata' 'PolicyAssignmentId' 'PolicyDefinitionReferenceIds'
  - This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0

#### Before
```powershell
$policyExemption = Set-AzPolicyExemption -Name MyExemption -ExemptionCategory Waiver
$exemptionCategory = $policyExemption.Properties.ExemptionCategory


```
#### After
```powershell
$policyExemption = Update-AzPolicyExemption -Name MyExemption -ExemptionCategory Waiver
$exemptionCategory = $policyExemption.ExemptionCategory

Compatible option:
$policyExemption = Update-AzPolicyExemption -Name MyExemption -ExemptionCategory Waiver -BackwardCompatible
$exemptionCategory = $policyExemption.Properties.ExemptionCategory


```


### `Set-AzPolicySetDefinition`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicySetDefinition' is changing
  - The following properties in the output type are being deprecated : 'Properties'
  - The following properties are being added to the output type : 'Description' 'DisplayName' 'Metadata' 'Parameters' 'PolicyDefinitionGroups' 'PolicyDefinitions' 'PolicyType'
  - This change is expected to take effect from Az.Resources version: 7.1.0 and Az version: 12.0.0

#### Before
```powershell
$policySetDefinition = Set-AzPolicySetDefinition -Name MySetDefinition -Metadata '{ "MyThing": "A really good thing" }'
$myThing = $policySetDefinition.Properties.Metadata.MyThing


```
#### After
```powershell
$policySetDefinition = Update-AzPolicySetDefinition -Name MySetDefinition -Metadata '{ "MyThing": "A really good thing" }'
$myThing = $policySetDefinition.Metadata.MyThing

Compatible option:
$policySetDefinition = Set-AzPolicySetDefinition -Name MySetDefinition -Metadata '{ "MyThing": "A really good thing" }' -BackwardCompatible
$myThing = $policySetDefinition.Properties.Metadata.MyThing


```


## Az.ServiceBus

### `New-AzServiceBusAuthorizationRule`

- Parameter breaking-change will happen to all parameter sets
  - `-Rights`
    - The parameter : 'Rights' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'

#### Before
```powershell
New-AzServiceBusAuthorizationRule -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -Name $env.authRule2 -Rights @("Manage", "Send", "Listen")
 
 (Rights is of type AccessRights[])
```
#### After
```powershell
New-AzServiceBusAuthorizationRule -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -Name $env.authRule2 -Rights @("Manage", "Send", "Listen")
 
 (Rights is of type System.String[])
```


### `New-AzServiceBusIPRuleConfig`

- Parameter breaking-change will happen to all parameter sets
  - `-Action`
    - The parameter : 'Action' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'

#### Before
```powershell
(Action is of type NetworkRuleIPAction )
```
#### After
```powershell
(Action is of type String )
```


### `New-AzServiceBusKey`

- Parameter breaking-change will happen to all parameter sets
  - `-KeyType`
    - The parameter : 'KeyType' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'

#### Before
```powershell
New-AzServiceBusKey -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -Name $env.authRule -KeyType PrimaryKey

(KeyType is of type KeyType)
```
#### After
```powershell
New-AzServiceBusKey -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -Name $env.authRule -KeyType PrimaryKey

(KeyType is of type String)
```


### `New-AzServiceBusNamespace`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'
  - `-PublicNetworkAccess`
    - The parameter : 'PublicNetworkAccess' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'
  - `-SkuName`
    - The parameter : 'SkuName' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'

#### Before
```powershell
New-ServiceBusNamespace -ResourceGroupName $env.resourceGroup -Name $env.namespaceV4 -SkuName Premium -Location eastus -IdentityType SystemAssigned -PublicNetworkAccess Disabled

( IdentityType is ManagedServiceIdentityType),
(PublicNetworkAccess is of type PublicNetworkAccess),
( SkuName is of type SkuName)
```
#### After
```powershell
New-ServiceBusNamespace -ResourceGroupName $env.resourceGroup -Name $env.namespaceV4 -SkuName Premium -Location eastus -IdentityType SystemAssigned -PublicNetworkAccess Disabled

( IdentityType is String),
(PublicNetworkAccess is of type String),
( SkuName is of type String)
```


### `New-AzServiceBusNamespaceV2`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'
  - `-PublicNetworkAccess`
    - The parameter : 'PublicNetworkAccess' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'
  - `-SkuName`
    - The parameter : 'SkuName' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'

#### Before
```powershell
New-ServiceBusNamespaceV2 -ResourceGroupName $env.resourceGroup -Name $env.namespaceV4 -SkuName Premium -Location eastus -IdentityType SystemAssigned -PublicNetworkAccess Disabled

( IdentityType is ManagedServiceIdentityType),
(PublicNetworkAccess is of type PublicNetworkAccess),
( SkuName is of type SkuName)
```
#### After
```powershell
New-ServiceBusNamespaceV2 -ResourceGroupName $env.resourceGroup -Name $env.namespaceV4 -SkuName Premium -Location eastus -IdentityType SystemAssigned -PublicNetworkAccess Disabled

( IdentityType is String),
(PublicNetworkAccess is of type String),
( SkuName is of type String)
```


### `New-AzServiceBusQueue`

- Parameter breaking-change will happen to all parameter sets
  - `-Status`
    - The parameter : 'Status' is changing.
    The type of the parameter is changing from 'EntityStatus' to 'String'.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'

#### Before
```powershell
(Status is of type EntityStatus)
```
#### After
```powershell
(Status is of type String)
```


### `New-AzServiceBusSubscription`

- Parameter breaking-change will happen to all parameter sets
  - `-Status`
    - The parameter : 'Status' is changing.
    The type of the parameter is changing from 'EntityStatus' to 'String'.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'

#### Before
```powershell
(Status is of type EntityStatus)
```
#### After
```powershell
(Status is of type String)
```


### `New-AzServiceBusTopic`

- Parameter breaking-change will happen to all parameter sets
  - `-Status`
    - The parameter : 'Status' is changing.
    The type of the parameter is changing from 'EntityStatus' to 'String'.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'

#### Before
```powershell
(Status is of type EntityStatus)
```
#### After
```powershell
(Status is of type String)
```


### `Set-AzServiceBusAuthorizationRule`

- Parameter breaking-change will happen to all parameter sets
  - `-Rights`
    - The parameter : 'Rights' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'

#### Before
```powershell
Set-AzServiceBusAuthorizationRule -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -Name $env.authRule2 -Rights @("Manage", "Send", "Listen")
 
 (Rights is of type AccessRights[])
```
#### After
```powershell
Set-AzServiceBusAuthorizationRule -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -Name $env.authRule2 -Rights @("Manage", "Send", "Listen")
 
 (Rights is of type System.String[])
```


### `Set-AzServiceBusNamespace`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'
  - `-PublicNetworkAccess`
    - The parameter : 'PublicNetworkAccess' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'
  - `-SkuName`
    - The parameter : 'SkuName' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'

#### Before
```powershell
Set-AzServiceBusNamespace -ResourceGroupName $env.resourceGroup -Name $env.namespaceV4  -IdentityType SystemAssigned -PublicNetworkAccess Disabled

( IdentityType is of type ManagedServiceIdentityType),
(PublicNetworkAccess is of type PublicNetworkAccess),
 (SkuName is of type SkuName) 
```
#### After
```powershell
Set-AzServiceBusNamespace -ResourceGroupName $env.resourceGroup -Name $env.namespaceV4  -IdentityType SystemAssigned -PublicNetworkAccess Disabled

( IdentityType is of type String),
(PublicNetworkAccess is of type String),
 (SkuName is of type String) 
```


### `Set-AzServiceBusNamespaceV2`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'
  - `-PublicNetworkAccess`
    - The parameter : 'PublicNetworkAccess' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'
  - `-SkuName`
    - The parameter : 'SkuName' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'

#### Before
```powershell
Set-AzServiceBusNamespaceV2 -ResourceGroupName $env.resourceGroup -Name $env.namespaceV4  -IdentityType SystemAssigned -PublicNetworkAccess Disabled

( IdentityType is of type ManagedServiceIdentityType),
(PublicNetworkAccess is of type PublicNetworkAccess),
 (SkuName is of type SkuName) 
```
#### After
```powershell
Set-AzServiceBusNamespaceV2 -ResourceGroupName $env.resourceGroup -Name $env.namespaceV4  -IdentityType SystemAssigned -PublicNetworkAccess Disabled

( IdentityType is of type String),
(PublicNetworkAccess is of type String),
 (SkuName is of type String) 
```


### `Set-AzServiceBusNetworkRuleSet`

- Parameter breaking-change will happen to all parameter sets
  - `-DefaultAction`
    - The parameter : 'DefaultAction' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'
  - `-PublicNetworkAccess`
    - The parameter : 'PublicNetworkAccess' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'

#### Before
```powershell
Set-AzServiceBusNetworkRuleSet -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -PublicNetworkAccess Disabled -DefaultAction deny

 ( DefaultAction is of type DefaultAction),
 ( PublicNetworkAccess is of type PublicNetworkAccess)
```
#### After
```powershell
Set-AzServiceBusNetworkRuleSet -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -PublicNetworkAccess Disabled -DefaultAction deny

 ( DefaultAction is of type String),
 ( PublicNetworkAccess is of type String)
```


### `Set-AzServiceBusQueue`

- Parameter breaking-change will happen to all parameter sets
  - `-Status`
    - The parameter : 'Status' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'

#### Before
```powershell
(Status is of type EntityStatus)
```
#### After
```powershell
(Status is of type String.)
```


### `Set-AzServiceBusRule`

- Parameter breaking-change will happen to all parameter sets
  - `-FilterType`
    - The parameter : 'FilterType' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'

#### Before
```powershell
Set-AzServiceBusRule -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -TopicName topic1 -SubscriptionName subscription1 -Name sqlRule2 -FilterType SqlFilter -SqlExpression x=y

( FilterType is of type FilterType)
```
#### After
```powershell
Set-AzServiceBusRule -ResourceGroupName $env.resourceGroup -NamespaceName $env.namespace -TopicName topic1 -SubscriptionName subscription1 -Name sqlRule2 -FilterType SqlFilter -SqlExpression x=y

( FilterType is of type String)
```


### `Set-AzServiceBusSubscription`

- Parameter breaking-change will happen to all parameter sets
  - `-Status`
    - The parameter : 'Status' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'

#### Before
```powershell
(Status is of type EntityStatus)
```
#### After
```powershell
(Status is of type String)
```


### `Set-AzServiceBusTopic`

- Parameter breaking-change will happen to all parameter sets
  - `-Status`
    - The parameter : 'Status' is changing.
    - This change will take effect on '5/21/2024'- The change is expected to take effect from Az version : '12.0.0'
    - The change is expected to take effect from version : '4.0.0'

#### Before
```powershell
(Status is of type EntityStatus)
```
#### After
```powershell
(Status is of type String)
```


## Az.Sql

### `New-AzSqlDatabaseFailoverGroup`

- Cmdlet breaking-change will happen to all parameter sets
  - The default value of FailoverPolicy will change from Automatic to Manual
  - This change is expected to take effect from Az.Sql version: 5.0.0 and Az version: 12.0.0

#### Before
```powershell
New-AzSqlDatabaseFailoverGroup -ServerName example-primary-server -ResourceGroupName example-rg -PartnerServerName example-secondary-server -FailoverGroupName example-fg     (FailoverPolicy defaults to Automatic)
```
#### After
```powershell
New-AzSqlDatabaseFailoverGroup -ServerName example-primary-server -ResourceGroupName example-rg -PartnerServerName example-secondary-server -FailoverGroupName example-fg     (FailoverPolicy defaults to Manual)
```


### `Set-AzSqlDatabaseFailoverGroup`

- Cmdlet breaking-change will happen to all parameter sets
  - The default value of FailoverPolicy will change from Automatic to Manual
  - This change is expected to take effect from Az.Sql version: 5.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-Help Set-AzSqlDatabaseFailoverGroup -Parameter FailoverPolicy (Output shows default value = Automatic)
```
#### After
```powershell
Get-Help Set-AzSqlDatabaseFailoverGroup -Parameter FailoverPolicy (Output shows default value = Manual)
```


## Az.Storage

### `Get-AzStorageQueue`

- Cmdlet breaking-change will happen to all parameter sets
  - The child property CloudQueue and EncodeMessage from deprecated v11 SDK will be removed. Use child property QueueClient instead of CloudQueue.
  - This change is expected to take effect from Az.Storage version: 7.0.0 and Az version: 12.0.0

#### Before
```powershell
PS C:\WINDOWS\system32> $queue = Get-AzStorageQueue -Context $ctx-Name myqueue
PS C:\WINDOWS\system32> $queue | fl

CloudQueue              : Microsoft.Azure.Storage.Queue.CloudQueue
Uri                     : https://mystorageaccount.queue.core.windows.net/myqueue
ApproximateMessageCount : 0
EncodeMessage           : True
QueueClient             : Azure.Storage.Queues.QueueClient
QueueProperties         : Azure.Storage.Queues.Models.QueueProperties
Context                 : Microsoft.WindowsAzure.Commands.Storage.AzureStorageContext
Name                    : myqueue

PS C:\WINDOWS\system32> $queueMessage = [Microsoft.Azure.Storage.Queue.CloudQueueMessage]::new("This is message 1")
PS C:\WINDOWS\system32> $queue.CloudQueue.AddMessageAsync($queueMessage)
```
#### After
```powershell
PS C:\WINDOWS\system32> $queue = Get-AzStorageQueue -Context $ctx-Name myqueue
PS C:\WINDOWS\system32> $queue | fl

QueueClient             : Azure.Storage.Queues.QueueClient
Uri                     : https://mystorageaccount.queue.core.windows.net/myqueue
ApproximateMessageCount : 0
QueueProperties         : Azure.Storage.Queues.Models.QueueProperties
Context                 : Microsoft.WindowsAzure.Commands.Storage.AzureStorageContext
Name                    : myqueue

PS C:\WINDOWS\system32> $queueMessage = "This is message 1"
PS C:\WINDOWS\system32> $queue.QueueClient.SendMessage($queueMessage)
```


### `New-AzStorageQueue`

- Cmdlet breaking-change will happen to all parameter sets
  - The child property CloudQueue and EncodeMessage from deprecated v11 SDK will be removed. Use child property QueueClient instead of CloudQueue.
  - This change is expected to take effect from Az.Storage version: 7.0.0 and Az version: 12.0.0

#### Before
```powershell
PS C:\WINDOWS\system32> $queue = New-AzStorageQueue -Name myqueue -Context $ctx
PS C:\WINDOWS\system32> $queue | fl

CloudQueue              : Microsoft.Azure.Storage.Queue.CloudQueue
Uri                     : https://mystorageaccount.queue.core.windows.net/myqueue
ApproximateMessageCount : 0
EncodeMessage           : True
QueueClient             : Azure.Storage.Queues.QueueClient
QueueProperties         : Azure.Storage.Queues.Models.QueueProperties
Context                 :
Name                    : myqueue
```
#### After
```powershell
PS C:\WINDOWS\system32> $queue = New-AzStorageQueue -Name myqueue -Context $ctx
PS C:\WINDOWS\system32> $queue | fl


QueueClient             : Azure.Storage.Queues.QueueClient
Uri                     : https://mystorageaccount.queue.core.windows.net/myqueue
ApproximateMessageCount : 0
QueueProperties         : Azure.Storage.Queues.Models.QueueProperties
Context                 : Microsoft.WindowsAzure.Commands.Storage.AzureStorageContext
Name                    : myqueue
```


### `New-AzStorageQueueSASToken`

- Parameter breaking-change will happen to all parameter sets
  - `-Protocol`
    - The type of parameter Protocol will be changed from SharedAccessProtocol to string.
    - This change is expected to take effect from Az.Storage version: 7.0.0 and Az version: 12.0.0

#### Before
```powershell
New-AzStorageQueueSASToken -Name testq1 -Permission ruap -Protocol HttpsOnly -Context $ctx
(The parameter Protocol is of type SharedAccessProtocol)
```
#### After
```powershell
New-AzStorageQueueSASToken -Name testq1 -Permission ruap -Protocol HttpsOnly -Context $ctx
(The parameter Protocol is of type string)
```


### `Set-AzStorageAccount`

- Parameter breaking-change will happen to all parameter sets
  - `-UpgradeToStorageV2`
    - A prompt that needs users' confirmation will be added when upgrading a storage account from StorageV1 or BlobStorage to StorageV2. Suppress it with -Force.
    - This change is expected to take effect from Az.Storage version: 7.0.0 and Az version: 12.0.0

#### Before
```powershell
No prompt when upgrading to StorageV2:
Set-AzStorageAccount -ResourceGroupName $rgname -Name $stoname -UpgradeToStorageV2
```
#### After
```powershell
Add -Force to skip the prompt when upgrading to StorageV2 
Set-AzStorageAccount -ResourceGroupName $rgname -Name $stoname -UpgradeToStorageV2 -Force
```


### `Set-AzStorageFileContent`

- Parameter breaking-change will happen to all parameter sets
  - `-Path`
    - When uploading using SAS token without Read permission, the destination path will be taken as a file path, instead of a directory path previously.
    - This change is expected to take effect from Az.Storage version: 7.0.0 and Az version: 12.0.0

#### Before
```powershell
When uploading Azure File using SAS token without Read permission, the Path parameter will be taken as parent directory path, and will take source file name as destination file name.

$ctxsas = New-AzStorageContext -StorageAccountName $accountName  -SasToken $writeOnlySasToken
Set-AzStorageFileContent -ShareName $sharename -Path dir1/dir2 -Source C:\temp\test.txt -Context $ctxsas 
```
#### After
```powershell
When uploading Azure File using SAS token without Read permission, the Path parameter need be whole path of destination file, include file name

$ctxsas = New-AzStorageContext -StorageAccountName $accountName  -SasToken $writeOnlySasToken
Set-AzStorageFileContent -ShareName $sharename -Path dir1/dir2/test.txt -Source C:\temp\test.txt -Context $ctxsas 
```


## Az.Support

### `Get-AzSupportProblemClassification`

- Cmdlet breaking-change will happen to all parameter sets
  - Piping of Get-AzSupportProblemClassification with a service object will no longer be supported for list. Get via piping will still be supported.
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0

- Parameter breaking-change will happen to all parameter sets
  - `-Id`
    - Parameter name 'Id' will be changed to 'Name'.
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-ServiceId`
    - Parameter name 'ServiceId' will be changed to 'ServiceName'.
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-AzSupportProblemClassification -ServiceId b452a42b-3779-64de-532c-8a32738357a6 -Id 3400570d-442f-a892-48e2-ff4ad710b38f
```
#### After
```powershell
Get-AzSupportProblemClassification -ServiceName b452a42b-3779-64de-532c-8a32738357a6 -Name 3400570d-442f-a892-48e2-ff4ad710b38f
```


### `Get-AzSupportService`

- Cmdlet breaking-change will happen to all parameter sets
  - Output property name 'ResourceTypes' will be changed to 'ResourceType'.
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0

- Parameter breaking-change will happen to all parameter sets
  - `-Id`
    - Parameter name 'Id' will be changed to 'Name'.
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
"Get-AzSupportService -Id b452a42b-3779-64de-532c-8a32738357a6

Id            : /providers/Microsoft.Support/services/b452a42b-3779-64de-532c-8a32738357a6
Name          : b452a42b-3779-64de-532c-8a32738357a6
Type          : Microsoft.Support/services
DisplayName   : Web App (Linux)
ResourceTypes : {MICROSOFT.WEB/SITES}"
```
#### After
```powershell
Get-AzSupportService -Name b452a42b-3779-64de-532c-8a32738357a6

DisplayName       : Web App (Linux)
Id                : /providers/Microsoft.Support/services/b452a42b-3779-64de-532c-8a32738357a6
Name              : b452a42b-3779-64de-532c-8a32738357a6
ResourceGroupName :
ResourceType      : {MICROSOFT.WEB/SITES}
Type              : Microsoft.Support/services
```


### `Get-AzSupportTicket`

- Cmdlet breaking-change will happen to all parameter sets
  - Input parameter 'Skip' will be removed
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - Input parameter 'IncludeTotalCount' will be removed
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - Parameter 'First' will be renamed to 'Top'
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - The child output property ContactDetail will be deprecated. Use properties ContactDetailAdditionalEmailAddress,ContactDetailCountry, ContactDetailFirstName, ContactDetailLastName, ContactDetailPhoneNumber, ContactDetailPreferredContactMethod, ContactDetailPreferredSupportLanguage, ContactDetailPreferredTimeZone, and ContactDetailPrimaryEmailAddress instead
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - The child output property SupportEngineer will be deprecated. Use property SupportEngineerEmailAddress instead
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - The child output property QuotaTicketDetail will be deprecated. Use properties QuotaTicketDetailQuotaChangeRequest,QuotaTicketDetailQuotaChangeRequestSubType, QuotaTicketDetailQuotaChangeRequestVersion instead
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - The output property TechnicalTicketResourceId will be changed to TechnicalTicketDetailResourceId
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - If no parameters are specified, Get-AzSupportTicket will return support tickets from the last week be default
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0

#### Before
```
/* Detailed source-code truncated for AI context efficiency. */
```
#### After
```
/* Detailed source-code truncated for AI context efficiency. */
```


### `Get-AzSupportTicketCommunication`

- Cmdlet breaking-change will happen to all parameter sets
  - The cmdlet Get-AzSupportTicketCommunication will be renamed to Get-AzSupportCommunication
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - Input parameter 'Skip' will be removed
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - Input parameter 'IncludeTotalCount' will be removed
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - Parameter 'First' will be renamed to 'Top'
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - Piping of Get-AzSupportTicketCommunication with a support ticket object will no longer be supported for list. Get via piping will still be supported.
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
Get-AzSupportTicketCommunication -SupportTicketName 48cf91d7-69575ec1-65697697-e20c-4bfc-bc46-b69f0ef6d0a0 -First 5
```
#### After
```powershell
Get-AzSupportCommunication -SupportTicketName 48cf91d7-69575ec1-65697697-e20c-4bfc-bc46-b69f0ef6d0a0 -Top 5
```


### `New-AzSupportContactProfileObject`

- Cmdlet breaking-change will happen to all parameter sets
  - The cmdlet is being deprecated. There will be no replacement for it.
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0

### `New-AzSupportTicket`

- Cmdlet breaking-change will happen to all parameter sets
  - New parameter 'ServiceId' will be required
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - New parameter 'AdvancedDiagnosticConsent' will be required
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - The child output property ContactDetail will be deprecated. Use properties ContactDetailAdditionalEmailAddress,ContactDetailCountry, ContactDetailFirstName, ContactDetailLastName, ContactDetailPhoneNumber, ContactDetailPreferredContactMethod, ContactDetailPreferredSupportLanguage, ContactDetailPreferredTimeZone, and ContactDetailPrimaryEmailAddress instead
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - The child output property SupportEngineer will be deprecated. Use property SupportEngineerEmailAddress instead
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - The child output property QuotaTicketDetail will be deprecated. Use properties QuotaTicketDetailQuotaChangeRequest,QuotaTicketDetailQuotaChangeRequestSubType, QuotaTicketDetailQuotaChangeRequestVersion instead
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - The output property TechnicalTicketResourceId will be changed to TechnicalTicketDetailResourceId
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0

- Parameter breaking-change will happen to all parameter sets
  - `-AdditionalEmailAddress`
    - Parameter 'AdditionalEmailAddress' will be renamed to 'ContactDetailAdditionalEmailAddress'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-CSPHomeTenantId`
    - Parameter 'CSPHomeTenantId' will be removed.
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-CustomerContactDetail`
    - CustomerContactDetail will be removed. Use new parameters ContactDetailCountry, ContactDetailFirstName, ContactDetailLastName,ContactDetailPhoneNumber, ContactDetailPreferredSupportLanguage, ContactDetailPreferredTimeZone, ContactDetailPrimaryEmailAddress, ContactDetailPreferredContactMethod instead.
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-CustomerCountry`
    - Parameter 'CustomerCountry' will be renamed to 'ContactDetailCountry'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-CustomerFirstName`
    - Parameter 'CustomerFirstName' will be renamed to 'ContactDetailFirstName'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-CustomerLastName`
    - Parameter 'CustomerLastName' will be renamed to 'ContactDetailLastName'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-CustomerPhoneNumber`
    - Parameter 'CustomerPhoneNumber' will be renamed to 'ContactDetailPhoneNumber'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-CustomerPreferredSupportLanguage`
    - Parameter 'CustomerPreferredSupportLanguage' will be renamed to 'ContactDetailPreferredSupportLanguage'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-CustomerPreferredTimeZone`
    - Parameter 'CustomerPreferredTimeZone' will be renamed to 'ContactDetailPreferredTimeZone'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-CustomerPrimaryEmailAddress`
    - Parameter 'CustomerPrimaryEmailAddress' will be renamed to 'ContactDetailPrimaryEmailAddress'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-PreferredContactMethod`
    - Parameter 'PreferredContactMethod' will be renamed to 'ContactDetailPreferredContactMethod'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-QuotaTicketDetail`
    - Parameter QuotaTicketDetail will be removed. Use new parameters QuotaTicketDetailQuotaChangeRequest, QuotaTicketDetailQuotaChangeRequestSubType, QuotaTicketDetailQuotaChangeRequestVersion instead.
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-TechnicalTicketResourceId`
    - Parameter 'TechnicalTicketResourceId' will be renamed to 'TechnicalTicketDetailResourceId'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0

#### Before
```
/* Detailed source-code truncated for AI context efficiency. */
```
#### After
```
/* Detailed source-code truncated for AI context efficiency. */
```


### `New-AzSupportTicketCommunication`

- Cmdlet breaking-change will happen to all parameter sets
  - The cmdlet New-AzSupportTicketCommunication will be renamed to New-AzSupportCommunication
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - Piping of New-AzSupportTicketCommunication with a support ticket object will no longer be supported.
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0

#### Before
```powershell
New-AzSupportTicketCommunication -SupportTicketName 48cf91d7-69575ec1-65697697-e20c-4bfc-bc46-b69f0ef6d0a0 -Name "testcomm1" -Subject "test" -Body "test"
```
#### After
```powershell
New-AzSupportCommunication -SupportTicketName 48cf91d7-69575ec1-65697697-e20c-4bfc-bc46-b69f0ef6d0a0 -Name "testcomm1" -Subject "test" -Body "test"
```


### `Update-AzSupportTicket`

- Cmdlet breaking-change will happen to all parameter sets
  - The child output property ContactDetail will be deprecated. Use properties ContactDetailAdditionalEmailAddress,ContactDetailCountry, ContactDetailFirstName, ContactDetailLastName, ContactDetailPhoneNumber, ContactDetailPreferredContactMethod, ContactDetailPreferredSupportLanguage, ContactDetailPreferredTimeZone, and ContactDetailPrimaryEmailAddress instead
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - The child output property SupportEngineer will be deprecated. Use property SupportEngineerEmailAddress instead
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - The child output property QuotaTicketDetail will be deprecated. Use properties QuotaTicketDetailQuotaChangeRequest,QuotaTicketDetailQuotaChangeRequestSubType, QuotaTicketDetailQuotaChangeRequestVersion instead
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - The output property TechnicalTicketResourceId will be changed to TechnicalTicketDetailResourceId
  - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0

- Parameter breaking-change will happen to all parameter sets
  - `-AdditionalEmailAddress`
    - Parameter 'AdditionalEmailAddress' will be renamed to 'ContactDetailAdditionalEmailAddress'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-CustomerContactDetail`
    - CustomerContactDetail will be removed. Use new parameters ContactDetailCountry, ContactDetailFirstName, ContactDetailLastName,ContactDetailPhoneNumber, ContactDetailPreferredSupportLanguage, ContactDetailPreferredTimeZone, ContactDetailPrimaryEmailAddress, ContactDetailPreferredContactMethod instead.
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-CustomerCountry`
    - Parameter 'CustomerCountry' will be renamed to 'ContactDetailCountry'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-CustomerFirstName`
    - Parameter 'CustomerFirstName' will be renamed to 'ContactDetailFirstName'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-CustomerLastName`
    - Parameter 'CustomerLastName' will be renamed to 'ContactDetailLastName'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-CustomerPhoneNumber`
    - Parameter 'CustomerPhoneNumber' will be renamed to 'ContactDetailPhoneNumber'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-CustomerPreferredSupportLanguage`
    - Parameter 'CustomerPreferredSupportLanguage' will be renamed to 'ContactDetailPreferredSupportLanguage'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-CustomerPreferredTimeZone`
    - Parameter 'CustomerPreferredTimeZone' will be renamed to 'ContactDetailPreferredTimeZone'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-CustomerPrimaryEmailAddress`
    - Parameter 'CustomerPrimaryEmailAddress' will be renamed to 'ContactDetailPrimaryEmailAddress'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0
  - `-PreferredContactMethod`
    - Parameter 'PreferredContactMethod' will be renamed to 'ContactDetailPreferredContactMethod'
    - This change is expected to take effect from Az.Support version: 2.0.0 and Az version: 12.0.0

#### Before
```
/* Detailed source-code truncated for AI context efficiency. */
```
#### After
```
/* Detailed source-code truncated for AI context efficiency. */
```

---

### Documentation Migration Guides Az.13.0.0 Migration Guide (`documentation/migration-guides/Az.13.0.0-migration-guide.md`)

# Migration Guide for Az 13.0.0

## Az.Accounts

### `Resolve-AzError`

- Cmdlet breaking-change will happen to all parameter sets
  - The alias 'Resolve-Error' will be removed. Please use 'Resolve-AzError' instead.
  - This change is expected to take effect from Az.Accounts version: 4.0.0 and Az version: 13.0.0


#### Before
```powershell
Resolve-Error
```
#### After
```powershell
Resolve-AzError
```


## Az.App

### `New-AzContainerApp`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - Change description : IdentityType will be removed. EnableSystemAssignedIdentity will be used to enable/disable system assigned identity and UserAssignedIdentity will be used to specify user assigned identities. 
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'
  - `-IdentityUserAssignedIdentity`
    - The parameter : 'IdentityUserAssignedIdentity' is changing.
    The type of the parameter is changing from 'Hashtable' to 'string[]'.
    - Change description : IdentityUserAssignedIdentity will be renamed to UserAssignedIdentity. And its type will be simplified as string array. 
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'


#### Before
```powershell
New-AzContainerApp -Name "azps-containerapp" -ResourceGroupName "azps_test_group_app" -Location "eastus" -Configuration $configuration -TemplateContainer $temp -TemplateInitContainer $temp2 -TemplateServiceBind $serviceBind -EnvironmentId $EnvId -IdentityType "SystemAssigned, UserAssigned" -IdentityUserAssignedIdentity @{"/subscriptions/11111111-1111-1111-1111-111111111111/resourcegroups/myGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuai"=@{};}
```
#### After
```powershell
New-AzContainerApp -Name "azps-containerapp" -ResourceGroupName "azps_test_group_app" -Location "eastus" -Configuration $configuration -TemplateContainer $temp -TemplateInitContainer $temp2 -TemplateServiceBind $serviceBind -EnvironmentId $EnvId -EnableSystemAssignedIdentity $true -UserAssignedIdentity @("/subscriptions/11111111-1111-1111-1111-111111111111/resourcegroups/myGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuai")
```


### `New-AzContainerAppJob`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - Change description : IdentityType will be removed. EnableSystemAssignedIdentity will be used to enable/disable system assigned identity and UserAssignedIdentity will be used to specify user assigned identities. 
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'
  - `-IdentityUserAssignedIdentity`
    - The parameter : 'IdentityUserAssignedIdentity' is changing.
    The type of the parameter is changing from 'Hashtable' to 'string[]'.
    - Change description : IdentityUserAssignedIdentity will be renamed to UserAssignedIdentity. And its type will be simplified as string array. 
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'


#### Before
```powershell
New-AzContainerAppJob -Name azps-app-job -ResourceGroupName azps_test_group_app -Location eastus -ConfigurationReplicaRetryLimit 10 -ConfigurationReplicaTimeout 10 -ConfigurationTriggerType Manual -EnvironmentId $EnvId -ManualTriggerConfigParallelism 4 -ManualTriggerConfigReplicaCompletionCount 1 -TemplateContainer $temp -IdentityType "SystemAssigned, UserAssigned" -IdentityUserAssignedIdentity @{"/subscriptions/11111111-1111-1111-1111-111111111111/resourcegroups/myGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuai"=@{};}
```
#### After
```powershell
New-AzContainerAppJob -Name azps-app-job -ResourceGroupName azps_test_group_app -Location eastus -ConfigurationReplicaRetryLimit 10 -ConfigurationReplicaTimeout 10 -ConfigurationTriggerType Manual -EnvironmentId $EnvId -ManualTriggerConfigParallelism 4 -ManualTriggerConfigReplicaCompletionCount 1 -TemplateContainer $temp -EnableSystemAssignedIdentity $true -UserAssignedIdentity @("/subscriptions/11111111-1111-1111-1111-111111111111/resourcegroups/myGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuai")
```


### `Update-AzContainerApp`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - Change description : IdentityType will be removed. EnableSystemAssignedIdentity will be used to enable/disable system assigned identity and UserAssignedIdentity will be used to specify user assigned identities. 
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'
  - `-IdentityUserAssignedIdentity`
    - The parameter : 'IdentityUserAssignedIdentity' is changing.
    The type of the parameter is changing from 'Hashtable' to 'string[]'.
    - Change description : IdentityUserAssignedIdentity will be renamed to UserAssignedIdentity. And its type will be simplified as string array. 
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'


#### Before
```powershell
Update-AzContainerApp -ContainerAppName azps-containerapp -ResourceGroupName azps_test_group_app -Configuration $configuration -Tag @{"123"="abc"} -IdentityType "SystemAssigned, UserAssigned" -IdentityUserAssignedIdentity @{"/subscriptions/11111111-1111-1111-1111-111111111111/resourcegroups/myGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuai"=@{};}
```
#### After
```powershell
Update-AzContainerApp -ContainerAppName azps-containerapp -ResourceGroupName azps_test_group_app -Configuration $configuration -Tag @{"123"="abc"} -EnableSystemAssignedIdentity $true -UserAssignedIdentity @("/subscriptions/11111111-1111-1111-1111-111111111111/resourcegroups/myGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuai")
```


### `Update-AzContainerAppJob`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - Change description : IdentityType will be removed. EnableSystemAssignedIdentity will be used to enable/disable system assigned identity and UserAssignedIdentity will be used to specify user assigned identities. 
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'
  - `-IdentityUserAssignedIdentity`
    - The parameter : 'IdentityUserAssignedIdentity' is changing.
    The type of the parameter is changing from 'Hashtable' to 'string[]'.
    - Change description : IdentityUserAssignedIdentity will be renamed to UserAssignedIdentity. And its type will be simplified as string array. 
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'


#### Before
```powershell
Update-AzContainerAppJob -Name azps-app-job -ResourceGroupName azps_test_group_app -ConfigurationReplicaRetryLimit 10 -ConfigurationReplicaTimeout 10 -ConfigurationTriggerType Manual -EnvironmentId $EnvId -ManualTriggerConfigParallelism 4 -ManualTriggerConfigReplicaCompletionCount 1 -TemplateContainer $temp -IdentityType "SystemAssigned, UserAssigned" -IdentityUserAssignedIdentity @{"/subscriptions/11111111-1111-1111-1111-111111111111/resourcegroups/myGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuai"=@{};}
```
#### After
```powershell
Update-AzContainerAppJob -Name azps-app-job -ResourceGroupName azps_test_group_app -ConfigurationReplicaRetryLimit 10 -ConfigurationReplicaTimeout 10 -ConfigurationTriggerType Manual -EnvironmentId $EnvId -ManualTriggerConfigParallelism 4 -ManualTriggerConfigReplicaCompletionCount 1 -TemplateContainer $temp -EnableSystemAssignedIdentity $true -UserAssignedIdentity @("/subscriptions/11111111-1111-1111-1111-111111111111/resourcegroups/myGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuai")
```


## Az.Compute

### `New-AzVM`
- Parameter breaking-change will happen to parameter set SimpleParameterSet and DiskFileParameterSet
  - Default value of `-PublicIpSku` will be Standard if customer doesn't specify this parameter.

#### Before
```powershell
Default value of `-PublicIpSku` was Basic if it is not specified
```
#### After
```powershell
Default value of `-PublicIpSku` will be Standard if it is not specified
```


## Az.DevCenter

### `Get-AzDevCenterUserDevBox`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'DevBox' to the new type :'DevBox'
  - The following properties in the output type are being deprecated : 'Detail' 'ProvisioningState' 'HardwareProfileSkuName'
  - The following properties are being added to the output type : 'Detail' 'ProvisioningState' 'HardwareProfileSkuName'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'


#### Before

- Detail is type CloudErrorBody. CloudErrorBody uses a `List<ICloudErrorBody>` for the Detail property.

- Example output for Details:
```powershell
Code       : ResourceNotFound
Message    : The specified resource does not exist.
Target     : resourceName
Detail     : {@{Code=InvalidResourceName; Message=The resource name is invalid.; Target=resourceName}, @{Code=ResourceGroupNotFound; Message=The specified resource group does not exist.; Target=resourceGroupName}}
```
- ProvisioningState is type System.String
- HardwareProfileSKuName is type System.String
#### After
- Detail is type AzureCoreFoundationsError. Innererror property is added for additional error information. AzureCoreFoundationsError uses an array of IAzureCoreFoundationsError for the Detail property.

- Example output for Detail: 
```powershell
Code       : InvalidRequest
Message    : The request is invalid.
Target     : request
Detail     : {@{Code=MissingParameter; Message=A required parameter is missing.; Target=parameterName}, @{Code=InvalidParameter; Message=The parameter value is invalid.; Target=parameterValue}}
Innererror : @{Code=InnerErrorCode; Message=More specific information about the error.}
```

- ProvisioningState is type DevBoxProvisioningState. Possible values will be Creating, Deleting, Failed, InGracePeriod, NotProvisioned, ProvisionedWithWarning, Provisioning, Starting, Stopping, Succeeded, Updating.
- HardwareProfileSKuName is type SkuName. Possible values will be general_a_16c64gb1024ssd_v2, general_a_16c64gb2048ssd_v2, general_a_16c64gb256ssd_v2, general_a_16c64gb512ssd_v2, general_a_32c128gb1024ssd_v2, general_a_32c128gb2048ssd_v2, general_a_32c128gb512ssd_v2, general_a_8c32gb1024ssd_v2, general_a_8c32gb2048ssd_v2, general_a_8c32gb256ssd_v2, general_a_8c32gb512ssd_v2, general_i_16c64gb1024ssd_v2, general_i_16c64gb2048ssd_v2, general_i_16c64gb256ssd_v2, general_i_16c64gb512ssd_v2, general_i_32c128gb1024ssd_v2, general_i_32c128gb2048ssd_v2, general_i_32c128gb512ssd_v2, general_i_8c32gb1024ssd_v2, general_i_8c32gb2048ssd_v2, general_i_8c32gb256ssd_v2, general_i_8c32gb512ssd_v2


### `Get-AzDevCenterUserDevBoxOperation`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'DevBoxOperation' to the new type :'DevBoxOperation'
  - The following properties in the output type are being deprecated : 'Detail' 'Status'
  - The following properties are being added to the output type : 'Detail' 'Status'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'


#### Before
- Detail is type CloudErrorBody. CloudErrorBody uses a `List<ICloudErrorBody>` for the Detail property.

- Example output for Details:
```powershell
Code       : ResourceNotFound
Message    : The specified resource does not exist.
Target     : resourceName
Detail     : {@{Code=InvalidResourceName; Message=The resource name is invalid.; Target=resourceName}, @{Code=ResourceGroupNotFound; Message=The specified resource group does not exist.; Target=resourceGroupName}}
```

- Status is type DevBoxOperationStatus
#### After
- Detail is type AzureCoreFoundationsError. Innererror property is added for additional error information. AzureCoreFoundationsError uses an array of IAzureCoreFoundationsError for the Detail property.

- Example output for Detail: 
```powershell
Code       : InvalidRequest
Message    : The request is invalid.
Target     : request
Detail     : {@{Code=MissingParameter; Message=A required parameter is missing.; Target=parameterName}, @{Code=InvalidParameter; Message=The parameter value is invalid.; Target=parameterValue}}
Innererror : @{Code=InnerErrorCode; Message=More specific information about the error.}
```

- Status is type OperationState. The possible values are the same (Canceled, Failed, NotStarted, Running, Succeeded). The change is a rename from DevBoxOperationStatus to OperationState.


### `Get-AzDevCenterUserEnvironment`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Environment' to the new type :'Environment'
  - The following properties in the output type are being deprecated : 'Detail' 'ProvisioningState'
  - The following properties are being added to the output type : 'Detail' 'ProvisioningState'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'


#### Before
- Detail is type CloudErrorBody. CloudErrorBody uses a `List<ICloudErrorBody>` for the Detail property.

- Example output for Details:
```powershell
Code       : ResourceNotFound
Message    : The specified resource does not exist.
Target     : resourceName
Detail     : {@{Code=InvalidResourceName; Message=The resource name is invalid.; Target=resourceName}, @{Code=ResourceGroupNotFound; Message=The specified resource group does not exist.; Target=resourceGroupName}}
```

- ProvisioningState is type System.String
#### After
- Detail is type AzureCoreFoundationsError. Innererror property is added for additional error information. AzureCoreFoundationsError uses an array of IAzureCoreFoundationsError for the Detail property.

- Example output for Detail: 
```powershell
Code       : InvalidRequest
Message    : The request is invalid.
Target     : request
Detail     : {@{Code=MissingParameter; Message=A required parameter is missing.; Target=parameterName}, @{Code=InvalidParameter; Message=The parameter value is invalid.; Target=parameterValue}}
Innererror : @{Code=InnerErrorCode; Message=More specific information about the error.}
```

- ProvisioningState is type EnvironmentProvisioningState. Possible values will be Accepted, Canceled, Creating, Deleting, Failed, MovingResources, Preparing, Running, StorageProvisioningFailed, Succeeded, Syncing, TransientFailure, Updating.


### `Get-AzDevCenterUserEnvironmentAction`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'EnvironmentAction' to the new type :'EnvironmentAction'
  - The following properties in the output type are being deprecated : 'NextScheduledTime'
  - The following properties are being added to the output type : 'NextScheduledTime'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'


#### Before
```powershell
NextScheduledTime is type System.DateTime
```
#### After
```powershell
NextScheduledTime is type nullable System.DateTime
```


### `Get-AzDevCenterUserEnvironmentLog`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'boolean' to the new type :'string'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'

- Parameter breaking-change will happen to all parameter sets
  - `-OutFile`
    - The parameter : 'OutFile' is changing.
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'
  - `-PassThru`
    - The parameter : 'PassThru' is changing.
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'


#### Before
```powershell
Output type is Boolean
```
#### After
```powershell
Output type is string representation of logs
Outfile parameter is removed
Passthru parameter is removed
```


### `Get-AzDevCenterUserEnvironmentOperation`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'EnvironmentOperation' to the new type :'EnvironmentOperation'
  - The following properties in the output type are being deprecated : 'Detail' 'EnvironmentParameter' 'Status'
  - The following properties are being added to the output type : 'Detail' 'EnvironmentParameter' 'Status'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'


#### Before
- Detail is type CloudErrorBody. CloudErrorBody uses a `List<ICloudErrorBody>` for the Detail property.

- Example output for Details:
```powershell
Code       : ResourceNotFound
Message    : The specified resource does not exist.
Target     : resourceName
Detail     : {@{Code=InvalidResourceName; Message=The resource name is invalid.; Target=resourceName}, @{Code=ResourceGroupNotFound; Message=The specified resource group does not exist.; Target=resourceGroupName}}
```

-Status is type EnvironmentOperationStatus
-EnvironmentParameter is type IAny
#### After
- Detail is type AzureCoreFoundationsError. Innererror property is added for additional error information. AzureCoreFoundationsError uses an array of IAzureCoreFoundationsError for the Detail property.

- Example output for Detail: 
```powershell
Code       : InvalidRequest
Message    : The request is invalid.
Target     : request
Detail     : {@{Code=MissingParameter; Message=A required parameter is missing.; Target=parameterName}, @{Code=InvalidParameter; Message=The parameter value is invalid.; Target=parameterValue}}
Innererror : @{Code=InnerErrorCode; Message=More specific information about the error.}
```

- Status is type OperationState. The possible values are the same (Canceled, Failed, NotStarted, Running, Succeeded). The change is a rename from EnvironmentOperationStatus to OperationState.
-EnvironmentParameter is type EnvironmentOperationEnvironmentParameters. This is serializable to JSON and to function as an associative array (dictionary) of objects




### `Get-AzDevCenterUserPool`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Pool' to the new type :'Pool'
  - The following properties in the output type are being deprecated : 'HardwareProfileSkuName'
  - The following properties are being added to the output type : 'HardwareProfileSkuName'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'


#### Before
```powershell
HardwareProfileSKuName is type System.String
```
#### After
```powershell
HardwareProfileSKuName is type SkuName. Possible values will be general_a_16c64gb1024ssd_v2, general_a_16c64gb2048ssd_v2, general_a_16c64gb256ssd_v2, general_a_16c64gb512ssd_v2, general_a_32c128gb1024ssd_v2, general_a_32c128gb2048ssd_v2, general_a_32c128gb512ssd_v2, general_a_8c32gb1024ssd_v2, general_a_8c32gb2048ssd_v2, general_a_8c32gb256ssd_v2, general_a_8c32gb512ssd_v2, general_i_16c64gb1024ssd_v2, general_i_16c64gb2048ssd_v2, general_i_16c64gb256ssd_v2, general_i_16c64gb512ssd_v2, general_i_32c128gb1024ssd_v2, general_i_32c128gb2048ssd_v2, general_i_32c128gb512ssd_v2, general_i_8c32gb1024ssd_v2, general_i_8c32gb2048ssd_v2, general_i_8c32gb256ssd_v2, general_i_8c32gb512ssd_v2
```


### `Invoke-AzDevCenterUserDelayDevBoxAction`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'DevBoxActionDelayResult' to the new type :'DevBoxActionDelayResult'
  - The following properties in the output type are being deprecated : 'Detail'
  - The following properties are being added to the output type : 'Detail'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'


#### Before
- Detail is type CloudErrorBody. CloudErrorBody uses a `List<ICloudErrorBody>` for the Detail property.

- Example output for Details:
```powershell
Code       : ResourceNotFound
Message    : The specified resource does not exist.
Target     : resourceName
Detail     : {@{Code=InvalidResourceName; Message=The resource name is invalid.; Target=resourceName}, @{Code=ResourceGroupNotFound; Message=The specified resource group does not exist.; Target=resourceGroupName}}
```
#### After
- Detail is type AzureCoreFoundationsError. Innererror property is added for additional error information. AzureCoreFoundationsError uses an array of IAzureCoreFoundationsError for the Detail property.

- Example output for Detail: 
```powershell
Code       : InvalidRequest
Message    : The request is invalid.
Target     : request
Detail     : {@{Code=MissingParameter; Message=A required parameter is missing.; Target=parameterName}, @{Code=InvalidParameter; Message=The parameter value is invalid.; Target=parameterValue}}
Innererror : @{Code=InnerErrorCode; Message=More specific information about the error.}
```



### `Invoke-AzDevCenterUserDelayEnvironmentAction`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'EnvironmentAction' to the new type :'EnvironmentAction'
  - The following properties in the output type are being deprecated : 'NextScheduledTime'
  - The following properties are being added to the output type : 'NextScheduledTime'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'


#### Before
```powershell
NextScheduledTime is type System.DateTime
```
#### After
```powershell
NextScheduledTime is type nullable System.DateTime
```


### `New-AzDevCenterUserDevBox`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'DevBox' to the new type :'DevBox'
  - The following properties in the output type are being deprecated : 'Detail' 'ProvisioningState' 'HardwareProfileSkuName'
  - The following properties are being added to the output type : 'Detail' 'ProvisioningState' 'HardwareProfileSkuName'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'


#### Before

- Detail is type CloudErrorBody. CloudErrorBody uses a `List<ICloudErrorBody>` for the Detail property.

- Example output for Details:
```powershell
Code       : ResourceNotFound
Message    : The specified resource does not exist.
Target     : resourceName
Detail     : {@{Code=InvalidResourceName; Message=The resource name is invalid.; Target=resourceName}, @{Code=ResourceGroupNotFound; Message=The specified resource group does not exist.; Target=resourceGroupName}}
```

- ProvisioningState is type System.String
- HardwareProfileSKuName is type System.String
#### After
- Detail is type AzureCoreFoundationsError. Innererror property is added for additional error information. AzureCoreFoundationsError uses an array of IAzureCoreFoundationsError for the Detail property.

- Example output for Detail: 
```powershell
Code       : InvalidRequest
Message    : The request is invalid.
Target     : request
Detail     : {@{Code=MissingParameter; Message=A required parameter is missing.; Target=parameterName}, @{Code=InvalidParameter; Message=The parameter value is invalid.; Target=parameterValue}}
Innererror : @{Code=InnerErrorCode; Message=More specific information about the error.}
```

- ProvisioningState is type DevBoxProvisioningState. Possible values will be Creating, Deleting, Failed, InGracePeriod, NotProvisioned, ProvisionedWithWarning, Provisioning, Starting, Stopping, Succeeded, Updating.
- HardwareProfileSKuName is type SkuName. Possible values will be general_a_16c64gb1024ssd_v2, general_a_16c64gb2048ssd_v2, general_a_16c64gb256ssd_v2, general_a_16c64gb512ssd_v2, general_a_32c128gb1024ssd_v2, general_a_32c128gb2048ssd_v2, general_a_32c128gb512ssd_v2, general_a_8c32gb1024ssd_v2, general_a_8c32gb2048ssd_v2, general_a_8c32gb256ssd_v2, general_a_8c32gb512ssd_v2, general_i_16c64gb1024ssd_v2, general_i_16c64gb2048ssd_v2, general_i_16c64gb256ssd_v2, general_i_16c64gb512ssd_v2, general_i_32c128gb1024ssd_v2, general_i_32c128gb2048ssd_v2, general_i_32c128gb512ssd_v2, general_i_8c32gb1024ssd_v2, general_i_8c32gb2048ssd_v2, general_i_8c32gb256ssd_v2, general_i_8c32gb512ssd_v2


### `Update-AzDevCenterUserEnvironment`
- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Environment' to the new type :'Environment'
  - The following properties in the output type are being deprecated : 'Detail' 'ProvisioningState'
  - The following properties are being added to the output type : 'Detail' 'ProvisioningState'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'

#### Before
- Detail is type CloudErrorBody. CloudErrorBody uses a `List<ICloudErrorBody>` for the Detail property.

- Example output for Details:
```powershell
Code       : ResourceNotFound
Message    : The specified resource does not exist.
Target     : resourceName
Detail     : {@{Code=InvalidResourceName; Message=The resource name is invalid.; Target=resourceName}, @{Code=ResourceGroupNotFound; Message=The specified resource group does not exist.; Target=resourceGroupName}}
```

- ProvisioningState is type System.String
#### After
- Detail is type AzureCoreFoundationsError. Innererror property is added for additional error information. AzureCoreFoundationsError uses an array of IAzureCoreFoundationsError for the Detail property.

- Example output for Detail: 
```powershell
Code       : InvalidRequest
Message    : The request is invalid.
Target     : request
Detail     : {@{Code=MissingParameter; Message=A required parameter is missing.; Target=parameterName}, @{Code=InvalidParameter; Message=The parameter value is invalid.; Target=parameterValue}}
Innererror : @{Code=InnerErrorCode; Message=More specific information about the error.}
```

- ProvisioningState is type EnvironmentProvisioningState. Possible values will be Accepted, Canceled, Creating, Deleting, Failed, MovingResources, Preparing, Running, StorageProvisioningFailed, Succeeded, Syncing, TransientFailure, Updating.


### `Deploy-AzDevCenterUserEnvironment`
- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'System.Boolean' to the new type :'Environment'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
Output type is Boolean
```
#### After
- Output type is Environment

- Example output:
```powershell
Name                     : myEnvironment
EnvironmentType          : dev
User                     : 00000000-0000-0000-0000-000000000000
ProvisioningState        : Succeeded
CatalogName              : devCatalog
EnvironmentDefinitionName: FunctionApp
```


### `Get-AzDevCenterUserCatalog`
- Cmdlet breaking-change will happen to all parameter sets
  - The output type is  'System.String' is removed. The only output type will be Catalog. 
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
Output type is Boolean
```
#### After
- Output type is Catalog

- Example output:
```powershell
Name: myCatalogName
```


### `New-AzDevCenterUserEnvironment`
- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'System.Boolean' to the new type :'Environment'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
Output type is Boolean
```
#### After
- Output type is Environment

- Example output:
```powershell
Name                     : myEnvironment
EnvironmentType          : dev
User                     : 00000000-0000-0000-0000-000000000000
ProvisioningState        : Succeeded
CatalogName              : devCatalog
EnvironmentDefinitionName: FunctionApp
```


### `Remove-AzDevCenterUserDevBox`
- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'System.Boolean' to the new type :'OperationStatus'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
Output type is Boolean
```
#### After
- Output type is OperationStatus
- Example output: 
```powershell
Code             : ResourceNotFound
Detail           : {@{Code=InvalidResourceName; Message=The resource name is invalid.; Target=resourceName}}
EndTime          : 10/1/2023 12:34:56 PM
Error            : @{Code=ResourceNotFound; Message=The specified resource does not exist.; Target=resourceName; Detail=System.Object[]; Innererror=}
Id               : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleGroup/providers/Microsoft.DevCenter/operationStatuses/operationId
Innererror       : @{Code=InnerErrorCode; Message=More specific information about the error.}
Message          : The specified resource does not exist.
Name             : operationId
OperationLocation: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleGroup/providers/Microsoft.DevCenter/operationStatuses/operationId
PercentComplete  : 100
Property         : @{CustomProperty=CustomValue}
ResourceId       : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleGroup/providers/Microsoft.DevCenter/resources/resourceId
StartTime        : 10/1/2023 12:00:00 PM
Status           : Succeeded
Target           : resourceName
```


### `Remove-AzDevCenterUserEnvironment`
- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'System.Boolean' to the new type :'OperationStatus'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
Output type is Boolean
```
#### After
- Output type is OperationStatus
- Example output: 
```powershell
Code             : ResourceNotFound
Detail           : {@{Code=InvalidResourceName; Message=The resource name is invalid.; Target=resourceName}}
EndTime          : 10/1/2023 12:34:56 PM
Error            : @{Code=ResourceNotFound; Message=The specified resource does not exist.; Target=resourceName; Detail=System.Object[]; Innererror=}
Id               : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleGroup/providers/Microsoft.DevCenter/operationStatuses/operationId
Innererror       : @{Code=InnerErrorCode; Message=More specific information about the error.}
Message          : The specified resource does not exist.
Name             : operationId
OperationLocation: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleGroup/providers/Microsoft.DevCenter/operationStatuses/operationId
PercentComplete  : 100
Property         : @{CustomProperty=CustomValue}
ResourceId       : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleGroup/providers/Microsoft.DevCenter/resources/resourceId
StartTime        : 10/1/2023 12:00:00 PM
Status           : Succeeded
Target           : resourceName
```


### `Repair-AzDevCenterUserDevBox`
- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'System.Boolean' to the new type :'OperationStatus'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
Output type is Boolean
```
#### After
- Output type is OperationStatus
- Example output: 
```powershell
Code             : ResourceNotFound
Detail           : {@{Code=InvalidResourceName; Message=The resource name is invalid.; Target=resourceName}}
EndTime          : 10/1/2023 12:34:56 PM
Error            : @{Code=ResourceNotFound; Message=The specified resource does not exist.; Target=resourceName; Detail=System.Object[]; Innererror=}
Id               : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleGroup/providers/Microsoft.DevCenter/operationStatuses/operationId
Innererror       : @{Code=InnerErrorCode; Message=More specific information about the error.}
Message          : The specified resource does not exist.
Name             : operationId
OperationLocation: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleGroup/providers/Microsoft.DevCenter/operationStatuses/operationId
PercentComplete  : 100
Property         : @{CustomProperty=CustomValue}
ResourceId       : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleGroup/providers/Microsoft.DevCenter/resources/resourceId
StartTime        : 10/1/2023 12:00:00 PM
Status           : Succeeded
Target           : resourceName
```


### `Restart-AzDevCenterUserDevBox`
- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'System.Boolean' to the new type :'OperationStatus'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
Output type is Boolean
```
#### After
- Output type is OperationStatus
- Example output: 
```powershell
Code             : ResourceNotFound
Detail           : {@{Code=InvalidResourceName; Message=The resource name is invalid.; Target=resourceName}}
EndTime          : 10/1/2023 12:34:56 PM
Error            : @{Code=ResourceNotFound; Message=The specified resource does not exist.; Target=resourceName; Detail=System.Object[]; Innererror=}
Id               : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleGroup/providers/Microsoft.DevCenter/operationStatuses/operationId
Innererror       : @{Code=InnerErrorCode; Message=More specific information about the error.}
Message          : The specified resource does not exist.
Name             : operationId
OperationLocation: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleGroup/providers/Microsoft.DevCenter/operationStatuses/operationId
PercentComplete  : 100
Property         : @{CustomProperty=CustomValue}
ResourceId       : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleGroup/providers/Microsoft.DevCenter/resources/resourceId
StartTime        : 10/1/2023 12:00:00 PM
Status           : Succeeded
Target           : resourceName
```


### `Start-AzDevCenterUserDevBox`
- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'System.Boolean' to the new type :'OperationStatus'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
Output type is Boolean
```
#### After
- Output type is OperationStatus
- Example output: 
```powershell
Code             : ResourceNotFound
Detail           : {@{Code=InvalidResourceName; Message=The resource name is invalid.; Target=resourceName}}
EndTime          : 10/1/2023 12:34:56 PM
Error            : @{Code=ResourceNotFound; Message=The specified resource does not exist.; Target=resourceName; Detail=System.Object[]; Innererror=}
Id               : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleGroup/providers/Microsoft.DevCenter/operationStatuses/operationId
Innererror       : @{Code=InnerErrorCode; Message=More specific information about the error.}
Message          : The specified resource does not exist.
Name             : operationId
OperationLocation: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleGroup/providers/Microsoft.DevCenter/operationStatuses/operationId
PercentComplete  : 100
Property         : @{CustomProperty=CustomValue}
ResourceId       : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleGroup/providers/Microsoft.DevCenter/resources/resourceId
StartTime        : 10/1/2023 12:00:00 PM
Status           : Succeeded
Target           : resourceName
```


### `Stop-AzDevCenterUserDevBox`
- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'System.Boolean' to the new type :'OperationStatus'
  - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
  - The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
Output type is Boolean
```
#### After
- Output type is OperationStatus
- Example output: 
```powershell
Code             : ResourceNotFound
Detail           : {@{Code=InvalidResourceName; Message=The resource name is invalid.; Target=resourceName}}
EndTime          : 10/1/2023 12:34:56 PM
Error            : @{Code=ResourceNotFound; Message=The specified resource does not exist.; Target=resourceName; Detail=System.Object[]; Innererror=}
Id               : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleGroup/providers/Microsoft.DevCenter/operationStatuses/operationId
Innererror       : @{Code=InnerErrorCode; Message=More specific information about the error.}
Message          : The specified resource does not exist.
Name             : operationId
OperationLocation: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleGroup/providers/Microsoft.DevCenter/operationStatuses/operationId
PercentComplete  : 100
Property         : @{CustomProperty=CustomValue}
ResourceId       : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/exampleGroup/providers/Microsoft.DevCenter/resources/resourceId
StartTime        : 10/1/2023 12:00:00 PM
Status           : Succeeded
Target           : resourceName
```


## Az.ElasticSan

### `New-AzElasticSanVolumeGroup`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - Change description : IdentityType will be removed. EnableSystemAssignedIdentity will be used to enable/disable system assigned identity and UserAssignedIdentity will be used to specify user assigned identities. 
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'


### `Update-AzElasticSanVolumeGroup`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - Change description : IdentityType will be removed. EnableSystemAssignedIdentity will be used to enable/disable system assigned identity and UserAssignedIdentity will be used to specify user assigned identities. 
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'


## Az.Monitor

### `New-AzDataCollectionEndpoint`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - Change description : IdentityType will be removed. EnableSystemAssignedIdentity will be used to enable/disable system assigned identity and UserAssignedIdentity will be used to specify user assigned identities. 
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'
  - `-IdentityUserAssignedIdentity`
    - The parameter : 'IdentityUserAssignedIdentity' is changing.
    The type of the parameter is changing from 'Hashtable' to 'string[]'.
    - Change description : IdentityUserAssignedIdentity will be renamed to UserAssignedIdentity. And its type will be simplified as string array. 
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'


#### Before
```powershell
New-AzDataCollectionEndpoint -Name myCollectionEndpoint -ResourceGroupName AMCS-TEST -Location eastus -NetworkAclsPublicNetworkAccess Enabled -IdentityType "SystemAssigned, UserAssigned" -IdentityUserAssignedIdentity @{"/subscriptions/11111111-1111-1111-1111-111111111111/resourcegroups/myGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuai"=@{};}
```
#### After
```powershell
New-AzDataCollectionEndpoint -Name myCollectionEndpoint -ResourceGroupName AMCS-TEST -Location eastus -NetworkAclsPublicNetworkAccess Enabled -EnableSystemAssignedIdentity $true -UserAssignedIdentity @("/subscriptions/11111111-1111-1111-1111-111111111111/resourcegroups/myGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuai")
```


### `New-AzDataCollectionRule`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - Change description : IdentityType will be removed. EnableSystemAssignedIdentity will be used to enable/disable system assigned identity and UserAssignedIdentity will be used to specify user assigned identities. 
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'
  - `-IdentityUserAssignedIdentity`
    - The parameter : 'IdentityUserAssignedIdentity' is changing.
    The type of the parameter is changing from 'Hashtable' to 'string[]'.
    - Change description : IdentityUserAssignedIdentity will be renamed to UserAssignedIdentity. And its type will be simplified as string array. 
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'


#### Before
```powershell
New-AzDataCollectionRule -Name myCollectionRule1 -ResourceGroupName AMCS-TEST -Location eastus -DataFlow $dataflow -DataSourcePerformanceCounter $performanceCounter1,$performanceCounter2 -DataSourceWindowsEventLog $windowsEvent -DestinationAzureMonitorMetricName "azureMonitorMetrics-default" -IdentityType "SystemAssigned, UserAssigned" -IdentityUserAssignedIdentity @{"/subscriptions/11111111-1111-1111-1111-111111111111/resourcegroups/myGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuai"=@{};}
```
#### After
```powershell
New-AzDataCollectionRule -Name myCollectionRule1 -ResourceGroupName AMCS-TEST -Location eastus -DataFlow $dataflow -DataSourcePerformanceCounter $performanceCounter1,$performanceCounter2 -DataSourceWindowsEventLog $windowsEvent -DestinationAzureMonitorMetricName "azureMonitorMetrics-default" -EnableSystemAssignedIdentity $true -UserAssignedIdentity @("/subscriptions/11111111-1111-1111-1111-111111111111/resourcegroups/myGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuai")
```


### `Update-AzDataCollectionEndpoint`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - Change description : IdentityType will be removed. EnableSystemAssignedIdentity will be used to enable/disable system assigned identity and UserAssignedIdentity will be used to specify user assigned identities. 
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'
  - `-IdentityUserAssignedIdentity`
    - The parameter : 'IdentityUserAssignedIdentity' is changing.
    The type of the parameter is changing from 'Hashtable' to 'string[]'.
    - Change description : IdentityUserAssignedIdentity will be renamed to UserAssignedIdentity. And its type will be simplified as string array. 
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'


#### Before
```powershell
Update-AzDataCollectionEndpoint -Name myCollectionEndpoint -ResourceGroupName AMCS-TEST -Tag @{"123"="abc"} -IdentityType "SystemAssigned, UserAssigned" -IdentityUserAssignedIdentity @{"/subscriptions/11111111-1111-1111-1111-111111111111/resourcegroups/myGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuai"=@{};}
```
#### After
```powershell
Update-AzDataCollectionEndpoint -Name myCollectionEndpoint -ResourceGroupName AMCS-TEST -Tag @{"123"="abc"} -EnableSystemAssignedIdentity $true -UserAssignedIdentity @("/subscriptions/11111111-1111-1111-1111-111111111111/resourcegroups/myGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuai")
```


### `Update-AzDataCollectionRule`

- Parameter breaking-change will happen to all parameter sets
  - `-IdentityType`
    - The parameter : 'IdentityType' is changing.
    - Change description : IdentityType will be removed. EnableSystemAssignedIdentity will be used to enable/disable system assigned identity and UserAssignedIdentity will be used to specify user assigned identities. 
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'
  - `-IdentityUserAssignedIdentity`
    - The parameter : 'IdentityUserAssignedIdentity' is changing.
    The type of the parameter is changing from 'Hashtable' to 'string[]'.
    - Change description : IdentityUserAssignedIdentity will be renamed to UserAssignedIdentity. And its type will be simplified as string array. 
    - This change will take effect on '11/19/2024'- The change is expected to take effect from Az version : '13.0.0'
    - The change is expected to take effect from version : '2.0.0'


#### Before
```powershell
Update-AzDataCollectionRule -Name myCollectionRule1 -ResourceGroupName Monitor-ActionGroup -DataSourceSyslog $syslog -IdentityType "SystemAssigned, UserAssigned" -IdentityUserAssignedIdentity @{"/subscriptions/11111111-1111-1111-1111-111111111111/resourcegroups/myGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuai"=@{};}
```
#### After
```powershell
Update-AzDataCollectionRule -Name myCollectionRule1 -ResourceGroupName Monitor-ActionGroup -DataSourceSyslog $syslog -EnableSystemAssignedIdentity $true -UserAssignedIdentity @("/subscriptions/11111111-1111-1111-1111-111111111111/resourcegroups/myGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuai")
```


## Az.NetAppFiles

### `Get-AzNetAppFilesBackup`

- Parameter breaking-change will happen to all parameter sets
  - `-AccountBackupName`
    - Parameter is being deprecated without being replaced
    - This change is expected to take effect from Az.NetAppFiles version: 0.16 and Az version: 12
  - `-PoolName`
    - Parameter is being deprecated without being replaced
    - This change is expected to take effect from Az.NetAppFiles version: 0.16 and Az version: 12
  - `-VolumeName`
    - Parameter is being deprecated without being replaced
    - This change is expected to take effect from Az.NetAppFiles version: 0.16 and Az version: 12
  - `-VolumeObject`
    - Parameter is being deprecated without being replaced
    - This change is expected to take effect from Az.NetAppFiles version: 0.16 and Az version: 12


#### Before
```powershell
Get-AzNetAppFilesBackup -ResourceGroupName "MyRG" -AccountName "MyAccount" -PoolName "MyPool" -VolumeName "MyVolume" -Name "MyBackup"
```
#### After
```powershell
Get-AzNetAppFilesBackup -ResourceGroupName "MyRG" -AccountName "MyAccount" -BackupVaultName "MyVault"  -Filter $volumeResourceId
```


### `New-AzNetAppFilesBackup`

- Parameter breaking-change will happen to all parameter sets
  - `-Location`
    - Parameter is being deprecated without being replaced
    - This change is expected to take effect from Az.NetAppFiles version: 0.16 and Az version: 12
  - `-PoolName`
    - Parameter is being deprecated without being replaced
    - This change is expected to take effect from Az.NetAppFiles version: 0.16 and Az version: 12
  - `-VolumeName`
    - Parameter is being deprecated without being replaced
    - This change is expected to take effect from Az.NetAppFiles version: 0.16 and Az version: 12
  - `-VolumeObject`
    - Parameter is being deprecated without being replaced
    - This change is expected to take effect from Az.NetAppFiles version: 0.16 and Az version: 12


#### Before
```powershell
New-AzNetAppFilesBackup -ResourceGroupName "MyRG" -Location "westus2" -AccountName "MyAccount" -PoolName "MyPool" -VolumeName "MyVolume" -Name "MyVolumeBackup" -Label "ALabel"
```
#### After
```powershell
New-AzNetAppFilesBackup -ResourceGroupName "MyRG" -AccountName "MyAccount" -BackupVaultName "MyVault" -Name "MyVolumeBackup" -Label "ALabel" -VolumeResourceId $volumeResourceId 
```


### `Remove-AzNetAppFilesBackup`

- Parameter breaking-change will happen to all parameter sets
  - `-AccountBackupName`
    - Parameter is being deprecated without being replaced
    - This change is expected to take effect from Az.NetAppFiles version: 0.16 and Az version: 12
  - `-PoolName`
    - Parameter is being deprecated without being replaced
    - This change is expected to take effect from Az.NetAppFiles version: 0.16 and Az version: 12
  - `-VolumeName`
    - Parameter is being deprecated without being replaced
    - This change is expected to take effect from Az.NetAppFiles version: 0.16 and Az version: 12
  - `-VolumeObject`
    - Parameter is being deprecated without being replaced
    - This change is expected to take effect from Az.NetAppFiles version: 0.16 and Az version: 12


#### Before
```powershell
Remove-AzNetAppFilesBackup -ResourceGroupName "MyRG" -AccountName "MyAccount" -PoolName "MyPool" -VolumeName "MyVolume" -Name "MyBackup"
```
#### After
```powershell
Remove-AzNetAppFilesBackup -ResourceGroupName "MyRG" -AccountName "MyAccount" -BackupVaultName "MyVault" -Name "MyVolumeBackup"
```


### `Restore-AzNetAppFilesBackupFile`

- Parameter breaking-change will happen to all parameter sets
  - `-PoolName`
    - Parameter is being deprecated without being replaced
    - This change is expected to take effect from Az.NetAppFiles version: 0.16 and Az version: 12
  - `-VolumeName`
    - Parameter is being deprecated without being replaced
    - This change is expected to take effect from Az.NetAppFiles version: 0.16 and Az version: 12
  - `-VolumeObject`
    - Parameter is being deprecated without being replaced
    - This change is expected to take effect from Az.NetAppFiles version: 0.16 and Az version: 12


#### Before
```powershell
Restore-AzNetAppFilesBackupFile -ResourceGroupName "MyRG" -AccountName "MyAccount" -BackupVaultName "MyVault" -BackupName "MyBackup" -FileList $fileList -DestinationVolumeId "destinationVolumeResourceId"
```
#### After
```powershell
Restore-AzNetAppFilesBackupFile -ResourceGroupName "MyRG" -AccountName "MyAccount" -BackupVaultName "MyVault" -BackupName "MyBackup" -FileList $fileList -DestinationVolumeId "destinationVolumeResourceId"
```


### `Update-AzNetAppFilesBackup`

- Parameter breaking-change will happen to all parameter sets
  - `-PoolName`
    - Parameter is being deprecated without being replaced
    - This change is expected to take effect from Az.NetAppFiles version: 0.16 and Az version: 12
  - `-VolumeName`
    - Parameter is being deprecated without being replaced
    - This change is expected to take effect from Az.NetAppFiles version: 0.16 and Az version: 12
  - `-VolumeObject`
    - Parameter is being deprecated without being replaced
    - This change is expected to take effect from Az.NetAppFiles version: 0.16 and Az version: 12


#### Before
```powershell
Update-AzNetAppFilesBackup -ResourceGroupName "MyRG" -AccountName "MyAccount" -Name "BackupName" -Label "updatedLabel"
```
#### After
```powershell
Update-AzNetAppFilesBackup -ResourceGroupName "MyRG" -AccountName "MyAccount" -BackupVaultName "MyVault" -Name "BackupName" -Label "updatedLabel"
```


## Az.Sql

### `Get-AzSqlInstanceLink`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.Sql.ManagedInstanceHybridLink.Model.AzureSqlManagedInstanceLinkModel' is changing
  - The following properties in the output type are being deprecated : 'TargetDatabase' 'PrimaryAvailabilityGroupName' 'SecondaryAvailabilityGroupName' 'SourceEndpoint' 'SourceReplicaId' 'TargetReplicaId' 'LinkState' 'LastHardenedLsn'
  - The following properties are being added to the output type : 'Database' 'DistributedAvailabilityGroupName ' 'InstanceAvailabilityGroupName' 'PartnerAvailabilityGroupName' 'InstanceLinkRole' 'PartnerLinkRole' 'FailoverMode' 'SeedingMode' 'PartnerEndpoint'
  - This change is expected to take effect from Az.Sql version: 6.0.0 and Az version: 13.0.0


#### Before
```powershell
Get-AzSqlInstanceLink -ResourceGroupName "ResourceGroup01" -InstanceName "ManagedInstance01" -Name "Link01"
```
#### After
```powershell
Get-AzSqlInstanceLink -ResourceGroupName "ResourceGroup01" -InstanceName "ManagedInstance01" -Name "Link01"
```


### `New-AzSqlInstanceLink`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.Sql.ManagedInstanceHybridLink.Model.AzureSqlManagedInstanceLinkModel' is changing
  - The following properties in the output type are being deprecated : 'TargetDatabase' 'PrimaryAvailabilityGroupName' 'SecondaryAvailabilityGroupName' 'SourceEndpoint' 'SourceReplicaId' 'TargetReplicaId' 'LinkState' 'LastHardenedLsn'
  - The following properties are being added to the output type : 'Database' 'DistributedAvailabilityGroupName ' 'InstanceAvailabilityGroupName' 'PartnerAvailabilityGroupName' 'InstanceLinkRole' 'PartnerLinkRole' 'FailoverMode' 'SeedingMode' 'PartnerEndpoint'
  - This change is expected to take effect from Az.Sql version: 6.0.0 and Az version: 13.0.0

- Parameter breaking-change will happen to all parameter sets
  - `-PrimaryAvailabilityGroupName`
    - The parameter : 'PrimaryAvailabilityGroupName' is being replaced by parameter : 'PartnerAvailabilityGroupName'.
    - This change is expected to take effect from Az.Sql version: 6.0.0 and Az version: 13.0.0
  - `-SecondaryAvailabilityGroupName`
    - The parameter : 'SecondaryAvailabilityGroupName' is being replaced by parameter : 'InstanceAvailabilityGroupName'.
    - This change is expected to take effect from Az.Sql version: 6.0.0 and Az version: 13.0.0
  - `-SourceEndpoint`
    - The parameter : 'SourceEndpoint' is being replaced by parameter : 'PartnerEndpoint'.
    - This change is expected to take effect from Az.Sql version: 6.0.0 and Az version: 13.0.0
  - `-TargetDatabase`
    - The parameter 'TargetDatabase' is being replaced by parameter 'Database'. The type of new parameter is changing from 'string' to 'string[]'
    - This change is expected to take effect from Az.Sql version: 6.0.0 and Az version: 13.0.0


#### Before
```powershell
New-AzSqlInstanceLink -InstanceObject $instance -Name "Link01" -PrimaryAvailabilityGroupName "Link01PrimaryAG" -SecondaryAvailabilityGroupName "Link01SecondaryAG" -TargetDatabase "Database01" -SourceEndpoint "TCP://SERVER01:5022"
```
#### After
```powershell
New-AzSqlInstanceLink -ResourceGroupName "ResourceGroup01" -InstanceName "ManagedInstance01" -Name "Link01" -Database "Database01" -InstanceAvailabilityGroupName "AG_Database01_MI" -PartnerAvailabilityGroupName "AG_Database01" -InstanceLinkRole "Secondary" -PartnerEndpoint "TCP://SERVER01:5022" -FailoverMode "Manual" -SeedingMode "Automatic"

```


### `Remove-AzSqlInstanceLink`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.Sql.ManagedInstanceHybridLink.Model.AzureSqlManagedInstanceLinkModel' is changing
  - The following properties in the output type are being deprecated : 'TargetDatabase' 'PrimaryAvailabilityGroupName' 'SecondaryAvailabilityGroupName' 'SourceEndpoint' 'SourceReplicaId' 'TargetReplicaId' 'LinkState' 'LastHardenedLsn'
  - The following properties are being added to the output type : 'Database' 'DistributedAvailabilityGroupName ' 'InstanceAvailabilityGroupName' 'PartnerAvailabilityGroupName' 'InstanceLinkRole' 'PartnerLinkRole' 'FailoverMode' 'SeedingMode' 'PartnerEndpoint'
  - This change is expected to take effect from Az.Sql version: 6.0.0 and Az version: 13.0.0


#### Before
```powershell
Remove-AzSqlInstanceLink -ResourceGroupName "ResourceGroup01" -InstanceName "ManagedInstance01" -Name "Link01"
```
#### After
```powershell
Remove-AzSqlInstanceLink -ResourceGroupName "ResourceGroup01" -InstanceName "ManagedInstance01" -Name "Link01"
```


### `Update-AzSqlInstanceLink`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.Sql.ManagedInstanceHybridLink.Model.AzureSqlManagedInstanceLinkModel' is changing
  - The following properties in the output type are being deprecated : 'TargetDatabase' 'PrimaryAvailabilityGroupName' 'SecondaryAvailabilityGroupName' 'SourceEndpoint' 'SourceReplicaId' 'TargetReplicaId' 'LinkState' 'LastHardenedLsn'
  - The following properties are being added to the output type : 'Database' 'DistributedAvailabilityGroupName ' 'InstanceAvailabilityGroupName' 'PartnerAvailabilityGroupName' 'InstanceLinkRole' 'PartnerLinkRole' 'FailoverMode' 'SeedingMode' 'PartnerEndpoint'
  - This change is expected to take effect from Az.Sql version: 6.0.0 and Az version: 13.0.0


#### Before
```powershell
Update-AzSqlInstanceLink -ResourceGroupName "ResourceGroup1" -InstanceName "ManagedInstance01" -Name "Link01" -ReplicationMode "Sync"
```
#### After
```powershell
Update-AzSqlInstanceLink -ResourceGroupName "ResourceGroup1" -InstanceName "ManagedInstance01" -Name "Link01" -ReplicationMode "Sync"
```


## Az.Storage

### `Close-AzStorageFileHandle`

- Parameter breaking-change will happen to all parameter sets
  - `-Directory`
    - The parameter Directory (alias CloudFileDirectory) will be deprecated, and ShareDirectoryClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0
  - `-File`
    - The parameter File (alias CloudFile) will be deprecated, and ShareFileClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0
  - `-Share`
    - The parameter Share (alias CloudFileShare) will be deprecated, and ShareClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
# Pipe in CloudFileShare object to close file handles 
$share = Get-AzStorageShare -ShareName $sharename -Context $ctx
$share.CloudFileShare | Close-AzStorageFileHandle -CloseAll 

# Pipe in CloudFileDirectory to close file handles recursively
$dir = Get-AzStorageFile -ShareName $shareName -Path $dirpath -Context $ctx
$dir.CloudFileDirectory | Close-AzStorageFileHandle -Recursive -CloseAll 

# Pipe in CloudFile object to close file handles 
$file = Get-AzStorageFile -ShareName $shareName -Path $filepath -Context $ctx
$file.CloudFile | Close-AzStorageFileHandle -CloseAll
```
#### After
```powershell
# Pipe in ShareClient object to close file handles 
$share = Get-AzStorageShare -ShareName $sharename -Context $ctx
$share.ShareClient | Close-AzStorageFileHandle -CloseAll -PassThru

# Pipe in ShareDirectoryClient to close file handles recursively
$dir = Get-AzStorageFile -ShareName $shareName -Path $dirpath -Context $ctx
$dir.ShareDirectoryClient | Close-AzStorageFileHandle -Recursive -CloseAll

# Pipe in ShareFileClient to close file handles 
$file = Get-AzStorageFile -ShareName $shareName -Path $filepath -Context $ctx
$file.ShareFileClient | Close-AzStorageFileHandle -CloseAll
```


### `Get-AzStorageFile`

- Cmdlet breaking-change will happen to all parameter sets
  - The child property CloudFile from deprecated v11 SDK will be removed. Use child property ShareFileClient instead.
  - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0
  - The child property CloudFileDirectory from deprecated v11 SDK will be removed. Use child property ShareDirectoryClient instead.
  - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0

- Parameter breaking-change will happen to all parameter sets
  - `-Directory`
    - The parameter Directory (alias CloudFileDirectory) will be deprecated, and ShareDirectoryClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0
  - `-Share`
    - The parameter Share (alias CloudFileShare) will be deprecated, and ShareClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
$dir = Get-AzStorageFile -ShareName $sharename -Path $dirpath -Context $ctx
# Use CloudFileDirectory to access .NET SDK methods 
$dir.CloudFileDirectory.ListFilesAndDirectories()

$file = Get-AzStorageFile -ShareName $sharename -Path $filepath -Context $ctx 
# Use CloudFile to access .NET SDK methods 
$file.CloudFile

$share = Get-AzStorageShare -ShareName $sharename -Context $ctx
Get-AzStorageFile -Share $share.CloudFileShare -Path $filepath

Get-AzStorageFile -Directory $dir.CloudFileDirectory

```
#### After
```powershell
$dir = Get-AzStorageFile -ShareName $sharename -Path $dirpath -Context $ctx
# Use ShareDirectoryClient to access .NET SDK methods 
$dir.ShareDirectoryClient.GetFilesAndDirectories()

$file = Get-AzStorageFile -ShareName testshare1 -Path testfile2 -Context $ctx
# Use ShareFileClient to access .NET SDK methods 
$file.ShareFileClient 

$share = Get-AzStorageShare -ShareName $sharename -Context $ctx
Get-AzStorageFile -ShareClient $share.ShareClient -Path $filepath -Context $ctx

Get-AzStorageFile -ShareDirectoryClient $dir.ShareDirectoryClient -Context $ctx
```


### `Get-AzStorageFileContent`

- Cmdlet breaking-change will happen to all parameter sets
  - The child property CloudFile from deprecated v11 SDK will be removed when -PassThru is specified. Use child property ShareFileClient instead.
  - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0

- Parameter breaking-change will happen to all parameter sets
  - `-Directory`
    - The parameter Directory (alias CloudFileDirectory) will be deprecated, and ShareDirectoryClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0
  - `-File`
    - The parameter File (alias CloudFile) will be deprecated, and ShareFileClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0
  - `-Share`
    - The parameter Share (alias CloudFileShare) will be deprecated, and ShareClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
$file = Get-AzStorageFileContent -ShareName $sharename -Path $filepath -Destination $destpath -Context $ctx -PassThru
# Use CloudFile property to access .NET SDK methods 
$file.CloudFile

# Input CloudFileShare object to download a file 
$share = Get-AzStorageShare -ShareName $sharename -Context $ctx
Get-AzStorageFileContent -Share $share.CloudFileShare -Path $filepath -Destination $destpath

# Input CloudFileDirectory object to download a file 
$dir = Get-AzStorageFile -ShareName $shareName -Path $dirpath -Context $ctx
Get-AzStorageFileContent -Directory $dir.CloudFileDirectory -Path $path

# Input CloudFile object to download a file 
$file = Get-AzStorageFile -ShareName $sharename -Path $filepath -Context $ctx 
Get-AzStorageFileContent -File $file.CloudFile 
```
#### After
```powershell
$file = Get-AzStorageFileContent -ShareName $sharename -Path $filepath -Destination $destpath -Context $ctx -PassThru
# Use ShareFileClient property to access .NET SDK methods 
$file.ShareFileClient

# Input ShareClient object to download a file 
$share = Get-AzStorageShare -ShareName $sharename -Context $ctx
Get-AzStorageFileContent -ShareClient $share.ShareClient -Path $filepath -Destination $destpath -Context $ctx

# Input ShareDirectoryClient to download a file  
$dir = Get-AzStorageFile -ShareName $shareName -Path $dirpath -Context $ctx
Get-AzStorageFileContent -ShareDirectoryClient $dir.ShareDirectoryClient -Path $path -Context $ctx

# Input ShareFileClient object to download a file 
$file = Get-AzStorageFile -ShareName $sharename -Path $filepath -Context $ctx 
Get-AzStorageFileContent -ShareFileClient $file.ShareFileClient  -Context $ctx 
```


### `Get-AzStorageFileCopyState`

- Parameter breaking-change will happen to all parameter sets
  - `-File`
    - The parameter File (alias CloudFile) will be deprecated, and ShareFileClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
# Input CloudFile object to get copy state 
Get-AzStorageFileCopyState -File $file.CloudFile
```
#### After
```powershell
# input ShareFileClient object to get copy state
Get-AzStorageFileCopyState -ShareFileClient $file.ShareFileClient
```


### `Get-AzStorageFileHandle`

- Parameter breaking-change will happen to all parameter sets
  - `-Directory`
    - The parameter Directory (alias CloudFileDirectory) will be deprecated, and ShareDirectoryClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0
  - `-File`
    - The parameter File (alias CloudFile) will be deprecated, and ShareFileClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0
  - `-Share`
    - The parameter Share (alias CloudFileShare) will be deprecated, and ShareClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
$share = Get-AzStorageShare -Name $shareName -Context $ctx
$share.CloudFileShare | Get-AzStorageFileHandle -Recursive

$dir = Get-AzStorageFile -ShareName $shareName -Path $path -Context $ctx
$dir.CloudFileDirectory | Get-AzStorageFileHandle -Recursive

$file = Get-AzStorageFile -ShareName $shareName -Path $filepath -Context $ctx
$file.CloudFile | Get-AzStorageFileHandle -Recursive
```
#### After
```powershell
$share = Get-AzStorageShare -Name $shareName -Context $ctx
$share.ShareClient | Get-AzStorageFileHandle -Recursive

$dir = Get-AzStorageFile -ShareName $shareName -Path $path -Context $ctx
$dir.ShareDirectoryClient | Get-AzStorageFileHandle -Recursive

$file = Get-AzStorageFile -ShareName $shareName -Path $filepath -Context $ctx
$file.ShareFileClient | Get-AzStorageFileHandle -Recursive
```


### `Get-AzStorageShare`

- Cmdlet breaking-change will happen to all parameter sets
  - The child property CloudFileShare from deprecated v11 SDK will be removed. Use child property ShareClient instead.
  - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
$share = Get-AzStorageShare -Name $sharename -Context $ctx
$share.CloudFileShare
```
#### After
```powershell
$share = Get-AzStorageShare -Name $sharename -Context $ctx
$share.ShareClient
```


### `New-AzStorageDirectory`

- Cmdlet breaking-change will happen to all parameter sets
  - The child property CloudFileDirectory from deprecated v11 SDK will be removed. Use child property ShareDirectoryClient instead.
  - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0

- Parameter breaking-change will happen to all parameter sets
  - `-Directory`
    - The parameter Directory (alias CloudFileDirectory) will be deprecated, and ShareDirectoryClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0
  - `-Share`
    - The parameter Share (alias CloudFileShare) will be deprecated, and ShareClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
$dir = New-AzStorageDirectory -ShareName testshare1 -Path $dirpath -Context $ctx 
$dir.CloudFileDirectory

$share = Get-AzStorageShare -Name $sharename -Context $ctx
New-AzStorageDirectory -Share $share.CloudFileShare -Path $dirpath

$dir = Get-AzStorageFile -ShareName $shareName -Path $path -Context $ctx
New-AzStorageDirectory -Directory $dir.CloudFileDirectory -Path $dirpath
```
#### After
```powershell
$dir = New-AzStorageDirectory -ShareName $sharename -Path $dirpath -Context $ctx 
$dir.ShareDirectoryClient

$share = Get-AzStorageShare -Name $sharename -Context $ctx
New-AzStorageDirectory -ShareClient $share.ShareClient -Path $dirpath -Context $ctx 
```


### `New-AzStorageFileSASToken`

- Parameter breaking-change will happen to all parameter sets
  - `-File`
    - The parameter File (alias CloudFile) will be deprecated, and a new mandatory parameter ShareFileClient will be added.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0
  - `-Protocol`
    - The type of parameter Protocol will be changed from SharedAccessProtocol to string.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
$file = Get-AzStorageFile -ShareName $shareName -Path $filepath -Context $ctx

New-AzStorageFileSASToken -File $file.CloudFile -Permission rdwl -Protocol HttpsOnly
```
#### After
```powershell
$file = Get-AzStorageFile -ShareName $shareName -Path $filepath -Context $ctx

New-AzStorageFileSASToken -ShareFileClient $file.ShareFileClient -Permission rdwl -Protocol HttpsOnly
```


### `New-AzStorageShare`

- Cmdlet breaking-change will happen to all parameter sets
  - The child property CloudFileShare from deprecated v11 SDK will be removed. Use child property ShareClient instead.
  - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
$s = New-AzStorageShare -Name $sharename -Context $ctx 

# Use CloudFileShare to access .NET SDK methods 
$s.CloudFileShare
```
#### After
```powershell
$s = New-AzStorageShare -Name $sharename -Context $ctx 

# Use ShareClient to access .NET SDK methods 
$s.ShareClient
```


### `New-AzStorageShareSASToken`

- Parameter breaking-change will happen to all parameter sets
  - `-Protocol`
    - The type of parameter Protocol will be changed from SharedAccessProtocol to string.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
New-AzStorageShareSASToken -ShareName $sharename -Permission rdwl -Protocol HttpsOnly -Context $ctx 
```
#### After
```powershell
New-AzStorageShareSASToken -ShareName $sharename -Permission rdwl -Protocol HttpsOnly -Context $ctx 
```


### `Remove-AzStorageDirectory`

- Cmdlet breaking-change will happen to all parameter sets
  - The child property CloudFileDirectory from deprecated v11 SDK will be removed when -PassThru is specified. Use child property ShareDirectoryClient instead.
  - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0

- Parameter breaking-change will happen to all parameter sets
  - `-Directory`
    - The parameter Directory (alias CloudFileDirectory) will be deprecated, and ShareDirectoryClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0
  - `-Share`
    - The parameter Share (alias CloudFileShare) will be deprecated, and ShareClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
$share = Get-AzStorageShare -Name $sharename -Context $ctx 
Remove-AzStorageDirectory -Share $share.CloudFileShare -Path $dirpath

$dir = Get-AzStorageFile -ShareName $sharename -Path $dirpath -Context $ctx 
Remove-AzStorageDirectory -Directory $dir.CloudFileDirectory 
```
#### After
```powershell
$share = Get-AzStorageShare -Name $sharename -Context $ctx 
Remove-AzStorageDirectory -ShareClient $share.ShareClient -Path $dirpath -Context $ctx

$dir = Get-AzStorageFile -ShareName $sharename -Path $dirpath -Context $ctx 
Remove-AzStorageDirectory -ShareDirectoryClient.ShareDirectoryClient -Context $ctx
```


### `Remove-AzStorageFile`

- Cmdlet breaking-change will happen to all parameter sets
  - The child property CloudFile from deprecated v11 SDK will be removed when -PassThru is specified. Use child property ShareFileClient instead.
  - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0

- Parameter breaking-change will happen to all parameter sets
  - `-Directory`
    - The parameter Directory (alias CloudFileDirectory) will be deprecated, and ShareDirectoryClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0
  - `-File`
    - The parameter File (alias CloudFile) will be deprecated, and ShareFileClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0
  - `-Share`
    - The parameter Share (alias CloudFileShare) will be deprecated, and ShareClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
$f = Remove-AzStorageFile -ShareName $sharename -Path $filepath -Context $ctx -PassThru
$f.CloudFile

$share = Get-AzStorageShare -Name $sharename -Context $ctx 
Remove-AzStorageFile -Share $share.CloudFileShare -Path $filepath

$dir = Get-AzStorageFile -ShareName $sharename -Path $filepath -Context $ctx 
Remove-AzStorageFile -Directory $dir.CloudFileDirectory -Path $filepath

$f = Get-AzStorageFile -ShareName $sharename -Path $filepath -Context $ctx 
Remove-AzStorageFile -File $f.CloudFile
```
#### After
```powershell
$f = Remove-AzStorageFile -ShareName $sharename -Path $filepath -Context $ctx -PassThru
$f.ShareFileClient

$share = Get-AzStorageShare -Name $sharename -Context $ctx 
Remove-AzStorageFile -ShareClient $share.ShareClient -Path $filepath -Context $ctx 

$dir = Get-AzStorageFile -ShareName $sharename -Path $filepath -Context $ctx 
Remove-AzStorageFile -ShareDirectoryClient $dir.ShareDirectoryClient -Path $filepath -Context $ctx 

$f = Get-AzStorageFile -ShareName $sharename -Path $filepath -Context $ctx 
Remove-AzStorageFile -ShareFileClient $f.ShareFileClient -Context $ctx 
```


### `Remove-AzStorageShare`

- Cmdlet breaking-change will happen to all parameter sets
  - The child property CloudFileShare from deprecated v11 SDK will be removed when -PassThru is specified. Use child property ShareClient instead.
  - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0

- Parameter breaking-change will happen to all parameter sets
  - `-Share`
    - The parameter Share (alias CloudFileShare) will be deprecated, and ShareClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
$share = Get-AzStorageShare -Name $sharename -Context $ctx
Remove-AzStorageShare -Share $share.CloudShare
```
#### After
```powershell
$share = Get-AzStorageShare -Name $sharename -Context $ctx
Remove-AzStorageShare -ShareClient $share.ShareClient
```


### `Rename-AzStorageDirectory`

- Cmdlet breaking-change will happen to all parameter sets
  - The child property CloudFileDirectory from deprecated v11 SDK will be removed. Use child property ShareDirectoryClient instead.
  - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
$dir = Rename-AzStorageDirectory -ShareName $sharename -SourcePath $dirpath -DestinationPath $destdir -Context $ctx

$dir.CloudFileDirectory 
```
#### After
```powershell
$dir = Rename-AzStorageDirectory -ShareName $sharename -SourcePath $dirpath -DestinationPath $destdir -Context $ctx

$dir.ShareDirectoryClient
```


### `Rename-AzStorageFile`

- Cmdlet breaking-change will happen to all parameter sets
  - The child property CloudFile from deprecated v11 SDK will be removed. Use child property ShareFileClient instead.
  - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
$file = Rename-AzStorageFile -ShareName $sharename -SourcePath $filename -DestinationPath $destfilename -Context $ctx 
$file.CloudFile
```
#### After
```powershell
$file = Rename-AzStorageFile -ShareName $sharename -SourcePath $filename -DestinationPath $destfilename -Context $ctx 
$file.ShareFileClient
```


### `Set-AzStorageFileContent`

- Cmdlet breaking-change will happen to all parameter sets
  - The child property CloudFile from deprecated v11 SDK will be removed. Use child property ShareFileClient instead.
  - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0

- Parameter breaking-change will happen to all parameter sets
  - `-Directory`
    - The parameter Directory (alias CloudFileDirectory) will be deprecated, and ShareDirectoryClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0
  - `-Share`
    - The parameter Share (alias CloudFileShare) will be deprecated, and ShareClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
$share = Get-AzStorageShare -Name $sharename -Context $ctx
Set-AzStorageFileContent -Share $share.CloudFileShare -Path $filepath -Source $sourcefile

$dir = Get-AzStorageFile -ShareName $sharename -Path $dirpath -Context $ctx 
Set-AzStorageFileContent -Directory $dir.CloudFileDirectory -Path $filepath -Source $sourcefile 

$f = Set-AzStorageFileContent -Directory $dir.CloudFileDirectory -Path $filepath -Source $sourcefile -PassThru
$f.CloudFile
```
#### After
```powershell
$share = Get-AzStorageShare -Name $sharename -Context $ctx
Set-AzStorageFileContent -ShareClient $share.ShareClient -Path $filepath -Source $sourcefile -Context $ctx

$dir = Get-AzStorageFile -ShareName $sharename -Path $dirpath -Context $ctx
Set-AzStorageFileContent -ShareDirectoryClient $dir.ShareDirectoryClient -Path $filepath -Source $sourcefile -Context $ctx

$f = Set-AzStorageFileContent -ShareDirectoryClient $dir.ShareDirectoryClient -Path $filepath -Source $sourcefile -Context $ctx -PassThru
$f.ShareFileClient
```


### `Set-AzStorageShareQuota`

- Cmdlet breaking-change will happen to all parameter sets
  - The child property CloudFileShare from deprecated v11 SDK will be removed. Use child property ShareClient instead.
  - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0

- Parameter breaking-change will happen to all parameter sets
  - `-Share`
    - The parameter Share (alias CloudFileShare) will be deprecated, and a new mandatory parameter ShareClient will be added.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
$share = Set-AzStorageShareQuota -ShareName $sharename -Quota 200 -Context $ctx 
$share.CloudFileShare

$share = Get-AzStorageShare -Name $sharename -Context $ctx
Set-AzStorageShareQuota -Share $share.CloudFileShare -Quota 200
```
#### After
```powershell
$share = Set-AzStorageShareQuota -ShareName $sharename -Quota 200 -Context $ctx 
$share.ShareClient

$share = Get-AzStorageShare -Name $sharename -Context $ctx
Set-AzStorageShareQuota -ShareClient $share.ShareClient -Quota 200 -Context $ctx
```


### `Start-AzStorageFileCopy`

- Cmdlet breaking-change will happen to all parameter sets
  - The child property CloudFile from deprecated v11 SDK will be removed. Use child property ShareFileClient instead.
  - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0

- Parameter breaking-change will happen to all parameter sets
  - `-DestFile`
    - The parameter DestFile will be deprecated. To input a dest file instance, use DestShareFileClient instead.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0
  - `-SrcFile`
    - The type of parameter SrcFile will be changed from CloudFile to ShareFileClient. The alias CloudFile will be deprecated.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0
  - `-SrcShare`
    - The type of parameter SrcShare will be changed from CloudFileShare to ShareClient. The alias CloudFileShare will be deprecated.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
$f1 = Get-AzStorageFile -ShareName $sharename1 -Path $filepath -Context $ctx 
$f2 = Start-AzStorageFileCopy -SrcFile $f1.CloudFile -DestShareName $shareName -DestFilePath $destfilepath -DestContext $ctx

$f2.CloudFile

$fdest = Get-AzStorageFile -ShareName $sharename2 -Path $filepath2 -Context $ctx
Start-AzStorageFileCopy -SrcFile $f1.CloudFile -DestFile $fdest.CloudFile -Force 

$share = Get-AzStorageShare -Name $sharename -Context $ctx
Start-AzStorageFileCopy -SrcShare $s.CloudFileShare -SrcFilePath $srcfilepath -DestShareName $shareName -DestFilePath $destfilepath -DestContext $ctx
```
#### After
```powershell
$f1 = Get-AzStorageFile -ShareName $sharename1 -Path $filepath -Context $ctx 
$f2 = Start-AzStorageFileCopy -SrcFile $f1.ShareFileClient -DestShareName $shareName -DestFilePath $destfilepath -Force -DestContext $ctx

$f2.ShareFileClient

$fdest = Get-AzStorageFile -ShareName $sharename2 -Path $filepath2 -Context $ctx
Start-AzStorageFileCopy -SrcFile $f1.ShareFileClient -DestFile $fdest.ShareFileClient -Force -DestContext $ctx

$share = Get-AzStorageShare -Name $sharename -Context $ctx
Start-AzStorageFileCopy -SrcShare $s.ShareClient -SrcFilePath $srcfilepath -DestShareName $shareName -DestFilePath $destfilepath -Force -DestContext $ctx
```


### `Stop-AzStorageFileCopy`

- Parameter breaking-change will happen to all parameter sets
  - `-File`
    - The parameter File (alias CloudFile) will be deprecated, and ShareFileClient will be mandatory.
    - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0


#### Before
```powershell
$fd = Get-AzStorageFile -ShareName $shareName -Path $filepath -Context $ctx
Stop-AzStorageFileCopy -File $fd.CloudFile -Context $ctx -Force
```
#### After
```powershell
$fd = Get-AzStorageFile -ShareName $shareName -Path $filepath -Context $ctx
Stop-AzStorageFileCopy -ShareFileClient $fd.ShareFileClient -Context $ctx -Force
```


### `Get-AzStorageBlobContent`
- Parameter breaking-change will happen to parameter set UriPipeline
  - When download blob with parameter AbsoluteUri (alias Uri, BlobUri), parameter Context will not be allowed to input together.
  - This change is expected to take effect from Az.Storage version: 8.0.0 and Az version: 13.0.0

#### Before
```powershell
Allow input -Context and -AbsoluteUri together, but Context value actually is not used when execute the cmdlet:
```powershell
Get-AzStorageBlobContent -AbsoluteUri $sasuri -Destination c:\tempfile -Context $ctx
```
```
#### After
```powershell
Get-AzStorageBlobContent -AbsoluteUri $sasuri -Destination c:\tempfile
```

---

### Documentation Migration Guides Az.14.0.0 Migration Guide (`documentation/migration-guides/Az.14.0.0-migration-guide.md`)

# Migration Guide for Az 14.0.0

## Az.Accounts

### `Get-AzAccessToken`

- Cmdlet breaking-change will happen to all parameter sets
  - The default output type is changed from `PSAccessToken` to `PSSecureAccessToken`.That is to change plaintext `PSAccessToken.Token` to `SecureString PSSecureAccessToken.Token`
  - This change is expected to take effect from Az.Accounts version: 5.0.0 and Az version: 14.0.0


#### Before
```powershell
$authHeader = @{
    'Content-Type'  = 'application/json'
    'Authorization' = 'Bearer ' + (Get-AccessToken).Token
}
$response = Invoke-RestMethod -Method Get -Headers $authHeader -Uri $uri
```

#### After
```powershell
$secureToken = (Get-AzAccessToken).Token
$ssPtr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($secureToken)
try {
     $plaintextToken = [System.Runtime.InteropServices.Marshal]::PtrToStringBSTR($ssPtr)
} 
finally {
     [System.Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ssPtr) 
}
$authHeader = @{
    'Content-Type'  = 'application/json'
    'Authorization' = 'Bearer ' + $plaintextToken
}
$response = Invoke-RestMethod -Method Get -Headers $authHeader -Uri $uri
```


## Az.Aks

### `Get-AzAksMaintenanceConfiguration`
- The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.IMaintenanceConfiguration' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IMaintenanceConfiguration'
- The following properties in the output type are being deprecated : 'TimeInWeek Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.ITimeInWeek' 'NotAllowedTime Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.ITimeSpan'
- The following properties are being added to the output type : 'TimeInWeek System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.ITimeInWeek]' 'NotAllowedTime System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.ITimeSpan]'
- Change description : The type of property 'TimeInWeek' of type 'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.IMaintenanceConfiguration' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.ITimeInWeek[]' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.ITimeInWeek]',The type of property 'NotAllowedTime' of type 'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.IMaintenanceConfiguration' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.ITimeSpan' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.ITimeSpan]'
- This change will take effect on '2025-05-19'- The change is expected to take effect from Az version : '14.0.0'
- The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
Get-AzAksMaintenanceConfiguration -ResourceGroupName mygroup -ResourceName myCluster
```

#### After
```powershell
Get-AzAksMaintenanceConfiguration -ResourceGroupName mygroup -ResourceName myCluster
```


### `Get-AzAksManagedClusterOSOption`
- The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.IOSOptionProfile' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IOSOptionProfile'
- The following properties in the output type are being deprecated : 'OSOptionPropertyList Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IOSOptionProperty'
- The following properties are being added to the output type : 'OSOptionPropertyList System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IOSOptionProperty]'
- Change description : The type of property 'OSOptionPropertyList' of type 'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.IOSOptionProfile' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IOSOptionProperty' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IOSOptionProperty]'.
- This change will take effect on '2025-05-19'- The change is expected to take effect from Az version : '14.0.0'
- The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
Get-AzAksManagedClusterOSOption -Location eastus
```

#### After
```powershell
Get-AzAksManagedClusterOSOption -Location eastus
```


### `Get-AzAksManagedClusterOutboundNetworkDependencyEndpoint`
- The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.IOutboundEnvironmentEndpoint' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IOutboundEnvironmentEndpoint'
- The following properties in the output type are being deprecated : 'Endpoint Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IEndpointDependency'
- The following properties are being added to the output type : 'Endpoint System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IEndpointDependency]'
- Change description : The type of property 'Endpoint' of type 'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.IOutboundEnvironmentEndpoint' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IEndpointDependency' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IEndpointDependency]'.
- This change will take effect on '2025-05-19'- The change is expected to take effect from Az version : '14.0.0'
- The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
$result = Get-AzAksManagedClusterOutboundNetworkDependencyEndpoint -ResourceGroupName mygroup -ResourceName mycluster
$result | select Category,Endpoint
```

#### After
```powershell
$result = Get-AzAksManagedClusterOutboundNetworkDependencyEndpoint -ResourceGroupName mygroup -ResourceName mycluster
$result | select Category,Endpoint
```


### `Get-AzAksNodePoolUpgradeProfile`
- The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.IAgentPoolUpgradeProfile' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IAgentPoolUpgradeProfile'
- The following properties in the output type are being deprecated : 'Upgrade Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IAgentPoolUpgradeProfilePropertiesUpgradesItem'
- The following properties are being added to the output type : 'Upgrade System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IAgentPoolUpgradeProfilePropertiesUpgradesItem]'
- Change description : The type of property 'Upgrade' of type 'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.IAgentPoolUpgradeProfile' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IAgentPoolUpgradeProfilePropertiesUpgradesItem' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IAgentPoolUpgradeProfilePropertiesUpgradesItem]'.
- This change will take effect on '2025-05-19'- The change is expected to take effect from Az version : '14.0.0'
- The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
Get-AzAksNodePoolUpgradeProfile -ResourceGroupName group -ClusterName myCluster -AgentPoolName default
```

#### After
```powershell
Get-AzAksNodePoolUpgradeProfile -ResourceGroupName group -ClusterName myCluster -AgentPoolName default
```


### `Get-AzAksUpgradeProfile`
- The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.IManagedClusterUpgradeProfile' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IManagedClusterUpgradeProfile'
- The following properties in the output type are being deprecated : 'AgentPoolProfile Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IManagedClusterPoolUpgradeProfile' 'ControlPlaneProfileUpgrade Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IManagedClusterPoolUpgradeProfileUpgradesItem'
- The following properties are being added to the output type : 'AgentPoolProfile System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IManagedClusterPoolUpgradeProfile]' 'ControlPlaneProfileUpgrade System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IManagedClusterPoolUpgradeProfileUpgradesItem]'
- Change description : The type of property 'AgentPoolProfile' of type 'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.IManagedClusterUpgradeProfile' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IManagedClusterPoolUpgradeProfile' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IManagedClusterPoolUpgradeProfile]'.,The type of property 'ControlPlaneProfileUpgrade' of type 'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.IManagedClusterUpgradeProfile' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IManagedClusterPoolUpgradeProfileUpgradesItem' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IManagedClusterPoolUpgradeProfileUpgradesItem]'.
- This change will take effect on '2025-05-19'- The change is expected to take effect from Az version : '14.0.0'
- The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
Get-AzAksUpgradeProfile -ResourceGroupName group -Name myCluster
```

#### After
```powershell
Get-AzAksUpgradeProfile -ResourceGroupName group -Name myCluster
```


### `Get-AzAksVersion`
- The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20190801.IOrchestratorVersionProfileListResult' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IOrchestratorVersionProfileListResult'
- The following properties in the output type are being deprecated : 'Orchestrator Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IOrchestratorVersionProfile'
- The following properties are being added to the output type : 'Orchestrator System.Collections.Generic.List1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IOrchestratorVersionProfile]'
- This change will take effect on '2025-05-19'- The change is expected to take effect from Az version : '14.0.0'
- The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
Get-AzAksVersion -location eastus
```

#### After
```powershell
Get-AzAksVersion -location eastus
```


### `New-AzAksCluster`

- Cmdlet breaking-change will happen to all parameter sets
  - The default value of -NodeVmSize parameter in New-AzAksCluster and -VmSize parameter in New-AzAksNodePool from 'Standard_D2_V2'  being dynamically selected by the AKS resource provider based on quota and capacity.
  - This change is expected to take effect from Az.Aks version: 7.0.0 and Az version: 14.0.0


#### Before
```powershell
If '-NodeVmSize' is not provided, the default NodeVmSize is ‘Standard_D2_V2’。 
```

#### After
```powershell
If '-NodeVmSize' is not provided, the default NodeVmSize is dynamically selected by the AKS resource provider based on quota and capacity.
```


### `New-AzAksNodePool `

- Cmdlet breaking-change will happen to all parameter sets
  - The default value of -NodeVmSize parameter in New-AzAksCluster and -VmSize parameter in New-AzAksNodePool from 'Standard_D2_V2'  being dynamically selected by the AKS resource provider based on quota and capacity.
  - This change is expected to take effect from Az.Aks version: 7.0.0 and Az version: 14.0.0


#### Before
```powershell
If '-VmSize' is not provided, the default VmSize is ‘Standard_D2_V2’。 
```

#### After
```powershell
If '-VmSize' is not provided, the default VmSize is dynamically selected by the AKS resource provider based on quota and capacity.
```


### `New-AzAksMaintenanceConfiguration`
- The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.IMaintenanceConfiguration' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IMaintenanceConfiguration'
- The following properties in the output type are being deprecated : 'TimeInWeek Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.ITimeInWeek' 'NotAllowedTime Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.ITimeSpan'
- The following properties are being added to the output type : 'TimeInWeek System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.ITimeInWeek]' 'NotAllowedTime System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.ITimeSpan]'
- Change description : The type of property 'TimeInWeek' of type 'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.IMaintenanceConfiguration' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.ITimeInWeek[]' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.ITimeInWeek]',The type of property 'NotAllowedTime' of type 'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.IMaintenanceConfiguration' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.ITimeSpan' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.ITimeSpan]'
- This change will take effect on '2025-05-19'- The change is expected to take effect from Az version : '14.0.0'
- The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
$TimeSpan = New-AzAksTimeSpanObject -Start (Get-Date -Year 2023 -Month 3 -Day 1) -End (Get-Date -Year 2023 -Month 3 -Day 2)
$TimeInWeek = New-AzAksTimeInWeekObject -Day 'Sunday' -HourSlot 1,2
$MaintenanceConfig = New-AzAksMaintenanceConfiguration -ResourceGroupName mygroup -ResourceName myCluster -ConfigName 'aks_maintenance_config' -TimeInWeek $TimeInWeek -NotAllowedTime $TimeSpan
```

#### After
```powershell
$TimeSpan = New-AzAksTimeSpanObject -Start (Get-Date -Year 2023 -Month 3 -Day 1) -End (Get-Date -Year 2023 -Month 3 -Day 2)
$TimeInWeek = New-AzAksTimeInWeekObject -Day Sunday -HourSlot 1,2
$MaintenanceConfig = New-AzAksMaintenanceConfiguration -ResourceGroupName mygroup -ResourceName myCluster -ConfigName 'aks_maintenance_config' -TimeInWeek $TimeInWeek -NotAllowedTime $TimeSpan
```


## Az.AppConfiguration

### `Get-AzAppConfigurationStore`
- The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Models.Api20220501.IConfigurationStore' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Models.IConfigurationStore'
- The following properties in the output type are being deprecated : 'PrivateEndpointConnection Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Models.IPrivateEndpointConnectionReference'
- The following properties are being added to the output type : 'PrivateEndpointConnection System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Models.IPrivateEndpointConnectionReference]'
- Change description : The type of property 'PrivateEndpointConnection' of type 'Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Models.Api20220501.IConfigurationStore' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Models.IPrivateEndpointConnectionReference' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Models.IPrivateEndpointConnectionReference]'
- This change will take effect on '2025-05-19'- The change is expected to take effect from Az version : '14.0.0'
- The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
Get-AzAppConfigurationStore -Name azpstest-appstore -ResourceGroupName azpstest_gp
```

#### After
```powershell
Get-AzAppConfigurationStore -Name azpstest-appstore -ResourceGroupName azpstest_gp
```


### `New-AzAppConfigurationStore`
IdentityType will be removed. EnableSystemAssignedIdentity will be used to enable/disable system assigned identity and UserAssignedIdentity will be used to specify user assigned identities.
- This change will take effect on '2025-05-19'- The change is expected to take effect from Az version : '14.0.0'
- The change is expected to take effect from version : '2.0.0'

- The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Models.Api20220501.IConfigurationStore' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Models.IConfigurationStore'
- The following properties in the output type are being deprecated : 'PrivateEndpointConnection Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Models.IPrivateEndpointConnectionReference'
- The following properties are being added to the output type : 'PrivateEndpointConnection System.Collections.Generic.List1[Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Models.IPrivateEndpointConnectionReference]'
- This change will take effect on '2025-05-19'- The change is expected to take effect from Az version : '14.0.0'
- The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
$storeName = "azpstest-appstore-recover"
$resourceGroupName = "azpstest_gp"
$location = "eastus"
New-AzAppConfigurationStore -Name $storeName -ResourceGroupName $resourceGroupName -Location $location -Sku Standard
Remove-AzAppConfigurationStore -Name $storeName -ResourceGroupName $resourceGroupName
Get-AzAppConfigurationDeletedStore -Location $location -Name $storeName
New-AzAppConfigurationStore -Name $storeName -ResourceGroupName $resourceGroupName -Location $location -Sku Standard -CreateMode 'Recover' -IdentityType SystemAssigned -UserAssignedIdentity "/subscriptions/xxxx/resourceGroups/azpstest_gp/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azpstest-uai"
```

#### After
```powershell
$storeName = "azpstest-appstore-recover"
$resourceGroupName = "azpstest_gp"
$location = "eastus"
New-AzAppConfigurationStore -Name $storeName -ResourceGroupName $resourceGroupName -Location $location -Sku Standard
Remove-AzAppConfigurationStore -Name $storeName -ResourceGroupName $resourceGroupName
Get-AzAppConfigurationDeletedStore -Location $location -Name $storeName
New-AzAppConfigurationStore -Name $storeName -ResourceGroupName $resourceGroupName -Location $location -Sku Standard -CreateMode 'Recover' -EnableSystemAssignedIdentity:$true -UserAssignedIdentity "/subscriptions/xxxx/resourceGroups/azpstest_gp/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azpstest-uai"
```


### `Update-AzAppConfigurationStore`
IdentityType will be removed. EnableSystemAssignedIdentity will be used to enable/disable system assigned identity and UserAssignedIdentity will be used to specify user assigned identities.
- This change will take effect on '2025-05-19'- The change is expected to take effect from Az version : '14.0.0'
- The change is expected to take effect from version : '2.0.0'

- The output type is changing from the existing type :'Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Models.Api20220501.IConfigurationStore' to the new type :'Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Models.IConfigurationStore'
- The following properties in the output type are being deprecated : 'PrivateEndpointConnection Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Models.IPrivateEndpointConnectionReference'
- The following properties are being added to the output type : 'PrivateEndpointConnection System.Collections.Generic.List1[Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Models.IPrivateEndpointConnectionReference]'
- This change will take effect on '2025-05-19'- The change is expected to take effect from Az version : '14.0.0'
- The change is expected to take effect from version : '2.0.0'

#### Before
```powershell
Update-AzAppConfigurationStore -Name azpstest-appstore -ResourceGroupName azpstest_gp -DisableLocalAuth -EnablePurgeProtection -PublicNetworkAccess 'Enabled' -IdentityType SystemAssigned -UserAssignedIdentity "/subscriptions/xxxx/resourceGroups/azpstest_gp/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azpstest-uai"
```

#### After
```powershell
Update-AzAppConfigurationStore -Name azpstest-appstore -ResourceGroupName azpstest_gp -DisableLocalAuth -EnablePurgeProtection -PublicNetworkAccess 'Enabled' -EnableSystemAssignedIdentity:$true -UserAssignedIdentity "/subscriptions/xxxx/resourceGroups/azpstest_gp/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azpstest-uai"
```


## Az.Cdn

### `Clear-AzCdnEndpointContent`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'ContentPath, Domain' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IPurgeParameters' has changed from 'System.String[]' to 'System.Collections.Generic.List`1[System.String]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Clear-AzCdnEndpointContent -EndpointName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] -ContentPath <String[]>
```

#### After
```powershell
Clear-AzCdnEndpointContent -EndpointName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] -ContentPath <String[]>
```


### `Clear-AzFrontDoorCdnEndpointContent`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'ContentPath, Domain' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IPurgeParameters' has changed from 'System.String[]' to 'System.Collections.Generic.List`1[System.String]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Clear-AzFrontDoorCdnEndpointContent -EndpointName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] -ContentPath <String[]> [-Domain <String[]>]
```

#### After
```powershell
Clear-AzFrontDoorCdnEndpointContent -EndpointName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] -ContentPath <String[]> [-Domain <String[]>]
```


### `Get-AzCdnEdgeNode`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'IPAddressGroup' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IEdgeNode' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IIPAddressGroup' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IIPAddressGroup]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Get-AzCdnEdgeNode
```

#### After
```powershell
Get-AzCdnEdgeNode
```


### `Get-AzCdnEndpoint`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'Origin' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IDeepCreatedOriginGroup' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Get-AzCdnEndpoint -ProfileName <String> -ResourceGroupName <String> [-SubscriptionId <String[]>]
```

#### After
```powershell
Get-AzCdnEndpoint -ProfileName <String> -ResourceGroupName <String> [-SubscriptionId <String[]>]
```


### `Get-AzCdnOriginGroup`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'HttpErrorRange' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IResponseBasedOriginErrorDetectionParameters' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IHttpErrorRangeParameters' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IHttpErrorRangeParameters]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Get-AzCdnOriginGroup -EndpointName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String[]>]
```

#### After
```powershell
Get-AzCdnOriginGroup -EndpointName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String[]>]
```


### `Get-AzFrontDoorCdnEndpoint`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'Origin' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IDeepCreatedOriginGroup' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Get-AzFrontDoorCdnEndpoint -ProfileName <String> -ResourceGroupName <String> [-SubscriptionId <String[]>]
```

#### After
```powershell
Get-AzFrontDoorCdnEndpoint -ProfileName <String> -ResourceGroupName <String> [-SubscriptionId <String[]>]
```


### `Get-AzFrontDoorCdnOriginGroup`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'HttpErrorRange' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IResponseBasedOriginErrorDetectionParameters' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IHttpErrorRangeParameters' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IHttpErrorRangeParameters]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Get-AzFrontDoorCdnOriginGroup -ProfileName <String> -ResourceGroupName <String> [-SubscriptionId <String[]>]
```

#### After
```powershell
Get-AzFrontDoorCdnOriginGroup -ProfileName <String> -ResourceGroupName <String> [-SubscriptionId <String[]>]
```


### `Get-AzFrontDoorCdnRoute`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'PatternsToMatch, CompressionSettingContentTypesToCompress' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IRoute' has changed from 'System.String[]' to 'System.Collections.Generic.List`1[System.String]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Get-AzFrontDoorCdnRoute -EndpointName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String[]>]
```

#### After
```powershell
Get-AzFrontDoorCdnRoute -EndpointName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String[]>]
```


### `Get-AzFrontDoorCdnRule`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'Condition' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IRule' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IDeliveryRuleCondition' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IDeliveryRuleCondition]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Get-AzFrontDoorCdnRule -ProfileName <String> -ResourceGroupName <String> -SetName <String>
 [-SubscriptionId <String[]>]
```

#### After
```powershell
Get-AzFrontDoorCdnRule -ProfileName <String> -ResourceGroupName <String> -SetName <String>
 [-SubscriptionId <String[]>]
```


### `Import-AzCdnEndpointContent`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'ContentPath, Domain' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IPurgeParameters' has changed from 'System.String[]' to 'System.Collections.Generic.List`1[System.String]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Import-AzCdnEndpointContent -EndpointName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] -ContentPath <String[]>
```

#### After
```powershell
Import-AzCdnEndpointContent -EndpointName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] -ContentPath <String[]>
```


### `New-AzCdnEndpoint`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'Origin' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IDeepCreatedOriginGroup' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
New-AzCdnEndpoint -Name <String> -ProfileName <String> -ResourceGroupName <String> [-SubscriptionId <String>]
 -Location <String> [-ContentTypesToCompress <String[]>] [-DefaultOriginGroupId <String>]
 [-DeliveryPolicyDescription <String>] [-DeliveryPolicyRule <IDeliveryRule[]>] [-GeoFilter <IGeoFilter[]>]
 [-IsCompressionEnabled] [-IsHttpAllowed] [-IsHttpsAllowed] [-OptimizationType <OptimizationType>]
 [-Origin <IDeepCreatedOrigin[]>] [-OriginGroup <IDeepCreatedOriginGroup[]>] [-OriginHostHeader <String>]
 [-OriginPath <String>] [-ProbePath <String>] [-QueryStringCachingBehavior <QueryStringCachingBehavior>]
 [-Tag <Hashtable>] [-UrlSigningKey <IUrlSigningKey[]>] [-WebApplicationFirewallPolicyLinkId <String>]
```

#### After
```powershell
New-AzCdnEndpoint -Name <String> -ProfileName <String> -ResourceGroupName <String> [-SubscriptionId <String>]
 -Location <String> [-ContentTypesToCompress <String[]>] [-DefaultOriginGroupId <String>]
 [-DeliveryPolicyDescription <String>] [-DeliveryPolicyRule <IDeliveryRule[]>] [-GeoFilter <IGeoFilter[]>]
 [-IsCompressionEnabled] [-IsHttpAllowed] [-IsHttpsAllowed] [-OptimizationType <String>]
 [-Origin <IDeepCreatedOrigin[]>] [-OriginGroup <IDeepCreatedOriginGroup[]>] [-OriginHostHeader <String>]
 [-OriginPath <String>] [-ProbePath <String>] [-QueryStringCachingBehavior <String>] [-Tag <Hashtable>]
 [-UrlSigningKey <IUrlSigningKey[]>] [-WebApplicationFirewallPolicyLinkId <String>]
```


### `New-AzCdnManagedHttpsParametersObject`

- Cmdlet breaking-change will happen to all parameter sets
  Add new mandatory parameter CertificateSourceParameterTypeName.
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
New-AzCdnManagedHttpsParametersObject -CertificateSourceParameterCertificateType <CertificateType>
 -CertificateSource <CertificateSource> -ProtocolType <ProtocolType> [-MinimumTlsVersion <MinimumTlsVersion>]
```

#### After
```powershell
New-AzCdnManagedHttpsParametersObject -CertificateSourceParameterCertificateType <String>
 -CertificateSourceParameterTypeName <String> -ProtocolType <String> -CertificateSource <String>
 [-MinimumTlsVersion <String>]
```


### `New-AzCdnOriginGroup`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'HttpErrorRange' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IResponseBasedOriginErrorDetectionParameters' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IHttpErrorRangeParameters' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IHttpErrorRangeParameters]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
New-AzCdnOriginGroup -EndpointName <String> -Name <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] [-HealthProbeSetting <IHealthProbeParameters>] [-Origin <IResourceReference[]>]
 [-ResponseBasedOriginErrorDetectionSetting <IResponseBasedOriginErrorDetectionParameters>]
 [-TrafficRestorationTimeToHealedOrNewEndpointsInMinute <Int32>]
```

#### After
```powershell
New-AzCdnOriginGroup -Name <String> -EndpointName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] [-HealthProbeSetting <IHealthProbeParameters>] [-Origin <IResourceReference[]>]
 [-ResponseBasedOriginErrorDetectionSetting <IResponseBasedOriginErrorDetectionParameters>]
 [-TrafficRestorationTimeToHealedOrNewEndpointsInMinute <Int32>]
```


### `New-AzCdnUserManagedHttpsParametersObject`

- Cmdlet breaking-change will happen to all parameter sets
  Add new mandatory parameter CertificateSourceParameterTypeName.
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
New-AzCdnUserManagedHttpsParametersObject -CertificateSourceParameterResourceGroupName <String>
 -CertificateSourceParameterSecretName <String> -CertificateSourceParameterSubscriptionId <String>
 -CertificateSourceParameterVaultName <String> -CertificateSource <CertificateSource>
 -ProtocolType <ProtocolType> [-CertificateSourceParameterSecretVersion <String>]
 [-MinimumTlsVersion <MinimumTlsVersion>]
```

#### After
```powershell
New-AzCdnUserManagedHttpsParametersObject -CertificateSourceParameterResourceGroupName <String>
 -CertificateSourceParameterSecretName <String> -CertificateSourceParameterSubscriptionId <String>
 -CertificateSourceParameterTypeName <String> -CertificateSourceParameterVaultName <String>
 -CertificateSource <String> -ProtocolType <String> [-CertificateSourceParameterSecretVersion <String>]
 [-MinimumTlsVersion <String>]
```


### `New-AzFrontDoorCdnEndpoint`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'Origin' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IDeepCreatedOriginGroup' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
New-AzFrontDoorCdnEndpoint -EndpointName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] -Location <String>
 [-AutoGeneratedDomainNameLabelScope <AutoGeneratedDomainNameLabelScope>] [-EnabledState <EnabledState>]
 [-Tag <Hashtable>]
```

#### After
```powershell
New-AzFrontDoorCdnEndpoint -EndpointName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] -Location <String> [-AutoGeneratedDomainNameLabelScope <String>]
 [-EnabledState <String>] [-Tag <Hashtable>]
```


### `New-AzFrontDoorCdnOriginGroup`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'HttpErrorRange' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IResponseBasedOriginErrorDetectionParameters' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IHttpErrorRangeParameters' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IHttpErrorRangeParameters]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
New-AzFrontDoorCdnOriginGroup -OriginGroupName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] [-HealthProbeSetting <IHealthProbeParameters>]
 [-LoadBalancingSetting <ILoadBalancingSettingsParameters>] [-SessionAffinityState <EnabledState>]
 [-TrafficRestorationTimeToHealedOrNewEndpointsInMinute <Int32>]
```

#### After
```powershell
New-AzFrontDoorCdnOriginGroup -OriginGroupName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] [-HealthProbeSetting <IHealthProbeParameters>]
 [-LoadBalancingSetting <ILoadBalancingSettingsParameters>] [-SessionAffinityState <String>]
 [-TrafficRestorationTimeToHealedOrNewEndpointsInMinute <Int32>]
```


### `New-AzFrontDoorCdnRoute`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'PatternsToMatch, CompressionSettingContentTypesToCompress' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IRoute' has changed from 'System.String[]' to 'System.Collections.Generic.List`1[System.String]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
New-AzFrontDoorCdnRoute -EndpointName <String> -Name <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] [-CacheConfigurationQueryParameter <String>]
 [-CacheConfigurationQueryStringCachingBehavior <AfdQueryStringCachingBehavior>]
 [-CompressionSettingContentTypesToCompress <String[]>] [-CompressionSettingIsCompressionEnabled]
 [-CustomDomain <IActivatedResourceReference[]>] [-EnabledState <EnabledState>]
 [-ForwardingProtocol <ForwardingProtocol>] [-HttpsRedirect <HttpsRedirect>]
 [-LinkToDefaultDomain <LinkToDefaultDomain>] [-OriginGroupId <String>] [-OriginPath <String>]
 [-PatternsToMatch <String[]>] [-RuleSet <IResourceReference[]>] [-SupportedProtocol <AfdEndpointProtocols[]>]
```

#### After
```powershell
New-AzFrontDoorCdnRoute -Name <String> -EndpointName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] [-CacheConfigurationQueryParameter <String>]
 [-CacheConfigurationQueryStringCachingBehavior <String>]
 [-CompressionSettingContentTypesToCompress <String[]>] [-CompressionSettingIsCompressionEnabled]
 [-CustomDomain <IActivatedResourceReference[]>] [-EnabledState <String>] [-ForwardingProtocol <String>]
 [-HttpsRedirect <String>] [-LinkToDefaultDomain <String>] [-OriginGroupId <String>] [-OriginPath <String>]
 [-PatternsToMatch <String[]>] [-RuleSet <IResourceReference[]>] [-SupportedProtocol <String[]>]
```


### `New-AzFrontDoorCdnRule`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'Condition' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IRule' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IDeliveryRuleCondition' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IDeliveryRuleCondition]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'

- Parameter breaking-change will happen to all parameter sets
  - `-Action`
    - The parameter : 'Action' is changing.
    The type of the parameter is changing from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IDeliveryRuleAction1' to 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IDeliveryRuleAction'.
    - Change description : The element type for parameter 'Action' has been changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IDeliveryRuleAction1' to 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IDeliveryRuleAction'. 
    - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
    - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
New-AzFrontDoorCdnRule -Name <String> -ProfileName <String> -ResourceGroupName <String> -SetName <String>
 [-SubscriptionId <String>] [-Action <IDeliveryRuleAction1[]>] [-Condition <IDeliveryRuleCondition[]>]
 [-MatchProcessingBehavior <MatchProcessingBehavior>] [-Order <Int32>]
```

#### After
```powershell
New-AzFrontDoorCdnRule -Name <String> -ProfileName <String> -ResourceGroupName <String> -SetName <String>
 [-SubscriptionId <String>] [-Action <IDeliveryRuleAction[]>] [-Condition <IDeliveryRuleCondition[]>]
 [-MatchProcessingBehavior <String>] [-Order <Int32>]
```


### `Remove-AzCdnEndpoint`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'Origin' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IDeepCreatedOriginGroup' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Remove-AzCdnEndpoint -Name <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>]
```

#### After
```powershell
Remove-AzCdnEndpoint -Name <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>]
```


### `Remove-AzCdnOriginGroup`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'HttpErrorRange' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IResponseBasedOriginErrorDetectionParameters' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IHttpErrorRangeParameters' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IHttpErrorRangeParameters]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Remove-AzCdnOriginGroup -EndpointName <String> -Name <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>]
```

#### After
```powershell
Remove-AzCdnOriginGroup -EndpointName <String> -Name <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>]
```


### `Remove-AzFrontDoorCdnEndpoint`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'Origin' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IDeepCreatedOriginGroup' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Remove-AzFrontDoorCdnEndpoint -EndpointName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>]
```

#### After
```powershell
Remove-AzFrontDoorCdnEndpoint -EndpointName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>]
```


### `Remove-AzFrontDoorCdnOriginGroup`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'HttpErrorRange' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IResponseBasedOriginErrorDetectionParameters' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IHttpErrorRangeParameters' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IHttpErrorRangeParameters]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Remove-AzFrontDoorCdnOriginGroup -OriginGroupName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>]
```

#### After
```powershell
Remove-AzFrontDoorCdnOriginGroup -OriginGroupName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>]
```


### `Remove-AzFrontDoorCdnRoute`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'PatternsToMatch, CompressionSettingContentTypesToCompress' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IRoute' has changed from 'System.String[]' to 'System.Collections.Generic.List`1[System.String]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Remove-AzFrontDoorCdnRoute -EndpointName <String> -Name <String> -ProfileName <String>
 -ResourceGroupName <String> [-SubscriptionId <String>]
```

#### After
```powershell
Remove-AzFrontDoorCdnRoute -EndpointName <String> -Name <String> -ProfileName <String>
 -ResourceGroupName <String> [-SubscriptionId <String>]
```


### `Remove-AzFrontDoorCdnRule`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'Condition' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IRule' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IDeliveryRuleCondition' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IDeliveryRuleCondition]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Remove-AzFrontDoorCdnRule -Name <String> -ProfileName <String> -ResourceGroupName <String> -SetName <String>
 [-SubscriptionId <String>]
```

#### After
```powershell
Remove-AzFrontDoorCdnRule -Name <String> -ProfileName <String> -ResourceGroupName <String> -SetName <String>
 [-SubscriptionId <String>]
```


### `Start-AzCdnEndpoint`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'Origin' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IDeepCreatedOriginGroup' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Start-AzCdnEndpoint -Name <String> -ProfileName <String> -ResourceGroupName <String> [-SubscriptionId <String>]
```

#### After
```powershell
Start-AzCdnEndpoint -Name <String> -ProfileName <String> -ResourceGroupName <String> [-SubscriptionId <String>]
```


### `Stop-AzCdnEndpoint`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'Origin' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IDeepCreatedOriginGroup' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Stop-AzCdnEndpoint -Name <String> -ProfileName <String> -ResourceGroupName <String> [-SubscriptionId <String>]
```

#### After
```powershell
Stop-AzCdnEndpoint -Name <String> -ProfileName <String> -ResourceGroupName <String> [-SubscriptionId <String>]
```


### `Update-AzCdnEndpoint`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'Origin' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IDeepCreatedOriginGroup' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Update-AzCdnEndpoint -Name <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] [-ContentTypesToCompress <String[]>] [-DefaultOriginGroupId <String>]
 [-DeliveryPolicyDescription <String>] [-DeliveryPolicyRule <IDeliveryRule[]>] [-GeoFilter <IGeoFilter[]>]
 [-IsCompressionEnabled] [-IsHttpAllowed] [-IsHttpsAllowed] [-OptimizationType <OptimizationType>]
 [-OriginHostHeader <String>] [-OriginPath <String>] [-ProbePath <String>]
 [-QueryStringCachingBehavior <QueryStringCachingBehavior>] [-Tag <Hashtable>]
 [-UrlSigningKey <IUrlSigningKey[]>] [-WebApplicationFirewallPolicyLinkId <String>]
```

#### After
```powershell
Update-AzCdnEndpoint -Name <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] [-ContentTypesToCompress <String[]>] [-DefaultOriginGroupId <String>]
 [-DeliveryPolicyDescription <String>] [-DeliveryPolicyRule <IDeliveryRule[]>] [-GeoFilter <IGeoFilter[]>]
 [-IsCompressionEnabled] [-IsHttpAllowed] [-IsHttpsAllowed] [-OptimizationType <String>]
 [-OriginHostHeader <String>] [-OriginPath <String>] [-ProbePath <String>]
 [-QueryStringCachingBehavior <String>] [-Tag <Hashtable>] [-UrlSigningKey <IUrlSigningKey[]>]
 [-WebApplicationFirewallPolicyLinkId <String>]
```


### `Update-AzCdnOriginGroup`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'HttpErrorRange' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IResponseBasedOriginErrorDetectionParameters' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IHttpErrorRangeParameters' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IHttpErrorRangeParameters]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Update-AzCdnOriginGroup -EndpointName <String> -Name <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] [-HealthProbeSetting <IHealthProbeParameters>] [-Origin <IResourceReference[]>]
 [-ResponseBasedOriginErrorDetectionSetting <IResponseBasedOriginErrorDetectionParameters>]
 [-TrafficRestorationTimeToHealedOrNewEndpointsInMinute <Int32>]
```

#### After
```powershell
Update-AzCdnOriginGroup -EndpointName <String> -Name <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] [-HealthProbeSetting <IHealthProbeParameters>] [-Origin <IResourceReference[]>]
 [-ResponseBasedOriginErrorDetectionSetting <IResponseBasedOriginErrorDetectionParameters>]
 [-TrafficRestorationTimeToHealedOrNewEndpointsInMinute <Int32>]
```


### `Update-AzFrontDoorCdnEndpoint`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'Origin' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IDeepCreatedOriginGroup' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IResourceReference]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Update-AzFrontDoorCdnEndpoint -EndpointName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] [-EnabledState <EnabledState>] [-Tag <Hashtable>]
```

#### After
```powershell
Update-AzFrontDoorCdnEndpoint -EndpointName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] [-EnabledState <String>] [-Tag <Hashtable>]
```


### `Update-AzFrontDoorCdnOriginGroup`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'HttpErrorRange' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IResponseBasedOriginErrorDetectionParameters' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IHttpErrorRangeParameters' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IHttpErrorRangeParameters]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Update-AzFrontDoorCdnOriginGroup -OriginGroupName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] [-HealthProbeSetting <IHealthProbeParameters>]
 [-LoadBalancingSetting <ILoadBalancingSettingsParameters>] [-SessionAffinityState <EnabledState>]
 [-TrafficRestorationTimeToHealedOrNewEndpointsInMinute <Int32>]
```

#### After
```powershell
Update-AzFrontDoorCdnOriginGroup -OriginGroupName <String> -ProfileName <String> -ResourceGroupName <String>
 [-SubscriptionId <String>] [-HealthProbeSetting <IHealthProbeParameters>]
 [-LoadBalancingSetting <ILoadBalancingSettingsParameters>] [-SessionAffinityState <String>]
 [-TrafficRestorationTimeToHealedOrNewEndpointsInMinute <Int32>]
```


### `Update-AzFrontDoorCdnRoute`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'PatternsToMatch, CompressionSettingContentTypesToCompress' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IRoute' has changed from 'System.String[]' to 'System.Collections.Generic.List`1[System.String]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Update-AzFrontDoorCdnRoute -EndpointName <String> -Name <String> -ProfileName <String>
 -ResourceGroupName <String> [-SubscriptionId <String>] [-CacheConfigurationQueryParameter <String>]
 [-CacheConfigurationQueryStringCachingBehavior <AfdQueryStringCachingBehavior>]
 [-CompressionSettingContentTypesToCompress <String[]>] [-CompressionSettingIsCompressionEnabled]
 [-CustomDomain <IActivatedResourceReference[]>] [-EnabledState <EnabledState>]
 [-ForwardingProtocol <ForwardingProtocol>] [-HttpsRedirect <HttpsRedirect>]
 [-LinkToDefaultDomain <LinkToDefaultDomain>] [-OriginGroupId <String>] [-OriginPath <String>]
 [-PatternsToMatch <String[]>] [-RuleSet <IResourceReference[]>] [-SupportedProtocol <AfdEndpointProtocols[]>]

```

#### After
```powershell
Update-AzFrontDoorCdnRoute -EndpointName <String> -Name <String> -ProfileName <String>
 -ResourceGroupName <String> [-SubscriptionId <String>] [-CacheConfigurationQueryParameter <String>]
 [-CacheConfigurationQueryStringCachingBehavior <String>]
 [-CompressionSettingContentTypesToCompress <String[]>] [-CompressionSettingIsCompressionEnabled]
 [-CustomDomain <IActivatedResourceReference[]>] [-EnabledState <String>] [-ForwardingProtocol <String>]
 [-HttpsRedirect <String>] [-LinkToDefaultDomain <String>] [-OriginGroupId <String>] [-OriginPath <String>]
 [-PatternsToMatch <String[]>] [-RuleSet <IResourceReference[]>] [-SupportedProtocol <String[]>]
```


### `Update-AzFrontDoorCdnRule`

- Cmdlet breaking-change will happen to all parameter sets
  - Change description : The type of property 'Condition' of type 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IRule' has changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IDeliveryRuleCondition' to 'System.Collections.Generic.List`1[Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IDeliveryRuleCondition]'. 
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '5.0.0'

- Parameter breaking-change will happen to all parameter sets
  - `-Action`
    - The parameter : 'Action' is changing.
    The type of the parameter is changing from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IDeliveryRuleAction1' to 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IDeliveryRuleAction'.
    - Change description : The element type for parameter 'Action' has been changed from 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.Api20240201.IDeliveryRuleAction1' to 'Microsoft.Azure.PowerShell.Cmdlets.Cdn.Models.IDeliveryRuleAction'. 
    - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
    - The change is expected to take effect from version : '5.0.0'


#### Before
```powershell
Update-AzFrontDoorCdnRule -Name <String> -ProfileName <String> -ResourceGroupName <String> -SetName <String>
 [-SubscriptionId <String>] [-Action <IDeliveryRuleAction1[]>] [-Condition <IDeliveryRuleCondition[]>]
 [-MatchProcessingBehavior <MatchProcessingBehavior>] [-Order <Int32>]
```

#### After
```powershell
Update-AzFrontDoorCdnRule -Name <String> -ProfileName <String> -ResourceGroupName <String> -SetName <String>
 [-SubscriptionId <String>] [-Action <IDeliveryRuleAction[]>] [-Condition <IDeliveryRuleCondition[]>]
 [-MatchProcessingBehavior <String>] [-Order <Int32>]
```


## Az.Compute

### `Get-AzVMSize`

- Cmdlet breaking-change will happen to all parameter sets
  - The "ListVirtualMachineSize" parameter set will be deprecated as its API: "Virtual Machine Sizes - List" is deprecated. For listing available VM sizes by subscription or location, please use instead "Get-AzComputeResourceSku". Other parameter sets: "List Available Sizes for Availability Set" and "List Available Sizes for Virtual Machine" will continue to be supported.
  - This change is expected to take effect from Az.Compute version: 10.0.0 and Az version: 14.0.0


#### Before
```powershell
Get-AzVMSize -Location <string>
```

#### After
```powershell
 Get-AzComputeResourceSku -Location <string>
```


## Az.Resources

### `Get-AzResource`

- Cmdlet breaking-change will happen to all parameter sets
  - The API version for the resource type will be updated to use the default version instead of the latest.
  - This change is expected to take effect from Az.Resources version: 8.0.0 and Az version: 14.0.0


### `Invoke-AzResourceAction`

- Cmdlet breaking-change will happen to all parameter sets
  - The API version for the resource type will be updated to use the default version instead of the latest.
  - This change is expected to take effect from Az.Resources version: 8.0.0 and Az version: 14.0.0
  - In most of the situations, this change won't cause any break. If you see anything unexpected, you can manually specify the API version used.


#### Before
```powershell
Invoke-AzResourceAction -ResourceGroupName <resource group> -Name <resource> -ResourceType <resource type> -Action <action>
```

#### After
```powershell
Invoke-AzResourceAction -ResourceGroupName <resource group> -Name <resource> -ResourceType <resource type> -Action <action> -ApiVersion <api version>
```


### `New-AzResource`

- Cmdlet breaking-change will happen to all parameter sets
  - The API version for the resource type will be updated to use the default version instead of the latest.
  - This change is expected to take effect from Az.Resources version: 8.0.0 and Az version: 14.0.0
  - In most of the situations, this change won't cause any break. If you see anything unexpected, you can manually specify the API version used.


#### Before
```powershell
New-AzResource -ResourceGroupName <resource group> -Name <resource> -ResourceType <resource type>
```

#### After
```powershell
New-AzResource -ResourceGroupName <resource group> -Name <resource> -ResourceType <resource type> -ApiVersion <api version>
```


### `Move-AzResource`

- Cmdlet breaking-change will happen to all parameter sets
  - The API version for the resource type will be updated to use the default version instead of the latest.
  - This change is expected to take effect from Az.Resources version: 8.0.0 and Az version: 14.0.0
  - In most of the situations, this change won't cause any break. If you see anything unexpected, you can manually specify the API version used.


#### Before
```powershell
Move-AzResource -ResourceGroupName <resource group> -Name <resource> -ResourceType <resource type>
```

#### After
```powershell
Move-AzResource -ResourceGroupName <resource group> -Name <resource> -ResourceType <resource type> -ApiVersion <api version>
```


### `Remove-AzResource`

- Cmdlet breaking-change will happen to all parameter sets
  - The API version for the resource type will be updated to use the default version instead of the latest.
  - This change is expected to take effect from Az.Resources version: 8.0.0 and Az version: 14.0.0


#### Before
```powershell
Remove-AzResource -ResourceGroupName <resource group> -Name <resource> -ResourceType <resource type>
```

#### After
```powershell
Remove-AzResource -ResourceGroupName <resource group> -Name <resource> -ResourceType <resource type> -ApiVersion <api version>
```


### `Set-AzResource`

- Cmdlet breaking-change will happen to all parameter sets
  - The API version for the resource type will be updated to use the default version instead of the latest.
  - This change is expected to take effect from Az.Resources version: 8.0.0 and Az version: 14.0.0
  - In most of the situations, this change won't cause any break. If you see anything unexpected, you can manually specify the API version used.


#### Before
```powershell
Set-AzResource -ResourceGroupName <resource group> -Name <resource> -ResourceType <resource type>
```

#### After
```powershell
Set-AzResource -ResourceGroupName <resource group> -Name <resource> -ResourceType <resource type> -ApiVersion <api version>
```


## Az.Storage

### `Set-AzStorageFileContent`

- Cmdlet breaking-change will happen to all parameter sets
  - The ContentHash properties will be removed from the uploaded Azure file when file size > 1TB, or upload with Oauth credential, or with -DisAllowTrailingDot.
  - This change is expected to take effect from Az.Storage version: 9.0.0 and Az version: 14.0.0


#### Before
```powershell
Set-AzStorageFileContent -ShareName $shareName -Path $filename -Source $localSrcFile -Context $ctxoauth
```

#### After
```powershell
# If need contenthash in MD5, need set it after upload file
$file = Set-AzStorageFileContent -ShareName $shareName -Path $filename -Source $localSrcFile -Context $ctxoauth -PassThru
$md5 = New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
$filems5 = $md5.ComputeHash([System.IO.File]::ReadAllBytes($localSrcFile))
$file.ShareFileClient.SetHttpHeaders(@{"HttpHeaders" = @{"ContentHash" = $filems5}})
```


### `Start-AzStorageAccountMigration`

- Cmdlet breaking-change will happen to all parameter sets
  A prompt that needs users' confirmation will be added when converting the account's redundancy configuration. Suppress it with -Force.
  - This change will take effect on '5/19/2025'- The change is expected to take effect from Az version : '14.0.0'
  - The change is expected to take effect from version : '9.0.0'


#### Before
```powershell
Start-AzStorageAccountMigration -AccountName myaccount -ResourceGroupName myresourcegroup -TargetSku Standard_LRS -Name migration1 -AsJob
```

#### After
```powershell
Start-AzStorageAccountMigration -AccountName myaccount -ResourceGroupName myresourcegroup -TargetSku Standard_LRS -Name migration1 -Force -AsJob
```

---

### Documentation Migration Guides Az.15.0.0 Migration Guide (`documentation/migration-guides/Az.15.0.0-migration-guide.md`)

# Migration Guide for Az 15.0.0

## Az.Batch

### `New-AzBatchCertificate`

Azure Batch account certificates feature has been retired and all certificate related commands have been removed from Batch. See https://learn.microsoft.com/en-us/azure/batch/batch-certificate-migration-guide

#### Before
```powershell
New-AzBatchCertificate -FilePath "E:\Certificates\MyCert.cer" -BatchContext $Context
```

#### After

### `Remove-AzBatchCertificate`

Azure Batch account certificates feature has been retired and all certificate related commands have been removed from Batch. See https://learn.microsoft.com/en-us/azure/batch/batch-certificate-migration-guide

#### Before
```powershell
Remove-AzBatchCertificate -ThumbprintAlgorithm "sha1" -Thumbprint "c1e494a415149c5f211c4778b52f2e834a07247c"
```

#### After

### `Stop-AzBatchCertificateDeletion`

Azure Batch account certificates feature has been retired and all certificate related commands have been removed from Batch. See https://learn.microsoft.com/en-us/azure/batch/batch-certificate-migration-guide

#### Before
```powershell
Stop-AzBatchCertificateDeletion -ThumbprintAlgorithm "sha1" -Thumbprint "c1e494a415149c5f211c4778b52f2e834a07247c" -BatchContext $Context
```

#### After


### `Get-AzBatchCertificate`

Azure Batch account certificates feature has been retired and all certificate related commands have been removed from Batch. See https://learn.microsoft.com/en-us/azure/batch/batch-certificate-migration-guide

#### Before
```powershell
Get-AzBatchCertificate -ThumbprintAlgorithm "sha1" -Thumbprint "C1******7C" -BatchContext $Context
```

#### After

### `New-AzBatchPool`

The following parameters have been removed: `ResourceTag`, `CloudServiceConfiguration`, `CertificateReferences`, `ApplicationLicenses`, `CurrentNodeCommunicationMode`, and `TargetNodeCommunicationMode`.  For `CloudServiceConfiguration` use `VirtualMachineConfiguration` instead, all other removed parameters don't have a replacement.

#### Before
```powershell

$resourceTags = @{
"Tag1" = "value1"
"Tag2" = "Value2"
}

$certificate =  -Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSCertificate"
$certificatesRef =  -Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSCertificateReferenceNew" -ArgumentList @($certificate)
$configuration = New-Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSCloudServiceConfiguration" -ArgumentList @(4,"*")

New-AzBatchPool -Id "MyPool" -VirtualMachineSize "STANDARD_D1_V2" -CloudServiceConfiguration $configuration  -TargetDedicatedComputeNodes 3 -CertificateReferences $certificatesRef -ApplicationLicenses @('licenses1', 'licenses2') -CurrentNodeCommunicationMode Default -TargetNodeCommunicationMode Classic -ResourceTags @resourceTags -BatchContext $Context
```

#### After
```powershell
$imageReference = New-Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSImageReference" -ArgumentList @("WindowsServer", "MicrosoftWindowsServer", "2016-Datacenter", "*")
$configuration = New-Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSVirtualMachineConfiguration" -ArgumentList @($imageReference, "batch.node.windows amd64")
New-AzBatchPool -Id "MyPool" -VirtualMachineSize "STANDARD_D1_V2" -VirtualMachineConfiguration $configuration -TargetDedicatedComputeNodes 3 -BatchContext $Context
```

### `Set-AzBatchPool`

The following properties have been removed from the `PSCloudPool` parameter: `ResourceTag`, `CloudServiceConfiguration`, `CertificateReferences`, `ApplicationLicenses`, `CurrentNodeCommunicationMode`, and `TargetNodeCommunicationMode`.  

#### Before
```powershell

$Pool = Get-AzBatchPool "ContosoPool" -BatchContext $Context

$resourceTags = @{
"Tag1" = "value1"
"Tag2" = "Value2"
}

$certificate =  -Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSCertificate"
$certificatesRef =  -Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSCertificateReferenceNew" -ArgumentList @($certificate)

$StartTask = New-Object Microsoft.Azure.Commands.Batch.Models.PSStartTask
$StartTask.CommandLine = "cmd /c echo example"

$Pool.CertificateReferences = $certificatesRef
$Pool.ApplicationLicenses = @('licenses1', 'licenses2')
$Pool.ResourceTag = $resourceTags
$Pool.TargetNodeCommunicationMode = Classic
$Pool.StartTask = $StartTask
Set-AzBatchPool -Pool $Pool -BatchContext $Context
```

#### After
```powershell
$Pool = Get-AzBatchPool "ContosoPool" -BatchContext $Context

$StartTask = New-Object Microsoft.Azure.Commands.Batch.Models.PSStartTask
$StartTask.CommandLine = "cmd /c echo example"

$Pool.StartTask = $StartTask
Set-AzBatchPool -Pool $Pool -BatchContext $Context
```


### `Get-AzBatchPool`

The following properties have been removed from the return type `PSCloudPool`: `ResourceTag`, `CloudServiceConfiguration`, `CertificateReferences`, `ApplicationLicenses`, `CurrentNodeCommunicationMode`, and `TargetNodeCommunicationMode`.  

#### Before
```powershell
$psCloudPool = Get-AzBatchPool -Id "MyPool" -BatchContext $Context

$var1 = $psCloudPool.Id
$var2 = $psCloudPool.ResourceTag
$var3 = $psCloudPool.CloudServiceConfiguration
$var4 = $psCloudPool.CertificateReferences
$var5 = $psCloudPool.ApplicationLicenses
$var6 = $psCloudPool.CurrentNodeCommunicationMode
$var7 = $psCloudPool.TargetNodeCommunicationMode
```

#### After
```powershell
Get-AzBatchPool -Id "MyPool" -BatchContext $Context

$var1 = $psCloudPool.Id
```

### `Get-AzBatchRemoteDesktopProtocolFile`

The command `Get-AzBatchRemoteDesktopProtocolFile` has been deprecated, use `Get-AzBatchRemoteLoginSettings` instead.

#### Before
```powershell

Get-AzBatchRemoteDesktopProtocolFile -PoolId "Pool06" -ComputeNodeId "ComputeNode01" -DestinationPath "C:\PowerShell\ComputeNode01.rdp" -BatchContext $Context
```

#### After
```powershell
Get-AzBatchRemoteLoginSetting -PoolId "Pool06" -ComputeNodeId "ComputeNode01" -BatchContext $Context
```

### `Get-AzBatchJob`

The property `PoolInformation` of the return type `PSCloudJob` has the following properties removed in its sub object: `ResourceTag`, `CloudServiceConfiguration`, `CertificateReferences`, `ApplicationLicenses`, `CurrentNodeCommunicationMode`, and `TargetNodeCommunicationMode`.

#### Before
```powershell
$psCloudJob =  Get-AzBatchJob -Id "Job01" -BatchContext $Context

$var1 = $psCloudJob.PoolInformation.AutoPoolSpecification.PoolSpecification.PoolId
$var2 = $psCloudJob.PoolInformation.AutoPoolSpecification.PoolSpecification.ResourceTag
$var3 = $psCloudJob.PoolInformation.AutoPoolSpecification.PoolSpecification.CloudServiceConfiguration
$var4 = $psCloudJob.PoolInformation.AutoPoolSpecification.PoolSpecification.CertificateReferences
$var5 = $psCloudJob.PoolInformation.AutoPoolSpecification.PoolSpecification.ApplicationLicenses
$var6 = $psCloudJob.PoolInformation.AutoPoolSpecification.PoolSpecification.CurrentNodeCommunicationMode
$var7 = $psCloudJob.PoolInformation.AutoPoolSpecification.PoolSpecification.TargetNodeCommunicationMode
```

#### After
```powershell
$psCloudJob =  Get-AzBatchJob -Id "Job01" -BatchContext $Context

$var1 = $psCloudJob.PoolInformation.AutoPoolSpecification.PoolSpecification.PoolId
```

### `Get-AzBatchComputeNode`

The property `CertificateReferences` has been removed from return type `PSComputeNode`

#### Before
```powershell
$computeNode = Get-AzBatchComputeNode -PoolId "Pool06" -Id "tvm-2316545714_1-20150725t213220z" -BatchContext $Context

var1 = $computeNode.Id
var2 = $computeNode.CertificateReferences
```

#### After
```powershell
$computeNode = Get-AzBatchComputeNode -PoolId "Pool06" -Id "tvm-2316545714_1-20150725t213220z" -BatchContext $Context

var1 = $computeNode.Id
```

## Az.DevCenter

### `Connect-AzDevCenterAdminCatalog`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Connect-AzDevCenterAdminProjectCatalog`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminAttachedNetwork`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminCatalog`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminCatalogSyncErrorDetail`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminCustomizationTask`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminCustomizationTaskErrorDetail`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminDevBoxDefinition`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminDevCenter`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. The 'PlanId' property has been removed from the output type 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.Api20240501Preview.IDevCenter'. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminEnvironmentDefinition`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminEnvironmentDefinitionErrorDetail`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminEnvironmentType`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminGallery`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminImage`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminImageVersion`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminNetworkConnection`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminNetworkConnectionHealthDetail`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminOperationStatus`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminPlan`

This cmdlet is being removed. The "Plan" resource was never released to production and was not available for use. **No action required** - this removal does not affect any existing functionality.

### `Get-AzDevCenterAdminPlanMember`

This cmdlet is being removed. The "PlanMember" resource was never released to production and was not available for use. **No action required** - this removal does not affect any existing functionality.

### `Get-AzDevCenterAdminPool`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminProject`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminProjectAllowedEnvironmentType`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminProjectCatalog`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminProjectCatalogSyncErrorDetail`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminProjectEnvironmentDefinition`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminProjectEnvironmentDefinitionErrorDetail`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminProjectEnvironmentType`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminProjectInheritedSetting`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Get-AzDevCenterAdminSchedule`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Invoke-AzDevCenterAdminExecuteCheckNameAvailability`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Invoke-AzDevCenterAdminExecuteCheckScopedNameAvailability`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `New-AzDevCenterAdminAttachedNetwork`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `New-AzDevCenterAdminCatalog`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `New-AzDevCenterAdminDevBoxDefinition`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `New-AzDevCenterAdminDevCenter`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. Additionally, the 'PlanId' parameter has been removed from this cmdlet, and the 'PlanId' property has been removed from the output type 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.Api20240501Preview.IDevCenter'. These properties and parameters were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `New-AzDevCenterAdminEnvironmentType`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `New-AzDevCenterAdminGallery`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `New-AzDevCenterAdminNetworkConnection`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `New-AzDevCenterAdminPlan`

This cmdlet is being removed. The "Plan" resource was never released to production and was not available for use. **No action required** - this removal does not affect any existing functionality.

### `New-AzDevCenterAdminPlanMember`

This cmdlet is being removed. The "PlanMember" resource was never released to production and was not available for use. **No action required** - this removal does not affect any existing functionality.

### `New-AzDevCenterAdminPool`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `New-AzDevCenterAdminProject`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `New-AzDevCenterAdminProjectCatalog`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `New-AzDevCenterAdminProjectEnvironmentType`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `New-AzDevCenterAdminSchedule`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Remove-AzDevCenterAdminAttachedNetwork`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Remove-AzDevCenterAdminCatalog`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Remove-AzDevCenterAdminDevBoxDefinition`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Remove-AzDevCenterAdminDevCenter`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Remove-AzDevCenterAdminEnvironmentType`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Remove-AzDevCenterAdminGallery`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Remove-AzDevCenterAdminNetworkConnection`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Remove-AzDevCenterAdminPlan`

This cmdlet is being removed. The "Plan" resource was never released to production and was not available for use. **No action required** - this removal does not affect any existing functionality.

### `Remove-AzDevCenterAdminPlanMember`

This cmdlet is being removed. The "PlanMember" resource was never released to production and was not available for use. **No action required** - this removal does not affect any existing functionality.

### `Remove-AzDevCenterAdminPool`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Remove-AzDevCenterAdminProject`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Remove-AzDevCenterAdminProjectCatalog`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Remove-AzDevCenterAdminProjectEnvironmentType`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Remove-AzDevCenterAdminSchedule`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Start-AzDevCenterAdminNetworkConnectionHealthCheck`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Start-AzDevCenterAdminPoolHealthCheck`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Sync-AzDevCenterAdminCatalog`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Sync-AzDevCenterAdminProjectCatalog`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Update-AzDevCenterAdminCatalog`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Update-AzDevCenterAdminDevBoxDefinition`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Update-AzDevCenterAdminDevCenter`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. Additionally, the 'PlanId' parameter has been removed from this cmdlet, and the 'PlanId' property has been removed from the output type 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.Api20240501Preview.IDevCenter'. These properties and parameters were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Update-AzDevCenterAdminEnvironmentType`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Update-AzDevCenterAdminNetworkConnection`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Update-AzDevCenterAdminPlan`

This cmdlet is being removed. The "Plan" resource was never released to production and was not available for use. **No action required** - this removal does not affect any existing functionality.

### `Update-AzDevCenterAdminPlanMember`

This cmdlet is being removed. The "PlanMember" resource was never released to production and was not available for use. **No action required** - this removal does not affect any existing functionality.

### `Update-AzDevCenterAdminPool`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Update-AzDevCenterAdminProject`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Update-AzDevCenterAdminProjectCatalog`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Update-AzDevCenterAdminProjectEnvironmentType`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `Update-AzDevCenterAdminSchedule`

The properties 'PlanName' and 'MemberName' have been removed from the 'Microsoft.Azure.PowerShell.Cmdlets.DevCenter.Models.IDevCenterIdentity' type. These properties were associated with unreleased features and were never available in production. **No action required** - this change does not affect any released functionality or existing usage of this cmdlet.

### `New-AzDevCenterUserDevBox`

The parameter 'LocalAdministrator' has been removed from this cmdlet. This parameter was non-functional and had no effect when used. **No action required** - removing this parameter does not affect any existing functionality.

### `Remove-AzDevCenterUserDevBox`

The internal type of the `Property` field has changed from `Microsoft.Azure.PowerShell.Cmdlets.DevCenterdata.Models.IAny` to `Microsoft.Azure.PowerShell.Cmdlets.DevCenterdata.Models.IOperationStatusProperties`. This is an internal type improvement that does not affect the properties returned or how they are accessed. **No action required** - the way custom operation properties are accessed remains unchanged. Both types function as dictionaries with identical access patterns.

### `Remove-AzDevCenterUserEnvironment`

The internal type of the `Property` field has changed from `Microsoft.Azure.PowerShell.Cmdlets.DevCenterdata.Models.IAny` to `Microsoft.Azure.PowerShell.Cmdlets.DevCenterdata.Models.IOperationStatusProperties`. This is an internal type improvement that does not affect the properties returned or how they are accessed. **No action required** - the way custom operation properties are accessed remains unchanged. Both types function as dictionaries with identical access patterns.

### `Repair-AzDevCenterUserDevBox`

The internal type of the `Property` field has changed from `Microsoft.Azure.PowerShell.Cmdlets.DevCenterdata.Models.IAny` to `Microsoft.Azure.PowerShell.Cmdlets.DevCenterdata.Models.IOperationStatusProperties`. This is an internal type improvement that does not affect the properties returned or how they are accessed. **No action required** - the way custom operation properties are accessed remains unchanged. Both types function as dictionaries with identical access patterns.

### `Restart-AzDevCenterUserDevBox`

The internal type of the `Property` field has changed from `Microsoft.Azure.PowerShell.Cmdlets.DevCenterdata.Models.IAny` to `Microsoft.Azure.PowerShell.Cmdlets.DevCenterdata.Models.IOperationStatusProperties`. This is an internal type improvement that does not affect the properties returned or how they are accessed. **No action required** - the way custom operation properties are accessed remains unchanged. Both types function as dictionaries with identical access patterns.

### `Start-AzDevCenterUserDevBox`

The internal type of the `Property` field has changed from `Microsoft.Azure.PowerShell.Cmdlets.DevCenterdata.Models.IAny` to `Microsoft.Azure.PowerShell.Cmdlets.DevCenterdata.Models.IOperationStatusProperties`. This is an internal type improvement that does not affect the properties returned or how they are accessed. **No action required** - the way custom operation properties are accessed remains unchanged. Both types function as dictionaries with identical access patterns.

### `Stop-AzDevCenterUserDevBox`

The internal type of the `Property` field has changed from `Microsoft.Azure.PowerShell.Cmdlets.DevCenterdata.Models.IAny` to `Microsoft.Azure.PowerShell.Cmdlets.DevCenterdata.Models.IOperationStatusProperties`. This is an internal type improvement that does not affect the properties returned or how they are accessed. **No action required** - the way custom operation properties are accessed remains unchanged. Both types function as dictionaries with identical access patterns.

## Az.FrontDoor

### `Disable-AzFrontDoorCustomDomainHttps`

The return type changed from PSFrontendEndpoint to Boolean. Way to use this cmdlet is the same.

#### Before

``` powershell
Disable-AzFrontDoorCustomDomainHttps -ResourceGroupName "resourcegroup1" -FrontDoorName "frontdoor1" -FrontendEndpointName "frontendpointname1-custom-xyz"
```

#### After

``` powershell
Disable-AzFrontDoorCustomDomainHttps -ResourceGroupName "resourcegroup1" -FrontDoorName "frontdoor1" -FrontendEndpointName "frontendpointname1-custom-xyz"
```

### `Enable-AzFrontDoorCustomDomainHttps`

The return type changed from PSFrontendEndpoint to Boolean. Way to use this cmdlet is the same.

#### Before

``` powershell
Enable-AzFrontDoorCustomDomainHttps -ResourceGroupName "resourcegroup1" -FrontDoorName "frontdoor1" -FrontendEndpointName "frontendpointname1-custom-xyz" -MinimumTlsVersion "1.2"
```

#### After

``` powershell
Enable-AzFrontDoorCustomDomainHttps -ResourceGroupName "resourcegroup1" -FrontDoorName "frontdoor1" -FrontendEndpointName "frontendpointname1-custom-xyz" -MinimumTlsVersion "1.2"
```

### `Get-AzFrontDoor`

The return type field name changed from plural to singular

#### Before

``` powershell
Get-AzFrontDoor -ResourceGroupName "rg1" -Name "frontDoor1"
```

```output
FriendlyName          : frontdoor1
FrontDoorId           : {guid}
RoutingRules          : {routingrule1}
BackendPools          : {backendpool1}
HealthProbeSettings   : {healthProbeSetting1}
LoadBalancingSettings : {loadbalancingsetting1}
FrontendEndpoints     : {frontendendpoint1}
EnabledState          : Enabled
ResourceState         : Enabled
ProvisioningState     : Succeeded
Cname                 :
Tags                  : {tag1, tag2}
Id                    : /subscriptions/{guid}/resourcegroups/rg1/providers/M
                        icrosoft.Network/frontdoors/frontdoor1
Name                  : frontdoor1
Type                  : Microsoft.Network/frontdoor1
```

#### After

``` powershell
Enable-AzFrontDoorCustomDomainHttps -ResourceGroupName "resourcegroup1" -FrontDoorName "frontdoor1" -FrontendEndpointName "frontendpointname1-custom-xyz" -MinimumTlsVersion "1.2"
```

```
BackendPool          : {BackendPool0}
BackendPoolsSetting  : {
                         "enforceCertificateNameCheck": "Enabled",
                         "sendRecvTimeoutSeconds": 30
                       }
Cname                :
EnabledState         : Disabled
ExtendedProperty     : {
                         "MigratedTo": {link0}
                       }
FriendlyName         : frontDoor1
FrontdoorId          : {guid0}
FrontendEndpoint     : {Endpoint0}
HealthProbeSetting   : {HealthProbeSetting0}
Id                   : /subscriptions/{guid}/resourcegroups/rg1/providers/M
                        icrosoft.Network/frontdoors/frontdoor1
LoadBalancingSetting : {LoadBalancingSetting0}
Location             : Global
Name                 : frontDoor1
ProvisioningState    : Succeeded
ResourceGroupName    : {rg1}
ResourceState        : Migrated
RoutingRule          : {RoutingRule0,RoutingRule1}
RulesEngine          : {RulesEngine0,RulesEngine1}
Tag                  : {
                       }
Type                 : Microsoft.Network/frontdoors
```

### `Get-AzFrontDoorRulesEngine`

Return field "RulesEngineRules" changed to Rule

#### Before

```powershell
Get-AzFrontDoorRulesEngine -ResourceGroupName $resourceGroupName -FrontDoorName $frontDoorName -Name rulesengine3
```

```output
Name         RulesEngineRules
----         ----------------
rulesEngine3 {rules1}
```

#### After

```powershell
Get-AzFrontDoorRulesEngine -ResourceGroupName $resourceGroupName -FrontDoorName $frontDoorName -Name rulesengine3
```

```output
Id                : /subscriptions/{subId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Network/frontdoors/{frontDoorName}/rulesengines/rulesengine3
Name              : rulesengine3
ResourceGroupName : {resourceGroupName}
ResourceState     : Enabled
Rule              : {{
                      "name": "rule111",
                      "priority": 0,
                      "action": {
                        "requestHeaderActions": [ ],
                        "responseHeaderActions": [
                          {
                            "headerActionType": "Overwrite",
                            "headerName": "ff",
                            "value": "ff"
                          }
                        ]
                      },
                      "matchConditions": [
                        {
                          "rulesEngineMatchVariable": "QueryString",
                          "rulesEngineOperator": "Contains",
                          "negateCondition": false,
                          "rulesEngineMatchValue": [ "fdfd" ],
                          "transforms": [ ]
                        }
                      ],
                      "matchProcessingBehavior": "Continue"
                    }}
Type              : Microsoft.Network/frontdoors/rulesengines
```

### `Get-AzFrontDoorWafPolicy`

The return value changes.

#### before
```powershell
Get-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $resourceGroupName
```

```output
Name         PolicyMode PolicyEnabledState CustomBlockResponseStatusCode RedirectUrl
----         ---------- ------------------ ----------------------------- -----------
{policyName} Prevention            Enabled                           403 https://www.bing.com/
```

#### After

```powershell
Get-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $resourceGroupName
```

```output
Customrule           : {customrule0, customrule01}
Etag                 :
FrontendEndpointLink : {}
Id                   : /subscriptions/{subid}/resourcegroups/{rg}/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/{policyName}
Location             : Global
ManagedRuleSet       : {{
                         "ruleSetType": "Microsoft_DefaultRuleSet",
                         "ruleSetVersion": "2.0",
                         "ruleSetAction": "Block",
                         "exclusions": [ ],
                         "ruleGroupOverrides": [ ]
                       }}
Name                 : {policyName}
PolicySetting        : {
                         "enabledState": "Enabled",
                         "mode": "Detection",
                         "customBlockResponseStatusCode": 403,
                         "requestBodyCheck": "Enabled"
                       }
ProvisioningState    : Succeeded
ResourceGroupName    : {rg}
ResourceState        : Enabled
RoutingRuleLink      :
SecurityPolicyLink   : {{
                         "id": "/subscriptions/{subid}/resourcegroups/{rg}/providers/Microsoft.Cdn/profiles/hdis-fe/securitypolicies/premium"
                       }}
SkuName              : Premium_AzureFrontDoor
Tag                  : {
                       }
Type                 : Microsoft.Network/frontdoorwebapplicationfirewallpolicies
```

### `New-AzFrontDoor`

The return type field names have been changed from plural to singular

#### Before

```powershell
New-AzFrontDoor -Name "frontDoor1" -ResourceGroupName "rg1" -RoutingRule $routingrule1 -BackendPool $backendpool1 -FrontendEndpoint $frontendEndpoint1 -LoadBalancingSetting $loadBalancingSetting1 -HealthProbeSetting $healthProbeSetting1 -BackendPoolsSetting $backendPoolsSetting1
```

```output
FriendlyName                : frontdoor1
RoutingRules                : {routingrule1}
BackendPools                : {backendpool1}
BackendPoolsSetting         : {backendPoolsSetting1}
EnforceCertificateNameCheck : {backendPoolsSetting1.EnforceCertificateNameCheck}
HealthProbeSettings         : {healthProbeSetting1}
LoadBalancingSettings       : {loadbalancingsetting1}
FrontendEndpoints           : {frontendendpoint1}
EnabledState                : Enabled
ResourceState               : Enabled
ProvisioningState           : Succeeded
Cname                       :
Tags                        : {tag1, tag2}
Id                          : /subscriptions/{guid}/resourcegroups/rg1/providers/Microsoft.Network/frontdoors/frontdoor1
Name                        : frontdoor1
Type                        : Microsoft.Network/frontdoors
```

#### After

```powershell
New-AzFrontDoor -Name "frontDoor1" -ResourceGroupName "rg1" -RoutingRule $routingrule1 -BackendPool $backendpool1 -FrontendEndpoint $frontendEndpoint1 -LoadBalancingSetting $loadBalancingSetting1 -HealthProbeSetting $healthProbeSetting1 -BackendPoolsSetting $backendPoolsSetting1
```

```output
BackendPool          : {backendpool1}
BackendPoolsSetting  : {backendPoolsSetting1}
Cname                :
EnabledState         : Disabled
ExtendedProperty     : {
                         "MigratedTo": {link0}
                       }
FriendlyName         : frontDoor1
FrontdoorId          : {guid0}
FrontendEndpoint     : {frontendEndpoint1}
HealthProbeSetting   : {HealthProbeSetting1}
Id                   : /subscriptions/{guid}/resourcegroups/rg1/providers/M
                        icrosoft.Network/frontdoors/frontdoor1
LoadBalancingSetting : {LoadBalancingSetting1}
Location             : Global
Name                 : frontDoor1
ProvisioningState    : Succeeded
ResourceGroupName    : {rg1}
ResourceState        : Migrated
RoutingRule          : {RoutingRule1}
RulesEngine          : {RulesEngine0,RulesEngine1}
Tag                  : {
                       }
Type                 : Microsoft.Network/frontdoors
```

### `New-AzFrontDoorBackendPoolObject`

The return type field names have been changed from plural to singular

#### Before
```powershell
New-AzFrontDoorBackendPoolObject -Name "backendpool1" -FrontDoorName $Name -ResourceGroupName $resourceGroupName -Backend $backend1 -HealthProbeSettingsName "healthProbeSetting1" -LoadBalancingSettingsName "loadBalancingSetting1"
```

```output
Backends                : {Microsoft.Azure.Commands.FrontDoor.Models.PSBackend}
LoadBalancingSettingRef : /subscriptions/{subid}/resourceGroups/{resourceGroupName}/providers
                          /Microsoft.Network/frontDoors/frontdoor5/LoadBalancingSettings/loadBalancingSetting1
HealthProbeSettingRef   : /subscriptions/{subid}/resourceGroups/{resourceGroupName}/providers
                          /Microsoft.Network/frontDoors/frontdoor5/HealthProbeSettings/healthProbeSetting1
EnabledState            : Enabled
ResourceState           :
Id                      :
Name                    : backendpool1
Type                    :
```

#### After
```powershell
New-AzFrontDoorBackendPoolObject -Name "backendpool1" -FrontDoorName $Name -ResourceGroupName $resourceGroupName -Backend $backend1 -HealthProbeSettingsName "healthProbeSetting1" -LoadBalancingSettingsName "loadBalancingSetting1"
```

```output
Backend                :
HealthProbeSettingId   : /subscriptions/27cafca8-b9a4-4264-b399-45d0c9cca1ab/resourceGroups//providers/Microsoft.Network/frontDoors//HealthProbeSettings/healthProbeSetting1
Id                     :
LoadBalancingSettingId : /subscriptions/27cafca8-b9a4-4264-b399-45d0c9cca1ab/resourceGroups//providers/Microsoft.Network/frontDoors//LoadBalancingSettings/loadBalancingSetting1
Name                   : backendpool1
ResourceState          :
Type                   :
```

### `New-AzFrontDoorRoutingRuleObject`
The return type field names have been changed from plural to singular

#### Before
```powershell
New-AzFrontDoorRoutingRuleObject -Name $routingRuleName -FrontDoorName $frontDoorName -ResourceGroupName $rgname -FrontendEndpointName "frontendEndpoint1" -BackendPoolName "backendPool1"
```

```output
FrontendEndpointIds          : {/subscriptions/{subid}/resourceGroups/{rgname}/pro
                               viders/Microsoft.Network/frontDoors/{frontdoorname}/FrontendEndpoints/frontendEndpoint1}
AcceptedProtocols            : {Http, Https}
PatternsToMatch              : {/*}
HealthProbeSettings          :
RouteConfiguration           : Microsoft.Azure.Commands.FrontDoor.Models.PSForwardingConfiguration
EnabledState                 : Enabled
ResourceState                :
Id                           :
Name                         : {routingRuleName}
Type                         :
```

#### After
### Example 1: Create a PSRoutingRuleObject for Front Door creation with a forwarding rule
```powershell
New-AzFrontDoorRoutingRuleObject -Name $routingRuleName -FrontDoorName $frontDoorName -ResourceGroupName $rgname -FrontendEndpointName "frontendEndpoint1" -BackendPoolName "backendPool1"
```

```output
AcceptedProtocol                   : {Http, Https}
EnabledState                       : Enabled
FrontendEndpoint                   : {{
                                       "id": "/subscriptions/{subid}/resourceGroups/{rg}/providers/Microsoft.Network/frontDoors/{fname}/FrontendEndpoints/frontendEndpoint1"
                                     }}
Id                                 :
Name                               :
PatternsToMatch                    : {/*}
ResourceState                      :
RouteConfiguration                 : {
                                       "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
                                       "backendPool": {
                                         "id": "/subscriptions/{subid}/resourceGroups/{rg}/providers/Microsoft.Network/frontDoors/{fname}/BackendPools/backendPool1"
                                       },
                                       "forwardingProtocol": "MatchRequest"
                                     }
RuleEngineId                       :
Type                               :
WebApplicationFirewallPolicyLinkId :
```

### `New-AzFrontDoorRulesEngine`

Return field "RulesEngineRules" has been changed to Rule

#### Before

```powershell
New-AzFrontDoorRulesEngine -ResourceGroupName $resourceGroupName -FrontDoorName $frontDoorName -Name myRulesEngine -Rule $rulesEngineRule1
```

```output
Name          RulesEngineRules
----          ----------------
myRulesEngine {rules1}
```

#### After

```powershell
New-AzFrontDoorRulesEngine -ResourceGroupName $resourceGroupName -FrontDoorName $frontDoorName -Name myRulesEngine -Rule $rulesEngineRule1
```

```output
Id                : /subscriptions/{subId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Network/frontdoors/{frontDoorName}/rulesengines/rulesengine3
Name              : rulesengine3
ResourceGroupName : {resourceGroupName}
ResourceState     : Enabled
Rule              : {{
                      "name": "rule111",
                      "priority": 0,
                      "action": {
                        "requestHeaderActions": [ ],
                        "responseHeaderActions": [
                          {
                            "headerActionType": "Overwrite",
                            "headerName": "ff",
                            "value": "ff"
                          }
                        ]
                      },
                      "matchConditions": [
                        {
                          "rulesEngineMatchVariable": "QueryString",
                          "rulesEngineOperator": "Contains",
                          "negateCondition": false,
                          "rulesEngineMatchValue": [ "fdfd" ],
                          "transforms": [ ]
                        }
                      ],
                      "matchProcessingBehavior": "Continue"
                    }}
Type              : Microsoft.Network/frontdoors/rulesengines
```

### `New-AzFrontDoorRulesEngineMatchConditionObject`

Return field names have been changed


#### Before
```powershell
New-AzFrontDoorRulesEngineMatchConditionObject -MatchVariable RequestHeader -Operator Equal -MatchValue allowoverride -Transform "LowerCase", "UpperCase"-Selector Rules-Engine-Route-Forward -NegateCondition $false
```

```output
RulesEngineMatchVariable : RequestHeader
RulesEngineMatchValue    : {allowoverride}
Selector                 : Rules-Engine-Route-Forward
RulesEngineOperator      : Equal
NegateCondition          : False
Transform                : {Lowercase, Uppercase}
```
#### After
```powershell
New-AzFrontDoorRulesEngineMatchConditionObject -MatchVariable RequestHeader -Operator Equal -MatchValue allowoverride -Transform "LowerCase", "UpperCase"-Selector Rules-Engine-Route-Forward -NegateCondition $false
```

```output
MatchValue      : {allowoverride}
MatchVariable   : RequestHeader
NegateCondition : False
Operator        : Equal
Selector        : Rules-Engine-Route-Forward
Transform       : {LowerCase, UpperCase}
```

### `New-AzFrontDoorWafManagedRuleObject`

The return type field names have been changed from plural to singular

#### Before
```powershell
$ruleOverride1 = New-AzFrontDoorWafManagedRuleOverrideObject -RuleId "942250" -Action Log
$ruleOverride2 = New-AzFrontDoorWafManagedRuleOverrideObject -RuleId "942251" -Action Log
$override1 = New-AzFrontDoorWafRuleGroupOverrideObject -RuleGroupName SQLI -ManagedRuleOverride $ruleOverride1,$ruleOverride2

$ruleOverride3 = New-AzFrontDoorWafManagedRuleOverrideObject -RuleId "941280" -Action Log
$override2 = New-AzFrontDoorWafRuleGroupOverrideObject -RuleGroupName XSS -ManagedRuleOverride $ruleOverride3

New-AzFrontDoorWafManagedRuleObject -Type DefaultRuleSet -Version "preview-0.1" -RuleGroupOverride $override1,$override2
```

```output
RuleGroupOverrides RuleSetType    RuleSetVersion
------------------ -----------    --------------
{SQLI, XSS}        DefaultRuleSet preview-0.1
```

#### After

#### Before
```powershell
$ruleOverride1 = New-AzFrontDoorWafManagedRuleOverrideObject -RuleId "942250" -Action Log
$ruleOverride2 = New-AzFrontDoorWafManagedRuleOverrideObject -RuleId "942251" -Action Log
$override1 = New-AzFrontDoorWafRuleGroupOverrideObject -RuleGroupName SQLI -ManagedRuleOverride $ruleOverride1,$ruleOverride2

$ruleOverride3 = New-AzFrontDoorWafManagedRuleOverrideObject -RuleId "941280" -Action Log
$override2 = New-AzFrontDoorWafRuleGroupOverrideObject -RuleGroupName XSS -ManagedRuleOverride $ruleOverride3

New-AzFrontDoorWafManagedRuleObject -Type DefaultRuleSet -Version "preview-0.1" -RuleGroupOverride $override1,$override2
```

```output
Exclusion         :
RuleGroupOverride : {{
                      "ruleGroupName": "SQLI",
                      "rules": [
                        {
                          "ruleId": "942250",
                          "action": "Log"
                        },
                        {
                          "ruleId": "942251",
                          "action": "Log"
                        }
                      ]
                    }, {
                      "ruleGroupName": "XSS",
                      "rules": [
                        {
                          "ruleId": "941280",
                          "action": "Log"
                        }
                      ]
                    }}
RuleSetAction     :
Type              : DefaultRuleSet
Version           : preview-0.1
```

### `New-AzFrontDoorWafMatchConditionObject`

Return field names have been changed


#### Before
```powershell
New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestHeader -OperatorProperty Contains -Selector "User-Agent" -MatchValue "Windows"
```

```output
MatchVariable OperatorProperty MatchValue Selector   NegateCondition Transform
------------- ---------------- ---------- --------   --------------- ---------
RequestHeader Contains         {Windows}  User-Agent           False

```

#### After
```powershell
New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestHeader -OperatorProperty Contains -Selector "User-Agent" -MatchValue "Windows"
```

```output
MatchValue       : {Windows}
MatchVariable    : RequestHeader
NegateCondition  :
OperatorProperty : Contains
Selector         : User-Agent
Transform        :

```

### `New-AzFrontDoorWafPolicy`

The return value changes.

#### before
```powershell
New-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $resourceGroupName -Customrule $customRule1,$customRule2 -ManagedRule $managedRule1 -EnabledState Enabled -Mode Prevention -RedirectUrl "https://www.bing.com/" -CustomBlockResponseStatusCode 405 -CustomBlockResponseBody "<html><head><title>You are blocked!</title></head><body></body></html>"
```

```output
Name         PolicyMode PolicyEnabledState RedirectUrl
----         ---------- ------------------ -----------
{policyName} Prevention            Enabled https://www.bing.com/
```

#### After

```powershell
New-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $resourceGroupName -Customrule $customRule1,$customRule2 -ManagedRule $managedRule1 -EnabledState Enabled -Mode Prevention -RedirectUrl "https://www.bing.com/" -CustomBlockResponseStatusCode 405 -CustomBlockResponseBody "<html><head><title>You are blocked!</title></head><body></body></html>"
```

```output
Customrule           : {customrule0, customrule01}
Etag                 :
FrontendEndpointLink : {}
Id                   : /subscriptions/{subid}/resourcegroups/{rg}/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/{policyName}
Location             : Global
ManagedRuleSet       : {{
                         "ruleSetType": "Microsoft_DefaultRuleSet",
                         "ruleSetVersion": "2.0",
                         "ruleSetAction": "Block",
                         "exclusions": [ ],
                         "ruleGroupOverrides": [ ]
                       }}
Name                 : {policyName}
PolicySetting        : {
                         "enabledState": "Enabled",
                         "mode": "Detection",
                         "customBlockResponseStatusCode": 403,
                         "requestBodyCheck": "Enabled"
                       }
ProvisioningState    : Succeeded
ResourceGroupName    : {rg}
ResourceState        : Enabled
RoutingRuleLink      :
SecurityPolicyLink   : {{
                         "id": "/subscriptions/{subid}/resourcegroups/{rg}/providers/Microsoft.Cdn/profiles/hdis-fe/securitypolicies/premium"
                       }}
SkuName              : Premium_AzureFrontDoor
Tag                  : {
                       }
Type                 : Microsoft.Network/frontdoorwebapplicationfirewallpolicies
```

### `New-AzFrontDoorWafManagedRuleOverrideObject`

The return type field names have been changed from plural to singular

#### Before

```powershell
$ruleOverride1 = New-AzFrontDoorWafManagedRuleOverrideObject -RuleId "942250" -Action Log
$ruleOverride2 = New-AzFrontDoorWafManagedRuleOverrideObject -RuleId "942251" -Action Log

New-AzFrontDoorWafRuleGroupOverrideObject -RuleGroupName SQLI -ManagedRuleOverride $ruleOverride1,$ruleOverride2
```

```output
RuleGroupName ManagedRuleOverrides
------------- --------------------
SQLI          {942250, 942251}
```



### After
```powershell
$ruleOverride1 = New-AzFrontDoorWafManagedRuleOverrideObject -RuleId "942250" -Action Log
$ruleOverride2 = New-AzFrontDoorWafManagedRuleOverrideObject -RuleId "942251" -Action Log

New-AzFrontDoorWafRuleGroupOverrideObject -RuleGroupName SQLI -ManagedRuleOverride $ruleOverride1,$ruleOverride2
```

```output
Exclusion ManagedRuleOverride                                                                              RuleGroupName
--------- -------------------                                                                              -------------
          {{…                                                                                              SQLI
```

### `New-AzFrontDoor`

The return type field names have been changed from plural to singular

#### Before

```powershell
Set-AzFrontDoor -Name "frontDoor1" -ResourceGroupName "resourceGroup1" -RoutingRule $routingrule1 -BackendPool $backendpool1 -FrontendEndpoint $frontendEndpoint1 -LoadBalancingSetting $loadBalancingSetting1 -HealthProbeSetting $healthProbeSetting1 -BackendPoolsSetting $backendPoolsSetting1
```

```output
FriendlyName                : frontdoor1
RoutingRules                : {routingrule1}
BackendPools                : {backendpool1}
BackendPoolsSetting         : {backendPoolsSetting1}
EnforceCertificateNameCheck : {backendPoolsSetting1.EnforceCertificateNameCheck}
HealthProbeSettings         : {healthProbeSetting1}
LoadBalancingSettings       : {loadbalancingsetting1}
FrontendEndpoints           : {frontendendpoint1}
EnabledState                : Enabled
ResourceState               : Enabled
ProvisioningState           : Succeeded
Cname                       :
Tags                        : {tag1, tag2}
Id                          : /subscriptions/{guid}/resourcegroups/rg1/providers/Microsoft.Network/frontdoors/frontdoor1
Name                        : frontdoor1
Type                        : Microsoft.Network/frontdoors
```

#### After

```powershell
Set-AzFrontDoor -Name "frontDoor1" -ResourceGroupName "resourceGroup1" -RoutingRule $routingrule1 -BackendPool $backendpool1 -FrontendEndpoint $frontendEndpoint1 -LoadBalancingSetting $loadBalancingSetting1 -HealthProbeSetting $healthProbeSetting1 -BackendPoolsSetting $backendPoolsSetting1
```

```output
BackendPool          : {backendpool1}
BackendPoolsSetting  : {backendPoolsSetting1}
Cname                :
EnabledState         : Disabled
ExtendedProperty     : {
                         "MigratedTo": {link0}
                       }
FriendlyName         : frontDoor1
FrontdoorId          : {guid0}
FrontendEndpoint     : {frontendEndpoint1}
HealthProbeSetting   : {HealthProbeSetting1}
Id                   : /subscriptions/{guid}/resourcegroups/rg1/providers/M
                        icrosoft.Network/frontdoors/frontdoor1
LoadBalancingSetting : {LoadBalancingSetting1}
Location             : Global
Name                 : frontDoor1
ProvisioningState    : Succeeded
ResourceGroupName    : {rg1}
ResourceState        : Migrated
RoutingRule          : {RoutingRule1}
RulesEngine          : {RulesEngine0,RulesEngine1}
Tag                  : {
                       }
Type                 : Microsoft.Network/frontdoors
```

### `Set-AzFrontDoorRulesEngine`

Return field "RulesEngineRules" has been changed to Rule

#### Before

```powershell
Set-AzFrontDoorRulesEngine -ResourceGroupName $resourceGroupName -FrontDoorName $frontDoorName -Name myRulesEngine -Rule $rulesEngineRule1
```

```output
Name          RulesEngineRules
----          ----------------
myRulesEngine {rules1}
```

#### After

```powershell
Set-AzFrontDoorRulesEngine -ResourceGroupName $resourceGroupName -FrontDoorName $frontDoorName -Name myRulesEngine -Rule $rulesEngineRule1
```

```output
Id                : /subscriptions/{subId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Network/frontdoors/{frontDoorName}/rulesengines/rulesengine3
Name              : rulesengine3
ResourceGroupName : {resourceGroupName}
ResourceState     : Enabled
Rule              : {{
                      "name": "rule111",
                      "priority": 0,
                      "action": {
                        "requestHeaderActions": [ ],
                        "responseHeaderActions": [
                          {
                            "headerActionType": "Overwrite",
                            "headerName": "ff",
                            "value": "ff"
                          }
                        ]
                      },
                      "matchConditions": [
                        {
                          "rulesEngineMatchVariable": "QueryString",
                          "rulesEngineOperator": "Contains",
                          "negateCondition": false,
                          "rulesEngineMatchValue": [ "fdfd" ],
                          "transforms": [ ]
                        }
                      ],
                      "matchProcessingBehavior": "Continue"
                    }}
Type              : Microsoft.Network/frontdoors/rulesengines
```


### `Update-AzFrontDoorWafPolicy`

The return value changes.

#### before
```powershell
Update-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $resourceGroupName -Customrule $customRule1,$customRule2 -ManagedRule $managedRule1 -EnabledState Enabled -Mode Prevention -RedirectUrl "https://www.bing.com/" -CustomBlockResponseStatusCode 405 -CustomBlockResponseBody "<html><head><title>You are blocked!</title></head><body></body></html>"
```

```output
Name         PolicyMode PolicyEnabledState RedirectUrl
----         ---------- ------------------ -----------
{policyName} Prevention            Enabled https://www.bing.com/
```

#### After

```powershell
Update-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $resourceGroupName -Customrule $customRule1,$customRule2 -ManagedRule $managedRule1 -EnabledState Enabled -Mode Prevention -RedirectUrl "https://www.bing.com/" -CustomBlockResponseStatusCode 405 -CustomBlockResponseBody "<html><head><title>You are blocked!</title></head><body></body></html>"
```

```output
Customrule           : {customrule0, customrule01}
Etag                 :
FrontendEndpointLink : {}
Id                   : /subscriptions/{subid}/resourcegroups/{rg}/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/{policyName}
Location             : Global
ManagedRuleSet       : {{
                         "ruleSetType": "Microsoft_DefaultRuleSet",
                         "ruleSetVersion": "2.0",
                         "ruleSetAction": "Block",
                         "exclusions": [ ],
                         "ruleGroupOverrides": [ ]
                       }}
Name                 : {policyName}
PolicySetting        : {
                         "enabledState": "Enabled",
                         "mode": "Detection",
                         "customBlockResponseStatusCode": 403,
                         "requestBodyCheck": "Enabled"
                       }
ProvisioningState    : Succeeded
ResourceGroupName    : {rg}
ResourceState        : Enabled
RoutingRuleLink      :
SecurityPolicyLink   : {{
                         "id": "/subscriptions/{subid}/resourcegroups/{rg}/providers/Microsoft.Cdn/profiles/hdis-fe/securitypolicies/premium"
                       }}
SkuName              : Premium_AzureFrontDoor
Tag                  : {
                       }
Type                 : Microsoft.Network/frontdoorwebapplicationfirewallpolicies
```

### Get-AzCdnProfile
The usage stays the same

#### Before
```
Get-AzCdnProfile -ResourceGroupName testps-rg-da16jm
```
#### After
```
Get-AzCdnProfile -ResourceGroupName testps-rg-da16jm
```

### Get-AzFrontDoorCdnProfile
The usage stays the same

#### Before
```
Get-AzFrontDoorCdnProfile -ResourceGroupName testps-rg-da16jm
```
#### After
```
Get-AzFrontDoorCdnProfile -ResourceGroupName testps-rg-da16jm
```

### New-AzCdnProfile
The usage stays the same

#### Before
```
New-AzCdnProfile -ResourceGroupName testps-rg-da16jm -Name cdn001 -SkuName Standard_Microsoft -Location Global
```
#### After
```
New-AzCdnProfile -ResourceGroupName testps-rg-da16jm -Name cdn001 -SkuName Standard_Microsoft -Location Global
```

### New-AzFrontDoorCdnProfile
The usage stays the same

#### Before
```
New-AzFrontDoorCdnProfile -ResourceGroupName testps-rg-da16jm -Name fdp-v542q6 -SkuName Standard_AzureFrontDoor -Location Global
```
#### After
```
New-AzFrontDoorCdnProfile -ResourceGroupName testps-rg-da16jm -Name fdp-v542q6 -SkuName Standard_AzureFrontDoor -Location Global
```

### Update-AzCdnProfile
The usage stays the same

#### Before
```
$tags = @{
    Tag1 = 11
    Tag2  = 22
}
Update-AzCdnProfile -ResourceGroupName testps-rg-da16jm -Name cdn001 -Tag $tags
```
#### After
```
$tags = @{
    Tag1 = 11
    Tag2  = 22
}
Update-AzCdnProfile -ResourceGroupName testps-rg-da16jm -Name cdn001 -Tag $tags
```

### Update-AzFrontDoorCdnProfile
The usage stays the same

#### Before
```
$tags = @{
    Tag1 = 11
    Tag2  = 22
}
Update-AzFrontDoorCdnProfile -ResourceGroupName testps-rg-da16jm -Name fdp-v542q6 -Tag $tags
```
#### After
```
$tags = @{
    Tag1 = 11
    Tag2  = 22
}
Update-AzFrontDoorCdnProfile -ResourceGroupName testps-rg-da16jm -Name fdp-v542q6 -Tag $tags
```

### Update-AzFrontDoorCdnProfileSku
The usage stays the same

#### Before
```
$nullUpgradePara = @{}
Update-AzFrontDoorCdnProfileSku -ProfileName profileName -ResourceGroupName rgName -ProfileUpgradeParameter $nullUpgradePara
```
#### After
```
$nullUpgradePara = @{}
Update-AzFrontDoorCdnProfileSku -ProfileName profileName -ResourceGroupName rgName -ProfileUpgradeParameter $nullUpgradePara
```

## Az.Oracle

### `New-AzOracleAutonomousDatabase` and `Update-AzOracleAutonomousDatabase`


Cmdlets exposed a parameter named -ScheduledOperations, however he functionality was not implemented. 
The parameter has been renamed to -ScheduledOperationsList and now requires a nested object for specifying the day of the week. This new parameter enables the previously blocked granular scheduling functionality via the updated API schema.

#### Before

```PowerShell
$db = New-AzOracleAutonomousDatabase -ResourceGroupName "rg000" -Name "databasedb1" `
    -AutonomousMaintenanceScheduleType "Regular" `
    -Location "eastus" -AdminPassword '********' -DataStorageSizeInTb 1
```

#### After

```PowerShell

# Define a specific daily schedule 
$schedule = @{
    DayOfWeek = @{ Name = "Monday" } 
    ScheduledStartTime = "04:00" 
    ScheduledStopTime = "10:00" 
}

$db = New-AzOracleAutonomousDatabase -ResourceGroupName "rg000" -Name "databasedb1" `
    -AutonomousMaintenanceScheduleType "Regular" `
    -ScheduledOperationsList @($schedule) ` # <-- New parameter name (now functional)
    -Location "eastus" -AdminPassword '********' -DataStorageSizeInTb 1

# The output object has changed to ScheduledOperationsList and has the new nested structure.
$db.ScheduledOperationsList
```

## Az.ServiceFabric

### `Set-AzServiceFabricManagedNodeType`

Removed `ReimageByName`, `ReimageById`, and `ReimageByObj` parameter sets from `Set-AzServiceFabricManagedNodeType`. Use `Invoke-AzServiceFabricReimageManagedNodeType` cmdlet instead.

#### Before
```powershell
$rgName = "testRG"
$clusterName = "testCluster"
$nodeTypeName= "nt1"
Set-AzServiceFabricManagedNodeType -ResourceGroupName $rgName -ClusterName $clusterName  -Name $nodeTypeName -Reimage -NodeName nt1_0, nt1_3
```

#### After
```powershell
$rgName = "testRG"
$clusterName = "testCluster"
$nodeTypeName = "nt1"
Invoke-AzServiceFabricReimageManagedNodeType -ResourceGroupName $rgName -ClusterName $clusterName  -Name $nodeTypeName -NodeName nt1_0, nt1_3
```

## Modules migrated from autorest v3 to autorest v4

To maintain behavioral consistency and introduce new features supported by AutoRest v4, we have upgraded many modules to use AutoRest v4.
This upgrade has introduced several breaking changes.
Details about potential breaking changes and their mitigation approaches can be found at the following [link](https://go.microsoft.com/fwlink/?linkid=2333486).

### Potentially affected modules

- Az.Advisor
- Az.ApplicationInsights
- Az.ArcResourceBridge
- Az.Attestation
- Az.Automanage
- Az.Compute
- Az.ConfidentialLedger
- Az.ContainerRegistry
- Az.Dns
- Az.HealthcareApis
- Az.Monitor
- Az.NetworkCloud
- Az.Nginx
- Az.Relay
- Az.StorageMover
- Az.StreamAnalytics
- Az.Workloads

---

### Documentation Migration Guides Az.16.0.0 Migration Guide (`documentation/migration-guides/Az.16.0.0-migration-guide.md`)

# Migration Guide for Az 16.0.0

## Az.DesktopVirtualization

### `Update-AzWvdApplication`

- Parameter breaking-change will happen to all parameter sets
  - `-Tag`
    - The parameter : 'Tag' is changing.
    - Change description : The parameter 'Tag' will be removed from the Update cmdlet of Application. 
    - This change will take effect on '6/2/2026'- The change is expected to take effect from Az version : '16.0.0'
    - The change is expected to take effect in 'Az.DesktopVirtualization' from version : '6.0.0'


#### Before
```powershell
Update-AzWvdApplication -ResourceGroupName 'RGName' -GroupName 'AppGroupName' -Name 'AppName' -Tag @{ Env = "Prod" } -FriendlyName 'AppFriendlyName' 
```
#### After
```powershell
Update-AzWvdApplication -ResourceGroupName 'RGName' -GroupName 'AppGroupName' -Name 'AppName' -FriendlyName 'AppFriendlyName' 
```


### `Update-AzWvdDesktop`

- Parameter breaking-change will happen to all parameter sets
  - `-Tag`
    - The parameter : 'Tag' is changing.
    - Change description : The parameter 'Tag' will be removed from the Update cmdlet of Desktop. 
    - This change will take effect on '6/2/2026'- The change is expected to take effect from Az version : '16.0.0'
    - The change is expected to take effect in 'Az.DesktopVirtualization' from version : '6.0.0'


#### Before
```powershell
Update-AzWvdDesktop -ResourceGroupName 'RGName' -ApplicationGroupName 'AppGroupName' -Name 'DesktopName' -FriendlyName 'DesktopFriendlyName' -Tag @{ Env = "Prod" }
```
#### After
```powershell
Update-AzWvdDesktop -ResourceGroupName 'RGName' -ApplicationGroupName 'AppGroupName' -Name 'DesktopName' -FriendlyName 'DesktopFriendlyName'
```


## Az.NetworkCloud

### `Update-AzNetworkCloudVirtualMachine`
- Cmdlet breaking-change will happen to all parameter sets - The cmdlet will no longer support the 'JsonString' and 'JsonFilePath' parameter sets. The 'UpdateViaJsonString' and 'UpdateViaJsonFilePath' sets have been removed. - Guidance: Update scripts to use the expanded parameter sets instead of passing JSON input. - This change is expected to take effect on 5/1/2026, from Az.NetworkCloud version: 3.0.0 and Az version: 16.0.0

#### Before
```powershell
$json = @"
{ "location": "eastus", "extendedLocation": { "name": "myCustomLocation", "type": "CustomLocation" }, "tags": { "env": "test" }
}
"@
Update-AzNetworkCloudVirtualMachine ` -ResourceGroupName MyRg ` -Name MyResource ` -JsonString $json
```
#### After
```powershell
Update-AzNetworkCloudVirtualMachine -ResourceGroupName MyRg -Name MyResource -Location "eastus" -ExtendedLocationName "myCustomLocation" -ExtendedLocationType "CustomLocation" -Tag @{ env = "test" }
```


## Az.PolicyInsights

### `Get-AzPolicyAttestation`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Microsoft.Azure.Commands.PolicyInsights.Models.Attestations.PSAttestation' to the new type :'Attestation'
  - The following properties in the output type are being deprecated : 'SystemData'
  - The following properties are being added to the output type : 'ResourceGroupName' 'SystemDataCreatedAt' 'SystemDataCreatedBy' 'SystemDataCreatedByType' 'SystemDataLastModifiedAt' 'SystemDataLastModifiedBy' 'SystemDataLastModifiedByType'
  - This change is expected to take effect from Az.PolicyInsights version: 2.0.0 and Az version: 16.0.0


#### Before
```powershell
$attestation = Get-AzPolicyAttestation -ResourceGroupName "ps-attestation-test-rg" -Name "Attestation-RGScope-Crud"
[Microsoft.Azure.Commands.PolicyInsights.Models.Attestations.PSAttestation]$attestation = $attestation
$creationTime = $attestation.SystemData.CreatedAt
```
#### After
```powershell
$attestation = Get-AzPolicyAttestation -ResourceGroupName "ps-attestation-test-rg" -Name "Attestation-RGScope-Crud"
[Microsoft.Azure.PowerShell.Cmdlets.PolicyInsights.Models.IAttestation]$attestation = $attestation
$creationTime = $attestation.SystemDataCreatedAt
```


### `Get-AzPolicyEvent`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.PolicyInsights.Models.PolicyEvent' is changing
  - The following properties in the output type are being deprecated : 'ResourceTags' 'ManagementGroupIds'
  - The following properties are being added to the output type : 'ResourceTag' 'ManagementGroupId' 'ComplianceState' 'Component' 'EffectiveParameter' 'OdataContext' 'OdataId' 'Keys' 'Values' 'Count' 'AdditionalProperties'
  - This change is expected to take effect from Az.PolicyInsights version: 2.0.0 and Az version: 16.0.0


#### Before
```powershell
$event = Get-AzPolicyEvent -ResourceGroupName "myResourceGroup" -PolicyAssignmentName "ddd8ef92e3714a5ea3d208c1"
[Microsoft.Azure.Commands.PolicyInsights.Models.PolicyEvent]$event = $event 
$managementGroup = $event[0].ManagementGroupIds
```
#### After
```powershell
$event = Get-AzPolicyEvent -ResourceGroupName "myResourceGroup" -PolicyAssignmentName "ddd8ef92e3714a5ea3d208c1"
[Microsoft.Azure.PowerShell.Cmdlets.PolicyInsights.Models.IPolicyEvent]$event = $event
$managementGroup = $event[0].ManagementGroupId
```


### `Get-AzPolicyMetadata`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Microsoft.Azure.Commands.PolicyInsights.Models.PSPolicyMetadata' to the new type :'PolicyMetadata'
  - The following properties are being added to the output type : 'ResourceGroupName'
  - This change is expected to take effect from Az.PolicyInsights version: 2.0.0 and Az version: 16.0.0


#### Before
```powershell
$metadata = Get-AzPolicyMetadata -Name ACF1348
[Microsoft.Azure.Commands.PolicyInsights.Models.PSPolicyMetadata]$metadata = $metadata
```
#### After
```powershell
$metadata = Get-AzPolicyMetadata -Name ACF1348
[Microsoft.Azure.PowerShell.Cmdlets.PolicyInsights.Models.PolicyMetadata]$metadata = $metadata
```


### `Get-AzPolicyRemediation`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Microsoft.Azure.Commands.PolicyInsights.Models.Remediation.PSRemediation' to the new type :'Remediation'
  - The following properties in the output type are being deprecated : 'Filters' 'DeploymentSummary' 'FailureThreshold' 'ParallelDeployments'
  - The following properties are being added to the output type : 'FilterLocation' 'FilterResourceId' 'DeploymentStatusFailedDeployment' 'DeploymentStatusSuccessfulDeployment' 'DeploymentStatusTotalDeployment' 'FailureThresholdPercentage' 'ParallelDeployment' 'ResourceGroupName' 'SystemDataCreatedAt' 'SystemDataCreatedBy' 'SystemDataCreatedByType' 'SystemDataLastModifiedAt' 'SystemDataLastModifiedBy' 'SystemDataLastModifiedByType'
  - This change is expected to take effect from Az.PolicyInsights version: 2.0.0 and Az version: 16.0.0


#### Before
```powershell
$remediation = Get-AzPolicyRemediation -ResourceGroupName "myResourceGroup" -Name "remediation1" -IncludeDetail
[Microsoft.Azure.Commands.PolicyInsights.Models.Remediation.PSRemediation]$remediation = $remediation
$locationFilter = $remediation.Filters.Locations
```
#### After
```powershell
$remediation = Get-AzPolicyRemediation -ResourceGroupName "myResourceGroup" -Name "remediation1" -IncludeDetail
[Microsoft.Azure.PowerShell.Cmdlets.PolicyInsights.Models.IRemediation]$remediation = $remediation
$locationFilter = $remediation.FilterLocation
```


### `Get-AzPolicyState`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.PolicyInsights.Models.PolicyState' is changing
  - The following properties in the output type are being deprecated : 'ResourceTags' 'ManagementGroupIds'
  - The following properties are being added to the output type : 'ResourceGroupName' 'ResourceTag' 'ManagementGroupId'
  - This change is expected to take effect from Az.PolicyInsights version: 2.0.0 and Az version: 16.0.0


#### Before
```powershell
$state = Get-AzPolicyState -ResourceGroupName "myResourceGroup" -PolicyAssignmentName "ddd8ef92e3714a5ea3d208c1"
[Microsoft.Azure.Commands.PolicyInsights.Models.PolicyState]$state = $state
$managementGroup = $state[0].ManagementGroupIds
```
#### After
```powershell
$state = Get-AzPolicyState -ResourceGroupName "myResourceGroup" -PolicyAssignmentName "ddd8ef92e3714a5ea3d208c1"
[Microsoft.Azure.PowerShell.Cmdlets.PolicyInsights.Models.IPolicyState]$state = $state
$managementGroup = $state[0].ManagementGroupId
```


### `Get-AzPolicyStateSummary`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.Commands.PolicyInsights.Models.PolicyStateSummary' is changing
  - The following properties in the output type are being deprecated : 'PolicyAssignments' 'Results'
  - The following properties are being added to the output type : 'PolicyAssignment' 'ResultCompliantResource' 'ResultNonCompliantPolicy' 'ResultNonCompliantResource' 'ResultPolicyDetail' 'ResultPolicyGroupDetail' 'ResultQueryResultsUri' 'ResultResourceDetail' 'OdataId' 'OdataContext'
  - This change is expected to take effect from Az.PolicyInsights version: 2.0.0 and Az version: 16.0.0


#### Before
```powershell
$stateSummary = Get-AzPolicyStateSummary -ManagementGroupName "myManagementGroup"
[Microsoft.Azure.Commands.PolicyInsights.Models.PolicyStateSummary]$stateSummary = $stateSummary
$nonCompliantResourceCount = $stateSummary.Results.NonCompliantResources
```
#### After
```powershell
$stateSummary = Get-AzPolicyStateSummary -ManagementGroupName "myManagementGroup"
[Microsoft.Azure.PowerShell.Cmdlets.PolicyInsights.Models.ISummary]$stateSummary = $stateSummary
$nonCompliantResourceCount = $stateSummary.ResultNonCompliantResource
```


### `New-AzPolicyAttestation`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Microsoft.Azure.Commands.PolicyInsights.Models.Attestations.PSAttestation' to the new type :'Attestation'
  - The following properties in the output type are being deprecated : 'SystemData'
  - The following properties are being added to the output type : 'ResourceGroupName' 'SystemDataCreatedAt' 'SystemDataCreatedBy' 'SystemDataCreatedByType' 'SystemDataLastModifiedAt' 'SystemDataLastModifiedBy' 'SystemDataLastModifiedByType'
  - This change is expected to take effect from Az.PolicyInsights version: 2.0.0 and Az version: 16.0.0


#### Before
```powershell
$attestation = New-AzPolicyAttestation -PolicyAssignmentId $policyAssignmentId -Name $attestationName -ComplianceState "Compliant"
[Microsoft.Azure.Commands.PolicyInsights.Models.Attestations.PSAttestation]$attestation = $attestation
$creationTime = $attestation.SystemData.CreatedAt
```
#### After
```powershell
$attestation = New-AzPolicyAttestation -PolicyAssignmentId $policyAssignmentId -Name $attestationName -ComplianceState "Compliant"
[Microsoft.Azure.PowerShell.Cmdlets.PolicyInsights.Models.IAttestation]$attestation = $attestation
$creationTime = $attestation.SystemDataCreatedAt
```


### `Set-AzPolicyAttestation`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type is changing from the existing type :'Microsoft.Azure.Commands.PolicyInsights.Models.Attestations.PSAttestation' to the new type :'Attestation'
  - The following properties in the output type are being deprecated : 'SystemData'
  - The following properties are being added to the output type : 'ResourceGroupName' 'SystemDataCreatedAt' 'SystemDataCreatedBy' 'SystemDataCreatedByType' 'SystemDataLastModifiedAt' 'SystemDataLastModifiedBy' 'SystemDataLastModifiedByType'
  - This change is expected to take effect from Az.PolicyInsights version: 2.0.0 and Az version: 16.0.0


#### Before
```powershell
$attestation = Set-AzPolicyAttestation -PolicyAssignmentId $policyAssignmentId -Name $attestationName -ComplianceState "NonCompliant" -Comment $comment
[Microsoft.Azure.Commands.PolicyInsights.Models.Attestations.PSAttestation]$attestation = $attestation
$creationTime = $attestation.SystemData.CreatedAt
```
#### After
```powershell
$attestation = Update-AzPolicyAttestation -PolicyAssignmentId $policyAssignmentId -Name $attestationName -ComplianceState "NonCompliant" -Comment $comment
[Microsoft.Azure.PowerShell.Cmdlets.PolicyInsights.Models.IAttestation]$attestation = $attestation
$creationTime = $attestation.SystemDataCreatedAt
```


### `Start-AzPolicyRemediation`

- Cmdlet breaking-change will happen to all parameter sets
  - Start-AzPolicyRemediation will now return when the Remediation reaches a terminal state unless you use the new NoWait parameter.
  - This change is expected to take effect from Az.PolicyInsights version: 2.0.0 and Az version: 16.0.0


#### Before
```powershell
$remediation = Start-AzPolicyRemediation -PolicyAssignmentId $policyAssignmentId -Name "remediation1"
[Microsoft.Azure.Commands.PolicyInsights.Models.Remediation.PSRemediation]$remediation = $remediation
$locationFilter = $remediation.Filters.Locations
```
#### After
```powershell
$remediation = Start-AzPolicyRemediation -PolicyAssignmentId $policyAssignmentId -Name "remediation1" -NoWait
[Microsoft.Azure.PowerShell.Cmdlets.PolicyInsights.Models.IRemediation]$remediation = $remediation
$locationFilter = $remediation.FilterLocation
```


### `Stop-AzPolicyRemediation`

- Cmdlet breaking-change will happen to all parameter sets
  - Stop-AzPolicyRemediation will now have a NoWait switch parameter as well as returning the Remediation object instead of just a boolean.
  - This change is expected to take effect from Az.PolicyInsights version: 2.0.0 and Az version: 16.0.0


#### Before
```powershell
$successfulBoolean = Stop-AzPolicyRemediation -ResourceGroupName "myRG" -Name "remediation1"
```
#### After
```powershell
$remediation = Stop-AzPolicyRemediation -ResourceGroupName "myRG" -Name "remediation1"
[Microsoft.Azure.PowerShell.Cmdlets.PolicyInsights.Models.IRemediation]$remediation = $remediation
```


## Az.Resources

### `Get-AzPolicyAssignment`
The `BackwardCompatible` parameter was previously introduced to preserve the legacy `.Properties`-based output shape. This parameter has now been removed. Cmdlets always return the modern flattened object shape, and legacy access via `.Properties.*` is no longer supported. Scripts must be updated to reference first‑class properties directly.

#### Before
```powershell
$policyAssignment = Get-AzPolicyAssignment -Name MyAssignment -BackwardCompatible
$description = $policyAssignment.Properties.Description
```
#### After
```powershell
$policyAssignment = Get-AzPolicyAssignment -Name MyAssignment
$description = $policyAssignment.Description
```


### `Get-AzPolicyDefinition`
The `BackwardCompatible` parameter was previously introduced to preserve the legacy `.Properties`-based output shape. This parameter has now been removed. Cmdlets always return the modern flattened object shape, and legacy access via `.Properties.*` is no longer supported. Scripts must be updated to reference first‑class properties directly.

#### Before
```powershell
$policyDefinition = Get-AzPolicyDefinition -Builtin -BackwardCompatible | select -First 1
$policyRule = $policyDefinition.Properties.PolicyRule
```
#### After
```powershell
$policyDefinition = Get-AzPolicyDefinition -Builtin | select -First 1
$policyRule = $policyDefinition.PolicyRule
```


### `Get-AzPolicyExemption`
The `BackwardCompatible` parameter was previously introduced to preserve the legacy `.Properties`-based output shape. This parameter has now been removed. Cmdlets always return the modern flattened object shape, and legacy access via `.Properties.*` is no longer supported. Scripts must be updated to reference first‑class properties directly.

#### Before
```powershell
$policyExemption = Get-AzPolicyExemption -Scope /providers/Microsoft.Management/managementGroups/myManagementGroup -Name MyExemption -BackwardCompatible
$expiresOn = $policyExemption.Properties.ExpiresOn
```
#### After
```powershell
$policyExemption = Get-AzPolicyExemption -Scope /providers/Microsoft.Management/managementGroups/myManagementGroup -Name MyExemption
$expiresOn = $policyExemption.ExpiresOn
```


### `Get-AzPolicySetDefinition`
The `BackwardCompatible` parameter was previously introduced to preserve the legacy `.Properties`-based output shape. This parameter has now been removed. Cmdlets always return the modern flattened object shape, and legacy access via `.Properties.*` is no longer supported. Scripts must be updated to reference first‑class properties directly.

#### Before
```powershell
$policySetDefinition = Get-AzPolicySetDefinition -Builtin -BackwardCompatible | select -First 1
$policySetParameters = $policySetDefinition.Properties.Parameters
```
#### After
```powershell
$policySetDefinition = Get-AzPolicySetDefinition -Builtin | select -First 1
$policySetParameters = $policySetDefinition.Parameter
```


### `New-AzPolicyAssignment`
The `BackwardCompatible` parameter was previously introduced to preserve the legacy `.Properties`-based output shape. This parameter has now been removed. Cmdlets always return the modern flattened object shape, and legacy access via `.Properties.*` is no longer supported. Scripts must be updated to reference first‑class properties directly.

#### Before
```powershell
$policyAssignment = New-AzPolicyAssignment -Name MyAssignment -PolicyDefinition MyPolicyDefinition -BackwardCompatible
$enforcementMode = $policyAssignment.Properties.EnforcementMode
```
#### After
```powershell
$policyAssignment = New-AzPolicyAssignment -Name MyAssignment -PolicyDefinition MyPolicyDefinition
$enforcementMode = $policyAssignment.EnforcementMode
```


### `New-AzPolicyDefinition`
The `BackwardCompatible` parameter was previously introduced to preserve the legacy `.Properties`-based output shape. This parameter has now been removed. Cmdlets always return the modern flattened object shape, and legacy access via `.Properties.*` is no longer supported. Scripts must be updated to reference first‑class properties directly.

#### Before
```powershell
$policyRule = '{ "if": { "field": "type", "like": "Microsoft.DesktopVirtualization/*" }, "then": { "effect": "deny" } }'
$policyDefinition = New-AzPolicyDefinition -Name MyDefinition -Policy $policyRule -BackwardCompatible
$policyType = $policyDefinition.Properties.PolicyType
```
#### After
```powershell
$policyRule = '{ "if": { "field": "type", "like": "Microsoft.DesktopVirtualization/*" }, "then": { "effect": "deny" } }'
$policyDefinition = New-AzPolicyDefinition -Name MyDefinition -Policy $policyRule
$policyType = $policyDefinition.PolicyType
```


### `New-AzPolicyExemption`
The `BackwardCompatible` parameter was previously introduced to preserve the legacy `.Properties`-based output shape. This parameter has now been removed. Cmdlets always return the modern flattened object shape, and legacy access via `.Properties.*` is no longer supported. Scripts must be updated to reference first‑class properties directly.

#### Before
```powershell
$policyExemption = Get-AzPolicyAssignment -Name MyAssignment | New-AzPolicyExemption -Name MyExemption -ExemptionCategory Mitigated -BackwardCompatible
$policyAssignmentId = $policyExemption.Properties.PolicyAssignmentId
```
#### After
```powershell
$policyExemption = Get-AzPolicyAssignment -Name MyAssignment | New-AzPolicyExemption -Name MyExemption -ExemptionCategory Mitigated
$policyAssignmentId = $policyExemption.PolicyAssignmentId
```


### `New-AzPolicySetDefinition`
The `BackwardCompatible` parameter was previously introduced to preserve the legacy `.Properties`-based output shape. This parameter has now been removed. Cmdlets always return the modern flattened object shape, and legacy access via `.Properties.*` is no longer supported. Scripts must be updated to reference first‑class properties directly.

#### Before
```powershell
$policyDefinitionReferences = ('[{ "policyDefinitionId": "' + (Get-AzPolicyDefinition -Name MyDefinition).ResourceId + '"}]')
$policySetDefinition = New-AzPolicySetDefinition -Name MySetDefinition -PolicyDefinition $policyDefinitionReferences -BackwardCompatible
$policyDefinitionReferenceId = $policySetDefinition.Properties.PolicyDefinitions[0].policyDefinitionReferenceId
```
#### After
```powershell
$policyDefinitionReferences = ('[{ "policyDefinitionId": "' + (Get-AzPolicyDefinition -Name MyDefinition).ResourceId + '"}]')
$policySetDefinition = New-AzPolicySetDefinition -Name MySetDefinition -PolicyDefinition $policyDefinitionReferences
$policyDefinitionReferenceId = $policySetDefinition.PolicyDefinition[0].policyDefinitionReferenceId
```


### `Remove-AzPolicyAssignment`
The `BackwardCompatible` parameter was previously introduced to preserve the legacy behavior where `Remove-` cmdlets always returned a value. This parameter has now been removed. `Remove-` cmdlets will only return a value when `-PassThru` is specified.

#### Before
```powershell
$result = Remove-AzPolicyAssignment -Name MyAssignment -BackwardCompatible
```
#### After
```powershell
$result = Remove-AzPolicyAssignment -Name MyAssignment -PassThru
```


### `Remove-AzPolicyDefinition`
The `BackwardCompatible` parameter was previously introduced to preserve the legacy behavior where `Remove-` cmdlets always returned a value. This parameter has now been removed. `Remove-` cmdlets will only return a value when `-PassThru` is specified.

#### Before
```powershell
$result = Remove-AzPolicyDefinition -Name MyDefinition -BackwardCompatible
```
#### After
```powershell
$result = Remove-AzPolicyDefinition -Name MyDefinition -PassThru
```


### `Remove-AzPolicyExemption`
The `BackwardCompatible` parameter was previously introduced to preserve the legacy behavior where `Remove-` cmdlets always returned a value. This parameter has now been removed. `Remove-` cmdlets will only return a value when `-PassThru` is specified.

#### Before
```powershell
$result = Remove-AzPolicyExemption -Name MyExemption -BackwardCompatible
```
#### After
```powershell
$result = Remove-AzPolicyExemption -Name MyExemption -PassThru
```


### `Remove-AzPolicySetDefinition`
The `BackwardCompatible` parameter was previously introduced to preserve the legacy behavior where `Remove-` cmdlets always returned a value. This parameter has now been removed. `Remove-` cmdlets will only return a value when `-PassThru` is specified.

#### Before
```powershell
$result = Remove-AzPolicySetDefinition -Name MySetDefinition -BackwardCompatible
```
#### After
```powershell
$result = Remove-AzPolicySetDefinition -Name MySetDefinition -PassThru
```


### `Update-AzPolicyAssignment`
The `BackwardCompatible` parameter was previously introduced to preserve the legacy `.Properties`-based output shape. This parameter has now been removed. Cmdlets always return the modern flattened object shape, and legacy access via `.Properties.*` is no longer supported. Scripts must be updated to reference first‑class properties directly.

#### Before
```powershell
$policyAssignment = Update-AzPolicyAssignment -Name MyAssignment -DisplayName 'My cool assignment' -BackwardCompatible
$displayName = $policyAssignment.Properties.DisplayName
```
#### After
```powershell
$policyAssignment = Update-AzPolicyAssignment -Name MyAssignment -DisplayName 'My cool assignment'
$displayName = $policyAssignment.DisplayName
```


### `Update-AzPolicyDefinition`
The `BackwardCompatible` parameter was previously introduced to preserve the legacy `.Properties`-based output shape. This parameter has now been removed. Cmdlets always return the modern flattened object shape, and legacy access via `.Properties.*` is no longer supported. Scripts must be updated to reference first‑class properties directly.

#### Before
```powershell
$policyDefinition = Update-AzPolicyDefinition -Name MyDefinition -Description 'A much better policy definition' -BackwardCompatible
$description = $policyDefinition.Properties.Description
```
#### After
```powershell
$policyDefinition = Update-AzPolicyDefinition -Name MyDefinition -Description 'A much better policy definition'
$description = $policyDefinition.Description
```


### `Update-AzPolicyExemption`
The `BackwardCompatible` parameter was previously introduced to preserve the legacy `.Properties`-based output shape. This parameter has now been removed. Cmdlets always return the modern flattened object shape, and legacy access via `.Properties.*` is no longer supported. Scripts must be updated to reference first‑class properties directly.

#### Before
```powershell
$policyExemption = Update-AzPolicyExemption -Name MyExemption -ExemptionCategory Waiver -BackwardCompatible
$exemptionCategory = $policyExemption.Properties.ExemptionCategory
```
#### After
```powershell
$policyExemption = Update-AzPolicyExemption -Name MyExemption -ExemptionCategory Waiver
$exemptionCategory = $policyExemption.ExemptionCategory
```


### `Update-AzPolicySetDefinition`
The `BackwardCompatible` parameter was previously introduced to preserve the legacy `.Properties`-based output shape. This parameter has now been removed. Cmdlets always return the modern flattened object shape, and legacy access via `.Properties.*` is no longer supported. Scripts must be updated to reference first‑class properties directly.

#### Before
```powershell
$policySetDefinition = Update-AzPolicySetDefinition -Name MySetDefinition -Metadata '{ "MyThing": "A really good thing" }' -BackwardCompatible
$myThing = $policySetDefinition.Properties.Metadata.MyThing
```
#### After
```powershell
$policySetDefinition = Update-AzPolicySetDefinition -Name MySetDefinition -Metadata '{ "MyThing": "A really good thing" }'
$myThing = $policySetDefinition.Metadata.MyThing
```


## Az.Sql

### `New-AzSqlServer`
- Parameter breaking-change will happen to all parameter sets - `-EnableSoftDelete` - The parameter : 'EnableSoftDelete' is changing. - Change description : The parameter 'EnableSoftDelete' will be removed from the New-AzSqlServer cmdlet of Application. - This change will take effect on '6/2/2026'- The change is expected to take effect from Az version : '16.0.0' - The change is expected to take effect in 'Az.Sql' from version : '7.0.0'

#### Before
```powershell
New-AzSqlServer -ResourceGroupName $rg -ServerName $server -SqlAdministratorCredentials $sqlCred -Location $location-EnableSoftDelete $true
```
#### After
```powershell
New-AzSqlServer -ResourceGroupName $rg -ServerName $server -SqlAdministratorCredentials $sqlCred -Location $location -SoftDeleteRetentionDays 7
```


### `Set-AzSqlServer`
- Parameter breaking-change will happen to all parameter sets - `-EnableSoftDelete` - The parameter : 'EnableSoftDelete' is changing. - Change description : The parameter 'EnableSoftDelete' will be removed from the Set-AzSqlServer cmdlet of Application. - This change will take effect on '6/2/2026'- The change is expected to take effect from Az version : '16.0.0' - The change is expected to take effect in 'Az.Sql' from version : '7.0.0'

#### Before
```powershell
Set-AzSqlServer -ResourceGroupName $rg -ServerName -EnableSoftDelete $true
```
#### After
```powershell
Set-AzSqlServer -ResourceGroupName $rg -ServerName -SoftDeleteRetentionDays 7
```


## Az.StackHCIVM

### `New-AzStackHCIVMImage`

- Parameter breaking-change will happen to all parameter sets
  - `-ImagePath`
    


#### Before
```powershell
ImagePath is of type 'string'
```
#### After
```powershell
ImagePath has been changed to SecureString
```


### `New-AzStackHCIVMVirtualMachine`

- Parameter breaking-change will happen to all parameter sets
  - `-AdminPassword`
    


#### Before
```powershell
AdminPassword is of type 'string'
```
#### After
```powershell
AdminPassword has been changed to SecureString
```


## Az.StorageAction

### `Get-AzStorageActionTask`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StorageAction.Models.IStorageTask' is changing
  - The following properties in the output type are being deprecated : 'IdentityUserAssignedIdentity'
  - The following properties are being added to the output type : 'IdentityUserAssignedIdentity'
  - Change description : The types of the property 'IdentityUserAssignedIdentity' will be changed from 'Microsoft.Azure.PowerShell.Cmdlets.StorageAction.Models.IUserAssignedIdentities' to 'Microsoft.Azure.PowerShell.Cmdlets.StorageAction.Models.IManagedServiceIdentityUserAssignedIdentities' 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StorageAction' from version : '2.0.0'


#### Before
```powershell
$task = Get-AzStorageActionTask -ResourceGroupName MyRg -Name MyTask
[Microsoft.Azure.PowerShell.Cmdlets.StorageAction.Models.IUserAssignedIdentities]$identity = $task.IdentityUserAssignedIdentity
```
#### After
```powershell
$task = Get-AzStorageActionTask -ResourceGroupName MyRg -Name MyTask
[Microsoft.Azure.PowerShell.Cmdlets.StorageAction.Models.IManagedServiceIdentityUserAssignedIdentities]$identity = $task.IdentityUserAssignedIdentity
```


### `New-AzStorageActionTask`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StorageAction.Models.IStorageTask' is changing
  - The following properties in the output type are being deprecated : 'IdentityUserAssignedIdentity'
  - The following properties are being added to the output type : 'IdentityUserAssignedIdentity'
  - Change description : The types of the property 'IdentityUserAssignedIdentity' will be changed from 'Microsoft.Azure.PowerShell.Cmdlets.StorageAction.Models.IUserAssignedIdentities' to 'Microsoft.Azure.PowerShell.Cmdlets.StorageAction.Models.IManagedServiceIdentityUserAssignedIdentities' 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StorageAction' from version : '2.0.0'


#### Before
```powershell
$task = New-AzStorageActionTask -ResourceGroupName MyRg -Name MyTask
[Microsoft.Azure.PowerShell.Cmdlets.StorageAction.Models.IUserAssignedIdentities]$identity = $task.IdentityUserAssignedIdentity
```
#### After
```powershell
$task = New-AzStorageActionTask -ResourceGroupName MyRg -Name MyTask
[Microsoft.Azure.PowerShell.Cmdlets.StorageAction.Models.IManagedServiceIdentityUserAssignedIdentities]$identity = $task.IdentityUserAssignedIdentity
```


### `Update-AzStorageActionTask`

- Cmdlet breaking-change will happen to all parameter sets
  - The output type 'Microsoft.Azure.PowerShell.Cmdlets.StorageAction.Models.IStorageTask' is changing
  - The following properties in the output type are being deprecated : 'IdentityUserAssignedIdentity'
  - The following properties are being added to the output type : 'IdentityUserAssignedIdentity'
  - Change description : The types of the property 'IdentityUserAssignedIdentity' will be changed from 'Microsoft.Azure.PowerShell.Cmdlets.StorageAction.Models.IUserAssignedIdentities' to 'Microsoft.Azure.PowerShell.Cmdlets.StorageAction.Models.IManagedServiceIdentityUserAssignedIdentities' 
  - This change will take effect on '5/1/2026'- The change is expected to take effect from Az version : '16.0.0'
  - The change is expected to take effect in 'Az.StorageAction' from version : '2.0.0'


#### Before
```powershell
$task = Update-AzStorageActionTask -ResourceGroupName MyRg -Name MyTask
[Microsoft.Azure.PowerShell.Cmdlets.StorageAction.Models.IUserAssignedIdentities]$identity = $task.IdentityUserAssignedIdentity
```
#### After
```powershell
$task = Update-AzStorageActionTask -ResourceGroupName MyRg -Name MyTask
[Microsoft.Azure.PowerShell.Cmdlets.StorageAction.Models.IManagedServiceIdentityUserAssignedIdentities]$identity = $task.IdentityUserAssignedIdentity
```

## Modules migrated from autorest v3 to autorest v4

To maintain behavioral consistency and introduce new features supported by AutoRest v4, we have upgraded many modules to use AutoRest v4.
This upgrade has introduced several breaking changes.
Details about potential breaking changes and their mitigation approaches can be found at the following [link](https://go.microsoft.com/fwlink/?linkid=2333486).

### Potentially affected modules

- Az.CloudService
- Az.ContainerInstance
- Az.Databricks
- Az.DataProtection
- Az.DnsResolver
- Az.Functions
- Az.Kusto
- Az.LoadTesting
- Az.MachineLearningServices
- Az.ManagedServices
- Az.Migrate
- Az.Monitor
- Az.MySql
- Az.RedisEnterpriseCache
- Az.ResourceMover
- Az.SecurityInsights
- Az.SignalR
- Az.SqlVirtualMachine
- Az.StackHCI
- Az.Websites

---

### Documentation Migration Guides Az.2.0.0 Migration Guide (`documentation/migration-guides/Az.2.0.0-migration-guide.md`)

# Migration Guide for Az 2.0.0

This document describes the changes between the 1.0.0 and 2.0.0 versions of Az 

## Table of Contents
- [Module breaking changes](#module-breaking-changes)
  - [Az.Compute](#azcompute)
  - [Az.HDInsight](#azhdinsight)
  - [Az.Storage](#azstorage)

## Module breaking changes

### Az.Compute
- Removed `Managed` Parameter from `New-AzAvailabilitySet` and `Update-AzAvailabilitySet` cmdlets in favor of using ```Sku = Aligned```
  #### Before
  ```powershell
  Update-AzAvailabilitySet -Managed
  ```
  #### After
  ```powershell
  Update-AzAvailabilitySet -Sku Aligned
  ```
- For consistency, removed `Image` parameter from 'ByName' and 'ByResourceId' parameter sets in `Update-AzImage` 
  
  #### Before
  Note that the below code is functional, but the passed-in ImageName is not used, so removing this parameter has no functional impact.
  ```powershell
  Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Image $Image -Tag $tags

  Update-AzImage -ResourceId $Id -Image $Image -Tag $tags
  ```

  #### After
  ```powershell
  Update-AzImage -ResourceGroupName $Rg -ImageName $Name -Tag $tags

  Update-AzImage -ResourceId $Id -Tag $tags
  ```
- For consistency, removed `Name` parameter from 'ByObject' and 'ByResourceId' parameter sets in `Restart-AzVM`
  
  #### Before
  Note that the below code is functional, but the passed-in Name is not used, so removing this parameter has no functional impact.
  ```powershell
  Restart-AzVM -InputObject $VM -Name $Name 

  Restart-AzVM -ResourceId $Id -Name $Name
  ```

  #### After
  ```powershell
  Restart-AzVM -InputObject $VM

  Restart-AzVM -ResourceId $Id
  ```

- For consistency, removed `Name` parameter from 'ByObject' and 'ByResourceId' parameter sets in `Start-AzVM`
  
  #### Before
  Note that the below code is functional, but the passed-in Name is not used, so removing this parameter has no functional impact.
  ```powershell
  Start-AzVM -InputObject $VM -Name $Name 

  Start-AzVM -ResourceId $Id -Name $Name
  ```

  #### After
  ```powershell
  Start-AzVM -InputObject $VM

  Start-AzVM -ResourceId $Id
  ```

- For consistency, removed `Name` parameter from 'ByObject' and 'ByResourceId' parameter sets in `Stop-AzVM`
  
  #### Before
  Note that the below code is functional, but the passed-in Name is not used, so removing this parameter has no functional impact.
  ```powershell
  Stop-AzVM -InputObject $VM -Name $Name 

  Stop-AzVM -ResourceId $Id -Name $Name
  ```

  #### After
  ```powershell
  Stop-AzVM -InputObject $VM

  Stop-AzVM -ResourceId $Id
  ```
- For consistency, removed `Name` parameter from 'ByObject' and 'ByResourceId' parameter sets in `Remove-AzVM`
  
  #### Before
  Note that the below code is functional, but the passed-in Name is not used, so removing this parameter has no functional impact.
  ```powershell
  Remove-AzVM -InputObject $VM -Name $Name

  Remove-AzVM -ResourceId $Id -Name $Name 
  ```

  #### After
  ```powershell
  Remove-AzVM -InputObject $VM 

  Remove-AzVM -ResourceId $Id 
  ```

- For consistency, removed `Name` parameter from 'ByObject' and 'ByResourceId' parameter sets in `Set-AzVM`
  
  #### Before
  Note that the below code is functional, but the passed-in Name is not used, so removing this parameter has no functional impact.
  ```powershell
  Set-AzVM -InputObject $VM -Name $Name ...

  Set-AzVM -ResourceId $Id -Name $Name ...
  ```

  #### After
  ```powershell
  Set-AzVM -InputObject $VM ...

  Set-AzVM -ResourceId $Id ...
  ```

- For consistency, removed `Name` parameter from 'ByObject' and 'ByResourceId' parameter sets in `Save-AzVMImage` 
  
  #### Before
  Note that the below code is functional, but the passed-in Name is not used, so removing this parameter has no functional impact.
  ```powershell
  Save-AzVMImage -InputObject $VM -Name $Name ...

  Save-AzVMImage -ResourceId $Id -Name $Name ...
  ```
  #### After
  ```powershell
  Save-AzVMImage -InputObject $VM ...

  Save-AzVMImage -ResourceId $Id ...
  ```

- Added ProtectionPolicy property to encapsulate `ProtectFromScaleIn` property in `PSVirtualMachineScaleSetVM`
  #### Before
  ```powershell
  $vmss = Get-AzVMssVM ...
  $vmss.ProtectFromScaleIn = $true

  $vmss = Update-AzVMssVM ...
  $vmss.ProtectFromScaleIn = $true

  $vmss = Remove-AzVMssVMDataDisk ...
  $vmss.ProtectFromScaleIn = $true
  ```
  #### After
  ```powershell
  $vmss = Get-AzVMssVM ...
  $vmss.ProtectionPolicy.ProtectFromScaleIn = $true

  $vmss = Update-AzVMssVM ...
  $vmss.ProtectionPolicy.ProtectFromScaleIn = $true

  $vmss = Remove-AzVMssVMDataDisk ...
  $vmss.ProtectionPolicy.ProtectFromScaleIn = $true

  ```
- Added ```EncryptionSettingsCollection``` Property to enclose `EncryptionSettings` property in `PSDisk`
  #### Before
  ```powershell
  $disk = New-AzDisk ... | Set-AzDiskDiskEncryptionKey ...
  $disk.EncryptionSettings

  $disk = New-AzDisk ... | Set-AzDiskKeyEncryptionKey ...
  $disk.EncryptionSettings

  $update = New-AzDiskUpdateConfig | Set-AzDiskUpdateDiskEncryptionKey ...
  $update.EncryptionSettings

  $update = New-AzDiskUpdateConfig | Set-AzDiskUpdateKeyEncryptionKey ...
  $update.EncryptionSettings
  ```
  #### After
  ```powershell
  $disk = New-AzDisk ... | Set-AzDiskDiskEncryptionKey ...
  $disk.EncryptionSettingsCollection.EncryptionSettings

  $disk = New-AzDisk ... | Set-AzDiskKeyEncryptionKey ...
  $disk.EncryptionSettingsCollection.EncryptionSettings

  $update = New-AzDiskUpdateConfig | Set-AzDiskUpdateDiskEncryptionKey ...
  $update.EncryptionSettingsCollection.EncryptionSettings

  $update = New-AzDiskUpdateConfig | Set-AzDiskUpdateKeyEncryptionKey ...
  $update.EncryptionSettingsCollection.EncryptionSettings
  ```
- Added ```EncryptionSettingsCollection``` Property to enclose `EncryptionSettings` property in `PSSnapshot`
  #### Before
  ```powershell
  $snap = New-AzSnapshotConfig ... | Set-AzSnapshotDiskEncryptionKey ...
  $snap.EncryptionSettings

  $snap = New-AzSnapshotConfig ... | Set-AzSnapshotKeyEncryptionKey ...
  $snap.EncryptionSettings

  $update = New-AzSnapshotUpdateConfig ... | Set-AzSnapshotUpdateDiskEncryptionKey ...
  $update.EncryptionSettings

  $update = New-AzSnapshotUpdateConfig ... | Set-AzSnapshotUpdateKeyEncryptionKey ...
  $update.EncryptionSettings
  ```
  #### After
  ```powershell
  $snap = New-AzSnapshotConfig ... | Set-AzSnapshotDiskEncryptionKey ...
  $snap.EncryptionSettingsCollection.EncryptionSettings

  $snap = New-AzSnapshotConfig ... | Set-AzSnapshotKeyEncryptionKey ...
  $snap.EncryptionSettingsCollection.EncryptionSettings

  $update = New-AzSnapshotUpdateConfig ... | Set-AzSnapshotUpdateDiskEncryptionKey ...
  $update.EncryptionSettingsCollection.EncryptionSettings

  $update = New-AzSnapshotUpdateConfig ... | Set-AzSnapshotUpdateKeyEncryptionKey ...
  $update.EncryptionSettingsCollection.EncryptionSettings
  ```
- Removed `VirtualMachineProfile` property from `PSVirtualMachineScaleSet`
  #### Before
  ```powershell
  $vmss = New-AzVMSSConfig ...
  $vmss.VirtualMachineProfile.AdditionalCapabilities.UltraSSDEnabled = $true
  ```
  #### After
  ```powershell
  $vmss = New-AzVMSSConfig ...
  $vmss.AdditionalCapabilities.UltraSSDEnabled = $true
  ```
- Cmdlet `Set-AzVMBootDiagnostic` removed alias to `Set-AzVMBootDiagnostics`
  #### Before
  Using deprecated alias
  ```powershell
  Set-AzVMBootDiagnostics
  ```
  #### After
  ```powershell
  Set-AzVMBootDiagnostic
  ```
- Cmdlet `Export-AzLogAnalyticThrottledRequest` removed alias to `Export-AzLogAnalyticThrottledRequests`
  #### Before
  Using deprecated alias
  ```powershell
  Export-AzLogAnalyticThrottledRequests
  ```
  #### After
  ```powershell
  Export-AzLogAnalyticThrottledRequest
  ```

### Az.HDInsight
- Removed the `Grant-AzHDInsightHttpServicesAccess` and `Revoke-AzHDInsightHttpServicesAccess` cmdlets. These are no longer necessary because HTTP access is always enabled on all HDInsight clusters.
- Added a new `Set-AzHDInsightGatewayCredential`  cmdlet. Use this cmdlet to change the gateway HTTP username and password (replaces `Grant-AzHDInsightHttpServicesAccess`).
- Updated the `Get-AzHDInsightJobOutput` cmdlet to support granular role-based access to the storage key.
    - Users with HDInsight Cluster Operator, Contributor, or Owner roles will not be affected.
    - Users with only the Reader role will need to specify `DefaultStorageAccountKey` parameter explicitly.

For more information about these role-based access changes, see [aka.ms/hdi-config-update](http://aka.ms/hdi-config-update)

  #### Before
  ```powershell
  Grant-AzHDInsightHttpServicesAccess -ClusterName $cluster -HttpCredential $credential
  ```
  #### After
  ```powershell
  Set-AzHDInsightGatewayCredential -ClusterName $cluster -HttpCredential $credential
  ```

###  Users with only Reader role for cmdlet Get-AzHDInsightJobOutput

  ####  Before
  ```powershell
  Get-AzHDInsightJobOutput  -ClusterName $clusterName -JobId $jobId
  ```
  #### After
  ```powershell
  Get-AzHDInsightJobOutput  -ClusterName $clusterName -JobId $jobId -DefaultStorageAccountKey $storageAccountKey
  ```

### Az.Storage
- Namespaces for types returned from Blob, Queue, and File cmdlets have changed their namespace from `Microsoft.WindowsAzure.Storage` to `Microsoft.Azure.Storage`.  While this is not technically a breaking change according to the breaking change policy, it may require some changes in code that uses the methods from the Storage .Net SDK to interact with the objects returned from these cmdlets.

  #### Example 1:  Add a message to a Queue (change CloudQueueMessage object namespace)
  Before: 
  ```powershell
  $queue = Get-AzStorageQueue –Name $queueName –Context $ctx
  $queueMessage = New-Object -TypeName "Microsoft.WindowsAzure.Storage.Queue.CloudQueueMessage,$($queue.CloudQueue.GetType().Assembly.FullName)" -ArgumentList "This is message 1"
  $queue.CloudQueue.AddMessageAsync($QueueMessage)
  ```
  After:
  ```powershell
  $queue = Get-AzStorageQueue –Name $queueName –Context $ctx
  $queueMessage = New-Object -TypeName "Microsoft.Azure.Storage.Queue.CloudQueueMessage,$($queue.CloudQueue.GetType().Assembly.FullName)"  -ArgumentList "This is message 1"
  $queue.CloudQueue.AddMessageAsync($QueueMessage)
  ```

  #### Example 2:  Fetch Blob/File Attributes with AccessCondition (change AccessCondition object namespace)
  Before: 
  ```powershell
  $accessCondition= New-Object Microsoft.WindowsAzure.Storage.AccessCondition

  $blob = Get-AzureStorageBlob -Container $containerName -Blob $blobName
  $blob.ICloudBlob.FetchAttributes($accessCondition)

  $file = Get-AzureStorageFile -ShareName $shareName -Path $filepath
  $file.FetchAttributes($accessCondition)
  ```
  After:
  ```powershell
  $accessCondition= New-Object Microsoft.Azure.Storage.AccessCondition

  $blob = Get-AzureStorageBlob -Container $containerName -Blob $blobName
  $blob.ICloudBlob.FetchAttributes($accessCondition)

  $file = Get-AzureStorageFile -ShareName $shareName -Path $filepath
  $file.FetchAttributes($accessCondition)
  ```

- While not technically a breaking change, you will notice output differences in the Sku.Name property of Storage Accounts returned from  `New/Get/Set-AzStorageAccount` changes are as follows. (After the change, output and input SkuName are aligned.)
  - "StandardLRS" -> "Standard_LRS";
  - "StandardGRS" -> "Standard_GRS";
  - "StandardRAGRS" -> "Standard_RAGRS";
  - "StandardZRS" -> "Standard_ZRS";
  - "PremiumLRS" -> "Premium_LRS";



- The default service behavior when creating a storage account without specifying a Kind has changed.  In previous versions, when a storage account was created with no `Kind` specified, the Storage account Kind of `Storage` was used, in the new version `StorageV2` is the default `Kind` value. If you need to create a V1 Storage account with Kind 'Storage', add parameter '-Kind Storage'
  #### Example : Create a storage Account (Default Kind change)  
  Before:
  ```powershell
  PS c:\> New-AzStorageAccount -ResourceGroupName groupname -Name accountname -SkuName Standard_LRS -Location "westus"

  StorageAccountName ResourceGroupName Location SkuName     Kind      AccessTier CreationTime          ProvisioningState EnableHttpsTrafficOnly
  ------------------ ----------------- -------- -------     ----      ---------- ------------          ----------------- ----------------------
  accountname        groupname         westus   StandardLRS Storage   Hot        4/17/2018 10:34:32 AM Succeeded         False
  ```
  After:
  ```powershell
  PS c:\> New-AzStorageAccount -ResourceGroupName groupname -Name accountname -SkuName Standard_LRS -Location "westus"

  StorageAccountName ResourceGroupName Location SkuName      Kind      AccessTier CreationTime          ProvisioningState EnableHttpsTrafficOnly
  ------------------ ----------------- -------- -------      ----      ----------  ------------          ----------------- ----------------------
  accountname        groupname         westus   Standard_LRS StorageV2 Hot        4/17/2018 10:34:32 AM Succeeded         False
  ```

---

### Documentation Migration Guides Az.3.0.0 Migration Guide (`documentation/migration-guides/Az.3.0.0-migration-guide.md`)

# Migration Guide for Az 3.0.0

This document describes the changes between the 2.0.0 and 3.0.0 versions of Az 



- [Migration Guide for Az 3.0.0](#migration-guide-for-az-300)
  - [Batch](#batch)
    - [`Get-AzBatchNodeAgentSku`](#get-azbatchnodeagentsku)
    - [Incompatibility with previous versions of `Az.Resources`](#previous-version-incompatibility-with-az.resources-module)
  - [Compute](#compute)
    - [`New-AzDiskConfig`](#new-azdiskconfig)
  - [HDInsight](#hdinsight)
    - [`Get-AzHDInsightJobOutput`](#get-azhdinsightjoboutput)
    - [`Add-AzHDInsightConfigValues`](#add-azhdinsightconfigvalues)
    - [`Disable-AzHDInsightMonitoring`](#disable-azhdinsightmonitoring)
    - [`Enable-AzHDInsightMonitoring`](#enable-azhdinsightmonitoring)
    - [`Get-AzHDInsightMonitoring`](#get-azhdinsightmonitoring)
    - [`Get-AzHDInsightProperty`](#get-azhdinsightproperty)
    - [`Grant-AzHDInsightRdpServicesAccess`](#grant-azhdinsightrdpservicesaccess)
    - [`Remove-AzHDInsightCluster`](#remove-azhdinsightcluster)
    - [`Revoke-AzHDInsightRdpServicesAccess`](#revoke-azhdinsightrdpservicesaccess)
    - [`AzHDInsightGatewayCredential`](#azhdinsightgatewaycredential)
  - [IotHub](#iothub)
    - [`New-AzIotHubImportDevices`](#new-aziothubimportdevices)
    - [`New-AzIotHubExportDevices`](#new-aziothubexportdevices)
    - [`Add-AzIotHubEventHubConsumerGroup`](#add-aziothubeventhubconsumergroup)
    - [`Get-AzIotHubEventHubConsumerGroup`](#get-aziothubeventhubconsumergroup)
    - [`Remove-AzIotHubEventHubConsumerGroup`](#remove-aziothubeventhubconsumergroup)
    - [`Set-AzIotHub`](#set-aziothub)
  - [RecoveryServices](#recoveryservices)
    - [`Edit-AzRecoveryServicesAsrRecoveryPlan`](#edit-azrecoveryservicesasrrecoveryplan)
    - [`Get-AzRecoveryServicesAsrRecoveryPlan`](#get-azrecoveryservicesasrrecoveryplan)
    - [`New-AzRecoveryServicesAsrReplicationProtectedItem`](#new-azrecoveryservicesasrreplicationprotecteditem)
  - [Resources](#resources)
    - [Incompatibility with previous versions of `Az.Batch`](#previous-version-incompatibility-with-az.batch-module)
  - [ServiceFabric](#servicefabric)
    - [`Add-ServiceFabricApplicationCertificate`](#add-servicefabricapplicationcertificate)
  - [Sql](#sql)
    - [`Get-AzSqlDatabaseSecureConnectionPolicy`](#get-azsqldatabasesecureconnectionpolicy)
    - [`Get-AzSqlDatabaseIndexRecommendations`](#get-azsqldatabaseindexrecommendations)
    - [`Get-AzSqlDatabaseRestorePoints`](#get-azsqldatabaserestorepoints)
    - [`Get-AzSqlDatabaseAuditing`](#get-azsqldatabaseauditing)
    - [`Set-AzSqlDatabaseAudit`](#set-azsqldatabaseaudit)
    - [`Get-AzSqlServerAudit`](#get-azsqlserveraudit)
    - [`Set-AzSqlServerAudit`](#set-azsqlserveraudit)
    - [`Get-AzSqlServerAdvancedThreatProtectionSettings`](#get-azsqlserveradvancedthreatprotectionsettings)
    - [`Clear-AzSqlServerAdvancedThreatProtectionSettings`](#clear-azsqlserveradvancedthreatprotectionsettings)
    - [`Update-AzSqlServerAdvancedThreatProtectionSettings`](#update-azsqlserveradvancedthreatprotectionsettings)
    - [`Get-AzSqlDatabaseAdvancedThreatProtectionSettings`](#get-azsqldatabaseadvancedthreatprotectionsettings)
    - [`Update-AzSqlDatabaseAdvancedThreatProtectionSettings`](#update-azsqldatabaseadvancedthreatprotectionsettings)
    - [`Clear-AzSqlDatabaseAdvancedThreatProtectionSettings`](#clear-azsqldatabaseadvancedthreatprotectionsettings)
    - [`Update-AzSqlDatabaseVulnerabilityAssessmentSettings`](#update-azsqldatabasevulnerabilityassessmentsettings)
    - [`Get-AzSqlDatabaseVulnerabilityAssessmentSettings`](#get-azsqldatabasevulnerabilityassessmentsettings)
    - [`Clear-AzSqlDatabaseVulnerabilityAssessmentSettings`](#clear-azsqldatabasevulnerabilityassessmentsettings)
    - [`Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings`](#update-azsqlinstancedatabasevulnerabilityassessmentsettings)
    - [`Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings`](#get-azsqlinstancedatabasevulnerabilityassessmentsettings)
    - [`Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings`](#clear-azsqlinstancedatabasevulnerabilityassessmentsettings)
    - [`Update-AzSqlInstanceVulnerabilityAssessmentSettings`](#update-azsqlinstancevulnerabilityassessmentsettings)
    - [`Get-AzSqlInstanceVulnerabilityAssessmentSettings`](#get-azsqlinstancevulnerabilityassessmentsettings)
    - [`Clear-AzSqlInstanceVulnerabilityAssessmentSettings`](#clear-azsqlinstancevulnerabilityassessmentsettings)
    - [`Update-AzSqlServerVulnerabilityAssessmentSettings`](#update-azsqlservervulnerabilityassessmentsettings)
    - [`Get-AzSqlServerVulnerabilityAssessmentSettings`](#get-azsqlservervulnerabilityassessmentsettings)
    - [`Clear-AzSqlServerVulnerabilityAssessmentSettings`](#clear-azsqlservervulnerabilityassessmentsettings)
    - [`Get-AzSqlServerAdvancedThreatProtectionPolicy`](#get-azsqlserveradvancedthreatprotectionpolicy)
    - [`Get-AzSqlServerThreatDetectionPolicy`](#get-azsqlserverthreatdetectionpolicy)
    - [`Remove-AzSqlServerThreatDetectionPolicy`](#remove-azsqlserverthreatdetectionpolicy)
    - [`Set-AzSqlServerThreatDetectionPolicy`](#set-azsqlserverthreatdetectionpolicy)
    - [`Get-AzSqlDatabaseThreatDetectionPolicy`](#get-azsqldatabasethreatdetectionpolicy)
    - [`Set-AzSqlDatabaseThreatDetectionPolicy`](#set-azsqldatabasethreatdetectionpolicy)
    - [`Remove-AzSqlDatabaseThreatDetectionPolicy`](#remove-azsqldatabasethreatdetectionpolicy)




## Batch

### `Get-AzBatchNodeAgentSku`
- Removed `Get-AzBatchNodeAgentSku` and replaced it with  `Get-AzBatchSupportedImage`.
- `Get-AzBatchSupportedImage` returns the same data as `Get-AzBatchNodeAgentSku` but in a more friendly format.
- New non-verified images are also now returned. Additional information about `Capabilities` and `BatchSupportEndOfLife` for each image is also included.

#### Before
```powershell
$Context = Get-AzBatchAccountKeys -AccountName "ContosoBatchAccount"
Get-AzBatchNodeAgentSku -BatchContext $Context
```

#### After
```powershell
$Context = Get-AzBatchAccountKey -AccountName "ContosoBatchAccount"
Get-AzBatchSupportedImage -BatchContext $Context
```
### Previous Version Incompatibility with Az.Resources Module
Version 2.0.1 of the ‘Az.Batch’ module is incompatible with earlier versions (version 1.7.0 or earlier) of the ‘Az.Resources’ module.  This will result in being unable to import  version 1.7.0 of the ‘Az.Resources’ module when version 2.0.1 of the ‘Az.Batch’ module is imported.  To fix this issue, simply update the ‘Az.Resources’ module to version 1.7.1 or greater, or simply install the latest version of the ‘Az’ module.

## Compute

### `New-AzDiskConfig`
`UploadSizeInBytes` parameter is used instead of `DiskSizeGB` for `New-AzDiskConfig` when CreateOption is Upload

#### Before
```powershell
$diskconfig = New-AzDiskConfig -Location 'Central US' -DiskSizeGB 1023 -SkuName Standard_LRS -OsType Windows -CreateOption Upload -DiskIOPSReadWrite 500 -DiskMBpsReadWrite 8
```

#### After
```powershell
$diskconfig = New-AzDiskConfig -Location 'Central US' -UploadSizeInBytes 1023 * 1024 * 1024 * 1024 -SkuName Standard_LRS -OsType Windows -CreateOption Upload -DiskIOPSReadWrite 500 -DiskMBpsReadWrite 8
```
	
## HDInsight

### `Get-AzHDInsightJobOutput`
- Updated the `Get-AzHDInsightJobOutput` cmdlet to support granular role-based access to the storage key.
- Users with HDInsight Cluster Operator, Contributor, or Owner roles will not be affected.
- Users with only the Reader role will need to specify `DefaultStorageAccountKey` parameter explicitly.

#### Before
```powershell
Get-AzHDInsightJobOutput  -ClusterName $clusterName -JobId $jobId
```

#### After
```powershell
Get-AzHDInsightJobOutput -ClusterName $clusterName -JobId $jobId -DefaultStorageAccountKey $storageAccountKey
```

### `Add-AzHDInsightConfigValues`
Cmdlet `Add-AzHDInsightConfigValue` removed alias to `Add-AzHDInsightConfigValues`.

#### Before
Using deprecated alias
```powershell
Add-AzHDInsightConfigValues
```

#### After
```powershell
Add-AzHDInsightConfigValue
```


### `Disable-AzHDInsightMonitoring`
Added a new `Disable-AzHDInsightMonitoring` cmdlet. Use this cmdlet to disable monitoring in a HDInsight cluster (replaces `Disable-AzHDInsightOperationsManagementSuite` and `Disable-AzHDInsightOMS`).

#### Before
```powershell
Disable-AzHDInsightOMS -Name testcluster
```
```powershell
Disable-AzHDInsightOperationsManagementSuite -Name testcluster
```

#### After
```powershell
Disable-AzHDInsightMonitoring -Name testcluster
```


### `Enable-AzHDInsightMonitoring`
Added a new `Enable-AzHDInsightMonitoring` cmdlet. Use this cmdlet to enable monitoring in a HDInsight cluster (replaces `Enable-AzHDInsightOperationsManagementSuite` and `Enable-AzHDInsightOMS`).

#### Before
```powershell
Enable-AzHDInsightOMS Enable-AzHDInsightMonitoring -Name testcluster -WorkspaceId 1d364e89-bb71-4503-aa3d-a23535aea7bd -PrimaryKey <key for workspace 1d364e89-bb71-4503-aa3d-a23535aea7bd>
```
```powershell
Enable-AzHDInsightOperationsManagementSuite Enable-AzHDInsightMonitoring -Name testcluster -WorkspaceId 1d364e89-bb71-4503-aa3d-a23535aea7bd -PrimaryKey <key for workspace 1d364e89-bb71-4503-aa3d-a23535aea7bd>
```

#### After
```powershell
Enable-AzHDInsightMonitoring Enable-AzHDInsightMonitoring -Name testcluster -WorkspaceId 1d364e89-bb71-4503-aa3d-a23535aea7bd -PrimaryKey <key for workspace 1d364e89-bb71-4503-aa3d-a23535aea7bd>
```

### `Get-AzHDInsightMonitoring`
Added a new `Get-AzHDInsightMonitoring` cmdlet. Use this cmdlet to get the status of monitoring installation in an Azure HDInsight cluster (replaces `Get-AzHDInsightOperationsManagementSuite` and `Get-AzHDInsightOMS`).

#### Before
```powershell
Get-AzHDInsightOMS -Name testcluster
```
```powershell
Get-AzHDInsightOperationsManagementSuite -Name testcluster
```

#### After
```powershell
Get-AzHDInsightMonitoring -Name testcluster
```

### `Get-AzHDInsightProperty`
Cmdlet `Get-HDInsightProperty` removed alias to `Get-AzHDInsightProperties`.

#### Before
Using deprecated alias
```powershell
Get-AzHDInsightProperties -Location "East US 2"
```

#### After
```powershell
Get-AzHDInsightProperty -Location "East US 2"
```

### `Grant-AzHDInsightRdpServicesAccess`
Removed the `Grant-AzHDInsightRdpServicesAccess` and `Revoke-AzHDInsightRdpServicesAccess` cmdlets. These are no longer necessary because clusters using Windows OS type are not supported. Please create a cluster using Linux OS type instead.

### `Remove-AzHDInsightCluster`
The output type of `Remove-AzHDInsightCluster` changed from `Microsoft.Azure.Management.HDInsight.Models.ClusterGetResponse` to `bool`.

#### Before
```powershell
$cluster = Remove-AzHDInsightCluster -ClusterName "your-hadoop-001"
```

#### After
```powershell
Remove-AzHDInsightCluster -ClusterName "your-hadoop-001" -PassThru
True
```

### `Revoke-AzHDInsightRdpServicesAccess`
The cmdlet is deprecated. There is no replacement for it.

### `Set-AzHDInsightGatewayCredential`
The output type of `Set-AzHDInsightGatewayCredential` changed from `HttpConnectivitySettings` to `AzureHDInsightGatewaySettings`.
	


## IotHub

### `New-AzIotHubImportDevices`
This alias is removed, please use `New-AzIotHubImportDevice` instead.

#### Before
```powershell
New-AzIotHubImportDevices -ResourceGroupName "myresourcegroup" -Name "myiothub" -InputBlobContainerUri "https://mystorageaccount.blob.core.windows.net/mystoragecontainer?sv=2015-04-05&ss=bfqt&sr=c&srt=sco&sp=rwdl&se=2016-10-27T04:01:48Z&st=2016-10-26T20:01:48Z&spr=https&sig=QqpIhHsIMF8hNuFO%3D" -OutputBlobContainerUri "https://mystorageaccount.blob.core.windows.net/?sv=2015-04-05&ss=bfqt&sr=c&srt=sco&sp=rwdl&se=2016-10-27T04:01:48Z&st=2016-10-26T20:01:48Z&spr=https&sig=QqpIhHsIMF8hNuFO%3D"
```

#### After
```powershell
New-AzIotHubImportDevice -ResourceGroupName "myresourcegroup" -Name "myiothub" -InputBlobContainerUri "https://mystorageaccount.blob.core.windows.net/mystoragecontainer?sv=2015-04-05&ss=bfqt&sr=c&srt=sco&sp=rwdl&se=2016-10-27T04:01:48Z&st=2016-10-26T20:01:48Z&spr=https&sig=QqpIhHsIMF8hNuFO%3D" -OutputBlobContainerUri "https://mystorageaccount.blob.core.windows.net/?sv=2015-04-05&ss=bfqt&sr=c&srt=sco&sp=rwdl&se=2016-10-27T04:01:48Z&st=2016-10-26T20:01:48Z&spr=https&sig=QqpIhHsIMF8hNuFO%3D"
```

### `New-AzIotHubExportDevices`
This alias is removed, please use `New-AzIotHubExportDevice` instead.

#### Before
```powershell
New-AzIotHubExportDevices -ResourceGroupName "myresourcegroup" -Name "myiothub" -ExportBlobContainerUri "https://mystorageaccount.blob.core.windows.net/mystoragecontainer?sv=2015-04-05&ss=bfqt&sr=c&srt=sco&sp=rwdl&se=2016-10-27T04:01:48Z&st=2016-10-26T20:01:48Z&spr=https&sig=QqpIhHsIMF8hNuFO%3D" -ExcludeKeys
```

#### After
```powershell
New-AzIotHubExportDevice -ResourceGroupName "myresourcegroup" -Name "myiothub" -ExportBlobContainerUri "https://mystorageaccount.blob.core.windows.net/mystoragecontainer?sv=2015-04-05&ss=bfqt&sr=c&srt=sco&sp=rwdl&se=2016-10-27T04:01:48Z&st=2016-10-26T20:01:48Z&spr=https&sig=QqpIhHsIMF8hNuFO%3D" -ExcludeKeys
```

### `Add-AzIotHubEventHubConsumerGroup`
Parameter `EventHubEndPointName` is deprecated without being replaced as IotHub comes with only one built-in endpoint("events") which could handle system and device messages.

#### Before
```powershell
Add-AzIotHubEventHubConsumerGroup -ResourceGroupName "myresourcegroup" -Name "myiothub" -EventHubConsumerGroupName "myconsumergroup" -EventHubEndpointName "/EventHubEndpointName"
```

#### After
```powershell
Add-AzIotHubEventHubConsumerGroup -ResourceGroupName "myresourcegroup" -Name "myiothub" -EventHubConsumerGroupName "myconsumergroup"
```

### `Get-AzIotHubEventHubConsumerGroup`
Parameter `EventHubEndPointName` is deprecated without being replaced as IotHub comes with only one built-in endpoint("events") which could handle system and device messages.

#### Before
```powershell
Get-AzIotHubEventHubConsumerGroup -ResourceGroupName "myresourcegroup" -Name "myiothub" -EventHubEndpointName "/EventHubEndpointName"
```

#### After
```powershell
Get-AzIotHubEventHubConsumerGroup -ResourceGroupName "myresourcegroup" -Name "myiothub"
```

### `Remove-AzIotHubEventHubConsumerGroup`
Parameter `EventHubEndPointName` is deprecated without being replaced as IotHub comes with only one built-in endpoint("events") which could handle system and device messages.

#### Before
```powershell
Remove-AzIotHubEventHubConsumerGroup -ResourceGroupName "myresourcegroup" -Name "myiothub" -EventHubConsumerGroupName myconsumergroup -EventHubEndpointName "/EventHubEndpointName"
```

#### After
```powershell
Remove-AzIotHubEventHubConsumerGroup -ResourceGroupName "myresourcegroup" -Name "myiothub" -EventHubConsumerGroupName myconsumergroup
```

### `Set-AzIotHub`
Parameter `OperationsMonitoringProperties` is deprecated without being replaced as IotHub is no longer using built-in endpoint("operationsMonitoringEvents").
	


## RecoveryServices

### `Edit-AzRecoveryServicesAsrRecoveryPlan`
`ASRRecoveryPlanGroup.ReplicationProtectedItems`, `ASRRecoveryPlanGroup.StartGroupActions` and `ASRRecoveryPlanGroup.EndGroupActions` is removed from output.

### `Get-AzRecoveryServicesAsrRecoveryPlan`
`ASRRecoveryPlanGroup.ReplicationProtectedItems`, `ASRRecoveryPlanGroup.StartGroupActions` and `ASRRecoveryPlanGroup.EndGroupActions` is removed from output.

### `New-AzRecoveryServicesAsrReplicationProtectedItem`
Parameter IncludeDiskId is changed to support directly writing to a managed disk in Azure Site Recovery.

#### Before
```powershell
$job = New-AzRecoveryServicesAsrReplicationProtectedItem -RecoveryAzureStorageAccountId $recoveryAzureStorageAccountId -IncludeDiskId $includeDiskId -VMwareToAzure -Account $fabric.FabricSpecificDetails.RunAsAccounts[0] -RecoveryResourceGroupId $RecoveryResourceGroupId -RecoveryAzureNetworkId $RecoveryAzureNetworkId -name $name -ProcessServer $fabric.FabricSpecificDetails.ProcessServers[0] -ProtectableItem $protectableItem -ProtectionContainerMapping $pcm -RecoveryAzureSubnetName $RecoveryAzureSubnetName -RecoveryVmName $RecoveryVmName -LogStorageAccountId $LogStorageAccountId
```

#### After
```powershell
$disk1 = New-AzRecoveryServicesAsrInMageAzureV2DiskInput -DiskId $diskId -LogStorageAccountId $logStorageAccountId -DiskType $diskType
$disk2 = New-AzRecoveryServicesAsrInMageAzureV2DiskInput -DiskId $diskId2 -LogStorageAccountId $logStorageAccountId -DiskType $diskType2
$job = New-AzRecoveryServicesAsrReplicationProtectedItem -VMwareToAzure -Account $fabric.FabricSpecificDetails.RunAsAccounts[0] -RecoveryResourceGroupId $RecoveryResourceGroupId -RecoveryAzureNetworkId $RecoveryAzureNetworkId -name $name -ProcessServer $fabric.FabricSpecificDetails.ProcessServers[0] -ProtectableItem $protectableItem -ProtectionContainerMapping $pcm -RecoveryAzureSubnetName $RecoveryAzureSubnetName -RecoveryVmName $RecoveryVmName -LogStorageAccountId $LogStorageAccountId -InMageAzureV2DiskInput $disk1,$disk2
```

## Resources

### Previous Version Incompatibility with Az.Batch Module
Version 1.7.1 of the ‘Az.Resources’ module is incompatible with earlier versions (version 1.1.2 or earlier) of the ‘Az.Batch’ module.  This will result in being unable to import  version 1.1.2 of the ‘Az.Batch’ module when version 1.7.1 of the ‘Az.Resources’ module is imported.  To fix this issue, update the ‘Az.Batch’ module to version 2.0.1 or greater, or simply install the latest version of the ‘Az’ module.

## ServiceFabric

### `Add-ServiceFabricApplicationCertificate`
Removed `Add-ServiceFabricApplicationCertificate` as this scenario is covered by `Add-AzVmssSecret`.

#### Before
```powershell
Add-AzServiceFabricApplicationCertificate -ResourceGroupName "Group1" -Name "Contoso01SFCluster" -SecretIdentifier "http://keyVaultName.vault.contoso.net/secrets/secretName/secretVersion"
```

#### After
```powershell
$Vault = Get-AzKeyVault -VaultName "ContosoVault"
$CertConfig = New-AzVmssVaultCertificateConfig -CertificateUrl "http://keyVaultName.vault.contoso.net/secrets/secretName/secretVersion" -CertificateStore "Certificates"
$VMSS = New-AzVmssConfig
Add-AzVmssSecret -VirtualMachineScaleSet $VMSS -SourceVaultId $Vault.ResourceId -VaultCertificate $CertConfig
```


## Sql

### `Get-AzSqlDatabaseSecureConnectionPolicy`
Note that secure connection is deprecated and so command is removed. Please use the SQL database blade in the Azure portal to view the connection strings

### `Get-AzSqlDatabaseIndexRecommendations`
`Get-AzSqlDatabaseIndexRecommendations` alias is removed. Use `Get-AzSqlDatabaseIndexRecommendation` instead.

### `Get-AzSqlDatabaseRestorePoints`
`Get-AzSqlDatabaseRestorePoints` alias is removed. Use `Get-AzSqlDatabaseRestorePoint` instead.

### `Get-AzSqlDatabaseAuditing`
- The cmdlet `Get-AzSqlDatabaseAudit` is replacing this cmdlet.
- The output type is changing from the existing type :'Microsoft.Azure.Commands.Sql.Auditing.Model.DatabaseBlobAuditingSettingsModel' to the new type :'Microsoft.Azure.Commands.Sql.Auditing.Model.DatabaseAuditingSettingsModel', removing properties `AuditState` and `StorageAccountName`. and `StorageAccountSubscriptionId`.  Scripts can retrieve storage account information from the new `StorageAccountResourceId` property. 

#### Before
```powershell
PS C:\> Get-AzSqlDatabaseAuditing -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01"
DatabaseName                 : database01
AuditAction                  : {}
AuditActionGroup             : {SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP,
                                BATCH_COMPLETED_GROUP, ...}
ResourceGroupName            : resourcegroup01
ServerName                   : server01
AuditState                   : Enabled
StorageAccountName           : mystorage
StorageKeyType               : Primary
RetentionInDays              : 0
StorageAccountSubscriptionId : 7fe3301d-31d3-4668-af5e-211a890ba6e3
PredicateExpression          : statement <> 'select 1'
```

#### After
```powershell
PS C:\> Get-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01"
ServerName                          : server01
DatabaseName                        : database01
AuditAction                         : {}
ResourceGroupName                   : resourcegroup01
AuditActionGroup                    : {SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP,
                                       BATCH_COMPLETED_GROUP, ...}
PredicateExpression                 : statement <> 'select 1'
BlobStorageTargetState              : Enabled
StorageAccountResourceId            : /subscriptions/7fe3301d-31d3-4668-af5e-211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/storageAccounts/mystorage
StorageKeyType                      : Primary
RetentionInDays                     : 0
EventHubTargetState                 : Enabled
EventHubName                        : eventHubName
EventHubAuthorizationRuleResourceId : EventHubAuthorizationRuleResourceId
LogAnalyticsTargetState             : Enabled
WorkspaceResourceId                 : "/subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2"
```

### `Set-AzSqlDatabaseAuditing`
- The cmdlet `Set-AzSqlDatabaseAudit` is replacing this cmdlet.
- The output type is changing from the existing type :'Microsoft.Azure.Commands.Sql.Auditing.Model.DatabaseBlobAuditingSettingsModel' to the new type :'bool'

#### Before
```powershell
Set-AzSqlDatabaseAuditing -State Enabled -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -StorageAccountName "Storage22" -DatabaseName "Database01"
```

#### After
```powershell
Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -BlobStorageTargetState Enabled -StorageAccountResourceId "/subscriptions/7fe3301d-31d3-4668-af5e-211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/storageAccounts/mystorage"
```

### `Get-AzSqlServerAuditing`
- The cmdlet `Get-AzSqlServerAudit` is replacing this cmdlet.
- The output type is changing from the existing type :'Microsoft.Azure.Commands.Sql.Auditing.Model.DatabaseBlobAuditingSettingsModel' to the new type :'Microsoft.Azure.Commands.Sql.Auditing.Model.ServerAuditingSettingsModel'.  Properties `AuditState`, `StorageAccountName`, and `StorageAccountSubscriptionId` are removed.  Scripts that use `StorageAccountName` and `StorageAccountSubscriptionId` properties can retrieve this information from the new `StorageAccountResourceId` property.

#### Before
```powershell
PS C:\> Get-AzSqlServerAuditing -ResourceGroupName "resourcegroup01" -ServerName "server01"
AuditActionGroup             : {SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP, BATCH_COMPLETED_GROUP, ...}
ResourceGroupName            : resourcegroup01
ServerName                   : server01
AuditState                   : Enabled
StorageAccountName           : mystorage
StorageKeyType               : Primary
RetentionInDays              : 0
StorageAccountSubscriptionId : 7fe3301d-31d3-4668-af5e-211a890ba6e3
PredicateExpression          : statement <> 'select 1'
```

#### After
```powershell
PS C:\> Get-AzSqlServerAudit -ResourceGroupName "resourcegroup01" -ServerName "server01"
ServerName                          : server01
ResourceGroupName                   : resourcegroup01
AuditActionGroup                    : {SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP, BATCH_COMPLETED_GROUP, ...}
PredicateExpression                 : statement <> 'select 1'
BlobStorageTargetState              : Enabled
StorageAccountResourceId            : /subscriptions/7fe3301d-31d3-4668-af5e-211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/storageAccounts/mystorage
StorageKeyType                      : Primary
RetentionInDays                     : 0
EventHubTargetState                 : Enabled
EventHubName                        : eventHubName
EventHubAuthorizationRuleResourceId : EventHubAuthorizationRuleResourceId
LogAnalyticsTargetState             : Enabled
WorkspaceResourceId                 : "/subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2"
```

### `Set-AzSqlServerAuditing`
- The cmdlet `Set-AzSqlServerAudit` is replacing this cmdlet.
- The output type is changing from the existing type :'Microsoft.Azure.Commands.Sql.Auditing.Model.DatabaseBlobAuditingSettingsModel' to the new type :'bool'

#### Before
```powershell
Set-AzSqlServerAuditing -State Enabled -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -StorageAccountName "Storage22"
```

#### After
```powershell
PS C:\> Set-AzSqlServerAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -BlobStorageTargetState Enabled -StorageAccountResourceId "/subscriptions/7fe3301d-31d3-4668-af5e-211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/storageAccounts/mystorage"
```

### `Get-AzSqlServerAdvancedThreatProtectionSettings`
Cmdlet `Get-AzSqlServerAdvancedThreatProtectionSettings` is replaced by `Get-AzSqlServerAdvancedThreatProtectionSetting`

#### Before
```powershell
Get-AzSqlServerAdvancedThreatProtectionSettings -ResourceGroupName "ResourceGroup11" -ServerName "Server01"
```

#### After
```powershell
Get-AzSqlServerAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01"
```

### `Clear-AzSqlServerAdvancedThreatProtectionSettings`
Cmdlet `Clear-AzSqlServerAdvancedThreatProtectionSettings` is replaced by `Clear-AzSqlServerAdvancedThreatProtectionSetting`

#### Before
```powershell
Clear-AzSqlServerAdvancedThreatProtectionSettings -ResourceGroupName "ResourceGroup11" -ServerName "Server01"
```

#### After
```powershell
Clear-AzSqlServerAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01"
```

### `Update-AzSqlServerAdvancedThreatProtectionSettings`
Cmdlet `Update-AzSqlServerAdvancedThreatProtectionSettings` is replaced by `Update-AzSqlServerAdvancedThreatProtectionSetting`

#### Before
```powershell
Update-AzSqlServerAdvancedThreatProtectionSettings -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -NotificationRecipientsEmails "admin01@contoso.com;secadmin@contoso.com" -EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability","SQL_Injection" -StorageAccountName "mystorageAccount"
```

#### After
```powershell
Update-AzSqlServerAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -NotificationRecipientsEmails "admin01@contoso.com;secadmin@contoso.com" -EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability","SQL_Injection" -StorageAccountName "mystorageAccount"
```

### `Get-AzSqlDatabaseAdvancedThreatProtectionSettings`
Cmdlet `Get-AzSqlDatabaseAdvancedThreatProtectionSettings` is replaced by `Get-AzSqlDatabaseAdvancedThreatProtectionSetting`

#### Before
```powershell
Get-AzSqlDatabaseAdvancedThreatProtectionSettings -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"
```

#### After
```powershell
Get-AzSqlDatabaseAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"
```

### `Update-AzSqlDatabaseAdvancedThreatProtectionSettings`
Cmdlet `Update-AzSqlDatabaseAdvancedThreatProtectionSettings` is replaced by `Update-AzSqlDatabaseAdvancedThreatProtectionSetting`

#### Before
```powershell
Update-AzSqlDatabaseAdvancedThreatProtectionSettings -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01" -NotificationRecipientsEmails "admin01@contoso.com;secadmin@contoso.com" -EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability", "SQL_Injection" -StorageAccountName "mystorageAccount"
```

#### After
```powershell
Update-AzSqlDatabaseAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01" -NotificationRecipientsEmails "admin01@contoso.com;secadmin@contoso.com" -EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability", "SQL_Injection" -StorageAccountName "mystorageAccount"
```

### `Clear-AzSqlDatabaseAdvancedThreatProtectionSettings`
Cmdlet `Clear-AzSqlDatabaseAdvancedThreatProtectionSettings` is replaced by `Clear-AzSqlDatabaseAdvancedThreatProtectionSetting`

#### Before
```powershell
Clear-AzSqlDatabaseAdvancedThreatProtectionSettings -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"
```

#### After
```powershell
Clear-AzSqlDatabaseAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"
```

### `Update-AzSqlDatabaseVulnerabilityAssessmentSettings`
Cmdlet `Update-AzSqlDatabaseVulnerabilityAssessmentSettings` is replaced by `Update-AzSqlDatabaseVulnerabilityAssessmentSetting`

#### Before
```powershell
Update-AzSqlDatabaseVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01"`
    -ServerName "Server01"`
    -DatabaseName "Database01" `
    -StorageAccountName "mystorage" `
    -ScanResultsContainerName "vulnerability-assessment" `
    -RecurringScansInterval Weekly `
    -EmailSubscriptionAdmins $true `
    -NotificationEmail @("mail1@mail.com" , "mail2@mail.com")
```

#### After
```powershell
Update-AzSqlDatabaseVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01"`
    -ServerName "Server01"`
    -DatabaseName "Database01" `
    -StorageAccountName "mystorage" `
    -ScanResultsContainerName "vulnerability-assessment" `
    -RecurringScansInterval Weekly `
    -EmailSubscriptionAdmins $true `
    -NotificationEmail @("mail1@mail.com" , "mail2@mail.com")
```


### `Get-AzSqlDatabaseVulnerabilityAssessmentSettings`
Cmdlet `Get-AzSqlDatabaseVulnerabilityAssessmentSettings` is replaced by `Get-AzSqlDatabaseVulnerabilityAssessmentSetting`

#### Before
```powershell
Get-AzSqlDatabaseVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"
```

#### After
```powershell
Get-AzSqlDatabaseVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"
```

### `Clear-AzSqlDatabaseVulnerabilityAssessmentSettings`
Cmdlet `Clear-AzSqlDatabaseVulnerabilityAssessmentSettings` is replaced by `Clear-AzSqlDatabaseVulnerabilityAssessmentSetting`

#### Before
```powershell
Clear-AzSqlDatabaseVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"
```

#### After
```powershell
Clear-AzSqlDatabaseVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"
```

### `Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings`
Cmdlet `Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings` is replaced by `Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting`

#### Before
```powershell
Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -InstanceName "ManagedInstance01" `
    -DatabaseName "Database01" `
    -StorageAccountName "mystorage" `
    -ScanResultsContainerName "vulnerability-assessment" `
    -RecurringScansInterval Weekly `
    -EmailSubscriptionAdmins $true `
    -NotificationEmail @("mail1@mail.com" , "mail2@mail.com")
```

#### After
```powershell
Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -InstanceName "ManagedInstance01" `
    -DatabaseName "Database01" `
    -StorageAccountName "mystorage" `
    -ScanResultsContainerName "vulnerability-assessment" `
    -RecurringScansInterval Weekly `
    -EmailSubscriptionAdmins $true `
    -NotificationEmail @("mail1@mail.com" , "mail2@mail.com")
```

### `Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings`
Cmdlet `Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings` is replaced by `Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting`

#### Before
```powershell
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"
```

#### After
```powershell
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"
```

### `Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings`
Cmdlet `Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings` is replaced by `Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting`

#### Before
```powershell
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"
```

#### After
```powershell
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"
```

### `Update-AzSqlInstanceVulnerabilityAssessmentSettings`
Cmdlet `Update-AzSqlInstanceVulnerabilityAssessmentSettings` is replaced by `Update-AzSqlInstanceVulnerabilityAssessmentSetting`

#### Before
```powershell
Update-AzSqlInstanceVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -InstanceName "ManagedInstance01" `
    -StorageAccountName "mystorage" `
    -ScanResultsContainerName "vulnerability-assessment" `
    -RecurringScansInterval Weekly `
    -EmailSubscriptionAdmins $true `
    -NotificationEmail @("mail1@mail.com" , "mail2@mail.com")
```

#### After
```powershell
Update-AzSqlInstanceVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -InstanceName "ManagedInstance01" `
    -StorageAccountName "mystorage" `
    -ScanResultsContainerName "vulnerability-assessment" `
    -RecurringScansInterval Weekly `
    -EmailSubscriptionAdmins $true `
    -NotificationEmail @("mail1@mail.com" , "mail2@mail.com")
```

### `Get-AzSqlInstanceVulnerabilityAssessmentSettings`
Cmdlet `Get-AzSqlInstanceVulnerabilityAssessmentSettings` is replaced by `Get-AzSqlInstanceVulnerabilityAssessmentSetting`

#### Before
```powershell
Get-AzSqlInstanceVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"
```

#### After
```powershell
Get-AzSqlInstanceVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"
```

### `Clear-AzSqlInstanceVulnerabilityAssessmentSettings`
Cmdlet `Clear-AzSqlInstanceVulnerabilityAssessmentSettings` is replaced by `Clear-AzSqlInstanceVulnerabilityAssessmentSetting`

#### Before
```powershell
Clear-AzSqlInstanceVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"
```

#### After
```powershell
Clear-AzSqlInstanceVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"
```

### `Update-AzSqlServerVulnerabilityAssessmentSettings`
Cmdlet `Update-AzSqlServerVulnerabilityAssessmentSettings` is replaced by `Update-AzSqlServerVulnerabilityAssessmentSetting`

#### Before
```powershell
Update-AzSqlServerVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01"`
    -ServerName "Server01"`
    -StorageAccountName "mystorage" `
    -ScanResultsContainerName "vulnerability-assessment" `
    -RecurringScansInterval Weekly `
    -EmailSubscriptionAdmins $true `
    -NotificationEmail @("mail1@mail.com" , "mail2@mail.com")
```

#### After
```powershell
Update-AzSqlServerVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01"`
    -ServerName "Server01"`
    -StorageAccountName "mystorage" `
    -ScanResultsContainerName "vulnerability-assessment" `
    -RecurringScansInterval Weekly `
    -EmailSubscriptionAdmins $true `
    -NotificationEmail @("mail1@mail.com" , "mail2@mail.com")
```

### `Get-AzSqlServerVulnerabilityAssessmentSettings`
Cmdlet `Get-AzSqlServerVulnerabilityAssessmentSettings` is replaced by `Get-AzSqlServerVulnerabilityAssessmentSetting`

#### Before
```powershell
Get-AzSqlServerVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"
```

#### After
```powershell
Get-AzSqlServerVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"
```

### `Clear-AzSqlServerVulnerabilityAssessmentSettings`
Cmdlet `Clear-AzSqlServerVulnerabilityAssessmentSettings` is replaced by `Clear-AzSqlServerVulnerabilityAssessmentSetting`

#### Before
```powershell
Clear-AzSqlServerVulnerabilityAssessmentSettings `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"
```

#### After
```powershell
Clear-AzSqlDatabaseVulnerabilityAssessmentSetting `
    -ResourceGroupName "ResourceGroup01" `
    -ServerName "Server01" `
    -DatabaseName "Database01"
```

### `Get-AzSqlServerAdvancedThreatProtectionPolicy`
Cmdlet `Get-AzSqlServerAdvancedThreatProtectionPolicy` is deleted and no cmdlet is replaced it

### `Get-AzSqlServerThreatDetectionPolicy`
Cmdlet `Get-AzSqlServerThreatDetectionPolicy` is replaced by `Get-AzSqlServerThreatDetectionSetting`

#### Before
```powershell
PS C:\> Get-AzSqlServerThreatDetectionPolicy -ResourceGroupName "ResourceGroup11" -ServerName "Server01"
ResourceGroupName            : ResourceGroup11
ServerName                   : Server01
ThreatDetectionState         : Enabled
NotificationRecipientsEmails : admin@myCompany.com
StorageAccountName           : mystorage
EmailAdmins                  : True
ExcludedDetectionTypes       : {}
RetentionInDays              : 0
```

#### After
```powershell
PS C:\> Get-AzSqlServerAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01"
ResourceGroupName            : ResourceGroup11
ServerName                   : Server01
ThreatDetectionState         : Enabled
NotificationRecipientsEmails : admin@myCompany.com
StorageAccountName           : mystorage
EmailAdmins                  : True
ExcludedDetectionTypes       : {}
RetentionInDays              : 0
```

### `Remove-AzSqlServerThreatDetectionPolicy`
Cmdlet `Remove-AzSqlServerThreatDetectionPolicy` is replaced by `Clear-AzSqlServerThreatDetectionSetting`

#### Before
```powershell
Remove-AzSqlServerThreatDetectionPolicy -ResourceGroupName "ResourceGroup11" -ServerName "Server01"
```

#### After
```powershell
Clear-AzSqlServerAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01"
```

### `Set-AzSqlServerThreatDetectionPolicy`
Cmdlet `Set-AzSqlServerThreatDetectionPolicy` is replaced by `Update-AzSqlServerThreatDetectionSetting`

#### Before
```powershell
Set-AzSqlServerThreatDetectionPolicy -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -NotificationRecipientsEmails "admin01@contoso.com;secadmin@contoso.com" -EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability","SQL_Injection" -StorageAccountName "mystorageAccount"
```

#### After
```powershell
Update-AzSqlServerAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -NotificationRecipientsEmails "admin01@contoso.com;secadmin@contoso.com" -EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability","SQL_Injection" -StorageAccountName "mystorageAccount"
```

### `Get-AzSqlDatabaseThreatDetectionPolicy`
Cmdlet `Get-AzSqlDatabaseThreatDetectionPolicy` is replaced by `Get-AzSqlDatabaseThreatDetectionSetting`

#### Before
```powershell
PS C:\> Get-AzSqlDatabaseThreatDetectionPolicy -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName   "Database01"
DatabaseName                 : Database01
ResourceGroupName            : ResourceGroup11
ServerName                   : Server01
ThreatDetectionState         : Enabled
NotificationRecipientsEmails : admin@myCompany.com
StorageAccountName           : mystorage
EmailAdmins                  : True
ExcludedDetectionTypes       : {}
RetentionInDays              : 0
```

#### After
```powershell
PS C:\> Get-AzSqlDatabaseAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01"   -DatabaseName "Database01"
DatabaseName                 : Database01
ResourceGroupName            : ResourceGroup11
ServerName                   : Server01
ThreatDetectionState         : Enabled
NotificationRecipientsEmails : admin@myCompany.com
StorageAccountName           : mystorage
EmailAdmins                  : True
ExcludedDetectionTypes       : {}
RetentionInDays              : 0
```

### `Set-AzSqlDatabaseThreatDetectionPolicy`
Cmdlet `Set-AzSqlDatabaseThreatDetectionPolicy` is replaced by `Update-AzSqlDatabaseThreatDetectionSetting`

#### Before
```powershell
Set-AzSqlDatabaseThreatDetectionPolicy -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01" -NotificationRecipientsEmails "admin01@contoso.com;secadmin@contoso.com" -EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability", "SQL_Injection" -StorageAccountName "mystorageAccount"
```

#### After
```powershell
Update-AzSqlDatabaseAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01" -NotificationRecipientsEmails "admin01@contoso.com;secadmin@contoso.com" -EmailAdmins $False -ExcludedDetectionType "Sql_Injection_Vulnerability", "SQL_Injection" -StorageAccountName "mystorageAccount"
```

### `Remove-AzSqlDatabaseThreatDetectionPolicy`
Cmdlet `Remove-AzSqlDatabaseThreatDetectionPolicy` is replaced by `Clear-AzSqlDatabaseThreatDetectionSetting`

#### Before
```powershell
Remove-AzSqlDatabaseThreatDetectionPolicy -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"
```

#### After
```powershell
Clear-AzSqlDatabaseAdvancedThreatProtectionSetting -ResourceGroupName "ResourceGroup11" -ServerName "Server01" -DatabaseName "Database01"
```

---

### Documentation Migration Guides Az.4.1.0 Migration Guide (`documentation/migration-guides/Az.4.1.0-migration-guide.md`)

# Migration Guide for Az 4.1.0

This document describes the changes between the 3.0.0 and 4.1.0 versions of Az.

- [Migration Guide for Az 4.1.0](#migration-guide-for-az-410)
  - [Az.ApiManagement](#azapimanagement)
    - [`Add-AzApiManagementRegion`](#add-azapimanagementregion)
    - [`New-AzApiManagement`](#new-azapimanagement)
    - [`Set-AzApiManagement`](#set-azapimanagement)
    - [`Get-AzApiManagementProperty`](#get-azapimanagementproperty)
    - [`New-AzApiManagementProperty`](#new-azapimanagementproperty)
    - [`Remove-AzApiManagementProperty`](#remove-azapimanagementproperty)
    - [`Set-AzApiManagementProperty`](#set-azapimanagementproperty)
  - [Az.Batch](#azbatch)
    - [`Get-AzBatchApplication`, `New-AzBatchApplication`](#get-azbatchapplication-new-azbatchapplication)
    - [`Get-AzBatchComputeNode`, `New-AzBatchPool`](#get-azbatchcomputenode-new-azbatchpool)
    - [`Get-AzBatchApplicationPackage`, `New-AzBatchApplicationPackage`](#get-azbatchapplicationpackage-new-azbatchapplicationpackage)
  - [Az.Compute](#azcompute)
    - [`Remove-AzVmssDiagnosticsExtension`](#remove-azvmssdiagnosticsextension)
    - [`Get-AzVMImage`](#get-azvmimage)
    - [`New-AzVMConfig`](#new-azvmconfig)
    - [`Update-AzVM`](#update-azvm)
    - [`New-AzProximityPlacementGroup`](#new-azproximityplacementgroup)
    - [`Remove-AzProximityPlacementGroup`](#remove-azproximityplacementgroup)
    - [`Get-AzProximityPlacementGroup`](#get-azproximityplacementgroup)
    - [`Add-AzVmssAdditionalUnattendContent`](#add-azvmssadditionalunattendcontent)
    - [`Add-AzVmssDataDisk`](#add-azvmssdatadisk)
    - [`Add-AzVmssExtension`](#add-azvmssextension)
    - [`Add-AzVmssNetworkInterfaceConfiguration`](#add-azvmssnetworkinterfaceconfiguration)
    - [`Add-AzVmssSecret`](#add-azvmsssecret)
    - [`Add-AzVmssSshPublicKey`](#add-azvmsssshpublickey)
    - [`Add-AzVmssWinRMListener`](#add-azvmsswinrmlistener)
    - [`New-AzVmssConfig`](#new-azvmssconfig)
    - [`Remove-AzVmssDataDisk`](#remove-azvmssdatadisk)
    - [`Remove-AzVmssExtension`](#remove-azvmssextension)
    - [`Remove-AzVmssNetworkInterfaceConfiguration`](#remove-azvmssnetworkinterfaceconfiguration)
    - [`Set-AzVmssBootDiagnostic`](#set-azvmssbootdiagnostic)
    - [`Set-AzVmssOsProfile`](#set-azvmssosprofile)
    - [`Set-AzVmssRollingUpgradePolicy`](#set-azvmssrollingupgradepolicy)
    - [`Set-AzVmssStorageProfile`](#set-azvmssstorageprofile)
    - [`New-AzVmss`](#new-azvmss)
    - [`Repair-AzVmssServiceFabricUpdateDomain`](#repair-azvmssservicefabricupdatedomain)
    - [`Get-AzVmss`](#get-azvmss)
    - [`Set-AzVmssOrchestrationServiceState`](#set-azvmssorchestrationservicestate)
    - [`Update-AzVmss`](#update-azvmss)
    - [`Add-AzVmssDiagnosticsExtension`](#add-azvmssdiagnosticsextension)
    - [`Disable-AzVmssDiskEncryption`](#disable-azvmssdiskencryption)
  - [Az.KeyVault](#azkeyvault)
    - [`New-AzKeyVaultCertificateOrganizationDetail`](#new-azkeyvaultcertificateorganizationdetail)
    - [`New-AzKeyVaultCertificateAdministratorDetail`](#new-azkeyvaultcertificateadministratordetail)
    - [`New-AzKeyVault`](#new-azkeyvault)
  - [Az.Monitor](#azmonitor)
    - [`Add-AzLogProfile`](#add-azlogprofile)
    - [`Get-AzLogProfile`](#get-azlogprofile)
    - [`New-AzMetricAlertRuleV2Criteria`](#new-azmetricalertrulev2criteria)
  - [Az.Network](#aznetwork)
    - [`Get-AzNetworkWatcherConnectionMonitor`](#get-aznetworkwatcherconnectionmonitor)
    - [`New-AzNetworkWatcherConnectionMonitorTestConfigurationObject`](#new-aznetworkwatcherconnectionmonitortestconfigurationobject)
  - [Az.OperationalInsights](#azoperationalinsights)
    - [`Get-AzOperationalInsightsDataSource`](#get-azoperationalinsightsdatasource)
    - [`New-AzOperationalInsightsApplicationInsightsDataSource`](#new-azoperationalinsightsapplicationinsightsdatasource)
    - [`New-AzOperationalInsightsAzureActivityLogDataSource`](#new-azoperationalinsightsazureactivitylogdatasource)
    - [`New-AzOperationalInsightsCustomLogDataSource`](#new-azoperationalinsightscustomlogdatasource)
    - [`New-AzOperationalInsightsLinuxPerformanceObjectDataSource`](#new-azoperationalinsightslinuxperformanceobjectdatasource)
    - [`New-AzOperationalInsightsLinuxSyslogDataSource`](#new-azoperationalinsightslinuxsyslogdatasource)
    - [`New-AzOperationalInsightsWindowsEventDataSource`](#new-azoperationalinsightswindowseventdatasource)
    - [`New-AzOperationalInsightsWindowsPerformanceCounterDataSource`](#new-azoperationalinsightswindowsperformancecounterdatasource)
    - [`Remove-AzOperationalInsightsDataSource`](#remove-azoperationalinsightsdatasource)
    - [`Disable-AzOperationalInsightsIISLogCollection`](#disable-azoperationalinsightsiislogcollection)
    - [`Disable-AzOperationalInsightsLinuxCustomLogCollection`](#disable-azoperationalinsightslinuxcustomlogcollection)
    - [`Disable-AzOperationalInsightsLinuxPerformanceCollection`](#disable-azoperationalinsightslinuxperformancecollection)
    - [`Disable-AzOperationalInsightsLinuxSyslogCollection`](#disable-azoperationalinsightslinuxsyslogcollection)
    - [`Enable-AzOperationalInsightsIISLogCollection`](#enable-azoperationalinsightsiislogcollection)
    - [`Enable-AzOperationalInsightsLinuxCustomLogCollection`](#enable-azoperationalinsightslinuxcustomlogcollection)
    - [`Enable-AzOperationalInsightsLinuxPerformanceCollection`](#enable-azoperationalinsightslinuxperformancecollection)
    - [`Enable-AzOperationalInsightsLinuxSyslogCollection`](#enable-azoperationalinsightslinuxsyslogcollection)
    - [`Get-AzOperationalInsightsSavedSearch`](#get-azoperationalinsightssavedsearch)
    - [`Get-AzOperationalInsightsSavedSearchResult`](#get-azoperationalinsightssavedsearchresult)
    - [`Get-AzOperationalInsightsSearchResult`](#get-azoperationalinsightssearchresult)
    - [`Get-AzOperationalInsightsStorageInsight`](#get-azoperationalinsightsstorageinsight)
    - [`New-AzOperationalInsightsStorageInsight`](#new-azoperationalinsightsstorageinsight)
    - [`Remove-AzOperationalInsightsStorageInsight`](#remove-azoperationalinsightsstorageinsight)
    - [`Set-AzOperationalInsightsStorageInsight`](#set-azoperationalinsightsstorageinsight)
    - [`Get-AzOperationalInsightsLinkTarget`](#get-azoperationalinsightslinktarget)
    - [`Get-AzOperationalInsightsWorkspace`](#get-azoperationalinsightsworkspace)
    - [`New-AzOperationalInsightsWorkspace`](#new-azoperationalinsightsworkspace)
    - [`Set-AzOperationalInsightsWorkspace`](#set-azoperationalinsightsworkspace)
    - [`Invoke-AzOperationalInsightsQuery`](#invoke-azoperationalinsightsquery)
  - [Az.Resources](#azresources)
    - [`Get-AzDeploymentScript`](#get-azdeploymentscript)
    - [`Get-AzDeploymentScriptLog`](#get-azdeploymentscriptlog)
    - [`Save-AzDeploymentScriptLog`](#save-azdeploymentscriptlog)
    - [`Get-AzResourceLock, New-AzResourceLock, Remove-AzResourceLock, Set-AzResourceLock`](#get-azresourcelock-new-azresourcelock-remove-azresourcelock-set-azresourcelock)
    - [`Get-AzPolicyAlias`](#get-azpolicyalias)
    - [`New-AzPolicyAssignment`](#new-azpolicyassignment)
    - [`Remove-AzDeploymentScript`](#remove-azdeploymentscript)
  - [Az.Storage](#azstorage)
    - [`Update-AzStorageAccountNetworkRuleSet`, `Get-AzStorageAccountNetworkRuleSet`](#update-azstorageaccountnetworkruleset-get-azstorageaccountnetworkruleset)
    - [`New-AzStorageTable`, `Get-AzStorageTable`](#new-azstoragetable-get-azstoragetable)
    - [`Get-AzStorageFile`, `Remove-AzStorageFile`, `Get-AzStorageFileContent`, `Set-AzStorageFileContent`, `Start-AzStorageFileCopy`](#get-azstoragefile-remove-azstoragefile-get-azstoragefilecontent-set-azstoragefilecontent-start-azstoragefilecopy)
    - [`Get-AzStorageFile`, `New-AzStorageDirectory`, `Remove-AzStorageDirectory`](#get-azstoragefile-new-azstoragedirectory-remove-azstoragedirectory)
    - [`Get-AzStorageShare`, `New-AzStorageShare`, `Remove-AzStorageShare`](#get-azstorageshare-new-azstorageshare-remove-azstorageshare)
    - [`Set-AzStorageShareQuota`](#set-azstoragesharequota)
    - [`Remove-AzStorageDirectory`](#remove-azstoragedirectory)

## Az.ApiManagement

### `Add-AzApiManagementRegion`
The type of property `Type` of type `Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementServiceIdentity` has changed from `Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementServiceIdentityType` to `System.String`.

### `New-AzApiManagement`
- The cmdlet `New-AzApiManagement` no longer supports the parameter `AssignIdentity` and no alias was found for the original parameter name.
- The parameter set `__AllParameterSets` for cmdlet `New-AzApiManagement` has been removed.

### `Set-AzApiManagement`
- The cmdlet `Set-AzApiManagement` no longer supports the parameter `AssignIdentity` and no alias was found for the original parameter name.
- The parameter set `__AllParameterSets` for cmdlet `Set-AzApiManagement` has been removed.

### `Get-AzApiManagementProperty`
The cmdlet `Get-AzApiManagementProperty` has been replaced by `Get-AzureApiManagementNamedValue`.

### `New-AzApiManagementProperty`
The cmdlet `New-AzApiManagementProperty` has been replaced by `New-AzureApiManagementNamedValue`.

### `Remove-AzApiManagementProperty`
The cmdlet `Remove-AzApiManagementProperty` has been replaced by `Remove-AzureApiManagementNamedValue`.

### `Set-AzApiManagementProperty`
The cmdlet `Set-AzApiManagementProperty` has been replaced by `Set-AzureApiManagementNamedValue`.

## Az.Batch

### `Get-AzBatchApplication`, `New-AzBatchApplication`
The property `ApplicationPackages` of type `Microsoft.Azure.Commands.Batch.Models.PSApplication` has been removed.

### `Get-AzBatchComputeNode`, `New-AzBatchPool`
The property `PublicIPs` of type `Microsoft.Azure.Commands.Batch.Models.PSNetworkConfiguration` has been removed

### `Get-AzBatchApplicationPackage`, `New-AzBatchApplicationPackage`
The type of property `StorageUrlExpiry` of type `Microsoft.Azure.Commands.Batch.Models.PSApplicationPackage` has changed from `System.DateTime` to `System.DateTime?`.

## Az.Compute

### `Remove-AzVmssDiagnosticsExtension`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `Get-AzVMImage`
- The cmdlet `Get-AzVMImage` no longer supports the parameter `FilterExpression` and no alias was found for the original parameter name.
- The parameter set `ListVMImage` for cmdlet `Get-AzVMImage` has been removed.

### `New-AzVMConfig`
- The cmdlet `New-AzVMConfig` no longer supports the parameter `AssignIdentity` and no alias was found for the original parameter name.
- The parameter set `AssignIdentityParameterSet` for cmdlet `New-AzVMConfig` has been removed.

### `Update-AzVM`
- The cmdlet `Update-AzVM` no longer supports the parameter `AssignIdentity` and no alias was found for the original parameter name.
- The parameter set `AssignIdentityParameterSet` for cmdlet `Update-AzVM` has been removed.

### `New-AzProximityPlacementGroup`
- The generic type for property `VirtualMachines`, `VirtualMachineScaleSets` and `AvailabilitySets` has been changed from `System.Collections.Generic.IList1[Microsoft.Azure.Management.Compute.Models.SubResource]` to `System.Collections.Generic.IList1[Microsoft.Azure.Management.Compute.Models.SubResourceWithColocationStatus]`. 
- The property `VirtualMachinesColocationStatus`, `VirtualMachineScaleSetsColocationStatus` and `AvailabilitySetsColocationStatus` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSProximityPlacementGroup` has been removed.

#### Before
```powershell
PS C:\> New-AzProximityPlacementGroup -ResourceGroupName $resourceGroupName -Name $proximityPlacementGroupName -Location $location -Tag @{key1 = 'val1'} | Format-List

ResourceGroupName                       : $resourceGroupName
ProximityPlacementGroupType             : Standard
VirtualMachinesColocationStatus         : {}
VirtualMachineScaleSetsColocationStatus : {}
AvailabilitySetsColocationStatus        : {}
ColocationStatus                        :
Id                                      : /subscriptions/9e223dbe-3399-4e19-88eb-0975f02ac87f/resourceGroups/$resourceGroupName/providers/Microsoft.Compute/proximityPlacementGroups/$proximityPlacementGroupName
Name                                    : $proximityPlacementGroupName
Type                                    : Microsoft.Compute/proximityPlacementGroups
Location                                : $location
Tags                                    : {[key1, val1]}
VirtualMachines                         : {}
VirtualMachineScaleSets                 : {}
AvailabilitySets                        : {}
```

#### After
```powershell
PS C:\> New-AzProximityPlacementGroup -ResourceGroupName $resourceGroupName -Name $proximityPlacementGroupName -Location $location -Tag @{key1 = 'val1'} | Format-List

ResourceGroupName                       : $resourceGroupName
ProximityPlacementGroupType             : StandardColocationStatus                        :
Id                                      : /subscriptions/9e223dbe-3399-4e19-88eb-0975f02ac87f/resourceGroups/$resourceGroupName/providers/Microsoft.Compute/proximityPlacementGroups/$proximityPlacementGroupName
Name                                    : $proximityPlacementGroupName
Type                                    : Microsoft.Compute/proximityPlacementGroups
Location                                : $location
Tags                                    : {[key1, val1]}
VirtualMachines                         : {}
VirtualMachineScaleSets                 : {}
AvailabilitySets                        : {}
```

### `Remove-AzProximityPlacementGroup`
- The generic type for property `VirtualMachines`, `VirtualMachineScaleSets` and `AvailabilitySets` has been changed from `System.Collections.Generic.IList1[Microsoft.Azure.Management.Compute.Models.SubResource]` to `System.Collections.Generic.IList1[Microsoft.Azure.Management.Compute.Models.SubResourceWithColocationStatus]`. 
- The property `VirtualMachinesColocationStatus`, `VirtualMachineScaleSetsColocationStatus` and `AvailabilitySetsColocationStatus` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSProximityPlacementGroup` has been removed.

#### Before
```powershell
PS C:\> Get-AzProximityPlacementGroup -ResourceGroupName $resourceGroupName -Name $proximityPlacementGroupName | Remove-AzProximityPlacementGroup | Format-List

ResourceGroupName                       : $resourceGroupName
ProximityPlacementGroupType             : Standard
VirtualMachinesColocationStatus         : {}
VirtualMachineScaleSetsColocationStatus : {}
AvailabilitySetsColocationStatus        : {}
ColocationStatus                        :
Id                                      : /subscriptions/9e223dbe-3399-4e19-88eb-0975f02ac87f/resourceGroups/$resourceGroupName/providers/Microsoft.Compute/proximityPlacementGroups/$proximityPlacementGroupName
Name                                    : $proximityPlacementGroupName
Type                                    : Microsoft.Compute/proximityPlacementGroups
Location                                : $location
Tags                                    : {[key1, val1]}
VirtualMachines                         : {}
VirtualMachineScaleSets                 : {}
AvailabilitySets                        : {}
```

#### After
```powershell
PS C:\> Get-AzProximityPlacementGroup -ResourceGroupName $resourceGroupName -Name $proximityPlacementGroupName | Remove-AzProximityPlacementGroup | Format-List

ResourceGroupName                       : $resourceGroupName
ProximityPlacementGroupType             : StandardColocationStatus                        :
Id                                      : /subscriptions/9e223dbe-3399-4e19-88eb-0975f02ac87f/resourceGroups/$resourceGroupName/providers/Microsoft.Compute/proximityPlacementGroups/$proximityPlacementGroupName
Name                                    : $proximityPlacementGroupName
Type                                    : Microsoft.Compute/proximityPlacementGroups
Location                                : $location
Tags                                    : {[key1, val1]}
VirtualMachines                         : {}
VirtualMachineScaleSets                 : {}
AvailabilitySets                        : {}
```

### `Get-AzProximityPlacementGroup`
- The generic type for property `VirtualMachines`, `VirtualMachineScaleSets` and `AvailabilitySets` has been changed from `System.Collections.Generic.IList1[Microsoft.Azure.Management.Compute.Models.SubResource]` to `System.Collections.Generic.IList1[Microsoft.Azure.Management.Compute.Models.SubResourceWithColocationStatus]`. 
- The property `VirtualMachinesColocationStatus`, `VirtualMachineScaleSetsColocationStatus` and `AvailabilitySetsColocationStatus` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSProximityPlacementGroup` has been removed.

#### Before
```powershell
PS C:\> Get-AzProximityPlacementGroup -ResourceGroupName $resourceGroupName -Name $proximityPlacementGroupName | Format-List

ResourceGroupName                       : $resourceGroupName
ProximityPlacementGroupType             : Standard
VirtualMachinesColocationStatus         : {}
VirtualMachineScaleSetsColocationStatus : {}
AvailabilitySetsColocationStatus        : {}
ColocationStatus                        :
Id                                      : /subscriptions/9e223dbe-3399-4e19-88eb-0975f02ac87f/resourceGroups/$resourceGroupName/providers/Microsoft.Compute/proximityPlacementGroups/$proximityPlacementGroupName
Name                                    : $proximityPlacementGroupName
Type                                    : Microsoft.Compute/proximityPlacementGroups
Location                                : $location
Tags                                    : {[key1, val1]}
VirtualMachines                         : {}
VirtualMachineScaleSets                 : {}
AvailabilitySets                        : {}
```

#### After
```powershell
PS C:\> Get-AzProximityPlacementGroup -ResourceGroupName $resourceGroupName -Name $proximityPlacementGroupName | Format-List

ResourceGroupName                       : $resourceGroupName
ProximityPlacementGroupType             : StandardColocationStatus                        :
Id                                      : /subscriptions/9e223dbe-3399-4e19-88eb-0975f02ac87f/resourceGroups/$resourceGroupName/providers/Microsoft.Compute/proximityPlacementGroups/$proximityPlacementGroupName
Name                                    : $proximityPlacementGroupName
Type                                    : Microsoft.Compute/proximityPlacementGroups
Location                                : $location
Tags                                    : {[key1, val1]}
VirtualMachines                         : {}
VirtualMachineScaleSets                 : {}
AvailabilitySets                        : {}
```

### `Add-AzVmssAdditionalUnattendContent`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `Add-AzVmssDataDisk`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `Add-AzVmssExtension`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `Add-AzVmssNetworkInterfaceConfiguration`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `Add-AzVmssSecret`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `Add-AzVmssSshPublicKey`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `Add-AzVmssWinRMListener`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `New-AzVmssConfig`
- The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.
- No longer supports the parameter `AutomaticRepairMaxInstanceRepairsPercent` and no alias was found for the original parameter name.
- No longer supports the parameter `AssignIdentity` and no alias was found for the original parameter name.
- The parameter set `__AllParameterSets` has been removed.
- The parameter set `ExplicitIdentityParameterSet` has been removed.
- The parameter set `AssignIdentityParameterSet` has been removed.

### `Remove-AzVmssDataDisk`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `Remove-AzVmssExtension`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `Remove-AzVmssNetworkInterfaceConfiguration`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `Set-AzVmssBootDiagnostic`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `Set-AzVmssOsProfile`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `Set-AzVmssRollingUpgradePolicy`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `Set-AzVmssStorageProfile`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `New-AzVmss`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `Repair-AzVmssServiceFabricUpdateDomain`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `Get-AzVmss`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `Set-AzVmssOrchestrationServiceState`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `Update-AzVmss`
- The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.
- No longer supports the parameter `AutomaticRepairMaxInstanceRepairsPercent` and no alias was found for the original parameter name.
- The parameter set `__AllParameterSets` has been removed.
- The parameter set `ExplicitIdentityParameterSet` has been removed.

### `Add-AzVmssDiagnosticsExtension`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

### `Disable-AzVmssDiskEncryption`
The type of property `AutomaticRepairsPolicy` of type `Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet` has changed from `Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy` to `Microsoft.Azure.Management.Compute.Models.AutomaticRepairsPolicy`.

## Az.KeyVault

### `New-AzKeyVaultCertificateOrganizationDetail`
The alias `New-AzKeyVaultCertificateOrganizationDetails` is removed. Please use `New-AzKeyVaultCertificateOrganizationDetail`.

#### Before
```powershell
PS C:\> New-AzKeyVaultCertificateOrganizationDetails -AdministratorDetails $AdminDetails
```

#### After
```powershell
PS C:\> New-AzKeyVaultCertificateOrganizationDetail -AdministratorDetails $AdminDetails
```

### `New-AzKeyVaultCertificateAdministratorDetail`
The alias `New-AzKeyVaultCertificateAdministratorDetails` is removed. Please use `New-AzKeyVaultCertificateAdministratorDetail`.

#### Before
```powershell
PS C:\> $AdminDetails = New-AzKeyVaultCertificateAdministratorDetails -FirstName 'Patti' -LastName 'Fuller' -EmailAddress 'patti.fuller@contoso.com' -PhoneNumber '5553334444'
```

#### After
```powershell
PS C:\> $AdminDetails = New-AzKeyVaultCertificateAdministratorDetail -FirstName 'Patti' -LastName 'Fuller' -EmailAddress 'patti.fuller@contoso.com' -PhoneNumber '5553334444'
```

### `New-AzKeyVault`
`-EnableSoftDelete` is removed, as soft delete is enabled by default. Please use `-DisableSoftDelete` if you do not want this behavior.

#### Before
```powershell
PS C:\> New-AzKeyVault -VaultName 'Contoso03Vault' -ResourceGroupName 'Group14' -Location 'East US' -EnableSoftDelete
```

#### After
```powershell
PS C:\> New-AzKeyVault -VaultName 'Contoso03Vault' -ResourceGroupName 'Group14' -Location 'East US'
```

## Az.Monitor

### `Add-AzLogProfile`
The type of property `RetentionPolicy` of type `Microsoft.Azure.Commands.Insights.OutputClasses.PSLogProfile` has changed from `Microsoft.Azure.Management.Monitor.Management.Models.RetentionPolicy` to `Microsoft.Azure.Management.Monitor.Models.RetentionPolicy`.

### `Get-AzLogProfile`
The type of property `RetentionPolicy` of type `Microsoft.Azure.Commands.Insights.OutputClasses.PSLogProfile` has changed from `Microsoft.Azure.Management.Monitor.Management.Models.RetentionPolicy` to `Microsoft.Azure.Management.Monitor.Models.RetentionPolicy`.

### `New-AzMetricAlertRuleV2Criteria`
The parameter set `__AllParameterSets` for cmdlet `New-AzMetricAlertRuleV2Criteria` has been removed.

## Az.Network

### `Get-AzNetworkWatcherConnectionMonitor`
The generic type for property `RoundTripTimeMs` has been changed from `System.Nullable1[System.Int32]` to `System.Nullable1[System.Double]`.

### `New-AzNetworkWatcherConnectionMonitorTestConfigurationObject`
The generic type for parameter `SuccessThresholdRoundTripTimeMs` has been changed from `System.Nullable1[System.Int32]` to `System.Nullable1[System.Double]`. 

## Az.OperationalInsights

### `Get-AzOperationalInsightsDataSource`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `New-AzOperationalInsightsApplicationInsightsDataSource`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `New-AzOperationalInsightsAzureActivityLogDataSource`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `New-AzOperationalInsightsCustomLogDataSource`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `New-AzOperationalInsightsLinuxPerformanceObjectDataSource`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `New-AzOperationalInsightsLinuxSyslogDataSource`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `New-AzOperationalInsightsWindowsEventDataSource`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `New-AzOperationalInsightsWindowsPerformanceCounterDataSource`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `Remove-AzOperationalInsightsDataSource`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `Disable-AzOperationalInsightsIISLogCollection`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `Disable-AzOperationalInsightsLinuxCustomLogCollection`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `Disable-AzOperationalInsightsLinuxPerformanceCollection`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `Disable-AzOperationalInsightsLinuxSyslogCollection`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `Enable-AzOperationalInsightsIISLogCollection`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `Enable-AzOperationalInsightsLinuxCustomLogCollection`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `Enable-AzOperationalInsightsLinuxPerformanceCollection`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `Enable-AzOperationalInsightsLinuxSyslogCollection`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `Get-AzOperationalInsightsSavedSearch`
The property `Metadata` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSSearchListSavedSearchResponse` has been removed.

### `Get-AzOperationalInsightsSavedSearchResult`
The cmdlet `Get-AzOperationalInsightsSavedSearchResult` was not supported by SDK anymore and has been removed.

### `Get-AzOperationalInsightsSearchResult`
The cmdlet `Get-AzOperationalInsightsSearchResult` was not supported by SDK anymore and has been removed.

### `Get-AzOperationalInsightsStorageInsight`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `New-AzOperationalInsightsStorageInsight`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `Remove-AzOperationalInsightsStorageInsight`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `Set-AzOperationalInsightsStorageInsight`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `Get-AzOperationalInsightsLinkTarget`
The cmdlet `Get-AzOperationalInsightsLinkTarget` was not supported by SDK anymore and has been removed.

### `Get-AzOperationalInsightsWorkspace`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `New-AzOperationalInsightsWorkspace`
- The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.
- The cmdlet `New-AzOperationalInsightsWorkspace` no longer supports the parameter `CustomerId` and no alias was found for the original parameter name.
- The parameter set `__AllParameterSets` for cmdlet `New-AzOperationalInsightsWorkspace` has been removed.

### `Set-AzOperationalInsightsWorkspace`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

### `Invoke-AzOperationalInsightsQuery`
The property `PortalUrl` of type `Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspace` has been removed.

## Az.Resources

### `Get-AzDeploymentScript`
The type of property `Status` of type `Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PsDeploymentScript` has changed from `Microsoft.Azure.Management.ResourceManager.Models.ScriptStatus` to `Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PsScriptStatus`.

### `Get-AzDeploymentScriptLog`
The type of property `Status` of type `Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PsDeploymentScript` has changed from `Microsoft.Azure.Management.ResourceManager.Models.ScriptStatus` to `Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PsScriptStatus`.

### `Save-AzDeploymentScriptLog`
The type of property `Status` of type `Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PsDeploymentScript` has changed from `Microsoft.Azure.Management.ResourceManager.Models.ScriptStatus` to `Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PsScriptStatus`.

### `Get-AzResourceLock, New-AzResourceLock, Remove-AzResourceLock, Set-AzResourceLock`
Parameter `TenantLevel` has been removed.

### `Get-AzPolicyAlias`
The generic type for property `Aliases` has been changed from `System.Collections.Generic.IList1[Microsoft.Azure.Management.ResourceManager.Models.AliasType]` to `System.Collections.Generic.IList1[Microsoft.Azure.Management.ResourceManager.Models.Alias]`. 

### `New-AzPolicyAssignment`
- The cmdlet `New-AzPolicyAssignment` no longer supports the type `System.Management.Automation.PSObject` for parameter `PolicyDefinition`.
- The cmdlet `New-AzPolicyAssignment` no longer supports the type `System.Management.Automation.PSObject` for parameter `PolicySetDefinition`.

### `Remove-AzDeploymentScript`
The type of property `Status` of type `Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PsDeploymentScript` has changed from `Microsoft.Azure.Management.ResourceManager.Models.ScriptStatus` to `Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PsScriptStatus`.

## Az.Storage

### `Update-AzStorageAccountNetworkRuleSet`, `Get-AzStorageAccountNetworkRuleSet`
Changed NetWorkRule DefaultAction value from: Allow = 1, Deny = 0, to: Allow = 0, Deny = 1.

### `New-AzStorageTable`, `Get-AzStorageTable`
Output object AzureStorageTable.CloudTable.ServiceClient have 2 properties removed: ConnectionPolicy, ConsistencyLevel.

### `Get-AzStorageFile`, `Remove-AzStorageFile`, `Get-AzStorageFileContent`, `Set-AzStorageFileContent`, `Start-AzStorageFileCopy`
Change output type from CloudFile to AzureStorageFile, the original output will become child property "CloudFile" of the new output

#### Before
```powershell
PS C:\> $file = Get-AzStorageFile -ShareName $shareName -Path testfile -Context $ctx

PS C:\> Remove-AzStorageFile -File $file
```

#### After
```powershell
PS C:\> $file = Get-AzStorageFile -ShareName $shareName -Path testfile -Context $ctx

PS C:\> Remove-AzStorageFile -File $file.CloudFile
```

### `Get-AzStorageFile`, `New-AzStorageDirectory`, `Remove-AzStorageDirectory`
Change output type from CloudFileDirectory to AzureStorageFileDirectory, the original output will become child property "CloudFileDirectory" of the new output

#### Before
```powershell
PS C:\> $dir = Get-AzStorageFile -ShareName $shareName -Path testdir -Context $ctx

PS C:\> Remove-AzStorageDirectory -Directory $dir
```

#### After
```powershell
PS C:\> $dir = Get-AzStorageFile -ShareName $shareName -Path testdir -Context $ctx

PS C:\> Remove-AzStorageDirectory -Directory $dir.CloudFileDirectory
```

### `Get-AzStorageShare`, `New-AzStorageShare`, `Remove-AzStorageShare`
Change output type from FileShareProperties to AzureStorageFileShare, the original output will become child property "CloudFileShare" of the new output

#### Before
```powershell
PS C:\> $share = Get-AzStorageShare -Name $shareName -Context $ctx

PS C:\> Remove-AzStorageShare -Share $share
```

#### After
```powershell
PS C:\> $share = Get-AzStorageShare -Name $shareName -Context $ctx

PS C:\> Remove-AzStorageShare -Share $share.CloudFileShare
```

### `Set-AzStorageShareQuota`
Change output type from FileShareProperties to AzureStorageFileShare, the original output will become sub child property ""CloudFileShare.Properties"" of the new output

#### Before
```powershell
PS C:\> $shareProperties = Set-AzStorageShareQuota -Name $shareName -Quota 100 -Context $ctx

PS C:\> $shareProperties

ETag                LastModified                Quota
----                ------------                -----
"0x8D7F5BC7789FC63" 5/11/2020 3:03:30 PM +00:00   100
```

#### After
```powershell
PS C:\> $share = Set-AzStorageShareQuota -Name $shareName -Quota 100 -Context $ctx

PS C:\> $share

   File End Point: https://weiors1.file.core.windows.net/

Name     QuotaGiB LastModified                IsSnapshot SnapshotTime
----     -------- ------------                ---------- ------------
weitest1 100      5/11/2020 3:03:30 PM +00:00 False               

PS C:\> $share.CloudFileShare.Properties

ETag                LastModified                Quota
----                ------------                -----
"0x8D7F5BC7789FC63" 5/11/2020 3:03:30 PM +00:00   100
```

### `Remove-AzStorageDirectory`
When removing sub File Directories with parent Directory object and -Path, Can't input -Path from pipeline with type (string) match anymore.

#### Before
```powershell
PS C:\> $dir = Get-AzStorageFile -ShareName $shareName -Path testdir -Context $ctx

PS C:\> @('dir1', 'dir2') | Remove-AzStorageDirectory -Directory $dir
```

#### After
```powershell
PS C:\> $dir = Get-AzStorageFile -ShareName $shareName -Path testdir -Context $ctx

PS C:\> $paths = @(
    [PSCustomObject]@{  Path = 'dir1 }
    [PSCustomObject]@{ Path = 'dir2' }
)

PS C:\> $paths | Remove-AzStorageDirectory -Directory $dir.CloudFileDirectory
```

---

### Documentation Migration Guides Az.5.0.0 Migration Guide (`documentation/migration-guides/Az.5.0.0-migration-guide.md`)

# Migration Guide for Az 5.0.0

This document describes the changes between the 4.0.0 and 5.0.0 versions of Az.

- [Migration Guide for Az 5.0.0](#migration-guide-for-az-500)
  - [Az.Aks](#azaks)
    - [New-AzAksCluster](#new-azakscluster)
    - [Set-AzAksCluster](#set-azakscluster)
  - [Az.ContainerRegistry](#azcontainerregistry)
    - [New-AzContainerRegistry](#new-azcontainerregistry)
  - [Az.Functions](#azfunctions)
    - [Get-AzFunctionApp](#get-azfunctionapp)
    - [New-AzFunctionApp](#new-azfunctionapp)
  - [Az.KeyVault](#azkeyvault)
    - [New-AzKeyVault](#new-azkeyvault)
    - [Update-AzKeyVault](#update-azkeyvault)
    - [Get-AzKeyVaultSecret](#get-azkeyvaultsecret)
  - [Az.ManagedServices](#azmanagedservices)
    - [Get-AzManagedServicesDefinition](#get-azmanagedservicesdefinition)
    - [New-AzManagedServicesAssignment](#new-azmanagedservicesassignment)
    - [Remove-AzManagedServicesAssignment](#remove-azmanagedservicesassignment)
    - [Remove-AzManagedServicesDefinition](#remove-azmanagedservicesdefinition)
  - [Az.ResourceManager](#azresourcemanager)
    - [Get-AzManagementGroupDeployment](#get-azmanagementgroupdeployment)
    - [Get-AzManagementGroupDeploymentOperation](#get-azmanagementgroupdeploymentoperation)
    - [Get-AzDeployment](#get-azdeployment)
    - [Get-AzDeploymentOperation](#get-azdeploymentoperation)
    - [Get-AzDeploymentWhatIfResult](#get-azdeploymentwhatifresult)
    - [Get-AzTenantDeployment](#get-aztenantdeployment)
    - [Get-AzTenantDeploymentOperation](#get-aztenantdeploymentoperation)
    - [New-AzManagementGroupDeployment](#new-azmanagementgroupdeployment)
    - [New-AzDeployment](#new-azdeployment)
    - [New-AzTenantDeployment](#new-aztenantdeployment)
    - [Remove-AzManagementGroupDeployment](#remove-azmanagementgroupdeployment)
    - [Remove-AzDeployment](#remove-azdeployment)
    - [Remove-AzTenantDeployment](#remove-aztenantdeployment)
    - [Save-AzManagementGroupDeploymentTemplate](#save-azmanagementgroupdeploymenttemplate)
    - [Save-AzDeploymentTemplate](#save-azdeploymenttemplate)
    - [Save-AzTenantDeploymentTemplate](#save-aztenantdeploymenttemplate)
    - [Stop-AzManagementGroupDeployment](#stop-azmanagementgroupdeployment)
    - [Stop-AzDeployment](#stop-azdeployment)
    - [Stop-AzTenantDeployment](#stop-aztenantdeployment)
    - [Test-AzManagementGroupDeployment](#test-azmanagementgroupdeployment)
    - [Test-AzDeployment](#test-azdeployment)
    - [Test-AzTenantDeployment](#test-aztenantdeployment)
    - [Get-AzResourceGroupDeployment](#get-azresourcegroupdeployment)
    - [Get-AzResourceGroupDeploymentOperation](#get-azresourcegroupdeploymentoperation)
    - [Get-AzResourceGroupDeploymentWhatIfResult](#get-azresourcegroupdeploymentwhatifresult)
    - [New-AzResourceGroupDeployment](#new-azresourcegroupdeployment)
    - [Remove-AzResourceGroupDeployment](#remove-azresourcegroupdeployment)
    - [Save-AzResourceGroupDeploymentTemplate](#save-azresourcegroupdeploymenttemplate)
    - [Stop-AzResourceGroupDeployment](#stop-azresourcegroupdeployment)
    - [Test-AzResourceGroupDeployment](#test-azresourcegroupdeployment)
    - [Get-AzManagementGroupDeploymentWhatIfResult](#get-azmanagementgroupdeploymentwhatifresult)
    - [Get-AzTenantDeploymentWhatIfResult](#get-aztenantdeploymentwhatifresult)
  - [Az.Sql](#azsql)
    - [Set-AzSqlServerActiveDirectoryAdministrator](#set-azsqlserveractivedirectoryadministrator)
  - [Az.Synapse](#azsynapse)
    - [New-AzSynapseSqlPool](#new-azsynapsesqlpool)
    - [Update-AzSynapseSqlPool](#update-azsynapsesqlpool)
  - [Az.Network](#aznetwork)
    - [Approve-AzPrivateEndpointConnection](#approve-azprivateendpointconnection)
    - [Deny-AzPrivateEndpointConnection](#deny-azprivateendpointconnection)
    - [Get-AzPrivateEndpointConnection](#get-azprivateendpointconnection)
    - [Remove-AzPrivateEndpointConnection](#remove-azprivateendpointconnection)
    - [Set-AzPrivateEndpointConnection](#set-azprivateendpointconnection)
    - [New-AzNetworkWatcherConnectionMonitorEndpointObject](#new-aznetworkwatcherconnectionmonitorendpointobject)

## Az.Aks

### New-AzAksCluster

- No longer supports the parameter `NodeOsType` and no alias was found for the original parameter
  name, it will always be `Linux`.
- No longer supports the alias `ClientIdAndSecret` for parameter `ServicePrincipalIdAndSecret`.
- The default value of `NodeVmSetType` is changed from `AvailabilitySet` to `VirtualMachineScaleSets`.
- The default value of `NetworkPlugin` is changed from `none` to `azure`.

#### Before

```powershell
New-AzAksCluster -ResourceGroupName myResourceGroup -Name myCluster -WindowsProfileAdminUserName azureuser -WindowsProfileAdminUserPassword $cred -NetworkPlugin azure -NodeOsType Linux -ClientIdAndSecret xxx
```

#### After

```powershell
New-AzAksCluster -ResourceGroupName myResourceGroup -Name myCluster -WindowsProfileAdminUserName azureuser -WindowsProfileAdminUserPassword $cred -NodeVmSetType AvailabilitySet  -ServicePrincipalIdAndSecret xxx
```

### Set-AzAksCluster

No longer supports the alias `ClientIdAndSecret` for parameter `ServicePrincipalIdAndSecret`.

#### Before

```powershell
Get-AzAksCluster -ResourceGroupName xxx -Name xxx | Set-AzAksCluster -ClientIdAndSecret xxx
```

#### After

```powershell
Get-AzAksCluster -ResourceGroupName xxx -Name xxx | Set-AzAksCluster -ServicePrincipalIdAndSecret xxx
```

## Az.ContainerRegistry

### New-AzContainerRegistry

No longer supports the parameter `StorageAccountName` and no alias was found for the original parameter name.

#### Before

```powershell
New-AzContainerRegistry -Name $name -ResourceGroupName $rg -Location $location -SKU Classic -StorageAccountName $storage
```

#### After

`Classic` was deprecated and `StorageAccountName` was removed since it only works with Classic
Container Registry.

## Az.Functions

### Get-AzFunctionApp

Removed `IncludeSlot` switch parameter from all but one parameter set of `Get-AzFunctionApp`. The
cmdlet now supports retrieving deployment slots in the results when `-IncludeSlot` is specified.
This functionality was broken in the previous cmdlet version. However, this is now fixed.

### New-AzFunctionApp

- Fixed `-DisableApplicationInsights` in `New-AzFunctionApp` so that no application insights project
  is created when this option is specified.
- Removed support to create PowerShell 6.2 function apps since PowerShell 6.2 is EOL. The current
  guidance for customers is to create PowerShell 7.0 function apps instead.
- Changed the default runtime version in Functions version 3 on Windows for PowerShell function apps
  from 6.2 to 7.0 when the `RuntimeVersion` parameter is not specified.
- Changed the default runtime version in Functions version 3 on Windows and Linux for Node function
  apps from 10 to 12 when the `RuntimeVersion` parameter is not specified. However, users can still
  create Node 10 function apps by specifying `-Runtime Node` and `-RuntimeVersion 10`. Changed the
  default runtime version in Functions version 3 on Linux for Python function apps from 3.7 to 3.8
  when the `RuntimeVersion` parameter is not specified. However, users can still create Python 3.7
  function apps by specifying `-Runtime Python` and `-RuntimeVersion 3.7`.

#### Before

```powershell
# Create a Node 10 function app on Linux
New-AzFunctionApp -ResourceGroupName $rd `
                  -Name $functionAppName `
                  -StorageAccountName $storageAccountName `
                  -Location $location `
                  -OSType Linux `
                  -Runtime Node

# Create a Node 10 function app on Windows
New-AzFunctionApp -ResourceGroupName $rd `
                  -Name $functionAppName `
                  -StorageAccountName $storageAccountName `
                  -Location $location `
                  -OSType Windows `
                  -Runtime Node

# Create a Python 3.7 function app on Linux
New-AzFunctionApp -ResourceGroupName $rd `
                  -Name $functionAppName `
                  -StorageAccountName $storageAccountName `
                  -Location $location `
                  -OSType Linux `
                  -Runtime Python
```

#### After

```powershell
# Create a Node 10 function app on Linux
New-AzFunctionApp -ResourceGroupName $rd `
                  -Name $functionAppName `
                  -StorageAccountName $storageAccountName `
                  -Location $location `
                  -OSType Linux `
                  -Runtime Node `
                  -RuntimeVersion 10

# Create a Node 10 function app on Windows
New-AzFunctionApp -ResourceGroupName $rd `
                  -Name $functionAppName `
                  -StorageAccountName $storageAccountName `
                  -Location $location `
                  -OSType Windows `
                  -Runtime Node

# Create a Python 3.7 function app on Linux
New-AzFunctionApp -ResourceGroupName $rd `
                  -Name $functionAppName `
                  -StorageAccountName $storageAccountName `
                  -Location $location `
                  -OSType Linux `
                  -Runtime Python `
                  -RuntimeVersion 3.7
```

## Az.KeyVault

### New-AzKeyVault

No longer supports the parameter `DisableSoftDelete` and no alias was found for the original parameter name.

#### Before

```powershell
# Opt out soft delete while creating a key vault
New-AzKeyVault -VaultName 'Contoso03Vault' -ResourceGroupName 'Group14' -Location 'East US' -DisableSoftDelete
```

#### After

The ability to update soft-delete setting is deprecated in Az.KeyVault 3.0.0. Read more: https://learn.microsoft.com/azure/key-vault/general/soft-delete-change

### Update-AzKeyVault

No longer supports the parameter `EnableSoftDelete`, `SoftDeleteRetentionInDays`, and no alias was
found for the original parameter name.

#### Before

```powershell
Update-AzKeyVault -VaultName 'Contoso03Vault' -ResourceGroupName 'Group14' -EnableSoftDelete -SoftDeleteRetentionInDays 15
```

#### After

The ability to update soft-delete setting is deprecated in Az.KeyVault 3.0.0. Read more: https://learn.microsoft.com/azure/key-vault/general/soft-delete-change

### Get-AzKeyVaultSecret

The property `SecretValueText` of type `Microsoft.Azure.Commands.KeyVault.Models.PSKeyVaultSecret`
has been removed. Either apply a `-AsPlainText` to the call to get the plain text secret,
or use `$secret.SecretValue` of type `SecureString` in your script.

#### Before

```powershell
$secret = Get-AzKeyVaultSecret -VaultName myVault -Name mySecret
$secretInPlainText = $secret.SecretValueText
```

#### After

```powershell
$secretInPlainText = Get-AzKeyVaultSecret -VaultName myVault -Name mySecret -AsPlainText
```

## Az.ManagedServices

### Get-AzManagedServicesDefinition

No longer supports the parameter `ResourceId` and no alias was found for the original parameter name.

#### Before

```powershell
Get-AzManagedServicesDefinition -ResourceId xxx
```

#### After

```powershell
Get-AzManagedServicesDefinition -Id xxx
```

### New-AzManagedServicesAssignment

No longer supports the parameter `RegistrationDefinitionName`, `RegistrationDefinitionResourceId`,
and no alias was found for the original parameter name.

#### Before

```powershell
New-AzManagedServicesAssignment -RegistrationDefinitionName xxx -Scope xxx
```

#### After

```powershell
New-AzManagedServicesAssignment -Scope xxx -RegistrationDefinition xxx
```

### Remove-AzManagedServicesAssignment

No longer supports the parameter `Id`, `ResourceId`, and no alias was found for the original
parameter name.

#### Before

```powershell
Remove-AzManagedServicesAssignment -ResourceId xxx
```

#### After

```powershell
Get-AzManagedServicesAssignment -Scope xxx | Remove-AzManagedServicesAssignment
```

### Remove-AzManagedServicesDefinition

No longer supports the parameter `Id`, `ResourceId`, and no alias was found for the original
parameter name.

#### Before

```powershell
Remove-AzManagedServicesDefinition -ResourceId xxx
```

#### After

```powershell
Get-AzManagedServicesDefinition -Scope xxx | Remove-AzManagedServicesDefinition
```

## Az.ResourceManager

### Get-AzManagementGroupDeployment

No longer supports the parameter `ApiVersion` and no alias was found for the original parameter name.

#### Before

```powershell
Get-AzManagementGroupDeployment -ManagementGroupId xxx -Name xxx -ApiVersion xxx
```

#### After

```powershell
Get-AzManagementGroupDeployment -ManagementGroupId xxx -Name xxx
```

### Get-AzManagementGroupDeploymentOperation

Same with `Get-AzManagementGroupDeployment`.

### Get-AzDeployment

Same with `Get-AzManagementGroupDeployment`.

### Get-AzDeploymentOperation

Same with `Get-AzManagementGroupDeployment`.

### Get-AzDeploymentWhatIfResult

Same with `Get-AzManagementGroupDeployment`.

### Get-AzTenantDeployment

Same with `Get-AzManagementGroupDeployment`.

### Get-AzTenantDeploymentOperation

Same with `Get-AzManagementGroupDeployment`.

### New-AzManagementGroupDeployment

Same with `Get-AzManagementGroupDeployment`.

### New-AzDeployment

Same with `Get-AzManagementGroupDeployment`.

### New-AzTenantDeployment

Same with `Get-AzManagementGroupDeployment`.

### Remove-AzManagementGroupDeployment

Same with `Get-AzManagementGroupDeployment`.

### Remove-AzDeployment

Same with `Get-AzManagementGroupDeployment`.

### Remove-AzTenantDeployment

Same with `Get-AzManagementGroupDeployment`.

### Save-AzManagementGroupDeploymentTemplate

Same with `Get-AzManagementGroupDeployment`.

### Save-AzDeploymentTemplate

Same with `Get-AzManagementGroupDeployment`.

### Save-AzTenantDeploymentTemplate

Same with `Get-AzManagementGroupDeployment`.

### Stop-AzManagementGroupDeployment

Same with `Get-AzManagementGroupDeployment`.

### Stop-AzDeployment

Same with `Get-AzManagementGroupDeployment`.

### Stop-AzTenantDeployment

Same with `Get-AzManagementGroupDeployment`.

### Test-AzManagementGroupDeployment

Same with `Get-AzManagementGroupDeployment`.

### Test-AzDeployment

Same with `Get-AzManagementGroupDeployment`.

### Test-AzTenantDeployment

Same with `Get-AzManagementGroupDeployment`.

### Get-AzResourceGroupDeployment

Same with `Get-AzManagementGroupDeployment`.

### Get-AzResourceGroupDeploymentOperation

Same with `Get-AzManagementGroupDeployment`.

### Get-AzResourceGroupDeploymentWhatIfResult

Same with `Get-AzManagementGroupDeployment`.

### New-AzResourceGroupDeployment

Same with `Get-AzManagementGroupDeployment`.

### Remove-AzResourceGroupDeployment

Same with `Get-AzManagementGroupDeployment`.

### Save-AzResourceGroupDeploymentTemplate

Same with `Get-AzManagementGroupDeployment`.

### Stop-AzResourceGroupDeployment

Same with `Get-AzManagementGroupDeployment`.

### Test-AzResourceGroupDeployment

Same with `Get-AzManagementGroupDeployment`.

### Get-AzManagementGroupDeploymentWhatIfResult

Same with `Get-AzManagementGroupDeployment`.

### Get-AzTenantDeploymentWhatIfResult

Same with `Get-AzManagementGroupDeployment`.

## Az.Sql

### Set-AzSqlServerActiveDirectoryAdministrator

No longer supports the parameter `IsAzureADOnlyAuthentication` and no alias was found for the
original parameter name.

#### Before

```powershell
Set-AzSqlServerActiveDirectoryAdministrator -ResourceGroupName 'ResourceGroup01' -ServerName 'Server01' -DisplayName 'DBAs' -IsAzureADOnlyAuthentication
```

#### After

```powershell
Set-AzSqlServerActiveDirectoryAdministrator -ResourceGroupName 'ResourceGroup01' -ServerName 'Server01' -DisplayName 'DBAs'
```

## Az.Synapse

### New-AzSynapseSqlPool

No longer supports the parameter `FromBackup`, `FromRestorePoint`, `BackupResourceGroupName`,
`BackupWorkspaceName`, `BackupSqlPoolName`, `BackupSqlPoolObject`, `BackupResourceId`,
`SourceResourceGroupName`, `SourceWorkspaceName`, `SourceSqlPoolName`, `SourceSqlPoolObject`,
`SourceResourceId`, `RestorePoint`, and no alias was found for the original parameter name.

#### Before

```powershell
New-AzSynapseSqlPool -FromBackup -WorkspaceName ContosoWorkspace -Name ContosoSqlPool -BackupWorkspaceName ContosoWorkspace -BackupSqlPoolName ExistingContosoSqlPool
```

#### After

```powershell
PS C:\> New-AzSynapseSqlPool -WorkspaceName ContosoWorkspace -Name ContosoSqlPool -PerformanceLevel DW200c
```

### Update-AzSynapseSqlPool

No longer supports the parameter `Suspend`, `Resume`, and no alias was found for the original
parameter name.

## Az.Network

### Approve-AzPrivateEndpointConnection

No longer supports the parameter `PrivateLinkResourceType` and no alias was found for the original
parameter name.

#### Before

```powershell
Approve-AzPrivateEndpointConnection -ResourceGroupName xxx -ServiceName xxx -Name xxx -PrivateLinkResourceType 'Microsoft.Network/privateLinkServices' -Description xxx
```

#### After

```powershell
Approve-AzPrivateEndpointConnection -ResourceGroupName xxx -ServiceName xxx -Name xxx -Description xxx
```

### Deny-AzPrivateEndpointConnection

Same with `Approve-AzPrivateEndpointConnection`.

### Get-AzPrivateEndpointConnection

Same with `Approve-AzPrivateEndpointConnection`.

### Remove-AzPrivateEndpointConnection

Same with `Approve-AzPrivateEndpointConnection`.

### Set-AzPrivateEndpointConnection

Same with `Approve-AzPrivateEndpointConnection`.

### New-AzNetworkWatcherConnectionMonitorEndpointObject

No longer supports the parameter `FilterType`, `FilterItem`, and no alias was found for the original
parameter name.

#### Before

```powershell
$MySrcResourceId1 = '/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myresourceGroup/providers/Microsoft.OperationalInsights/workspaces/myworkspace'
$SrcEndpointFilterItem1 =New-AzNetworkWatcherConnectionMonitorEndpointFilterItemObject -Type 'AgentAddress' -Address 'WIN-P0HGNDO2S1B'
$SourceEndpointObject1 = New-AzNetworkWatcherConnectionMonitorEndPointObject -Name 'workspaceEndpoint' -ResourceId $MySrcResourceId1 -FilterType Include -FilterItem $SrcEndpointFilterItem1
```

#### After

```powershell
MySrcResourceId1 = '/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myresourceGroup/providers/Microsoft.OperationalInsights/workspaces/myworkspace'
$SourceEndpointObject1 = New-AzNetworkWatcherConnectionMonitorEndPointObject -Name 'workspaceEndpoint' -ResourceId $MySrcResourceId1
```

---

### Documentation Migration Guides Az.6.0.0 Migration Guide (`documentation/migration-guides/Az.6.0.0-migration-guide.md`)

# Migration Guide for Az 6.0.0
- [Migration Guide for Az 6.0.0](#migration-guide-for-az-600)
	- [Supported versions of PowerShell](#supported-versions-of-powershell)
	- [Az.Accounts](#azaccounts)
		- [`Connect-AzAccount`](#connect-azaccount)
	- [Az.ContainerInstance](#azcontainerinstance)
		- [`New-AzContainerGroup`](#new-azcontainergroup)
		- [`Remove-AzContainerGroup`](#remove-azcontainergroup)
		- [`Get-AzContainerGroup`](#get-azcontainergroup)
		- [`Get-AzContainerInstanceLog`](#get-azcontainerinstancelog)
	- [Az.DesktopVirtualization](#azdesktopvirtualization)
		- [`New-AzWvdHostPool`](#new-azwvdhostpool)
		- [`Expand-AzWvdMsixImage`](#expand-azwvdmsiximage)
		- [`New-AzWvdMsixPackage`](#new-azwvdmsixpackage)
		- [`Update-AzWvdHostPool`](#update-azwvdhostpool)
	- [Az.StreamAnalytics](#azstreamanalytics)
		- [`Get-AzStreamAnalyticsDefaultFunctionDefinition`](#get-azstreamanalyticsdefaultfunctiondefinition)
		- [`New-AzStreamAnalyticsJob`](#new-azstreamanalyticsjob)
		- [`New-AzStreamAnalyticsTransformation`](#new-azstreamanalyticstransformation)
	- [Az.RecoveryServices](#azrecoveryservices)
		- [`Set-AzRecoveryServicesBackupProperty`](#set-azrecoveryservicesbackupproperty)
		- [`Get-AzRecoveryServicesBackupJobDetail`](#get-azrecoveryservicesbackupjobdetail)
	- [Az.Storage](#azstorage)
		- [`Remove-AzRmStorageShare`](#remove-azrmstorageshare)
	- [Az.ServiceFabric](#azservicefabric)
		- [`Add-AzServiceFabricClusterCertificate`](#add-azservicefabricclustercertificate)
		- [`Get-AzServiceFabricManagedClusterService`](#get-azservicefabricmanagedclusterservice)
		- [`New-AzServiceFabricManagedCluster`](#new-azservicefabricmanagedcluster)
		- [`New-AzServiceFabricManagedClusterService`](#new-azservicefabricmanagedclusterservice)
		- [`Remove-AzServiceFabricClusterCertificate`](#remove-azservicefabricclustercertificate)
		- [`Remove-AzServiceFabricManagedClusterService`](#remove-azservicefabricmanagedclusterservice)
		- [`Set-AzServiceFabricManagedCluster`](#set-azservicefabricmanagedcluster)
		- [`Set-AzServiceFabricManagedClusterService`](#set-azservicefabricmanagedclusterservice)

## Supported versions of PowerShell

Due to [CVE-2021-26701](https://msrc.microsoft.com/update-guide/en-us/vulnerability/CVE-2021-26701) Az 6 is only supported on the following platforms:
- PowerShell 7.1: version 7.1.3 or above
- PowerShell 7.0: version 7.0.6 or above
- Windows PowerShell 5.1 

For further details, refer to the [Azure PowerShell support lifecycle](https://aka.ms/lifecycle)

## Az.Accounts

### `Connect-AzAccount`
Removed obsolete parameters ManagedServiceHostName, ManagedServicePort and ManagedServiceSecret.

#### Before
```powershell
Connect-AzAccount -Identity -ManagedServiceSecret $secret
```
#### After
```powershell
#To use customized MSI endpoint, please set environment variable MSI_ENDPOINT, e.g. "http://localhost:50342/oauth2/token"; to use customized MSI secret, please set environment variable MSI_SECRET.
Connect-AzAccount -Identity
```


## Az.ContainerInstance

### `New-AzContainerGroup`
No longer supports the parameter `Image`, `RegistryCredential`, `AzureFileVolumeShareName`, `AzureFileVolumeAccountCredential`, `AzureFileVolumeMountPath`, `IdentityId`, `AssignIdentity`, `OsType`, `Cpu`, `MemoryInGB`, `IpAddressType`, `DnsNameLabel`, `Port`, `Command`, `EnvironmentVariable`, `RegistryServerDomain` and no alias was found for the original parameter name.

#### Before
```powershell
PS C:\> New-AzContainerGroup -ResourceGroupName demo -Name mycontainer -Image nginx -OsType Linux -IpAddressType Public -Port @(8000)

ResourceGroupName        : demo
Id                       : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/mycontainer
Name                     : mycontainer
Type                     : Microsoft.ContainerInstance/containerGroups
Location                 : westus
Tags                     :
ProvisioningState        : Creating
Containers               : {mycontainer}
ImageRegistryCredentials :
RestartPolicy            :
IpAddress                : 13.88.10.240
Ports                    : {8000}
OsType                   : Linux
Volumes                  :
State                    : Running
Events                   : {}
```
#### After
```powershell
PS C:\> $port1 = New-AzContainerInstancePortObject -Port 8000 -Protocol TCP
PS C:\> $port2 = New-AzContainerInstancePortObject -Port 8001 -Protocol TCP
PS C:\> $container = New-AzContainerInstanceObject -Name test-container -Image nginx -RequestCpu 1 -RequestMemoryInGb 1.5 -Port @($port1, $port2)
PS C:\> $containerGroup = New-AzContainerGroup -ResourceGroupName test-rg -Name test-cg -Location eastus -Container $container -OsType Linux -RestartPolicy "Never" -IpAddressType Public

Location Name    Type
-------- ----    ----
eastus   test-cg Microsoft.ContainerInstance/containerGroups
```


### `Remove-AzContainerGroup`
The cmdlet 'Remove-AzContainerGroup' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.

#### Before
```powershell
PS C:\> Find-AzResource -ResourceGroupEquals MyResourceGroup -ResourceNameEquals MyContainer | Remove-AzContainerGroup
```
#### After
```powershell
PS C:\> Remove-AzContainerGroup -Name test-cg -ResourceGroupName test-rg

Location Name    Type
-------- ----    ----
eastus   test-cg Microsoft.ContainerInstance/containerGroups
```


### `Get-AzContainerGroup`
The cmdlet 'Get-AzContainerGroup' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.

#### Before
```powershell
PS C:\> Find-AzResource -ResourceGroupEquals demo -ResourceNameEquals mycontainer | Get-AzContainerGroup

ResourceGroupName        : demo
Id                       : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/mycontainer
Name                     : mycontainer
Type                     : Microsoft.ContainerInstance/containerGroups
Location                 : westus
Tags                     :
ProvisioningState        : Succeeded
Containers               : {mycontainer}
ImageRegistryCredentials :
RestartPolicy            :
IpAddress                : 13.88.10.240
Ports                    : {8000}
OsType                   : Linux
Volumes                  :
State                    : Running
Events                   : {}
```
#### After
```powershell
PS C:\> Get-AzContainerGroup

Location Name           Type
-------- ----           ----
eastus   bez-cg1         Microsoft.ContainerInstance/containerGroups
eastus   bez-cg2        Microsoft.ContainerInstance/containerGroups
```


### `Get-AzContainerInstanceLog`
The cmdlet 'Get-AzContainerInstanceLog' no longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
The cmdlet 'Get-AzContainerInstanceLog' no longer supports the parameter 'Name' and no alias was found for the original parameter name.

#### Before
```powershell
PS C:\> Get-AzContainerGroup -ResourceGroupName demo -Name mycontainer | Get-AzContainerInstanceLog

Log line 1.
Log line 2.
Log line 3.
Log line 4.
```
#### After
```powershell
PS C:\> Get-AzContainerInstanceLog -ContainerGroupName test-cg -ContainerName test-container -ResourceGroupName test-rg
```
## Az.DesktopVirtualization

### `New-AzWvdHostPool`
The cmdlet 'New-AzWvdHostPool' no longer supports the parameter 'SsoContext' and no alias was found for the original parameter name.

### `Expand-AzWvdMsixImage`
The cmdlet 'Expand-AzWvdMsixImage' no longer supports the type 'Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20201102Preview.IMsixImageUri' for parameter 'MsixImageUri'.

#### Before
```powershell
$MsixImageUri = [Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20201102Preview.IMsixImageUri]::New()
Get-AzWvdDesktop -ResourceGroupName ResourceGroupName -ApplicationGroupName ApplicationGroupName -Name DesktopName | Expand-AzWvdMsixImage -MsixImageUri $MsixImageUri
```
#### After
```powershell
$MsixImageUri = [Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20210201Preview.IMsixImageUri]::New()
Get-AzWvdDesktop -ResourceGroupName ResourceGroupName -ApplicationGroupName ApplicationGroupName -Name DesktopName | Expand-AzWvdMsixImage -MsixImageUri $MsixImageUri
```


### `New-AzWvdMsixPackage`
The element type for parameter 'PackageApplication' has been changed from 'Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20201102Preview.IMsixPackageApplications' to 'Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20210201Preview.IMsixPackageApplications'.
The element type for parameter 'PackageDependency' has been changed from 'Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20201102Preview.IMsixPackageDependencies' to 'Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20210201Preview.IMsixPackageDependencies'.

#### Before
```powershell
PS C:\> $apps = @([Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20201102Preview.IMsixPackageApplications]::New())
PS C:\> $deps = @([Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20201102Preview.IMsixPackageDependencies]::New())
PS C:\> New-AzWvdMsixPackage -FullName PackageFullName `
							-HostPoolName HostPoolName `
							-ResourceGroupName ResourceGroupName ` 
							-SubscriptionId SubscriptionId ` 
							-DisplayName displayname `
							-ImagePath imageURI ` 
							-IsActive:$false `
							-IsRegularRegistration:$false `
							-LastUpdated datelastupdated `
							-PackageApplication $apps `
							-PackageDependency $deps `
							-PackageFamilyName packagefamilyname `
							-PackageName packagename `
							-PackageRelativePath packagerelativepath `
							-Version packageversion `
```
#### After
```powershell
PS C:\> $apps = @([Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20210201Preview.IMsixPackageApplications]::New())
PS C:\> $deps = @([Microsoft.Azure.PowerShell.Cmdlets.DesktopVirtualization.Models.Api20210201Preview.IMsixPackageDependencies]::New())
PS C:\> New-AzWvdMsixPackage -FullName PackageFullName `
							-HostPoolName HostPoolName `
							-ResourceGroupName ResourceGroupName ` 
							-SubscriptionId SubscriptionId ` 
							-DisplayName displayname `
							-ImagePath imageURI ` 
							-IsActive:$false `
							-IsRegularRegistration:$false `
							-LastUpdated datelastupdated `
							-PackageApplication $apps `
							-PackageDependency $deps `
							-PackageFamilyName packagefamilyname `
							-PackageName packagename `
							-PackageRelativePath packagerelativepath `
							-Version packageversion `
```


### `Update-AzWvdHostPool`
The cmdlet 'Update-AzWvdHostPool' no longer supports the parameter 'SsoContext' and no alias was found for the original parameter name.



## Az.StreamAnalytics

### `Get-AzStreamAnalyticsDefaultFunctionDefinition`

The cmdlet 'Get-AzStreamAnalyticsDefaultFunctionDefinition' no longer supports the parameter 'File' and no alias was found for the original parameter name.

#### Before
```powershell
Get-AzStreamAnalyticsDefaultFunctionDefinition -ResourceGroupName "StreamAnalytics-Default-West-US" -JobName "StreamJob22" -File "C:\RetrieveDefaultDefinitionRequest.json" -Name "ScoreTweet"
```
#### After
```powershell
Get-AzStreamAnalyticsDefaultFunctionDefinition -ResourceGroupName azure-rg-test -JobName sajob-01-pwsh -Name mlsfunction-01 -BindingType Microsoft.MachineLearningServices -Endpoint "http://875da830-4d5f-44f1-b221-718a5f26a21d.eastus.azurecontainer.io/score"-UdfType Scalar
Input is specified in flattened parameters instead from the input file.
```


### `New-AzStreamAnalyticsJob`
The cmdlet 'New-AzStreamAnalyticsJob' no longer supports the parameter 'File' and no alias was found for the original parameter name.

#### Before
```powershell
New-AzStreamAnalyticsJob -ResourceGroupName "StreamAnalytics-Default-West-US" -File "C:\JobDefinition.json"
```
#### After
```powershell
New-AzStreamAnalyticsJob -ResourceGroupName azure-rg-test -Name sajob-02-pwsh -Location westcentralus -SkuName Standard
Input is specified in flattened parameters instead from the input file.
```


### `New-AzStreamAnalyticsTransformation`
The cmdlet 'New-AzStreamAnalyticsTransformation' no longer supports the parameter 'File' and no alias was found for the original parameter name.

#### Before
```powershell
New-AzStreamAnalyticsTransformation -ResourceGroupName "StreamAnalytics-Default-West-US" -File "C:\Transformation.json" -JobName "StreamingJob" -Name "StreamingJobTransform"
```
#### After
```powershell
New-AzStreamAnalyticsTransformation -ResourceGroupName azure-rg-test -JobName sajob-01-pwsh -Name tranf-01 -StreamingUnit 6 -Query "Select Id, Name from input-01"
Input is specified in flattened parameters instead from the input file.
```


## Az.RecoveryServices

### `Set-AzRecoveryServicesBackupProperty`
Removed Set-AzRecoveryServicesBackupProperties plural alias, use Set-AzRecoveryServicesBackupProperty cmdlet name going forward

### `Get-AzRecoveryServicesBackupJobDetail`
Removed Get-AzRecoveryServicesBackupJobDetails plural alias, use Get-AzRecoveryServicesBackupJobDetail cmdlet name going forward

#### Before
```powershell
$jobDetails = Get-AzRecoveryServicesBackupJobDetails -VaultId $vault.ID -Job $job   
$jobDetails2 = Get-AzRecoveryServicesBackupJobDetails -VaultId $vault.ID -JobId $job.JobId
```
#### After
```powershell
$jobDetails = Get-AzRecoveryServicesBackupJobDetail -VaultId $vault.ID -Job $job   
$jobDetails2 = Get-AzRecoveryServicesBackupJobDetail -VaultId $vault.ID -JobId $job.JobId
```


## Az.Storage

### `Remove-AzRmStorageShare`
The cmdlet 'Remove-AzRmStorageShare' can remove share with snapshots by default before; but after the change remove share with snapshots will fail by default, need add parameter "-Include Snapshots" to make remove success.

#### Before
```powershell
Remove-AzRmStorageShare -ResourceGroupName $resourceGroupName -StorageAccountName $accountName -Name $shareName
```
#### After
```powershell
Remove-AzRmStorageShare -ResourceGroupName $resourceGroupName -StorageAccountName $accountName -Name $shareName -Force -Include Snapshots
```


## Az.ServiceFabric

### `Add-AzServiceFabricClusterCertificate`
this cmdlet has been removed completely. please follow instructions here to add cluster certificates: https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-security-update-certs-azure#add-a-secondary-certificate-using-azure-resource-manager

### `Get-AzServiceFabricManagedClusterService`
Change PSManagedService model to avoid using the properties parameter directly from sdk. Now all the properties are in the first level of the object.
And remove deprecated parameters InstanceCloseDelayDuration, DropSourceReplicaOnMove and ServiceDnsName 

#### Before
```powershell
$service = Get-AzServiceFabricManagedClusterService -ResourceId $resourceId
$statelessService.Properties.ProvisioningState
```
#### After
```powershell
$service = Get-AzServiceFabricManagedClusterService -ResourceId $resourceId
$statelessService.ProvisioningState
```


### `New-AzServiceFabricManagedCluster`
Remove deprecated parameter ReverseProxyEndpointPort.

### `New-AzServiceFabricManagedClusterService`
Change PSManagedService model to avoid using the properties parameter directly from sdk. Now all the properties are in the first level of the object.
And remove deprecated parameters InstanceCloseDelayDuration, DropSourceReplicaOnMove and ServiceDnsName 

#### Before
```powershell
$service = New-AzServiceFabricManagedClusterService -ResourceGroupName $resourceGroupName -ClusterName $clusterName -ApplicationName $appName -Name $serviceName -Type $serviceTypeName -Stateless -InstanceCount -1 -PartitionSchemaSingleton
$statelessService.Properties.ProvisioningState
```
#### After
```powershell
$service = New-AzServiceFabricManagedClusterService -ResourceGroupName $resourceGroupName -ClusterName $clusterName -ApplicationName $appName -Name $serviceName -Type $serviceTypeName -Stateless -InstanceCount -1 -PartitionSchemaSingleton
$statelessService.ProvisioningState
```


### `Remove-AzServiceFabricClusterCertificate`
this cmdlet has been removed completely. please follow instructions here to add cluster certificates: https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-security-update-certs-azure#remove-a-cluster-certificate-using-the-portal

### `Remove-AzServiceFabricManagedClusterService`
Change PSManagedService model to avoid using the properties parameter directly from sdk. Now all the properties are in the first level of the object.

### `Set-AzServiceFabricManagedCluster`
Remove deprecated parameter ReverseProxyEndpointPort.

### `Set-AzServiceFabricManagedClusterService`
Change PSManagedService model to avoid using the properties parameter directly from sdk. Now all the properties are in the first level of the object.
And remove deprecated parameters InstanceCloseDelayDuration, DropSourceReplicaOnMove and ServiceDnsName 

#### Before
```powershell
$service = Get-AzServiceFabricManagedClusterService -ResourceId $resourceId
$statelessService.Properties.MinInstanceCount = 3
service | Set-AzServiceFabricManagedClusterService
```
#### After
```powershell
$service = Get-AzServiceFabricManagedClusterService -ResourceId $resourceId
$statelessService.MinInstanceCount = 3
service | Set-AzServiceFabricManagedClusterService
```

---

### Documentation Migration Guides Az.7.0.0 Migration Guide (`documentation/migration-guides/Az.7.0.0-migration-guide.md`)

# Migration Guide for Az 7.0.0

## Az.Accounts

### Context and account cmdlets

Output of the following cmdlets have been changed:
- Get-AzContext
- Remove-AzContext
- Rename-AzContext
- Select-AzContext
- Connect-AzAccount
- Disconnect-AzAccount
- Import-AzContext
- Save-AzContext

Removed `ServicePrincipalSecret` and `CertificatePassword` in `PSAzureRmAccount`

#### Before
```powershell
PS C:\> $cred = Get-Credential
PS C:\> Connect-AzAccount -ServicePrincipal -Tenant 54826b22-xxxx-xxxx-xxxx-xxxxxxxxxxxxx -Credential $cred
PS C:\> (Get-AzContext).Account.ExtendedProperties

Key                    Value
---                    -----
CertificatePath        C:\certificate.pfx
CertificatePassword    password****
Tenants                54826b22-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
ServicePrincipalSecret 7QK7Q********************************
Subscriptions          0b1f6471-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
```
#### After
```powershell
PS C:\> $cred = Get-Credential
PS C:\> Connect-AzAccount -ServicePrincipal -Tenant 54826b22-xxxx-xxxx-xxxx-xxxxxxxxxxxxx -Credential $cred
PS C:\> (Get-AzContext).Account.ExtendedProperties

Key             Value
---             -----
CertificatePath C:\certificate.pfx
Tenants         54826b22-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
Subscriptions   0b1f6471-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
```


## Az.Aks

### `Get-AzAksVersion`
Property `Upgrades` in output changed to `Upgrade`.

#### Before
```powershell
PS C:\> (Get-AzAksVersion -location eastus).Upgrades

OrchestratorType OrchestratorVersion IsPreview
---------------- ------------------- ---------
Kubernetes       1.19.13
Kubernetes       1.20.7
Kubernetes       1.20.9
Kubernetes       1.20.7
Kubernetes       1.20.9
Kubernetes       1.20.9
Kubernetes       1.21.1
Kubernetes       1.21.2
Kubernetes       1.21.1
Kubernetes       1.21.2
Kubernetes       1.21.2
Kubernetes       1.22.1              True
Kubernetes       1.22.2              True
Kubernetes       1.22.1              True
Kubernetes       1.22.2              True
Kubernetes       1.22.2              True
```
#### After
```powershell
PS C:\> (Get-AzAksVersion -location eastus).Upgrade

OrchestratorType OrchestratorVersion IsPreview
---------------- ------------------- ---------
Kubernetes       1.19.13
Kubernetes       1.20.7
Kubernetes       1.20.9
Kubernetes       1.20.7
Kubernetes       1.20.9
Kubernetes       1.20.9
Kubernetes       1.21.1
Kubernetes       1.21.2
Kubernetes       1.21.1
Kubernetes       1.21.2
Kubernetes       1.21.2
Kubernetes       1.22.1              True
Kubernetes       1.22.2              True
Kubernetes       1.22.1              True
Kubernetes       1.22.2              True
Kubernetes       1.22.2              True
```


## Az.ContainerInstance

### `New-AzContainerGroup`
Removed parameter NetworkProfileId, added SubnetId as its alternative

#### Before
```powershell
PS C:\>  $containerGroup = New-AzContainerGroup -ResourceGroupName test-rg -Name test-cg -Location eastus -Container $container -OsType Linux -NetworkProfileId "/subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}"
PS C:\> $containerGroup.NetworkProfileId

/subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}
```
#### After
```powershell
PS C:\> $container = New-AzContainerInstanceObject -Name test-container -Image nginx
PS C:\> $containerGroup = New-AzContainerGroup -ResourceGroupName test-rg -Name test-cg -Location eastus -Container $container -OsType Linux -RestartPolicy "Never" -IpAddressType 'Private' -SubnetId @{"Id"="/subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}"; "Name"="subnet"}
PS C:\> $containerGroup.SubnetId | fl

Id :  /subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}
Name : subnet
```


### `Invoke-AzContainerInstanceCommand`
Displayed command execution result as the cmdlet output by connecting websocket in backend

#### Before
```powershell
PS C:\> $websocket = Invoke-AzContainerInstanceCommand -ContainerGroupName test-cg -ContainerName test-container -ResourceGroupName　test-rg -Command "echo hello" -TerminalSizeCol 12 -TerminalSizeRow 12
PS C:\> $websocket

Password                                           WebSocketUri
--------                                           ------------
****************** wss://bridge-linux-xx.eastus.management.azurecontainer.io/exec/caas-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/bridge-xxxxxxxxxxxxxxx?rows=12&cols=12api-version=2018-02-01-preview

User needs connect websocket using password to fetch command execution result
```
#### After
```powershell
PS C:\> Invoke-AzContainerInstanceCommand -ContainerGroupName test-cg -ContainerName test-container -ResourceGroupName　test-rg -Command "echo hello"

hello
```


## Az.Functions

### `Update-AzFunctionApp, Update-AzFunctionAppPlan`
`Update-AzFunctionApp` will prompt for confirmation. This behavior can be bypassed by specifying `-Force`.

#### Before
```powershell
Update-AzFunctionApp -Name MyUniqueFunctionAppName -ResourceGroupName MyResourceGroupName -PlanName NewPlanName
```
#### After
```powershell
Update-AzFunctionApp -Name MyUniqueFunctionAppName -ResourceGroupName MyResourceGroupName -PlanName NewPlanName -Force
```


### `New-AzFunctionApp`
If `FunctionsVersion` parameter is not specified when executing the `New-AzFunctionApp` cmdlet, then the default Functions version will be set to `4`.

```
There is no change to the usage.
```

### `Remove-AzFunctionApp`
If this is the last app in the app service plan, then the plan will not be deleted. Before this release, the app plan will also be deleted.

```
There is no change to the usage.
```

## Az.HDInsight

### `New-AzHDInsightCluster`
Changed  the type of parameter "OSType" from `Microsoft.Azure.Management.HDInsight.Models.OSType` to `System.string`

```
There is no change to the usage.
```


### `New-AzHDInsightCluster, New-AzHDInsightClusterConfig`
Changed  the type of parameter "ClusterTier" from `Microsoft.Azure.Management.HDInsight.Models.ClusterTier` to `System.string`

```
There is no change to the usage.
```


### `Set-AzHDInsightClusterDiskEncryptionKey, Set- AzHDInsightClusterSize`
The output type has changed from 'Microsoft.Azure.Management.HDInsight.Models.Cluster' to 'Microsoft.Azure.Commands.HDInsight.Models.AzureHDInsightCluster'.

```
All properties remain the same, so there is no change to the usage.
```



### `Cluster cmdlets`
The type of property 'AssignedIdentity' has changed from 'Microsoft.Azure.Management.HDInsight.Models.ClusterIdentity' to 'Microsoft.Azure.Commands.HDInsight.Models.AzureHDInsightClusterIdentity'.


```
All properties remain the same, so there is no change to the usage.
```


### `Get-AzHDInsightProperties`
The generic type for output 'property VmSizes' has been changed from 'System.Collections.Generic.IDictionary2[System.String,Microsoft.Azure.Commands.HDInsight.Models.Management.AzureHDInsightVmSizesCapability]' to 'System.Collections.Generic.IList1[System.String]'.

#### Before
```powershell
PS C:\> $result = Get-AzHDInsightProperty -Location "South Central us"
PS C:\> $availableVmSizes = $result.VmSizes['iaas'].AvailableVmSizes
```
#### After
```powershell
PS C:\> $result = Get-AzHDInsightProperty -Location "South Central us"
PS C:\> $availableVmSizes = $result.VmSizes
```


## Az.KeyVault

### `New-AzKeyVaultRoleDefinition, Get-AzKeyVaultRoleDefinition`
The following properties in `PSKeyVaultPermission` model are renamed:
- `AllowedActions` -> `Actions`
- `DeniedActions` -> `NotActions`
- `AllowedDataActions` -> `DataActions`
- `DeniedDataActions` -> `NotDataActions`

#### Before
```powershell
PS C:\> $backupRole = Get-AzKeyVaultRoleDefinition -HsmName myHsm -RoleDefinitionName "Managed HSM Backup User"

PS C:\> $backupRole.Permissions

AllowedActions DeniedActions AllowedDataActions DeniedDataActions
-------------- ------------- ------------------ -----------------
0 action(s)    0 action(s)   3 action(s)        0 action(s)

PS C:\> $backupRole.Permissions.AllowedDataActions

Microsoft.KeyVault/managedHsm/backup/start/action
Microsoft.KeyVault/managedHsm/backup/status/action
Microsoft.KeyVault/managedHsm/keys/backup/action
```
#### After
```powershell
PS C:\> $backupRole = Get-AzKeyVaultRoleDefinition -HsmName myHsm -RoleDefinitionName "Managed HSM Backup User"

PS C:\> $backupRole.Permissions

Actions     NotActions  DataActions NotDataActions
-------     ----------  ----------- --------------
0 action(s) 0 action(s) 3 action(s) 0 action(s)

PS C:\> $backupRole.Permissions.DataActions

Microsoft.KeyVault/managedHsm/backup/start/action
Microsoft.KeyVault/managedHsm/backup/status/action
Microsoft.KeyVault/managedHsm/keys/backup/action
```


## Az.ManagedServices

### `New-AzManagedServicesDefinition`
The `-DisplayName` parameter was removed.

#### Before
```powershell
PS C:\> New-AzManagedServicesDefinition -DisplayName "MyTestDefinition" -ManagedByTenantId 00001111-aaaa-2222-bbbb-3333cccc4444 -RoleDefinitionId acdd72a7-3385-48ef-bd42-f606fba81ae7 -PrincipalId 714160ec-87d5-42bb-8b17-287c0dd7417d
```
#### After
```powershell
PS C:\> $permantAuth = New-AzManagedServicesAuthorizationObject -PrincipalId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -RoleDefinitionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -PrincipalIdDisplayName "Test user" -DelegatedRoleDefinitionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
PS C:\> New-AzManagedServicesDefinition -Name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -RegistrationDefinitionName "Test definition" -ManagedByTenantId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -Authorization $permantAuth -Description "Test definition desc" -Scope "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
```


## Az.Monitor

### `Get-AzLog`

The type of the properties 'EventName', 'Category', 'ResourceProviderName', 'OperationName', 'Status', 'SubStatus has changed from 'Microsoft.Azure.Management.Monitor.Models.LocalizableString' to 'System.String'

#### Before
```powershell
PS C:\> $log = Get-AzLog -MaxRecord 1
PS C:\> $eventName = $log.EventName.LocalizedValue
PS C:\> $category = $log.Category.LocalizedValue
PS C:\> $resourceProviderName = $log.ResourceProviderName.LocalizedValue
PS C:\> $operationName = $log.OperationName.LocalizedValue
PS C:\> $status = $log.Status.LocalizedValue
PS C:\> $subStatus = $log.SubStatus.LocalizedValue
```
#### After
```powershell
PS C:\> $log = Get-AzLog -MaxRecord 1
PS C:\> $eventName = $log.EventName
PS C:\> $category = $log.Category
PS C:\> $resourceProviderName = $log.ResourceProviderName
PS C:\> $operationName = $log.OperationName
PS C:\> $status = $log.Status
PS C:\> $subStatus = $log.SubStatus
```


### `Get-AzMetric,Get-AzMetricDefinition`
The type of property 'Unit' has changed to 'System.String'

```
There is no change to the usage.
```



### `New-AzMetricAlertRuleV2Criteria`
The type of property 'TimeAggregation' has changed to System.String'

```
There is no change to the usage.
```



## Az.OperationalInsights

### `Get-AzOperationalInsightsCluster`
Made "list" the default parameter set.

#### Before
```powershell
There is no default parameter set.
```
#### After
```powershell
Default parameter set is now "list", when providing resource group name - return all clusters for the given resource group.
```


### `Update-AzOperationalInsightsCluster`
Made "UpdateByNameParameterSet" the default parameter set.

#### Before
```powershell
There is no default parameter set.
```
#### After
```powershell
Default parameter set is now "UpdateByNameParameterSet".
```


## Az.RecoveryServices

### `Get-AzRecoveryServicesBackupContainer`
Changed the BackupManagementType from MARS to MAB. Functionality remains same, this is to bring consistency across cmdlets.

#### Before
```powershell
$containers = Get-AzRecoveryServicesBackupContainer -ContainerType Windows -BackupManagementType MARS -VaultId $vault.ID
```
#### After
```powershell
$cont = Get-AzRecoveryServicesBackupContainer -ContainerType Windows -BackupManagementType MAB -VaultId $vault.ID
```


### `Get-AzRecoveryServicesBackupItem`
Changed the BackupManagementType from MARS to MAB. Functionality remains same, this is to bring consistency across cmdlets

#### Before
```powershell
Get-AzRecoveryServicesBackupItem -BackupManagementType MARS -VaultId $vault.ID -WorkloadType FileFolder
```
#### After
```powershell
Get-AzRecoveryServicesBackupItem -BackupManagementType MAB -VaultId $vault.ID -WorkloadType FileFolder
```


### `Get-AzRecoveryServicesBackupJob`
Changed the BackupManagementType from MARS to MAB. Functionality remains same, this is to bring consistency across cmdlets

#### Before
```powershell
Get-AzRecoveryServicesBackupJob -BackupManagementType MARS -VaultId $vault.ID
```
#### After
```powershell
Get-AzRecoveryServicesBackupJob -BackupManagementType MAB -VaultId $vault.ID
```


## Az.Resources

### `AzAD cmdlets`
Please refer to (placeholder) for the migration guide of Active Directory cmdlets.

### `PolicyAssignment cmdlets`
The type of property 'Identity' of type 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyAssignment' has changed from 'System.Management.Automation.PSObject' to 'Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Policy.PsPolicyIdentity'.

#### Before
```powershell
PS C:\> $v = Get-AzPolicyAssignment -Id $someId
PS C:\> Write-Host $v.type, $v.principalId, $v.tenantId
```
#### After
```powershell
PS C:\> $v = Get-AzPolicyAssignment -Id $someId
PS C:\> Write-Host $v.IdentityType, $v.PrincipalId, $v.TenantId, $v.UserAssignedIdentities
```


## Az.Storage

### `Get-AzRmStorageShare`
Parameter "Name" has been removed from parameter set "ShareResourceId", since name can be inferred from the resource ID.

#### Before
```powershell
$StorageShare = Get-AzRmStorageShare -ResourceId "/subscriptions/..." -Name "MyStorageShare"
```
#### After
```powershell
$StorageShare = Get-AzRmStorageShare -ResourceId "/subscriptions/..."
```

---

### Documentation Migration Guides Az.8.0.0 Migration Guide (`documentation/migration-guides/Az.8.0.0-migration-guide.md`)

# Migration Guide for Az 8.0.0
## Az.Aks

### `Get-AzAks`
Alias `Get-AzAks` is removed. Please use `Get-AzAksCluster` instead.

#### Before
```powershell
Get-AzAks -ResourceGroupName $resourceGroupName -Name $name
```
#### After
```powershell
Get-AzAksCluster -ResourceGroupName $resourceGroupName -Name $name
```

### `New-AzAks`
Alias `New-AzAks` is removed. Please use `New-AzAksCluster` instead.

#### Before
```powershell
New-AzAks -ResourceGroupName $resourceGroupName -Name $name -Location $location
```
#### After
```powershell
New-AzAksCluster -ResourceGroupName $resourceGroupName -Name $name -Location $location
```

### `Set-AzAks`
Alias `Set-AzAks` is removed. Please use `Set-AzAksCluster` instead.

#### Before
```powershell
Set-AzAks -ResourceGroupName $resourceGroupName -Name $name
```
#### After
```powershell
Set-AzAksCluster -ResourceGroupName $resourceGroupName -Name $name
```

### `Remove-AzAks`
Alias `Remove-AzAks` is removed. Please use `Remove-AzAksCluster` instead.

#### Before
```powershell
Remove-AzAks -ResourceGroupName $resourceGroupName -Name $name
```
#### After
```powershell
Remove-AzAksCluster -ResourceGroupName $resourceGroupName -Name $name
```

## Az.Cdn

### `New-AzCdnProfile`
Changed the type of parameter `Sku` to `SkuName`
Changed the type of parameter `ProfileName` to `Name`

#### Before
```powershell
$profileSku = "Standard_Microsoft";
$cdnProfileName = "profileNameXXXX";
$resourceGroupName = "myresourcegroup"
New-AzCdnProfile -Sku $profileSku -ProfileName $cdnProfileName -ResourceGroupName $resourceGroupName -Location Global
```
#### After
```powershell
$profileSku = "Standard_Microsoft";
$cdnProfileName = "profileNameXXXX";
$resourceGroupName = "myresourcegroup"
New-AzCdnProfile -SkuName $profileSku -Name $cdnProfileName -ResourceGroupName $resourceGroupName -Location Global
```

### `New-AzCdnEndpoint`
Changed parameter `EndpointName` to `Name`
Changed parameter `GeoFilters` to `GeoFilter`
Changed parameter `DefaultOriginGroup` to `DefaultOriginGroupId`
Merge parameters `OriginHostName`,`OriginId`,`OriginName`,`Priority`,`PrivateLinkApprovalMessage`,`PrivateLinkLocation`,`PrivateLinkResourceId`,`Weight`,`HttpPort`,`HttpsPort`into parameter `Origin`
Merge parameters `OriginGroupName`,`OriginGroupProbeIntervalInSeconds`,`OriginGroupProbePath`,`OriginGroupProbeProtocol`,`OriginGroupProbeRequestType`into parameter `OriginGroup`
Split parameter `DeliveryPolicy` in to parameters `DeliveryPolicyDescription`,`DeliveryPolicyRule`
Add parameters `SubscriptionId`,`UrlSigningKey`,`WebApplicationFirewallPolicyLinkId`
Delete parameter `CdnProfile `

#### Before
```powershell
New-AzCdnEndpoint -ResourceGroupName myresourcegroup -ProfileName mycdnprofile -Location westus -EndpointName myendpoint `
                  -OriginName mystorage -OriginHostName mystorage.blob.core.windows.net `
                  -OriginHostHeader mystorage.blob.core.windows.net -IsHttpAllowed $false
```
#### After
```powershell
$origin = @{
  Name = "origin1"
  HostName = "host1.hello.com"
};
$location = "westus"
   
$endpoint = New-AzCdnEndpoint -Name $endpointName -ResourceGroupName $ResourceGroupName -ProfileName $cdnProfileName -Location $location -Origin $origin
```

### `New-AzCdnDeliveryPolicy`
Delete command `New-AzCdnDeliveryPolicy`. Use `New-AzCdnDeliveryRuleObject` create rule object and used it in `New-AzCdnEndpoint` directly


### `New-AzCdnDeliveryRule`
Changed command name to `New-AzCdnDeliveryRuleObject`

#### Before
```powershell
New-AzCdnDeliveryRule -Name "rule1" -Order 1 -Condition $cond1 -Action $action1
```
#### After
```powershell
$cond1 = New-AzCdnDeliveryRuleIsDeviceConditionObject -Name "IsDevice" -ParameterMatchValue "Desktop"
$action1 = New-AzCdnUrlRewriteActionObject -Name "UrlRewrite" -ParameterDestination "/def" -ParameterSourcePattern "/abc" -ParameterPreserveUnmatchedPath $true
$rule1 = New-AzCdnDeliveryRuleObject -Name "Rule1" -Action $action1,$action2 -Condition $cond1 -Order 1
```

### `New-AzCdnCustomDomain`
Changed the type of parameter `CustomDomainName` to `Name`
Add parameter `SubscriptionId`
Delete parameter `CdnEndpoint`

#### Before
```powershell
New-AzCdnCustomDomain -ResourceGroupName $resourceGroupName -ProfileName $cdnProfileName -EndpointName $endpointName -CustomDomainName $customDomainName -HostName $customDomainHostName
```
#### After
```powershell
New-AzCdnCustomDomain -ResourceGroupName $resourceGroupName -ProfileName $cdnProfileName -EndpointName $endpointName -Name $customDomainName -HostName $customDomainHostName -SubscriptionId $subId
```

### `Set-AzCdnProfile`
Replaced by command `Update-AzCdnProfile`

#### Before
```powershell
$profileObject = Get-AzCdnProfile -ResourceGroupName myresourcegroup -ProfileName mycdnprofile
$profileObject.Tags = @{"key"="value"}
Set-AzCdnProfile -CdnProfile $profileObject
```

#### After
```powershell
$profileSku = "Standard_Microsoft";
$cdnProfileName = "profileNameXXXX";
$resourceGroupName = "myresourcegroup"
New-AzCdnProfile -SkuName $profileSku -Name $cdnProfileName -ResourceGroupName $resourceGroupName -Location Global

$tags = @{
  Tag1 = 11
  Tag2  = 22
}
Update-AzCdnProfile -Name $cdnProfileName -ResourceGroupName $resourceGroupName -Tag $tags
```

### `Set-AzCdnEndpoint`
Replaced by command `Update-AzCdnEndpoint`
`DeliveryPolicyDescription` and `DeliveryPolicyRule` should be provided together when you want to update one of them.

#### Before
```powershell
$endpointObject = Get-AzCdnEndpoint -ResourceGroupName myresourcegroup -ProfileName mycdnprofile -EndpointName myendpoint
$endpointObject.IsHttpAllowed = $false
Set-AzCdnEndpoint -CdnEndpoint $endpointObject
```
#### After
```powershell
$tags = @{
  Tag1 = 11
  Tag2  = 22
}

//Update tags
Update-AzCdnEndpoint -Name $endpointName -ProfileName $cdnProfileName -ResourceGroupName $resourceGroupName -Tag $tags

//Update DeliveryPolicyDescription or DeliveryPolicyRule 
Update-AzCdnEndpoint -Name $endpointName -ProfileName $cdnProfileName -ResourceGroupName $resourceGroupName `
   -DeliveryPolicyDescription $description -DeliveryPolicyRule $rule
```

### `Set-AzCdnOriginGroup`
Replaced by command `Update-AzCdnOriginGroup`

#### Before
```powershell
Set-AzCdnOriginGroup -ResourceGroupName $resourceGroupName -ProfileName $profileName -EndpointName $endpointName -OriginGroupName $originGroupName -OriginId $originIds -ProbeIntervalInSeconds $probeInterval
```
#### After
```powershell
Update-AzCdnOriginGroup -EndpointName $endpointName -Name $originGroup.Name -ProfileName $cdnProfileName -ResourceGroupName $ResourceGroupName `
                -HealthProbeSetting $healthProbeParametersObject2 -Origin @(@{ Id = $originId })
            
```

### `Set-AzCdnOrigin`
Replaced by command `Update-AzCdnOrigin`

#### Before
```powershell
Set-AzCdnOrigin -ResourceGroupName $resourceGroupName -ProfileName $cdnProfileName -EndpointName $endpointName `
    -OriginName $originName -HostName "mystorage2.blob.core.windows.net"
```
#### After
```powershell
Update-AzCdnOrigin -ResourceGroupName $resourceGroupName -ProfileName $cdnProfileName -EndpointName $endpointName `
    -Name $originName  -HostName "mystorage2.blob.core.windows.net" -HttpPort 456 -HttpsPort 789           
```

### `Unpublish-AzCdnEndpointContent`
Replaced by command `Clear-AzCdnEndpointContent`

#### Before
```powershell
Unpublish-AzCdnEndpointContent -ResourceGroupName $resourceGroupName -ProfileName $cdnProfileName -EndpointName $endpointName `
   -PurgeContent $PurgeContent   
```
#### After
```powershell
Clear-AzCdnEndpointContent -ResourceGroupName $resourceGroupName -ProfileName $cdnProfileName -EndpointName $endpointName `
   -ContentPath $PurgeContent   
```

### `Publish-AzCdnEndpointContent`
Replaced by command `Import-AzCdnEndpointContent`

#### Before
```powershell
Publish-AzCdnEndpointContent -ResourceGroupName $resourceGroupName -ProfileName $cdnProfileName -EndpointName $endpointName `
   -LoadContent $LoadContent
```
#### After
```powershell
Import-AzCdnEndpointContent -ResourceGroupName $resourceGroupName -ProfileName $cdnProfileName -EndpointName $endpointName `
   -ContentPath $LoadContent
```

## Az.EventHub

### `New-AzEventHubNamespace`
Parameter `Identity` is removed.
#### Before
```powershell
New-AzEventHubNamespace -ResourceGroupName myresourcegroup -Name MyNamespaceName -Location northeurope -SkuName Premium -IdentityType SystemAssigned -Identity
```
#### After
```powershell
New-AzEventHubNamespace -ResourceGroupName myresourcegroup -Name MyNamespaceName -Location northeurope -SkuName Premium -IdentityType SystemAssigned
```

### `Set-AzEventHubNamespace`
Parameter `Identity` is removed.
#### Before
```powershell
Set-AzEventHubNamespace -ResourceGroupName myresourcegroup -Name MyNamespaceName -EncryptionConfig $ec1,$ec2 -Identity
```
#### After
```powershell
Set-AzEventHubNamespace -ResourceGroupName myresourcegroup -Name MyNamespaceName -EncryptionConfig $ec1,$ec2
```


## Az.HealthcareApis

### `Set-AzHealthcareApisService`
Combine New-AzHealthcareApisService and Set-AzHealthcareApisService into New-AzHealthcareApisService

#### Before
```powershell
Set-AzHealthcareApisService -Name MyService -ResourceGroupName MyResourceGroup -CosmosOfferThroughput 500
```
#### After
```powershell
New-AzHealthcareApisService -Name MyService -ResourceGroupName MyResourceGroup -Location MyLocation -Kind fhir-R4 -CosmosOfferThroughput 500
```


### `Get-AzHealthcareApisService`
`-ResourceId` is removed

#### Before
```powershell
Get-AzHealthcareApisService -ResourceId $ResourceId
```
#### After
```powershell
Get-AzHealthcareApisService -ResourceGroupName $ResourceGroup -Name $Name
```


### `Remove-AzHealthcareApisService`
`-ResourceId` is removed

#### Before
```powershell
Remove-AzHealthcareApisService -ResourceId $ResourceId
```
#### After
```powershell
Remove-AzHealthcareApisService -ResourceGroupName $ResourceGroup -Name $Name
```


### `New-AzHealthcareApisService`
`-ManagedIdentity` is renamed to `-IdentityType`
`-FhirVersion` is removed and the desired content can be selected with the parameter `-Kind`
`-DisableCorsCredential` and `-AllowCorsCredential`: now uniformly named as `-AllowCorsCredential`, example: -AllowCorsCredential:$false or -AllowCorsCredential:$true
`-DisableSmartProxy` and `-EnableSmartProxy`: now uniformly named as `-EnableSmartProxy`, example: -EnableSmartProxy:$false or -EnableSmartProxy:$true

#### Before
```powershell
New-AzHealthcareApisService -Name MyService -ResourceGroupName MyResourceGroup -Location MyLocation -FhirVersion fhir-R4 -CosmosOfferThroughput 500 -ManagedIdentity $IdentityType -DisableCorsCredential -DisableSmartProxy
```
#### After
```powershell
New-AzHealthcareApisService -Name MyService -ResourceGroupName MyResourceGroup -Location MyLocation -Kind fhir-R4 -CosmosOfferThroughput 500 -IdentityType $IdentityType -AllowCorsCredential:$false -EnableSmartProxy:$false
```

---

### Documentation Migration Guides Az.9.0.1 Migration Guide (`documentation/migration-guides/Az.9.0.1-migration-guide.md`)

# Migration Guide for Az 9.0.1

## Az.Advisor

### `Set-AzAdvisorConfiguration`

- No longer has output type 'Microsoft.Azure.Commands.Advisor.Cmdlets.Models.PsAzureAdvisorConfigurationData'.
- No longer supports the type 'System.Int32' for parameter 'LowCpuThreshold'.
- No longer supports the type 'Microsoft.Azure.Commands.Advisor.Cmdlets.Models.PsAzureAdvisorConfigurationData' for parameter 'InputObject'.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'InputObjectRgExcludeParameterSet' is no longer the default parameter set.
- The parameter set 'InputObjectLowCpuExcludeParameterSet' has been removed.
- The parameter set 'InputObjectRgExcludeParameterSet' has been removed.

### `Enable-AzAdvisorRecommendation`

- No longer has output type 'Microsoft.Azure.Commands.Advisor.Cmdlets.Models.PsAzureAdvisorResourceRecommendationBase'.
- No longer supports the type 'Microsoft.Azure.Commands.Advisor.Cmdlets.Models.PsAzureAdvisorResourceRecommendationBase' for parameter 'InputObject'.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'NameParameterSet' is no longer the default parameter set.
- The parameter set 'IdParameterSet' has been removed.
- The parameter set 'InputObjectParameterSet' has been removed.
- The parameter set 'NameParameterSet' has been removed.

### `Disable-AzAdvisorRecommendation`

- No longer has output type 'Microsoft.Azure.Commands.Advisor.Cmdlets.Models.PsAzureAdvisorSuppressionContract'.
- No longer supports the parameter 'Days' and no alias was found for the original parameter name.
- No longer supports the type 'Microsoft.Azure.Commands.Advisor.Cmdlets.Models.PsAzureAdvisorResourceRecommendationBase' for parameter 'InputObject'.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'IdParameterSet' has been removed.
- The parameter set 'NameParameterSet' has been removed.
- The parameter set 'InputObjectParameterSet' has been removed.

### `Get-AzAdvisorRecommendation`

- No longer has output type 'Microsoft.Azure.Commands.Advisor.Cmdlets.Models.PsAzureAdvisorResourceRecommendationBase'.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'NameParameterSet' is no longer the default parameter set.
- The parameter set 'IdParameterSet' has been removed.
- The parameter set 'NameParameterSet' has been removed.

### `Get-AzAdvisorConfiguration`

- No longer has output type 'Microsoft.Azure.Commands.Advisor.Cmdlets.Models.PsAzureAdvisorConfigurationData'.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'RgParameterSet' has been removed.

## Az.Aks

### `Install-AzAksKubectl`

Replaced by Install-AzAksCliTool

#### Before

```powershell
Install-AzAksKubectl
```

#### After

```powershell
Install-AzAksCliTool
```

## Az.ApiManagement

### `Get-AzApiManagement`

- The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.

### `Set-AzApiManagement`

- The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.
- The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.

### `Restore-AzApiManagement`

- The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.

### `Get-AzApiManagementSsoToken`

- The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.

### `Update-AzApiManagementRegion`

- The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.
- The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.
- No longer supports the type 'PsApiManagementSku' for parameter 'Sku'.

### `Backup-AzApiManagement`

- The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.

### `Add-AzApiManagementRegion`

- The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.
- The type of property 'Sku' of type 'PsApiManagementRegion' has changed from 'PsApiManagementSku' to 'System.String'.
- The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.
- No longer supports the type 'System.Nullable`1[Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementSku]' for parameter 'Sku'.

### `New-AzApiManagement`

- The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.
- No longer supports the type 'System.Nullable`1[Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementSku]' for parameter 'Sku'.

### `New-AzApiManagementRegion`

- The type of property 'Sku' of type 'PsApiManagementRegion' has changed from 'PsApiManagementSku' to 'System.String'.

### `Remove-AzApiManagementRegion`

- The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.
- The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.

### `Get-AzApiManagementNetworkStatus`

- The type of property 'Sku' of type 'PsApiManagement' has changed from 'PsApiManagementSku' to 'System.String'.

## Az.Attestation

### `Get-AzAttestation`

- Replaced by 'Get-AzAttestationProvider'.

#### Before

```powershell
Get-AzAttestation -Name testprovider1 -ResourceGroupName test-rg
Get-AzAttestation -DefaultProvider
```

#### After

```powershell
Get-AzAttestationProvider -Name testprovider1 -ResourceGroupName test-rg
Get-AzAttestationDefaultProvider
```

### `New-AzAttestation`

- Replaced by 'New-AzAttestationProvider'.

#### Before

```powershell
New-AzAttestation -Name testprovider2 -ResourceGroupName test-rg -Location "East US" -PolicySignersCertificateFile .\cert1.pem
```

#### After

```powershell
New-AzAttestationProvider -Name testprovider2 -ResourceGroupName test-rg -Location "East US" -PolicySigningCertificateKeyPath .\cert1.pem
```

### `Remove-AzAttestation`

- Replaced by 'Remove-AzAttestationProvider'.

#### Before

```powershell
Remove-AzAttestation -Name testprovider -ResourceGroupName test-rg
```

#### After

```powershell
Remove-AzAttestationProvider -Name testprovider -ResourceGroupName test-rg
```

## Az.EventHub

### `Get-AzEventHubAuthorizationRule`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been renamed to 'EventHubName'.

### `Get-AzEventHubKey`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been renamed to 'EventHubName'.

### `New-AzEventHubAuthorizationRule`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been renamed to 'EventHubName'.

### `New-AzEventHubKey`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been renamed to 'EventHubName'. Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'

### `Remove-AzEventHubAuthorizationRule`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been changed to 'EventHubName'.

### `Set-AzEventHubAuthorizationRule`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been renamed to 'EventHubName'. Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'

### `Get-AzEventHubConsumerGroup`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been renamed to 'EventHubName'. Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'

### `New-AzEventHubConsumerGroup`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been changed to 'EventHubName'.

### `Set-AzEventHubConsumerGroup`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been renamed to 'EventHubName'. Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'

### `Remove-AzEventHubConsumerGroup`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. The parameter 'EventHub' has been renamed to 'EventHubName'. Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'

### `Get-AzEventHub`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.

### `New-AzEventHub`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.

### `Set-AzEventHub`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.

### `Remove-AzEventHub`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.

### `Get-AzEventHubNetworkRuleSet`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.

### `Set-AzEventHubNetworkRuleSet`

- Parameter 'Name' has been renamed to 'NamespaceName'.

### `New-AzEventHubSchemaGroup`

Parameter 'Namespace' has been renamed to 'NamespaceName'.

### `Remove-AzEventHubSchemaGroup`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.

### `Get-AzEventHubSchemaGroup`

Parameter 'Namespace' has been renamed to 'NamespaceName'.

### `Get-AzEventHubGeoDRConfiguration`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.

### `Set-AzEventHubGeoDRConfigurationBreakPair`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.

### `Set-AzEventHubGeoDRConfigurationFailOver`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.

### `Remove-AzEventHubGeoDRConfiguration`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.

### `New-AzEventHubGeoDRConfiguration`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.

### `Test-AzEventHubName`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.

## Az.MarketplaceOrdering

### `Get-AzMarketplaceTerms`

Add OfferType parameter

#### Before

```powershell
Get-AzMarketplaceTerms -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016"

Publisher         : microsoft-ads
Product           : windows-data-science-vm
Plan              : windows2016
LicenseTextLink   : <LicenseTextLink>
PrivacyPolicyLink : <PrivacyPolicyLink>
Signature         : <Signature>
Accepted          : True
RetrieveDatetime  : <RetrieveDatetime>
```

#### After

```powershell
Get-AzMarketplaceTerms  -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016" -OfferType 'virtualmachine'

```

### `Set-AzMarketplaceTerms`

Remove parameter 'Term'

#### Before

```powershell
$agreementTerms = Get-AzMarketplaceTerms -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016"
Set-AzMarketplaceTerms -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016" -Terms $agreementTerms -Accept
```

#### After

```powershell
Set-AzMarketplaceTerms  -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016" -Accept
```

## Az.Migrate

### `New-AzMigrateReplicationVaultSetting`

- Has been removed and no alias was found for the original cmdlet name.

### `Get-AzMigrateReplicationVaultSetting`

- Has been removed and no alias was found for the original cmdlet name.

### `Get-AzMigrateReplicationProtectionIntent`

- Has been removed and no alias was found for the original cmdlet name.

### `Get-AzMigrateSupportedOperatingSystem`

- Has been removed and no alias was found for the original cmdlet name.

### `Get-AzMigrateReplicationEligibilityResult`

- Has been removed and no alias was found for the original cmdlet name.

### `New-AzMigrateReplicationProtectionIntent`

- Has been removed and no alias was found for the original cmdlet name.

## Az.Monitor

### `Get-AzActivityLogAlert`

- New API version with new set of input/output, please see cmdlet help for detail

### `Remove-AzActivityLogAlert`

- New API version with new set of input/output, please see cmdlet help for detail

### `Set-AzActivityLogAlert`

- Replaced by New-AzActivityLogAlert

### `Disable-AzActivityLogAlert`

- Replaced by Update-AzActivityLogAlert

### `Enable-AzActivityLogAlert`

- Replaced by Update-AzActivityLogAlert

### `New-AzActionGroup`

- Replaced by New-AzActivityLogAlertActionGroupObject

### `Get-AzDiagnosticSettingCategory`

- New API version with new set of input/output, please see cmdlet help for detail

### `Get-AzDiagnosticSetting`

- New API version with new set of input/output, please see cmdlet help for detail

### `New-AzDiagnosticSetting`

- New API version with new set of input/output, please see cmdlet help for detail

### `Remove-AzDiagnosticSetting`

- New API version with new set of input/output, please see cmdlet help for detail

### `Set-AzDiagnosticSetting`

- Replaced by New-AzDiagnosticSetting

### `New-AzDiagnosticDetailSetting`

- Replaced by New-AzDiagnosticSettingLogSettingsObject and New-AzDiagnosticSettingMetricSettingsObject

### `Get-AzSubscriptionDiagnosticSettingCategory`

- Replaced by Get-AzEventCategory

### `Get-AzAutoscaleSetting`

- New API version with new set of input/output, please see cmdlet help for detail

### `Remove-AzAutoscaleSetting`

- New API version with new set of input/output, please see cmdlet help for detail

### `Add-AzAutoscaleSetting`

- Replaced by New-AzAutoscaleSetting

### `New-AzAutoscaleNotification`

- Replaced by New-AzAutoscaleNotificationObject

### `New-AzAutoscaleProfile`

- Replaced by New-AzAutoscaleProfileObject

### `New-AzAutoscaleRule`

- Replaced by New-AzAutoscaleScaleRuleObject

### `New-AzAutoscaleWebhook`

- Replaced by New-AzAutoscaleWebhookNotificationObject

### `Get-AzScheduledQueryRule`

- New API version with new set of input/output, please see cmdlet help for detail

### `New-AzScheduledQueryRuleAlertingAction`

- Removed due to new API version

### `New-AzScheduledQueryRuleAznActionGroup`

- Removed due to new API version

### `New-AzScheduledQueryRule`

- New API version with new set of input/output, please see cmdlet help for detail

### `New-AzScheduledQueryRuleLogMetricTrigger`

- Removed due to new API version

### `New-AzScheduledQueryRuleSchedule`

- Removed due to new API version

### `New-AzScheduledQueryRuleSource`

- Removed due to new API version

### `New-AzScheduledQueryRuleTriggerCondition`

- Removed due to new API version

### `Remove-AzScheduledQueryRule`

- New API version with new set of input/output, please see cmdlet help for detail

### `Set-AzScheduledQueryRule`

- Removed and no replacement.

### `Update-AzScheduledQueryRule`

- New API version with new set of input/output, please see cmdlet help for detail

## Az.Network

### `New-AzFirewall`

- The property 'IdentifyTopFatFlow' of type 'PSAzureFirewall' has been removed.
- The property 'publicIPAddresses' of type 'PSAzureFirewallHubIpAddresses' has been removed.
- No longer supports the parameter 'IdentifyTopFatFlow' and no alias was found for the original parameter name.
- The parameter set '__AllParameterSets' has been removed.
- The parameter set 'OldIpConfigurationParameterValues' has been removed.
- The parameter set 'IpConfigurationParameterValues' has been removed.

### `New-AzFirewallHubIpAddress`

- The property 'publicIPAddresses' of type 'PSAzureFirewallHubIpAddresses' has been removed.

### `Set-AzFirewall`

- The property 'IdentifyTopFatFlow' of type 'PSAzureFirewall' has been removed.

### `New-AzNetworkManagerAddressPrefixItem`

- A validate set has been added for parameter 'AddressPrefixType'.

### `New-AzNetworkManagerSecurityAdminConfiguration`

- The element type for parameter 'ApplyOnNetworkIntentPolicyBasedService' has been changed from 'System.String' to 'Microsoft.Azure.Commands.Network.NewAzNetworkManagerSecurityAdminConfigurationCommand.NetworkIntentPolicyBasedServiceType'.

### `New-AzNetworkManager`

- The element type for parameter 'NetworkManagerScopeAccess' has been changed from 'System.String' to 'Microsoft.Azure.Commands.Network.NewAzNetworkManagerCommand.NetworkManagerScopeAccessType'.

### `Get-AzFirewall`

- The property 'publicIPAddresses' of type 'PSAzureFirewallHubIpAddresses' has been removed.
- The property 'IdentifyTopFatFlow' of type 'PSAzureFirewall' has been removed.
- The property 'IdentifyTopFatFlow' of type 'PSAzureFirewall' has been removed.

### `New-AzNetworkManagerConnectivityConfiguration`

- A validate set has been added for parameter 'ConnectivityTopology'.

### `Deploy-AzNetworkManagerCommit`

- A validate set has been added for parameter 'CommitType'.

### `New-AzNetworkManagerConnectivityGroupItem`

- A validate set has been added for parameter 'GroupConnectivity'.

### `New-AzNetworkManagerSecurityAdminRule`

- A validate set has been added for parameter 'Protocol'.
- A validate set has been added for parameter 'Direction'.
- A validate set has been added for parameter 'Access'.

## Az.RecoveryServices

### `Get-AzRecoveryServicesBackupContainer`

- No longer supports the parameter 'Status' and no alias was found for the original parameter name.
The parameter set '__AllParameterSets' has been removed.

## Az.SecurityInsights

### `Update-AzSentinelAlertRuleAction`

- No longer has output type 'PSSentinelActionResponse'.
- No longer supports the parameter 'AlertRuleId' and no alias was found for the original parameter name.
- No longer supports the type 'PSSentinelActionResponse' for parameter 'InputObject'.
- No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'ActionId' has been removed.
- The parameter set 'ResourceId' has been removed.

### `New-AzSentinelIncidentOwner`

- Has been removed and no alias was found for the original cmdlet name.

### `New-AzSentinelIncidentComment`

- No longer has output type 'PSSentinelIncidentComment'.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set '__AllParameterSets' has been removed.

### `Get-AzSentinelBookmark`

- No longer has output type 'PSSentinelBookmark'.
- No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'BookmarkId.' has been removed.
- The parameter set 'ResourceId' has been removed.

### `Update-AzSentinelAlertRule`

- No longer has output type 'PSSentinelAlertRule'.
- No longer supports the parameter 'AlertRuleId' and no alias was found for the original parameter name.
- No longer supports the type 'System.String' for parameter 'ProductFilter'.
- No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'DisplayNamesExcludeFilter'.
- No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'DisplayNamesFilter'.
- No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'SeveritiesFilter'.
- No longer supports the parameter 'SuppressionDisabled' and no alias was found for the original parameter name.
- No longer supports the type 'System.Nullable`1[System.TimeSpan]' for parameter 'QueryFrequency'.
- No longer supports the type 'System.Nullable`1[System.TimeSpan]' for parameter 'QueryPeriod'.
- No longer supports the type 'System.String' for parameter 'Severity'.
- No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'Tactic'.
- No longer supports the type 'Microsoft.Azure.Management.SecurityInsights.Models.TriggerOperator' for parameter 'TriggerOperator'.
- No longer supports the type 'System.Nullable`1[System.Int32]' for parameter 'TriggerThreshold'.
- No longer supports the type 'PSSentinelAlertRule' for parameter 'InputObject'.
- No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'AlertRuleId' has been removed.
- The parameter set '__AllParameterSets' has been removed.
- The parameter set 'InputObject' has been removed.
- The parameter set 'ResourceId' has been removed.

### `Get-AzSentinelIncidentComment`

- No longer has output type 'PSSentinelIncidentComment'.
- No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'ResourceId' has been removed.

### `Get-AzSentinelAlertRuleAction`

- No longer has output type 'PSSentinelActionResponse'.
- No longer supports the parameter 'AlertRuleId' and no alias was found for the original parameter name.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'AlertRuleId' has been removed.
- The parameter set 'ActionId' has been removed.

### `Remove-AzSentinelIncident`

- No longer supports the type 'PSSentinelIncident' for parameter 'InputObject'.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'IncidentId' has been removed.

### `New-AzSentinelBookmark`

- No longer has output type 'PSSentinelBookmark'.
- No longer supports the parameter 'IncidentInfo' and no alias was found for the original parameter name.
- No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'Label'.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'BookmarkId.' has been removed.
- The parameter set '__AllParameterSets' has been removed.

### `Remove-AzSentinelAlertRule`

- No longer has output type 'PSSentinelAlertRule'.
- No longer supports the parameter 'AlertRuleId' and no alias was found for the original parameter name.
- No longer supports the type 'PSSentinelAlertRule' for parameter 'InputObject'.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'AlertRuleId' has been removed.

### `Remove-AzSentinelAlertRuleAction`

- No longer has output type 'PSSentinelActionResponse'.
- No longer supports the parameter 'AlertRuleId' and no alias was found for the original parameter name.
- No longer supports the type 'PSSentinelActionResponse' for parameter 'InputObject'.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'ActionId' has been removed.

### `Get-AzSentinelAlertRule`

- No longer has output type 'PSSentinelAlertRule'.
- No longer supports the parameter 'AlertRuleId' and no alias was found for the original parameter name.
- No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'AlertRuleId' has been removed.
- The parameter set 'ResourceId' has been removed.

### `Update-AzSentinelDataConnector`

- No longer has output type 'PSSentinelDataConnector'.
- No longer supports the parameter 'DataConnectorId' and no alias was found for the original parameter name.
- No longer supports the type 'PSSentinelDataConnector' for parameter 'InputObject'.
- No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- No longer supports the parameter 'AwsRoleArn' and no alias was found for the original parameter name.
- No longer supports the parameter 'Logs' and no alias was found for the original parameter name.
- No longer supports the parameter 'DiscoveryLogs' and no alias was found for the original parameter name.
- No longer supports the parameter 'Indicators' and no alias was found for the original parameter name.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'DataConnectorId' has been removed.
- The parameter set 'InputObject' has been removed.
- The parameter set 'ResourceId' has been removed.
- The parameter set '__AllParameterSets' has been removed.

### `Remove-AzSentinelBookmark`

- No longer has output type 'PSSentinelBookmark'.
- No longer supports the type 'PSSentinelBookmark' for parameter 'InputObject'.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'BookmarkId.' has been removed.

### `New-AzSentinelIncident`

- No longer has output type 'PSSentinelIncident'.
- No longer supports the parameter 'Classificaton' and no alias was found for the original parameter name.
- No longer supports the type 'System.String' for parameter 'ClassificationReason'.
- No longer supports the type 'System.Collections.Generic.IList`1[Microsoft.Azure.Commands.SecurityInsights.Models.Incidents.PSSentinelIncidentLabel]' for parameter 'Label'.
- No longer supports the parameter 'Owner' and no alias was found for the original parameter name.
- No longer supports the type 'System.String' for parameter 'Severity'.
- No longer supports the type 'System.String' for parameter 'Status'.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'IncidentId' has been removed.
- The parameter set '__AllParameterSets' has been removed.

### `New-AzSentinelAlertRuleAction`

- No longer has output type 'PSSentinelActionResponse'.
- No longer supports the parameter 'AlertRuleId' and no alias was found for the original parameter name.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'ActionId' has been removed.
- The parameter set '__AllParameterSets' has been removed.

### `Get-AzSentinelIncident`

- No longer has output type 'PSSentinelIncident'.
- No longer supports the parameter 'OrderBy' and no alias was found for the original parameter name.
- No longer supports the parameter 'Max' and no alias was found for the original parameter name.
- No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'WorkspaceScope' has been removed.
- The parameter set 'IncidentId' has been removed.
- The parameter set 'ResourceId' has been removed.

### `Remove-AzSentinelDataConnector`

- No longer has output type 'PSSentinelDataConnector'.
- No longer supports the type 'PSSentinelDataConnector' for parameter 'InputObject'.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'DataConnectorId' has been removed.

### `New-AzSentinelDataConnector`

- No longer has output type 'PSSentinelDataConnector'.
- No longer supports the parameter 'DataConnectorId' and no alias was found for the original parameter name.
- No longer supports the parameter 'AzureActiveDirectory' and no alias was found for the original parameter name.
- No longer supports the parameter 'AzureAdvancedThreatProtection' and no alias was found for the original parameter name.
- No longer supports the parameter 'AzureSecurityCenter' and no alias was found for the original parameter name.
- No longer supports the parameter 'AmazonWebServicesCloudTrail' and no alias was found for the original parameter name.
- No longer supports the parameter 'MicrosoftCloudAppSecurity' and no alias was found for the original parameter name.
- No longer supports the parameter 'MicrosoftDefenderAdvancedThreatProtection' and no alias was found for the original parameter name.
- No longer supports the parameter 'Office365' and no alias was found for the original parameter name.
- No longer supports the parameter 'ThreatIntelligence' and no alias was found for the original parameter name.
- No longer supports the parameter 'AwsRoleArn' and no alias was found for the original parameter name.
- No longer supports the parameter 'Logs' and no alias was found for the original parameter name.
- No longer supports the parameter 'DiscoveryLogs' and no alias was found for the original parameter name.
- No longer supports the parameter 'Indicators' and no alias was found for the original parameter name.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'AzureActiveDirectory' has been removed.
- The parameter set 'AzureAdvancedThreatProtection' has been removed.
- The parameter set 'AzureSecurityCenter' has been removed.
- The parameter set 'AmazonWebServicesCloudTrail' has been removed.
- The parameter set 'MicrosoftCloudAppSecurity' has been removed.
- The parameter set 'MicrosoftDefenderAdvancedThreatProtection' has been removed.
- The parameter set 'Office365' has been removed.
- The parameter set 'ThreatIntelligence' has been removed.
- The parameter set '__AllParameterSets' has been removed.

### `New-AzSentinelAlertRule`

- No longer has output type 'PSSentinelAlertRule'.
- No longer supports the parameter 'Scheduled' and no alias was found for the original parameter name.
- No longer supports the parameter 'MicrosoftSecurityIncidentCreation' and no alias was found for the original parameter name.
- No longer supports the parameter 'Fusion' and no alias was found for the original parameter name.
- No longer supports the parameter 'AlertRuleId' and no alias was found for the original parameter name.
- No longer supports the type 'System.String' for parameter 'ProductFilter'.
- No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'DisplayNamesExcludeFilter'.
- No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'DisplayNamesFilter'.
- No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'SeveritiesFilter'.
- No longer supports the type 'System.Nullable`1[System.TimeSpan]' for parameter 'QueryFrequency'.
- No longer supports the type 'System.Nullable`1[System.TimeSpan]' for parameter 'QueryPeriod'.
- No longer supports the type 'System.String' for parameter 'Severity'.
- No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'Tactic'.
- No longer supports the type 'Microsoft.Azure.Management.SecurityInsights.Models.TriggerOperator' for parameter 'TriggerOperator'.
- No longer supports the type 'System.Nullable`1[System.Int32]' for parameter 'TriggerThreshold'.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'FusionAlertRule' has been removed.
- The parameter set 'MicrosoftSecurityIncidentCreationRule' has been removed.
- The parameter set 'ScheduledAlertRule' has been removed.
- The parameter set '__AllParameterSets' has been removed.

### `Get-AzSentinelAlertRuleTemplate`

- No longer has output type 'PSSentinelAlertRuleTemplate'.
- No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'AlertRuleTemplateId' has been removed.
- The parameter set 'ResourceId' has been removed.

### `Update-AzSentinelIncident`

- No longer has output type 'PSSentinelIncident'.
- No longer supports the parameter 'IncidentID' and no alias was found for the original parameter name.
- No longer supports the type 'PSSentinelIncident' for parameter 'InputObject'.
- No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- No longer supports the type 'System.String' for parameter 'Classification'.
- No longer supports the type 'System.String' for parameter 'ClassificationReason'.
- No longer supports the type 'System.Collections.Generic.IList`1[Microsoft.Azure.Commands.SecurityInsights.Models.Incidents.PSSentinelIncidentLabel]' for parameter 'Label'.
- No longer supports the parameter 'Owner' and no alias was found for the original parameter name.
- No longer supports the type 'System.String' for parameter 'Severity'.
- No longer supports the type 'System.String' for parameter 'Status'.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'IncidentId' has been removed.
- The parameter set 'InputObject' has been removed.
- The parameter set 'ResourceId' has been removed.
- The parameter set '__AllParameterSets' has been removed.

### `Get-AzSentinelDataConnector`

- No longer has output type 'PSSentinelDataConnector'.
- No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'ResourceId' has been removed.

### `Update-AzSentinelBookmark`

- No longer has output type 'PSSentinelBookmark'.
- No longer supports the type 'PSSentinelBookmark' for parameter 'InputObject'.
- No longer supports the parameter 'ResourceId' and no alias was found for the original parameter name.
- No longer supports the parameter 'IncidentInfo' and no alias was found for the original parameter name.
- No longer supports the type 'System.Collections.Generic.IList`1[System.String]' for parameter 'Label'.
- No longer supports the type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzContext' for parameter 'DefaultProfile'.
- No longer supports the alias 'AzureRmContext' for parameter 'DefaultProfile'.
- The parameter set 'BookmarkId.' has been removed.
- The parameter set 'InputObject' has been removed.
- The parameter set 'ResourceId' has been removed.
- The parameter set '__AllParameterSets' has been removed.

## Az.ServiceBus

### `Get-AzServiceBusAuthorizationRule`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Queue' has been renamed to 'QueueName'. Parameter 'Topic' has been renamed to 'TopicName'.

### `Get-AzServiceBusKey`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Queue' has been renamed to 'QueueName'. Parameter 'Topic' has been renamed to 'TopicName'.

### `New-AzServiceBusAuthorizationRule`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Queue' has been renamed to 'QueueName'. Parameter 'Topic' has been renamed to 'TopicName'.

### `New-AzServiceBusKey`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Queue' has been renamed to 'QueueName'. Parameter 'Topic' has been renamed to 'TopicName'.

### `Remove-AzServiceBusAuthorizationRule`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Queue' has been renamed to 'QueueName'. Parameter 'Topic' has been renamed to 'TopicName'.

### `Set-AzServiceBusAuthorizationRule`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Queue' has been renamed to 'QueueName'. Parameter 'Topic' has been renamed to 'TopicName'.

### `Test-AzServiceBusName`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `Set-AzServiceBusGeoDRConfigurationBreakPair`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `Stop-AzServiceBusMigration`

- Parameter 'Name' has been renamed to 'NamespaceName'. Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `Get-AzServiceBusNetworkRuleSet`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.

### `Set-AzServiceBusNetworkRuleSet`

- Parameter 'Name' has been replaced by 'NamespaceName'.

### `Get-AzServiceBusQueue`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.  Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `New-AzServiceBusQueue`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.  Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `Set-AzServiceBusQueue`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.  Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `Remove-AzServiceBusQueue`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.  Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `Get-AzServiceBusRule`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Topic' has been renamed to 'TopicName'. Parameter 'Subscription' has been renamed to 'SubscriptionName'.  Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `New-AzServiceBusRule`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Topic' has been renamed to 'TopicName'. Parameter 'Subscription' has been renamed to 'SubscriptionName'.  Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `Set-AzServiceBusRule`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Topic' has been renamed to 'TopicName'. Parameter 'Subscription' has been renamed to 'SubscriptionName'.  Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `Remove-AzServiceBusRule`

- Parameter 'Namespace' has been renamed to 'NamespaceName'. Parameter 'Topic' has been renamed to 'TopicName'. Parameter 'Subscription' has been renamed to 'SubscriptionName'.  Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `Get-AzServiceBusTopic`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.  Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `New-AzServiceBusTopic`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.  Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `Set-AzServiceBusTopic`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.  Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `Remove-AzServiceBusTopic`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.  Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `Get-AzServiceBusSubscription`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.  Parameter 'Topic' has been removed to 'TopicName'.  Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `New-AzServiceBusSubscription`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.  Parameter 'Topic' has been removed to 'TopicName'.  Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `Set-AzServiceBusSubscription`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.  Parameter 'Topic' has been removed to 'TopicName'.  Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `Remove-AzServiceBusSubscription`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.  Parameter 'Topic' has been removed to 'TopicName'.  Parameter 'ResourceGroupName' would no longer support alias 'ResourceGroup'.

### `Get-AzServiceBusGeoDRConfiguration`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.

### `Set-AzServiceBusGeoDRConfigurationFailOver`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.

### `New-AzServiceBusGeoDRConfiguration`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.

### `Remove-AzServiceBusGeoDRConfiguration`

- Parameter 'Namespace' has been renamed to 'NamespaceName'.

### `Start-AzServiceBusMigration`

- Parameter 'Name' has been replaced by 'NamespaceName'.

### `Get-AzServiceBusMigration`

- Parameter 'Name' has been replaced by 'NamespaceName'.

### `Complete-AzServiceBusMigration`

- Parameter 'Name' has been replaced by 'NamespaceName'.

### `Remove-AzServiceBusMigration`

- Parameter 'Name' has been replaced by 'NamespaceName'.

## Az.Sql

### `Update-AzSqlServerAdvancedThreatProtectionSetting`

- No longer has output type 'Microsoft.Azure.Commands.Sql.ThreatDetection.Model.ServerThreatDetectionPolicyModel'.
- No longer supports the parameter 'NotificationRecipientsEmails' and no alias was found for the original parameter name.
- No longer supports the parameter 'EmailAdmins' and no alias was found for the original parameter name.
- No longer supports the parameter 'ExcludedDetectionType' and no alias was found for the original parameter name.
- No longer supports the parameter 'StorageAccountName' and no alias was found for the original parameter name.
- No longer supports the parameter 'RetentionInDays' and no alias was found for the original parameter name.
- The parameter set '__AllParameterSets' has been removed.

### `Get-AzSqlServerAdvancedThreatProtectionSetting`

- No longer has output type 'Microsoft.Azure.Commands.Sql.ThreatDetection.Model.ServerThreatDetectionPolicyModel'.

### `Clear-AzSqlDatabaseAdvancedThreatProtectionSetting`

- Has been removed and no alias was found for the original cmdlet name.

### `Update-AzSqlDatabaseAdvancedThreatProtectionSetting`

- No longer has output type 'Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DatabaseThreatDetectionPolicyModel'.
- No longer supports the parameter 'NotificationRecipientsEmails' and no alias was found for the original parameter name.
- No longer supports the parameter 'EmailAdmins' and no alias was found for the original parameter name.
- No longer supports the parameter 'ExcludedDetectionType' and no alias was found for the original parameter name.
- No longer supports the parameter 'StorageAccountName' and no alias was found for the original parameter name.
- No longer supports the parameter 'RetentionInDays' and no alias was found for the original parameter name.
- The parameter set '__AllParameterSets' has been removed.

### `Clear-AzSqlServerAdvancedThreatProtectionSetting`

- Has been removed and no alias was found for the original cmdlet name.

### `Disable-AzSqlServerAdvancedDataSecurity`

- No longer supports the alias 'Disable-AzSqlServerAdvancedThreatProtection'.

### `Get-AzSqlDatabaseAdvancedThreatProtectionSetting`

- No longer has output type 'Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DatabaseThreatDetectionPolicyModel'.

### `Enable-AzSqlServerAdvancedDataSecurity`

- No longer supports the alias 'Enable-AzSqlServerAdvancedThreatProtection'.

## Az.Storage

### `Get-AzStorageFileCopyState`

- No longer has output type 'Microsoft.Azure.Storage.File.CopyState'.

## Az.Synapse

### `Get-AzSynapseLinkConnectionLinkTableStatus`

- The type of property 'Properties' of type 'PSLinkConnectionResource' has changed from 'Azure.Analytics.Synapse.Artifacts.Models.LinkConnection' to 'PSLinkConnection'.

### `Remove-AzSynapseLinkConnection`

- The type of property 'Properties' of type 'PSLinkConnectionResource' has changed from 'Azure.Analytics.Synapse.Artifacts.Models.LinkConnection' to 'PSLinkConnection'.

### `Update-AzSynapseLinkConnectionLandingZoneCredential`

- The type of property 'Properties' of type 'PSLinkConnectionResource' has changed from 'Azure.Analytics.Synapse.Artifacts.Models.LinkConnection' to 'PSLinkConnection'.

### `Get-AzSynapseLinkConnectionLinkTable`

- The type of property 'Properties' of type 'PSLinkConnectionResource' has changed from 'Azure.Analytics.Synapse.Artifacts.Models.LinkConnection' to 'PSLinkConnection'.

### `Stop-AzSynapseLinkConnection`

- The type of property 'Properties' of type 'PSLinkConnectionResource' has changed from 'Azure.Analytics.Synapse.Artifacts.Models.LinkConnection' to 'PSLinkConnection'.

### `Set-AzSynapseLinkConnection`

- The type of property 'Properties' of type 'PSLinkConnectionResource' has changed from 'Azure.Analytics.Synapse.Artifacts.Models.LinkConnection' to 'PSLinkConnection'.

### `Get-AzSynapseLinkConnection`

- The type of property 'Properties' of type 'PSLinkConnectionResource' has changed from 'Azure.Analytics.Synapse.Artifacts.Models.LinkConnection' to 'PSLinkConnection'.

### `Start-AzSynapseLinkConnection`

- The type of property 'Properties' of type 'PSLinkConnectionResource' has changed from 'Azure.Analytics.Synapse.Artifacts.Models.LinkConnection' to 'PSLinkConnection'.

### `Set-AzSynapseLinkConnectionLinkTable`

- The type of property 'Properties' of type 'PSLinkConnectionResource' has changed from 'Azure.Analytics.Synapse.Artifacts.Models.LinkConnection' to 'PSLinkConnection'.

---

### Documentation Migration Guides Migration Guide.2.0.0 (`documentation/migration-guides/migration-guide.2.0.0.md`)

# Table of Contents
1. [Removal of Force parameters](#removal-of-force-parameters)
2. [Change of Tag parameters](#change-of-tag-parameters)
3. [Breaking changes to Storage cmdlets](#breaking-changes-to-storage-cmdlets)
4. [Breaking changes to AD cmdlets](#breaking-changes-to-ad-cmdlets)

## Removal of Force parameters

This release, we removed all Obsolete `Force` parameters from cmdlets and the corresponding warnings that the parameter would be removed in a future release.

The following cmdlets are affected by this change:

**ApiManagement**
- Remove-AzureRmApiManagement
- Remove-AzureRmApiManagementApi
- Remove-AzureRmApiManagementGroup
- Remove-AzureRmApiManagementLogger
- Remove-AzureRmApiManagementOpenIdConnectProvider
- Remove-AzureRmApiManagementOperation
- Remove-AzureRmApiManagementPolicy
- Remove-AzureRmApiManagementProduct
- Remove-AzureRmApiManagementProperty
- Remove-AzureRmApiManagementSubscription
- Remove-AzureRmApiManagementUser

**Automation**
- Remove-AzureRmAutomationCertificate
- Remove-AzureRmAutomationCredential
- Remove-AzureRmAutomationVariable
- Remove-AzureRmAutomationWebhook

**Batch**
- Remove-AzureBatchCertificate
- Remove-AzureBatchComputeNode
- Remove-AzureBatchComputeNodeUser

**DataFactories**
- Resume-AzureRmDataFactoryPipeline
- Set-AzureRmDataFactoryPipelineActivePeriod
- Suspend-AzureRmDataFactoryPipeline

**DataLakeStore**
- Remove-AzureRmDataLakeStoreItemAclEntry
- Set-AzureRmDataLakeStoreItemAcl
- Set-AzureRmDataLakeStoreItemAclEntry
- Set-AzureRmDataLakeStoreItemOwner

**OperationalInsights**
- Remove-AzureRmOperationalInsightsSavedSearch

**Profile**
- Remove-AzureRmEnvironment

**RedisCache**
- Remove-AzureRmRedisCacheDiagnostics

**Resources**
- Register-AzureRmProviderFeature
- Register-AzureRmResourceProvider
- Remove-AzureRmADServicePrincipal
- Remove-AzureRmPolicyAssignment
- Remove-AzureRmResourceGroupDeployment
- Remove-AzureRmRoleAssignment
- Stop-AzureRmResourceGroupDeployment
- Unregister-AzureRmResourceProvider

**Storage**
- Remove-AzureStorageContainerStoredAccessPolicy
- Remove-AzureStorageQueueStoredAccessPolicy
- Remove-AzureStorageShareStoredAccessPolicy
- Remove-AzureStorageTableStoredAccessPolicy

**StreamAnalytics**
- Remove-AzureRmStreamAnalyticsFunction
- Remove-AzureRmStreamAnalyticsInput
- Remove-AzureRmStreamAnalyticsJob
- Remove-AzureRmStreamAnalyticsOutput

**Tag**
- Remove-AzureRmTag

<br>

If you have a script that uses any of the above cmdlets, the breaking change can be fixed by simply removing the `Force` parameter.

```powershell
# Old
New-AzureRmResourceGroup -Name $resourceGroupName -Location $location -Force

# New
New-AzureRmResourceGroup -Name $resourceGroupName -Location $location
```

<br>

## Change of Tag parameters

This release, the `Tags` parameter name was changed to `Tag`, and the type was changed from `Hashtable[]` to `Hashtable`, changing the format of the key-value pairings.

Previously, each entry in the `Hashtable[]` represented a single key-value pairing:

```powershell
$tags = @{ Name = "test1"; Value = "testval1" }, @{ Name = "test2", Value = "testval2" }
$tags[0].Name  # Key for the first entry, "test1"
$tags[0].Value # Value for the first entry, "testval1"
$tags[1].Name  # Key for the second entry, "test2"
$tags[1].Value # Value for the second entry, "testval2"
```

Now, `Name` and `Value` are no longer necessary, allowing for key-value pairings to be created by assigning `Key = "Value"` in the `Hashtable`:

```powershell
$tag = @{ test1 = "testval1"; test2 = "testval2" }
$tag["test1"] # Gets the value associated with the key "test1"
$tag["test2"] # Gets the value associated with the key "test2"
```

The following cmdlets are affected by this change:

**Batch**
- Get-AzureRmBatchAccount
- New-AzureRmBatchAccount
- Set-AzureRmBatchAccount

**Compute**
- New-AzureRmVM
- Update-AzureRmVM

**DataLakeAnalytics**
- New-AzureRmDataLakeAnalyticsAccount
- Set-AzureRmDataLakeAnalyticsAccount

**DataLakeStore**
- New-AzureRmDataLakeStoreAccount
- Set-AzureRmDataLakeStoreAccount

**Dns**
- New-AzureRmDnsZone
- Set-AzureRmDnsZone

**KeyVault**
- Get-AzureRmKeyVault
- New-AzureRmKeyVault

**Network**
- New-AzureRmApplicationGateway
- New-AzureRmExpressRouteCircuit
- New-AzureRmLoadBalancer
- New-AzureRmLocalNetworkGateway
- New-AzureRmNetworkInterface
- New-AzureRmNetworkSecurityGroup
- New-AzureRmPublicIpAddress
- New-AzureRmRouteTable
- New-AzureRmVirtualNetwork
- New-AzureRmVirtualNetworkGateway
- New-AzureRmVirtualNetworkGatewayConnection
- New-AzureRmVirtualNetworkPeering

**Resources**
- Find-AzureRmResource
- Find-AzureRmResourceGroup
- New-AzureRmResource
- New-AzureRmResourceGroup
- Set-AzureRmResource
- Set-AzureRmResourceGroup

**SQL**
- New-AzureRmSqlDatabase
- New-AzureRmSqlDatabaseCopy
- New-AzureRmSqlDatabaseSecondary
- New-AzureRmSqlElasticPool
- New-AzureRmSqlServer
- Set-AzureRmSqlDatabase
- Set-AzureRmSqlElasticPool
- Set-AzureRmSqlServer

**Storage**
- New-AzureRmStorageAccount
- Set-AzureRmStorageAccount

**TrafficManager**
- New-AzureRmTrafficManagerProfile

<br>

If you have a script that uses any of the above cmdlets, the breaking change can be fixed by changing the `Tags` parameter to `Tag`, as well as changing the `Tag` to the new format.

```powershell
# Old
New-AzureRmResourceGroup -Name $resourceGroupName -Location -location -Tags @{ Name = "testtag"; Value = "testval" }

# New
New-AzureRmResourceGroup -Name $resourceGroupName -Location -location -Tag @{ testtag = "testval" }
```

<br>

## Breaking changes to Storage cmdlets

The following cmdlets were affected this release:

**Get-AzureRmStorageAccountKey**
- The cmdlet now returns a list of keys, rather than an object with properties for each key

```powershell
# Old
$key = (Get-AzureRmStorageAccountKey -ResourceGroupName $resourceGroupName -Name $accountName).Key1

# New
$key = (Get-AzureRmStorageAccountKey -ResourceGroupName $resourceGroupName -Name $accountName)[0].Value
```

**New-AzureRmStorageAccountKey**
- `StorageAccountRegenerateKeyResponse` field in output of this cmdlet is renamed to `StorageAccountListKeysResults`, which is now a list of keys rather than an object with properties for each key

```powershell
# Old
$key = (New-AzureRmStorageAccountKey -ResourceGroupName $resourceGroupName -Name $accountName).StorageAccountKeys.Key1

# New
$key = (New-AzureRmStorageAccountKey -ResourceGroupName $resourceGroupName -Name $accountName).Keys[0].Value
```

**New/Get/Set-AzureRmStorageAccount**
- `AccountType` field in output of this cmdlet is renamed to `Sku.Name`
- Output type for PrimaryEndpoints/Secondary endpoints blob/table/queue/file changed from `Uri` to `String`

```powershell
# Old
$accountType = (Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Name $accountName).AccountType

# New
$accountType = (Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Name $accountName).Sku.Name
```

```powershell
# Old 
$blobEndpoint = (Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Name $accountName).PrimaryEndpoints.Blob.ToString()
$blobEndpoint = (Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Name $accountName).PrimaryEndpoints.Blob.AbsolutePath

# New
$blobEndpoint = (Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Name $accountName).PrimaryEndpoints.Blob.ToString()
$blobEndpoint = (Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Name $accountName).PrimaryEndpoints.Blob
```

<br>

## Breaking changes to AD cmdlets

The following cmdlets were affected this release:

**Get-AzureRMADServicePrincipal**
- `ServicePrincipalName` field in output of this cmdlet is renamed to `ServicePrincipalNames` and is now a collection. It now displays `ApplicationId` also as one of the SPN, along with the identifierUri.

```powershell
# Old
$servicePrincipals = Get-AzureRmADServicePrincipal -SearchString $displayName
$spn = $servicePrincipals[0].ServicePrincipalName

# New
$servicePrincipals = Get-AzureRmADServicePrincipal -SearchString $displayName
$spn = $servicePrincipals[0].ServicePrincipalNames[0]
```

**Get-AzureRmADApplication**
- Parameter `ApplicationObjectId` is renamed to `ObjectId`.
- In output of this cmdlet, `ApplicationObjectId` is renamed to `ObjectId`.

```powershell
# Old
$app = Get-AzureRmADApplication -ApplicationObjectId $applicationObjectId
$objectId = $app.ApplicationObjectId

# New
$app = Get-AzureRmADApplication -ObjectId $objectId
$objectId = $app.ObjectId
```

**Remove-AzureRmADApplication**
- Parameter `ApplicationObjectId` is renamed to `ObjectId`.

```powershell
# Old
$app = Remove-AzureRmADApplication -ApplicationObjectId $applicationObjectId -Force

# New
$app = Remove-AzureRmADApplication -ObjectId $objectId -Force
```

**New-AzureRmADApplication**
- In output of this cmdlet, `ApplicationObjectId` is renamed to `ObjectId`.
- `KeyValue`, `KeyUsage`, `KeyType` parameters are removed.

```powershell
# Old
$app = New-AzureRmADApplication -DisplayName $displayName -HomePage $homePage -IdentifierUris $identifierUris -KeyValue $kv -KeyType $kt -KeyUsage $ku
$id = $app.ApplicationObjectId

# New
$app = New-AzureRmADApplication -DisplayName $displayName -HomePage $homePage -IdentifierUris $identifierUris
$id = $app.ObjectId
New-AzureRmADAppCredential -ObjectId $id -Password $kv
```

**Get-AzureRmADGroup**
- `Mail` field is removed from the output.

**Get-AzureRmADUser**
- `Mail` field is removed from the output.

**New-AzureRmADServicePrincipal**
- Removed `DisableAccount` parameter.

```powershell
# Old
$servicePrincipal = New-AzureRmADServicePrincipal -DisplayName $displayName -Password $password -DisableAccount true

# New
$servicePrincipal = New-AzureRmADServicePrincipal -DisplayName $displayName -Password $password
Remove-AzureRmADServicePrincipal -ObjectId $servicePrincipal.ObjectId
```

---

### Documentation Migration Guides Migration Guide.3.0.0 (`documentation/migration-guides/migration-guide.3.0.0.md`)

# Breaking changes for Microsoft Azure PowerShell 3.0.0.

This document serves as both a breaking change notification and migration guide for consumers of the Microsoft Azure PowerShell cmdlets.  Each section describes both the impetus for the breaking change and the migration path of least resistance.  For in-depth context, please refer to the pull request associated with each change.

## Table of Contents
1. [Breaking changes to Data Lake Store cmdlets](#breaking-changes-to-data-lake-store-cmdlets)
2. [Breaking changes to ApiManagement cmdlets](#breaking-changes-to-apimanagement-cmdlets)
3. [Breaking changes to Network cmdlets](#breaking-changes-to-network-cmdlets)

## Breaking changes to Data Lake Store cmdlets

The following cmdlets were affected this release ([PR 2965](https://github.com/Azure/azure-powershell/pull/2965)):

**Get-AzureRmDataLakeStoreItemAcl (Get-AdlStoreItemAcl)**
- This cmdlet was removed and replaced with ``Get-AzureRmDataLakeStoreItemAclEntry (Get-AdlStoreItemAclEntry)``.
- The old cmdlet returned a complex object representing the access control list (ACL). The new cmdlet returns a simple list of entries in the chosen path's ACL.

```powershell
# Old
Get-AdlStoreItemAcl -Account myadlsaccount -Path /foo

# New
Get-AdlStoreItemAclEntry -Account myadlsaccount -Path /foo
```

**Get-AzureRmDataLakeStoreItemAclEntry (Get-AdlStoreItemAclEntry)**
- This cmdlet replaces the old cmdlet ``Get-AzureRmDataLakeStoreItemAcl (Get-AdlStoreItemAcl)``.
- This new cmdlet returns a simple list of entries in the chosen path's ACL, with type ``DataLakeStoreItemAce[]``.
- The output of this cmdlet can be passed in to the ``-Acl`` parameter of the following cmdlets:
   - ``Remove-AzureRmDataLakeStoreItemAcl``
   - ``Set-AzureRmDataLakeStoreItemAcl``
   - ``Set-AzureRmDataLakeStoreItemAclEntry``

```powershell
# Old
Get-AdlStoreItemAcl -Account myadlsaccount -Path /foo

# New
Get-AdlStoreItemAclEntry -Account myadlsaccount -Path /foo
```

**Remove-AzureRmDataLakeStoreItemAcl (Remove-AdlStoreItemAcl)**, **Set-AzureRmDataLakeStoreItemAcl (Set-AdlStoreItemAcl)**, **Set-AzureRmDataLakeStoreItemAclEntry (Set-AdlStoreItemAclEntry)**
- These cmdlets now accept ``DataLakeStoreItemAce[]`` for the ``-Acl`` parameter.
- ``DataLakeStoreItemAce[]`` is returned by ``Get-AzureRmDataLakeStoreItemAclEntry (Get-AdlStoreItemAclEntry)``.

```powershell
# Old
$acl = Get-AdlStoreItemAcl -Account myadlsaccount -Path /foo
Set-AdlStoreItemAcl -Account myadlsaccount -Path /foo -Acl $acl

# New
$aclEntries = Get-AdlStoreItemAclEntry -Account myadlsaccount -Path /foo
Set-AdlStoreItemAcl -Account myadlsaccount -Path /foo -Acl $aclEntries
```

## Breaking changes to ApiManagement cmdlets

The following cmdlets were affected this release ([PR 2971](https://github.com/Azure/azure-powershell/pull/2971)):

**New-AzureRmApiManagementVirtualNetwork**
- The required parameters to reference a virtual network changed from requiring SubnetName and VnetId to SubnetResourceId in format 
``/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ClassicNetwork/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}``

```powershell
# Old
$virtualNetwork = New-AzureRmApiManagementVirtualNetwork -Location <String> -SubnetName <String> -VnetId <Guid>

# New
$virtualNetwork = New-AzureRmApiManagementVirtualNetwork -Location <String> -SubnetResourceId <String>

```

**Deprecating Cmdlet Set-AzureRmApiManagementVirtualNetworks**
- The Cmdlet is getting deprecated as there was more than one way to Set Virtual Network associated to ApiManagement deployment.

```powershell
# Old
$networksList = @()
$networksList += New-AzureRmApiManagementVirtualNetwork -Location $vnetLocation -VnetId $vnetId -SubnetName $subnetName
Set-AzureRmApiManagementVirtualNetworks -ResourceGroupName "ContosoGroup" -Name "ContosoApi" -VirtualNetworks $networksList

# New
$masterRegionVirtualNetwork = New-AzureRmApiManagementVirtualNetwork -Location <String> -SubnetResourceId <String>
Update-AzureRmApiManagementDeployment -ResourceGroupName "ContosoGroup" -Name "ContosoApi" -VirtualNetwork $masterRegionVirtualNetwork
```

## Breaking changes to Network cmdlets

The following cmdlets were affected this release ([PR 2982](https://github.com/Azure/azure-powershell/pull/2982)):

**New-AzureRmVirtualNetworkGateway**
- Description of what has changed ``:- Bool parameter:-ActiveActive`` is removed and ``SwitchParameter:-EnableActiveActiveFeature`` is added for enabling Active-Active feature on newly creating virtual network gateway.

```powershell
# Old 
# Sample of how the cmdlet was previously called
New-AzureRmVirtualNetworkGateway -ResourceGroupName $rgname -name $rname -Location $location -IpConfigurations $vnetIpConfig1,$vnetIpConfig2 -GatewayType Vpn -VpnType RouteBased -EnableBgp $false -GatewaySku HighPerformance -ActiveActive $true

# New
# Sample of how the cmdlet should now be called
New-AzureRmVirtualNetworkGateway -ResourceGroupName $rgname -name $rname -Location $location -IpConfigurations $vnetIpConfig1,$vnetIpConfig2 -GatewayType Vpn -VpnType RouteBased -EnableBgp $false -GatewaySku HighPerformance -EnableActiveActiveFeature
```

Set-AzureRmVirtualNetworkGateway
- Description of what has changed ``:- Bool parameter:-ActiveActive`` is removed and 2 ``SwitchParameters:-EnableActiveActiveFeature`` / ``DisableActiveActiveFeature`` are added for enabling and disabling Active-Active feature on virtual network gateway.

```powershell
# Old
# Sample of how the cmdlet was previously called
Set-AzureRmVirtualNetworkGateway -VirtualNetworkGateway $gw -ActiveActive $true
Set-AzureRmVirtualNetworkGateway -VirtualNetworkGateway $gw -ActiveActive $false  

# New
# Sample of how the cmdlet should now be called
Set-AzureRmVirtualNetworkGateway -VirtualNetworkGateway $gw -EnableActiveActiveFeature
Set-AzureRmVirtualNetworkGateway -VirtualNetworkGateway $gw -DisableActiveActiveFeature
```

---

### Documentation Migration Guides Migration Guide.4.0.0 (`documentation/migration-guides/migration-guide.4.0.0.md`)

# Breaking changes for Microsoft Azure PowerShell 4.0.0

This document serves as both a breaking change notification and migration guide for consumers of the Microsoft Azure PowerShell cmdlets. Each section describes both the impetus for the breaking change and the migration path of least resistance. For in-depth context, please refer to the pull request associated with each change.

## Table of Contents

- [Breaking changes to Compute cmdlets](#breaking-changes-to-compute-cmdlets)
- [Breaking changes to EventHub cmdlets](#breaking-changes-to-eventhub-cmdlets)
- [Breaking changes to Insights cmdlets](#breaking-changes-to-insights-cmdlets)
- [Breaking changes to Network cmdlets](#breaking-changes-to-network-cmdlets)
- [Breaking changes to ServiceBus cmdlets](#breaking-changes-to-servicebus-cmdlets)
- [Breaking changes to Sql cmdlets](#breaking-changes-to-sql-cmdlets)
- [Breaking changes to Storage cmdlets](#breaking-changes-to-storage-cmdlets)
- [Breaking Changes to Profile Cmdlets](#breaking-changes-to-profile-cmdlets)
## Breaking changes to Compute cmdlets

The following output types were affected this release:

### PSVirtualMachine
- Top level properties `DataDiskNames` and `NetworkInterfaceIDs` of the `PSVirtualMachine` object have been removed from the output type. These properties have always been available in the `StorageProfile` and `NetworkProfile` properties of the `PSVirtualMachine` object and will be the way they will need to be accessed going forward.
- This change affects the following cmdlets:
    - `Add-AzureRmVMDataDisk`
    - `Add-AzureRmVMNetworkInterface`
    - `Get-AzureRmVM`
    - `Remove-AzureRmVMDataDisk`
    - `Remove-AzureRmVMNetworkInterface`
    - `Set-AzureRmVMDataDisk`

```powershell
# Old
$vm.DataDiskNames
$vm.NetworkInterfaceIDs

# New
$vm.StorageProfile.DataDisks | Select -Property Name
$vm.NetworkProfile.NetworkInterfaces | Select -Property Id
```

## Breaking changes to EventHub cmdlets

The following cmdlets were affected this release:

### Get-AzureRmEventHubNamespace
- The property `ResourceGroupName` has been removed from the output type `NamespaceAttributes`

### New-AzureRmEventHubNamespace
- The property `ResourceGroupName` has been removed from the output type `NamespaceAttributes`

## Breaking changes to Insights cmdlets

The following cmdlets were affected this release:
    
### Get-AzureRmUsage
- This cmdlet has been deprecated.

### Remove-AzureRmAlertRule
- The output of this cmdlet has changed from a list with a single object to a single object; this object includes the requestId, and status code.
    
```powershell
# Old  
$s1 = Remove-AzureRmAlertRule -ResourceGroup $resourceGroup -name chiricutin
if ($s1 -ne $null)
{
    $r = $s1(0).RequestId
    $s = $s1(0).StatusCode
}

# New
$s1 = Remove-AzureRmAlertRule -ResourceGroup $resourceGroup -name chiricutin
$r = $s1.RequestId
$s = $s1.StatusCode
```
    
### Add-AzureRmLogAlertRule
- This cmdlet has been deprecated.
    
### Get-AzureRmAlertRule
- Each element of the output (a list of objects) of this cmdlet is flattened, i.e. instead of returning objects with the structure `{ Id, Location, Name, Tags, Properties }` it will return objects with the structure `{ Id, Location, Name, Tags, Type, Description, IsEnabled, Condition, Actions, LastUpdatedTime, ...}`, which is all of the attributes of an Azure Resource plus all of the attributes of an AlertRuleResource at the top level.
    
```powershell
# Old
$rules = Get-AzureRmAlertRule -ResourceGroup $resourceGroup
if ($rules -and $rules.count -ge 1)
{
    Write-Host -fore red "Error updating alert rule"
      
    Write-Host $rules(0).Id
    Write-Host $rules(0).Properties.IsEnabled
    Write-Host $rules(0).Properties.Condition
}

# New
$rules = Get-AzureRmAlertRule -ResourceGroup $resourceGroup
if ($rules -and $rules.count -ge 1)
{
    Write-Host -fore red "Error updating alert rule"
 
    Write-Host $rules(0).Id
      
    # Properties will remain for a while
    Write-Host $rules(0).Properties.IsEnabled
      
    # But the properties will be at the top level too. Later Properties will be removed
    Write-Host $rules(0).IsEnabled
    Write-Host $rules(0).Condition
}
```
    
### Get-AzureRmAutoscaleSetting
- The `AutoscaleSettingResourceName` field is deprecated since it always has the same value as the `Name` field.

```powershell
# Old  
$s1 = Get-AzureRmAutoscaleSetting -ResourceGroup $resourceGroup -Name MySetting
if ($s1.AutoscaleSettingResourceName -ne $s1.Name)
{
    Write-Host "There is something wrong with the name"
}

# New
$s1 = Get-AzureRmAutoscaleSetting -ResourceGroup $resourceGroup -Name MySetting
    
# There won't be a AutoscaleSettingResourceName
Write-Host $s1.Name
```
    
### Remove-AzureRmLogProfile
- The output of this cmdlet will change from `Boolean` to and object containing `RequestId` and `StatusCode`

```powershell
# Old  
$s1 = Remove-AzureRmLogProfile -Name myLogProfile
if ($s1 -eq $true)
{
    Write-Host "Removed"
}
else
{
    Write-Host "Failed"
}

# New
$s1 = Remove-AzureRmLogProfile -Name myLogProfile
$r = $s1.RequestId
$s = $s1.StatusCode
```
    
### Add-AzureRmLogProfile
- The output of this cmdlet will change from an object that includes the requestId, status code, and the updated or newly created resource
    
```powershell
# Old  
$s1 = Add-AzureRmLogProfile -Name default -StorageAccountId /subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/JohnKemTest/providers/Microsoft.Storage/storageAccounts/johnkemtest8162 -Locations Global -categ Delete, Write, Action -retention 3
$r = $s1.ServiceBusRuleId

# New
$s1 = Add-AzureRmLogProfile -Name default -StorageAccountId /subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/JohnKemTest/providers/Microsoft.Storage/storageAccounts/johnkemtest8162 -Locations Global -categ Delete, Write, Action -retention 3
$r = $s1.RequestId
$s = $s1.StatusCode
$a = $s1.NewResource.ServiceBusRuleId
    
```
    
### Set-AzureRmDiagnosticSettings
- The command is going to be renamed to `Update-AzureRmDiagnosticSettings`

```powershell
# Old
Set-AzureRmDiagnosticSettings

# New
Update-AzureRmDiagnosticSettings
```

## Breaking changes to Network cmdlets

The following cmdlets were affected this release:

### New-AzureRmVirtualNetworkGatewayConnection
- `EnableBgp` parameter has been changed to take a `boolean` instead of a `string`

```powershell
# Old
New-AzureRmVirtualNetworkGatewayConnection -ResourceGroupName "RG" -name "conn1" -VirtualNetworkGateway1 $vnetGateway -LocalNetworkGateway2 $localnetGateway -ConnectionType IPsec -SharedKey "key" -EnableBgp "true"

# New
New-AzureRmVirtualNetworkGatewayConnection -ResourceGroupName "RG" -name "conn1" -VirtualNetworkGateway1 $vnetGateway -LocalNetworkGateway2 $localnetGateway -ConnectionType IPsec -SharedKey "key" -EnableBgp $true
```

## Breaking changes to ServiceBus cmdlets

The following cmdlets were affected this release:

### Get-AzureRmServiceBusNamespace
- The property `ResourceGroupName` has been removed from the output type `NamespaceAttributes`

### New-AzureRmServiceBusNamespace

- The property `ResourceGroupName` has been removed from the output type `NamespaceAttributes`

## Breaking changes to Sql cmdlets

The following cmdlets were affected this release:

### New-AzureRmSqlDatabaseFailoverGroup
- `Tag` parameter has been removed
- `GracePeriodWithDataLossHour` parameter has been renamed to `GracePeriodWithDataLossHours`

```powershell
# Old
New-AzureRmSqlDatabaseFailoverGroup -ResourceGroupName rg -ServerName server1 -FailoverGroupName fg -PartnerServerName server2 -FailoverPolicy Automatic -GracePeriodWithDataLossHour 1 -Tag @{ Environment="Test" }

# New
New-AzureRmSqlDatabaseFailoverGroup -ResourceGroupName rg -ServerName server1 -FailoverGroupName fg -PartnerServerName server2 -FailoverPolicy Automatic -GracePeriodWithDataLossHours 1
```

### Set-AzureRmSqlDatabaseFailoverGroup
- `Tag` parameter has been removed
- `GracePeriodWithDataLossHour` parameter has been renamed to `GracePeriodWithDataLossHours`

```powershell
# Old
Set-AzureRmSqlDatabaseFailoverGroup -ResourceGroupName rg -ServerName server1 -FailoverGroupName fg -FailoverPolicy Automatic -GracePeriodWithDataLossHour 1 -Tag @{ Environment="Test" }

# New
Set-AzureRmSqlDatabaseFailoverGroup -ResourceGroupName rg -ServerName server1 -FailoverGroupName fg -FailoverPolicy Automatic -GracePeriodWithDataLossHours 1
```

### Add-AzureRmSqlDatabaseToFailoverGroup
- `Tag` parameter has been removed

```powershell
# Old
Add-AzureRmSqlDatabaseToFailoverGroup -ResourceGroupName rg -ServerName server1 -FailoverGroupName fg -Database $db1 -Tag @{ Environment="Test" }

# New
Add-AzureRmSqlDatabaseToFailoverGroup -ResourceGroupName rg -ServerName server1 -FailoverGroupName fg -Database $db1
```

###  Remove-AzureRmSqlDatabaseFromFailoverGroup
- `Tag` parameter has been removed

```powershell
# Old
Remove-AzureRmSqlDatabaseFromFailoverGroup -ResourceGroupName rg -ServerName server1 -FailoverGroupName fg -Database $db1 -Tag @{ Environment="Test" }

# New
Remove-AzureRmSqlDatabaseFromFailoverGroup -ResourceGroupName rg -ServerName server1 -FailoverGroupName fg -Database $db1
```

### Remove-AzureRmSqlDatabaseFailoverGroup
- `PartnerResourceGroupName` parameter has been removed
- `PartnerServerName` parameter has been removed

```powershell
# Old
Remove-AzureRmSqlDatabaseFailoverGroup -ResourceGroupName rg -ServerName server1 -FailoverGroupName fg -PartnerServerName server2 -PartnerResourceGroupName rg

# New
Remove-AzureRmSqlDatabaseFailoverGroup -ResourceGroupName rg -ServerName server1 -FailoverGroupName fg
```

### Set-AzureRmSqlDatabaseThreatDetectionPolicy
- The value `Usage_Anomaly` is no longer valid for the parameter `ExcludedDetectionType`

### Set-AzureRmSqlServerThreatDetectionPolicy
- The value `Usage_Anomaly` is no longer valid for the parameter `ExcludedDetectionType`

## Breaking changes to Storage cmdlets

The following output type properties were affected this release:

### AzureStorageBlob.ICloudBlob.ServiceClient
- The following properties were removed from this type (_note_: they can still be found in `DefaultRequestOptions` property):
    - `LocationMode`
    - `MaximumExecutionTime`
    - `ServerTimeout`
    - `ParallelOperationThreadCount`
    - `SingleBlobUploadThresholdInBytes`
- This change affects the following cmdlets:
    - `Get-AzureStorageBlob`
    - `Get-AzureStorageBlobContent`
    - `Get-AzureStorageBlobCopyState`
    - `Set-AzureStorageBlobContent`
    - `Start-AzureStorageBlobCopy`
    - `Stop-AzureStorageBlobCopy`
    
### AzureStorageContainer.CloudBlobContainer.ServiceClient
- The following properties were removed from this type (_note_: they can still be found in the `DefaultRequestOptions` property):
    - `LocationMode`
    - `MaximumExecutionTime`
    - `ServerTimeout`
    - `ParallelOperationThreadCount`
    - `SingleBlobUploadThresholdInBytes`
- This change affects the following cmdlets:
    - `Get-AzureStorageContainer`
    - `New-AzureStorageContainer`
    - `Set-AzureStorageContainerAcl`
    
### AzureStorageQueue.CloudQueue.ServiceClient
- The following properties were removed from this type (_note_: they can still be found in the `DefaultRequestOptions` property):
    - `LocationMode`
    - `MaximumExecutionTime`
    - `RetryPolicy`
    - `ServerTimeout`
- This change affects the following cmdlets:
    - `Get-AzureStorageQueue`
    - `New-AzureStorageQueue`
    
### AzureStorageTable.CloudTable.ServiceClient
- The following properties were removed from this type (_note_: they can still be found in the `DefaultRequestOptions` property):
    - `LocationMode`
    - `MaximumExecutionTime`
    - `PayloadFormat`
    - `RetryPolicy`
    - `ServerTimeout`
- This change affects the following cmdlets:
    - `Get-AzureStorageTable`
    - `New-AzureStorageTable`
    
```powershell
# Old
$LocationMode = (Get-AzureStorageBlob -Container $containername)[0].ICloudBlob.ServiceClient.LocationMode		
$ParallelOperationThreadCount = (Get-AzureStorageContainer -Container $containername).CloudBlobContainer.ServiceClient.ParallelOperationThreadCount
$PayloadFormat = (Get-AzureStorageTable -Name $tablename).CloudTable.ServiceClient.PayloadFormat
$RetryPolicy = (Get-AzureStorageQueue -Name $queuename).CloudQueue.ServiceClient.RetryPolicy

# New
$LocationMode = (Get-AzureStorageBlob -Container $containername)[0].ICloudBlob.ServiceClient.DefaultRequestOptions.LocationMode		
$ParallelOperationThreadCount = (Get-AzureStorageContainer -Container $containername).CloudBlobContainer.ServiceClient.DefaultRequestOptions.ParallelOperationThreadCount
$PayloadFormat = (Get-AzureStorageTable -Name $tablename).CloudTable.ServiceClient.DefaultRequestOptions.PayloadFormat
$RetryPolicy = (Get-AzureStorageQueue -Name $queuename).CloudQueue.ServiceClient.DefaultRequestOptions.RetryPolicy
```

## Breaking Changes to Profile Cmdlets

The following cmdlets and cmdlet output types were changed in this release.

### Add-AzureRmAccount breaking changes

- ```EnvironmentName``` parameter has been removed and replaced with ```Environment```, the ```Environment``` now takes a string and not an ```AzureEnvironment``` object

```powershell
# Old
Add-AzureRmAccount -EnvironmentName AzureChinaCloud

# New
Add-AzureRmAccount -Environment AzureChinaCloud
```

### Select-AzureRmProfile was renamed to Import-AzureRmContext

```Select-AzureRmProfile``` was renamed to ```Import-AzureRmContext```

```powershell
# Old
Select-AzureRmProfile -Path c:\mydir\myprofile.json

# New
Import-AzureRmContext -Path c:\mydir\myprofile.json
```

### Save-AzureRmProfile was renamed to Save-AzureRmContext

```Save-AzureRmProfile``` was renamed to ```Save-AzureRmContext```

```powershell
# Old
Save-AzureRmProfile -Path c:\mydir\myprofile.json

# New
Save-AzureRmContext -Path c:\mydir\myprofile.json
```
### Breaking Changes to output PSAzureContext Type

- The ```TokenCache``` property changed to a type that implements ```IAzureTokenCache``` instead of a ```byte[]```

```powershell
# Old
$bytes = (Get-AzureRmContext).TokenCache
$bytes = (Set-AzureRmContext -SubscriptionId xxx-xxx-xxx-xxx).TokenCache
$bytes = (Add-AzureRmAccount).Context.TokenCache

# New
$bytes = (Get-AzureRmContext).TokenCache.CacheData
$bytes = (Set-AzureRmContext -SubscriptionId xxx-xxx-xxx-xxx).TokenCache.CacheData
$bytes = (Add-AzureRmAccount).Context.TokenCache.CacheData
```

### Breaking Changes to the output PSAzureAccount Type

- The ```AccountType``` property was changed to ```Type```

```powershell
# Old
$type = (Get-AzureRmContext).Account.AccountType
$type = (Set-AzureRmContext -SubscriptionId xxx-xxx-xxx-xxx).Account.AccountType
$type = (Add-AzureRmAccount).Context.Account.AccountType

# New 
$type = (Get-AzureRmContext).Account.Type
$type = (Set-AzureRmContext -SubscriptionId xxx-xxx-xxx-xxx).Account.Type
$type = (Add-AzureRmAccount).Context.Account.Type
```

### Breaking Changes to the output PSAzureSubscription Type
- The ```SubscriptionId``` property was changed to ```Id```

```powershell
# Old
$id =(Get-AzureRmSubscription -SubscriptionId xxxx-xxxx-xxxx-xxxx).SubscriptionId
$id =(Add-AzureRmAccount -SubscriptionId xxxx-xxxx-xxxx-xxxx).Context.Subscription.SubscriptionId
$id =(Get-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Subscription.SubscriptionId
$id =(Set-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Subscription.SubscriptionId

# New
$id =(Get-AzureRmSubscription -SubscriptionId xxxx-xxxx-xxxx-xxxx).Id
$id =(Add-AzureRmAccount -SubscriptionId xxxx-xxxx-xxxx-xxxx).Context.Subscription.Id
$id =(Get-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Subscription.Id
$id =(Set-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Subscription.Id
```

- The ```SubscriptionName``` property was changed to ```Name```

```powershell
# Old
$name =(Get-AzureRmSubscription -SubscriptionId xxxx-xxxx-xxxx-xxxx).SubscriptionName
$name =(Add-AzureRmAccount -SubscriptionId xxxx-xxxx-xxxx-xxxx).Context.Subscription.SubscriptionName
$name =(Get-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Subscription.SubscriptionName
$name =(Set-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Subscription.SubscriptionName

# New
$name =(Get-AzureRmSubscription -SubscriptionId xxxx-xxxx-xxxx-xxxx).Name
$name =(Add-AzureRmAccount -SubscriptionId xxxx-xxxx-xxxx-xxxx).Context.Subscription.Name
$name =(Get-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Subscription.Name
$name =(Set-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Subscription.Name
```

### Breaking Changes to the output PSAzureTenant Type

- The ```TenantId``` property was changed to ```Id```

```powershell
# Old
$id =(Get-AzureRmTenant -TenantId xxxx-xxxx-xxxx-xxxx).TenantId
$id =(Add-AzureRmAccount -SubscriptionId xxxx-xxxx-xxxx-xxxx).Context.Tenant.TenantId
$id =(Get-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Tenant.TenantId
$id =(Set-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Tenant.TenantId

# New
$id =(Get-AzureRmTenant -TenantId xxxx-xxxx-xxxx-xxxx).Id
$id =(Add-AzureRmAccount -SubscriptionId xxxx-xxxx-xxxx-xxxx).Context.Tenant.Id
$id =(Get-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Tenant.Id
$id =(Set-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Tenant.Id
```

- The ```Domain``` property was changed to ```Directory```

```powershell
# Old
$tenantName =(Get-AzureRmTenant -TenantId xxxx-xxxx-xxxx-xxxx).Domain

# New
$tenantName =(Get-AzureRmTenant -TenantId xxxx-xxxx-xxxx-xxxx).Directory
```

---

### Documentation Migration Guides Migration Guide.5.0.0 (`documentation/migration-guides/migration-guide.5.0.0.md`)

# Breaking changes for Microsoft Azure PowerShell 5.0.0

This document serves as both a breaking change notification and migration guide for consumers of the Microsoft Azure PowerShell cmdlets. Each section describes both the impetus for the breaking change and the migration path of least resistance. For in-depth context, please refer to the pull request associated with each change.

## Table of Contents

- [Breaking changes to ApiManagement cmdlets](#breaking-changes-to-apimanagement-cmdlets)
- [Breaking changes to Batch cmdlets](#breaking-changes-to-batch-cmdlets)
- [Breaking changes to Compute cmdlets](#breaking-changes-to-compute-cmdlets)
- [Breaking changes to EventHub cmdlets](#breaking-changes-to-eventhub-cmdlets)
- [Breaking changes to Insights cmdlets](#breaking-changes-to-insights-cmdlets)
- [Breaking changes to Network cmdlets](#breaking-changes-to-network-cmdlets)
- [Breaking changes to Resources cmdlets](#breaking-changes-to-resources-cmdlets)
- [Breaking Changes to ServiceBus Cmdlets](#breaking-changes-to-servicebus-cmdlets)

## Breaking changes to ApiManagement cmdlets

### **New-AzureRmApiManagementBackendProxy**
- Parameters "UserName" and "Password" are being replaced in favor of a PSCredential

```powershell
# Old
New-AzureRmApiManagementBackendProxy [other required parameters] -UserName "plain-text string" -Password "plain-text string"

# New
New-AzureRmApiManagementBackendProxy [other required parameters] -Credential $PSCredentialVariable
```

### **New-AzureRmApiManagementUser**
- Parameter "Password" being replaced in favor of a SecureString

```powershell
# Old
New-AzureRmApiManagementUser [other required parameters] -Password "plain-text string"

# New
New-AzureRmApiManagementUser [other required parameters] -Password $SecureStringVariable
```

### **Set-AzureRmApiManagementUser**
- Parameter "Password" being replaced in favor of a SecureString

```powershell
# Old
Set-AzureRmApiManagementUser [other required parameters] -Password "plain-text string"

# New
Set-AzureRmApiManagementUser [other required parameters] -Password $SecureStringVariable
```

## Breaking changes to Batch cmdlets

### **New-AzureBatchCertificate**
- Parameter `Password` being replaced in favor of a Secure string

```powershell
# Old
New-AzureBatchCertificate [other required parameters] -Password "plain-text string"

# New
New-AzureBatchCertificate [other required parameters] -Password $SecureStringVariable
```

### **New-AzureBatchComputeNodeUser**
- Parameter `Password` being replaced in favor of a Secure string

```powershell
# Old
New-AzureBatchComputeNodeUser [other required parameters] -Password "plain-text string"

# New
New-AzureBatchComputeNodeUser [other required parameters] -Password $SecureStringVariable
```

### **Set-AzureRmBatchComputeNodeUser**
- Parameter `Password` being replaced in favor of a Secure string

```powershell
# Old
Set-AzureRmBatchComputeNodeUser [other required parameters] -Password "plain-text string"

# New
Set-AzureRmBatchComputeNodeUser [other required parameters] -Password $SecureStringVariable
```

### **New-AzureBatchTask**
 - Removed the `RunElevated` switch and replaced it with `UserIdentity`.

```powershell
# Old
New-AzureBatchTask -Id $taskId1 -JobId $jobId -CommandLine "cmd /c echo hello" -RunElevated $TRUE

# New
$autoUser = New-Object Microsoft.Azure.Commands.Batch.Models.PSAutoUserSpecification -ArgumentList @("Task", "Admin")
$userIdentity = New-Object Microsoft.Azure.Commands.Batch.Models.PSUserIdentity $autoUser
New-AzureBatchTask -Id $taskId1 -JobId $jobId -CommandLine "cmd /c echo hello" -UserIdentity $userIdentity
```

This additionally impacts the `RunElevated` property on `PSCloudTask`, `PSStartTask`, `PSJobManagerTask`, `PSJobPreparationTask`, and `PSJobReleaseTask`.

### **PSMultiInstanceSettings**

- `PSMultiInstanceSettings` constructor no longer takes a required `numberOfInstances` parameter, instead it takes a required `coordinationCommandLine` parameter.

```powershell
# Old
$settings = New-Object Microsoft.Azure.Commands.Batch.Models.PSMultiInstanceSettings -ArgumentList @(2)
$settings.CoordinationCommandLine = "cmd /c echo hello"
New-AzureBatchTask [other parameters] -MultiInstanceSettings $settings

# New
$settings = New-Object Microsoft.Azure.Commands.Batch.Models.PSMultiInstanceSettings -ArgumentList @("cmd /c echo hello", 2)
New-AzureBatchTask [other parameters] -MultiInstanceSettings $settings
```

### **Get-AzureBatchTask**
 - Removed the `RunElevated` property on `PSCloudTask`. The `UserIdentity` property has been added to replace `RunElevated`.

```powershell
# Old
$task = Get-AzureBatchTask [parameters]
$task.RunElevated

# New
$task = Get-AzureBatchTask [parameters]
$task.UserIdentity.AutoUser.ElevationLevel
```

This additionally impacts the `RunElevated` property on `PSCloudTask`, `PSStartTask`, `PSJobManagerTask`, `PSJobPreparationTask`, and `PSJobReleaseTask`.

### **Multiple types**

- Renamed the `SchedulingError` property on `PSExitConditions` to `PreProcessingError`.

```powershell
# Old
$task = Get-AzureBatchTask [parameters]
$task.ExitConditions.SchedulingError

# New
$task = Get-AzureBatchTask [parameters]
$task.ExitConditions.PreProcessingError
```

### **Multiple types**

- Renamed the `SchedulingError` property on `PSJobPreparationTaskExecutionInformation`, `PSJobReleaseTaskExecutionInformation`, `PSStartTaskInformation`, `PSSubtaskInformation`, and `PSTaskExecutionInformation` to `FailureInformation`.
  - `FailureInformation` is returned any time there is a task failure. This includes all previous scheduling error cases, as well as nonzero task exit codes, and file upload failures from the new output files feature.
  - This is structured the same as before, so no code change is needed when using this type.

```powershell
# Old
$task = Get-AzureBatchTask [parameters]
$task.ExecutionInformation.SchedulingError

# New
$task = Get-AzureBatchTask [parameters]
$task.ExecutionInformation.FailureInformation
```

This additionally impacts: Get-AzureBatchPool, Get-AzureBatchSubtask, and Get-AzureBatchJobPreparationAndReleaseTaskStatus

### **New-AzureBatchPool**
 - Removed `TargetDedicated` and replaced it with `TargetDedicatedComputeNodes` and `TargetLowPriorityComputeNodes`.
 - `TargetDedicatedComputeNodes` has an alias `TargetDedicated`.

```powershell
# Old
New-AzureBatchPool [other parameters] [-TargetDedicated <Int32>]

# New
New-AzureBatchPool [other parameters] [-TargetDedicatedComputeNodes <Int32>] [-TargetLowPriorityComputeNodes <Int32>]
```

This also impacts: Start-AzureBatchPoolResize

### **Get-AzureBatchPool**
 - Renamed the `TargetDedicated` and `CurrentDedicated` properties on `PSCloudPool` to `TargetDedicatedComputeNodes` and `CurrentDedicatedComputeNodes`.

```powershell
# Old
$pool = Get-AzureBatchPool [parameters]
$pool.TargetDedicated
$pool.CurrentDedicated

# New
$pool = Get-AzureBatchPool [parameters]
$pool.TargetDedicatedComputeNodes
$pool.CurrentDedicatedComputeNodes
```

### **Type PSCloudPool**

- Renamed `ResizeError` to `ResizeErrors` on `PSCloudPool`, and it is now a collection.

```powershell
# Old
$pool = Get-AzureBatchPool [parameters]
$pool.ResizeError

# New
$pool = Get-AzureBatchPool [parameters]
$pool.ResizeErrors[0]
```

### **New-AzureBatchJob**
- Renamed the `TargetDedicated` property on `PSPoolSpecification` to `TargetDedicatedComputeNodes`.

```powershell
# Old
$poolInfo = New-Object Microsoft.Azure.Commands.Batch.Models.PSPoolInformation
$poolInfo.AutoPoolSpecification = New-Object Microsoft.Azure.Commands.Batch.Models.PSAutoPoolSpecification
$poolInfo.AutoPoolSpecification.PoolSpecification = New-Object Microsoft.Azure.Commands.Batch.Models.PSPoolSpecification
$poolInfo.AutoPoolSpecification.PoolSpecification.TargetDedicated = 5
New-AzureBatchJob [other parameters] -PoolInformation $poolInfo

# New
$poolInfo = New-Object Microsoft.Azure.Commands.Batch.Models.PSPoolInformation
$poolInfo.AutoPoolSpecification = New-Object Microsoft.Azure.Commands.Batch.Models.PSAutoPoolSpecification
$poolInfo.AutoPoolSpecification.PoolSpecification = New-Object Microsoft.Azure.Commands.Batch.Models.PSPoolSpecification
$poolInfo.AutoPoolSpecification.PoolSpecification.TargetDedicatedComputeNodes = 5
New-AzureBatchJob [other parameters] -PoolInformation $poolInfo
```

### **Get-AzureBatchNodeFile**
 - Removed `Name` and replaced it with `Path`.
 - `Path` has an alias `Name`.

```powershell
# Old
Get-AzureBatchNodeFile [other parameters] [[-Name] <String>]

# New
Get-AzureBatchNodeFile [other parameters] [[-Path] <String>]
```

This also impacts: Get-AzureBatchNodeFileContent, Remove-AzureBatchNodeFile

### Type **PSNodeFile**

 - Renamed the `Name` property on `PSNodeFile` to `Path`.

```powershell
# Old
$file = Get-AzureBatchNodeFile [parameters]
$file.Name

# New
$file = Get-AzureBatchNodeFile [parameters]
$file.Path
```

### **Get-AzureBatchSubtask**
- The `PreviousState` and `State` properties of `PSSubtaskInformation` are no longer of type `TaskState`, instead they are of type `SubtaskState`.
  - Unlike `TaskState`, `SubtaskState` has no `Active` value, since it is not possible for subtasks to be in an `Active` state.

```powershell
# Old
$subtask = Get-AzureBatchSubtask [parameters]
if ($subtask.State -eq Microsoft.Azure.Batch.Common.TaskState.Running) { }

# New
$subtask = Get-AzureBatchSubtask [parameters]
if ($subtask.State -eq Microsoft.Azure.Batch.Common.SubtaskState.Running) { }
```

## Breaking changes to Compute cmdlets

### **Set-AzureRmVMAccessExtension**
- Parameters "UserName" and "Password" are being replaced in favor of a PSCredential

```powershell
# Old
Set-AzureRmVMAccessExtension [other required parameters] -UserName "plain-text string" -Password "plain-text string"

# New
Set-AzureRmVMAccessExtension [other required parameters] -Credential $PSCredential
```

## Breaking changes to EventHub cmdlets

### **New-AzureRmEventHubNamespaceAuthorizationRule**
- The 'New-AzureRmEventHubNamespaceAuthorizationRule' cmdlet has been removed. Please use the 'New-AzureRmEventHubAuthorizationRule' cmdlet
	
### **Get-AzureRmEventHubNamespaceAuthorizationRule**
- The 'Get-AzureRmEventHubNamespaceAuthorizationRule' cmdlet has been removed. Please use the 'Get-AzureRmEventHubAuthorizationRule' cmdlet
	
### **Set-AzureRmEventHubNamespaceAuthorizationRule**
- The 'Set-AzureRmEventHubNamespaceAuthorizationRule' cmdlet has been removed. Please use the 'Set-AzureRmEventHubAuthorizationRule' cmdlet
	
### **Remove-AzureRmEventHubNamespaceAuthorizationRule**
- The 'Remove-AzureRmEventHubNamespaceAuthorizationRule' cmdlet has been removed. Please use the 'Remove-AzureRmEventHubAuthorizationRule' cmdlet
	
### **New-AzureRmEventHubNamespaceKey**
- The 'New-AzureRmEventHubNamespaceKey' cmdlet has been removed. Please use the 'New-AzureRmEventHubKey' cmdlet
	
### **Get-AzureRmEventHubNamespaceKey**
- The 'Get-AzureRmEventHubNamespaceKey' cmdlet has been removed. Please use the 'Get-AzureRmEventHubKey' cmdlet
	
### **New-AzureRmEventHubNamespace**
- The property 'Status' and 'Enabled' from the NamespaceAttributes will be removed. 

```powershell
# Old
# The $namespace has Status and Enabled property  
$namespace = New-AzureRmEventHubNamespace <parameters>
$namespace.Status
$namespace.Enabled

# New
# The call remains the same, but the returned values NameSpace object will not have the Status and Enabled property    
$namespace = Get-AzureRmEventHubNamespace <parameters>
```
	
### **Get-AzureRmEventHubNamespace**
- The property 'Status' and 'Enabled' from the NamespaceAttributes will be removed. 

```powershell
# Old
# The $namespace has Status and Enabled property 
$namespace = Get-AzureRmEventHubNamespace <parameters>
$namespace.Status
$namespace.Enabled

# New
# The call remains the same, but the returned values NameSpace object will not have the Status and Enabled property    
$namespace = Get-AzureRmEventHubNamespace <parameters>
```
	
### **Set-AzureRmEventHubNamespace**
- The property 'Status' and 'Enabled' from the NamespaceAttributes will be removed. 

```powershell
# Old
# The $namespace has Status and Enabled property 
$namespace = Set-AzureRmEventHubNamespace <parameters>
$namespace.Status
$namespace.Enabled

# New
# The call remains the same, but the returned values NameSpace object will not have the Status and Enabled property    
$namespace = Set-AzureRmEventHubNamespace <parameters>
```	
  
### **New-AzureRmEventHubConsumerGroup**
- The property 'EventHubPath' from the ConsumerGroupAttributes will be removed.

```powershell
# Old
# The $consumergroup has EventHubPath property 
$consumergroup = New-AzureRmEventHubConsumerGroup <parameters>
$consumergroup.EventHubPath

# New
# The call remains the same, but the returned values ConsumerGroup object will not have the EventHubPath property    
$consumergroup = New-AzureRmEventHubConsumerGroup <parameters>
```
	
### **Set-AzureRmEventHubConsumerGroup**
- The property 'EventHubPath' from the ConsumerGroupAttributes will be removed.

```powershell
# Old
# The $consumergroup has EventHubPath property 
$consumergroup = Set-AzureRmEventHubConsumerGroup <parameters>
$consumergroup.EventHubPath

# New
# The call remains the same, but the returned values ConsumerGroup object will not have the EventHubPath property    
$consumergroup = Set-AzureRmEventHubConsumerGroup <parameters>
```
	
### **Get-AzureRmEventHubConsumerGroup**
- The property 'EventHubPath' from the ConsumerGroupAttributes will be removed.

```powershell
# Old
# The $consumergroup has EventHubPath property 
$consumergroup = Get-AzureRmEventHubConsumerGroup <parameters>
$consumergroup.EventHubPath

# New
# The call remains the same, but the returned values ConsumerGroup object will not have the EventHubPath property    
$consumergroup = Get-AzureRmEventHubConsumerGroup <parameters>
```

## Breaking changes to Insights cmdlets

### **Add-AzureRMLogAlertRule**
- The **Add-AzureRMLogAlertRule** cmdlet has been deprecated
- After October 1st using this cmdlet will no longer have any effect as this functionality is being transitioned to Activity Log Alerts. Please see https://aka.ms/migratemealerts for more information.

### **Get-AzureRMUsage**
- The **Get-AzureRMUsage** cmdlet has been deprecated

### **Get-AzureRmAlertHistory** / **Get-AzureRmAutoscaleHistory** / **Get-AzureRmLogs**
- Output change: The field EventChannels from the EventData object (returned by these cmdlets) is being deprecated since it now returns a constant value (Admin,Operation.)

### **Get-AzureRmAlertRule**
- Output change: The output of this cmdlet will be flattened, i.e. elimination of the properties field, to improve the user experience.

```powershell
# Old
$rules = Get-AzureRmAlertRule -ResourceGroup $resourceGroup
if ($rules -and $rules.count -ge 1)
{
	Write-Host -Foreground Red "Error updating alert rule"
	Write-Host $rules[0].Id
	Write-Host $rules[0].Properties.IsEnabled
	Write-Host $rules[0].Properties.Condition
}

# New
$rules = Get-AzureRmAlertRule -ResourceGroup $resourceGroup
if ($rules -and $rules.count -ge 1)
{
	Write-Host -Foreground red "Error updating alert rule"
	Write-Host $rules[0].Id

	# Properties will remain for a while
	Write-Host $rules[0].Properties.IsEnabled
      
	# But the properties will be at the top level too. Later Properties will be removed
	Write-Host $rules[0].IsEnabled
	Write-Host $rules[0].Condition
}
```

### **Get-AzureRmAutoscaleSetting**
- Output change: The AutoscaleSettingResourceName field will be deprecated since it always equals the Name field.

```powershell
# Old
$s1 = Get-AzureRmAutoscaleSetting -ResourceGroup $resourceGroup -Name MySetting
if ($s1.AutoscaleSettingResourceName -ne $s1.Name)
{
	Write-Host "There is something wrong with the name"
}

# New
$s1 = Get-AzureRmAutoscaleSetting -ResourceGroup $resourceGroup -Name MySetting
    
# there won't be a AutoscaleSettingResourceName
Write-Host $s1.Name    
```

### **Remove-AzureRmAlertRule** / **Remove-AzureRmLogProfile**
- Output change: The type of the output will change to return a single object containing the request Id and the status code.

```powershell
# Old
$s1 = Remove-AzureRmAlertRule -ResourceGroup $resourceGroup -name $ruleName
if ($s1 -ne $null)
{
	$r = $s1[0].RequestId
	$s = $s1[0].StatusCode
}

# New
$s1 = Remove-AzureRmAlertRule -ResourceGroup $resourceGroup -name $ruleName
$r = $s1.RequestId
$s = $s1.StatusCode
```

## Breaking changes to Network cmdlets

### **Add-AzureRmApplicationGatewaySslCertificate**
- Parameter "Password" being replaced in favor of a SecureString

```powershell
# Old
Add-AzureRmApplicationGatewaySslCertificate [other required parameters] -Password "plain-text string"

# New
Add-AzureRmApplicationGatewaySslCertificate [other required parameters] -Password $SecureStringVariable
```

### **New-AzureRmApplicationGatewaySslCertificate**
- Parameter "Password" being replaced in favor of a SecureString

```powershell
# Old
New-AzureRmApplicationGatewaySslCertificate [other required parameters] -Password "plain-text string"

# New
New-AzureRmApplicationGatewaySslCertificate [other required parameters] -Password $SecureStringVariable
```

### **Set-AzureRmApplicationGatewaySslCertificate**
- Parameter "Password" being replaced in favor of a SecureString

```powershell
# Old
Set-AzureRmApplicationGatewaySslCertificate [other required parameters] -Password "plain-text string"

# New
Set-AzureRmApplicationGatewaySslCertificate [other required parameters] -Password $SecureStringVariable
```

## Breaking changes to Resources cmdlets

### **New-AzureRmADAppCredential**
- Parameter "Password" being replaced in favor of a SecureString

```powershell
# Old
New-AzureRmADAppCredential [other required parameters] -Password "plain-text string"

# New
New-AzureRmADAppCredential [other required parameters] -Password $SecureStringVariable
```

### **New-AzureRmADApplication**
- Parameter "Password" being replaced in favor of a SecureString

```powershell
# Old
New-AzureRmADApplication [other required parameters] -Password "plain-text string"

# New
New-AzureRmADApplication [other required parameters] -Password $SecureStringVariable
```

### **New-AzureRmADServicePrincipal**
- Parameter "Password" being replaced in favor of a SecureString

```powershell
# Old
New-AzureRmADServicePrincipal [other required parameters] -Password "plain-text string"

# New
New-AzureRmADServicePrincipal [other required parameters] -Password $SecureStringVariable
```

### **New-AzureRmADSpCredential**
- Parameter "Password" being replaced in favor of a SecureString

```powershell
# Old
New-AzureRmADSpCredential [other required parameters] -Password "plain-text string"

# New
New-AzureRmADSpCredential [other required parameters] -Password $SecureStringVariable
```

### **New-AzureRmADUser**
- Parameter "Password" being replaced in favor of a SecureString

```powershell
# Old
New-AzureRmADUser [other required parameters] -Password "plain-text string"

# New
New-AzureRmADUser [other required parameters] -Password $SecureStringVariable
```

### **Set-AzureRmADUser**
- Parameter "Password" being replaced in favor of a SecureString

```powershell
# Old
Set-AzureRmADUser [other required parameters] -Password "plain-text string"

# New
Set-AzureRmADUser [other required parameters] -Password $SecureStringVariable
```

## Breaking changes to ServiceBus cmdlets

### **Get-AzureRmServiceBusTopicAuthorizationRule**
- The 'Get-AzureRmServiceBusTopicAuthorizationRule' cmdlet has been removed. Please use the 'Get-AzureRmServiceBusAuthorizationRule' cmdlet.	

### **Get-AzureRmServiceBusTopicKey**
- The 'Get-AzureRmServiceBusTopicKey' cmdlet has been removed. Please use the 'Get-AzureRmServiceBusKey' cmdlet.

### **New-AzureRmServiceBusTopicAuthorizationRule**
- The 'New-AzureRmServiceBusTopicAuthorizationRule' cmdlet has been removed. Please use the 'New-AzureRmServiceBusAuthorizationRule' cmdlet.

### **New-AzureRmServiceBusTopicKey**
- The 'New-AzureRmServiceBusTopicKey' cmdlet has been removed. Please use the 'New-AzureRmServiceBusKey' cmdlet.

### **Remove-AzureRmServiceBusTopicAuthorizationRule**
- The 'Remove-AzureRmServiceBusTopicAuthorizationRule' cmdlet has been removed. Please use the 'Remove-AzureRmServiceBusAuthorizationRule' cmdlet.

### **Set-AzureRmServiceBusTopicAuthorizationRule**
- The 'Set-AzureRmServiceBusTopicAuthorizationRule' cmdlet has been removed. Please use the 'Set-AzureRmServiceBusAuthorizationRule' cmdlet.

### **New-AzureRmServiceBusNamespaceKey**
- The 'New-AzureRmServiceBusNamespaceKey' cmdlet has been removed. Please use the 'New-AzureRmServiceBusKey' cmdlet.

### **Get-AzureRmServiceBusQueueAuthorizationRule**
- The 'Get-AzureRmServiceBusQueueAuthorizationRule' cmdlet has been removed. Please use the 'Get-AzureRmServiceBusAuthorizationRule' cmdlet.

### **Get-AzureRmServiceBusQueueKey**
- The 'Get-AzureRmServiceBusQueueKey' cmdlet has been removed. Please use the 'Get-AzureRmServiceBusKey' cmdlet.

### **New-AzureRmServiceBusQueueAuthorizationRule**
- The 'New-AzureRmServiceBusQueueAuthorizationRule' cmdlet has been removed. Please use the 'New-AzureRmServiceBusAuthorizationRule' cmdlet.

### **New-AzureRmServiceBusQueueKey**
- The 'New-AzureRmServiceBusQueueKey' cmdlet has been removed. Please use the 'New-AzureRmServiceBusKey' cmdlet.

### **Remove-AzureRmServiceBusQueueAuthorizationRule**
- The 'Remove-AzureRmServiceBusQueueAuthorizationRule' cmdlet has been removed. Please use the 'GRemove-AzureRmServiceBusAuthorizationRule' cmdlet.

### **Set-AzureRmServiceBusQueueAuthorizationRule**
- The 'Set-AzureRmServiceBusQueueAuthorizationRule' cmdlet has been removed. Please use the 'Set-AzureRmServiceBusAuthorizationRule' cmdlet.

### **Get-AzureRmServiceBusNamespaceAuthorizationRule**
- The 'Get-AzureRmServiceBusNamespaceAuthorizationRule' cmdlet has been removed. Please use the 'Get-AzureRmServiceBusAuthorizationRule' cmdlet.

### **Get-AzureRmServiceBusNamespaceKey**
- The 'Get-AzureRmServiceBusNamespaceKey' cmdlet has been removed. Please use the 'Get-AzureRmServiceBusKey' cmdlet.

### **New-AzureRmServiceBusNamespaceAuthorizationRule**
- The 'New-AzureRmServiceBusNamespaceAuthorizationRule' cmdlet has been removed. Please use the 'New-AzureRmServiceBusAuthorizationRule' cmdlet.

### **Remove-AzureRmServiceBusNamespaceAuthorizationRule**
- The 'Remove-AzureRmServiceBusNamespaceAuthorizationRule' cmdlet has been removed. Please use the 'Remove-AzureRmServiceBusAuthorizationRule' cmdlet.

### **Set-AzureRmServiceBusNamespaceAuthorizationRule**
- The 'Set-AzureRmServiceBusNamespaceAuthorizationRule' cmdlet has been removed. Please use the 'Set-AzureRmServiceBusAuthorizationRule' cmdlet.

### **Type NamespaceAttributes**
- The following properties have been removed
    - Enabled
    - Status
   
```powershell
# Old
# The $namespace has Status and Enabled property 
$namespace = Get-AzureRmServiceBusNamespace <parameters>
$namespace.Status
$namespace.Enabled

# New
# The call remains the same, but the returned values NameSpace object will not have the Enabled and Status properties    
$namespace = Get-AzureRmServiceBusNamespace <parameters>
```

### **Type QueueAttribute**
- The following properties are marked as obsolete:
    - EnableBatchedOperations
    - EntityAvailabilityStatus
    - IsAnonymousAccessible
    - SupportOrdering

```powershell
# Old
# The $queue has EntityAvailabilityStatus, EnableBatchedOperations, IsAnonymousAccessible and SupportOrdering properties
$queue = Get-AzureRmServiceBusQueue <parameters>
$queue.EntityAvailabilityStatus
$queue.EnableBatchedOperations
$queue.IsAnonymousAccessible
$queue.SupportOrdering	

# New
# The call remains the same, but the returned values Queue object will not have the EntityAvailabilityStatus, EnableBatchedOperations, IsAnonymousAccessible and SupportOrdering properties    
$queue = Get-AzureRmServiceBusQueue <parameters>
```
   
### **Type TopicAttribute**
- The following properties are marked as obsolete:
    - Location
    - IsExpress
    - IsAnonymousAccessible
    - FilteringMessagesBeforePublishing
    - EnableSubscriptionPartitioning
    - EntityAvailabilityStatus

```powershell
# Old
# The $topic has EntityAvailabilityStatus, EnableSubscriptionPartitioning, IsAnonymousAccessible, IsExpress, Location and FilteringMessagesBeforePublishing properties
$topic = Get-AzureRmServiceBusTopic <parameters>
$topic.EntityAvailabilityStatus
$topic.EnableSubscriptionPartitioning
$topic.IsAnonymousAccessible
$topic.IsExpress
$topic.FilteringMessagesBeforePublishing
$topic.Location

# New
# The call remains the same, but the returned values Topic object will not have the EntityAvailabilityStatus, EnableBatchedOperations, IsAnonymousAccessible and SupportOrdering properties    
$topic = Get-AzureRmServiceBusTopic <parameters>
```
   
### **Type SubscriptionAttribute**
- The following properties are marked as obsolete
    - DeadLetteringOnFilterEvaluationExceptions
    - EntityAvailabilityStatus
    - IsReadOnly
    - Location
   
```powershell
# Old
# The $subscription has EntityAvailabilityStatus, EnableSubscriptionPartitioning, IsAnonymousAccessible, IsExpress, Location and FilteringMessagesBeforePublishing properties
$subscription = Get-AzureRmServiceBusSubscription <parameters>
$subscription.EntityAvailabilityStatus
$subscription.EnableSubscriptionPartitioning
$subscription.IsAnonymousAccessible
$subscription.IsExpress
$subscription.FilteringMessagesBeforePublishing
$subscription.Location

# New
# The call remains the same, but the returned values Topic object will not have the EntityAvailabilityStatus, EnableBatchedOperations, IsAnonymousAccessible and SupportOrdering properties    
$subscription = Get-AzureRmServiceBusSubscription <parameters>
```

---

### Documentation Migration Guides Migration Guide.6.0.0 (`documentation/migration-guides/migration-guide.6.0.0.md`)

# Breaking changes for Microsoft Azure PowerShell 6.0.0

This document serves as both a breaking change notification and migration guide for consumers of the Microsoft Azure PowerShell cmdlets. Each section describes both the impetus for the breaking change and the migration path of least resistance. For in-depth context, please refer to the pull request associated with each change.

## Table of Contents

- [General breaking changes](#general-breaking-changes)
    - [Minimum PowerShell version required bumped to 5.0](#minimum-powershell-version-required-bumped-to-50)
    - [Context autosaved enabled by default](#context-autosaved-enabled-by-default)
    - [Removal of Tags alias](#removal-of-tags-alias)
- [Breaking changes to AzureRM.Compute cmdlets](#breaking-changes-to-azurermcompute-cmdlets)
- [Breaking changes to AzureRM.DataLakeStore cmdlets](#breaking-changes-to-azurermdatalakestore-cmdlets)
- [Breaking changes to AzureRM.Dns cmdlets](#breaking-changes-to-azurermdns-cmdlets)
- [Breaking changes to AzureRM.Insights cmdlets](#breaking-changes-to-azurerminsights-cmdlets)
- [Breaking changes to AzureRM.KeyVault cmdlets](#breaking-changes-to-azurermkeyvault-cmdlets)
- [Breaking changes to AzureRM.Network cmdlets](#breaking-changes-to-azurermnetwork-cmdlets)
- [Breaking changes to AzureRM.RedisCache cmdlets](#breaking-changes-to-azurermrediscache-cmdlets)
- [Breaking changes to AzureRM.Resources cmdlets](#breaking-changes-to-azurermresources-cmdlets)
- [Breaking changes to AzureRM.Storage cmdlets](#breaking-changes-to-azurermstorage-cmdlets)
- [Removed modules](#removed-modules)
    - [`AzureRM.ServerManagement`](#azurermservermanagement)
    - [`AzureRM.SiteRecovery`](#azurermsiterecovery)

## General breaking changes

### Minimum PowerShell version required bumped to 5.0

Previously, Azure PowerShell required _at least_ version 3.0 of PowerShell to run any cmdlet. Moving forward, this requirement will be raised to version 5.0 of PowerShell. For information on upgrading to PowerShell 5.0, please see [this table](https://learn.microsoft.com/en-us/powershell/scripting/setup/installing-windows-powershell?view=powershell-6#upgrading-existing-windows-powershell).

### Context autosave enabled by default

Context autosave is the storage of Azure login information that can be used between new and different PowerShell sessions. For more information on context autosave, please see [this document](https://learn.microsoft.com/en-us/powershell/azure/context-persistence).

Previously by default, context autosave was disabled, which meant the user's Azure login information was not stored between sessions until they ran the `Enable-AzureRmContextAutosave` cmdlet to turn on context persistence. Moving forward, context autosave will be enabled by default, which means that users _with no saved context autosave settings_ will have their context stored the next time they login. Users can opt out of this functionality by using the `Disable-AzureRmContextAutosave` cmdlet.

_Note_: users that previously disabled context autosave or users with context autosave enabled and existing contexts will not be affected by this change

### Removal of Tags alias

The alias `Tags` for the `Tag` parameter has been removed across numerous cmdlets. Below is a list of modules (and the corresponding cmdlets) affected by this:

#### `AzureRM.ApiManagement`

- `New-AzureRmApiManagement`
- `New-AzureRmApiManagementProperty`
- `Set-AzureRmApiManagementProperty`

#### `AzureRM.Automation`
- `Set-AzureRmAutomationRunbook`

#### `AzureRM.Cdn`
- `New-AzureRmCdnEndpoint`
- `New-AzureRmCdnProfile`

#### `AzureRM.Compute`
- `New-AzureRmVM`
- `Update-AzureRmVM`

#### `AzureRM.DataFactories`
- `New-AzureRmDataFactories`

#### `AzureRM.DataLakeAnalytics`
- `New-AzureRmDataLakeAnalyticsAccount`

#### `AzureRM.DataLakeStore`
- `New-AzureRmDataLakeStoreAccount`
- `Set-AzureRmDataLakeStoreAccount`

#### `AzureRM.MachineLearning`
- `Update-AzureRmMlCommitmentPlan`

#### `AzureRM.Media`
- `Set-AzureRmMediaService`

#### `AzureRM.OperationalInsights`
- `New-AzureRmOperationalInsightsSavedSearch`
- `New-AzureRmOperationalInsightsWorkspace`
- `Set-AzureRmOperationalInsightsSavedSearch`
- `Set-AzureRmOperationalInsightsWorkspace`

## Breaking changes to AzureRM.Compute cmdlets

**Miscellaneous**
- The sku name property nested in types `PSDisk` and `PSSnapshot` changed from `StandardLRS` and `PremiumLRS` to `Standard_LRS` and `Premium_LRS`, respectively

```powershell
$disk = Get-AzureRmDisk -ResourceGroupName "MyResourceGroup" -DiskName "MyDiskName"
$disk.Sku.Name       # This will now return Standard_LRS or Premium_LRS

$snapshot = Get-AzureRmSnapshot -ResourceGroupName "MyResourceGroup" -SnapshotName "MySnapshotName"
$snapshot.Sku.Name   # This will now return Standard_LRS or Premium_LRS
```

- The storage account type property nested in types `PSVirtualMachine`, `PSVirtualMachineScaleSet` and `PSImage` changed from `StandardLRS` and `PremiumLRS` to `Standard_LRS` and `Premium_LRS`, respectively

```powershell
$vm = Get-AzureRmVM -ResourceGroupName "MyResourceGroup" -Name "MyVM"
$vm.StorageProfile.DataDisks[0].ManagedDisk.StorageAccountType   # This will now return Standard_LRS or Premium_LRS
```

**Add-AzureRmImageDataDisk**
- The accepted values for parameter `StorageAccountType` changed from `StandardLRS` and `PremiumLRS` to `Standard_LRS` and `Premium_LRS`, respectively

**Add-AzureRmVMDataDisk**
- The accepted values for parameter `StorageAccountType` changed from `StandardLRS` and `PremiumLRS` to `Standard_LRS` and `Premium_LRS`, respectively

**Add-AzureRmVmssDataDisk**
- The accepted values for parameter `StorageAccountType` changed from `StandardLRS` and `PremiumLRS` to `Standard_LRS` and `Premium_LRS`, respectively

**New-AzureRmAvailabilitySet**
- The parameter `Managed` was removed in favor of `Sku`

```powershell
# Old
New-AzureRmAvailabilitySet -ResourceGroupName "MyRG" -Name "MyAvailabilitySet" -Location "West US" -Managed

# New
New-AzureRmAvailabilitySet -ResourceGroupName "MyRG" -Name "MyAvailabilitySet" -Location "West US" -Sku "Aligned"
```

**New-AzureRmDiskConfig**
- The accepted values for parameter `SkuName` changed from `StandardLRS` and `PremiumLRS` to `Standard_LRS` and `Premium_LRS`, respectively

**New-AzureRmDiskUpdateConfig**
- The accepted values for parameter `SkuName` changed from `StandardLRS` and `PremiumLRS` to `Standard_LRS` and `Premium_LRS`, respectively

**New-AzureRmSnapshotConfig**
- The accepted values for parameter `SkuName` changed from `StandardLRS` and `PremiumLRS` to `Standard_LRS` and `Premium_LRS`, respectively

**New-AzureRmSnapshotUpdateConfig**
- The accepted values for parameter `SkuName` changed from `StandardLRS` and `PremiumLRS` to `Standard_LRS` and `Premium_LRS`, respectively

**Set-AzureRmImageOsDisk**
- The accepted values for parameter `StorageAccountType` changed from `StandardLRS` and `PremiumLRS` to `Standard_LRS` and `Premium_LRS`, respectively

**Set-AzureRmVMAEMExtension**
- The parameter `DisableWAD` was removed
    -  Windows Azure Diagnostics is disabled by default

**Set-AzureRmVMDataDisk**
- The accepted values for parameter `StorageAccountType` changed from `StandardLRS` and `PremiumLRS` to `Standard_LRS` and `Premium_LRS`, respectively

**Set-AzureRmVMOSDisk**
- The accepted values for parameter `StorageAccountType` changed from `StandardLRS` and `PremiumLRS` to `Standard_LRS` and `Premium_LRS`, respectively

**Set-AzureRmVmssStorageProfile**
- The accepted values for parameter `ManagedDisk` changed from `StandardLRS` and `PremiumLRS` to `Standard_LRS` and `Premium_LRS`, respectively

**Update-AzureRmVmss**
- The accepted values for parameter `ManagedDiskStorageAccountType` changed from `StandardLRS` and `PremiumLRS` to `Standard_LRS` and `Premium_LRS`, respectively

## Breaking changes to AzureRM.DataLakeStore cmdlets

**Export-AzureRmDataLakeStoreItem**
- Parameters `PerFileThreadCount` and `ConcurrentFileCount` were removed. Please use the `Concurrency` parameter moving forward

```powershell
# Old
Export-AzureRmDataLakeStoreItem -Account contoso -Path /test -Destination C:\test -Recurse -Resume -PerFileThreadCount 2 -ConcurrentFileCount 80

# New
Export-AzureRmDataLakeStoreItem -Account contoso -Path /test -Destination C:\test -Recurse -Resume -Concurrency 160
```

**Import-AzureRmDataLakeStoreItem**
- Parameters `PerFileThreadCount` and `ConcurrentFileCount` were removed. Please use the `Concurrency` parameter moving forward

```powershell
# Old
Import-AzureRmDataLakeStoreItem -Account contoso -Path C:\test -Destination /test -Recurse -Resume -ForceBinary -PerFileThreadCount 2 -ConcurrentFileCount 80

# New
Import-AzureRmDataLakeStoreItem -Account contoso -Path C:\test -Destination /test -Recurse -Resume -ForceBinary -Concurrency 160
```

**Remove-AzureRmDataLakeStoreItem**
- Parameter `Clean` was removed

```powershell
# Old
Remove-AzureRmDataLakeStoreItem -Account "ContosoADL" -path /myFolder -Recurse -Clean

# New
Remove-AzureRmDataLakeStoreItem -Account "ContosoADL" -path /myFolder -Recurse
```

## Breaking changes to AzureRM.Dns cmdlets

**New-AzureRmDnsRecordSet**
- The parameter `Force` was removed

**Remove-AzureRmDnsRecordSet**
- The parameter `Force` was removed

**Remove-AzureRmDnsZone**
- The parameter `Force` was removed

## Breaking changes to AzureRM.Insights cmdlets

**Add-AzureRmAutoscaleSetting**
- The parameter aliases `AutoscaleProfiles` and `Notifications` were removed

**Add-AzureRmLogProfile**
- The parameter aliases `Categories` and `Locations` were removed

**Add-AzureRmMetricAlertRule**
- The parameter alias `Actions` was removed

**Add-AzureRmWebtestAlertRule**
- The parameter alias `Actions` was removed

**Get-AzureRmLog**
- The parameter aliases `MaxRecords` and `MaxEvents` were removed

**Get-AzureRmMetricDefinition**
- The parameter alias `MetricNames` was removed

**New-AzureRmAlertRuleEmail**
- The parameter aliases `CustomEmails` and `SendToServiceOwners` were removed

**New-AzureRmAlertRuleWebhook**
- The parameter alias `Properties` was removed

**New-AzureRmAutoscaleNotification**
- The parameter aliases `CustomEmails`, `SendEmailToSubscriptionCoAdministrators` and `Webhooks` were removed

**New-AzureRmAutoscaleProfile**
- The parameter aliases `Rules`, `ScheduleDays`, `ScheduleHours` and `ScheduleMinutes` were removed

**New-AzureRmAutoscaleWebhook**
- The parameter alias `Properties` was removed

## Breaking changes to AzureRM.KeyVault cmdlets

**Add-AzureKeyVaultCertificate**
- The `Certificate` parameter has become mandatory.

**Set-AzureKeyVaultManagedStorageSasDefinition**
- The cmdlet no longer accepts individual parameters that compose the access token; instead, the cmdlet replaces explicit token parameters, such as `Service` or `Permissions`, with a generic `TemplateUri` parameter, corresponding to a sample access token defined elsewhere (presumably using Storage PowerShell cmdlets, or composed manually according to the Storage documentation.) The cmdlet retains the `ValidityPeriod` parameter.
	
For more information on composing shared access tokens for Azure Storage, please refer to the documentation pages, respectively:
- [Constructing a Service SAS] (https://learn.microsoft.com/en-us/rest/api/storageservices/Constructing-a-Service-SAS)
- [Constructing an Account SAS] (https://learn.microsoft.com/en-us/rest/api/storageservices/constructing-an-account-sas)
    
```powershell
# Old
$sas = Set-AzureKeyVaultManagedStorageSasDefinition -VaultName myVault -Name myKey -Service Blob -Permissions 'rcw' -ValidityPeriod 180d

# New
$sctx=New-AzureStorageContext -StorageAccountName $sa.StorageAccountName -Protocol Https -StorageAccountKey Key1
$start=[System.DateTime]::Now.AddDays(-1)
$end=[System.DateTime]::Now.AddMonths(1)
$at=New-AzureStorageAccountSasToken -Service blob -ResourceType Service,Container,Object -Permission "racwdlup" -Protocol HttpsOnly -StartTime $start -ExpiryTime $end -Context $sctx
$sas=Set-AzureKeyVaultManagedStorageSasDefinition -AccountName $sa.StorageAccountName -VaultName $kv.VaultName -Name accountsas -TemplateUri $at -SasType 'account' -ValidityPeriod ([System.Timespan]::FromDays(30))
```

**Set-AzureKeyVaultCertificateIssuer**
- The `IssuerProvider` parameter has become mandatory.

**Undo-AzureKeyVaultCertificateRemoval**
- The output of this cmdlet has changed from `CertificateBundle` to `PSKeyVaultCertificate`.

**Undo-AzureRmKeyVaultRemoval**
- `ResourceGroupName` has been removed from the `InputObject` parameter set, and is instead obtained from the `InputObject` parameter's `ResourceId` property.

**Set-AzureRmKeyVaultAccessPolicy**
- The `all` permission was removed from `PermissionsToKeys`, `PermissionsToSecrets`, and `PermissionsToCertificates`.

**General**
- The `ValueFromPipelineByPropertyName` property was removed from all cmdlets where piping by `InputObject` was enabled.  The cmdlets affected are:
    - `Add-AzureKeyVaultCertificate`
    - `Add-AzureKeyVaultCertificateContact`
    - `Add-AzureKeyVaultKey`
    - `Backup-AzureKeyVaultKey`
    - `Backup-AzureKeyVaultSecret`
    - `Get-AzureKeyVaultCertificate`
    - `Get-AzureKeyVaultCertificateContact`
    - `Get-AzureKeyVaultCertificateIssuer`
    - `Get-AzureKeyVaultCertificateOperation`
    - `Get-AzureKeyVaultCertificatePolicy`
    - `Get-AzureKeyVaultKey`
    - `Get-AzureKeyVaultManagedStorageAccount`
    - `Get-AzureKeyVaultManagedStorageSasDefinition`
    - `Get-AzureKeyVaultSecret`
    - `Remove-AzureRmKeyVault`
    - `Remove-AzureRmKeyVaultAccessPolicy`
    - `Remove-AzureKeyVaultCertificate`
    - `Remove-AzureKeyVaultCertificateContact`
    - `Remove-AzureKeyVaultCertificateIssuer`
    - `Remove-AzureKeyVaultCertificateOperation`
    - `Remove-AzureKeyVaultKey`
    - `Remove-AzureKeyVaultManagedStorageAccount`
    - `Remove-AzureKeyVaultManagedStorageSasDefinition`
    - `Remove-AzureKeyVaultSecret`
    - `Restore-AzureKeyVaultKey`
    - `Restore-AzureKeyVaultSecret`
    - `Set-AzureRmKeyVaultAccessPolicy`
    - `Set-AzureKeyVaultCertificateAttribute`
    - `Set-AzureKeyVaultCertificateIssuer`
    - `Set-AzureKeyVaultCertificatePolicy`
    - `Set-AzureKeyVaultKeyAttribute`
    - `Set-AzureKeyVaultManagedStorageSasDefinition`
    - `Set-AzureKeyVaultSecret`
    - `Set-AzureKeyVaultSecretAttribute`
    - `Stop-AzureKeyVaultCertificateOperation`
    - `Undo-AzureKeyVaultCertificateRemoval`
    - `Undo-AzureKeyVaultKeyRemoval`
    - `Undo-AzureRmKeyVaultRemoval`
    - `Undo-AzureKeyVaultSecretRemoval`
    - `Update-AzureKeyVaultManagedStorageAccount`
    - `Update-AzureKeyVaultManagedStorageAccountKey`

- `ConfirmImpact` levels were removed from all cmdlets.  The cmdlets affected are:
    - `Remove-AzureRmKeyVault`
    - `Remove-AzureKeyVaultCertificate`
    - `Remove-AzureKeyVaultCertificateIssuer`
    - `Remove-AzureKeyVaultCertificateOperation`
    - `Remove-AzureKeyVaultKey`
    - `Remove-AzureKeyVaultManagedStorageAccount`
    - `Remove-AzureKeyVaultManagedStorageSasDefinition`
    - `Remove-AzureKeyVaultSecret`
    - `Stop-AzureKeyVaultCertificateOperation`
    - `Update-AzureKeyVaultManagedStorageAccountKey`

- The `IKeyVaultDataServiceClient` was updated so all Certificate operations return PSTypes instead of SDK types. This includes:
    - `SetCertificateContacts`
    - `GetCertificateContacts`
    - `GetCertificate`
    - `GetDeletedCertificate`
    - `MergeCertificate`
    - `ImportCertificate`
    - `DeleteCertificate`
    - `RecoverCertificate`
    - `EnrollCertificate`
    - `UpdateCertificate`
    - `GetCertificateOperation`
    - `DeleteCertificateOperation`
    - `CancelCertificateOperation`
    - `GetCertificatePolicy`
    - `UpdateCertificatePolicy`
    - `GetCertificateIssuer`
    - `SetCertificateIssuer`
    - `DeleteCertificateIssuer`

## Breaking changes to AzureRM.Network cmdlets


**Add-AzureRmApplicationGatewayBackendHttpSettings**
- The parameter `ProbeEnabled` was removed

**Add-AzureRmVirtualNetworkPeering**
- The parameter alias `AlloowGatewayTransit` was removed

**New-AzureRmApplicationGatewayBackendHttpSettings**
- The parameter `ProbeEnabled` was removed

**Set-AzureRmApplicationGatewayBackendHttpSettings**
- The parameter `ProbeEnabled` was removed

## Breaking changes to AzureRM.RedisCache cmdlets

**New-AzureRmRedisCache**
- The parameters `Subnet` and `VirtualNetwork` were removed in favor of `SubnetId`
- The parameter `RedisVersion` was removed
- The parameter `MaxMemoryPolicy` was removed in favor of `RedisConfiguration`

```powershell
# Old
New-AzureRmRedisCache -ResourceGroupName "MyRG" -Name "MyRedisCache" -Location "North Central US" -MaxMemoryPolicy "allkeys-lru"

# New
New-AzureRmRedisCache -ResourceGroupName "MyRG" -Name "MyRedisCache" -Location "North Central US" -RedisConfiguration @{"maxmemory-policy" = "allkeys-lru"}
```

**Set-AzureRmRedisCache**
- The parameter `MaxMemoryPolicy` was removed in favor of `RedisConfiguration`

```powershell
# Old
Set-AzureRmRedisCache -ResourceGroupName "MyRG" -Name "MyRedisCache" -MaxMemoryPolicy "allkeys-lru"

# New
Set-AzureRmRedisCache -ResourceGroupName "MyRG" -Name "MyRedisCache" -RedisConfiguration @{"maxmemory-policy" = "allkeys-lru"}
```

## Breaking changes to AzureRM.Resources cmdlets

**Find-AzureRmResource**
- This cmdlet was removed and the functionality was moved into `Get-AzureRmResource`

```powershell
# Old
Find-AzureRmResource -ResourceType "Microsoft.Web/sites" -ResourceGroupNameContains "ResourceGroup"
Find-AzureRmResource -ResourceType "Microsoft.Web/sites" -ResourceNameContains "test"

# New
Get-AzureRmResource -ResourceType "Microsoft.Web/sites" -ResourceGroupName "*ResourceGroup*"
Get-AzureRmResource -ResourceType "Microsoft.Web/sites" -Name "*test*"
```

**Find-AzureRmResourceGroup**
- This cmdlet was removed and the functionality was moved into `Get-AzureRmResourceGroup`

```powershell
# Old
Find-AzureRmResourceGroup
Find-AzureRmResourceGroup -Tag @{ "testtag" = $null }
Find-AzureRmResourceGroup -Tag @{ "testtag" = "testval" }

# New
Get-AzureRmResourceGroup
Get-AzureRmResourceGroup -Tag @{ "testtag" = $null }
Get-AzureRmResourceGroup -Tag @{ "testtag" = "testval" }
```

**Get-AzureRmRoleDefinition**
- Parameter `AtScopeAndBelow` was removed.

```powershell

# Old
Get-AzureRmRoleDefinition [other required parameters] -AtScopeAndBelow

# New
Get-AzureRmRoleDefinition [other required parameters]
```

## Breaking changes to AzureRM.Storage cmdlets

**New-AzureRmStorageAccount**
- The parameter `EnableEncryptionService` was removed

**Set-AzureRmStorageAccount**
- The parameters `EnableEncryptionService` and `DisableEncryptionService` were removed

## Removed modules

### `AzureRM.ServerManagement`

The Server Management Tools service was [retired last year](https://blogs.technet.microsoft.com/servermanagement/2017/05/17/smt-preview-service-is-being-retired-on-june-30-2017/), and as a result, the corresponding module for SMT, `AzureRM.ServerManagement`, was removed from `AzureRM` and will stop shipping moving forward.

### `AzureRM.SiteRecovery`

The `AzureRM.SiteRecovery` module is being superseded by `AzureRM.RecoveryServices.SiteRecovery`, which is a functional superset of the `AzureRM.SiteRecovery` module and includes a new set of equivalent cmdlets. The full list of mappings from old to new cmdlets can be found below:

| Deprecated cmdlet                                        | Equivalent cmdlet                                                | Aliases                                  |
|----------------------------------------------------------|------------------------------------------------------------------|------------------------------------------|
| `Edit-AzureRmSiteRecoveryRecoveryPlan`                   | `Edit-AzureRmRecoveryServicesAsrRecoveryPlan`                    | `Edit-ASRRecoveryPlan`                   |
| `Get-AzureRmSiteRecoveryFabric`                          | `Get-AzureRmRecoveryServicesAsrFabric`                           | `Get-ASRFabric`                          |
| `Get-AzureRmSiteRecoveryJob`                             | `Get-AzureRmRecoveryServicesAsrJob`                              | `Get-ASRJob`                             |
| `Get-AzureRmSiteRecoveryNetwork`                         | `Get-AzureRmRecoveryServicesAsrNetwork`                          | `Get-ASRNetwork`                         |
| `Get-AzureRmSiteRecoveryNetworkMapping`                  | `Get-AzureRmRecoveryServicesAsrNetworkMapping`                   | `Get-ASRNetworkMapping`                  |
| `Get-AzureRmSiteRecoveryPolicy`                          | `Get-AzureRmRecoveryServicesAsrPolicy`                           | `Get-ASRPolicy`                          |
| `Get-AzureRmSiteRecoveryProtectableItem`                 | `Get-AzureRmRecoveryServicesAsrProtectableItem`                  | `Get-ASRProtectableItem`                 |
| `Get-AzureRmSiteRecoveryProtectionContainer`             | `Get-AzureRmRecoveryServicesAsrProtectionContainer`              | `Get-ASRProtectionContainer`             |
| `Get-AzureRmSiteRecoveryProtectionContainerMapping`      | `Get-AzureRmRecoveryServicesAsrProtectionContainerMapping`       | `Get-ASRProtectionContainerMapping`      |
| `Get-AzureRmSiteRecoveryProtectionEntity`                | `Get-AzureRmRecoveryServicesAsrProtectableItem`                  | `Get-ASRProtectableItem`                 |
| `Get-AzureRmSiteRecoveryRecoveryPlan`                    | `Get-AzureRmRecoveryServicesAsrRecoveryPlan`                     | `Get-ASRRecoveryPlan`                    |
| `Get-AzureRmSiteRecoveryRecoveryPoint`                   | `Get-AzureRmRecoveryServicesAsrRecoveryPoint`                    | `Get-ASRRecoveryPoint`                   |
| `Get-AzureRmSiteRecoveryReplicationProtectedItem`        | `Get-AzureRmRecoveryServicesAsrReplicationProtectedItem`         | `Get-ASRReplicationProtectedItem`        |
| `Get-AzureRmSiteRecoveryServer`                          | `Get-AzureRmRecoveryServicesAsrServicesProvider`                 | `Get-ASRServicesProvider`                |
| `Get-AzureRmSiteRecoveryServicesProvider`                | `Get-AzureRmRecoveryServicesAsrServicesProvider`                 | `Get-ASRServicesProvider`                |
| `Get-AzureRmSiteRecoverySite`                            | `Get-AzureRmRecoveryServicesAsrFabric`                           | `Get-ASRFabric`                          |
| `Get-AzureRmSiteRecoveryStorageClassification`           | `Get-AzureRmRecoveryServicesAsrStorageClassification`            | `Get-ASRStorageClassification`           |
| `Get-AzureRmSiteRecoveryStorageClassificationMapping`    | `Get-AzureRmRecoveryServicesAsrStorageClassificationMapping`     | `Get-ASRStorageClassificationMapping`    |
| `Get-AzureRmSiteRecoveryVault`                           | `Get-AzureRmRecoveryServicesVault`                               |                                          |
| `Get-AzureRmSiteRecoveryVaultSettings`                   | `Get-AzureRmRecoveryServicesAsrVaultContext`                     |                                          |
| `Get-AzureRmSiteRecoveryVaultSettingsFile`               | `Get-AzureRmRecoveryServicesVaultSettingsFile`                   |                                          |
| `Get-AzureRmSiteRecoveryVM`                              | `Get-AzureRmRecoveryServicesAsrReplicationProtectedItem`         | `Get-ASRReplicationProtectedItem`        |
| `Import-AzureRmSiteRecoveryVaultSettingsFile`            | `Import-AzureRmRecoveryServicesAsrVaultSettingsFile`             |                                          |
| `New-AzureRmSiteRecoveryFabric`                          | `New-AzureRmRecoveryServicesAsrFabric`                           | `New-ASRFabric`                          |
| `New-AzureRmSiteRecoveryNetworkMapping`                  | `New-AzureRmRecoveryServicesAsrNetworkMapping`                   | `New-ASRNetworkMapping`                  |
| `New-AzureRmSiteRecoveryPolicy`                          | `New-AzureRmRecoveryServicesAsrPolicy`                           | `New-ASRPolicy`                          |
| `New-AzureRmSiteRecoveryProtectionContainerMapping`      | `New-AzureRmRecoveryServicesAsrProtectionContainerMapping`       | `New-ASRProtectionContainerMapping`      |
| `New-AzureRmSiteRecoveryRecoveryPlan`                    | `New-AzureRmRecoveryServicesAsrRecoveryPlan`                     | `New-ASRRecoveryPlan`                    |
| `New-AzureRmSiteRecoveryReplicationProtectedItem`        | `New-AzureRmRecoveryServicesAsrReplicationProtectedItem`         | `New-ASRReplicationProtectedItem`        |
| `New-AzureRmSiteRecoverySite`                            | `New-AzureRmRecoveryServicesAsrFabric`                           | `New-ASRFabric`                          |
| `New-AzureRmSiteRecoveryStorageClassificationMapping`    | `New-AzureRmRecoveryServicesAsrStorageClassificationMapping`     | `New-ASRStorageClassificationMapping`    |
| `New-AzureRmSiteRecoveryVault`                           | `New-AzureRmRecoveryServicesVault`                               |                                          |
| `Remove-AzureRmSiteRecoveryFabric`                       | `Remove-AzureRmRecoveryServicesAsrFabric`                        | `Remove-ASRFabric`                       |
| `Remove-AzureRmSiteRecoveryNetworkMapping`               | `Remove-AzureRmRecoveryServicesAsrNetworkMapping`                | `Remove-ASRNetworkMapping`               |
| `Remove-AzureRmSiteRecoveryPolicy`                       | `Remove-AzureRmRecoveryServicesAsrPolicy`                        | `Remove-ASRPolicy`                       |
| `Remove-AzureRmSiteRecoveryProtectionContainerMapping`   | `Remove-AzureRmRecoveryServicesAsrProtectionContainerMapping`    | `Remove-ASRProtectionContainerMapping`   |
| `Remove-AzureRmSiteRecoveryRecoveryPlan`                 | `Remove-AzureRmRecoveryServicesAsrRecoveryPlan`                  | `Remove-ASRRecoveryPlan`                 |
| `Remove-AzureRmSiteRecoveryReplicationProtectedItem`     | `Remove-AzureRmRecoveryServicesAsrReplicationProtectedItem`      | `Remove-ASRReplicationProtectedItem`     |
| `Remove-AzureRmSiteRecoveryServer`                       | `Remove-AzureRmRecoveryServicesAsrServicesProvider`              |                                          |
| `Remove-AzureRmSiteRecoveryServicesProvider`             | `Remove-AzureRmRecoveryServicesAsrServicesProvider`              | `Remove-ASRServicesProvider`             |
| `Remove-AzureRmSiteRecoverySite`                         | `Remove-AzureRmRecoveryServicesAsrFabric`                        | `Remove-ASRFabric`                       |
| `Remove-AzureRmSiteRecoveryStorageClassificationMapping` | `Remove-AzureRmRecoveryServicesAsrStorageClassificationMapping`  | `Remove-ASRStorageClassificationMapping` |
| `Remove-AzureRmSiteRecoveryVault`                        | `Remove-AzureRmRecoveryServicesVault`                            |                                          |
| `Restart-AzureRmSiteRecoveryJob`                         | `Restart-AzureRmRecoveryServicesAsrJob`                          | `Restart-ASRJob`                         |
| `Resume-AzureRmSiteRecoveryJob`                          | `Resume-AzureRmRecoveryServicesAsrJob`                           | `Resume-ASRJob`                          |
| `Set-AzureRmSiteRecoveryProtectionEntity`                | `New-AzureRmRecoveryServicesAsrReplicationProtectedItem`         | `New-ASRReplicationProtectedItem`        |
| `Set-AzureRmSiteRecoveryReplicationProtectedItem`        | `Set-AzureRmRecoveryServicesAsrReplicationProtectedItem`         | `Set-ASRReplicationProtectedItem`        |
| `Set-AzureRmSiteRecoveryVaultSettings`                   | `Set-AzureRmRecoveryServicesAsrVaultContext`                     | `Set-ASRVaultContext`                    |
| `Set-AzureRmSiteRecoveryVM`                              | `Set-AzureRmRecoveryServicesAsrReplicationProtectedItem`         | `Set-ASRReplicationProtectedItem`        |
| `Start-AzureRmSiteRecoveryApplyRecoveryPoint`            | `Start-AzureRmRecoveryServicesAsrApplyRecoveryPoint`             | `Start-ASRApplyRecoveryPoint`            |
| `Start-AzureRmSiteRecoveryCommitFailoverJob`             | `Start-AzureRmRecoveryServicesAsrCommitFailoverJob`              | `Start-ASRCommitFailoverJob`             |
| `Start-AzureRmSiteRecoveryPlannedFailoverJob`            | `Start-AzureRmRecoveryServicesAsrPlannedFailoverJob`             | `Start-ASRPlannedFailoverJob`            |
| `Start-AzureRmSiteRecoveryPolicyAssociationJob`          | `New-AzureRmRecoveryServicesAsrProtectionContainerMapping`       | `New-ASRProtectionContainerMapping`      |
| `Start-AzureRmSiteRecoveryPolicyDissociationJob`         | `Remove-AzureRmRecoveryServicesAsrProtectionContainerMapping`    | `Remove-ASRProtectionContainerMapping`   |
| `Start-AzureRmSiteRecoveryTestFailoverJob`               | `Start-AzureRmRecoveryServicesAsrTestFailoverJob`                | `Start-ASRTestFailoverJob`               |
| `Start-AzureRmSiteRecoveryUnplannedFailoverJob`          | `Start-AzureRmRecoveryServicesAsrUnplannedFailoverJob`           | `Start-ASRUnplannedFailoverJob`          |
| `Stop-AzureRmSiteRecoveryJob`                            | `Stop-AzureRmRecoveryServicesAsrJob`                             | `Stop-ASRJob`                            |
| `Update-AzureRmSiteRecoveryPolicy`                       | `Update-AzureRmRecoveryServicesAsrPolicy`                        | `Update-ASRPolicy`                       |
| `Update-AzureRmSiteRecoveryProtectionDirection`          | `Update-AzureRmRecoveryServicesAsrProtectionDirection`           | `Update-ASRProtectionDirection`          |
| `Update-AzureRmSiteRecoveryRecoveryPlan`                 | `Update-AzureRmRecoveryServicesAsrRecoveryPlan`                  | `Update-ASRRecoveryPlan`                 |
| `Update-AzureRmSiteRecoveryServer`                       | `Update-AzureRmRecoveryServicesAsrServicesProvider`              | `Update-ASRServicesProvider`             |
| `Update-AzureRmSiteRecoveryServicesProvider`             | `Update-AzureRmRecoveryServicesAsrvCenter`                       | `Update-ASRvCenter`                      |

---

### Documentation Testing Docs RunSmokeTests (`documentation/testing-docs/RunSmokeTests.md`)

# Running Tests with Auto Login #

This script will allow to login as long as you have required certificate installed on your machine

## WorkFlow #1 ##

1. Will Check if the certificate is installed
2. If not will ask you to login (one time) to access KeyVault
3. Download Certificate, install certificate on the machine (will prompt to set certificate password)
4. Login using the recently installed certificate
5. Set the context for Test Subscription
6. Download PublishSettings file from keyVault to enable log into ASM
7. Run Tests
8. Clean up - Delete any locally downloaded certificates or publishsettings file

## WorkFlow #2 ##

1. Check if certificate is installed
2. If Yes, log in using certificate
3. Download publishsettings file from KeyVault
4. Log into ASM using publish settings file
5. Run Tests
6. Clean up


The script that kick starts running test is RunInstallationTests.ps1
This script takes two parameters

1. uninstallLocalCert
	1. $true: will uninstalled existing certificate
	2. $false: will not uninstall existing certificate

1. runOnCIMachine
	1. $true:
		1. this mode will allow to fail fast, especially if it detects local certificate is not installed and needs manual login, it will fail
		2. this will also set the DebugPreference = "Continue", this allows you to get more verbose output of the various cmdlets that are executed as part of the test
	2. $false: will check if the local certificate is installed, if not manually will prompt user to log in and install the certificate from KeyVault

---

### Documentation Testing Docs Repo Tasks Module (`documentation/testing-docs/repo-tasks-module.md`)

# Repo-Tasks Module

## Usage:

1. Double-click the shortcut located at `.\tools\PS-VSPrompt.lnk`, which will start VS Developer Prompt in PowerShell
2. Run the command `Import-Module .\Repo-Tasks.psd1` to import the `Repo-Tasks` module
	- During import, we allow users to load additional functions that they might want to use it in their session
	- If you have a `userPreference.ps1` file under the `%userprofile%/psFiles` directory, the `Repo-Tasks` module will try to load it by dot sourcing it
	- The module will also honor the environment variable `$env:psuserpreferences` and load `.ps1` files from the location that is pointed by `$env:psuserpreferences`
	- As long as you have exported all functions that you need from your `.ps1` file using `Export-ModuleMember -Function {{functionName}}`. We deliberately do this to avoid polluting the list of commands available (when you use `Get-Command`)
3. Currently, the `Repo-Tasks` module supports the following tasks:
	- `New-TestCredential`
		- Creates a credentials file (located in `C:/Users/\<currentuser\>/.azure/testcredentials.json`) that will be used to set the environment variable when scenario tests are run
	- `Set-TestEnvironment`
		- Will allow you create a test connection string required to setup the test environment in order to run tests. More information about the test environment can be found [here](./using-azure-test-framework.md)
	- `Start-Build`
		- Will allow you to kick off a full build, or build for a particular scope (_e.g._, `Start-Build -BuildScope ResourceManagement\Compute`)
	- `Get-BuildScopes`
		- Will allow you to find existing scopes that can be used to build from
	- `Invoke-CheckinTests`
		- Will build and run existing tests

### Note:
If you do not start your powershell session using the `PS-VSPrompt` shortcut, you will not have access to all the environment variables that are set as part of VS Developer Command prompt.

---

### Documentation Testing Docs Test Matrix For Az Accounts (`documentation/testing-docs/test-matrix-for-az-accounts.md`)

# Test Matrix for Authentication in Az.Accounts

The authentication functionality in Az.Accounts is one of the most important pieces in Azure PowerShell. To make sure Azure PowerShell be delivered to customers with high quality, we define the test matrix which should be honored by each release of Az.Accounts when there is any change related to authentication.

## Test Scenario

Each test scenario is marked with one priority P0, P1, P2 based on two factors:

- The importance of the test scenario, i.e. whether used by customers popularly, P0 means most popular.
- Whether be easily affected by authentication related code change, P0 means most easily be affected.

### Connect-AzAccount Using Work/School Account

|Scenario\AuthN Method|Interactive|Device Code (`-DeviceCode`)|User Name+Password (`-Credential`)|Access Token (`-AccessToken`)|SP Secret (`-ServicePrincipal -Credential`)|SP Cert (`-ServicePrincipal -CertificateThumbprint`)|System MSI (`-Identity`)|User MSI (`-Identity -AccountId`)|User MSI-Func App published by VS Code (`-Identity -AccountId`)|
|----|----|----|----|----|----|----|----|----|----|
|`No Subscription/Tenant`|P0 (SemiAuto)|P0|P0 (Auto-No)|P0 (SemiAuto-No)|NA|NA|P0|P0|P0|
|`-Subscription sub-id`|P0 (SemiAuto)|P1|P1 (Auto-No)|P1 (SemiAuto-No)|NA|NA|P1|P1|P1|
|`-Subscription sub-name`|P1 (SemiAuto)|P2|P2 (Auto-No)|P2 (SemiAuto-No)|NA|NA|P2|P2|P2|
|`-Subscription sub-id-in-2nd-tenant`|P0 (SemiAuto-No)|P2|P2 (Auto-No)|NA|NA|NA|NA|NA|NA|
|`-Tenant tenant-id`|P0 (SemiAuto)|P1|P1 (Auto-No)|P1 (SemiAuto-No)|P0 (Auto-No)|P0 (SemiAuto-No)|P1|P1|P1|
|`-Tenant 2nd-tenant-id`|P1 (SemiAuto-No)|P1|P1 (Auto-No)|NA|P2 (Auto-No)|P2 (SemiAuto-No)|NA|NA|NA|
|`-Tenant tenant-id -Subscription sub-id`|P0 (SemiAuto)|P1|P1 (Auto-No)|P1 (SemiAuto-No)|P1 (Auto-No)|P1 (SemiAuto-No)|P1|P1|P1|
|`-Tenant 2nd-tenant-id -Subscription sub-id-in-2nd-tenant`|P1 (SemiAuto-No)|P2|P2 (Auto-No)|NA|P2 (Auto-No)|P2 (SemiAuto-No)|NA|NA|NA|
|`No Parameter` Click back button before inputing password(Negative)|P2|P2|NA|NA|NA|NA|NA|NA|NA|
|`-Subscription -sub-id-no-permission`(Negative)|P2|P2|P2|P2|P2|P2|P2|P2|P2|
|`-Tenant -tenant-id-no-permission`(Negative)|P2|P2|P2|P2|P2|P2|P2|P2|P2|
|`-Tenant 1st-tenant-id -Subscription sub-id-in-2nd-tenant`(Negative)|P2|P2|P2|P2|P2|P2|P2|P2|P2|

**Test Case Automation Status**

- *SemiAuto* means the test case is available, but it needs manual input during running test.
- *SemiAuto-No* means the test case could be written in SemiAuto way, but it is not there yet.
- *Auto-No* means the test case could be written in automatic way(by environment variable), but it is not there yet.
- Test case without any status means manual, the cost for automation is high.

### Connect-AzAccount Using MSA Account

|Scenario\AuthN Method|Interactive|Device Code (`-DeviceCode`)|
|----|----|----|
|`No Subscription/Tenant`|P0 (SemiAuto)|P0|
|`-Subscription sub-id`|P2 (SemiAuto)|P2|
|`-Tenant tenant-id`|P2 (SemiAuto)|P2|
|`-Tenant tenant-id -Subscription sub-id`|P2 (SemiAuto)|P2|

### Connect-AzAccount - Special Test Scenario

|Test|Priority|Comment|
|----|----|----|
|Interactive authentication should return warning if connecting to Linux using SSH|P0 (Auto)||
|Interactive authentication should be successful even the port 8400 is taken by other process first|P0 (Auto)||
|Token should be auto refreshed for long running operation(> 1 hour)|P2|Please refer `How To Test` section|
|Token cache file should be compatible with az|P2|Please refer `How To Test` section|
|Service Principal authentication should be successful if http proxy is set|P2|Please refer `How To Test` section|
|FMR scenario(Integrated Windows Authentication)|P2|Please refer `How To Test` section|

### Other Authentication Test Scenario

It should be fine to run these test cases in just one platform, e.g. Windows PowerShell 5.1.

|Test|Priority|
|---|---|
|Login in Process scope `-Scope`|P1|
|Login with Multi Users|P1|
|Disconnect-AzAccount|P0|
|Disconnect-AzAccount(Service Principal) `-ApplicationId xxx -TenantId xxx`|P2|
|Disconnect-AzAccount(specifying context) `-AzureContext contextObject`|P2|
|Disconnect-AzAccount(Login with multi users, log out one)|P2|
|Save-AzContext and Import-AzContext|P2|
|Get-AzAccessToken|P1|
|Token Cache Fallback(Linux Only)|P1|

## Test Strategy

### Azure Environments

|Azure Environment|Priority|Comment|
|----|-----|----|
|Azure Global Instance|P0||
|Azure US Instance|P2|Will be covered by dedicated team|
|Azure China Instance|P2|Will be covered by dedicated team|
|ADFS Environment|P1|Ask Azure Stack team to help|

### PowerShell Platforms

In theory all the combination of different OS platforms and PowerShell versions should be covered, to compromise time effort and platform coverages, we should at least cover the following platforms. (For different versions of PowerShell 7, need to cover at least smallest and biggest patch version for each major.minor version, currently it should be 7.0.0, 7.0.3 and 7.1.0. The reason to cover 7.0.0 is the future version of Azure.Core may contain higher version of built-in assemblies of PowerShell.)

- Windows PowerShell 5.1
- PowerShell 7.0.0 on Windows
- PowerShell 7.0.x(latest patch version) on Windows
- PowerShell 7.1.0 on Windows
- PowerShell 7.0.0 on Ubuntu
- PowerShell 7.0.x on Ubuntu
- PowerShell 7.1.0 on Ubuntu
- PowerShell 7.0.x on MacOS
- CloudShell
- Docker Env for Ubuntu
- Windows PowerShell 5.1 in Constrained Language Mode

There's no need to run all tests on each of above platforms, the recommendation is:

1. For `Windows PowerShell 5.1`, run all applicable tests.
2. For `PowerShell 7.0.x on Windows`, run tests on columns **Interactive/Device Code/SP Secret** (please refer to test scenario table).
3. For other platforms, just run smoke test `Connect-AzAccount`/`Connect-AzAccount -DeviceCode`.

### Authentication Code Change Impact

When there is authentication related code change in Az.Accounts, there's no need to run all test scenario on all platforms and environments. In contrast, we may choose to run different test scenario based on different authentication code change impact, so that only affected test cases are covered.

#### Just Authentication Code Change without Version Upgrade of MSAL/Azure.Identity in Az.Accounts

Only need to verify P0 test scenario.

#### Minor/Patch Version Upgrade of MSAL/Azure.Identity in Az.Accounts

Only need to verify P0 and P1 test scenario.

#### Major Version Upgrade of MSAL/Azure.Identity in Az.Accounts

Need to verify P0, P1 and P2 test scenario.

### Partner Teams

If possible, we should provide preview/engineering bits to our partners for verifying their modules: (P2)

- Azure Stack team to verify ADFS scenario
- Azure Function team
- Azure StackHCI team

## How To Test

1. How to Test Long Running Operation (LRO)

```powershell
New-AzResourceGroupDeployment -Name xxxx -ResourceGroupName xxxx -TemplateFile path-to-template-file
```

You may save json content below as template file, make sure the value of `parameters.userAssignedIdentity.defaultValue` has been set correctly and the user MSI has permission.

```
/* Detailed source-code truncated for AI context efficiency. */
```

2. How to Test Http Proxy

    a. Start Fiddler
    b. Restart Windows PowerShell and run `Connect-AzAccount`
    c. You should see http request in Fiddler like `https://login.microsoftonline.com/organizations/oauth2/v2.0/token`

3. How to Test compatibility with az

    Expect no error happens:
    a. az login
    b. Delete the token cache file (C:\Users\<user>\AppData\Local.IdentityService\msal.cache)
    c. Connect-AzAccount
    d. Get-AzSubscription
    e. az group list
    f. Disconnect-AzAccount

4. How to Test Integrated Windows Authentication

    a. Start Fiddler
    b. Restart Windows PowerShell and Connect-AzAccount using your corp account

    ```powershell
    $cred = Get-Credential
    Connect-AzAccount -Credential $cred
    ```

    c. Although failed to login, but the http request `https://msft.sts.microsoft.com/adfs/services/trust/2005/usernamemixed` should be successful.

5. How to Test in Constrained Language Mode

    If you're from MSFT and have SAW machine at hand, you could just run Windows PowerShell on SAW Machine on which constrained language mode is enabled by default. If not, please run PowerShell under [Constrained Language Mode](https://devblogs.microsoft.com/powershell/powershell-constrained-language-mode/).

---

### Documentation Testing Docs Using Azure Test Framework (`documentation/testing-docs/using-azure-test-framework.md`)

# Using Azure PowerShell Test Framework

- [Using Azure PowerShell Test Framework](#using-azure-powershell-test-framework)
  - [Getting Started](#getting-started)
  - [Azure PowerShell Test Framework](#azure-powershell-test-framework)
  - [Setup prior to Record or Playback of tests](#setup-prior-to-record-or-playback-of-tests)
    - [Run Command Set-TestFxEnvironment to Build Connection String](#run-command-set-testfxenvironment-to-build-connection-string)
      - [Use user account to record test cases (Recommended)](#use-user-account-to-record-test-cases-recommended)
      - [Create New Service Principal (Not Recommended)](#create-new-service-principal-not-recommended)
      - [Use Existing Service Principal (Not Recommended)](#use-existing-service-principal-not-recommended)
    - [Manually Set Environment Variables to Build Connection String](#manually-set-environment-variables-to-build-connection-string)
      - [Environment Variables](#environment-variables)
      - [Record Tests](#record-tests)
      - [Playback Tests](#playback-tests)
  - [JSON Config File V.S. Environment Variables](#json-config-file-vs-environment-variables)
  - [Record or Playback Tests](#record-or-playback-tests)
  - [Change Test Environment settings at run-time](#change-test-environment-settings-at-run-time)
      - [Once you set your connection string, you can add or update key/value settings](#once-you-set-your-connection-string-you-can-add-or-update-keyvalue-settings)
    - [Note:](#note)
  - [Troubleshooting](#troubleshooting)
      - [Issue: exceptions in Microsoft.Azure.Test.HttpRecorder](#issue-exceptions-in-microsoftazuretesthttprecorder)
  - [Supported Environments in Test Framework](#supported-environments-in-test-framework)
      - [Default Environments and associated Uri](#default-environments-and-associated-uri)
        - [Environment = Prod](#environment--prod)
        - [Environment = Dogfood](#environment--dogfood)
        - [Environment = Next](#environment--next)
        - [Environment = Current](#environment--current)
        - [Environment = Custom](#environment--custom)

## Getting Started

- Install the latest `Az.Resources` from the [PSGallery](https://www.powershellgallery.com/) into PowerShell
  - Run PowerShell as administrator and execute the following command
    - `Install-Module -Name Az.Resources -Scope AllUsers -AllowClobber -Force`
- Import the `TestFx-Tasks` module that helps to configure the settings
  - Run the command `Import-Module ./tools/Modules/TestFx-Tasks.psd1`

## Azure PowerShell Test Framework

Azure PowerShell repo now has its own test framework located under `tools\TestFx`, which supports recording all the HTTP requests from behind Azure PowerShell cmdlets and then playing them back.

The target framework of test is .Net 6, please ensure .Net runtime Microsoft.NETCore.App 6.0 is installed. You can list all installed version via `dotnet --info`.

## Setup prior to Record or Playback of tests

To Record/Playback a test case, the test framework must establish a connection string comprising multiple key/value pairs that supply essential information.

You can choose either option to configure the settings:

- [Run the Set-TestFxEnvironment cmdlet](#use-user-account-to-record-test-cases)
- [Manually set the environment variables](#manually-set-environment-variables-to-build-connection-string)

### Run Command Set-TestFxEnvironment to Build Connection String

This cmdlet enables you to generate a credentials file (located in `C:/Users/<currentuser>/.Azure/testcredentials.json`) that sets the connection string during scenario test execution. This credentials file persists across sessions unless manually deleted.

#### Use user account to record test cases (Recommended)

Using a user account is the preferred method for recording test cases as it avoids storing secret in the local file with plain text. The value of the UserId is your **email account** in the tenant where you plan to record the test.

```powershell
Set-TestFxEnvironment -UserId <EmailAccount> -SubscriptionId <SubscriptionId> -TenantId <TenantId> -RecorderMode "Record"
```

#### Create New Service Principal (Not Recommended)

Using a service principal is not recommended due to security concerns, but it remains an available option for your use.
To create a new service principal, execute the following command with a brand new service principal display name:

```powershell
Set-TestFxEnvironment -ServicePrincipalDisplayName <DisplayName> -SubscriptionId <SubscriptionId> -TenantId <TenantId> -RecorderMode "Record"
```

This command will initially create a new service principal, then assign the `Contributor` role to this service principal according to the specified subscription. Subsequently, it will update the credentials file with the application ID and an automatically generated secret for the service principal.

If the display name of the service principal already exists, you will be prompted to decide whether to create a new one with the same name. If you choose "Y", the newly generated application ID and secret will be stored.

Alternatively, if you prefer to create a service principal manually through the Azure portal, you can refer to [Azure AD guide to create a Application Service Principal](https://learn.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal#create-an-active-directory-application).

#### Use Existing Service Principal (Not Recommended)

If you wish to utilize an existing service principal, execute the following command with the application ID and secret of the desired service principal:

```powershell
Set-TestFxEnvironment -ServicePrincipalId <ServicePrincipalApplicationId> -ServicePrincipalSecret <ServicePrincipalSecret> -SubscriptionId <SubscriptionId> -TenantId <TenantId> -RecorderMode "Record"
```

For an existing service principal, this command will respect your current settings and won't assign the `Contributor` role automatically.



### Manually Set Environment Variables to Build Connection String

#### Environment Variables

`TEST_CSM_ORGID_AUTHENTICATION`

* This variable determines how to connect to Azure. It encompasses both your authentication credentials and the Azure environment information.

`AZURE_TEST_MODE`

* This variable specifies whether the test framework will `Record` test sessions or `Playback` recorded test sessions.

#### Record Tests

You can use either a user account (Recommended) or a Service Principal to record test cases with appropriate permissions.

With user account, you may set the following environment variables:

```
TEST_CSM_ORGID_AUTHENTICATION=Environment=Prod;SubscriptionId=<SubscriptionId>;TenantId=<TenantId>;UserId=<EmailAccount>;
AZURE_TEST_MODE=Record
```

For service principal, you may set the following environment variables:

```
TEST_CSM_ORGID_AUTHENTICATION=Environment=Prod;SubscriptionId=<SubscriptionId>;TenantId=<TenantId>;ServicePrincipal=<ClientId>;ServicePrincipalSecret=<ClientSecret>;
AZURE_TEST_MODE=Record
```

#### Playback Tests

The default test mode is `Playback`, so there is no need to set up the `AZURE_TEST_MODE` variable. You may optionally set the environment variables:

```
TEST_CSM_ORGID_AUTHENTICATION=Environment=Prod;SubscriptionId=<SubscriptionId>;TenantId=<TenantId>;ServicePrincipal=<ClientId>;ServicePrincipalSecret=<ClientSecret>;
AZURE_TEST_MODE=Playback
```

## JSON Config File V.S. Environment Variables

The recommended approach for building the connection string is using a config file, as any changes made will take effect immediately without needing to restart Visual Studio. However, updating environment variables is a different process and requires a restart of Visual Studio for the updated values to be recognized. Here are the steps the Test Framework follows to detect settings:

- If JSON config file exists
  - The Test Framework will use it to build the connection string, ignoring any settings from environment variables.
- If JSON config file does not exist
  - The Test Framework will check the `TEST_CSM_ORGID_AUTHENTICATION` environment variable and use its value to build the connection string.
  - The Test Framework will check the `AZURE_TEST_MODE` environment variable and use its value to build the test mode.
    - If `AZURE_TEST_MODE` is set, its value will be used as the test mode.
    - If `AZURE_TEST_MODE` is not set, the default test mode will be `Playback`.

If you are unsure about the settings on your machine, you can run the command `Get-TestFxEnvironment` to consolidate the steps mentioned above and display the final result.

## Record or Playback Tests

- [Run the tests](https://github.com/Azure/azure-powershell/blob/main/documentation/development-docs/azure-powershell-developer-guide.md#recordingrunning-tests) and make sure that you have a generated `.json` file that corresponds to the test name, and it should be located under the `SessionRecords` folder within the test project.
- If you want to switch from Record to Playback or from Playback to Record, consider below steps.
  - If you choose to use a JSON config file, update the value of the property `HttpRecorderMode` in the JSON file directly.
  - If you prefer environment variables, update the value of environment variable `AZURE_TEST_MODE`.

## Change Test Environment settings at run-time

#### Once you set your connection string, you can add or update key/value settings

```
Add new key/value pair
TestEnvironment.ConnectionString.KeyValuePairs.Add("Foo", "FooValue");

Update Existing key/value pair
TestEnvironment.ConnectionString.KeyValuePairs["keyName"]="new value"

Accessing/Updating TestEndpoints
TestEnvironment.Endpoints.GraphUri = new Uri("https://newGraphUri.windows.net");
```

### Note:

Changing the above properties at run-time has the potential to hard code few things in your tests. Best practice would be to use these properties to change values at run-time from immediate window at run-time and avoid hard-coding certain values.

## Troubleshooting

#### Issue: exceptions in Microsoft.Azure.Test.HttpRecorder

The `HttpRecorderMode` key in the `TEST_CSM_ORGID_AUTHENTICATION` environment variable has been deprecated. Please remove this key/value pair and use `AZURE_TEST_MODE` instead for recording mode.

## Supported Environments in Test Framework

#### Default Environments and associated Uri

##### Environment = Prod

    AADAuthUri = "https://login.microsoftonline.com"
    GalleryUri = "https://gallery.azure.com/"
    GraphUri = "https://graph.windows.net/"
    IbizaPortalUri = "https://portal.azure.com/"
    RdfePortalUri = "http://go.microsoft.com/fwlink/?LinkId=254433"
    ResourceManagementUri = "https://management.azure.com/"
    ServiceManagementUri = "https://management.core.windows.net"
    AADTokenAudienceUri = "https://management.core.windows.net"
    GraphTokenAudienceUri = "https://graph.windows.net/"
    DataLakeStoreServiceUri = "https://azuredatalakestore.net"
    DataLakeAnalyticsJobAndCatalogServiceUri = "https://azuredatalakeanalytics.net"

##### Environment = Dogfood

    AADAuthUri = "https://login.windows-ppe.net";
        GalleryUri = "https://df.gallery.azure-test.net/";
        GraphUri = "https://graph.ppe.windows.net/";
        IbizaPortalUri = "http://df.onecloud.azure-test.net";
        RdfePortalUri = "https://windows.azure-test.net";
        ResourceManagementUri = "https://api-dogfood.resources.windows-int.net/";
        ServiceManagementUri = "https://management-preview.core.windows-int.net";
        AADTokenAudienceUri = "https://management.core.windows.net";
        GraphTokenAudienceUri = "https://graph.ppe.windows.net/";
        DataLakeStoreServiceUri = "https://caboaccountdogfood.net";
        DataLakeAnalyticsJobAndCatalogServiceUri = "https://konaaccountdogfood.net";

##### Environment = Next

    AADAuthUri = "https://login.windows-ppe.net"
        GalleryUri = "https://next.gallery.azure-test.net/"
        GraphUri = "https://graph.ppe.windows.net/"
        IbizaPortalUri = "http://next.onecloud.azure-test.net"
        RdfePortalUri = "https://auxnext.windows.azure-test.net"
        ResourceManagementUri = "https://api-next.resources.windows-int.net/"
        ServiceManagementUri = "https://managementnext.rdfetest.dnsdemo4.com"
        AADTokenAudienceUri = "https://management.core.windows.net"
        GraphTokenAudienceUri = "https://graph.ppe.windows.net/"
        DataLakeStoreServiceUri = "https://caboaccountdogfood.net"
        DataLakeAnalyticsJobAndCatalogServiceUri = "https://konaaccountdogfood.net"

##### Environment = Current

    AADAuthUri = "https://login.windows-ppe.net"
        GalleryUri = "https://df.gallery.azure-test.net/"
        GraphUri = "https://graph.ppe.windows.net/"
        IbizaPortalUri = "http://df.onecloud.azure-test.net"
        RdfePortalUri = "https://windows.azure-test.net"
        ResourceManagementUri = "https://api-dogfood.resources.windows-int.net/"
        ServiceManagementUri = "https://management-preview.core.windows-int.net"
        AADTokenAudienceUri = "https://management.core.windows.net"
        GraphTokenAudienceUri = "https://graph.ppe.windows.net/"
        DataLakeStoreServiceUri = "https://caboaccountdogfood.net"
        DataLakeAnalyticsJobAndCatalogServiceUri = "https://konaaccountdogfood.net"

##### Environment = Custom

When specified, test framework expect all Uri's to be provided by the user as part of the connection string.

What is also supported is as below (connections string example)
`SubscriptionId=subId;Environment=Prod;AADAuthUri=customAuthUri;ResourceManagementUri=CustomResourceMgmtUri`

Which translates to, all Uri from pre-defined Prod environment will be used, but AADAuthUri and ResourceManagementUri will be overridden by the one provided in the connection string

---

### Documentation Tooling Ci Filter (`documentation/tooling/ci-filter.md`)

## CI Filter

### What is the CI Filter?

The CI filter is a set of tooling that looks at the files changed in a pull request and makes decisions about what processes should occur during the pull request's CI. These decisions include the following:

- Which projects to build
- Which tests to run
- Which modules to generate help for
- Which modules to run static analysis on

This filtering allows for faster build times as we are no longer building _every_ project, running _every_ test, generating _all_ help and running static analysis on _everything_, but rather only on the services that are being updated in the pull request and the services that depend on them.

### `CreateFilterMappings.ps1`

The [`CreateFilterMappings.ps1`](https://github.com/Azure/azure-powershell/blob/2d66db5b781f6b1bffe5ff6ff6825c69c8af5848/tools/CreateFilterMappings.ps1) script is responsible for creating the `.json` files that will later be used to determine what modules and `.csproj` files should be used based on the files changed in the pull request. This script currently creates two `.json` files:

- `ModuleMappings.json`
    - This file is a mapping between paths in the repository and the corresponding module found in that path
        - _e.g._, the path `src/KeyVault` is be mapped to `Az.KeyVault`
    - This file is used with the static analysis filter
- `CsprojMappings.json`
    - This file is a mapping between paths in the repository and the corresponding `.csproj` projects that should be built and used later for testing
        - _e.g._, `src/ApplicationInsights` is mapped to the projects in the `ApplicationInsights` folder (`ApplicationInsights.csproj` and `ApplicationInsights.Test.csproj`), the projects in the `Monitor` folder (`Monitor.csproj` and `Monitor.Test.csproj`) since the `Monitor` tests have a dependency on the `ApplicationInsights` cmdlets, and the `Accounts.csproj` (this needs to be built for any module)
    - This file is used with the build and test filters

The script also excludes certain paths from being processed, which the [`FilterTask`](#filtertask) will interpret as "include everything" (_e.g._, any changes inside of the `tools` folder will cause everything to be built and tested).

### Build Tasks

The [`Microsoft.Azure.Build.Tasks`](https://github.com/Azure/azure-powershell/tree/2d66db5b781f6b1bffe5ff6ff6825c69c8af5848/tools/BuildPackagesTask/Microsoft.Azure.Build.Tasks) folder contains the project that's built and exports tasks that are used during our build. The two tasks that are leveraged by the CI filter are the `FilesChangedTask` and the `FilterTask`.

#### `FilesChangedTask`

The [`FilesChangedTask`](https://github.com/Azure/azure-powershell/blob/2d66db5b781f6b1bffe5ff6ff6825c69c8af5848/tools/BuildPackagesTask/Microsoft.Azure.Build.Tasks/FilesChangedTask.cs) is used to determine the list of files that were changed in a given pull request. The task requires that the user provides the following parameters:

- `RepositoryOwner`
    - The fork of the repository (`Azure`)
- `RepositoryName`
    - The name of the repository (`azure-powershell`)
- `PullRequestNumber`
    - The number of the pull request to get the files changed from (provided by ADO)

The task uses the [`Octokit`](https://www.nuget.org/packages/Octokit/) package to make calls to GitHub, specifically in this case to retrieve the files changed in the given pull request. These files, which are all relative paths in the repository, are returned with the `FilesChanged` output property.

#### `FilterTask`

The [`FilterTask`](https://github.com/Azure/azure-powershell/blob/2d66db5b781f6b1bffe5ff6ff6825c69c8af5848/tools/BuildPackagesTask/Microsoft.Azure.Build.Tasks/FilterTask.cs) takes the files changed in a pull request and determines which items to return from the given `.json` file. The task requires that the user provides the following parameters:

- `FilesChanged`
    - The list of files changed in the pull request, passed from the `FilesChangedTask`
- `MapFilePath`
    - The path to the `.json` mappings file that will be used for this task (either `ModuleMappings.json` or `CsprojMappings.json`)

The task then determines which items from the `.json` file should be returned based on the files changed, returning all items defined in the `.json` file if a path can't be mapped to any of the given keys. These items are returned with the `Output` output property.

### `FilterBuild` Target

The [`FilterBuild`](https://github.com/Azure/azure-powershell/blob/2d66db5b781f6b1bffe5ff6ff6825c69c8af5848/build.proj#L98-L127) target in the `build.proj` uses the above tasks to determine which modules and `.csproj` files should be processed during the build. The [`Build`](https://github.com/Azure/azure-powershell/blob/2d66db5b781f6b1bffe5ff6ff6825c69c8af5848/build.proj#L130-L177) target depends on the completion of the `FilterBuild` target, so it's guaranteed that all builds can be filtered over a given pull request, if it is provided as a part of the `msbuild` command that was run.

The result of the `FilesChangedTask` is assigned to a property called `FilesChanged`; this property is then used with two calls to `FilterTask`:

- Using the `ModuleMappings.json` file, the result of the `FilterTask` is assigned to a property called `ModulesChanged`
- Using the `CsprojMappings.json` file, the result of the `FilterTask` is assigned to a property called `ProjectsToBuild`

### Build and Test Filter

Inside of the `Build` target, the `Azure.PowerShell.sln` file that we create for the build is populated with `.csproj` files that should be built and tested later on. When the `PullRequestNumber` property is provided as a part of the `msbuild` command, the `ProjectsToBuild` property from the previous `FilterTask` is used to [populate the solution with the filtered `.csproj` files](https://github.com/Azure/azure-powershell/blob/2d66db5b781f6b1bffe5ff6ff6825c69c8af5848/build.proj#L151). If `PullRequestNumber` wasn't provided as a part of the `msbuild` command, then [all of the `.csproj` files are included](https://github.com/Azure/azure-powershell/blob/2d66db5b781f6b1bffe5ff6ff6825c69c8af5848/build.proj#L141-L147).

When [`dotnet build`](https://github.com/Azure/azure-powershell/blob/2d66db5b781f6b1bffe5ff6ff6825c69c8af5848/build.proj#L160) is then run on this solution, only the projects specific to the files changed will be built and tested. For each service, `A` (_e.g._, `src/A/`), that's updated in the pull request, the following are checked:

- If service `A` is referenced in the tests for service `B`, then we add service `B`'s cmdlet and test projects to the solution so that we can ensure that changes to service `A` don't break the tests of service `B`
- If service `A` references service `C` in its tests, then we add service `C`'s cmdlet project to the solution so we can ensure that service `C` is available to use in service `A`'s tests

### Static Analysis Filter

When calling [`StaticAnalysis.Netcore.dll`](https://github.com/Azure/azure-powershell/blob/2d66db5b781f6b1bffe5ff6ff6825c69c8af5848/build.proj#L205), we provide an argument for the `-m` (or `--modules-to-analyze`) parameter that is `ModulesChanged`. This list of modules changed is passed through to static analysis and used to determine which modules we should run the various analyzers against.

### Help Generation Filter

Although it doesn't directly use the result of one of the filters, when we call [`GenerateHelp.ps1`](https://github.com/Azure/azure-powershell/blob/2d66db5b781f6b1bffe5ff6ff6825c69c8af5848/build.proj#L194) during the build to generate the MAML help that is shipped with our modules, the output folders from the build are used to determine which modules to generate help for. If a module wasn't built as a part of the build, then its folder would not be located in the `artifacts/Debug` output folder, and it will not have any help generated.

---

### Documentation Tooling Example Analyzer (`documentation/tooling/example-analyzer.md`)

## Example Analysis

### What is the purpose of example analysis?
As we know, our cmdlet help markdown is handwritten, which is an error-prone process. Example analysis is one of steps of static analysis, which checks the syntax correctness and completeness of cmdlet help markdown, especially for code blocks in example sections. 

### What will be checked by example analyzer?
Example analyzer will check 
- if there are any missing section heading, like '## EXAMPLES', '## PARAMETERS' and so on.
- if code block type is defined clearly like ```powershell
- if code block is separated into two parts: ```powershell and ```output
- if customized rules are violated. Customized rules include
   - Invalid_Cmdlet
   - Is_Alias
   - Capitalization_Conventions_Violated
   - Unknown_Parameter_Set
   - Invalid_Parameter_Name
   - Duplicate_Parameter_Name
   - Unassigned_Parameter
   - Unassigned_Variable
   - Unbinded_Expression
   - Mismatched_Parameter_Value_Type

### What will be ignore by example analyzer?
 - If the example begins with `` or matches with regex ``, its scan will be skipped.

### How to run example analyzer locally to debug issues reported in CIs
Run following script in PowerShell console, which requires PSScriptAnalyzer installed on local
```powershell
tools/StaticAnalysis/ExampleAnalyzer/Measure-MarkdownOrScript.ps1 -MarkdownPaths {your-help-folder} -RulePaths tools/StaticAnalysis/ExampleAnalyzer/AnalyzeRules/*.psm1
```

### TroubleShooting
 - If a cmdlet is recognized as Invalid_Cmdlet, most likely its module is not imported correctly. Check its import process and configuration. If it's correct, it may be caused by parallel importing all psd1 files. Currently, the workaround is suppressing false positive. Maybe only importing changed modules are one of potential solutions. 

### Miscellaneous
 - Storage module has not been separated into ```powershell and ```output as their examples contain many outputs. They skips scan by regex `` at the beginning of code block.

---

### Documentation Tooling Static Analysis (`documentation/tooling/static-analysis.md`)

## Static Analysis

### What is the purpose of Static Analysis?

Static analysis is a tool that runs during each CI build to ensure that the changes being introduced in a pull request follow PowerShell standards and patterns, don't make any breaking changes, contain the appropriate markdown help files for cmdlets, and don't introduce any mismatching package dependencies. Each of these tasks are contained within their own analyzer, as described in the sections down below.

### Analyzers

Each analyzer implements the [`IStaticAnalyzer`](https://github.com/Azure/azure-powershell/blob/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/StaticAnalysis/IStaticAnalyzer.cs) interface, which describes how to analyze and validate the given modules. The `IStaticAnalyzer` interface defines overloads of the `Analyze` method that each analyzer needs to implement.

#### Breaking Change Analyzer

The breaking change analyzer can be found in the [`BreakingChangeAnalyzer`](https://github.com/Azure/azure-powershell/tree/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/StaticAnalysis/BreakingChangeAnalyzer) folder. In this folder, you will find the following classes:

- `BreakingChangeAnalyzer`
    - The implementation of the `IStaticAnalyzer` interface; determines which modules to analyze, deserializes the modules' `.json` file from the `SerializedCmdlets` folder, and runs breaking change checks between the old (serialized) `ModuleMetadata` object and the new `ModuleMetadata` object constructed from the `CmdletLoader` in the `Tools.Common` project
- `BreakingChangeIssue`
    - The implementation of the `IReportRecord` interface; defines what a breaking change exception looks like when it's reported in the `BreakingChangeIssues.csv` file that is found in the build artifacts of a CI run, as well as how to compare a new record to a record found in the existing `BreakingChangeIssues.csv` file used for exception suppressions
- `CmdletMetadataHelper`
    - This class contains methods used to find breaking changes between one set of `CmdletMetadata` objects and another. The following methods are defined in this class:
        - `CompareCmdletMetadata()`
            - Compares two sets of `CmdletMetadata` objects. Each old cmdlet is mapped to a new cmdlet and the different breaking change checks are performed. If an old cmdlet cannot be mapped, a breaking change is logged.
        - `CheckForRemovedCmdletAlias()`
            - Checks to see if all of the previous aliases remain in the new cmdlet
        - `CheckForRemovedSupportsShouldProcess()`
            - Checks to see if the new cmdlet continues to implement `SupportsShouldProcess` if it previously did
        - `CheckForRemovedSupportsPaging()`
            - Checks to see if the new cmdlet continues to implement `SupportsPaging` if it previously did
        - `CheckForChangedOutputType()`
            - Checks to make sure there was no breaking change in the output type using the `TypeMetadataHelper` class
        - `CheckDefaultParameterName()`
            - Checks to make sure there was no breaking change in the default parameter set using the `ParameterSetMetadataHelper` class
- `ParameterMetadataHelper`
    - This class contains methods used to find breaking changes between the global properties of a `ParameterMetadata` object and another. The following methods are defined in this class:
        - `CompareParameterMetadata()`
            - Compares two sets of `ParameterMetadata` objects. Each old parameter is mapped to a new parameter and the different breaking change checks are performed. If an old parameter cannot be mapped a breaking change is logged.
        - `CheckForChangedParameterType()`
            - Checks to make sure there was no breaking change in the type of the parameter using the `TypeMetadataHelper` class
        - `CheckForRemovedParameterAlias()`
            - Checks to see if all of the previous aliases remain in the new parameter
        - `CheckParameterValidateSets()`
            - Checks to see if all of the previous values defined in the parameter's `ValidateSet` attribute remain in the new parameter
        - `CheckParameterValidateRange()`
            - Checks to make sure the new `ValidateRange` interval includes the previous parameter's `ValidateRange` interval
        - `CheckForValidateNotNullOrEmpty()`
            - Checks to see if the new parameter now disallows null or empty values for the parameter
- `ParameterSetMetadataHelper`
    - This class contains methods used to find breaking changes between one set of `ParameterSetMetadata` and another. The following method is defined in this class:
        - `CompareParameterSetMetadata()`
            - Compares two sets of `ParameterSetMetadata` objects. Iterating over the old set of parameter sets, the method attempts to map each one to a parameter set in the new parameter sets. To be successfully mapped to a set, each previous parameter must exist in the new set, as well as have the same properties (must continue to be optional if previously, position remains the same, piping scenario remains the same, etc.)
- `TypeMetadataHelper`
    - This class contains methods used to find breaking changes between `TypeMetadata` objects. The following methods are defined in this class:
        - `CompareTypeMetadata()`
            - Checks to make sure no breaking changes were introduced between two types by recursively checking the properties of the given types and those properties' types
        - `CompareMethodSignatures()`
            - Checks to make sure no breaking changes were introduced in the method signature of two types
        - `CheckParameterType()`
            - Checks to make sure no breaking changes were introduced in the type of a parameter (by recursively calling `CompareTypeMetadata()`)
        - `CheckOutputType()`
            - Checks to make sure no breaking changes were introduced in the output type of a cmdlet (by recursively calling `CompareTypeMetadata()`)
        - `IsElementType()`
            - Checks to make sure no breaking changes were introduced between two element types (by recursively calling `CompareTypeMetadata()`)
        - `IsGenericType()`
            - Checks to make sure no breaking changes were introduced from one generic type to another, as well as checks for breaking changes in the arguments of the generic types (by recursively calling `CompareTypeMetadata()`)
        - `HasSameGenericType()`
            - Checks to make sure that the type of the generic remains the same between two generic types
        - `HasSameGenericArgumentSize()`
            - Checks to make sure that the number of arguments remain the same between two generic types

#### Dependency Analyzer

The dependency analyzer can be found in the [`DependencyAnalyzer`](https://github.com/Azure/azure-powershell/tree/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/StaticAnalysis/DependencyAnalyzer) folder. In this folder, you will find the following classes:

- `AssemblyVersionConflict`
    - The implementation of the `IReportRecord` interface; defines what a assembly version conflict exception looks like when it's reported in the `AssemblyVersionConflict.csv` file that is found in the build artifacts of a CI run, as well as how to compare a new record to a record found in the existing `AssemblyVersionConflict.csv` file used for exception suppressions
- `DependencyAnalyzer`
    - The implementation of the `IStaticAnalyzer` interface; determines which modules to analyze and then checks the following:
        - If an assembly is found to be referenced by the cmdlet assembly, but it's not copied over to the output directory of the module, then a `MissingAssembly` record is written
        - If an assembly is found to be referenced by multiple projects, but the assembly file version is different between the projects, then a `SharedAssemblyConflict` record is written
- `DependencyMap`
    - The implementation of the `IReportRecord` interface; defines what a dependency map exception looks like when it's reported in the `DependencyMap.csv` file that is found in the build artifacts of a CI run, as well as how to compare a new record to a record found in the existing `DependencyMap.csv` file used for exception suppressions
- `ExtraAssembly`
    - The implementation of the `IReportRecord` interface; defines what an extra assembly exception looks like when it's reported in the `ExtraAssembly.csv` file that is found in the build artifacts of a CI run, as well as how to compare a new record to a record found in the existing `ExtraAssembly.csv` file used for exception suppressions
- `MissingAssembly`
    - The implementation of the `IReportRecord` interface; defines what a missing assembly exception looks like when it's reported in the `MissingAssembly.csv` file that is found in the build artifacts of a CI run, as well as how to compare a new record to a record found in the existing `MissingAssembly.csv` file used for exception suppressions
- `SharedAssemblyConflict`
    - The implementation of the `IReportRecord` interface; defines what a shared conflict exception looks like when it's reported in the `SharedAssemblyConflict.csv` file that is found in the build artifacts of a CI run, as well as how to compare a new record to a record found in the existing `SharedAssemblyConflict.csv` file used for exception suppressions
- `ExampleIssue`
    - The implementation of the `IReportRecord` interface; defines what an example issue exception looks like when it's reported in the `ExampleIssues.csv` file that is found in the build artifacts of a CI run, as well as how to compare a new record to a record found in the existing `ExampleIssues.csv` file used for exception suppressions    

#### Help Analyzer

The help analyzer can be found in the [`HelpAnalyzer`](https://github.com/Azure/azure-powershell/tree/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/StaticAnalysis/HelpAnalyzer) folder. In this folder, you will find the following classes:

- `HelpAnalyzer`
    - The implementation of the `IStaticAnalyzer` interface; determines which modules to analyze and checks to see which cmdlets within those modules don't have a corresponding markdown help file. It also checks the content structure of markdown help conforms to [PlatyPS Schema](https://github.com/PowerShell/platyPS/blob/master/platyPS.schema.md)
- `HelpIssues`
    - The implementation of the `IReportRecord` interface; defines what a help exception looks like when it's reported in the `HelpIssues.csv` file that is found in the build artifacts of a CI run, as well as how to compare a new record to a record found in the existing `HelpIssues.csv` file used for exception suppressions

#### Signature Verifier

The signature verifier can be found in the [`SignatureVerifier`](https://github.com/Azure/azure-powershell/tree/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/StaticAnalysis/SignatureVerifier) folder. In this folder, you will find the following classes:

- `SignatureIssues`
    - The implementation of the `IReportRecord` interface; defines what a signature exception looks like when it's reported in the `SignatureIssues.csv` file that is found in the build artifacts of a CI run, as well as how to compare a new record to a record found in the existing `SignatureIssues.csv` file used for exception suppressions
- `SignatureVerifier`
    - The implementation of the `IStaticAnalyzer` interface; determines which modules to analyze and runs the signature verifier on the `ModuleMetadata` object constructed from the `CmdletLoader` in the `Toools.Common` project. The following checks are made by the signature verifier:
        - If the cmdlet has a `-Force` parameter, the cmdlet should implement `SupportsShouldProcess`
        - If the cmdlet has a `ConfirmImpact` level that's not `Medium`, the cmdlet should implement `SupportsShouldProcess`
        - If the cmdlet has a verb that signals it would make a change on the server, the cmdlet should implement `SupportsShouldProcess`
        - Verify that the cmdlet has an approved PowerShell verb
        - Verify that the cmdlet is using a singular noun
        - Verify that the cmdlet has an output type
        - Verify that all parameters are singular
        - Verify that no parameter has a position greater than 4
        - If the cmdlet has more than one parameter, the cmdlet should have a default parameter set defined

### Static Analysis on CI

Static analysis is run as a part of the Azure DevOps CI for every pull request opened in the `azure-powershell` repository; it is run with the `Analyze {OS}` jobs in the pipeline. In this job, all of the modules that were built as a part of the `Build {OS}` job will have static analysis run on them, and any exceptions will can be found in the artifacts that are published once the job has completed.

To see the failures in static analysis, click on any of the failed `analyze-{OS}` artifact folders, and expand the `StaticAnalysisResults` folder. In this folder, you will want to search through the resulting `.csv` files for any exceptions with severity 0 or 1 (anything other than these severities are warnings and will not cause build failures).

_Note_: The `DependencyMap.csv` file only have severity 3 records and the `ExtraAssemblies.csv` file almost always has severity 2 records, so you can typically ignore these files.

#### Suppressing exceptions

If an exception is found in one of the resulting `.csv` files that should be ignored (false-positive or should be ignored), then the following steps should be taken:

- Open the `.csv` file with the exception(s) to suppress in a text editor (such as VS Code)
- Copy the lines that need to be suppressed
    - Copying these lines using Excel rather than a text editor will cause parsing issues
- Open the corresponding `.csv` file in the `tools/StaticAnalysis/Exceptions` folder in a text editor
    - Find the module that these exceptions are being suppressed for
    - If a folder for the module does not exist, or a file for the corresponding `.csv` file doesn't exist, create it
- Paste the lines that were previously copied to the end of the file

The `.csv` files found in `tools/StaticAnalysis/Exceptions` are used by the `IReportRecord` implementations mentioned previously to check if an exception thrown during static analysis already exists in the suppressed file, and ignoring it if it does.

---

### Documentation Tooling Tools Common (`documentation/tooling/tools-common.md`)

# `Tools.Common`

## What is the `Tools.Common` project?

The `Tools.Common` project is a collection of classes that are used by other tooling applications in the Azure PowerShell repository, such as static analysis and the versioning tool.

## What is found in the `Tools.Common` project?

### `Models`

The `Models` folder contains classes representing the metadata for different pieces of a module that are used by static analysis and the versioning tool.

#### `ModuleMetadata`

The [`ModuleMetadata`](https://github.com/Azure/azure-powershell/blob/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/Tools.Common/Models/ModuleMetadata.cs) class contains information about the content exposed by a module.

The following public serializable properties are found in this class:

- `Cmdlets`
    - This is the list of cmdlets exposed by the module, represented as [`CmdletMetadata`](#cmdletmetadata) objects
- `TypeDictionary`
    - This is a dictionary of types exposed by the module, mapping the fully name of the type to its [`TypeMetadata`](#typemetadata) object representation

#### `TypeMetadata`

The [`TypeMetadata`](https://github.com/Azure/azure-powershell/blob/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/Tools.Common/Models/TypeMetadata.cs) class contains information about the content of a .NET type.

The following public serializable properties are found in this class:

- `Namespace`
    - This is the namespace of the type (_e.g._, `System` is the namespace for `System.DateTime`)
- `Name`
    - This is the full name of the type (_e.g._, `System.DateTime`)
- `AssemblyQualifiedName`
    - This is the assembly qualified name of the type (_e.g._, `System.DateTime, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e` is the assembly qualified name for `System.DateTime`)
- `Properties`
    - This is a dictionary that maps the type's property names' to their corresponding full type name (_e.g._, `Name` --> `System.String`, `Enabled` --> `System.Boolean`)
- `ElementType`
    - If the type is a collection of elements (_e.g._, array), then this is the type of the element (_e.g._, `System.Byte` is the element type for the type `System.Byte[]`)
- `GenericTypeArguments`
    - If the type is a generic (_e.g._, list, dictionary), then this is the type of the arguments of the generic (_e.g._, `System.String` is the generic type argument for `IList<System.String>`)
- `Methods`
    - This is the [`MethodSignature`](https://github.com/Azure/azure-powershell/blob/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/Tools.Common/Models/TypeMetadata.cs#L333-L343) representation of the public methods exposed by this type (_e.g._, `ToString()`, `Equals()`, `GetHashCode()`)
- `Constructors`
    - This is the [`MethodSignature`](https://github.com/Azure/azure-powershell/blob/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/Tools.Common/Models/TypeMetadata.cs#L333-L343) representation of the public constructors exposed by this type

#### `CmdletMetadata`

The [`CmdletMetadata`](https://github.com/Azure/azure-powershell/blob/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/Tools.Common/Models/CmdletMetadata.cs) class contains information about the content of a cmdlet.

The following public serializable properties are found in this class:

- `VerbName`
    - This is the verb component of the cmdlet name
- `NounName`
    - This is the noun component of the cmdlet name
- `Name`
    - This is the name of the cmdlet
- `ClassName`
    - This is the name of the class that the cmdlet is defined in
- `SupportsShouldProcess`
    - This signals whether or not the cmdlet implements `SupportsShouldProcess`
- `ConfirmImpact`
    - This is impact level of the operation
- `SupportsPaging`
    - This signals whether or not the cmdlet implements `SupportsPaging`
- `DefaultParameterSetName`
    - The name of the default parameter set of the cmdlet
- `OutputTypes`
    - A list of the output types of the cmdlet, represented as [`OutputMetadata`](#outputmetadata) objects
- `Parameters`
    - A list of parameters found in the cmdlet, represented as [`ParameterMetadata`](#parametermetadata) objects
- `ParameterSets`
    - A list of parameter sets found in the cmdlet, represented as [`ParameterSetMetadata`](#parametersetmetadata) objects
- `AliasList`
    - A list of aliases that the cmdlet has

#### `OutputMetadata`

The [`OutputMetadata`](https://github.com/Azure/azure-powershell/blob/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/Tools.Common/Models/OutputMetadata.cs) class contains information about the output type of a cmdlet.

The following public serializable properties are found in this class:

- `Type`
    - The type of the output, represented as a [`TypeMetadata`](#typemetadata) object
- `ParameterSets`
    - The list of parameter sets that the output type is returned in

#### `ParameterMetadata`

The [`ParameterMetadata`](https://github.com/Azure/azure-powershell/blob/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/Tools.Common/Models/ParameterMetadata.cs) class contains information about the content of a parameter.

The following public serializable properties are found in this class:

- `Name`
    - The name of the parameter
- `AliasList`
    - The list of aliases that the parameter has
- `Type`
    - The type of the parameter, represented as a [`TypeMetadata`](#typemetadata) object
- `ValidateSet`
    - The list of values that are defined in the `ValidateSet` attribute for the parameter
- `ValidateRangeMin`
    - The minimum value specified in the `ValidateRange` attribute for the parameter
- `ValidateRangeMax`
    - The maximum value specified in the `ValidateRange` attribute for the parameter
- `ValidateNotNullOrEmpty`
    - This signals whether or not the parameter has the `ValidateNotNullOrEmpty` attribute

#### `ParameterSetMetadata`

The [`ParameterSetMetadata`](https://github.com/Azure/azure-powershell/blob/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/Tools.Common/Models/ParameterSetMetadata.cs) class contains information about the content of a parameter set.

The following public serializable properties are found in this class:

- `Name`
    - The name of the parameter set
- `Parameters`
    - The list of parameters found in the parameter set, represented as [`Parameter`](https://github.com/Azure/azure-powershell/blob/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/Tools.Common/Models/ParameterSetMetadata.cs#L78) objects

The following public serializable properties are found in the `Parameter` class:

- `ParameterMetadata`
    - The global information about a parameter, represented as a `ParameterMetadata` object
- `Mandatory`
    - This signals whether or not the parameter is mandatory in the given parameter set
- `Position`
    - The position of the parameter in the given parameter set
- `ValueFromPipeline`
    - This signals whether or not the parameter has `ValueFromPipeline = true` in the given parameter set
- `ValueFromPipelineByPropertyName`
    - This signals whether or not the parameter has `ValueFromPipelineByPropertyName = true` in the given parameter set

#### `AssemblyMetadata`

The [`AssemblyMetadata`](https://github.com/Azure/azure-powershell/blob/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/Tools.Common/Models/AssemblyMetadata.cs) class contains information about the content of an assembly. The constructor for this class takes a [`System.Reflection.Assembly`](https://learn.microsoft.com/en-us/dotnet/api/system.reflection.assembly) object.

The following public serializable properties are found in this class:

- `Location`
    - The path to the assembly on disk

The following methods are used as well:

- `GetName()`
    - Returns the name of the assembly
- `GetReferencedAssemblies()`
    - Returns the list of assemblies that are referenced by the assembly

### `Extensions`

This folder contains classes that introduce various extension methods used to help inside of the `Tools.Common` project.

#### `ReflectionExtensions`

The [`ReflectionExtensions`](https://github.com/Azure/azure-powershell/blob/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/Tools.Common/Extensions/ReflectionExtensions.cs) class contains extension methods used to help reflect over attributes in a given assembly.

The following extension methods are found in this class:

- `GetAttribute<T>(this Type type)`
    - Returns the attribute of type `T` found in the `type` object
- `GetAttribute<T>(this PropertyInfo propertyInfo)`
    - Returns the attribute of type `T` found in the `propertyInfo` object
- `GetAttributes<T>(this Type type)`
    - Returns a list of attributes of type `T` found in the `type` object
- `GetAttributes<T>(this PropertyInfo propertyInfo)`
    - Returns a list of attributes of type `T` found in the `propertyInfo` object
- `HasAttribute<T>(this Type type)`
    - Returns whether or not the `type` object contains an attribute of type `T`
- `HasAttribute<T>(this PropertyInfo propertyInfo)`
    - Returns whether or not the `propertyInfo` object contains an attribute of type `T`
- `GetParameters(this Type type)`
    - Using a call to `HasAttribute<ParameterAttribute>()`, returns the list of `PropertyInfo` objects with a `ParameterAttribute`
- `GetCmdletTypes(this Assembly assembly)`
    - Using a call to `HasAttribute<CmdletAttribute>()`, returns the list of `Type` objects with the `CmdletAttribute`

### `Loaders`

This folder contains classes that load assemblies into the current session and reflect over them to create various metadata objects found in the [`Models`](#models) folder.

#### `AssemblyLoader`

The [`AssemblyLoader`](https://github.com/Azure/azure-powershell/blob/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/Tools.Common/Loaders/AssemblyLoader.cs) class contains the logic to load assemblies, reflect over them and convert them to [`AssemblyMetadata`](#assemblymetadata) objects.

This class is used by the dependency analyzer that runs as a part of static analysis.

#### `CmdletLoader`

The [`CmdletLoader`](https://github.com/Azure/azure-powershell/blob/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/Tools.Common/Loaders/CmdletLoader.cs) class contains the logic to load assemblies, reflect over them and convert them to [`ModuleMetadata`](#modulemetadata) objects.

This class is used by the breaking change analyzer, help analyzer and signature verifier, which all run as a part of static analysis, as well as the version controller.

### `SerializedCmdlets`

This folder contains `.json` files that are the serialization of the [`ModuleMetadata`](#modulemetadata) object constructed for each module. During each release, if a module has been updated, its `.json` file will be re-serialized using the latest `ModuleMetadata` object constructed. As a result, a module's `.json` file should be viewed as a snapshot of the module the last time that it was released.

#### Breaking change analyzer

The breaking change analyzer that runs as a part of static analysis uses the `.json` files to check for any breaking changes from the last release to the changes being made in a user's pull request.

#### Versioning tool

The versioning tool that runs as a part of each release uses the `.json` files to check for any public API changes from the last release to the current release, and decides what type of bump to make to the module's version:

| Bump | Description | Example |
| ----------- | ---- | ------- |
| Major | A breaking change was introduced into the module | `1.2.3` --> `2.0.0` |
| Minor | Additions were made to the module (_e.g._, new cmdlets, new parameters) | `1.2.3` --> `1.3.0` |
| Patch | Bug fixes in the backend of a module or documentation updates | `1.2.3` --> `1.2.4` |

Version bumping bases on installed version and changes of APIs. But it cannot handle below scenarios:
* Module will be GAed from `0.n.n` --> `1.0.0`. The tool cannot detect this change because preview release module doesn't has `.json` file, or there is no breaking changes in current release.
* Module has a preview release but new bumped version has the same semantic version just without `preview` label. This new version cannot be published to PSGallery. The tool needs a patch version increase.  

Above scenarios can be supported by configurations `MinimalVersion.csv`. Each line contains module name and expected minimal version. If bumped version is lower than expected minital version, the tool will use minimal version for new release.

### `Issues`

The `Issues` folder contains classes that represent the records that are created by the different analyzers found in static analysis. Each analyzer is responsible for implement a specific record for their analyzer that defines the following methods:

- `PrintHeaders()`
    - Returns the string representation of the headers found in the resulting `.csv` record file
- `FormatRecord()`
    - Returns the string representationg of a single record (or row) found in the resulting `.csv` record file
- `Match(IReportRecord other)`
    - Defines how to compare two records, specifically to see if the incoming record is already found in the existing `.csv` containing the suppressed records
- `Parse(string line)`
    - Defines how to parse a line in the `.csv` file and assign the values to properties of the record

### `Loggers`

#### `AnalysisLogger`

The [`AnalysisLogger`](https://github.com/Azure/azure-powershell/blob/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/Tools.Common/Loggers/AnalysisLogger.cs) classes contains methods to create new loggers, retrieve existing loggers, write reports, check for issues within a certain severity threshold and log errors, warnings and messages using the `Log4Net` package.

#### `ConsoleLogger`

The [`ConsoleLogger`](https://github.com/Azure/azure-powershell/blob/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/Tools.Common/Loggers/ConsoleLogger.cs) class contains methods used for logging errors and warnings to the console and writing reports to the file system.

#### `ReportLogger`

The [`ReportLogger`](https://github.com/Azure/azure-powershell/blob/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/Tools.Common/Loggers/ReportLogger.cs) abstract class that acts as an abstraction over typed loggers, deferring to the parent logger to define how to log errors, warnings and messages.

An implementation of the `ReportLogger` abstraction can be found in this class as well, [`ReportLogger<T>`](https://github.com/Azure/azure-powershell/blob/01a81fbb7ea6c086fff2bc137053168c0fc7728a/tools/Tools.Common/Loggers/ReportLogger.cs#L68), which knows how to use the exceptions files for the different analyzers in static analysis and log records against them.

For example, if a new breaking change exception is found in its analyzer, the `ReportLogger` knows to how to compare the new breaking change record created and compare it to the existing breaking change exceptions that are found in the `Exceptions` folder of `Tools.Common` to see if the new record can be ignored.

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.Accounts UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.Accounts-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.Accounts.dll

 The following cmdlets were affected this release:




### **Resolve-AzError**
 - Cmdlet : 'Resolve-AzError'
 - The `Resolve-Error` alias will be removed in a future release.  Please change any scripts that use this alias to use `Resolve-AzError` instead.

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.AnalysisServices UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.AnalysisServices-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.AnalysisServices.Dataplane.dll

 The following cmdlets were affected this release:




### **Add-AzAnalysisServicesAccount**
 - Cmdlet : 'Add-AzAnalysisServicesAccount'
 - The cmdlet is being deprecated. There will be no replacement for it.
Note :The change is expected to take effect from the version :  '2.0.0'



BreakingChangesAttributesCmdLetDeprecationMessageNoReplacement

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.Batch UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.Batch-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.Batch.dll

 The following cmdlets were affected this release:




### **Get-AzBatchAccountKey**
 - Cmdlet : 'Get-AzBatchAccountKey'
 - Get-AzBatchAccountKeys alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzBatchRemoteLoginSetting**
 - Cmdlet : 'Get-AzBatchRemoteLoginSetting'
 - Get-AzBatchRemoteLoginSettings alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzBatchJobStatistic**
 - Cmdlet : 'Get-AzBatchJobStatistic'
 - Get-AzBatchJobStatistics alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzBatchLocationQuota**
 - Cmdlet : 'Get-AzBatchLocationQuota'
 - Get-AzBatchLocationQuotas alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzBatchPoolNodeCount**
 - Cmdlet : 'Get-AzBatchPoolNodeCount'
 - Get-AzBatchPoolNodeCounts alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzBatchPoolStatistic**
 - Cmdlet : 'Get-AzBatchPoolStatistic'
 - Get-AzBatchPoolStatistics alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzBatchPoolUsageMetric**
 - Cmdlet : 'Get-AzBatchPoolUsageMetric'
 - Get-AzBatchPoolUsageMetrics alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzBatchTaskCount**
 - Cmdlet : 'Get-AzBatchTaskCount'
 - Get-AzBatchTaskCounts alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.Cdn UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.Cdn-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.Cdn.dll

 The following cmdlets were affected this release:




### **Get-AzCdnEdgeNode**
 - Cmdlet : 'Get-AzCdnEdgeNode'
 - Get-AzCdnEdgeNodes alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Disable-AzCdnCustomDomain**
 - Cmdlet : 'Disable-AzCdnCustomDomain'
 - The cmdlet 'Disable-AzCdnCustomDomainHttps' is replacing this cmdlet.


BreakingChangesAttributesCmdLetDeprecationMessageWithReplacement: Disable-AzCdnCustomDomainHttps





### **Enable-AzCdnCustomDomain**
 - Cmdlet : 'Enable-AzCdnCustomDomain'
 - The cmdlet 'Enable-AzCdnCustomDomainHttps' is replacing this cmdlet.


BreakingChangesAttributesCmdLetDeprecationMessageWithReplacement: Enable-AzCdnCustomDomainHttps

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.CognitiveServices UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.CognitiveServices-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.CognitiveServices.dll

 The following cmdlets were affected this release:




### **Get-AzCognitiveServicesAccountSku**
 - Cmdlet : 'Get-AzCognitiveServicesAccountSku'
 - Get-AzCognitiveServicesAccountSkus alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.Compute UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.Compute-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.Compute.dll

 The following cmdlets were affected this release:




### **Remove-AzVmssDiagnosticsExtension**
 - Cmdlet : 'Remove-AzVmssDiagnosticsExtension'
 - The output type 'Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy' is being deprecated without a replacement.
Note :The change is expected to take effect from the version :  'MaxInstanceRepairsPercent property will be removed.'



BreakingChangesAttributesCmdLetOutputTypeDeprecated: Microsoft.Azure.Commands.Compute.Automation.Models.PSAutomaticRepairsPolicy




### **New-AzProximityPlacementGroup**
 - Cmdlet : 'New-AzProximityPlacementGroup'
 - The output type 'Microsoft.Azure.Commands.Compute.Automation.Models.PSProximityPlacementGroup' is being deprecated without a replacement.
Note :The change is expected to take effect from the version :  'AvailabilitySetsColocationStatus, VirtualMachinesColocationStatus and VirtualMachineScaleSetsColocationStatus properties will be removed when the types of AvailabilitySets, VirtualMachines and VirtualMachineScaleSets are changed from SubResource to SubResourceWithColocationStatus.'



BreakingChangesAttributesCmdLetOutputTypeDeprecated: Microsoft.Azure.Commands.Compute.Automation.Models.PSProximityPlacementGroup




### **Get-AzProximityPlacementGroup**
 - Cmdlet : 'Get-AzProximityPlacementGroup'
 - The output type 'Microsoft.Azure.Commands.Compute.Automation.Models.PSProximityPlacementGroup' is being deprecated without a replacement.
Note :The change is expected to take effect from the version :  'AvailabilitySetsColocationStatus, VirtualMachinesColocationStatus and VirtualMachineScaleSetsColocationStatus properties will be removed when the types of AvailabilitySets, VirtualMachines and VirtualMachineScaleSets are changed from SubResource to SubResourceWithColocationStatus.'



BreakingChangesAttributesCmdLetOutputTypeDeprecated: Microsoft.Azure.Commands.Compute.Automation.Models.PSProximityPlacementGroup




### **New-AzVmssConfig**
The following parameters were affected this release:
#### **AutomaticRepairMaxInstanceRepairsPercent**
 - Cmdlet : 'New-AzVmssConfig'
 - The parameter : 'AutomaticRepairMaxInstanceRepairsPercent' is changing.
	Change description : AutomaticRepairMaxInstanceRepairsPercent is not supported until future.


#### **AssignIdentity**
 - Cmdlet : 'New-AzVmssConfig'
 - The parameter : 'AssignIdentity' is changing.
	Change description : 'IdentityType' parameter with 'SystemAssigned' value will be used instead of 'AssignIdentity'





### **Update-AzVmss**
The following parameters were affected this release:
#### **AutomaticRepairMaxInstanceRepairsPercent**
 - Cmdlet : 'Update-AzVmss'
 - The parameter : 'AutomaticRepairMaxInstanceRepairsPercent' is changing.
	Change description : AutomaticRepairMaxInstanceRepairsPercent is not supported until future.

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.DataLakeStore UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.DataLakeStore-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.DataLakeStore.dll

 The following cmdlets were affected this release:




### **Export-AzDataLakeStoreChildItemProperty**
 - Cmdlet : 'Export-AzDataLakeStoreChildItemProperty'
 - Export-AzDataLakeStoreChildItemProperties alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.EventHub UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.EventHub-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.EventHub.dll

 The following cmdlets were affected this release:




### **Get-AzEventHubNamespace**
 - Cmdlet : 'Get-AzEventHubNamespace'
 - "The output type 'Microsoft.Azure.Commands.EventHub.Models.PSNamespaceAttributes' is changing"
 - The following properties in the output type are being deprecated :
 'ResourceGroup'
- The following properties are being added to the output type :
 'ResourceGroupName' 'Tags'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.EventHub.Models.PSNamespaceAttributes
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'ResourceGroup'
BreakingChangesAttributesCmdLetOutputPropertiesAdded:  'ResourceGroupName' 'Tags'





### **New-AzEventHubNamespace**
 - Cmdlet : 'New-AzEventHubNamespace'
 - "The output type 'Microsoft.Azure.Commands.EventHub.Models.PSNamespaceAttributes' is changing"
 - The following properties in the output type are being deprecated :
 'ResourceGroup'
- The following properties are being added to the output type :
 'ResourceGroupName' 'Tags'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.EventHub.Models.PSNamespaceAttributes
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'ResourceGroup'
BreakingChangesAttributesCmdLetOutputPropertiesAdded:  'ResourceGroupName' 'Tags'





### **Set-AzEventHubNamespace**
 - Cmdlet : 'Set-AzEventHubNamespace'
 - "The output type 'Microsoft.Azure.Commands.EventHub.Models.PSNamespaceAttributes' is changing"
 - The following properties in the output type are being deprecated :
 'ResourceGroup'
- The following properties are being added to the output type :
 'ResourceGroupName' 'Tags'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.EventHub.Models.PSNamespaceAttributes
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'ResourceGroup'
BreakingChangesAttributesCmdLetOutputPropertiesAdded:  'ResourceGroupName' 'Tags'


The following parameters were affected this release:
#### **State**
 - Cmdlet : 'Set-AzEventHubNamespace'
 - The parameter : 'State' is changing.
	Change description : 'State' Parameter is being deprecated without being replaced

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.KeyVault UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.KeyVault-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.KeyVault.dll

 The following cmdlets were affected this release:




### **New-AzKeyVaultCertificateAdministratorDetail**
 - Cmdlet : 'New-AzKeyVaultCertificateAdministratorDetail'
 - New-AzKeyVaultCertificateAdministratorDetails alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **New-AzKeyVaultCertificateOrganizationDetail**
 - Cmdlet : 'New-AzKeyVaultCertificateOrganizationDetail'
 - New-AzKeyVaultCertificateOrganizationDetails alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.LogicApp UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.LogicApp-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.LogicApp.dll

 The following cmdlets were affected this release:




### **New-AzIntegrationAccountMap**
The following parameters were affected this release:
#### **ContentType**
 - Cmdlet : 'New-AzIntegrationAccountMap'
 - The parameter : 'ContentType' is changing.
	Change description : ContentType is being deprecated without being replaced. It will be inferred from MapType





### **Set-AzIntegrationAccountMap**
The following parameters were affected this release:
#### **ContentType**
 - Cmdlet : 'Set-AzIntegrationAccountMap'
 - The parameter : 'ContentType' is changing.
	Change description : ContentType is being deprecated without being replaced. It will be inferred from MapType

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.MachineLearning UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.MachineLearning-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.MachineLearning.dll

 The following cmdlets were affected this release:




### **Get-AzMlWebServiceKey**
 - Cmdlet : 'Get-AzMlWebServiceKey'
 - Get-AzMlWebServiceKeys alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.Media UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.Media-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.Media.dll

 The following cmdlets were affected this release:




### **Get-AzMediaServiceKey**
 - Cmdlet : 'Get-AzMediaServiceKey'
 - Get-AzMediaServiceKeys alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Sync-AzMediaServiceStorageKey**
 - Cmdlet : 'Sync-AzMediaServiceStorageKey'
 - Sync-AzMediaServiceStorageKeys alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.Network UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.Network-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.Network.dll

 The following cmdlets were affected this release:




### **Add-AzApplicationGatewayBackendHttpSetting**
 - Cmdlet : 'Add-AzApplicationGatewayBackendHttpSetting'
 - Add-AzApplicationGatewayBackendHttpSettings alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzApplicationGatewayBackendHttpSetting**
 - Cmdlet : 'Get-AzApplicationGatewayBackendHttpSetting'
 - Get-AzApplicationGatewayBackendHttpSettings alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **New-AzApplicationGatewayBackendHttpSetting**
 - Cmdlet : 'New-AzApplicationGatewayBackendHttpSetting'
 - New-AzApplicationGatewayBackendHttpSettings alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Remove-AzApplicationGatewayBackendHttpSetting**
 - Cmdlet : 'Remove-AzApplicationGatewayBackendHttpSetting'
 - Remove-AzApplicationGatewayBackendHttpSettings alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Set-AzApplicationGatewayBackendHttpSetting**
 - Cmdlet : 'Set-AzApplicationGatewayBackendHttpSetting'
 - Set-AzApplicationGatewayBackendHttpSettings alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzApplicationGatewayAvailableSslOption**
 - Cmdlet : 'Get-AzApplicationGatewayAvailableSslOption'
 - Get-AzApplicationGatewayAvailableSslOptions alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzApplicationGatewayAvailableWafRuleSet**
 - Cmdlet : 'Get-AzApplicationGatewayAvailableWafRuleSet'
 - Get-AzApplicationGatewayAvailableWafRuleSets alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **New-AzApplicationGateway**
The following parameters were affected this release:
#### **UserAssignedIdentityId**
 - Cmdlet : 'New-AzApplicationGateway'
 - The parameter : 'UserAssignedIdentityId' is being replaced by parameter : 'Identity'.





### **New-AzFirewall**
The following parameters were affected this release:
#### **VirtualNetworkName**
 - Cmdlet : 'New-AzFirewall'
 - The parameter : 'VirtualNetworkName' is being replaced by parameter : 'VirtualNetwork'.
	The type of the parameter is changing from 'System.String' to 'PSVirtualNetwork'.
	Change description : This parameter will be removed in an upcoming breaking change release. After this point the Virtual Network will be provided as an object instead of a string.
Note :The change is expected to take effect from the version :  '2.0.0'

```powershell
# Old
New-AzFirewall -VirtualNetworkName "vnet-name"

# New
New-AzFirewall -VirtualNetwork $vnet
```



#### **PublicIpName**
 - Cmdlet : 'New-AzFirewall'
 - The parameter : 'PublicIpName' is being replaced by parameter : 'PublicIpAddress'.
	The type of the parameter is changing from 'System.String' to 'List<PSPublicIpAddress>'.
	Change description : This parameter will be removed in an upcoming breaking change release. After this point the Public IP Address will be provided as a list of one or more objects instead of a string.
Note :The change is expected to take effect from the version :  '2.0.0'

```powershell
# Old
New-AzFirewall -PublicIpName "public-ip-name"

# New
New-AzFirewall -PublicIpAddress @($publicip1, $publicip2)
```






### **New-AzVirtualHubRoute**
 - Cmdlet : 'New-AzVirtualHubRoute'
 - The cmdlet 'Add-AzVirtualHubRoute' is replacing this cmdlet.


BreakingChangesAttributesCmdLetDeprecationMessageWithReplacement: Add-AzVirtualHubRoute





### **New-AzVirtualHubRouteTable**
 - Cmdlet : 'New-AzVirtualHubRouteTable'
 - The cmdlet 'Add-AzVirtualHubRouteTable' is replacing this cmdlet.


BreakingChangesAttributesCmdLetDeprecationMessageWithReplacement: Add-AzVirtualHubRouteTable





### **Add-AzExpressRouteCircuitAuthorization**
 - Cmdlet : 'Add-AzExpressRouteCircuitAuthorization'
 - "The output type 'Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit' is changing"
 - The following properties in the output type are being deprecated :
 'AllowGlobalReach'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'AllowGlobalReach'





### **Get-AzExpressRouteCircuitAuthorization**
 - Cmdlet : 'Get-AzExpressRouteCircuitAuthorization'
 - "The output type 'Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit' is changing"
 - The following properties in the output type are being deprecated :
 'AllowGlobalReach'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'AllowGlobalReach'





### **Remove-AzExpressRouteCircuitAuthorization**
 - Cmdlet : 'Remove-AzExpressRouteCircuitAuthorization'
 - "The output type 'Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit' is changing"
 - The following properties in the output type are being deprecated :
 'AllowGlobalReach'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'AllowGlobalReach'





### **Get-AzExpressRouteCircuit**
 - Cmdlet : 'Get-AzExpressRouteCircuit'
 - "The output type 'Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit' is changing"
 - The following properties in the output type are being deprecated :
 'AllowGlobalReach'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'AllowGlobalReach'





### **Move-AzExpressRouteCircuit**
 - Cmdlet : 'Move-AzExpressRouteCircuit'
 - "The output type 'Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit' is changing"
 - The following properties in the output type are being deprecated :
 'AllowGlobalReach'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'AllowGlobalReach'





### **New-AzExpressRouteCircuit**
 - Cmdlet : 'New-AzExpressRouteCircuit'
 - "The output type 'Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit' is changing"
 - The following properties in the output type are being deprecated :
 'AllowGlobalReach'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'AllowGlobalReach'





### **Add-AzExpressRouteCircuitPeeringConfig**
 - Cmdlet : 'Add-AzExpressRouteCircuitPeeringConfig'
 - "The output type 'Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit' is changing"
 - The following properties in the output type are being deprecated :
 'AllowGlobalReach'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'AllowGlobalReach'





### **Add-AzExpressRouteCircuitConnectionConfig**
 - Cmdlet : 'Add-AzExpressRouteCircuitConnectionConfig'
 - "The output type 'Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit' is changing"
 - The following properties in the output type are being deprecated :
 'AllowGlobalReach'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'AllowGlobalReach'





### **Remove-AzExpressRouteCircuitConnectionConfig**
 - Cmdlet : 'Remove-AzExpressRouteCircuitConnectionConfig'
 - "The output type 'Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit' is changing"
 - The following properties in the output type are being deprecated :
 'AllowGlobalReach'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'AllowGlobalReach'





### **Get-AzExpressRouteCircuitPeeringConfig**
 - Cmdlet : 'Get-AzExpressRouteCircuitPeeringConfig'
 - "The output type 'Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit' is changing"
 - The following properties in the output type are being deprecated :
 'AllowGlobalReach'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'AllowGlobalReach'





### **Remove-AzExpressRouteCircuitPeeringConfig**
 - Cmdlet : 'Remove-AzExpressRouteCircuitPeeringConfig'
 - "The output type 'Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit' is changing"
 - The following properties in the output type are being deprecated :
 'AllowGlobalReach'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'AllowGlobalReach'





### **Set-AzExpressRouteCircuitPeeringConfig**
 - Cmdlet : 'Set-AzExpressRouteCircuitPeeringConfig'
 - "The output type 'Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit' is changing"
 - The following properties in the output type are being deprecated :
 'AllowGlobalReach'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'AllowGlobalReach'





### **Set-AzExpressRouteCircuit**
 - Cmdlet : 'Set-AzExpressRouteCircuit'
 - "The output type 'Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit' is changing"
 - The following properties in the output type are being deprecated :
 'AllowGlobalReach'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.Network.Models.PSExpressRouteCircuit
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'AllowGlobalReach'





### **Get-AzExpressRouteCircuitStat**
 - Cmdlet : 'Get-AzExpressRouteCircuitStat'
 - Get-AzExpressRouteCircuitStats alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzPrivateEndpointConnection**
The following parameters were affected this release:
#### **Description**
 - Cmdlet : 'Get-AzPrivateEndpointConnection'
 - The parameter : 'Description' is changing.
	Change description : Parameter is being deprecated without being replaced





### **Remove-AzPrivateEndpointConnection**
The following parameters were affected this release:
#### **Description**
 - Cmdlet : 'Remove-AzPrivateEndpointConnection'
 - The parameter : 'Description' is changing.
	Change description : Parameter is being deprecated without being replaced





### **New-AzPrivateLinkServiceIpConfig**
 - Cmdlet : 'New-AzPrivateLinkServiceIpConfig'
 - "The output type 'Microsoft.Azure.Commands.Network.Models.PSPrivateLinkServiceIpConfiguration' is changing"
 - The following properties in the output type are being deprecated :
 'PublicIPAddress'
- The following properties are being added to the output type :
 'Primary'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.Network.Models.PSPrivateLinkServiceIpConfiguration
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'PublicIPAddress'
BreakingChangesAttributesCmdLetOutputPropertiesAdded:  'Primary'


The following parameters were affected this release:
#### **PublicIpAddress**
 - Cmdlet : 'New-AzPrivateLinkServiceIpConfig'
 - The parameter : 'PublicIpAddress' is changing.
	Change description : Parameter is being deprecated without being replaced

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.NotificationHubs UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.NotificationHubs-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.NotificationHubs.dll

 The following cmdlets were affected this release:




### **Get-AzNotificationHubAuthorizationRule**
 - Cmdlet : 'Get-AzNotificationHubAuthorizationRule'
 - Get-AzNotificationHubAuthorizationRules alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzNotificationHubListKey**
 - Cmdlet : 'Get-AzNotificationHubListKey'
 - Get-AzNotificationHubListKeys alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzNotificationHubPNSCredential**
 - Cmdlet : 'Get-AzNotificationHubPNSCredential'
 - Get-AzNotificationHubPNSCredentials alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **New-AzNotificationHubAuthorizationRule**
 - Cmdlet : 'New-AzNotificationHubAuthorizationRule'
 - New-AzNotificationHubAuthorizationRules alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Remove-AzNotificationHubAuthorizationRule**
 - Cmdlet : 'Remove-AzNotificationHubAuthorizationRule'
 - Remove-AzNotificationHubAuthorizationRules alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Set-AzNotificationHubAuthorizationRule**
 - Cmdlet : 'Set-AzNotificationHubAuthorizationRule'
 - Set-AzNotificationHubAuthorizationRules alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzNotificationHubsNamespaceAuthorizationRule**
 - Cmdlet : 'Get-AzNotificationHubsNamespaceAuthorizationRule'
 - Get-AzNotificationHubsNamespaceAuthorizationRules alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzNotificationHubsNamespaceListKey**
 - Cmdlet : 'Get-AzNotificationHubsNamespaceListKey'
 - Get-AzNotificationHubsNamespaceListKeys alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **New-AzNotificationHubsNamespaceAuthorizationRule**
 - Cmdlet : 'New-AzNotificationHubsNamespaceAuthorizationRule'
 - New-AzNotificationHubsNamespaceAuthorizationRules alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Remove-AzNotificationHubsNamespaceAuthorizationRule**
 - Cmdlet : 'Remove-AzNotificationHubsNamespaceAuthorizationRule'
 - Remove-AzNotificationHubsNamespaceAuthorizationRules alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Set-AzNotificationHubsNamespaceAuthorizationRule**
 - Cmdlet : 'Set-AzNotificationHubsNamespaceAuthorizationRule'
 - Set-AzNotificationHubsNamespaceAuthorizationRules alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.OperationalInsights UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.OperationalInsights-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.OperationalInsights.dll

 The following cmdlets were affected this release:




### **Get-AzOperationalInsightsSavedSearchResult**
 - Cmdlet : 'Get-AzOperationalInsightsSavedSearchResult'
 - Get-AzOperationalInsightsSavedSearchResults alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzOperationalInsightsSearchResult**
 - Cmdlet : 'Get-AzOperationalInsightsSearchResult'
 - Get-AzOperationalInsightsSearchResults alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzOperationalInsightsIntelligencePack**
 - Cmdlet : 'Get-AzOperationalInsightsIntelligencePack'
 - Get-AzOperationalInsightsIntelligencePacks alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzOperationalInsightsLinkTarget**
 - Cmdlet : 'Get-AzOperationalInsightsLinkTarget'
 - Get-AzOperationalInsightsLinkTargets alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzOperationalInsightsWorkspaceManagementGroup**
 - Cmdlet : 'Get-AzOperationalInsightsWorkspaceManagementGroup'
 - Get-AzOperationalInsightsWorkspaceManagementGroups alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Get-AzOperationalInsightsWorkspaceSharedKey**
 - Cmdlet : 'Get-AzOperationalInsightsWorkspaceSharedKey'
 - Get-AzOperationalInsightsWorkspaceSharedKeys alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.PowerBIEmbedded UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.PowerBIEmbedded-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.PowerBIEmbedded.dll

 The following cmdlets were affected this release:




### **Get-AzPowerBIWorkspaceCollectionAccessKey**
 - Cmdlet : 'Get-AzPowerBIWorkspaceCollectionAccessKey'
 - Get-AzPowerBIWorkspaceCollectionAccessKeys alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Reset-AzPowerBIWorkspaceCollectionAccessKey**
 - Cmdlet : 'Reset-AzPowerBIWorkspaceCollectionAccessKey'
 - Reset-AzPowerBIWorkspaceCollectionAccessKeys alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.RecoveryServices UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.RecoveryServices-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.RecoveryServices.dll

 The following cmdlets were affected this release:




### **Set-AzRecoveryServicesBackupProperty**
 - Cmdlet : 'Set-AzRecoveryServicesBackupProperty'
 - Set-AzRecoveryServicesBackupProperties alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Set-AzRecoveryServicesVaultContext**
 - Cmdlet : 'Set-AzRecoveryServicesVaultContext'
 - The cmdlet is being deprecated. There will be no replacement for it.
Note :The change is expected to take effect from the version :  'This command is getting deprecated. Please use -VaultID parameter in all Recovery Services commands going forward.'



BreakingChangesAttributesCmdLetDeprecationMessageNoReplacement




## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.RecoveryServices.Backup.dll

 The following cmdlets were affected this release:




### **Get-AzRecoveryServicesBackupJobDetail**
 - Cmdlet : 'Get-AzRecoveryServicesBackupJobDetail'
 - Get-AzRecoveryServicesBackupJobDetails alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.RedisCache UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.RedisCache-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.RedisCache.dll

 The following cmdlets were affected this release:




### **Remove-AzRedisCacheDiagnostic**
 - Cmdlet : 'Remove-AzRedisCacheDiagnostic'
 - Remove-AzRedisCacheDiagnostics alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'






### **Set-AzRedisCacheDiagnostic**
 - Cmdlet : 'Set-AzRedisCacheDiagnostic'
 - Set-AzRedisCacheDiagnostics alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.Resources UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.Resources-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.ResourceManager.dll

 The following cmdlets were affected this release:




### **Get-AzPolicyAssignment**
 - Cmdlet : 'Get-AzPolicyAssignment'
 - The output type is changing from the existing type :'System.Management.Automation.PSObject' to the new type :'PsPolicyAssignment'


BreakingChangesAttributesCmdLetOutputChange1: System.Management.Automation.PSObject





### **Get-AzPolicyDefinition**
 - Cmdlet : 'Get-AzPolicyDefinition'
 - The output type is changing from the existing type :'System.Management.Automation.PSObject' to the new type :'PsPolicyDefinition'


BreakingChangesAttributesCmdLetOutputChange1: System.Management.Automation.PSObject





### **Get-AzPolicySetDefinition**
 - Cmdlet : 'Get-AzPolicySetDefinition'
 - The output type is changing from the existing type :'System.Management.Automation.PSObject' to the new type :'PsPolicySetDefinition'


BreakingChangesAttributesCmdLetOutputChange1: System.Management.Automation.PSObject





### **New-AzPolicyAssignment**
 - Cmdlet : 'New-AzPolicyAssignment'
 - The output type is changing from the existing type :'System.Management.Automation.PSObject' to the new type :'PsPolicyAssignment'


BreakingChangesAttributesCmdLetOutputChange1: System.Management.Automation.PSObject


The following parameters were affected this release:
#### **PolicyDefinition**
 - Cmdlet : 'New-AzPolicyAssignment'
 - The parameter : 'PolicyDefinition' is changing.
	The type of the parameter is changing from 'System.Management.Automation.PSObject' to 'PsPolicyDefinition'.


#### **PolicySetDefinition**
 - Cmdlet : 'New-AzPolicyAssignment'
 - The parameter : 'PolicySetDefinition' is changing.
	The type of the parameter is changing from 'System.Management.Automation.PSObject' to 'PsPolicySetDefinition'.





### **New-AzPolicyDefinition**
 - Cmdlet : 'New-AzPolicyDefinition'
 - The output type is changing from the existing type :'System.Management.Automation.PSObject' to the new type :'PsPolicyDefinition'


BreakingChangesAttributesCmdLetOutputChange1: System.Management.Automation.PSObject





### **New-AzPolicySetDefinition**
 - Cmdlet : 'New-AzPolicySetDefinition'
 - The output type is changing from the existing type :'System.Management.Automation.PSObject' to the new type :'PsPolicySetDefinition'


BreakingChangesAttributesCmdLetOutputChange1: System.Management.Automation.PSObject





### **Set-AzPolicyAssignment**
 - Cmdlet : 'Set-AzPolicyAssignment'
 - The output type is changing from the existing type :'System.Management.Automation.PSObject' to the new type :'PsPolicyAssignment'


BreakingChangesAttributesCmdLetOutputChange1: System.Management.Automation.PSObject





### **Set-AzPolicyDefinition**
 - Cmdlet : 'Set-AzPolicyDefinition'
 - The output type is changing from the existing type :'System.Management.Automation.PSObject' to the new type :'PsPolicyDefinition'


BreakingChangesAttributesCmdLetOutputChange1: System.Management.Automation.PSObject





### **Set-AzPolicySetDefinition**
 - Cmdlet : 'Set-AzPolicySetDefinition'
 - The output type is changing from the existing type :'System.Management.Automation.PSObject' to the new type :'PsPolicySetDefinition'


BreakingChangesAttributesCmdLetOutputChange1: System.Management.Automation.PSObject

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.ServiceBus UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.ServiceBus-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.ServiceBus.dll

 The following cmdlets were affected this release:




### **Get-AzServiceBusNamespace**
 - Cmdlet : 'Get-AzServiceBusNamespace'
 - "The output type 'Microsoft.Azure.Commands.ServiceBus.Models.PSNamespaceAttributes' is changing"
 - The following properties in the output type are being deprecated :
 'ResourceGroup'
- The following properties are being added to the output type :
 'ResourceGroupName'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.ServiceBus.Models.PSNamespaceAttributes
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'ResourceGroup'
BreakingChangesAttributesCmdLetOutputPropertiesAdded:  'ResourceGroupName'





### **New-AzServiceBusNamespace**
 - Cmdlet : 'New-AzServiceBusNamespace'
 - "The output type 'Microsoft.Azure.Commands.ServiceBus.Models.PSNamespaceAttributes' is changing"
 - The following properties in the output type are being deprecated :
 'ResourceGroup'
- The following properties are being added to the output type :
 'ResourceGroupName'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.ServiceBus.Models.PSNamespaceAttributes
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'ResourceGroup'
BreakingChangesAttributesCmdLetOutputPropertiesAdded:  'ResourceGroupName'





### **Set-AzServiceBusNamespace**
 - Cmdlet : 'Set-AzServiceBusNamespace'
 - "The output type 'Microsoft.Azure.Commands.ServiceBus.Models.PSNamespaceAttributes' is changing"
 - The following properties in the output type are being deprecated :
 'ResourceGroup'
- The following properties are being added to the output type :
 'ResourceGroupName'


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.Azure.Commands.ServiceBus.Models.PSNamespaceAttributes
BreakingChangesAttributesCmdLetOutputPropertiesRemoved:  'ResourceGroup'
BreakingChangesAttributesCmdLetOutputPropertiesAdded:  'ResourceGroupName'

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.Sql UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.Sql-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.Sql.dll

 The following cmdlets were affected this release:




### **Get-AzSqlDatabaseAdvancedThreatProtectionSetting**
 - Cmdlet : 'Get-AzSqlDatabaseAdvancedThreatProtectionSetting'
 - Get-AzSqlDatabaseAdvancedThreatProtectionSettings alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '3.0.0'






### **Get-AzSqlServerAdvancedThreatProtectionSetting**
 - Cmdlet : 'Get-AzSqlServerAdvancedThreatProtectionSetting'
 - Get-AzSqlServerAdvancedThreatProtectionSettings alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '3.0.0'






### **Clear-AzSqlDatabaseAdvancedThreatProtectionSetting**
 - Cmdlet : 'Clear-AzSqlDatabaseAdvancedThreatProtectionSetting'
 - Remove-AzSqlDatabaseAdvancedThreatProtectionSettings alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '3.0.0'






### **Clear-AzSqlServerAdvancedThreatProtectionSetting**
 - Cmdlet : 'Clear-AzSqlServerAdvancedThreatProtectionSetting'
 - Remove-AzSqlServerAdvancedThreatProtectionSettings alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '3.0.0'






### **Update-AzSqlDatabaseAdvancedThreatProtectionSetting**
 - Cmdlet : 'Update-AzSqlDatabaseAdvancedThreatProtectionSetting'
 - Set-AzSqlDatabaseAdvancedThreatProtectionSettings alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '3.0.0'






### **Update-AzSqlServerAdvancedThreatProtectionSetting**
 - Cmdlet : 'Update-AzSqlServerAdvancedThreatProtectionSetting'
 - Set-AzSqlServerAdvancedThreatProtectionSettings alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '3.0.0'

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.Storage UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.Storage-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.Storage.Management.dll

 The following cmdlets were affected this release:




### **Update-AzStorageAccountNetworkRuleSet**
The following parameters were affected this release:
#### **DefaultAction**
 - Cmdlet : 'Update-AzStorageAccountNetworkRuleSet'
 - The parameter : 'DefaultAction' is changing.
	Change description : The DefaultAction value will change in a future release from: Allow = 1, Deny = 0, to: Allow = 0, Deny = 1.




## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.Storage.dll

 The following cmdlets were affected this release:




### **Get-AzStorageTable**
 - Cmdlet : 'Get-AzStorageTable'
 - "The output type 'Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageTable' is changing"
	Change description : AzureStorageTable.CloudTable.ServiceClient will have 2 properties removed in a future release: ConnectionPolicy, ConsistencyLevel.


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageTable





### **New-AzStorageTable**
 - Cmdlet : 'New-AzStorageTable'
 - "The output type 'Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageTable' is changing"
	Change description : AzureStorageTable.CloudTable.ServiceClient will have 2 properties removed in a future release: ConnectionPolicy, ConsistencyLevel.


BreakingChangesAttributesCmdLetOutputChange2: Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageTable

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.StorageSync UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.StorageSync-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.StorageSync.dll

 The following cmdlets were affected this release:




### **Invoke-AzStorageSyncFileRecall**
The following parameters were affected this release:
#### **InputObject**
 - Cmdlet : 'Invoke-AzStorageSyncFileRecall'
 - The parameter : 'InputObject' is changing.
	Change description : Alias RegisteredServer is invalid and preserved for compatibility. Alias ServerEndpoint should be used instead





### **Set-AzStorageSyncServerEndpoint**
The following parameters were affected this release:
#### **InputObject**
 - Cmdlet : 'Set-AzStorageSyncServerEndpoint'
 - The parameter : 'InputObject' is changing.
	Change description : Alias RegisteredServer is invalid and preserved for compatibility. Alias ServerEndpoint should be used instead

---

### Documentation Breaking Changes Upcoming Breaking Changes Az.Websites UpcomingBreakingChanges (`documentation/breaking-changes/upcoming-breaking-changes/Az.Websites-UpcomingBreakingChanges.md`)

## Breaking changes in module Microsoft.Azure.PowerShell.Cmdlets.Websites.dll

 The following cmdlets were affected this release:




### **Get-AzWebAppSlotMetric**
 - Cmdlet : 'Get-AzWebAppSlotMetric'
 - The cmdlet 'Get-AzMetric' is replacing this cmdlet.


 - Cmdlet : 'Get-AzWebAppSlotMetric'
 - Get-AzWebAppSlotMetrics alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'



BreakingChangesAttributesCmdLetDeprecationMessageWithReplacement: Get-AzMetric





### **Get-AzAppServicePlanMetric**
 - Cmdlet : 'Get-AzAppServicePlanMetric'
 - The cmdlet 'Get-AzMetric' is replacing this cmdlet.


 - Cmdlet : 'Get-AzAppServicePlanMetric'
 - Get-AzAppServicePlanMetrics alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'



BreakingChangesAttributesCmdLetDeprecationMessageWithReplacement: Get-AzMetric





### **Get-AzWebAppMetric**
 - Cmdlet : 'Get-AzWebAppMetric'
 - The cmdlet 'Get-AzMetric' is replacing this cmdlet.


 - Cmdlet : 'Get-AzWebAppMetric'
 - Get-AzWebAppMetrics alias will be removed in an upcoming breaking change release
Note :The change is expected to take effect from the version :  '2.0.0'



BreakingChangesAttributesCmdLetDeprecationMessageWithReplacement: Get-AzMetric

---

### Documentation Development Docs Design Guidelines Azure Powershell Exceptions (`documentation/development-docs/design-guidelines/azure-powershell-exceptions.md`)

#  Azure PowerShell Exceptions

## What are Azure PowerShell Exceptions?

Azure PowerShell defines most commonly used exceptions, all of which inherit from the *[IContainsAzPSErrorData](https://learn.microsoft.com/dotnet/api/microsoft.azure.commands.common.icontainsazpserrordata?view=az-ps-latest)* interface. This interface includes telemetry data. Developers working on Azure PowerShell should use these exceptions during development, rather than other more generic exceptions.


| Azure PowerShell Exception Type | Default Error Kind | Mandatory Properties | When to Use it? |
|--|--|--|--|
| AzPSCloudException | Service | HttpStatusCode | This exception should be thrown for getting incorrect http response from Azure service. |
| AzPSAuthenticationFailedException | Internal | AuthErrorCode | This exception should be thrown for authentication failures in Azure PowerShell. |
| AzPSResourceNotFoundCloudException | User |  | This exception should be thrown when the resource is not found by Azure service. |
| AzPsArgumentException | User | ParamName | This exception should be thrown for errors in an arithmetic, casting, or conversion operation. |
| AzPSArgumentNullException | User | ParamName | This exception should be thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument. |
| AzPSArgumentOutOfRangeException | User | ParamName | This exception should be thrown when the argument is out of range. |
| AzPSException | N/A |  | This exception should be thrown when errors occur during application execution. |
| AzPSInvalidOperationException | Internal |  | This exception should be thrown when a method call is invalid for the object's current state. |
| AzPSIOException | User |  | This exception should be thrown when an I/O error occurs. |
| AzPSKeyNotFoundException | Internal | MapKeyName | This exception should be thrown when the key specified for accessing an element in a collection does not match any key in the collection. |
| AzPSApplicationException | Internal |  | This exception is representative of ApplicationException in Azure PowerShell. |
| AzPSFileNotFoundException | User | FileName (Not full path) | This exception should be thrown when accessing a file that does not exist. |

There are three types of errors in Azure PowerShell.
- **User Error**: The error is caused by user.
- **Service Error**: The error is caused by Azure services.
- **Internal Error**: other errors.

## How to use Azure PowerShell Exception?

- An code example for *AzPSArgumentException*

The source code is from [NewAzureRmAks.cs](https://github.com/Azure/azure-powershell/blob/77b1e37e11179e59333edd825b2459435cab8726/src/Aks/Aks/Commands/NewAzureRmAks.cs).

```csharp
throw new AzPSArgumentException(
    Resources.AksNodePoolAutoScalingParametersMustAppearTogether,
    nameof(EnableNodeAutoScaling),
    desensitizedMessage: Resources.AksNodePoolAutoScalingParametersMustAppearTogether);
``````

- An code example for from *AzPSCloudException*

The source code is [KubeCmdletBase.cs](https://github.com/Azure/azure-powershell/blob/77b1e37e11179e59333edd825b2459435cab8726/src/Aks/Aks/Commands/KubeCmdletBase.cs).

```csharp
var newEx = new AzPSCloudException(Resources.K8sVersionNotSupported, Resources.K8sVersionNotSupported, ex)
    {
        Request = ex.Request,
        Response = ex.Response,
        Body = ex.Body,
    };
throw newEx;
``````

- An code example for *AzPSResourceNotFoundCloudException*

The source code is from [KubeCmdletBase.cs](https://github.com/Azure/azure-powershell/blob/77b1e37e11179e59333edd825b2459435cab8726/src/Aks/Aks/Commands/KubeCmdletBase.cs).

```csharp
var newEx = new AzPSResourceNotFoundCloudException(ex.Message, innerException: ex)
    {
        Request = ex.Request,
        Response = ex.Response,
        Body = ex.Body,
    };
throw newEx;
``````

## Why to use Azure PowerShell Exception?

Providing detailed error information is helpful for developers to pinpoint the root cause of errors. However, due to GDPR (General Data Protection Regulation), we do not record client's detailed error messages in telemetry data. To assist developers in more efficiently locating errors, we define unified exception interfaces that includes additional error details without containing any sensitive information.

### Azure PowerShell Exception Telemetry Data

- An exception telemetry example for *AzPSArgumentException*

```json
{
"exception-data": "ParamName=context.Account;ErrorKind=User;ErrorLineNumber=289;ErrorFileName=AuthenticationFactory",
"exception-type": "Microsoft.Azure.Commands.Common.Exceptions.AzPSArgumentException"
}
``````

- An exception telemetry example for generic *ArgumentException*

```json
{
"exception-type": "System.ArgumentException"
}
``````

Refer to [Azure PowerShell Telemetry](https://eng.ms/docs/cloud-ai-platform/azure-core/azure-management-and-platforms/control-plane-bburns/azure-cli-tools-azure-cli-powershell-and-terraform/azure-cli-tools/teams_docs/azps_docs/telemetry#client-side-telemetry) for more telemetry details.

---

### Documentation Development Docs Design Guidelines Cmdlet Best Practices (`documentation/development-docs/design-guidelines/cmdlet-best-practices.md`)

# Cmdlet Best Practices

- [Cmdlet Naming Conventions](#cmdlet-naming-conventions)
  - [Verb-Noun Format](#verb-noun-format)
  - [Noun Prefix](#noun-prefix)
  - [Pascal Case](#pascal-case)
  - [Acronyms](#acronyms)
  - [Specific Noun and Noun Singularity](#specific-noun-and-noun-singularity)
  - [Set vs. Update](#set-vs-update)
  - [Cmdlet Alias](#cmdlet-alias)
- [Output Type](#output-type)
  - [Valid Output Types](#valid-output-types)
  - [Returning Wrapped SDK Types](#returning-wrapped-sdk-types)
  - [Returning No Output](#returning-no-output)
  - [Enumerate Collection When WriteObject()](#enumerate-collection-when-writeobject)
- [Output Format](#output-format)
- [`ShouldProcess`](#shouldprocess)
  - [When to Add the Force Parameter](#when-to-add-the-force-parameter)
- [`AsJob`](#asjob)
- [Required Parameter Sets](#required-parameter-sets)
  - [Interactive Parameter Set](#interactive-parameter-set)
  - [ResourceId Parameter Set](#resourceid-parameter-set)
  - [InputObject Parameter Set](#inputobject-parameter-set)


## Cmdlet Naming Conventions

The following are naming conventions to keep in mind when coming up with a name for your cmdlet.

### Verb-Noun Format

Cmdlet names should follow the _Verb-Noun_ format, where the verb is from the [list of approved PowerShell verbs](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/approved-verbs-for-windows-powershell-commands), and the noun is a specific noun describing a resource within your service.

### Noun Prefix

For ARM cmdlets, the noun must be prefixed with `Az`.

### Pascal Case

From the [_Strongly Encouraged Development Guidelines_](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/strongly-encouraged-development-guidelines#use-pascal-case-for-cmdlet-names-sd02):

> _Use Pascal case for cmdlet names. In other words, capitalize the first letter of the verb and all terms used in the noun. For example, "Clear-ItemProperty"._

### Acronyms
Do capitalize both characters of two-character acronyms. For example, New-Az*VM*, Remove-AzCosmos*DB*Table.

Do capitalize only the first character of acronyms with three or more characters, which aligned with Pascal case. for example, Restart-Az*Vmss*, New-Az*Sql*Database.

### Specific Noun and Noun Singularity

From the [_Strongly Encouraged Development Guidelines_](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/strongly-encouraged-development-guidelines#use-a-specific-noun-for-a-cmdlet-name-sd01):

> _Nouns used in cmdlet naming need to be very specific so that the user can discover your cmdlets. Prefix generic nouns such as "server" with a shortened version of the product name. For example, if a noun refers to a server that is running an instance of Microsoft SQL Server, use a noun such as "SQLServer". The combination of specific nouns and the short list of approved verbs enable the user to quickly discover and anticipate functionality while avoiding duplication among cmdlet names._
>
> _To enhance the user experience, the noun that you choose for a cmdlet name should be singular. For example, use the name `Get-Process` instead of `Get-Processes`. It is best to follow this rule for all cmdlet names, even when a cmdlet is likely to act upon more than one item._

### Set vs. Update

If your cmdlet is performing a **PATCH** operation (_i.e._, a partial replacement on the server), then the cmdlet should use the verb `Update`.

If your cmdlet is performing a **PUT** operation (_i.e._, a full replacement on the server), the cmdlet should use the verb `Set`.

### Cmdlet Alias

If you there is a separate nomenclature for your service and/or resource, or if you would like to shorten the name of the cmdlet so it's easier to remember, you can add an alias attribute to your cmdlet to allow for this functionality.

## Output Type

Specified by the `OutputType` attribute, this piece of metadata lets the user know what the type of the object returned by the cmdlet is (found in the **Outputs** section of a cmdlet's help content). The type specified here should always be a single element and not an enumeration of elements (_e.g._, `PSVirtualMachine` instead of `List<PSVirtualMachine>`).

### Valid Output Types

If the cmdlet returns an object, the type of the object returned must be defined; the output type for a cmdlet should _never_ be `object`, `PSObject`, `PSCustomObject` or the like. Returning these types of objects makes it difficult for the user to anticipate what properties will be found on the object returned from the cmdlet, as well as makes it impossible for the breaking change analyzer to detect if a breaking change was introduced to the cmdlet as the type is not defined.

In order to preserve proper piping scenarios, the output type for a cmdlet should _never_ be a `string`. If a cmdlet is expected to return a `string`, the suggestion is to introduce a new type that encapsulates the `string` information as a property and return that object. The PowerShell language revolves around objects and passing them around cmdlets; returning `string` objects can introduce inconsistencies in the piping experience for users.

### Returning Wrapped SDK Types

In most cases, cmdlets will be returning an object corresponding to a resource that a user is performing an action on. Rather than returning the .NET SDK type for that resource (exposing .NET SDK types in PowerShell cmdlets is _strongly_ discouraged), we suggest creating a new class that wraps this .NET SDK type, allowing for breaking changes in the underlying type while avoiding breaking changes in the PowerShell type.

For example, the `Get-AzVM` cmdlet uses the .NET SDK to retrieve objects of the `VirtualMachine` type, but a new class, `PSVirtualMachine`, was created to wrap the type from the .NET SDK, and is returned by the cmdlet. If, in the future, the `VirtualMachine` type in the .NET SDK has a property removed, that property can still be maintained in PowerShell by adding it to the `PSVirtualMachine` type and recreating the value, thus avoiding a breaking change in the corresponding cmdlet(s).

### Returning No Output

In the case where your cmdlet doesn't return any output (_e.g._, deleting, starting, stopping a resource), the cmdlet should implement the `-PassThru` parameter and the `OutputType` should be set to `bool`. The `-PassThru` parameter is a `SwitchParameter` set by the user to signal that they would like to receive output from a cmdlet which does not return anything. If the `-PassThru` parameter is provided, you should return the value `true` so the user is made aware that the operation was successful. If the operation was unsuccessful, then the cmdlet should throw an exception.

From the [_Strongly Encouraged Development Guidelines_](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/strongly-encouraged-development-guidelines#support-the-passthru-parameter):

> _By default, many cmdlets that modify the system, such as the `Stop-Process` cmdlet, act as "sinks" for objects and do not return a result. These cmdlet should implement the `-PassThru` parameter to force the cmdlet to return an object._

The code below shows how this should look in a cmdlet:

```cs
[Cmdlet(...), OutputType(typeof(bool))]
public class MySampleCmdlet : MyBaseCmdlet
{
    // other parameters omitted

    [Parameter(Mandatory = false)]
    public SwitchParameter PassThru { get; set; }

    public override void ExecuteCmdlet()
    {
        // other code omitted

        if (this.PassThru.IsPresent)
        {
            WriteObject(true);
        }
    }
}
```

### Enumerate Collection When WriteObject()

When returning a collection of objects, the cmdlet should enumerate the collection. This ensures that the objects are written to the pipeline one at a time, which is the expected behavior for PowerShell cmdlets.

There are two ways to accomplish this: (a) call `WriteObject()` for each object in the collection, or (b) use `WriteObject()` with the `enumerateCollection` parameter set to `true`. The `enumerateCollection` parameter is a boolean that, when true, will enumerate the collection and write each object to the pipeline.

The code below shows how this should look in a cmdlet:

```cs
var resources = Client.ListResources();

// option a: call WriteObject() for each object in the collection
foreach (var resource in resources)
{
    WriteObject(resource);
}

// option b: use WriteObject() with the enumerateCollection parameter set to true
WriteObject(resources, true);
```

## Output Format

PowerShell supports several output formats, including `table`, `list`, and `wide`. The default output format for Azure PowerShell cmdlets is `table`, which is the most readable for displaying a list of resources. Here's an example:

```powershell
PS > Get-AzVM

ResourceGroupName    Name       Location          VmSize  OsType            NIC
-----------------    ----       --------          ------  ------            ---
TEST1               test1         eastus Standard_DS1_v2 Windows          test1
TEST1               test2         westus Standard_DS1_v2 Windows          test2
TEST1               test3         eastus Standard_DS1_v2 Windows          test3
TEST2               test4         westus Standard_DS1_v2 Windows          test4
TEST2               test5         eastus Standard_DS1_v2 Windows          test5
```

The idea about table format is for users to be able to quickly scan the output and find the information they are looking for. To achieve this, follow the golden rule of thumb: **show only the MVPs (most valuable properties)**.

It's obvious that important properties need to be displayed, but be careful not to overcrowd the output with too many properties. PowerShell console has a limited width, so if there are too many columns, the output may be truncated and lose the meaning of being quickly readable.

A practical way of designing the table format is:

1. List the properties from the most important to the least important.
2. Take the most important properties until (a) the width of the console is filled or (b) the rest of the properties are not important enough to be displayed.

## `ShouldProcess`

If a cmdlet makes any changes to an object on the server (_e.g._, create, delete, update, start, stop a resource), the cmdlet should implement `ShouldProcess`. This property adds the `-WhatIf` and `-Confirm` parameters to the cmdlet:

- `-WhatIf` is a `SwitchParameter` that, when provided by the user, doesn't execute the part of the cmdlet responsible for making the changes to the object, but rather displays a message alerting the user of the action that is to be performed on the object
- `-Confirm` is a `SwitchParameter` that, when provided by the user, prompts the user for confirmation that they want to continue with the execution of the cmdlet.

The code below shows how this should look in a cmdlet:

```cs
[Cmdlet(..., SupportsShouldProcess = true), OutputType(typeof(...))]
public class MySampleCmdlet : MyBaseCmdlet
{
    // parameters omitted

    public override void ExecuteCmdlet()
    {
        // other code omitted

        if (ShouldProcess(targetResource, actionMessage))
        {
            // make the change
        }
    }
}
```

More information about `ShouldProcess` can be found in the [_Should Process and Confirm Impact_](./should-process-confirm-impact.md) document.

### When to Add the Force Parameter

The `-Force` parameter is reserved for special scenarios where additional confirmation from the user is required. From the above document on [_Should Process and Confirm Impact_](./should-process-confirm-impact.md) document:

> _Some cmdlets require additional confirmation. For example, if a cmdlet would destroy existing resources in some circumstances, the cmdlet might detect that condition and prompt the user to verify before continuing. Overwriting an existing resource during resource creation, overwriting a file when downloading data, deleting a resource that is currently in use, or deleting a container that contains additional resources are all example of this pattern. To implement additional confirmation, and allow scripts to opt out of additional prompts, the above pattern is enhanced with calls to `ShouldContinue()` and the `-Force` parameter._

## `AsJob`

All long running operations must implement the `-AsJob` parameter, which will allow the user to create jobs in the background. For more information about PowerShell jobs and the `-AsJob` parameter, read [this doc](https://learn.microsoft.com/en-us/powershell/azure/using-psjobs).

To implement the `-AsJob` parameter, simply add the parameter to the end of the parameter list:

````cs
[Parameter(Mandatory = false, HelpMessage = "Run cmdlet in the background")]
public SwitchParameter AsJob { get; set; }
````

Once you add the parameter, please manually test that the job is created and successfully completes when the parameter is specified.  Additionally, please ensure that the help files are updated with this parameter.

To ensure that `-AsJob` is not broken in future changes, please add a test for this parameter. To update tests to include this parameter, use the following pattern:

````powershell
$job = Get-AzSubscription -AsJob
$job | Wait-Job
$subscriptions = $job | Receive-Job
````

To set a custom job name, please use [`SetBackgroupJobDescription`](https://github.com/Azure/azure-powershell-common/blob/main/src/Common/AzurePSCmdlet.cs#L810). The default job description is: "Long Running Operation for '{cmdlet name}' on resource '{resource name}'"

## Required Parameter Sets

In most Azure PowerShell cmdlets, there is a bare minimum of three parameter sets that need to be implemented.

### Interactive Parameter Set

This parameter set should be implemented by _every_ cmdlet - in most cases, the user provides the name of the resource that they are acting upon (`-Name`) and the resource group in which they are acting in (`-ResourceGroupName`).

The interactive parameter set **will always be the default parameter set** for a cmdlet (specified by the `DefaultParameterSetName` property in the `Cmdlet` attribute). This means that when PowerShell is unable to determine which parameter set a user is in, it will default to the interactive parameter set and prompt the user to provide values for the missing mandatory parameters.

### ResourceId Parameter Set

This parameter set should be implemented by _every_ cmdlet - the user is able to provide a `-ResourceId` string or GUID from the Azure Portal, or from one of the generic resources cmdlets (more information about this scenario can be found in the [`piping-best-practices.md`](./piping-best-practices.md#using-the--resourceid-parameter) document), and act upon the given resource associated with the id. The typical `-Name` and `-ResourceGroupName` parameters are replaced by a single `-ResourceId` parameter of type string.

### InputObject Parameter Set

This parameter should be implemented by _most_ cmdlets - the user is able to take the object returned from the `Get`, `New`, or `Set` cmdlets (or other cmdlets that return the common resource) and provide it to the `-InputObject` parameter for a cmdlet that acts upon the same resource (more information about this scenario can be found in the [`piping-best-practices.md`](./piping-best-practices.md#using-the--inputobject-parameter) document). The typical `-Name` and `-ResourceGroupName` parameters are retrieved from the `-InputObject` that the user is passing through.

---

### Documentation Development Docs Design Guidelines Managed Identity Best Practices (`documentation/development-docs/design-guidelines/managed-identity-best-practices.md`)

# Managed Identity Best Practices

## Overview
This document provides a cmdlet best practice for supporting Managed Identity in Azure PowerShell. 
- New cmdlets are required to follow the best practices. If any further discussion is needed, please contact [Azure PowerShell team](mailto: azdevxps@microsoft.com);
- For existing cmdlets, we are strongly recommended to keep aligned with the best practice. Please contact [Azure PowerShell team](mailto: azdevxps@microsoft.com) to make a proper migration plan. 

## Applicability
Resources supported Managed Identity in management plane with common type definition in [managedidentity.json](https://github.com/Azure/azure-rest-api-specs/blob/main/specification/common-types/resource-management/v5/managedidentity.json).

## Cmdlet Syntax

### New- Cmdlet Design Practices
Use `[EnableSystemAssignedIdentity <SwitchParameter>]` to enable system-assigned identity and `[UserAssignedIdentity <string[]>]` to add user-assigned identities.

```powershell
New-AzResource ... -EnableSystemAssignedIdentity -UserAssignedIdentity <id1>, <id2>
```

- If `EnableSystemAssignedIdentity` is present, IdentityType is set up as `SystemAssigned`, which enables system-assigned identity;
- If `UserAssignedIdentity` is provided, IdentityType is set up as `UserAssigned`, which adds user-assigned identities by provided value;
- If `EnableSystemAssignedIdentity` and `UserAssignedIdentity` both are not presented, IdentityType is set up as `None`;
- If `EnableSystemAssignedIdentity` is present and `UserAssignedIdentity` is provided, IdentityType is set up as `SystemAssigned,UserAssigned`, which enables system-assigned identity and adds user-assigned identities by provided value;

### Update- Cmdlet Design Practices
Use `[EnableSystemAssignedIdentity <bool>]` to enable or disable system-assigned identity and `[UserAssignedIdentity <string[]>]` to set user-assigned identities.
#### Update System-assigned Identity
```powershell
Update-AzResource ... -EnableSystemAssignedIdentity $false
```
If `EnableSystemAssignedIdentity` is provided, $false disables system-assigned identity and $true enables system-assigned identity. If `EnableSystemAssignedIdentity` is not provided, it means no change happens on system-assigned identity.

#### Update User-assigned Identity
```powershell
Update-AzResource ... -UserAssignedIdentity <id1>, <id2>
```
If `UserAssignedIdentity` is provided, user-assigned identities will be overridden as the value of `UserAssignedIdentity`; If `UserAssignedIdentity` is not provided, it means keep user-assigned identity as previous value. 

#### Remove User-assigned Identity
```powershell
Update-AzResource ... -UserAssignedIdentity @()
```
Especially, setting `UserAssignedIdentity` as empty collection removes all existing user-assigned identities.

### Set- Cmdlet Design Practices
The design practices of Set- Cmdlet depends on if cmdlet will set properties that are not provided as empty or default value,
- If yes, please follow [New- Cmdlet Design Practices](#New--Cmdlet-Design-Practices);
- Otherwise, please follow [Update- Cmdlet Design Practices](#Update--Cmdlet-Design-Practices). 

## Migration for Existing Cmdlets
Please contact [Azure PowerShell team](mailto: azdevxps@microsoft.com) to make a proper migration plan. 

## Frequently Asked Question
### Is it required to set the type of UserAssignedIdentity as string array if service only supports one user assigned identity?
We are recommended to use string array as the type of UserAssignedIdentity with following reasons:
- string array matches the swagger definition of `UserAssignedIdentity`;
- string array is inclusive of a single string;
- No syntax changes if service supports one more user assigned identity in future;
- Service will provide correct error response if customer reaches the count limitation of `UserAssignedIdentity` ideally, which means no harm.

###  What should I do if transforming IdentityType and UserAssignedIdentity introduce breaking changes
This breaking changes usually happen when migrate from autorest.powershell v3 to v4. In general, we require APIs that support managed identity to follow the standard pattern described in this guide. So please follow these steps:
If the module is under pre-GA status, we can let the syntax break directly due to pre-GA features are not promised stable. 
If the module is GAed, we need to disable the transform (See guideline at [here](https://github.com/Azure/autorest.powershell/blob/main/docs/migration-from-v3-to-v4.md#how-to-mitigate-the-breaking-changes-of-managed-identity-best-practice-alignment).) but preannounce breaking change)  and plan to break it (add upcoming breaking changes for them and take the effects on a major release).

### What should I do if Autorest reports _"Parameter IdentityType in operation '{operationId}' can not be transformed as the best practice design"_?
This error indicates that autorest is trying to replace PATCH operation by GET+PUT operation to let IdentityType transformed as best practice design but failed due to certain reasons. One of common reasons is GET operation contains query parameter and autorest has not supported such a combined GET+PUT operation. To mitigate this issue, 

- Include a customization script to transform the parameter IdentityType to EnableSystemAssignedIdentity by `get` + `patch` update for this type of operation. The following are the detailed steps on how to accomplish this.
  - disable transformation for the operation which reported error in README.md by
  ```
  disable-transform-identity-type-for-operation:
    - Operation_id
  ```
  - hide the corresponding Update cmdlet in directive by
  ```
   -  where:
        verb: Update
        subject: {Subject-Name}
      hide: true
  ```
  - run `autorest` and `./build-module.ps1`
  - manually change IdentityType to EnableSystemAssignedIdentity<bool> in `Update-Az{ModuleName}{Subject-Name}` like
  ```
      [Parameter()]
      [Microsoft.Azure.PowerShell.Cmdlets.{ModuleName}.Category('Body')]
      [System.Nullable[System.Boolean]]
      # Decides if enable a system assigned identity for the resource.
      ${EnableSystemAssignedIdentity},
  ```
  - calculate the value of IdentityType as swagger defined in process block, see [instance](https://github.com/Azure/azure-powershell/blob/827001c79c4416e0b74f5857c2ad72b7932b1f9a/src/Astro/Astro.Autorest/custom/Update-AzAstroOrganization.ps1#L269) for Update-Az{ModuleName}{Subject-Name}.

---

### Documentation Development Docs Design Guidelines Module Best Practices (`documentation/development-docs/design-guidelines/module-best-practices.md`)

# Module Best Practices

- [Module Metadata](#module-metadata)
  - [Module Naming](#module-naming)
  - [Module Manifest](#module-manifest)
- [Module Dependencies](#module-dependencies)
  - [Common Assemblies](#common-assemblies)
  - [SDK Assemblies](#sdk-assemblies)
  - [Other Assemblies](#other-assemblies)

## Module Metadata

### Module Naming

Unless otherwise stated, the name of the module should be similar to that of provider called in the cmdlets. For example, if the cmdlets in a module called the `Microsoft.Compute` provider, then the module should be named `Az.Compute`.

### Module Manifest

The module manifest file, found in the format of `Az.MyService.psd1`, contains all necessary metadata information about a module, and can be initially generated using the `New-ModuleManifest` cmdlet.

Below is sample `Az.MyService.psd1` file that can be used as a template for new `.psd1` files as well. Press the "Click to expand" text below to reveal the file:

<details><summary>Click to expand</summary>
<p>

```
/* Detailed source-code truncated for AI context efficiency. */
```

</p>
</details>

Below is a table with some information about important fields of the module manifest file:

| Field                | Detail |
| -------------------- | ------ |
| `ModuleVersion`      | This should not be touched unless otherwise specified to do so. Preview modules are noted by this version being `0.x.x`, or with the `preview` prefix specified in the `Prerelease` field at the bottom of the file. All other versions should signal that the module is stable. |
| `Description`        | This should be updated to include information about the service, as well as a link to any corresponding service docs found on https://learn.microsoft.com. |
| `RequiredModules`    | This should only contain a module dependency on the `Az.Accounts` module, unless otherwise noted. The version should be the latest version of `Az.Accounts` (found in the `Az.Accounts.psd1` file). |
| `RequiredAssemblies` | This should only contain assemblies that the module needs to run all of the cmdlets successfully. At a minimum, the service's SDK should be included in this list. Any other additional modules should be verified by the Azure PowerShell team. **No external service team SDK should be included in this field**. |
| `FormatsToProcess`   | This should contain any formatting files that are used by the module to alter the display of cmdlets' output. |
| `NestedModules`      | This should contain any assembly built with your project that contains cmdlet code. There is usually only one assembly found in this field unless the module contains multiple services. |
| `CmdletsToExport`    | All cmdlets found in the module should be listed in this field. |
| `AliasesToExport`    | All aliases found in the module should be listed in this field. |
| `Tags`               | This should only include service-specific words or phrases to help users find the module in the PowerShell Gallery. **There should be no spaces in any of the tags added to this field; any tags with spaces will cause publishing to PowerShell Gallery to fail**. |
| `ReleaseNotes`       | This should not be touched unless otherwise specified to do so. This field will be updated as a part of the release process for the module. |
| `Prerelease`         | This should be set to `preview` if generating a preview version of a stable module. This will append a `-preview` string to the end of the module version. |

## Module Dependencies

### Common Assemblies

Every module's `.csproj` file must import the [`Common.Netcore.Dependencies.targets`](../../../tools/Common.Netcore.Dependencies.targets) file to ensure that the correct version of each common assembly is referenced by the module. These assemblies are packaged with the `Az.Accounts` module and are loaded into a PowerShell session when `Az.Accounts` is imported (which is also done automatically when importing the service module).

Some of the assemblies included in this `.targets` file:

- `Microsoft.Azure.PowerShell.Clients.*`
- `Microsoft.Rest.ClientRuntime`
- `Microsoft.Rest.ClientRuntime.Azure`
- `Newtonsoft.Json`

### SDK Assemblies

A module should have a dependency on only its SDK and no other service's SDK; if a module takes a dependency on another service's SDK, this can introduce conflicting assembly versions between the version of the SDK referenced by the service team's module and the external service team's module, which will result in assembly loading issues for the user in PowerShell.

If an external service's SDK is required by a module, the Azure PowerShell team must be consulted to resolve this issue. In most cases, the issue is resolved by grabbing a snapshot of the service's SDK and putting it in the [`azure-powershell-common`](https://github.com/Azure/azure-powershell-common) repository, which can then be referenced by any module. This allows the service team to continue shipping with their own SDK without worrying about external service teams from taking a dependency on the same SDK and introducing these potential assembly loading issues.

### Other Assemblies

All other assemblies referenced by a module should be verified by the Azure PowerShell team to ensure that they aren't introducing additional dependencies that will clash with packages already being shipped.

---

### Documentation Development Docs Design Guidelines Parameter Best Practices (`documentation/development-docs/design-guidelines/parameter-best-practices.md`)

# Parameter Best Practices

- [Parameter Guidelines](#parameter-guidelines)
  - [Parameter Naming Conventions](#parameter-naming-conventions)
    - [Standard Parameter Name](#standard-parameter-name)
    - [Pascal Case](#pascal-case)
    - [Acronyms](#acronyms)
    - [Singularity](#singularity)
    - [Parameter Alias](#parameter-alias)
  - [Parameter Types](#parameter-types)
    - [Valid Parameter Types](#valid-parameter-types)
    - [Consistent Parameter Types](#consistent-parameter-types)
    - [Array vs. Enumerable Types](#array-vs-enumerable-types)
    - [Secret Parameters](#secret-parameters)
    - [Bool vs. SwitchParameter](#bool-vs-switchparameter)
  - [Argument Completers](#argument-completers)
    - [Resource Group Completer](#resource-group-completer)
    - [Resource Name Completer](#resource-name-completer)
    - [Location Completer](#location-completer)
    - [Generic Argument Completer](#generic-argument-completer)
- [Parameter Set Guidelines](#parameter-set-guidelines)
  - [Parameter Set Naming Conventions](#parameter-set-naming-conventions)
    - [Pascal Case](#pascal-case-1)
  - [Attribute Guidelines](#attribute-guidelines)
    - [Mutually Exclusive Parameter Sets](#mutually-exclusive-parameter-sets)
    - [Positional Parameters Limit](#positional-parameters-limit)
    - [ValueFromPipeline Limit](#valuefrompipeline-limit)
- [Appendix: Parameter Syntax](#appendix-parameter-syntax)

## Parameter Guidelines

### Parameter Naming Conventions

The following are naming conventions to keep in mind when coming up with a name for your parameters.

In addition, a recommended list of parameter names can be found [here](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/standard-cmdlet-parameter-names-and-types).

#### Standard Parameter Name

From the [_Strongly Encouraged Development Guidelines_](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/strongly-encouraged-development-guidelines#use-standard-parameter-names):

> _Your cmdlet should use standard parameter names so that the user can quickly determine what a particular parameter means. If a more specific name is required, use a standard parameter name, and then specify a more specific name as an alias. For example, the `Get-Service` cmdlet has a parameter that has a generic name (**Name**) and a more specific alias (**ServiceName**). Both terms can be used to specify the parameter._

#### Pascal Case

Similar to cmdlets, parameters should follow pascal casing.From the [_Strongly Encouraged Development Guidelines_](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/strongly-encouraged-development-guidelines#use-pascal-case-for-parameter-names):

> _Use Pascal case for parameter names. In other words, capitalize the first letter of each word in the parameter name, including the first letter of the name._

#### Acronyms
Do capitalize both characters of two-character acronyms. For example,-*VM*ScaleSetName.

Do capitalize only the first character of acronyms with three or more characters, which aligned with Pascal case. For example, -*Fqdn* and -*Vmss*Name.

#### Singularity

From the [_Strongly Encouraged Development Guidelines_](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/strongly-encouraged-development-guidelines#use-singular-parameter-names):

> _Avoid using plural names for parameters whose value is a single element. This includes parameters that take arrays or lists because the user might supply an array or list with only one element._
>
> _Plural parameter names should be used only in those cases where the value of the parameter is always a multiple-element value. In these cases, the cmdlet should verify that multiple elements are supplied, and the cmdlet should display a warning to the user if multiple elements are not supplied._

A common exception to this guideline is with units, e.g. `-IntervalInSeconds`, `-MaxSizeInMegabytes`.

#### Parameter Alias

If you there is a separate nomenclature for the parameter name, or if you would like to shorten the name of the parameter so it's easier to remember, you can add an alias attribute to your parameter to allow for this functionality.

### Parameter Types

#### Valid Parameter Types

The type of parameters should always be defined; a parameter should never be of type `object`, `PSObject`, `PSCustomObject` or the like. Defining a parameter with any of these types can make it difficult for the user to know what value they should be providing to the parameter, as well as makes it difficult for the breaking change analyzer to detect any breaking changes made to the parameter since it has no knowledge about changes in the types' properties.

#### Consistent Parameter Types

From the [_Strongly Encouraged Development Guidelines_](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/strongly-encouraged-development-guidelines#use-consistent-parameter-types):

> _When the same parameter is used by multiple cmdlets, always use the same parameter type. For example, if the **Process** parameter is an **Int16** type for one cmdlet, do not make the **Process** parameter for another cmdlet a **UInt16** type._

#### Array vs. Enumerable Types

For parameters that require a collection of elements to be provided, use an array instead of any other enumerable type to represent this collection.

From the [_Strongly Encouraged Development Guidelines_](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/strongly-encouraged-development-guidelines#support-arrays-for-parameters):

> _Frequently, users must perform the same operation against multiple arguments. For these users, a cmdlet should accept an array as parameter input so that a user can pass the arguments into the parameter as a Windows PowerShell variable. For example, the `Get-Process` cmdlet uses an array for the strings that identify the names of the processes to retrieve._

#### Secret Parameters

For parameters whose type is string and which represent a value that should be kept secret in some fashion (such as a password, secret, key, etc.), the type of the parameter should be [SecureString](https://learn.microsoft.com/dotnet/api/system.security.securestring) to limit the exposure of sensitive string data from unexpected leakage during cmdlet execution. The practice also applies to output properties whose type is string and that should be kept in secret.

Please notice that DO NOT use `SecureString` for encryption purposes. We only recommend to use `SecureString` as a wrapper of string to prevent unexpected leakage of information as string may still be exposed to any process or operation that has access to raw memory.

From [How secure is SecureString?](https://learn.microsoft.com/dotnet/api/system.security.securestring#how-secure-is-securestring)

> _SecureString is more secure than String because it limits the exposure of sensitive string data. However, those strings may still be exposed to any process or operation that has access to raw memory, such as a malicious process running on the host computer, a process dump, or a user-viewable swap file. Instead of using SecureString to protect passwords, the recommended alternative is to use an opaque handle to credentials that are stored outside of the process._

#### Bool vs. SwitchParameter

Parameters of type `bool` are _strongly_ discouraged in PowerShell. The `SwitchParameter` type of a parameter acts a flag that signals whether or not some action should be taken based on if the parameter was provided or not.

The only case where a `bool` parameter should be used is for a `PATCH` operation wrapped by an `Update-*` cmdlet; in this case, the user will have the option to set the value to `true` or `false`, or not provide a value at all, which keeps the value the same on the server. For a `PUT` operation wrapped by a `Set-*` cmdlet, the normal `SwitchParameter` type should be used.

### Argument Completers

PowerShell uses Argument Completers to provide tab completion for users. Azure PowerShell has multiple specific argument completers that should be applied to relevant parameters, as well as a generic argument completer that can be used to tab complete with a given list of values.

#### Resource Group Completer

For any parameter that takes a resource group name, the `ResourceGroupCompleter` should be applied as an attribute.  This will allow the user to tab through all resource groups in the current subscription.

```cs
using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters;
...
[Parameter(Mandatory = false, HelpMessage = "The resource group name")]
[ResourceGroupCompleter]
public string ResourceGroupName { get; set; }
```

#### Resource Name Completer

For any parameter that takes a resource name, the `ResourceNameCompleter` should be applied as an attribute.  This will allow the user to tab through all resource names for the ResourceType in the current subscription.  This completer will filter based upon the current parent resources provided (for instance, if ResourceGroupName is provided, only the resources in that particular resource group will be returned).  For this completer, please provide the ResourceType as the first argument, followed by the parameter name for all parent resources starting at the top level.

```cs
using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters;
...
[Parameter(Mandatory = false, HelpMessage = "The parent server name")]
[ResourceNameCompleter("Microsoft.Sql/servers", nameof(ResourceGroupName))]
public string ServerName { get; set; }

[Parameter(Mandatory = false, HelpMessage = "The database name")]
[ResourceNameCompleter("Microsoft.Sql/servers/databases", nameof(ResourceGroupName), nameof(ServerName))]
public string Name { get; set; }
```

#### Location Completer

For any parameter that takes a location, the `LocationCompleter` should be applied as an attribute.  In order to use the `LocationCompleter`, you must input as an argument all of the Providers/ResourceTypes used by the cmdlet.  The user will then be able to tab through locations that are valid for all of the Providers/ResourceTypes specified.

```cs
using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters;
...
[Parameter(Mandatory = false, HelpMessage = "The location of the resource")]
[LocationCompleter("Microsoft.Batch/operations")]
public string Location { get; set; }
```

#### Generic Argument Completer

For any parameter which you would like the user to tab through a list of suggested values (but you do not want to limit the users to only these values), the generic argument completer should be added.

```cs
using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters;
...
[Parameter(Mandatory = false, HelpMessage = "The tiers of the plan")]
[PSArgumentCompleter("Basic", "Premium", "Elite")]
public string Tier { get; set; }
```

## Parameter Set Guidelines

### Parameter Set Naming Conventions

The following are naming conventions to keep in mind when coming up with a name for your parameter set.

#### Pascal Case

Similar to parameters (mentioned above), parameter set names should follow pascal casing. From the [_Strongly Encouraged Development Guidelines_](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/strongly-encouraged-development-guidelines#use-pascal-case-for-cmdlet-names-sd02):

> _Use Pascal case for cmdlet names. In other words, capitalize the first letter of the verb and all terms used in the noun. For example, "Clear-ItemProperty"._

### Attribute Guidelines

The following are guidelines that should be followed when working with the attributes of a parameter set.

#### Mutually Exclusive Parameter Sets

For PowerShell to determine which parameter set a user is intending to use with a set of provided parameters, the parameter sets need to be designed in such a way that they are mutually exclusive. From the remarks section of [_Parameter Attribute Declaration_](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/parameter-attribute-declaration#remarks):

> _Each parameter set must have at least one unique parameter. Good cmdlet design indicates this unique parameter should also be mandatory if possible. If your cmdlet is designed to be run without parameters, the unique parameter cannot be mandatory._

#### Positional Parameters Limit

It is possible to call a PowerShell cmdlet without providing the parameter names, but just the values you would like to pass through. This is done by specifying the position at which the value of each parameter should be provided by using the `Position` property for a parameter.  However, when there are too many positional parameters in a single parameter set, it can be difficult for the user to remember the exact ordering in which the parameter values should be provided. From the remarks section of [_Parameter Attribute Declaration_](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/parameter-attribute-declaration#remarks):

> _When you specify positional parameters, limit the number of positional parameters in a parameter set to less than five. And, positional parameters do not have to be contiguous. Positions 5, 100, and 250 work the same as positions 0, 1, and 2._

In addition, there should be no two parameters with the same position in the same parameter set. From the remarks section of [_Parameter Attribute Declaration_](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/parameter-attribute-declaration#remarks):

> _No parameter set should contain more than one positional parameter with the same position._

#### ValueFromPipeline Limit

Allowing the user to pipe an object from one cmdlet to another is a major scenario in PowerShell, but allowing multiple parameters in the same parameter set to accept their value from the pipeline can cause issues. From the remarks section of [_Parameter Attribute Declaration_](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/parameter-attribute-declaration#remarks):

> _Only one parameter in a parameter set should declare ValueFromPipeline = true. Multiple parameters can define ValueFromPipelineByPropertyName = true._


## Appendix: Parameter Syntax

In PowerShell documentation, square brackets (`[]`) indicate optional.
Convention is as follows:

```powershell
command-name
    -RequiredParameterName <RequiredParameterValue>
    [-OptionalParameterName <OptionalParameterValue>]
    [-OptionalSwitchParameters]
    [-OptionalParameterName] <RequiredParameterValue>
```

Using `New-Alias` cmdlet as an example:

```powershell
New-Alias
    [-Name] <string>             # required 'positional' parameter
    [-Value] <string>
    [-Description <string>]      # optional parameter
    [-Force]                     # optional switch parameter (all switch parameters are optional, non-positional)
    [-Option {None | ReadOnly | Constant | Private | AllScope}]
    [-PassThru]
    [-Scope <string>]
    [-Confirm]
    [-WhatIf]
    [<CommonParameters>]
```

---

### Documentation Development Docs Design Guidelines Piping Best Practices (`documentation/development-docs/design-guidelines/piping-best-practices.md`)

# Piping Best Practices

_Note_: for the below examples, the string "TopLevelResource" would be replaced with the name of your top-level resource (_e.g._, "VirtualMachine", "VirtualNetwork", "SqlServer"), and the string "ChildResource" would be replaced with the name of your child resource (_e.g._, "VirtualMachineExtension", "VirtualNetworkPeering", "SqlDatabase")

- [Piping in PowerShell](#piping-in-powershell)
  - [Understanding Piping](#understanding-piping)
- [Piping in Azure PowerShell](#piping-in-azure-powershell)
  - [Using the `-InputObject` Parameter](#using-the--inputobject-parameter)
    - [Short explanation](#short-explanation)
    - [Long explanation](#long-explanation)
  - [Using the `-ResourceId` Parameter](#using-the--resourceid-parameter)
    - [Short explanation](#short-explanation-1)
    - [Long explanation](#long-explanation-1)
  - [Full examples](#full-examples)

## Piping in PowerShell

### Understanding Piping

In PowerShell, cmdlets pipe objects between one another; cmdlets should return objects, not text (strings).

For example, in Azure PowerShell, you can remove all of your current environments with the following pipeline scenario:

```powershell
Get-AzEnvironment | Remove-AzEnvironment
```

The cmdlet `Get-AzEnvironment` will return a set of `Environment` objects, and those objects will be individually piped to the `Remove-AzEnvironment` cmdlet, where they will be removed.

When an object is being piped to a cmdlet, PowerShell will first check to see if it can bind the input object to a parameter with the same type and has the property `ValueFromPipeline = true`. If no parameters are bound at this point, PowerShell will do the same check for parameters with the `ValueFromPipeline = true` parameter, but it will see if it can convert the input object to the type of the parameter. If no parameters are bound at this point, PowerShell will then see if it can bind the properties of the input object with parameters that share the same name and have the property `ValueFromPipelineByPropertyName = true` that are all in the same parameter set.

For more information on piping, see the article [_Understanding pipelines_](https://learn.microsoft.com/en-us/powershell/scripting/learn/understanding-the-powershell-pipeline).

## Piping in Azure PowerShell

There are two main scenarios that we wish to enable in cmdlets for Azure PowerShell:
- piping by value using an `-InputObject` parameter
- piping by property name using a `-ResourceId` parameter

### Using the `-InputObject` Parameter

#### Short explanation
For all resources, `-InputObject` should be implemented for at least the `Remove-*`, `Set-*` and `Update-*` cmdlets (and any other cmdlet where an existing resource is being operated on, such as `Start-*`, `Stop-*`, etc.). The implementation of this will be a new parameter set, like the following:

```
Remove-AzTopLevelResource -InputObject <PSTopLevelResource> [...] [-PassThru] [-WhatIf] [-Confirm]
```

For all child resources, the same functionality should be added for the cmdlets above, but will also include an additional parameter set for the parent resource's object.  The implementation of this will be two new parameter sets, like the following:

```
Remove-AzChildResource -InputObject <PSChildResource> [...] [-PassThru] [-WhatIf] [-Confirm]

Remove-AzChildResource -TopLevelResourceObject <PSTopLevelResource> -Name <String> [...] [-PassThru] [-WhatIf] [-Confirm]
```

#### Long explanation
This scenario should be used when piping objects around within the same module. For example, if you have a set of `Get-AzTopLevelResource`, `Remove-AzTopLevelResource`, and `Set-AzTopLevelResource` cmdlets, the `Remove-AzTopLevelResource` and `Set-AzTopLevelResource` cmdlets should have a parameter set that takes the `-InputObject` parameter of type `PSTopLevelResource` so that a user can do the following:

```powershell
# --- Piping scenario ---
# Setting and removing an individual object
Get-AzTopLevelResource -ResourceGroupName "MyResourceGroup" -Name "MyTopLevelResource" | Set-AzTopLevelResource @additionalParams
Get-AzTopLevelResource -ResourceGroupName "MyResourceGroup" -Name "MyTopLevelResource" | Remove-AzTopLevelResource

# Setting and removing a collection of objects
Get-AzTopLevelResource | Set-AzTopLevelResource @additionalParams
Get-AzTopLevelResource | Remove-AzTopLevelResource


# --- Non-piping scenario ---
# Setting and removing an individual object
$resource = Get-AzTopLevelResource -ResourceGroupName "MyResourceGroup" -Name "MyTopLevelResource"
Set-AzTopLevelResource -InputObject $resource @additionalParams
Remove-AzTopLevelResource -InputObject $resource

# Setting and removing a collection of objects
Get-AzTopLevelResource | ForEach-Object { Set-AzTopLevelResource -InputObject $_ @additionalParams }
Get-AzTopLevelResource | ForEach-Object { Remove-AzTopLevelResource -InputObject $_ }
```

Another time that this scenario applies is when you have cmdlets for child resources that need information about the parent (top-level) resource. For example you can pipe in the whole parent object to the `New-AzChildResource` and `Get-AzChildResource` cmdlets to get the child resources, and then pipe the child resource object to the `Remove-AzChildResource` and `Set-AzChildResource` cmdlets.

```powershell
# --- Piping scenario ---
# Getting all of child resources from all of the parent resources and removing them
Get-AzTopLevelResource | Get-AzChildResource | Remove-AzChildResource

# Getting all of the child resources from all of the parent resources in a resource group and removing them
Get-AzTopLevelResource -ResourceGroupName "MyResourceGroup" | Get-AzChildResource | Remove-AzChildResource

# Getting all of the child resources from a specific parent resource and removing them
Get-AzTopLevelResource -ResourceGroupName "MyResourceGroup" -Name "MyTopLevelResource" | Get-AzChildResource | Remove-AzChildResource


# --- Non-piping scenario ---
# Getting all of the child resources from a specific parent resource and removing them
$resource = Get-AzTopLevelResource -ResourceGroupName "MyResourceGroup" -Name "MyTopLevelResource"
$childResource = Get-AzChildResource -InputObject $resource
Remove-AzChildResource -InputObject $childResource
```

### Using the `-ResourceId` Parameter

#### Short explanation
For all resources, `-ResourceId` should be implemented for the `Get-*`, `Remove-*`, `Set-*` and `Update-*` cmdlets (and any other cmdlet where an existing resource is being operated on, such as `Start-*`, `Stop-*`, etc.). The implementation of this will be a new parameter set, like the following:

```
Remove-AzTopLevelResource -ResourceId <string> [...] [-PassThru] [-WhatIf] [-Confirm]
```

#### Long explanation

In this scenario, we are using the generic cmdlet, `Get-AzResource`, found in the `Az.Resources` module. This cmdlet returns a `PSResource` that has a `ResourceId` property, which is the unique identifier for the given resource. Since this identifier can parsed to get the name and resource group name for a top-level resource (as well as the child resource name), we can create a parameter set that has a `-ResourceId` parameter that accepts its value from the pipeline by property name, allowing us to accept piping from these generic cmdlets.

```powershell
# --- Piping scenario ---
# Remove all TopLevelResource objects in the current subscription
Get-AzResource -ResourceType "Microsoft.SomeProvider/topLevelResource" | Remove-AzTopLevelResource

# Remove all TopLevelResource objects in a given resource group
Get-AzResource -ResourceType "Microsoft.SomeProvider/topLevelResource" -ResourceGroupEquals "MyResourceGroup" | Remove-AzTopLevelResource

# Remove a specific TopLevelResource object
Get-AzResource -ResourceType "Microsoft.SomeProvider/topLevelResource" -ResourceGroupEquals "MyResourceGroup" -Name "MyTopLevelResource" | Remove-AzTopLevelResource


# -- Non-piping scenario ---
# Removing all TopLevelResource objects in the current subscription
Get-AzResource -ResourceType "Microsoft.SomeProvider/topLevelResource" | ForEach-Object { Remove-AzTopLevelResource -ResourceId $_.ResourceId }

# Remove all TopLevelResource objects in a given resource group
Get-AzResource -ResourceType "Microsoft.SomeProvider/topLevelResource" -ResourceGroupEquals "MyResourceGroup" | ForEach-Object { Remove-AzTopLevelResource -ResourceId $_.ResourceId }

# Remove a specific TopLevelResource object
Get-AzResource -ResourceType "Microsoft.SomeProvider/topLevelResource" -ResourceGroupEquals "MyResourceGroup" -ResourceNameEquals "MyTopLevelResource" | ForEach-Object { Remove-AzTopLevelResource -ResourceId $_.ResourceId }
```

To implement this scenario, please see the [`ResourceIdentifier`](https://github.com/Azure/azure-powershell-common/blob/52fc157798d0fdd83f20755106e131aec1689ceb/src/ResourceManager/Version2016_09_01/Utilities/Models/ResourceIdentifier.cs) class in the `ResourceManager` project. This class will allow you to create a `ResourceIdentifier` object that accepts a `ResourceId` string in its constructor and has properties `ResourceName`, `ResourceGroupName`, and others.

### Full examples

The following cmdlet examples containing these piping scenarios can be found in [this folder](../examples):

- [`Get-*` cmdlet](../examples/get-cmdlet-example.md)
- [`New-*` cmdlet](../examples/new-cmdlet-example.md)
- [`Remove-*` cmdlet](../examples/remove-cmdlet-example.md)
- [`Set-*` cmdlet](../examples/set-cmdlet-example.md)
- [`Update-*` cmdlet](../examples/update-cmdlet-example.md)

---

### Documentation Development Docs Design Guidelines Should Process Confirm Impact (`documentation/development-docs/design-guidelines/should-process-confirm-impact.md`)

## ShouldProcess

From [_Cmdlet Attribute Declaration_](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/cmdlet-attribute-declaration):

> _All cmdlets that change resources outside of PowerShell should include the `SupportsShouldProcess` keyword when the `Cmdlet` attribute is declared, which allows the cmdlet to call the `ShouldProcess` method before the cmdlet performs its action. If the `ShouldProcess` call returns false, the action should not be taken._
>
> _The `-Confirm` and `-WhatIf` cmdlet parameters are available only for cmdlets that support `ShouldProcess` calls._

Below is an example of the declaration of this property in the `Cmdlet` attribute and the subsequent call to `ShouldProcess` in the body of the cmdlet:

```cs
[Cmdlet(VerbsCommon.Remove, "Foo", SupportsShouldProcess = true)]
public class RemoveFoo
{
    ...

    public override void ExecuteCmdlet()
    {
        if (ShouldProcess(target, actionMessage))
        {
            // make changes
        }
    }
}
```

Please see the example cmdlets found in our [`examples`](../examples) folder for additional implementations of `ShouldProcess`.

By default, `ShouldProcess` interacts with the cmdlet `ConfirmImpact` and the user's `$ConfirmPreference` setting to decide whether to prompt the user before continuing cmdlet processing. The `$ConfirmPreference` determines the level at which confirmation automatically occurs, and no prompt is shown. If the `ConfirmImpact` specified in a cmdlet is at or below the level of `$ConfirmPreference`, then processing occurs automatically without displaying a prompt. Since both `ConfirmImpact` and `$ConfirmPreference` are set by default to `Medium`, this means that, by default, no confirmation prompt is shown and the cmdlet executes normally.

PowerShell has several tools that allow users to explore and control what happens during execution of cmdlets, and this change in implementation allows them to use these tools.

Users who specify the `-Confirm` parameter on the command prompt will automatically be prompted for **any** call to `ShouldProcess`, and can decide whether to continue processing. Users can increase or decrease their `$ConfirmPreference` level to decide which kinds of changes will be confirmed automatically without user interaction.

Users can specify the `-WhatIf` parameter to see all the `ShouldProcess` prompts that would occur during execution of a cmdlet, without actually making any changes.

Some cmdlets required additional confirmation. For example, if a cmdlet would destroy existing resources in some circumstances, the cmdlet might detect that condition and prompt the user to verify before continuing. Overwriting an existing resource during resource creation, overwriting a file when downloading data, deleting a resource that is currently in use, or deleting a container that contains additional resources are all example of this pattern. To implement additional confirmation, and allow scripts to opt out of additional prompts, the above pattern is enhanced with calls to `ShouldContinue()` and the `Force` parameter:

```cs
if (ShouldProcess(target, actionMessage))
{
    // do processing and check whether additional prompting is required

    if (Force || ShouldContinue(shouldContinueWarning, shouldContinueCaption))
    {
        // make change that required confirmation
    }
}
```

Notice that to _automatically skip prompts_ for such a cmdlet requires the user to supply the `Force` parameter.

```powershell
Remove-Foo -Force
```

Also note that if you are unsure of the `$ConfirmPreference` setting int he current environment, you can skip both sets of prompts using the following:

```powershell
Remove-Foo -Force -Confirm:$false
```

### Additional Common Methods

The following method overloads were added to `AzurePSCmdlet`. Partners may use these methods to properly implement confirmation in the implementation of `ProcessRecord()`.

```
/* Detailed source-code truncated for AI context efficiency. */
```

## ConfirmImpact

From [_Cmdlet Attribute Declaration_](https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/cmdlet-attribute-declaration):

> _Specifies when the action of the cmdlet should be confirmed by a call to the `ShouldProcess` method. `ShouldProcess` will only be called when the `ConfirmImpact` value of the cmdlet (by default, Medium) is equal to or greater than the value of the `$ConfirmPreference` variable. This parameter should be specified only when the `SupportsShouldProcess` parameter is specified._

Below are the possible `ConfirmImpact` values:

| Member name | Description                                                                                                    |
|-------------|----------------------------------------------------------------------------------------------------------------|
| High        | This action is potentially highly "destructive" and should be confirmed by default unless otherwise specified. |
| Low         | This action only needs to be confirmed when the user has requested the low-impact changes must be confirmed.   |
| Medium      | This action should be confirmed in most scenarios where confirmation is requested.                             |
| None        | There is never any need to confirm this action.                                                                |

_Note:_ the `ConfirmImpact` property in the `Cmdlet` attribute should never be set; ignoring this property will set the value to `Medium`, which is expected and advised.

---

--- METRICS ---
- Files Extracted: 100
- Estimated Token Budget: ~545273 tokens
- Canonical Reference: https://codewiki.google/github.com/Azure/azure-powershell
