private static IEnumerable <HostnameConfiguration> GetHostnamesToCreateOrUpdate( PsApiManagementHostnameConfiguration portalHostnameConfiguration, PsApiManagementHostnameConfiguration proxyHostnameConfiguration, PsApiManagement currentState) { if (portalHostnameConfiguration != null) { yield return(new HostnameConfiguration( HostnameType.Portal, portalHostnameConfiguration.Hostname, new CertificateInformation { Thumbprint = portalHostnameConfiguration.HostnameCertificate.Thumbprint, Subject = string.IsNullOrWhiteSpace(portalHostnameConfiguration.HostnameCertificate.Subject) ? "dummy" : portalHostnameConfiguration.HostnameCertificate.Subject })); } if (proxyHostnameConfiguration != null) { yield return(new HostnameConfiguration( HostnameType.Proxy, proxyHostnameConfiguration.Hostname, new CertificateInformation { Thumbprint = proxyHostnameConfiguration.HostnameCertificate.Thumbprint, Subject = string.IsNullOrWhiteSpace(proxyHostnameConfiguration.HostnameCertificate.Subject) ? "dummy" : proxyHostnameConfiguration.HostnameCertificate.Subject })); } }
private static IEnumerable <HostnameConfiguration> GetHostnamesToCreateOrUpdate( PsApiManagementHostnameConfiguration portalHostnameConfiguration, PsApiManagementHostnameConfiguration proxyHostnameConfiguration, PsApiManagement currentState) { if (portalHostnameConfiguration != null && currentState.PortalHostnameConfiguration != null) { yield return(new HostnameConfiguration( HostnameType.Portal, portalHostnameConfiguration.Hostname, new CertificateInformation( portalHostnameConfiguration.HostnameCertificate.Expiry, portalHostnameConfiguration.HostnameCertificate.Thumbprint, portalHostnameConfiguration.HostnameCertificate.Subject))); } if (proxyHostnameConfiguration != null && currentState.ProxyHostnameConfiguration != null) { yield return(new HostnameConfiguration( HostnameType.Proxy, proxyHostnameConfiguration.Hostname, new CertificateInformation( proxyHostnameConfiguration.HostnameCertificate.Expiry, proxyHostnameConfiguration.HostnameCertificate.Thumbprint, proxyHostnameConfiguration.HostnameCertificate.Subject))); } }
private static IEnumerable <HostnameType> GetHostnamesToDelete( PsApiManagementHostnameConfiguration portalHostnameConfiguration, PsApiManagementHostnameConfiguration proxyHostnameConfiguration, PsApiManagement currentState) { if (portalHostnameConfiguration == null && currentState.PortalHostnameConfiguration != null) { yield return(HostnameType.Portal); } if (proxyHostnameConfiguration == null && currentState.ProxyHostnameConfiguration != null) { yield return(HostnameType.Proxy); } }
public PsApiManagement SetHostnames( string resourceGroupName, string serviceName, PsApiManagementHostnameConfiguration portalHostnameConfiguration, PsApiManagementHostnameConfiguration proxyHostnameConfiguration) { var currentStateResource = Client.ApiManagementService.Get(resourceGroupName, serviceName); var currentState = new PsApiManagement(currentStateResource); var parameters = new ApiManagementServiceUpdateHostnameParameters { Delete = GetHostnamesToDelete(portalHostnameConfiguration, proxyHostnameConfiguration, currentState), Update = GetHostnamesToCreateOrUpdate(portalHostnameConfiguration, proxyHostnameConfiguration, currentState).ToList() }; var apiManagementServiceResource = Client.ApiManagementService.UpdateHostname(resourceGroupName, serviceName, parameters); return(new PsApiManagement(apiManagementServiceResource)); }
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)); }
private static IList <HostnameType?> GetHostnamesToDelete( PsApiManagementHostnameConfiguration portalHostnameConfiguration, PsApiManagementHostnameConfiguration proxyHostnameConfiguration, PsApiManagement currentState) { var hostnameToDelete = new List <HostnameType?>(); #pragma warning disable CS0618 if (portalHostnameConfiguration == null && currentState.PortalHostnameConfiguration != null) #pragma warning restore CS0618 { hostnameToDelete.Add(HostnameType.Portal); } #pragma warning disable CS0618 if (proxyHostnameConfiguration == null && currentState.ProxyHostnameConfiguration != null) #pragma warning restore CS0618 { hostnameToDelete.Add(HostnameType.Proxy); } return(hostnameToDelete); }
private static IEnumerable<HostnameType> GetHostnamesToDelete( PsApiManagementHostnameConfiguration portalHostnameConfiguration, PsApiManagementHostnameConfiguration proxyHostnameConfiguration, PsApiManagement currentState) { if (portalHostnameConfiguration == null && currentState.PortalHostnameConfiguration != null) { yield return HostnameType.Portal; } if (proxyHostnameConfiguration == null && currentState.ProxyHostnameConfiguration != null) { yield return HostnameType.Proxy; } }
private static IEnumerable<HostnameConfiguration> GetHostnamesToCreateOrUpdate( PsApiManagementHostnameConfiguration portalHostnameConfiguration, PsApiManagementHostnameConfiguration proxyHostnameConfiguration, PsApiManagement currentState) { if (portalHostnameConfiguration != null) { yield return new HostnameConfiguration( HostnameType.Portal, portalHostnameConfiguration.Hostname, new CertificateInformation { Thumbprint = portalHostnameConfiguration.HostnameCertificate.Thumbprint, Subject = string.IsNullOrWhiteSpace(portalHostnameConfiguration.HostnameCertificate.Subject) ? "dummy" : portalHostnameConfiguration.HostnameCertificate.Subject }); } if (proxyHostnameConfiguration != null) { yield return new HostnameConfiguration( HostnameType.Proxy, proxyHostnameConfiguration.Hostname, new CertificateInformation { Thumbprint = proxyHostnameConfiguration.HostnameCertificate.Thumbprint, Subject = string.IsNullOrWhiteSpace(proxyHostnameConfiguration.HostnameCertificate.Subject) ? "dummy" : proxyHostnameConfiguration.HostnameCertificate.Subject }); } }
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); }