diff --git a/docs/migrate-from-v3-to-v4/image-1.png b/docs/migrate-from-v3-to-v4/image-1.png new file mode 100644 index 0000000000..bcf5d07ef3 Binary files /dev/null and b/docs/migrate-from-v3-to-v4/image-1.png differ diff --git a/docs/migrate-from-v3-to-v4/image-2.png b/docs/migrate-from-v3-to-v4/image-2.png new file mode 100644 index 0000000000..54eb7e43ba Binary files /dev/null and b/docs/migrate-from-v3-to-v4/image-2.png differ diff --git a/docs/migrate-from-v3-to-v4/image.png b/docs/migrate-from-v3-to-v4/image.png new file mode 100644 index 0000000000..1cd4ada174 Binary files /dev/null and b/docs/migrate-from-v3-to-v4/image.png differ diff --git a/docs/migration-from-v3-to-v4.md b/docs/migration-from-v3-to-v4.md index fb42635eda..dd9b4d6f0e 100644 --- a/docs/migration-from-v3-to-v4.md +++ b/docs/migration-from-v3-to-v4.md @@ -109,6 +109,9 @@ You'll need to customize it through a PowerShell script by adding the redundant In v3, autorest.poweshell defines an enum type for parameter with x-ms-enum. In v4, autorest.powershell keeps the type of parameter as it is, like string, integer and adds an auto completer for this parameter, which means parameter uses primary type as its type to simplify parameter definition and customer still can fill enum values by **Tab**. +e.g. 👇 +![alt text](migrate-from-v3-to-v4/image-1.png) + ### Steps need to be taken for AutoCompleter change Developers need to change parameter type to its primary type in custom folder and customized codes accordingly. No breaking change is expected from user side. @@ -119,7 +122,8 @@ In v4, we introduced a switch to control whether to include the API version in t ### Steps need to be taken with API version dropped -Remove API version from files in custom folder +Remove API version from files in custom folder, e.g.👇 +![alt text](migrate-from-v3-to-v4/image.png) ### How to mitigate the breaking changes by adding the version back @@ -192,9 +196,15 @@ In v3, IdentityType and UserAssignedIdentity are generated and totally matches w - For IdentityType, it will be changed to EnableSystemAssignedIdentity\ for new-* cmdlet and EnableSystemAssignedIdentity\ for update-* cmdlet. Please notice that this change in update-* cmdlet will use GET+PUT operation instead of PATCH operation to update object and can't be disabled by `disable-getput: true`. - For UserAssignedIdentity, it will be changed from UserAssignedIdentity\ to UserAssignedIdentity\. +Check [here](https://github.com/Azure/azure-powershell/blob/main/documentation/development-docs/design-guidelines/managed-identity-best-practices.md) for more managed identity best practice details. ### How to mitigate the breaking changes of Managed Identity Best Practice Alignment It's recommended to migrate to best practice design for managed identity features. To avoid breaking changes in regular release, - For IdentityType, configure `disable-transform-identity-type` as `true` in README.md. - For UserAssignedIdentity, configure `flatten-userassignedidentity` as `false` in README.md. + + +### Autorest Powershell model cmdlet breaking change +Add model cmdlet attribute for custom model cmdlets. e.g.👇 +![alt text](migrate-from-v3-to-v4/image-2.png) \ No newline at end of file