UNPKG

awscdk-resources-mongodbatlas

Version:

MongoDB Atlas CDK Construct Library for AWS CloudFormation Resources

1,196 lines (749 loc) 2 MB
# MongoDB Atlas AWS CDK Resources [![Code Health](https://github.com/mongodb/awscdk-resources-mongodbatlas/actions/workflows/code-health.yml/badge.svg?event=push)](https://github.com/mongodb/awscdk-resources-mongodbatlas/actions/workflows/code-health.yml) [![Package CDK](https://github.com/mongodb/awscdk-resources-mongodbatlas/actions/workflows/package.yml/badge.svg?branch=main)](https://github.com/mongodb/awscdk-resources-mongodbatlas/actions/workflows/package.yml) [![npm version](https://badge.fury.io/js/awscdk-resources-mongodbatlas.svg)](https://badge.fury.io/js/awscdk-resources-mongodbatlas) [![PyPI version](https://badge.fury.io/py/awscdk-resources-mongodbatlas.svg)](https://badge.fury.io/py/awscdk-resources-mongodbatlas) [![NuGet version](https://badge.fury.io/nu/MongoDB.AWSCDKResourcesMongoDBAtlas.svg)](https://badge.fury.io/nu/MongoDB.AWSCDKResourcesMongoDBAtlas) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.mongodb/awscdk-resources-mongodbatlas/badge.svg)](https://central.sonatype.com/artifact/org.mongodb/awscdk-resources-mongodbatlas) [![Go Reference](https://pkg.go.dev/badge/github.com/mongodb/awscdk-resources-mongodbatlas-go/awscdkresourcesmongodbatlas.svg)](https://pkg.go.dev/github.com/mongodb/awscdk-resources-mongodbatlas-go/awscdkresourcesmongodbatlas) [![View on Construct Hub](https://constructs.dev/badge?package=aws-cdk-lib)](https://constructs.dev/packages/awscdk-resources-mongodbatlas) Use MongoDB Atlas [AWS CDK](https://aws.amazon.com/cdk/) (or Cloud Development Kit) constructs to manage [MongoDB Atlas](https://www.mongodb.com/cloud/atlas). The AWS CDK is a framework for defining infrastructure as code (IaC). It allows developers to write code in their preferred programming language, such as TypeScript for example, to define and deploy infrastructure. AWS CDK gets synthesized down into [AWS CloudFormation](https://aws.amazon.com/cloudformation/) templates at deployment so users no longer have to write or maintain YAML/JSON based CloudFormation templates. ## Available Packages ### NPM The npm package is available at [awscdk-resources-mongodbatlas](https://www.npmjs.com/package/awscdk-resources-mongodbatlas) ```bash npm i awscdk-resources-mongodbatlas ``` ### PyPI The PyPI package is available at [awscdk-resources-mongodbatlas](https://pypi.org/project/awscdk-resources-mongodbatlas/) ```bash pip install awscdk-resources-mongodbatlas ``` ### Nuget The Nuget package is available at [MongoDB.AWSCDKResourcesMongoDBAtlas](https://www.nuget.org/packages/MongoDB.AWSCDKResourcesMongoDBAtlas) ```bash dotnet add package MongoDB.AWSCDKResourcesMongoDBAtlas --version 1.0.0 ``` ### Maven The Maven package is available at [awscdk-resources-mongodbatlas](https://central.sonatype.com/artifact/org.mongodb/awscdk-resources-mongodbatlas/1.0.0) ```Maven <dependency> <groupId>org.mongodb</groupId> <artifactId>awscdk-resources-mongodbatlas</artifactId> <version>1.0.0</version> </dependency> ``` ### Go The go package is generated into the [github.com/mongodb/awscdk-resources-mongodbatlas-go](https://github.com/mongodb/awscdk-resources-mongodbatlas-go) package. ```bash go get github.com/mongodb/awscdk-resources-mongodbatlas-go/awscdkresourcesmongodbatlas ``` ## Available Constructors MongoDB Atlas AWS CDK Resources provides L1, L2 and L3 CDK constructors. Please, have a look at [README.md](src/README.md#cdk-constructors) for a full lists of constructors and examples. ## Getting Started See the [cdk examples](examples/README.md) for how to setup prerequisites & get started with your first cluster, using our AWS CDK sample code. We also provide a quick guide on [How to Deploy MongoDB Atlas with AWS CDK in TypeScript](https://www.mongodb.com/developer/products/atlas/deploy-mongodb-atlas-aws-cdk-typescript/). ## Support, Bugs, Feature Requests Feature requests can be submitted at [feedback.mongodb.com](https://feedback.mongodb.com/forums/924145-atlas/category/392596-atlas-cloudformation-resources) - just select "Atlas CloudFormation Resources" as the category or vote for an already suggested feature. Support for the MongoDB Atlas Resource Provider for CloudFormation is provided under MongoDB Atlas support plans, starting with Developer. Please submit support questions within the Atlas UI. In addition, support questions submitted under the Issues section of this repo are also being monitored. Bugs should be filed under the Issues section of this repo. ## MongoDB Atlas API Keys Credential Management Atlas API keys Configuration are required for both CloudFormation and CDK resources, and this Atlas API key pair are provided as input by the use of a Profile. AWS CloudFormation limits Third Parties from using non-AWS API Keys as either hardcoded secrets in CloudFormation templates or via CDK, hence we now require all the users store MongoDB Atlas API Keys via [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/). `NOTE: the process for configuring the PROFILE is the same and is required both for CloudFormation and CDK` ### 1. Configure your MongoDB Atlas API Keys You'll need to generate an API key pair (public and private keys) for your Atlas organization and configure them to grant CloudFormation access to your Atlas project. Refer to the [Atlas documentation](https://www.mongodb.com/docs/atlas/configure-api-access/#manage-programmatic-access-to-an-organization) for detailed instructions. ### 2. Configure your Profile To use Atlas CloudFormation resources, you must configure a "profile" with your API keys using [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/). The secret should follow this format: ``` SecretName: cfn/atlas/profile/{ProfileName} SecretValue: {"PublicKey": "YourPublicKey", "PrivateKey": "YourPrivateKey"} ``` To create a new secret for a default profile, use the [PROFILE SECRET TEMPLATE](/examples/profile-secret.yaml) file provided in this repository. Here are some examples of how to use this template: #### example 1: ``` ProfileName: default SecretName: cfn/atlas/profile/default SecretValue: {"PublicKey": "YourPublicKey", "PrivateKey": "YourPrivateKey"} ``` #### example 2: ``` ProfileName: testProfile SecretName: cfn/atlas/profile/testProfile SecretValue: {"PublicKey": "YourPublicKey", "PrivateKey": "YourPrivateKey"} ``` ## Contributing See our [CONTRIBUTING.md](CONTRIBUTING.md) guide. ## Issues ### Autoclose stale issues and PRs - After 5 days of no activity (no comments or commits on an issue/PR) we automatically tag it as "stale" and add a message: ```This issue/PR has gone 5 days without any activity and meets the project's definition of "stale". This will be auto-closed if there is no new activity over the next 5 days. If the issue is still relevant and active, you can simply comment with a "bump" to keep it open, or add the label "not_stale". Thanks for keeping our repository healthy!``` - After 5 more days of no activity we automatically close the issue/PR. ### One-click reproducible issues principle Our support will prioritise issues that contain all the required information that follows the following principles: * We should be able to make no changes to your provided script and **successfully run a local execution reproducing the issue**. * This means that you should kindly **provide all the required instructions**. This includes but not limited to: * AWS CDK package version used to reproduce the issue * CFN resource version and AWS region used to reproduce the issue * Issues that **cannot be properly reproduced will be de-prioritised** in favour of the ones that succeed. * Before opening an issue, you have to try to specifically isolate it to the **CDK MongoDB Atlas constructor** by **removing as many dependencies** as possible. If the issue only happens with other dependencies, then: * If other CDK constructors are required, please make sure you also include those. _Same "one-click reproducible issue" principle applies_. * If external components are required to replicate it, please make sure you also provides instructions on those parts. # API Reference <a name="API Reference" id="api-reference"></a> ## Constructs <a name="Constructs" id="Constructs"></a> ### AtlasBasic <a name="AtlasBasic" id="awscdk-resources-mongodbatlas.AtlasBasic"></a> #### Initializers <a name="Initializers" id="awscdk-resources-mongodbatlas.AtlasBasic.Initializer"></a> ```typescript import { AtlasBasic } from 'awscdk-resources-mongodbatlas' new AtlasBasic(scope: Construct, id: string, props: AtlasBasicProps) ``` | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasic.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasic.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasic.Initializer.parameter.props">props</a></code> | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasicProps">AtlasBasicProps</a></code> | *No description.* | --- ##### `scope`<sup>Required</sup> <a name="scope" id="awscdk-resources-mongodbatlas.AtlasBasic.Initializer.parameter.scope"></a> - *Type:* constructs.Construct --- ##### `id`<sup>Required</sup> <a name="id" id="awscdk-resources-mongodbatlas.AtlasBasic.Initializer.parameter.id"></a> - *Type:* string --- ##### `props`<sup>Required</sup> <a name="props" id="awscdk-resources-mongodbatlas.AtlasBasic.Initializer.parameter.props"></a> - *Type:* <a href="#awscdk-resources-mongodbatlas.AtlasBasicProps">AtlasBasicProps</a> --- #### Methods <a name="Methods" id="Methods"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasic.toString">toString</a></code> | Returns a string representation of this construct. | --- ##### `toString` <a name="toString" id="awscdk-resources-mongodbatlas.AtlasBasic.toString"></a> ```typescript public toString(): string ``` Returns a string representation of this construct. #### Static Functions <a name="Static Functions" id="Static Functions"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasic.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. | --- ##### ~~`isConstruct`~~ <a name="isConstruct" id="awscdk-resources-mongodbatlas.AtlasBasic.isConstruct"></a> ```typescript import { AtlasBasic } from 'awscdk-resources-mongodbatlas' AtlasBasic.isConstruct(x: any) ``` Checks if `x` is a construct. ###### `x`<sup>Required</sup> <a name="x" id="awscdk-resources-mongodbatlas.AtlasBasic.isConstruct.parameter.x"></a> - *Type:* any Any object. --- #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasic.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasic.property.ipAccessList">ipAccessList</a></code> | <code><a href="#awscdk-resources-mongodbatlas.CfnProjectIpAccessList">CfnProjectIpAccessList</a></code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasic.property.mCluster">mCluster</a></code> | <code><a href="#awscdk-resources-mongodbatlas.CfnCluster">CfnCluster</a></code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasic.property.mDBUser">mDBUser</a></code> | <code><a href="#awscdk-resources-mongodbatlas.CfnDatabaseUser">CfnDatabaseUser</a></code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasic.property.mProject">mProject</a></code> | <code><a href="#awscdk-resources-mongodbatlas.CfnProject">CfnProject</a></code> | *No description.* | --- ##### `node`<sup>Required</sup> <a name="node" id="awscdk-resources-mongodbatlas.AtlasBasic.property.node"></a> ```typescript public readonly node: Node; ``` - *Type:* constructs.Node The tree node. --- ##### `ipAccessList`<sup>Required</sup> <a name="ipAccessList" id="awscdk-resources-mongodbatlas.AtlasBasic.property.ipAccessList"></a> ```typescript public readonly ipAccessList: CfnProjectIpAccessList; ``` - *Type:* <a href="#awscdk-resources-mongodbatlas.CfnProjectIpAccessList">CfnProjectIpAccessList</a> --- ##### `mCluster`<sup>Required</sup> <a name="mCluster" id="awscdk-resources-mongodbatlas.AtlasBasic.property.mCluster"></a> ```typescript public readonly mCluster: CfnCluster; ``` - *Type:* <a href="#awscdk-resources-mongodbatlas.CfnCluster">CfnCluster</a> --- ##### `mDBUser`<sup>Required</sup> <a name="mDBUser" id="awscdk-resources-mongodbatlas.AtlasBasic.property.mDBUser"></a> ```typescript public readonly mDBUser: CfnDatabaseUser; ``` - *Type:* <a href="#awscdk-resources-mongodbatlas.CfnDatabaseUser">CfnDatabaseUser</a> --- ##### `mProject`<sup>Required</sup> <a name="mProject" id="awscdk-resources-mongodbatlas.AtlasBasic.property.mProject"></a> ```typescript public readonly mProject: CfnProject; ``` - *Type:* <a href="#awscdk-resources-mongodbatlas.CfnProject">CfnProject</a> --- ### AtlasBasicPrivateEndpoint <a name="AtlasBasicPrivateEndpoint" id="awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint"></a> #### Initializers <a name="Initializers" id="awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.Initializer"></a> ```typescript import { AtlasBasicPrivateEndpoint } from 'awscdk-resources-mongodbatlas' new AtlasBasicPrivateEndpoint(scope: Construct, id: string, props: AtlasBasicPrivateEndpointProps) ``` | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.Initializer.parameter.props">props</a></code> | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpointProps">AtlasBasicPrivateEndpointProps</a></code> | *No description.* | --- ##### `scope`<sup>Required</sup> <a name="scope" id="awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.Initializer.parameter.scope"></a> - *Type:* constructs.Construct --- ##### `id`<sup>Required</sup> <a name="id" id="awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.Initializer.parameter.id"></a> - *Type:* string --- ##### `props`<sup>Required</sup> <a name="props" id="awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.Initializer.parameter.props"></a> - *Type:* <a href="#awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpointProps">AtlasBasicPrivateEndpointProps</a> --- #### Methods <a name="Methods" id="Methods"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.toString">toString</a></code> | Returns a string representation of this construct. | --- ##### `toString` <a name="toString" id="awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.toString"></a> ```typescript public toString(): string ``` Returns a string representation of this construct. #### Static Functions <a name="Static Functions" id="Static Functions"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. | --- ##### ~~`isConstruct`~~ <a name="isConstruct" id="awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.isConstruct"></a> ```typescript import { AtlasBasicPrivateEndpoint } from 'awscdk-resources-mongodbatlas' AtlasBasicPrivateEndpoint.isConstruct(x: any) ``` Checks if `x` is a construct. ###### `x`<sup>Required</sup> <a name="x" id="awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.isConstruct.parameter.x"></a> - *Type:* any Any object. --- #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.property.atlasBasic">atlasBasic</a></code> | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasic">AtlasBasic</a></code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.property.awsPrivateEndpoint">awsPrivateEndpoint</a></code> | <code>aws-cdk-lib.aws_ec2.CfnVPCEndpoint</code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.property.privateEndpointAws">privateEndpointAws</a></code> | <code><a href="#awscdk-resources-mongodbatlas.CfnPrivateEndpointAws">CfnPrivateEndpointAws</a></code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.property.privateEndpointService">privateEndpointService</a></code> | <code><a href="#awscdk-resources-mongodbatlas.CfnPrivateEndpointService">CfnPrivateEndpointService</a></code> | *No description.* | --- ##### `node`<sup>Required</sup> <a name="node" id="awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.property.node"></a> ```typescript public readonly node: Node; ``` - *Type:* constructs.Node The tree node. --- ##### `atlasBasic`<sup>Required</sup> <a name="atlasBasic" id="awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.property.atlasBasic"></a> ```typescript public readonly atlasBasic: AtlasBasic; ``` - *Type:* <a href="#awscdk-resources-mongodbatlas.AtlasBasic">AtlasBasic</a> --- ##### `awsPrivateEndpoint`<sup>Required</sup> <a name="awsPrivateEndpoint" id="awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.property.awsPrivateEndpoint"></a> ```typescript public readonly awsPrivateEndpoint: CfnVPCEndpoint; ``` - *Type:* aws-cdk-lib.aws_ec2.CfnVPCEndpoint --- ##### `privateEndpointAws`<sup>Required</sup> <a name="privateEndpointAws" id="awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.property.privateEndpointAws"></a> ```typescript public readonly privateEndpointAws: CfnPrivateEndpointAws; ``` - *Type:* <a href="#awscdk-resources-mongodbatlas.CfnPrivateEndpointAws">CfnPrivateEndpointAws</a> --- ##### `privateEndpointService`<sup>Required</sup> <a name="privateEndpointService" id="awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint.property.privateEndpointService"></a> ```typescript public readonly privateEndpointService: CfnPrivateEndpointService; ``` - *Type:* <a href="#awscdk-resources-mongodbatlas.CfnPrivateEndpointService">CfnPrivateEndpointService</a> --- ### AtlasEncryptionAtRest <a name="AtlasEncryptionAtRest" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRest"></a> #### Initializers <a name="Initializers" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRest.Initializer"></a> ```typescript import { AtlasEncryptionAtRest } from 'awscdk-resources-mongodbatlas' new AtlasEncryptionAtRest(scope: Construct, id: string, props: AtlasEncryptionAtRestProps) ``` | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRest.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRest.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRest.Initializer.parameter.props">props</a></code> | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRestProps">AtlasEncryptionAtRestProps</a></code> | *No description.* | --- ##### `scope`<sup>Required</sup> <a name="scope" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRest.Initializer.parameter.scope"></a> - *Type:* constructs.Construct --- ##### `id`<sup>Required</sup> <a name="id" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRest.Initializer.parameter.id"></a> - *Type:* string --- ##### `props`<sup>Required</sup> <a name="props" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRest.Initializer.parameter.props"></a> - *Type:* <a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRestProps">AtlasEncryptionAtRestProps</a> --- #### Methods <a name="Methods" id="Methods"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRest.toString">toString</a></code> | Returns a string representation of this construct. | --- ##### `toString` <a name="toString" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRest.toString"></a> ```typescript public toString(): string ``` Returns a string representation of this construct. #### Static Functions <a name="Static Functions" id="Static Functions"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRest.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. | --- ##### ~~`isConstruct`~~ <a name="isConstruct" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRest.isConstruct"></a> ```typescript import { AtlasEncryptionAtRest } from 'awscdk-resources-mongodbatlas' AtlasEncryptionAtRest.isConstruct(x: any) ``` Checks if `x` is a construct. ###### `x`<sup>Required</sup> <a name="x" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRest.isConstruct.parameter.x"></a> - *Type:* any Any object. --- #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRest.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. | | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRest.property.cfnEncryptionAtRest">cfnEncryptionAtRest</a></code> | <code><a href="#awscdk-resources-mongodbatlas.CfnEncryptionAtRest">CfnEncryptionAtRest</a></code> | *No description.* | --- ##### `node`<sup>Required</sup> <a name="node" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRest.property.node"></a> ```typescript public readonly node: Node; ``` - *Type:* constructs.Node The tree node. --- ##### `cfnEncryptionAtRest`<sup>Required</sup> <a name="cfnEncryptionAtRest" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRest.property.cfnEncryptionAtRest"></a> ```typescript public readonly cfnEncryptionAtRest: CfnEncryptionAtRest; ``` - *Type:* <a href="#awscdk-resources-mongodbatlas.CfnEncryptionAtRest">CfnEncryptionAtRest</a> --- ### AtlasEncryptionAtRestExpress <a name="AtlasEncryptionAtRestExpress" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress"></a> #### Initializers <a name="Initializers" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.Initializer"></a> ```typescript import { AtlasEncryptionAtRestExpress } from 'awscdk-resources-mongodbatlas' new AtlasEncryptionAtRestExpress(scope: Construct, id: string, props: AtlasEncryptionAtRestExpressProps) ``` | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.Initializer.parameter.props">props</a></code> | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpressProps">AtlasEncryptionAtRestExpressProps</a></code> | *No description.* | --- ##### `scope`<sup>Required</sup> <a name="scope" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.Initializer.parameter.scope"></a> - *Type:* constructs.Construct --- ##### `id`<sup>Required</sup> <a name="id" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.Initializer.parameter.id"></a> - *Type:* string --- ##### `props`<sup>Required</sup> <a name="props" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.Initializer.parameter.props"></a> - *Type:* <a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpressProps">AtlasEncryptionAtRestExpressProps</a> --- #### Methods <a name="Methods" id="Methods"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.toString">toString</a></code> | Returns a string representation of this construct. | --- ##### `toString` <a name="toString" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.toString"></a> ```typescript public toString(): string ``` Returns a string representation of this construct. #### Static Functions <a name="Static Functions" id="Static Functions"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. | --- ##### ~~`isConstruct`~~ <a name="isConstruct" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.isConstruct"></a> ```typescript import { AtlasEncryptionAtRestExpress } from 'awscdk-resources-mongodbatlas' AtlasEncryptionAtRestExpress.isConstruct(x: any) ``` Checks if `x` is a construct. ###### `x`<sup>Required</sup> <a name="x" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.isConstruct.parameter.x"></a> - *Type:* any Any object. --- #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. | | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.property.encryptionAtRest">encryptionAtRest</a></code> | <code><a href="#awscdk-resources-mongodbatlas.CfnEncryptionAtRest">CfnEncryptionAtRest</a></code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.property.accessList">accessList</a></code> | <code><a href="#awscdk-resources-mongodbatlas.CfnProjectIpAccessList">CfnProjectIpAccessList</a></code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.property.cluster">cluster</a></code> | <code><a href="#awscdk-resources-mongodbatlas.CfnCluster">CfnCluster</a></code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.property.databaseUser">databaseUser</a></code> | <code><a href="#awscdk-resources-mongodbatlas.CfnDatabaseUser">CfnDatabaseUser</a></code> | *No description.* | --- ##### `node`<sup>Required</sup> <a name="node" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.property.node"></a> ```typescript public readonly node: Node; ``` - *Type:* constructs.Node The tree node. --- ##### `encryptionAtRest`<sup>Required</sup> <a name="encryptionAtRest" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.property.encryptionAtRest"></a> ```typescript public readonly encryptionAtRest: CfnEncryptionAtRest; ``` - *Type:* <a href="#awscdk-resources-mongodbatlas.CfnEncryptionAtRest">CfnEncryptionAtRest</a> --- ##### `accessList`<sup>Optional</sup> <a name="accessList" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.property.accessList"></a> ```typescript public readonly accessList: CfnProjectIpAccessList; ``` - *Type:* <a href="#awscdk-resources-mongodbatlas.CfnProjectIpAccessList">CfnProjectIpAccessList</a> --- ##### `cluster`<sup>Optional</sup> <a name="cluster" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.property.cluster"></a> ```typescript public readonly cluster: CfnCluster; ``` - *Type:* <a href="#awscdk-resources-mongodbatlas.CfnCluster">CfnCluster</a> --- ##### `databaseUser`<sup>Optional</sup> <a name="databaseUser" id="awscdk-resources-mongodbatlas.AtlasEncryptionAtRestExpress.property.databaseUser"></a> ```typescript public readonly databaseUser: CfnDatabaseUser; ``` - *Type:* <a href="#awscdk-resources-mongodbatlas.CfnDatabaseUser">CfnDatabaseUser</a> --- ### AtlasServerlessBasic <a name="AtlasServerlessBasic" id="awscdk-resources-mongodbatlas.AtlasServerlessBasic"></a> #### Initializers <a name="Initializers" id="awscdk-resources-mongodbatlas.AtlasServerlessBasic.Initializer"></a> ```typescript import { AtlasServerlessBasic } from 'awscdk-resources-mongodbatlas' new AtlasServerlessBasic(scope: Construct, id: string, props: AtlasServerlessBasicProps) ``` | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasServerlessBasic.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasServerlessBasic.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasServerlessBasic.Initializer.parameter.props">props</a></code> | <code><a href="#awscdk-resources-mongodbatlas.AtlasServerlessBasicProps">AtlasServerlessBasicProps</a></code> | *No description.* | --- ##### `scope`<sup>Required</sup> <a name="scope" id="awscdk-resources-mongodbatlas.AtlasServerlessBasic.Initializer.parameter.scope"></a> - *Type:* constructs.Construct --- ##### `id`<sup>Required</sup> <a name="id" id="awscdk-resources-mongodbatlas.AtlasServerlessBasic.Initializer.parameter.id"></a> - *Type:* string --- ##### `props`<sup>Required</sup> <a name="props" id="awscdk-resources-mongodbatlas.AtlasServerlessBasic.Initializer.parameter.props"></a> - *Type:* <a href="#awscdk-resources-mongodbatlas.AtlasServerlessBasicProps">AtlasServerlessBasicProps</a> --- #### Methods <a name="Methods" id="Methods"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasServerlessBasic.toString">toString</a></code> | Returns a string representation of this construct. | --- ##### `toString` <a name="toString" id="awscdk-resources-mongodbatlas.AtlasServerlessBasic.toString"></a> ```typescript public toString(): string ``` Returns a string representation of this construct. #### Static Functions <a name="Static Functions" id="Static Functions"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasServerlessBasic.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. | --- ##### ~~`isConstruct`~~ <a name="isConstruct" id="awscdk-resources-mongodbatlas.AtlasServerlessBasic.isConstruct"></a> ```typescript import { AtlasServerlessBasic } from 'awscdk-resources-mongodbatlas' AtlasServerlessBasic.isConstruct(x: any) ``` Checks if `x` is a construct. ###### `x`<sup>Required</sup> <a name="x" id="awscdk-resources-mongodbatlas.AtlasServerlessBasic.isConstruct.parameter.x"></a> - *Type:* any Any object. --- #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.AtlasServerlessBasic.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. | | <code><a href="#awscdk-resources-mongodbatlas.AtlasServerlessBasic.property.ipAccessList">ipAccessList</a></code> | <code><a href="#awscdk-resources-mongodbatlas.CfnProjectIpAccessList">CfnProjectIpAccessList</a></code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasServerlessBasic.property.mDBUser">mDBUser</a></code> | <code><a href="#awscdk-resources-mongodbatlas.CfnDatabaseUser">CfnDatabaseUser</a></code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasServerlessBasic.property.mProject">mProject</a></code> | <code><a href="#awscdk-resources-mongodbatlas.CfnProject">CfnProject</a></code> | *No description.* | | <code><a href="#awscdk-resources-mongodbatlas.AtlasServerlessBasic.property.mserverless">mserverless</a></code> | <code><a href="#awscdk-resources-mongodbatlas.CfnServerlessInstance">CfnServerlessInstance</a></code> | *No description.* | --- ##### `node`<sup>Required</sup> <a name="node" id="awscdk-resources-mongodbatlas.AtlasServerlessBasic.property.node"></a> ```typescript public readonly node: Node; ``` - *Type:* constructs.Node The tree node. --- ##### `ipAccessList`<sup>Required</sup> <a name="ipAccessList" id="awscdk-resources-mongodbatlas.AtlasServerlessBasic.property.ipAccessList"></a> ```typescript public readonly ipAccessList: CfnProjectIpAccessList; ``` - *Type:* <a href="#awscdk-resources-mongodbatlas.CfnProjectIpAccessList">CfnProjectIpAccessList</a> --- ##### `mDBUser`<sup>Required</sup> <a name="mDBUser" id="awscdk-resources-mongodbatlas.AtlasServerlessBasic.property.mDBUser"></a> ```typescript public readonly mDBUser: CfnDatabaseUser; ``` - *Type:* <a href="#awscdk-resources-mongodbatlas.CfnDatabaseUser">CfnDatabaseUser</a> --- ##### `mProject`<sup>Required</sup> <a name="mProject" id="awscdk-resources-mongodbatlas.AtlasServerlessBasic.property.mProject"></a> ```typescript public readonly mProject: CfnProject; ``` - *Type:* <a href="#awscdk-resources-mongodbatlas.CfnProject">CfnProject</a> --- ##### `mserverless`<sup>Required</sup> <a name="mserverless" id="awscdk-resources-mongodbatlas.AtlasServerlessBasic.property.mserverless"></a> ```typescript public readonly mserverless: CfnServerlessInstance; ``` - *Type:* <a href="#awscdk-resources-mongodbatlas.CfnServerlessInstance">CfnServerlessInstance</a> --- ### CfnAccessListApiKey <a name="CfnAccessListApiKey" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey"></a> A CloudFormation `MongoDB::Atlas::AccessListAPIKey`. #### Initializers <a name="Initializers" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.Initializer"></a> ```typescript import { CfnAccessListApiKey } from 'awscdk-resources-mongodbatlas' new CfnAccessListApiKey(scope: Construct, id: string, props: CfnAccessListApiKeyProps) ``` | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | - scope in which this resource is defined. | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.Initializer.parameter.id">id</a></code> | <code>string</code> | - scoped id of the resource. | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.Initializer.parameter.props">props</a></code> | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKeyProps">CfnAccessListApiKeyProps</a></code> | - resource properties. | --- ##### `scope`<sup>Required</sup> <a name="scope" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.Initializer.parameter.scope"></a> - *Type:* constructs.Construct scope in which this resource is defined. --- ##### `id`<sup>Required</sup> <a name="id" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.Initializer.parameter.id"></a> - *Type:* string scoped id of the resource. --- ##### `props`<sup>Required</sup> <a name="props" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.Initializer.parameter.props"></a> - *Type:* <a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKeyProps">CfnAccessListApiKeyProps</a> resource properties. --- #### Methods <a name="Methods" id="Methods"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.toString">toString</a></code> | Returns a string representation of this construct. | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.overrideLogicalId">overrideLogicalId</a></code> | Overrides the auto-generated logical ID with a specific ID. | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.addDeletionOverride">addDeletionOverride</a></code> | Syntactic sugar for `addOverride(path, undefined)`. | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.addDependency">addDependency</a></code> | Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.addDependsOn">addDependsOn</a></code> | Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.addMetadata">addMetadata</a></code> | Add a value to the CloudFormation Resource Metadata. | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.addOverride">addOverride</a></code> | Adds an override to the synthesized CloudFormation resource. | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.addPropertyDeletionOverride">addPropertyDeletionOverride</a></code> | Adds an override that deletes the value of a property from the resource definition. | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.addPropertyOverride">addPropertyOverride</a></code> | Adds an override to a resource property. | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.applyRemovalPolicy">applyRemovalPolicy</a></code> | Sets the deletion policy of the resource based on the removal policy specified. | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.getAtt">getAtt</a></code> | Returns a token for an runtime attribute of this resource. | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.getMetadata">getMetadata</a></code> | Retrieve a value value from the CloudFormation Resource Metadata. | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.obtainDependencies">obtainDependencies</a></code> | Retrieves an array of resources this resource depends on. | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.obtainResourceDependencies">obtainResourceDependencies</a></code> | Get a shallow copy of dependencies between this resource and other resources in the same stack. | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.removeDependency">removeDependency</a></code> | Indicates that this resource no longer depends on another resource. | | <code><a href="#awscdk-resources-mongodbatlas.CfnAccessListApiKey.replaceDependency">replaceDependency</a></code> | Replaces one dependency with another. | --- ##### `toString` <a name="toString" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.toString"></a> ```typescript public toString(): string ``` Returns a string representation of this construct. ##### `overrideLogicalId` <a name="overrideLogicalId" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.overrideLogicalId"></a> ```typescript public overrideLogicalId(newLogicalId: string): void ``` Overrides the auto-generated logical ID with a specific ID. ###### `newLogicalId`<sup>Required</sup> <a name="newLogicalId" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.overrideLogicalId.parameter.newLogicalId"></a> - *Type:* string The new logical ID to use for this stack element. --- ##### `addDeletionOverride` <a name="addDeletionOverride" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.addDeletionOverride"></a> ```typescript public addDeletionOverride(path: string): void ``` Syntactic sugar for `addOverride(path, undefined)`. ###### `path`<sup>Required</sup> <a name="path" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.addDeletionOverride.parameter.path"></a> - *Type:* string The path of the value to delete. --- ##### `addDependency` <a name="addDependency" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.addDependency"></a> ```typescript public addDependency(target: CfnResource): void ``` Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope. ###### `target`<sup>Required</sup> <a name="target" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.addDependency.parameter.target"></a> - *Type:* aws-cdk-lib.CfnResource --- ##### ~~`addDependsOn`~~ <a name="addDependsOn" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.addDependsOn"></a> ```typescript public addDependsOn(target: CfnResource): void ``` Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. ###### `target`<sup>Required</sup> <a name="target" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.addDependsOn.parameter.target"></a> - *Type:* aws-cdk-lib.CfnResource --- ##### `addMetadata` <a name="addMetadata" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.addMetadata"></a> ```typescript public addMetadata(key: string, value: any): void ``` Add a value to the CloudFormation Resource Metadata. > [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.) ###### `key`<sup>Required</sup> <a name="key" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.addMetadata.parameter.key"></a> - *Type:* string --- ###### `value`<sup>Required</sup> <a name="value" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.addMetadata.parameter.value"></a> - *Type:* any --- ##### `addOverride` <a name="addOverride" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.addOverride"></a> ```typescript public addOverride(path: string, value: any): void ``` Adds an override to the synthesized CloudFormation resource. To add a property override, either use `addPropertyOverride` or prefix `path` with "Properties." (i.e. `Properties.TopicName`). If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path. To include a literal `.` in the property name, prefix with a `\`. In most programming languages you will need to write this as `"\\."` because the `\` itself will need to be escaped. For example, ```typescript cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); ``` would add the overrides ```json "Properties": { "GlobalSecondaryIndexes": [ { "Projection": { "NonKeyAttributes": [ "myattribute" ] ... } ... }, { "ProjectionType": "INCLUDE" ... }, ] ... } ``` The `value` argument to `addOverride` will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template. ###### `path`<sup>Required</sup> <a name="path" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.addOverride.parameter.path"></a> - *Type:* string The path of the property, you can use dot notation to override values in complex types. Any intermediate keys will be created as needed. --- ###### `value`<sup>Required</sup> <a name="value" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.addOverride.parameter.value"></a> - *Type:* any The value. Could be primitive or complex. --- ##### `addPropertyDeletionOverride` <a name="addPropertyDeletionOverride" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.addPropertyDeletionOverride"></a> ```typescript public addPropertyDeletionOverride(propertyPath: string): void ``` Adds an override that deletes the value of a property from the resource definition. ###### `propertyPath`<sup>Required</sup> <a name="propertyPath" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.addPropertyDeletionOverride.parameter.propertyPath"></a> - *Type:* string The path to the property. --- ##### `addPropertyOverride` <a name="addPropertyOverride" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.addPropertyOverride"></a> ```typescript public addPropertyOverride(propertyPath: string, value: any): void ``` Adds an override to a resource property. Syntactic sugar for `addOverride("Properties.<...>", value)`. ###### `propertyPath`<sup>Required</sup> <a name="propertyPath" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.addPropertyOverride.parameter.propertyPath"></a> - *Type:* string The path of the property. --- ###### `value`<sup>Required</sup> <a name="value" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.addPropertyOverride.parameter.value"></a> - *Type:* any The value. --- ##### `applyRemovalPolicy` <a name="applyRemovalPolicy" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.applyRemovalPolicy"></a> ```typescript public applyRemovalPolicy(policy?: RemovalPolicy, options?: RemovalPolicyOptions): void ``` Sets the deletion policy of the resource based on the removal policy specified. The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced. The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some cases, a snapshot can be taken of the resource prior to deletion (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy can be found in the following link: > [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options) ###### `policy`<sup>Optional</sup> <a name="policy" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.applyRemovalPolicy.parameter.policy"></a> - *Type:* aws-cdk-lib.RemovalPolicy --- ###### `options`<sup>Optional</sup> <a name="options" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.applyRemovalPolicy.parameter.options"></a> - *Type:* aws-cdk-lib.RemovalPolicyOptions --- ##### `getAtt` <a name="getAtt" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.getAtt"></a> ```typescript public getAtt(attributeName: string, typeHint?: ResolutionTypeHint): Reference ``` Returns a token for an runtime attribute of this resource. Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility in case there is no generated attribute. ###### `attributeName`<sup>Required</sup> <a name="attributeName" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.getAtt.parameter.attributeName"></a> - *Type:* string The name of the attribute. --- ###### `typeHint`<sup>Optional</sup> <a name="typeHint" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.getAtt.parameter.typeHint"></a> - *Type:* aws-cdk-lib.ResolutionTypeHint --- ##### `getMetadata` <a name="getMetadata" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.getMetadata"></a> ```typescript public getMetadata(key: string): any ``` Retrieve a value value from the CloudFormation Resource Metadata. > [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.) ###### `key`<sup>Required</sup> <a name="key" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.getMetadata.parameter.key"></a> - *Type:* string --- ##### `obtainDependencies` <a name="obtainDependencies" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.obtainDependencies"></a> ```typescript public obtainDependencies(): Stack | CfnResource[] ``` Retrieves an array of resources this resource depends on. This assembles dependencies on resources across stacks (including nested stacks) automatically. ##### `obtainResourceDependencies` <a name="obtainResourceDependencies" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.obtainResourceDependencies"></a> ```typescript public obtainResourceDependencies(): CfnResource[] ``` Get a shallow copy of dependencies between this resource and other resources in the same stack. ##### `removeDependency` <a name="removeDependency" id="awscdk-resources-mongodbatlas.CfnAccessListApiKey.removeDependency"></a> ```typescript public removeDependency(target: CfnResource): void ``` Indicates that this reso