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

ca.wheatstalk.cdkecskeycloak.ServerlessAuroraDatabaseProviderProps Maven / Gradle / Ivy

There is a newer version: 0.0.164
Show newest version
package ca.wheatstalk.cdkecskeycloak;

/**
 * Basic props for creating a serverless Aurora database cluster.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.29.0 (build 41df200)", date = "2021-04-28T04:27:48.377Z")
@software.amazon.jsii.Jsii(module = ca.wheatstalk.cdkecskeycloak.$Module.class, fqn = "@wheatstalk/cdk-ecs-keycloak.ServerlessAuroraDatabaseProviderProps")
@software.amazon.jsii.Jsii.Proxy(ServerlessAuroraDatabaseProviderProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface ServerlessAuroraDatabaseProviderProps extends software.amazon.jsii.JsiiSerializable {

    /**
     * Cluster engine.
     * 

* Default: rds.DatabaseClusterEngine.AURORA_MYSQL */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.rds.IClusterEngine getEngine() { return null; } /** * Scaling options. *

* Default: - 5 minute auto pause, min and max capacity of 1 acu. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.rds.ServerlessScalingOptions getScaling() { return null; } /** * Select subnets to register the database cluster in. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ec2.SubnetSelection getSubnets() { return null; } /** * @return a {@link Builder} of {@link ServerlessAuroraDatabaseProviderProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link ServerlessAuroraDatabaseProviderProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { private software.amazon.awscdk.services.rds.IClusterEngine engine; private software.amazon.awscdk.services.rds.ServerlessScalingOptions scaling; private software.amazon.awscdk.services.ec2.SubnetSelection subnets; /** * Sets the value of {@link ServerlessAuroraDatabaseProviderProps#getEngine} * @param engine Cluster engine. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder engine(software.amazon.awscdk.services.rds.IClusterEngine engine) { this.engine = engine; return this; } /** * Sets the value of {@link ServerlessAuroraDatabaseProviderProps#getScaling} * @param scaling Scaling options. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder scaling(software.amazon.awscdk.services.rds.ServerlessScalingOptions scaling) { this.scaling = scaling; return this; } /** * Sets the value of {@link ServerlessAuroraDatabaseProviderProps#getSubnets} * @param subnets Select subnets to register the database cluster in. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder subnets(software.amazon.awscdk.services.ec2.SubnetSelection subnets) { this.subnets = subnets; return this; } /** * Builds the configured instance. * @return a new instance of {@link ServerlessAuroraDatabaseProviderProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public ServerlessAuroraDatabaseProviderProps build() { return new Jsii$Proxy(engine, scaling, subnets); } } /** * An implementation for {@link ServerlessAuroraDatabaseProviderProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ServerlessAuroraDatabaseProviderProps { private final software.amazon.awscdk.services.rds.IClusterEngine engine; private final software.amazon.awscdk.services.rds.ServerlessScalingOptions scaling; private final software.amazon.awscdk.services.ec2.SubnetSelection subnets; /** * 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.engine = software.amazon.jsii.Kernel.get(this, "engine", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.rds.IClusterEngine.class)); this.scaling = software.amazon.jsii.Kernel.get(this, "scaling", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.rds.ServerlessScalingOptions.class)); this.subnets = software.amazon.jsii.Kernel.get(this, "subnets", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.SubnetSelection.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final software.amazon.awscdk.services.rds.IClusterEngine engine, final software.amazon.awscdk.services.rds.ServerlessScalingOptions scaling, final software.amazon.awscdk.services.ec2.SubnetSelection subnets) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.engine = engine; this.scaling = scaling; this.subnets = subnets; } @Override public final software.amazon.awscdk.services.rds.IClusterEngine getEngine() { return this.engine; } @Override public final software.amazon.awscdk.services.rds.ServerlessScalingOptions getScaling() { return this.scaling; } @Override public final software.amazon.awscdk.services.ec2.SubnetSelection getSubnets() { return this.subnets; } @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.getEngine() != null) { data.set("engine", om.valueToTree(this.getEngine())); } if (this.getScaling() != null) { data.set("scaling", om.valueToTree(this.getScaling())); } if (this.getSubnets() != null) { data.set("subnets", om.valueToTree(this.getSubnets())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@wheatstalk/cdk-ecs-keycloak.ServerlessAuroraDatabaseProviderProps")); 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; ServerlessAuroraDatabaseProviderProps.Jsii$Proxy that = (ServerlessAuroraDatabaseProviderProps.Jsii$Proxy) o; if (this.engine != null ? !this.engine.equals(that.engine) : that.engine != null) return false; if (this.scaling != null ? !this.scaling.equals(that.scaling) : that.scaling != null) return false; return this.subnets != null ? this.subnets.equals(that.subnets) : that.subnets == null; } @Override public final int hashCode() { int result = this.engine != null ? this.engine.hashCode() : 0; result = 31 * result + (this.scaling != null ? this.scaling.hashCode() : 0); result = 31 * result + (this.subnets != null ? this.subnets.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy