org.mongodb.awscdk.resources.mongodbatlas.CfnServerlessInstance Maven / Gradle / Ivy
Show all versions of awscdk-resources-mongodbatlas Show documentation
package org.mongodb.awscdk.resources.mongodbatlas;
/**
* A CloudFormation MongoDB::Atlas::ServerlessInstance
.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.101.0 (build b95fe5d)", date = "2024-07-30T09:54:28.979Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Jsii(module = org.mongodb.awscdk.resources.mongodbatlas.$Module.class, fqn = "awscdk-resources-mongodbatlas.CfnServerlessInstance")
public class CfnServerlessInstance extends software.amazon.awscdk.CfnResource {
protected CfnServerlessInstance(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected CfnServerlessInstance(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
static {
CFN_RESOURCE_TYPE_NAME = software.amazon.jsii.JsiiObject.jsiiStaticGet(org.mongodb.awscdk.resources.mongodbatlas.CfnServerlessInstance.class, "CFN_RESOURCE_TYPE_NAME", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* Create a new MongoDB::Atlas::ServerlessInstance
.
*
* @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.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public CfnServerlessInstance(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull org.mongodb.awscdk.resources.mongodbatlas.CfnServerlessInstanceProps props) {
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") });
}
/**
* The CloudFormation resource type name for this resource class.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public final static java.lang.String CFN_RESOURCE_TYPE_NAME;
/**
* Attribute MongoDB::Atlas::ServerlessInstance.CreateDate
.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getAttrCreateDate() {
return software.amazon.jsii.Kernel.get(this, "attrCreateDate", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* Attribute MongoDB::Atlas::ServerlessInstance.Id
.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getAttrId() {
return software.amazon.jsii.Kernel.get(this, "attrId", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* Attribute MongoDB::Atlas::ServerlessInstance.MongoDBVersion
.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getAttrMongoDBVersion() {
return software.amazon.jsii.Kernel.get(this, "attrMongoDBVersion", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* Attribute MongoDB::Atlas::ServerlessInstance.StateName
.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getAttrStateName() {
return software.amazon.jsii.Kernel.get(this, "attrStateName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* Attribute MongoDB::Atlas::ServerlessInstance.TotalCount
.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.Number getAttrTotalCount() {
return software.amazon.jsii.Kernel.get(this, "attrTotalCount", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
}
/**
* Resource props.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull org.mongodb.awscdk.resources.mongodbatlas.CfnServerlessInstanceProps getProps() {
return software.amazon.jsii.Kernel.get(this, "props", software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.CfnServerlessInstanceProps.class));
}
/**
* A fluent builder for {@link org.mongodb.awscdk.resources.mongodbatlas.CfnServerlessInstance}.
*/
@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}.
* @param scope - scope in which this resource is defined.
This parameter is required.
* @param id - scoped id of the resource.
This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static Builder create(final software.constructs.Construct scope, final java.lang.String id) {
return new Builder(scope, id);
}
private final software.constructs.Construct scope;
private final java.lang.String id;
private final org.mongodb.awscdk.resources.mongodbatlas.CfnServerlessInstanceProps.Builder props;
private Builder(final software.constructs.Construct scope, final java.lang.String id) {
this.scope = scope;
this.id = id;
this.props = new org.mongodb.awscdk.resources.mongodbatlas.CfnServerlessInstanceProps.Builder();
}
/**
* Collection of Uniform Resource Locators that point to the MongoDB database.
*
* @return {@code this}
* @param connectionStrings Collection of Uniform Resource Locators that point to the MongoDB database. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder connectionStrings(final org.mongodb.awscdk.resources.mongodbatlas.ServerlessInstanceConnectionStrings connectionStrings) {
this.props.connectionStrings(connectionStrings);
return this;
}
/**
* Flag that indicates whether the serverless instances uses Serverless Continuous Backup.
*
* If this parameter is false, the serverless instance uses Basic Backup. | Option | Description | |---|---| | Serverless Continuous Backup | Atlas takes incremental snapshots of the data in your serverless instance every six hours and lets you restore the data from a selected point in time within the last 72 hours. Atlas also takes daily snapshots and retains these daily snapshots for 35 days. To learn more, see Serverless Instance Costs. | | Basic Backup | Atlas takes incremental snapshots of the data in your serverless instance every six hours and retains only the two most recent snapshots. You can use this option for free.
*
* @return {@code this}
* @param continuousBackupEnabled Flag that indicates whether the serverless instances uses Serverless Continuous Backup. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder continuousBackupEnabled(final java.lang.Boolean continuousBackupEnabled) {
this.props.continuousBackupEnabled(continuousBackupEnabled);
return this;
}
/**
* Flag that indicates whether the response returns the total number of items (totalCount) in the response.
*
* @return {@code this}
* @param includeCount Flag that indicates whether the response returns the total number of items (totalCount) in the response. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder includeCount(final java.lang.Boolean includeCount) {
this.props.includeCount(includeCount);
return this;
}
/**
* Number of items that the response returns per page.
*
* @return {@code this}
* @param itemsPerPage Number of items that the response returns per page. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder itemsPerPage(final java.lang.Number itemsPerPage) {
this.props.itemsPerPage(itemsPerPage);
return this;
}
/**
* Human-readable label that identifies the serverless instance.
*
* @return {@code this}
* @param name Human-readable label that identifies the serverless instance. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder name(final java.lang.String name) {
this.props.name(name);
return this;
}
/**
* Number of the page that displays the current set of the total objects that the response returns.
*
* @return {@code this}
* @param pageNum Number of the page that displays the current set of the total objects that the response returns. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder pageNum(final java.lang.Number pageNum) {
this.props.pageNum(pageNum);
return this;
}
/**
* Profile used to provide credentials information, (a secret with the cfn/atlas/profile/{Profile}, is required), if not provided default is used.
*
* @return {@code this}
* @param profile Profile used to provide credentials information, (a secret with the cfn/atlas/profile/{Profile}, is required), if not provided default is used. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder profile(final java.lang.String profile) {
this.props.profile(profile);
return this;
}
/**
* Unique 24-hexadecimal digit string that identifies your project.
*
* @return {@code this}
* @param projectId Unique 24-hexadecimal digit string that identifies your project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder projectId(final java.lang.String projectId) {
this.props.projectId(projectId);
return this;
}
/**
* Group of settings that configure the provisioned MongoDB serverless instance.
*
* The options available relate to the cloud service provider.
*
* @return {@code this}
* @param providerSettings Group of settings that configure the provisioned MongoDB serverless instance. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder providerSettings(final org.mongodb.awscdk.resources.mongodbatlas.ServerlessInstanceProviderSettings providerSettings) {
this.props.providerSettings(providerSettings);
return this;
}
/**
* Flag that indicates whether termination protection is enabled on the serverless instance.
*
* If set to true, MongoDB Cloud won't delete the serverless instance. If set to false, MongoDB cloud will delete the serverless instance."
*
* @return {@code this}
* @param terminationProtectionEnabled Flag that indicates whether termination protection is enabled on the serverless instance. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder terminationProtectionEnabled(final java.lang.Boolean terminationProtectionEnabled) {
this.props.terminationProtectionEnabled(terminationProtectionEnabled);
return this;
}
/**
* @return a newly built instance of {@link org.mongodb.awscdk.resources.mongodbatlas.CfnServerlessInstance}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public org.mongodb.awscdk.resources.mongodbatlas.CfnServerlessInstance build() {
return new org.mongodb.awscdk.resources.mongodbatlas.CfnServerlessInstance(
this.scope,
this.id,
this.props.build()
);
}
}
}