
com.aliyun.sdk.service.waf_openapi20211001.models.DescribeDomainDetailResponseBody Maven / Gradle / Ivy
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sdk.service.waf_openapi20211001.models;
import darabonba.core.RequestModel;
import darabonba.core.TeaModel;
import com.aliyun.sdk.gateway.pop.models.*;
/**
*
* {@link DescribeDomainDetailResponseBody} extends {@link TeaModel}
*
* DescribeDomainDetailResponseBody
*/
public class DescribeDomainDetailResponseBody extends TeaModel {
@com.aliyun.core.annotation.NameInMap("CertDetail")
private CertDetail certDetail;
@com.aliyun.core.annotation.NameInMap("Cname")
private String cname;
@com.aliyun.core.annotation.NameInMap("Domain")
private String domain;
@com.aliyun.core.annotation.NameInMap("Listen")
private Listen listen;
@com.aliyun.core.annotation.NameInMap("Redirect")
private Redirect redirect;
@com.aliyun.core.annotation.NameInMap("RequestId")
private String requestId;
@com.aliyun.core.annotation.NameInMap("ResourceManagerResourceGroupId")
private String resourceManagerResourceGroupId;
@com.aliyun.core.annotation.NameInMap("SM2CertDetail")
private SM2CertDetail sM2CertDetail;
@com.aliyun.core.annotation.NameInMap("Status")
private Long status;
private DescribeDomainDetailResponseBody(Builder builder) {
this.certDetail = builder.certDetail;
this.cname = builder.cname;
this.domain = builder.domain;
this.listen = builder.listen;
this.redirect = builder.redirect;
this.requestId = builder.requestId;
this.resourceManagerResourceGroupId = builder.resourceManagerResourceGroupId;
this.sM2CertDetail = builder.sM2CertDetail;
this.status = builder.status;
}
public static Builder builder() {
return new Builder();
}
public static DescribeDomainDetailResponseBody create() {
return builder().build();
}
/**
* @return certDetail
*/
public CertDetail getCertDetail() {
return this.certDetail;
}
/**
* @return cname
*/
public String getCname() {
return this.cname;
}
/**
* @return domain
*/
public String getDomain() {
return this.domain;
}
/**
* @return listen
*/
public Listen getListen() {
return this.listen;
}
/**
* @return redirect
*/
public Redirect getRedirect() {
return this.redirect;
}
/**
* @return requestId
*/
public String getRequestId() {
return this.requestId;
}
/**
* @return resourceManagerResourceGroupId
*/
public String getResourceManagerResourceGroupId() {
return this.resourceManagerResourceGroupId;
}
/**
* @return sM2CertDetail
*/
public SM2CertDetail getSM2CertDetail() {
return this.sM2CertDetail;
}
/**
* @return status
*/
public Long getStatus() {
return this.status;
}
public static final class Builder {
private CertDetail certDetail;
private String cname;
private String domain;
private Listen listen;
private Redirect redirect;
private String requestId;
private String resourceManagerResourceGroupId;
private SM2CertDetail sM2CertDetail;
private Long status;
/**
* The details of the SSL certificate.
*/
public Builder certDetail(CertDetail certDetail) {
this.certDetail = certDetail;
return this;
}
/**
* The CNAME that is assigned by WAF to the domain name.
*
* example:
* xxxxxcvdaf.****.com
*/
public Builder cname(String cname) {
this.cname = cname;
return this;
}
/**
* The domain name.
*
* example:
*
*/
public Builder domain(String domain) {
this.domain = domain;
return this;
}
/**
* The configurations of the listeners.
*/
public Builder listen(Listen listen) {
this.listen = listen;
return this;
}
/**
* The configurations of the forwarding rule.
*/
public Builder redirect(Redirect redirect) {
this.redirect = redirect;
return this;
}
/**
* The ID of the request.
*
* example:
* BAEF9CA9-66A0-533E-BD09-5D5D7AA8****
*/
public Builder requestId(String requestId) {
this.requestId = requestId;
return this;
}
/**
* The ID of the resource group.
*
* example:
* rg-acfm***q
*/
public Builder resourceManagerResourceGroupId(String resourceManagerResourceGroupId) {
this.resourceManagerResourceGroupId = resourceManagerResourceGroupId;
return this;
}
/**
* The information about the SM certificate.
*/
public Builder sM2CertDetail(SM2CertDetail sM2CertDetail) {
this.sM2CertDetail = sM2CertDetail;
return this;
}
/**
* The status of the domain name. Valid values:
*
* - 1: The domain name is in a normal state.
* - 2: The domain name is being created.
* - 3: The domain name is being modified.
* - 4: The domain name is being released.
* - 5: WAF no longer forwards traffic of the domain name.
*
*
* example:
* 1
*/
public Builder status(Long status) {
this.status = status;
return this;
}
public DescribeDomainDetailResponseBody build() {
return new DescribeDomainDetailResponseBody(this);
}
}
/**
*
* {@link DescribeDomainDetailResponseBody} extends {@link TeaModel}
*
* DescribeDomainDetailResponseBody
*/
public static class CertDetail extends TeaModel {
@com.aliyun.core.annotation.NameInMap("CommonName")
private String commonName;
@com.aliyun.core.annotation.NameInMap("EndTime")
private Long endTime;
@com.aliyun.core.annotation.NameInMap("Id")
private String id;
@com.aliyun.core.annotation.NameInMap("Name")
private String name;
@com.aliyun.core.annotation.NameInMap("Sans")
private java.util.List < String > sans;
@com.aliyun.core.annotation.NameInMap("StartTime")
private Long startTime;
private CertDetail(Builder builder) {
this.commonName = builder.commonName;
this.endTime = builder.endTime;
this.id = builder.id;
this.name = builder.name;
this.sans = builder.sans;
this.startTime = builder.startTime;
}
public static Builder builder() {
return new Builder();
}
public static CertDetail create() {
return builder().build();
}
/**
* @return commonName
*/
public String getCommonName() {
return this.commonName;
}
/**
* @return endTime
*/
public Long getEndTime() {
return this.endTime;
}
/**
* @return id
*/
public String getId() {
return this.id;
}
/**
* @return name
*/
public String getName() {
return this.name;
}
/**
* @return sans
*/
public java.util.List < String > getSans() {
return this.sans;
}
/**
* @return startTime
*/
public Long getStartTime() {
return this.startTime;
}
public static final class Builder {
private String commonName;
private Long endTime;
private String id;
private String name;
private java.util.List < String > sans;
private Long startTime;
/**
* The domain name of your website.
*
* example:
* test.aliyundoc.com
*/
public Builder commonName(String commonName) {
this.commonName = commonName;
return this;
}
/**
* The end of the validity period of the SSL certificate. The value is in the UNIX timestamp format. Unit: milliseconds.
*
* example:
* 1685590400000
*/
public Builder endTime(Long endTime) {
this.endTime = endTime;
return this;
}
/**
* The ID of the SSL certificate.
*
* example:
* 123-cn-hangzhou
*/
public Builder id(String id) {
this.id = id;
return this;
}
/**
* The name of the SSL certificate.
*
* example:
* test-cert-name
*/
public Builder name(String name) {
this.name = name;
return this;
}
/**
* All domain names that are bound to the certificate.
*/
public Builder sans(java.util.List < String > sans) {
this.sans = sans;
return this;
}
/**
* The beginning of the validity period of the SSL certificate. The value is in the UNIX timestamp format. Unit: milliseconds.
*
* example:
* 1677772800000
*/
public Builder startTime(Long startTime) {
this.startTime = startTime;
return this;
}
public CertDetail build() {
return new CertDetail(this);
}
}
}
/**
*
* {@link DescribeDomainDetailResponseBody} extends {@link TeaModel}
*
* DescribeDomainDetailResponseBody
*/
public static class Listen extends TeaModel {
@com.aliyun.core.annotation.NameInMap("CertId")
private Long certId;
@com.aliyun.core.annotation.NameInMap("CipherSuite")
private Long cipherSuite;
@com.aliyun.core.annotation.NameInMap("CustomCiphers")
private java.util.List < String > customCiphers;
@com.aliyun.core.annotation.NameInMap("EnableTLSv3")
private Boolean enableTLSv3;
@com.aliyun.core.annotation.NameInMap("ExclusiveIp")
private Boolean exclusiveIp;
@com.aliyun.core.annotation.NameInMap("FocusHttps")
private Boolean focusHttps;
@com.aliyun.core.annotation.NameInMap("Http2Enabled")
private Boolean http2Enabled;
@com.aliyun.core.annotation.NameInMap("HttpPorts")
private java.util.List < Long > httpPorts;
@com.aliyun.core.annotation.NameInMap("HttpsPorts")
private java.util.List < Long > httpsPorts;
@com.aliyun.core.annotation.NameInMap("IPv6Enabled")
private Boolean iPv6Enabled;
@com.aliyun.core.annotation.NameInMap("ProtectionResource")
private String protectionResource;
@com.aliyun.core.annotation.NameInMap("SM2AccessOnly")
private Boolean sM2AccessOnly;
@com.aliyun.core.annotation.NameInMap("SM2CertId")
private String sM2CertId;
@com.aliyun.core.annotation.NameInMap("SM2Enabled")
private Boolean sM2Enabled;
@com.aliyun.core.annotation.NameInMap("TLSVersion")
private String TLSVersion;
@com.aliyun.core.annotation.NameInMap("XffHeaderMode")
private Long xffHeaderMode;
@com.aliyun.core.annotation.NameInMap("XffHeaders")
private java.util.List < String > xffHeaders;
private Listen(Builder builder) {
this.certId = builder.certId;
this.cipherSuite = builder.cipherSuite;
this.customCiphers = builder.customCiphers;
this.enableTLSv3 = builder.enableTLSv3;
this.exclusiveIp = builder.exclusiveIp;
this.focusHttps = builder.focusHttps;
this.http2Enabled = builder.http2Enabled;
this.httpPorts = builder.httpPorts;
this.httpsPorts = builder.httpsPorts;
this.iPv6Enabled = builder.iPv6Enabled;
this.protectionResource = builder.protectionResource;
this.sM2AccessOnly = builder.sM2AccessOnly;
this.sM2CertId = builder.sM2CertId;
this.sM2Enabled = builder.sM2Enabled;
this.TLSVersion = builder.TLSVersion;
this.xffHeaderMode = builder.xffHeaderMode;
this.xffHeaders = builder.xffHeaders;
}
public static Builder builder() {
return new Builder();
}
public static Listen create() {
return builder().build();
}
/**
* @return certId
*/
public Long getCertId() {
return this.certId;
}
/**
* @return cipherSuite
*/
public Long getCipherSuite() {
return this.cipherSuite;
}
/**
* @return customCiphers
*/
public java.util.List < String > getCustomCiphers() {
return this.customCiphers;
}
/**
* @return enableTLSv3
*/
public Boolean getEnableTLSv3() {
return this.enableTLSv3;
}
/**
* @return exclusiveIp
*/
public Boolean getExclusiveIp() {
return this.exclusiveIp;
}
/**
* @return focusHttps
*/
public Boolean getFocusHttps() {
return this.focusHttps;
}
/**
* @return http2Enabled
*/
public Boolean getHttp2Enabled() {
return this.http2Enabled;
}
/**
* @return httpPorts
*/
public java.util.List < Long > getHttpPorts() {
return this.httpPorts;
}
/**
* @return httpsPorts
*/
public java.util.List < Long > getHttpsPorts() {
return this.httpsPorts;
}
/**
* @return iPv6Enabled
*/
public Boolean getIPv6Enabled() {
return this.iPv6Enabled;
}
/**
* @return protectionResource
*/
public String getProtectionResource() {
return this.protectionResource;
}
/**
* @return sM2AccessOnly
*/
public Boolean getSM2AccessOnly() {
return this.sM2AccessOnly;
}
/**
* @return sM2CertId
*/
public String getSM2CertId() {
return this.sM2CertId;
}
/**
* @return sM2Enabled
*/
public Boolean getSM2Enabled() {
return this.sM2Enabled;
}
/**
* @return TLSVersion
*/
public String getTLSVersion() {
return this.TLSVersion;
}
/**
* @return xffHeaderMode
*/
public Long getXffHeaderMode() {
return this.xffHeaderMode;
}
/**
* @return xffHeaders
*/
public java.util.List < String > getXffHeaders() {
return this.xffHeaders;
}
public static final class Builder {
private Long certId;
private Long cipherSuite;
private java.util.List < String > customCiphers;
private Boolean enableTLSv3;
private Boolean exclusiveIp;
private Boolean focusHttps;
private Boolean http2Enabled;
private java.util.List < Long > httpPorts;
private java.util.List < Long > httpsPorts;
private Boolean iPv6Enabled;
private String protectionResource;
private Boolean sM2AccessOnly;
private String sM2CertId;
private Boolean sM2Enabled;
private String TLSVersion;
private Long xffHeaderMode;
private java.util.List < String > xffHeaders;
/**
* The ID of the certificate.
*
* example:
* 123
*/
public Builder certId(Long certId) {
this.certId = certId;
return this;
}
/**
* The type of the cipher suites. Valid values:
*
* - 1: all cipher suites.
* - 2: strong cipher suites.
* - 99: custom cipher suites.
*
*
* example:
* 2
*/
public Builder cipherSuite(Long cipherSuite) {
this.cipherSuite = cipherSuite;
return this;
}
/**
* An array of custom cipher suites.
*/
public Builder customCiphers(java.util.List < String > customCiphers) {
this.customCiphers = customCiphers;
return this;
}
/**
* Indicates whether TLS 1.3 is supported. Valid values:
*
* - true: TLS 1.3 is supported.
* - false: TLS 1.3 is not supported.
*
*
* example:
* true
*/
public Builder enableTLSv3(Boolean enableTLSv3) {
this.enableTLSv3 = enableTLSv3;
return this;
}
/**
* Indicates whether an exclusive IP address is enabled. Valid values:
*
* - true: An exclusive IP address is enabled for the domain name.
* - false: No exclusive IP addresses are enabled for the domain name.
*
*
* example:
* true
*/
public Builder exclusiveIp(Boolean exclusiveIp) {
this.exclusiveIp = exclusiveIp;
return this;
}
/**
* Indicates whether HTTP to HTTPS redirection is enabled for the domain name. Valid values:
*
* - true: HTTP to HTTPS redirection is enabled.
* - false: HTTP to HTTPS redirection is disabled.
*
*
* example:
* true
*/
public Builder focusHttps(Boolean focusHttps) {
this.focusHttps = focusHttps;
return this;
}
/**
* Indicates whether HTTP/2 is enabled. Valid values:
*
* - true: HTTP/2 is enabled.
* - false: HTTP/2 is disabled.
*
*
* example:
* true
*/
public Builder http2Enabled(Boolean http2Enabled) {
this.http2Enabled = http2Enabled;
return this;
}
/**
* An array of HTTP listener ports.
*/
public Builder httpPorts(java.util.List < Long > httpPorts) {
this.httpPorts = httpPorts;
return this;
}
/**
* An array of HTTPS listener ports.
*/
public Builder httpsPorts(java.util.List < Long > httpsPorts) {
this.httpsPorts = httpsPorts;
return this;
}
/**
* Indicates whether IPv6 is enabled. Valid values:
*
* - true: IPv6 is enabled.
* - false: IPv6 is disabled.
*
*
* example:
* true
*/
public Builder iPv6Enabled(Boolean iPv6Enabled) {
this.iPv6Enabled = iPv6Enabled;
return this;
}
/**
* The type of protection resource that is used. Valid values:
*
* - share: shared cluster.
* - gslb: shared cluster-based intelligent load balancing.
*
*
* example:
* share
*/
public Builder protectionResource(String protectionResource) {
this.protectionResource = protectionResource;
return this;
}
/**
* Indicates whether only SM certificate-based clients can access the domain name. This parameter is returned only if the value of SM2Enabled is true. Valid values:
*
* - true
* - false
*
*
* example:
* true
*/
public Builder sM2AccessOnly(Boolean sM2AccessOnly) {
this.sM2AccessOnly = sM2AccessOnly;
return this;
}
/**
* The ID of the SM certificate that is added. This parameter is returned only if the value of SM2Enabled is true.
*
* example:
* 123-cn-hangzhou
*/
public Builder sM2CertId(String sM2CertId) {
this.sM2CertId = sM2CertId;
return this;
}
/**
* Indicates whether SM certificate-based verification is enabled. Valid values:
*
* - true
* - false
*
*
* example:
* true
*/
public Builder sM2Enabled(Boolean sM2Enabled) {
this.sM2Enabled = sM2Enabled;
return this;
}
/**
* The version of the Transport Layer Security (TLS) protocol. Valid values:
*
* - tlsv1
* - tlsv1.1
* - tlsv1.2
*
*
* example:
* tlsv1.2
*/
public Builder TLSVersion(String TLSVersion) {
this.TLSVersion = TLSVersion;
return this;
}
/**
* The method that WAF uses to obtain the actual IP address of a client. Valid values:
*
* - 0: No Layer 7 proxies are deployed in front of WAF.
* - 1: WAF reads the first value of the X-Forwarded-For (XFF) header field as the actual IP address of the client.
* - 2: WAF reads the value of a custom header field as the actual IP address of the client.
*
*
* example:
* 2
*/
public Builder xffHeaderMode(Long xffHeaderMode) {
this.xffHeaderMode = xffHeaderMode;
return this;
}
/**
* An array of custom header fields that are used to obtain the actual IP address of a client.
*/
public Builder xffHeaders(java.util.List < String > xffHeaders) {
this.xffHeaders = xffHeaders;
return this;
}
public Listen build() {
return new Listen(this);
}
}
}
/**
*
* {@link DescribeDomainDetailResponseBody} extends {@link TeaModel}
*
* DescribeDomainDetailResponseBody
*/
public static class Backends extends TeaModel {
@com.aliyun.core.annotation.NameInMap("Backend")
private String backend;
private Backends(Builder builder) {
this.backend = builder.backend;
}
public static Builder builder() {
return new Builder();
}
public static Backends create() {
return builder().build();
}
/**
* @return backend
*/
public String getBackend() {
return this.backend;
}
public static final class Builder {
private String backend;
/**
* The IP address or domain name of the origin server.
*
* example:
* 1.1.XX.XX
*/
public Builder backend(String backend) {
this.backend = backend;
return this;
}
public Backends build() {
return new Backends(this);
}
}
}
/**
*
* {@link DescribeDomainDetailResponseBody} extends {@link TeaModel}
*
* DescribeDomainDetailResponseBody
*/
public static class BackupBackends extends TeaModel {
@com.aliyun.core.annotation.NameInMap("Backend")
private String backend;
private BackupBackends(Builder builder) {
this.backend = builder.backend;
}
public static Builder builder() {
return new Builder();
}
public static BackupBackends create() {
return builder().build();
}
/**
* @return backend
*/
public String getBackend() {
return this.backend;
}
public static final class Builder {
private String backend;
/**
* The IP address or domain name of the origin server.
*
* example:
* 1.1.XX.XX
*/
public Builder backend(String backend) {
this.backend = backend;
return this;
}
public BackupBackends build() {
return new BackupBackends(this);
}
}
}
/**
*
* {@link DescribeDomainDetailResponseBody} extends {@link TeaModel}
*
* DescribeDomainDetailResponseBody
*/
public static class RequestHeaders extends TeaModel {
@com.aliyun.core.annotation.NameInMap("Key")
private String key;
@com.aliyun.core.annotation.NameInMap("Value")
private String value;
private RequestHeaders(Builder builder) {
this.key = builder.key;
this.value = builder.value;
}
public static Builder builder() {
return new Builder();
}
public static RequestHeaders create() {
return builder().build();
}
/**
* @return key
*/
public String getKey() {
return this.key;
}
/**
* @return value
*/
public String getValue() {
return this.value;
}
public static final class Builder {
private String key;
private String value;
/**
* The custom header field.
*
* example:
* aaa
*/
public Builder key(String key) {
this.key = key;
return this;
}
/**
* The value of the custom header field.
*
* example:
* bbb
*/
public Builder value(String value) {
this.value = value;
return this;
}
public RequestHeaders build() {
return new RequestHeaders(this);
}
}
}
/**
*
* {@link DescribeDomainDetailResponseBody} extends {@link TeaModel}
*
* DescribeDomainDetailResponseBody
*/
public static class Redirect extends TeaModel {
@com.aliyun.core.annotation.NameInMap("Backends")
private java.util.List < Backends> backends;
@com.aliyun.core.annotation.NameInMap("BackupBackends")
private java.util.List < BackupBackends> backupBackends;
@com.aliyun.core.annotation.NameInMap("ConnectTimeout")
private Integer connectTimeout;
@com.aliyun.core.annotation.NameInMap("FocusHttpBackend")
private Boolean focusHttpBackend;
@com.aliyun.core.annotation.NameInMap("Keepalive")
private Boolean keepalive;
@com.aliyun.core.annotation.NameInMap("KeepaliveRequests")
private Integer keepaliveRequests;
@com.aliyun.core.annotation.NameInMap("KeepaliveTimeout")
private Integer keepaliveTimeout;
@com.aliyun.core.annotation.NameInMap("Loadbalance")
private String loadbalance;
@com.aliyun.core.annotation.NameInMap("ReadTimeout")
private Integer readTimeout;
@com.aliyun.core.annotation.NameInMap("RequestHeaders")
private java.util.List < RequestHeaders> requestHeaders;
@com.aliyun.core.annotation.NameInMap("Retry")
private Boolean retry;
@com.aliyun.core.annotation.NameInMap("SniEnabled")
private Boolean sniEnabled;
@com.aliyun.core.annotation.NameInMap("SniHost")
private String sniHost;
@com.aliyun.core.annotation.NameInMap("WriteTimeout")
private Integer writeTimeout;
@com.aliyun.core.annotation.NameInMap("XffProto")
private Boolean xffProto;
private Redirect(Builder builder) {
this.backends = builder.backends;
this.backupBackends = builder.backupBackends;
this.connectTimeout = builder.connectTimeout;
this.focusHttpBackend = builder.focusHttpBackend;
this.keepalive = builder.keepalive;
this.keepaliveRequests = builder.keepaliveRequests;
this.keepaliveTimeout = builder.keepaliveTimeout;
this.loadbalance = builder.loadbalance;
this.readTimeout = builder.readTimeout;
this.requestHeaders = builder.requestHeaders;
this.retry = builder.retry;
this.sniEnabled = builder.sniEnabled;
this.sniHost = builder.sniHost;
this.writeTimeout = builder.writeTimeout;
this.xffProto = builder.xffProto;
}
public static Builder builder() {
return new Builder();
}
public static Redirect create() {
return builder().build();
}
/**
* @return backends
*/
public java.util.List < Backends> getBackends() {
return this.backends;
}
/**
* @return backupBackends
*/
public java.util.List < BackupBackends> getBackupBackends() {
return this.backupBackends;
}
/**
* @return connectTimeout
*/
public Integer getConnectTimeout() {
return this.connectTimeout;
}
/**
* @return focusHttpBackend
*/
public Boolean getFocusHttpBackend() {
return this.focusHttpBackend;
}
/**
* @return keepalive
*/
public Boolean getKeepalive() {
return this.keepalive;
}
/**
* @return keepaliveRequests
*/
public Integer getKeepaliveRequests() {
return this.keepaliveRequests;
}
/**
* @return keepaliveTimeout
*/
public Integer getKeepaliveTimeout() {
return this.keepaliveTimeout;
}
/**
* @return loadbalance
*/
public String getLoadbalance() {
return this.loadbalance;
}
/**
* @return readTimeout
*/
public Integer getReadTimeout() {
return this.readTimeout;
}
/**
* @return requestHeaders
*/
public java.util.List < RequestHeaders> getRequestHeaders() {
return this.requestHeaders;
}
/**
* @return retry
*/
public Boolean getRetry() {
return this.retry;
}
/**
* @return sniEnabled
*/
public Boolean getSniEnabled() {
return this.sniEnabled;
}
/**
* @return sniHost
*/
public String getSniHost() {
return this.sniHost;
}
/**
* @return writeTimeout
*/
public Integer getWriteTimeout() {
return this.writeTimeout;
}
/**
* @return xffProto
*/
public Boolean getXffProto() {
return this.xffProto;
}
public static final class Builder {
private java.util.List < Backends> backends;
private java.util.List < BackupBackends> backupBackends;
private Integer connectTimeout;
private Boolean focusHttpBackend;
private Boolean keepalive;
private Integer keepaliveRequests;
private Integer keepaliveTimeout;
private String loadbalance;
private Integer readTimeout;
private java.util.List < RequestHeaders> requestHeaders;
private Boolean retry;
private Boolean sniEnabled;
private String sniHost;
private Integer writeTimeout;
private Boolean xffProto;
/**
* An array of addresses of origin servers.
*/
public Builder backends(java.util.List < Backends> backends) {
this.backends = backends;
return this;
}
/**
* BackupBackends.
*/
public Builder backupBackends(java.util.List < BackupBackends> backupBackends) {
this.backupBackends = backupBackends;
return this;
}
/**
* The timeout period of the connection. Unit: seconds. Valid values: 5 to 120.
*
* example:
* 120
*/
public Builder connectTimeout(Integer connectTimeout) {
this.connectTimeout = connectTimeout;
return this;
}
/**
* Indicates whether HTTPS to HTTP redirection is enabled for back-to-origin requests of the domain name. Valid values:
*
* - true: HTTPS to HTTP redirection for back-to-origin requests of the domain name is enabled.
* - false: HTTPS to HTTP redirection for back-to-origin requests of the domain name is disabled.
*
*
* example:
* true
*/
public Builder focusHttpBackend(Boolean focusHttpBackend) {
this.focusHttpBackend = focusHttpBackend;
return this;
}
/**
* Indicates whether the persistent connection feature is enabled. Valid values:
*
* - true: The persistent connection feature is enabled. This is the default value.
* - false: The persistent connection feature is disabled.
*
*
* example:
* true
*/
public Builder keepalive(Boolean keepalive) {
this.keepalive = keepalive;
return this;
}
/**
* The number of reused persistent connections. Valid values: 60 to 1000.
*
* This parameter specifies the number of reused persistent connections when you enable the persistent connection feature.
*
*
* example:
* 1000
*/
public Builder keepaliveRequests(Integer keepaliveRequests) {
this.keepaliveRequests = keepaliveRequests;
return this;
}
/**
* The timeout period of persistent connections that are in the Idle state. Valid values: 1 to 60. Default value: 15. Unit: seconds.
*
* This parameter specifies the period of time during which a reused persistent connection is allowed to remain in the Idle state before the persistent connection is released.
*
*
* example:
* 15
*/
public Builder keepaliveTimeout(Integer keepaliveTimeout) {
this.keepaliveTimeout = keepaliveTimeout;
return this;
}
/**
* The load balancing algorithm that is used when WAF forwards requests to the origin server. Valid values:
*
* - ip_hash: the IP hash algorithm.
* - roundRobin: the round-robin algorithm.
* - leastTime: the least response time algorithm.
*
*
* example:
* iphash
*/
public Builder loadbalance(String loadbalance) {
this.loadbalance = loadbalance;
return this;
}
/**
* The read timeout period. Unit: seconds. Valid values: 5 to 1800.
*
* example:
* 200
*/
public Builder readTimeout(Integer readTimeout) {
this.readTimeout = readTimeout;
return this;
}
/**
* An array of key-value pairs that are used to mark the requests that pass through the WAF instance.
*/
public Builder requestHeaders(java.util.List < RequestHeaders> requestHeaders) {
this.requestHeaders = requestHeaders;
return this;
}
/**
* Indicates whether WAF retries when requests fail to be forwarded to the origin server. Valid values:
*
* - true: WAF retries. This is the default value.
* - false: WAF does not retry.
*
*
* example:
* true
*/
public Builder retry(Boolean retry) {
this.retry = retry;
return this;
}
/**
* Indicates whether origin Server Name Indication (SNI) is enabled. Valid values:
*
* - true: Origin SNI is enabled.
* - false: Origin SNI is disabled. This is the default value.
*
*
* example:
* true
*/
public Builder sniEnabled(Boolean sniEnabled) {
this.sniEnabled = sniEnabled;
return this;
}
/**
* The value of the custom SNI field.
*
* example:
*
*/
public Builder sniHost(String sniHost) {
this.sniHost = sniHost;
return this;
}
/**
* The write timeout period. Unit: seconds. Valid values: 5 to 1800.
*
* example:
* 200
*/
public Builder writeTimeout(Integer writeTimeout) {
this.writeTimeout = writeTimeout;
return this;
}
/**
* Indicates whether the X-Forward-For-Proto header is used to identify the protocol used by WAF to forward requests to the origin server. Valid values:
*
* - true (default)
* - false
*
*
* example:
* true
*/
public Builder xffProto(Boolean xffProto) {
this.xffProto = xffProto;
return this;
}
public Redirect build() {
return new Redirect(this);
}
}
}
/**
*
* {@link DescribeDomainDetailResponseBody} extends {@link TeaModel}
*
* DescribeDomainDetailResponseBody
*/
public static class SM2CertDetail extends TeaModel {
@com.aliyun.core.annotation.NameInMap("CommonName")
private String commonName;
@com.aliyun.core.annotation.NameInMap("EndTime")
private Long endTime;
@com.aliyun.core.annotation.NameInMap("Id")
private String id;
@com.aliyun.core.annotation.NameInMap("Name")
private String name;
@com.aliyun.core.annotation.NameInMap("Sans")
private java.util.List < String > sans;
@com.aliyun.core.annotation.NameInMap("StartTime")
private Long startTime;
private SM2CertDetail(Builder builder) {
this.commonName = builder.commonName;
this.endTime = builder.endTime;
this.id = builder.id;
this.name = builder.name;
this.sans = builder.sans;
this.startTime = builder.startTime;
}
public static Builder builder() {
return new Builder();
}
public static SM2CertDetail create() {
return builder().build();
}
/**
* @return commonName
*/
public String getCommonName() {
return this.commonName;
}
/**
* @return endTime
*/
public Long getEndTime() {
return this.endTime;
}
/**
* @return id
*/
public String getId() {
return this.id;
}
/**
* @return name
*/
public String getName() {
return this.name;
}
/**
* @return sans
*/
public java.util.List < String > getSans() {
return this.sans;
}
/**
* @return startTime
*/
public Long getStartTime() {
return this.startTime;
}
public static final class Builder {
private String commonName;
private Long endTime;
private String id;
private String name;
private java.util.List < String > sans;
private Long startTime;
/**
* The domain name of your website.
*
* example:
* test.aliyundoc.com
*/
public Builder commonName(String commonName) {
this.commonName = commonName;
return this;
}
/**
* The end of the validity period of the SSL certificate. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.
*
* example:
* 1665590400000
*/
public Builder endTime(Long endTime) {
this.endTime = endTime;
return this;
}
/**
* The ID of the SSL certificate.
*
* example:
* 123-cn-hangzhou
*/
public Builder id(String id) {
this.id = id;
return this;
}
/**
* The name of the SSL certificate.
*
* example:
* test-sm2-cert-name
*/
public Builder name(String name) {
this.name = name;
return this;
}
/**
* All domain names that are bound to the certificate.
*/
public Builder sans(java.util.List < String > sans) {
this.sans = sans;
return this;
}
/**
* The beginning of the validity period of the SSL certificate. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.
*
* example:
* 1657551525000
*/
public Builder startTime(Long startTime) {
this.startTime = startTime;
return this;
}
public SM2CertDetail build() {
return new SM2CertDetail(this);
}
}
}
}