aws_sdk_glue/operation/create_ml_transform/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_ml_transform::_create_ml_transform_output::CreateMlTransformOutputBuilder;
3
4pub use crate::operation::create_ml_transform::_create_ml_transform_input::CreateMlTransformInputBuilder;
5
6impl crate::operation::create_ml_transform::builders::CreateMlTransformInputBuilder {
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_ml_transform::CreateMlTransformOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_ml_transform::CreateMLTransformError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_ml_transform();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateMLTransform`.
24///
25/// <p>Creates an Glue machine learning transform. This operation creates the transform and all the necessary parameters to train it.</p>
26/// <p>Call this operation as the first step in the process of using a machine learning transform (such as the <code>FindMatches</code> transform) for deduplicating data. You can provide an optional <code>Description</code>, in addition to the parameters that you want to use for your algorithm.</p>
27/// <p>You must also specify certain parameters for the tasks that Glue runs on your behalf as part of learning from your data and creating a high-quality machine learning transform. These parameters include <code>Role</code>, and optionally, <code>AllocatedCapacity</code>, <code>Timeout</code>, and <code>MaxRetries</code>. For more information, see <a href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html">Jobs</a>.</p>
28#[derive(::std::clone::Clone, ::std::fmt::Debug)]
29pub struct CreateMLTransformFluentBuilder {
30    handle: ::std::sync::Arc<crate::client::Handle>,
31    inner: crate::operation::create_ml_transform::builders::CreateMlTransformInputBuilder,
32    config_override: ::std::option::Option<crate::config::Builder>,
33}
34impl
35    crate::client::customize::internal::CustomizableSend<
36        crate::operation::create_ml_transform::CreateMlTransformOutput,
37        crate::operation::create_ml_transform::CreateMLTransformError,
38    > for CreateMLTransformFluentBuilder
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::create_ml_transform::CreateMlTransformOutput,
46            crate::operation::create_ml_transform::CreateMLTransformError,
47        >,
48    > {
49        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
50    }
51}
52impl CreateMLTransformFluentBuilder {
53    /// Creates a new `CreateMLTransformFluentBuilder`.
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 CreateMLTransform as a reference.
62    pub fn as_input(&self) -> &crate::operation::create_ml_transform::builders::CreateMlTransformInputBuilder {
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::create_ml_transform::CreateMlTransformOutput,
77        ::aws_smithy_runtime_api::client::result::SdkError<
78            crate::operation::create_ml_transform::CreateMLTransformError,
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::create_ml_transform::CreateMLTransform::operation_runtime_plugins(
87            self.handle.runtime_plugins.clone(),
88            &self.handle.conf,
89            self.config_override,
90        );
91        crate::operation::create_ml_transform::CreateMLTransform::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::create_ml_transform::CreateMlTransformOutput,
99        crate::operation::create_ml_transform::CreateMLTransformError,
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 unique name that you give the transform when you create it.</p>
114    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
115        self.inner = self.inner.name(input.into());
116        self
117    }
118    /// <p>The unique name that you give the transform when you create it.</p>
119    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
120        self.inner = self.inner.set_name(input);
121        self
122    }
123    /// <p>The unique name that you give the transform when you create it.</p>
124    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
125        self.inner.get_name()
126    }
127    /// <p>A description of the machine learning transform that is being defined. The default is an empty string.</p>
128    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
129        self.inner = self.inner.description(input.into());
130        self
131    }
132    /// <p>A description of the machine learning transform that is being defined. The default is an empty string.</p>
133    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
134        self.inner = self.inner.set_description(input);
135        self
136    }
137    /// <p>A description of the machine learning transform that is being defined. The default is an empty string.</p>
138    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
139        self.inner.get_description()
140    }
141    ///
142    /// Appends an item to `InputRecordTables`.
143    ///
144    /// To override the contents of this collection use [`set_input_record_tables`](Self::set_input_record_tables).
145    ///
146    /// <p>A list of Glue table definitions used by the transform.</p>
147    pub fn input_record_tables(mut self, input: crate::types::GlueTable) -> Self {
148        self.inner = self.inner.input_record_tables(input);
149        self
150    }
151    /// <p>A list of Glue table definitions used by the transform.</p>
152    pub fn set_input_record_tables(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::GlueTable>>) -> Self {
153        self.inner = self.inner.set_input_record_tables(input);
154        self
155    }
156    /// <p>A list of Glue table definitions used by the transform.</p>
157    pub fn get_input_record_tables(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::GlueTable>> {
158        self.inner.get_input_record_tables()
159    }
160    /// <p>The algorithmic parameters that are specific to the transform type used. Conditionally dependent on the transform type.</p>
161    pub fn parameters(mut self, input: crate::types::TransformParameters) -> Self {
162        self.inner = self.inner.parameters(input);
163        self
164    }
165    /// <p>The algorithmic parameters that are specific to the transform type used. Conditionally dependent on the transform type.</p>
166    pub fn set_parameters(mut self, input: ::std::option::Option<crate::types::TransformParameters>) -> Self {
167        self.inner = self.inner.set_parameters(input);
168        self
169    }
170    /// <p>The algorithmic parameters that are specific to the transform type used. Conditionally dependent on the transform type.</p>
171    pub fn get_parameters(&self) -> &::std::option::Option<crate::types::TransformParameters> {
172        self.inner.get_parameters()
173    }
174    /// <p>The name or Amazon Resource Name (ARN) of the IAM role with the required permissions. The required permissions include both Glue service role permissions to Glue resources, and Amazon S3 permissions required by the transform.</p>
175    /// <ul>
176    /// <li>
177    /// <p>This role needs Glue service role permissions to allow access to resources in Glue. See <a href="https://docs.aws.amazon.com/glue/latest/dg/attach-policy-iam-user.html">Attach a Policy to IAM Users That Access Glue</a>.</p></li>
178    /// <li>
179    /// <p>This role needs permission to your Amazon Simple Storage Service (Amazon S3) sources, targets, temporary directory, scripts, and any libraries used by the task run for this transform.</p></li>
180    /// </ul>
181    pub fn role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
182        self.inner = self.inner.role(input.into());
183        self
184    }
185    /// <p>The name or Amazon Resource Name (ARN) of the IAM role with the required permissions. The required permissions include both Glue service role permissions to Glue resources, and Amazon S3 permissions required by the transform.</p>
186    /// <ul>
187    /// <li>
188    /// <p>This role needs Glue service role permissions to allow access to resources in Glue. See <a href="https://docs.aws.amazon.com/glue/latest/dg/attach-policy-iam-user.html">Attach a Policy to IAM Users That Access Glue</a>.</p></li>
189    /// <li>
190    /// <p>This role needs permission to your Amazon Simple Storage Service (Amazon S3) sources, targets, temporary directory, scripts, and any libraries used by the task run for this transform.</p></li>
191    /// </ul>
192    pub fn set_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
193        self.inner = self.inner.set_role(input);
194        self
195    }
196    /// <p>The name or Amazon Resource Name (ARN) of the IAM role with the required permissions. The required permissions include both Glue service role permissions to Glue resources, and Amazon S3 permissions required by the transform.</p>
197    /// <ul>
198    /// <li>
199    /// <p>This role needs Glue service role permissions to allow access to resources in Glue. See <a href="https://docs.aws.amazon.com/glue/latest/dg/attach-policy-iam-user.html">Attach a Policy to IAM Users That Access Glue</a>.</p></li>
200    /// <li>
201    /// <p>This role needs permission to your Amazon Simple Storage Service (Amazon S3) sources, targets, temporary directory, scripts, and any libraries used by the task run for this transform.</p></li>
202    /// </ul>
203    pub fn get_role(&self) -> &::std::option::Option<::std::string::String> {
204        self.inner.get_role()
205    }
206    /// <p>This value determines which version of Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see <a href="https://docs.aws.amazon.com/glue/latest/dg/release-notes.html#release-notes-versions">Glue Versions</a> in the developer guide.</p>
207    pub fn glue_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
208        self.inner = self.inner.glue_version(input.into());
209        self
210    }
211    /// <p>This value determines which version of Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see <a href="https://docs.aws.amazon.com/glue/latest/dg/release-notes.html#release-notes-versions">Glue Versions</a> in the developer guide.</p>
212    pub fn set_glue_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
213        self.inner = self.inner.set_glue_version(input);
214        self
215    }
216    /// <p>This value determines which version of Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see <a href="https://docs.aws.amazon.com/glue/latest/dg/release-notes.html#release-notes-versions">Glue Versions</a> in the developer guide.</p>
217    pub fn get_glue_version(&self) -> &::std::option::Option<::std::string::String> {
218        self.inner.get_glue_version()
219    }
220    /// <p>The number of Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the <a href="https://aws.amazon.com/glue/pricing/">Glue pricing page</a>.</p>
221    /// <p><code>MaxCapacity</code> is a mutually exclusive option with <code>NumberOfWorkers</code> and <code>WorkerType</code>.</p>
222    /// <ul>
223    /// <li>
224    /// <p>If either <code>NumberOfWorkers</code> or <code>WorkerType</code> is set, then <code>MaxCapacity</code> cannot be set.</p></li>
225    /// <li>
226    /// <p>If <code>MaxCapacity</code> is set then neither <code>NumberOfWorkers</code> or <code>WorkerType</code> can be set.</p></li>
227    /// <li>
228    /// <p>If <code>WorkerType</code> is set, then <code>NumberOfWorkers</code> is required (and vice versa).</p></li>
229    /// <li>
230    /// <p><code>MaxCapacity</code> and <code>NumberOfWorkers</code> must both be at least 1.</p></li>
231    /// </ul>
232    /// <p>When the <code>WorkerType</code> field is set to a value other than <code>Standard</code>, the <code>MaxCapacity</code> field is set automatically and becomes read-only.</p>
233    /// <p>When the <code>WorkerType</code> field is set to a value other than <code>Standard</code>, the <code>MaxCapacity</code> field is set automatically and becomes read-only.</p>
234    pub fn max_capacity(mut self, input: f64) -> Self {
235        self.inner = self.inner.max_capacity(input);
236        self
237    }
238    /// <p>The number of Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the <a href="https://aws.amazon.com/glue/pricing/">Glue pricing page</a>.</p>
239    /// <p><code>MaxCapacity</code> is a mutually exclusive option with <code>NumberOfWorkers</code> and <code>WorkerType</code>.</p>
240    /// <ul>
241    /// <li>
242    /// <p>If either <code>NumberOfWorkers</code> or <code>WorkerType</code> is set, then <code>MaxCapacity</code> cannot be set.</p></li>
243    /// <li>
244    /// <p>If <code>MaxCapacity</code> is set then neither <code>NumberOfWorkers</code> or <code>WorkerType</code> can be set.</p></li>
245    /// <li>
246    /// <p>If <code>WorkerType</code> is set, then <code>NumberOfWorkers</code> is required (and vice versa).</p></li>
247    /// <li>
248    /// <p><code>MaxCapacity</code> and <code>NumberOfWorkers</code> must both be at least 1.</p></li>
249    /// </ul>
250    /// <p>When the <code>WorkerType</code> field is set to a value other than <code>Standard</code>, the <code>MaxCapacity</code> field is set automatically and becomes read-only.</p>
251    /// <p>When the <code>WorkerType</code> field is set to a value other than <code>Standard</code>, the <code>MaxCapacity</code> field is set automatically and becomes read-only.</p>
252    pub fn set_max_capacity(mut self, input: ::std::option::Option<f64>) -> Self {
253        self.inner = self.inner.set_max_capacity(input);
254        self
255    }
256    /// <p>The number of Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the <a href="https://aws.amazon.com/glue/pricing/">Glue pricing page</a>.</p>
257    /// <p><code>MaxCapacity</code> is a mutually exclusive option with <code>NumberOfWorkers</code> and <code>WorkerType</code>.</p>
258    /// <ul>
259    /// <li>
260    /// <p>If either <code>NumberOfWorkers</code> or <code>WorkerType</code> is set, then <code>MaxCapacity</code> cannot be set.</p></li>
261    /// <li>
262    /// <p>If <code>MaxCapacity</code> is set then neither <code>NumberOfWorkers</code> or <code>WorkerType</code> can be set.</p></li>
263    /// <li>
264    /// <p>If <code>WorkerType</code> is set, then <code>NumberOfWorkers</code> is required (and vice versa).</p></li>
265    /// <li>
266    /// <p><code>MaxCapacity</code> and <code>NumberOfWorkers</code> must both be at least 1.</p></li>
267    /// </ul>
268    /// <p>When the <code>WorkerType</code> field is set to a value other than <code>Standard</code>, the <code>MaxCapacity</code> field is set automatically and becomes read-only.</p>
269    /// <p>When the <code>WorkerType</code> field is set to a value other than <code>Standard</code>, the <code>MaxCapacity</code> field is set automatically and becomes read-only.</p>
270    pub fn get_max_capacity(&self) -> &::std::option::Option<f64> {
271        self.inner.get_max_capacity()
272    }
273    /// <p>The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X.</p>
274    /// <ul>
275    /// <li>
276    /// <p>For the <code>Standard</code> worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.</p></li>
277    /// <li>
278    /// <p>For the <code>G.1X</code> worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.</p></li>
279    /// <li>
280    /// <p>For the <code>G.2X</code> worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.</p></li>
281    /// </ul>
282    /// <p><code>MaxCapacity</code> is a mutually exclusive option with <code>NumberOfWorkers</code> and <code>WorkerType</code>.</p>
283    /// <ul>
284    /// <li>
285    /// <p>If either <code>NumberOfWorkers</code> or <code>WorkerType</code> is set, then <code>MaxCapacity</code> cannot be set.</p></li>
286    /// <li>
287    /// <p>If <code>MaxCapacity</code> is set then neither <code>NumberOfWorkers</code> or <code>WorkerType</code> can be set.</p></li>
288    /// <li>
289    /// <p>If <code>WorkerType</code> is set, then <code>NumberOfWorkers</code> is required (and vice versa).</p></li>
290    /// <li>
291    /// <p><code>MaxCapacity</code> and <code>NumberOfWorkers</code> must both be at least 1.</p></li>
292    /// </ul>
293    pub fn worker_type(mut self, input: crate::types::WorkerType) -> Self {
294        self.inner = self.inner.worker_type(input);
295        self
296    }
297    /// <p>The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X.</p>
298    /// <ul>
299    /// <li>
300    /// <p>For the <code>Standard</code> worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.</p></li>
301    /// <li>
302    /// <p>For the <code>G.1X</code> worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.</p></li>
303    /// <li>
304    /// <p>For the <code>G.2X</code> worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.</p></li>
305    /// </ul>
306    /// <p><code>MaxCapacity</code> is a mutually exclusive option with <code>NumberOfWorkers</code> and <code>WorkerType</code>.</p>
307    /// <ul>
308    /// <li>
309    /// <p>If either <code>NumberOfWorkers</code> or <code>WorkerType</code> is set, then <code>MaxCapacity</code> cannot be set.</p></li>
310    /// <li>
311    /// <p>If <code>MaxCapacity</code> is set then neither <code>NumberOfWorkers</code> or <code>WorkerType</code> can be set.</p></li>
312    /// <li>
313    /// <p>If <code>WorkerType</code> is set, then <code>NumberOfWorkers</code> is required (and vice versa).</p></li>
314    /// <li>
315    /// <p><code>MaxCapacity</code> and <code>NumberOfWorkers</code> must both be at least 1.</p></li>
316    /// </ul>
317    pub fn set_worker_type(mut self, input: ::std::option::Option<crate::types::WorkerType>) -> Self {
318        self.inner = self.inner.set_worker_type(input);
319        self
320    }
321    /// <p>The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X.</p>
322    /// <ul>
323    /// <li>
324    /// <p>For the <code>Standard</code> worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.</p></li>
325    /// <li>
326    /// <p>For the <code>G.1X</code> worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.</p></li>
327    /// <li>
328    /// <p>For the <code>G.2X</code> worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.</p></li>
329    /// </ul>
330    /// <p><code>MaxCapacity</code> is a mutually exclusive option with <code>NumberOfWorkers</code> and <code>WorkerType</code>.</p>
331    /// <ul>
332    /// <li>
333    /// <p>If either <code>NumberOfWorkers</code> or <code>WorkerType</code> is set, then <code>MaxCapacity</code> cannot be set.</p></li>
334    /// <li>
335    /// <p>If <code>MaxCapacity</code> is set then neither <code>NumberOfWorkers</code> or <code>WorkerType</code> can be set.</p></li>
336    /// <li>
337    /// <p>If <code>WorkerType</code> is set, then <code>NumberOfWorkers</code> is required (and vice versa).</p></li>
338    /// <li>
339    /// <p><code>MaxCapacity</code> and <code>NumberOfWorkers</code> must both be at least 1.</p></li>
340    /// </ul>
341    pub fn get_worker_type(&self) -> &::std::option::Option<crate::types::WorkerType> {
342        self.inner.get_worker_type()
343    }
344    /// <p>The number of workers of a defined <code>workerType</code> that are allocated when this task runs.</p>
345    /// <p>If <code>WorkerType</code> is set, then <code>NumberOfWorkers</code> is required (and vice versa).</p>
346    pub fn number_of_workers(mut self, input: i32) -> Self {
347        self.inner = self.inner.number_of_workers(input);
348        self
349    }
350    /// <p>The number of workers of a defined <code>workerType</code> that are allocated when this task runs.</p>
351    /// <p>If <code>WorkerType</code> is set, then <code>NumberOfWorkers</code> is required (and vice versa).</p>
352    pub fn set_number_of_workers(mut self, input: ::std::option::Option<i32>) -> Self {
353        self.inner = self.inner.set_number_of_workers(input);
354        self
355    }
356    /// <p>The number of workers of a defined <code>workerType</code> that are allocated when this task runs.</p>
357    /// <p>If <code>WorkerType</code> is set, then <code>NumberOfWorkers</code> is required (and vice versa).</p>
358    pub fn get_number_of_workers(&self) -> &::std::option::Option<i32> {
359        self.inner.get_number_of_workers()
360    }
361    /// <p>The timeout of the task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters <code>TIMEOUT</code> status. The default is 2,880 minutes (48 hours).</p>
362    pub fn timeout(mut self, input: i32) -> Self {
363        self.inner = self.inner.timeout(input);
364        self
365    }
366    /// <p>The timeout of the task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters <code>TIMEOUT</code> status. The default is 2,880 minutes (48 hours).</p>
367    pub fn set_timeout(mut self, input: ::std::option::Option<i32>) -> Self {
368        self.inner = self.inner.set_timeout(input);
369        self
370    }
371    /// <p>The timeout of the task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters <code>TIMEOUT</code> status. The default is 2,880 minutes (48 hours).</p>
372    pub fn get_timeout(&self) -> &::std::option::Option<i32> {
373        self.inner.get_timeout()
374    }
375    /// <p>The maximum number of times to retry a task for this transform after a task run fails.</p>
376    pub fn max_retries(mut self, input: i32) -> Self {
377        self.inner = self.inner.max_retries(input);
378        self
379    }
380    /// <p>The maximum number of times to retry a task for this transform after a task run fails.</p>
381    pub fn set_max_retries(mut self, input: ::std::option::Option<i32>) -> Self {
382        self.inner = self.inner.set_max_retries(input);
383        self
384    }
385    /// <p>The maximum number of times to retry a task for this transform after a task run fails.</p>
386    pub fn get_max_retries(&self) -> &::std::option::Option<i32> {
387        self.inner.get_max_retries()
388    }
389    ///
390    /// Adds a key-value pair to `Tags`.
391    ///
392    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
393    ///
394    /// <p>The tags to use with this machine learning transform. You may use tags to limit access to the machine learning transform. For more information about tags in Glue, see <a href="https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html">Amazon Web Services Tags in Glue</a> in the developer guide.</p>
395    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
396        self.inner = self.inner.tags(k.into(), v.into());
397        self
398    }
399    /// <p>The tags to use with this machine learning transform. You may use tags to limit access to the machine learning transform. For more information about tags in Glue, see <a href="https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html">Amazon Web Services Tags in Glue</a> in the developer guide.</p>
400    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
401        self.inner = self.inner.set_tags(input);
402        self
403    }
404    /// <p>The tags to use with this machine learning transform. You may use tags to limit access to the machine learning transform. For more information about tags in Glue, see <a href="https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html">Amazon Web Services Tags in Glue</a> in the developer guide.</p>
405    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
406        self.inner.get_tags()
407    }
408    /// <p>The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS.</p>
409    pub fn transform_encryption(mut self, input: crate::types::TransformEncryption) -> Self {
410        self.inner = self.inner.transform_encryption(input);
411        self
412    }
413    /// <p>The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS.</p>
414    pub fn set_transform_encryption(mut self, input: ::std::option::Option<crate::types::TransformEncryption>) -> Self {
415        self.inner = self.inner.set_transform_encryption(input);
416        self
417    }
418    /// <p>The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS.</p>
419    pub fn get_transform_encryption(&self) -> &::std::option::Option<crate::types::TransformEncryption> {
420        self.inner.get_transform_encryption()
421    }
422}