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

com.aliyun.ros.cdk.waf.DomainProps Maven / Gradle / Ivy

package com.aliyun.ros.cdk.waf;

/**
 * Properties for defining a Domain.
 * 

* See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-waf-domain */ @javax.annotation.Generated(value = "jsii-pacmak/1.85.0 (build 08ee592)", date = "2024-10-18T08:56:34.545Z") @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.waf.$Module.class, fqn = "@alicloud/ros-cdk-waf.DomainProps") @software.amazon.jsii.Jsii.Proxy(DomainProps.Jsii$Proxy.class) public interface DomainProps extends software.amazon.jsii.JsiiSerializable { /** * Property domainName: Domain name. */ @org.jetbrains.annotations.NotNull java.lang.Object getDomainName(); /** * Property instanceId: Instance id. */ @org.jetbrains.annotations.NotNull java.lang.Object getInstanceId(); /** * Property isAccessProduct: Is there a seven-layer agency before WAF. */ @org.jetbrains.annotations.NotNull java.lang.Object getIsAccessProduct(); /** * Property sourceIps: Back to source IP configuration. */ @org.jetbrains.annotations.NotNull java.lang.Object getSourceIps(); /** * Property clusterType: Cluster type. */ default @org.jetbrains.annotations.Nullable java.lang.Object getClusterType() { return null; } /** * Property connectionTime: Connection timeout. */ default @org.jetbrains.annotations.Nullable java.lang.Object getConnectionTime() { return null; } /** * Property http2Port: Http2 port configuration. */ default @org.jetbrains.annotations.Nullable java.lang.Object getHttp2Port() { return null; } /** * Property httpPort: Http port configuration. */ default @org.jetbrains.annotations.Nullable java.lang.Object getHttpPort() { return null; } /** * Property httpsPort: Https port configuration. */ default @org.jetbrains.annotations.Nullable java.lang.Object getHttpsPort() { return null; } /** * Property httpsRedirect: Https forced redirect configuration. */ default @org.jetbrains.annotations.Nullable java.lang.Object getHttpsRedirect() { return null; } /** * Property httpToUserIp: Http back to source. */ default @org.jetbrains.annotations.Nullable java.lang.Object getHttpToUserIp() { return null; } /** * Property loadBalancing: Load balancing configuration. */ default @org.jetbrains.annotations.Nullable java.lang.Object getLoadBalancing() { return null; } /** * Property logHeaders: Domain traffic tagging. */ default @org.jetbrains.annotations.Nullable java.lang.Object getLogHeaders() { return null; } /** * Property readTime: Read connection timeout period. */ default @org.jetbrains.annotations.Nullable java.lang.Object getReadTime() { return null; } /** * Property resourceGroupId: Resource group Id. */ default @org.jetbrains.annotations.Nullable java.lang.Object getResourceGroupId() { return null; } /** * Property writeTime: Write connection timeout period. */ default @org.jetbrains.annotations.Nullable java.lang.Object getWriteTime() { return null; } /** * @return a {@link Builder} of {@link DomainProps} */ static Builder builder() { return new Builder(); } /** * A builder for {@link DomainProps} */ public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object domainName; java.lang.Object instanceId; java.lang.Object isAccessProduct; java.lang.Object sourceIps; java.lang.Object clusterType; java.lang.Object connectionTime; java.lang.Object http2Port; java.lang.Object httpPort; java.lang.Object httpsPort; java.lang.Object httpsRedirect; java.lang.Object httpToUserIp; java.lang.Object loadBalancing; java.lang.Object logHeaders; java.lang.Object readTime; java.lang.Object resourceGroupId; java.lang.Object writeTime; /** * Sets the value of {@link DomainProps#getDomainName} * @param domainName Property domainName: Domain name. This parameter is required. * @return {@code this} */ public Builder domainName(java.lang.String domainName) { this.domainName = domainName; return this; } /** * Sets the value of {@link DomainProps#getDomainName} * @param domainName Property domainName: Domain name. This parameter is required. * @return {@code this} */ public Builder domainName(com.aliyun.ros.cdk.core.IResolvable domainName) { this.domainName = domainName; return this; } /** * Sets the value of {@link DomainProps#getInstanceId} * @param instanceId Property instanceId: Instance id. This parameter is required. * @return {@code this} */ public Builder instanceId(java.lang.String instanceId) { this.instanceId = instanceId; return this; } /** * Sets the value of {@link DomainProps#getInstanceId} * @param instanceId Property instanceId: Instance id. This parameter is required. * @return {@code this} */ public Builder instanceId(com.aliyun.ros.cdk.core.IResolvable instanceId) { this.instanceId = instanceId; return this; } /** * Sets the value of {@link DomainProps#getIsAccessProduct} * @param isAccessProduct Property isAccessProduct: Is there a seven-layer agency before WAF. This parameter is required. * @return {@code this} */ public Builder isAccessProduct(java.lang.String isAccessProduct) { this.isAccessProduct = isAccessProduct; return this; } /** * Sets the value of {@link DomainProps#getIsAccessProduct} * @param isAccessProduct Property isAccessProduct: Is there a seven-layer agency before WAF. This parameter is required. * @return {@code this} */ public Builder isAccessProduct(com.aliyun.ros.cdk.core.IResolvable isAccessProduct) { this.isAccessProduct = isAccessProduct; return this; } /** * Sets the value of {@link DomainProps#getSourceIps} * @param sourceIps Property sourceIps: Back to source IP configuration. This parameter is required. * @return {@code this} */ public Builder sourceIps(com.aliyun.ros.cdk.core.IResolvable sourceIps) { this.sourceIps = sourceIps; return this; } /** * Sets the value of {@link DomainProps#getSourceIps} * @param sourceIps Property sourceIps: Back to source IP configuration. This parameter is required. * @return {@code this} */ public Builder sourceIps(java.util.List sourceIps) { this.sourceIps = sourceIps; return this; } /** * Sets the value of {@link DomainProps#getClusterType} * @param clusterType Property clusterType: Cluster type. * @return {@code this} */ public Builder clusterType(java.lang.String clusterType) { this.clusterType = clusterType; return this; } /** * Sets the value of {@link DomainProps#getClusterType} * @param clusterType Property clusterType: Cluster type. * @return {@code this} */ public Builder clusterType(com.aliyun.ros.cdk.core.IResolvable clusterType) { this.clusterType = clusterType; return this; } /** * Sets the value of {@link DomainProps#getConnectionTime} * @param connectionTime Property connectionTime: Connection timeout. * @return {@code this} */ public Builder connectionTime(java.lang.Number connectionTime) { this.connectionTime = connectionTime; return this; } /** * Sets the value of {@link DomainProps#getConnectionTime} * @param connectionTime Property connectionTime: Connection timeout. * @return {@code this} */ public Builder connectionTime(com.aliyun.ros.cdk.core.IResolvable connectionTime) { this.connectionTime = connectionTime; return this; } /** * Sets the value of {@link DomainProps#getHttp2Port} * @param http2Port Property http2Port: Http2 port configuration. * @return {@code this} */ public Builder http2Port(com.aliyun.ros.cdk.core.IResolvable http2Port) { this.http2Port = http2Port; return this; } /** * Sets the value of {@link DomainProps#getHttp2Port} * @param http2Port Property http2Port: Http2 port configuration. * @return {@code this} */ public Builder http2Port(java.util.List http2Port) { this.http2Port = http2Port; return this; } /** * Sets the value of {@link DomainProps#getHttpPort} * @param httpPort Property httpPort: Http port configuration. * @return {@code this} */ public Builder httpPort(com.aliyun.ros.cdk.core.IResolvable httpPort) { this.httpPort = httpPort; return this; } /** * Sets the value of {@link DomainProps#getHttpPort} * @param httpPort Property httpPort: Http port configuration. * @return {@code this} */ public Builder httpPort(java.util.List httpPort) { this.httpPort = httpPort; return this; } /** * Sets the value of {@link DomainProps#getHttpsPort} * @param httpsPort Property httpsPort: Https port configuration. * @return {@code this} */ public Builder httpsPort(com.aliyun.ros.cdk.core.IResolvable httpsPort) { this.httpsPort = httpsPort; return this; } /** * Sets the value of {@link DomainProps#getHttpsPort} * @param httpsPort Property httpsPort: Https port configuration. * @return {@code this} */ public Builder httpsPort(java.util.List httpsPort) { this.httpsPort = httpsPort; return this; } /** * Sets the value of {@link DomainProps#getHttpsRedirect} * @param httpsRedirect Property httpsRedirect: Https forced redirect configuration. * @return {@code this} */ public Builder httpsRedirect(java.lang.String httpsRedirect) { this.httpsRedirect = httpsRedirect; return this; } /** * Sets the value of {@link DomainProps#getHttpsRedirect} * @param httpsRedirect Property httpsRedirect: Https forced redirect configuration. * @return {@code this} */ public Builder httpsRedirect(com.aliyun.ros.cdk.core.IResolvable httpsRedirect) { this.httpsRedirect = httpsRedirect; return this; } /** * Sets the value of {@link DomainProps#getHttpToUserIp} * @param httpToUserIp Property httpToUserIp: Http back to source. * @return {@code this} */ public Builder httpToUserIp(java.lang.String httpToUserIp) { this.httpToUserIp = httpToUserIp; return this; } /** * Sets the value of {@link DomainProps#getHttpToUserIp} * @param httpToUserIp Property httpToUserIp: Http back to source. * @return {@code this} */ public Builder httpToUserIp(com.aliyun.ros.cdk.core.IResolvable httpToUserIp) { this.httpToUserIp = httpToUserIp; return this; } /** * Sets the value of {@link DomainProps#getLoadBalancing} * @param loadBalancing Property loadBalancing: Load balancing configuration. * @return {@code this} */ public Builder loadBalancing(java.lang.String loadBalancing) { this.loadBalancing = loadBalancing; return this; } /** * Sets the value of {@link DomainProps#getLoadBalancing} * @param loadBalancing Property loadBalancing: Load balancing configuration. * @return {@code this} */ public Builder loadBalancing(com.aliyun.ros.cdk.core.IResolvable loadBalancing) { this.loadBalancing = loadBalancing; return this; } /** * Sets the value of {@link DomainProps#getLogHeaders} * @param logHeaders Property logHeaders: Domain traffic tagging. * @return {@code this} */ public Builder logHeaders(com.aliyun.ros.cdk.core.IResolvable logHeaders) { this.logHeaders = logHeaders; return this; } /** * Sets the value of {@link DomainProps#getLogHeaders} * @param logHeaders Property logHeaders: Domain traffic tagging. * @return {@code this} */ public Builder logHeaders(java.util.List logHeaders) { this.logHeaders = logHeaders; return this; } /** * Sets the value of {@link DomainProps#getReadTime} * @param readTime Property readTime: Read connection timeout period. * @return {@code this} */ public Builder readTime(java.lang.Number readTime) { this.readTime = readTime; return this; } /** * Sets the value of {@link DomainProps#getReadTime} * @param readTime Property readTime: Read connection timeout period. * @return {@code this} */ public Builder readTime(com.aliyun.ros.cdk.core.IResolvable readTime) { this.readTime = readTime; return this; } /** * Sets the value of {@link DomainProps#getResourceGroupId} * @param resourceGroupId Property resourceGroupId: Resource group Id. * @return {@code this} */ public Builder resourceGroupId(java.lang.String resourceGroupId) { this.resourceGroupId = resourceGroupId; return this; } /** * Sets the value of {@link DomainProps#getResourceGroupId} * @param resourceGroupId Property resourceGroupId: Resource group Id. * @return {@code this} */ public Builder resourceGroupId(com.aliyun.ros.cdk.core.IResolvable resourceGroupId) { this.resourceGroupId = resourceGroupId; return this; } /** * Sets the value of {@link DomainProps#getWriteTime} * @param writeTime Property writeTime: Write connection timeout period. * @return {@code this} */ public Builder writeTime(java.lang.Number writeTime) { this.writeTime = writeTime; return this; } /** * Sets the value of {@link DomainProps#getWriteTime} * @param writeTime Property writeTime: Write connection timeout period. * @return {@code this} */ public Builder writeTime(com.aliyun.ros.cdk.core.IResolvable writeTime) { this.writeTime = writeTime; return this; } /** * Builds the configured instance. * @return a new instance of {@link DomainProps} * @throws NullPointerException if any required attribute was not provided */ @Override public DomainProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link DomainProps} */ @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DomainProps { private final java.lang.Object domainName; private final java.lang.Object instanceId; private final java.lang.Object isAccessProduct; private final java.lang.Object sourceIps; private final java.lang.Object clusterType; private final java.lang.Object connectionTime; private final java.lang.Object http2Port; private final java.lang.Object httpPort; private final java.lang.Object httpsPort; private final java.lang.Object httpsRedirect; private final java.lang.Object httpToUserIp; private final java.lang.Object loadBalancing; private final java.lang.Object logHeaders; private final java.lang.Object readTime; private final java.lang.Object resourceGroupId; private final java.lang.Object writeTime; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.domainName = software.amazon.jsii.Kernel.get(this, "domainName", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.instanceId = software.amazon.jsii.Kernel.get(this, "instanceId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.isAccessProduct = software.amazon.jsii.Kernel.get(this, "isAccessProduct", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.sourceIps = software.amazon.jsii.Kernel.get(this, "sourceIps", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.clusterType = software.amazon.jsii.Kernel.get(this, "clusterType", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.connectionTime = software.amazon.jsii.Kernel.get(this, "connectionTime", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.http2Port = software.amazon.jsii.Kernel.get(this, "http2Port", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.httpPort = software.amazon.jsii.Kernel.get(this, "httpPort", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.httpsPort = software.amazon.jsii.Kernel.get(this, "httpsPort", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.httpsRedirect = software.amazon.jsii.Kernel.get(this, "httpsRedirect", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.httpToUserIp = software.amazon.jsii.Kernel.get(this, "httpToUserIp", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.loadBalancing = software.amazon.jsii.Kernel.get(this, "loadBalancing", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.logHeaders = software.amazon.jsii.Kernel.get(this, "logHeaders", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.readTime = software.amazon.jsii.Kernel.get(this, "readTime", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.resourceGroupId = software.amazon.jsii.Kernel.get(this, "resourceGroupId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.writeTime = software.amazon.jsii.Kernel.get(this, "writeTime", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.domainName = java.util.Objects.requireNonNull(builder.domainName, "domainName is required"); this.instanceId = java.util.Objects.requireNonNull(builder.instanceId, "instanceId is required"); this.isAccessProduct = java.util.Objects.requireNonNull(builder.isAccessProduct, "isAccessProduct is required"); this.sourceIps = java.util.Objects.requireNonNull(builder.sourceIps, "sourceIps is required"); this.clusterType = builder.clusterType; this.connectionTime = builder.connectionTime; this.http2Port = builder.http2Port; this.httpPort = builder.httpPort; this.httpsPort = builder.httpsPort; this.httpsRedirect = builder.httpsRedirect; this.httpToUserIp = builder.httpToUserIp; this.loadBalancing = builder.loadBalancing; this.logHeaders = builder.logHeaders; this.readTime = builder.readTime; this.resourceGroupId = builder.resourceGroupId; this.writeTime = builder.writeTime; } @Override public final java.lang.Object getDomainName() { return this.domainName; } @Override public final java.lang.Object getInstanceId() { return this.instanceId; } @Override public final java.lang.Object getIsAccessProduct() { return this.isAccessProduct; } @Override public final java.lang.Object getSourceIps() { return this.sourceIps; } @Override public final java.lang.Object getClusterType() { return this.clusterType; } @Override public final java.lang.Object getConnectionTime() { return this.connectionTime; } @Override public final java.lang.Object getHttp2Port() { return this.http2Port; } @Override public final java.lang.Object getHttpPort() { return this.httpPort; } @Override public final java.lang.Object getHttpsPort() { return this.httpsPort; } @Override public final java.lang.Object getHttpsRedirect() { return this.httpsRedirect; } @Override public final java.lang.Object getHttpToUserIp() { return this.httpToUserIp; } @Override public final java.lang.Object getLoadBalancing() { return this.loadBalancing; } @Override public final java.lang.Object getLogHeaders() { return this.logHeaders; } @Override public final java.lang.Object getReadTime() { return this.readTime; } @Override public final java.lang.Object getResourceGroupId() { return this.resourceGroupId; } @Override public final java.lang.Object getWriteTime() { return this.writeTime; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set("domainName", om.valueToTree(this.getDomainName())); data.set("instanceId", om.valueToTree(this.getInstanceId())); data.set("isAccessProduct", om.valueToTree(this.getIsAccessProduct())); data.set("sourceIps", om.valueToTree(this.getSourceIps())); if (this.getClusterType() != null) { data.set("clusterType", om.valueToTree(this.getClusterType())); } if (this.getConnectionTime() != null) { data.set("connectionTime", om.valueToTree(this.getConnectionTime())); } if (this.getHttp2Port() != null) { data.set("http2Port", om.valueToTree(this.getHttp2Port())); } if (this.getHttpPort() != null) { data.set("httpPort", om.valueToTree(this.getHttpPort())); } if (this.getHttpsPort() != null) { data.set("httpsPort", om.valueToTree(this.getHttpsPort())); } if (this.getHttpsRedirect() != null) { data.set("httpsRedirect", om.valueToTree(this.getHttpsRedirect())); } if (this.getHttpToUserIp() != null) { data.set("httpToUserIp", om.valueToTree(this.getHttpToUserIp())); } if (this.getLoadBalancing() != null) { data.set("loadBalancing", om.valueToTree(this.getLoadBalancing())); } if (this.getLogHeaders() != null) { data.set("logHeaders", om.valueToTree(this.getLogHeaders())); } if (this.getReadTime() != null) { data.set("readTime", om.valueToTree(this.getReadTime())); } if (this.getResourceGroupId() != null) { data.set("resourceGroupId", om.valueToTree(this.getResourceGroupId())); } if (this.getWriteTime() != null) { data.set("writeTime", om.valueToTree(this.getWriteTime())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-waf.DomainProps")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; DomainProps.Jsii$Proxy that = (DomainProps.Jsii$Proxy) o; if (!domainName.equals(that.domainName)) return false; if (!instanceId.equals(that.instanceId)) return false; if (!isAccessProduct.equals(that.isAccessProduct)) return false; if (!sourceIps.equals(that.sourceIps)) return false; if (this.clusterType != null ? !this.clusterType.equals(that.clusterType) : that.clusterType != null) return false; if (this.connectionTime != null ? !this.connectionTime.equals(that.connectionTime) : that.connectionTime != null) return false; if (this.http2Port != null ? !this.http2Port.equals(that.http2Port) : that.http2Port != null) return false; if (this.httpPort != null ? !this.httpPort.equals(that.httpPort) : that.httpPort != null) return false; if (this.httpsPort != null ? !this.httpsPort.equals(that.httpsPort) : that.httpsPort != null) return false; if (this.httpsRedirect != null ? !this.httpsRedirect.equals(that.httpsRedirect) : that.httpsRedirect != null) return false; if (this.httpToUserIp != null ? !this.httpToUserIp.equals(that.httpToUserIp) : that.httpToUserIp != null) return false; if (this.loadBalancing != null ? !this.loadBalancing.equals(that.loadBalancing) : that.loadBalancing != null) return false; if (this.logHeaders != null ? !this.logHeaders.equals(that.logHeaders) : that.logHeaders != null) return false; if (this.readTime != null ? !this.readTime.equals(that.readTime) : that.readTime != null) return false; if (this.resourceGroupId != null ? !this.resourceGroupId.equals(that.resourceGroupId) : that.resourceGroupId != null) return false; return this.writeTime != null ? this.writeTime.equals(that.writeTime) : that.writeTime == null; } @Override public final int hashCode() { int result = this.domainName.hashCode(); result = 31 * result + (this.instanceId.hashCode()); result = 31 * result + (this.isAccessProduct.hashCode()); result = 31 * result + (this.sourceIps.hashCode()); result = 31 * result + (this.clusterType != null ? this.clusterType.hashCode() : 0); result = 31 * result + (this.connectionTime != null ? this.connectionTime.hashCode() : 0); result = 31 * result + (this.http2Port != null ? this.http2Port.hashCode() : 0); result = 31 * result + (this.httpPort != null ? this.httpPort.hashCode() : 0); result = 31 * result + (this.httpsPort != null ? this.httpsPort.hashCode() : 0); result = 31 * result + (this.httpsRedirect != null ? this.httpsRedirect.hashCode() : 0); result = 31 * result + (this.httpToUserIp != null ? this.httpToUserIp.hashCode() : 0); result = 31 * result + (this.loadBalancing != null ? this.loadBalancing.hashCode() : 0); result = 31 * result + (this.logHeaders != null ? this.logHeaders.hashCode() : 0); result = 31 * result + (this.readTime != null ? this.readTime.hashCode() : 0); result = 31 * result + (this.resourceGroupId != null ? this.resourceGroupId.hashCode() : 0); result = 31 * result + (this.writeTime != null ? this.writeTime.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy