protected AzureSubscription GetCurrentSubscription(string Subscription, X509Certificate2 certificate) { if (Subscription.IsNotNullOrEmpty()) { this.WriteWarning("The -Subscription parameter is deprecated, Please use Select-AzureSubscription -Current to select a subscription to use."); ProfileClient client = new ProfileClient(new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); var subscriptionResolver = ServiceLocator.Instance.Locate<IAzureHDInsightSubscriptionResolverFactory>().Create(client.Profile); var resolvedSubscription = subscriptionResolver.ResolveSubscription(Subscription); if (certificate.IsNotNull() && resolvedSubscription.Account != certificate.Thumbprint) { AzureSession.DataStore.AddCertificate(certificate); } if (resolvedSubscription.IsNull()) { throw new ArgumentException( string.Format( CultureInfo.InvariantCulture, "Failed to retrieve Certificate for the subscription '{0}'." + "Please use Select-AzureSubscription -Current to select a subscription.", Subscription)); } return resolvedSubscription; } else { #if DEBUG // we need this for the tests to mock out the current subscription. if (Profile.Context.Subscription != null) { return this.Profile.Context.Subscription; } return testSubscription; #else return this.Profile.Context.Subscription; #endif } }
protected WindowsAzureSubscription GetCurrentSubscription(string Subscription, X509Certificate2 certificate) { if (Subscription.IsNotNullOrEmpty()) { this.WriteWarning("The -Subscription parameter is deprecated, Please use Select-AzureSubscription -Current to select a subscription to use."); var subscriptionResolver = ServiceLocator.Instance.Locate<IAzureHDInsightSubscriptionResolverFactory>().Create(this.Profile); var resolvedSubscription = subscriptionResolver.ResolveSubscription(Subscription); if (certificate.IsNotNull() && resolvedSubscription.Certificate.Thumbprint != certificate.Thumbprint) { resolvedSubscription.Certificate = certificate; } if (resolvedSubscription.IsNull()) { throw new ArgumentException( string.Format( CultureInfo.InvariantCulture, "Failed to retrieve Certificate for the subscription '{0}'." + "Please use Select-AzureSubscription -Current to select a subscription.", Subscription)); } return resolvedSubscription; } else { #if DEBUG // we need this for the tests to mock out the current subscription. if (this.HasCurrentSubscription) { return this.CurrentSubscription; } return testSubscription; #else return this.CurrentSubscription; #endif } }