예제 #1
0
 private void WriteExtendedSubscription(SubscriptionData subscriptionData, string subscriptionsDataFile)
 {
     SubscriptionData currentSubscription = this.GetCurrentSubscription();
     this.SetCurrentSubscription(subscriptionData.SubscriptionName, subscriptionsDataFile);
     InitChannelCurrentSubscription();
     using (new OperationContextScope((IContextChannel)Channel))
     {
         try
         {
             var subprops = RetryCall(s => Channel.GetSubscription(subscriptionData.SubscriptionId));
             Operation operation = WaitForOperation(CommandRuntime.ToString());
             var subscriptionDataExtended = new SubscriptionDataExtended(subprops,
                                                                         subscriptionData,
                                                                         CommandRuntime.ToString(),
                                                                         operation);
             WriteSubscription(subscriptionDataExtended);
         }
         catch (CommunicationException ex)
         {
             WriteErrorDetails(ex);
         }
         finally
         {
             if (currentSubscription != null && currentSubscription.Certificate != null && currentSubscription.SubscriptionId != null)
             {
                 this.SetCurrentSubscription(currentSubscription.SubscriptionName, subscriptionsDataFile);
             }
         }
     }
 }
        internal static SubscriptionDataExtended ToExtendedData(this WindowsAzureSubscription subscription)
        {
            using (var client = subscription.CreateClient <ManagementClient>())
            {
                var response = client.Subscriptions.Get();

                SubscriptionDataExtended result = new SubscriptionDataExtended
                {
                    AccountAdminLiveEmailId  = response.AccountAdminLiveEmailId,
                    ActiveDirectoryUserId    = subscription.ActiveDirectoryUserId,
                    CurrentCoreCount         = response.CurrentCoreCount,
                    CurrentHostedServices    = response.CurrentHostedServices,
                    CurrentDnsServers        = 0, // TODO: Add to spec
                    CurrentLocalNetworkSites = 0, // TODO: Add to spec
                    MaxCoreCount             = response.MaximumCoreCount,
                    MaxDnsServers            = response.MaximumDnsServers,
                    MaxHostedServices        = response.MaximumHostedServices,
                    MaxVirtualNetworkSites   = response.MaximumVirtualNetworkSites,
                    MaxStorageAccounts       = response.MaximumStorageAccounts,
                    ServiceAdminLiveEmailId  = response.ServiceAdminLiveEmailId,
                    SubscriptionRealName     = response.SubscriptionName,
                    SubscriptionStatus       = response.SubscriptionStatus.ToString(),
                    SubscriptionName         = subscription.SubscriptionName,
                    SubscriptionId           = subscription.SubscriptionId,
                    ServiceEndpoint          = subscription.ServiceEndpoint,
                    ResourceManagerEndpoint  = subscription.ResourceManagerEndpoint,
                    IsDefault   = subscription.IsDefault,
                    Certificate = subscription.Certificate,
                    CurrentStorageAccountName = subscription.CurrentStorageAccountName
                };

                return(result);
            }
        }
예제 #3
0
        private void WriteExtendedSubscription(SubscriptionData subscriptionData, string subscriptionsDataFile)
        {
            SubscriptionData currentSubscription = this.GetCurrentSubscription();

            this.SetCurrentSubscription(subscriptionData.SubscriptionName, subscriptionsDataFile);
            InitChannelCurrentSubscription();
            using (new OperationContextScope(Channel.ToContextChannel()))
            {
                try
                {
                    var       subprops  = RetryCall(s => Channel.GetSubscription(subscriptionData.SubscriptionId));
                    Operation operation = GetOperation();
                    var       subscriptionDataExtended = new SubscriptionDataExtended(subprops,
                                                                                      subscriptionData,
                                                                                      CommandRuntime.ToString(),
                                                                                      operation);
                    WriteSubscription(subscriptionDataExtended);
                }
                catch (CommunicationException ex)
                {
                    WriteErrorDetails(ex);
                }
                finally
                {
                    if (currentSubscription != null && currentSubscription.Certificate != null && currentSubscription.SubscriptionId != null)
                    {
                        this.SetCurrentSubscription(currentSubscription.SubscriptionName, subscriptionsDataFile);
                    }
                }
            }
        }
        internal static SubscriptionDataExtended ToExtendedData(this WindowsAzureSubscription subscription)
        {
            using (var client = subscription.CreateClient<ManagementClient>())
            {
                var response = client.Subscriptions.Get();

                SubscriptionDataExtended result = new SubscriptionDataExtended
                {
                    AccountAdminLiveEmailId = response.AccountAdminLiveEmailId,
                    ActiveDirectoryUserId = subscription.ActiveDirectoryUserId,
                    CurrentCoreCount = response.CurrentCoreCount,
                    CurrentHostedServices = response.CurrentHostedServices,
                    CurrentDnsServers = 0, // TODO: Add to spec
                    CurrentLocalNetworkSites = 0, // TODO: Add to spec
                    MaxCoreCount = response.MaximumCoreCount,
                    MaxDnsServers = response.MaximumDnsServers,
                    MaxHostedServices = response.MaximumHostedServices,
                    MaxVirtualNetworkSites = response.MaximumVirtualNetworkSites,
                    MaxStorageAccounts = response.MaximumStorageAccounts,
                    ServiceAdminLiveEmailId = response.ServiceAdminLiveEmailId,
                    SubscriptionRealName = response.SubscriptionName,
                    SubscriptionStatus = response.SubscriptionStatus.ToString(),
                    SubscriptionName = subscription.SubscriptionName,
                    SubscriptionId = subscription.SubscriptionId,
                    ServiceEndpoint = subscription.ServiceEndpoint,
                    ResourceManagerEndpoint = subscription.ResourceManagerEndpoint,
                    IsDefault = subscription.IsDefault,
                    Certificate = subscription.Certificate,
                    CurrentStorageAccountName = subscription.CurrentStorageAccountName
                };
                
                return result;
            }
        }