aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
914 lines • 338 kB
TypeScript
import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { CertificateReference, DataMigrationReference, DataProviderReference, EndpointReference, EventSubscriptionReference, ICertificateRef, IDataMigrationRef, IDataProviderRef, IEndpointRef, IEventSubscriptionRef, IInstanceProfileRef, IMigrationProjectRef, InstanceProfileReference, IReplicationConfigRef, IReplicationInstanceRef, IReplicationSubnetGroupRef, IReplicationTaskRef, MigrationProjectReference, ReplicationConfigReference, ReplicationInstanceReference, ReplicationSubnetGroupReference, ReplicationTaskReference } from "../../interfaces/generated/aws-dms-interfaces.generated";
/**
* The `AWS::DMS::Certificate` resource creates an Secure Sockets Layer (SSL) certificate that encrypts connections between AWS DMS endpoints and the replication instance.
*
* @cloudformationResource AWS::DMS::Certificate
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html
*/
export declare class CfnCertificate extends cdk.CfnResource implements cdk.IInspectable, ICertificateRef {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnCertificate from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnCertificate;
/**
* Checks whether the given object is a CfnCertificate
*/
static isCfnCertificate(x: any): x is CfnCertificate;
/**
* Creates a new ICertificateRef from a certificateId
*/
static fromCertificateId(scope: constructs.Construct, id: string, certificateId: string): ICertificateRef;
static arnForCertificate(resource: ICertificateRef): string;
/**
* A customer-assigned name for the certificate.
*/
private _certificateIdentifier?;
/**
* The contents of a `.pem` file, which contains an X.509 certificate.
*/
private _certificatePem?;
/**
* The location of an imported Oracle Wallet certificate for use with SSL.
*/
private _certificateWallet?;
/**
* Create a new `AWS::DMS::Certificate`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props?: CfnCertificateProps);
get certificateRef(): CertificateReference;
/**
* A customer-assigned name for the certificate.
*/
get certificateIdentifier(): string | undefined;
/**
* A customer-assigned name for the certificate.
*/
set certificateIdentifier(value: string | undefined);
/**
* The contents of a `.pem` file, which contains an X.509 certificate.
*/
get certificatePem(): string | undefined;
/**
* The contents of a `.pem` file, which contains an X.509 certificate.
*/
set certificatePem(value: string | undefined);
/**
* The location of an imported Oracle Wallet certificate for use with SSL.
*/
get certificateWallet(): string | undefined;
/**
* The location of an imported Oracle Wallet certificate for use with SSL.
*/
set certificateWallet(value: string | undefined);
/**
* @cloudformationAttribute Id
*/
get attrId(): string;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnCertificate`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html
*/
export interface CfnCertificateProps {
/**
* A customer-assigned name for the certificate.
*
* Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html#cfn-dms-certificate-certificateidentifier
*/
readonly certificateIdentifier?: string;
/**
* The contents of a `.pem` file, which contains an X.509 certificate.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html#cfn-dms-certificate-certificatepem
*/
readonly certificatePem?: string;
/**
* The location of an imported Oracle Wallet certificate for use with SSL.
*
* An example is: `filebase64("${path.root}/rds-ca-2019-root.sso")`
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html#cfn-dms-certificate-certificatewallet
*/
readonly certificateWallet?: string;
}
/**
* The `AWS::DMS::Endpoint` resource specifies an AWS DMS endpoint.
*
* Currently, AWS CloudFormation supports all AWS DMS endpoint types.
*
* @cloudformationResource AWS::DMS::Endpoint
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html
*/
export declare class CfnEndpoint extends cdk.CfnResource implements cdk.IInspectable, IEndpointRef, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnEndpoint from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnEndpoint;
/**
* Checks whether the given object is a CfnEndpoint
*/
static isCfnEndpoint(x: any): x is CfnEndpoint;
/**
* Creates a new IEndpointRef from a endpointId
*/
static fromEndpointId(scope: constructs.Construct, id: string, endpointId: string): IEndpointRef;
static arnForEndpoint(resource: IEndpointRef): string;
/**
* The Amazon Resource Name (ARN) for the certificate.
*/
private _certificateArn?;
/**
* The name of the endpoint database.
*/
private _databaseName?;
/**
* Settings in JSON format for the source and target DocumentDB endpoint.
*/
private _docDbSettings?;
/**
* Settings in JSON format for the target Amazon DynamoDB endpoint.
*/
private _dynamoDbSettings?;
/**
* Settings in JSON format for the target OpenSearch endpoint.
*/
private _elasticsearchSettings?;
/**
* The database endpoint identifier.
*/
private _endpointIdentifier?;
/**
* The type of endpoint.
*/
private _endpointType;
/**
* The type of engine for the endpoint, depending on the `EndpointType` value.
*/
private _engineName;
/**
* Additional attributes associated with the connection.
*/
private _extraConnectionAttributes?;
/**
* Settings in JSON format for the source GCP MySQL endpoint.
*/
private _gcpMySqlSettings?;
/**
* Settings in JSON format for the source IBM Db2 LUW endpoint.
*/
private _ibmDb2Settings?;
/**
* Settings in JSON format for the target Apache Kafka endpoint.
*/
private _kafkaSettings?;
/**
* Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams.
*/
private _kinesisSettings?;
/**
* An AWS key identifier that is used to encrypt the connection parameters for the endpoint.
*/
private _kmsKeyId?;
/**
* Settings in JSON format for the source and target Microsoft SQL Server endpoint.
*/
private _microsoftSqlServerSettings?;
/**
* Settings in JSON format for the source MongoDB endpoint.
*/
private _mongoDbSettings?;
/**
* Settings in JSON format for the source and target MySQL endpoint.
*/
private _mySqlSettings?;
/**
* Settings in JSON format for the target Amazon Neptune endpoint.
*/
private _neptuneSettings?;
/**
* Settings in JSON format for the source and target Oracle endpoint.
*/
private _oracleSettings?;
/**
* The password to be used to log in to the endpoint database.
*/
private _password?;
/**
* The port used by the endpoint database.
*/
private _port?;
/**
* Settings in JSON format for the source and target PostgreSQL endpoint.
*/
private _postgreSqlSettings?;
/**
* Settings in JSON format for the target Redis endpoint.
*/
private _redisSettings?;
/**
* Settings in JSON format for the Amazon Redshift endpoint.
*/
private _redshiftSettings?;
/**
* A display name for the resource identifier at the end of the `EndpointArn` response parameter that is returned in the created `Endpoint` object.
*/
private _resourceIdentifier?;
/**
* Settings in JSON format for the source and target Amazon S3 endpoint.
*/
private _s3Settings?;
/**
* The name of the server where the endpoint database resides.
*/
private _serverName?;
/**
* The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is `none` .
*/
private _sslMode?;
/**
* Settings in JSON format for the source and target SAP ASE endpoint.
*/
private _sybaseSettings?;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* One or more tags to be assigned to the endpoint.
*/
private _tagsRaw?;
/**
* The user name to be used to log in to the endpoint database.
*/
private _username?;
/**
* Create a new `AWS::DMS::Endpoint`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnEndpointProps);
get endpointRef(): EndpointReference;
/**
* The Amazon Resource Name (ARN) for the certificate.
*/
get certificateArn(): string | undefined;
/**
* The Amazon Resource Name (ARN) for the certificate.
*/
set certificateArn(value: string | undefined);
/**
* The name of the endpoint database.
*/
get databaseName(): string | undefined;
/**
* The name of the endpoint database.
*/
set databaseName(value: string | undefined);
/**
* Settings in JSON format for the source and target DocumentDB endpoint.
*/
get docDbSettings(): CfnEndpoint.DocDbSettingsProperty | cdk.IResolvable | undefined;
/**
* Settings in JSON format for the source and target DocumentDB endpoint.
*/
set docDbSettings(value: CfnEndpoint.DocDbSettingsProperty | cdk.IResolvable | undefined);
/**
* Settings in JSON format for the target Amazon DynamoDB endpoint.
*/
get dynamoDbSettings(): CfnEndpoint.DynamoDbSettingsProperty | cdk.IResolvable | undefined;
/**
* Settings in JSON format for the target Amazon DynamoDB endpoint.
*/
set dynamoDbSettings(value: CfnEndpoint.DynamoDbSettingsProperty | cdk.IResolvable | undefined);
/**
* Settings in JSON format for the target OpenSearch endpoint.
*/
get elasticsearchSettings(): CfnEndpoint.ElasticsearchSettingsProperty | cdk.IResolvable | undefined;
/**
* Settings in JSON format for the target OpenSearch endpoint.
*/
set elasticsearchSettings(value: CfnEndpoint.ElasticsearchSettingsProperty | cdk.IResolvable | undefined);
/**
* The database endpoint identifier.
*/
get endpointIdentifier(): string | undefined;
/**
* The database endpoint identifier.
*/
set endpointIdentifier(value: string | undefined);
/**
* The type of endpoint.
*/
get endpointType(): string;
/**
* The type of endpoint.
*/
set endpointType(value: string);
/**
* The type of engine for the endpoint, depending on the `EndpointType` value.
*/
get engineName(): string;
/**
* The type of engine for the endpoint, depending on the `EndpointType` value.
*/
set engineName(value: string);
/**
* Additional attributes associated with the connection.
*/
get extraConnectionAttributes(): string | undefined;
/**
* Additional attributes associated with the connection.
*/
set extraConnectionAttributes(value: string | undefined);
/**
* Settings in JSON format for the source GCP MySQL endpoint.
*/
get gcpMySqlSettings(): CfnEndpoint.GcpMySQLSettingsProperty | cdk.IResolvable | undefined;
/**
* Settings in JSON format for the source GCP MySQL endpoint.
*/
set gcpMySqlSettings(value: CfnEndpoint.GcpMySQLSettingsProperty | cdk.IResolvable | undefined);
/**
* Settings in JSON format for the source IBM Db2 LUW endpoint.
*/
get ibmDb2Settings(): CfnEndpoint.IbmDb2SettingsProperty | cdk.IResolvable | undefined;
/**
* Settings in JSON format for the source IBM Db2 LUW endpoint.
*/
set ibmDb2Settings(value: CfnEndpoint.IbmDb2SettingsProperty | cdk.IResolvable | undefined);
/**
* Settings in JSON format for the target Apache Kafka endpoint.
*/
get kafkaSettings(): cdk.IResolvable | CfnEndpoint.KafkaSettingsProperty | undefined;
/**
* Settings in JSON format for the target Apache Kafka endpoint.
*/
set kafkaSettings(value: cdk.IResolvable | CfnEndpoint.KafkaSettingsProperty | undefined);
/**
* Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams.
*/
get kinesisSettings(): cdk.IResolvable | CfnEndpoint.KinesisSettingsProperty | undefined;
/**
* Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams.
*/
set kinesisSettings(value: cdk.IResolvable | CfnEndpoint.KinesisSettingsProperty | undefined);
/**
* An AWS key identifier that is used to encrypt the connection parameters for the endpoint.
*/
get kmsKeyId(): string | undefined;
/**
* An AWS key identifier that is used to encrypt the connection parameters for the endpoint.
*/
set kmsKeyId(value: string | undefined);
/**
* Settings in JSON format for the source and target Microsoft SQL Server endpoint.
*/
get microsoftSqlServerSettings(): cdk.IResolvable | CfnEndpoint.MicrosoftSqlServerSettingsProperty | undefined;
/**
* Settings in JSON format for the source and target Microsoft SQL Server endpoint.
*/
set microsoftSqlServerSettings(value: cdk.IResolvable | CfnEndpoint.MicrosoftSqlServerSettingsProperty | undefined);
/**
* Settings in JSON format for the source MongoDB endpoint.
*/
get mongoDbSettings(): cdk.IResolvable | CfnEndpoint.MongoDbSettingsProperty | undefined;
/**
* Settings in JSON format for the source MongoDB endpoint.
*/
set mongoDbSettings(value: cdk.IResolvable | CfnEndpoint.MongoDbSettingsProperty | undefined);
/**
* Settings in JSON format for the source and target MySQL endpoint.
*/
get mySqlSettings(): cdk.IResolvable | CfnEndpoint.MySqlSettingsProperty | undefined;
/**
* Settings in JSON format for the source and target MySQL endpoint.
*/
set mySqlSettings(value: cdk.IResolvable | CfnEndpoint.MySqlSettingsProperty | undefined);
/**
* Settings in JSON format for the target Amazon Neptune endpoint.
*/
get neptuneSettings(): cdk.IResolvable | CfnEndpoint.NeptuneSettingsProperty | undefined;
/**
* Settings in JSON format for the target Amazon Neptune endpoint.
*/
set neptuneSettings(value: cdk.IResolvable | CfnEndpoint.NeptuneSettingsProperty | undefined);
/**
* Settings in JSON format for the source and target Oracle endpoint.
*/
get oracleSettings(): cdk.IResolvable | CfnEndpoint.OracleSettingsProperty | undefined;
/**
* Settings in JSON format for the source and target Oracle endpoint.
*/
set oracleSettings(value: cdk.IResolvable | CfnEndpoint.OracleSettingsProperty | undefined);
/**
* The password to be used to log in to the endpoint database.
*/
get password(): string | undefined;
/**
* The password to be used to log in to the endpoint database.
*/
set password(value: string | undefined);
/**
* The port used by the endpoint database.
*/
get port(): number | undefined;
/**
* The port used by the endpoint database.
*/
set port(value: number | undefined);
/**
* Settings in JSON format for the source and target PostgreSQL endpoint.
*/
get postgreSqlSettings(): cdk.IResolvable | CfnEndpoint.PostgreSqlSettingsProperty | undefined;
/**
* Settings in JSON format for the source and target PostgreSQL endpoint.
*/
set postgreSqlSettings(value: cdk.IResolvable | CfnEndpoint.PostgreSqlSettingsProperty | undefined);
/**
* Settings in JSON format for the target Redis endpoint.
*/
get redisSettings(): cdk.IResolvable | CfnEndpoint.RedisSettingsProperty | undefined;
/**
* Settings in JSON format for the target Redis endpoint.
*/
set redisSettings(value: cdk.IResolvable | CfnEndpoint.RedisSettingsProperty | undefined);
/**
* Settings in JSON format for the Amazon Redshift endpoint.
*/
get redshiftSettings(): cdk.IResolvable | CfnEndpoint.RedshiftSettingsProperty | undefined;
/**
* Settings in JSON format for the Amazon Redshift endpoint.
*/
set redshiftSettings(value: cdk.IResolvable | CfnEndpoint.RedshiftSettingsProperty | undefined);
/**
* A display name for the resource identifier at the end of the `EndpointArn` response parameter that is returned in the created `Endpoint` object.
*/
get resourceIdentifier(): string | undefined;
/**
* A display name for the resource identifier at the end of the `EndpointArn` response parameter that is returned in the created `Endpoint` object.
*/
set resourceIdentifier(value: string | undefined);
/**
* Settings in JSON format for the source and target Amazon S3 endpoint.
*/
get s3Settings(): cdk.IResolvable | CfnEndpoint.S3SettingsProperty | undefined;
/**
* Settings in JSON format for the source and target Amazon S3 endpoint.
*/
set s3Settings(value: cdk.IResolvable | CfnEndpoint.S3SettingsProperty | undefined);
/**
* The name of the server where the endpoint database resides.
*/
get serverName(): string | undefined;
/**
* The name of the server where the endpoint database resides.
*/
set serverName(value: string | undefined);
/**
* The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is `none` .
*/
get sslMode(): string | undefined;
/**
* The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is `none` .
*/
set sslMode(value: string | undefined);
/**
* Settings in JSON format for the source and target SAP ASE endpoint.
*/
get sybaseSettings(): cdk.IResolvable | CfnEndpoint.SybaseSettingsProperty | undefined;
/**
* Settings in JSON format for the source and target SAP ASE endpoint.
*/
set sybaseSettings(value: cdk.IResolvable | CfnEndpoint.SybaseSettingsProperty | undefined);
/**
* One or more tags to be assigned to the endpoint.
*/
get tagsRaw(): Array<cdk.CfnTag> | undefined;
/**
* One or more tags to be assigned to the endpoint.
*/
set tagsRaw(value: Array<cdk.CfnTag> | undefined);
/**
* The user name to be used to log in to the endpoint database.
*/
get username(): string | undefined;
/**
* The user name to be used to log in to the endpoint database.
*/
set username(value: string | undefined);
/**
* A value that can be used for cross-account validation.
*
* @cloudformationAttribute ExternalId
*/
get attrExternalId(): string;
/**
* @cloudformationAttribute Id
*/
get attrId(): string;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnEndpoint {
/**
* Provides information that defines a SAP ASE endpoint.
*
* This information includes the output format of records applied to the endpoint and details of transaction and control table data information. For information about other available settings, see [Extra connection attributes when using SAP ASE as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html#CHAP_Source.SAP.ConnectionAttrib) and [Extra connection attributes when using SAP ASE as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.html#CHAP_Target.SAP.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-sybasesettings.html
*/
interface SybaseSettingsProperty {
/**
* The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` .
*
* The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the SAP ASE endpoint.
*
* > You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.
* >
* > For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-sybasesettings.html#cfn-dms-endpoint-sybasesettings-secretsmanageraccessrolearn
*/
readonly secretsManagerAccessRoleArn?: string;
/**
* The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the SAP SAE endpoint connection details.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-sybasesettings.html#cfn-dms-endpoint-sybasesettings-secretsmanagersecretid
*/
readonly secretsManagerSecretId?: string;
}
/**
* Provides information that defines a Redis target endpoint.
*
* This information includes the output format of records applied to the endpoint and details of transaction and control table data information. For information about other available settings, see [Specifying endpoint settings for Redis as a target](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redis.html#CHAP_Target.Redis.EndpointSettings) in the *AWS Database Migration Service User Guide* .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redissettings.html
*/
interface RedisSettingsProperty {
/**
* The password provided with the `auth-role` and `auth-token` options of the `AuthType` setting for a Redis target endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redissettings.html#cfn-dms-endpoint-redissettings-authpassword
*/
readonly authPassword?: string;
/**
* The type of authentication to perform when connecting to a Redis target.
*
* Options include `none` , `auth-token` , and `auth-role` . The `auth-token` option requires an `AuthPassword` value to be provided. The `auth-role` option requires `AuthUserName` and `AuthPassword` values to be provided.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redissettings.html#cfn-dms-endpoint-redissettings-authtype
*/
readonly authType?: string;
/**
* The user name provided with the `auth-role` option of the `AuthType` setting for a Redis target endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redissettings.html#cfn-dms-endpoint-redissettings-authusername
*/
readonly authUserName?: string;
/**
* Transmission Control Protocol (TCP) port for the endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redissettings.html#cfn-dms-endpoint-redissettings-port
*/
readonly port?: number;
/**
* Fully qualified domain name of the endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redissettings.html#cfn-dms-endpoint-redissettings-servername
*/
readonly serverName?: string;
/**
* The Amazon Resource Name (ARN) for the certificate authority (CA) that DMS uses to connect to your Redis target endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redissettings.html#cfn-dms-endpoint-redissettings-sslcacertificatearn
*/
readonly sslCaCertificateArn?: string;
/**
* The connection to a Redis target endpoint using Transport Layer Security (TLS).
*
* Valid values include `plaintext` and `ssl-encryption` . The default is `ssl-encryption` . The `ssl-encryption` option makes an encrypted connection. Optionally, you can identify an Amazon Resource Name (ARN) for an SSL certificate authority (CA) using the `SslCaCertificateArn` setting. If an ARN isn't given for a CA, DMS uses the Amazon root CA.
*
* The `plaintext` option doesn't provide Transport Layer Security (TLS) encryption for traffic between endpoint and database.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redissettings.html#cfn-dms-endpoint-redissettings-sslsecurityprotocol
*/
readonly sslSecurityProtocol?: string;
}
/**
* Provides information that defines an Oracle endpoint.
*
* This information includes the output format of records applied to the endpoint and details of transaction and control table data information. For information about other available settings, see [Extra connection attributes when using Oracle as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib) and [Extra connection attributes when using Oracle as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.ConnectionAttrib) in the *AWS Database Migration Service User Guide* .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html
*/
interface OracleSettingsProperty {
/**
* Set this attribute to `false` in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source.
*
* This tells the DMS instance to not access redo logs through any specified path prefix replacement using direct file access.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-accessalternatedirectly
*/
readonly accessAlternateDirectly?: boolean | cdk.IResolvable;
/**
* Set this attribute with `ArchivedLogDestId` in a primary/ standby setup.
*
* This attribute is useful in the case of a switchover. In this case, AWS DMS needs to know which destination to get archive redo logs from to read changes. This need arises because the previous primary instance is now a standby instance after switchover.
*
* Although AWS DMS supports the use of the Oracle `RESETLOGS` option to open the database, never use `RESETLOGS` unless necessary. For additional information about `RESETLOGS` , see [RMAN Data Repair Concepts](https://docs.aws.amazon.com/https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B) in the *Oracle Database Backup and Recovery User's Guide* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-additionalarchivedlogdestid
*/
readonly additionalArchivedLogDestId?: number;
/**
* Set this attribute to set up table-level supplemental logging for the Oracle database.
*
* This attribute enables PRIMARY KEY supplemental logging on all tables selected for a migration task.
*
* If you use this option, you still need to enable database-level supplemental logging.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-addsupplementallogging
*/
readonly addSupplementalLogging?: boolean | cdk.IResolvable;
/**
* Set this attribute to `true` to enable replication of Oracle tables containing columns that are nested tables or defined types.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-allowselectnestedtables
*/
readonly allowSelectNestedTables?: boolean | cdk.IResolvable;
/**
* Specifies the ID of the destination for the archived redo logs.
*
* This value should be the same as a number in the dest_id column of the v$archived_log view. If you work with an additional redo log destination, use the `AdditionalArchivedLogDestId` option to specify the additional destination ID. Doing this improves performance by ensuring that the correct logs are accessed from the outset.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-archivedlogdestid
*/
readonly archivedLogDestId?: number;
/**
* When this field is set to `True` , AWS DMS only accesses the archived redo logs.
*
* If the archived redo logs are stored on Automatic Storage Management (ASM) only, the AWS DMS user account needs to be granted ASM privileges.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-archivedlogsonly
*/
readonly archivedLogsOnly?: boolean | cdk.IResolvable;
/**
* For an Oracle source endpoint, your Oracle Automatic Storage Management (ASM) password.
*
* You can set this value from the `*asm_user_password*` value. You set this value as part of the comma-separated value that you set to the `Password` request parameter when you create the endpoint to access transaction logs using Binary Reader. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-asmpassword
*/
readonly asmPassword?: string;
/**
* For an Oracle source endpoint, your ASM server address.
*
* You can set this value from the `asm_server` value. You set `asm_server` as part of the extra connection attribute string to access an Oracle server with Binary Reader that uses ASM. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-asmserver
*/
readonly asmServer?: string;
/**
* For an Oracle source endpoint, your ASM user name.
*
* You can set this value from the `asm_user` value. You set `asm_user` as part of the extra connection attribute string to access an Oracle server with Binary Reader that uses ASM. For more information, see [Configuration for change data capture (CDC) on an Oracle source database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-asmuser
*/
readonly asmUser?: string;
/**
* Specifies whether the length of a character column is in bytes or in characters.
*
* To indicate that the character column length is in characters, set this attribute to `CHAR` . Otherwise, the character column length is in bytes.
*
* Example: `charLengthSemantics=CHAR;`
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-charlengthsemantics
*/
readonly charLengthSemantics?: string;
/**
* When set to `true` , this attribute helps to increase the commit rate on the Oracle target database by writing directly to tables and not writing a trail to database logs.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-directpathnolog
*/
readonly directPathNoLog?: boolean | cdk.IResolvable;
/**
* When set to `true` , this attribute specifies a parallel load when `useDirectPathFullLoad` is set to `Y` .
*
* This attribute also only applies when you use the AWS DMS parallel load feature. Note that the target table cannot have any constraints or indexes.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-directpathparallelload
*/
readonly directPathParallelLoad?: boolean | cdk.IResolvable;
/**
* Set this attribute to enable homogenous tablespace replication and create existing tables or indexes under the same tablespace on the target.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-enablehomogenoustablespace
*/
readonly enableHomogenousTablespace?: boolean | cdk.IResolvable;
/**
* Specifies the IDs of one more destinations for one or more archived redo logs.
*
* These IDs are the values of the `dest_id` column in the `v$archived_log` view. Use this setting with the `archivedLogDestId` extra connection attribute in a primary-to-single setup or a primary-to-multiple-standby setup.
*
* This setting is useful in a switchover when you use an Oracle Data Guard database as a source. In this case, AWS DMS needs information about what destination to get archive redo logs from to read changes. AWS DMS needs this because after the switchover the previous primary is a standby instance. For example, in a primary-to-single standby setup you might apply the following settings.
*
* `archivedLogDestId=1; ExtraArchivedLogDestIds=[2]`
*
* In a primary-to-multiple-standby setup, you might apply the following settings.
*
* `archivedLogDestId=1; ExtraArchivedLogDestIds=[2,3,4]`
*
* Although AWS DMS supports the use of the Oracle `RESETLOGS` option to open the database, never use `RESETLOGS` unless it's necessary. For more information about `RESETLOGS` , see [RMAN Data Repair Concepts](https://docs.aws.amazon.com/https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B) in the *Oracle Database Backup and Recovery User's Guide* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-extraarchivedlogdestids
*/
readonly extraArchivedLogDestIds?: Array<number> | cdk.IResolvable;
/**
* When set to `true` , this attribute causes a task to fail if the actual size of an LOB column is greater than the specified `LobMaxSize` .
*
* If a task is set to limited LOB mode and this option is set to `true` , the task fails instead of truncating the LOB data.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-failtasksonlobtruncation
*/
readonly failTasksOnLobTruncation?: boolean | cdk.IResolvable;
/**
* Specifies the number scale.
*
* You can select a scale up to 38, or you can select FLOAT. By default, the NUMBER data type is converted to precision 38, scale 10.
*
* Example: `numberDataTypeScale=12`
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-numberdatatypescale
*/
readonly numberDatatypeScale?: number;
/**
* Set this string attribute to the required value in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source.
*
* This value specifies the default Oracle root used to access the redo logs.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-oraclepathprefix
*/
readonly oraclePathPrefix?: string;
/**
* Set this attribute to change the number of threads that DMS configures to perform a change data capture (CDC) load using Oracle Automatic Storage Management (ASM).
*
* You can specify an integer value between 2 (the default) and 8 (the maximum). Use this attribute together with the `readAheadBlocks` attribute.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-parallelasmreadthreads
*/
readonly parallelAsmReadThreads?: number;
/**
* Set this attribute to change the number of read-ahead blocks that DMS configures to perform a change data capture (CDC) load using Oracle Automatic Storage Management (ASM).
*
* You can specify an integer value between 1000 (the default) and 200,000 (the maximum).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-readaheadblocks
*/
readonly readAheadBlocks?: number;
/**
* When set to `true` , this attribute supports tablespace replication.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-readtablespacename
*/
readonly readTableSpaceName?: boolean | cdk.IResolvable;
/**
* Set this attribute to true in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle as the source.
*
* This setting tells DMS instance to replace the default Oracle root with the specified `usePathPrefix` setting to access the redo logs.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-replacepathprefix
*/
readonly replacePathPrefix?: boolean | cdk.IResolvable;
/**
* Specifies the number of seconds that the system waits before resending a query.
*
* Example: `retryInterval=6;`
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-retryinterval
*/
readonly retryInterval?: number;
/**
* The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in `SecretsManagerSecret` .
*
* The role must allow the `iam:PassRole` action. `SecretsManagerSecret` has the value of the AWS Secrets Manager secret that allows access to the Oracle endpoint.
*
* > You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerSecretId` . Or you can specify clear-text values for `UserName` , `Password` , `ServerName` , and `Port` . You can't specify both.
* >
* > For more information on creating this `SecretsManagerSecret` , the corresponding `SecretsManagerAccessRoleArn` , and the `SecretsManagerSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-secretsmanageraccessrolearn
*/
readonly secretsManagerAccessRoleArn?: string;
/**
* Required only if your Oracle endpoint uses Advanced Storage Manager (ASM).
*
* The full ARN of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the `SecretsManagerOracleAsmSecret` . This `SecretsManagerOracleAsmSecret` has the secret value that allows access to the Oracle ASM of the endpoint.
*
* > You can specify one of two sets of values for these permissions. You can specify the values for this setting and `SecretsManagerOracleAsmSecretId` . Or you can specify clear-text values for `AsmUser` , `AsmPassword` , and `AsmServerName` . You can't specify both.
* >
* > For more information on creating this `SecretsManagerOracleAsmSecret` , the corresponding `SecretsManagerOracleAsmAccessRoleArn` , and the `SecretsManagerOracleAsmSecretId` that is required to access it, see [Using secrets to access AWS Database Migration Service resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager) in the *AWS Database Migration Service User Guide* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-secretsmanageroracleasmaccessrolearn
*/
readonly secretsManagerOracleAsmAccessRoleArn?: string;
/**
* Required only if your Oracle endpoint uses Advanced Storage Manager (ASM).
*
* The full ARN, partial ARN, or display name of the `SecretsManagerOracleAsmSecret` that contains the Oracle ASM connection details for the Oracle endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-secretsmanageroracleasmsecretid
*/
readonly secretsManagerOracleAsmSecretId?: string;
/**
* The full ARN, partial ARN, or display name of the `SecretsManagerSecret` that contains the Oracle endpoint connection details.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-secretsmanagersecretid
*/
readonly secretsManagerSecretId?: string;
/**
* For an Oracle source endpoint, the transparent data encryption (TDE) password required by AWM DMS to access Oracle redo logs encrypted by TDE using Binary Reader.
*
* It is also the `*TDE_Password*` part of the comma-separated value you set to the `Password` request parameter when you create the endpoint. The `SecurityDbEncryptian` setting is related to this `SecurityDbEncryptionName` setting. For more information, see [Supported encryption methods for using Oracle as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption) in the *AWS Database Migration Service User Guide* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-securitydbencryption
*/
readonly securityDbEncryption?: string;
/**
* For an Oracle source endpoint, the name of a key used for the transparent data encryption (TDE) of the columns and tablespaces in an Oracle source database that is encrypted using TDE.
*
* The key value is the value of the `SecurityDbEncryption` setting. For more information on setting the key name value of `SecurityDbEncryptionName` , see the information and example for setting the `securityDbEncryptionName` extra connection attribute in [Supported encryption methods for using Oracle as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption) in the *AWS Database Migration Service User Guide* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-securitydbencryptionname
*/
readonly securityDbEncryptionName?: string;
/**
* Use this attribute to convert `SDO_GEOMETRY` to `GEOJSON` format.
*
* By default, DMS calls the `SDO2GEOJSON` custom function if present and accessible. Or you can create your own custom function that mimics the operation of `SDOGEOJSON` and set `SpatialDataOptionToGeoJsonFunctionName` to call it instead.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-oraclesettings.html#cfn-dms-endpoint-oraclesettings-spatialdataoptiontogeojsonfunctionname
*/
readonly spatialDataOptionToGeoJsonFunctionName?: string;
/**
* Use this attribute to specify a time in minutes for the delay in standby sync.
*
* If the source is an Oracle Active Data Guard standby database, use this attribute to specify the time lag between primary and standby databases.
*
* In AWS DMS , you can create an Oracle CDC task that uses an Active Data Guard standby instance as a source for replicating ongoing changes. Doing this eliminates the need to connect to an ac