public static SdkFrontendEndpoint ToSdkFrontendEndpoints(this PSFrontendEndpoint psFrontendEndpoint) { SdkHttpsConfig customHttpsConfiguration = null; if ((psFrontendEndpoint.CertificateSource != null) || !String.IsNullOrEmpty(psFrontendEndpoint.MinimumTlsVersion) || !String.IsNullOrEmpty(psFrontendEndpoint.Vault) || !String.IsNullOrEmpty(psFrontendEndpoint.SecretName) || !String.IsNullOrEmpty(psFrontendEndpoint.SecretVersion) || !String.IsNullOrEmpty(psFrontendEndpoint.CertificateType)) { customHttpsConfiguration = new SdkHttpsConfig(psFrontendEndpoint.CertificateSource, psFrontendEndpoint.MinimumTlsVersion, new SdkVault(psFrontendEndpoint.Vault), psFrontendEndpoint.SecretName, psFrontendEndpoint.SecretVersion, psFrontendEndpoint.CertificateType); } return(new SdkFrontendEndpoint ( hostName: psFrontendEndpoint.HostName, sessionAffinityEnabledState: psFrontendEndpoint.SessionAffinityEnabledState.ToString(), sessionAffinityTtlSeconds: psFrontendEndpoint.SessionAffinityTtlSeconds, webApplicationFirewallPolicyLink: psFrontendEndpoint.WebApplicationFirewallPolicyLink == null ? null : new SdkFWPolicyLink(psFrontendEndpoint.WebApplicationFirewallPolicyLink), customHttpsConfiguration: customHttpsConfiguration, name: psFrontendEndpoint.Name )); }
/// <summary> /// Validate the object. /// </summary> /// <exception cref="ValidationException"> /// Thrown if validation fails /// </exception> public virtual void Validate() { if (CustomHttpsConfiguration != null) { CustomHttpsConfiguration.Validate(); } }
/// <summary> /// Initializes a new instance of the FrontendEndpoint class. /// </summary> /// <param name="id">Resource ID.</param> /// <param name="hostName">The host name of the frontendEndpoint. Must /// be a domain name.</param> /// <param name="sessionAffinityEnabledState">Whether to allow session /// affinity on this host. Valid options are 'Enabled' or 'Disabled'. /// Possible values include: 'Enabled', 'Disabled'</param> /// <param name="sessionAffinityTtlSeconds">UNUSED. This field will be /// ignored. The TTL to use in seconds for session affinity, if /// applicable.</param> /// <param name="webApplicationFirewallPolicyLink">Defines the Web /// Application Firewall policy for each host (if applicable)</param> /// <param name="resourceState">Resource status. Possible values /// include: 'Creating', 'Enabling', 'Enabled', 'Disabling', /// 'Disabled', 'Deleting'</param> /// <param name="customHttpsProvisioningState">Provisioning status of /// Custom Https of the frontendEndpoint. Possible values include: /// 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Failed'</param> /// <param name="customHttpsProvisioningSubstate">Provisioning substate /// shows the progress of custom HTTPS enabling/disabling process step /// by step. Possible values include: /// 'SubmittingDomainControlValidationRequest', /// 'PendingDomainControlValidationREquestApproval', /// 'DomainControlValidationRequestApproved', /// 'DomainControlValidationRequestRejected', /// 'DomainControlValidationRequestTimedOut', 'IssuingCertificate', /// 'DeployingCertificate', 'CertificateDeployed', /// 'DeletingCertificate', 'CertificateDeleted'</param> /// <param name="customHttpsConfiguration">The configuration specifying /// how to enable HTTPS</param> /// <param name="name">Resource name.</param> /// <param name="type">Resource type.</param> public FrontendEndpoint(string id = default(string), string hostName = default(string), string sessionAffinityEnabledState = default(string), int?sessionAffinityTtlSeconds = default(int?), FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink webApplicationFirewallPolicyLink = default(FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink), string resourceState = default(string), string customHttpsProvisioningState = default(string), string customHttpsProvisioningSubstate = default(string), CustomHttpsConfiguration customHttpsConfiguration = default(CustomHttpsConfiguration), string name = default(string), string type = default(string)) : base(id) { HostName = hostName; SessionAffinityEnabledState = sessionAffinityEnabledState; SessionAffinityTtlSeconds = sessionAffinityTtlSeconds; WebApplicationFirewallPolicyLink = webApplicationFirewallPolicyLink; ResourceState = resourceState; CustomHttpsProvisioningState = customHttpsProvisioningState; CustomHttpsProvisioningSubstate = customHttpsProvisioningSubstate; CustomHttpsConfiguration = customHttpsConfiguration; Name = name; Type = type; CustomInit(); }