public void BaseSetup() { if (AzureSession.DataStore != null && !(AzureSession.DataStore is MemoryDataStore)) { AzureSession.DataStore = new MemoryDataStore(); } currentProfile = new AzureSMProfile(); if (currentProfile.Context.Subscription == null) { var newGuid = Guid.NewGuid(); var client = new ProfileClient(currentProfile); client.AddOrSetAccount(new AzureAccount { Id = "test", Type = AzureAccount.AccountType.User, Properties = new Dictionary<AzureAccount.Property, string> { {AzureAccount.Property.Subscriptions, newGuid.ToString()} } }); client.AddOrSetSubscription( new AzureSubscription { Id = newGuid, Name = "test", Environment = EnvironmentName.AzureCloud, Account = "test" }); client.SetSubscriptionAsDefault(newGuid, "test"); } AzureSession.AuthenticationFactory = new MockTokenAuthenticationFactory(); }
private static AzureSubscription PublishSubscriptionToAzureSubscription( ProfileClient azureProfileClient, PublishDataPublishProfile profile, PublishDataPublishProfileSubscription s, string environment) { var certificate = GetCertificate(profile, s); if (string.IsNullOrEmpty(environment)) { var azureEnvironment = azureProfileClient.GetEnvironment(environment, s.ServiceManagementUrl ?? profile.Url, null); if (azureEnvironment != null) { environment = azureEnvironment.Name; } else { environment = EnvironmentName.AzureCloud; } } return new AzureSubscription { Id = new Guid(s.Id), Name = s.Name, Environment = environment, Account = certificate.Thumbprint }; }
protected override void BeginProcessing() { base.BeginProcessing(); ProfileClient = new ProfileClient(Profile); ProfileClient.WarningLog = WriteWarning; ProfileClient.DebugLog = WriteDebug; }
public static IEnumerable<AzureSubscription> ImportAzureSubscription(Stream stream, ProfileClient azureProfileClient, string environment) { var publishData = DeserializePublishData(stream); PublishDataPublishProfile profile = publishData.Items.Single(); stream.Close(); return profile.Subscription.Select(s => PublishSubscriptionToAzureSubscription(azureProfileClient, profile, s, environment)); }
public static IHDInsightSubscriptionCredentials GetAccessTokenCredentials(this IAzureHDInsightCommonCommandBase command, AzureSubscription currentSubscription, AzureAccount azureAccount, AzureEnvironment environment) { ProfileClient profileClient = new ProfileClient(new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); AzureContext azureContext = new AzureContext(currentSubscription, azureAccount, environment); var cloudCredentials = AzureSession.AuthenticationFactory.GetSubscriptionCloudCredentials(azureContext) as AccessTokenCredential; if (cloudCredentials != null) { var field= typeof(AccessTokenCredential).GetField("token", BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance); var accessToken = field.GetValue(cloudCredentials) as IAccessToken; if (accessToken != null) { return new HDInsightAccessTokenCredential() { SubscriptionId = currentSubscription.Id, AccessToken = accessToken.AccessToken }; } } return null; }
private void InitializeAzureProfile(AzureSMProfile profile, string parameterSet, AzureProfileSettings settings) { var savedCache = AzureSession.TokenCache; AzureSession.TokenCache = TokenCache.DefaultShared; try { var profileClient = new ProfileClient(profile); if (settings.Environment == null) { settings.Environment = AzureEnvironment.PublicEnvironments["AzureCloud"]; } switch (parameterSet) { case CertificateParameterSet: profileClient.InitializeProfile(settings.Environment, new Guid(settings.SubscriptionId), settings.Certificate, settings.StorageAccount); break; case CredentialsParameterSet: var userAccount = new AzureAccount { Id = settings.Credential.UserName, Type = AzureAccount.AccountType.User }; profileClient.InitializeProfile(settings.Environment, new Guid(settings.SubscriptionId), userAccount, settings.Credential.Password, settings.StorageAccount); break; case AccessTokenParameterSet: profileClient.InitializeProfile(settings.Environment, new Guid(settings.SubscriptionId), settings.AccessToken, settings.AccountId, settings.StorageAccount); break; case ServicePrincipalParameterSet: var servicePrincipalAccount = new AzureAccount { Id = settings.Credential.UserName, Type = AzureAccount.AccountType.ServicePrincipal, }; servicePrincipalAccount.SetOrAppendProperty(AzureAccount.Property.Tenants, settings.Tenant); profileClient.InitializeProfile(settings.Environment, new Guid(settings.SubscriptionId), servicePrincipalAccount, settings.Credential.Password, settings.StorageAccount); break; case EmptyParameterSet: if (!profile.Environments.ContainsKey(settings.Environment.Name)) { profile.Environments.Add(settings.Environment.Name, settings.Environment); } break; } } finally { AzureSession.TokenCache = savedCache; } }