import * as core from "@terrascript/core"; export interface RedshiftSettingsArgs extends core.SchemaArgs { bucketFolder?: string | core.StringOut; bucketName?: string | core.StringOut; encryptionMode?: string | core.StringOut; serverSideEncryptionKmsKeyId?: string | core.StringOut; serviceAccessRoleArn?: string | core.StringOut; } export declare class RedshiftSettings extends core.Schema { bucketFolder?: string | core.StringOut; bucketName?: string | core.StringOut; encryptionMode?: string | core.StringOut; serverSideEncryptionKmsKeyId?: string | core.StringOut; serviceAccessRoleArn?: string | core.StringOut; } export interface ElasticsearchSettingsArgs extends core.SchemaArgs { endpointUri: string | core.StringOut; errorRetryDuration?: number | core.NumberOut; fullLoadErrorPercentage?: number | core.NumberOut; serviceAccessRoleArn: string | core.StringOut; } export declare class ElasticsearchSettings extends core.Schema { endpointUri: string | core.StringOut; errorRetryDuration?: number | core.NumberOut; fullLoadErrorPercentage?: number | core.NumberOut; serviceAccessRoleArn: string | core.StringOut; } export interface MongodbSettingsArgs extends core.SchemaArgs { authMechanism?: string | core.StringOut; authSource?: string | core.StringOut; authType?: string | core.StringOut; docsToInvestigate?: string | core.StringOut; extractDocId?: string | core.StringOut; nestingLevel?: string | core.StringOut; } export declare class MongodbSettings extends core.Schema { authMechanism?: string | core.StringOut; authSource?: string | core.StringOut; authType?: string | core.StringOut; docsToInvestigate?: string | core.StringOut; extractDocId?: string | core.StringOut; nestingLevel?: string | core.StringOut; } export interface S3SettingsArgs extends core.SchemaArgs { addColumnName?: boolean | core.BooleanOut; bucketFolder?: string | core.StringOut; bucketName?: string | core.StringOut; cannedAclForObjects?: string | core.StringOut; cdcInsertsAndUpdates?: boolean | core.BooleanOut; cdcInsertsOnly?: boolean | core.BooleanOut; cdcMaxBatchInterval?: number | core.NumberOut; cdcMinFileSize?: number | core.NumberOut; cdcPath?: string | core.StringOut; compressionType?: string | core.StringOut; csvDelimiter?: string | core.StringOut; csvNoSupValue?: string | core.StringOut; csvNullValue?: string | core.StringOut; csvRowDelimiter?: string | core.StringOut; dataFormat?: string | core.StringOut; dataPageSize?: number | core.NumberOut; datePartitionDelimiter?: string | core.StringOut; datePartitionEnabled?: boolean | core.BooleanOut; datePartitionSequence?: string | core.StringOut; dictPageSizeLimit?: number | core.NumberOut; enableStatistics?: boolean | core.BooleanOut; encodingType?: string | core.StringOut; encryptionMode?: string | core.StringOut; externalTableDefinition?: string | core.StringOut; ignoreHeadersRow?: number | core.NumberOut; includeOpForFullLoad?: boolean | core.BooleanOut; maxFileSize?: number | core.NumberOut; parquetTimestampInMillisecond?: boolean | core.BooleanOut; parquetVersion?: string | core.StringOut; preserveTransactions?: boolean | core.BooleanOut; rfc4180?: boolean | core.BooleanOut; rowGroupLength?: number | core.NumberOut; serverSideEncryptionKmsKeyId?: string | core.StringOut; serviceAccessRoleArn?: string | core.StringOut; timestampColumnName?: string | core.StringOut; useCsvNoSupValue?: boolean | core.BooleanOut; } export declare class S3Settings extends core.Schema { addColumnName?: boolean | core.BooleanOut; bucketFolder?: string | core.StringOut; bucketName?: string | core.StringOut; cannedAclForObjects?: string | core.StringOut; cdcInsertsAndUpdates?: boolean | core.BooleanOut; cdcInsertsOnly?: boolean | core.BooleanOut; cdcMaxBatchInterval?: number | core.NumberOut; cdcMinFileSize?: number | core.NumberOut; cdcPath?: string | core.StringOut; compressionType?: string | core.StringOut; csvDelimiter?: string | core.StringOut; csvNoSupValue?: string | core.StringOut; csvNullValue?: string | core.StringOut; csvRowDelimiter?: string | core.StringOut; dataFormat?: string | core.StringOut; dataPageSize?: number | core.NumberOut; datePartitionDelimiter?: string | core.StringOut; datePartitionEnabled?: boolean | core.BooleanOut; datePartitionSequence?: string | core.StringOut; dictPageSizeLimit?: number | core.NumberOut; enableStatistics?: boolean | core.BooleanOut; encodingType?: string | core.StringOut; encryptionMode?: string | core.StringOut; externalTableDefinition?: string | core.StringOut; ignoreHeadersRow?: number | core.NumberOut; includeOpForFullLoad?: boolean | core.BooleanOut; maxFileSize?: number | core.NumberOut; parquetTimestampInMillisecond?: boolean | core.BooleanOut; parquetVersion?: string | core.StringOut; preserveTransactions?: boolean | core.BooleanOut; rfc4180?: boolean | core.BooleanOut; rowGroupLength?: number | core.NumberOut; serverSideEncryptionKmsKeyId?: string | core.StringOut; serviceAccessRoleArn?: string | core.StringOut; timestampColumnName?: string | core.StringOut; useCsvNoSupValue?: boolean | core.BooleanOut; } export interface KafkaSettingsArgs extends core.SchemaArgs { broker: string | core.StringOut; includeControlDetails?: boolean | core.BooleanOut; includeNullAndEmpty?: boolean | core.BooleanOut; includePartitionValue?: boolean | core.BooleanOut; includeTableAlterOperations?: boolean | core.BooleanOut; includeTransactionDetails?: boolean | core.BooleanOut; messageFormat?: string | core.StringOut; messageMaxBytes?: number | core.NumberOut; noHexPrefix?: boolean | core.BooleanOut; partitionIncludeSchemaTable?: boolean | core.BooleanOut; saslPassword?: string | core.StringOut; saslUsername?: string | core.StringOut; securityProtocol?: string | core.StringOut; sslCaCertificateArn?: string | core.StringOut; sslClientCertificateArn?: string | core.StringOut; sslClientKeyArn?: string | core.StringOut; sslClientKeyPassword?: string | core.StringOut; topic?: string | core.StringOut; } export declare class KafkaSettings extends core.Schema { broker: string | core.StringOut; includeControlDetails?: boolean | core.BooleanOut; includeNullAndEmpty?: boolean | core.BooleanOut; includePartitionValue?: boolean | core.BooleanOut; includeTableAlterOperations?: boolean | core.BooleanOut; includeTransactionDetails?: boolean | core.BooleanOut; messageFormat?: string | core.StringOut; messageMaxBytes?: number | core.NumberOut; noHexPrefix?: boolean | core.BooleanOut; partitionIncludeSchemaTable?: boolean | core.BooleanOut; saslPassword?: string | core.StringOut; saslUsername?: string | core.StringOut; securityProtocol?: string | core.StringOut; sslCaCertificateArn?: string | core.StringOut; sslClientCertificateArn?: string | core.StringOut; sslClientKeyArn?: string | core.StringOut; sslClientKeyPassword?: string | core.StringOut; topic?: string | core.StringOut; } export interface KinesisSettingsArgs extends core.SchemaArgs { includeControlDetails?: boolean | core.BooleanOut; includeNullAndEmpty?: boolean | core.BooleanOut; includePartitionValue?: boolean | core.BooleanOut; includeTableAlterOperations?: boolean | core.BooleanOut; includeTransactionDetails?: boolean | core.BooleanOut; messageFormat?: string | core.StringOut; partitionIncludeSchemaTable?: boolean | core.BooleanOut; serviceAccessRoleArn?: string | core.StringOut; streamArn?: string | core.StringOut; } export declare class KinesisSettings extends core.Schema { includeControlDetails?: boolean | core.BooleanOut; includeNullAndEmpty?: boolean | core.BooleanOut; includePartitionValue?: boolean | core.BooleanOut; includeTableAlterOperations?: boolean | core.BooleanOut; includeTransactionDetails?: boolean | core.BooleanOut; messageFormat?: string | core.StringOut; partitionIncludeSchemaTable?: boolean | core.BooleanOut; serviceAccessRoleArn?: string | core.StringOut; streamArn?: string | core.StringOut; } export interface EndpointArgs extends core.ResourceArgs { /** * (Optional, Default: empty string) ARN for the certificate. */ certificateArn?: string | core.StringOut; /** * (Optional) Name of the endpoint database. */ databaseName?: string | core.StringOut; /** * (Optional) Configuration block for OpenSearch settings. See below. */ elasticsearchSettings?: ElasticsearchSettings; /** * (Required) Database endpoint identifier. Identifiers must contain from 1 to 255 alphanumeric charact * ers or hyphens, begin with a letter, contain only ASCII letters, digits, and hyphens, not end with a * hyphen, and not contain two consecutive hyphens. */ endpointId: string | core.StringOut; /** * (Required) Type of endpoint. Valid values are `source`, `target`. */ endpointType: string | core.StringOut; /** * (Required) Type of engine for the endpoint. Valid values are `aurora`, `aurora-postgresql`, `azuredb * , `db2`, `docdb`, `dynamodb`, `elasticsearch`, `kafka`, `kinesis`, `mariadb`, `mongodb`, `mysql`, ` * opensearch`, `oracle`, `postgres`, `redshift`, `s3`, `sqlserver`, `sybase`. Please note that some of * engine names are available only for `target` endpoint type (e.g. `redshift`). */ engineName: string | core.StringOut; /** * (Optional) Additional attributes associated with the connection. For available attributes see [Using * Extra Connection Attributes with AWS Database Migration Service](https://docs.aws.amazon.com/dms/la * test/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib). */ extraConnectionAttributes?: string | core.StringOut; /** * (Optional) Configuration block for Kafka settings. See below. */ kafkaSettings?: KafkaSettings; /** * (Optional) Configuration block for Kinesis settings. See below. */ kinesisSettings?: KinesisSettings; /** * (Required when `engine_name` is `mongodb`, optional otherwise) ARN for the KMS key that will be used * to encrypt the connection parameters. If you do not specify a value for `kms_key_arn`, then AWS DMS * will use your default encryption key. AWS KMS creates the default encryption key for your AWS accou * nt. Your AWS account has a different default encryption key for each AWS region. */ kmsKeyArn?: string | core.StringOut; /** * (Optional) Configuration block for MongoDB settings. See below. */ mongodbSettings?: MongodbSettings; /** * (Optional) Password to be used to login to the endpoint database. */ password?: string | core.StringOut; /** * (Optional) Port used by the endpoint database. */ port?: number | core.NumberOut; /** * (Optional) Configuration block for Redshift settings. See below. */ redshiftSettings?: RedshiftSettings; /** * (Optional) Configuration block for S3 settings. See below. */ s3Settings?: S3Settings; /** * (Optional) ARN of the IAM role that specifies AWS DMS as the trusted entity and has the required per * missions to access the value in SecretsManagerSecret. */ secretsManagerAccessRoleArn?: string | core.StringOut; /** * (Optional) Full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the end * point connection details. Supported only for `engine_name` as `aurora`, `aurora-postgresql`, `mariad * b`, `mongodb`, `mysql`, `oracle`, `postgres`, `redshift` or `sqlserver`. */ secretsManagerArn?: string | core.StringOut; /** * (Optional) Host name of the server. */ serverName?: string | core.StringOut; /** * (Optional) ARN used by the service access IAM role for dynamodb endpoints. */ serviceAccessRole?: string | core.StringOut; /** * (Optional, Default: none) SSL mode to use for the connection. Valid values are `none`, `require`, `v * erify-ca`, `verify-full` */ sslMode?: string | core.StringOut; /** * (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` conf * iguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-conf * iguration-block) present, tags with matching keys will overwrite those defined at the provider-level * . */ tags?: core.Map | core.MapOut; /** * Map of tags assigned to the resource, including those inherited from the provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) User name to be used to login to the endpoint database. */ username?: string | core.StringOut; } export declare class Endpoint extends core.Resource { /** * (Optional, Default: empty string) ARN for the certificate. */ certificateArn?: string | core.StringOut; /** * (Optional) Name of the endpoint database. */ databaseName?: string | core.StringOut; /** * (Optional) Configuration block for OpenSearch settings. See below. */ elasticsearchSettings?: ElasticsearchSettings; /** * ARN for the endpoint. */ endpointArn: string | core.StringOut; /** * (Required) Database endpoint identifier. Identifiers must contain from 1 to 255 alphanumeric charact * ers or hyphens, begin with a letter, contain only ASCII letters, digits, and hyphens, not end with a * hyphen, and not contain two consecutive hyphens. */ endpointId: string | core.StringOut; /** * (Required) Type of endpoint. Valid values are `source`, `target`. */ endpointType: string | core.StringOut; /** * (Required) Type of engine for the endpoint. Valid values are `aurora`, `aurora-postgresql`, `azuredb * , `db2`, `docdb`, `dynamodb`, `elasticsearch`, `kafka`, `kinesis`, `mariadb`, `mongodb`, `mysql`, ` * opensearch`, `oracle`, `postgres`, `redshift`, `s3`, `sqlserver`, `sybase`. Please note that some of * engine names are available only for `target` endpoint type (e.g. `redshift`). */ engineName: string | core.StringOut; /** * (Optional) Additional attributes associated with the connection. For available attributes see [Using * Extra Connection Attributes with AWS Database Migration Service](https://docs.aws.amazon.com/dms/la * test/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib). */ extraConnectionAttributes?: string | core.StringOut; id: string | core.StringOut; /** * (Optional) Configuration block for Kafka settings. See below. */ kafkaSettings?: KafkaSettings; /** * (Optional) Configuration block for Kinesis settings. See below. */ kinesisSettings?: KinesisSettings; /** * (Required when `engine_name` is `mongodb`, optional otherwise) ARN for the KMS key that will be used * to encrypt the connection parameters. If you do not specify a value for `kms_key_arn`, then AWS DMS * will use your default encryption key. AWS KMS creates the default encryption key for your AWS accou * nt. Your AWS account has a different default encryption key for each AWS region. */ kmsKeyArn?: string | core.StringOut; /** * (Optional) Configuration block for MongoDB settings. See below. */ mongodbSettings?: MongodbSettings; /** * (Optional) Password to be used to login to the endpoint database. */ password?: string | core.StringOut; /** * (Optional) Port used by the endpoint database. */ port?: number | core.NumberOut; /** * (Optional) Configuration block for Redshift settings. See below. */ redshiftSettings?: RedshiftSettings; /** * (Optional) Configuration block for S3 settings. See below. */ s3Settings?: S3Settings; /** * (Optional) ARN of the IAM role that specifies AWS DMS as the trusted entity and has the required per * missions to access the value in SecretsManagerSecret. */ secretsManagerAccessRoleArn?: string | core.StringOut; /** * (Optional) Full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the end * point connection details. Supported only for `engine_name` as `aurora`, `aurora-postgresql`, `mariad * b`, `mongodb`, `mysql`, `oracle`, `postgres`, `redshift` or `sqlserver`. */ secretsManagerArn?: string | core.StringOut; /** * (Optional) Host name of the server. */ serverName?: string | core.StringOut; /** * (Optional) ARN used by the service access IAM role for dynamodb endpoints. */ serviceAccessRole?: string | core.StringOut; /** * (Optional, Default: none) SSL mode to use for the connection. Valid values are `none`, `require`, `v * erify-ca`, `verify-full` */ sslMode?: string | core.StringOut; /** * (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` conf * iguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-conf * iguration-block) present, tags with matching keys will overwrite those defined at the provider-level * . */ tags?: core.Map | core.MapOut; /** * Map of tags assigned to the resource, including those inherited from the provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) User name to be used to login to the endpoint database. */ username?: string | core.StringOut; constructor(name: string, args?: EndpointArgs); getNamespace(): string; } //# sourceMappingURL=endpoint.d.ts.map