diff --git a/src/Authentication.Abstractions/AzureSubscription.cs b/src/Authentication.Abstractions/AzureSubscription.cs index 0a998461a6..3f120518bc 100644 --- a/src/Authentication.Abstractions/AzureSubscription.cs +++ b/src/Authentication.Abstractions/AzureSubscription.cs @@ -101,7 +101,8 @@ public static class Property Default = "Default", StorageAccount = "StorageAccount", Environment = "Environment", - Account = "Account"; + Account = "Account", + SubscriptionPolices = "SubscriptionPolices"; } } } diff --git a/src/Authentication.Abstractions/Extensions/AzureSubscriptionExtensions.cs b/src/Authentication.Abstractions/Extensions/AzureSubscriptionExtensions.cs index d01d5c35ac..12aefa7285 100644 --- a/src/Authentication.Abstractions/Extensions/AzureSubscriptionExtensions.cs +++ b/src/Authentication.Abstractions/Extensions/AzureSubscriptionExtensions.cs @@ -171,6 +171,26 @@ public static void SetManagedByTenants(this IAzureSubscription subscription, par subscription.SetOrAppendProperty(AzureSubscription.Property.ManagedByTenants, tenants); } + /// + /// Get the subscription polices associated with this subscription + /// + /// The subscription to check + /// The subscription polices + public static string GetSubscriptionPolicies(this IAzureSubscription subscription) + { + return subscription.GetProperty(AzureSubscription.Property.SubscriptionPolices); + } + + /// + /// Set the subscription polices associated with this subscription + /// + /// The subscription to set + /// The subscription polices associated with the subscription + public static void SetSubscriptionPolicies(this IAzureSubscription subscription, string subscriptionPolicies) + { + subscription.SetOrAppendProperty(AzureSubscription.Property.SubscriptionPolices, subscriptionPolicies); + } + /// /// Copy the properties from the given subscription /// diff --git a/src/ResourceManager/Version2016_09_01/Utilities/SubscriptionExtensions.cs b/src/ResourceManager/Version2016_09_01/Utilities/SubscriptionExtensions.cs index 16097895bb..fc5d9b5cd8 100644 --- a/src/ResourceManager/Version2016_09_01/Utilities/SubscriptionExtensions.cs +++ b/src/ResourceManager/Version2016_09_01/Utilities/SubscriptionExtensions.cs @@ -13,6 +13,7 @@ // ---------------------------------------------------------------------------------- using Microsoft.Azure.Commands.Common.Authentication.Abstractions; +using Newtonsoft.Json; namespace Microsoft.Azure.Internal.Subscriptions.Models.Utilities { @@ -29,6 +30,7 @@ public static AzureSubscription ToAzureSubscription(this Subscription other, IAz subscription.SetEnvironment(environment != null ? environment.Name : EnvironmentName.AzureCloud); subscription.SetHomeTenant(other.TenantId ?? retrievedByTenant); subscription.SetTenant(retrievedByTenant); + subscription.SetSubscriptionPolicies(JsonConvert.SerializeObject(other.SubscriptionPolicies)); return subscription; } } diff --git a/src/ResourceManager/Version2019_06_01/Customized/SubscriptionExtensions.cs b/src/ResourceManager/Version2019_06_01/Customized/SubscriptionExtensions.cs index 109a90bd33..7fd2034cce 100644 --- a/src/ResourceManager/Version2019_06_01/Customized/SubscriptionExtensions.cs +++ b/src/ResourceManager/Version2019_06_01/Customized/SubscriptionExtensions.cs @@ -14,6 +14,7 @@ using System.Linq; using Microsoft.Azure.Commands.Common.Authentication.Abstractions; +using Newtonsoft.Json; namespace Microsoft.Azure.Management.ResourceManager.Version2019_06_01.Models.Utilities { @@ -34,6 +35,7 @@ public static AzureSubscription ToAzureSubscription(this Subscription other, IAz subscription.SetManagedByTenants(other.ManagedByTenants.Select(t => t.TenantId).ToArray()); } subscription.SetTenant(retrievedByTenant); + subscription.SetSubscriptionPolicies(JsonConvert.SerializeObject(other.SubscriptionPolicies)); return subscription; } }