org.mongodb.awscdk.resources.mongodbatlas.CfnServerlessInstanceProps Maven / Gradle / Ivy
Show all versions of awscdk-resources-mongodbatlas Show documentation
package org.mongodb.awscdk.resources.mongodbatlas;
/**
* Returns, adds, edits, and removes serverless instances.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.101.0 (build b95fe5d)", date = "2024-07-30T09:54:28.980Z")
@software.amazon.jsii.Jsii(module = org.mongodb.awscdk.resources.mongodbatlas.$Module.class, fqn = "awscdk-resources-mongodbatlas.CfnServerlessInstanceProps")
@software.amazon.jsii.Jsii.Proxy(CfnServerlessInstanceProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface CfnServerlessInstanceProps extends software.amazon.jsii.JsiiSerializable {
/**
* Collection of Uniform Resource Locators that point to the MongoDB database.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable org.mongodb.awscdk.resources.mongodbatlas.ServerlessInstanceConnectionStrings getConnectionStrings() {
return null;
}
/**
* 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.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getContinuousBackupEnabled() {
return null;
}
/**
* Flag that indicates whether the response returns the total number of items (totalCount) in the response.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getIncludeCount() {
return null;
}
/**
* Number of items that the response returns per page.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getItemsPerPage() {
return null;
}
/**
* Human-readable label that identifies the serverless instance.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getName() {
return null;
}
/**
* Number of the page that displays the current set of the total objects that the response returns.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getPageNum() {
return null;
}
/**
* Profile used to provide credentials information, (a secret with the cfn/atlas/profile/{Profile}, is required), if not provided default is used.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getProfile() {
return null;
}
/**
* Unique 24-hexadecimal digit string that identifies your project.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getProjectId() {
return null;
}
/**
* Group of settings that configure the provisioned MongoDB serverless instance.
*
* The options available relate to the cloud service provider.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable org.mongodb.awscdk.resources.mongodbatlas.ServerlessInstanceProviderSettings getProviderSettings() {
return null;
}
/**
* 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."
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getTerminationProtectionEnabled() {
return null;
}
/**
* @return a {@link Builder} of {@link CfnServerlessInstanceProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link CfnServerlessInstanceProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
org.mongodb.awscdk.resources.mongodbatlas.ServerlessInstanceConnectionStrings connectionStrings;
java.lang.Boolean continuousBackupEnabled;
java.lang.Boolean includeCount;
java.lang.Number itemsPerPage;
java.lang.String name;
java.lang.Number pageNum;
java.lang.String profile;
java.lang.String projectId;
org.mongodb.awscdk.resources.mongodbatlas.ServerlessInstanceProviderSettings providerSettings;
java.lang.Boolean terminationProtectionEnabled;
/**
* Sets the value of {@link CfnServerlessInstanceProps#getConnectionStrings}
* @param connectionStrings Collection of Uniform Resource Locators that point to the MongoDB database.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder connectionStrings(org.mongodb.awscdk.resources.mongodbatlas.ServerlessInstanceConnectionStrings connectionStrings) {
this.connectionStrings = connectionStrings;
return this;
}
/**
* Sets the value of {@link CfnServerlessInstanceProps#getContinuousBackupEnabled}
* @param continuousBackupEnabled 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}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder continuousBackupEnabled(java.lang.Boolean continuousBackupEnabled) {
this.continuousBackupEnabled = continuousBackupEnabled;
return this;
}
/**
* Sets the value of {@link CfnServerlessInstanceProps#getIncludeCount}
* @param includeCount Flag that indicates whether the response returns the total number of items (totalCount) in the response.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder includeCount(java.lang.Boolean includeCount) {
this.includeCount = includeCount;
return this;
}
/**
* Sets the value of {@link CfnServerlessInstanceProps#getItemsPerPage}
* @param itemsPerPage Number of items that the response returns per page.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder itemsPerPage(java.lang.Number itemsPerPage) {
this.itemsPerPage = itemsPerPage;
return this;
}
/**
* Sets the value of {@link CfnServerlessInstanceProps#getName}
* @param name Human-readable label that identifies the serverless instance.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder name(java.lang.String name) {
this.name = name;
return this;
}
/**
* Sets the value of {@link CfnServerlessInstanceProps#getPageNum}
* @param pageNum Number of the page that displays the current set of the total objects that the response returns.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder pageNum(java.lang.Number pageNum) {
this.pageNum = pageNum;
return this;
}
/**
* Sets the value of {@link CfnServerlessInstanceProps#getProfile}
* @param profile 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}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder profile(java.lang.String profile) {
this.profile = profile;
return this;
}
/**
* Sets the value of {@link CfnServerlessInstanceProps#getProjectId}
* @param projectId Unique 24-hexadecimal digit string that identifies your project.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder projectId(java.lang.String projectId) {
this.projectId = projectId;
return this;
}
/**
* Sets the value of {@link CfnServerlessInstanceProps#getProviderSettings}
* @param providerSettings Group of settings that configure the provisioned MongoDB serverless instance.
* The options available relate to the cloud service provider.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder providerSettings(org.mongodb.awscdk.resources.mongodbatlas.ServerlessInstanceProviderSettings providerSettings) {
this.providerSettings = providerSettings;
return this;
}
/**
* Sets the value of {@link CfnServerlessInstanceProps#getTerminationProtectionEnabled}
* @param terminationProtectionEnabled 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}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder terminationProtectionEnabled(java.lang.Boolean terminationProtectionEnabled) {
this.terminationProtectionEnabled = terminationProtectionEnabled;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link CfnServerlessInstanceProps}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public CfnServerlessInstanceProps build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link CfnServerlessInstanceProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CfnServerlessInstanceProps {
private final org.mongodb.awscdk.resources.mongodbatlas.ServerlessInstanceConnectionStrings connectionStrings;
private final java.lang.Boolean continuousBackupEnabled;
private final java.lang.Boolean includeCount;
private final java.lang.Number itemsPerPage;
private final java.lang.String name;
private final java.lang.Number pageNum;
private final java.lang.String profile;
private final java.lang.String projectId;
private final org.mongodb.awscdk.resources.mongodbatlas.ServerlessInstanceProviderSettings providerSettings;
private final java.lang.Boolean terminationProtectionEnabled;
/**
* 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.connectionStrings = software.amazon.jsii.Kernel.get(this, "connectionStrings", software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.ServerlessInstanceConnectionStrings.class));
this.continuousBackupEnabled = software.amazon.jsii.Kernel.get(this, "continuousBackupEnabled", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
this.includeCount = software.amazon.jsii.Kernel.get(this, "includeCount", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
this.itemsPerPage = software.amazon.jsii.Kernel.get(this, "itemsPerPage", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.name = software.amazon.jsii.Kernel.get(this, "name", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.pageNum = software.amazon.jsii.Kernel.get(this, "pageNum", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.profile = software.amazon.jsii.Kernel.get(this, "profile", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.projectId = software.amazon.jsii.Kernel.get(this, "projectId", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.providerSettings = software.amazon.jsii.Kernel.get(this, "providerSettings", software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.ServerlessInstanceProviderSettings.class));
this.terminationProtectionEnabled = software.amazon.jsii.Kernel.get(this, "terminationProtectionEnabled", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
protected Jsii$Proxy(final Builder builder) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.connectionStrings = builder.connectionStrings;
this.continuousBackupEnabled = builder.continuousBackupEnabled;
this.includeCount = builder.includeCount;
this.itemsPerPage = builder.itemsPerPage;
this.name = builder.name;
this.pageNum = builder.pageNum;
this.profile = builder.profile;
this.projectId = builder.projectId;
this.providerSettings = builder.providerSettings;
this.terminationProtectionEnabled = builder.terminationProtectionEnabled;
}
@Override
public final org.mongodb.awscdk.resources.mongodbatlas.ServerlessInstanceConnectionStrings getConnectionStrings() {
return this.connectionStrings;
}
@Override
public final java.lang.Boolean getContinuousBackupEnabled() {
return this.continuousBackupEnabled;
}
@Override
public final java.lang.Boolean getIncludeCount() {
return this.includeCount;
}
@Override
public final java.lang.Number getItemsPerPage() {
return this.itemsPerPage;
}
@Override
public final java.lang.String getName() {
return this.name;
}
@Override
public final java.lang.Number getPageNum() {
return this.pageNum;
}
@Override
public final java.lang.String getProfile() {
return this.profile;
}
@Override
public final java.lang.String getProjectId() {
return this.projectId;
}
@Override
public final org.mongodb.awscdk.resources.mongodbatlas.ServerlessInstanceProviderSettings getProviderSettings() {
return this.providerSettings;
}
@Override
public final java.lang.Boolean getTerminationProtectionEnabled() {
return this.terminationProtectionEnabled;
}
@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.getConnectionStrings() != null) {
data.set("connectionStrings", om.valueToTree(this.getConnectionStrings()));
}
if (this.getContinuousBackupEnabled() != null) {
data.set("continuousBackupEnabled", om.valueToTree(this.getContinuousBackupEnabled()));
}
if (this.getIncludeCount() != null) {
data.set("includeCount", om.valueToTree(this.getIncludeCount()));
}
if (this.getItemsPerPage() != null) {
data.set("itemsPerPage", om.valueToTree(this.getItemsPerPage()));
}
if (this.getName() != null) {
data.set("name", om.valueToTree(this.getName()));
}
if (this.getPageNum() != null) {
data.set("pageNum", om.valueToTree(this.getPageNum()));
}
if (this.getProfile() != null) {
data.set("profile", om.valueToTree(this.getProfile()));
}
if (this.getProjectId() != null) {
data.set("projectId", om.valueToTree(this.getProjectId()));
}
if (this.getProviderSettings() != null) {
data.set("providerSettings", om.valueToTree(this.getProviderSettings()));
}
if (this.getTerminationProtectionEnabled() != null) {
data.set("terminationProtectionEnabled", om.valueToTree(this.getTerminationProtectionEnabled()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("awscdk-resources-mongodbatlas.CfnServerlessInstanceProps"));
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;
CfnServerlessInstanceProps.Jsii$Proxy that = (CfnServerlessInstanceProps.Jsii$Proxy) o;
if (this.connectionStrings != null ? !this.connectionStrings.equals(that.connectionStrings) : that.connectionStrings != null) return false;
if (this.continuousBackupEnabled != null ? !this.continuousBackupEnabled.equals(that.continuousBackupEnabled) : that.continuousBackupEnabled != null) return false;
if (this.includeCount != null ? !this.includeCount.equals(that.includeCount) : that.includeCount != null) return false;
if (this.itemsPerPage != null ? !this.itemsPerPage.equals(that.itemsPerPage) : that.itemsPerPage != null) return false;
if (this.name != null ? !this.name.equals(that.name) : that.name != null) return false;
if (this.pageNum != null ? !this.pageNum.equals(that.pageNum) : that.pageNum != null) return false;
if (this.profile != null ? !this.profile.equals(that.profile) : that.profile != null) return false;
if (this.projectId != null ? !this.projectId.equals(that.projectId) : that.projectId != null) return false;
if (this.providerSettings != null ? !this.providerSettings.equals(that.providerSettings) : that.providerSettings != null) return false;
return this.terminationProtectionEnabled != null ? this.terminationProtectionEnabled.equals(that.terminationProtectionEnabled) : that.terminationProtectionEnabled == null;
}
@Override
public final int hashCode() {
int result = this.connectionStrings != null ? this.connectionStrings.hashCode() : 0;
result = 31 * result + (this.continuousBackupEnabled != null ? this.continuousBackupEnabled.hashCode() : 0);
result = 31 * result + (this.includeCount != null ? this.includeCount.hashCode() : 0);
result = 31 * result + (this.itemsPerPage != null ? this.itemsPerPage.hashCode() : 0);
result = 31 * result + (this.name != null ? this.name.hashCode() : 0);
result = 31 * result + (this.pageNum != null ? this.pageNum.hashCode() : 0);
result = 31 * result + (this.profile != null ? this.profile.hashCode() : 0);
result = 31 * result + (this.projectId != null ? this.projectId.hashCode() : 0);
result = 31 * result + (this.providerSettings != null ? this.providerSettings.hashCode() : 0);
result = 31 * result + (this.terminationProtectionEnabled != null ? this.terminationProtectionEnabled.hashCode() : 0);
return result;
}
}
}