ca.wheatstalk.cdkecskeycloak.DatabaseInstanceProvider Maven / Gradle / Ivy
Show all versions of cdk-ecs-keycloak Show documentation
package ca.wheatstalk.cdkecskeycloak;
/**
* Provides a very basic RDS database instance.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.24.0 (build b722f66)", date = "2021-03-04T07:10:04.599Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Jsii(module = ca.wheatstalk.cdkecskeycloak.$Module.class, fqn = "@wheatstalk/cdk-ecs-keycloak.DatabaseInstanceProvider")
public class DatabaseInstanceProvider extends software.amazon.jsii.JsiiObject implements ca.wheatstalk.cdkecskeycloak.IDatabaseInfoProvider {
protected DatabaseInstanceProvider(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected DatabaseInstanceProvider(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
* @param props
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public DatabaseInstanceProvider(final @org.jetbrains.annotations.Nullable ca.wheatstalk.cdkecskeycloak.DatabaseInstanceProviderProps props) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { props });
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public DatabaseInstanceProvider() {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this);
}
/**
* A fluent builder for {@link ca.wheatstalk.cdkecskeycloak.DatabaseInstanceProvider}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
/**
* @return a new instance of {@link Builder}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static Builder create() {
return new Builder();
}
private ca.wheatstalk.cdkecskeycloak.DatabaseInstanceProviderProps.Builder props;
private Builder() {
}
/**
* Instance database engine.
*
* Default: - mysql 8.0
*
* @return {@code this}
* @param engine Instance database engine. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder engine(final software.amazon.awscdk.services.rds.IInstanceEngine engine) {
this.props().engine(engine);
return this;
}
/**
* Instance type.
*
* Default: - t2.micro
*
* @return {@code this}
* @param instanceType Instance type. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder instanceType(final software.amazon.awscdk.services.ec2.InstanceType instanceType) {
this.props().instanceType(instanceType);
return this;
}
/**
* Select subnets to register the database instance in.
*
* @return {@code this}
* @param subnets Select subnets to register the database instance in. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder subnets(final software.amazon.awscdk.services.ec2.SubnetSelection subnets) {
this.props().subnets(subnets);
return this;
}
/**
* @returns a newly built instance of {@link ca.wheatstalk.cdkecskeycloak.DatabaseInstanceProvider}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public ca.wheatstalk.cdkecskeycloak.DatabaseInstanceProvider build() {
return new ca.wheatstalk.cdkecskeycloak.DatabaseInstanceProvider(
this.props != null ? this.props.build() : null
);
}
private ca.wheatstalk.cdkecskeycloak.DatabaseInstanceProviderProps.Builder props() {
if (this.props == null) {
this.props = new ca.wheatstalk.cdkecskeycloak.DatabaseInstanceProviderProps.Builder();
}
return this.props;
}
}
}