Skip to main content

aws_sdk_databasemigration/types/
_endpoint.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Describes an endpoint of a database instance in response to operations such as the following:</p>
4/// <ul>
5/// <li>
6/// <p><code>CreateEndpoint</code></p></li>
7/// <li>
8/// <p><code>DescribeEndpoint</code></p></li>
9/// <li>
10/// <p><code>ModifyEndpoint</code></p></li>
11/// </ul>
12#[non_exhaustive]
13#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
14pub struct Endpoint {
15    /// <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>
16    pub endpoint_identifier: ::std::option::Option<::std::string::String>,
17    /// <p>The type of endpoint. Valid values are <code>source</code> and <code>target</code>.</p>
18    pub endpoint_type: ::std::option::Option<crate::types::ReplicationEndpointTypeValue>,
19    /// <p>The database engine name. Valid values, depending on the EndpointType, include <code>"mysql"</code>, <code>"oracle"</code>, <code>"postgres"</code>, <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>, <code>"redshift"</code>, <code>"redshift-serverless"</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>"documentdb"</code>, <code>"sqlserver"</code>, <code>"neptune"</code>, and <code>"babelfish"</code>.</p>
20    pub engine_name: ::std::option::Option<::std::string::String>,
21    /// <p>The expanded name for the engine name. For example, if the <code>EngineName</code> parameter is "aurora", this value would be "Amazon Aurora MySQL".</p>
22    pub engine_display_name: ::std::option::Option<::std::string::String>,
23    /// <p>The user name used to connect to the endpoint.</p>
24    pub username: ::std::option::Option<::std::string::String>,
25    /// <p>The name of the server at the endpoint.</p>
26    pub server_name: ::std::option::Option<::std::string::String>,
27    /// <p>The port value used to access the endpoint.</p>
28    pub port: ::std::option::Option<i32>,
29    /// <p>The name of the database at the endpoint.</p>
30    pub database_name: ::std::option::Option<::std::string::String>,
31    /// <p>Additional connection attributes used to connect to the endpoint.</p>
32    pub extra_connection_attributes: ::std::option::Option<::std::string::String>,
33    /// <p>The status of the endpoint.</p>
34    pub status: ::std::option::Option<::std::string::String>,
35    /// <p>An KMS key identifier that is used to encrypt the connection parameters for the endpoint.</p>
36    /// <p>If you don't specify a value for the <code>KmsKeyId</code> parameter, then DMS uses your default encryption key.</p>
37    /// <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>
38    pub kms_key_id: ::std::option::Option<::std::string::String>,
39    /// <p>The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.</p>
40    pub endpoint_arn: ::std::option::Option<::std::string::String>,
41    /// <p>The Amazon Resource Name (ARN) used for SSL connection to the endpoint.</p>
42    pub certificate_arn: ::std::option::Option<::std::string::String>,
43    /// <p>The SSL mode used to connect to the endpoint. The default value is <code>none</code>.</p>
44    pub ssl_mode: ::std::option::Option<crate::types::DmsSslModeValue>,
45    /// <p>The Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow the <code>iam:PassRole</code> action.</p>
46    pub service_access_role_arn: ::std::option::Option<::std::string::String>,
47    /// <p>The external table definition.</p>
48    pub external_table_definition: ::std::option::Option<::std::string::String>,
49    /// <p>Value returned by a call to CreateEndpoint that can be used for cross-account validation. Use it on a subsequent call to CreateEndpoint to create the endpoint with a cross-account.</p>
50    pub external_id: ::std::option::Option<::std::string::String>,
51    /// <p>Indicates whether the endpoint is read-only. When set to <code>true</code>, this endpoint is managed by DMS as part of a zero-ETL integration and cannot be modified or deleted directly. You can only modify or delete read-only endpoints through their associated zero-ETL integration.</p>
52    pub is_read_only: ::std::option::Option<bool>,
53    /// <p>The settings for the DynamoDB target endpoint. For more information, see the <code>DynamoDBSettings</code> structure.</p>
54    pub dynamo_db_settings: ::std::option::Option<crate::types::DynamoDbSettings>,
55    /// <p>The settings for the S3 target endpoint. For more information, see the <code>S3Settings</code> structure.</p>
56    pub s3_settings: ::std::option::Option<crate::types::S3Settings>,
57    /// <p>The settings for the DMS Transfer type source. For more information, see the DmsTransferSettings structure.</p>
58    pub dms_transfer_settings: ::std::option::Option<crate::types::DmsTransferSettings>,
59    /// <p>The settings for the MongoDB source endpoint. For more information, see the <code>MongoDbSettings</code> structure.</p>
60    pub mongo_db_settings: ::std::option::Option<crate::types::MongoDbSettings>,
61    /// <p>The settings for the Amazon Kinesis target endpoint. For more information, see the <code>KinesisSettings</code> structure.</p>
62    pub kinesis_settings: ::std::option::Option<crate::types::KinesisSettings>,
63    /// <p>The settings for the Apache Kafka target endpoint. For more information, see the <code>KafkaSettings</code> structure.</p>
64    pub kafka_settings: ::std::option::Option<crate::types::KafkaSettings>,
65    /// <p>The settings for the OpenSearch source endpoint. For more information, see the <code>ElasticsearchSettings</code> structure.</p>
66    pub elasticsearch_settings: ::std::option::Option<crate::types::ElasticsearchSettings>,
67    /// <p>The settings for the Amazon Neptune target endpoint. For more information, see the <code>NeptuneSettings</code> structure.</p>
68    pub neptune_settings: ::std::option::Option<crate::types::NeptuneSettings>,
69    /// <p>Settings for the Amazon Redshift endpoint.</p>
70    pub redshift_settings: ::std::option::Option<crate::types::RedshiftSettings>,
71    /// <p>The settings for the PostgreSQL source and target endpoint. For more information, see the <code>PostgreSQLSettings</code> structure.</p>
72    pub postgre_sql_settings: ::std::option::Option<crate::types::PostgreSqlSettings>,
73    /// <p>The settings for the MySQL source and target endpoint. For more information, see the <code>MySQLSettings</code> structure.</p>
74    pub my_sql_settings: ::std::option::Option<crate::types::MySqlSettings>,
75    /// <p>The settings for the Oracle source and target endpoint. For more information, see the <code>OracleSettings</code> structure.</p>
76    pub oracle_settings: ::std::option::Option<crate::types::OracleSettings>,
77    /// <p>The settings for the SAP ASE source and target endpoint. For more information, see the <code>SybaseSettings</code> structure.</p>
78    pub sybase_settings: ::std::option::Option<crate::types::SybaseSettings>,
79    /// <p>The settings for the Microsoft SQL Server source and target endpoint. For more information, see the <code>MicrosoftSQLServerSettings</code> structure.</p>
80    pub microsoft_sql_server_settings: ::std::option::Option<crate::types::MicrosoftSqlServerSettings>,
81    /// <p>The settings for the IBM Db2 LUW source endpoint. For more information, see the <code>IBMDb2Settings</code> structure.</p>
82    pub ibm_db2_settings: ::std::option::Option<crate::types::IbmDb2Settings>,
83    /// <p>Provides information that defines a DocumentDB endpoint.</p>
84    pub doc_db_settings: ::std::option::Option<crate::types::DocDbSettings>,
85    /// <p>The settings for the Redis target endpoint. For more information, see the <code>RedisSettings</code> structure.</p>
86    pub redis_settings: ::std::option::Option<crate::types::RedisSettings>,
87    /// <p>Settings in JSON format for the source GCP MySQL endpoint.</p>
88    pub gcp_my_sql_settings: ::std::option::Option<crate::types::GcpMySqlSettings>,
89    /// <p>The settings for the Amazon Timestream target endpoint. For more information, see the <code>TimestreamSettings</code> structure.</p>
90    pub timestream_settings: ::std::option::Option<crate::types::TimestreamSettings>,
91    /// <p>Settings in JSON format for the target Lakehouse endpoint. This parameter applies to endpoints that are automatically created by DMS for a Lakehouse data warehouse as part of a zero-ETL integration.</p>
92    pub lakehouse_settings: ::std::option::Option<crate::types::LakehouseSettings>,
93}
94impl Endpoint {
95    /// <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>
96    pub fn endpoint_identifier(&self) -> ::std::option::Option<&str> {
97        self.endpoint_identifier.as_deref()
98    }
99    /// <p>The type of endpoint. Valid values are <code>source</code> and <code>target</code>.</p>
100    pub fn endpoint_type(&self) -> ::std::option::Option<&crate::types::ReplicationEndpointTypeValue> {
101        self.endpoint_type.as_ref()
102    }
103    /// <p>The database engine name. Valid values, depending on the EndpointType, include <code>"mysql"</code>, <code>"oracle"</code>, <code>"postgres"</code>, <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>, <code>"redshift"</code>, <code>"redshift-serverless"</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>"documentdb"</code>, <code>"sqlserver"</code>, <code>"neptune"</code>, and <code>"babelfish"</code>.</p>
104    pub fn engine_name(&self) -> ::std::option::Option<&str> {
105        self.engine_name.as_deref()
106    }
107    /// <p>The expanded name for the engine name. For example, if the <code>EngineName</code> parameter is "aurora", this value would be "Amazon Aurora MySQL".</p>
108    pub fn engine_display_name(&self) -> ::std::option::Option<&str> {
109        self.engine_display_name.as_deref()
110    }
111    /// <p>The user name used to connect to the endpoint.</p>
112    pub fn username(&self) -> ::std::option::Option<&str> {
113        self.username.as_deref()
114    }
115    /// <p>The name of the server at the endpoint.</p>
116    pub fn server_name(&self) -> ::std::option::Option<&str> {
117        self.server_name.as_deref()
118    }
119    /// <p>The port value used to access the endpoint.</p>
120    pub fn port(&self) -> ::std::option::Option<i32> {
121        self.port
122    }
123    /// <p>The name of the database at the endpoint.</p>
124    pub fn database_name(&self) -> ::std::option::Option<&str> {
125        self.database_name.as_deref()
126    }
127    /// <p>Additional connection attributes used to connect to the endpoint.</p>
128    pub fn extra_connection_attributes(&self) -> ::std::option::Option<&str> {
129        self.extra_connection_attributes.as_deref()
130    }
131    /// <p>The status of the endpoint.</p>
132    pub fn status(&self) -> ::std::option::Option<&str> {
133        self.status.as_deref()
134    }
135    /// <p>An KMS key identifier that is used to encrypt the connection parameters for the endpoint.</p>
136    /// <p>If you don't specify a value for the <code>KmsKeyId</code> parameter, then DMS uses your default encryption key.</p>
137    /// <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>
138    pub fn kms_key_id(&self) -> ::std::option::Option<&str> {
139        self.kms_key_id.as_deref()
140    }
141    /// <p>The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.</p>
142    pub fn endpoint_arn(&self) -> ::std::option::Option<&str> {
143        self.endpoint_arn.as_deref()
144    }
145    /// <p>The Amazon Resource Name (ARN) used for SSL connection to the endpoint.</p>
146    pub fn certificate_arn(&self) -> ::std::option::Option<&str> {
147        self.certificate_arn.as_deref()
148    }
149    /// <p>The SSL mode used to connect to the endpoint. The default value is <code>none</code>.</p>
150    pub fn ssl_mode(&self) -> ::std::option::Option<&crate::types::DmsSslModeValue> {
151        self.ssl_mode.as_ref()
152    }
153    /// <p>The Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow the <code>iam:PassRole</code> action.</p>
154    pub fn service_access_role_arn(&self) -> ::std::option::Option<&str> {
155        self.service_access_role_arn.as_deref()
156    }
157    /// <p>The external table definition.</p>
158    pub fn external_table_definition(&self) -> ::std::option::Option<&str> {
159        self.external_table_definition.as_deref()
160    }
161    /// <p>Value returned by a call to CreateEndpoint that can be used for cross-account validation. Use it on a subsequent call to CreateEndpoint to create the endpoint with a cross-account.</p>
162    pub fn external_id(&self) -> ::std::option::Option<&str> {
163        self.external_id.as_deref()
164    }
165    /// <p>Indicates whether the endpoint is read-only. When set to <code>true</code>, this endpoint is managed by DMS as part of a zero-ETL integration and cannot be modified or deleted directly. You can only modify or delete read-only endpoints through their associated zero-ETL integration.</p>
166    pub fn is_read_only(&self) -> ::std::option::Option<bool> {
167        self.is_read_only
168    }
169    /// <p>The settings for the DynamoDB target endpoint. For more information, see the <code>DynamoDBSettings</code> structure.</p>
170    pub fn dynamo_db_settings(&self) -> ::std::option::Option<&crate::types::DynamoDbSettings> {
171        self.dynamo_db_settings.as_ref()
172    }
173    /// <p>The settings for the S3 target endpoint. For more information, see the <code>S3Settings</code> structure.</p>
174    pub fn s3_settings(&self) -> ::std::option::Option<&crate::types::S3Settings> {
175        self.s3_settings.as_ref()
176    }
177    /// <p>The settings for the DMS Transfer type source. For more information, see the DmsTransferSettings structure.</p>
178    pub fn dms_transfer_settings(&self) -> ::std::option::Option<&crate::types::DmsTransferSettings> {
179        self.dms_transfer_settings.as_ref()
180    }
181    /// <p>The settings for the MongoDB source endpoint. For more information, see the <code>MongoDbSettings</code> structure.</p>
182    pub fn mongo_db_settings(&self) -> ::std::option::Option<&crate::types::MongoDbSettings> {
183        self.mongo_db_settings.as_ref()
184    }
185    /// <p>The settings for the Amazon Kinesis target endpoint. For more information, see the <code>KinesisSettings</code> structure.</p>
186    pub fn kinesis_settings(&self) -> ::std::option::Option<&crate::types::KinesisSettings> {
187        self.kinesis_settings.as_ref()
188    }
189    /// <p>The settings for the Apache Kafka target endpoint. For more information, see the <code>KafkaSettings</code> structure.</p>
190    pub fn kafka_settings(&self) -> ::std::option::Option<&crate::types::KafkaSettings> {
191        self.kafka_settings.as_ref()
192    }
193    /// <p>The settings for the OpenSearch source endpoint. For more information, see the <code>ElasticsearchSettings</code> structure.</p>
194    pub fn elasticsearch_settings(&self) -> ::std::option::Option<&crate::types::ElasticsearchSettings> {
195        self.elasticsearch_settings.as_ref()
196    }
197    /// <p>The settings for the Amazon Neptune target endpoint. For more information, see the <code>NeptuneSettings</code> structure.</p>
198    pub fn neptune_settings(&self) -> ::std::option::Option<&crate::types::NeptuneSettings> {
199        self.neptune_settings.as_ref()
200    }
201    /// <p>Settings for the Amazon Redshift endpoint.</p>
202    pub fn redshift_settings(&self) -> ::std::option::Option<&crate::types::RedshiftSettings> {
203        self.redshift_settings.as_ref()
204    }
205    /// <p>The settings for the PostgreSQL source and target endpoint. For more information, see the <code>PostgreSQLSettings</code> structure.</p>
206    pub fn postgre_sql_settings(&self) -> ::std::option::Option<&crate::types::PostgreSqlSettings> {
207        self.postgre_sql_settings.as_ref()
208    }
209    /// <p>The settings for the MySQL source and target endpoint. For more information, see the <code>MySQLSettings</code> structure.</p>
210    pub fn my_sql_settings(&self) -> ::std::option::Option<&crate::types::MySqlSettings> {
211        self.my_sql_settings.as_ref()
212    }
213    /// <p>The settings for the Oracle source and target endpoint. For more information, see the <code>OracleSettings</code> structure.</p>
214    pub fn oracle_settings(&self) -> ::std::option::Option<&crate::types::OracleSettings> {
215        self.oracle_settings.as_ref()
216    }
217    /// <p>The settings for the SAP ASE source and target endpoint. For more information, see the <code>SybaseSettings</code> structure.</p>
218    pub fn sybase_settings(&self) -> ::std::option::Option<&crate::types::SybaseSettings> {
219        self.sybase_settings.as_ref()
220    }
221    /// <p>The settings for the Microsoft SQL Server source and target endpoint. For more information, see the <code>MicrosoftSQLServerSettings</code> structure.</p>
222    pub fn microsoft_sql_server_settings(&self) -> ::std::option::Option<&crate::types::MicrosoftSqlServerSettings> {
223        self.microsoft_sql_server_settings.as_ref()
224    }
225    /// <p>The settings for the IBM Db2 LUW source endpoint. For more information, see the <code>IBMDb2Settings</code> structure.</p>
226    pub fn ibm_db2_settings(&self) -> ::std::option::Option<&crate::types::IbmDb2Settings> {
227        self.ibm_db2_settings.as_ref()
228    }
229    /// <p>Provides information that defines a DocumentDB endpoint.</p>
230    pub fn doc_db_settings(&self) -> ::std::option::Option<&crate::types::DocDbSettings> {
231        self.doc_db_settings.as_ref()
232    }
233    /// <p>The settings for the Redis target endpoint. For more information, see the <code>RedisSettings</code> structure.</p>
234    pub fn redis_settings(&self) -> ::std::option::Option<&crate::types::RedisSettings> {
235        self.redis_settings.as_ref()
236    }
237    /// <p>Settings in JSON format for the source GCP MySQL endpoint.</p>
238    pub fn gcp_my_sql_settings(&self) -> ::std::option::Option<&crate::types::GcpMySqlSettings> {
239        self.gcp_my_sql_settings.as_ref()
240    }
241    /// <p>The settings for the Amazon Timestream target endpoint. For more information, see the <code>TimestreamSettings</code> structure.</p>
242    pub fn timestream_settings(&self) -> ::std::option::Option<&crate::types::TimestreamSettings> {
243        self.timestream_settings.as_ref()
244    }
245    /// <p>Settings in JSON format for the target Lakehouse endpoint. This parameter applies to endpoints that are automatically created by DMS for a Lakehouse data warehouse as part of a zero-ETL integration.</p>
246    pub fn lakehouse_settings(&self) -> ::std::option::Option<&crate::types::LakehouseSettings> {
247        self.lakehouse_settings.as_ref()
248    }
249}
250impl Endpoint {
251    /// Creates a new builder-style object to manufacture [`Endpoint`](crate::types::Endpoint).
252    pub fn builder() -> crate::types::builders::EndpointBuilder {
253        crate::types::builders::EndpointBuilder::default()
254    }
255}
256
257/// A builder for [`Endpoint`](crate::types::Endpoint).
258#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
259#[non_exhaustive]
260pub struct EndpointBuilder {
261    pub(crate) endpoint_identifier: ::std::option::Option<::std::string::String>,
262    pub(crate) endpoint_type: ::std::option::Option<crate::types::ReplicationEndpointTypeValue>,
263    pub(crate) engine_name: ::std::option::Option<::std::string::String>,
264    pub(crate) engine_display_name: ::std::option::Option<::std::string::String>,
265    pub(crate) username: ::std::option::Option<::std::string::String>,
266    pub(crate) server_name: ::std::option::Option<::std::string::String>,
267    pub(crate) port: ::std::option::Option<i32>,
268    pub(crate) database_name: ::std::option::Option<::std::string::String>,
269    pub(crate) extra_connection_attributes: ::std::option::Option<::std::string::String>,
270    pub(crate) status: ::std::option::Option<::std::string::String>,
271    pub(crate) kms_key_id: ::std::option::Option<::std::string::String>,
272    pub(crate) endpoint_arn: ::std::option::Option<::std::string::String>,
273    pub(crate) certificate_arn: ::std::option::Option<::std::string::String>,
274    pub(crate) ssl_mode: ::std::option::Option<crate::types::DmsSslModeValue>,
275    pub(crate) service_access_role_arn: ::std::option::Option<::std::string::String>,
276    pub(crate) external_table_definition: ::std::option::Option<::std::string::String>,
277    pub(crate) external_id: ::std::option::Option<::std::string::String>,
278    pub(crate) is_read_only: ::std::option::Option<bool>,
279    pub(crate) dynamo_db_settings: ::std::option::Option<crate::types::DynamoDbSettings>,
280    pub(crate) s3_settings: ::std::option::Option<crate::types::S3Settings>,
281    pub(crate) dms_transfer_settings: ::std::option::Option<crate::types::DmsTransferSettings>,
282    pub(crate) mongo_db_settings: ::std::option::Option<crate::types::MongoDbSettings>,
283    pub(crate) kinesis_settings: ::std::option::Option<crate::types::KinesisSettings>,
284    pub(crate) kafka_settings: ::std::option::Option<crate::types::KafkaSettings>,
285    pub(crate) elasticsearch_settings: ::std::option::Option<crate::types::ElasticsearchSettings>,
286    pub(crate) neptune_settings: ::std::option::Option<crate::types::NeptuneSettings>,
287    pub(crate) redshift_settings: ::std::option::Option<crate::types::RedshiftSettings>,
288    pub(crate) postgre_sql_settings: ::std::option::Option<crate::types::PostgreSqlSettings>,
289    pub(crate) my_sql_settings: ::std::option::Option<crate::types::MySqlSettings>,
290    pub(crate) oracle_settings: ::std::option::Option<crate::types::OracleSettings>,
291    pub(crate) sybase_settings: ::std::option::Option<crate::types::SybaseSettings>,
292    pub(crate) microsoft_sql_server_settings: ::std::option::Option<crate::types::MicrosoftSqlServerSettings>,
293    pub(crate) ibm_db2_settings: ::std::option::Option<crate::types::IbmDb2Settings>,
294    pub(crate) doc_db_settings: ::std::option::Option<crate::types::DocDbSettings>,
295    pub(crate) redis_settings: ::std::option::Option<crate::types::RedisSettings>,
296    pub(crate) gcp_my_sql_settings: ::std::option::Option<crate::types::GcpMySqlSettings>,
297    pub(crate) timestream_settings: ::std::option::Option<crate::types::TimestreamSettings>,
298    pub(crate) lakehouse_settings: ::std::option::Option<crate::types::LakehouseSettings>,
299}
300impl EndpointBuilder {
301    /// <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>
302    pub fn endpoint_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
303        self.endpoint_identifier = ::std::option::Option::Some(input.into());
304        self
305    }
306    /// <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>
307    pub fn set_endpoint_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
308        self.endpoint_identifier = input;
309        self
310    }
311    /// <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>
312    pub fn get_endpoint_identifier(&self) -> &::std::option::Option<::std::string::String> {
313        &self.endpoint_identifier
314    }
315    /// <p>The type of endpoint. Valid values are <code>source</code> and <code>target</code>.</p>
316    pub fn endpoint_type(mut self, input: crate::types::ReplicationEndpointTypeValue) -> Self {
317        self.endpoint_type = ::std::option::Option::Some(input);
318        self
319    }
320    /// <p>The type of endpoint. Valid values are <code>source</code> and <code>target</code>.</p>
321    pub fn set_endpoint_type(mut self, input: ::std::option::Option<crate::types::ReplicationEndpointTypeValue>) -> Self {
322        self.endpoint_type = input;
323        self
324    }
325    /// <p>The type of endpoint. Valid values are <code>source</code> and <code>target</code>.</p>
326    pub fn get_endpoint_type(&self) -> &::std::option::Option<crate::types::ReplicationEndpointTypeValue> {
327        &self.endpoint_type
328    }
329    /// <p>The database engine name. Valid values, depending on the EndpointType, include <code>"mysql"</code>, <code>"oracle"</code>, <code>"postgres"</code>, <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>, <code>"redshift"</code>, <code>"redshift-serverless"</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>"documentdb"</code>, <code>"sqlserver"</code>, <code>"neptune"</code>, and <code>"babelfish"</code>.</p>
330    pub fn engine_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
331        self.engine_name = ::std::option::Option::Some(input.into());
332        self
333    }
334    /// <p>The database engine name. Valid values, depending on the EndpointType, include <code>"mysql"</code>, <code>"oracle"</code>, <code>"postgres"</code>, <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>, <code>"redshift"</code>, <code>"redshift-serverless"</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>"documentdb"</code>, <code>"sqlserver"</code>, <code>"neptune"</code>, and <code>"babelfish"</code>.</p>
335    pub fn set_engine_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
336        self.engine_name = input;
337        self
338    }
339    /// <p>The database engine name. Valid values, depending on the EndpointType, include <code>"mysql"</code>, <code>"oracle"</code>, <code>"postgres"</code>, <code>"mariadb"</code>, <code>"aurora"</code>, <code>"aurora-postgresql"</code>, <code>"redshift"</code>, <code>"redshift-serverless"</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>"documentdb"</code>, <code>"sqlserver"</code>, <code>"neptune"</code>, and <code>"babelfish"</code>.</p>
340    pub fn get_engine_name(&self) -> &::std::option::Option<::std::string::String> {
341        &self.engine_name
342    }
343    /// <p>The expanded name for the engine name. For example, if the <code>EngineName</code> parameter is "aurora", this value would be "Amazon Aurora MySQL".</p>
344    pub fn engine_display_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
345        self.engine_display_name = ::std::option::Option::Some(input.into());
346        self
347    }
348    /// <p>The expanded name for the engine name. For example, if the <code>EngineName</code> parameter is "aurora", this value would be "Amazon Aurora MySQL".</p>
349    pub fn set_engine_display_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
350        self.engine_display_name = input;
351        self
352    }
353    /// <p>The expanded name for the engine name. For example, if the <code>EngineName</code> parameter is "aurora", this value would be "Amazon Aurora MySQL".</p>
354    pub fn get_engine_display_name(&self) -> &::std::option::Option<::std::string::String> {
355        &self.engine_display_name
356    }
357    /// <p>The user name used to connect to the endpoint.</p>
358    pub fn username(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
359        self.username = ::std::option::Option::Some(input.into());
360        self
361    }
362    /// <p>The user name used to connect to the endpoint.</p>
363    pub fn set_username(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
364        self.username = input;
365        self
366    }
367    /// <p>The user name used to connect to the endpoint.</p>
368    pub fn get_username(&self) -> &::std::option::Option<::std::string::String> {
369        &self.username
370    }
371    /// <p>The name of the server at the endpoint.</p>
372    pub fn server_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
373        self.server_name = ::std::option::Option::Some(input.into());
374        self
375    }
376    /// <p>The name of the server at the endpoint.</p>
377    pub fn set_server_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
378        self.server_name = input;
379        self
380    }
381    /// <p>The name of the server at the endpoint.</p>
382    pub fn get_server_name(&self) -> &::std::option::Option<::std::string::String> {
383        &self.server_name
384    }
385    /// <p>The port value used to access the endpoint.</p>
386    pub fn port(mut self, input: i32) -> Self {
387        self.port = ::std::option::Option::Some(input);
388        self
389    }
390    /// <p>The port value used to access the endpoint.</p>
391    pub fn set_port(mut self, input: ::std::option::Option<i32>) -> Self {
392        self.port = input;
393        self
394    }
395    /// <p>The port value used to access the endpoint.</p>
396    pub fn get_port(&self) -> &::std::option::Option<i32> {
397        &self.port
398    }
399    /// <p>The name of the database at the endpoint.</p>
400    pub fn database_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
401        self.database_name = ::std::option::Option::Some(input.into());
402        self
403    }
404    /// <p>The name of the database at the endpoint.</p>
405    pub fn set_database_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
406        self.database_name = input;
407        self
408    }
409    /// <p>The name of the database at the endpoint.</p>
410    pub fn get_database_name(&self) -> &::std::option::Option<::std::string::String> {
411        &self.database_name
412    }
413    /// <p>Additional connection attributes used to connect to the endpoint.</p>
414    pub fn extra_connection_attributes(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
415        self.extra_connection_attributes = ::std::option::Option::Some(input.into());
416        self
417    }
418    /// <p>Additional connection attributes used to connect to the endpoint.</p>
419    pub fn set_extra_connection_attributes(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
420        self.extra_connection_attributes = input;
421        self
422    }
423    /// <p>Additional connection attributes used to connect to the endpoint.</p>
424    pub fn get_extra_connection_attributes(&self) -> &::std::option::Option<::std::string::String> {
425        &self.extra_connection_attributes
426    }
427    /// <p>The status of the endpoint.</p>
428    pub fn status(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
429        self.status = ::std::option::Option::Some(input.into());
430        self
431    }
432    /// <p>The status of the endpoint.</p>
433    pub fn set_status(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
434        self.status = input;
435        self
436    }
437    /// <p>The status of the endpoint.</p>
438    pub fn get_status(&self) -> &::std::option::Option<::std::string::String> {
439        &self.status
440    }
441    /// <p>An KMS key identifier that is used to encrypt the connection parameters for the endpoint.</p>
442    /// <p>If you don't specify a value for the <code>KmsKeyId</code> parameter, then DMS uses your default encryption key.</p>
443    /// <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>
444    pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
445        self.kms_key_id = ::std::option::Option::Some(input.into());
446        self
447    }
448    /// <p>An KMS key identifier that is used to encrypt the connection parameters for the endpoint.</p>
449    /// <p>If you don't specify a value for the <code>KmsKeyId</code> parameter, then DMS uses your default encryption key.</p>
450    /// <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>
451    pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
452        self.kms_key_id = input;
453        self
454    }
455    /// <p>An KMS key identifier that is used to encrypt the connection parameters for the endpoint.</p>
456    /// <p>If you don't specify a value for the <code>KmsKeyId</code> parameter, then DMS uses your default encryption key.</p>
457    /// <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>
458    pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
459        &self.kms_key_id
460    }
461    /// <p>The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.</p>
462    pub fn endpoint_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
463        self.endpoint_arn = ::std::option::Option::Some(input.into());
464        self
465    }
466    /// <p>The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.</p>
467    pub fn set_endpoint_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
468        self.endpoint_arn = input;
469        self
470    }
471    /// <p>The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.</p>
472    pub fn get_endpoint_arn(&self) -> &::std::option::Option<::std::string::String> {
473        &self.endpoint_arn
474    }
475    /// <p>The Amazon Resource Name (ARN) used for SSL connection to the endpoint.</p>
476    pub fn certificate_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
477        self.certificate_arn = ::std::option::Option::Some(input.into());
478        self
479    }
480    /// <p>The Amazon Resource Name (ARN) used for SSL connection to the endpoint.</p>
481    pub fn set_certificate_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
482        self.certificate_arn = input;
483        self
484    }
485    /// <p>The Amazon Resource Name (ARN) used for SSL connection to the endpoint.</p>
486    pub fn get_certificate_arn(&self) -> &::std::option::Option<::std::string::String> {
487        &self.certificate_arn
488    }
489    /// <p>The SSL mode used to connect to the endpoint. The default value is <code>none</code>.</p>
490    pub fn ssl_mode(mut self, input: crate::types::DmsSslModeValue) -> Self {
491        self.ssl_mode = ::std::option::Option::Some(input);
492        self
493    }
494    /// <p>The SSL mode used to connect to the endpoint. The default value is <code>none</code>.</p>
495    pub fn set_ssl_mode(mut self, input: ::std::option::Option<crate::types::DmsSslModeValue>) -> Self {
496        self.ssl_mode = input;
497        self
498    }
499    /// <p>The SSL mode used to connect to the endpoint. The default value is <code>none</code>.</p>
500    pub fn get_ssl_mode(&self) -> &::std::option::Option<crate::types::DmsSslModeValue> {
501        &self.ssl_mode
502    }
503    /// <p>The Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow the <code>iam:PassRole</code> action.</p>
504    pub fn service_access_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
505        self.service_access_role_arn = ::std::option::Option::Some(input.into());
506        self
507    }
508    /// <p>The Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow the <code>iam:PassRole</code> action.</p>
509    pub fn set_service_access_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
510        self.service_access_role_arn = input;
511        self
512    }
513    /// <p>The Amazon Resource Name (ARN) used by the service to access the IAM role. The role must allow the <code>iam:PassRole</code> action.</p>
514    pub fn get_service_access_role_arn(&self) -> &::std::option::Option<::std::string::String> {
515        &self.service_access_role_arn
516    }
517    /// <p>The external table definition.</p>
518    pub fn external_table_definition(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
519        self.external_table_definition = ::std::option::Option::Some(input.into());
520        self
521    }
522    /// <p>The external table definition.</p>
523    pub fn set_external_table_definition(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
524        self.external_table_definition = input;
525        self
526    }
527    /// <p>The external table definition.</p>
528    pub fn get_external_table_definition(&self) -> &::std::option::Option<::std::string::String> {
529        &self.external_table_definition
530    }
531    /// <p>Value returned by a call to CreateEndpoint that can be used for cross-account validation. Use it on a subsequent call to CreateEndpoint to create the endpoint with a cross-account.</p>
532    pub fn external_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
533        self.external_id = ::std::option::Option::Some(input.into());
534        self
535    }
536    /// <p>Value returned by a call to CreateEndpoint that can be used for cross-account validation. Use it on a subsequent call to CreateEndpoint to create the endpoint with a cross-account.</p>
537    pub fn set_external_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
538        self.external_id = input;
539        self
540    }
541    /// <p>Value returned by a call to CreateEndpoint that can be used for cross-account validation. Use it on a subsequent call to CreateEndpoint to create the endpoint with a cross-account.</p>
542    pub fn get_external_id(&self) -> &::std::option::Option<::std::string::String> {
543        &self.external_id
544    }
545    /// <p>Indicates whether the endpoint is read-only. When set to <code>true</code>, this endpoint is managed by DMS as part of a zero-ETL integration and cannot be modified or deleted directly. You can only modify or delete read-only endpoints through their associated zero-ETL integration.</p>
546    pub fn is_read_only(mut self, input: bool) -> Self {
547        self.is_read_only = ::std::option::Option::Some(input);
548        self
549    }
550    /// <p>Indicates whether the endpoint is read-only. When set to <code>true</code>, this endpoint is managed by DMS as part of a zero-ETL integration and cannot be modified or deleted directly. You can only modify or delete read-only endpoints through their associated zero-ETL integration.</p>
551    pub fn set_is_read_only(mut self, input: ::std::option::Option<bool>) -> Self {
552        self.is_read_only = input;
553        self
554    }
555    /// <p>Indicates whether the endpoint is read-only. When set to <code>true</code>, this endpoint is managed by DMS as part of a zero-ETL integration and cannot be modified or deleted directly. You can only modify or delete read-only endpoints through their associated zero-ETL integration.</p>
556    pub fn get_is_read_only(&self) -> &::std::option::Option<bool> {
557        &self.is_read_only
558    }
559    /// <p>The settings for the DynamoDB target endpoint. For more information, see the <code>DynamoDBSettings</code> structure.</p>
560    pub fn dynamo_db_settings(mut self, input: crate::types::DynamoDbSettings) -> Self {
561        self.dynamo_db_settings = ::std::option::Option::Some(input);
562        self
563    }
564    /// <p>The settings for the DynamoDB target endpoint. For more information, see the <code>DynamoDBSettings</code> structure.</p>
565    pub fn set_dynamo_db_settings(mut self, input: ::std::option::Option<crate::types::DynamoDbSettings>) -> Self {
566        self.dynamo_db_settings = input;
567        self
568    }
569    /// <p>The settings for the DynamoDB target endpoint. For more information, see the <code>DynamoDBSettings</code> structure.</p>
570    pub fn get_dynamo_db_settings(&self) -> &::std::option::Option<crate::types::DynamoDbSettings> {
571        &self.dynamo_db_settings
572    }
573    /// <p>The settings for the S3 target endpoint. For more information, see the <code>S3Settings</code> structure.</p>
574    pub fn s3_settings(mut self, input: crate::types::S3Settings) -> Self {
575        self.s3_settings = ::std::option::Option::Some(input);
576        self
577    }
578    /// <p>The settings for the S3 target endpoint. For more information, see the <code>S3Settings</code> structure.</p>
579    pub fn set_s3_settings(mut self, input: ::std::option::Option<crate::types::S3Settings>) -> Self {
580        self.s3_settings = input;
581        self
582    }
583    /// <p>The settings for the S3 target endpoint. For more information, see the <code>S3Settings</code> structure.</p>
584    pub fn get_s3_settings(&self) -> &::std::option::Option<crate::types::S3Settings> {
585        &self.s3_settings
586    }
587    /// <p>The settings for the DMS Transfer type source. For more information, see the DmsTransferSettings structure.</p>
588    pub fn dms_transfer_settings(mut self, input: crate::types::DmsTransferSettings) -> Self {
589        self.dms_transfer_settings = ::std::option::Option::Some(input);
590        self
591    }
592    /// <p>The settings for the DMS Transfer type source. For more information, see the DmsTransferSettings structure.</p>
593    pub fn set_dms_transfer_settings(mut self, input: ::std::option::Option<crate::types::DmsTransferSettings>) -> Self {
594        self.dms_transfer_settings = input;
595        self
596    }
597    /// <p>The settings for the DMS Transfer type source. For more information, see the DmsTransferSettings structure.</p>
598    pub fn get_dms_transfer_settings(&self) -> &::std::option::Option<crate::types::DmsTransferSettings> {
599        &self.dms_transfer_settings
600    }
601    /// <p>The settings for the MongoDB source endpoint. For more information, see the <code>MongoDbSettings</code> structure.</p>
602    pub fn mongo_db_settings(mut self, input: crate::types::MongoDbSettings) -> Self {
603        self.mongo_db_settings = ::std::option::Option::Some(input);
604        self
605    }
606    /// <p>The settings for the MongoDB source endpoint. For more information, see the <code>MongoDbSettings</code> structure.</p>
607    pub fn set_mongo_db_settings(mut self, input: ::std::option::Option<crate::types::MongoDbSettings>) -> Self {
608        self.mongo_db_settings = input;
609        self
610    }
611    /// <p>The settings for the MongoDB source endpoint. For more information, see the <code>MongoDbSettings</code> structure.</p>
612    pub fn get_mongo_db_settings(&self) -> &::std::option::Option<crate::types::MongoDbSettings> {
613        &self.mongo_db_settings
614    }
615    /// <p>The settings for the Amazon Kinesis target endpoint. For more information, see the <code>KinesisSettings</code> structure.</p>
616    pub fn kinesis_settings(mut self, input: crate::types::KinesisSettings) -> Self {
617        self.kinesis_settings = ::std::option::Option::Some(input);
618        self
619    }
620    /// <p>The settings for the Amazon Kinesis target endpoint. For more information, see the <code>KinesisSettings</code> structure.</p>
621    pub fn set_kinesis_settings(mut self, input: ::std::option::Option<crate::types::KinesisSettings>) -> Self {
622        self.kinesis_settings = input;
623        self
624    }
625    /// <p>The settings for the Amazon Kinesis target endpoint. For more information, see the <code>KinesisSettings</code> structure.</p>
626    pub fn get_kinesis_settings(&self) -> &::std::option::Option<crate::types::KinesisSettings> {
627        &self.kinesis_settings
628    }
629    /// <p>The settings for the Apache Kafka target endpoint. For more information, see the <code>KafkaSettings</code> structure.</p>
630    pub fn kafka_settings(mut self, input: crate::types::KafkaSettings) -> Self {
631        self.kafka_settings = ::std::option::Option::Some(input);
632        self
633    }
634    /// <p>The settings for the Apache Kafka target endpoint. For more information, see the <code>KafkaSettings</code> structure.</p>
635    pub fn set_kafka_settings(mut self, input: ::std::option::Option<crate::types::KafkaSettings>) -> Self {
636        self.kafka_settings = input;
637        self
638    }
639    /// <p>The settings for the Apache Kafka target endpoint. For more information, see the <code>KafkaSettings</code> structure.</p>
640    pub fn get_kafka_settings(&self) -> &::std::option::Option<crate::types::KafkaSettings> {
641        &self.kafka_settings
642    }
643    /// <p>The settings for the OpenSearch source endpoint. For more information, see the <code>ElasticsearchSettings</code> structure.</p>
644    pub fn elasticsearch_settings(mut self, input: crate::types::ElasticsearchSettings) -> Self {
645        self.elasticsearch_settings = ::std::option::Option::Some(input);
646        self
647    }
648    /// <p>The settings for the OpenSearch source endpoint. For more information, see the <code>ElasticsearchSettings</code> structure.</p>
649    pub fn set_elasticsearch_settings(mut self, input: ::std::option::Option<crate::types::ElasticsearchSettings>) -> Self {
650        self.elasticsearch_settings = input;
651        self
652    }
653    /// <p>The settings for the OpenSearch source endpoint. For more information, see the <code>ElasticsearchSettings</code> structure.</p>
654    pub fn get_elasticsearch_settings(&self) -> &::std::option::Option<crate::types::ElasticsearchSettings> {
655        &self.elasticsearch_settings
656    }
657    /// <p>The settings for the Amazon Neptune target endpoint. For more information, see the <code>NeptuneSettings</code> structure.</p>
658    pub fn neptune_settings(mut self, input: crate::types::NeptuneSettings) -> Self {
659        self.neptune_settings = ::std::option::Option::Some(input);
660        self
661    }
662    /// <p>The settings for the Amazon Neptune target endpoint. For more information, see the <code>NeptuneSettings</code> structure.</p>
663    pub fn set_neptune_settings(mut self, input: ::std::option::Option<crate::types::NeptuneSettings>) -> Self {
664        self.neptune_settings = input;
665        self
666    }
667    /// <p>The settings for the Amazon Neptune target endpoint. For more information, see the <code>NeptuneSettings</code> structure.</p>
668    pub fn get_neptune_settings(&self) -> &::std::option::Option<crate::types::NeptuneSettings> {
669        &self.neptune_settings
670    }
671    /// <p>Settings for the Amazon Redshift endpoint.</p>
672    pub fn redshift_settings(mut self, input: crate::types::RedshiftSettings) -> Self {
673        self.redshift_settings = ::std::option::Option::Some(input);
674        self
675    }
676    /// <p>Settings for the Amazon Redshift endpoint.</p>
677    pub fn set_redshift_settings(mut self, input: ::std::option::Option<crate::types::RedshiftSettings>) -> Self {
678        self.redshift_settings = input;
679        self
680    }
681    /// <p>Settings for the Amazon Redshift endpoint.</p>
682    pub fn get_redshift_settings(&self) -> &::std::option::Option<crate::types::RedshiftSettings> {
683        &self.redshift_settings
684    }
685    /// <p>The settings for the PostgreSQL source and target endpoint. For more information, see the <code>PostgreSQLSettings</code> structure.</p>
686    pub fn postgre_sql_settings(mut self, input: crate::types::PostgreSqlSettings) -> Self {
687        self.postgre_sql_settings = ::std::option::Option::Some(input);
688        self
689    }
690    /// <p>The settings for the PostgreSQL source and target endpoint. For more information, see the <code>PostgreSQLSettings</code> structure.</p>
691    pub fn set_postgre_sql_settings(mut self, input: ::std::option::Option<crate::types::PostgreSqlSettings>) -> Self {
692        self.postgre_sql_settings = input;
693        self
694    }
695    /// <p>The settings for the PostgreSQL source and target endpoint. For more information, see the <code>PostgreSQLSettings</code> structure.</p>
696    pub fn get_postgre_sql_settings(&self) -> &::std::option::Option<crate::types::PostgreSqlSettings> {
697        &self.postgre_sql_settings
698    }
699    /// <p>The settings for the MySQL source and target endpoint. For more information, see the <code>MySQLSettings</code> structure.</p>
700    pub fn my_sql_settings(mut self, input: crate::types::MySqlSettings) -> Self {
701        self.my_sql_settings = ::std::option::Option::Some(input);
702        self
703    }
704    /// <p>The settings for the MySQL source and target endpoint. For more information, see the <code>MySQLSettings</code> structure.</p>
705    pub fn set_my_sql_settings(mut self, input: ::std::option::Option<crate::types::MySqlSettings>) -> Self {
706        self.my_sql_settings = input;
707        self
708    }
709    /// <p>The settings for the MySQL source and target endpoint. For more information, see the <code>MySQLSettings</code> structure.</p>
710    pub fn get_my_sql_settings(&self) -> &::std::option::Option<crate::types::MySqlSettings> {
711        &self.my_sql_settings
712    }
713    /// <p>The settings for the Oracle source and target endpoint. For more information, see the <code>OracleSettings</code> structure.</p>
714    pub fn oracle_settings(mut self, input: crate::types::OracleSettings) -> Self {
715        self.oracle_settings = ::std::option::Option::Some(input);
716        self
717    }
718    /// <p>The settings for the Oracle source and target endpoint. For more information, see the <code>OracleSettings</code> structure.</p>
719    pub fn set_oracle_settings(mut self, input: ::std::option::Option<crate::types::OracleSettings>) -> Self {
720        self.oracle_settings = input;
721        self
722    }
723    /// <p>The settings for the Oracle source and target endpoint. For more information, see the <code>OracleSettings</code> structure.</p>
724    pub fn get_oracle_settings(&self) -> &::std::option::Option<crate::types::OracleSettings> {
725        &self.oracle_settings
726    }
727    /// <p>The settings for the SAP ASE source and target endpoint. For more information, see the <code>SybaseSettings</code> structure.</p>
728    pub fn sybase_settings(mut self, input: crate::types::SybaseSettings) -> Self {
729        self.sybase_settings = ::std::option::Option::Some(input);
730        self
731    }
732    /// <p>The settings for the SAP ASE source and target endpoint. For more information, see the <code>SybaseSettings</code> structure.</p>
733    pub fn set_sybase_settings(mut self, input: ::std::option::Option<crate::types::SybaseSettings>) -> Self {
734        self.sybase_settings = input;
735        self
736    }
737    /// <p>The settings for the SAP ASE source and target endpoint. For more information, see the <code>SybaseSettings</code> structure.</p>
738    pub fn get_sybase_settings(&self) -> &::std::option::Option<crate::types::SybaseSettings> {
739        &self.sybase_settings
740    }
741    /// <p>The settings for the Microsoft SQL Server source and target endpoint. For more information, see the <code>MicrosoftSQLServerSettings</code> structure.</p>
742    pub fn microsoft_sql_server_settings(mut self, input: crate::types::MicrosoftSqlServerSettings) -> Self {
743        self.microsoft_sql_server_settings = ::std::option::Option::Some(input);
744        self
745    }
746    /// <p>The settings for the Microsoft SQL Server source and target endpoint. For more information, see the <code>MicrosoftSQLServerSettings</code> structure.</p>
747    pub fn set_microsoft_sql_server_settings(mut self, input: ::std::option::Option<crate::types::MicrosoftSqlServerSettings>) -> Self {
748        self.microsoft_sql_server_settings = input;
749        self
750    }
751    /// <p>The settings for the Microsoft SQL Server source and target endpoint. For more information, see the <code>MicrosoftSQLServerSettings</code> structure.</p>
752    pub fn get_microsoft_sql_server_settings(&self) -> &::std::option::Option<crate::types::MicrosoftSqlServerSettings> {
753        &self.microsoft_sql_server_settings
754    }
755    /// <p>The settings for the IBM Db2 LUW source endpoint. For more information, see the <code>IBMDb2Settings</code> structure.</p>
756    pub fn ibm_db2_settings(mut self, input: crate::types::IbmDb2Settings) -> Self {
757        self.ibm_db2_settings = ::std::option::Option::Some(input);
758        self
759    }
760    /// <p>The settings for the IBM Db2 LUW source endpoint. For more information, see the <code>IBMDb2Settings</code> structure.</p>
761    pub fn set_ibm_db2_settings(mut self, input: ::std::option::Option<crate::types::IbmDb2Settings>) -> Self {
762        self.ibm_db2_settings = input;
763        self
764    }
765    /// <p>The settings for the IBM Db2 LUW source endpoint. For more information, see the <code>IBMDb2Settings</code> structure.</p>
766    pub fn get_ibm_db2_settings(&self) -> &::std::option::Option<crate::types::IbmDb2Settings> {
767        &self.ibm_db2_settings
768    }
769    /// <p>Provides information that defines a DocumentDB endpoint.</p>
770    pub fn doc_db_settings(mut self, input: crate::types::DocDbSettings) -> Self {
771        self.doc_db_settings = ::std::option::Option::Some(input);
772        self
773    }
774    /// <p>Provides information that defines a DocumentDB endpoint.</p>
775    pub fn set_doc_db_settings(mut self, input: ::std::option::Option<crate::types::DocDbSettings>) -> Self {
776        self.doc_db_settings = input;
777        self
778    }
779    /// <p>Provides information that defines a DocumentDB endpoint.</p>
780    pub fn get_doc_db_settings(&self) -> &::std::option::Option<crate::types::DocDbSettings> {
781        &self.doc_db_settings
782    }
783    /// <p>The settings for the Redis target endpoint. For more information, see the <code>RedisSettings</code> structure.</p>
784    pub fn redis_settings(mut self, input: crate::types::RedisSettings) -> Self {
785        self.redis_settings = ::std::option::Option::Some(input);
786        self
787    }
788    /// <p>The settings for the Redis target endpoint. For more information, see the <code>RedisSettings</code> structure.</p>
789    pub fn set_redis_settings(mut self, input: ::std::option::Option<crate::types::RedisSettings>) -> Self {
790        self.redis_settings = input;
791        self
792    }
793    /// <p>The settings for the Redis target endpoint. For more information, see the <code>RedisSettings</code> structure.</p>
794    pub fn get_redis_settings(&self) -> &::std::option::Option<crate::types::RedisSettings> {
795        &self.redis_settings
796    }
797    /// <p>Settings in JSON format for the source GCP MySQL endpoint.</p>
798    pub fn gcp_my_sql_settings(mut self, input: crate::types::GcpMySqlSettings) -> Self {
799        self.gcp_my_sql_settings = ::std::option::Option::Some(input);
800        self
801    }
802    /// <p>Settings in JSON format for the source GCP MySQL endpoint.</p>
803    pub fn set_gcp_my_sql_settings(mut self, input: ::std::option::Option<crate::types::GcpMySqlSettings>) -> Self {
804        self.gcp_my_sql_settings = input;
805        self
806    }
807    /// <p>Settings in JSON format for the source GCP MySQL endpoint.</p>
808    pub fn get_gcp_my_sql_settings(&self) -> &::std::option::Option<crate::types::GcpMySqlSettings> {
809        &self.gcp_my_sql_settings
810    }
811    /// <p>The settings for the Amazon Timestream target endpoint. For more information, see the <code>TimestreamSettings</code> structure.</p>
812    pub fn timestream_settings(mut self, input: crate::types::TimestreamSettings) -> Self {
813        self.timestream_settings = ::std::option::Option::Some(input);
814        self
815    }
816    /// <p>The settings for the Amazon Timestream target endpoint. For more information, see the <code>TimestreamSettings</code> structure.</p>
817    pub fn set_timestream_settings(mut self, input: ::std::option::Option<crate::types::TimestreamSettings>) -> Self {
818        self.timestream_settings = input;
819        self
820    }
821    /// <p>The settings for the Amazon Timestream target endpoint. For more information, see the <code>TimestreamSettings</code> structure.</p>
822    pub fn get_timestream_settings(&self) -> &::std::option::Option<crate::types::TimestreamSettings> {
823        &self.timestream_settings
824    }
825    /// <p>Settings in JSON format for the target Lakehouse endpoint. This parameter applies to endpoints that are automatically created by DMS for a Lakehouse data warehouse as part of a zero-ETL integration.</p>
826    pub fn lakehouse_settings(mut self, input: crate::types::LakehouseSettings) -> Self {
827        self.lakehouse_settings = ::std::option::Option::Some(input);
828        self
829    }
830    /// <p>Settings in JSON format for the target Lakehouse endpoint. This parameter applies to endpoints that are automatically created by DMS for a Lakehouse data warehouse as part of a zero-ETL integration.</p>
831    pub fn set_lakehouse_settings(mut self, input: ::std::option::Option<crate::types::LakehouseSettings>) -> Self {
832        self.lakehouse_settings = input;
833        self
834    }
835    /// <p>Settings in JSON format for the target Lakehouse endpoint. This parameter applies to endpoints that are automatically created by DMS for a Lakehouse data warehouse as part of a zero-ETL integration.</p>
836    pub fn get_lakehouse_settings(&self) -> &::std::option::Option<crate::types::LakehouseSettings> {
837        &self.lakehouse_settings
838    }
839    /// Consumes the builder and constructs a [`Endpoint`](crate::types::Endpoint).
840    pub fn build(self) -> crate::types::Endpoint {
841        crate::types::Endpoint {
842            endpoint_identifier: self.endpoint_identifier,
843            endpoint_type: self.endpoint_type,
844            engine_name: self.engine_name,
845            engine_display_name: self.engine_display_name,
846            username: self.username,
847            server_name: self.server_name,
848            port: self.port,
849            database_name: self.database_name,
850            extra_connection_attributes: self.extra_connection_attributes,
851            status: self.status,
852            kms_key_id: self.kms_key_id,
853            endpoint_arn: self.endpoint_arn,
854            certificate_arn: self.certificate_arn,
855            ssl_mode: self.ssl_mode,
856            service_access_role_arn: self.service_access_role_arn,
857            external_table_definition: self.external_table_definition,
858            external_id: self.external_id,
859            is_read_only: self.is_read_only,
860            dynamo_db_settings: self.dynamo_db_settings,
861            s3_settings: self.s3_settings,
862            dms_transfer_settings: self.dms_transfer_settings,
863            mongo_db_settings: self.mongo_db_settings,
864            kinesis_settings: self.kinesis_settings,
865            kafka_settings: self.kafka_settings,
866            elasticsearch_settings: self.elasticsearch_settings,
867            neptune_settings: self.neptune_settings,
868            redshift_settings: self.redshift_settings,
869            postgre_sql_settings: self.postgre_sql_settings,
870            my_sql_settings: self.my_sql_settings,
871            oracle_settings: self.oracle_settings,
872            sybase_settings: self.sybase_settings,
873            microsoft_sql_server_settings: self.microsoft_sql_server_settings,
874            ibm_db2_settings: self.ibm_db2_settings,
875            doc_db_settings: self.doc_db_settings,
876            redis_settings: self.redis_settings,
877            gcp_my_sql_settings: self.gcp_my_sql_settings,
878            timestream_settings: self.timestream_settings,
879            lakehouse_settings: self.lakehouse_settings,
880        }
881    }
882}