UNPKG

awscdk-resources-mongodbatlas

Version:

MongoDB Atlas CDK Construct Library for AWS CloudFormation Resources

271 lines (270 loc) 8.24 kB
import * as cdk from "aws-cdk-lib"; import * as constructs from "constructs"; /** * Returns, adds, edits, and removes Atlas Stream Processing Instances. * * @schema CfnStreamInstanceProps */ export interface CfnStreamInstanceProps { /** * The profile is defined in AWS Secret manager. See [Secret Manager Profile setup](../../../examples/profile-secret.yaml). * * @schema CfnStreamInstanceProps#Profile */ readonly profile?: string; /** * Human-readable label that identifies the stream connection. * * @schema CfnStreamInstanceProps#InstanceName */ readonly instanceName: string; /** * @schema CfnStreamInstanceProps#DataProcessRegion */ readonly dataProcessRegion: StreamsDataProcessRegion; /** * @schema CfnStreamInstanceProps#StreamConfig */ readonly streamConfig: StreamConfig; /** * @schema CfnStreamInstanceProps#Connections */ readonly connections?: StreamsConnection[]; /** * Unique 24-hexadecimal character string that identifies the project. * * @schema CfnStreamInstanceProps#ProjectId */ readonly projectId: string; } /** * Converts an object of type 'CfnStreamInstanceProps' to JSON representation. */ export declare function toJson_CfnStreamInstanceProps(obj: CfnStreamInstanceProps | undefined): Record<string, any> | undefined; /** * Information about the cloud provider region in which MongoDB Cloud processes the stream. * * @schema StreamsDataProcessRegion */ export interface StreamsDataProcessRegion { /** * Label that identifies the cloud service provider where MongoDB Cloud performs stream processing. Currently, this parameter supports AWS only. * * @schema StreamsDataProcessRegion#CloudProvider */ readonly cloudProvider: StreamsDataProcessRegionCloudProvider; /** * @schema StreamsDataProcessRegion#Region */ readonly region: string; } /** * Converts an object of type 'StreamsDataProcessRegion' to JSON representation. */ export declare function toJson_StreamsDataProcessRegion(obj: StreamsDataProcessRegion | undefined): Record<string, any> | undefined; /** * Configuration options for an Atlas Stream Processing Instance. * * @schema StreamConfig */ export interface StreamConfig { /** * Selected tier for the Stream Instance. Configures Memory / VCPU allowances. * * @schema StreamConfig#Tier */ readonly tier?: string; } /** * Converts an object of type 'StreamConfig' to JSON representation. */ export declare function toJson_StreamConfig(obj: StreamConfig | undefined): Record<string, any> | undefined; /** * Settings that define a connection to an external data store. * * @schema StreamsConnection */ export interface StreamsConnection { /** * Human-readable label that identifies the stream connection. * * @schema StreamsConnection#Name */ readonly name?: string; /** * Type of the connection. Can be either Cluster or Kafka. * * @schema StreamsConnection#Type */ readonly type?: StreamsConnectionType; /** * @schema StreamsConnection#Authentication */ readonly authentication?: StreamsKafkaAuthentication; /** * Comma separated list of server addresses. * * @schema StreamsConnection#BootstrapServers */ readonly bootstrapServers?: string; /** * @schema StreamsConnection#Security */ readonly security?: StreamsKafkaSecurity; /** * Name of the cluster configured for this connection. * * @schema StreamsConnection#ClusterName */ readonly clusterName?: string; /** * @schema StreamsConnection#DbRoleToExecute */ readonly dbRoleToExecute?: DbRoleToExecute; } /** * Converts an object of type 'StreamsConnection' to JSON representation. */ export declare function toJson_StreamsConnection(obj: StreamsConnection | undefined): Record<string, any> | undefined; /** * Label that identifies the cloud service provider where MongoDB Cloud performs stream processing. Currently, this parameter supports AWS only. * * @schema StreamsDataProcessRegionCloudProvider */ export declare enum StreamsDataProcessRegionCloudProvider { /** AWS */ AWS = "AWS", /** GCP */ GCP = "GCP", /** AZURE */ AZURE = "AZURE", /** TENANT */ TENANT = "TENANT", /** SERVERLESS */ SERVERLESS = "SERVERLESS" } /** * Type of the connection. Can be either Cluster or Kafka. * * @schema StreamsConnectionType */ export declare enum StreamsConnectionType { /** Kafka */ KAFKA = "Kafka", /** Cluster */ CLUSTER = "Cluster", /** Sample */ SAMPLE = "Sample" } /** * User credentials required to connect to a Kafka Cluster. Includes the authentication type, as well as the parameters for that authentication mode. * * @schema StreamsKafkaAuthentication */ export interface StreamsKafkaAuthentication { /** * Style of authentication. Can be one of PLAIN, SCRAM-256, or SCRAM-512. * * @schema StreamsKafkaAuthentication#Mechanism */ readonly mechanism?: string; /** * Username of the account to connect to the Kafka cluster. * * @schema StreamsKafkaAuthentication#Username */ readonly username?: string; } /** * Converts an object of type 'StreamsKafkaAuthentication' to JSON representation. */ export declare function toJson_StreamsKafkaAuthentication(obj: StreamsKafkaAuthentication | undefined): Record<string, any> | undefined; /** * Properties for the secure transport connection to Kafka. For SSL, this can include the trusted certificate to use. * * @schema StreamsKafkaSecurity */ export interface StreamsKafkaSecurity { /** * A trusted, public x509 certificate for connecting to Kafka over SSL. * * @schema StreamsKafkaSecurity#BrokerPublicCertificate */ readonly brokerPublicCertificate?: string; /** * Describes the transport type. Can be either PLAINTEXT or SSL. * * @schema StreamsKafkaSecurity#Protocol */ readonly protocol?: string; } /** * Converts an object of type 'StreamsKafkaSecurity' to JSON representation. */ export declare function toJson_StreamsKafkaSecurity(obj: StreamsKafkaSecurity | undefined): Record<string, any> | undefined; /** * The name of a Built in or Custom DB Role to connect to an Atlas Cluster. * * @schema DBRoleToExecute */ export interface DbRoleToExecute { /** * The name of the role to use. Can be a built in role or a custom role. * * @schema DBRoleToExecute#Role */ readonly role?: string; /** * Type of the DB role. Can be either BuiltIn or Custom. * * @schema DBRoleToExecute#Type */ readonly type?: DbRoleToExecuteType; } /** * Converts an object of type 'DbRoleToExecute' to JSON representation. */ export declare function toJson_DbRoleToExecute(obj: DbRoleToExecute | undefined): Record<string, any> | undefined; /** * Type of the DB role. Can be either BuiltIn or Custom. * * @schema DbRoleToExecuteType */ export declare enum DbRoleToExecuteType { /** BUILT_IN */ BUILT_IN = "BUILT_IN", /** CUSTOM */ CUSTOM = "CUSTOM" } /** * A CloudFormation `MongoDB::Atlas::StreamInstance` * * @cloudformationResource MongoDB::Atlas::StreamInstance * @stability external */ export declare class CfnStreamInstance extends cdk.CfnResource { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME = "MongoDB::Atlas::StreamInstance"; /** * Resource props. */ readonly props: CfnStreamInstanceProps; /** * Attribute `MongoDB::Atlas::StreamInstance.Id` */ readonly attrId: string; /** * Attribute `MongoDB::Atlas::StreamInstance.Hostnames` */ readonly attrHostnames: string[]; /** * Create a new `MongoDB::Atlas::StreamInstance`. * * @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: CfnStreamInstanceProps); }