aws_sdk_databasemigration/operation/modify_migration_project/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::modify_migration_project::_modify_migration_project_output::ModifyMigrationProjectOutputBuilder;
3
4pub use crate::operation::modify_migration_project::_modify_migration_project_input::ModifyMigrationProjectInputBuilder;
5
6impl crate::operation::modify_migration_project::builders::ModifyMigrationProjectInputBuilder {
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::modify_migration_project::ModifyMigrationProjectOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::modify_migration_project::ModifyMigrationProjectError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.modify_migration_project();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `ModifyMigrationProject`.
24///
25/// <p>Modifies the specified migration project using the provided parameters.</p><note>
26/// <p>The migration project must be closed before you can modify it.</p>
27/// </note>
28#[derive(::std::clone::Clone, ::std::fmt::Debug)]
29pub struct ModifyMigrationProjectFluentBuilder {
30    handle: ::std::sync::Arc<crate::client::Handle>,
31    inner: crate::operation::modify_migration_project::builders::ModifyMigrationProjectInputBuilder,
32    config_override: ::std::option::Option<crate::config::Builder>,
33}
34impl
35    crate::client::customize::internal::CustomizableSend<
36        crate::operation::modify_migration_project::ModifyMigrationProjectOutput,
37        crate::operation::modify_migration_project::ModifyMigrationProjectError,
38    > for ModifyMigrationProjectFluentBuilder
39{
40    fn send(
41        self,
42        config_override: crate::config::Builder,
43    ) -> crate::client::customize::internal::BoxFuture<
44        crate::client::customize::internal::SendResult<
45            crate::operation::modify_migration_project::ModifyMigrationProjectOutput,
46            crate::operation::modify_migration_project::ModifyMigrationProjectError,
47        >,
48    > {
49        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
50    }
51}
52impl ModifyMigrationProjectFluentBuilder {
53    /// Creates a new `ModifyMigrationProjectFluentBuilder`.
54    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
55        Self {
56            handle,
57            inner: ::std::default::Default::default(),
58            config_override: ::std::option::Option::None,
59        }
60    }
61    /// Access the ModifyMigrationProject as a reference.
62    pub fn as_input(&self) -> &crate::operation::modify_migration_project::builders::ModifyMigrationProjectInputBuilder {
63        &self.inner
64    }
65    /// Sends the request and returns the response.
66    ///
67    /// If an error occurs, an `SdkError` will be returned with additional details that
68    /// can be matched against.
69    ///
70    /// By default, any retryable failures will be retried twice. Retry behavior
71    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
72    /// set when configuring the client.
73    pub async fn send(
74        self,
75    ) -> ::std::result::Result<
76        crate::operation::modify_migration_project::ModifyMigrationProjectOutput,
77        ::aws_smithy_runtime_api::client::result::SdkError<
78            crate::operation::modify_migration_project::ModifyMigrationProjectError,
79            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
80        >,
81    > {
82        let input = self
83            .inner
84            .build()
85            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
86        let runtime_plugins = crate::operation::modify_migration_project::ModifyMigrationProject::operation_runtime_plugins(
87            self.handle.runtime_plugins.clone(),
88            &self.handle.conf,
89            self.config_override,
90        );
91        crate::operation::modify_migration_project::ModifyMigrationProject::orchestrate(&runtime_plugins, input).await
92    }
93
94    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
95    pub fn customize(
96        self,
97    ) -> crate::client::customize::CustomizableOperation<
98        crate::operation::modify_migration_project::ModifyMigrationProjectOutput,
99        crate::operation::modify_migration_project::ModifyMigrationProjectError,
100        Self,
101    > {
102        crate::client::customize::CustomizableOperation::new(self)
103    }
104    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
105        self.set_config_override(::std::option::Option::Some(config_override.into()));
106        self
107    }
108
109    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
110        self.config_override = config_override;
111        self
112    }
113    /// <p>The identifier of the migration project. 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>
114    pub fn migration_project_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
115        self.inner = self.inner.migration_project_identifier(input.into());
116        self
117    }
118    /// <p>The identifier of the migration project. 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>
119    pub fn set_migration_project_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
120        self.inner = self.inner.set_migration_project_identifier(input);
121        self
122    }
123    /// <p>The identifier of the migration project. 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>
124    pub fn get_migration_project_identifier(&self) -> &::std::option::Option<::std::string::String> {
125        self.inner.get_migration_project_identifier()
126    }
127    /// <p>A user-friendly name for the migration project.</p>
128    pub fn migration_project_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
129        self.inner = self.inner.migration_project_name(input.into());
130        self
131    }
132    /// <p>A user-friendly name for the migration project.</p>
133    pub fn set_migration_project_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
134        self.inner = self.inner.set_migration_project_name(input);
135        self
136    }
137    /// <p>A user-friendly name for the migration project.</p>
138    pub fn get_migration_project_name(&self) -> &::std::option::Option<::std::string::String> {
139        self.inner.get_migration_project_name()
140    }
141    ///
142    /// Appends an item to `SourceDataProviderDescriptors`.
143    ///
144    /// To override the contents of this collection use [`set_source_data_provider_descriptors`](Self::set_source_data_provider_descriptors).
145    ///
146    /// <p>Information about the source data provider, including the name, ARN, and Amazon Web Services Secrets Manager parameters.</p>
147    pub fn source_data_provider_descriptors(mut self, input: crate::types::DataProviderDescriptorDefinition) -> Self {
148        self.inner = self.inner.source_data_provider_descriptors(input);
149        self
150    }
151    /// <p>Information about the source data provider, including the name, ARN, and Amazon Web Services Secrets Manager parameters.</p>
152    pub fn set_source_data_provider_descriptors(
153        mut self,
154        input: ::std::option::Option<::std::vec::Vec<crate::types::DataProviderDescriptorDefinition>>,
155    ) -> Self {
156        self.inner = self.inner.set_source_data_provider_descriptors(input);
157        self
158    }
159    /// <p>Information about the source data provider, including the name, ARN, and Amazon Web Services Secrets Manager parameters.</p>
160    pub fn get_source_data_provider_descriptors(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::DataProviderDescriptorDefinition>> {
161        self.inner.get_source_data_provider_descriptors()
162    }
163    ///
164    /// Appends an item to `TargetDataProviderDescriptors`.
165    ///
166    /// To override the contents of this collection use [`set_target_data_provider_descriptors`](Self::set_target_data_provider_descriptors).
167    ///
168    /// <p>Information about the target data provider, including the name, ARN, and Amazon Web Services Secrets Manager parameters.</p>
169    pub fn target_data_provider_descriptors(mut self, input: crate::types::DataProviderDescriptorDefinition) -> Self {
170        self.inner = self.inner.target_data_provider_descriptors(input);
171        self
172    }
173    /// <p>Information about the target data provider, including the name, ARN, and Amazon Web Services Secrets Manager parameters.</p>
174    pub fn set_target_data_provider_descriptors(
175        mut self,
176        input: ::std::option::Option<::std::vec::Vec<crate::types::DataProviderDescriptorDefinition>>,
177    ) -> Self {
178        self.inner = self.inner.set_target_data_provider_descriptors(input);
179        self
180    }
181    /// <p>Information about the target data provider, including the name, ARN, and Amazon Web Services Secrets Manager parameters.</p>
182    pub fn get_target_data_provider_descriptors(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::DataProviderDescriptorDefinition>> {
183        self.inner.get_target_data_provider_descriptors()
184    }
185    /// <p>The name or Amazon Resource Name (ARN) for the instance profile.</p>
186    pub fn instance_profile_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
187        self.inner = self.inner.instance_profile_identifier(input.into());
188        self
189    }
190    /// <p>The name or Amazon Resource Name (ARN) for the instance profile.</p>
191    pub fn set_instance_profile_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
192        self.inner = self.inner.set_instance_profile_identifier(input);
193        self
194    }
195    /// <p>The name or Amazon Resource Name (ARN) for the instance profile.</p>
196    pub fn get_instance_profile_identifier(&self) -> &::std::option::Option<::std::string::String> {
197        self.inner.get_instance_profile_identifier()
198    }
199    /// <p>The settings in JSON format for migration rules. Migration rules make it possible for you to change the object names according to the rules that you specify. For example, you can change an object name to lowercase or uppercase, add or remove a prefix or suffix, or rename objects.</p>
200    pub fn transformation_rules(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
201        self.inner = self.inner.transformation_rules(input.into());
202        self
203    }
204    /// <p>The settings in JSON format for migration rules. Migration rules make it possible for you to change the object names according to the rules that you specify. For example, you can change an object name to lowercase or uppercase, add or remove a prefix or suffix, or rename objects.</p>
205    pub fn set_transformation_rules(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
206        self.inner = self.inner.set_transformation_rules(input);
207        self
208    }
209    /// <p>The settings in JSON format for migration rules. Migration rules make it possible for you to change the object names according to the rules that you specify. For example, you can change an object name to lowercase or uppercase, add or remove a prefix or suffix, or rename objects.</p>
210    pub fn get_transformation_rules(&self) -> &::std::option::Option<::std::string::String> {
211        self.inner.get_transformation_rules()
212    }
213    /// <p>A user-friendly description of the migration project.</p>
214    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
215        self.inner = self.inner.description(input.into());
216        self
217    }
218    /// <p>A user-friendly description of the migration project.</p>
219    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
220        self.inner = self.inner.set_description(input);
221        self
222    }
223    /// <p>A user-friendly description of the migration project.</p>
224    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
225        self.inner.get_description()
226    }
227    /// <p>The schema conversion application attributes, including the Amazon S3 bucket name and Amazon S3 role ARN.</p>
228    pub fn schema_conversion_application_attributes(mut self, input: crate::types::ScApplicationAttributes) -> Self {
229        self.inner = self.inner.schema_conversion_application_attributes(input);
230        self
231    }
232    /// <p>The schema conversion application attributes, including the Amazon S3 bucket name and Amazon S3 role ARN.</p>
233    pub fn set_schema_conversion_application_attributes(mut self, input: ::std::option::Option<crate::types::ScApplicationAttributes>) -> Self {
234        self.inner = self.inner.set_schema_conversion_application_attributes(input);
235        self
236    }
237    /// <p>The schema conversion application attributes, including the Amazon S3 bucket name and Amazon S3 role ARN.</p>
238    pub fn get_schema_conversion_application_attributes(&self) -> &::std::option::Option<crate::types::ScApplicationAttributes> {
239        self.inner.get_schema_conversion_application_attributes()
240    }
241}