diff --git a/sdk/keyvault/Azure.Management.KeyVault/CHANGELOG.md b/sdk/keyvault/Azure.Management.KeyVault/CHANGELOG.md index b183b6bdac5c..4be119f159e7 100644 --- a/sdk/keyvault/Azure.Management.KeyVault/CHANGELOG.md +++ b/sdk/keyvault/Azure.Management.KeyVault/CHANGELOG.md @@ -2,5 +2,88 @@ ## 1.0.0-preview.1 -### New Features -- Initial preview of Azure Management KeyVault SDK based on Azure.Core \ No newline at end of file +This package follows the new Azure SDK guidelines which provide a number of core capabilities that are shared amongst all Azure SDKs, including the intuitive Azure Identity library, an HTTP Pipeline with custom policies, error-handling, distributed tracing, and much more. + +This is a Public Preview version, so expect incompatible changes in subsequent releases as we improve the product. To provide feedback, please submit an issue in our [Azure SDK for .NET GitHub repo](https://github.com/Azure/azure-sdk-for-net/issues). + +### General New Features + + - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET + - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing + - HTTP pipeline with custom policies + - Better error-handling + - Support uniform telemetry across all languages + +> NOTE: For more information about unified authentication, please refer to [Azure Identity documentation for .NET](https://docs.microsoft.com//dotnet/api/overview/azure/identity-readme?view=azure-dotnet) + +### Migration from Previous Version of Azure Management SDK + +#### Package Name +The package name has been changed from `Microsoft.Azure.Management.KeyVault` to `Azure.Management.KeyVault` + +#### Management Client Changes + +Example: Create a Key Vault Instance: + +Before upgrade: +```csharp +using Microsoft.Azure.Management.KeyVault; +using Microsoft.Azure.Management.KeyVault.Models; +using Microsoft.Rest; + +var tokenCredentials = new TokenCredentials("YOUR ACCESS TOKEN"); +var keyVaultManagementClient = new KeyVaultManagementClient(tokenCredentials); +var vault = await keyVaultManagementClient.Vaults.BeginCreateOrUpdateAsync + ( + resourceGroupName, + vaultName, + parameters + ); +``` + +After upgrade: +```csharp +using Azure.Identity; +using Azure.Management.KeyVault; +using Azure.Management.KeyVault.Models; + +var keyVaultManagementClient = new KeyVaultManagementClient( + SubscriptionId, + new DefaultAzureCredential(), + new KeyVaultManagementClientOptions()); +var vaultsClient = keyVaultManagementClient.GetVaultsClient(); + +var vault = await vaultsClient.StartCreateOrUpdateAsync( + resourceGroupName, + vaultName, + parameters + ); +var vaultValue = (await vault.WaitForCompletionAsync()).Value; + +``` + +#### Object Model Changes + +Example: Create a Permissions Model + +Before upgrade: +```csharp +var permissions = new Permissions + { + Keys = new string[] { "all" }, + Secrets = new string[] { "all" }, + Certificates = new string[] { "all" }, + Storage = new string[] { "all" }, + } +``` + +After upgrade: +```csharp +var permissions = new Permissions + { + Keys = new [] { new KeyPermissions("all") }, + Secrets = new [] { new SecretPermissions("all") }, + Certificates = new [] { new CertificatePermissions("all") }, + Storage = new [] { new StoragePermissions("all") }, + }; +```