import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Provides a DMS (Data Migration Service) endpoint resource. DMS endpoints can be created, updated, deleted, and imported. * * > **Note:** All arguments including the password will be stored in the raw state as plain-text. ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const test = new aws.dms.Endpoint("test", { * certificateArn: "arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012", * databaseName: "test", * endpointId: "test-dms-endpoint-tf", * endpointType: "source", * engineName: "aurora", * extraConnectionAttributes: "", * kmsKeyArn: "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012", * password: "test", * port: 3306, * serverName: "test", * sslMode: "none", * tags: { * Name: "test", * }, * username: "test", * }); * ``` * * ## Import * * Using `pulumi import`, import endpoints using the `endpointId`. For example: * * ```sh * $ pulumi import aws:dms/endpoint:Endpoint test test-dms-endpoint-tf * ``` */ export declare class Endpoint extends pulumi.CustomResource { /** * Get an existing Endpoint resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: EndpointState, opts?: pulumi.CustomResourceOptions): Endpoint; /** * Returns true if the given object is an instance of Endpoint. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Endpoint; /** * ARN for the certificate. */ readonly certificateArn: pulumi.Output; /** * Name of the endpoint database. */ readonly databaseName: pulumi.Output; /** * Configuration block for OpenSearch settings. See below. */ readonly elasticsearchSettings: pulumi.Output; /** * ARN for the endpoint. */ readonly endpointArn: pulumi.Output; /** * Database endpoint identifier. Identifiers must contain from 1 to 255 alphanumeric characters or hyphens, begin with a letter, contain only ASCII letters, digits, and hyphens, not end with a hyphen, and not contain two consecutive hyphens. */ readonly endpointId: pulumi.Output; /** * Type of endpoint. Valid values are `source`, `target`. */ readonly endpointType: pulumi.Output; /** * Type of engine for the endpoint. Valid values are `aurora`, `aurora-postgresql`, `aurora-serverless`, `aurora-postgresql-serverless`,`azuredb`, `azure-sql-managed-instance`, `babelfish`, `db2`, `db2-zos`, `docdb`, `dynamodb`, `elasticsearch`, `kafka`, `kinesis`, `mariadb`, `mongodb`, `mysql`, `opensearch`, `oracle`, `postgres`, `redshift`,`redshift-serverless`, `sqlserver`, `neptune` ,`sybase`. Please note that some of engine names are available only for `target` endpoint type (e.g. `redshift`). */ readonly engineName: pulumi.Output; /** * Additional attributes associated with the connection. For available attributes for a `source` Endpoint, see [Sources for data migration](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html). For available attributes for a `target` Endpoint, see [Targets for data migration](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html). */ readonly extraConnectionAttributes: pulumi.Output; /** * Configuration block for Kafka settings. See below. */ readonly kafkaSettings: pulumi.Output; /** * Configuration block for Kinesis settings. See below. */ readonly kinesisSettings: pulumi.Output; /** * ARN for the KMS key that will be used to encrypt the connection parameters. If you do not specify a value for `kmsKeyArn`, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region. When `engineName` is `redshift`, `kmsKeyArn` is the KMS Key for the Redshift target and the parameter `redshift_settings.server_side_encryption_kms_key_id` encrypts the S3 intermediate storage. * * The following arguments are optional: */ readonly kmsKeyArn: pulumi.Output; /** * Configuration block for MongoDB settings. See below. */ readonly mongodbSettings: pulumi.Output; /** * Configuration block for MySQL settings. See below. */ readonly mysqlSettings: pulumi.Output; /** * Configuration block for Oracle settings. See below. */ readonly oracleSettings: pulumi.Output; /** * Password to be used to login to the endpoint database. */ readonly password: pulumi.Output; /** * Whether to pause associated running replication tasks, regardless if they are managed by Terraform, prior to modifying the endpoint. Only tasks paused by the resource will be restarted after the modification completes. Default is `false`. */ readonly pauseReplicationTasks: pulumi.Output; /** * Port used by the endpoint database. */ readonly port: pulumi.Output; /** * Configuration block for Postgres settings. See below. */ readonly postgresSettings: pulumi.Output; readonly redisSettings: pulumi.Output; /** * Configuration block for Redshift settings. See below. */ readonly redshiftSettings: pulumi.Output; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ readonly region: pulumi.Output; /** * ARN of the IAM role that specifies AWS DMS as the trusted entity and has the required permissions to access the value in the Secrets Manager secret referred to by `secretsManagerArn`. The role must allow the `iam:PassRole` action. * * > **Note:** You can specify one of two sets of values for these permissions. You can specify the values for this setting and `secretsManagerArn`. Or you can specify clear-text values for `username`, `password` , `serverName`, and `port`. You can't specify both. */ readonly secretsManagerAccessRoleArn: pulumi.Output; /** * Full ARN, partial ARN, or friendly name of the Secrets Manager secret that contains the endpoint connection details. Supported only when `engineName` is `aurora`, `aurora-postgresql`, `mariadb`, `mongodb`, `mysql`, `oracle`, `postgres`, `redshift`, or `sqlserver`. */ readonly secretsManagerArn: pulumi.Output; /** * Host name of the server. */ readonly serverName: pulumi.Output; /** * ARN used by the service access IAM role for dynamodb endpoints. */ readonly serviceAccessRole: pulumi.Output; /** * SSL mode to use for the connection. Valid values are `none`, `require`, `verify-ca`, `verify-full` */ readonly sslMode: pulumi.Output; /** * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ readonly tagsAll: pulumi.Output<{ [key: string]: string; }>; /** * User name to be used to login to the endpoint database. */ readonly username: pulumi.Output; /** * Create a Endpoint resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: EndpointArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Endpoint resources. */ export interface EndpointState { /** * ARN for the certificate. */ certificateArn?: pulumi.Input; /** * Name of the endpoint database. */ databaseName?: pulumi.Input; /** * Configuration block for OpenSearch settings. See below. */ elasticsearchSettings?: pulumi.Input; /** * ARN for the endpoint. */ endpointArn?: pulumi.Input; /** * Database endpoint identifier. Identifiers must contain from 1 to 255 alphanumeric characters 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?: pulumi.Input; /** * Type of endpoint. Valid values are `source`, `target`. */ endpointType?: pulumi.Input; /** * Type of engine for the endpoint. Valid values are `aurora`, `aurora-postgresql`, `aurora-serverless`, `aurora-postgresql-serverless`,`azuredb`, `azure-sql-managed-instance`, `babelfish`, `db2`, `db2-zos`, `docdb`, `dynamodb`, `elasticsearch`, `kafka`, `kinesis`, `mariadb`, `mongodb`, `mysql`, `opensearch`, `oracle`, `postgres`, `redshift`,`redshift-serverless`, `sqlserver`, `neptune` ,`sybase`. Please note that some of engine names are available only for `target` endpoint type (e.g. `redshift`). */ engineName?: pulumi.Input; /** * Additional attributes associated with the connection. For available attributes for a `source` Endpoint, see [Sources for data migration](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html). For available attributes for a `target` Endpoint, see [Targets for data migration](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html). */ extraConnectionAttributes?: pulumi.Input; /** * Configuration block for Kafka settings. See below. */ kafkaSettings?: pulumi.Input; /** * Configuration block for Kinesis settings. See below. */ kinesisSettings?: pulumi.Input; /** * ARN for the KMS key that will be used to encrypt the connection parameters. If you do not specify a value for `kmsKeyArn`, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region. When `engineName` is `redshift`, `kmsKeyArn` is the KMS Key for the Redshift target and the parameter `redshift_settings.server_side_encryption_kms_key_id` encrypts the S3 intermediate storage. * * The following arguments are optional: */ kmsKeyArn?: pulumi.Input; /** * Configuration block for MongoDB settings. See below. */ mongodbSettings?: pulumi.Input; /** * Configuration block for MySQL settings. See below. */ mysqlSettings?: pulumi.Input; /** * Configuration block for Oracle settings. See below. */ oracleSettings?: pulumi.Input; /** * Password to be used to login to the endpoint database. */ password?: pulumi.Input; /** * Whether to pause associated running replication tasks, regardless if they are managed by Terraform, prior to modifying the endpoint. Only tasks paused by the resource will be restarted after the modification completes. Default is `false`. */ pauseReplicationTasks?: pulumi.Input; /** * Port used by the endpoint database. */ port?: pulumi.Input; /** * Configuration block for Postgres settings. See below. */ postgresSettings?: pulumi.Input; redisSettings?: pulumi.Input; /** * Configuration block for Redshift settings. See below. */ redshiftSettings?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * ARN of the IAM role that specifies AWS DMS as the trusted entity and has the required permissions to access the value in the Secrets Manager secret referred to by `secretsManagerArn`. The role must allow the `iam:PassRole` action. * * > **Note:** You can specify one of two sets of values for these permissions. You can specify the values for this setting and `secretsManagerArn`. Or you can specify clear-text values for `username`, `password` , `serverName`, and `port`. You can't specify both. */ secretsManagerAccessRoleArn?: pulumi.Input; /** * Full ARN, partial ARN, or friendly name of the Secrets Manager secret that contains the endpoint connection details. Supported only when `engineName` is `aurora`, `aurora-postgresql`, `mariadb`, `mongodb`, `mysql`, `oracle`, `postgres`, `redshift`, or `sqlserver`. */ secretsManagerArn?: pulumi.Input; /** * Host name of the server. */ serverName?: pulumi.Input; /** * ARN used by the service access IAM role for dynamodb endpoints. */ serviceAccessRole?: pulumi.Input; /** * SSL mode to use for the connection. Valid values are `none`, `require`, `verify-ca`, `verify-full` */ sslMode?: pulumi.Input; /** * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ tagsAll?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * User name to be used to login to the endpoint database. */ username?: pulumi.Input; } /** * The set of arguments for constructing a Endpoint resource. */ export interface EndpointArgs { /** * ARN for the certificate. */ certificateArn?: pulumi.Input; /** * Name of the endpoint database. */ databaseName?: pulumi.Input; /** * Configuration block for OpenSearch settings. See below. */ elasticsearchSettings?: pulumi.Input; /** * Database endpoint identifier. Identifiers must contain from 1 to 255 alphanumeric characters 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: pulumi.Input; /** * Type of endpoint. Valid values are `source`, `target`. */ endpointType: pulumi.Input; /** * Type of engine for the endpoint. Valid values are `aurora`, `aurora-postgresql`, `aurora-serverless`, `aurora-postgresql-serverless`,`azuredb`, `azure-sql-managed-instance`, `babelfish`, `db2`, `db2-zos`, `docdb`, `dynamodb`, `elasticsearch`, `kafka`, `kinesis`, `mariadb`, `mongodb`, `mysql`, `opensearch`, `oracle`, `postgres`, `redshift`,`redshift-serverless`, `sqlserver`, `neptune` ,`sybase`. Please note that some of engine names are available only for `target` endpoint type (e.g. `redshift`). */ engineName: pulumi.Input; /** * Additional attributes associated with the connection. For available attributes for a `source` Endpoint, see [Sources for data migration](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html). For available attributes for a `target` Endpoint, see [Targets for data migration](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html). */ extraConnectionAttributes?: pulumi.Input; /** * Configuration block for Kafka settings. See below. */ kafkaSettings?: pulumi.Input; /** * Configuration block for Kinesis settings. See below. */ kinesisSettings?: pulumi.Input; /** * ARN for the KMS key that will be used to encrypt the connection parameters. If you do not specify a value for `kmsKeyArn`, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region. When `engineName` is `redshift`, `kmsKeyArn` is the KMS Key for the Redshift target and the parameter `redshift_settings.server_side_encryption_kms_key_id` encrypts the S3 intermediate storage. * * The following arguments are optional: */ kmsKeyArn?: pulumi.Input; /** * Configuration block for MongoDB settings. See below. */ mongodbSettings?: pulumi.Input; /** * Configuration block for MySQL settings. See below. */ mysqlSettings?: pulumi.Input; /** * Configuration block for Oracle settings. See below. */ oracleSettings?: pulumi.Input; /** * Password to be used to login to the endpoint database. */ password?: pulumi.Input; /** * Whether to pause associated running replication tasks, regardless if they are managed by Terraform, prior to modifying the endpoint. Only tasks paused by the resource will be restarted after the modification completes. Default is `false`. */ pauseReplicationTasks?: pulumi.Input; /** * Port used by the endpoint database. */ port?: pulumi.Input; /** * Configuration block for Postgres settings. See below. */ postgresSettings?: pulumi.Input; redisSettings?: pulumi.Input; /** * Configuration block for Redshift settings. See below. */ redshiftSettings?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * ARN of the IAM role that specifies AWS DMS as the trusted entity and has the required permissions to access the value in the Secrets Manager secret referred to by `secretsManagerArn`. The role must allow the `iam:PassRole` action. * * > **Note:** You can specify one of two sets of values for these permissions. You can specify the values for this setting and `secretsManagerArn`. Or you can specify clear-text values for `username`, `password` , `serverName`, and `port`. You can't specify both. */ secretsManagerAccessRoleArn?: pulumi.Input; /** * Full ARN, partial ARN, or friendly name of the Secrets Manager secret that contains the endpoint connection details. Supported only when `engineName` is `aurora`, `aurora-postgresql`, `mariadb`, `mongodb`, `mysql`, `oracle`, `postgres`, `redshift`, or `sqlserver`. */ secretsManagerArn?: pulumi.Input; /** * Host name of the server. */ serverName?: pulumi.Input; /** * ARN used by the service access IAM role for dynamodb endpoints. */ serviceAccessRole?: pulumi.Input; /** * SSL mode to use for the connection. Valid values are `none`, `require`, `verify-ca`, `verify-full` */ sslMode?: pulumi.Input; /** * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * User name to be used to login to the endpoint database. */ username?: pulumi.Input; } //# sourceMappingURL=endpoint.d.ts.map