/// <summary> /// Get storage account and use specific azure environment /// </summary> /// <param name="credential">Storage credentail</param> /// <param name="storageAccountName">Storage account name, it's used for build end point</param> /// <param name="useHttps">Use secure Http protocol</param> /// <param name="azureEnvironmentName">Environment name</param> /// <returns>A storage account</returns> internal CloudStorageAccount GetStorageAccountWithAzureEnvironment(StorageCredentials credential, string storageAccountName, bool useHttps, string azureEnvironmentName = "") { AzureEnvironment azureEnvironment = null; if (string.IsNullOrEmpty(azureEnvironmentName)) { azureEnvironment = AzureSession.CurrentContext.Environment; } else { try { azureEnvironment = DefaultProfileClient.GetEnvironmentOrDefault(azureEnvironmentName); } catch (ArgumentException e) { throw new ArgumentException(e.Message + " " + string.Format(CultureInfo.CurrentCulture, Resources.ValidEnvironmentName, EnvironmentName.AzureCloud, EnvironmentName.AzureChinaCloud)); } } Uri blobEndPoint = azureEnvironment.GetStorageBlobEndpoint(storageAccountName, useHttps); Uri queueEndPoint = azureEnvironment.GetStorageQueueEndpoint(storageAccountName, useHttps); Uri tableEndPoint = azureEnvironment.GetStorageTableEndpoint(storageAccountName, useHttps); Uri fileEndPoint = azureEnvironment.GetStorageFileEndpoint(storageAccountName, useHttps); return(new CloudStorageAccount(credential, blobEndPoint, queueEndPoint, tableEndPoint, fileEndPoint)); }
public override void ExecuteCmdlet() { IEnumerable <AzureAccount> accounts = DefaultProfileClient.ListAccounts(Name); List <PSAzureAccount> output = new List <PSAzureAccount>(); foreach (AzureAccount account in accounts) { output.Add(account.ToPSAzureAccount()); } WriteObject(output, true); }
/// <summary> /// Get storage account and use specific azure environment /// </summary> /// <param name="credential">Storage credentail</param> /// <param name="storageAccountName">Storage account name, it's used for build end point</param> /// <param name="useHttps">Use secure Http protocol</param> /// <param name="azureEnvironmentName">Environment name</param> /// <returns>A storage account</returns> internal CloudStorageAccount GetStorageAccountWithAzureEnvironment(StorageCredentials credential, string storageAccountName, bool useHttps, string azureEnvironmentName = "") { AzureEnvironment azureEnvironment = null; if (string.IsNullOrEmpty(azureEnvironmentName)) { azureEnvironment = AzureSession.CurrentContext.Environment; } else { azureEnvironment = DefaultProfileClient.GetEnvironmentOrDefault(azureEnvironmentName); } Uri blobEndPoint = azureEnvironment.GetStorageBlobEndpoint(storageAccountName, useHttps); Uri queueEndPoint = azureEnvironment.GetStorageQueueEndpoint(storageAccountName, useHttps); Uri tableEndPoint = azureEnvironment.GetStorageTableEndpoint(storageAccountName, useHttps); Uri fileEndPoint = azureEnvironment.GetStorageFileEndpoint(storageAccountName, useHttps); return(new CloudStorageAccount(credential, blobEndPoint, queueEndPoint, tableEndPoint, fileEndPoint)); }
/// <summary> /// Executes the set subscription cmdlet operation. /// </summary> public override void ExecuteCmdlet() { AzureSubscription subscription = null; if (!string.IsNullOrEmpty(SubscriptionId) && string.IsNullOrEmpty(SubscriptionName)) { subscription = ProfileClient.GetSubscription(new Guid(SubscriptionId)); Environment = subscription.Environment; } else if (string.IsNullOrEmpty(SubscriptionId) && !string.IsNullOrEmpty(SubscriptionName)) { subscription = ProfileClient.GetSubscription(SubscriptionName); Environment = subscription.Environment; } else { subscription = new AzureSubscription(); subscription.Id = new Guid(SubscriptionId); subscription.Name = SubscriptionName; } AzureEnvironment environment = ProfileClient.GetEnvironment(Environment, ServiceEndpoint, ResourceManagerEndpoint); if (environment == null) { environment = DefaultProfileClient.GetEnvironment(Environment, ServiceEndpoint, ResourceManagerEndpoint); } if (environment == null) { throw new ArgumentException("ServiceEndpoint and ResourceManagerEndpoint values do not " + "match existing environment. Please use Environment parameter."); } else { subscription.Environment = environment.Name; } if (ServiceEndpoint != null || ResourceManagerEndpoint != null) { WriteWarning("Please use Environment parameter to specify subscription environment. This " + "warning will be converted into an error in the upcoming release."); } if (Certificate != null) { ProfileClient.ImportCertificate(Certificate); subscription.Account = Certificate.Thumbprint; AzureAccount account = new AzureAccount { Id = Certificate.Thumbprint, Type = AzureAccount.AccountType.Certificate }; account.SetOrAppendProperty(AzureAccount.Property.Subscriptions, subscription.Id.ToString()); ProfileClient.AddOrSetAccount(account); if (subscription.Account == null) { subscription.Account = account.Id; } } if (subscription.Account == null) { throw new ArgumentException("Certificate is required for creating a new subscription."); } if (!string.IsNullOrEmpty(CurrentStorageAccountName)) { subscription.Properties[AzureSubscription.Property.StorageAccount] = CurrentStorageAccountName; } subscription = ProfileClient.AddOrSetSubscription(subscription); if (PassThru) { WriteObject(subscription); } }