software.amazon.awscdk.services.redshift.CfnClusterSubnetGroupProps Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of redshift Show documentation
Show all versions of redshift Show documentation
The CDK Construct Library for AWS::Redshift
package software.amazon.awscdk.services.redshift;
/**
* Properties for defining a `AWS::Redshift::ClusterSubnetGroup`.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.30.0 (build adae23f)", date = "2021-07-02T00:23:36.150Z")
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.redshift.$Module.class, fqn = "@aws-cdk/aws-redshift.CfnClusterSubnetGroupProps")
@software.amazon.jsii.Jsii.Proxy(CfnClusterSubnetGroupProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface CfnClusterSubnetGroupProps extends software.amazon.jsii.JsiiSerializable {
/**
* `AWS::Redshift::ClusterSubnetGroup.Description`.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getDescription();
/**
* `AWS::Redshift::ClusterSubnetGroup.SubnetIds`.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.util.List getSubnetIds();
/**
* `AWS::Redshift::ClusterSubnetGroup.Tags`.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getTags() {
return null;
}
/**
* @return a {@link Builder} of {@link CfnClusterSubnetGroupProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link CfnClusterSubnetGroupProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
private java.lang.String description;
private java.util.List subnetIds;
private java.util.List tags;
/**
* Sets the value of {@link CfnClusterSubnetGroupProps#getDescription}
* @param description `AWS::Redshift::ClusterSubnetGroup.Description`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder description(java.lang.String description) {
this.description = description;
return this;
}
/**
* Sets the value of {@link CfnClusterSubnetGroupProps#getSubnetIds}
* @param subnetIds `AWS::Redshift::ClusterSubnetGroup.SubnetIds`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder subnetIds(java.util.List subnetIds) {
this.subnetIds = subnetIds;
return this;
}
/**
* Sets the value of {@link CfnClusterSubnetGroupProps#getTags}
* @param tags `AWS::Redshift::ClusterSubnetGroup.Tags`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@SuppressWarnings("unchecked")
public Builder tags(java.util.List extends software.amazon.awscdk.core.CfnTag> tags) {
this.tags = (java.util.List)tags;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link CfnClusterSubnetGroupProps}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public CfnClusterSubnetGroupProps build() {
return new Jsii$Proxy(description, subnetIds, tags);
}
}
/**
* An implementation for {@link CfnClusterSubnetGroupProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CfnClusterSubnetGroupProps {
private final java.lang.String description;
private final java.util.List subnetIds;
private final java.util.List tags;
/**
* 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.description = software.amazon.jsii.Kernel.get(this, "description", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.subnetIds = software.amazon.jsii.Kernel.get(this, "subnetIds", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
this.tags = software.amazon.jsii.Kernel.get(this, "tags", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.core.CfnTag.class)));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
@SuppressWarnings("unchecked")
protected Jsii$Proxy(final java.lang.String description, final java.util.List subnetIds, final java.util.List extends software.amazon.awscdk.core.CfnTag> tags) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.description = java.util.Objects.requireNonNull(description, "description is required");
this.subnetIds = java.util.Objects.requireNonNull(subnetIds, "subnetIds is required");
this.tags = (java.util.List)tags;
}
@Override
public final java.lang.String getDescription() {
return this.description;
}
@Override
public final java.util.List getSubnetIds() {
return this.subnetIds;
}
@Override
public final java.util.List getTags() {
return this.tags;
}
@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("description", om.valueToTree(this.getDescription()));
data.set("subnetIds", om.valueToTree(this.getSubnetIds()));
if (this.getTags() != null) {
data.set("tags", om.valueToTree(this.getTags()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk/aws-redshift.CfnClusterSubnetGroupProps"));
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;
CfnClusterSubnetGroupProps.Jsii$Proxy that = (CfnClusterSubnetGroupProps.Jsii$Proxy) o;
if (!description.equals(that.description)) return false;
if (!subnetIds.equals(that.subnetIds)) return false;
return this.tags != null ? this.tags.equals(that.tags) : that.tags == null;
}
@Override
public final int hashCode() {
int result = this.description.hashCode();
result = 31 * result + (this.subnetIds.hashCode());
result = 31 * result + (this.tags != null ? this.tags.hashCode() : 0);
return result;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy