aws_sdk_ssm/operation/start_automation_execution/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::start_automation_execution::_start_automation_execution_output::StartAutomationExecutionOutputBuilder;
3
4pub use crate::operation::start_automation_execution::_start_automation_execution_input::StartAutomationExecutionInputBuilder;
5
6impl crate::operation::start_automation_execution::builders::StartAutomationExecutionInputBuilder {
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::start_automation_execution::StartAutomationExecutionOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::start_automation_execution::StartAutomationExecutionError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.start_automation_execution();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `StartAutomationExecution`.
24///
25/// <p>Initiates execution of an Automation runbook.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct StartAutomationExecutionFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::start_automation_execution::builders::StartAutomationExecutionInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::start_automation_execution::StartAutomationExecutionOutput,
35        crate::operation::start_automation_execution::StartAutomationExecutionError,
36    > for StartAutomationExecutionFluentBuilder
37{
38    fn send(
39        self,
40        config_override: crate::config::Builder,
41    ) -> crate::client::customize::internal::BoxFuture<
42        crate::client::customize::internal::SendResult<
43            crate::operation::start_automation_execution::StartAutomationExecutionOutput,
44            crate::operation::start_automation_execution::StartAutomationExecutionError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl StartAutomationExecutionFluentBuilder {
51    /// Creates a new `StartAutomationExecutionFluentBuilder`.
52    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
53        Self {
54            handle,
55            inner: ::std::default::Default::default(),
56            config_override: ::std::option::Option::None,
57        }
58    }
59    /// Access the StartAutomationExecution as a reference.
60    pub fn as_input(&self) -> &crate::operation::start_automation_execution::builders::StartAutomationExecutionInputBuilder {
61        &self.inner
62    }
63    /// Sends the request and returns the response.
64    ///
65    /// If an error occurs, an `SdkError` will be returned with additional details that
66    /// can be matched against.
67    ///
68    /// By default, any retryable failures will be retried twice. Retry behavior
69    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
70    /// set when configuring the client.
71    pub async fn send(
72        self,
73    ) -> ::std::result::Result<
74        crate::operation::start_automation_execution::StartAutomationExecutionOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::start_automation_execution::StartAutomationExecutionError,
77            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
78        >,
79    > {
80        let input = self
81            .inner
82            .build()
83            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
84        let runtime_plugins = crate::operation::start_automation_execution::StartAutomationExecution::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::start_automation_execution::StartAutomationExecution::orchestrate(&runtime_plugins, input).await
90    }
91
92    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
93    pub fn customize(
94        self,
95    ) -> crate::client::customize::CustomizableOperation<
96        crate::operation::start_automation_execution::StartAutomationExecutionOutput,
97        crate::operation::start_automation_execution::StartAutomationExecutionError,
98        Self,
99    > {
100        crate::client::customize::CustomizableOperation::new(self)
101    }
102    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
103        self.set_config_override(::std::option::Option::Some(config_override.into()));
104        self
105    }
106
107    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
108        self.config_override = config_override;
109        self
110    }
111    /// <p>The name of the SSM document to run. This can be a public document or a custom document. To run a shared document belonging to another account, specify the document ARN. For more information about how to use shared documents, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/documents-ssm-sharing.html">Sharing SSM documents</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
112    pub fn document_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113        self.inner = self.inner.document_name(input.into());
114        self
115    }
116    /// <p>The name of the SSM document to run. This can be a public document or a custom document. To run a shared document belonging to another account, specify the document ARN. For more information about how to use shared documents, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/documents-ssm-sharing.html">Sharing SSM documents</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
117    pub fn set_document_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118        self.inner = self.inner.set_document_name(input);
119        self
120    }
121    /// <p>The name of the SSM document to run. This can be a public document or a custom document. To run a shared document belonging to another account, specify the document ARN. For more information about how to use shared documents, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/documents-ssm-sharing.html">Sharing SSM documents</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
122    pub fn get_document_name(&self) -> &::std::option::Option<::std::string::String> {
123        self.inner.get_document_name()
124    }
125    /// <p>The version of the Automation runbook to use for this execution.</p>
126    pub fn document_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127        self.inner = self.inner.document_version(input.into());
128        self
129    }
130    /// <p>The version of the Automation runbook to use for this execution.</p>
131    pub fn set_document_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132        self.inner = self.inner.set_document_version(input);
133        self
134    }
135    /// <p>The version of the Automation runbook to use for this execution.</p>
136    pub fn get_document_version(&self) -> &::std::option::Option<::std::string::String> {
137        self.inner.get_document_version()
138    }
139    ///
140    /// Adds a key-value pair to `Parameters`.
141    ///
142    /// To override the contents of this collection use [`set_parameters`](Self::set_parameters).
143    ///
144    /// <p>A key-value map of execution parameters, which match the declared parameters in the Automation runbook.</p>
145    pub fn parameters(mut self, k: impl ::std::convert::Into<::std::string::String>, v: ::std::vec::Vec<::std::string::String>) -> Self {
146        self.inner = self.inner.parameters(k.into(), v);
147        self
148    }
149    /// <p>A key-value map of execution parameters, which match the declared parameters in the Automation runbook.</p>
150    pub fn set_parameters(
151        mut self,
152        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>>,
153    ) -> Self {
154        self.inner = self.inner.set_parameters(input);
155        self
156    }
157    /// <p>A key-value map of execution parameters, which match the declared parameters in the Automation runbook.</p>
158    pub fn get_parameters(
159        &self,
160    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>> {
161        self.inner.get_parameters()
162    }
163    /// <p>User-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused.</p>
164    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
165        self.inner = self.inner.client_token(input.into());
166        self
167    }
168    /// <p>User-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused.</p>
169    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
170        self.inner = self.inner.set_client_token(input);
171        self
172    }
173    /// <p>User-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused.</p>
174    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
175        self.inner.get_client_token()
176    }
177    /// <p>The execution mode of the automation. Valid modes include the following: Auto and Interactive. The default mode is Auto.</p>
178    pub fn mode(mut self, input: crate::types::ExecutionMode) -> Self {
179        self.inner = self.inner.mode(input);
180        self
181    }
182    /// <p>The execution mode of the automation. Valid modes include the following: Auto and Interactive. The default mode is Auto.</p>
183    pub fn set_mode(mut self, input: ::std::option::Option<crate::types::ExecutionMode>) -> Self {
184        self.inner = self.inner.set_mode(input);
185        self
186    }
187    /// <p>The execution mode of the automation. Valid modes include the following: Auto and Interactive. The default mode is Auto.</p>
188    pub fn get_mode(&self) -> &::std::option::Option<crate::types::ExecutionMode> {
189        self.inner.get_mode()
190    }
191    /// <p>The name of the parameter used as the target resource for the rate-controlled execution. Required if you specify targets.</p>
192    pub fn target_parameter_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
193        self.inner = self.inner.target_parameter_name(input.into());
194        self
195    }
196    /// <p>The name of the parameter used as the target resource for the rate-controlled execution. Required if you specify targets.</p>
197    pub fn set_target_parameter_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
198        self.inner = self.inner.set_target_parameter_name(input);
199        self
200    }
201    /// <p>The name of the parameter used as the target resource for the rate-controlled execution. Required if you specify targets.</p>
202    pub fn get_target_parameter_name(&self) -> &::std::option::Option<::std::string::String> {
203        self.inner.get_target_parameter_name()
204    }
205    ///
206    /// Appends an item to `Targets`.
207    ///
208    /// To override the contents of this collection use [`set_targets`](Self::set_targets).
209    ///
210    /// <p>A key-value mapping to target resources. Required if you specify TargetParameterName.</p>
211    /// <p>If both this parameter and the <code>TargetLocation:Targets</code> parameter are supplied, <code>TargetLocation:Targets</code> takes precedence.</p>
212    pub fn targets(mut self, input: crate::types::Target) -> Self {
213        self.inner = self.inner.targets(input);
214        self
215    }
216    /// <p>A key-value mapping to target resources. Required if you specify TargetParameterName.</p>
217    /// <p>If both this parameter and the <code>TargetLocation:Targets</code> parameter are supplied, <code>TargetLocation:Targets</code> takes precedence.</p>
218    pub fn set_targets(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Target>>) -> Self {
219        self.inner = self.inner.set_targets(input);
220        self
221    }
222    /// <p>A key-value mapping to target resources. Required if you specify TargetParameterName.</p>
223    /// <p>If both this parameter and the <code>TargetLocation:Targets</code> parameter are supplied, <code>TargetLocation:Targets</code> takes precedence.</p>
224    pub fn get_targets(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Target>> {
225        self.inner.get_targets()
226    }
227    ///
228    /// Appends an item to `TargetMaps`.
229    ///
230    /// To override the contents of this collection use [`set_target_maps`](Self::set_target_maps).
231    ///
232    /// <p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified together.</p>
233    pub fn target_maps(mut self, input: ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>) -> Self {
234        self.inner = self.inner.target_maps(input);
235        self
236    }
237    /// <p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified together.</p>
238    pub fn set_target_maps(
239        mut self,
240        input: ::std::option::Option<::std::vec::Vec<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>>>,
241    ) -> Self {
242        self.inner = self.inner.set_target_maps(input);
243        self
244    }
245    /// <p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified together.</p>
246    pub fn get_target_maps(
247        &self,
248    ) -> &::std::option::Option<::std::vec::Vec<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>>> {
249        self.inner.get_target_maps()
250    }
251    /// <p>The maximum number of targets allowed to run this task in parallel. You can specify a number, such as 10, or a percentage, such as 10%. The default value is <code>10</code>.</p>
252    /// <p>If both this parameter and the <code>TargetLocation:TargetsMaxConcurrency</code> are supplied, <code>TargetLocation:TargetsMaxConcurrency</code> takes precedence.</p>
253    pub fn max_concurrency(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
254        self.inner = self.inner.max_concurrency(input.into());
255        self
256    }
257    /// <p>The maximum number of targets allowed to run this task in parallel. You can specify a number, such as 10, or a percentage, such as 10%. The default value is <code>10</code>.</p>
258    /// <p>If both this parameter and the <code>TargetLocation:TargetsMaxConcurrency</code> are supplied, <code>TargetLocation:TargetsMaxConcurrency</code> takes precedence.</p>
259    pub fn set_max_concurrency(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
260        self.inner = self.inner.set_max_concurrency(input);
261        self
262    }
263    /// <p>The maximum number of targets allowed to run this task in parallel. You can specify a number, such as 10, or a percentage, such as 10%. The default value is <code>10</code>.</p>
264    /// <p>If both this parameter and the <code>TargetLocation:TargetsMaxConcurrency</code> are supplied, <code>TargetLocation:TargetsMaxConcurrency</code> takes precedence.</p>
265    pub fn get_max_concurrency(&self) -> &::std::option::Option<::std::string::String> {
266        self.inner.get_max_concurrency()
267    }
268    /// <p>The number of errors that are allowed before the system stops running the automation on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops running the automation when the fourth error is received. If you specify 0, then the system stops running the automation on additional targets after the first error result is returned. If you run an automation on 50 resources and set max-errors to 10%, then the system stops running the automation on additional targets when the sixth error is received.</p>
269    /// <p>Executions that are already running an automation when max-errors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set max-concurrency to 1 so the executions proceed one at a time.</p>
270    /// <p>If this parameter and the <code>TargetLocation:TargetsMaxErrors</code> parameter are both supplied, <code>TargetLocation:TargetsMaxErrors</code> takes precedence.</p>
271    pub fn max_errors(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
272        self.inner = self.inner.max_errors(input.into());
273        self
274    }
275    /// <p>The number of errors that are allowed before the system stops running the automation on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops running the automation when the fourth error is received. If you specify 0, then the system stops running the automation on additional targets after the first error result is returned. If you run an automation on 50 resources and set max-errors to 10%, then the system stops running the automation on additional targets when the sixth error is received.</p>
276    /// <p>Executions that are already running an automation when max-errors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set max-concurrency to 1 so the executions proceed one at a time.</p>
277    /// <p>If this parameter and the <code>TargetLocation:TargetsMaxErrors</code> parameter are both supplied, <code>TargetLocation:TargetsMaxErrors</code> takes precedence.</p>
278    pub fn set_max_errors(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
279        self.inner = self.inner.set_max_errors(input);
280        self
281    }
282    /// <p>The number of errors that are allowed before the system stops running the automation on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops running the automation when the fourth error is received. If you specify 0, then the system stops running the automation on additional targets after the first error result is returned. If you run an automation on 50 resources and set max-errors to 10%, then the system stops running the automation on additional targets when the sixth error is received.</p>
283    /// <p>Executions that are already running an automation when max-errors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set max-concurrency to 1 so the executions proceed one at a time.</p>
284    /// <p>If this parameter and the <code>TargetLocation:TargetsMaxErrors</code> parameter are both supplied, <code>TargetLocation:TargetsMaxErrors</code> takes precedence.</p>
285    pub fn get_max_errors(&self) -> &::std::option::Option<::std::string::String> {
286        self.inner.get_max_errors()
287    }
288    ///
289    /// Appends an item to `TargetLocations`.
290    ///
291    /// To override the contents of this collection use [`set_target_locations`](Self::set_target_locations).
292    ///
293    /// <p>A location is a combination of Amazon Web Services Regions and/or Amazon Web Services accounts where you want to run the automation. Use this operation to start an automation in multiple Amazon Web Services Regions and multiple Amazon Web Services accounts. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html">Running automations in multiple Amazon Web Services Regions and accounts</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
294    pub fn target_locations(mut self, input: crate::types::TargetLocation) -> Self {
295        self.inner = self.inner.target_locations(input);
296        self
297    }
298    /// <p>A location is a combination of Amazon Web Services Regions and/or Amazon Web Services accounts where you want to run the automation. Use this operation to start an automation in multiple Amazon Web Services Regions and multiple Amazon Web Services accounts. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html">Running automations in multiple Amazon Web Services Regions and accounts</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
299    pub fn set_target_locations(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::TargetLocation>>) -> Self {
300        self.inner = self.inner.set_target_locations(input);
301        self
302    }
303    /// <p>A location is a combination of Amazon Web Services Regions and/or Amazon Web Services accounts where you want to run the automation. Use this operation to start an automation in multiple Amazon Web Services Regions and multiple Amazon Web Services accounts. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html">Running automations in multiple Amazon Web Services Regions and accounts</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
304    pub fn get_target_locations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::TargetLocation>> {
305        self.inner.get_target_locations()
306    }
307    ///
308    /// Appends an item to `Tags`.
309    ///
310    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
311    ///
312    /// <p>Optional metadata that you assign to a resource. You can specify a maximum of five tags for an automation. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an automation to identify an environment or operating system. In this case, you could specify the following key-value pairs:</p>
313    /// <ul>
314    /// <li>
315    /// <p><code>Key=environment,Value=test</code></p></li>
316    /// <li>
317    /// <p><code>Key=OS,Value=Windows</code></p></li>
318    /// </ul><note>
319    /// <p>The <code>Array Members</code> maximum value is reported as 1000. This number includes capacity reserved for internal operations. When calling the <code>StartAutomationExecution</code> action, you can specify a maximum of 5 tags. You can, however, use the <code>AddTagsToResource</code> action to add up to a total of 50 tags to an existing automation configuration.</p>
320    /// </note>
321    pub fn tags(mut self, input: crate::types::Tag) -> Self {
322        self.inner = self.inner.tags(input);
323        self
324    }
325    /// <p>Optional metadata that you assign to a resource. You can specify a maximum of five tags for an automation. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an automation to identify an environment or operating system. In this case, you could specify the following key-value pairs:</p>
326    /// <ul>
327    /// <li>
328    /// <p><code>Key=environment,Value=test</code></p></li>
329    /// <li>
330    /// <p><code>Key=OS,Value=Windows</code></p></li>
331    /// </ul><note>
332    /// <p>The <code>Array Members</code> maximum value is reported as 1000. This number includes capacity reserved for internal operations. When calling the <code>StartAutomationExecution</code> action, you can specify a maximum of 5 tags. You can, however, use the <code>AddTagsToResource</code> action to add up to a total of 50 tags to an existing automation configuration.</p>
333    /// </note>
334    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
335        self.inner = self.inner.set_tags(input);
336        self
337    }
338    /// <p>Optional metadata that you assign to a resource. You can specify a maximum of five tags for an automation. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an automation to identify an environment or operating system. In this case, you could specify the following key-value pairs:</p>
339    /// <ul>
340    /// <li>
341    /// <p><code>Key=environment,Value=test</code></p></li>
342    /// <li>
343    /// <p><code>Key=OS,Value=Windows</code></p></li>
344    /// </ul><note>
345    /// <p>The <code>Array Members</code> maximum value is reported as 1000. This number includes capacity reserved for internal operations. When calling the <code>StartAutomationExecution</code> action, you can specify a maximum of 5 tags. You can, however, use the <code>AddTagsToResource</code> action to add up to a total of 50 tags to an existing automation configuration.</p>
346    /// </note>
347    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
348        self.inner.get_tags()
349    }
350    /// <p>The CloudWatch alarm you want to apply to your automation.</p>
351    pub fn alarm_configuration(mut self, input: crate::types::AlarmConfiguration) -> Self {
352        self.inner = self.inner.alarm_configuration(input);
353        self
354    }
355    /// <p>The CloudWatch alarm you want to apply to your automation.</p>
356    pub fn set_alarm_configuration(mut self, input: ::std::option::Option<crate::types::AlarmConfiguration>) -> Self {
357        self.inner = self.inner.set_alarm_configuration(input);
358        self
359    }
360    /// <p>The CloudWatch alarm you want to apply to your automation.</p>
361    pub fn get_alarm_configuration(&self) -> &::std::option::Option<crate::types::AlarmConfiguration> {
362        self.inner.get_alarm_configuration()
363    }
364    /// <p>Specify a publicly accessible URL for a file that contains the <code>TargetLocations</code> body. Currently, only files in presigned Amazon S3 buckets are supported.</p>
365    pub fn target_locations_url(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
366        self.inner = self.inner.target_locations_url(input.into());
367        self
368    }
369    /// <p>Specify a publicly accessible URL for a file that contains the <code>TargetLocations</code> body. Currently, only files in presigned Amazon S3 buckets are supported.</p>
370    pub fn set_target_locations_url(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
371        self.inner = self.inner.set_target_locations_url(input);
372        self
373    }
374    /// <p>Specify a publicly accessible URL for a file that contains the <code>TargetLocations</code> body. Currently, only files in presigned Amazon S3 buckets are supported.</p>
375    pub fn get_target_locations_url(&self) -> &::std::option::Option<::std::string::String> {
376        self.inner.get_target_locations_url()
377    }
378}