Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.aws.dms.kotlin
import com.pulumi.aws.dms.EndpointArgs.builder
import com.pulumi.aws.dms.kotlin.inputs.EndpointElasticsearchSettingsArgs
import com.pulumi.aws.dms.kotlin.inputs.EndpointElasticsearchSettingsArgsBuilder
import com.pulumi.aws.dms.kotlin.inputs.EndpointKafkaSettingsArgs
import com.pulumi.aws.dms.kotlin.inputs.EndpointKafkaSettingsArgsBuilder
import com.pulumi.aws.dms.kotlin.inputs.EndpointKinesisSettingsArgs
import com.pulumi.aws.dms.kotlin.inputs.EndpointKinesisSettingsArgsBuilder
import com.pulumi.aws.dms.kotlin.inputs.EndpointMongodbSettingsArgs
import com.pulumi.aws.dms.kotlin.inputs.EndpointMongodbSettingsArgsBuilder
import com.pulumi.aws.dms.kotlin.inputs.EndpointPostgresSettingsArgs
import com.pulumi.aws.dms.kotlin.inputs.EndpointPostgresSettingsArgsBuilder
import com.pulumi.aws.dms.kotlin.inputs.EndpointRedisSettingsArgs
import com.pulumi.aws.dms.kotlin.inputs.EndpointRedisSettingsArgsBuilder
import com.pulumi.aws.dms.kotlin.inputs.EndpointRedshiftSettingsArgs
import com.pulumi.aws.dms.kotlin.inputs.EndpointRedshiftSettingsArgsBuilder
import com.pulumi.aws.dms.kotlin.inputs.EndpointS3SettingsArgs
import com.pulumi.aws.dms.kotlin.inputs.EndpointS3SettingsArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* 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. > **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
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* // Create a new endpoint
* 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",
* });
* ```
* ```python
* import pulumi
* import pulumi_aws as aws
* # Create a new endpoint
* test = aws.dms.Endpoint("test",
* certificate_arn="arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012",
* database_name="test",
* endpoint_id="test-dms-endpoint-tf",
* endpoint_type="source",
* engine_name="aurora",
* extra_connection_attributes="",
* kms_key_arn="arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012",
* password="test",
* port=3306,
* server_name="test",
* ssl_mode="none",
* tags={
* "Name": "test",
* },
* username="test")
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Aws = Pulumi.Aws;
* return await Deployment.RunAsync(() =>
* {
* // Create a new endpoint
* var test = new Aws.Dms.Endpoint("test", new()
* {
* 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",
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* // Create a new endpoint
* _, err := dms.NewEndpoint(ctx, "test", &dms.EndpointArgs{
* CertificateArn: pulumi.String("arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012"),
* DatabaseName: pulumi.String("test"),
* EndpointId: pulumi.String("test-dms-endpoint-tf"),
* EndpointType: pulumi.String("source"),
* EngineName: pulumi.String("aurora"),
* ExtraConnectionAttributes: pulumi.String(""),
* KmsKeyArn: pulumi.String("arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012"),
* Password: pulumi.String("test"),
* Port: pulumi.Int(3306),
* ServerName: pulumi.String("test"),
* SslMode: pulumi.String("none"),
* Tags: pulumi.StringMap{
* "Name": pulumi.String("test"),
* },
* Username: pulumi.String("test"),
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* 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) {
* // Create a new endpoint
* 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());
* }
* }
* ```
* ```yaml
* resources:
* # Create a new endpoint
* test:
* type: aws:dms:Endpoint
* properties:
* 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 `endpoint_id`. For example:
* ```sh
* $ pulumi import aws:dms/endpoint:Endpoint test test-dms-endpoint-tf
* ```
* @property certificateArn ARN for the certificate.
* @property databaseName Name of the endpoint database.
* @property elasticsearchSettings Configuration block for OpenSearch settings. See below.
* @property endpointId 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.
* @property endpointType Type of endpoint. Valid values are `source`, `target`.
* @property engineName Type of engine for the endpoint. Valid values are `aurora`, `aurora-postgresql`, `azuredb`, `azure-sql-managed-instance`, `babelfish`, `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`).
* @property extraConnectionAttributes 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).
* @property kafkaSettings Configuration block for Kafka settings. See below.
* @property kinesisSettings Configuration block for Kinesis settings. See below.
* @property kmsKeyArn 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:
* @property mongodbSettings Configuration block for MongoDB settings. See below.
* @property password Password to be used to login to the endpoint database.
* @property pauseReplicationTasks
* @property port Port used by the endpoint database.
* @property postgresSettings Configuration block for Postgres settings. See below.
* @property redisSettings
* @property redshiftSettings Configuration block for Redshift settings. See below.
* @property s3Settings (**Deprecated**, use the `aws.dms.S3Endpoint` resource instead) Configuration block for S3 settings. See below.
* @property secretsManagerAccessRoleArn 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 `secrets_manager_arn`. 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 `secrets_manager_arn`. Or you can specify clear-text values for `username`, `password` , `server_name`, and `port`. You can't specify both.
* @property secretsManagerArn Full ARN, partial ARN, or friendly name of the Secrets Manager secret that contains the endpoint connection details. Supported only when `engine_name` is `aurora`, `aurora-postgresql`, `mariadb`, `mongodb`, `mysql`, `oracle`, `postgres`, `redshift`, or `sqlserver`.
* @property serverName Host name of the server.
* @property serviceAccessRole ARN used by the service access IAM role for dynamodb endpoints.
* @property sslMode SSL mode to use for the connection. Valid values are `none`, `require`, `verify-ca`, `verify-full`
* @property tags 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.
* @property username User name to be used to login to the endpoint database.
*/
public data class EndpointArgs(
public val certificateArn: Output? = null,
public val databaseName: Output? = null,
public val elasticsearchSettings: Output? = null,
public val endpointId: Output? = null,
public val endpointType: Output? = null,
public val engineName: Output? = null,
public val extraConnectionAttributes: Output? = null,
public val kafkaSettings: Output? = null,
public val kinesisSettings: Output? = null,
public val kmsKeyArn: Output? = null,
public val mongodbSettings: Output? = null,
public val password: Output? = null,
public val pauseReplicationTasks: Output? = null,
public val port: Output? = null,
public val postgresSettings: Output? = null,
public val redisSettings: Output? = null,
public val redshiftSettings: Output? = null,
public val s3Settings: Output? = null,
public val secretsManagerAccessRoleArn: Output? = null,
public val secretsManagerArn: Output? = null,
public val serverName: Output? = null,
public val serviceAccessRole: Output? = null,
public val sslMode: Output? = null,
public val tags: Output