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

com.aliyun.ros.cdk.alb.RosRule Maven / Gradle / Ivy

Go to download

Aliyun SDK Copyright (C) Alibaba Cloud Computing All rights reserved. http://www.aliyun.com

The newest version!
package com.aliyun.ros.cdk.alb;

/**
 * This class is a base encapsulation around the ROS resource type ALIYUN::ALB::RuleALIYUN::Config::Rule is used to create a forwarding rule.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.85.0 (build 08ee592)", date = "2024-09-12T02:20:22.860Z")
@software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule")
public class RosRule extends com.aliyun.ros.cdk.core.RosResource {

    protected RosRule(final software.amazon.jsii.JsiiObjectRef objRef) {
        super(objRef);
    }

    protected RosRule(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
        super(initializationMode);
    }

    static {
        ROS_RESOURCE_TYPE_NAME = software.amazon.jsii.JsiiObject.jsiiStaticGet(com.aliyun.ros.cdk.alb.RosRule.class, "ROS_RESOURCE_TYPE_NAME", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
    }

    /**
     * @param scope 
  • scope in which this resource is defined.
This parameter is required. * @param id
  • scoped id of the resource.
This parameter is required. * @param props
  • resource properties.
This parameter is required. * @param enableResourcePropertyConstraint This parameter is required. */ public RosRule(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.alb.RosRuleProps props, final @org.jetbrains.annotations.NotNull java.lang.Boolean enableResourcePropertyConstraint) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), java.util.Objects.requireNonNull(props, "props is required"), java.util.Objects.requireNonNull(enableResourcePropertyConstraint, "enableResourcePropertyConstraint is required") }); } @Override protected @org.jetbrains.annotations.NotNull java.util.Map renderProperties(final @org.jetbrains.annotations.NotNull java.util.Map props) { return java.util.Collections.unmodifiableMap(software.amazon.jsii.Kernel.call(this, "renderProperties", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)), new Object[] { java.util.Objects.requireNonNull(props, "props is required") })); } /** * The resource type name for this resource class. */ public final static java.lang.String ROS_RESOURCE_TYPE_NAME; /** */ public @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable getAttrRuleId() { return software.amazon.jsii.Kernel.get(this, "attrRuleId", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.core.IResolvable.class)); } @Override protected @org.jetbrains.annotations.NotNull java.util.Map getRosProperties() { return java.util.Collections.unmodifiableMap(software.amazon.jsii.Kernel.get(this, "rosProperties", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); } public @org.jetbrains.annotations.NotNull java.lang.Boolean getEnableResourcePropertyConstraint() { return software.amazon.jsii.Kernel.get(this, "enableResourcePropertyConstraint", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); } public void setEnableResourcePropertyConstraint(final @org.jetbrains.annotations.NotNull java.lang.Boolean value) { software.amazon.jsii.Kernel.set(this, "enableResourcePropertyConstraint", java.util.Objects.requireNonNull(value, "enableResourcePropertyConstraint is required")); } /** */ public @org.jetbrains.annotations.NotNull java.lang.Object getListenerId() { return software.amazon.jsii.Kernel.get(this, "listenerId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); } /** */ public void setListenerId(final @org.jetbrains.annotations.NotNull java.lang.String value) { software.amazon.jsii.Kernel.set(this, "listenerId", java.util.Objects.requireNonNull(value, "listenerId is required")); } /** */ public void setListenerId(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable value) { software.amazon.jsii.Kernel.set(this, "listenerId", java.util.Objects.requireNonNull(value, "listenerId is required")); } /** */ public @org.jetbrains.annotations.NotNull java.lang.Object getPriority() { return software.amazon.jsii.Kernel.get(this, "priority", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); } /** */ public void setPriority(final @org.jetbrains.annotations.NotNull java.lang.Number value) { software.amazon.jsii.Kernel.set(this, "priority", java.util.Objects.requireNonNull(value, "priority is required")); } /** */ public void setPriority(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable value) { software.amazon.jsii.Kernel.set(this, "priority", java.util.Objects.requireNonNull(value, "priority is required")); } /** */ public @org.jetbrains.annotations.NotNull java.lang.Object getRuleActions() { return software.amazon.jsii.Kernel.get(this, "ruleActions", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); } /** */ public void setRuleActions(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable value) { software.amazon.jsii.Kernel.set(this, "ruleActions", java.util.Objects.requireNonNull(value, "ruleActions is required")); } /** */ public void setRuleActions(final @org.jetbrains.annotations.NotNull java.util.List value) { if (software.amazon.jsii.Configuration.getRuntimeTypeChecking()) { for (int __idx_ac66f0 = 0; __idx_ac66f0 < value.size(); __idx_ac66f0++) { final java.lang.Object __val_ac66f0 = value.get(__idx_ac66f0); if ( !(__val_ac66f0 instanceof com.aliyun.ros.cdk.core.IResolvable) && !(__val_ac66f0 instanceof com.aliyun.ros.cdk.alb.RosRule.RuleActionsProperty) && !(__val_ac66f0.getClass().equals(software.amazon.jsii.JsiiObject.class)) ) { throw new IllegalArgumentException( new java.lang.StringBuilder("Expected ") .append("value").append(".get(").append(__idx_ac66f0).append(")") .append(" to be one of: com.aliyun.ros.cdk.core.IResolvable, com.aliyun.ros.cdk.alb.RosRule.RuleActionsProperty; received ") .append(__val_ac66f0.getClass()).toString()); } } } software.amazon.jsii.Kernel.set(this, "ruleActions", java.util.Objects.requireNonNull(value, "ruleActions is required")); } /** */ public @org.jetbrains.annotations.NotNull java.lang.Object getRuleConditions() { return software.amazon.jsii.Kernel.get(this, "ruleConditions", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); } /** */ public void setRuleConditions(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable value) { software.amazon.jsii.Kernel.set(this, "ruleConditions", java.util.Objects.requireNonNull(value, "ruleConditions is required")); } /** */ public void setRuleConditions(final @org.jetbrains.annotations.NotNull java.util.List value) { if (software.amazon.jsii.Configuration.getRuntimeTypeChecking()) { for (int __idx_ac66f0 = 0; __idx_ac66f0 < value.size(); __idx_ac66f0++) { final java.lang.Object __val_ac66f0 = value.get(__idx_ac66f0); if ( !(__val_ac66f0 instanceof com.aliyun.ros.cdk.core.IResolvable) && !(__val_ac66f0 instanceof com.aliyun.ros.cdk.alb.RosRule.RuleConditionsProperty) && !(__val_ac66f0.getClass().equals(software.amazon.jsii.JsiiObject.class)) ) { throw new IllegalArgumentException( new java.lang.StringBuilder("Expected ") .append("value").append(".get(").append(__idx_ac66f0).append(")") .append(" to be one of: com.aliyun.ros.cdk.core.IResolvable, com.aliyun.ros.cdk.alb.RosRule.RuleConditionsProperty; received ") .append(__val_ac66f0.getClass()).toString()); } } } software.amazon.jsii.Kernel.set(this, "ruleConditions", java.util.Objects.requireNonNull(value, "ruleConditions is required")); } /** */ public @org.jetbrains.annotations.NotNull java.lang.Object getRuleName() { return software.amazon.jsii.Kernel.get(this, "ruleName", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); } /** */ public void setRuleName(final @org.jetbrains.annotations.NotNull java.lang.String value) { software.amazon.jsii.Kernel.set(this, "ruleName", java.util.Objects.requireNonNull(value, "ruleName is required")); } /** */ public void setRuleName(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable value) { software.amazon.jsii.Kernel.set(this, "ruleName", java.util.Objects.requireNonNull(value, "ruleName is required")); } /** */ public @org.jetbrains.annotations.Nullable java.lang.Object getDirection() { return software.amazon.jsii.Kernel.get(this, "direction", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); } /** */ public void setDirection(final @org.jetbrains.annotations.Nullable java.lang.String value) { software.amazon.jsii.Kernel.set(this, "direction", value); } /** */ public void setDirection(final @org.jetbrains.annotations.Nullable com.aliyun.ros.cdk.core.IResolvable value) { software.amazon.jsii.Kernel.set(this, "direction", value); } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.CookieConfigProperty") @software.amazon.jsii.Jsii.Proxy(CookieConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface CookieConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getValues() { return null; } /** * @return a {@link Builder} of {@link CookieConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link CookieConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object values; /** * Sets the value of {@link CookieConfigProperty#getValues} * @param values the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(com.aliyun.ros.cdk.core.IResolvable values) { this.values = values; return this; } /** * Sets the value of {@link CookieConfigProperty#getValues} * @param values the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(java.util.List values) { this.values = values; return this; } /** * Builds the configured instance. * @return a new instance of {@link CookieConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public CookieConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link CookieConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CookieConfigProperty { private final java.lang.Object values; /** * 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.values = software.amazon.jsii.Kernel.get(this, "values", 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.values = builder.values; } @Override public final java.lang.Object getValues() { return this.values; } @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(); if (this.getValues() != null) { data.set("values", om.valueToTree(this.getValues())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.CookieConfigProperty")); 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; CookieConfigProperty.Jsii$Proxy that = (CookieConfigProperty.Jsii$Proxy) o; return this.values != null ? this.values.equals(that.values) : that.values == null; } @Override public final int hashCode() { int result = this.values != null ? this.values.hashCode() : 0; return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.CorsConfigProperty") @software.amazon.jsii.Jsii.Proxy(CorsConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface CorsConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getAllowCredentials() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getAllowHeaders() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getAllowMethods() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getAllowOrigin() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getExposeHeaders() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getMaxAge() { return null; } /** * @return a {@link Builder} of {@link CorsConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link CorsConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object allowCredentials; java.lang.Object allowHeaders; java.lang.Object allowMethods; java.lang.Object allowOrigin; java.lang.Object exposeHeaders; java.lang.Object maxAge; /** * Sets the value of {@link CorsConfigProperty#getAllowCredentials} * @param allowCredentials the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder allowCredentials(java.lang.String allowCredentials) { this.allowCredentials = allowCredentials; return this; } /** * Sets the value of {@link CorsConfigProperty#getAllowCredentials} * @param allowCredentials the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder allowCredentials(com.aliyun.ros.cdk.core.IResolvable allowCredentials) { this.allowCredentials = allowCredentials; return this; } /** * Sets the value of {@link CorsConfigProperty#getAllowHeaders} * @param allowHeaders the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder allowHeaders(com.aliyun.ros.cdk.core.IResolvable allowHeaders) { this.allowHeaders = allowHeaders; return this; } /** * Sets the value of {@link CorsConfigProperty#getAllowHeaders} * @param allowHeaders the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder allowHeaders(java.util.List allowHeaders) { this.allowHeaders = allowHeaders; return this; } /** * Sets the value of {@link CorsConfigProperty#getAllowMethods} * @param allowMethods the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder allowMethods(com.aliyun.ros.cdk.core.IResolvable allowMethods) { this.allowMethods = allowMethods; return this; } /** * Sets the value of {@link CorsConfigProperty#getAllowMethods} * @param allowMethods the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder allowMethods(java.util.List allowMethods) { this.allowMethods = allowMethods; return this; } /** * Sets the value of {@link CorsConfigProperty#getAllowOrigin} * @param allowOrigin the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder allowOrigin(com.aliyun.ros.cdk.core.IResolvable allowOrigin) { this.allowOrigin = allowOrigin; return this; } /** * Sets the value of {@link CorsConfigProperty#getAllowOrigin} * @param allowOrigin the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder allowOrigin(java.util.List allowOrigin) { this.allowOrigin = allowOrigin; return this; } /** * Sets the value of {@link CorsConfigProperty#getExposeHeaders} * @param exposeHeaders the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder exposeHeaders(com.aliyun.ros.cdk.core.IResolvable exposeHeaders) { this.exposeHeaders = exposeHeaders; return this; } /** * Sets the value of {@link CorsConfigProperty#getExposeHeaders} * @param exposeHeaders the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder exposeHeaders(java.util.List exposeHeaders) { this.exposeHeaders = exposeHeaders; return this; } /** * Sets the value of {@link CorsConfigProperty#getMaxAge} * @param maxAge the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder maxAge(java.lang.Number maxAge) { this.maxAge = maxAge; return this; } /** * Sets the value of {@link CorsConfigProperty#getMaxAge} * @param maxAge the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder maxAge(com.aliyun.ros.cdk.core.IResolvable maxAge) { this.maxAge = maxAge; return this; } /** * Builds the configured instance. * @return a new instance of {@link CorsConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public CorsConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link CorsConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CorsConfigProperty { private final java.lang.Object allowCredentials; private final java.lang.Object allowHeaders; private final java.lang.Object allowMethods; private final java.lang.Object allowOrigin; private final java.lang.Object exposeHeaders; private final java.lang.Object maxAge; /** * 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.allowCredentials = software.amazon.jsii.Kernel.get(this, "allowCredentials", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.allowHeaders = software.amazon.jsii.Kernel.get(this, "allowHeaders", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.allowMethods = software.amazon.jsii.Kernel.get(this, "allowMethods", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.allowOrigin = software.amazon.jsii.Kernel.get(this, "allowOrigin", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.exposeHeaders = software.amazon.jsii.Kernel.get(this, "exposeHeaders", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.maxAge = software.amazon.jsii.Kernel.get(this, "maxAge", 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.allowCredentials = builder.allowCredentials; this.allowHeaders = builder.allowHeaders; this.allowMethods = builder.allowMethods; this.allowOrigin = builder.allowOrigin; this.exposeHeaders = builder.exposeHeaders; this.maxAge = builder.maxAge; } @Override public final java.lang.Object getAllowCredentials() { return this.allowCredentials; } @Override public final java.lang.Object getAllowHeaders() { return this.allowHeaders; } @Override public final java.lang.Object getAllowMethods() { return this.allowMethods; } @Override public final java.lang.Object getAllowOrigin() { return this.allowOrigin; } @Override public final java.lang.Object getExposeHeaders() { return this.exposeHeaders; } @Override public final java.lang.Object getMaxAge() { return this.maxAge; } @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(); if (this.getAllowCredentials() != null) { data.set("allowCredentials", om.valueToTree(this.getAllowCredentials())); } if (this.getAllowHeaders() != null) { data.set("allowHeaders", om.valueToTree(this.getAllowHeaders())); } if (this.getAllowMethods() != null) { data.set("allowMethods", om.valueToTree(this.getAllowMethods())); } if (this.getAllowOrigin() != null) { data.set("allowOrigin", om.valueToTree(this.getAllowOrigin())); } if (this.getExposeHeaders() != null) { data.set("exposeHeaders", om.valueToTree(this.getExposeHeaders())); } if (this.getMaxAge() != null) { data.set("maxAge", om.valueToTree(this.getMaxAge())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.CorsConfigProperty")); 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; CorsConfigProperty.Jsii$Proxy that = (CorsConfigProperty.Jsii$Proxy) o; if (this.allowCredentials != null ? !this.allowCredentials.equals(that.allowCredentials) : that.allowCredentials != null) return false; if (this.allowHeaders != null ? !this.allowHeaders.equals(that.allowHeaders) : that.allowHeaders != null) return false; if (this.allowMethods != null ? !this.allowMethods.equals(that.allowMethods) : that.allowMethods != null) return false; if (this.allowOrigin != null ? !this.allowOrigin.equals(that.allowOrigin) : that.allowOrigin != null) return false; if (this.exposeHeaders != null ? !this.exposeHeaders.equals(that.exposeHeaders) : that.exposeHeaders != null) return false; return this.maxAge != null ? this.maxAge.equals(that.maxAge) : that.maxAge == null; } @Override public final int hashCode() { int result = this.allowCredentials != null ? this.allowCredentials.hashCode() : 0; result = 31 * result + (this.allowHeaders != null ? this.allowHeaders.hashCode() : 0); result = 31 * result + (this.allowMethods != null ? this.allowMethods.hashCode() : 0); result = 31 * result + (this.allowOrigin != null ? this.allowOrigin.hashCode() : 0); result = 31 * result + (this.exposeHeaders != null ? this.exposeHeaders.hashCode() : 0); result = 31 * result + (this.maxAge != null ? this.maxAge.hashCode() : 0); return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.FixedResponseConfigProperty") @software.amazon.jsii.Jsii.Proxy(FixedResponseConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface FixedResponseConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getContent() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getContentType() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getHttpCode() { return null; } /** * @return a {@link Builder} of {@link FixedResponseConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link FixedResponseConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object content; java.lang.Object contentType; java.lang.Object httpCode; /** * Sets the value of {@link FixedResponseConfigProperty#getContent} * @param content the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder content(java.lang.String content) { this.content = content; return this; } /** * Sets the value of {@link FixedResponseConfigProperty#getContent} * @param content the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder content(com.aliyun.ros.cdk.core.IResolvable content) { this.content = content; return this; } /** * Sets the value of {@link FixedResponseConfigProperty#getContentType} * @param contentType the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder contentType(java.lang.String contentType) { this.contentType = contentType; return this; } /** * Sets the value of {@link FixedResponseConfigProperty#getContentType} * @param contentType the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder contentType(com.aliyun.ros.cdk.core.IResolvable contentType) { this.contentType = contentType; return this; } /** * Sets the value of {@link FixedResponseConfigProperty#getHttpCode} * @param httpCode the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder httpCode(java.lang.String httpCode) { this.httpCode = httpCode; return this; } /** * Sets the value of {@link FixedResponseConfigProperty#getHttpCode} * @param httpCode the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder httpCode(com.aliyun.ros.cdk.core.IResolvable httpCode) { this.httpCode = httpCode; return this; } /** * Builds the configured instance. * @return a new instance of {@link FixedResponseConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public FixedResponseConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link FixedResponseConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements FixedResponseConfigProperty { private final java.lang.Object content; private final java.lang.Object contentType; private final java.lang.Object httpCode; /** * 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.content = software.amazon.jsii.Kernel.get(this, "content", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.contentType = software.amazon.jsii.Kernel.get(this, "contentType", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.httpCode = software.amazon.jsii.Kernel.get(this, "httpCode", 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.content = builder.content; this.contentType = builder.contentType; this.httpCode = builder.httpCode; } @Override public final java.lang.Object getContent() { return this.content; } @Override public final java.lang.Object getContentType() { return this.contentType; } @Override public final java.lang.Object getHttpCode() { return this.httpCode; } @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(); if (this.getContent() != null) { data.set("content", om.valueToTree(this.getContent())); } if (this.getContentType() != null) { data.set("contentType", om.valueToTree(this.getContentType())); } if (this.getHttpCode() != null) { data.set("httpCode", om.valueToTree(this.getHttpCode())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.FixedResponseConfigProperty")); 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; FixedResponseConfigProperty.Jsii$Proxy that = (FixedResponseConfigProperty.Jsii$Proxy) o; if (this.content != null ? !this.content.equals(that.content) : that.content != null) return false; if (this.contentType != null ? !this.contentType.equals(that.contentType) : that.contentType != null) return false; return this.httpCode != null ? this.httpCode.equals(that.httpCode) : that.httpCode == null; } @Override public final int hashCode() { int result = this.content != null ? this.content.hashCode() : 0; result = 31 * result + (this.contentType != null ? this.contentType.hashCode() : 0); result = 31 * result + (this.httpCode != null ? this.httpCode.hashCode() : 0); return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.ForwardGroupConfigProperty") @software.amazon.jsii.Jsii.Proxy(ForwardGroupConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface ForwardGroupConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getServerGroupStickySession() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getServerGroupTuples() { return null; } /** * @return a {@link Builder} of {@link ForwardGroupConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link ForwardGroupConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object serverGroupStickySession; java.lang.Object serverGroupTuples; /** * Sets the value of {@link ForwardGroupConfigProperty#getServerGroupStickySession} * @param serverGroupStickySession the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder serverGroupStickySession(com.aliyun.ros.cdk.core.IResolvable serverGroupStickySession) { this.serverGroupStickySession = serverGroupStickySession; return this; } /** * Sets the value of {@link ForwardGroupConfigProperty#getServerGroupStickySession} * @param serverGroupStickySession the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder serverGroupStickySession(com.aliyun.ros.cdk.alb.RosRule.ServerGroupStickySessionProperty serverGroupStickySession) { this.serverGroupStickySession = serverGroupStickySession; return this; } /** * Sets the value of {@link ForwardGroupConfigProperty#getServerGroupTuples} * @param serverGroupTuples the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder serverGroupTuples(com.aliyun.ros.cdk.core.IResolvable serverGroupTuples) { this.serverGroupTuples = serverGroupTuples; return this; } /** * Sets the value of {@link ForwardGroupConfigProperty#getServerGroupTuples} * @param serverGroupTuples the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder serverGroupTuples(java.util.List serverGroupTuples) { this.serverGroupTuples = serverGroupTuples; return this; } /** * Builds the configured instance. * @return a new instance of {@link ForwardGroupConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public ForwardGroupConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link ForwardGroupConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ForwardGroupConfigProperty { private final java.lang.Object serverGroupStickySession; private final java.lang.Object serverGroupTuples; /** * 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.serverGroupStickySession = software.amazon.jsii.Kernel.get(this, "serverGroupStickySession", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.serverGroupTuples = software.amazon.jsii.Kernel.get(this, "serverGroupTuples", 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.serverGroupStickySession = builder.serverGroupStickySession; this.serverGroupTuples = builder.serverGroupTuples; } @Override public final java.lang.Object getServerGroupStickySession() { return this.serverGroupStickySession; } @Override public final java.lang.Object getServerGroupTuples() { return this.serverGroupTuples; } @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(); if (this.getServerGroupStickySession() != null) { data.set("serverGroupStickySession", om.valueToTree(this.getServerGroupStickySession())); } if (this.getServerGroupTuples() != null) { data.set("serverGroupTuples", om.valueToTree(this.getServerGroupTuples())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.ForwardGroupConfigProperty")); 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; ForwardGroupConfigProperty.Jsii$Proxy that = (ForwardGroupConfigProperty.Jsii$Proxy) o; if (this.serverGroupStickySession != null ? !this.serverGroupStickySession.equals(that.serverGroupStickySession) : that.serverGroupStickySession != null) return false; return this.serverGroupTuples != null ? this.serverGroupTuples.equals(that.serverGroupTuples) : that.serverGroupTuples == null; } @Override public final int hashCode() { int result = this.serverGroupStickySession != null ? this.serverGroupStickySession.hashCode() : 0; result = 31 * result + (this.serverGroupTuples != null ? this.serverGroupTuples.hashCode() : 0); return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.HeaderConfigProperty") @software.amazon.jsii.Jsii.Proxy(HeaderConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface HeaderConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getKey() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getValues() { return null; } /** * @return a {@link Builder} of {@link HeaderConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link HeaderConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object key; java.lang.Object values; /** * Sets the value of {@link HeaderConfigProperty#getKey} * @param key the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder key(java.lang.String key) { this.key = key; return this; } /** * Sets the value of {@link HeaderConfigProperty#getKey} * @param key the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder key(com.aliyun.ros.cdk.core.IResolvable key) { this.key = key; return this; } /** * Sets the value of {@link HeaderConfigProperty#getValues} * @param values the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(com.aliyun.ros.cdk.core.IResolvable values) { this.values = values; return this; } /** * Sets the value of {@link HeaderConfigProperty#getValues} * @param values the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(java.util.List values) { this.values = values; return this; } /** * Builds the configured instance. * @return a new instance of {@link HeaderConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public HeaderConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link HeaderConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements HeaderConfigProperty { private final java.lang.Object key; private final java.lang.Object values; /** * 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.key = software.amazon.jsii.Kernel.get(this, "key", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.values = software.amazon.jsii.Kernel.get(this, "values", 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.key = builder.key; this.values = builder.values; } @Override public final java.lang.Object getKey() { return this.key; } @Override public final java.lang.Object getValues() { return this.values; } @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(); if (this.getKey() != null) { data.set("key", om.valueToTree(this.getKey())); } if (this.getValues() != null) { data.set("values", om.valueToTree(this.getValues())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.HeaderConfigProperty")); 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; HeaderConfigProperty.Jsii$Proxy that = (HeaderConfigProperty.Jsii$Proxy) o; if (this.key != null ? !this.key.equals(that.key) : that.key != null) return false; return this.values != null ? this.values.equals(that.values) : that.values == null; } @Override public final int hashCode() { int result = this.key != null ? this.key.hashCode() : 0; result = 31 * result + (this.values != null ? this.values.hashCode() : 0); return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.HostConfigProperty") @software.amazon.jsii.Jsii.Proxy(HostConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface HostConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getValues() { return null; } /** * @return a {@link Builder} of {@link HostConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link HostConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object values; /** * Sets the value of {@link HostConfigProperty#getValues} * @param values the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(com.aliyun.ros.cdk.core.IResolvable values) { this.values = values; return this; } /** * Sets the value of {@link HostConfigProperty#getValues} * @param values the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(java.util.List values) { this.values = values; return this; } /** * Builds the configured instance. * @return a new instance of {@link HostConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public HostConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link HostConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements HostConfigProperty { private final java.lang.Object values; /** * 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.values = software.amazon.jsii.Kernel.get(this, "values", 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.values = builder.values; } @Override public final java.lang.Object getValues() { return this.values; } @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(); if (this.getValues() != null) { data.set("values", om.valueToTree(this.getValues())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.HostConfigProperty")); 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; HostConfigProperty.Jsii$Proxy that = (HostConfigProperty.Jsii$Proxy) o; return this.values != null ? this.values.equals(that.values) : that.values == null; } @Override public final int hashCode() { int result = this.values != null ? this.values.hashCode() : 0; return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.InsertHeaderConfigProperty") @software.amazon.jsii.Jsii.Proxy(InsertHeaderConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface InsertHeaderConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getKey() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getValue() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getValueType() { return null; } /** * @return a {@link Builder} of {@link InsertHeaderConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link InsertHeaderConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object key; java.lang.Object value; java.lang.Object valueType; /** * Sets the value of {@link InsertHeaderConfigProperty#getKey} * @param key the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder key(java.lang.String key) { this.key = key; return this; } /** * Sets the value of {@link InsertHeaderConfigProperty#getKey} * @param key the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder key(com.aliyun.ros.cdk.core.IResolvable key) { this.key = key; return this; } /** * Sets the value of {@link InsertHeaderConfigProperty#getValue} * @param value the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder value(java.lang.String value) { this.value = value; return this; } /** * Sets the value of {@link InsertHeaderConfigProperty#getValue} * @param value the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder value(com.aliyun.ros.cdk.core.IResolvable value) { this.value = value; return this; } /** * Sets the value of {@link InsertHeaderConfigProperty#getValueType} * @param valueType the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder valueType(java.lang.String valueType) { this.valueType = valueType; return this; } /** * Sets the value of {@link InsertHeaderConfigProperty#getValueType} * @param valueType the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder valueType(com.aliyun.ros.cdk.core.IResolvable valueType) { this.valueType = valueType; return this; } /** * Builds the configured instance. * @return a new instance of {@link InsertHeaderConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public InsertHeaderConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link InsertHeaderConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements InsertHeaderConfigProperty { private final java.lang.Object key; private final java.lang.Object value; private final java.lang.Object valueType; /** * 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.key = software.amazon.jsii.Kernel.get(this, "key", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.value = software.amazon.jsii.Kernel.get(this, "value", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.valueType = software.amazon.jsii.Kernel.get(this, "valueType", 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.key = builder.key; this.value = builder.value; this.valueType = builder.valueType; } @Override public final java.lang.Object getKey() { return this.key; } @Override public final java.lang.Object getValue() { return this.value; } @Override public final java.lang.Object getValueType() { return this.valueType; } @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(); if (this.getKey() != null) { data.set("key", om.valueToTree(this.getKey())); } if (this.getValue() != null) { data.set("value", om.valueToTree(this.getValue())); } if (this.getValueType() != null) { data.set("valueType", om.valueToTree(this.getValueType())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.InsertHeaderConfigProperty")); 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; InsertHeaderConfigProperty.Jsii$Proxy that = (InsertHeaderConfigProperty.Jsii$Proxy) o; if (this.key != null ? !this.key.equals(that.key) : that.key != null) return false; if (this.value != null ? !this.value.equals(that.value) : that.value != null) return false; return this.valueType != null ? this.valueType.equals(that.valueType) : that.valueType == null; } @Override public final int hashCode() { int result = this.key != null ? this.key.hashCode() : 0; result = 31 * result + (this.value != null ? this.value.hashCode() : 0); result = 31 * result + (this.valueType != null ? this.valueType.hashCode() : 0); return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.MethodConfigProperty") @software.amazon.jsii.Jsii.Proxy(MethodConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface MethodConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getValues() { return null; } /** * @return a {@link Builder} of {@link MethodConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link MethodConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object values; /** * Sets the value of {@link MethodConfigProperty#getValues} * @param values the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(com.aliyun.ros.cdk.core.IResolvable values) { this.values = values; return this; } /** * Sets the value of {@link MethodConfigProperty#getValues} * @param values the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(java.util.List values) { this.values = values; return this; } /** * Builds the configured instance. * @return a new instance of {@link MethodConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public MethodConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link MethodConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements MethodConfigProperty { private final java.lang.Object values; /** * 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.values = software.amazon.jsii.Kernel.get(this, "values", 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.values = builder.values; } @Override public final java.lang.Object getValues() { return this.values; } @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(); if (this.getValues() != null) { data.set("values", om.valueToTree(this.getValues())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.MethodConfigProperty")); 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; MethodConfigProperty.Jsii$Proxy that = (MethodConfigProperty.Jsii$Proxy) o; return this.values != null ? this.values.equals(that.values) : that.values == null; } @Override public final int hashCode() { int result = this.values != null ? this.values.hashCode() : 0; return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.MirrorGroupConfigProperty") @software.amazon.jsii.Jsii.Proxy(MirrorGroupConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface MirrorGroupConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.Object getServerGroupTuples(); /** * @return a {@link Builder} of {@link MirrorGroupConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link MirrorGroupConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object serverGroupTuples; /** * Sets the value of {@link MirrorGroupConfigProperty#getServerGroupTuples} * @param serverGroupTuples the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder serverGroupTuples(com.aliyun.ros.cdk.core.IResolvable serverGroupTuples) { this.serverGroupTuples = serverGroupTuples; return this; } /** * Sets the value of {@link MirrorGroupConfigProperty#getServerGroupTuples} * @param serverGroupTuples the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder serverGroupTuples(java.util.List serverGroupTuples) { this.serverGroupTuples = serverGroupTuples; return this; } /** * Builds the configured instance. * @return a new instance of {@link MirrorGroupConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public MirrorGroupConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link MirrorGroupConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements MirrorGroupConfigProperty { private final java.lang.Object serverGroupTuples; /** * 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.serverGroupTuples = software.amazon.jsii.Kernel.get(this, "serverGroupTuples", 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.serverGroupTuples = java.util.Objects.requireNonNull(builder.serverGroupTuples, "serverGroupTuples is required"); } @Override public final java.lang.Object getServerGroupTuples() { return this.serverGroupTuples; } @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("serverGroupTuples", om.valueToTree(this.getServerGroupTuples())); final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.MirrorGroupConfigProperty")); 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; MirrorGroupConfigProperty.Jsii$Proxy that = (MirrorGroupConfigProperty.Jsii$Proxy) o; return this.serverGroupTuples.equals(that.serverGroupTuples); } @Override public final int hashCode() { int result = this.serverGroupTuples.hashCode(); return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.MirrorGroupConfigServerGroupTuplesProperty") @software.amazon.jsii.Jsii.Proxy(MirrorGroupConfigServerGroupTuplesProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface MirrorGroupConfigServerGroupTuplesProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.Object getServerGroupId(); /** * @return a {@link Builder} of {@link MirrorGroupConfigServerGroupTuplesProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link MirrorGroupConfigServerGroupTuplesProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object serverGroupId; /** * Sets the value of {@link MirrorGroupConfigServerGroupTuplesProperty#getServerGroupId} * @param serverGroupId the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder serverGroupId(java.lang.String serverGroupId) { this.serverGroupId = serverGroupId; return this; } /** * Sets the value of {@link MirrorGroupConfigServerGroupTuplesProperty#getServerGroupId} * @param serverGroupId the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder serverGroupId(com.aliyun.ros.cdk.core.IResolvable serverGroupId) { this.serverGroupId = serverGroupId; return this; } /** * Builds the configured instance. * @return a new instance of {@link MirrorGroupConfigServerGroupTuplesProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public MirrorGroupConfigServerGroupTuplesProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link MirrorGroupConfigServerGroupTuplesProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements MirrorGroupConfigServerGroupTuplesProperty { private final java.lang.Object serverGroupId; /** * 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.serverGroupId = software.amazon.jsii.Kernel.get(this, "serverGroupId", 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.serverGroupId = java.util.Objects.requireNonNull(builder.serverGroupId, "serverGroupId is required"); } @Override public final java.lang.Object getServerGroupId() { return this.serverGroupId; } @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("serverGroupId", om.valueToTree(this.getServerGroupId())); final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.MirrorGroupConfigServerGroupTuplesProperty")); 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; MirrorGroupConfigServerGroupTuplesProperty.Jsii$Proxy that = (MirrorGroupConfigServerGroupTuplesProperty.Jsii$Proxy) o; return this.serverGroupId.equals(that.serverGroupId); } @Override public final int hashCode() { int result = this.serverGroupId.hashCode(); return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.PathConfigProperty") @software.amazon.jsii.Jsii.Proxy(PathConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface PathConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getValues() { return null; } /** * @return a {@link Builder} of {@link PathConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link PathConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object values; /** * Sets the value of {@link PathConfigProperty#getValues} * @param values the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(com.aliyun.ros.cdk.core.IResolvable values) { this.values = values; return this; } /** * Sets the value of {@link PathConfigProperty#getValues} * @param values the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(java.util.List values) { this.values = values; return this; } /** * Builds the configured instance. * @return a new instance of {@link PathConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public PathConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link PathConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements PathConfigProperty { private final java.lang.Object values; /** * 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.values = software.amazon.jsii.Kernel.get(this, "values", 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.values = builder.values; } @Override public final java.lang.Object getValues() { return this.values; } @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(); if (this.getValues() != null) { data.set("values", om.valueToTree(this.getValues())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.PathConfigProperty")); 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; PathConfigProperty.Jsii$Proxy that = (PathConfigProperty.Jsii$Proxy) o; return this.values != null ? this.values.equals(that.values) : that.values == null; } @Override public final int hashCode() { int result = this.values != null ? this.values.hashCode() : 0; return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.QueryStringConfigProperty") @software.amazon.jsii.Jsii.Proxy(QueryStringConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface QueryStringConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getValues() { return null; } /** * @return a {@link Builder} of {@link QueryStringConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link QueryStringConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object values; /** * Sets the value of {@link QueryStringConfigProperty#getValues} * @param values the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(com.aliyun.ros.cdk.core.IResolvable values) { this.values = values; return this; } /** * Sets the value of {@link QueryStringConfigProperty#getValues} * @param values the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(java.util.List values) { this.values = values; return this; } /** * Builds the configured instance. * @return a new instance of {@link QueryStringConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public QueryStringConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link QueryStringConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements QueryStringConfigProperty { private final java.lang.Object values; /** * 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.values = software.amazon.jsii.Kernel.get(this, "values", 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.values = builder.values; } @Override public final java.lang.Object getValues() { return this.values; } @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(); if (this.getValues() != null) { data.set("values", om.valueToTree(this.getValues())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.QueryStringConfigProperty")); 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; QueryStringConfigProperty.Jsii$Proxy that = (QueryStringConfigProperty.Jsii$Proxy) o; return this.values != null ? this.values.equals(that.values) : that.values == null; } @Override public final int hashCode() { int result = this.values != null ? this.values.hashCode() : 0; return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.QueryStringConfigValuesProperty") @software.amazon.jsii.Jsii.Proxy(QueryStringConfigValuesProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface QueryStringConfigValuesProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getKey() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getValue() { return null; } /** * @return a {@link Builder} of {@link QueryStringConfigValuesProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link QueryStringConfigValuesProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object key; java.lang.Object value; /** * Sets the value of {@link QueryStringConfigValuesProperty#getKey} * @param key the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder key(java.lang.String key) { this.key = key; return this; } /** * Sets the value of {@link QueryStringConfigValuesProperty#getKey} * @param key the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder key(com.aliyun.ros.cdk.core.IResolvable key) { this.key = key; return this; } /** * Sets the value of {@link QueryStringConfigValuesProperty#getValue} * @param value the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder value(java.lang.String value) { this.value = value; return this; } /** * Sets the value of {@link QueryStringConfigValuesProperty#getValue} * @param value the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder value(com.aliyun.ros.cdk.core.IResolvable value) { this.value = value; return this; } /** * Builds the configured instance. * @return a new instance of {@link QueryStringConfigValuesProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public QueryStringConfigValuesProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link QueryStringConfigValuesProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements QueryStringConfigValuesProperty { private final java.lang.Object key; private final java.lang.Object value; /** * 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.key = software.amazon.jsii.Kernel.get(this, "key", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.value = software.amazon.jsii.Kernel.get(this, "value", 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.key = builder.key; this.value = builder.value; } @Override public final java.lang.Object getKey() { return this.key; } @Override public final java.lang.Object getValue() { return this.value; } @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(); if (this.getKey() != null) { data.set("key", om.valueToTree(this.getKey())); } if (this.getValue() != null) { data.set("value", om.valueToTree(this.getValue())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.QueryStringConfigValuesProperty")); 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; QueryStringConfigValuesProperty.Jsii$Proxy that = (QueryStringConfigValuesProperty.Jsii$Proxy) o; if (this.key != null ? !this.key.equals(that.key) : that.key != null) return false; return this.value != null ? this.value.equals(that.value) : that.value == null; } @Override public final int hashCode() { int result = this.key != null ? this.key.hashCode() : 0; result = 31 * result + (this.value != null ? this.value.hashCode() : 0); return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.RedirectConfigProperty") @software.amazon.jsii.Jsii.Proxy(RedirectConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface RedirectConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getHost() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getHttpCode() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getPath() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getPort() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getProtocol() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getQuery() { return null; } /** * @return a {@link Builder} of {@link RedirectConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link RedirectConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object host; java.lang.Object httpCode; java.lang.Object path; java.lang.Object port; java.lang.Object protocol; java.lang.Object query; /** * Sets the value of {@link RedirectConfigProperty#getHost} * @param host the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder host(java.lang.String host) { this.host = host; return this; } /** * Sets the value of {@link RedirectConfigProperty#getHost} * @param host the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder host(com.aliyun.ros.cdk.core.IResolvable host) { this.host = host; return this; } /** * Sets the value of {@link RedirectConfigProperty#getHttpCode} * @param httpCode the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder httpCode(java.lang.Number httpCode) { this.httpCode = httpCode; return this; } /** * Sets the value of {@link RedirectConfigProperty#getHttpCode} * @param httpCode the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder httpCode(com.aliyun.ros.cdk.core.IResolvable httpCode) { this.httpCode = httpCode; return this; } /** * Sets the value of {@link RedirectConfigProperty#getPath} * @param path the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder path(java.lang.String path) { this.path = path; return this; } /** * Sets the value of {@link RedirectConfigProperty#getPath} * @param path the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder path(com.aliyun.ros.cdk.core.IResolvable path) { this.path = path; return this; } /** * Sets the value of {@link RedirectConfigProperty#getPort} * @param port the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder port(java.lang.String port) { this.port = port; return this; } /** * Sets the value of {@link RedirectConfigProperty#getPort} * @param port the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder port(com.aliyun.ros.cdk.core.IResolvable port) { this.port = port; return this; } /** * Sets the value of {@link RedirectConfigProperty#getProtocol} * @param protocol the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder protocol(java.lang.String protocol) { this.protocol = protocol; return this; } /** * Sets the value of {@link RedirectConfigProperty#getProtocol} * @param protocol the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder protocol(com.aliyun.ros.cdk.core.IResolvable protocol) { this.protocol = protocol; return this; } /** * Sets the value of {@link RedirectConfigProperty#getQuery} * @param query the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder query(java.lang.String query) { this.query = query; return this; } /** * Sets the value of {@link RedirectConfigProperty#getQuery} * @param query the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder query(com.aliyun.ros.cdk.core.IResolvable query) { this.query = query; return this; } /** * Builds the configured instance. * @return a new instance of {@link RedirectConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public RedirectConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link RedirectConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements RedirectConfigProperty { private final java.lang.Object host; private final java.lang.Object httpCode; private final java.lang.Object path; private final java.lang.Object port; private final java.lang.Object protocol; private final java.lang.Object query; /** * 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.host = software.amazon.jsii.Kernel.get(this, "host", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.httpCode = software.amazon.jsii.Kernel.get(this, "httpCode", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.path = software.amazon.jsii.Kernel.get(this, "path", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.port = software.amazon.jsii.Kernel.get(this, "port", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.protocol = software.amazon.jsii.Kernel.get(this, "protocol", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.query = software.amazon.jsii.Kernel.get(this, "query", 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.host = builder.host; this.httpCode = builder.httpCode; this.path = builder.path; this.port = builder.port; this.protocol = builder.protocol; this.query = builder.query; } @Override public final java.lang.Object getHost() { return this.host; } @Override public final java.lang.Object getHttpCode() { return this.httpCode; } @Override public final java.lang.Object getPath() { return this.path; } @Override public final java.lang.Object getPort() { return this.port; } @Override public final java.lang.Object getProtocol() { return this.protocol; } @Override public final java.lang.Object getQuery() { return this.query; } @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(); if (this.getHost() != null) { data.set("host", om.valueToTree(this.getHost())); } if (this.getHttpCode() != null) { data.set("httpCode", om.valueToTree(this.getHttpCode())); } if (this.getPath() != null) { data.set("path", om.valueToTree(this.getPath())); } if (this.getPort() != null) { data.set("port", om.valueToTree(this.getPort())); } if (this.getProtocol() != null) { data.set("protocol", om.valueToTree(this.getProtocol())); } if (this.getQuery() != null) { data.set("query", om.valueToTree(this.getQuery())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.RedirectConfigProperty")); 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; RedirectConfigProperty.Jsii$Proxy that = (RedirectConfigProperty.Jsii$Proxy) o; if (this.host != null ? !this.host.equals(that.host) : that.host != null) return false; if (this.httpCode != null ? !this.httpCode.equals(that.httpCode) : that.httpCode != null) return false; if (this.path != null ? !this.path.equals(that.path) : that.path != null) return false; if (this.port != null ? !this.port.equals(that.port) : that.port != null) return false; if (this.protocol != null ? !this.protocol.equals(that.protocol) : that.protocol != null) return false; return this.query != null ? this.query.equals(that.query) : that.query == null; } @Override public final int hashCode() { int result = this.host != null ? this.host.hashCode() : 0; result = 31 * result + (this.httpCode != null ? this.httpCode.hashCode() : 0); result = 31 * result + (this.path != null ? this.path.hashCode() : 0); result = 31 * result + (this.port != null ? this.port.hashCode() : 0); result = 31 * result + (this.protocol != null ? this.protocol.hashCode() : 0); result = 31 * result + (this.query != null ? this.query.hashCode() : 0); return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.RemoveHeaderConfigProperty") @software.amazon.jsii.Jsii.Proxy(RemoveHeaderConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface RemoveHeaderConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getKey() { return null; } /** * @return a {@link Builder} of {@link RemoveHeaderConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link RemoveHeaderConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object key; /** * Sets the value of {@link RemoveHeaderConfigProperty#getKey} * @param key the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder key(java.lang.String key) { this.key = key; return this; } /** * Sets the value of {@link RemoveHeaderConfigProperty#getKey} * @param key the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder key(com.aliyun.ros.cdk.core.IResolvable key) { this.key = key; return this; } /** * Builds the configured instance. * @return a new instance of {@link RemoveHeaderConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public RemoveHeaderConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link RemoveHeaderConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements RemoveHeaderConfigProperty { private final java.lang.Object key; /** * 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.key = software.amazon.jsii.Kernel.get(this, "key", 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.key = builder.key; } @Override public final java.lang.Object getKey() { return this.key; } @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(); if (this.getKey() != null) { data.set("key", om.valueToTree(this.getKey())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.RemoveHeaderConfigProperty")); 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; RemoveHeaderConfigProperty.Jsii$Proxy that = (RemoveHeaderConfigProperty.Jsii$Proxy) o; return this.key != null ? this.key.equals(that.key) : that.key == null; } @Override public final int hashCode() { int result = this.key != null ? this.key.hashCode() : 0; return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.ResponseHeaderConfigProperty") @software.amazon.jsii.Jsii.Proxy(ResponseHeaderConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface ResponseHeaderConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getKey() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getValues() { return null; } /** * @return a {@link Builder} of {@link ResponseHeaderConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link ResponseHeaderConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object key; java.lang.Object values; /** * Sets the value of {@link ResponseHeaderConfigProperty#getKey} * @param key the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder key(java.lang.String key) { this.key = key; return this; } /** * Sets the value of {@link ResponseHeaderConfigProperty#getKey} * @param key the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder key(com.aliyun.ros.cdk.core.IResolvable key) { this.key = key; return this; } /** * Sets the value of {@link ResponseHeaderConfigProperty#getValues} * @param values the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(com.aliyun.ros.cdk.core.IResolvable values) { this.values = values; return this; } /** * Sets the value of {@link ResponseHeaderConfigProperty#getValues} * @param values the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(java.util.List values) { this.values = values; return this; } /** * Builds the configured instance. * @return a new instance of {@link ResponseHeaderConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public ResponseHeaderConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link ResponseHeaderConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ResponseHeaderConfigProperty { private final java.lang.Object key; private final java.lang.Object values; /** * 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.key = software.amazon.jsii.Kernel.get(this, "key", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.values = software.amazon.jsii.Kernel.get(this, "values", 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.key = builder.key; this.values = builder.values; } @Override public final java.lang.Object getKey() { return this.key; } @Override public final java.lang.Object getValues() { return this.values; } @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(); if (this.getKey() != null) { data.set("key", om.valueToTree(this.getKey())); } if (this.getValues() != null) { data.set("values", om.valueToTree(this.getValues())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.ResponseHeaderConfigProperty")); 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; ResponseHeaderConfigProperty.Jsii$Proxy that = (ResponseHeaderConfigProperty.Jsii$Proxy) o; if (this.key != null ? !this.key.equals(that.key) : that.key != null) return false; return this.values != null ? this.values.equals(that.values) : that.values == null; } @Override public final int hashCode() { int result = this.key != null ? this.key.hashCode() : 0; result = 31 * result + (this.values != null ? this.values.hashCode() : 0); return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.ResponseStatusCodeConfigProperty") @software.amazon.jsii.Jsii.Proxy(ResponseStatusCodeConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface ResponseStatusCodeConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getValues() { return null; } /** * @return a {@link Builder} of {@link ResponseStatusCodeConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link ResponseStatusCodeConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object values; /** * Sets the value of {@link ResponseStatusCodeConfigProperty#getValues} * @param values the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(com.aliyun.ros.cdk.core.IResolvable values) { this.values = values; return this; } /** * Sets the value of {@link ResponseStatusCodeConfigProperty#getValues} * @param values the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(java.util.List values) { this.values = values; return this; } /** * Builds the configured instance. * @return a new instance of {@link ResponseStatusCodeConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public ResponseStatusCodeConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link ResponseStatusCodeConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ResponseStatusCodeConfigProperty { private final java.lang.Object values; /** * 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.values = software.amazon.jsii.Kernel.get(this, "values", 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.values = builder.values; } @Override public final java.lang.Object getValues() { return this.values; } @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(); if (this.getValues() != null) { data.set("values", om.valueToTree(this.getValues())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.ResponseStatusCodeConfigProperty")); 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; ResponseStatusCodeConfigProperty.Jsii$Proxy that = (ResponseStatusCodeConfigProperty.Jsii$Proxy) o; return this.values != null ? this.values.equals(that.values) : that.values == null; } @Override public final int hashCode() { int result = this.values != null ? this.values.hashCode() : 0; return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.RewriteConfigProperty") @software.amazon.jsii.Jsii.Proxy(RewriteConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface RewriteConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getHost() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getPath() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getQuery() { return null; } /** * @return a {@link Builder} of {@link RewriteConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link RewriteConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object host; java.lang.Object path; java.lang.Object query; /** * Sets the value of {@link RewriteConfigProperty#getHost} * @param host the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder host(java.lang.String host) { this.host = host; return this; } /** * Sets the value of {@link RewriteConfigProperty#getHost} * @param host the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder host(com.aliyun.ros.cdk.core.IResolvable host) { this.host = host; return this; } /** * Sets the value of {@link RewriteConfigProperty#getPath} * @param path the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder path(java.lang.String path) { this.path = path; return this; } /** * Sets the value of {@link RewriteConfigProperty#getPath} * @param path the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder path(com.aliyun.ros.cdk.core.IResolvable path) { this.path = path; return this; } /** * Sets the value of {@link RewriteConfigProperty#getQuery} * @param query the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder query(java.lang.String query) { this.query = query; return this; } /** * Sets the value of {@link RewriteConfigProperty#getQuery} * @param query the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder query(com.aliyun.ros.cdk.core.IResolvable query) { this.query = query; return this; } /** * Builds the configured instance. * @return a new instance of {@link RewriteConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public RewriteConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link RewriteConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements RewriteConfigProperty { private final java.lang.Object host; private final java.lang.Object path; private final java.lang.Object query; /** * 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.host = software.amazon.jsii.Kernel.get(this, "host", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.path = software.amazon.jsii.Kernel.get(this, "path", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.query = software.amazon.jsii.Kernel.get(this, "query", 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.host = builder.host; this.path = builder.path; this.query = builder.query; } @Override public final java.lang.Object getHost() { return this.host; } @Override public final java.lang.Object getPath() { return this.path; } @Override public final java.lang.Object getQuery() { return this.query; } @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(); if (this.getHost() != null) { data.set("host", om.valueToTree(this.getHost())); } if (this.getPath() != null) { data.set("path", om.valueToTree(this.getPath())); } if (this.getQuery() != null) { data.set("query", om.valueToTree(this.getQuery())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.RewriteConfigProperty")); 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; RewriteConfigProperty.Jsii$Proxy that = (RewriteConfigProperty.Jsii$Proxy) o; if (this.host != null ? !this.host.equals(that.host) : that.host != null) return false; if (this.path != null ? !this.path.equals(that.path) : that.path != null) return false; return this.query != null ? this.query.equals(that.query) : that.query == null; } @Override public final int hashCode() { int result = this.host != null ? this.host.hashCode() : 0; result = 31 * result + (this.path != null ? this.path.hashCode() : 0); result = 31 * result + (this.query != null ? this.query.hashCode() : 0); return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.RuleActionsProperty") @software.amazon.jsii.Jsii.Proxy(RuleActionsProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface RuleActionsProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.Object getOrder(); /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.Object getType(); /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getCorsConfig() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getFixedResponseConfig() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getForwardGroupConfig() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getInsertHeaderConfig() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getRedirectConfig() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getRemoveHeaderConfig() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getRewriteConfig() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getTrafficLimitConfig() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getTrafficMirrorConfig() { return null; } /** * @return a {@link Builder} of {@link RuleActionsProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link RuleActionsProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object order; java.lang.Object type; java.lang.Object corsConfig; java.lang.Object fixedResponseConfig; java.lang.Object forwardGroupConfig; java.lang.Object insertHeaderConfig; java.lang.Object redirectConfig; java.lang.Object removeHeaderConfig; java.lang.Object rewriteConfig; java.lang.Object trafficLimitConfig; java.lang.Object trafficMirrorConfig; /** * Sets the value of {@link RuleActionsProperty#getOrder} * @param order the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder order(java.lang.Number order) { this.order = order; return this; } /** * Sets the value of {@link RuleActionsProperty#getOrder} * @param order the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder order(com.aliyun.ros.cdk.core.IResolvable order) { this.order = order; return this; } /** * Sets the value of {@link RuleActionsProperty#getType} * @param type the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder type(java.lang.String type) { this.type = type; return this; } /** * Sets the value of {@link RuleActionsProperty#getType} * @param type the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder type(com.aliyun.ros.cdk.core.IResolvable type) { this.type = type; return this; } /** * Sets the value of {@link RuleActionsProperty#getCorsConfig} * @param corsConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder corsConfig(com.aliyun.ros.cdk.core.IResolvable corsConfig) { this.corsConfig = corsConfig; return this; } /** * Sets the value of {@link RuleActionsProperty#getCorsConfig} * @param corsConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder corsConfig(com.aliyun.ros.cdk.alb.RosRule.CorsConfigProperty corsConfig) { this.corsConfig = corsConfig; return this; } /** * Sets the value of {@link RuleActionsProperty#getFixedResponseConfig} * @param fixedResponseConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder fixedResponseConfig(com.aliyun.ros.cdk.core.IResolvable fixedResponseConfig) { this.fixedResponseConfig = fixedResponseConfig; return this; } /** * Sets the value of {@link RuleActionsProperty#getFixedResponseConfig} * @param fixedResponseConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder fixedResponseConfig(com.aliyun.ros.cdk.alb.RosRule.FixedResponseConfigProperty fixedResponseConfig) { this.fixedResponseConfig = fixedResponseConfig; return this; } /** * Sets the value of {@link RuleActionsProperty#getForwardGroupConfig} * @param forwardGroupConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder forwardGroupConfig(com.aliyun.ros.cdk.core.IResolvable forwardGroupConfig) { this.forwardGroupConfig = forwardGroupConfig; return this; } /** * Sets the value of {@link RuleActionsProperty#getForwardGroupConfig} * @param forwardGroupConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder forwardGroupConfig(com.aliyun.ros.cdk.alb.RosRule.ForwardGroupConfigProperty forwardGroupConfig) { this.forwardGroupConfig = forwardGroupConfig; return this; } /** * Sets the value of {@link RuleActionsProperty#getInsertHeaderConfig} * @param insertHeaderConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder insertHeaderConfig(com.aliyun.ros.cdk.core.IResolvable insertHeaderConfig) { this.insertHeaderConfig = insertHeaderConfig; return this; } /** * Sets the value of {@link RuleActionsProperty#getInsertHeaderConfig} * @param insertHeaderConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder insertHeaderConfig(com.aliyun.ros.cdk.alb.RosRule.InsertHeaderConfigProperty insertHeaderConfig) { this.insertHeaderConfig = insertHeaderConfig; return this; } /** * Sets the value of {@link RuleActionsProperty#getRedirectConfig} * @param redirectConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder redirectConfig(com.aliyun.ros.cdk.core.IResolvable redirectConfig) { this.redirectConfig = redirectConfig; return this; } /** * Sets the value of {@link RuleActionsProperty#getRedirectConfig} * @param redirectConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder redirectConfig(com.aliyun.ros.cdk.alb.RosRule.RedirectConfigProperty redirectConfig) { this.redirectConfig = redirectConfig; return this; } /** * Sets the value of {@link RuleActionsProperty#getRemoveHeaderConfig} * @param removeHeaderConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder removeHeaderConfig(com.aliyun.ros.cdk.core.IResolvable removeHeaderConfig) { this.removeHeaderConfig = removeHeaderConfig; return this; } /** * Sets the value of {@link RuleActionsProperty#getRemoveHeaderConfig} * @param removeHeaderConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder removeHeaderConfig(com.aliyun.ros.cdk.alb.RosRule.RemoveHeaderConfigProperty removeHeaderConfig) { this.removeHeaderConfig = removeHeaderConfig; return this; } /** * Sets the value of {@link RuleActionsProperty#getRewriteConfig} * @param rewriteConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder rewriteConfig(com.aliyun.ros.cdk.core.IResolvable rewriteConfig) { this.rewriteConfig = rewriteConfig; return this; } /** * Sets the value of {@link RuleActionsProperty#getRewriteConfig} * @param rewriteConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder rewriteConfig(com.aliyun.ros.cdk.alb.RosRule.RewriteConfigProperty rewriteConfig) { this.rewriteConfig = rewriteConfig; return this; } /** * Sets the value of {@link RuleActionsProperty#getTrafficLimitConfig} * @param trafficLimitConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder trafficLimitConfig(com.aliyun.ros.cdk.core.IResolvable trafficLimitConfig) { this.trafficLimitConfig = trafficLimitConfig; return this; } /** * Sets the value of {@link RuleActionsProperty#getTrafficLimitConfig} * @param trafficLimitConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder trafficLimitConfig(com.aliyun.ros.cdk.alb.RosRule.TrafficLimitConfigProperty trafficLimitConfig) { this.trafficLimitConfig = trafficLimitConfig; return this; } /** * Sets the value of {@link RuleActionsProperty#getTrafficMirrorConfig} * @param trafficMirrorConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder trafficMirrorConfig(com.aliyun.ros.cdk.core.IResolvable trafficMirrorConfig) { this.trafficMirrorConfig = trafficMirrorConfig; return this; } /** * Sets the value of {@link RuleActionsProperty#getTrafficMirrorConfig} * @param trafficMirrorConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder trafficMirrorConfig(com.aliyun.ros.cdk.alb.RosRule.TrafficMirrorConfigProperty trafficMirrorConfig) { this.trafficMirrorConfig = trafficMirrorConfig; return this; } /** * Builds the configured instance. * @return a new instance of {@link RuleActionsProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public RuleActionsProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link RuleActionsProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements RuleActionsProperty { private final java.lang.Object order; private final java.lang.Object type; private final java.lang.Object corsConfig; private final java.lang.Object fixedResponseConfig; private final java.lang.Object forwardGroupConfig; private final java.lang.Object insertHeaderConfig; private final java.lang.Object redirectConfig; private final java.lang.Object removeHeaderConfig; private final java.lang.Object rewriteConfig; private final java.lang.Object trafficLimitConfig; private final java.lang.Object trafficMirrorConfig; /** * 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.order = software.amazon.jsii.Kernel.get(this, "order", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.type = software.amazon.jsii.Kernel.get(this, "type", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.corsConfig = software.amazon.jsii.Kernel.get(this, "corsConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.fixedResponseConfig = software.amazon.jsii.Kernel.get(this, "fixedResponseConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.forwardGroupConfig = software.amazon.jsii.Kernel.get(this, "forwardGroupConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.insertHeaderConfig = software.amazon.jsii.Kernel.get(this, "insertHeaderConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.redirectConfig = software.amazon.jsii.Kernel.get(this, "redirectConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.removeHeaderConfig = software.amazon.jsii.Kernel.get(this, "removeHeaderConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.rewriteConfig = software.amazon.jsii.Kernel.get(this, "rewriteConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.trafficLimitConfig = software.amazon.jsii.Kernel.get(this, "trafficLimitConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.trafficMirrorConfig = software.amazon.jsii.Kernel.get(this, "trafficMirrorConfig", 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.order = java.util.Objects.requireNonNull(builder.order, "order is required"); this.type = java.util.Objects.requireNonNull(builder.type, "type is required"); this.corsConfig = builder.corsConfig; this.fixedResponseConfig = builder.fixedResponseConfig; this.forwardGroupConfig = builder.forwardGroupConfig; this.insertHeaderConfig = builder.insertHeaderConfig; this.redirectConfig = builder.redirectConfig; this.removeHeaderConfig = builder.removeHeaderConfig; this.rewriteConfig = builder.rewriteConfig; this.trafficLimitConfig = builder.trafficLimitConfig; this.trafficMirrorConfig = builder.trafficMirrorConfig; } @Override public final java.lang.Object getOrder() { return this.order; } @Override public final java.lang.Object getType() { return this.type; } @Override public final java.lang.Object getCorsConfig() { return this.corsConfig; } @Override public final java.lang.Object getFixedResponseConfig() { return this.fixedResponseConfig; } @Override public final java.lang.Object getForwardGroupConfig() { return this.forwardGroupConfig; } @Override public final java.lang.Object getInsertHeaderConfig() { return this.insertHeaderConfig; } @Override public final java.lang.Object getRedirectConfig() { return this.redirectConfig; } @Override public final java.lang.Object getRemoveHeaderConfig() { return this.removeHeaderConfig; } @Override public final java.lang.Object getRewriteConfig() { return this.rewriteConfig; } @Override public final java.lang.Object getTrafficLimitConfig() { return this.trafficLimitConfig; } @Override public final java.lang.Object getTrafficMirrorConfig() { return this.trafficMirrorConfig; } @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("order", om.valueToTree(this.getOrder())); data.set("type", om.valueToTree(this.getType())); if (this.getCorsConfig() != null) { data.set("corsConfig", om.valueToTree(this.getCorsConfig())); } if (this.getFixedResponseConfig() != null) { data.set("fixedResponseConfig", om.valueToTree(this.getFixedResponseConfig())); } if (this.getForwardGroupConfig() != null) { data.set("forwardGroupConfig", om.valueToTree(this.getForwardGroupConfig())); } if (this.getInsertHeaderConfig() != null) { data.set("insertHeaderConfig", om.valueToTree(this.getInsertHeaderConfig())); } if (this.getRedirectConfig() != null) { data.set("redirectConfig", om.valueToTree(this.getRedirectConfig())); } if (this.getRemoveHeaderConfig() != null) { data.set("removeHeaderConfig", om.valueToTree(this.getRemoveHeaderConfig())); } if (this.getRewriteConfig() != null) { data.set("rewriteConfig", om.valueToTree(this.getRewriteConfig())); } if (this.getTrafficLimitConfig() != null) { data.set("trafficLimitConfig", om.valueToTree(this.getTrafficLimitConfig())); } if (this.getTrafficMirrorConfig() != null) { data.set("trafficMirrorConfig", om.valueToTree(this.getTrafficMirrorConfig())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.RuleActionsProperty")); 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; RuleActionsProperty.Jsii$Proxy that = (RuleActionsProperty.Jsii$Proxy) o; if (!order.equals(that.order)) return false; if (!type.equals(that.type)) return false; if (this.corsConfig != null ? !this.corsConfig.equals(that.corsConfig) : that.corsConfig != null) return false; if (this.fixedResponseConfig != null ? !this.fixedResponseConfig.equals(that.fixedResponseConfig) : that.fixedResponseConfig != null) return false; if (this.forwardGroupConfig != null ? !this.forwardGroupConfig.equals(that.forwardGroupConfig) : that.forwardGroupConfig != null) return false; if (this.insertHeaderConfig != null ? !this.insertHeaderConfig.equals(that.insertHeaderConfig) : that.insertHeaderConfig != null) return false; if (this.redirectConfig != null ? !this.redirectConfig.equals(that.redirectConfig) : that.redirectConfig != null) return false; if (this.removeHeaderConfig != null ? !this.removeHeaderConfig.equals(that.removeHeaderConfig) : that.removeHeaderConfig != null) return false; if (this.rewriteConfig != null ? !this.rewriteConfig.equals(that.rewriteConfig) : that.rewriteConfig != null) return false; if (this.trafficLimitConfig != null ? !this.trafficLimitConfig.equals(that.trafficLimitConfig) : that.trafficLimitConfig != null) return false; return this.trafficMirrorConfig != null ? this.trafficMirrorConfig.equals(that.trafficMirrorConfig) : that.trafficMirrorConfig == null; } @Override public final int hashCode() { int result = this.order.hashCode(); result = 31 * result + (this.type.hashCode()); result = 31 * result + (this.corsConfig != null ? this.corsConfig.hashCode() : 0); result = 31 * result + (this.fixedResponseConfig != null ? this.fixedResponseConfig.hashCode() : 0); result = 31 * result + (this.forwardGroupConfig != null ? this.forwardGroupConfig.hashCode() : 0); result = 31 * result + (this.insertHeaderConfig != null ? this.insertHeaderConfig.hashCode() : 0); result = 31 * result + (this.redirectConfig != null ? this.redirectConfig.hashCode() : 0); result = 31 * result + (this.removeHeaderConfig != null ? this.removeHeaderConfig.hashCode() : 0); result = 31 * result + (this.rewriteConfig != null ? this.rewriteConfig.hashCode() : 0); result = 31 * result + (this.trafficLimitConfig != null ? this.trafficLimitConfig.hashCode() : 0); result = 31 * result + (this.trafficMirrorConfig != null ? this.trafficMirrorConfig.hashCode() : 0); return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.RuleConditionsProperty") @software.amazon.jsii.Jsii.Proxy(RuleConditionsProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface RuleConditionsProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.Object getType(); /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getCookieConfig() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getHeaderConfig() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getHostConfig() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getMethodConfig() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getPathConfig() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getQueryStringConfig() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getResponseHeaderConfig() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getResponseStatusCodeConfig() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getSourceIpConfig() { return null; } /** * @return a {@link Builder} of {@link RuleConditionsProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link RuleConditionsProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object type; java.lang.Object cookieConfig; java.lang.Object headerConfig; java.lang.Object hostConfig; java.lang.Object methodConfig; java.lang.Object pathConfig; java.lang.Object queryStringConfig; java.lang.Object responseHeaderConfig; java.lang.Object responseStatusCodeConfig; java.lang.Object sourceIpConfig; /** * Sets the value of {@link RuleConditionsProperty#getType} * @param type the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder type(java.lang.String type) { this.type = type; return this; } /** * Sets the value of {@link RuleConditionsProperty#getType} * @param type the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder type(com.aliyun.ros.cdk.core.IResolvable type) { this.type = type; return this; } /** * Sets the value of {@link RuleConditionsProperty#getCookieConfig} * @param cookieConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder cookieConfig(com.aliyun.ros.cdk.core.IResolvable cookieConfig) { this.cookieConfig = cookieConfig; return this; } /** * Sets the value of {@link RuleConditionsProperty#getCookieConfig} * @param cookieConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder cookieConfig(com.aliyun.ros.cdk.alb.RosRule.CookieConfigProperty cookieConfig) { this.cookieConfig = cookieConfig; return this; } /** * Sets the value of {@link RuleConditionsProperty#getHeaderConfig} * @param headerConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder headerConfig(com.aliyun.ros.cdk.core.IResolvable headerConfig) { this.headerConfig = headerConfig; return this; } /** * Sets the value of {@link RuleConditionsProperty#getHeaderConfig} * @param headerConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder headerConfig(com.aliyun.ros.cdk.alb.RosRule.HeaderConfigProperty headerConfig) { this.headerConfig = headerConfig; return this; } /** * Sets the value of {@link RuleConditionsProperty#getHostConfig} * @param hostConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder hostConfig(com.aliyun.ros.cdk.core.IResolvable hostConfig) { this.hostConfig = hostConfig; return this; } /** * Sets the value of {@link RuleConditionsProperty#getHostConfig} * @param hostConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder hostConfig(com.aliyun.ros.cdk.alb.RosRule.HostConfigProperty hostConfig) { this.hostConfig = hostConfig; return this; } /** * Sets the value of {@link RuleConditionsProperty#getMethodConfig} * @param methodConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder methodConfig(com.aliyun.ros.cdk.core.IResolvable methodConfig) { this.methodConfig = methodConfig; return this; } /** * Sets the value of {@link RuleConditionsProperty#getMethodConfig} * @param methodConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder methodConfig(com.aliyun.ros.cdk.alb.RosRule.MethodConfigProperty methodConfig) { this.methodConfig = methodConfig; return this; } /** * Sets the value of {@link RuleConditionsProperty#getPathConfig} * @param pathConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder pathConfig(com.aliyun.ros.cdk.core.IResolvable pathConfig) { this.pathConfig = pathConfig; return this; } /** * Sets the value of {@link RuleConditionsProperty#getPathConfig} * @param pathConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder pathConfig(com.aliyun.ros.cdk.alb.RosRule.PathConfigProperty pathConfig) { this.pathConfig = pathConfig; return this; } /** * Sets the value of {@link RuleConditionsProperty#getQueryStringConfig} * @param queryStringConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder queryStringConfig(com.aliyun.ros.cdk.core.IResolvable queryStringConfig) { this.queryStringConfig = queryStringConfig; return this; } /** * Sets the value of {@link RuleConditionsProperty#getQueryStringConfig} * @param queryStringConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder queryStringConfig(com.aliyun.ros.cdk.alb.RosRule.QueryStringConfigProperty queryStringConfig) { this.queryStringConfig = queryStringConfig; return this; } /** * Sets the value of {@link RuleConditionsProperty#getResponseHeaderConfig} * @param responseHeaderConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder responseHeaderConfig(com.aliyun.ros.cdk.core.IResolvable responseHeaderConfig) { this.responseHeaderConfig = responseHeaderConfig; return this; } /** * Sets the value of {@link RuleConditionsProperty#getResponseHeaderConfig} * @param responseHeaderConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder responseHeaderConfig(com.aliyun.ros.cdk.alb.RosRule.ResponseHeaderConfigProperty responseHeaderConfig) { this.responseHeaderConfig = responseHeaderConfig; return this; } /** * Sets the value of {@link RuleConditionsProperty#getResponseStatusCodeConfig} * @param responseStatusCodeConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder responseStatusCodeConfig(com.aliyun.ros.cdk.core.IResolvable responseStatusCodeConfig) { this.responseStatusCodeConfig = responseStatusCodeConfig; return this; } /** * Sets the value of {@link RuleConditionsProperty#getResponseStatusCodeConfig} * @param responseStatusCodeConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder responseStatusCodeConfig(com.aliyun.ros.cdk.alb.RosRule.ResponseStatusCodeConfigProperty responseStatusCodeConfig) { this.responseStatusCodeConfig = responseStatusCodeConfig; return this; } /** * Sets the value of {@link RuleConditionsProperty#getSourceIpConfig} * @param sourceIpConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder sourceIpConfig(com.aliyun.ros.cdk.core.IResolvable sourceIpConfig) { this.sourceIpConfig = sourceIpConfig; return this; } /** * Sets the value of {@link RuleConditionsProperty#getSourceIpConfig} * @param sourceIpConfig the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder sourceIpConfig(com.aliyun.ros.cdk.alb.RosRule.SourceIpConfigProperty sourceIpConfig) { this.sourceIpConfig = sourceIpConfig; return this; } /** * Builds the configured instance. * @return a new instance of {@link RuleConditionsProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public RuleConditionsProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link RuleConditionsProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements RuleConditionsProperty { private final java.lang.Object type; private final java.lang.Object cookieConfig; private final java.lang.Object headerConfig; private final java.lang.Object hostConfig; private final java.lang.Object methodConfig; private final java.lang.Object pathConfig; private final java.lang.Object queryStringConfig; private final java.lang.Object responseHeaderConfig; private final java.lang.Object responseStatusCodeConfig; private final java.lang.Object sourceIpConfig; /** * 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.type = software.amazon.jsii.Kernel.get(this, "type", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.cookieConfig = software.amazon.jsii.Kernel.get(this, "cookieConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.headerConfig = software.amazon.jsii.Kernel.get(this, "headerConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.hostConfig = software.amazon.jsii.Kernel.get(this, "hostConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.methodConfig = software.amazon.jsii.Kernel.get(this, "methodConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.pathConfig = software.amazon.jsii.Kernel.get(this, "pathConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.queryStringConfig = software.amazon.jsii.Kernel.get(this, "queryStringConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.responseHeaderConfig = software.amazon.jsii.Kernel.get(this, "responseHeaderConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.responseStatusCodeConfig = software.amazon.jsii.Kernel.get(this, "responseStatusCodeConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.sourceIpConfig = software.amazon.jsii.Kernel.get(this, "sourceIpConfig", 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.type = java.util.Objects.requireNonNull(builder.type, "type is required"); this.cookieConfig = builder.cookieConfig; this.headerConfig = builder.headerConfig; this.hostConfig = builder.hostConfig; this.methodConfig = builder.methodConfig; this.pathConfig = builder.pathConfig; this.queryStringConfig = builder.queryStringConfig; this.responseHeaderConfig = builder.responseHeaderConfig; this.responseStatusCodeConfig = builder.responseStatusCodeConfig; this.sourceIpConfig = builder.sourceIpConfig; } @Override public final java.lang.Object getType() { return this.type; } @Override public final java.lang.Object getCookieConfig() { return this.cookieConfig; } @Override public final java.lang.Object getHeaderConfig() { return this.headerConfig; } @Override public final java.lang.Object getHostConfig() { return this.hostConfig; } @Override public final java.lang.Object getMethodConfig() { return this.methodConfig; } @Override public final java.lang.Object getPathConfig() { return this.pathConfig; } @Override public final java.lang.Object getQueryStringConfig() { return this.queryStringConfig; } @Override public final java.lang.Object getResponseHeaderConfig() { return this.responseHeaderConfig; } @Override public final java.lang.Object getResponseStatusCodeConfig() { return this.responseStatusCodeConfig; } @Override public final java.lang.Object getSourceIpConfig() { return this.sourceIpConfig; } @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("type", om.valueToTree(this.getType())); if (this.getCookieConfig() != null) { data.set("cookieConfig", om.valueToTree(this.getCookieConfig())); } if (this.getHeaderConfig() != null) { data.set("headerConfig", om.valueToTree(this.getHeaderConfig())); } if (this.getHostConfig() != null) { data.set("hostConfig", om.valueToTree(this.getHostConfig())); } if (this.getMethodConfig() != null) { data.set("methodConfig", om.valueToTree(this.getMethodConfig())); } if (this.getPathConfig() != null) { data.set("pathConfig", om.valueToTree(this.getPathConfig())); } if (this.getQueryStringConfig() != null) { data.set("queryStringConfig", om.valueToTree(this.getQueryStringConfig())); } if (this.getResponseHeaderConfig() != null) { data.set("responseHeaderConfig", om.valueToTree(this.getResponseHeaderConfig())); } if (this.getResponseStatusCodeConfig() != null) { data.set("responseStatusCodeConfig", om.valueToTree(this.getResponseStatusCodeConfig())); } if (this.getSourceIpConfig() != null) { data.set("sourceIpConfig", om.valueToTree(this.getSourceIpConfig())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.RuleConditionsProperty")); 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; RuleConditionsProperty.Jsii$Proxy that = (RuleConditionsProperty.Jsii$Proxy) o; if (!type.equals(that.type)) return false; if (this.cookieConfig != null ? !this.cookieConfig.equals(that.cookieConfig) : that.cookieConfig != null) return false; if (this.headerConfig != null ? !this.headerConfig.equals(that.headerConfig) : that.headerConfig != null) return false; if (this.hostConfig != null ? !this.hostConfig.equals(that.hostConfig) : that.hostConfig != null) return false; if (this.methodConfig != null ? !this.methodConfig.equals(that.methodConfig) : that.methodConfig != null) return false; if (this.pathConfig != null ? !this.pathConfig.equals(that.pathConfig) : that.pathConfig != null) return false; if (this.queryStringConfig != null ? !this.queryStringConfig.equals(that.queryStringConfig) : that.queryStringConfig != null) return false; if (this.responseHeaderConfig != null ? !this.responseHeaderConfig.equals(that.responseHeaderConfig) : that.responseHeaderConfig != null) return false; if (this.responseStatusCodeConfig != null ? !this.responseStatusCodeConfig.equals(that.responseStatusCodeConfig) : that.responseStatusCodeConfig != null) return false; return this.sourceIpConfig != null ? this.sourceIpConfig.equals(that.sourceIpConfig) : that.sourceIpConfig == null; } @Override public final int hashCode() { int result = this.type.hashCode(); result = 31 * result + (this.cookieConfig != null ? this.cookieConfig.hashCode() : 0); result = 31 * result + (this.headerConfig != null ? this.headerConfig.hashCode() : 0); result = 31 * result + (this.hostConfig != null ? this.hostConfig.hashCode() : 0); result = 31 * result + (this.methodConfig != null ? this.methodConfig.hashCode() : 0); result = 31 * result + (this.pathConfig != null ? this.pathConfig.hashCode() : 0); result = 31 * result + (this.queryStringConfig != null ? this.queryStringConfig.hashCode() : 0); result = 31 * result + (this.responseHeaderConfig != null ? this.responseHeaderConfig.hashCode() : 0); result = 31 * result + (this.responseStatusCodeConfig != null ? this.responseStatusCodeConfig.hashCode() : 0); result = 31 * result + (this.sourceIpConfig != null ? this.sourceIpConfig.hashCode() : 0); return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.ServerGroupStickySessionProperty") @software.amazon.jsii.Jsii.Proxy(ServerGroupStickySessionProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface ServerGroupStickySessionProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getEnabled() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getTimeout() { return null; } /** * @return a {@link Builder} of {@link ServerGroupStickySessionProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link ServerGroupStickySessionProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object enabled; java.lang.Object timeout; /** * Sets the value of {@link ServerGroupStickySessionProperty#getEnabled} * @param enabled the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder enabled(java.lang.Boolean enabled) { this.enabled = enabled; return this; } /** * Sets the value of {@link ServerGroupStickySessionProperty#getEnabled} * @param enabled the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder enabled(com.aliyun.ros.cdk.core.IResolvable enabled) { this.enabled = enabled; return this; } /** * Sets the value of {@link ServerGroupStickySessionProperty#getTimeout} * @param timeout the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder timeout(java.lang.Number timeout) { this.timeout = timeout; return this; } /** * Sets the value of {@link ServerGroupStickySessionProperty#getTimeout} * @param timeout the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder timeout(com.aliyun.ros.cdk.core.IResolvable timeout) { this.timeout = timeout; return this; } /** * Builds the configured instance. * @return a new instance of {@link ServerGroupStickySessionProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public ServerGroupStickySessionProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link ServerGroupStickySessionProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ServerGroupStickySessionProperty { private final java.lang.Object enabled; private final java.lang.Object timeout; /** * 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.enabled = software.amazon.jsii.Kernel.get(this, "enabled", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.timeout = software.amazon.jsii.Kernel.get(this, "timeout", 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.enabled = builder.enabled; this.timeout = builder.timeout; } @Override public final java.lang.Object getEnabled() { return this.enabled; } @Override public final java.lang.Object getTimeout() { return this.timeout; } @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(); if (this.getEnabled() != null) { data.set("enabled", om.valueToTree(this.getEnabled())); } if (this.getTimeout() != null) { data.set("timeout", om.valueToTree(this.getTimeout())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.ServerGroupStickySessionProperty")); 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; ServerGroupStickySessionProperty.Jsii$Proxy that = (ServerGroupStickySessionProperty.Jsii$Proxy) o; if (this.enabled != null ? !this.enabled.equals(that.enabled) : that.enabled != null) return false; return this.timeout != null ? this.timeout.equals(that.timeout) : that.timeout == null; } @Override public final int hashCode() { int result = this.enabled != null ? this.enabled.hashCode() : 0; result = 31 * result + (this.timeout != null ? this.timeout.hashCode() : 0); return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.ServerGroupTuplesProperty") @software.amazon.jsii.Jsii.Proxy(ServerGroupTuplesProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface ServerGroupTuplesProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getServerGroupId() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getWeight() { return null; } /** * @return a {@link Builder} of {@link ServerGroupTuplesProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link ServerGroupTuplesProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object serverGroupId; java.lang.Object weight; /** * Sets the value of {@link ServerGroupTuplesProperty#getServerGroupId} * @param serverGroupId the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder serverGroupId(java.lang.String serverGroupId) { this.serverGroupId = serverGroupId; return this; } /** * Sets the value of {@link ServerGroupTuplesProperty#getServerGroupId} * @param serverGroupId the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder serverGroupId(com.aliyun.ros.cdk.core.IResolvable serverGroupId) { this.serverGroupId = serverGroupId; return this; } /** * Sets the value of {@link ServerGroupTuplesProperty#getWeight} * @param weight the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder weight(java.lang.Number weight) { this.weight = weight; return this; } /** * Sets the value of {@link ServerGroupTuplesProperty#getWeight} * @param weight the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder weight(com.aliyun.ros.cdk.core.IResolvable weight) { this.weight = weight; return this; } /** * Builds the configured instance. * @return a new instance of {@link ServerGroupTuplesProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public ServerGroupTuplesProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link ServerGroupTuplesProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ServerGroupTuplesProperty { private final java.lang.Object serverGroupId; private final java.lang.Object weight; /** * 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.serverGroupId = software.amazon.jsii.Kernel.get(this, "serverGroupId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.weight = software.amazon.jsii.Kernel.get(this, "weight", 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.serverGroupId = builder.serverGroupId; this.weight = builder.weight; } @Override public final java.lang.Object getServerGroupId() { return this.serverGroupId; } @Override public final java.lang.Object getWeight() { return this.weight; } @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(); if (this.getServerGroupId() != null) { data.set("serverGroupId", om.valueToTree(this.getServerGroupId())); } if (this.getWeight() != null) { data.set("weight", om.valueToTree(this.getWeight())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.ServerGroupTuplesProperty")); 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; ServerGroupTuplesProperty.Jsii$Proxy that = (ServerGroupTuplesProperty.Jsii$Proxy) o; if (this.serverGroupId != null ? !this.serverGroupId.equals(that.serverGroupId) : that.serverGroupId != null) return false; return this.weight != null ? this.weight.equals(that.weight) : that.weight == null; } @Override public final int hashCode() { int result = this.serverGroupId != null ? this.serverGroupId.hashCode() : 0; result = 31 * result + (this.weight != null ? this.weight.hashCode() : 0); return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.SourceIpConfigProperty") @software.amazon.jsii.Jsii.Proxy(SourceIpConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface SourceIpConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getValues() { return null; } /** * @return a {@link Builder} of {@link SourceIpConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link SourceIpConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object values; /** * Sets the value of {@link SourceIpConfigProperty#getValues} * @param values the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(com.aliyun.ros.cdk.core.IResolvable values) { this.values = values; return this; } /** * Sets the value of {@link SourceIpConfigProperty#getValues} * @param values the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder values(java.util.List values) { this.values = values; return this; } /** * Builds the configured instance. * @return a new instance of {@link SourceIpConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public SourceIpConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link SourceIpConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements SourceIpConfigProperty { private final java.lang.Object values; /** * 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.values = software.amazon.jsii.Kernel.get(this, "values", 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.values = builder.values; } @Override public final java.lang.Object getValues() { return this.values; } @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(); if (this.getValues() != null) { data.set("values", om.valueToTree(this.getValues())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.SourceIpConfigProperty")); 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; SourceIpConfigProperty.Jsii$Proxy that = (SourceIpConfigProperty.Jsii$Proxy) o; return this.values != null ? this.values.equals(that.values) : that.values == null; } @Override public final int hashCode() { int result = this.values != null ? this.values.hashCode() : 0; return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.TrafficLimitConfigProperty") @software.amazon.jsii.Jsii.Proxy(TrafficLimitConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface TrafficLimitConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.Object getQps(); /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getPerIpQps() { return null; } /** * @return a {@link Builder} of {@link TrafficLimitConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link TrafficLimitConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object qps; java.lang.Object perIpQps; /** * Sets the value of {@link TrafficLimitConfigProperty#getQps} * @param qps the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder qps(java.lang.Number qps) { this.qps = qps; return this; } /** * Sets the value of {@link TrafficLimitConfigProperty#getQps} * @param qps the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder qps(com.aliyun.ros.cdk.core.IResolvable qps) { this.qps = qps; return this; } /** * Sets the value of {@link TrafficLimitConfigProperty#getPerIpQps} * @param perIpQps the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder perIpQps(java.lang.Number perIpQps) { this.perIpQps = perIpQps; return this; } /** * Sets the value of {@link TrafficLimitConfigProperty#getPerIpQps} * @param perIpQps the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder perIpQps(com.aliyun.ros.cdk.core.IResolvable perIpQps) { this.perIpQps = perIpQps; return this; } /** * Builds the configured instance. * @return a new instance of {@link TrafficLimitConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public TrafficLimitConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link TrafficLimitConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements TrafficLimitConfigProperty { private final java.lang.Object qps; private final java.lang.Object perIpQps; /** * 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.qps = software.amazon.jsii.Kernel.get(this, "qps", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.perIpQps = software.amazon.jsii.Kernel.get(this, "perIpQps", 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.qps = java.util.Objects.requireNonNull(builder.qps, "qps is required"); this.perIpQps = builder.perIpQps; } @Override public final java.lang.Object getQps() { return this.qps; } @Override public final java.lang.Object getPerIpQps() { return this.perIpQps; } @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("qps", om.valueToTree(this.getQps())); if (this.getPerIpQps() != null) { data.set("perIpQps", om.valueToTree(this.getPerIpQps())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.TrafficLimitConfigProperty")); 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; TrafficLimitConfigProperty.Jsii$Proxy that = (TrafficLimitConfigProperty.Jsii$Proxy) o; if (!qps.equals(that.qps)) return false; return this.perIpQps != null ? this.perIpQps.equals(that.perIpQps) : that.perIpQps == null; } @Override public final int hashCode() { int result = this.qps.hashCode(); result = 31 * result + (this.perIpQps != null ? this.perIpQps.hashCode() : 0); return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.TrafficMirrorConfigProperty") @software.amazon.jsii.Jsii.Proxy(TrafficMirrorConfigProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface TrafficMirrorConfigProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.Object getMirrorGroupConfig(); /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.Object getTargetType(); /** * @return a {@link Builder} of {@link TrafficMirrorConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link TrafficMirrorConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object mirrorGroupConfig; java.lang.Object targetType; /** * Sets the value of {@link TrafficMirrorConfigProperty#getMirrorGroupConfig} * @param mirrorGroupConfig the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder mirrorGroupConfig(com.aliyun.ros.cdk.core.IResolvable mirrorGroupConfig) { this.mirrorGroupConfig = mirrorGroupConfig; return this; } /** * Sets the value of {@link TrafficMirrorConfigProperty#getMirrorGroupConfig} * @param mirrorGroupConfig the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder mirrorGroupConfig(com.aliyun.ros.cdk.alb.RosRule.MirrorGroupConfigProperty mirrorGroupConfig) { this.mirrorGroupConfig = mirrorGroupConfig; return this; } /** * Sets the value of {@link TrafficMirrorConfigProperty#getTargetType} * @param targetType the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder targetType(java.lang.String targetType) { this.targetType = targetType; return this; } /** * Sets the value of {@link TrafficMirrorConfigProperty#getTargetType} * @param targetType the value to be set. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder targetType(com.aliyun.ros.cdk.core.IResolvable targetType) { this.targetType = targetType; return this; } /** * Builds the configured instance. * @return a new instance of {@link TrafficMirrorConfigProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public TrafficMirrorConfigProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link TrafficMirrorConfigProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements TrafficMirrorConfigProperty { private final java.lang.Object mirrorGroupConfig; private final java.lang.Object targetType; /** * 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.mirrorGroupConfig = software.amazon.jsii.Kernel.get(this, "mirrorGroupConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.targetType = software.amazon.jsii.Kernel.get(this, "targetType", 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.mirrorGroupConfig = java.util.Objects.requireNonNull(builder.mirrorGroupConfig, "mirrorGroupConfig is required"); this.targetType = java.util.Objects.requireNonNull(builder.targetType, "targetType is required"); } @Override public final java.lang.Object getMirrorGroupConfig() { return this.mirrorGroupConfig; } @Override public final java.lang.Object getTargetType() { return this.targetType; } @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("mirrorGroupConfig", om.valueToTree(this.getMirrorGroupConfig())); data.set("targetType", om.valueToTree(this.getTargetType())); final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.TrafficMirrorConfigProperty")); 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; TrafficMirrorConfigProperty.Jsii$Proxy that = (TrafficMirrorConfigProperty.Jsii$Proxy) o; if (!mirrorGroupConfig.equals(that.mirrorGroupConfig)) return false; return this.targetType.equals(that.targetType); } @Override public final int hashCode() { int result = this.mirrorGroupConfig.hashCode(); result = 31 * result + (this.targetType.hashCode()); return result; } } } /** */ @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.alb.$Module.class, fqn = "@alicloud/ros-cdk-alb.RosRule.ValuesProperty") @software.amazon.jsii.Jsii.Proxy(ValuesProperty.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static interface ValuesProperty extends software.amazon.jsii.JsiiSerializable { /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getKey() { return null; } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getValue() { return null; } /** * @return a {@link Builder} of {@link ValuesProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link ValuesProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object key; java.lang.Object value; /** * Sets the value of {@link ValuesProperty#getKey} * @param key the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder key(java.lang.String key) { this.key = key; return this; } /** * Sets the value of {@link ValuesProperty#getKey} * @param key the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder key(com.aliyun.ros.cdk.core.IResolvable key) { this.key = key; return this; } /** * Sets the value of {@link ValuesProperty#getValue} * @param value the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder value(java.lang.String value) { this.value = value; return this; } /** * Sets the value of {@link ValuesProperty#getValue} * @param value the value to be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder value(com.aliyun.ros.cdk.core.IResolvable value) { this.value = value; return this; } /** * Builds the configured instance. * @return a new instance of {@link ValuesProperty} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public ValuesProperty build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link ValuesProperty} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ValuesProperty { private final java.lang.Object key; private final java.lang.Object value; /** * 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.key = software.amazon.jsii.Kernel.get(this, "key", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.value = software.amazon.jsii.Kernel.get(this, "value", 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.key = builder.key; this.value = builder.value; } @Override public final java.lang.Object getKey() { return this.key; } @Override public final java.lang.Object getValue() { return this.value; } @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(); if (this.getKey() != null) { data.set("key", om.valueToTree(this.getKey())); } if (this.getValue() != null) { data.set("value", om.valueToTree(this.getValue())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-alb.RosRule.ValuesProperty")); 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; ValuesProperty.Jsii$Proxy that = (ValuesProperty.Jsii$Proxy) o; if (this.key != null ? !this.key.equals(that.key) : that.key != null) return false; return this.value != null ? this.value.equals(that.value) : that.value == null; } @Override public final int hashCode() { int result = this.key != null ? this.key.hashCode() : 0; result = 31 * result + (this.value != null ? this.value.hashCode() : 0); return result; } } } /** * A fluent builder for {@link com.aliyun.ros.cdk.alb.RosRule}. */ public static final class Builder implements software.amazon.jsii.Builder { /** * @return a new instance of {@link Builder}. * @param scope
  • scope in which this resource is defined.
This parameter is required. * @param id
  • scoped id of the resource.
This parameter is required. * @param enableResourcePropertyConstraint This parameter is required. */ public static Builder create(final com.aliyun.ros.cdk.core.Construct scope, final java.lang.String id, final java.lang.Boolean enableResourcePropertyConstraint) { return new Builder(scope, id, enableResourcePropertyConstraint); } private final com.aliyun.ros.cdk.core.Construct scope; private final java.lang.String id; private final java.lang.Boolean enableResourcePropertyConstraint; private final com.aliyun.ros.cdk.alb.RosRuleProps.Builder props; private Builder(final com.aliyun.ros.cdk.core.Construct scope, final java.lang.String id, final java.lang.Boolean enableResourcePropertyConstraint) { this.scope = scope; this.id = id; this.enableResourcePropertyConstraint = enableResourcePropertyConstraint; this.props = new com.aliyun.ros.cdk.alb.RosRuleProps.Builder(); } /** * @return {@code this} * @param listenerId This parameter is required. */ public Builder listenerId(final java.lang.String listenerId) { this.props.listenerId(listenerId); return this; } /** * @return {@code this} * @param listenerId This parameter is required. */ public Builder listenerId(final com.aliyun.ros.cdk.core.IResolvable listenerId) { this.props.listenerId(listenerId); return this; } /** * @return {@code this} * @param priority This parameter is required. */ public Builder priority(final java.lang.Number priority) { this.props.priority(priority); return this; } /** * @return {@code this} * @param priority This parameter is required. */ public Builder priority(final com.aliyun.ros.cdk.core.IResolvable priority) { this.props.priority(priority); return this; } /** * @return {@code this} * @param ruleActions This parameter is required. */ public Builder ruleActions(final com.aliyun.ros.cdk.core.IResolvable ruleActions) { this.props.ruleActions(ruleActions); return this; } /** * @return {@code this} * @param ruleActions This parameter is required. */ public Builder ruleActions(final java.util.List ruleActions) { this.props.ruleActions(ruleActions); return this; } /** * @return {@code this} * @param ruleConditions This parameter is required. */ public Builder ruleConditions(final com.aliyun.ros.cdk.core.IResolvable ruleConditions) { this.props.ruleConditions(ruleConditions); return this; } /** * @return {@code this} * @param ruleConditions This parameter is required. */ public Builder ruleConditions(final java.util.List ruleConditions) { this.props.ruleConditions(ruleConditions); return this; } /** * @return {@code this} * @param ruleName This parameter is required. */ public Builder ruleName(final java.lang.String ruleName) { this.props.ruleName(ruleName); return this; } /** * @return {@code this} * @param ruleName This parameter is required. */ public Builder ruleName(final com.aliyun.ros.cdk.core.IResolvable ruleName) { this.props.ruleName(ruleName); return this; } /** * @return {@code this} * @param direction This parameter is required. */ public Builder direction(final java.lang.String direction) { this.props.direction(direction); return this; } /** * @return {@code this} * @param direction This parameter is required. */ public Builder direction(final com.aliyun.ros.cdk.core.IResolvable direction) { this.props.direction(direction); return this; } /** * @return a newly built instance of {@link com.aliyun.ros.cdk.alb.RosRule}. */ @Override public com.aliyun.ros.cdk.alb.RosRule build() { return new com.aliyun.ros.cdk.alb.RosRule( this.scope, this.id, this.props.build(), this.enableResourcePropertyConstraint ); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy