aws_sdk_databasemigration/operation/modify_endpoint/
_modify_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 ModifyEndpointInput {
7    /// <p>The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.</p>
8    pub endpoint_arn: ::std::option::Option<::std::string::String>,
9    /// <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>
10    pub endpoint_identifier: ::std::option::Option<::std::string::String>,
11    /// <p>The type of endpoint. Valid values are <code>source</code> and <code>target</code>.</p>
12    pub endpoint_type: ::std::option::Option<crate::types::ReplicationEndpointTypeValue>,
13    /// <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>"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>
14    pub engine_name: ::std::option::Option<::std::string::String>,
15    /// <p>The user name to be used to login to the endpoint database.</p>
16    pub username: ::std::option::Option<::std::string::String>,
17    /// <p>The password to be used to login to the endpoint database.</p>
18    pub password: ::std::option::Option<::std::string::String>,
19    /// <p>The name of the server where the endpoint database resides.</p>
20    pub server_name: ::std::option::Option<::std::string::String>,
21    /// <p>The port used by the endpoint database.</p>
22    pub port: ::std::option::Option<i32>,
23    /// <p>The name of the endpoint database. For a MySQL source or target endpoint, do not specify DatabaseName.</p>
24    pub database_name: ::std::option::Option<::std::string::String>,
25    /// <p>Additional attributes associated with the connection. To reset this parameter, pass the empty string ("") as an argument.</p>
26    pub extra_connection_attributes: ::std::option::Option<::std::string::String>,
27    /// <p>The Amazon Resource Name (ARN) of the certificate used for SSL connection.</p>
28    pub certificate_arn: ::std::option::Option<::std::string::String>,
29    /// <p>The SSL mode used to connect to the endpoint. The default value is <code>none</code>.</p>
30    pub ssl_mode: ::std::option::Option<crate::types::DmsSslModeValue>,
31    /// <p>The Amazon Resource Name (ARN) for the IAM role you want to use to modify the endpoint. The role must allow the <code>iam:PassRole</code> action.</p>
32    pub service_access_role_arn: ::std::option::Option<::std::string::String>,
33    /// <p>The external table definition.</p>
34    pub external_table_definition: ::std::option::Option<::std::string::String>,
35    /// <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>
36    pub dynamo_db_settings: ::std::option::Option<crate::types::DynamoDbSettings>,
37    /// <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>
38    pub s3_settings: ::std::option::Option<crate::types::S3Settings>,
39    /// <p>The settings in JSON format for the DMS transfer type of source endpoint.</p>
40    /// <p>Attributes include the following:</p>
41    /// <ul>
42    /// <li>
43    /// <p>serviceAccessRoleArn - The Amazon Resource Name (ARN) used by the service access IAM role. The role must allow the <code>iam:PassRole</code> action.</p></li>
44    /// <li>
45    /// <p>BucketName - The name of the S3 bucket to use.</p></li>
46    /// </ul>
47    /// <p>Shorthand syntax for these settings is as follows: <code>ServiceAccessRoleArn=string ,BucketName=string</code></p>
48    /// <p>JSON syntax for these settings is as follows: <code>{ "ServiceAccessRoleArn": "string", "BucketName": "string"} </code></p>
49    pub dms_transfer_settings: ::std::option::Option<crate::types::DmsTransferSettings>,
50    /// <p>Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see the configuration properties section in <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>
51    pub mongo_db_settings: ::std::option::Option<crate::types::MongoDbSettings>,
52    /// <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>
53    pub kinesis_settings: ::std::option::Option<crate::types::KinesisSettings>,
54    /// <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>
55    pub kafka_settings: ::std::option::Option<crate::types::KafkaSettings>,
56    /// <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>
57    pub elasticsearch_settings: ::std::option::Option<crate::types::ElasticsearchSettings>,
58    /// <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>
59    pub neptune_settings: ::std::option::Option<crate::types::NeptuneSettings>,
60    /// <p>Provides information that defines an Amazon Redshift endpoint.</p>
61    pub redshift_settings: ::std::option::Option<crate::types::RedshiftSettings>,
62    /// <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>
63    pub postgre_sql_settings: ::std::option::Option<crate::types::PostgreSqlSettings>,
64    /// <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>
65    pub my_sql_settings: ::std::option::Option<crate::types::MySqlSettings>,
66    /// <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>
67    pub oracle_settings: ::std::option::Option<crate::types::OracleSettings>,
68    /// <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>
69    pub sybase_settings: ::std::option::Option<crate::types::SybaseSettings>,
70    /// <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>
71    pub microsoft_sql_server_settings: ::std::option::Option<crate::types::MicrosoftSqlServerSettings>,
72    /// <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>
73    pub ibm_db2_settings: ::std::option::Option<crate::types::IbmDb2Settings>,
74    /// <p>Settings in JSON format for the source DocumentDB endpoint. For more information about the available settings, see the configuration properties section in <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DocumentDB.html"> Using DocumentDB as a Target for Database Migration Service </a> in the <i>Database Migration Service User Guide.</i></p>
75    pub doc_db_settings: ::std::option::Option<crate::types::DocDbSettings>,
76    /// <p>Settings in JSON format for the Redis target endpoint.</p>
77    pub redis_settings: ::std::option::Option<crate::types::RedisSettings>,
78    /// <p>If this attribute is Y, the current call to <code>ModifyEndpoint</code> replaces all existing endpoint settings with the exact settings that you specify in this call. If this attribute is N, the current call to <code>ModifyEndpoint</code> does two things:</p>
79    /// <ul>
80    /// <li>
81    /// <p>It replaces any endpoint settings that already exist with new values, for settings with the same names.</p></li>
82    /// <li>
83    /// <p>It creates new endpoint settings that you specify in the call, for settings with different names.</p></li>
84    /// </ul>
85    /// <p>For example, if you call <code>create-endpoint ... --endpoint-settings '{"a":1}' ...</code>, the endpoint has the following endpoint settings: <code>'{"a":1}'</code>. If you then call <code>modify-endpoint ... --endpoint-settings '{"b":2}' ...</code> for the same endpoint, the endpoint has the following settings: <code>'{"a":1,"b":2}'</code>.</p>
86    /// <p>However, suppose that you follow this with a call to <code>modify-endpoint ... --endpoint-settings '{"b":2}' --exact-settings ...</code> for that same endpoint again. Then the endpoint has the following settings: <code>'{"b":2}'</code>. All existing settings are replaced with the exact settings that you specify.</p>
87    pub exact_settings: ::std::option::Option<bool>,
88    /// <p>Settings in JSON format for the source GCP MySQL endpoint.</p>
89    pub gcp_my_sql_settings: ::std::option::Option<crate::types::GcpMySqlSettings>,
90    /// <p>Settings in JSON format for the target Amazon Timestream endpoint.</p>
91    pub timestream_settings: ::std::option::Option<crate::types::TimestreamSettings>,
92}
93impl ModifyEndpointInput {
94    /// <p>The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.</p>
95    pub fn endpoint_arn(&self) -> ::std::option::Option<&str> {
96        self.endpoint_arn.as_deref()
97    }
98    /// <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>
99    pub fn endpoint_identifier(&self) -> ::std::option::Option<&str> {
100        self.endpoint_identifier.as_deref()
101    }
102    /// <p>The type of endpoint. Valid values are <code>source</code> and <code>target</code>.</p>
103    pub fn endpoint_type(&self) -> ::std::option::Option<&crate::types::ReplicationEndpointTypeValue> {
104        self.endpoint_type.as_ref()
105    }
106    /// <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>"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>
107    pub fn engine_name(&self) -> ::std::option::Option<&str> {
108        self.engine_name.as_deref()
109    }
110    /// <p>The user name to be used to login to the endpoint database.</p>
111    pub fn username(&self) -> ::std::option::Option<&str> {
112        self.username.as_deref()
113    }
114    /// <p>The password to be used to login to the endpoint database.</p>
115    pub fn password(&self) -> ::std::option::Option<&str> {
116        self.password.as_deref()
117    }
118    /// <p>The name of the server where the endpoint database resides.</p>
119    pub fn server_name(&self) -> ::std::option::Option<&str> {
120        self.server_name.as_deref()
121    }
122    /// <p>The port used by the endpoint database.</p>
123    pub fn port(&self) -> ::std::option::Option<i32> {
124        self.port
125    }
126    /// <p>The name of the endpoint database. For a MySQL source or target endpoint, do not specify DatabaseName.</p>
127    pub fn database_name(&self) -> ::std::option::Option<&str> {
128        self.database_name.as_deref()
129    }
130    /// <p>Additional attributes associated with the connection. To reset this parameter, pass the empty string ("") as an argument.</p>
131    pub fn extra_connection_attributes(&self) -> ::std::option::Option<&str> {
132        self.extra_connection_attributes.as_deref()
133    }
134    /// <p>The Amazon Resource Name (ARN) of the certificate used for SSL connection.</p>
135    pub fn certificate_arn(&self) -> ::std::option::Option<&str> {
136        self.certificate_arn.as_deref()
137    }
138    /// <p>The SSL mode used to connect to the endpoint. The default value is <code>none</code>.</p>
139    pub fn ssl_mode(&self) -> ::std::option::Option<&crate::types::DmsSslModeValue> {
140        self.ssl_mode.as_ref()
141    }
142    /// <p>The Amazon Resource Name (ARN) for the IAM role you want to use to modify the endpoint. The role must allow the <code>iam:PassRole</code> action.</p>
143    pub fn service_access_role_arn(&self) -> ::std::option::Option<&str> {
144        self.service_access_role_arn.as_deref()
145    }
146    /// <p>The external table definition.</p>
147    pub fn external_table_definition(&self) -> ::std::option::Option<&str> {
148        self.external_table_definition.as_deref()
149    }
150    /// <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>
151    pub fn dynamo_db_settings(&self) -> ::std::option::Option<&crate::types::DynamoDbSettings> {
152        self.dynamo_db_settings.as_ref()
153    }
154    /// <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>
155    pub fn s3_settings(&self) -> ::std::option::Option<&crate::types::S3Settings> {
156        self.s3_settings.as_ref()
157    }
158    /// <p>The settings in JSON format for the DMS transfer type of source endpoint.</p>
159    /// <p>Attributes include the following:</p>
160    /// <ul>
161    /// <li>
162    /// <p>serviceAccessRoleArn - The Amazon Resource Name (ARN) used by the service access IAM role. The role must allow the <code>iam:PassRole</code> action.</p></li>
163    /// <li>
164    /// <p>BucketName - The name of the S3 bucket to use.</p></li>
165    /// </ul>
166    /// <p>Shorthand syntax for these settings is as follows: <code>ServiceAccessRoleArn=string ,BucketName=string</code></p>
167    /// <p>JSON syntax for these settings is as follows: <code>{ "ServiceAccessRoleArn": "string", "BucketName": "string"} </code></p>
168    pub fn dms_transfer_settings(&self) -> ::std::option::Option<&crate::types::DmsTransferSettings> {
169        self.dms_transfer_settings.as_ref()
170    }
171    /// <p>Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see the configuration properties section in <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>
172    pub fn mongo_db_settings(&self) -> ::std::option::Option<&crate::types::MongoDbSettings> {
173        self.mongo_db_settings.as_ref()
174    }
175    /// <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>
176    pub fn kinesis_settings(&self) -> ::std::option::Option<&crate::types::KinesisSettings> {
177        self.kinesis_settings.as_ref()
178    }
179    /// <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>
180    pub fn kafka_settings(&self) -> ::std::option::Option<&crate::types::KafkaSettings> {
181        self.kafka_settings.as_ref()
182    }
183    /// <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>
184    pub fn elasticsearch_settings(&self) -> ::std::option::Option<&crate::types::ElasticsearchSettings> {
185        self.elasticsearch_settings.as_ref()
186    }
187    /// <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>
188    pub fn neptune_settings(&self) -> ::std::option::Option<&crate::types::NeptuneSettings> {
189        self.neptune_settings.as_ref()
190    }
191    /// <p>Provides information that defines an Amazon Redshift endpoint.</p>
192    pub fn redshift_settings(&self) -> ::std::option::Option<&crate::types::RedshiftSettings> {
193        self.redshift_settings.as_ref()
194    }
195    /// <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>
196    pub fn postgre_sql_settings(&self) -> ::std::option::Option<&crate::types::PostgreSqlSettings> {
197        self.postgre_sql_settings.as_ref()
198    }
199    /// <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>
200    pub fn my_sql_settings(&self) -> ::std::option::Option<&crate::types::MySqlSettings> {
201        self.my_sql_settings.as_ref()
202    }
203    /// <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>
204    pub fn oracle_settings(&self) -> ::std::option::Option<&crate::types::OracleSettings> {
205        self.oracle_settings.as_ref()
206    }
207    /// <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>
208    pub fn sybase_settings(&self) -> ::std::option::Option<&crate::types::SybaseSettings> {
209        self.sybase_settings.as_ref()
210    }
211    /// <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>
212    pub fn microsoft_sql_server_settings(&self) -> ::std::option::Option<&crate::types::MicrosoftSqlServerSettings> {
213        self.microsoft_sql_server_settings.as_ref()
214    }
215    /// <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>
216    pub fn ibm_db2_settings(&self) -> ::std::option::Option<&crate::types::IbmDb2Settings> {
217        self.ibm_db2_settings.as_ref()
218    }
219    /// <p>Settings in JSON format for the source DocumentDB endpoint. For more information about the available settings, see the configuration properties section in <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DocumentDB.html"> Using DocumentDB as a Target for Database Migration Service </a> in the <i>Database Migration Service User Guide.</i></p>
220    pub fn doc_db_settings(&self) -> ::std::option::Option<&crate::types::DocDbSettings> {
221        self.doc_db_settings.as_ref()
222    }
223    /// <p>Settings in JSON format for the Redis target endpoint.</p>
224    pub fn redis_settings(&self) -> ::std::option::Option<&crate::types::RedisSettings> {
225        self.redis_settings.as_ref()
226    }
227    /// <p>If this attribute is Y, the current call to <code>ModifyEndpoint</code> replaces all existing endpoint settings with the exact settings that you specify in this call. If this attribute is N, the current call to <code>ModifyEndpoint</code> does two things:</p>
228    /// <ul>
229    /// <li>
230    /// <p>It replaces any endpoint settings that already exist with new values, for settings with the same names.</p></li>
231    /// <li>
232    /// <p>It creates new endpoint settings that you specify in the call, for settings with different names.</p></li>
233    /// </ul>
234    /// <p>For example, if you call <code>create-endpoint ... --endpoint-settings '{"a":1}' ...</code>, the endpoint has the following endpoint settings: <code>'{"a":1}'</code>. If you then call <code>modify-endpoint ... --endpoint-settings '{"b":2}' ...</code> for the same endpoint, the endpoint has the following settings: <code>'{"a":1,"b":2}'</code>.</p>
235    /// <p>However, suppose that you follow this with a call to <code>modify-endpoint ... --endpoint-settings '{"b":2}' --exact-settings ...</code> for that same endpoint again. Then the endpoint has the following settings: <code>'{"b":2}'</code>. All existing settings are replaced with the exact settings that you specify.</p>
236    pub fn exact_settings(&self) -> ::std::option::Option<bool> {
237        self.exact_settings
238    }
239    /// <p>Settings in JSON format for the source GCP MySQL endpoint.</p>
240    pub fn gcp_my_sql_settings(&self) -> ::std::option::Option<&crate::types::GcpMySqlSettings> {
241        self.gcp_my_sql_settings.as_ref()
242    }
243    /// <p>Settings in JSON format for the target Amazon Timestream endpoint.</p>
244    pub fn timestream_settings(&self) -> ::std::option::Option<&crate::types::TimestreamSettings> {
245        self.timestream_settings.as_ref()
246    }
247}
248impl ::std::fmt::Debug for ModifyEndpointInput {
249    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
250        let mut formatter = f.debug_struct("ModifyEndpointInput");
251        formatter.field("endpoint_arn", &self.endpoint_arn);
252        formatter.field("endpoint_identifier", &self.endpoint_identifier);
253        formatter.field("endpoint_type", &self.endpoint_type);
254        formatter.field("engine_name", &self.engine_name);
255        formatter.field("username", &self.username);
256        formatter.field("password", &"*** Sensitive Data Redacted ***");
257        formatter.field("server_name", &self.server_name);
258        formatter.field("port", &self.port);
259        formatter.field("database_name", &self.database_name);
260        formatter.field("extra_connection_attributes", &self.extra_connection_attributes);
261        formatter.field("certificate_arn", &self.certificate_arn);
262        formatter.field("ssl_mode", &self.ssl_mode);
263        formatter.field("service_access_role_arn", &self.service_access_role_arn);
264        formatter.field("external_table_definition", &self.external_table_definition);
265        formatter.field("dynamo_db_settings", &self.dynamo_db_settings);
266        formatter.field("s3_settings", &self.s3_settings);
267        formatter.field("dms_transfer_settings", &self.dms_transfer_settings);
268        formatter.field("mongo_db_settings", &self.mongo_db_settings);
269        formatter.field("kinesis_settings", &self.kinesis_settings);
270        formatter.field("kafka_settings", &self.kafka_settings);
271        formatter.field("elasticsearch_settings", &self.elasticsearch_settings);
272        formatter.field("neptune_settings", &self.neptune_settings);
273        formatter.field("redshift_settings", &self.redshift_settings);
274        formatter.field("postgre_sql_settings", &self.postgre_sql_settings);
275        formatter.field("my_sql_settings", &self.my_sql_settings);
276        formatter.field("oracle_settings", &self.oracle_settings);
277        formatter.field("sybase_settings", &self.sybase_settings);
278        formatter.field("microsoft_sql_server_settings", &self.microsoft_sql_server_settings);
279        formatter.field("ibm_db2_settings", &self.ibm_db2_settings);
280        formatter.field("doc_db_settings", &self.doc_db_settings);
281        formatter.field("redis_settings", &self.redis_settings);
282        formatter.field("exact_settings", &self.exact_settings);
283        formatter.field("gcp_my_sql_settings", &self.gcp_my_sql_settings);
284        formatter.field("timestream_settings", &self.timestream_settings);
285        formatter.finish()
286    }
287}
288impl ModifyEndpointInput {
289    /// Creates a new builder-style object to manufacture [`ModifyEndpointInput`](crate::operation::modify_endpoint::ModifyEndpointInput).
290    pub fn builder() -> crate::operation::modify_endpoint::builders::ModifyEndpointInputBuilder {
291        crate::operation::modify_endpoint::builders::ModifyEndpointInputBuilder::default()
292    }
293}
294
295/// A builder for [`ModifyEndpointInput`](crate::operation::modify_endpoint::ModifyEndpointInput).
296#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
297#[non_exhaustive]
298pub struct ModifyEndpointInputBuilder {
299    pub(crate) endpoint_arn: ::std::option::Option<::std::string::String>,
300    pub(crate) endpoint_identifier: ::std::option::Option<::std::string::String>,
301    pub(crate) endpoint_type: ::std::option::Option<crate::types::ReplicationEndpointTypeValue>,
302    pub(crate) engine_name: ::std::option::Option<::std::string::String>,
303    pub(crate) username: ::std::option::Option<::std::string::String>,
304    pub(crate) password: ::std::option::Option<::std::string::String>,
305    pub(crate) server_name: ::std::option::Option<::std::string::String>,
306    pub(crate) port: ::std::option::Option<i32>,
307    pub(crate) database_name: ::std::option::Option<::std::string::String>,
308    pub(crate) extra_connection_attributes: ::std::option::Option<::std::string::String>,
309    pub(crate) certificate_arn: ::std::option::Option<::std::string::String>,
310    pub(crate) ssl_mode: ::std::option::Option<crate::types::DmsSslModeValue>,
311    pub(crate) service_access_role_arn: ::std::option::Option<::std::string::String>,
312    pub(crate) external_table_definition: ::std::option::Option<::std::string::String>,
313    pub(crate) dynamo_db_settings: ::std::option::Option<crate::types::DynamoDbSettings>,
314    pub(crate) s3_settings: ::std::option::Option<crate::types::S3Settings>,
315    pub(crate) dms_transfer_settings: ::std::option::Option<crate::types::DmsTransferSettings>,
316    pub(crate) mongo_db_settings: ::std::option::Option<crate::types::MongoDbSettings>,
317    pub(crate) kinesis_settings: ::std::option::Option<crate::types::KinesisSettings>,
318    pub(crate) kafka_settings: ::std::option::Option<crate::types::KafkaSettings>,
319    pub(crate) elasticsearch_settings: ::std::option::Option<crate::types::ElasticsearchSettings>,
320    pub(crate) neptune_settings: ::std::option::Option<crate::types::NeptuneSettings>,
321    pub(crate) redshift_settings: ::std::option::Option<crate::types::RedshiftSettings>,
322    pub(crate) postgre_sql_settings: ::std::option::Option<crate::types::PostgreSqlSettings>,
323    pub(crate) my_sql_settings: ::std::option::Option<crate::types::MySqlSettings>,
324    pub(crate) oracle_settings: ::std::option::Option<crate::types::OracleSettings>,
325    pub(crate) sybase_settings: ::std::option::Option<crate::types::SybaseSettings>,
326    pub(crate) microsoft_sql_server_settings: ::std::option::Option<crate::types::MicrosoftSqlServerSettings>,
327    pub(crate) ibm_db2_settings: ::std::option::Option<crate::types::IbmDb2Settings>,
328    pub(crate) doc_db_settings: ::std::option::Option<crate::types::DocDbSettings>,
329    pub(crate) redis_settings: ::std::option::Option<crate::types::RedisSettings>,
330    pub(crate) exact_settings: ::std::option::Option<bool>,
331    pub(crate) gcp_my_sql_settings: ::std::option::Option<crate::types::GcpMySqlSettings>,
332    pub(crate) timestream_settings: ::std::option::Option<crate::types::TimestreamSettings>,
333}
334impl ModifyEndpointInputBuilder {
335    /// <p>The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.</p>
336    /// This field is required.
337    pub fn endpoint_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
338        self.endpoint_arn = ::std::option::Option::Some(input.into());
339        self
340    }
341    /// <p>The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.</p>
342    pub fn set_endpoint_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
343        self.endpoint_arn = input;
344        self
345    }
346    /// <p>The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.</p>
347    pub fn get_endpoint_arn(&self) -> &::std::option::Option<::std::string::String> {
348        &self.endpoint_arn
349    }
350    /// <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>
351    pub fn endpoint_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
352        self.endpoint_identifier = ::std::option::Option::Some(input.into());
353        self
354    }
355    /// <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>
356    pub fn set_endpoint_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
357        self.endpoint_identifier = input;
358        self
359    }
360    /// <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>
361    pub fn get_endpoint_identifier(&self) -> &::std::option::Option<::std::string::String> {
362        &self.endpoint_identifier
363    }
364    /// <p>The type of endpoint. Valid values are <code>source</code> and <code>target</code>.</p>
365    pub fn endpoint_type(mut self, input: crate::types::ReplicationEndpointTypeValue) -> Self {
366        self.endpoint_type = ::std::option::Option::Some(input);
367        self
368    }
369    /// <p>The type of endpoint. Valid values are <code>source</code> and <code>target</code>.</p>
370    pub fn set_endpoint_type(mut self, input: ::std::option::Option<crate::types::ReplicationEndpointTypeValue>) -> Self {
371        self.endpoint_type = input;
372        self
373    }
374    /// <p>The type of endpoint. Valid values are <code>source</code> and <code>target</code>.</p>
375    pub fn get_endpoint_type(&self) -> &::std::option::Option<crate::types::ReplicationEndpointTypeValue> {
376        &self.endpoint_type
377    }
378    /// <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>"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>
379    pub fn engine_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
380        self.engine_name = ::std::option::Option::Some(input.into());
381        self
382    }
383    /// <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>"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>
384    pub fn set_engine_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
385        self.engine_name = input;
386        self
387    }
388    /// <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>"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>
389    pub fn get_engine_name(&self) -> &::std::option::Option<::std::string::String> {
390        &self.engine_name
391    }
392    /// <p>The user name to be used to login to the endpoint database.</p>
393    pub fn username(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
394        self.username = ::std::option::Option::Some(input.into());
395        self
396    }
397    /// <p>The user name to be used to login to the endpoint database.</p>
398    pub fn set_username(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
399        self.username = input;
400        self
401    }
402    /// <p>The user name to be used to login to the endpoint database.</p>
403    pub fn get_username(&self) -> &::std::option::Option<::std::string::String> {
404        &self.username
405    }
406    /// <p>The password to be used to login to the endpoint database.</p>
407    pub fn password(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
408        self.password = ::std::option::Option::Some(input.into());
409        self
410    }
411    /// <p>The password to be used to login to the endpoint database.</p>
412    pub fn set_password(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
413        self.password = input;
414        self
415    }
416    /// <p>The password to be used to login to the endpoint database.</p>
417    pub fn get_password(&self) -> &::std::option::Option<::std::string::String> {
418        &self.password
419    }
420    /// <p>The name of the server where the endpoint database resides.</p>
421    pub fn server_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
422        self.server_name = ::std::option::Option::Some(input.into());
423        self
424    }
425    /// <p>The name of the server where the endpoint database resides.</p>
426    pub fn set_server_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
427        self.server_name = input;
428        self
429    }
430    /// <p>The name of the server where the endpoint database resides.</p>
431    pub fn get_server_name(&self) -> &::std::option::Option<::std::string::String> {
432        &self.server_name
433    }
434    /// <p>The port used by the endpoint database.</p>
435    pub fn port(mut self, input: i32) -> Self {
436        self.port = ::std::option::Option::Some(input);
437        self
438    }
439    /// <p>The port used by the endpoint database.</p>
440    pub fn set_port(mut self, input: ::std::option::Option<i32>) -> Self {
441        self.port = input;
442        self
443    }
444    /// <p>The port used by the endpoint database.</p>
445    pub fn get_port(&self) -> &::std::option::Option<i32> {
446        &self.port
447    }
448    /// <p>The name of the endpoint database. For a MySQL source or target endpoint, do not specify DatabaseName.</p>
449    pub fn database_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
450        self.database_name = ::std::option::Option::Some(input.into());
451        self
452    }
453    /// <p>The name of the endpoint database. For a MySQL source or target endpoint, do not specify DatabaseName.</p>
454    pub fn set_database_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
455        self.database_name = input;
456        self
457    }
458    /// <p>The name of the endpoint database. For a MySQL source or target endpoint, do not specify DatabaseName.</p>
459    pub fn get_database_name(&self) -> &::std::option::Option<::std::string::String> {
460        &self.database_name
461    }
462    /// <p>Additional attributes associated with the connection. To reset this parameter, pass the empty string ("") as an argument.</p>
463    pub fn extra_connection_attributes(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
464        self.extra_connection_attributes = ::std::option::Option::Some(input.into());
465        self
466    }
467    /// <p>Additional attributes associated with the connection. To reset this parameter, pass the empty string ("") as an argument.</p>
468    pub fn set_extra_connection_attributes(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
469        self.extra_connection_attributes = input;
470        self
471    }
472    /// <p>Additional attributes associated with the connection. To reset this parameter, pass the empty string ("") as an argument.</p>
473    pub fn get_extra_connection_attributes(&self) -> &::std::option::Option<::std::string::String> {
474        &self.extra_connection_attributes
475    }
476    /// <p>The Amazon Resource Name (ARN) of the certificate used for SSL connection.</p>
477    pub fn certificate_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
478        self.certificate_arn = ::std::option::Option::Some(input.into());
479        self
480    }
481    /// <p>The Amazon Resource Name (ARN) of the certificate used for SSL connection.</p>
482    pub fn set_certificate_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
483        self.certificate_arn = input;
484        self
485    }
486    /// <p>The Amazon Resource Name (ARN) of the certificate used for SSL connection.</p>
487    pub fn get_certificate_arn(&self) -> &::std::option::Option<::std::string::String> {
488        &self.certificate_arn
489    }
490    /// <p>The SSL mode used to connect to the endpoint. The default value is <code>none</code>.</p>
491    pub fn ssl_mode(mut self, input: crate::types::DmsSslModeValue) -> Self {
492        self.ssl_mode = ::std::option::Option::Some(input);
493        self
494    }
495    /// <p>The SSL mode used to connect to the endpoint. The default value is <code>none</code>.</p>
496    pub fn set_ssl_mode(mut self, input: ::std::option::Option<crate::types::DmsSslModeValue>) -> Self {
497        self.ssl_mode = input;
498        self
499    }
500    /// <p>The SSL mode used to connect to the endpoint. The default value is <code>none</code>.</p>
501    pub fn get_ssl_mode(&self) -> &::std::option::Option<crate::types::DmsSslModeValue> {
502        &self.ssl_mode
503    }
504    /// <p>The Amazon Resource Name (ARN) for the IAM role you want to use to modify the endpoint. The role must allow the <code>iam:PassRole</code> action.</p>
505    pub fn service_access_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
506        self.service_access_role_arn = ::std::option::Option::Some(input.into());
507        self
508    }
509    /// <p>The Amazon Resource Name (ARN) for the IAM role you want to use to modify the endpoint. The role must allow the <code>iam:PassRole</code> action.</p>
510    pub fn set_service_access_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
511        self.service_access_role_arn = input;
512        self
513    }
514    /// <p>The Amazon Resource Name (ARN) for the IAM role you want to use to modify the endpoint. The role must allow the <code>iam:PassRole</code> action.</p>
515    pub fn get_service_access_role_arn(&self) -> &::std::option::Option<::std::string::String> {
516        &self.service_access_role_arn
517    }
518    /// <p>The external table definition.</p>
519    pub fn external_table_definition(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
520        self.external_table_definition = ::std::option::Option::Some(input.into());
521        self
522    }
523    /// <p>The external table definition.</p>
524    pub fn set_external_table_definition(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
525        self.external_table_definition = input;
526        self
527    }
528    /// <p>The external table definition.</p>
529    pub fn get_external_table_definition(&self) -> &::std::option::Option<::std::string::String> {
530        &self.external_table_definition
531    }
532    /// <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>
533    pub fn dynamo_db_settings(mut self, input: crate::types::DynamoDbSettings) -> Self {
534        self.dynamo_db_settings = ::std::option::Option::Some(input);
535        self
536    }
537    /// <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>
538    pub fn set_dynamo_db_settings(mut self, input: ::std::option::Option<crate::types::DynamoDbSettings>) -> Self {
539        self.dynamo_db_settings = input;
540        self
541    }
542    /// <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>
543    pub fn get_dynamo_db_settings(&self) -> &::std::option::Option<crate::types::DynamoDbSettings> {
544        &self.dynamo_db_settings
545    }
546    /// <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>
547    pub fn s3_settings(mut self, input: crate::types::S3Settings) -> Self {
548        self.s3_settings = ::std::option::Option::Some(input);
549        self
550    }
551    /// <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>
552    pub fn set_s3_settings(mut self, input: ::std::option::Option<crate::types::S3Settings>) -> Self {
553        self.s3_settings = input;
554        self
555    }
556    /// <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>
557    pub fn get_s3_settings(&self) -> &::std::option::Option<crate::types::S3Settings> {
558        &self.s3_settings
559    }
560    /// <p>The settings in JSON format for the DMS transfer type of source endpoint.</p>
561    /// <p>Attributes include the following:</p>
562    /// <ul>
563    /// <li>
564    /// <p>serviceAccessRoleArn - The Amazon Resource Name (ARN) used by the service access IAM role. The role must allow the <code>iam:PassRole</code> action.</p></li>
565    /// <li>
566    /// <p>BucketName - The name of the S3 bucket to use.</p></li>
567    /// </ul>
568    /// <p>Shorthand syntax for these settings is as follows: <code>ServiceAccessRoleArn=string ,BucketName=string</code></p>
569    /// <p>JSON syntax for these settings is as follows: <code>{ "ServiceAccessRoleArn": "string", "BucketName": "string"} </code></p>
570    pub fn dms_transfer_settings(mut self, input: crate::types::DmsTransferSettings) -> Self {
571        self.dms_transfer_settings = ::std::option::Option::Some(input);
572        self
573    }
574    /// <p>The settings in JSON format for the DMS transfer type of source endpoint.</p>
575    /// <p>Attributes include the following:</p>
576    /// <ul>
577    /// <li>
578    /// <p>serviceAccessRoleArn - The Amazon Resource Name (ARN) used by the service access IAM role. The role must allow the <code>iam:PassRole</code> action.</p></li>
579    /// <li>
580    /// <p>BucketName - The name of the S3 bucket to use.</p></li>
581    /// </ul>
582    /// <p>Shorthand syntax for these settings is as follows: <code>ServiceAccessRoleArn=string ,BucketName=string</code></p>
583    /// <p>JSON syntax for these settings is as follows: <code>{ "ServiceAccessRoleArn": "string", "BucketName": "string"} </code></p>
584    pub fn set_dms_transfer_settings(mut self, input: ::std::option::Option<crate::types::DmsTransferSettings>) -> Self {
585        self.dms_transfer_settings = input;
586        self
587    }
588    /// <p>The settings in JSON format for the DMS transfer type of source endpoint.</p>
589    /// <p>Attributes include the following:</p>
590    /// <ul>
591    /// <li>
592    /// <p>serviceAccessRoleArn - The Amazon Resource Name (ARN) used by the service access IAM role. The role must allow the <code>iam:PassRole</code> action.</p></li>
593    /// <li>
594    /// <p>BucketName - The name of the S3 bucket to use.</p></li>
595    /// </ul>
596    /// <p>Shorthand syntax for these settings is as follows: <code>ServiceAccessRoleArn=string ,BucketName=string</code></p>
597    /// <p>JSON syntax for these settings is as follows: <code>{ "ServiceAccessRoleArn": "string", "BucketName": "string"} </code></p>
598    pub fn get_dms_transfer_settings(&self) -> &::std::option::Option<crate::types::DmsTransferSettings> {
599        &self.dms_transfer_settings
600    }
601    /// <p>Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see the configuration properties section in <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>
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>Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see the configuration properties section in <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>
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>Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see the configuration properties section in <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>
612    pub fn get_mongo_db_settings(&self) -> &::std::option::Option<crate::types::MongoDbSettings> {
613        &self.mongo_db_settings
614    }
615    /// <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>
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>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>
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>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>
626    pub fn get_kinesis_settings(&self) -> &::std::option::Option<crate::types::KinesisSettings> {
627        &self.kinesis_settings
628    }
629    /// <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>
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>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>
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>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>
640    pub fn get_kafka_settings(&self) -> &::std::option::Option<crate::types::KafkaSettings> {
641        &self.kafka_settings
642    }
643    /// <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>
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>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>
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>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>
654    pub fn get_elasticsearch_settings(&self) -> &::std::option::Option<crate::types::ElasticsearchSettings> {
655        &self.elasticsearch_settings
656    }
657    /// <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>
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>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>
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>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>
668    pub fn get_neptune_settings(&self) -> &::std::option::Option<crate::types::NeptuneSettings> {
669        &self.neptune_settings
670    }
671    /// <p>Provides information that defines an 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>Provides information that defines an 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>Provides information that defines an Amazon Redshift endpoint.</p>
682    pub fn get_redshift_settings(&self) -> &::std::option::Option<crate::types::RedshiftSettings> {
683        &self.redshift_settings
684    }
685    /// <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>
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>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>
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>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>
696    pub fn get_postgre_sql_settings(&self) -> &::std::option::Option<crate::types::PostgreSqlSettings> {
697        &self.postgre_sql_settings
698    }
699    /// <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>
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>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>
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>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>
710    pub fn get_my_sql_settings(&self) -> &::std::option::Option<crate::types::MySqlSettings> {
711        &self.my_sql_settings
712    }
713    /// <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>
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>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>
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>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>
724    pub fn get_oracle_settings(&self) -> &::std::option::Option<crate::types::OracleSettings> {
725        &self.oracle_settings
726    }
727    /// <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>
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>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>
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>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>
738    pub fn get_sybase_settings(&self) -> &::std::option::Option<crate::types::SybaseSettings> {
739        &self.sybase_settings
740    }
741    /// <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>
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>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>
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>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>
752    pub fn get_microsoft_sql_server_settings(&self) -> &::std::option::Option<crate::types::MicrosoftSqlServerSettings> {
753        &self.microsoft_sql_server_settings
754    }
755    /// <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>
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>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>
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>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>
766    pub fn get_ibm_db2_settings(&self) -> &::std::option::Option<crate::types::IbmDb2Settings> {
767        &self.ibm_db2_settings
768    }
769    /// <p>Settings in JSON format for the source DocumentDB endpoint. For more information about the available settings, see the configuration properties section in <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DocumentDB.html"> Using DocumentDB as a Target for Database Migration Service </a> in the <i>Database Migration Service User Guide.</i></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>Settings in JSON format for the source DocumentDB endpoint. For more information about the available settings, see the configuration properties section in <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DocumentDB.html"> Using DocumentDB as a Target for Database Migration Service </a> in the <i>Database Migration Service User Guide.</i></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>Settings in JSON format for the source DocumentDB endpoint. For more information about the available settings, see the configuration properties section in <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DocumentDB.html"> Using DocumentDB as a Target for Database Migration Service </a> in the <i>Database Migration Service User Guide.</i></p>
780    pub fn get_doc_db_settings(&self) -> &::std::option::Option<crate::types::DocDbSettings> {
781        &self.doc_db_settings
782    }
783    /// <p>Settings in JSON format for the Redis target endpoint.</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>Settings in JSON format for the Redis target endpoint.</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>Settings in JSON format for the Redis target endpoint.</p>
794    pub fn get_redis_settings(&self) -> &::std::option::Option<crate::types::RedisSettings> {
795        &self.redis_settings
796    }
797    /// <p>If this attribute is Y, the current call to <code>ModifyEndpoint</code> replaces all existing endpoint settings with the exact settings that you specify in this call. If this attribute is N, the current call to <code>ModifyEndpoint</code> does two things:</p>
798    /// <ul>
799    /// <li>
800    /// <p>It replaces any endpoint settings that already exist with new values, for settings with the same names.</p></li>
801    /// <li>
802    /// <p>It creates new endpoint settings that you specify in the call, for settings with different names.</p></li>
803    /// </ul>
804    /// <p>For example, if you call <code>create-endpoint ... --endpoint-settings '{"a":1}' ...</code>, the endpoint has the following endpoint settings: <code>'{"a":1}'</code>. If you then call <code>modify-endpoint ... --endpoint-settings '{"b":2}' ...</code> for the same endpoint, the endpoint has the following settings: <code>'{"a":1,"b":2}'</code>.</p>
805    /// <p>However, suppose that you follow this with a call to <code>modify-endpoint ... --endpoint-settings '{"b":2}' --exact-settings ...</code> for that same endpoint again. Then the endpoint has the following settings: <code>'{"b":2}'</code>. All existing settings are replaced with the exact settings that you specify.</p>
806    pub fn exact_settings(mut self, input: bool) -> Self {
807        self.exact_settings = ::std::option::Option::Some(input);
808        self
809    }
810    /// <p>If this attribute is Y, the current call to <code>ModifyEndpoint</code> replaces all existing endpoint settings with the exact settings that you specify in this call. If this attribute is N, the current call to <code>ModifyEndpoint</code> does two things:</p>
811    /// <ul>
812    /// <li>
813    /// <p>It replaces any endpoint settings that already exist with new values, for settings with the same names.</p></li>
814    /// <li>
815    /// <p>It creates new endpoint settings that you specify in the call, for settings with different names.</p></li>
816    /// </ul>
817    /// <p>For example, if you call <code>create-endpoint ... --endpoint-settings '{"a":1}' ...</code>, the endpoint has the following endpoint settings: <code>'{"a":1}'</code>. If you then call <code>modify-endpoint ... --endpoint-settings '{"b":2}' ...</code> for the same endpoint, the endpoint has the following settings: <code>'{"a":1,"b":2}'</code>.</p>
818    /// <p>However, suppose that you follow this with a call to <code>modify-endpoint ... --endpoint-settings '{"b":2}' --exact-settings ...</code> for that same endpoint again. Then the endpoint has the following settings: <code>'{"b":2}'</code>. All existing settings are replaced with the exact settings that you specify.</p>
819    pub fn set_exact_settings(mut self, input: ::std::option::Option<bool>) -> Self {
820        self.exact_settings = input;
821        self
822    }
823    /// <p>If this attribute is Y, the current call to <code>ModifyEndpoint</code> replaces all existing endpoint settings with the exact settings that you specify in this call. If this attribute is N, the current call to <code>ModifyEndpoint</code> does two things:</p>
824    /// <ul>
825    /// <li>
826    /// <p>It replaces any endpoint settings that already exist with new values, for settings with the same names.</p></li>
827    /// <li>
828    /// <p>It creates new endpoint settings that you specify in the call, for settings with different names.</p></li>
829    /// </ul>
830    /// <p>For example, if you call <code>create-endpoint ... --endpoint-settings '{"a":1}' ...</code>, the endpoint has the following endpoint settings: <code>'{"a":1}'</code>. If you then call <code>modify-endpoint ... --endpoint-settings '{"b":2}' ...</code> for the same endpoint, the endpoint has the following settings: <code>'{"a":1,"b":2}'</code>.</p>
831    /// <p>However, suppose that you follow this with a call to <code>modify-endpoint ... --endpoint-settings '{"b":2}' --exact-settings ...</code> for that same endpoint again. Then the endpoint has the following settings: <code>'{"b":2}'</code>. All existing settings are replaced with the exact settings that you specify.</p>
832    pub fn get_exact_settings(&self) -> &::std::option::Option<bool> {
833        &self.exact_settings
834    }
835    /// <p>Settings in JSON format for the source GCP MySQL endpoint.</p>
836    pub fn gcp_my_sql_settings(mut self, input: crate::types::GcpMySqlSettings) -> Self {
837        self.gcp_my_sql_settings = ::std::option::Option::Some(input);
838        self
839    }
840    /// <p>Settings in JSON format for the source GCP MySQL endpoint.</p>
841    pub fn set_gcp_my_sql_settings(mut self, input: ::std::option::Option<crate::types::GcpMySqlSettings>) -> Self {
842        self.gcp_my_sql_settings = input;
843        self
844    }
845    /// <p>Settings in JSON format for the source GCP MySQL endpoint.</p>
846    pub fn get_gcp_my_sql_settings(&self) -> &::std::option::Option<crate::types::GcpMySqlSettings> {
847        &self.gcp_my_sql_settings
848    }
849    /// <p>Settings in JSON format for the target Amazon Timestream endpoint.</p>
850    pub fn timestream_settings(mut self, input: crate::types::TimestreamSettings) -> Self {
851        self.timestream_settings = ::std::option::Option::Some(input);
852        self
853    }
854    /// <p>Settings in JSON format for the target Amazon Timestream endpoint.</p>
855    pub fn set_timestream_settings(mut self, input: ::std::option::Option<crate::types::TimestreamSettings>) -> Self {
856        self.timestream_settings = input;
857        self
858    }
859    /// <p>Settings in JSON format for the target Amazon Timestream endpoint.</p>
860    pub fn get_timestream_settings(&self) -> &::std::option::Option<crate::types::TimestreamSettings> {
861        &self.timestream_settings
862    }
863    /// Consumes the builder and constructs a [`ModifyEndpointInput`](crate::operation::modify_endpoint::ModifyEndpointInput).
864    pub fn build(
865        self,
866    ) -> ::std::result::Result<crate::operation::modify_endpoint::ModifyEndpointInput, ::aws_smithy_types::error::operation::BuildError> {
867        ::std::result::Result::Ok(crate::operation::modify_endpoint::ModifyEndpointInput {
868            endpoint_arn: self.endpoint_arn,
869            endpoint_identifier: self.endpoint_identifier,
870            endpoint_type: self.endpoint_type,
871            engine_name: self.engine_name,
872            username: self.username,
873            password: self.password,
874            server_name: self.server_name,
875            port: self.port,
876            database_name: self.database_name,
877            extra_connection_attributes: self.extra_connection_attributes,
878            certificate_arn: self.certificate_arn,
879            ssl_mode: self.ssl_mode,
880            service_access_role_arn: self.service_access_role_arn,
881            external_table_definition: self.external_table_definition,
882            dynamo_db_settings: self.dynamo_db_settings,
883            s3_settings: self.s3_settings,
884            dms_transfer_settings: self.dms_transfer_settings,
885            mongo_db_settings: self.mongo_db_settings,
886            kinesis_settings: self.kinesis_settings,
887            kafka_settings: self.kafka_settings,
888            elasticsearch_settings: self.elasticsearch_settings,
889            neptune_settings: self.neptune_settings,
890            redshift_settings: self.redshift_settings,
891            postgre_sql_settings: self.postgre_sql_settings,
892            my_sql_settings: self.my_sql_settings,
893            oracle_settings: self.oracle_settings,
894            sybase_settings: self.sybase_settings,
895            microsoft_sql_server_settings: self.microsoft_sql_server_settings,
896            ibm_db2_settings: self.ibm_db2_settings,
897            doc_db_settings: self.doc_db_settings,
898            redis_settings: self.redis_settings,
899            exact_settings: self.exact_settings,
900            gcp_my_sql_settings: self.gcp_my_sql_settings,
901            timestream_settings: self.timestream_settings,
902        })
903    }
904}
905impl ::std::fmt::Debug for ModifyEndpointInputBuilder {
906    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
907        let mut formatter = f.debug_struct("ModifyEndpointInputBuilder");
908        formatter.field("endpoint_arn", &self.endpoint_arn);
909        formatter.field("endpoint_identifier", &self.endpoint_identifier);
910        formatter.field("endpoint_type", &self.endpoint_type);
911        formatter.field("engine_name", &self.engine_name);
912        formatter.field("username", &self.username);
913        formatter.field("password", &"*** Sensitive Data Redacted ***");
914        formatter.field("server_name", &self.server_name);
915        formatter.field("port", &self.port);
916        formatter.field("database_name", &self.database_name);
917        formatter.field("extra_connection_attributes", &self.extra_connection_attributes);
918        formatter.field("certificate_arn", &self.certificate_arn);
919        formatter.field("ssl_mode", &self.ssl_mode);
920        formatter.field("service_access_role_arn", &self.service_access_role_arn);
921        formatter.field("external_table_definition", &self.external_table_definition);
922        formatter.field("dynamo_db_settings", &self.dynamo_db_settings);
923        formatter.field("s3_settings", &self.s3_settings);
924        formatter.field("dms_transfer_settings", &self.dms_transfer_settings);
925        formatter.field("mongo_db_settings", &self.mongo_db_settings);
926        formatter.field("kinesis_settings", &self.kinesis_settings);
927        formatter.field("kafka_settings", &self.kafka_settings);
928        formatter.field("elasticsearch_settings", &self.elasticsearch_settings);
929        formatter.field("neptune_settings", &self.neptune_settings);
930        formatter.field("redshift_settings", &self.redshift_settings);
931        formatter.field("postgre_sql_settings", &self.postgre_sql_settings);
932        formatter.field("my_sql_settings", &self.my_sql_settings);
933        formatter.field("oracle_settings", &self.oracle_settings);
934        formatter.field("sybase_settings", &self.sybase_settings);
935        formatter.field("microsoft_sql_server_settings", &self.microsoft_sql_server_settings);
936        formatter.field("ibm_db2_settings", &self.ibm_db2_settings);
937        formatter.field("doc_db_settings", &self.doc_db_settings);
938        formatter.field("redis_settings", &self.redis_settings);
939        formatter.field("exact_settings", &self.exact_settings);
940        formatter.field("gcp_my_sql_settings", &self.gcp_my_sql_settings);
941        formatter.field("timestream_settings", &self.timestream_settings);
942        formatter.finish()
943    }
944}