public override void ExecuteCmdlet()
{
ConfirmAction("updating environment", Name,
() =>
{
var profileClient = new RMProfileClient(AzureRmProfileProvider.Instance.Profile);
foreach (var key in AzureEnvironment.PublicEnvironments.Keys)
{
if (string.Equals(Name, key, StringComparison.OrdinalIgnoreCase))
{
throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture,
"Cannot change built-in environment {0}.", key));
}
}
var newEnvironment = new AzureEnvironment { Name = Name, OnPremise = EnableAdfsAuthentication };
if (AzureRmProfileProvider.Instance.Profile.Environments.ContainsKey(Name))
{
newEnvironment = AzureRmProfileProvider.Instance.Profile.Environments[Name];
}
SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.PublishSettingsFileUrl,
PublishSettingsFileUrl);
SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ServiceManagement, ServiceEndpoint);
SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ResourceManager,
ResourceManagerEndpoint);
SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ManagementPortalUrl,
ManagementPortalUrl);
SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.StorageEndpointSuffix,
StorageEndpoint);
SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ActiveDirectory,
ActiveDirectoryEndpoint);
SetEndpointIfProvided(newEnvironment,
AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId,
ActiveDirectoryServiceEndpointResourceId);
SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.Gallery, GalleryEndpoint);
SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.Graph, GraphEndpoint);
SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.AzureKeyVaultDnsSuffix,
AzureKeyVaultDnsSuffix);
SetEndpointIfProvided(newEnvironment,
AzureEnvironment.Endpoint.AzureKeyVaultServiceEndpointResourceId,
AzureKeyVaultServiceEndpointResourceId);
SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.TrafficManagerDnsSuffix,
TrafficManagerDnsSuffix);
SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.SqlDatabaseDnsSuffix,
SqlDatabaseDnsSuffix);
SetEndpointIfProvided(newEnvironment,
AzureEnvironment.Endpoint.AzureDataLakeAnalyticsCatalogAndJobEndpointSuffix,
AzureDataLakeAnalyticsCatalogAndJobEndpointSuffix);
SetEndpointIfProvided(newEnvironment,
AzureEnvironment.Endpoint.AzureDataLakeStoreFileSystemEndpointSuffix,
AzureDataLakeStoreFileSystemEndpointSuffix);
SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.AdTenant, AdTenant);
SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.GraphEndpointResourceId,
GraphAudience);
profileClient.AddOrSetEnvironment(newEnvironment);
WriteObject((PSAzureEnvironment)newEnvironment);
});
}