org.mongodb.awscdk.resources.mongodbatlas.CfnOnlineArchive Maven / Gradle / Ivy
Show all versions of awscdk-resources-mongodbatlas Show documentation
package org.mongodb.awscdk.resources.mongodbatlas;
/**
* A CloudFormation MongoDB::Atlas::OnlineArchive
.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.101.0 (build b95fe5d)", date = "2024-07-30T09:54:28.945Z")
@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.CfnOnlineArchive")
public class CfnOnlineArchive extends software.amazon.awscdk.CfnResource {
protected CfnOnlineArchive(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected CfnOnlineArchive(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
static {
CFN_RESOURCE_TYPE_NAME = software.amazon.jsii.JsiiObject.jsiiStaticGet(org.mongodb.awscdk.resources.mongodbatlas.CfnOnlineArchive.class, "CFN_RESOURCE_TYPE_NAME", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* Create a new MongoDB::Atlas::OnlineArchive
.
*
* @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 CfnOnlineArchive(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.CfnOnlineArchiveProps 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::OnlineArchive.ArchiveId
.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getAttrArchiveId() {
return software.amazon.jsii.Kernel.get(this, "attrArchiveId", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* Attribute MongoDB::Atlas::OnlineArchive.State
.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getAttrState() {
return software.amazon.jsii.Kernel.get(this, "attrState", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* Attribute MongoDB::Atlas::OnlineArchive.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.CfnOnlineArchiveProps getProps() {
return software.amazon.jsii.Kernel.get(this, "props", software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.CfnOnlineArchiveProps.class));
}
/**
* A fluent builder for {@link org.mongodb.awscdk.resources.mongodbatlas.CfnOnlineArchive}.
*/
@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.CfnOnlineArchiveProps.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.CfnOnlineArchiveProps.Builder();
}
/**
* Human-readable label that identifies the cluster that contains the collection from which you want to remove an online archive.
*
* @return {@code this}
* @param clusterName Human-readable label that identifies the cluster that contains the collection from which you want to remove an online archive. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder clusterName(final java.lang.String clusterName) {
this.props.clusterName(clusterName);
return this;
}
/**
* Rules by which MongoDB MongoDB Cloud archives data.
*
* Use the criteria.type field to choose how MongoDB Cloud selects data to archive. Choose data using the age of the data or a MongoDB query.
* "criteria.type": "DATE" selects documents to archive based on a date.
* "criteria.type": "CUSTOM" selects documents to archive based on a custom JSON query. MongoDB Cloud doesn't support "criteria.type": "CUSTOM" when "collectionType": "TIMESERIES".
*
* @return {@code this}
* @param criteria Rules by which MongoDB MongoDB Cloud archives data. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder criteria(final org.mongodb.awscdk.resources.mongodbatlas.CriteriaView criteria) {
this.props.criteria(criteria);
return this;
}
/**
* Classification of MongoDB database collection that you want to return.
*
* If you set this parameter to TIMESERIES
, set "criteria.type" : "date"
and "criteria.dateFormat" : "ISODATE"
.
*
* @return {@code this}
* @param collectionType Classification of MongoDB database collection that you want to return. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder collectionType(final org.mongodb.awscdk.resources.mongodbatlas.CfnOnlineArchivePropsCollectionType collectionType) {
this.props.collectionType(collectionType);
return this;
}
/**
* Human-readable label that identifies the collection for which you created the online archive.
*
* @return {@code this}
* @param collName Human-readable label that identifies the collection for which you created the online archive. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder collName(final java.lang.String collName) {
this.props.collName(collName);
return this;
}
/**
* Human-readable label of the database that contains the collection that contains the online archive.
*
* @return {@code this}
* @param dbName Human-readable label of the database that contains the collection that contains the online archive. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder dbName(final java.lang.String dbName) {
this.props.dbName(dbName);
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;
}
/**
* 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;
}
/**
* List that contains document parameters to use to logically divide data within a collection.
*
* Partitions provide a coarse level of filtering of the underlying collection data. To divide your data, specify up to two parameters that you frequently query. Any queries that don't use these parameters result in a full collection scan of all archived documents. This takes more time and increase your costs.
*
* @return {@code this}
* @param partitionFields List that contains document parameters to use to logically divide data within a collection. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder partitionFields(final java.util.List extends org.mongodb.awscdk.resources.mongodbatlas.PartitionFieldView> partitionFields) {
this.props.partitionFields(partitionFields);
return this;
}
/**
* The profile is defined in AWS Secret manager.
*
* See Secret Manager Profile setup.
*
* @return {@code this}
* @param profile The profile is defined in AWS Secret manager. 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;
}
/**
* Regular frequency and duration when archiving process occurs.
*
* @return {@code this}
* @param schedule Regular frequency and duration when archiving process occurs. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder schedule(final org.mongodb.awscdk.resources.mongodbatlas.ScheduleView schedule) {
this.props.schedule(schedule);
return this;
}
/**
* @return a newly built instance of {@link org.mongodb.awscdk.resources.mongodbatlas.CfnOnlineArchive}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public org.mongodb.awscdk.resources.mongodbatlas.CfnOnlineArchive build() {
return new org.mongodb.awscdk.resources.mongodbatlas.CfnOnlineArchive(
this.scope,
this.id,
this.props.build()
);
}
}
}