- Added support for Email Suppression List and Address resources.
- Enable mocking for extension methods, refer this document for more details.
- Upgraded api-version tag from 'package-preview-2023-04' to 'package-preview-2023-06'. Tag detail available at https://github.com/Azure/azure-rest-api-specs/blob/5775c90db370eb73a5cd7ccb36e16c34630a5c8c/specification/communication/resource-manager/readme.md#tag-package-preview-2023-06
- Added support for Email Suppression List and Address resources.
- Upgraded Azure.Core from 1.35.0 to 1.36.0
- Upgraded Azure.ResourceManager from 1.7.0 to 1.9.0
- Added support for System Assigned, User Assigned and SystemAndUserAssigned Managed Identity
- Enable the model factory feature for model mocking, more information can be found here.
- Upgraded dependent Azure.Core to 1.32.0.
- Upgraded dependent Azure.ResourceManager to 1.6.0.
- Added SenderUsernameResource, SenderUsernameResourceCollection and SenderUsernameResourceData to support the new resource type.
- This refresh updates
Azure.ResourceManager.Communication
library to the Azure resource management SDK standards and matches the patterns in the rest of the new Azure management libraries. Resource management using the Azure SDK for .NET - Removed ValidSenderUsernames property from CommunicationServiceResourceData.
- CommunicationResource RegenerateKey and RegenerateKeyAsync are no longer marked as long running operations.
- CommunicationResource Update and UpdateAsync are no longer marked as long running operations.
- Upgraded dependent
Azure.Core
to1.28.0
. - Upgraded dependent
Azure.ResourceManager
to1.4.0
.
- Added Update methods in resource classes.
Polishing since last public beta release:
- Prepended
Communication
prefix to all single / simple model names. - Corrected the format of all
Guid
type properties / parameters. - Corrected the format of all
ResourceIdentifier
type properties / parameters. - Corrected the format of all
ResouceType
type properties / parameters. - Corrected the format of all
ETag
type properties / parameters. - Corrected the format of all
AzureLocation
type properties / parameters. - Corrected the format of all binary type properties / parameters.
- Corrected all acronyms that not follow .Net Naming Guidelines.
- Corrected enumeration name by following Naming Enumerations Rule.
- Corrected the suffix of
DateTimeOffset
properties / parameters. - Corrected the name of interval / duration properties / parameters that end with units.
- Optimized the name of some models and functions.
- Upgraded dependent
Azure.ResourceManager
to 1.2.0 - Upgraded dependent
Azure.Core
to 1.25.0
- Rename plenty of classes and property names.
- Simplify
type
property names. - Normalized the body parameter type names for PUT / POST / PATCH operations if it is only used as input.
- Upgrade dependency to Azure.ResourceManager 1.0.0
- Now all the resource classes would have a
Resource
suffix (if it previously does not have one). - waitForCompletion is now a required parameter and moved to the first parameter in LRO operations.
- Move optional body parameters right after required parameters.
- Location class from
Location
toAzureLocation
. - Removed
GetIfExists
methods from all the resource classes. - All properties of the type
object
were changed toBinaryData
.
- Added ArmClient extension methods to support start from the middle scenario.
Guidance to migrate from previous version of Azure Management SDK
- 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
Example: Create A Communication Service Instance:
Before upgrade:
using Azure.Identity;
using Azure.ResourceManager.Communication;
using Azure.ResourceManager.Communication.Models;
using System;
using System.Threading.Tasks;
string subscriptionId = "_SUBSCRIPTION_ID_";
CommunicationManagementClient communicationServiceClient = new CommunicationManagementClient(subscriptionId, new InteractiveBrowserCredential());
var resourceGroupName = "myResourceGroupName";
var resourceName = "myResource";
var resource = new CommunicationServiceResource { Location = "Global", DataLocation = "UnitedStates" };
var operation = await communicationServiceClient.CommunicationService.StartCreateOrUpdateAsync(resourceGroupName, resourceName, resource);
await operation.WaitForCompletionAsync();
After upgrade:
using System;
using System.Threading.Tasks;
using Azure.Identity;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
ArmClient armClient = new ArmClient(new DefaultAzureCredential());
Subscription subscription = await armClient.GetDefaultSubscriptionAsync();
ResourceGroupCollection rgCollection = subscription.GetResourceGroups();
string rgName = "myRgName";
Location location = Location.WestUS2;
ResourceGroupCreateOrUpdateOperation lro = await rgCollection.CreateOrUpdateAsync(rgName, new ResourceGroupData(location));
ResourceGroup resourceGroup = lro.Value;
var collection = resourceGroup.GetCommunicationServices();
string communicationServiceName = "myCommunicationService";
CommunicationServiceData data = new CommunicationServiceData()
{
Location = "global",
DataLocation = "UnitedStates",
};
var communicationServiceLro = await collection.CreateOrUpdateAsync(communicationServiceName, data);
CommunicationService communicationService = communicationServiceLro.Value;
This release is the first stable release of the management library for Azure Communication Services.
Minor changes since the public preview release:
- CheckNameAvailability has been added
- CommunicationServiceResource Update now requires a CommunicationServiceResource parameter instead of a TaggedResource
- RegenerateKeyParameters is now a required parameter to RegenerateKey
- CommunicationServiceResource now includes the property SystemData
- OperationList has been changed to use the common type for its response
- ErrorResponse has been changed to use the common type for ErrorResponse
Updated Azure.ResourceManager.Communication
version.
Updated Azure.ResourceManager.Communication
version.
New design of track 2 initial commit.
This package follows the new Azure SDK guidelines, and provides many core capabilities:
- 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.
This package is a Public Preview version, so expect incompatible changes in subsequent releases as we improve the product. To provide feedback, submit an issue in our Azure SDK for .NET GitHub repo.
NOTE: For more information about unified authentication, please refer to Microsoft Azure Identity documentation for .NET.