aws_sdk_wellarchitected/operation/create_workload/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_workload::_create_workload_output::CreateWorkloadOutputBuilder;
3
4pub use crate::operation::create_workload::_create_workload_input::CreateWorkloadInputBuilder;
5
6impl crate::operation::create_workload::builders::CreateWorkloadInputBuilder {
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_workload::CreateWorkloadOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_workload::CreateWorkloadError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_workload();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateWorkload`.
24///
25/// <p>Create a new workload.</p>
26/// <p>The owner of a workload can share the workload with other Amazon Web Services accounts, users, an organization, and organizational units (OUs) in the same Amazon Web Services Region. Only the owner of a workload can delete it.</p>
27/// <p>For more information, see <a href="https://docs.aws.amazon.com/wellarchitected/latest/userguide/define-workload.html">Defining a Workload</a> in the <i>Well-Architected Tool User Guide</i>.</p><important>
28/// <p>Either <code>AwsRegions</code>, <code>NonAwsRegions</code>, or both must be specified when creating a workload.</p>
29/// <p>You also must specify <code>ReviewOwner</code>, even though the parameter is listed as not being required in the following section.</p>
30/// </important>
31/// <p>When creating a workload using a review template, you must have the following IAM permissions:</p>
32/// <ul>
33/// <li>
34/// <p><code>wellarchitected:GetReviewTemplate</code></p></li>
35/// <li>
36/// <p><code>wellarchitected:GetReviewTemplateAnswer</code></p></li>
37/// <li>
38/// <p><code>wellarchitected:ListReviewTemplateAnswers</code></p></li>
39/// <li>
40/// <p><code>wellarchitected:GetReviewTemplateLensReview</code></p></li>
41/// </ul>
42#[derive(::std::clone::Clone, ::std::fmt::Debug)]
43pub struct CreateWorkloadFluentBuilder {
44    handle: ::std::sync::Arc<crate::client::Handle>,
45    inner: crate::operation::create_workload::builders::CreateWorkloadInputBuilder,
46    config_override: ::std::option::Option<crate::config::Builder>,
47}
48impl
49    crate::client::customize::internal::CustomizableSend<
50        crate::operation::create_workload::CreateWorkloadOutput,
51        crate::operation::create_workload::CreateWorkloadError,
52    > for CreateWorkloadFluentBuilder
53{
54    fn send(
55        self,
56        config_override: crate::config::Builder,
57    ) -> crate::client::customize::internal::BoxFuture<
58        crate::client::customize::internal::SendResult<
59            crate::operation::create_workload::CreateWorkloadOutput,
60            crate::operation::create_workload::CreateWorkloadError,
61        >,
62    > {
63        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
64    }
65}
66impl CreateWorkloadFluentBuilder {
67    /// Creates a new `CreateWorkloadFluentBuilder`.
68    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
69        Self {
70            handle,
71            inner: ::std::default::Default::default(),
72            config_override: ::std::option::Option::None,
73        }
74    }
75    /// Access the CreateWorkload as a reference.
76    pub fn as_input(&self) -> &crate::operation::create_workload::builders::CreateWorkloadInputBuilder {
77        &self.inner
78    }
79    /// Sends the request and returns the response.
80    ///
81    /// If an error occurs, an `SdkError` will be returned with additional details that
82    /// can be matched against.
83    ///
84    /// By default, any retryable failures will be retried twice. Retry behavior
85    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
86    /// set when configuring the client.
87    pub async fn send(
88        self,
89    ) -> ::std::result::Result<
90        crate::operation::create_workload::CreateWorkloadOutput,
91        ::aws_smithy_runtime_api::client::result::SdkError<
92            crate::operation::create_workload::CreateWorkloadError,
93            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
94        >,
95    > {
96        let input = self
97            .inner
98            .build()
99            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
100        let runtime_plugins = crate::operation::create_workload::CreateWorkload::operation_runtime_plugins(
101            self.handle.runtime_plugins.clone(),
102            &self.handle.conf,
103            self.config_override,
104        );
105        crate::operation::create_workload::CreateWorkload::orchestrate(&runtime_plugins, input).await
106    }
107
108    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
109    pub fn customize(
110        self,
111    ) -> crate::client::customize::CustomizableOperation<
112        crate::operation::create_workload::CreateWorkloadOutput,
113        crate::operation::create_workload::CreateWorkloadError,
114        Self,
115    > {
116        crate::client::customize::CustomizableOperation::new(self)
117    }
118    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
119        self.set_config_override(::std::option::Option::Some(config_override.into()));
120        self
121    }
122
123    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
124        self.config_override = config_override;
125        self
126    }
127    /// <p>The name of the workload.</p>
128    /// <p>The name must be unique within an account within an Amazon Web Services Region. Spaces and capitalization are ignored when checking for uniqueness.</p>
129    pub fn workload_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
130        self.inner = self.inner.workload_name(input.into());
131        self
132    }
133    /// <p>The name of the workload.</p>
134    /// <p>The name must be unique within an account within an Amazon Web Services Region. Spaces and capitalization are ignored when checking for uniqueness.</p>
135    pub fn set_workload_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
136        self.inner = self.inner.set_workload_name(input);
137        self
138    }
139    /// <p>The name of the workload.</p>
140    /// <p>The name must be unique within an account within an Amazon Web Services Region. Spaces and capitalization are ignored when checking for uniqueness.</p>
141    pub fn get_workload_name(&self) -> &::std::option::Option<::std::string::String> {
142        self.inner.get_workload_name()
143    }
144    /// <p>The description for the workload.</p>
145    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
146        self.inner = self.inner.description(input.into());
147        self
148    }
149    /// <p>The description for the workload.</p>
150    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
151        self.inner = self.inner.set_description(input);
152        self
153    }
154    /// <p>The description for the workload.</p>
155    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
156        self.inner.get_description()
157    }
158    /// <p>The environment for the workload.</p>
159    pub fn environment(mut self, input: crate::types::WorkloadEnvironment) -> Self {
160        self.inner = self.inner.environment(input);
161        self
162    }
163    /// <p>The environment for the workload.</p>
164    pub fn set_environment(mut self, input: ::std::option::Option<crate::types::WorkloadEnvironment>) -> Self {
165        self.inner = self.inner.set_environment(input);
166        self
167    }
168    /// <p>The environment for the workload.</p>
169    pub fn get_environment(&self) -> &::std::option::Option<crate::types::WorkloadEnvironment> {
170        self.inner.get_environment()
171    }
172    ///
173    /// Appends an item to `AccountIds`.
174    ///
175    /// To override the contents of this collection use [`set_account_ids`](Self::set_account_ids).
176    ///
177    /// <p>The list of Amazon Web Services account IDs associated with the workload.</p>
178    pub fn account_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
179        self.inner = self.inner.account_ids(input.into());
180        self
181    }
182    /// <p>The list of Amazon Web Services account IDs associated with the workload.</p>
183    pub fn set_account_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
184        self.inner = self.inner.set_account_ids(input);
185        self
186    }
187    /// <p>The list of Amazon Web Services account IDs associated with the workload.</p>
188    pub fn get_account_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
189        self.inner.get_account_ids()
190    }
191    ///
192    /// Appends an item to `AwsRegions`.
193    ///
194    /// To override the contents of this collection use [`set_aws_regions`](Self::set_aws_regions).
195    ///
196    /// <p>The list of Amazon Web Services Regions associated with the workload, for example, <code>us-east-2</code>, or <code>ca-central-1</code>.</p>
197    pub fn aws_regions(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
198        self.inner = self.inner.aws_regions(input.into());
199        self
200    }
201    /// <p>The list of Amazon Web Services Regions associated with the workload, for example, <code>us-east-2</code>, or <code>ca-central-1</code>.</p>
202    pub fn set_aws_regions(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
203        self.inner = self.inner.set_aws_regions(input);
204        self
205    }
206    /// <p>The list of Amazon Web Services Regions associated with the workload, for example, <code>us-east-2</code>, or <code>ca-central-1</code>.</p>
207    pub fn get_aws_regions(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
208        self.inner.get_aws_regions()
209    }
210    ///
211    /// Appends an item to `NonAwsRegions`.
212    ///
213    /// To override the contents of this collection use [`set_non_aws_regions`](Self::set_non_aws_regions).
214    ///
215    /// <p>The list of non-Amazon Web Services Regions associated with the workload.</p>
216    pub fn non_aws_regions(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
217        self.inner = self.inner.non_aws_regions(input.into());
218        self
219    }
220    /// <p>The list of non-Amazon Web Services Regions associated with the workload.</p>
221    pub fn set_non_aws_regions(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
222        self.inner = self.inner.set_non_aws_regions(input);
223        self
224    }
225    /// <p>The list of non-Amazon Web Services Regions associated with the workload.</p>
226    pub fn get_non_aws_regions(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
227        self.inner.get_non_aws_regions()
228    }
229    ///
230    /// Appends an item to `PillarPriorities`.
231    ///
232    /// To override the contents of this collection use [`set_pillar_priorities`](Self::set_pillar_priorities).
233    ///
234    /// <p>The priorities of the pillars, which are used to order items in the improvement plan. Each pillar is represented by its <code>PillarReviewSummary$PillarId</code>.</p>
235    pub fn pillar_priorities(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
236        self.inner = self.inner.pillar_priorities(input.into());
237        self
238    }
239    /// <p>The priorities of the pillars, which are used to order items in the improvement plan. Each pillar is represented by its <code>PillarReviewSummary$PillarId</code>.</p>
240    pub fn set_pillar_priorities(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
241        self.inner = self.inner.set_pillar_priorities(input);
242        self
243    }
244    /// <p>The priorities of the pillars, which are used to order items in the improvement plan. Each pillar is represented by its <code>PillarReviewSummary$PillarId</code>.</p>
245    pub fn get_pillar_priorities(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
246        self.inner.get_pillar_priorities()
247    }
248    /// <p>The URL of the architectural design for the workload.</p>
249    pub fn architectural_design(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
250        self.inner = self.inner.architectural_design(input.into());
251        self
252    }
253    /// <p>The URL of the architectural design for the workload.</p>
254    pub fn set_architectural_design(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
255        self.inner = self.inner.set_architectural_design(input);
256        self
257    }
258    /// <p>The URL of the architectural design for the workload.</p>
259    pub fn get_architectural_design(&self) -> &::std::option::Option<::std::string::String> {
260        self.inner.get_architectural_design()
261    }
262    /// <p>The review owner of the workload. The name, email address, or identifier for the primary group or individual that owns the workload review process.</p>
263    pub fn review_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
264        self.inner = self.inner.review_owner(input.into());
265        self
266    }
267    /// <p>The review owner of the workload. The name, email address, or identifier for the primary group or individual that owns the workload review process.</p>
268    pub fn set_review_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
269        self.inner = self.inner.set_review_owner(input);
270        self
271    }
272    /// <p>The review owner of the workload. The name, email address, or identifier for the primary group or individual that owns the workload review process.</p>
273    pub fn get_review_owner(&self) -> &::std::option::Option<::std::string::String> {
274        self.inner.get_review_owner()
275    }
276    /// <p>The industry type for the workload.</p>
277    /// <p>If specified, must be one of the following:</p>
278    /// <ul>
279    /// <li>
280    /// <p><code>Agriculture</code></p></li>
281    /// <li>
282    /// <p><code>Automobile</code></p></li>
283    /// <li>
284    /// <p><code>Defense</code></p></li>
285    /// <li>
286    /// <p><code>Design and Engineering</code></p></li>
287    /// <li>
288    /// <p><code>Digital Advertising</code></p></li>
289    /// <li>
290    /// <p><code>Education</code></p></li>
291    /// <li>
292    /// <p><code>Environmental Protection</code></p></li>
293    /// <li>
294    /// <p><code>Financial Services</code></p></li>
295    /// <li>
296    /// <p><code>Gaming</code></p></li>
297    /// <li>
298    /// <p><code>General Public Services</code></p></li>
299    /// <li>
300    /// <p><code>Healthcare</code></p></li>
301    /// <li>
302    /// <p><code>Hospitality</code></p></li>
303    /// <li>
304    /// <p><code>InfoTech</code></p></li>
305    /// <li>
306    /// <p><code>Justice and Public Safety</code></p></li>
307    /// <li>
308    /// <p><code>Life Sciences</code></p></li>
309    /// <li>
310    /// <p><code>Manufacturing</code></p></li>
311    /// <li>
312    /// <p><code>Media &amp; Entertainment</code></p></li>
313    /// <li>
314    /// <p><code>Mining &amp; Resources</code></p></li>
315    /// <li>
316    /// <p><code>Oil &amp; Gas</code></p></li>
317    /// <li>
318    /// <p><code>Power &amp; Utilities</code></p></li>
319    /// <li>
320    /// <p><code>Professional Services</code></p></li>
321    /// <li>
322    /// <p><code>Real Estate &amp; Construction</code></p></li>
323    /// <li>
324    /// <p><code>Retail &amp; Wholesale</code></p></li>
325    /// <li>
326    /// <p><code>Social Protection</code></p></li>
327    /// <li>
328    /// <p><code>Telecommunications</code></p></li>
329    /// <li>
330    /// <p><code>Travel, Transportation &amp; Logistics</code></p></li>
331    /// <li>
332    /// <p><code>Other</code></p></li>
333    /// </ul>
334    pub fn industry_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
335        self.inner = self.inner.industry_type(input.into());
336        self
337    }
338    /// <p>The industry type for the workload.</p>
339    /// <p>If specified, must be one of the following:</p>
340    /// <ul>
341    /// <li>
342    /// <p><code>Agriculture</code></p></li>
343    /// <li>
344    /// <p><code>Automobile</code></p></li>
345    /// <li>
346    /// <p><code>Defense</code></p></li>
347    /// <li>
348    /// <p><code>Design and Engineering</code></p></li>
349    /// <li>
350    /// <p><code>Digital Advertising</code></p></li>
351    /// <li>
352    /// <p><code>Education</code></p></li>
353    /// <li>
354    /// <p><code>Environmental Protection</code></p></li>
355    /// <li>
356    /// <p><code>Financial Services</code></p></li>
357    /// <li>
358    /// <p><code>Gaming</code></p></li>
359    /// <li>
360    /// <p><code>General Public Services</code></p></li>
361    /// <li>
362    /// <p><code>Healthcare</code></p></li>
363    /// <li>
364    /// <p><code>Hospitality</code></p></li>
365    /// <li>
366    /// <p><code>InfoTech</code></p></li>
367    /// <li>
368    /// <p><code>Justice and Public Safety</code></p></li>
369    /// <li>
370    /// <p><code>Life Sciences</code></p></li>
371    /// <li>
372    /// <p><code>Manufacturing</code></p></li>
373    /// <li>
374    /// <p><code>Media &amp; Entertainment</code></p></li>
375    /// <li>
376    /// <p><code>Mining &amp; Resources</code></p></li>
377    /// <li>
378    /// <p><code>Oil &amp; Gas</code></p></li>
379    /// <li>
380    /// <p><code>Power &amp; Utilities</code></p></li>
381    /// <li>
382    /// <p><code>Professional Services</code></p></li>
383    /// <li>
384    /// <p><code>Real Estate &amp; Construction</code></p></li>
385    /// <li>
386    /// <p><code>Retail &amp; Wholesale</code></p></li>
387    /// <li>
388    /// <p><code>Social Protection</code></p></li>
389    /// <li>
390    /// <p><code>Telecommunications</code></p></li>
391    /// <li>
392    /// <p><code>Travel, Transportation &amp; Logistics</code></p></li>
393    /// <li>
394    /// <p><code>Other</code></p></li>
395    /// </ul>
396    pub fn set_industry_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
397        self.inner = self.inner.set_industry_type(input);
398        self
399    }
400    /// <p>The industry type for the workload.</p>
401    /// <p>If specified, must be one of the following:</p>
402    /// <ul>
403    /// <li>
404    /// <p><code>Agriculture</code></p></li>
405    /// <li>
406    /// <p><code>Automobile</code></p></li>
407    /// <li>
408    /// <p><code>Defense</code></p></li>
409    /// <li>
410    /// <p><code>Design and Engineering</code></p></li>
411    /// <li>
412    /// <p><code>Digital Advertising</code></p></li>
413    /// <li>
414    /// <p><code>Education</code></p></li>
415    /// <li>
416    /// <p><code>Environmental Protection</code></p></li>
417    /// <li>
418    /// <p><code>Financial Services</code></p></li>
419    /// <li>
420    /// <p><code>Gaming</code></p></li>
421    /// <li>
422    /// <p><code>General Public Services</code></p></li>
423    /// <li>
424    /// <p><code>Healthcare</code></p></li>
425    /// <li>
426    /// <p><code>Hospitality</code></p></li>
427    /// <li>
428    /// <p><code>InfoTech</code></p></li>
429    /// <li>
430    /// <p><code>Justice and Public Safety</code></p></li>
431    /// <li>
432    /// <p><code>Life Sciences</code></p></li>
433    /// <li>
434    /// <p><code>Manufacturing</code></p></li>
435    /// <li>
436    /// <p><code>Media &amp; Entertainment</code></p></li>
437    /// <li>
438    /// <p><code>Mining &amp; Resources</code></p></li>
439    /// <li>
440    /// <p><code>Oil &amp; Gas</code></p></li>
441    /// <li>
442    /// <p><code>Power &amp; Utilities</code></p></li>
443    /// <li>
444    /// <p><code>Professional Services</code></p></li>
445    /// <li>
446    /// <p><code>Real Estate &amp; Construction</code></p></li>
447    /// <li>
448    /// <p><code>Retail &amp; Wholesale</code></p></li>
449    /// <li>
450    /// <p><code>Social Protection</code></p></li>
451    /// <li>
452    /// <p><code>Telecommunications</code></p></li>
453    /// <li>
454    /// <p><code>Travel, Transportation &amp; Logistics</code></p></li>
455    /// <li>
456    /// <p><code>Other</code></p></li>
457    /// </ul>
458    pub fn get_industry_type(&self) -> &::std::option::Option<::std::string::String> {
459        self.inner.get_industry_type()
460    }
461    /// <p>The industry for the workload.</p>
462    pub fn industry(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
463        self.inner = self.inner.industry(input.into());
464        self
465    }
466    /// <p>The industry for the workload.</p>
467    pub fn set_industry(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
468        self.inner = self.inner.set_industry(input);
469        self
470    }
471    /// <p>The industry for the workload.</p>
472    pub fn get_industry(&self) -> &::std::option::Option<::std::string::String> {
473        self.inner.get_industry()
474    }
475    ///
476    /// Appends an item to `Lenses`.
477    ///
478    /// To override the contents of this collection use [`set_lenses`](Self::set_lenses).
479    ///
480    /// <p>The list of lenses associated with the workload. Each lens is identified by its <code>LensSummary$LensAlias</code>.</p>
481    /// <p>If a review template that specifies lenses is applied to the workload, those lenses are applied to the workload in addition to these lenses.</p>
482    pub fn lenses(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
483        self.inner = self.inner.lenses(input.into());
484        self
485    }
486    /// <p>The list of lenses associated with the workload. Each lens is identified by its <code>LensSummary$LensAlias</code>.</p>
487    /// <p>If a review template that specifies lenses is applied to the workload, those lenses are applied to the workload in addition to these lenses.</p>
488    pub fn set_lenses(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
489        self.inner = self.inner.set_lenses(input);
490        self
491    }
492    /// <p>The list of lenses associated with the workload. Each lens is identified by its <code>LensSummary$LensAlias</code>.</p>
493    /// <p>If a review template that specifies lenses is applied to the workload, those lenses are applied to the workload in addition to these lenses.</p>
494    pub fn get_lenses(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
495        self.inner.get_lenses()
496    }
497    /// <p>The notes associated with the workload.</p>
498    /// <p>For a review template, these are the notes that will be associated with the workload when the template is applied.</p>
499    pub fn notes(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
500        self.inner = self.inner.notes(input.into());
501        self
502    }
503    /// <p>The notes associated with the workload.</p>
504    /// <p>For a review template, these are the notes that will be associated with the workload when the template is applied.</p>
505    pub fn set_notes(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
506        self.inner = self.inner.set_notes(input);
507        self
508    }
509    /// <p>The notes associated with the workload.</p>
510    /// <p>For a review template, these are the notes that will be associated with the workload when the template is applied.</p>
511    pub fn get_notes(&self) -> &::std::option::Option<::std::string::String> {
512        self.inner.get_notes()
513    }
514    /// <p>A unique case-sensitive string used to ensure that this request is idempotent (executes only once).</p>
515    /// <p>You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.</p><important>
516    /// <p>This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.</p>
517    /// </important>
518    pub fn client_request_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
519        self.inner = self.inner.client_request_token(input.into());
520        self
521    }
522    /// <p>A unique case-sensitive string used to ensure that this request is idempotent (executes only once).</p>
523    /// <p>You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.</p><important>
524    /// <p>This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.</p>
525    /// </important>
526    pub fn set_client_request_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
527        self.inner = self.inner.set_client_request_token(input);
528        self
529    }
530    /// <p>A unique case-sensitive string used to ensure that this request is idempotent (executes only once).</p>
531    /// <p>You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.</p><important>
532    /// <p>This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.</p>
533    /// </important>
534    pub fn get_client_request_token(&self) -> &::std::option::Option<::std::string::String> {
535        self.inner.get_client_request_token()
536    }
537    ///
538    /// Adds a key-value pair to `Tags`.
539    ///
540    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
541    ///
542    /// <p>The tags to be associated with the workload.</p>
543    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
544        self.inner = self.inner.tags(k.into(), v.into());
545        self
546    }
547    /// <p>The tags to be associated with the workload.</p>
548    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
549        self.inner = self.inner.set_tags(input);
550        self
551    }
552    /// <p>The tags to be associated with the workload.</p>
553    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
554        self.inner.get_tags()
555    }
556    /// <p>Well-Architected discovery configuration settings associated to the workload.</p>
557    pub fn discovery_config(mut self, input: crate::types::WorkloadDiscoveryConfig) -> Self {
558        self.inner = self.inner.discovery_config(input);
559        self
560    }
561    /// <p>Well-Architected discovery configuration settings associated to the workload.</p>
562    pub fn set_discovery_config(mut self, input: ::std::option::Option<crate::types::WorkloadDiscoveryConfig>) -> Self {
563        self.inner = self.inner.set_discovery_config(input);
564        self
565    }
566    /// <p>Well-Architected discovery configuration settings associated to the workload.</p>
567    pub fn get_discovery_config(&self) -> &::std::option::Option<crate::types::WorkloadDiscoveryConfig> {
568        self.inner.get_discovery_config()
569    }
570    ///
571    /// Appends an item to `Applications`.
572    ///
573    /// To override the contents of this collection use [`set_applications`](Self::set_applications).
574    ///
575    /// <p>List of AppRegistry application ARNs associated to the workload.</p>
576    pub fn applications(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
577        self.inner = self.inner.applications(input.into());
578        self
579    }
580    /// <p>List of AppRegistry application ARNs associated to the workload.</p>
581    pub fn set_applications(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
582        self.inner = self.inner.set_applications(input);
583        self
584    }
585    /// <p>List of AppRegistry application ARNs associated to the workload.</p>
586    pub fn get_applications(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
587        self.inner.get_applications()
588    }
589    ///
590    /// Appends an item to `ProfileArns`.
591    ///
592    /// To override the contents of this collection use [`set_profile_arns`](Self::set_profile_arns).
593    ///
594    /// <p>The list of profile ARNs associated with the workload.</p>
595    pub fn profile_arns(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
596        self.inner = self.inner.profile_arns(input.into());
597        self
598    }
599    /// <p>The list of profile ARNs associated with the workload.</p>
600    pub fn set_profile_arns(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
601        self.inner = self.inner.set_profile_arns(input);
602        self
603    }
604    /// <p>The list of profile ARNs associated with the workload.</p>
605    pub fn get_profile_arns(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
606        self.inner.get_profile_arns()
607    }
608    ///
609    /// Appends an item to `ReviewTemplateArns`.
610    ///
611    /// To override the contents of this collection use [`set_review_template_arns`](Self::set_review_template_arns).
612    ///
613    /// <p>The list of review template ARNs to associate with the workload.</p>
614    pub fn review_template_arns(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
615        self.inner = self.inner.review_template_arns(input.into());
616        self
617    }
618    /// <p>The list of review template ARNs to associate with the workload.</p>
619    pub fn set_review_template_arns(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
620        self.inner = self.inner.set_review_template_arns(input);
621        self
622    }
623    /// <p>The list of review template ARNs to associate with the workload.</p>
624    pub fn get_review_template_arns(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
625        self.inner.get_review_template_arns()
626    }
627    /// <p>Jira configuration settings when creating a workload.</p>
628    pub fn jira_configuration(mut self, input: crate::types::WorkloadJiraConfigurationInput) -> Self {
629        self.inner = self.inner.jira_configuration(input);
630        self
631    }
632    /// <p>Jira configuration settings when creating a workload.</p>
633    pub fn set_jira_configuration(mut self, input: ::std::option::Option<crate::types::WorkloadJiraConfigurationInput>) -> Self {
634        self.inner = self.inner.set_jira_configuration(input);
635        self
636    }
637    /// <p>Jira configuration settings when creating a workload.</p>
638    pub fn get_jira_configuration(&self) -> &::std::option::Option<crate::types::WorkloadJiraConfigurationInput> {
639        self.inner.get_jira_configuration()
640    }
641}