All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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: *

www.aliyundoc.com

*/ 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: *

www.aliyundoc.com

*/ 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); } } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy