Esempio n. 1
0
 public PSAzureSubscriptionExtended(PSAzureSubscription subscription)
 {
     base.SubscriptionId   = subscription.SubscriptionId;
     base.SubscriptionName = subscription.SubscriptionName;
     base.SupportedModes   = subscription.SupportedModes;
     base.Accounts         = subscription.Accounts;
     base.IsDefault        = subscription.IsDefault;
     base.IsCurrent        = subscription.IsCurrent;
 }
 public PSAzureSubscriptionExtended(PSAzureSubscription subscription)
 {
     base.SubscriptionId = subscription.SubscriptionId;
     base.SubscriptionName = subscription.SubscriptionName;
     base.SupportedModes = subscription.SupportedModes;
     base.Accounts = subscription.Accounts;
     base.IsDefault = subscription.IsDefault;
     base.IsCurrent = subscription.IsCurrent;
 }
        private PSAzureSubscriptionExtended ConstructPsAzureSubscriptionExtended(AzureSubscription subscription, IClientFactory clientFactory)
        {
            using (var client = clientFactory.CreateClient<ManagementClient>(Profile, subscription, AzureEnvironment.Endpoint.ServiceManagement))
            {
                var response = client.Subscriptions.Get();
                var environment = ProfileClient.GetEnvironmentOrDefault(subscription.Environment);
                var account = ProfileClient.Profile.Accounts[subscription.Account];
                bool isCert = account.Type == AzureAccount.AccountType.Certificate;
                var psAzureSubscription = new PSAzureSubscription(subscription, ProfileClient.Profile);
                PSAzureSubscriptionExtended result = new PSAzureSubscriptionExtended(psAzureSubscription)
                {
                    AccountAdminLiveEmailId = response.AccountAdminLiveEmailId,
                    ActiveDirectoryUserId = subscription.Account,
                    CurrentCoreCount = response.CurrentCoreCount,
                    CurrentHostedServices = response.CurrentHostedServices,
                    CurrentDnsServers = response.CurrentDnsServers,
                    CurrentLocalNetworkSites = response.CurrentLocalNetworkSites,
                    CurrentStorageAccounts = response.CurrentStorageAccounts,
                    CurrentVirtualNetworkSites = response.CurrentVirtualNetworkSites,
                    MaxCoreCount = response.MaximumCoreCount,
                    MaxDnsServers = response.MaximumDnsServers,
                    MaxHostedServices = response.MaximumHostedServices,
                    MaxLocalNetworkSites = response.MaximumLocalNetworkSites,
                    MaxStorageAccounts = response.MaximumStorageAccounts,
                    MaxVirtualNetworkSites = response.MaximumVirtualNetworkSites,
                    ServiceAdminLiveEmailId = response.ServiceAdminLiveEmailId,
                    SubscriptionRealName = response.SubscriptionName,
                    SubscriptionStatus = response.SubscriptionStatus.ToString(),
                    ServiceEndpoint = environment.GetEndpoint(AzureEnvironment.Endpoint.ServiceManagement),
                    ResourceManagerEndpoint = environment.GetEndpoint(AzureEnvironment.Endpoint.ResourceManager),
                    IsDefault = subscription.GetProperty(AzureSubscription.Property.Default) != null,
                    Account = account,
                    Certificate = isCert ? AzureSession.DataStore.GetCertificate(subscription.Account) : null,
                    CurrentStorageAccountName = subscription.GetProperty(AzureSubscription.Property.StorageAccount)
                };

                return result;
            }
        }
        private PSAzureSubscription ConstructPsAzureSubscription(AzureSubscription subscription)
        {
            PSAzureSubscription psObject = new PSAzureSubscription();

            psObject.SubscriptionId = subscription.Id.ToString();
            psObject.SubscriptionName = subscription.Name;
            psObject.Environment = subscription.Environment;
            psObject.SupportedModes = subscription.GetProperty(AzureSubscription.Property.SupportedModes);
            psObject.DefaultAccount = subscription.Account;
            psObject.Accounts = ProfileClient.Profile.Accounts.Values.Where(a => a.HasSubscription(subscription.Id)).ToArray();
            psObject.IsDefault = subscription.IsPropertySet(AzureSubscription.Property.Default);
            psObject.IsCurrent = AzureSession.CurrentContext.Subscription != null && AzureSession.CurrentContext.Subscription.Id == subscription.Id;
            psObject.CurrentStorageAccountName = subscription.GetProperty(AzureSubscription.Property.StorageAccount);
            return psObject;
        }