/// <summary>
 /// Initializes a new instance of the ManagedServiceIdentity class.
 /// </summary>
 /// <param name="type">Type of managed service identity. Possible
 /// values include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned,
 /// UserAssigned', 'None'</param>
 /// <param name="tenantId">Tenant of managed service identity.</param>
 /// <param name="principalId">Principal Id of managed service
 /// identity.</param>
 /// <param name="userAssignedIdentities">The list of user assigned
 /// identities associated with the resource. The user identity
 /// dictionary key references will be ARM resource ids in the form:
 /// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}</param>
 public ManagedServiceIdentity(ManagedServiceIdentityType type = default(ManagedServiceIdentityType), string tenantId = default(string), string principalId = default(string), IDictionary <string, ManagedServiceIdentityUserAssignedIdentitiesValue> userAssignedIdentities = default(IDictionary <string, ManagedServiceIdentityUserAssignedIdentitiesValue>))
 {
     Type                   = type;
     TenantId               = tenantId;
     PrincipalId            = principalId;
     UserAssignedIdentities = userAssignedIdentities;
     CustomInit();
 }
 /// <summary>
 /// Initializes a new instance of the ManagedServiceIdentity class.
 /// </summary>
 /// <param name="type">Type of managed service identity. Possible
 /// values include: 'SystemAssigned', 'UserAssigned'</param>
 /// <param name="tenantId">Tenant of managed service identity.</param>
 /// <param name="principalId">Principal Id of managed service
 /// identity.</param>
 /// <param name="identityIds">Array of UserAssigned managed service
 /// identities.</param>
 public ManagedServiceIdentity(ManagedServiceIdentityType type = default(ManagedServiceIdentityType), string tenantId = default(string), string principalId = default(string), IList <string> identityIds = default(IList <string>))
 {
     Type        = type;
     TenantId    = tenantId;
     PrincipalId = principalId;
     IdentityIds = identityIds;
     CustomInit();
 }
        internal static string ToSerializedValue(this ManagedServiceIdentityType value)
        {
            switch (value)
            {
            case ManagedServiceIdentityType.None:
                return("None");

            case ManagedServiceIdentityType.SystemAssigned:
                return("SystemAssigned");

            case ManagedServiceIdentityType.UserAssigned:
                return("UserAssigned");
            }
            return(null);
        }