EndpointArgs

data class EndpointArgs(val certificateArn: Output<String>? = null, val databaseName: Output<String>? = null, val elasticsearchSettings: Output<EndpointElasticsearchSettingsArgs>? = null, val endpointId: Output<String>? = null, val endpointType: Output<String>? = null, val engineName: Output<String>? = null, val extraConnectionAttributes: Output<String>? = null, val kafkaSettings: Output<EndpointKafkaSettingsArgs>? = null, val kinesisSettings: Output<EndpointKinesisSettingsArgs>? = null, val kmsKeyArn: Output<String>? = null, val mongodbSettings: Output<EndpointMongodbSettingsArgs>? = null, val password: Output<String>? = null, val port: Output<Int>? = null, val redisSettings: Output<EndpointRedisSettingsArgs>? = null, val redshiftSettings: Output<EndpointRedshiftSettingsArgs>? = null, val s3Settings: Output<EndpointS3SettingsArgs>? = null, val secretsManagerAccessRoleArn: Output<String>? = null, val secretsManagerArn: Output<String>? = null, val serverName: Output<String>? = null, val serviceAccessRole: Output<String>? = null, val sslMode: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val username: Output<String>? = null) : ConvertibleToJava<EndpointArgs>

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. Read more about sensitive data in state. Note: The s3_settings argument is deprecated, may not be maintained, and will be removed in a future version. Use the aws.dms.S3Endpoint resource instead.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.dms.Endpoint;
import com.pulumi.aws.dms.EndpointArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var test = new Endpoint("test", EndpointArgs.builder()
.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(Map.of("Name", "test"))
.username("test")
.build());
}
}

Import

Endpoints can be imported using the endpoint_id, e.g.,

$ pulumi import aws:dms/endpoint:Endpoint test test-dms-endpoint-tf

Constructors

Link copied to clipboard
constructor(certificateArn: Output<String>? = null, databaseName: Output<String>? = null, elasticsearchSettings: Output<EndpointElasticsearchSettingsArgs>? = null, endpointId: Output<String>? = null, endpointType: Output<String>? = null, engineName: Output<String>? = null, extraConnectionAttributes: Output<String>? = null, kafkaSettings: Output<EndpointKafkaSettingsArgs>? = null, kinesisSettings: Output<EndpointKinesisSettingsArgs>? = null, kmsKeyArn: Output<String>? = null, mongodbSettings: Output<EndpointMongodbSettingsArgs>? = null, password: Output<String>? = null, port: Output<Int>? = null, redisSettings: Output<EndpointRedisSettingsArgs>? = null, redshiftSettings: Output<EndpointRedshiftSettingsArgs>? = null, s3Settings: Output<EndpointS3SettingsArgs>? = null, secretsManagerAccessRoleArn: Output<String>? = null, secretsManagerArn: Output<String>? = null, serverName: Output<String>? = null, serviceAccessRole: Output<String>? = null, sslMode: Output<String>? = null, tags: Output<Map<String, String>>? = null, username: Output<String>? = null)

Properties

Link copied to clipboard
val certificateArn: Output<String>? = null

ARN for the certificate.

Link copied to clipboard
val databaseName: Output<String>? = null

Name of the endpoint database.

Link copied to clipboard

Configuration block for OpenSearch settings. See below.

Link copied to clipboard
val endpointId: Output<String>? = null

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.

Link copied to clipboard
val endpointType: Output<String>? = null

Type of endpoint. Valid values are source, target.

Link copied to clipboard
val engineName: Output<String>? = null

Type of engine for the endpoint. Valid values are aurora, aurora-postgresql, azuredb, azure-sql-managed-instance, db2, db2-zos, 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).

Link copied to clipboard
val extraConnectionAttributes: Output<String>? = null

Additional attributes associated with the connection. For available attributes for a source Endpoint, see Sources for data migration. For available attributes for a target Endpoint, see Targets for data migration.

Link copied to clipboard

Configuration block for Kafka settings. See below.

Link copied to clipboard

Configuration block for Kinesis settings. See below.

Link copied to clipboard
val kmsKeyArn: Output<String>? = null

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 account. Your AWS account has a different default encryption key for each AWS region. To encrypt an S3 target with a KMS Key, use the parameter s3_settings.server_side_encryption_kms_key_id. When engine_name is redshift, kms_key_arn 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:

Link copied to clipboard

Configuration block for MongoDB settings. See below.

Link copied to clipboard
val password: Output<String>? = null

Password to be used to login to the endpoint database.

Link copied to clipboard
val port: Output<Int>? = null

Port used by the endpoint database.

Link copied to clipboard
Link copied to clipboard

Configuration block for Redshift settings. See below.

Link copied to clipboard
val s3Settings: Output<EndpointS3SettingsArgs>? = null

(Deprecated, use the aws.dms.S3Endpoint resource instead) Configuration block for S3 settings. See below.

Link copied to clipboard
val secretsManagerAccessRoleArn: Output<String>? = null

ARN of the IAM role that specifies AWS DMS as the trusted entity and has the required permissions to access the value in SecretsManagerSecret.

Link copied to clipboard
val secretsManagerArn: Output<String>? = null

Full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the endpoint connection details. Supported only when engine_name is aurora, aurora-postgresql, mariadb, mongodb, mysql, oracle, postgres, redshift, or sqlserver.

Link copied to clipboard
val serverName: Output<String>? = null

Host name of the server.

Link copied to clipboard
val serviceAccessRole: Output<String>? = null

ARN used by the service access IAM role for dynamodb endpoints.

Link copied to clipboard
val sslMode: Output<String>? = null

SSL mode to use for the connection. Valid values are none, require, verify-ca, verify-full

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Link copied to clipboard
val username: Output<String>? = null

User name to be used to login to the endpoint database.

Functions

Link copied to clipboard
open override fun toJava(): EndpointArgs