aws_sdk_databasemigration/operation/create_replication_instance/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_replication_instance::_create_replication_instance_output::CreateReplicationInstanceOutputBuilder;
3
4pub use crate::operation::create_replication_instance::_create_replication_instance_input::CreateReplicationInstanceInputBuilder;
5
6impl crate::operation::create_replication_instance::builders::CreateReplicationInstanceInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::create_replication_instance::CreateReplicationInstanceOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_replication_instance::CreateReplicationInstanceError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_replication_instance();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateReplicationInstance`.
24///
25/// <p>Creates the replication instance using the specified parameters.</p>
26/// <p>DMS requires that your account have certain roles with appropriate permissions before you can create a replication instance. For information on the required roles, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.APIRole">Creating the IAM Roles to Use With the CLI and DMS API</a>. For information on the required permissions, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.IAMPermissions">IAM Permissions Needed to Use DMS</a>.</p><note>
27/// <p>If you don't specify a version when creating a replication instance, DMS will create the instance using the default engine version. For information about the default engine version, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReleaseNotes.html">Release Notes</a>.</p>
28/// </note>
29#[derive(::std::clone::Clone, ::std::fmt::Debug)]
30pub struct CreateReplicationInstanceFluentBuilder {
31    handle: ::std::sync::Arc<crate::client::Handle>,
32    inner: crate::operation::create_replication_instance::builders::CreateReplicationInstanceInputBuilder,
33    config_override: ::std::option::Option<crate::config::Builder>,
34}
35impl
36    crate::client::customize::internal::CustomizableSend<
37        crate::operation::create_replication_instance::CreateReplicationInstanceOutput,
38        crate::operation::create_replication_instance::CreateReplicationInstanceError,
39    > for CreateReplicationInstanceFluentBuilder
40{
41    fn send(
42        self,
43        config_override: crate::config::Builder,
44    ) -> crate::client::customize::internal::BoxFuture<
45        crate::client::customize::internal::SendResult<
46            crate::operation::create_replication_instance::CreateReplicationInstanceOutput,
47            crate::operation::create_replication_instance::CreateReplicationInstanceError,
48        >,
49    > {
50        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
51    }
52}
53impl CreateReplicationInstanceFluentBuilder {
54    /// Creates a new `CreateReplicationInstanceFluentBuilder`.
55    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
56        Self {
57            handle,
58            inner: ::std::default::Default::default(),
59            config_override: ::std::option::Option::None,
60        }
61    }
62    /// Access the CreateReplicationInstance as a reference.
63    pub fn as_input(&self) -> &crate::operation::create_replication_instance::builders::CreateReplicationInstanceInputBuilder {
64        &self.inner
65    }
66    /// Sends the request and returns the response.
67    ///
68    /// If an error occurs, an `SdkError` will be returned with additional details that
69    /// can be matched against.
70    ///
71    /// By default, any retryable failures will be retried twice. Retry behavior
72    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
73    /// set when configuring the client.
74    pub async fn send(
75        self,
76    ) -> ::std::result::Result<
77        crate::operation::create_replication_instance::CreateReplicationInstanceOutput,
78        ::aws_smithy_runtime_api::client::result::SdkError<
79            crate::operation::create_replication_instance::CreateReplicationInstanceError,
80            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
81        >,
82    > {
83        let input = self
84            .inner
85            .build()
86            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
87        let runtime_plugins = crate::operation::create_replication_instance::CreateReplicationInstance::operation_runtime_plugins(
88            self.handle.runtime_plugins.clone(),
89            &self.handle.conf,
90            self.config_override,
91        );
92        crate::operation::create_replication_instance::CreateReplicationInstance::orchestrate(&runtime_plugins, input).await
93    }
94
95    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
96    pub fn customize(
97        self,
98    ) -> crate::client::customize::CustomizableOperation<
99        crate::operation::create_replication_instance::CreateReplicationInstanceOutput,
100        crate::operation::create_replication_instance::CreateReplicationInstanceError,
101        Self,
102    > {
103        crate::client::customize::CustomizableOperation::new(self)
104    }
105    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
106        self.set_config_override(::std::option::Option::Some(config_override.into()));
107        self
108    }
109
110    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
111        self.config_override = config_override;
112        self
113    }
114    /// <p>The replication instance identifier. This parameter is stored as a lowercase string.</p>
115    /// <p>Constraints:</p>
116    /// <ul>
117    /// <li>
118    /// <p>Must contain 1-63 alphanumeric characters or hyphens.</p></li>
119    /// <li>
120    /// <p>First character must be a letter.</p></li>
121    /// <li>
122    /// <p>Can't end with a hyphen or contain two consecutive hyphens.</p></li>
123    /// </ul>
124    /// <p>Example: <code>myrepinstance</code></p>
125    pub fn replication_instance_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
126        self.inner = self.inner.replication_instance_identifier(input.into());
127        self
128    }
129    /// <p>The replication instance identifier. This parameter is stored as a lowercase string.</p>
130    /// <p>Constraints:</p>
131    /// <ul>
132    /// <li>
133    /// <p>Must contain 1-63 alphanumeric characters or hyphens.</p></li>
134    /// <li>
135    /// <p>First character must be a letter.</p></li>
136    /// <li>
137    /// <p>Can't end with a hyphen or contain two consecutive hyphens.</p></li>
138    /// </ul>
139    /// <p>Example: <code>myrepinstance</code></p>
140    pub fn set_replication_instance_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
141        self.inner = self.inner.set_replication_instance_identifier(input);
142        self
143    }
144    /// <p>The replication instance identifier. This parameter is stored as a lowercase string.</p>
145    /// <p>Constraints:</p>
146    /// <ul>
147    /// <li>
148    /// <p>Must contain 1-63 alphanumeric characters or hyphens.</p></li>
149    /// <li>
150    /// <p>First character must be a letter.</p></li>
151    /// <li>
152    /// <p>Can't end with a hyphen or contain two consecutive hyphens.</p></li>
153    /// </ul>
154    /// <p>Example: <code>myrepinstance</code></p>
155    pub fn get_replication_instance_identifier(&self) -> &::std::option::Option<::std::string::String> {
156        self.inner.get_replication_instance_identifier()
157    }
158    /// <p>The amount of storage (in gigabytes) to be initially allocated for the replication instance.</p>
159    pub fn allocated_storage(mut self, input: i32) -> Self {
160        self.inner = self.inner.allocated_storage(input);
161        self
162    }
163    /// <p>The amount of storage (in gigabytes) to be initially allocated for the replication instance.</p>
164    pub fn set_allocated_storage(mut self, input: ::std::option::Option<i32>) -> Self {
165        self.inner = self.inner.set_allocated_storage(input);
166        self
167    }
168    /// <p>The amount of storage (in gigabytes) to be initially allocated for the replication instance.</p>
169    pub fn get_allocated_storage(&self) -> &::std::option::Option<i32> {
170        self.inner.get_allocated_storage()
171    }
172    /// <p>The compute and memory capacity of the replication instance as defined for the specified replication instance class. For example to specify the instance class dms.c4.large, set this parameter to <code>"dms.c4.large"</code>.</p>
173    /// <p>For more information on the settings and capacities for the available replication instance classes, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Types.html "> Choosing the right DMS replication instance</a>; and, <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.SizingReplicationInstance.html">Selecting the best size for a replication instance</a>.</p>
174    pub fn replication_instance_class(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
175        self.inner = self.inner.replication_instance_class(input.into());
176        self
177    }
178    /// <p>The compute and memory capacity of the replication instance as defined for the specified replication instance class. For example to specify the instance class dms.c4.large, set this parameter to <code>"dms.c4.large"</code>.</p>
179    /// <p>For more information on the settings and capacities for the available replication instance classes, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Types.html "> Choosing the right DMS replication instance</a>; and, <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.SizingReplicationInstance.html">Selecting the best size for a replication instance</a>.</p>
180    pub fn set_replication_instance_class(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
181        self.inner = self.inner.set_replication_instance_class(input);
182        self
183    }
184    /// <p>The compute and memory capacity of the replication instance as defined for the specified replication instance class. For example to specify the instance class dms.c4.large, set this parameter to <code>"dms.c4.large"</code>.</p>
185    /// <p>For more information on the settings and capacities for the available replication instance classes, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Types.html "> Choosing the right DMS replication instance</a>; and, <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.SizingReplicationInstance.html">Selecting the best size for a replication instance</a>.</p>
186    pub fn get_replication_instance_class(&self) -> &::std::option::Option<::std::string::String> {
187        self.inner.get_replication_instance_class()
188    }
189    ///
190    /// Appends an item to `VpcSecurityGroupIds`.
191    ///
192    /// To override the contents of this collection use [`set_vpc_security_group_ids`](Self::set_vpc_security_group_ids).
193    ///
194    /// <p>Specifies the VPC security group to be used with the replication instance. The VPC security group must work with the VPC containing the replication instance.</p>
195    pub fn vpc_security_group_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
196        self.inner = self.inner.vpc_security_group_ids(input.into());
197        self
198    }
199    /// <p>Specifies the VPC security group to be used with the replication instance. The VPC security group must work with the VPC containing the replication instance.</p>
200    pub fn set_vpc_security_group_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
201        self.inner = self.inner.set_vpc_security_group_ids(input);
202        self
203    }
204    /// <p>Specifies the VPC security group to be used with the replication instance. The VPC security group must work with the VPC containing the replication instance.</p>
205    pub fn get_vpc_security_group_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
206        self.inner.get_vpc_security_group_ids()
207    }
208    /// <p>The Availability Zone where the replication instance will be created. The default value is a random, system-chosen Availability Zone in the endpoint's Amazon Web Services Region, for example: <code>us-east-1d</code>.</p>
209    pub fn availability_zone(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
210        self.inner = self.inner.availability_zone(input.into());
211        self
212    }
213    /// <p>The Availability Zone where the replication instance will be created. The default value is a random, system-chosen Availability Zone in the endpoint's Amazon Web Services Region, for example: <code>us-east-1d</code>.</p>
214    pub fn set_availability_zone(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
215        self.inner = self.inner.set_availability_zone(input);
216        self
217    }
218    /// <p>The Availability Zone where the replication instance will be created. The default value is a random, system-chosen Availability Zone in the endpoint's Amazon Web Services Region, for example: <code>us-east-1d</code>.</p>
219    pub fn get_availability_zone(&self) -> &::std::option::Option<::std::string::String> {
220        self.inner.get_availability_zone()
221    }
222    /// <p>A subnet group to associate with the replication instance.</p>
223    pub fn replication_subnet_group_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
224        self.inner = self.inner.replication_subnet_group_identifier(input.into());
225        self
226    }
227    /// <p>A subnet group to associate with the replication instance.</p>
228    pub fn set_replication_subnet_group_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
229        self.inner = self.inner.set_replication_subnet_group_identifier(input);
230        self
231    }
232    /// <p>A subnet group to associate with the replication instance.</p>
233    pub fn get_replication_subnet_group_identifier(&self) -> &::std::option::Option<::std::string::String> {
234        self.inner.get_replication_subnet_group_identifier()
235    }
236    /// <p>The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).</p>
237    /// <p>Format: <code>ddd:hh24:mi-ddd:hh24:mi</code></p>
238    /// <p>Default: A 30-minute window selected at random from an 8-hour block of time per Amazon Web Services Region, occurring on a random day of the week.</p>
239    /// <p>Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun</p>
240    /// <p>Constraints: Minimum 30-minute window.</p>
241    pub fn preferred_maintenance_window(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
242        self.inner = self.inner.preferred_maintenance_window(input.into());
243        self
244    }
245    /// <p>The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).</p>
246    /// <p>Format: <code>ddd:hh24:mi-ddd:hh24:mi</code></p>
247    /// <p>Default: A 30-minute window selected at random from an 8-hour block of time per Amazon Web Services Region, occurring on a random day of the week.</p>
248    /// <p>Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun</p>
249    /// <p>Constraints: Minimum 30-minute window.</p>
250    pub fn set_preferred_maintenance_window(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
251        self.inner = self.inner.set_preferred_maintenance_window(input);
252        self
253    }
254    /// <p>The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).</p>
255    /// <p>Format: <code>ddd:hh24:mi-ddd:hh24:mi</code></p>
256    /// <p>Default: A 30-minute window selected at random from an 8-hour block of time per Amazon Web Services Region, occurring on a random day of the week.</p>
257    /// <p>Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun</p>
258    /// <p>Constraints: Minimum 30-minute window.</p>
259    pub fn get_preferred_maintenance_window(&self) -> &::std::option::Option<::std::string::String> {
260        self.inner.get_preferred_maintenance_window()
261    }
262    /// <p>Specifies whether the replication instance is a Multi-AZ deployment. You can't set the <code>AvailabilityZone</code> parameter if the Multi-AZ parameter is set to <code>true</code>.</p>
263    pub fn multi_az(mut self, input: bool) -> Self {
264        self.inner = self.inner.multi_az(input);
265        self
266    }
267    /// <p>Specifies whether the replication instance is a Multi-AZ deployment. You can't set the <code>AvailabilityZone</code> parameter if the Multi-AZ parameter is set to <code>true</code>.</p>
268    pub fn set_multi_az(mut self, input: ::std::option::Option<bool>) -> Self {
269        self.inner = self.inner.set_multi_az(input);
270        self
271    }
272    /// <p>Specifies whether the replication instance is a Multi-AZ deployment. You can't set the <code>AvailabilityZone</code> parameter if the Multi-AZ parameter is set to <code>true</code>.</p>
273    pub fn get_multi_az(&self) -> &::std::option::Option<bool> {
274        self.inner.get_multi_az()
275    }
276    /// <p>The engine version number of the replication instance.</p>
277    /// <p>If an engine version number is not specified when a replication instance is created, the default is the latest engine version available.</p>
278    pub fn engine_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
279        self.inner = self.inner.engine_version(input.into());
280        self
281    }
282    /// <p>The engine version number of the replication instance.</p>
283    /// <p>If an engine version number is not specified when a replication instance is created, the default is the latest engine version available.</p>
284    pub fn set_engine_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
285        self.inner = self.inner.set_engine_version(input);
286        self
287    }
288    /// <p>The engine version number of the replication instance.</p>
289    /// <p>If an engine version number is not specified when a replication instance is created, the default is the latest engine version available.</p>
290    pub fn get_engine_version(&self) -> &::std::option::Option<::std::string::String> {
291        self.inner.get_engine_version()
292    }
293    /// <p>A value that indicates whether minor engine upgrades are applied automatically to the replication instance during the maintenance window. This parameter defaults to <code>true</code>.</p>
294    /// <p>Default: <code>true</code></p>
295    pub fn auto_minor_version_upgrade(mut self, input: bool) -> Self {
296        self.inner = self.inner.auto_minor_version_upgrade(input);
297        self
298    }
299    /// <p>A value that indicates whether minor engine upgrades are applied automatically to the replication instance during the maintenance window. This parameter defaults to <code>true</code>.</p>
300    /// <p>Default: <code>true</code></p>
301    pub fn set_auto_minor_version_upgrade(mut self, input: ::std::option::Option<bool>) -> Self {
302        self.inner = self.inner.set_auto_minor_version_upgrade(input);
303        self
304    }
305    /// <p>A value that indicates whether minor engine upgrades are applied automatically to the replication instance during the maintenance window. This parameter defaults to <code>true</code>.</p>
306    /// <p>Default: <code>true</code></p>
307    pub fn get_auto_minor_version_upgrade(&self) -> &::std::option::Option<bool> {
308        self.inner.get_auto_minor_version_upgrade()
309    }
310    ///
311    /// Appends an item to `Tags`.
312    ///
313    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
314    ///
315    /// <p>One or more tags to be assigned to the replication instance.</p>
316    pub fn tags(mut self, input: crate::types::Tag) -> Self {
317        self.inner = self.inner.tags(input);
318        self
319    }
320    /// <p>One or more tags to be assigned to the replication instance.</p>
321    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
322        self.inner = self.inner.set_tags(input);
323        self
324    }
325    /// <p>One or more tags to be assigned to the replication instance.</p>
326    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
327        self.inner.get_tags()
328    }
329    /// <p>An KMS key identifier that is used to encrypt the data on the replication instance.</p>
330    /// <p>If you don't specify a value for the <code>KmsKeyId</code> parameter, then DMS uses your default encryption key.</p>
331    /// <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>
332    pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
333        self.inner = self.inner.kms_key_id(input.into());
334        self
335    }
336    /// <p>An KMS key identifier that is used to encrypt the data on the replication instance.</p>
337    /// <p>If you don't specify a value for the <code>KmsKeyId</code> parameter, then DMS uses your default encryption key.</p>
338    /// <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>
339    pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
340        self.inner = self.inner.set_kms_key_id(input);
341        self
342    }
343    /// <p>An KMS key identifier that is used to encrypt the data on the replication instance.</p>
344    /// <p>If you don't specify a value for the <code>KmsKeyId</code> parameter, then DMS uses your default encryption key.</p>
345    /// <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>
346    pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
347        self.inner.get_kms_key_id()
348    }
349    /// <p>Specifies the accessibility options for the replication instance. A value of <code>true</code> represents an instance with a public IP address. A value of <code>false</code> represents an instance with a private IP address. The default value is <code>true</code>.</p>
350    pub fn publicly_accessible(mut self, input: bool) -> Self {
351        self.inner = self.inner.publicly_accessible(input);
352        self
353    }
354    /// <p>Specifies the accessibility options for the replication instance. A value of <code>true</code> represents an instance with a public IP address. A value of <code>false</code> represents an instance with a private IP address. The default value is <code>true</code>.</p>
355    pub fn set_publicly_accessible(mut self, input: ::std::option::Option<bool>) -> Self {
356        self.inner = self.inner.set_publicly_accessible(input);
357        self
358    }
359    /// <p>Specifies the accessibility options for the replication instance. A value of <code>true</code> represents an instance with a public IP address. A value of <code>false</code> represents an instance with a private IP address. The default value is <code>true</code>.</p>
360    pub fn get_publicly_accessible(&self) -> &::std::option::Option<bool> {
361        self.inner.get_publicly_accessible()
362    }
363    /// <p>A list of custom DNS name servers supported for the replication instance to access your on-premise source or target database. This list overrides the default name servers supported by the replication instance. You can specify a comma-separated list of internet addresses for up to four on-premise DNS name servers. For example: <code>"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"</code></p>
364    pub fn dns_name_servers(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
365        self.inner = self.inner.dns_name_servers(input.into());
366        self
367    }
368    /// <p>A list of custom DNS name servers supported for the replication instance to access your on-premise source or target database. This list overrides the default name servers supported by the replication instance. You can specify a comma-separated list of internet addresses for up to four on-premise DNS name servers. For example: <code>"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"</code></p>
369    pub fn set_dns_name_servers(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
370        self.inner = self.inner.set_dns_name_servers(input);
371        self
372    }
373    /// <p>A list of custom DNS name servers supported for the replication instance to access your on-premise source or target database. This list overrides the default name servers supported by the replication instance. You can specify a comma-separated list of internet addresses for up to four on-premise DNS name servers. For example: <code>"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"</code></p>
374    pub fn get_dns_name_servers(&self) -> &::std::option::Option<::std::string::String> {
375        self.inner.get_dns_name_servers()
376    }
377    /// <p>A friendly name for the resource identifier at the end of the <code>EndpointArn</code> response parameter that is returned in the created <code>Endpoint</code> object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as <code>Example-App-ARN1</code>. For example, this value might result in the <code>EndpointArn</code> value <code>arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1</code>. If you don't specify a <code>ResourceIdentifier</code> value, DMS generates a default identifier value for the end of <code>EndpointArn</code>.</p>
378    pub fn resource_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
379        self.inner = self.inner.resource_identifier(input.into());
380        self
381    }
382    /// <p>A friendly name for the resource identifier at the end of the <code>EndpointArn</code> response parameter that is returned in the created <code>Endpoint</code> object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as <code>Example-App-ARN1</code>. For example, this value might result in the <code>EndpointArn</code> value <code>arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1</code>. If you don't specify a <code>ResourceIdentifier</code> value, DMS generates a default identifier value for the end of <code>EndpointArn</code>.</p>
383    pub fn set_resource_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
384        self.inner = self.inner.set_resource_identifier(input);
385        self
386    }
387    /// <p>A friendly name for the resource identifier at the end of the <code>EndpointArn</code> response parameter that is returned in the created <code>Endpoint</code> object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as <code>Example-App-ARN1</code>. For example, this value might result in the <code>EndpointArn</code> value <code>arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1</code>. If you don't specify a <code>ResourceIdentifier</code> value, DMS generates a default identifier value for the end of <code>EndpointArn</code>.</p>
388    pub fn get_resource_identifier(&self) -> &::std::option::Option<::std::string::String> {
389        self.inner.get_resource_identifier()
390    }
391    /// <p>The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.</p>
392    pub fn network_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
393        self.inner = self.inner.network_type(input.into());
394        self
395    }
396    /// <p>The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.</p>
397    pub fn set_network_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
398        self.inner = self.inner.set_network_type(input);
399        self
400    }
401    /// <p>The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.</p>
402    pub fn get_network_type(&self) -> &::std::option::Option<::std::string::String> {
403        self.inner.get_network_type()
404    }
405    /// <p>Specifies the settings required for kerberos authentication when creating the replication instance.</p>
406    pub fn kerberos_authentication_settings(mut self, input: crate::types::KerberosAuthenticationSettings) -> Self {
407        self.inner = self.inner.kerberos_authentication_settings(input);
408        self
409    }
410    /// <p>Specifies the settings required for kerberos authentication when creating the replication instance.</p>
411    pub fn set_kerberos_authentication_settings(mut self, input: ::std::option::Option<crate::types::KerberosAuthenticationSettings>) -> Self {
412        self.inner = self.inner.set_kerberos_authentication_settings(input);
413        self
414    }
415    /// <p>Specifies the settings required for kerberos authentication when creating the replication instance.</p>
416    pub fn get_kerberos_authentication_settings(&self) -> &::std::option::Option<crate::types::KerberosAuthenticationSettings> {
417        self.inner.get_kerberos_authentication_settings()
418    }
419}