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

com.aliyun.ros.cdk.slb.RosLoadBalancerCloneProps Maven / Gradle / Ivy

package com.aliyun.ros.cdk.slb;

/**
 * Properties for defining a RosLoadBalancerClone.
 * 

* See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-slb-loadbalancerclone */ @javax.annotation.Generated(value = "jsii-pacmak/1.85.0 (build 08ee592)", date = "2024-09-29T07:52:42.636Z") @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.slb.$Module.class, fqn = "@alicloud/ros-cdk-slb.RosLoadBalancerCloneProps") @software.amazon.jsii.Jsii.Proxy(RosLoadBalancerCloneProps.Jsii$Proxy.class) public interface RosLoadBalancerCloneProps extends software.amazon.jsii.JsiiSerializable { /** */ @org.jetbrains.annotations.NotNull java.lang.Object getSourceLoadBalancerId(); /** */ default @org.jetbrains.annotations.Nullable java.lang.Object getBackendServers() { return null; } /** */ default @org.jetbrains.annotations.Nullable java.lang.Object getBackendServersPolicy() { return null; } /** */ default @org.jetbrains.annotations.Nullable java.lang.Object getInstanceChargeType() { return null; } /** */ default @org.jetbrains.annotations.Nullable java.lang.Object getLoadBalancerName() { return null; } /** */ default @org.jetbrains.annotations.Nullable java.lang.Object getLoadBalancerSpec() { return null; } /** */ default @org.jetbrains.annotations.Nullable java.lang.Object getResourceGroupId() { return null; } /** */ default @org.jetbrains.annotations.Nullable java.util.List getTags() { return null; } /** */ default @org.jetbrains.annotations.Nullable java.lang.Object getTagsPolicy() { return null; } /** */ default @org.jetbrains.annotations.Nullable java.lang.Object getVSwitchId() { return null; } /** * @return a {@link Builder} of {@link RosLoadBalancerCloneProps} */ static Builder builder() { return new Builder(); } /** * A builder for {@link RosLoadBalancerCloneProps} */ public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object sourceLoadBalancerId; java.lang.Object backendServers; java.lang.Object backendServersPolicy; java.lang.Object instanceChargeType; java.lang.Object loadBalancerName; java.lang.Object loadBalancerSpec; java.lang.Object resourceGroupId; java.util.List tags; java.lang.Object tagsPolicy; java.lang.Object vSwitchId; /** * Sets the value of {@link RosLoadBalancerCloneProps#getSourceLoadBalancerId} * @param sourceLoadBalancerId the value to be set. This parameter is required. * @return {@code this} */ public Builder sourceLoadBalancerId(java.lang.String sourceLoadBalancerId) { this.sourceLoadBalancerId = sourceLoadBalancerId; return this; } /** * Sets the value of {@link RosLoadBalancerCloneProps#getSourceLoadBalancerId} * @param sourceLoadBalancerId the value to be set. This parameter is required. * @return {@code this} */ public Builder sourceLoadBalancerId(com.aliyun.ros.cdk.core.IResolvable sourceLoadBalancerId) { this.sourceLoadBalancerId = sourceLoadBalancerId; return this; } /** * Sets the value of {@link RosLoadBalancerCloneProps#getBackendServers} * @param backendServers the value to be set. * @return {@code this} */ public Builder backendServers(com.aliyun.ros.cdk.core.IResolvable backendServers) { this.backendServers = backendServers; return this; } /** * Sets the value of {@link RosLoadBalancerCloneProps#getBackendServers} * @param backendServers the value to be set. * @return {@code this} */ public Builder backendServers(java.util.List backendServers) { this.backendServers = backendServers; return this; } /** * Sets the value of {@link RosLoadBalancerCloneProps#getBackendServersPolicy} * @param backendServersPolicy the value to be set. * @return {@code this} */ public Builder backendServersPolicy(java.lang.String backendServersPolicy) { this.backendServersPolicy = backendServersPolicy; return this; } /** * Sets the value of {@link RosLoadBalancerCloneProps#getBackendServersPolicy} * @param backendServersPolicy the value to be set. * @return {@code this} */ public Builder backendServersPolicy(com.aliyun.ros.cdk.core.IResolvable backendServersPolicy) { this.backendServersPolicy = backendServersPolicy; return this; } /** * Sets the value of {@link RosLoadBalancerCloneProps#getInstanceChargeType} * @param instanceChargeType the value to be set. * @return {@code this} */ public Builder instanceChargeType(java.lang.String instanceChargeType) { this.instanceChargeType = instanceChargeType; return this; } /** * Sets the value of {@link RosLoadBalancerCloneProps#getInstanceChargeType} * @param instanceChargeType the value to be set. * @return {@code this} */ public Builder instanceChargeType(com.aliyun.ros.cdk.core.IResolvable instanceChargeType) { this.instanceChargeType = instanceChargeType; return this; } /** * Sets the value of {@link RosLoadBalancerCloneProps#getLoadBalancerName} * @param loadBalancerName the value to be set. * @return {@code this} */ public Builder loadBalancerName(java.lang.String loadBalancerName) { this.loadBalancerName = loadBalancerName; return this; } /** * Sets the value of {@link RosLoadBalancerCloneProps#getLoadBalancerName} * @param loadBalancerName the value to be set. * @return {@code this} */ public Builder loadBalancerName(com.aliyun.ros.cdk.core.IResolvable loadBalancerName) { this.loadBalancerName = loadBalancerName; return this; } /** * Sets the value of {@link RosLoadBalancerCloneProps#getLoadBalancerSpec} * @param loadBalancerSpec the value to be set. * @return {@code this} */ public Builder loadBalancerSpec(java.lang.String loadBalancerSpec) { this.loadBalancerSpec = loadBalancerSpec; return this; } /** * Sets the value of {@link RosLoadBalancerCloneProps#getLoadBalancerSpec} * @param loadBalancerSpec the value to be set. * @return {@code this} */ public Builder loadBalancerSpec(com.aliyun.ros.cdk.core.IResolvable loadBalancerSpec) { this.loadBalancerSpec = loadBalancerSpec; return this; } /** * Sets the value of {@link RosLoadBalancerCloneProps#getResourceGroupId} * @param resourceGroupId the value to be set. * @return {@code this} */ public Builder resourceGroupId(java.lang.String resourceGroupId) { this.resourceGroupId = resourceGroupId; return this; } /** * Sets the value of {@link RosLoadBalancerCloneProps#getResourceGroupId} * @param resourceGroupId the value to be set. * @return {@code this} */ public Builder resourceGroupId(com.aliyun.ros.cdk.core.IResolvable resourceGroupId) { this.resourceGroupId = resourceGroupId; return this; } /** * Sets the value of {@link RosLoadBalancerCloneProps#getTags} * @param tags the value to be set. * @return {@code this} */ @SuppressWarnings("unchecked") public Builder tags(java.util.List tags) { this.tags = (java.util.List)tags; return this; } /** * Sets the value of {@link RosLoadBalancerCloneProps#getTagsPolicy} * @param tagsPolicy the value to be set. * @return {@code this} */ public Builder tagsPolicy(java.lang.String tagsPolicy) { this.tagsPolicy = tagsPolicy; return this; } /** * Sets the value of {@link RosLoadBalancerCloneProps#getTagsPolicy} * @param tagsPolicy the value to be set. * @return {@code this} */ public Builder tagsPolicy(com.aliyun.ros.cdk.core.IResolvable tagsPolicy) { this.tagsPolicy = tagsPolicy; return this; } /** * Sets the value of {@link RosLoadBalancerCloneProps#getVSwitchId} * @param vSwitchId the value to be set. * @return {@code this} */ public Builder vSwitchId(java.lang.String vSwitchId) { this.vSwitchId = vSwitchId; return this; } /** * Sets the value of {@link RosLoadBalancerCloneProps#getVSwitchId} * @param vSwitchId the value to be set. * @return {@code this} */ public Builder vSwitchId(com.aliyun.ros.cdk.core.IResolvable vSwitchId) { this.vSwitchId = vSwitchId; return this; } /** * Builds the configured instance. * @return a new instance of {@link RosLoadBalancerCloneProps} * @throws NullPointerException if any required attribute was not provided */ @Override public RosLoadBalancerCloneProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link RosLoadBalancerCloneProps} */ @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements RosLoadBalancerCloneProps { private final java.lang.Object sourceLoadBalancerId; private final java.lang.Object backendServers; private final java.lang.Object backendServersPolicy; private final java.lang.Object instanceChargeType; private final java.lang.Object loadBalancerName; private final java.lang.Object loadBalancerSpec; private final java.lang.Object resourceGroupId; private final java.util.List tags; private final java.lang.Object tagsPolicy; private final java.lang.Object vSwitchId; /** * 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.sourceLoadBalancerId = software.amazon.jsii.Kernel.get(this, "sourceLoadBalancerId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.backendServers = software.amazon.jsii.Kernel.get(this, "backendServers", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.backendServersPolicy = software.amazon.jsii.Kernel.get(this, "backendServersPolicy", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.instanceChargeType = software.amazon.jsii.Kernel.get(this, "instanceChargeType", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.loadBalancerName = software.amazon.jsii.Kernel.get(this, "loadBalancerName", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.loadBalancerSpec = software.amazon.jsii.Kernel.get(this, "loadBalancerSpec", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.resourceGroupId = software.amazon.jsii.Kernel.get(this, "resourceGroupId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.tags = software.amazon.jsii.Kernel.get(this, "tags", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.slb.RosLoadBalancerClone.TagsProperty.class))); this.tagsPolicy = software.amazon.jsii.Kernel.get(this, "tagsPolicy", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.vSwitchId = software.amazon.jsii.Kernel.get(this, "vSwitchId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ @SuppressWarnings("unchecked") protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.sourceLoadBalancerId = java.util.Objects.requireNonNull(builder.sourceLoadBalancerId, "sourceLoadBalancerId is required"); this.backendServers = builder.backendServers; this.backendServersPolicy = builder.backendServersPolicy; this.instanceChargeType = builder.instanceChargeType; this.loadBalancerName = builder.loadBalancerName; this.loadBalancerSpec = builder.loadBalancerSpec; this.resourceGroupId = builder.resourceGroupId; this.tags = (java.util.List)builder.tags; this.tagsPolicy = builder.tagsPolicy; this.vSwitchId = builder.vSwitchId; } @Override public final java.lang.Object getSourceLoadBalancerId() { return this.sourceLoadBalancerId; } @Override public final java.lang.Object getBackendServers() { return this.backendServers; } @Override public final java.lang.Object getBackendServersPolicy() { return this.backendServersPolicy; } @Override public final java.lang.Object getInstanceChargeType() { return this.instanceChargeType; } @Override public final java.lang.Object getLoadBalancerName() { return this.loadBalancerName; } @Override public final java.lang.Object getLoadBalancerSpec() { return this.loadBalancerSpec; } @Override public final java.lang.Object getResourceGroupId() { return this.resourceGroupId; } @Override public final java.util.List getTags() { return this.tags; } @Override public final java.lang.Object getTagsPolicy() { return this.tagsPolicy; } @Override public final java.lang.Object getVSwitchId() { return this.vSwitchId; } @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("sourceLoadBalancerId", om.valueToTree(this.getSourceLoadBalancerId())); if (this.getBackendServers() != null) { data.set("backendServers", om.valueToTree(this.getBackendServers())); } if (this.getBackendServersPolicy() != null) { data.set("backendServersPolicy", om.valueToTree(this.getBackendServersPolicy())); } if (this.getInstanceChargeType() != null) { data.set("instanceChargeType", om.valueToTree(this.getInstanceChargeType())); } if (this.getLoadBalancerName() != null) { data.set("loadBalancerName", om.valueToTree(this.getLoadBalancerName())); } if (this.getLoadBalancerSpec() != null) { data.set("loadBalancerSpec", om.valueToTree(this.getLoadBalancerSpec())); } if (this.getResourceGroupId() != null) { data.set("resourceGroupId", om.valueToTree(this.getResourceGroupId())); } if (this.getTags() != null) { data.set("tags", om.valueToTree(this.getTags())); } if (this.getTagsPolicy() != null) { data.set("tagsPolicy", om.valueToTree(this.getTagsPolicy())); } if (this.getVSwitchId() != null) { data.set("vSwitchId", om.valueToTree(this.getVSwitchId())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-slb.RosLoadBalancerCloneProps")); 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; RosLoadBalancerCloneProps.Jsii$Proxy that = (RosLoadBalancerCloneProps.Jsii$Proxy) o; if (!sourceLoadBalancerId.equals(that.sourceLoadBalancerId)) return false; if (this.backendServers != null ? !this.backendServers.equals(that.backendServers) : that.backendServers != null) return false; if (this.backendServersPolicy != null ? !this.backendServersPolicy.equals(that.backendServersPolicy) : that.backendServersPolicy != null) return false; if (this.instanceChargeType != null ? !this.instanceChargeType.equals(that.instanceChargeType) : that.instanceChargeType != null) return false; if (this.loadBalancerName != null ? !this.loadBalancerName.equals(that.loadBalancerName) : that.loadBalancerName != null) return false; if (this.loadBalancerSpec != null ? !this.loadBalancerSpec.equals(that.loadBalancerSpec) : that.loadBalancerSpec != null) return false; if (this.resourceGroupId != null ? !this.resourceGroupId.equals(that.resourceGroupId) : that.resourceGroupId != null) return false; if (this.tags != null ? !this.tags.equals(that.tags) : that.tags != null) return false; if (this.tagsPolicy != null ? !this.tagsPolicy.equals(that.tagsPolicy) : that.tagsPolicy != null) return false; return this.vSwitchId != null ? this.vSwitchId.equals(that.vSwitchId) : that.vSwitchId == null; } @Override public final int hashCode() { int result = this.sourceLoadBalancerId.hashCode(); result = 31 * result + (this.backendServers != null ? this.backendServers.hashCode() : 0); result = 31 * result + (this.backendServersPolicy != null ? this.backendServersPolicy.hashCode() : 0); result = 31 * result + (this.instanceChargeType != null ? this.instanceChargeType.hashCode() : 0); result = 31 * result + (this.loadBalancerName != null ? this.loadBalancerName.hashCode() : 0); result = 31 * result + (this.loadBalancerSpec != null ? this.loadBalancerSpec.hashCode() : 0); result = 31 * result + (this.resourceGroupId != null ? this.resourceGroupId.hashCode() : 0); result = 31 * result + (this.tags != null ? this.tags.hashCode() : 0); result = 31 * result + (this.tagsPolicy != null ? this.tagsPolicy.hashCode() : 0); result = 31 * result + (this.vSwitchId != null ? this.vSwitchId.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy