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 & Entertainment</code></p></li>
313 /// <li>
314 /// <p><code>Mining & Resources</code></p></li>
315 /// <li>
316 /// <p><code>Oil & Gas</code></p></li>
317 /// <li>
318 /// <p><code>Power & Utilities</code></p></li>
319 /// <li>
320 /// <p><code>Professional Services</code></p></li>
321 /// <li>
322 /// <p><code>Real Estate & Construction</code></p></li>
323 /// <li>
324 /// <p><code>Retail & 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 & 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 & Entertainment</code></p></li>
375 /// <li>
376 /// <p><code>Mining & Resources</code></p></li>
377 /// <li>
378 /// <p><code>Oil & Gas</code></p></li>
379 /// <li>
380 /// <p><code>Power & Utilities</code></p></li>
381 /// <li>
382 /// <p><code>Professional Services</code></p></li>
383 /// <li>
384 /// <p><code>Real Estate & Construction</code></p></li>
385 /// <li>
386 /// <p><code>Retail & 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 & 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 & Entertainment</code></p></li>
437 /// <li>
438 /// <p><code>Mining & Resources</code></p></li>
439 /// <li>
440 /// <p><code>Oil & Gas</code></p></li>
441 /// <li>
442 /// <p><code>Power & Utilities</code></p></li>
443 /// <li>
444 /// <p><code>Professional Services</code></p></li>
445 /// <li>
446 /// <p><code>Real Estate & Construction</code></p></li>
447 /// <li>
448 /// <p><code>Retail & 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 & 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}