awscdk-resources-mongodbatlas
Version:
MongoDB Atlas CDK Construct Library for AWS CloudFormation Resources
151 lines (150 loc) • 5.85 kB
TypeScript
import * as cdk from "aws-cdk-lib";
import * as constructs from "constructs";
/**
* **WARNING:** This resource is deprecated and will be removed in May 2025. If you try to create a new ServerlessInstance, you will create a Flex cluster. As a result, you can't create ServerlessPrivateEndpoints for these new instances. For more details, see [Migrate your programmatic tools from M2, M5, or Serverless Instances to Flex Clusters](https://www.mongodb.com/docs/atlas/flex-migration/). Returns, adds, edits, and removes private endpoints for serverless instances. To learn more, see the Atlas Administration API tab on the following tutorial.
*
* @schema CfnServerlessPrivateEndpointProps
*/
export interface CfnServerlessPrivateEndpointProps {
/**
* Unique 24-hexadecimal digit string that identifies your project.
*
* @schema CfnServerlessPrivateEndpointProps#ProjectId
*/
readonly projectId: string;
/**
* Human-readable label that identifies the serverless instance for which the tenant endpoint will be created.
*
* @schema CfnServerlessPrivateEndpointProps#InstanceName
*/
readonly instanceName: string;
/**
* Human-readable comment associated with the private endpoint.
*
* @schema CfnServerlessPrivateEndpointProps#Comment
*/
readonly comment?: string;
/**
* Profile used to provide credentials information, (a secret with the cfn/atlas/profile/{Profile}, is required), if not provided default is used
*
* @schema CfnServerlessPrivateEndpointProps#Profile
*/
readonly profile?: string;
/**
* Unique string that identifies the private endpoint's network interface.
*
* @schema CfnServerlessPrivateEndpointProps#CloudProviderEndpointId
*/
readonly cloudProviderEndpointId?: string;
/**
* IPv4 address of the private endpoint in your Azure VNet that someone added to this private endpoint service.
*
* @schema CfnServerlessPrivateEndpointProps#PrivateEndpointIpAddress
*/
readonly privateEndpointIpAddress?: string;
/**
* If true the resource will create the aws private endpoint and assign the Endpoint ID
*
* @schema CfnServerlessPrivateEndpointProps#CreateAndAssignAWSPrivateEndpoint
*/
readonly createAndAssignAwsPrivateEndpoint?: boolean;
/**
* Properties used to configure Aws private endpoint
*
* @schema CfnServerlessPrivateEndpointProps#AwsPrivateEndpointConfigurationProperties
*/
readonly awsPrivateEndpointConfigurationProperties?: AwsPrivateEndpointConfig;
}
/**
* Converts an object of type 'CfnServerlessPrivateEndpointProps' to JSON representation.
*/
export declare function toJson_CfnServerlessPrivateEndpointProps(obj: CfnServerlessPrivateEndpointProps | undefined): Record<string, any> | undefined;
/**
* AWS Private endpoint configuration properties
*
* @schema awsPrivateEndpointConfig
*/
export interface AwsPrivateEndpointConfig {
/**
* String Representing the AWS VPC ID (like: vpc-xxxxxxxxxxxxxxxx) (Used For Creating the AWS VPC Endpoint)
*
* @schema awsPrivateEndpointConfig#VpcId
*/
readonly vpcId?: string;
/**
* List of string representing the AWS VPC Subnet ID (like: subnet-xxxxxxxxxxxxxxxxx) (Used For Creating the AWS VPC Endpoint)
*
* @schema awsPrivateEndpointConfig#SubnetIds
*/
readonly subnetIds?: string[];
/**
* Unique identifiers of the interface endpoints in your VPC that you added to the AWS PrivateLink connection.
*
* @schema awsPrivateEndpointConfig#InterfaceEndpointId
*/
readonly interfaceEndpointId?: string;
/**
* Status of the AWS PrivateEndpoint connection.
*
* @schema awsPrivateEndpointConfig#AWSPrivateEndpointStatus
*/
readonly awsPrivateEndpointStatus?: string;
/**
* Aws Region
*
* @schema awsPrivateEndpointConfig#Region
*/
readonly region?: string;
}
/**
* Converts an object of type 'AwsPrivateEndpointConfig' to JSON representation.
*/
export declare function toJson_AwsPrivateEndpointConfig(obj: AwsPrivateEndpointConfig | undefined): Record<string, any> | undefined;
/**
* A CloudFormation `MongoDB::Atlas::ServerlessPrivateEndpoint`
*
* @cloudformationResource MongoDB::Atlas::ServerlessPrivateEndpoint
* @stability external
*/
export declare class CfnServerlessPrivateEndpoint extends cdk.CfnResource {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME = "MongoDB::Atlas::ServerlessPrivateEndpoint";
/**
* Resource props.
*/
readonly props: CfnServerlessPrivateEndpointProps;
/**
* Attribute `MongoDB::Atlas::ServerlessPrivateEndpoint.Id`
*/
readonly attrId: string;
/**
* Attribute `MongoDB::Atlas::ServerlessPrivateEndpoint.EndpointServiceName`
*/
readonly attrEndpointServiceName: string;
/**
* Attribute `MongoDB::Atlas::ServerlessPrivateEndpoint.ErrorMessage`
*/
readonly attrErrorMessage: string;
/**
* Attribute `MongoDB::Atlas::ServerlessPrivateEndpoint.ProviderName`
*/
readonly attrProviderName: string;
/**
* Attribute `MongoDB::Atlas::ServerlessPrivateEndpoint.Status`
*/
readonly attrStatus: string;
/**
* Attribute `MongoDB::Atlas::ServerlessPrivateEndpoint.AwsPrivateEndpointMetaData`
*/
readonly attrAwsPrivateEndpointMetaData: string;
/**
* Create a new `MongoDB::Atlas::ServerlessPrivateEndpoint`.
*
* @param scope - scope in which this resource is defined
* @param id - scoped id of the resource
* @param props - resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnServerlessPrivateEndpointProps);
}