aws_sdk_databasemigration/operation/create_endpoint/
_create_endpoint_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p></p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
6pub struct CreateEndpointInput {
7    /// <p>The database endpoint identifier. 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.</p>
8    pub endpoint_identifier: ::std::option::Option<::std::string::String>,
9    /// <p>The type of endpoint. Valid values are <code>source</code> and <code>target</code>.</p>
10    pub endpoint_type: ::std::option::Option<crate::types::ReplicationEndpointTypeValue>,
11    /// <p>The type of engine for the endpoint. Valid values, depending on the <code>EndpointType</code> value, include <code>"mysql"</code>, <code>"oracle"</code>, <code>"postgres"</code>, <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>, <code>"opensearch"</code>, <code>"redshift"</code>, <code>"s3"</code>, <code>"db2"</code>, <code>"db2-zos"</code>, <code>"azuredb"</code>, <code>"sybase"</code>, <code>"dynamodb"</code>, <code>"mongodb"</code>, <code>"kinesis"</code>, <code>"kafka"</code>, <code>"elasticsearch"</code>, <code>"docdb"</code>, <code>"sqlserver"</code>, <code>"neptune"</code>, <code>"babelfish"</code>, <code>redshift-serverless</code>, <code>aurora-serverless</code>, <code>aurora-postgresql-serverless</code>, <code>gcp-mysql</code>, <code>azure-sql-managed-instance</code>, <code>redis</code>, <code>dms-transfer</code>.</p>
12    pub engine_name: ::std::option::Option<::std::string::String>,
13    /// <p>The user name to be used to log in to the endpoint database.</p>
14    pub username: ::std::option::Option<::std::string::String>,
15    /// <p>The password to be used to log in to the endpoint database.</p>
16    pub password: ::std::option::Option<::std::string::String>,
17    /// <p>The name of the server where the endpoint database resides.</p>
18    pub server_name: ::std::option::Option<::std::string::String>,
19    /// <p>The port used by the endpoint database.</p>
20    pub port: ::std::option::Option<i32>,
21    /// <p>The name of the endpoint database. For a MySQL source or target endpoint, do not specify DatabaseName. To migrate to a specific database, use this setting and <code>targetDbType</code>.</p>
22    pub database_name: ::std::option::Option<::std::string::String>,
23    /// <p>Additional attributes associated with the connection. Each attribute is specified as a name-value pair associated by an equal sign (=). Multiple attributes are separated by a semicolon (;) with no additional white space. For information on the attributes available for connecting your source or target endpoint, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.html">Working with DMS Endpoints</a> in the <i>Database Migration Service User Guide.</i></p>
24    pub extra_connection_attributes: ::std::option::Option<::std::string::String>,
25    /// <p>An KMS key identifier that is used to encrypt the connection parameters for the endpoint.</p>
26    /// <p>If you don't specify a value for the <code>KmsKeyId</code> parameter, then DMS uses your default encryption key.</p>
27    /// <p>KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services Region.</p>
28    pub kms_key_id: ::std::option::Option<::std::string::String>,
29    /// <p>One or more tags to be assigned to the endpoint.</p>
30    pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
31    /// <p>The Amazon Resource Name (ARN) for the certificate.</p>
32    pub certificate_arn: ::std::option::Option<::std::string::String>,
33    /// <p>The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is <code>none</code></p>
34    pub ssl_mode: ::std::option::Option<crate::types::DmsSslModeValue>,
35    /// <p>The Amazon Resource Name (ARN) for the service access role that you want to use to create the endpoint. The role must allow the <code>iam:PassRole</code> action.</p>
36    pub service_access_role_arn: ::std::option::Option<::std::string::String>,
37    /// <p>The external table definition.</p>
38    pub external_table_definition: ::std::option::Option<::std::string::String>,
39    /// <p>Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html#CHAP_Target.DynamoDB.ObjectMapping">Using Object Mapping to Migrate Data to DynamoDB</a> in the <i>Database Migration Service User Guide.</i></p>
40    pub dynamo_db_settings: ::std::option::Option<crate::types::DynamoDbSettings>,
41    /// <p>Settings in JSON format for the target Amazon S3 endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring">Extra Connection Attributes When Using Amazon S3 as a Target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
42    pub s3_settings: ::std::option::Option<crate::types::S3Settings>,
43    /// <p>The settings in JSON format for the DMS transfer type of source endpoint.</p>
44    /// <p>Possible settings include the following:</p>
45    /// <ul>
46    /// <li>
47    /// <p><code>ServiceAccessRoleArn</code> - The Amazon Resource Name (ARN) used by the service access IAM role. The role must allow the <code>iam:PassRole</code> action.</p></li>
48    /// <li>
49    /// <p><code>BucketName</code> - The name of the S3 bucket to use.</p></li>
50    /// </ul>
51    /// <p>Shorthand syntax for these settings is as follows: <code>ServiceAccessRoleArn=string,BucketName=string</code></p>
52    /// <p>JSON syntax for these settings is as follows: <code>{ "ServiceAccessRoleArn": "string", "BucketName": "string", } </code></p>
53    pub dms_transfer_settings: ::std::option::Option<crate::types::DmsTransferSettings>,
54    /// <p>Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html#CHAP_Source.MongoDB.Configuration">Endpoint configuration settings when using MongoDB as a source for Database Migration Service</a> in the <i>Database Migration Service User Guide.</i></p>
55    pub mongo_db_settings: ::std::option::Option<crate::types::MongoDbSettings>,
56    /// <p>Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html#CHAP_Target.Kinesis.ObjectMapping">Using object mapping to migrate data to a Kinesis data stream</a> in the <i>Database Migration Service User Guide.</i></p>
57    pub kinesis_settings: ::std::option::Option<crate::types::KinesisSettings>,
58    /// <p>Settings in JSON format for the target Apache Kafka endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html#CHAP_Target.Kafka.ObjectMapping">Using object mapping to migrate data to a Kafka topic</a> in the <i>Database Migration Service User Guide.</i></p>
59    pub kafka_settings: ::std::option::Option<crate::types::KafkaSettings>,
60    /// <p>Settings in JSON format for the target OpenSearch endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Elasticsearch.html#CHAP_Target.Elasticsearch.Configuration">Extra Connection Attributes When Using OpenSearch as a Target for DMS</a> in the <i>Database Migration Service User Guide</i>.</p>
61    pub elasticsearch_settings: ::std::option::Option<crate::types::ElasticsearchSettings>,
62    /// <p>Settings in JSON format for the target Amazon Neptune endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings">Specifying graph-mapping rules using Gremlin and R2RML for Amazon Neptune as a target</a> in the <i>Database Migration Service User Guide.</i></p>
63    pub neptune_settings: ::std::option::Option<crate::types::NeptuneSettings>,
64    /// <p>Provides information that defines an Amazon Redshift endpoint.</p>
65    pub redshift_settings: ::std::option::Option<crate::types::RedshiftSettings>,
66    /// <p>Settings in JSON format for the source and target PostgreSQL endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib">Extra connection attributes when using PostgreSQL as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html#CHAP_Target.PostgreSQL.ConnectionAttrib"> Extra connection attributes when using PostgreSQL as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
67    pub postgre_sql_settings: ::std::option::Option<crate::types::PostgreSqlSettings>,
68    /// <p>Settings in JSON format for the source and target MySQL endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib">Extra connection attributes when using MySQL as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html#CHAP_Target.MySQL.ConnectionAttrib">Extra connection attributes when using a MySQL-compatible database as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
69    pub my_sql_settings: ::std::option::Option<crate::types::MySqlSettings>,
70    /// <p>Settings in JSON format for the source and target Oracle endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib">Extra connection attributes when using Oracle as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.ConnectionAttrib"> Extra connection attributes when using Oracle as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
71    pub oracle_settings: ::std::option::Option<crate::types::OracleSettings>,
72    /// <p>Settings in JSON format for the source and target SAP ASE endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html#CHAP_Source.SAP.ConnectionAttrib">Extra connection attributes when using SAP ASE as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.html#CHAP_Target.SAP.ConnectionAttrib">Extra connection attributes when using SAP ASE as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
73    pub sybase_settings: ::std::option::Option<crate::types::SybaseSettings>,
74    /// <p>Settings in JSON format for the source and target Microsoft SQL Server endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.ConnectionAttrib">Extra connection attributes when using SQL Server as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html#CHAP_Target.SQLServer.ConnectionAttrib"> Extra connection attributes when using SQL Server as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
75    pub microsoft_sql_server_settings: ::std::option::Option<crate::types::MicrosoftSqlServerSettings>,
76    /// <p>Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.html#CHAP_Source.DB2.ConnectionAttrib">Extra connection attributes when using Db2 LUW as a source for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
77    pub ibm_db2_settings: ::std::option::Option<crate::types::IbmDb2Settings>,
78    /// <p>A friendly name for the resource identifier at the end of the <code>EndpointArn</code> response parameter that is returned in the created <code>Endpoint</code> object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as <code>Example-App-ARN1</code>. For example, this value might result in the <code>EndpointArn</code> value <code>arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1</code>. If you don't specify a <code>ResourceIdentifier</code> value, DMS generates a default identifier value for the end of <code>EndpointArn</code>.</p>
79    pub resource_identifier: ::std::option::Option<::std::string::String>,
80    /// <p>Provides information that defines a DocumentDB endpoint.</p>
81    pub doc_db_settings: ::std::option::Option<crate::types::DocDbSettings>,
82    /// <p>Settings in JSON format for the target Redis endpoint.</p>
83    pub redis_settings: ::std::option::Option<crate::types::RedisSettings>,
84    /// <p>Settings in JSON format for the source GCP MySQL endpoint.</p>
85    pub gcp_my_sql_settings: ::std::option::Option<crate::types::GcpMySqlSettings>,
86    /// <p>Settings in JSON format for the target Amazon Timestream endpoint.</p>
87    pub timestream_settings: ::std::option::Option<crate::types::TimestreamSettings>,
88}
89impl CreateEndpointInput {
90    /// <p>The database endpoint identifier. 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.</p>
91    pub fn endpoint_identifier(&self) -> ::std::option::Option<&str> {
92        self.endpoint_identifier.as_deref()
93    }
94    /// <p>The type of endpoint. Valid values are <code>source</code> and <code>target</code>.</p>
95    pub fn endpoint_type(&self) -> ::std::option::Option<&crate::types::ReplicationEndpointTypeValue> {
96        self.endpoint_type.as_ref()
97    }
98    /// <p>The type of engine for the endpoint. Valid values, depending on the <code>EndpointType</code> value, include <code>"mysql"</code>, <code>"oracle"</code>, <code>"postgres"</code>, <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>, <code>"opensearch"</code>, <code>"redshift"</code>, <code>"s3"</code>, <code>"db2"</code>, <code>"db2-zos"</code>, <code>"azuredb"</code>, <code>"sybase"</code>, <code>"dynamodb"</code>, <code>"mongodb"</code>, <code>"kinesis"</code>, <code>"kafka"</code>, <code>"elasticsearch"</code>, <code>"docdb"</code>, <code>"sqlserver"</code>, <code>"neptune"</code>, <code>"babelfish"</code>, <code>redshift-serverless</code>, <code>aurora-serverless</code>, <code>aurora-postgresql-serverless</code>, <code>gcp-mysql</code>, <code>azure-sql-managed-instance</code>, <code>redis</code>, <code>dms-transfer</code>.</p>
99    pub fn engine_name(&self) -> ::std::option::Option<&str> {
100        self.engine_name.as_deref()
101    }
102    /// <p>The user name to be used to log in to the endpoint database.</p>
103    pub fn username(&self) -> ::std::option::Option<&str> {
104        self.username.as_deref()
105    }
106    /// <p>The password to be used to log in to the endpoint database.</p>
107    pub fn password(&self) -> ::std::option::Option<&str> {
108        self.password.as_deref()
109    }
110    /// <p>The name of the server where the endpoint database resides.</p>
111    pub fn server_name(&self) -> ::std::option::Option<&str> {
112        self.server_name.as_deref()
113    }
114    /// <p>The port used by the endpoint database.</p>
115    pub fn port(&self) -> ::std::option::Option<i32> {
116        self.port
117    }
118    /// <p>The name of the endpoint database. For a MySQL source or target endpoint, do not specify DatabaseName. To migrate to a specific database, use this setting and <code>targetDbType</code>.</p>
119    pub fn database_name(&self) -> ::std::option::Option<&str> {
120        self.database_name.as_deref()
121    }
122    /// <p>Additional attributes associated with the connection. Each attribute is specified as a name-value pair associated by an equal sign (=). Multiple attributes are separated by a semicolon (;) with no additional white space. For information on the attributes available for connecting your source or target endpoint, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.html">Working with DMS Endpoints</a> in the <i>Database Migration Service User Guide.</i></p>
123    pub fn extra_connection_attributes(&self) -> ::std::option::Option<&str> {
124        self.extra_connection_attributes.as_deref()
125    }
126    /// <p>An KMS key identifier that is used to encrypt the connection parameters for the endpoint.</p>
127    /// <p>If you don't specify a value for the <code>KmsKeyId</code> parameter, then DMS uses your default encryption key.</p>
128    /// <p>KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services Region.</p>
129    pub fn kms_key_id(&self) -> ::std::option::Option<&str> {
130        self.kms_key_id.as_deref()
131    }
132    /// <p>One or more tags to be assigned to the endpoint.</p>
133    ///
134    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.tags.is_none()`.
135    pub fn tags(&self) -> &[crate::types::Tag] {
136        self.tags.as_deref().unwrap_or_default()
137    }
138    /// <p>The Amazon Resource Name (ARN) for the certificate.</p>
139    pub fn certificate_arn(&self) -> ::std::option::Option<&str> {
140        self.certificate_arn.as_deref()
141    }
142    /// <p>The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is <code>none</code></p>
143    pub fn ssl_mode(&self) -> ::std::option::Option<&crate::types::DmsSslModeValue> {
144        self.ssl_mode.as_ref()
145    }
146    /// <p>The Amazon Resource Name (ARN) for the service access role that you want to use to create the endpoint. The role must allow the <code>iam:PassRole</code> action.</p>
147    pub fn service_access_role_arn(&self) -> ::std::option::Option<&str> {
148        self.service_access_role_arn.as_deref()
149    }
150    /// <p>The external table definition.</p>
151    pub fn external_table_definition(&self) -> ::std::option::Option<&str> {
152        self.external_table_definition.as_deref()
153    }
154    /// <p>Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html#CHAP_Target.DynamoDB.ObjectMapping">Using Object Mapping to Migrate Data to DynamoDB</a> in the <i>Database Migration Service User Guide.</i></p>
155    pub fn dynamo_db_settings(&self) -> ::std::option::Option<&crate::types::DynamoDbSettings> {
156        self.dynamo_db_settings.as_ref()
157    }
158    /// <p>Settings in JSON format for the target Amazon S3 endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring">Extra Connection Attributes When Using Amazon S3 as a Target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
159    pub fn s3_settings(&self) -> ::std::option::Option<&crate::types::S3Settings> {
160        self.s3_settings.as_ref()
161    }
162    /// <p>The settings in JSON format for the DMS transfer type of source endpoint.</p>
163    /// <p>Possible settings include the following:</p>
164    /// <ul>
165    /// <li>
166    /// <p><code>ServiceAccessRoleArn</code> - The Amazon Resource Name (ARN) used by the service access IAM role. The role must allow the <code>iam:PassRole</code> action.</p></li>
167    /// <li>
168    /// <p><code>BucketName</code> - The name of the S3 bucket to use.</p></li>
169    /// </ul>
170    /// <p>Shorthand syntax for these settings is as follows: <code>ServiceAccessRoleArn=string,BucketName=string</code></p>
171    /// <p>JSON syntax for these settings is as follows: <code>{ "ServiceAccessRoleArn": "string", "BucketName": "string", } </code></p>
172    pub fn dms_transfer_settings(&self) -> ::std::option::Option<&crate::types::DmsTransferSettings> {
173        self.dms_transfer_settings.as_ref()
174    }
175    /// <p>Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html#CHAP_Source.MongoDB.Configuration">Endpoint configuration settings when using MongoDB as a source for Database Migration Service</a> in the <i>Database Migration Service User Guide.</i></p>
176    pub fn mongo_db_settings(&self) -> ::std::option::Option<&crate::types::MongoDbSettings> {
177        self.mongo_db_settings.as_ref()
178    }
179    /// <p>Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html#CHAP_Target.Kinesis.ObjectMapping">Using object mapping to migrate data to a Kinesis data stream</a> in the <i>Database Migration Service User Guide.</i></p>
180    pub fn kinesis_settings(&self) -> ::std::option::Option<&crate::types::KinesisSettings> {
181        self.kinesis_settings.as_ref()
182    }
183    /// <p>Settings in JSON format for the target Apache Kafka endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html#CHAP_Target.Kafka.ObjectMapping">Using object mapping to migrate data to a Kafka topic</a> in the <i>Database Migration Service User Guide.</i></p>
184    pub fn kafka_settings(&self) -> ::std::option::Option<&crate::types::KafkaSettings> {
185        self.kafka_settings.as_ref()
186    }
187    /// <p>Settings in JSON format for the target OpenSearch endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Elasticsearch.html#CHAP_Target.Elasticsearch.Configuration">Extra Connection Attributes When Using OpenSearch as a Target for DMS</a> in the <i>Database Migration Service User Guide</i>.</p>
188    pub fn elasticsearch_settings(&self) -> ::std::option::Option<&crate::types::ElasticsearchSettings> {
189        self.elasticsearch_settings.as_ref()
190    }
191    /// <p>Settings in JSON format for the target Amazon Neptune endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings">Specifying graph-mapping rules using Gremlin and R2RML for Amazon Neptune as a target</a> in the <i>Database Migration Service User Guide.</i></p>
192    pub fn neptune_settings(&self) -> ::std::option::Option<&crate::types::NeptuneSettings> {
193        self.neptune_settings.as_ref()
194    }
195    /// <p>Provides information that defines an Amazon Redshift endpoint.</p>
196    pub fn redshift_settings(&self) -> ::std::option::Option<&crate::types::RedshiftSettings> {
197        self.redshift_settings.as_ref()
198    }
199    /// <p>Settings in JSON format for the source and target PostgreSQL endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib">Extra connection attributes when using PostgreSQL as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html#CHAP_Target.PostgreSQL.ConnectionAttrib"> Extra connection attributes when using PostgreSQL as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
200    pub fn postgre_sql_settings(&self) -> ::std::option::Option<&crate::types::PostgreSqlSettings> {
201        self.postgre_sql_settings.as_ref()
202    }
203    /// <p>Settings in JSON format for the source and target MySQL endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib">Extra connection attributes when using MySQL as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html#CHAP_Target.MySQL.ConnectionAttrib">Extra connection attributes when using a MySQL-compatible database as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
204    pub fn my_sql_settings(&self) -> ::std::option::Option<&crate::types::MySqlSettings> {
205        self.my_sql_settings.as_ref()
206    }
207    /// <p>Settings in JSON format for the source and target Oracle endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib">Extra connection attributes when using Oracle as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.ConnectionAttrib"> Extra connection attributes when using Oracle as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
208    pub fn oracle_settings(&self) -> ::std::option::Option<&crate::types::OracleSettings> {
209        self.oracle_settings.as_ref()
210    }
211    /// <p>Settings in JSON format for the source and target SAP ASE endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html#CHAP_Source.SAP.ConnectionAttrib">Extra connection attributes when using SAP ASE as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.html#CHAP_Target.SAP.ConnectionAttrib">Extra connection attributes when using SAP ASE as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
212    pub fn sybase_settings(&self) -> ::std::option::Option<&crate::types::SybaseSettings> {
213        self.sybase_settings.as_ref()
214    }
215    /// <p>Settings in JSON format for the source and target Microsoft SQL Server endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.ConnectionAttrib">Extra connection attributes when using SQL Server as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html#CHAP_Target.SQLServer.ConnectionAttrib"> Extra connection attributes when using SQL Server as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
216    pub fn microsoft_sql_server_settings(&self) -> ::std::option::Option<&crate::types::MicrosoftSqlServerSettings> {
217        self.microsoft_sql_server_settings.as_ref()
218    }
219    /// <p>Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.html#CHAP_Source.DB2.ConnectionAttrib">Extra connection attributes when using Db2 LUW as a source for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
220    pub fn ibm_db2_settings(&self) -> ::std::option::Option<&crate::types::IbmDb2Settings> {
221        self.ibm_db2_settings.as_ref()
222    }
223    /// <p>A friendly name for the resource identifier at the end of the <code>EndpointArn</code> response parameter that is returned in the created <code>Endpoint</code> object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as <code>Example-App-ARN1</code>. For example, this value might result in the <code>EndpointArn</code> value <code>arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1</code>. If you don't specify a <code>ResourceIdentifier</code> value, DMS generates a default identifier value for the end of <code>EndpointArn</code>.</p>
224    pub fn resource_identifier(&self) -> ::std::option::Option<&str> {
225        self.resource_identifier.as_deref()
226    }
227    /// <p>Provides information that defines a DocumentDB endpoint.</p>
228    pub fn doc_db_settings(&self) -> ::std::option::Option<&crate::types::DocDbSettings> {
229        self.doc_db_settings.as_ref()
230    }
231    /// <p>Settings in JSON format for the target Redis endpoint.</p>
232    pub fn redis_settings(&self) -> ::std::option::Option<&crate::types::RedisSettings> {
233        self.redis_settings.as_ref()
234    }
235    /// <p>Settings in JSON format for the source GCP MySQL endpoint.</p>
236    pub fn gcp_my_sql_settings(&self) -> ::std::option::Option<&crate::types::GcpMySqlSettings> {
237        self.gcp_my_sql_settings.as_ref()
238    }
239    /// <p>Settings in JSON format for the target Amazon Timestream endpoint.</p>
240    pub fn timestream_settings(&self) -> ::std::option::Option<&crate::types::TimestreamSettings> {
241        self.timestream_settings.as_ref()
242    }
243}
244impl ::std::fmt::Debug for CreateEndpointInput {
245    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
246        let mut formatter = f.debug_struct("CreateEndpointInput");
247        formatter.field("endpoint_identifier", &self.endpoint_identifier);
248        formatter.field("endpoint_type", &self.endpoint_type);
249        formatter.field("engine_name", &self.engine_name);
250        formatter.field("username", &self.username);
251        formatter.field("password", &"*** Sensitive Data Redacted ***");
252        formatter.field("server_name", &self.server_name);
253        formatter.field("port", &self.port);
254        formatter.field("database_name", &self.database_name);
255        formatter.field("extra_connection_attributes", &self.extra_connection_attributes);
256        formatter.field("kms_key_id", &self.kms_key_id);
257        formatter.field("tags", &self.tags);
258        formatter.field("certificate_arn", &self.certificate_arn);
259        formatter.field("ssl_mode", &self.ssl_mode);
260        formatter.field("service_access_role_arn", &self.service_access_role_arn);
261        formatter.field("external_table_definition", &self.external_table_definition);
262        formatter.field("dynamo_db_settings", &self.dynamo_db_settings);
263        formatter.field("s3_settings", &self.s3_settings);
264        formatter.field("dms_transfer_settings", &self.dms_transfer_settings);
265        formatter.field("mongo_db_settings", &self.mongo_db_settings);
266        formatter.field("kinesis_settings", &self.kinesis_settings);
267        formatter.field("kafka_settings", &self.kafka_settings);
268        formatter.field("elasticsearch_settings", &self.elasticsearch_settings);
269        formatter.field("neptune_settings", &self.neptune_settings);
270        formatter.field("redshift_settings", &self.redshift_settings);
271        formatter.field("postgre_sql_settings", &self.postgre_sql_settings);
272        formatter.field("my_sql_settings", &self.my_sql_settings);
273        formatter.field("oracle_settings", &self.oracle_settings);
274        formatter.field("sybase_settings", &self.sybase_settings);
275        formatter.field("microsoft_sql_server_settings", &self.microsoft_sql_server_settings);
276        formatter.field("ibm_db2_settings", &self.ibm_db2_settings);
277        formatter.field("resource_identifier", &self.resource_identifier);
278        formatter.field("doc_db_settings", &self.doc_db_settings);
279        formatter.field("redis_settings", &self.redis_settings);
280        formatter.field("gcp_my_sql_settings", &self.gcp_my_sql_settings);
281        formatter.field("timestream_settings", &self.timestream_settings);
282        formatter.finish()
283    }
284}
285impl CreateEndpointInput {
286    /// Creates a new builder-style object to manufacture [`CreateEndpointInput`](crate::operation::create_endpoint::CreateEndpointInput).
287    pub fn builder() -> crate::operation::create_endpoint::builders::CreateEndpointInputBuilder {
288        crate::operation::create_endpoint::builders::CreateEndpointInputBuilder::default()
289    }
290}
291
292/// A builder for [`CreateEndpointInput`](crate::operation::create_endpoint::CreateEndpointInput).
293#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
294#[non_exhaustive]
295pub struct CreateEndpointInputBuilder {
296    pub(crate) endpoint_identifier: ::std::option::Option<::std::string::String>,
297    pub(crate) endpoint_type: ::std::option::Option<crate::types::ReplicationEndpointTypeValue>,
298    pub(crate) engine_name: ::std::option::Option<::std::string::String>,
299    pub(crate) username: ::std::option::Option<::std::string::String>,
300    pub(crate) password: ::std::option::Option<::std::string::String>,
301    pub(crate) server_name: ::std::option::Option<::std::string::String>,
302    pub(crate) port: ::std::option::Option<i32>,
303    pub(crate) database_name: ::std::option::Option<::std::string::String>,
304    pub(crate) extra_connection_attributes: ::std::option::Option<::std::string::String>,
305    pub(crate) kms_key_id: ::std::option::Option<::std::string::String>,
306    pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
307    pub(crate) certificate_arn: ::std::option::Option<::std::string::String>,
308    pub(crate) ssl_mode: ::std::option::Option<crate::types::DmsSslModeValue>,
309    pub(crate) service_access_role_arn: ::std::option::Option<::std::string::String>,
310    pub(crate) external_table_definition: ::std::option::Option<::std::string::String>,
311    pub(crate) dynamo_db_settings: ::std::option::Option<crate::types::DynamoDbSettings>,
312    pub(crate) s3_settings: ::std::option::Option<crate::types::S3Settings>,
313    pub(crate) dms_transfer_settings: ::std::option::Option<crate::types::DmsTransferSettings>,
314    pub(crate) mongo_db_settings: ::std::option::Option<crate::types::MongoDbSettings>,
315    pub(crate) kinesis_settings: ::std::option::Option<crate::types::KinesisSettings>,
316    pub(crate) kafka_settings: ::std::option::Option<crate::types::KafkaSettings>,
317    pub(crate) elasticsearch_settings: ::std::option::Option<crate::types::ElasticsearchSettings>,
318    pub(crate) neptune_settings: ::std::option::Option<crate::types::NeptuneSettings>,
319    pub(crate) redshift_settings: ::std::option::Option<crate::types::RedshiftSettings>,
320    pub(crate) postgre_sql_settings: ::std::option::Option<crate::types::PostgreSqlSettings>,
321    pub(crate) my_sql_settings: ::std::option::Option<crate::types::MySqlSettings>,
322    pub(crate) oracle_settings: ::std::option::Option<crate::types::OracleSettings>,
323    pub(crate) sybase_settings: ::std::option::Option<crate::types::SybaseSettings>,
324    pub(crate) microsoft_sql_server_settings: ::std::option::Option<crate::types::MicrosoftSqlServerSettings>,
325    pub(crate) ibm_db2_settings: ::std::option::Option<crate::types::IbmDb2Settings>,
326    pub(crate) resource_identifier: ::std::option::Option<::std::string::String>,
327    pub(crate) doc_db_settings: ::std::option::Option<crate::types::DocDbSettings>,
328    pub(crate) redis_settings: ::std::option::Option<crate::types::RedisSettings>,
329    pub(crate) gcp_my_sql_settings: ::std::option::Option<crate::types::GcpMySqlSettings>,
330    pub(crate) timestream_settings: ::std::option::Option<crate::types::TimestreamSettings>,
331}
332impl CreateEndpointInputBuilder {
333    /// <p>The database endpoint identifier. 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.</p>
334    /// This field is required.
335    pub fn endpoint_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
336        self.endpoint_identifier = ::std::option::Option::Some(input.into());
337        self
338    }
339    /// <p>The database endpoint identifier. 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.</p>
340    pub fn set_endpoint_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
341        self.endpoint_identifier = input;
342        self
343    }
344    /// <p>The database endpoint identifier. 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.</p>
345    pub fn get_endpoint_identifier(&self) -> &::std::option::Option<::std::string::String> {
346        &self.endpoint_identifier
347    }
348    /// <p>The type of endpoint. Valid values are <code>source</code> and <code>target</code>.</p>
349    /// This field is required.
350    pub fn endpoint_type(mut self, input: crate::types::ReplicationEndpointTypeValue) -> Self {
351        self.endpoint_type = ::std::option::Option::Some(input);
352        self
353    }
354    /// <p>The type of endpoint. Valid values are <code>source</code> and <code>target</code>.</p>
355    pub fn set_endpoint_type(mut self, input: ::std::option::Option<crate::types::ReplicationEndpointTypeValue>) -> Self {
356        self.endpoint_type = input;
357        self
358    }
359    /// <p>The type of endpoint. Valid values are <code>source</code> and <code>target</code>.</p>
360    pub fn get_endpoint_type(&self) -> &::std::option::Option<crate::types::ReplicationEndpointTypeValue> {
361        &self.endpoint_type
362    }
363    /// <p>The type of engine for the endpoint. Valid values, depending on the <code>EndpointType</code> value, include <code>"mysql"</code>, <code>"oracle"</code>, <code>"postgres"</code>, <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>, <code>"opensearch"</code>, <code>"redshift"</code>, <code>"s3"</code>, <code>"db2"</code>, <code>"db2-zos"</code>, <code>"azuredb"</code>, <code>"sybase"</code>, <code>"dynamodb"</code>, <code>"mongodb"</code>, <code>"kinesis"</code>, <code>"kafka"</code>, <code>"elasticsearch"</code>, <code>"docdb"</code>, <code>"sqlserver"</code>, <code>"neptune"</code>, <code>"babelfish"</code>, <code>redshift-serverless</code>, <code>aurora-serverless</code>, <code>aurora-postgresql-serverless</code>, <code>gcp-mysql</code>, <code>azure-sql-managed-instance</code>, <code>redis</code>, <code>dms-transfer</code>.</p>
364    /// This field is required.
365    pub fn engine_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
366        self.engine_name = ::std::option::Option::Some(input.into());
367        self
368    }
369    /// <p>The type of engine for the endpoint. Valid values, depending on the <code>EndpointType</code> value, include <code>"mysql"</code>, <code>"oracle"</code>, <code>"postgres"</code>, <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>, <code>"opensearch"</code>, <code>"redshift"</code>, <code>"s3"</code>, <code>"db2"</code>, <code>"db2-zos"</code>, <code>"azuredb"</code>, <code>"sybase"</code>, <code>"dynamodb"</code>, <code>"mongodb"</code>, <code>"kinesis"</code>, <code>"kafka"</code>, <code>"elasticsearch"</code>, <code>"docdb"</code>, <code>"sqlserver"</code>, <code>"neptune"</code>, <code>"babelfish"</code>, <code>redshift-serverless</code>, <code>aurora-serverless</code>, <code>aurora-postgresql-serverless</code>, <code>gcp-mysql</code>, <code>azure-sql-managed-instance</code>, <code>redis</code>, <code>dms-transfer</code>.</p>
370    pub fn set_engine_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
371        self.engine_name = input;
372        self
373    }
374    /// <p>The type of engine for the endpoint. Valid values, depending on the <code>EndpointType</code> value, include <code>"mysql"</code>, <code>"oracle"</code>, <code>"postgres"</code>, <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>, <code>"opensearch"</code>, <code>"redshift"</code>, <code>"s3"</code>, <code>"db2"</code>, <code>"db2-zos"</code>, <code>"azuredb"</code>, <code>"sybase"</code>, <code>"dynamodb"</code>, <code>"mongodb"</code>, <code>"kinesis"</code>, <code>"kafka"</code>, <code>"elasticsearch"</code>, <code>"docdb"</code>, <code>"sqlserver"</code>, <code>"neptune"</code>, <code>"babelfish"</code>, <code>redshift-serverless</code>, <code>aurora-serverless</code>, <code>aurora-postgresql-serverless</code>, <code>gcp-mysql</code>, <code>azure-sql-managed-instance</code>, <code>redis</code>, <code>dms-transfer</code>.</p>
375    pub fn get_engine_name(&self) -> &::std::option::Option<::std::string::String> {
376        &self.engine_name
377    }
378    /// <p>The user name to be used to log in to the endpoint database.</p>
379    pub fn username(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
380        self.username = ::std::option::Option::Some(input.into());
381        self
382    }
383    /// <p>The user name to be used to log in to the endpoint database.</p>
384    pub fn set_username(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
385        self.username = input;
386        self
387    }
388    /// <p>The user name to be used to log in to the endpoint database.</p>
389    pub fn get_username(&self) -> &::std::option::Option<::std::string::String> {
390        &self.username
391    }
392    /// <p>The password to be used to log in to the endpoint database.</p>
393    pub fn password(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
394        self.password = ::std::option::Option::Some(input.into());
395        self
396    }
397    /// <p>The password to be used to log in to the endpoint database.</p>
398    pub fn set_password(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
399        self.password = input;
400        self
401    }
402    /// <p>The password to be used to log in to the endpoint database.</p>
403    pub fn get_password(&self) -> &::std::option::Option<::std::string::String> {
404        &self.password
405    }
406    /// <p>The name of the server where the endpoint database resides.</p>
407    pub fn server_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
408        self.server_name = ::std::option::Option::Some(input.into());
409        self
410    }
411    /// <p>The name of the server where the endpoint database resides.</p>
412    pub fn set_server_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
413        self.server_name = input;
414        self
415    }
416    /// <p>The name of the server where the endpoint database resides.</p>
417    pub fn get_server_name(&self) -> &::std::option::Option<::std::string::String> {
418        &self.server_name
419    }
420    /// <p>The port used by the endpoint database.</p>
421    pub fn port(mut self, input: i32) -> Self {
422        self.port = ::std::option::Option::Some(input);
423        self
424    }
425    /// <p>The port used by the endpoint database.</p>
426    pub fn set_port(mut self, input: ::std::option::Option<i32>) -> Self {
427        self.port = input;
428        self
429    }
430    /// <p>The port used by the endpoint database.</p>
431    pub fn get_port(&self) -> &::std::option::Option<i32> {
432        &self.port
433    }
434    /// <p>The name of the endpoint database. For a MySQL source or target endpoint, do not specify DatabaseName. To migrate to a specific database, use this setting and <code>targetDbType</code>.</p>
435    pub fn database_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
436        self.database_name = ::std::option::Option::Some(input.into());
437        self
438    }
439    /// <p>The name of the endpoint database. For a MySQL source or target endpoint, do not specify DatabaseName. To migrate to a specific database, use this setting and <code>targetDbType</code>.</p>
440    pub fn set_database_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
441        self.database_name = input;
442        self
443    }
444    /// <p>The name of the endpoint database. For a MySQL source or target endpoint, do not specify DatabaseName. To migrate to a specific database, use this setting and <code>targetDbType</code>.</p>
445    pub fn get_database_name(&self) -> &::std::option::Option<::std::string::String> {
446        &self.database_name
447    }
448    /// <p>Additional attributes associated with the connection. Each attribute is specified as a name-value pair associated by an equal sign (=). Multiple attributes are separated by a semicolon (;) with no additional white space. For information on the attributes available for connecting your source or target endpoint, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.html">Working with DMS Endpoints</a> in the <i>Database Migration Service User Guide.</i></p>
449    pub fn extra_connection_attributes(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
450        self.extra_connection_attributes = ::std::option::Option::Some(input.into());
451        self
452    }
453    /// <p>Additional attributes associated with the connection. Each attribute is specified as a name-value pair associated by an equal sign (=). Multiple attributes are separated by a semicolon (;) with no additional white space. For information on the attributes available for connecting your source or target endpoint, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.html">Working with DMS Endpoints</a> in the <i>Database Migration Service User Guide.</i></p>
454    pub fn set_extra_connection_attributes(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
455        self.extra_connection_attributes = input;
456        self
457    }
458    /// <p>Additional attributes associated with the connection. Each attribute is specified as a name-value pair associated by an equal sign (=). Multiple attributes are separated by a semicolon (;) with no additional white space. For information on the attributes available for connecting your source or target endpoint, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.html">Working with DMS Endpoints</a> in the <i>Database Migration Service User Guide.</i></p>
459    pub fn get_extra_connection_attributes(&self) -> &::std::option::Option<::std::string::String> {
460        &self.extra_connection_attributes
461    }
462    /// <p>An KMS key identifier that is used to encrypt the connection parameters for the endpoint.</p>
463    /// <p>If you don't specify a value for the <code>KmsKeyId</code> parameter, then DMS uses your default encryption key.</p>
464    /// <p>KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services Region.</p>
465    pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
466        self.kms_key_id = ::std::option::Option::Some(input.into());
467        self
468    }
469    /// <p>An KMS key identifier that is used to encrypt the connection parameters for the endpoint.</p>
470    /// <p>If you don't specify a value for the <code>KmsKeyId</code> parameter, then DMS uses your default encryption key.</p>
471    /// <p>KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services Region.</p>
472    pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
473        self.kms_key_id = input;
474        self
475    }
476    /// <p>An KMS key identifier that is used to encrypt the connection parameters for the endpoint.</p>
477    /// <p>If you don't specify a value for the <code>KmsKeyId</code> parameter, then DMS uses your default encryption key.</p>
478    /// <p>KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services Region.</p>
479    pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
480        &self.kms_key_id
481    }
482    /// Appends an item to `tags`.
483    ///
484    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
485    ///
486    /// <p>One or more tags to be assigned to the endpoint.</p>
487    pub fn tags(mut self, input: crate::types::Tag) -> Self {
488        let mut v = self.tags.unwrap_or_default();
489        v.push(input);
490        self.tags = ::std::option::Option::Some(v);
491        self
492    }
493    /// <p>One or more tags to be assigned to the endpoint.</p>
494    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
495        self.tags = input;
496        self
497    }
498    /// <p>One or more tags to be assigned to the endpoint.</p>
499    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
500        &self.tags
501    }
502    /// <p>The Amazon Resource Name (ARN) for the certificate.</p>
503    pub fn certificate_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
504        self.certificate_arn = ::std::option::Option::Some(input.into());
505        self
506    }
507    /// <p>The Amazon Resource Name (ARN) for the certificate.</p>
508    pub fn set_certificate_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
509        self.certificate_arn = input;
510        self
511    }
512    /// <p>The Amazon Resource Name (ARN) for the certificate.</p>
513    pub fn get_certificate_arn(&self) -> &::std::option::Option<::std::string::String> {
514        &self.certificate_arn
515    }
516    /// <p>The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is <code>none</code></p>
517    pub fn ssl_mode(mut self, input: crate::types::DmsSslModeValue) -> Self {
518        self.ssl_mode = ::std::option::Option::Some(input);
519        self
520    }
521    /// <p>The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is <code>none</code></p>
522    pub fn set_ssl_mode(mut self, input: ::std::option::Option<crate::types::DmsSslModeValue>) -> Self {
523        self.ssl_mode = input;
524        self
525    }
526    /// <p>The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is <code>none</code></p>
527    pub fn get_ssl_mode(&self) -> &::std::option::Option<crate::types::DmsSslModeValue> {
528        &self.ssl_mode
529    }
530    /// <p>The Amazon Resource Name (ARN) for the service access role that you want to use to create the endpoint. The role must allow the <code>iam:PassRole</code> action.</p>
531    pub fn service_access_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
532        self.service_access_role_arn = ::std::option::Option::Some(input.into());
533        self
534    }
535    /// <p>The Amazon Resource Name (ARN) for the service access role that you want to use to create the endpoint. The role must allow the <code>iam:PassRole</code> action.</p>
536    pub fn set_service_access_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
537        self.service_access_role_arn = input;
538        self
539    }
540    /// <p>The Amazon Resource Name (ARN) for the service access role that you want to use to create the endpoint. The role must allow the <code>iam:PassRole</code> action.</p>
541    pub fn get_service_access_role_arn(&self) -> &::std::option::Option<::std::string::String> {
542        &self.service_access_role_arn
543    }
544    /// <p>The external table definition.</p>
545    pub fn external_table_definition(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
546        self.external_table_definition = ::std::option::Option::Some(input.into());
547        self
548    }
549    /// <p>The external table definition.</p>
550    pub fn set_external_table_definition(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
551        self.external_table_definition = input;
552        self
553    }
554    /// <p>The external table definition.</p>
555    pub fn get_external_table_definition(&self) -> &::std::option::Option<::std::string::String> {
556        &self.external_table_definition
557    }
558    /// <p>Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html#CHAP_Target.DynamoDB.ObjectMapping">Using Object Mapping to Migrate Data to DynamoDB</a> in the <i>Database Migration Service User Guide.</i></p>
559    pub fn dynamo_db_settings(mut self, input: crate::types::DynamoDbSettings) -> Self {
560        self.dynamo_db_settings = ::std::option::Option::Some(input);
561        self
562    }
563    /// <p>Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html#CHAP_Target.DynamoDB.ObjectMapping">Using Object Mapping to Migrate Data to DynamoDB</a> in the <i>Database Migration Service User Guide.</i></p>
564    pub fn set_dynamo_db_settings(mut self, input: ::std::option::Option<crate::types::DynamoDbSettings>) -> Self {
565        self.dynamo_db_settings = input;
566        self
567    }
568    /// <p>Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html#CHAP_Target.DynamoDB.ObjectMapping">Using Object Mapping to Migrate Data to DynamoDB</a> in the <i>Database Migration Service User Guide.</i></p>
569    pub fn get_dynamo_db_settings(&self) -> &::std::option::Option<crate::types::DynamoDbSettings> {
570        &self.dynamo_db_settings
571    }
572    /// <p>Settings in JSON format for the target Amazon S3 endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring">Extra Connection Attributes When Using Amazon S3 as a Target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
573    pub fn s3_settings(mut self, input: crate::types::S3Settings) -> Self {
574        self.s3_settings = ::std::option::Option::Some(input);
575        self
576    }
577    /// <p>Settings in JSON format for the target Amazon S3 endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring">Extra Connection Attributes When Using Amazon S3 as a Target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
578    pub fn set_s3_settings(mut self, input: ::std::option::Option<crate::types::S3Settings>) -> Self {
579        self.s3_settings = input;
580        self
581    }
582    /// <p>Settings in JSON format for the target Amazon S3 endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring">Extra Connection Attributes When Using Amazon S3 as a Target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
583    pub fn get_s3_settings(&self) -> &::std::option::Option<crate::types::S3Settings> {
584        &self.s3_settings
585    }
586    /// <p>The settings in JSON format for the DMS transfer type of source endpoint.</p>
587    /// <p>Possible settings include the following:</p>
588    /// <ul>
589    /// <li>
590    /// <p><code>ServiceAccessRoleArn</code> - The Amazon Resource Name (ARN) used by the service access IAM role. The role must allow the <code>iam:PassRole</code> action.</p></li>
591    /// <li>
592    /// <p><code>BucketName</code> - The name of the S3 bucket to use.</p></li>
593    /// </ul>
594    /// <p>Shorthand syntax for these settings is as follows: <code>ServiceAccessRoleArn=string,BucketName=string</code></p>
595    /// <p>JSON syntax for these settings is as follows: <code>{ "ServiceAccessRoleArn": "string", "BucketName": "string", } </code></p>
596    pub fn dms_transfer_settings(mut self, input: crate::types::DmsTransferSettings) -> Self {
597        self.dms_transfer_settings = ::std::option::Option::Some(input);
598        self
599    }
600    /// <p>The settings in JSON format for the DMS transfer type of source endpoint.</p>
601    /// <p>Possible settings include the following:</p>
602    /// <ul>
603    /// <li>
604    /// <p><code>ServiceAccessRoleArn</code> - The Amazon Resource Name (ARN) used by the service access IAM role. The role must allow the <code>iam:PassRole</code> action.</p></li>
605    /// <li>
606    /// <p><code>BucketName</code> - The name of the S3 bucket to use.</p></li>
607    /// </ul>
608    /// <p>Shorthand syntax for these settings is as follows: <code>ServiceAccessRoleArn=string,BucketName=string</code></p>
609    /// <p>JSON syntax for these settings is as follows: <code>{ "ServiceAccessRoleArn": "string", "BucketName": "string", } </code></p>
610    pub fn set_dms_transfer_settings(mut self, input: ::std::option::Option<crate::types::DmsTransferSettings>) -> Self {
611        self.dms_transfer_settings = input;
612        self
613    }
614    /// <p>The settings in JSON format for the DMS transfer type of source endpoint.</p>
615    /// <p>Possible settings include the following:</p>
616    /// <ul>
617    /// <li>
618    /// <p><code>ServiceAccessRoleArn</code> - The Amazon Resource Name (ARN) used by the service access IAM role. The role must allow the <code>iam:PassRole</code> action.</p></li>
619    /// <li>
620    /// <p><code>BucketName</code> - The name of the S3 bucket to use.</p></li>
621    /// </ul>
622    /// <p>Shorthand syntax for these settings is as follows: <code>ServiceAccessRoleArn=string,BucketName=string</code></p>
623    /// <p>JSON syntax for these settings is as follows: <code>{ "ServiceAccessRoleArn": "string", "BucketName": "string", } </code></p>
624    pub fn get_dms_transfer_settings(&self) -> &::std::option::Option<crate::types::DmsTransferSettings> {
625        &self.dms_transfer_settings
626    }
627    /// <p>Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html#CHAP_Source.MongoDB.Configuration">Endpoint configuration settings when using MongoDB as a source for Database Migration Service</a> in the <i>Database Migration Service User Guide.</i></p>
628    pub fn mongo_db_settings(mut self, input: crate::types::MongoDbSettings) -> Self {
629        self.mongo_db_settings = ::std::option::Option::Some(input);
630        self
631    }
632    /// <p>Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html#CHAP_Source.MongoDB.Configuration">Endpoint configuration settings when using MongoDB as a source for Database Migration Service</a> in the <i>Database Migration Service User Guide.</i></p>
633    pub fn set_mongo_db_settings(mut self, input: ::std::option::Option<crate::types::MongoDbSettings>) -> Self {
634        self.mongo_db_settings = input;
635        self
636    }
637    /// <p>Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html#CHAP_Source.MongoDB.Configuration">Endpoint configuration settings when using MongoDB as a source for Database Migration Service</a> in the <i>Database Migration Service User Guide.</i></p>
638    pub fn get_mongo_db_settings(&self) -> &::std::option::Option<crate::types::MongoDbSettings> {
639        &self.mongo_db_settings
640    }
641    /// <p>Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html#CHAP_Target.Kinesis.ObjectMapping">Using object mapping to migrate data to a Kinesis data stream</a> in the <i>Database Migration Service User Guide.</i></p>
642    pub fn kinesis_settings(mut self, input: crate::types::KinesisSettings) -> Self {
643        self.kinesis_settings = ::std::option::Option::Some(input);
644        self
645    }
646    /// <p>Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html#CHAP_Target.Kinesis.ObjectMapping">Using object mapping to migrate data to a Kinesis data stream</a> in the <i>Database Migration Service User Guide.</i></p>
647    pub fn set_kinesis_settings(mut self, input: ::std::option::Option<crate::types::KinesisSettings>) -> Self {
648        self.kinesis_settings = input;
649        self
650    }
651    /// <p>Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html#CHAP_Target.Kinesis.ObjectMapping">Using object mapping to migrate data to a Kinesis data stream</a> in the <i>Database Migration Service User Guide.</i></p>
652    pub fn get_kinesis_settings(&self) -> &::std::option::Option<crate::types::KinesisSettings> {
653        &self.kinesis_settings
654    }
655    /// <p>Settings in JSON format for the target Apache Kafka endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html#CHAP_Target.Kafka.ObjectMapping">Using object mapping to migrate data to a Kafka topic</a> in the <i>Database Migration Service User Guide.</i></p>
656    pub fn kafka_settings(mut self, input: crate::types::KafkaSettings) -> Self {
657        self.kafka_settings = ::std::option::Option::Some(input);
658        self
659    }
660    /// <p>Settings in JSON format for the target Apache Kafka endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html#CHAP_Target.Kafka.ObjectMapping">Using object mapping to migrate data to a Kafka topic</a> in the <i>Database Migration Service User Guide.</i></p>
661    pub fn set_kafka_settings(mut self, input: ::std::option::Option<crate::types::KafkaSettings>) -> Self {
662        self.kafka_settings = input;
663        self
664    }
665    /// <p>Settings in JSON format for the target Apache Kafka endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html#CHAP_Target.Kafka.ObjectMapping">Using object mapping to migrate data to a Kafka topic</a> in the <i>Database Migration Service User Guide.</i></p>
666    pub fn get_kafka_settings(&self) -> &::std::option::Option<crate::types::KafkaSettings> {
667        &self.kafka_settings
668    }
669    /// <p>Settings in JSON format for the target OpenSearch endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Elasticsearch.html#CHAP_Target.Elasticsearch.Configuration">Extra Connection Attributes When Using OpenSearch as a Target for DMS</a> in the <i>Database Migration Service User Guide</i>.</p>
670    pub fn elasticsearch_settings(mut self, input: crate::types::ElasticsearchSettings) -> Self {
671        self.elasticsearch_settings = ::std::option::Option::Some(input);
672        self
673    }
674    /// <p>Settings in JSON format for the target OpenSearch endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Elasticsearch.html#CHAP_Target.Elasticsearch.Configuration">Extra Connection Attributes When Using OpenSearch as a Target for DMS</a> in the <i>Database Migration Service User Guide</i>.</p>
675    pub fn set_elasticsearch_settings(mut self, input: ::std::option::Option<crate::types::ElasticsearchSettings>) -> Self {
676        self.elasticsearch_settings = input;
677        self
678    }
679    /// <p>Settings in JSON format for the target OpenSearch endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Elasticsearch.html#CHAP_Target.Elasticsearch.Configuration">Extra Connection Attributes When Using OpenSearch as a Target for DMS</a> in the <i>Database Migration Service User Guide</i>.</p>
680    pub fn get_elasticsearch_settings(&self) -> &::std::option::Option<crate::types::ElasticsearchSettings> {
681        &self.elasticsearch_settings
682    }
683    /// <p>Settings in JSON format for the target Amazon Neptune endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings">Specifying graph-mapping rules using Gremlin and R2RML for Amazon Neptune as a target</a> in the <i>Database Migration Service User Guide.</i></p>
684    pub fn neptune_settings(mut self, input: crate::types::NeptuneSettings) -> Self {
685        self.neptune_settings = ::std::option::Option::Some(input);
686        self
687    }
688    /// <p>Settings in JSON format for the target Amazon Neptune endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings">Specifying graph-mapping rules using Gremlin and R2RML for Amazon Neptune as a target</a> in the <i>Database Migration Service User Guide.</i></p>
689    pub fn set_neptune_settings(mut self, input: ::std::option::Option<crate::types::NeptuneSettings>) -> Self {
690        self.neptune_settings = input;
691        self
692    }
693    /// <p>Settings in JSON format for the target Amazon Neptune endpoint. For more information about the available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings">Specifying graph-mapping rules using Gremlin and R2RML for Amazon Neptune as a target</a> in the <i>Database Migration Service User Guide.</i></p>
694    pub fn get_neptune_settings(&self) -> &::std::option::Option<crate::types::NeptuneSettings> {
695        &self.neptune_settings
696    }
697    /// <p>Provides information that defines an Amazon Redshift endpoint.</p>
698    pub fn redshift_settings(mut self, input: crate::types::RedshiftSettings) -> Self {
699        self.redshift_settings = ::std::option::Option::Some(input);
700        self
701    }
702    /// <p>Provides information that defines an Amazon Redshift endpoint.</p>
703    pub fn set_redshift_settings(mut self, input: ::std::option::Option<crate::types::RedshiftSettings>) -> Self {
704        self.redshift_settings = input;
705        self
706    }
707    /// <p>Provides information that defines an Amazon Redshift endpoint.</p>
708    pub fn get_redshift_settings(&self) -> &::std::option::Option<crate::types::RedshiftSettings> {
709        &self.redshift_settings
710    }
711    /// <p>Settings in JSON format for the source and target PostgreSQL endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib">Extra connection attributes when using PostgreSQL as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html#CHAP_Target.PostgreSQL.ConnectionAttrib"> Extra connection attributes when using PostgreSQL as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
712    pub fn postgre_sql_settings(mut self, input: crate::types::PostgreSqlSettings) -> Self {
713        self.postgre_sql_settings = ::std::option::Option::Some(input);
714        self
715    }
716    /// <p>Settings in JSON format for the source and target PostgreSQL endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib">Extra connection attributes when using PostgreSQL as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html#CHAP_Target.PostgreSQL.ConnectionAttrib"> Extra connection attributes when using PostgreSQL as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
717    pub fn set_postgre_sql_settings(mut self, input: ::std::option::Option<crate::types::PostgreSqlSettings>) -> Self {
718        self.postgre_sql_settings = input;
719        self
720    }
721    /// <p>Settings in JSON format for the source and target PostgreSQL endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib">Extra connection attributes when using PostgreSQL as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html#CHAP_Target.PostgreSQL.ConnectionAttrib"> Extra connection attributes when using PostgreSQL as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
722    pub fn get_postgre_sql_settings(&self) -> &::std::option::Option<crate::types::PostgreSqlSettings> {
723        &self.postgre_sql_settings
724    }
725    /// <p>Settings in JSON format for the source and target MySQL endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib">Extra connection attributes when using MySQL as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html#CHAP_Target.MySQL.ConnectionAttrib">Extra connection attributes when using a MySQL-compatible database as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
726    pub fn my_sql_settings(mut self, input: crate::types::MySqlSettings) -> Self {
727        self.my_sql_settings = ::std::option::Option::Some(input);
728        self
729    }
730    /// <p>Settings in JSON format for the source and target MySQL endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib">Extra connection attributes when using MySQL as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html#CHAP_Target.MySQL.ConnectionAttrib">Extra connection attributes when using a MySQL-compatible database as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
731    pub fn set_my_sql_settings(mut self, input: ::std::option::Option<crate::types::MySqlSettings>) -> Self {
732        self.my_sql_settings = input;
733        self
734    }
735    /// <p>Settings in JSON format for the source and target MySQL endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib">Extra connection attributes when using MySQL as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html#CHAP_Target.MySQL.ConnectionAttrib">Extra connection attributes when using a MySQL-compatible database as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
736    pub fn get_my_sql_settings(&self) -> &::std::option::Option<crate::types::MySqlSettings> {
737        &self.my_sql_settings
738    }
739    /// <p>Settings in JSON format for the source and target Oracle endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib">Extra connection attributes when using Oracle as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.ConnectionAttrib"> Extra connection attributes when using Oracle as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
740    pub fn oracle_settings(mut self, input: crate::types::OracleSettings) -> Self {
741        self.oracle_settings = ::std::option::Option::Some(input);
742        self
743    }
744    /// <p>Settings in JSON format for the source and target Oracle endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib">Extra connection attributes when using Oracle as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.ConnectionAttrib"> Extra connection attributes when using Oracle as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
745    pub fn set_oracle_settings(mut self, input: ::std::option::Option<crate::types::OracleSettings>) -> Self {
746        self.oracle_settings = input;
747        self
748    }
749    /// <p>Settings in JSON format for the source and target Oracle endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib">Extra connection attributes when using Oracle as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.ConnectionAttrib"> Extra connection attributes when using Oracle as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
750    pub fn get_oracle_settings(&self) -> &::std::option::Option<crate::types::OracleSettings> {
751        &self.oracle_settings
752    }
753    /// <p>Settings in JSON format for the source and target SAP ASE endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html#CHAP_Source.SAP.ConnectionAttrib">Extra connection attributes when using SAP ASE as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.html#CHAP_Target.SAP.ConnectionAttrib">Extra connection attributes when using SAP ASE as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
754    pub fn sybase_settings(mut self, input: crate::types::SybaseSettings) -> Self {
755        self.sybase_settings = ::std::option::Option::Some(input);
756        self
757    }
758    /// <p>Settings in JSON format for the source and target SAP ASE endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html#CHAP_Source.SAP.ConnectionAttrib">Extra connection attributes when using SAP ASE as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.html#CHAP_Target.SAP.ConnectionAttrib">Extra connection attributes when using SAP ASE as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
759    pub fn set_sybase_settings(mut self, input: ::std::option::Option<crate::types::SybaseSettings>) -> Self {
760        self.sybase_settings = input;
761        self
762    }
763    /// <p>Settings in JSON format for the source and target SAP ASE endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html#CHAP_Source.SAP.ConnectionAttrib">Extra connection attributes when using SAP ASE as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.html#CHAP_Target.SAP.ConnectionAttrib">Extra connection attributes when using SAP ASE as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
764    pub fn get_sybase_settings(&self) -> &::std::option::Option<crate::types::SybaseSettings> {
765        &self.sybase_settings
766    }
767    /// <p>Settings in JSON format for the source and target Microsoft SQL Server endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.ConnectionAttrib">Extra connection attributes when using SQL Server as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html#CHAP_Target.SQLServer.ConnectionAttrib"> Extra connection attributes when using SQL Server as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
768    pub fn microsoft_sql_server_settings(mut self, input: crate::types::MicrosoftSqlServerSettings) -> Self {
769        self.microsoft_sql_server_settings = ::std::option::Option::Some(input);
770        self
771    }
772    /// <p>Settings in JSON format for the source and target Microsoft SQL Server endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.ConnectionAttrib">Extra connection attributes when using SQL Server as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html#CHAP_Target.SQLServer.ConnectionAttrib"> Extra connection attributes when using SQL Server as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
773    pub fn set_microsoft_sql_server_settings(mut self, input: ::std::option::Option<crate::types::MicrosoftSqlServerSettings>) -> Self {
774        self.microsoft_sql_server_settings = input;
775        self
776    }
777    /// <p>Settings in JSON format for the source and target Microsoft SQL Server endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.ConnectionAttrib">Extra connection attributes when using SQL Server as a source for DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html#CHAP_Target.SQLServer.ConnectionAttrib"> Extra connection attributes when using SQL Server as a target for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
778    pub fn get_microsoft_sql_server_settings(&self) -> &::std::option::Option<crate::types::MicrosoftSqlServerSettings> {
779        &self.microsoft_sql_server_settings
780    }
781    /// <p>Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.html#CHAP_Source.DB2.ConnectionAttrib">Extra connection attributes when using Db2 LUW as a source for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
782    pub fn ibm_db2_settings(mut self, input: crate::types::IbmDb2Settings) -> Self {
783        self.ibm_db2_settings = ::std::option::Option::Some(input);
784        self
785    }
786    /// <p>Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.html#CHAP_Source.DB2.ConnectionAttrib">Extra connection attributes when using Db2 LUW as a source for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
787    pub fn set_ibm_db2_settings(mut self, input: ::std::option::Option<crate::types::IbmDb2Settings>) -> Self {
788        self.ibm_db2_settings = input;
789        self
790    }
791    /// <p>Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.html#CHAP_Source.DB2.ConnectionAttrib">Extra connection attributes when using Db2 LUW as a source for DMS</a> in the <i>Database Migration Service User Guide.</i></p>
792    pub fn get_ibm_db2_settings(&self) -> &::std::option::Option<crate::types::IbmDb2Settings> {
793        &self.ibm_db2_settings
794    }
795    /// <p>A friendly name for the resource identifier at the end of the <code>EndpointArn</code> response parameter that is returned in the created <code>Endpoint</code> object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as <code>Example-App-ARN1</code>. For example, this value might result in the <code>EndpointArn</code> value <code>arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1</code>. If you don't specify a <code>ResourceIdentifier</code> value, DMS generates a default identifier value for the end of <code>EndpointArn</code>.</p>
796    pub fn resource_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
797        self.resource_identifier = ::std::option::Option::Some(input.into());
798        self
799    }
800    /// <p>A friendly name for the resource identifier at the end of the <code>EndpointArn</code> response parameter that is returned in the created <code>Endpoint</code> object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as <code>Example-App-ARN1</code>. For example, this value might result in the <code>EndpointArn</code> value <code>arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1</code>. If you don't specify a <code>ResourceIdentifier</code> value, DMS generates a default identifier value for the end of <code>EndpointArn</code>.</p>
801    pub fn set_resource_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
802        self.resource_identifier = input;
803        self
804    }
805    /// <p>A friendly name for the resource identifier at the end of the <code>EndpointArn</code> response parameter that is returned in the created <code>Endpoint</code> object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as <code>Example-App-ARN1</code>. For example, this value might result in the <code>EndpointArn</code> value <code>arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1</code>. If you don't specify a <code>ResourceIdentifier</code> value, DMS generates a default identifier value for the end of <code>EndpointArn</code>.</p>
806    pub fn get_resource_identifier(&self) -> &::std::option::Option<::std::string::String> {
807        &self.resource_identifier
808    }
809    /// <p>Provides information that defines a DocumentDB endpoint.</p>
810    pub fn doc_db_settings(mut self, input: crate::types::DocDbSettings) -> Self {
811        self.doc_db_settings = ::std::option::Option::Some(input);
812        self
813    }
814    /// <p>Provides information that defines a DocumentDB endpoint.</p>
815    pub fn set_doc_db_settings(mut self, input: ::std::option::Option<crate::types::DocDbSettings>) -> Self {
816        self.doc_db_settings = input;
817        self
818    }
819    /// <p>Provides information that defines a DocumentDB endpoint.</p>
820    pub fn get_doc_db_settings(&self) -> &::std::option::Option<crate::types::DocDbSettings> {
821        &self.doc_db_settings
822    }
823    /// <p>Settings in JSON format for the target Redis endpoint.</p>
824    pub fn redis_settings(mut self, input: crate::types::RedisSettings) -> Self {
825        self.redis_settings = ::std::option::Option::Some(input);
826        self
827    }
828    /// <p>Settings in JSON format for the target Redis endpoint.</p>
829    pub fn set_redis_settings(mut self, input: ::std::option::Option<crate::types::RedisSettings>) -> Self {
830        self.redis_settings = input;
831        self
832    }
833    /// <p>Settings in JSON format for the target Redis endpoint.</p>
834    pub fn get_redis_settings(&self) -> &::std::option::Option<crate::types::RedisSettings> {
835        &self.redis_settings
836    }
837    /// <p>Settings in JSON format for the source GCP MySQL endpoint.</p>
838    pub fn gcp_my_sql_settings(mut self, input: crate::types::GcpMySqlSettings) -> Self {
839        self.gcp_my_sql_settings = ::std::option::Option::Some(input);
840        self
841    }
842    /// <p>Settings in JSON format for the source GCP MySQL endpoint.</p>
843    pub fn set_gcp_my_sql_settings(mut self, input: ::std::option::Option<crate::types::GcpMySqlSettings>) -> Self {
844        self.gcp_my_sql_settings = input;
845        self
846    }
847    /// <p>Settings in JSON format for the source GCP MySQL endpoint.</p>
848    pub fn get_gcp_my_sql_settings(&self) -> &::std::option::Option<crate::types::GcpMySqlSettings> {
849        &self.gcp_my_sql_settings
850    }
851    /// <p>Settings in JSON format for the target Amazon Timestream endpoint.</p>
852    pub fn timestream_settings(mut self, input: crate::types::TimestreamSettings) -> Self {
853        self.timestream_settings = ::std::option::Option::Some(input);
854        self
855    }
856    /// <p>Settings in JSON format for the target Amazon Timestream endpoint.</p>
857    pub fn set_timestream_settings(mut self, input: ::std::option::Option<crate::types::TimestreamSettings>) -> Self {
858        self.timestream_settings = input;
859        self
860    }
861    /// <p>Settings in JSON format for the target Amazon Timestream endpoint.</p>
862    pub fn get_timestream_settings(&self) -> &::std::option::Option<crate::types::TimestreamSettings> {
863        &self.timestream_settings
864    }
865    /// Consumes the builder and constructs a [`CreateEndpointInput`](crate::operation::create_endpoint::CreateEndpointInput).
866    pub fn build(
867        self,
868    ) -> ::std::result::Result<crate::operation::create_endpoint::CreateEndpointInput, ::aws_smithy_types::error::operation::BuildError> {
869        ::std::result::Result::Ok(crate::operation::create_endpoint::CreateEndpointInput {
870            endpoint_identifier: self.endpoint_identifier,
871            endpoint_type: self.endpoint_type,
872            engine_name: self.engine_name,
873            username: self.username,
874            password: self.password,
875            server_name: self.server_name,
876            port: self.port,
877            database_name: self.database_name,
878            extra_connection_attributes: self.extra_connection_attributes,
879            kms_key_id: self.kms_key_id,
880            tags: self.tags,
881            certificate_arn: self.certificate_arn,
882            ssl_mode: self.ssl_mode,
883            service_access_role_arn: self.service_access_role_arn,
884            external_table_definition: self.external_table_definition,
885            dynamo_db_settings: self.dynamo_db_settings,
886            s3_settings: self.s3_settings,
887            dms_transfer_settings: self.dms_transfer_settings,
888            mongo_db_settings: self.mongo_db_settings,
889            kinesis_settings: self.kinesis_settings,
890            kafka_settings: self.kafka_settings,
891            elasticsearch_settings: self.elasticsearch_settings,
892            neptune_settings: self.neptune_settings,
893            redshift_settings: self.redshift_settings,
894            postgre_sql_settings: self.postgre_sql_settings,
895            my_sql_settings: self.my_sql_settings,
896            oracle_settings: self.oracle_settings,
897            sybase_settings: self.sybase_settings,
898            microsoft_sql_server_settings: self.microsoft_sql_server_settings,
899            ibm_db2_settings: self.ibm_db2_settings,
900            resource_identifier: self.resource_identifier,
901            doc_db_settings: self.doc_db_settings,
902            redis_settings: self.redis_settings,
903            gcp_my_sql_settings: self.gcp_my_sql_settings,
904            timestream_settings: self.timestream_settings,
905        })
906    }
907}
908impl ::std::fmt::Debug for CreateEndpointInputBuilder {
909    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
910        let mut formatter = f.debug_struct("CreateEndpointInputBuilder");
911        formatter.field("endpoint_identifier", &self.endpoint_identifier);
912        formatter.field("endpoint_type", &self.endpoint_type);
913        formatter.field("engine_name", &self.engine_name);
914        formatter.field("username", &self.username);
915        formatter.field("password", &"*** Sensitive Data Redacted ***");
916        formatter.field("server_name", &self.server_name);
917        formatter.field("port", &self.port);
918        formatter.field("database_name", &self.database_name);
919        formatter.field("extra_connection_attributes", &self.extra_connection_attributes);
920        formatter.field("kms_key_id", &self.kms_key_id);
921        formatter.field("tags", &self.tags);
922        formatter.field("certificate_arn", &self.certificate_arn);
923        formatter.field("ssl_mode", &self.ssl_mode);
924        formatter.field("service_access_role_arn", &self.service_access_role_arn);
925        formatter.field("external_table_definition", &self.external_table_definition);
926        formatter.field("dynamo_db_settings", &self.dynamo_db_settings);
927        formatter.field("s3_settings", &self.s3_settings);
928        formatter.field("dms_transfer_settings", &self.dms_transfer_settings);
929        formatter.field("mongo_db_settings", &self.mongo_db_settings);
930        formatter.field("kinesis_settings", &self.kinesis_settings);
931        formatter.field("kafka_settings", &self.kafka_settings);
932        formatter.field("elasticsearch_settings", &self.elasticsearch_settings);
933        formatter.field("neptune_settings", &self.neptune_settings);
934        formatter.field("redshift_settings", &self.redshift_settings);
935        formatter.field("postgre_sql_settings", &self.postgre_sql_settings);
936        formatter.field("my_sql_settings", &self.my_sql_settings);
937        formatter.field("oracle_settings", &self.oracle_settings);
938        formatter.field("sybase_settings", &self.sybase_settings);
939        formatter.field("microsoft_sql_server_settings", &self.microsoft_sql_server_settings);
940        formatter.field("ibm_db2_settings", &self.ibm_db2_settings);
941        formatter.field("resource_identifier", &self.resource_identifier);
942        formatter.field("doc_db_settings", &self.doc_db_settings);
943        formatter.field("redis_settings", &self.redis_settings);
944        formatter.field("gcp_my_sql_settings", &self.gcp_my_sql_settings);
945        formatter.field("timestream_settings", &self.timestream_settings);
946        formatter.finish()
947    }
948}