public ApiManagementLongRunningOperation BeginBackupApiManagement( string resourceGroupName, string serviceName, string storageAccountName, string storageAccountKey, string backupContainer, string backupBlob) { if (string.IsNullOrWhiteSpace(backupBlob)) { backupBlob = string.Format("{0}-{1:yyyy-MM-dd-HH-mm}.apimbackup", serviceName, DateTime.Now); } var parameters = new ApiServiceBackupRestoreParameters { StorageAccount = storageAccountName, AccessKey = storageAccountKey, ContainerName = backupContainer, BackupName = backupBlob }; var longrunningResponse = Client.ResourceProvider.BeginBackup(resourceGroupName, serviceName, parameters); AdjustRetryAfter(longrunningResponse, _client.LongRunningOperationInitialTimeout); return(ApiManagementLongRunningOperation.CreateLongRunningOperation("Backup-AzureRmApiManagement", longrunningResponse)); }
public ApiManagementLongRunningOperation BeginCreateApiManagementService( string resourceGroupName, string serviceName, string location, string organization, string administratorEmail, PsApiManagementSku sku = PsApiManagementSku.Developer, int capacity = 1, IDictionary <string, string> tags = null) { var parameters = new ApiServiceCreateOrUpdateParameters { Location = location, Properties = new ApiServiceProperties { SkuProperties = new ApiServiceSkuProperties { Capacity = capacity, SkuType = MapSku(sku) }, PublisherEmail = administratorEmail, PublisherName = organization }, Tags = tags }; var longrunningResponse = Client.ResourceProvider.BeginCreatingOrUpdating(resourceGroupName, serviceName, parameters); AdjustRetryAfter(longrunningResponse, _client.LongRunningOperationInitialTimeout); return(ApiManagementLongRunningOperation.CreateLongRunningOperation("New-AzureRmApiManagement", longrunningResponse)); }
public ApiManagementLongRunningOperation BeginUpdateDeployments( string resourceGroupName, string serviceName, string location, PsApiManagementSku sku, int capacity, PsApiManagementVirtualNetwork vnetConfiguration, PsApiManagementVpnType vpnType, IList <PsApiManagementRegion> additionalRegions) { var parameters = new ApiServiceManageDeploymentsParameters(location, MapSku(sku)) { SkuUnitCount = capacity, VpnType = MapVirtualNetworkType(vpnType) }; if (vnetConfiguration != null) { parameters.VirtualNetworkConfiguration = new VirtualNetworkConfiguration { Location = vnetConfiguration.Location, SubnetResourceId = vnetConfiguration.SubnetResourceId }; } if (additionalRegions != null && additionalRegions.Any()) { parameters.AdditionalRegions = additionalRegions .Select(region => new AdditionalRegion { Location = region.Location, SkuType = MapSku(region.Sku), SkuUnitCount = region.Capacity, VirtualNetworkConfiguration = region.VirtualNetwork == null ? null : new VirtualNetworkConfiguration { Location = region.VirtualNetwork.Location, SubnetResourceId = region.VirtualNetwork.SubnetResourceId } }) .ToList(); } var longrunningResponse = Client.ResourceProvider.BeginManagingDeployments(resourceGroupName, serviceName, parameters); AdjustRetryAfter(longrunningResponse, _client.LongRunningOperationInitialTimeout); return(ApiManagementLongRunningOperation.CreateLongRunningOperation("Update-AzureRmApiManagementDeployment", longrunningResponse)); }
internal ApiManagementLongRunningOperation GetLongRunningOperationStatus(ApiManagementLongRunningOperation longRunningOperation) { var response = Client.ResourceProvider .GetApiServiceLongRunningOperationStatusAsync(longRunningOperation.OperationLink) .ConfigureAwait(false) .GetAwaiter() .GetResult(); AdjustRetryAfter(response, _client.LongRunningOperationInitialTimeout); var result = ApiManagementLongRunningOperation.CreateLongRunningOperation(longRunningOperation.OperationName, response); return(result); }
protected ApiManagementLongRunningOperation WaitForOperationToComplete(ApiManagementLongRunningOperation longRunningOperation) { WriteProgress(longRunningOperation); while (longRunningOperation.Status == OperationStatus.InProgress) { var retryAfter = longRunningOperation.RetryAfter ?? LongRunningOperationDefaultTimeout; WriteVerboseWithTimestamp(Resources.VerboseGetOperationStateTimeoutMessage, retryAfter); Thread.Sleep(retryAfter); longRunningOperation = Client.GetLongRunningOperationStatus(longRunningOperation); WriteProgress(longRunningOperation); } return(longRunningOperation); }
public ApiManagementLongRunningOperation BeginSetHostnames( string resourceGroupName, string serviceName, PsApiManagementHostnameConfiguration portalHostnameConfiguration, PsApiManagementHostnameConfiguration proxyHostnameConfiguration) { var currentStateResource = Client.ResourceProvider.Get(resourceGroupName, serviceName); var currentState = new PsApiManagement(currentStateResource.Value); var parameters = new ApiServiceUpdateHostnameParameters { HostnamesToDelete = GetHostnamesToDelete(portalHostnameConfiguration, proxyHostnameConfiguration, currentState).ToList(), HostnamesToCreateOrUpdate = GetHostnamesToCreateOrUpdate(portalHostnameConfiguration, proxyHostnameConfiguration, currentState).ToList() }; var longrunningResponse = Client.ResourceProvider.BeginUpdatingHostname(resourceGroupName, serviceName, parameters); AdjustRetryAfter(longrunningResponse, _client.LongRunningOperationInitialTimeout); return(ApiManagementLongRunningOperation.CreateLongRunningOperation("Set-AzureRmApiManagementHostnames", longrunningResponse)); }
public ApiManagementLongRunningOperation BeginRestoreApiManagement( string resourceGroupName, string serviceName, string storageAccountName, string storageAccountKey, string backupContainer, string backupBlob) { var parameters = new ApiServiceBackupRestoreParameters { StorageAccount = storageAccountName, AccessKey = storageAccountKey, ContainerName = backupContainer, BackupName = backupBlob }; var longrunningResponse = Client.ResourceProvider.BeginRestoring(resourceGroupName, serviceName, parameters); AdjustRetryAfter(longrunningResponse, _client.LongRunningOperationInitialTimeout); return(ApiManagementLongRunningOperation.CreateLongRunningOperation("Restore-AzureRmApiManagement", longrunningResponse)); }
public ApiManagementLongRunningOperation BeginManageVirtualNetworks( string resourceGroupName, string serviceName, IList <PsApiManagementVirtualNetwork> virtualNetworks) { var parameters = new ApiServiceManageVirtualNetworksParameters { VirtualNetworkConfigurations = (virtualNetworks == null || virtualNetworks.Count == 0) ? null : virtualNetworks.Select(vn => new VirtualNetworkConfiguration { Location = vn.Location, SubnetName = vn.SubnetName, VnetId = vn.VnetId }).ToList() }; var longrunningResponse = Client.ResourceProvider.BeginManagingVirtualNetworks(resourceGroupName, serviceName, parameters); AdjustRetryAfter(longrunningResponse, _client.LongRunningOperationInitialTimeout); return(ApiManagementLongRunningOperation.CreateLongRunningOperation("Set-AzureRmApiManagementVirtualNetworks", longrunningResponse)); }
public ApiManagementLongRunningOperation BeginCreateApiManagementService( string resourceGroupName, string serviceName, string location, string organization, string administratorEmail, PsApiManagementSku sku = PsApiManagementSku.Developer, int capacity = 1, PsApiManagementVpnType vpnType = PsApiManagementVpnType.None, IDictionary <string, string> tags = null, PsApiManagementVirtualNetwork virtualNetwork = null, PsApiManagementRegion[] additionalRegions = null) { var parameters = new ApiServiceCreateOrUpdateParameters { Location = location, Properties = new ApiServiceProperties { PublisherEmail = administratorEmail, PublisherName = organization, VpnType = MapVirtualNetworkType(vpnType) }, SkuProperties = new ApiServiceSkuProperties { Capacity = capacity, SkuType = MapSku(sku) }, Tags = tags }; if (virtualNetwork != null) { parameters.Properties.VirtualNetworkConfiguration = new VirtualNetworkConfiguration { Location = virtualNetwork.Location, SubnetResourceId = virtualNetwork.SubnetResourceId }; } if (additionalRegions != null && additionalRegions.Any()) { parameters.Properties.AdditionalRegions = additionalRegions .Select(region => new AdditionalRegion { Location = region.Location, SkuType = MapSku(region.Sku), SkuUnitCount = region.Capacity, VirtualNetworkConfiguration = region.VirtualNetwork == null ? null : new VirtualNetworkConfiguration { Location = region.VirtualNetwork.Location, SubnetResourceId = region.VirtualNetwork.SubnetResourceId } }) .ToList(); } var longrunningResponse = Client.ResourceProvider.BeginCreatingOrUpdating(resourceGroupName, serviceName, parameters); AdjustRetryAfter(longrunningResponse, _client.LongRunningOperationInitialTimeout); return(ApiManagementLongRunningOperation.CreateLongRunningOperation("New-AzureRmApiManagement", longrunningResponse)); }
internal ApiManagementLongRunningOperation GetLongRunningOperationStatus(ApiManagementLongRunningOperation longRunningOperation) { var response = Client.ResourceProvider .GetApiServiceLongRunningOperationStatusAsync(longRunningOperation.OperationLink) .ConfigureAwait(false) .GetAwaiter() .GetResult(); AdjustRetryAfter(response, _client.LongRunningOperationInitialTimeout); var result = ApiManagementLongRunningOperation.CreateLongRunningOperation(longRunningOperation.OperationName, response); return result; }
protected void WriteProgress(ApiManagementLongRunningOperation operation) { WriteProgress(new ProgressRecord(0, operation.OperationName, operation.Status.ToString())); }