1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package wellarchitected
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const opAssociateLenses = "AssociateLenses"
17
18// AssociateLensesRequest generates a "aws/request.Request" representing the
19// client's request for the AssociateLenses operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See AssociateLenses for more information on using the AssociateLenses
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the AssociateLensesRequest method.
34//    req, resp := client.AssociateLensesRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/AssociateLenses
42func (c *WellArchitected) AssociateLensesRequest(input *AssociateLensesInput) (req *request.Request, output *AssociateLensesOutput) {
43	op := &request.Operation{
44		Name:       opAssociateLenses,
45		HTTPMethod: "PATCH",
46		HTTPPath:   "/workloads/{WorkloadId}/associateLenses",
47	}
48
49	if input == nil {
50		input = &AssociateLensesInput{}
51	}
52
53	output = &AssociateLensesOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AssociateLenses API operation for AWS Well-Architected Tool.
60//
61// Associate a lens to a workload.
62//
63// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
64// with awserr.Error's Code and Message methods to get detailed information about
65// the error.
66//
67// See the AWS API reference guide for AWS Well-Architected Tool's
68// API operation AssociateLenses for usage and error information.
69//
70// Returned Error Types:
71//   * ValidationException
72//   The user input is not valid.
73//
74//   * ResourceNotFoundException
75//   The requested resource was not found.
76//
77//   * ConflictException
78//   The resource already exists.
79//
80//   * InternalServerException
81//   There is a problem with the AWS Well-Architected Tool API service.
82//
83//   * AccessDeniedException
84//   User does not have sufficient access to perform this action.
85//
86//   * ThrottlingException
87//   Request was denied due to request throttling.
88//
89// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/AssociateLenses
90func (c *WellArchitected) AssociateLenses(input *AssociateLensesInput) (*AssociateLensesOutput, error) {
91	req, out := c.AssociateLensesRequest(input)
92	return out, req.Send()
93}
94
95// AssociateLensesWithContext is the same as AssociateLenses with the addition of
96// the ability to pass a context and additional request options.
97//
98// See AssociateLenses for details on how to use this API operation.
99//
100// The context must be non-nil and will be used for request cancellation. If
101// the context is nil a panic will occur. In the future the SDK may create
102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
103// for more information on using Contexts.
104func (c *WellArchitected) AssociateLensesWithContext(ctx aws.Context, input *AssociateLensesInput, opts ...request.Option) (*AssociateLensesOutput, error) {
105	req, out := c.AssociateLensesRequest(input)
106	req.SetContext(ctx)
107	req.ApplyOptions(opts...)
108	return out, req.Send()
109}
110
111const opCreateMilestone = "CreateMilestone"
112
113// CreateMilestoneRequest generates a "aws/request.Request" representing the
114// client's request for the CreateMilestone operation. The "output" return
115// value will be populated with the request's response once the request completes
116// successfully.
117//
118// Use "Send" method on the returned Request to send the API call to the service.
119// the "output" return value is not valid until after Send returns without error.
120//
121// See CreateMilestone for more information on using the CreateMilestone
122// API call, and error handling.
123//
124// This method is useful when you want to inject custom logic or configuration
125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
126//
127//
128//    // Example sending a request using the CreateMilestoneRequest method.
129//    req, resp := client.CreateMilestoneRequest(params)
130//
131//    err := req.Send()
132//    if err == nil { // resp is now filled
133//        fmt.Println(resp)
134//    }
135//
136// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/CreateMilestone
137func (c *WellArchitected) CreateMilestoneRequest(input *CreateMilestoneInput) (req *request.Request, output *CreateMilestoneOutput) {
138	op := &request.Operation{
139		Name:       opCreateMilestone,
140		HTTPMethod: "POST",
141		HTTPPath:   "/workloads/{WorkloadId}/milestones",
142	}
143
144	if input == nil {
145		input = &CreateMilestoneInput{}
146	}
147
148	output = &CreateMilestoneOutput{}
149	req = c.newRequest(op, input, output)
150	return
151}
152
153// CreateMilestone API operation for AWS Well-Architected Tool.
154//
155// Create a milestone for an existing workload.
156//
157// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
158// with awserr.Error's Code and Message methods to get detailed information about
159// the error.
160//
161// See the AWS API reference guide for AWS Well-Architected Tool's
162// API operation CreateMilestone for usage and error information.
163//
164// Returned Error Types:
165//   * ValidationException
166//   The user input is not valid.
167//
168//   * ConflictException
169//   The resource already exists.
170//
171//   * InternalServerException
172//   There is a problem with the AWS Well-Architected Tool API service.
173//
174//   * ResourceNotFoundException
175//   The requested resource was not found.
176//
177//   * ServiceQuotaExceededException
178//   The user has reached their resource quota.
179//
180//   * AccessDeniedException
181//   User does not have sufficient access to perform this action.
182//
183//   * ThrottlingException
184//   Request was denied due to request throttling.
185//
186// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/CreateMilestone
187func (c *WellArchitected) CreateMilestone(input *CreateMilestoneInput) (*CreateMilestoneOutput, error) {
188	req, out := c.CreateMilestoneRequest(input)
189	return out, req.Send()
190}
191
192// CreateMilestoneWithContext is the same as CreateMilestone with the addition of
193// the ability to pass a context and additional request options.
194//
195// See CreateMilestone for details on how to use this API operation.
196//
197// The context must be non-nil and will be used for request cancellation. If
198// the context is nil a panic will occur. In the future the SDK may create
199// sub-contexts for http.Requests. See https://golang.org/pkg/context/
200// for more information on using Contexts.
201func (c *WellArchitected) CreateMilestoneWithContext(ctx aws.Context, input *CreateMilestoneInput, opts ...request.Option) (*CreateMilestoneOutput, error) {
202	req, out := c.CreateMilestoneRequest(input)
203	req.SetContext(ctx)
204	req.ApplyOptions(opts...)
205	return out, req.Send()
206}
207
208const opCreateWorkload = "CreateWorkload"
209
210// CreateWorkloadRequest generates a "aws/request.Request" representing the
211// client's request for the CreateWorkload operation. The "output" return
212// value will be populated with the request's response once the request completes
213// successfully.
214//
215// Use "Send" method on the returned Request to send the API call to the service.
216// the "output" return value is not valid until after Send returns without error.
217//
218// See CreateWorkload for more information on using the CreateWorkload
219// API call, and error handling.
220//
221// This method is useful when you want to inject custom logic or configuration
222// into the SDK's request lifecycle. Such as custom headers, or retry logic.
223//
224//
225//    // Example sending a request using the CreateWorkloadRequest method.
226//    req, resp := client.CreateWorkloadRequest(params)
227//
228//    err := req.Send()
229//    if err == nil { // resp is now filled
230//        fmt.Println(resp)
231//    }
232//
233// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/CreateWorkload
234func (c *WellArchitected) CreateWorkloadRequest(input *CreateWorkloadInput) (req *request.Request, output *CreateWorkloadOutput) {
235	op := &request.Operation{
236		Name:       opCreateWorkload,
237		HTTPMethod: "POST",
238		HTTPPath:   "/workloads",
239	}
240
241	if input == nil {
242		input = &CreateWorkloadInput{}
243	}
244
245	output = &CreateWorkloadOutput{}
246	req = c.newRequest(op, input, output)
247	return
248}
249
250// CreateWorkload API operation for AWS Well-Architected Tool.
251//
252// Create a new workload.
253//
254// The owner of a workload can share the workload with other AWS accounts and
255// IAM users in the same AWS Region. Only the owner of a workload can delete
256// it.
257//
258// For more information, see Defining a Workload (https://docs.aws.amazon.com/wellarchitected/latest/userguide/define-workload.html)
259// in the AWS Well-Architected Tool User Guide.
260//
261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
262// with awserr.Error's Code and Message methods to get detailed information about
263// the error.
264//
265// See the AWS API reference guide for AWS Well-Architected Tool's
266// API operation CreateWorkload for usage and error information.
267//
268// Returned Error Types:
269//   * ValidationException
270//   The user input is not valid.
271//
272//   * ConflictException
273//   The resource already exists.
274//
275//   * ServiceQuotaExceededException
276//   The user has reached their resource quota.
277//
278//   * InternalServerException
279//   There is a problem with the AWS Well-Architected Tool API service.
280//
281//   * AccessDeniedException
282//   User does not have sufficient access to perform this action.
283//
284//   * ThrottlingException
285//   Request was denied due to request throttling.
286//
287// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/CreateWorkload
288func (c *WellArchitected) CreateWorkload(input *CreateWorkloadInput) (*CreateWorkloadOutput, error) {
289	req, out := c.CreateWorkloadRequest(input)
290	return out, req.Send()
291}
292
293// CreateWorkloadWithContext is the same as CreateWorkload with the addition of
294// the ability to pass a context and additional request options.
295//
296// See CreateWorkload for details on how to use this API operation.
297//
298// The context must be non-nil and will be used for request cancellation. If
299// the context is nil a panic will occur. In the future the SDK may create
300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
301// for more information on using Contexts.
302func (c *WellArchitected) CreateWorkloadWithContext(ctx aws.Context, input *CreateWorkloadInput, opts ...request.Option) (*CreateWorkloadOutput, error) {
303	req, out := c.CreateWorkloadRequest(input)
304	req.SetContext(ctx)
305	req.ApplyOptions(opts...)
306	return out, req.Send()
307}
308
309const opCreateWorkloadShare = "CreateWorkloadShare"
310
311// CreateWorkloadShareRequest generates a "aws/request.Request" representing the
312// client's request for the CreateWorkloadShare operation. The "output" return
313// value will be populated with the request's response once the request completes
314// successfully.
315//
316// Use "Send" method on the returned Request to send the API call to the service.
317// the "output" return value is not valid until after Send returns without error.
318//
319// See CreateWorkloadShare for more information on using the CreateWorkloadShare
320// API call, and error handling.
321//
322// This method is useful when you want to inject custom logic or configuration
323// into the SDK's request lifecycle. Such as custom headers, or retry logic.
324//
325//
326//    // Example sending a request using the CreateWorkloadShareRequest method.
327//    req, resp := client.CreateWorkloadShareRequest(params)
328//
329//    err := req.Send()
330//    if err == nil { // resp is now filled
331//        fmt.Println(resp)
332//    }
333//
334// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/CreateWorkloadShare
335func (c *WellArchitected) CreateWorkloadShareRequest(input *CreateWorkloadShareInput) (req *request.Request, output *CreateWorkloadShareOutput) {
336	op := &request.Operation{
337		Name:       opCreateWorkloadShare,
338		HTTPMethod: "POST",
339		HTTPPath:   "/workloads/{WorkloadId}/shares",
340	}
341
342	if input == nil {
343		input = &CreateWorkloadShareInput{}
344	}
345
346	output = &CreateWorkloadShareOutput{}
347	req = c.newRequest(op, input, output)
348	return
349}
350
351// CreateWorkloadShare API operation for AWS Well-Architected Tool.
352//
353// Create a workload share.
354//
355// The owner of a workload can share it with other AWS accounts and IAM users
356// in the same AWS Region. Shared access to a workload is not removed until
357// the workload invitation is deleted.
358//
359// For more information, see Sharing a Workload (https://docs.aws.amazon.com/wellarchitected/latest/userguide/workloads-sharing.html)
360// in the AWS Well-Architected Tool User Guide.
361//
362// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
363// with awserr.Error's Code and Message methods to get detailed information about
364// the error.
365//
366// See the AWS API reference guide for AWS Well-Architected Tool's
367// API operation CreateWorkloadShare for usage and error information.
368//
369// Returned Error Types:
370//   * ValidationException
371//   The user input is not valid.
372//
373//   * ConflictException
374//   The resource already exists.
375//
376//   * InternalServerException
377//   There is a problem with the AWS Well-Architected Tool API service.
378//
379//   * ResourceNotFoundException
380//   The requested resource was not found.
381//
382//   * ServiceQuotaExceededException
383//   The user has reached their resource quota.
384//
385//   * AccessDeniedException
386//   User does not have sufficient access to perform this action.
387//
388//   * ThrottlingException
389//   Request was denied due to request throttling.
390//
391// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/CreateWorkloadShare
392func (c *WellArchitected) CreateWorkloadShare(input *CreateWorkloadShareInput) (*CreateWorkloadShareOutput, error) {
393	req, out := c.CreateWorkloadShareRequest(input)
394	return out, req.Send()
395}
396
397// CreateWorkloadShareWithContext is the same as CreateWorkloadShare with the addition of
398// the ability to pass a context and additional request options.
399//
400// See CreateWorkloadShare for details on how to use this API operation.
401//
402// The context must be non-nil and will be used for request cancellation. If
403// the context is nil a panic will occur. In the future the SDK may create
404// sub-contexts for http.Requests. See https://golang.org/pkg/context/
405// for more information on using Contexts.
406func (c *WellArchitected) CreateWorkloadShareWithContext(ctx aws.Context, input *CreateWorkloadShareInput, opts ...request.Option) (*CreateWorkloadShareOutput, error) {
407	req, out := c.CreateWorkloadShareRequest(input)
408	req.SetContext(ctx)
409	req.ApplyOptions(opts...)
410	return out, req.Send()
411}
412
413const opDeleteWorkload = "DeleteWorkload"
414
415// DeleteWorkloadRequest generates a "aws/request.Request" representing the
416// client's request for the DeleteWorkload operation. The "output" return
417// value will be populated with the request's response once the request completes
418// successfully.
419//
420// Use "Send" method on the returned Request to send the API call to the service.
421// the "output" return value is not valid until after Send returns without error.
422//
423// See DeleteWorkload for more information on using the DeleteWorkload
424// API call, and error handling.
425//
426// This method is useful when you want to inject custom logic or configuration
427// into the SDK's request lifecycle. Such as custom headers, or retry logic.
428//
429//
430//    // Example sending a request using the DeleteWorkloadRequest method.
431//    req, resp := client.DeleteWorkloadRequest(params)
432//
433//    err := req.Send()
434//    if err == nil { // resp is now filled
435//        fmt.Println(resp)
436//    }
437//
438// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/DeleteWorkload
439func (c *WellArchitected) DeleteWorkloadRequest(input *DeleteWorkloadInput) (req *request.Request, output *DeleteWorkloadOutput) {
440	op := &request.Operation{
441		Name:       opDeleteWorkload,
442		HTTPMethod: "DELETE",
443		HTTPPath:   "/workloads/{WorkloadId}",
444	}
445
446	if input == nil {
447		input = &DeleteWorkloadInput{}
448	}
449
450	output = &DeleteWorkloadOutput{}
451	req = c.newRequest(op, input, output)
452	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
453	return
454}
455
456// DeleteWorkload API operation for AWS Well-Architected Tool.
457//
458// Delete an existing workload.
459//
460// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
461// with awserr.Error's Code and Message methods to get detailed information about
462// the error.
463//
464// See the AWS API reference guide for AWS Well-Architected Tool's
465// API operation DeleteWorkload for usage and error information.
466//
467// Returned Error Types:
468//   * ValidationException
469//   The user input is not valid.
470//
471//   * ResourceNotFoundException
472//   The requested resource was not found.
473//
474//   * ConflictException
475//   The resource already exists.
476//
477//   * InternalServerException
478//   There is a problem with the AWS Well-Architected Tool API service.
479//
480//   * AccessDeniedException
481//   User does not have sufficient access to perform this action.
482//
483//   * ThrottlingException
484//   Request was denied due to request throttling.
485//
486// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/DeleteWorkload
487func (c *WellArchitected) DeleteWorkload(input *DeleteWorkloadInput) (*DeleteWorkloadOutput, error) {
488	req, out := c.DeleteWorkloadRequest(input)
489	return out, req.Send()
490}
491
492// DeleteWorkloadWithContext is the same as DeleteWorkload with the addition of
493// the ability to pass a context and additional request options.
494//
495// See DeleteWorkload for details on how to use this API operation.
496//
497// The context must be non-nil and will be used for request cancellation. If
498// the context is nil a panic will occur. In the future the SDK may create
499// sub-contexts for http.Requests. See https://golang.org/pkg/context/
500// for more information on using Contexts.
501func (c *WellArchitected) DeleteWorkloadWithContext(ctx aws.Context, input *DeleteWorkloadInput, opts ...request.Option) (*DeleteWorkloadOutput, error) {
502	req, out := c.DeleteWorkloadRequest(input)
503	req.SetContext(ctx)
504	req.ApplyOptions(opts...)
505	return out, req.Send()
506}
507
508const opDeleteWorkloadShare = "DeleteWorkloadShare"
509
510// DeleteWorkloadShareRequest generates a "aws/request.Request" representing the
511// client's request for the DeleteWorkloadShare operation. The "output" return
512// value will be populated with the request's response once the request completes
513// successfully.
514//
515// Use "Send" method on the returned Request to send the API call to the service.
516// the "output" return value is not valid until after Send returns without error.
517//
518// See DeleteWorkloadShare for more information on using the DeleteWorkloadShare
519// API call, and error handling.
520//
521// This method is useful when you want to inject custom logic or configuration
522// into the SDK's request lifecycle. Such as custom headers, or retry logic.
523//
524//
525//    // Example sending a request using the DeleteWorkloadShareRequest method.
526//    req, resp := client.DeleteWorkloadShareRequest(params)
527//
528//    err := req.Send()
529//    if err == nil { // resp is now filled
530//        fmt.Println(resp)
531//    }
532//
533// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/DeleteWorkloadShare
534func (c *WellArchitected) DeleteWorkloadShareRequest(input *DeleteWorkloadShareInput) (req *request.Request, output *DeleteWorkloadShareOutput) {
535	op := &request.Operation{
536		Name:       opDeleteWorkloadShare,
537		HTTPMethod: "DELETE",
538		HTTPPath:   "/workloads/{WorkloadId}/shares/{ShareId}",
539	}
540
541	if input == nil {
542		input = &DeleteWorkloadShareInput{}
543	}
544
545	output = &DeleteWorkloadShareOutput{}
546	req = c.newRequest(op, input, output)
547	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
548	return
549}
550
551// DeleteWorkloadShare API operation for AWS Well-Architected Tool.
552//
553// Delete a workload share.
554//
555// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
556// with awserr.Error's Code and Message methods to get detailed information about
557// the error.
558//
559// See the AWS API reference guide for AWS Well-Architected Tool's
560// API operation DeleteWorkloadShare for usage and error information.
561//
562// Returned Error Types:
563//   * ValidationException
564//   The user input is not valid.
565//
566//   * InternalServerException
567//   There is a problem with the AWS Well-Architected Tool API service.
568//
569//   * ResourceNotFoundException
570//   The requested resource was not found.
571//
572//   * ConflictException
573//   The resource already exists.
574//
575//   * AccessDeniedException
576//   User does not have sufficient access to perform this action.
577//
578//   * ThrottlingException
579//   Request was denied due to request throttling.
580//
581// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/DeleteWorkloadShare
582func (c *WellArchitected) DeleteWorkloadShare(input *DeleteWorkloadShareInput) (*DeleteWorkloadShareOutput, error) {
583	req, out := c.DeleteWorkloadShareRequest(input)
584	return out, req.Send()
585}
586
587// DeleteWorkloadShareWithContext is the same as DeleteWorkloadShare with the addition of
588// the ability to pass a context and additional request options.
589//
590// See DeleteWorkloadShare for details on how to use this API operation.
591//
592// The context must be non-nil and will be used for request cancellation. If
593// the context is nil a panic will occur. In the future the SDK may create
594// sub-contexts for http.Requests. See https://golang.org/pkg/context/
595// for more information on using Contexts.
596func (c *WellArchitected) DeleteWorkloadShareWithContext(ctx aws.Context, input *DeleteWorkloadShareInput, opts ...request.Option) (*DeleteWorkloadShareOutput, error) {
597	req, out := c.DeleteWorkloadShareRequest(input)
598	req.SetContext(ctx)
599	req.ApplyOptions(opts...)
600	return out, req.Send()
601}
602
603const opDisassociateLenses = "DisassociateLenses"
604
605// DisassociateLensesRequest generates a "aws/request.Request" representing the
606// client's request for the DisassociateLenses operation. The "output" return
607// value will be populated with the request's response once the request completes
608// successfully.
609//
610// Use "Send" method on the returned Request to send the API call to the service.
611// the "output" return value is not valid until after Send returns without error.
612//
613// See DisassociateLenses for more information on using the DisassociateLenses
614// API call, and error handling.
615//
616// This method is useful when you want to inject custom logic or configuration
617// into the SDK's request lifecycle. Such as custom headers, or retry logic.
618//
619//
620//    // Example sending a request using the DisassociateLensesRequest method.
621//    req, resp := client.DisassociateLensesRequest(params)
622//
623//    err := req.Send()
624//    if err == nil { // resp is now filled
625//        fmt.Println(resp)
626//    }
627//
628// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/DisassociateLenses
629func (c *WellArchitected) DisassociateLensesRequest(input *DisassociateLensesInput) (req *request.Request, output *DisassociateLensesOutput) {
630	op := &request.Operation{
631		Name:       opDisassociateLenses,
632		HTTPMethod: "PATCH",
633		HTTPPath:   "/workloads/{WorkloadId}/disassociateLenses",
634	}
635
636	if input == nil {
637		input = &DisassociateLensesInput{}
638	}
639
640	output = &DisassociateLensesOutput{}
641	req = c.newRequest(op, input, output)
642	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
643	return
644}
645
646// DisassociateLenses API operation for AWS Well-Architected Tool.
647//
648// Disassociate a lens from a workload.
649//
650// The AWS Well-Architected Framework lens (wellarchitected) cannot be removed
651// from a workload.
652//
653// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
654// with awserr.Error's Code and Message methods to get detailed information about
655// the error.
656//
657// See the AWS API reference guide for AWS Well-Architected Tool's
658// API operation DisassociateLenses for usage and error information.
659//
660// Returned Error Types:
661//   * ValidationException
662//   The user input is not valid.
663//
664//   * ResourceNotFoundException
665//   The requested resource was not found.
666//
667//   * ConflictException
668//   The resource already exists.
669//
670//   * InternalServerException
671//   There is a problem with the AWS Well-Architected Tool API service.
672//
673//   * AccessDeniedException
674//   User does not have sufficient access to perform this action.
675//
676//   * ThrottlingException
677//   Request was denied due to request throttling.
678//
679// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/DisassociateLenses
680func (c *WellArchitected) DisassociateLenses(input *DisassociateLensesInput) (*DisassociateLensesOutput, error) {
681	req, out := c.DisassociateLensesRequest(input)
682	return out, req.Send()
683}
684
685// DisassociateLensesWithContext is the same as DisassociateLenses with the addition of
686// the ability to pass a context and additional request options.
687//
688// See DisassociateLenses for details on how to use this API operation.
689//
690// The context must be non-nil and will be used for request cancellation. If
691// the context is nil a panic will occur. In the future the SDK may create
692// sub-contexts for http.Requests. See https://golang.org/pkg/context/
693// for more information on using Contexts.
694func (c *WellArchitected) DisassociateLensesWithContext(ctx aws.Context, input *DisassociateLensesInput, opts ...request.Option) (*DisassociateLensesOutput, error) {
695	req, out := c.DisassociateLensesRequest(input)
696	req.SetContext(ctx)
697	req.ApplyOptions(opts...)
698	return out, req.Send()
699}
700
701const opGetAnswer = "GetAnswer"
702
703// GetAnswerRequest generates a "aws/request.Request" representing the
704// client's request for the GetAnswer operation. The "output" return
705// value will be populated with the request's response once the request completes
706// successfully.
707//
708// Use "Send" method on the returned Request to send the API call to the service.
709// the "output" return value is not valid until after Send returns without error.
710//
711// See GetAnswer for more information on using the GetAnswer
712// API call, and error handling.
713//
714// This method is useful when you want to inject custom logic or configuration
715// into the SDK's request lifecycle. Such as custom headers, or retry logic.
716//
717//
718//    // Example sending a request using the GetAnswerRequest method.
719//    req, resp := client.GetAnswerRequest(params)
720//
721//    err := req.Send()
722//    if err == nil { // resp is now filled
723//        fmt.Println(resp)
724//    }
725//
726// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetAnswer
727func (c *WellArchitected) GetAnswerRequest(input *GetAnswerInput) (req *request.Request, output *GetAnswerOutput) {
728	op := &request.Operation{
729		Name:       opGetAnswer,
730		HTTPMethod: "GET",
731		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}/answers/{QuestionId}",
732	}
733
734	if input == nil {
735		input = &GetAnswerInput{}
736	}
737
738	output = &GetAnswerOutput{}
739	req = c.newRequest(op, input, output)
740	return
741}
742
743// GetAnswer API operation for AWS Well-Architected Tool.
744//
745// Get lens review.
746//
747// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
748// with awserr.Error's Code and Message methods to get detailed information about
749// the error.
750//
751// See the AWS API reference guide for AWS Well-Architected Tool's
752// API operation GetAnswer for usage and error information.
753//
754// Returned Error Types:
755//   * ValidationException
756//   The user input is not valid.
757//
758//   * ResourceNotFoundException
759//   The requested resource was not found.
760//
761//   * InternalServerException
762//   There is a problem with the AWS Well-Architected Tool API service.
763//
764//   * AccessDeniedException
765//   User does not have sufficient access to perform this action.
766//
767//   * ThrottlingException
768//   Request was denied due to request throttling.
769//
770// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetAnswer
771func (c *WellArchitected) GetAnswer(input *GetAnswerInput) (*GetAnswerOutput, error) {
772	req, out := c.GetAnswerRequest(input)
773	return out, req.Send()
774}
775
776// GetAnswerWithContext is the same as GetAnswer with the addition of
777// the ability to pass a context and additional request options.
778//
779// See GetAnswer for details on how to use this API operation.
780//
781// The context must be non-nil and will be used for request cancellation. If
782// the context is nil a panic will occur. In the future the SDK may create
783// sub-contexts for http.Requests. See https://golang.org/pkg/context/
784// for more information on using Contexts.
785func (c *WellArchitected) GetAnswerWithContext(ctx aws.Context, input *GetAnswerInput, opts ...request.Option) (*GetAnswerOutput, error) {
786	req, out := c.GetAnswerRequest(input)
787	req.SetContext(ctx)
788	req.ApplyOptions(opts...)
789	return out, req.Send()
790}
791
792const opGetLensReview = "GetLensReview"
793
794// GetLensReviewRequest generates a "aws/request.Request" representing the
795// client's request for the GetLensReview operation. The "output" return
796// value will be populated with the request's response once the request completes
797// successfully.
798//
799// Use "Send" method on the returned Request to send the API call to the service.
800// the "output" return value is not valid until after Send returns without error.
801//
802// See GetLensReview for more information on using the GetLensReview
803// API call, and error handling.
804//
805// This method is useful when you want to inject custom logic or configuration
806// into the SDK's request lifecycle. Such as custom headers, or retry logic.
807//
808//
809//    // Example sending a request using the GetLensReviewRequest method.
810//    req, resp := client.GetLensReviewRequest(params)
811//
812//    err := req.Send()
813//    if err == nil { // resp is now filled
814//        fmt.Println(resp)
815//    }
816//
817// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetLensReview
818func (c *WellArchitected) GetLensReviewRequest(input *GetLensReviewInput) (req *request.Request, output *GetLensReviewOutput) {
819	op := &request.Operation{
820		Name:       opGetLensReview,
821		HTTPMethod: "GET",
822		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}",
823	}
824
825	if input == nil {
826		input = &GetLensReviewInput{}
827	}
828
829	output = &GetLensReviewOutput{}
830	req = c.newRequest(op, input, output)
831	return
832}
833
834// GetLensReview API operation for AWS Well-Architected Tool.
835//
836// Get lens review.
837//
838// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
839// with awserr.Error's Code and Message methods to get detailed information about
840// the error.
841//
842// See the AWS API reference guide for AWS Well-Architected Tool's
843// API operation GetLensReview for usage and error information.
844//
845// Returned Error Types:
846//   * ValidationException
847//   The user input is not valid.
848//
849//   * ResourceNotFoundException
850//   The requested resource was not found.
851//
852//   * InternalServerException
853//   There is a problem with the AWS Well-Architected Tool API service.
854//
855//   * AccessDeniedException
856//   User does not have sufficient access to perform this action.
857//
858//   * ThrottlingException
859//   Request was denied due to request throttling.
860//
861// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetLensReview
862func (c *WellArchitected) GetLensReview(input *GetLensReviewInput) (*GetLensReviewOutput, error) {
863	req, out := c.GetLensReviewRequest(input)
864	return out, req.Send()
865}
866
867// GetLensReviewWithContext is the same as GetLensReview with the addition of
868// the ability to pass a context and additional request options.
869//
870// See GetLensReview for details on how to use this API operation.
871//
872// The context must be non-nil and will be used for request cancellation. If
873// the context is nil a panic will occur. In the future the SDK may create
874// sub-contexts for http.Requests. See https://golang.org/pkg/context/
875// for more information on using Contexts.
876func (c *WellArchitected) GetLensReviewWithContext(ctx aws.Context, input *GetLensReviewInput, opts ...request.Option) (*GetLensReviewOutput, error) {
877	req, out := c.GetLensReviewRequest(input)
878	req.SetContext(ctx)
879	req.ApplyOptions(opts...)
880	return out, req.Send()
881}
882
883const opGetLensReviewReport = "GetLensReviewReport"
884
885// GetLensReviewReportRequest generates a "aws/request.Request" representing the
886// client's request for the GetLensReviewReport operation. The "output" return
887// value will be populated with the request's response once the request completes
888// successfully.
889//
890// Use "Send" method on the returned Request to send the API call to the service.
891// the "output" return value is not valid until after Send returns without error.
892//
893// See GetLensReviewReport for more information on using the GetLensReviewReport
894// API call, and error handling.
895//
896// This method is useful when you want to inject custom logic or configuration
897// into the SDK's request lifecycle. Such as custom headers, or retry logic.
898//
899//
900//    // Example sending a request using the GetLensReviewReportRequest method.
901//    req, resp := client.GetLensReviewReportRequest(params)
902//
903//    err := req.Send()
904//    if err == nil { // resp is now filled
905//        fmt.Println(resp)
906//    }
907//
908// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetLensReviewReport
909func (c *WellArchitected) GetLensReviewReportRequest(input *GetLensReviewReportInput) (req *request.Request, output *GetLensReviewReportOutput) {
910	op := &request.Operation{
911		Name:       opGetLensReviewReport,
912		HTTPMethod: "GET",
913		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}/report",
914	}
915
916	if input == nil {
917		input = &GetLensReviewReportInput{}
918	}
919
920	output = &GetLensReviewReportOutput{}
921	req = c.newRequest(op, input, output)
922	return
923}
924
925// GetLensReviewReport API operation for AWS Well-Architected Tool.
926//
927// Get lens review report.
928//
929// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
930// with awserr.Error's Code and Message methods to get detailed information about
931// the error.
932//
933// See the AWS API reference guide for AWS Well-Architected Tool's
934// API operation GetLensReviewReport for usage and error information.
935//
936// Returned Error Types:
937//   * ValidationException
938//   The user input is not valid.
939//
940//   * ResourceNotFoundException
941//   The requested resource was not found.
942//
943//   * InternalServerException
944//   There is a problem with the AWS Well-Architected Tool API service.
945//
946//   * AccessDeniedException
947//   User does not have sufficient access to perform this action.
948//
949//   * ThrottlingException
950//   Request was denied due to request throttling.
951//
952// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetLensReviewReport
953func (c *WellArchitected) GetLensReviewReport(input *GetLensReviewReportInput) (*GetLensReviewReportOutput, error) {
954	req, out := c.GetLensReviewReportRequest(input)
955	return out, req.Send()
956}
957
958// GetLensReviewReportWithContext is the same as GetLensReviewReport with the addition of
959// the ability to pass a context and additional request options.
960//
961// See GetLensReviewReport for details on how to use this API operation.
962//
963// The context must be non-nil and will be used for request cancellation. If
964// the context is nil a panic will occur. In the future the SDK may create
965// sub-contexts for http.Requests. See https://golang.org/pkg/context/
966// for more information on using Contexts.
967func (c *WellArchitected) GetLensReviewReportWithContext(ctx aws.Context, input *GetLensReviewReportInput, opts ...request.Option) (*GetLensReviewReportOutput, error) {
968	req, out := c.GetLensReviewReportRequest(input)
969	req.SetContext(ctx)
970	req.ApplyOptions(opts...)
971	return out, req.Send()
972}
973
974const opGetLensVersionDifference = "GetLensVersionDifference"
975
976// GetLensVersionDifferenceRequest generates a "aws/request.Request" representing the
977// client's request for the GetLensVersionDifference operation. The "output" return
978// value will be populated with the request's response once the request completes
979// successfully.
980//
981// Use "Send" method on the returned Request to send the API call to the service.
982// the "output" return value is not valid until after Send returns without error.
983//
984// See GetLensVersionDifference for more information on using the GetLensVersionDifference
985// API call, and error handling.
986//
987// This method is useful when you want to inject custom logic or configuration
988// into the SDK's request lifecycle. Such as custom headers, or retry logic.
989//
990//
991//    // Example sending a request using the GetLensVersionDifferenceRequest method.
992//    req, resp := client.GetLensVersionDifferenceRequest(params)
993//
994//    err := req.Send()
995//    if err == nil { // resp is now filled
996//        fmt.Println(resp)
997//    }
998//
999// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetLensVersionDifference
1000func (c *WellArchitected) GetLensVersionDifferenceRequest(input *GetLensVersionDifferenceInput) (req *request.Request, output *GetLensVersionDifferenceOutput) {
1001	op := &request.Operation{
1002		Name:       opGetLensVersionDifference,
1003		HTTPMethod: "GET",
1004		HTTPPath:   "/lenses/{LensAlias}/versionDifference",
1005	}
1006
1007	if input == nil {
1008		input = &GetLensVersionDifferenceInput{}
1009	}
1010
1011	output = &GetLensVersionDifferenceOutput{}
1012	req = c.newRequest(op, input, output)
1013	return
1014}
1015
1016// GetLensVersionDifference API operation for AWS Well-Architected Tool.
1017//
1018// Get lens version differences.
1019//
1020// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1021// with awserr.Error's Code and Message methods to get detailed information about
1022// the error.
1023//
1024// See the AWS API reference guide for AWS Well-Architected Tool's
1025// API operation GetLensVersionDifference for usage and error information.
1026//
1027// Returned Error Types:
1028//   * ValidationException
1029//   The user input is not valid.
1030//
1031//   * ResourceNotFoundException
1032//   The requested resource was not found.
1033//
1034//   * InternalServerException
1035//   There is a problem with the AWS Well-Architected Tool API service.
1036//
1037//   * AccessDeniedException
1038//   User does not have sufficient access to perform this action.
1039//
1040//   * ThrottlingException
1041//   Request was denied due to request throttling.
1042//
1043// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetLensVersionDifference
1044func (c *WellArchitected) GetLensVersionDifference(input *GetLensVersionDifferenceInput) (*GetLensVersionDifferenceOutput, error) {
1045	req, out := c.GetLensVersionDifferenceRequest(input)
1046	return out, req.Send()
1047}
1048
1049// GetLensVersionDifferenceWithContext is the same as GetLensVersionDifference with the addition of
1050// the ability to pass a context and additional request options.
1051//
1052// See GetLensVersionDifference for details on how to use this API operation.
1053//
1054// The context must be non-nil and will be used for request cancellation. If
1055// the context is nil a panic will occur. In the future the SDK may create
1056// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1057// for more information on using Contexts.
1058func (c *WellArchitected) GetLensVersionDifferenceWithContext(ctx aws.Context, input *GetLensVersionDifferenceInput, opts ...request.Option) (*GetLensVersionDifferenceOutput, error) {
1059	req, out := c.GetLensVersionDifferenceRequest(input)
1060	req.SetContext(ctx)
1061	req.ApplyOptions(opts...)
1062	return out, req.Send()
1063}
1064
1065const opGetMilestone = "GetMilestone"
1066
1067// GetMilestoneRequest generates a "aws/request.Request" representing the
1068// client's request for the GetMilestone operation. The "output" return
1069// value will be populated with the request's response once the request completes
1070// successfully.
1071//
1072// Use "Send" method on the returned Request to send the API call to the service.
1073// the "output" return value is not valid until after Send returns without error.
1074//
1075// See GetMilestone for more information on using the GetMilestone
1076// API call, and error handling.
1077//
1078// This method is useful when you want to inject custom logic or configuration
1079// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1080//
1081//
1082//    // Example sending a request using the GetMilestoneRequest method.
1083//    req, resp := client.GetMilestoneRequest(params)
1084//
1085//    err := req.Send()
1086//    if err == nil { // resp is now filled
1087//        fmt.Println(resp)
1088//    }
1089//
1090// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetMilestone
1091func (c *WellArchitected) GetMilestoneRequest(input *GetMilestoneInput) (req *request.Request, output *GetMilestoneOutput) {
1092	op := &request.Operation{
1093		Name:       opGetMilestone,
1094		HTTPMethod: "GET",
1095		HTTPPath:   "/workloads/{WorkloadId}/milestones/{MilestoneNumber}",
1096	}
1097
1098	if input == nil {
1099		input = &GetMilestoneInput{}
1100	}
1101
1102	output = &GetMilestoneOutput{}
1103	req = c.newRequest(op, input, output)
1104	return
1105}
1106
1107// GetMilestone API operation for AWS Well-Architected Tool.
1108//
1109// Get a milestone for an existing workload.
1110//
1111// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1112// with awserr.Error's Code and Message methods to get detailed information about
1113// the error.
1114//
1115// See the AWS API reference guide for AWS Well-Architected Tool's
1116// API operation GetMilestone for usage and error information.
1117//
1118// Returned Error Types:
1119//   * ValidationException
1120//   The user input is not valid.
1121//
1122//   * ResourceNotFoundException
1123//   The requested resource was not found.
1124//
1125//   * InternalServerException
1126//   There is a problem with the AWS Well-Architected Tool API service.
1127//
1128//   * AccessDeniedException
1129//   User does not have sufficient access to perform this action.
1130//
1131//   * ThrottlingException
1132//   Request was denied due to request throttling.
1133//
1134// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetMilestone
1135func (c *WellArchitected) GetMilestone(input *GetMilestoneInput) (*GetMilestoneOutput, error) {
1136	req, out := c.GetMilestoneRequest(input)
1137	return out, req.Send()
1138}
1139
1140// GetMilestoneWithContext is the same as GetMilestone with the addition of
1141// the ability to pass a context and additional request options.
1142//
1143// See GetMilestone for details on how to use this API operation.
1144//
1145// The context must be non-nil and will be used for request cancellation. If
1146// the context is nil a panic will occur. In the future the SDK may create
1147// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1148// for more information on using Contexts.
1149func (c *WellArchitected) GetMilestoneWithContext(ctx aws.Context, input *GetMilestoneInput, opts ...request.Option) (*GetMilestoneOutput, error) {
1150	req, out := c.GetMilestoneRequest(input)
1151	req.SetContext(ctx)
1152	req.ApplyOptions(opts...)
1153	return out, req.Send()
1154}
1155
1156const opGetWorkload = "GetWorkload"
1157
1158// GetWorkloadRequest generates a "aws/request.Request" representing the
1159// client's request for the GetWorkload operation. The "output" return
1160// value will be populated with the request's response once the request completes
1161// successfully.
1162//
1163// Use "Send" method on the returned Request to send the API call to the service.
1164// the "output" return value is not valid until after Send returns without error.
1165//
1166// See GetWorkload for more information on using the GetWorkload
1167// API call, and error handling.
1168//
1169// This method is useful when you want to inject custom logic or configuration
1170// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1171//
1172//
1173//    // Example sending a request using the GetWorkloadRequest method.
1174//    req, resp := client.GetWorkloadRequest(params)
1175//
1176//    err := req.Send()
1177//    if err == nil { // resp is now filled
1178//        fmt.Println(resp)
1179//    }
1180//
1181// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetWorkload
1182func (c *WellArchitected) GetWorkloadRequest(input *GetWorkloadInput) (req *request.Request, output *GetWorkloadOutput) {
1183	op := &request.Operation{
1184		Name:       opGetWorkload,
1185		HTTPMethod: "GET",
1186		HTTPPath:   "/workloads/{WorkloadId}",
1187	}
1188
1189	if input == nil {
1190		input = &GetWorkloadInput{}
1191	}
1192
1193	output = &GetWorkloadOutput{}
1194	req = c.newRequest(op, input, output)
1195	return
1196}
1197
1198// GetWorkload API operation for AWS Well-Architected Tool.
1199//
1200// Get an existing workload.
1201//
1202// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1203// with awserr.Error's Code and Message methods to get detailed information about
1204// the error.
1205//
1206// See the AWS API reference guide for AWS Well-Architected Tool's
1207// API operation GetWorkload for usage and error information.
1208//
1209// Returned Error Types:
1210//   * ValidationException
1211//   The user input is not valid.
1212//
1213//   * ResourceNotFoundException
1214//   The requested resource was not found.
1215//
1216//   * InternalServerException
1217//   There is a problem with the AWS Well-Architected Tool API service.
1218//
1219//   * AccessDeniedException
1220//   User does not have sufficient access to perform this action.
1221//
1222//   * ThrottlingException
1223//   Request was denied due to request throttling.
1224//
1225// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetWorkload
1226func (c *WellArchitected) GetWorkload(input *GetWorkloadInput) (*GetWorkloadOutput, error) {
1227	req, out := c.GetWorkloadRequest(input)
1228	return out, req.Send()
1229}
1230
1231// GetWorkloadWithContext is the same as GetWorkload with the addition of
1232// the ability to pass a context and additional request options.
1233//
1234// See GetWorkload for details on how to use this API operation.
1235//
1236// The context must be non-nil and will be used for request cancellation. If
1237// the context is nil a panic will occur. In the future the SDK may create
1238// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1239// for more information on using Contexts.
1240func (c *WellArchitected) GetWorkloadWithContext(ctx aws.Context, input *GetWorkloadInput, opts ...request.Option) (*GetWorkloadOutput, error) {
1241	req, out := c.GetWorkloadRequest(input)
1242	req.SetContext(ctx)
1243	req.ApplyOptions(opts...)
1244	return out, req.Send()
1245}
1246
1247const opListAnswers = "ListAnswers"
1248
1249// ListAnswersRequest generates a "aws/request.Request" representing the
1250// client's request for the ListAnswers operation. The "output" return
1251// value will be populated with the request's response once the request completes
1252// successfully.
1253//
1254// Use "Send" method on the returned Request to send the API call to the service.
1255// the "output" return value is not valid until after Send returns without error.
1256//
1257// See ListAnswers for more information on using the ListAnswers
1258// API call, and error handling.
1259//
1260// This method is useful when you want to inject custom logic or configuration
1261// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1262//
1263//
1264//    // Example sending a request using the ListAnswersRequest method.
1265//    req, resp := client.ListAnswersRequest(params)
1266//
1267//    err := req.Send()
1268//    if err == nil { // resp is now filled
1269//        fmt.Println(resp)
1270//    }
1271//
1272// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListAnswers
1273func (c *WellArchitected) ListAnswersRequest(input *ListAnswersInput) (req *request.Request, output *ListAnswersOutput) {
1274	op := &request.Operation{
1275		Name:       opListAnswers,
1276		HTTPMethod: "GET",
1277		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}/answers",
1278		Paginator: &request.Paginator{
1279			InputTokens:     []string{"NextToken"},
1280			OutputTokens:    []string{"NextToken"},
1281			LimitToken:      "MaxResults",
1282			TruncationToken: "",
1283		},
1284	}
1285
1286	if input == nil {
1287		input = &ListAnswersInput{}
1288	}
1289
1290	output = &ListAnswersOutput{}
1291	req = c.newRequest(op, input, output)
1292	return
1293}
1294
1295// ListAnswers API operation for AWS Well-Architected Tool.
1296//
1297// List of answers.
1298//
1299// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1300// with awserr.Error's Code and Message methods to get detailed information about
1301// the error.
1302//
1303// See the AWS API reference guide for AWS Well-Architected Tool's
1304// API operation ListAnswers for usage and error information.
1305//
1306// Returned Error Types:
1307//   * ValidationException
1308//   The user input is not valid.
1309//
1310//   * InternalServerException
1311//   There is a problem with the AWS Well-Architected Tool API service.
1312//
1313//   * ResourceNotFoundException
1314//   The requested resource was not found.
1315//
1316//   * AccessDeniedException
1317//   User does not have sufficient access to perform this action.
1318//
1319//   * ThrottlingException
1320//   Request was denied due to request throttling.
1321//
1322// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListAnswers
1323func (c *WellArchitected) ListAnswers(input *ListAnswersInput) (*ListAnswersOutput, error) {
1324	req, out := c.ListAnswersRequest(input)
1325	return out, req.Send()
1326}
1327
1328// ListAnswersWithContext is the same as ListAnswers with the addition of
1329// the ability to pass a context and additional request options.
1330//
1331// See ListAnswers for details on how to use this API operation.
1332//
1333// The context must be non-nil and will be used for request cancellation. If
1334// the context is nil a panic will occur. In the future the SDK may create
1335// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1336// for more information on using Contexts.
1337func (c *WellArchitected) ListAnswersWithContext(ctx aws.Context, input *ListAnswersInput, opts ...request.Option) (*ListAnswersOutput, error) {
1338	req, out := c.ListAnswersRequest(input)
1339	req.SetContext(ctx)
1340	req.ApplyOptions(opts...)
1341	return out, req.Send()
1342}
1343
1344// ListAnswersPages iterates over the pages of a ListAnswers operation,
1345// calling the "fn" function with the response data for each page. To stop
1346// iterating, return false from the fn function.
1347//
1348// See ListAnswers method for more information on how to use this operation.
1349//
1350// Note: This operation can generate multiple requests to a service.
1351//
1352//    // Example iterating over at most 3 pages of a ListAnswers operation.
1353//    pageNum := 0
1354//    err := client.ListAnswersPages(params,
1355//        func(page *wellarchitected.ListAnswersOutput, lastPage bool) bool {
1356//            pageNum++
1357//            fmt.Println(page)
1358//            return pageNum <= 3
1359//        })
1360//
1361func (c *WellArchitected) ListAnswersPages(input *ListAnswersInput, fn func(*ListAnswersOutput, bool) bool) error {
1362	return c.ListAnswersPagesWithContext(aws.BackgroundContext(), input, fn)
1363}
1364
1365// ListAnswersPagesWithContext same as ListAnswersPages except
1366// it takes a Context and allows setting request options on the pages.
1367//
1368// The context must be non-nil and will be used for request cancellation. If
1369// the context is nil a panic will occur. In the future the SDK may create
1370// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1371// for more information on using Contexts.
1372func (c *WellArchitected) ListAnswersPagesWithContext(ctx aws.Context, input *ListAnswersInput, fn func(*ListAnswersOutput, bool) bool, opts ...request.Option) error {
1373	p := request.Pagination{
1374		NewRequest: func() (*request.Request, error) {
1375			var inCpy *ListAnswersInput
1376			if input != nil {
1377				tmp := *input
1378				inCpy = &tmp
1379			}
1380			req, _ := c.ListAnswersRequest(inCpy)
1381			req.SetContext(ctx)
1382			req.ApplyOptions(opts...)
1383			return req, nil
1384		},
1385	}
1386
1387	for p.Next() {
1388		if !fn(p.Page().(*ListAnswersOutput), !p.HasNextPage()) {
1389			break
1390		}
1391	}
1392
1393	return p.Err()
1394}
1395
1396const opListLensReviewImprovements = "ListLensReviewImprovements"
1397
1398// ListLensReviewImprovementsRequest generates a "aws/request.Request" representing the
1399// client's request for the ListLensReviewImprovements operation. The "output" return
1400// value will be populated with the request's response once the request completes
1401// successfully.
1402//
1403// Use "Send" method on the returned Request to send the API call to the service.
1404// the "output" return value is not valid until after Send returns without error.
1405//
1406// See ListLensReviewImprovements for more information on using the ListLensReviewImprovements
1407// API call, and error handling.
1408//
1409// This method is useful when you want to inject custom logic or configuration
1410// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1411//
1412//
1413//    // Example sending a request using the ListLensReviewImprovementsRequest method.
1414//    req, resp := client.ListLensReviewImprovementsRequest(params)
1415//
1416//    err := req.Send()
1417//    if err == nil { // resp is now filled
1418//        fmt.Println(resp)
1419//    }
1420//
1421// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListLensReviewImprovements
1422func (c *WellArchitected) ListLensReviewImprovementsRequest(input *ListLensReviewImprovementsInput) (req *request.Request, output *ListLensReviewImprovementsOutput) {
1423	op := &request.Operation{
1424		Name:       opListLensReviewImprovements,
1425		HTTPMethod: "GET",
1426		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}/improvements",
1427		Paginator: &request.Paginator{
1428			InputTokens:     []string{"NextToken"},
1429			OutputTokens:    []string{"NextToken"},
1430			LimitToken:      "MaxResults",
1431			TruncationToken: "",
1432		},
1433	}
1434
1435	if input == nil {
1436		input = &ListLensReviewImprovementsInput{}
1437	}
1438
1439	output = &ListLensReviewImprovementsOutput{}
1440	req = c.newRequest(op, input, output)
1441	return
1442}
1443
1444// ListLensReviewImprovements API operation for AWS Well-Architected Tool.
1445//
1446// List lens review improvements.
1447//
1448// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1449// with awserr.Error's Code and Message methods to get detailed information about
1450// the error.
1451//
1452// See the AWS API reference guide for AWS Well-Architected Tool's
1453// API operation ListLensReviewImprovements for usage and error information.
1454//
1455// Returned Error Types:
1456//   * ValidationException
1457//   The user input is not valid.
1458//
1459//   * InternalServerException
1460//   There is a problem with the AWS Well-Architected Tool API service.
1461//
1462//   * ResourceNotFoundException
1463//   The requested resource was not found.
1464//
1465//   * AccessDeniedException
1466//   User does not have sufficient access to perform this action.
1467//
1468//   * ThrottlingException
1469//   Request was denied due to request throttling.
1470//
1471// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListLensReviewImprovements
1472func (c *WellArchitected) ListLensReviewImprovements(input *ListLensReviewImprovementsInput) (*ListLensReviewImprovementsOutput, error) {
1473	req, out := c.ListLensReviewImprovementsRequest(input)
1474	return out, req.Send()
1475}
1476
1477// ListLensReviewImprovementsWithContext is the same as ListLensReviewImprovements with the addition of
1478// the ability to pass a context and additional request options.
1479//
1480// See ListLensReviewImprovements for details on how to use this API operation.
1481//
1482// The context must be non-nil and will be used for request cancellation. If
1483// the context is nil a panic will occur. In the future the SDK may create
1484// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1485// for more information on using Contexts.
1486func (c *WellArchitected) ListLensReviewImprovementsWithContext(ctx aws.Context, input *ListLensReviewImprovementsInput, opts ...request.Option) (*ListLensReviewImprovementsOutput, error) {
1487	req, out := c.ListLensReviewImprovementsRequest(input)
1488	req.SetContext(ctx)
1489	req.ApplyOptions(opts...)
1490	return out, req.Send()
1491}
1492
1493// ListLensReviewImprovementsPages iterates over the pages of a ListLensReviewImprovements operation,
1494// calling the "fn" function with the response data for each page. To stop
1495// iterating, return false from the fn function.
1496//
1497// See ListLensReviewImprovements method for more information on how to use this operation.
1498//
1499// Note: This operation can generate multiple requests to a service.
1500//
1501//    // Example iterating over at most 3 pages of a ListLensReviewImprovements operation.
1502//    pageNum := 0
1503//    err := client.ListLensReviewImprovementsPages(params,
1504//        func(page *wellarchitected.ListLensReviewImprovementsOutput, lastPage bool) bool {
1505//            pageNum++
1506//            fmt.Println(page)
1507//            return pageNum <= 3
1508//        })
1509//
1510func (c *WellArchitected) ListLensReviewImprovementsPages(input *ListLensReviewImprovementsInput, fn func(*ListLensReviewImprovementsOutput, bool) bool) error {
1511	return c.ListLensReviewImprovementsPagesWithContext(aws.BackgroundContext(), input, fn)
1512}
1513
1514// ListLensReviewImprovementsPagesWithContext same as ListLensReviewImprovementsPages except
1515// it takes a Context and allows setting request options on the pages.
1516//
1517// The context must be non-nil and will be used for request cancellation. If
1518// the context is nil a panic will occur. In the future the SDK may create
1519// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1520// for more information on using Contexts.
1521func (c *WellArchitected) ListLensReviewImprovementsPagesWithContext(ctx aws.Context, input *ListLensReviewImprovementsInput, fn func(*ListLensReviewImprovementsOutput, bool) bool, opts ...request.Option) error {
1522	p := request.Pagination{
1523		NewRequest: func() (*request.Request, error) {
1524			var inCpy *ListLensReviewImprovementsInput
1525			if input != nil {
1526				tmp := *input
1527				inCpy = &tmp
1528			}
1529			req, _ := c.ListLensReviewImprovementsRequest(inCpy)
1530			req.SetContext(ctx)
1531			req.ApplyOptions(opts...)
1532			return req, nil
1533		},
1534	}
1535
1536	for p.Next() {
1537		if !fn(p.Page().(*ListLensReviewImprovementsOutput), !p.HasNextPage()) {
1538			break
1539		}
1540	}
1541
1542	return p.Err()
1543}
1544
1545const opListLensReviews = "ListLensReviews"
1546
1547// ListLensReviewsRequest generates a "aws/request.Request" representing the
1548// client's request for the ListLensReviews operation. The "output" return
1549// value will be populated with the request's response once the request completes
1550// successfully.
1551//
1552// Use "Send" method on the returned Request to send the API call to the service.
1553// the "output" return value is not valid until after Send returns without error.
1554//
1555// See ListLensReviews for more information on using the ListLensReviews
1556// API call, and error handling.
1557//
1558// This method is useful when you want to inject custom logic or configuration
1559// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1560//
1561//
1562//    // Example sending a request using the ListLensReviewsRequest method.
1563//    req, resp := client.ListLensReviewsRequest(params)
1564//
1565//    err := req.Send()
1566//    if err == nil { // resp is now filled
1567//        fmt.Println(resp)
1568//    }
1569//
1570// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListLensReviews
1571func (c *WellArchitected) ListLensReviewsRequest(input *ListLensReviewsInput) (req *request.Request, output *ListLensReviewsOutput) {
1572	op := &request.Operation{
1573		Name:       opListLensReviews,
1574		HTTPMethod: "GET",
1575		HTTPPath:   "/workloads/{WorkloadId}/lensReviews",
1576		Paginator: &request.Paginator{
1577			InputTokens:     []string{"NextToken"},
1578			OutputTokens:    []string{"NextToken"},
1579			LimitToken:      "MaxResults",
1580			TruncationToken: "",
1581		},
1582	}
1583
1584	if input == nil {
1585		input = &ListLensReviewsInput{}
1586	}
1587
1588	output = &ListLensReviewsOutput{}
1589	req = c.newRequest(op, input, output)
1590	return
1591}
1592
1593// ListLensReviews API operation for AWS Well-Architected Tool.
1594//
1595// List lens reviews.
1596//
1597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1598// with awserr.Error's Code and Message methods to get detailed information about
1599// the error.
1600//
1601// See the AWS API reference guide for AWS Well-Architected Tool's
1602// API operation ListLensReviews for usage and error information.
1603//
1604// Returned Error Types:
1605//   * ValidationException
1606//   The user input is not valid.
1607//
1608//   * InternalServerException
1609//   There is a problem with the AWS Well-Architected Tool API service.
1610//
1611//   * ResourceNotFoundException
1612//   The requested resource was not found.
1613//
1614//   * AccessDeniedException
1615//   User does not have sufficient access to perform this action.
1616//
1617//   * ThrottlingException
1618//   Request was denied due to request throttling.
1619//
1620// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListLensReviews
1621func (c *WellArchitected) ListLensReviews(input *ListLensReviewsInput) (*ListLensReviewsOutput, error) {
1622	req, out := c.ListLensReviewsRequest(input)
1623	return out, req.Send()
1624}
1625
1626// ListLensReviewsWithContext is the same as ListLensReviews with the addition of
1627// the ability to pass a context and additional request options.
1628//
1629// See ListLensReviews for details on how to use this API operation.
1630//
1631// The context must be non-nil and will be used for request cancellation. If
1632// the context is nil a panic will occur. In the future the SDK may create
1633// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1634// for more information on using Contexts.
1635func (c *WellArchitected) ListLensReviewsWithContext(ctx aws.Context, input *ListLensReviewsInput, opts ...request.Option) (*ListLensReviewsOutput, error) {
1636	req, out := c.ListLensReviewsRequest(input)
1637	req.SetContext(ctx)
1638	req.ApplyOptions(opts...)
1639	return out, req.Send()
1640}
1641
1642// ListLensReviewsPages iterates over the pages of a ListLensReviews operation,
1643// calling the "fn" function with the response data for each page. To stop
1644// iterating, return false from the fn function.
1645//
1646// See ListLensReviews method for more information on how to use this operation.
1647//
1648// Note: This operation can generate multiple requests to a service.
1649//
1650//    // Example iterating over at most 3 pages of a ListLensReviews operation.
1651//    pageNum := 0
1652//    err := client.ListLensReviewsPages(params,
1653//        func(page *wellarchitected.ListLensReviewsOutput, lastPage bool) bool {
1654//            pageNum++
1655//            fmt.Println(page)
1656//            return pageNum <= 3
1657//        })
1658//
1659func (c *WellArchitected) ListLensReviewsPages(input *ListLensReviewsInput, fn func(*ListLensReviewsOutput, bool) bool) error {
1660	return c.ListLensReviewsPagesWithContext(aws.BackgroundContext(), input, fn)
1661}
1662
1663// ListLensReviewsPagesWithContext same as ListLensReviewsPages except
1664// it takes a Context and allows setting request options on the pages.
1665//
1666// The context must be non-nil and will be used for request cancellation. If
1667// the context is nil a panic will occur. In the future the SDK may create
1668// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1669// for more information on using Contexts.
1670func (c *WellArchitected) ListLensReviewsPagesWithContext(ctx aws.Context, input *ListLensReviewsInput, fn func(*ListLensReviewsOutput, bool) bool, opts ...request.Option) error {
1671	p := request.Pagination{
1672		NewRequest: func() (*request.Request, error) {
1673			var inCpy *ListLensReviewsInput
1674			if input != nil {
1675				tmp := *input
1676				inCpy = &tmp
1677			}
1678			req, _ := c.ListLensReviewsRequest(inCpy)
1679			req.SetContext(ctx)
1680			req.ApplyOptions(opts...)
1681			return req, nil
1682		},
1683	}
1684
1685	for p.Next() {
1686		if !fn(p.Page().(*ListLensReviewsOutput), !p.HasNextPage()) {
1687			break
1688		}
1689	}
1690
1691	return p.Err()
1692}
1693
1694const opListLenses = "ListLenses"
1695
1696// ListLensesRequest generates a "aws/request.Request" representing the
1697// client's request for the ListLenses operation. The "output" return
1698// value will be populated with the request's response once the request completes
1699// successfully.
1700//
1701// Use "Send" method on the returned Request to send the API call to the service.
1702// the "output" return value is not valid until after Send returns without error.
1703//
1704// See ListLenses for more information on using the ListLenses
1705// API call, and error handling.
1706//
1707// This method is useful when you want to inject custom logic or configuration
1708// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1709//
1710//
1711//    // Example sending a request using the ListLensesRequest method.
1712//    req, resp := client.ListLensesRequest(params)
1713//
1714//    err := req.Send()
1715//    if err == nil { // resp is now filled
1716//        fmt.Println(resp)
1717//    }
1718//
1719// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListLenses
1720func (c *WellArchitected) ListLensesRequest(input *ListLensesInput) (req *request.Request, output *ListLensesOutput) {
1721	op := &request.Operation{
1722		Name:       opListLenses,
1723		HTTPMethod: "GET",
1724		HTTPPath:   "/lenses",
1725		Paginator: &request.Paginator{
1726			InputTokens:     []string{"NextToken"},
1727			OutputTokens:    []string{"NextToken"},
1728			LimitToken:      "MaxResults",
1729			TruncationToken: "",
1730		},
1731	}
1732
1733	if input == nil {
1734		input = &ListLensesInput{}
1735	}
1736
1737	output = &ListLensesOutput{}
1738	req = c.newRequest(op, input, output)
1739	return
1740}
1741
1742// ListLenses API operation for AWS Well-Architected Tool.
1743//
1744// List the available lenses.
1745//
1746// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1747// with awserr.Error's Code and Message methods to get detailed information about
1748// the error.
1749//
1750// See the AWS API reference guide for AWS Well-Architected Tool's
1751// API operation ListLenses for usage and error information.
1752//
1753// Returned Error Types:
1754//   * ValidationException
1755//   The user input is not valid.
1756//
1757//   * InternalServerException
1758//   There is a problem with the AWS Well-Architected Tool API service.
1759//
1760//   * AccessDeniedException
1761//   User does not have sufficient access to perform this action.
1762//
1763//   * ThrottlingException
1764//   Request was denied due to request throttling.
1765//
1766// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListLenses
1767func (c *WellArchitected) ListLenses(input *ListLensesInput) (*ListLensesOutput, error) {
1768	req, out := c.ListLensesRequest(input)
1769	return out, req.Send()
1770}
1771
1772// ListLensesWithContext is the same as ListLenses with the addition of
1773// the ability to pass a context and additional request options.
1774//
1775// See ListLenses for details on how to use this API operation.
1776//
1777// The context must be non-nil and will be used for request cancellation. If
1778// the context is nil a panic will occur. In the future the SDK may create
1779// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1780// for more information on using Contexts.
1781func (c *WellArchitected) ListLensesWithContext(ctx aws.Context, input *ListLensesInput, opts ...request.Option) (*ListLensesOutput, error) {
1782	req, out := c.ListLensesRequest(input)
1783	req.SetContext(ctx)
1784	req.ApplyOptions(opts...)
1785	return out, req.Send()
1786}
1787
1788// ListLensesPages iterates over the pages of a ListLenses operation,
1789// calling the "fn" function with the response data for each page. To stop
1790// iterating, return false from the fn function.
1791//
1792// See ListLenses method for more information on how to use this operation.
1793//
1794// Note: This operation can generate multiple requests to a service.
1795//
1796//    // Example iterating over at most 3 pages of a ListLenses operation.
1797//    pageNum := 0
1798//    err := client.ListLensesPages(params,
1799//        func(page *wellarchitected.ListLensesOutput, lastPage bool) bool {
1800//            pageNum++
1801//            fmt.Println(page)
1802//            return pageNum <= 3
1803//        })
1804//
1805func (c *WellArchitected) ListLensesPages(input *ListLensesInput, fn func(*ListLensesOutput, bool) bool) error {
1806	return c.ListLensesPagesWithContext(aws.BackgroundContext(), input, fn)
1807}
1808
1809// ListLensesPagesWithContext same as ListLensesPages except
1810// it takes a Context and allows setting request options on the pages.
1811//
1812// The context must be non-nil and will be used for request cancellation. If
1813// the context is nil a panic will occur. In the future the SDK may create
1814// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1815// for more information on using Contexts.
1816func (c *WellArchitected) ListLensesPagesWithContext(ctx aws.Context, input *ListLensesInput, fn func(*ListLensesOutput, bool) bool, opts ...request.Option) error {
1817	p := request.Pagination{
1818		NewRequest: func() (*request.Request, error) {
1819			var inCpy *ListLensesInput
1820			if input != nil {
1821				tmp := *input
1822				inCpy = &tmp
1823			}
1824			req, _ := c.ListLensesRequest(inCpy)
1825			req.SetContext(ctx)
1826			req.ApplyOptions(opts...)
1827			return req, nil
1828		},
1829	}
1830
1831	for p.Next() {
1832		if !fn(p.Page().(*ListLensesOutput), !p.HasNextPage()) {
1833			break
1834		}
1835	}
1836
1837	return p.Err()
1838}
1839
1840const opListMilestones = "ListMilestones"
1841
1842// ListMilestonesRequest generates a "aws/request.Request" representing the
1843// client's request for the ListMilestones operation. The "output" return
1844// value will be populated with the request's response once the request completes
1845// successfully.
1846//
1847// Use "Send" method on the returned Request to send the API call to the service.
1848// the "output" return value is not valid until after Send returns without error.
1849//
1850// See ListMilestones for more information on using the ListMilestones
1851// API call, and error handling.
1852//
1853// This method is useful when you want to inject custom logic or configuration
1854// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1855//
1856//
1857//    // Example sending a request using the ListMilestonesRequest method.
1858//    req, resp := client.ListMilestonesRequest(params)
1859//
1860//    err := req.Send()
1861//    if err == nil { // resp is now filled
1862//        fmt.Println(resp)
1863//    }
1864//
1865// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListMilestones
1866func (c *WellArchitected) ListMilestonesRequest(input *ListMilestonesInput) (req *request.Request, output *ListMilestonesOutput) {
1867	op := &request.Operation{
1868		Name:       opListMilestones,
1869		HTTPMethod: "POST",
1870		HTTPPath:   "/workloads/{WorkloadId}/milestonesSummaries",
1871		Paginator: &request.Paginator{
1872			InputTokens:     []string{"NextToken"},
1873			OutputTokens:    []string{"NextToken"},
1874			LimitToken:      "MaxResults",
1875			TruncationToken: "",
1876		},
1877	}
1878
1879	if input == nil {
1880		input = &ListMilestonesInput{}
1881	}
1882
1883	output = &ListMilestonesOutput{}
1884	req = c.newRequest(op, input, output)
1885	return
1886}
1887
1888// ListMilestones API operation for AWS Well-Architected Tool.
1889//
1890// List all milestones for an existing workload.
1891//
1892// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1893// with awserr.Error's Code and Message methods to get detailed information about
1894// the error.
1895//
1896// See the AWS API reference guide for AWS Well-Architected Tool's
1897// API operation ListMilestones for usage and error information.
1898//
1899// Returned Error Types:
1900//   * ValidationException
1901//   The user input is not valid.
1902//
1903//   * InternalServerException
1904//   There is a problem with the AWS Well-Architected Tool API service.
1905//
1906//   * ResourceNotFoundException
1907//   The requested resource was not found.
1908//
1909//   * AccessDeniedException
1910//   User does not have sufficient access to perform this action.
1911//
1912//   * ThrottlingException
1913//   Request was denied due to request throttling.
1914//
1915// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListMilestones
1916func (c *WellArchitected) ListMilestones(input *ListMilestonesInput) (*ListMilestonesOutput, error) {
1917	req, out := c.ListMilestonesRequest(input)
1918	return out, req.Send()
1919}
1920
1921// ListMilestonesWithContext is the same as ListMilestones with the addition of
1922// the ability to pass a context and additional request options.
1923//
1924// See ListMilestones for details on how to use this API operation.
1925//
1926// The context must be non-nil and will be used for request cancellation. If
1927// the context is nil a panic will occur. In the future the SDK may create
1928// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1929// for more information on using Contexts.
1930func (c *WellArchitected) ListMilestonesWithContext(ctx aws.Context, input *ListMilestonesInput, opts ...request.Option) (*ListMilestonesOutput, error) {
1931	req, out := c.ListMilestonesRequest(input)
1932	req.SetContext(ctx)
1933	req.ApplyOptions(opts...)
1934	return out, req.Send()
1935}
1936
1937// ListMilestonesPages iterates over the pages of a ListMilestones operation,
1938// calling the "fn" function with the response data for each page. To stop
1939// iterating, return false from the fn function.
1940//
1941// See ListMilestones method for more information on how to use this operation.
1942//
1943// Note: This operation can generate multiple requests to a service.
1944//
1945//    // Example iterating over at most 3 pages of a ListMilestones operation.
1946//    pageNum := 0
1947//    err := client.ListMilestonesPages(params,
1948//        func(page *wellarchitected.ListMilestonesOutput, lastPage bool) bool {
1949//            pageNum++
1950//            fmt.Println(page)
1951//            return pageNum <= 3
1952//        })
1953//
1954func (c *WellArchitected) ListMilestonesPages(input *ListMilestonesInput, fn func(*ListMilestonesOutput, bool) bool) error {
1955	return c.ListMilestonesPagesWithContext(aws.BackgroundContext(), input, fn)
1956}
1957
1958// ListMilestonesPagesWithContext same as ListMilestonesPages except
1959// it takes a Context and allows setting request options on the pages.
1960//
1961// The context must be non-nil and will be used for request cancellation. If
1962// the context is nil a panic will occur. In the future the SDK may create
1963// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1964// for more information on using Contexts.
1965func (c *WellArchitected) ListMilestonesPagesWithContext(ctx aws.Context, input *ListMilestonesInput, fn func(*ListMilestonesOutput, bool) bool, opts ...request.Option) error {
1966	p := request.Pagination{
1967		NewRequest: func() (*request.Request, error) {
1968			var inCpy *ListMilestonesInput
1969			if input != nil {
1970				tmp := *input
1971				inCpy = &tmp
1972			}
1973			req, _ := c.ListMilestonesRequest(inCpy)
1974			req.SetContext(ctx)
1975			req.ApplyOptions(opts...)
1976			return req, nil
1977		},
1978	}
1979
1980	for p.Next() {
1981		if !fn(p.Page().(*ListMilestonesOutput), !p.HasNextPage()) {
1982			break
1983		}
1984	}
1985
1986	return p.Err()
1987}
1988
1989const opListNotifications = "ListNotifications"
1990
1991// ListNotificationsRequest generates a "aws/request.Request" representing the
1992// client's request for the ListNotifications operation. The "output" return
1993// value will be populated with the request's response once the request completes
1994// successfully.
1995//
1996// Use "Send" method on the returned Request to send the API call to the service.
1997// the "output" return value is not valid until after Send returns without error.
1998//
1999// See ListNotifications for more information on using the ListNotifications
2000// API call, and error handling.
2001//
2002// This method is useful when you want to inject custom logic or configuration
2003// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2004//
2005//
2006//    // Example sending a request using the ListNotificationsRequest method.
2007//    req, resp := client.ListNotificationsRequest(params)
2008//
2009//    err := req.Send()
2010//    if err == nil { // resp is now filled
2011//        fmt.Println(resp)
2012//    }
2013//
2014// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListNotifications
2015func (c *WellArchitected) ListNotificationsRequest(input *ListNotificationsInput) (req *request.Request, output *ListNotificationsOutput) {
2016	op := &request.Operation{
2017		Name:       opListNotifications,
2018		HTTPMethod: "POST",
2019		HTTPPath:   "/notifications",
2020		Paginator: &request.Paginator{
2021			InputTokens:     []string{"NextToken"},
2022			OutputTokens:    []string{"NextToken"},
2023			LimitToken:      "MaxResults",
2024			TruncationToken: "",
2025		},
2026	}
2027
2028	if input == nil {
2029		input = &ListNotificationsInput{}
2030	}
2031
2032	output = &ListNotificationsOutput{}
2033	req = c.newRequest(op, input, output)
2034	return
2035}
2036
2037// ListNotifications API operation for AWS Well-Architected Tool.
2038//
2039// List lens notifications.
2040//
2041// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2042// with awserr.Error's Code and Message methods to get detailed information about
2043// the error.
2044//
2045// See the AWS API reference guide for AWS Well-Architected Tool's
2046// API operation ListNotifications for usage and error information.
2047//
2048// Returned Error Types:
2049//   * ValidationException
2050//   The user input is not valid.
2051//
2052//   * InternalServerException
2053//   There is a problem with the AWS Well-Architected Tool API service.
2054//
2055//   * AccessDeniedException
2056//   User does not have sufficient access to perform this action.
2057//
2058//   * ThrottlingException
2059//   Request was denied due to request throttling.
2060//
2061// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListNotifications
2062func (c *WellArchitected) ListNotifications(input *ListNotificationsInput) (*ListNotificationsOutput, error) {
2063	req, out := c.ListNotificationsRequest(input)
2064	return out, req.Send()
2065}
2066
2067// ListNotificationsWithContext is the same as ListNotifications with the addition of
2068// the ability to pass a context and additional request options.
2069//
2070// See ListNotifications for details on how to use this API operation.
2071//
2072// The context must be non-nil and will be used for request cancellation. If
2073// the context is nil a panic will occur. In the future the SDK may create
2074// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2075// for more information on using Contexts.
2076func (c *WellArchitected) ListNotificationsWithContext(ctx aws.Context, input *ListNotificationsInput, opts ...request.Option) (*ListNotificationsOutput, error) {
2077	req, out := c.ListNotificationsRequest(input)
2078	req.SetContext(ctx)
2079	req.ApplyOptions(opts...)
2080	return out, req.Send()
2081}
2082
2083// ListNotificationsPages iterates over the pages of a ListNotifications operation,
2084// calling the "fn" function with the response data for each page. To stop
2085// iterating, return false from the fn function.
2086//
2087// See ListNotifications method for more information on how to use this operation.
2088//
2089// Note: This operation can generate multiple requests to a service.
2090//
2091//    // Example iterating over at most 3 pages of a ListNotifications operation.
2092//    pageNum := 0
2093//    err := client.ListNotificationsPages(params,
2094//        func(page *wellarchitected.ListNotificationsOutput, lastPage bool) bool {
2095//            pageNum++
2096//            fmt.Println(page)
2097//            return pageNum <= 3
2098//        })
2099//
2100func (c *WellArchitected) ListNotificationsPages(input *ListNotificationsInput, fn func(*ListNotificationsOutput, bool) bool) error {
2101	return c.ListNotificationsPagesWithContext(aws.BackgroundContext(), input, fn)
2102}
2103
2104// ListNotificationsPagesWithContext same as ListNotificationsPages except
2105// it takes a Context and allows setting request options on the pages.
2106//
2107// The context must be non-nil and will be used for request cancellation. If
2108// the context is nil a panic will occur. In the future the SDK may create
2109// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2110// for more information on using Contexts.
2111func (c *WellArchitected) ListNotificationsPagesWithContext(ctx aws.Context, input *ListNotificationsInput, fn func(*ListNotificationsOutput, bool) bool, opts ...request.Option) error {
2112	p := request.Pagination{
2113		NewRequest: func() (*request.Request, error) {
2114			var inCpy *ListNotificationsInput
2115			if input != nil {
2116				tmp := *input
2117				inCpy = &tmp
2118			}
2119			req, _ := c.ListNotificationsRequest(inCpy)
2120			req.SetContext(ctx)
2121			req.ApplyOptions(opts...)
2122			return req, nil
2123		},
2124	}
2125
2126	for p.Next() {
2127		if !fn(p.Page().(*ListNotificationsOutput), !p.HasNextPage()) {
2128			break
2129		}
2130	}
2131
2132	return p.Err()
2133}
2134
2135const opListShareInvitations = "ListShareInvitations"
2136
2137// ListShareInvitationsRequest generates a "aws/request.Request" representing the
2138// client's request for the ListShareInvitations operation. The "output" return
2139// value will be populated with the request's response once the request completes
2140// successfully.
2141//
2142// Use "Send" method on the returned Request to send the API call to the service.
2143// the "output" return value is not valid until after Send returns without error.
2144//
2145// See ListShareInvitations for more information on using the ListShareInvitations
2146// API call, and error handling.
2147//
2148// This method is useful when you want to inject custom logic or configuration
2149// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2150//
2151//
2152//    // Example sending a request using the ListShareInvitationsRequest method.
2153//    req, resp := client.ListShareInvitationsRequest(params)
2154//
2155//    err := req.Send()
2156//    if err == nil { // resp is now filled
2157//        fmt.Println(resp)
2158//    }
2159//
2160// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListShareInvitations
2161func (c *WellArchitected) ListShareInvitationsRequest(input *ListShareInvitationsInput) (req *request.Request, output *ListShareInvitationsOutput) {
2162	op := &request.Operation{
2163		Name:       opListShareInvitations,
2164		HTTPMethod: "GET",
2165		HTTPPath:   "/shareInvitations",
2166		Paginator: &request.Paginator{
2167			InputTokens:     []string{"NextToken"},
2168			OutputTokens:    []string{"NextToken"},
2169			LimitToken:      "MaxResults",
2170			TruncationToken: "",
2171		},
2172	}
2173
2174	if input == nil {
2175		input = &ListShareInvitationsInput{}
2176	}
2177
2178	output = &ListShareInvitationsOutput{}
2179	req = c.newRequest(op, input, output)
2180	return
2181}
2182
2183// ListShareInvitations API operation for AWS Well-Architected Tool.
2184//
2185// List the workload invitations.
2186//
2187// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2188// with awserr.Error's Code and Message methods to get detailed information about
2189// the error.
2190//
2191// See the AWS API reference guide for AWS Well-Architected Tool's
2192// API operation ListShareInvitations for usage and error information.
2193//
2194// Returned Error Types:
2195//   * ValidationException
2196//   The user input is not valid.
2197//
2198//   * InternalServerException
2199//   There is a problem with the AWS Well-Architected Tool API service.
2200//
2201//   * AccessDeniedException
2202//   User does not have sufficient access to perform this action.
2203//
2204//   * ThrottlingException
2205//   Request was denied due to request throttling.
2206//
2207// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListShareInvitations
2208func (c *WellArchitected) ListShareInvitations(input *ListShareInvitationsInput) (*ListShareInvitationsOutput, error) {
2209	req, out := c.ListShareInvitationsRequest(input)
2210	return out, req.Send()
2211}
2212
2213// ListShareInvitationsWithContext is the same as ListShareInvitations with the addition of
2214// the ability to pass a context and additional request options.
2215//
2216// See ListShareInvitations for details on how to use this API operation.
2217//
2218// The context must be non-nil and will be used for request cancellation. If
2219// the context is nil a panic will occur. In the future the SDK may create
2220// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2221// for more information on using Contexts.
2222func (c *WellArchitected) ListShareInvitationsWithContext(ctx aws.Context, input *ListShareInvitationsInput, opts ...request.Option) (*ListShareInvitationsOutput, error) {
2223	req, out := c.ListShareInvitationsRequest(input)
2224	req.SetContext(ctx)
2225	req.ApplyOptions(opts...)
2226	return out, req.Send()
2227}
2228
2229// ListShareInvitationsPages iterates over the pages of a ListShareInvitations operation,
2230// calling the "fn" function with the response data for each page. To stop
2231// iterating, return false from the fn function.
2232//
2233// See ListShareInvitations method for more information on how to use this operation.
2234//
2235// Note: This operation can generate multiple requests to a service.
2236//
2237//    // Example iterating over at most 3 pages of a ListShareInvitations operation.
2238//    pageNum := 0
2239//    err := client.ListShareInvitationsPages(params,
2240//        func(page *wellarchitected.ListShareInvitationsOutput, lastPage bool) bool {
2241//            pageNum++
2242//            fmt.Println(page)
2243//            return pageNum <= 3
2244//        })
2245//
2246func (c *WellArchitected) ListShareInvitationsPages(input *ListShareInvitationsInput, fn func(*ListShareInvitationsOutput, bool) bool) error {
2247	return c.ListShareInvitationsPagesWithContext(aws.BackgroundContext(), input, fn)
2248}
2249
2250// ListShareInvitationsPagesWithContext same as ListShareInvitationsPages except
2251// it takes a Context and allows setting request options on the pages.
2252//
2253// The context must be non-nil and will be used for request cancellation. If
2254// the context is nil a panic will occur. In the future the SDK may create
2255// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2256// for more information on using Contexts.
2257func (c *WellArchitected) ListShareInvitationsPagesWithContext(ctx aws.Context, input *ListShareInvitationsInput, fn func(*ListShareInvitationsOutput, bool) bool, opts ...request.Option) error {
2258	p := request.Pagination{
2259		NewRequest: func() (*request.Request, error) {
2260			var inCpy *ListShareInvitationsInput
2261			if input != nil {
2262				tmp := *input
2263				inCpy = &tmp
2264			}
2265			req, _ := c.ListShareInvitationsRequest(inCpy)
2266			req.SetContext(ctx)
2267			req.ApplyOptions(opts...)
2268			return req, nil
2269		},
2270	}
2271
2272	for p.Next() {
2273		if !fn(p.Page().(*ListShareInvitationsOutput), !p.HasNextPage()) {
2274			break
2275		}
2276	}
2277
2278	return p.Err()
2279}
2280
2281const opListTagsForResource = "ListTagsForResource"
2282
2283// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2284// client's request for the ListTagsForResource operation. The "output" return
2285// value will be populated with the request's response once the request completes
2286// successfully.
2287//
2288// Use "Send" method on the returned Request to send the API call to the service.
2289// the "output" return value is not valid until after Send returns without error.
2290//
2291// See ListTagsForResource for more information on using the ListTagsForResource
2292// API call, and error handling.
2293//
2294// This method is useful when you want to inject custom logic or configuration
2295// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2296//
2297//
2298//    // Example sending a request using the ListTagsForResourceRequest method.
2299//    req, resp := client.ListTagsForResourceRequest(params)
2300//
2301//    err := req.Send()
2302//    if err == nil { // resp is now filled
2303//        fmt.Println(resp)
2304//    }
2305//
2306// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListTagsForResource
2307func (c *WellArchitected) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2308	op := &request.Operation{
2309		Name:       opListTagsForResource,
2310		HTTPMethod: "GET",
2311		HTTPPath:   "/tags/{WorkloadArn}",
2312	}
2313
2314	if input == nil {
2315		input = &ListTagsForResourceInput{}
2316	}
2317
2318	output = &ListTagsForResourceOutput{}
2319	req = c.newRequest(op, input, output)
2320	return
2321}
2322
2323// ListTagsForResource API operation for AWS Well-Architected Tool.
2324//
2325// List the tags for a resource.
2326//
2327// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2328// with awserr.Error's Code and Message methods to get detailed information about
2329// the error.
2330//
2331// See the AWS API reference guide for AWS Well-Architected Tool's
2332// API operation ListTagsForResource for usage and error information.
2333//
2334// Returned Error Types:
2335//   * InternalServerException
2336//   There is a problem with the AWS Well-Architected Tool API service.
2337//
2338//   * ResourceNotFoundException
2339//   The requested resource was not found.
2340//
2341// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListTagsForResource
2342func (c *WellArchitected) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2343	req, out := c.ListTagsForResourceRequest(input)
2344	return out, req.Send()
2345}
2346
2347// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2348// the ability to pass a context and additional request options.
2349//
2350// See ListTagsForResource for details on how to use this API operation.
2351//
2352// The context must be non-nil and will be used for request cancellation. If
2353// the context is nil a panic will occur. In the future the SDK may create
2354// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2355// for more information on using Contexts.
2356func (c *WellArchitected) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2357	req, out := c.ListTagsForResourceRequest(input)
2358	req.SetContext(ctx)
2359	req.ApplyOptions(opts...)
2360	return out, req.Send()
2361}
2362
2363const opListWorkloadShares = "ListWorkloadShares"
2364
2365// ListWorkloadSharesRequest generates a "aws/request.Request" representing the
2366// client's request for the ListWorkloadShares operation. The "output" return
2367// value will be populated with the request's response once the request completes
2368// successfully.
2369//
2370// Use "Send" method on the returned Request to send the API call to the service.
2371// the "output" return value is not valid until after Send returns without error.
2372//
2373// See ListWorkloadShares for more information on using the ListWorkloadShares
2374// API call, and error handling.
2375//
2376// This method is useful when you want to inject custom logic or configuration
2377// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2378//
2379//
2380//    // Example sending a request using the ListWorkloadSharesRequest method.
2381//    req, resp := client.ListWorkloadSharesRequest(params)
2382//
2383//    err := req.Send()
2384//    if err == nil { // resp is now filled
2385//        fmt.Println(resp)
2386//    }
2387//
2388// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListWorkloadShares
2389func (c *WellArchitected) ListWorkloadSharesRequest(input *ListWorkloadSharesInput) (req *request.Request, output *ListWorkloadSharesOutput) {
2390	op := &request.Operation{
2391		Name:       opListWorkloadShares,
2392		HTTPMethod: "GET",
2393		HTTPPath:   "/workloads/{WorkloadId}/shares",
2394		Paginator: &request.Paginator{
2395			InputTokens:     []string{"NextToken"},
2396			OutputTokens:    []string{"NextToken"},
2397			LimitToken:      "MaxResults",
2398			TruncationToken: "",
2399		},
2400	}
2401
2402	if input == nil {
2403		input = &ListWorkloadSharesInput{}
2404	}
2405
2406	output = &ListWorkloadSharesOutput{}
2407	req = c.newRequest(op, input, output)
2408	return
2409}
2410
2411// ListWorkloadShares API operation for AWS Well-Architected Tool.
2412//
2413// List the workload shares associated with the workload.
2414//
2415// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2416// with awserr.Error's Code and Message methods to get detailed information about
2417// the error.
2418//
2419// See the AWS API reference guide for AWS Well-Architected Tool's
2420// API operation ListWorkloadShares for usage and error information.
2421//
2422// Returned Error Types:
2423//   * ValidationException
2424//   The user input is not valid.
2425//
2426//   * InternalServerException
2427//   There is a problem with the AWS Well-Architected Tool API service.
2428//
2429//   * ResourceNotFoundException
2430//   The requested resource was not found.
2431//
2432//   * AccessDeniedException
2433//   User does not have sufficient access to perform this action.
2434//
2435//   * ThrottlingException
2436//   Request was denied due to request throttling.
2437//
2438// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListWorkloadShares
2439func (c *WellArchitected) ListWorkloadShares(input *ListWorkloadSharesInput) (*ListWorkloadSharesOutput, error) {
2440	req, out := c.ListWorkloadSharesRequest(input)
2441	return out, req.Send()
2442}
2443
2444// ListWorkloadSharesWithContext is the same as ListWorkloadShares with the addition of
2445// the ability to pass a context and additional request options.
2446//
2447// See ListWorkloadShares for details on how to use this API operation.
2448//
2449// The context must be non-nil and will be used for request cancellation. If
2450// the context is nil a panic will occur. In the future the SDK may create
2451// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2452// for more information on using Contexts.
2453func (c *WellArchitected) ListWorkloadSharesWithContext(ctx aws.Context, input *ListWorkloadSharesInput, opts ...request.Option) (*ListWorkloadSharesOutput, error) {
2454	req, out := c.ListWorkloadSharesRequest(input)
2455	req.SetContext(ctx)
2456	req.ApplyOptions(opts...)
2457	return out, req.Send()
2458}
2459
2460// ListWorkloadSharesPages iterates over the pages of a ListWorkloadShares operation,
2461// calling the "fn" function with the response data for each page. To stop
2462// iterating, return false from the fn function.
2463//
2464// See ListWorkloadShares method for more information on how to use this operation.
2465//
2466// Note: This operation can generate multiple requests to a service.
2467//
2468//    // Example iterating over at most 3 pages of a ListWorkloadShares operation.
2469//    pageNum := 0
2470//    err := client.ListWorkloadSharesPages(params,
2471//        func(page *wellarchitected.ListWorkloadSharesOutput, lastPage bool) bool {
2472//            pageNum++
2473//            fmt.Println(page)
2474//            return pageNum <= 3
2475//        })
2476//
2477func (c *WellArchitected) ListWorkloadSharesPages(input *ListWorkloadSharesInput, fn func(*ListWorkloadSharesOutput, bool) bool) error {
2478	return c.ListWorkloadSharesPagesWithContext(aws.BackgroundContext(), input, fn)
2479}
2480
2481// ListWorkloadSharesPagesWithContext same as ListWorkloadSharesPages except
2482// it takes a Context and allows setting request options on the pages.
2483//
2484// The context must be non-nil and will be used for request cancellation. If
2485// the context is nil a panic will occur. In the future the SDK may create
2486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2487// for more information on using Contexts.
2488func (c *WellArchitected) ListWorkloadSharesPagesWithContext(ctx aws.Context, input *ListWorkloadSharesInput, fn func(*ListWorkloadSharesOutput, bool) bool, opts ...request.Option) error {
2489	p := request.Pagination{
2490		NewRequest: func() (*request.Request, error) {
2491			var inCpy *ListWorkloadSharesInput
2492			if input != nil {
2493				tmp := *input
2494				inCpy = &tmp
2495			}
2496			req, _ := c.ListWorkloadSharesRequest(inCpy)
2497			req.SetContext(ctx)
2498			req.ApplyOptions(opts...)
2499			return req, nil
2500		},
2501	}
2502
2503	for p.Next() {
2504		if !fn(p.Page().(*ListWorkloadSharesOutput), !p.HasNextPage()) {
2505			break
2506		}
2507	}
2508
2509	return p.Err()
2510}
2511
2512const opListWorkloads = "ListWorkloads"
2513
2514// ListWorkloadsRequest generates a "aws/request.Request" representing the
2515// client's request for the ListWorkloads operation. The "output" return
2516// value will be populated with the request's response once the request completes
2517// successfully.
2518//
2519// Use "Send" method on the returned Request to send the API call to the service.
2520// the "output" return value is not valid until after Send returns without error.
2521//
2522// See ListWorkloads for more information on using the ListWorkloads
2523// API call, and error handling.
2524//
2525// This method is useful when you want to inject custom logic or configuration
2526// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2527//
2528//
2529//    // Example sending a request using the ListWorkloadsRequest method.
2530//    req, resp := client.ListWorkloadsRequest(params)
2531//
2532//    err := req.Send()
2533//    if err == nil { // resp is now filled
2534//        fmt.Println(resp)
2535//    }
2536//
2537// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListWorkloads
2538func (c *WellArchitected) ListWorkloadsRequest(input *ListWorkloadsInput) (req *request.Request, output *ListWorkloadsOutput) {
2539	op := &request.Operation{
2540		Name:       opListWorkloads,
2541		HTTPMethod: "POST",
2542		HTTPPath:   "/workloadsSummaries",
2543		Paginator: &request.Paginator{
2544			InputTokens:     []string{"NextToken"},
2545			OutputTokens:    []string{"NextToken"},
2546			LimitToken:      "MaxResults",
2547			TruncationToken: "",
2548		},
2549	}
2550
2551	if input == nil {
2552		input = &ListWorkloadsInput{}
2553	}
2554
2555	output = &ListWorkloadsOutput{}
2556	req = c.newRequest(op, input, output)
2557	return
2558}
2559
2560// ListWorkloads API operation for AWS Well-Architected Tool.
2561//
2562// List workloads. Paginated.
2563//
2564// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2565// with awserr.Error's Code and Message methods to get detailed information about
2566// the error.
2567//
2568// See the AWS API reference guide for AWS Well-Architected Tool's
2569// API operation ListWorkloads for usage and error information.
2570//
2571// Returned Error Types:
2572//   * ValidationException
2573//   The user input is not valid.
2574//
2575//   * InternalServerException
2576//   There is a problem with the AWS Well-Architected Tool API service.
2577//
2578//   * AccessDeniedException
2579//   User does not have sufficient access to perform this action.
2580//
2581//   * ThrottlingException
2582//   Request was denied due to request throttling.
2583//
2584// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListWorkloads
2585func (c *WellArchitected) ListWorkloads(input *ListWorkloadsInput) (*ListWorkloadsOutput, error) {
2586	req, out := c.ListWorkloadsRequest(input)
2587	return out, req.Send()
2588}
2589
2590// ListWorkloadsWithContext is the same as ListWorkloads with the addition of
2591// the ability to pass a context and additional request options.
2592//
2593// See ListWorkloads for details on how to use this API operation.
2594//
2595// The context must be non-nil and will be used for request cancellation. If
2596// the context is nil a panic will occur. In the future the SDK may create
2597// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2598// for more information on using Contexts.
2599func (c *WellArchitected) ListWorkloadsWithContext(ctx aws.Context, input *ListWorkloadsInput, opts ...request.Option) (*ListWorkloadsOutput, error) {
2600	req, out := c.ListWorkloadsRequest(input)
2601	req.SetContext(ctx)
2602	req.ApplyOptions(opts...)
2603	return out, req.Send()
2604}
2605
2606// ListWorkloadsPages iterates over the pages of a ListWorkloads operation,
2607// calling the "fn" function with the response data for each page. To stop
2608// iterating, return false from the fn function.
2609//
2610// See ListWorkloads method for more information on how to use this operation.
2611//
2612// Note: This operation can generate multiple requests to a service.
2613//
2614//    // Example iterating over at most 3 pages of a ListWorkloads operation.
2615//    pageNum := 0
2616//    err := client.ListWorkloadsPages(params,
2617//        func(page *wellarchitected.ListWorkloadsOutput, lastPage bool) bool {
2618//            pageNum++
2619//            fmt.Println(page)
2620//            return pageNum <= 3
2621//        })
2622//
2623func (c *WellArchitected) ListWorkloadsPages(input *ListWorkloadsInput, fn func(*ListWorkloadsOutput, bool) bool) error {
2624	return c.ListWorkloadsPagesWithContext(aws.BackgroundContext(), input, fn)
2625}
2626
2627// ListWorkloadsPagesWithContext same as ListWorkloadsPages except
2628// it takes a Context and allows setting request options on the pages.
2629//
2630// The context must be non-nil and will be used for request cancellation. If
2631// the context is nil a panic will occur. In the future the SDK may create
2632// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2633// for more information on using Contexts.
2634func (c *WellArchitected) ListWorkloadsPagesWithContext(ctx aws.Context, input *ListWorkloadsInput, fn func(*ListWorkloadsOutput, bool) bool, opts ...request.Option) error {
2635	p := request.Pagination{
2636		NewRequest: func() (*request.Request, error) {
2637			var inCpy *ListWorkloadsInput
2638			if input != nil {
2639				tmp := *input
2640				inCpy = &tmp
2641			}
2642			req, _ := c.ListWorkloadsRequest(inCpy)
2643			req.SetContext(ctx)
2644			req.ApplyOptions(opts...)
2645			return req, nil
2646		},
2647	}
2648
2649	for p.Next() {
2650		if !fn(p.Page().(*ListWorkloadsOutput), !p.HasNextPage()) {
2651			break
2652		}
2653	}
2654
2655	return p.Err()
2656}
2657
2658const opTagResource = "TagResource"
2659
2660// TagResourceRequest generates a "aws/request.Request" representing the
2661// client's request for the TagResource operation. The "output" return
2662// value will be populated with the request's response once the request completes
2663// successfully.
2664//
2665// Use "Send" method on the returned Request to send the API call to the service.
2666// the "output" return value is not valid until after Send returns without error.
2667//
2668// See TagResource for more information on using the TagResource
2669// API call, and error handling.
2670//
2671// This method is useful when you want to inject custom logic or configuration
2672// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2673//
2674//
2675//    // Example sending a request using the TagResourceRequest method.
2676//    req, resp := client.TagResourceRequest(params)
2677//
2678//    err := req.Send()
2679//    if err == nil { // resp is now filled
2680//        fmt.Println(resp)
2681//    }
2682//
2683// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/TagResource
2684func (c *WellArchitected) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2685	op := &request.Operation{
2686		Name:       opTagResource,
2687		HTTPMethod: "POST",
2688		HTTPPath:   "/tags/{WorkloadArn}",
2689	}
2690
2691	if input == nil {
2692		input = &TagResourceInput{}
2693	}
2694
2695	output = &TagResourceOutput{}
2696	req = c.newRequest(op, input, output)
2697	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2698	return
2699}
2700
2701// TagResource API operation for AWS Well-Architected Tool.
2702//
2703// Adds one or more tags to the specified resource.
2704//
2705// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2706// with awserr.Error's Code and Message methods to get detailed information about
2707// the error.
2708//
2709// See the AWS API reference guide for AWS Well-Architected Tool's
2710// API operation TagResource for usage and error information.
2711//
2712// Returned Error Types:
2713//   * InternalServerException
2714//   There is a problem with the AWS Well-Architected Tool API service.
2715//
2716//   * ResourceNotFoundException
2717//   The requested resource was not found.
2718//
2719// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/TagResource
2720func (c *WellArchitected) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2721	req, out := c.TagResourceRequest(input)
2722	return out, req.Send()
2723}
2724
2725// TagResourceWithContext is the same as TagResource with the addition of
2726// the ability to pass a context and additional request options.
2727//
2728// See TagResource for details on how to use this API operation.
2729//
2730// The context must be non-nil and will be used for request cancellation. If
2731// the context is nil a panic will occur. In the future the SDK may create
2732// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2733// for more information on using Contexts.
2734func (c *WellArchitected) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2735	req, out := c.TagResourceRequest(input)
2736	req.SetContext(ctx)
2737	req.ApplyOptions(opts...)
2738	return out, req.Send()
2739}
2740
2741const opUntagResource = "UntagResource"
2742
2743// UntagResourceRequest generates a "aws/request.Request" representing the
2744// client's request for the UntagResource operation. The "output" return
2745// value will be populated with the request's response once the request completes
2746// successfully.
2747//
2748// Use "Send" method on the returned Request to send the API call to the service.
2749// the "output" return value is not valid until after Send returns without error.
2750//
2751// See UntagResource for more information on using the UntagResource
2752// API call, and error handling.
2753//
2754// This method is useful when you want to inject custom logic or configuration
2755// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2756//
2757//
2758//    // Example sending a request using the UntagResourceRequest method.
2759//    req, resp := client.UntagResourceRequest(params)
2760//
2761//    err := req.Send()
2762//    if err == nil { // resp is now filled
2763//        fmt.Println(resp)
2764//    }
2765//
2766// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UntagResource
2767func (c *WellArchitected) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2768	op := &request.Operation{
2769		Name:       opUntagResource,
2770		HTTPMethod: "DELETE",
2771		HTTPPath:   "/tags/{WorkloadArn}",
2772	}
2773
2774	if input == nil {
2775		input = &UntagResourceInput{}
2776	}
2777
2778	output = &UntagResourceOutput{}
2779	req = c.newRequest(op, input, output)
2780	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2781	return
2782}
2783
2784// UntagResource API operation for AWS Well-Architected Tool.
2785//
2786// Deletes specified tags from a resource.
2787//
2788// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2789// with awserr.Error's Code and Message methods to get detailed information about
2790// the error.
2791//
2792// See the AWS API reference guide for AWS Well-Architected Tool's
2793// API operation UntagResource for usage and error information.
2794//
2795// Returned Error Types:
2796//   * InternalServerException
2797//   There is a problem with the AWS Well-Architected Tool API service.
2798//
2799//   * ResourceNotFoundException
2800//   The requested resource was not found.
2801//
2802// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UntagResource
2803func (c *WellArchitected) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2804	req, out := c.UntagResourceRequest(input)
2805	return out, req.Send()
2806}
2807
2808// UntagResourceWithContext is the same as UntagResource with the addition of
2809// the ability to pass a context and additional request options.
2810//
2811// See UntagResource for details on how to use this API operation.
2812//
2813// The context must be non-nil and will be used for request cancellation. If
2814// the context is nil a panic will occur. In the future the SDK may create
2815// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2816// for more information on using Contexts.
2817func (c *WellArchitected) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2818	req, out := c.UntagResourceRequest(input)
2819	req.SetContext(ctx)
2820	req.ApplyOptions(opts...)
2821	return out, req.Send()
2822}
2823
2824const opUpdateAnswer = "UpdateAnswer"
2825
2826// UpdateAnswerRequest generates a "aws/request.Request" representing the
2827// client's request for the UpdateAnswer operation. The "output" return
2828// value will be populated with the request's response once the request completes
2829// successfully.
2830//
2831// Use "Send" method on the returned Request to send the API call to the service.
2832// the "output" return value is not valid until after Send returns without error.
2833//
2834// See UpdateAnswer for more information on using the UpdateAnswer
2835// API call, and error handling.
2836//
2837// This method is useful when you want to inject custom logic or configuration
2838// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2839//
2840//
2841//    // Example sending a request using the UpdateAnswerRequest method.
2842//    req, resp := client.UpdateAnswerRequest(params)
2843//
2844//    err := req.Send()
2845//    if err == nil { // resp is now filled
2846//        fmt.Println(resp)
2847//    }
2848//
2849// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateAnswer
2850func (c *WellArchitected) UpdateAnswerRequest(input *UpdateAnswerInput) (req *request.Request, output *UpdateAnswerOutput) {
2851	op := &request.Operation{
2852		Name:       opUpdateAnswer,
2853		HTTPMethod: "PATCH",
2854		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}/answers/{QuestionId}",
2855	}
2856
2857	if input == nil {
2858		input = &UpdateAnswerInput{}
2859	}
2860
2861	output = &UpdateAnswerOutput{}
2862	req = c.newRequest(op, input, output)
2863	return
2864}
2865
2866// UpdateAnswer API operation for AWS Well-Architected Tool.
2867//
2868// Update the answer to a specific question in a workload review.
2869//
2870// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2871// with awserr.Error's Code and Message methods to get detailed information about
2872// the error.
2873//
2874// See the AWS API reference guide for AWS Well-Architected Tool's
2875// API operation UpdateAnswer for usage and error information.
2876//
2877// Returned Error Types:
2878//   * ValidationException
2879//   The user input is not valid.
2880//
2881//   * ResourceNotFoundException
2882//   The requested resource was not found.
2883//
2884//   * ConflictException
2885//   The resource already exists.
2886//
2887//   * InternalServerException
2888//   There is a problem with the AWS Well-Architected Tool API service.
2889//
2890//   * AccessDeniedException
2891//   User does not have sufficient access to perform this action.
2892//
2893//   * ThrottlingException
2894//   Request was denied due to request throttling.
2895//
2896// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateAnswer
2897func (c *WellArchitected) UpdateAnswer(input *UpdateAnswerInput) (*UpdateAnswerOutput, error) {
2898	req, out := c.UpdateAnswerRequest(input)
2899	return out, req.Send()
2900}
2901
2902// UpdateAnswerWithContext is the same as UpdateAnswer with the addition of
2903// the ability to pass a context and additional request options.
2904//
2905// See UpdateAnswer for details on how to use this API operation.
2906//
2907// The context must be non-nil and will be used for request cancellation. If
2908// the context is nil a panic will occur. In the future the SDK may create
2909// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2910// for more information on using Contexts.
2911func (c *WellArchitected) UpdateAnswerWithContext(ctx aws.Context, input *UpdateAnswerInput, opts ...request.Option) (*UpdateAnswerOutput, error) {
2912	req, out := c.UpdateAnswerRequest(input)
2913	req.SetContext(ctx)
2914	req.ApplyOptions(opts...)
2915	return out, req.Send()
2916}
2917
2918const opUpdateLensReview = "UpdateLensReview"
2919
2920// UpdateLensReviewRequest generates a "aws/request.Request" representing the
2921// client's request for the UpdateLensReview operation. The "output" return
2922// value will be populated with the request's response once the request completes
2923// successfully.
2924//
2925// Use "Send" method on the returned Request to send the API call to the service.
2926// the "output" return value is not valid until after Send returns without error.
2927//
2928// See UpdateLensReview for more information on using the UpdateLensReview
2929// API call, and error handling.
2930//
2931// This method is useful when you want to inject custom logic or configuration
2932// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2933//
2934//
2935//    // Example sending a request using the UpdateLensReviewRequest method.
2936//    req, resp := client.UpdateLensReviewRequest(params)
2937//
2938//    err := req.Send()
2939//    if err == nil { // resp is now filled
2940//        fmt.Println(resp)
2941//    }
2942//
2943// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateLensReview
2944func (c *WellArchitected) UpdateLensReviewRequest(input *UpdateLensReviewInput) (req *request.Request, output *UpdateLensReviewOutput) {
2945	op := &request.Operation{
2946		Name:       opUpdateLensReview,
2947		HTTPMethod: "PATCH",
2948		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}",
2949	}
2950
2951	if input == nil {
2952		input = &UpdateLensReviewInput{}
2953	}
2954
2955	output = &UpdateLensReviewOutput{}
2956	req = c.newRequest(op, input, output)
2957	return
2958}
2959
2960// UpdateLensReview API operation for AWS Well-Architected Tool.
2961//
2962// Update lens review.
2963//
2964// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2965// with awserr.Error's Code and Message methods to get detailed information about
2966// the error.
2967//
2968// See the AWS API reference guide for AWS Well-Architected Tool's
2969// API operation UpdateLensReview for usage and error information.
2970//
2971// Returned Error Types:
2972//   * ValidationException
2973//   The user input is not valid.
2974//
2975//   * ResourceNotFoundException
2976//   The requested resource was not found.
2977//
2978//   * ConflictException
2979//   The resource already exists.
2980//
2981//   * InternalServerException
2982//   There is a problem with the AWS Well-Architected Tool API service.
2983//
2984//   * AccessDeniedException
2985//   User does not have sufficient access to perform this action.
2986//
2987//   * ThrottlingException
2988//   Request was denied due to request throttling.
2989//
2990// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateLensReview
2991func (c *WellArchitected) UpdateLensReview(input *UpdateLensReviewInput) (*UpdateLensReviewOutput, error) {
2992	req, out := c.UpdateLensReviewRequest(input)
2993	return out, req.Send()
2994}
2995
2996// UpdateLensReviewWithContext is the same as UpdateLensReview with the addition of
2997// the ability to pass a context and additional request options.
2998//
2999// See UpdateLensReview for details on how to use this API operation.
3000//
3001// The context must be non-nil and will be used for request cancellation. If
3002// the context is nil a panic will occur. In the future the SDK may create
3003// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3004// for more information on using Contexts.
3005func (c *WellArchitected) UpdateLensReviewWithContext(ctx aws.Context, input *UpdateLensReviewInput, opts ...request.Option) (*UpdateLensReviewOutput, error) {
3006	req, out := c.UpdateLensReviewRequest(input)
3007	req.SetContext(ctx)
3008	req.ApplyOptions(opts...)
3009	return out, req.Send()
3010}
3011
3012const opUpdateShareInvitation = "UpdateShareInvitation"
3013
3014// UpdateShareInvitationRequest generates a "aws/request.Request" representing the
3015// client's request for the UpdateShareInvitation operation. The "output" return
3016// value will be populated with the request's response once the request completes
3017// successfully.
3018//
3019// Use "Send" method on the returned Request to send the API call to the service.
3020// the "output" return value is not valid until after Send returns without error.
3021//
3022// See UpdateShareInvitation for more information on using the UpdateShareInvitation
3023// API call, and error handling.
3024//
3025// This method is useful when you want to inject custom logic or configuration
3026// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3027//
3028//
3029//    // Example sending a request using the UpdateShareInvitationRequest method.
3030//    req, resp := client.UpdateShareInvitationRequest(params)
3031//
3032//    err := req.Send()
3033//    if err == nil { // resp is now filled
3034//        fmt.Println(resp)
3035//    }
3036//
3037// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateShareInvitation
3038func (c *WellArchitected) UpdateShareInvitationRequest(input *UpdateShareInvitationInput) (req *request.Request, output *UpdateShareInvitationOutput) {
3039	op := &request.Operation{
3040		Name:       opUpdateShareInvitation,
3041		HTTPMethod: "PATCH",
3042		HTTPPath:   "/shareInvitations/{ShareInvitationId}",
3043	}
3044
3045	if input == nil {
3046		input = &UpdateShareInvitationInput{}
3047	}
3048
3049	output = &UpdateShareInvitationOutput{}
3050	req = c.newRequest(op, input, output)
3051	return
3052}
3053
3054// UpdateShareInvitation API operation for AWS Well-Architected Tool.
3055//
3056// Update a workload invitation.
3057//
3058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3059// with awserr.Error's Code and Message methods to get detailed information about
3060// the error.
3061//
3062// See the AWS API reference guide for AWS Well-Architected Tool's
3063// API operation UpdateShareInvitation for usage and error information.
3064//
3065// Returned Error Types:
3066//   * ValidationException
3067//   The user input is not valid.
3068//
3069//   * InternalServerException
3070//   There is a problem with the AWS Well-Architected Tool API service.
3071//
3072//   * ResourceNotFoundException
3073//   The requested resource was not found.
3074//
3075//   * ConflictException
3076//   The resource already exists.
3077//
3078//   * AccessDeniedException
3079//   User does not have sufficient access to perform this action.
3080//
3081//   * ThrottlingException
3082//   Request was denied due to request throttling.
3083//
3084// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateShareInvitation
3085func (c *WellArchitected) UpdateShareInvitation(input *UpdateShareInvitationInput) (*UpdateShareInvitationOutput, error) {
3086	req, out := c.UpdateShareInvitationRequest(input)
3087	return out, req.Send()
3088}
3089
3090// UpdateShareInvitationWithContext is the same as UpdateShareInvitation with the addition of
3091// the ability to pass a context and additional request options.
3092//
3093// See UpdateShareInvitation for details on how to use this API operation.
3094//
3095// The context must be non-nil and will be used for request cancellation. If
3096// the context is nil a panic will occur. In the future the SDK may create
3097// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3098// for more information on using Contexts.
3099func (c *WellArchitected) UpdateShareInvitationWithContext(ctx aws.Context, input *UpdateShareInvitationInput, opts ...request.Option) (*UpdateShareInvitationOutput, error) {
3100	req, out := c.UpdateShareInvitationRequest(input)
3101	req.SetContext(ctx)
3102	req.ApplyOptions(opts...)
3103	return out, req.Send()
3104}
3105
3106const opUpdateWorkload = "UpdateWorkload"
3107
3108// UpdateWorkloadRequest generates a "aws/request.Request" representing the
3109// client's request for the UpdateWorkload operation. The "output" return
3110// value will be populated with the request's response once the request completes
3111// successfully.
3112//
3113// Use "Send" method on the returned Request to send the API call to the service.
3114// the "output" return value is not valid until after Send returns without error.
3115//
3116// See UpdateWorkload for more information on using the UpdateWorkload
3117// API call, and error handling.
3118//
3119// This method is useful when you want to inject custom logic or configuration
3120// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3121//
3122//
3123//    // Example sending a request using the UpdateWorkloadRequest method.
3124//    req, resp := client.UpdateWorkloadRequest(params)
3125//
3126//    err := req.Send()
3127//    if err == nil { // resp is now filled
3128//        fmt.Println(resp)
3129//    }
3130//
3131// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateWorkload
3132func (c *WellArchitected) UpdateWorkloadRequest(input *UpdateWorkloadInput) (req *request.Request, output *UpdateWorkloadOutput) {
3133	op := &request.Operation{
3134		Name:       opUpdateWorkload,
3135		HTTPMethod: "PATCH",
3136		HTTPPath:   "/workloads/{WorkloadId}",
3137	}
3138
3139	if input == nil {
3140		input = &UpdateWorkloadInput{}
3141	}
3142
3143	output = &UpdateWorkloadOutput{}
3144	req = c.newRequest(op, input, output)
3145	return
3146}
3147
3148// UpdateWorkload API operation for AWS Well-Architected Tool.
3149//
3150// Update an existing workload.
3151//
3152// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3153// with awserr.Error's Code and Message methods to get detailed information about
3154// the error.
3155//
3156// See the AWS API reference guide for AWS Well-Architected Tool's
3157// API operation UpdateWorkload for usage and error information.
3158//
3159// Returned Error Types:
3160//   * ValidationException
3161//   The user input is not valid.
3162//
3163//   * ResourceNotFoundException
3164//   The requested resource was not found.
3165//
3166//   * ConflictException
3167//   The resource already exists.
3168//
3169//   * InternalServerException
3170//   There is a problem with the AWS Well-Architected Tool API service.
3171//
3172//   * AccessDeniedException
3173//   User does not have sufficient access to perform this action.
3174//
3175//   * ThrottlingException
3176//   Request was denied due to request throttling.
3177//
3178// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateWorkload
3179func (c *WellArchitected) UpdateWorkload(input *UpdateWorkloadInput) (*UpdateWorkloadOutput, error) {
3180	req, out := c.UpdateWorkloadRequest(input)
3181	return out, req.Send()
3182}
3183
3184// UpdateWorkloadWithContext is the same as UpdateWorkload with the addition of
3185// the ability to pass a context and additional request options.
3186//
3187// See UpdateWorkload for details on how to use this API operation.
3188//
3189// The context must be non-nil and will be used for request cancellation. If
3190// the context is nil a panic will occur. In the future the SDK may create
3191// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3192// for more information on using Contexts.
3193func (c *WellArchitected) UpdateWorkloadWithContext(ctx aws.Context, input *UpdateWorkloadInput, opts ...request.Option) (*UpdateWorkloadOutput, error) {
3194	req, out := c.UpdateWorkloadRequest(input)
3195	req.SetContext(ctx)
3196	req.ApplyOptions(opts...)
3197	return out, req.Send()
3198}
3199
3200const opUpdateWorkloadShare = "UpdateWorkloadShare"
3201
3202// UpdateWorkloadShareRequest generates a "aws/request.Request" representing the
3203// client's request for the UpdateWorkloadShare operation. The "output" return
3204// value will be populated with the request's response once the request completes
3205// successfully.
3206//
3207// Use "Send" method on the returned Request to send the API call to the service.
3208// the "output" return value is not valid until after Send returns without error.
3209//
3210// See UpdateWorkloadShare for more information on using the UpdateWorkloadShare
3211// API call, and error handling.
3212//
3213// This method is useful when you want to inject custom logic or configuration
3214// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3215//
3216//
3217//    // Example sending a request using the UpdateWorkloadShareRequest method.
3218//    req, resp := client.UpdateWorkloadShareRequest(params)
3219//
3220//    err := req.Send()
3221//    if err == nil { // resp is now filled
3222//        fmt.Println(resp)
3223//    }
3224//
3225// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateWorkloadShare
3226func (c *WellArchitected) UpdateWorkloadShareRequest(input *UpdateWorkloadShareInput) (req *request.Request, output *UpdateWorkloadShareOutput) {
3227	op := &request.Operation{
3228		Name:       opUpdateWorkloadShare,
3229		HTTPMethod: "PATCH",
3230		HTTPPath:   "/workloads/{WorkloadId}/shares/{ShareId}",
3231	}
3232
3233	if input == nil {
3234		input = &UpdateWorkloadShareInput{}
3235	}
3236
3237	output = &UpdateWorkloadShareOutput{}
3238	req = c.newRequest(op, input, output)
3239	return
3240}
3241
3242// UpdateWorkloadShare API operation for AWS Well-Architected Tool.
3243//
3244// Update a workload share.
3245//
3246// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3247// with awserr.Error's Code and Message methods to get detailed information about
3248// the error.
3249//
3250// See the AWS API reference guide for AWS Well-Architected Tool's
3251// API operation UpdateWorkloadShare for usage and error information.
3252//
3253// Returned Error Types:
3254//   * ValidationException
3255//   The user input is not valid.
3256//
3257//   * InternalServerException
3258//   There is a problem with the AWS Well-Architected Tool API service.
3259//
3260//   * ResourceNotFoundException
3261//   The requested resource was not found.
3262//
3263//   * ConflictException
3264//   The resource already exists.
3265//
3266//   * AccessDeniedException
3267//   User does not have sufficient access to perform this action.
3268//
3269//   * ThrottlingException
3270//   Request was denied due to request throttling.
3271//
3272// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateWorkloadShare
3273func (c *WellArchitected) UpdateWorkloadShare(input *UpdateWorkloadShareInput) (*UpdateWorkloadShareOutput, error) {
3274	req, out := c.UpdateWorkloadShareRequest(input)
3275	return out, req.Send()
3276}
3277
3278// UpdateWorkloadShareWithContext is the same as UpdateWorkloadShare with the addition of
3279// the ability to pass a context and additional request options.
3280//
3281// See UpdateWorkloadShare for details on how to use this API operation.
3282//
3283// The context must be non-nil and will be used for request cancellation. If
3284// the context is nil a panic will occur. In the future the SDK may create
3285// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3286// for more information on using Contexts.
3287func (c *WellArchitected) UpdateWorkloadShareWithContext(ctx aws.Context, input *UpdateWorkloadShareInput, opts ...request.Option) (*UpdateWorkloadShareOutput, error) {
3288	req, out := c.UpdateWorkloadShareRequest(input)
3289	req.SetContext(ctx)
3290	req.ApplyOptions(opts...)
3291	return out, req.Send()
3292}
3293
3294const opUpgradeLensReview = "UpgradeLensReview"
3295
3296// UpgradeLensReviewRequest generates a "aws/request.Request" representing the
3297// client's request for the UpgradeLensReview operation. The "output" return
3298// value will be populated with the request's response once the request completes
3299// successfully.
3300//
3301// Use "Send" method on the returned Request to send the API call to the service.
3302// the "output" return value is not valid until after Send returns without error.
3303//
3304// See UpgradeLensReview for more information on using the UpgradeLensReview
3305// API call, and error handling.
3306//
3307// This method is useful when you want to inject custom logic or configuration
3308// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3309//
3310//
3311//    // Example sending a request using the UpgradeLensReviewRequest method.
3312//    req, resp := client.UpgradeLensReviewRequest(params)
3313//
3314//    err := req.Send()
3315//    if err == nil { // resp is now filled
3316//        fmt.Println(resp)
3317//    }
3318//
3319// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpgradeLensReview
3320func (c *WellArchitected) UpgradeLensReviewRequest(input *UpgradeLensReviewInput) (req *request.Request, output *UpgradeLensReviewOutput) {
3321	op := &request.Operation{
3322		Name:       opUpgradeLensReview,
3323		HTTPMethod: "PUT",
3324		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}/upgrade",
3325	}
3326
3327	if input == nil {
3328		input = &UpgradeLensReviewInput{}
3329	}
3330
3331	output = &UpgradeLensReviewOutput{}
3332	req = c.newRequest(op, input, output)
3333	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3334	return
3335}
3336
3337// UpgradeLensReview API operation for AWS Well-Architected Tool.
3338//
3339// Upgrade lens review.
3340//
3341// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3342// with awserr.Error's Code and Message methods to get detailed information about
3343// the error.
3344//
3345// See the AWS API reference guide for AWS Well-Architected Tool's
3346// API operation UpgradeLensReview for usage and error information.
3347//
3348// Returned Error Types:
3349//   * ValidationException
3350//   The user input is not valid.
3351//
3352//   * ResourceNotFoundException
3353//   The requested resource was not found.
3354//
3355//   * ConflictException
3356//   The resource already exists.
3357//
3358//   * InternalServerException
3359//   There is a problem with the AWS Well-Architected Tool API service.
3360//
3361//   * AccessDeniedException
3362//   User does not have sufficient access to perform this action.
3363//
3364//   * ThrottlingException
3365//   Request was denied due to request throttling.
3366//
3367// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpgradeLensReview
3368func (c *WellArchitected) UpgradeLensReview(input *UpgradeLensReviewInput) (*UpgradeLensReviewOutput, error) {
3369	req, out := c.UpgradeLensReviewRequest(input)
3370	return out, req.Send()
3371}
3372
3373// UpgradeLensReviewWithContext is the same as UpgradeLensReview with the addition of
3374// the ability to pass a context and additional request options.
3375//
3376// See UpgradeLensReview for details on how to use this API operation.
3377//
3378// The context must be non-nil and will be used for request cancellation. If
3379// the context is nil a panic will occur. In the future the SDK may create
3380// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3381// for more information on using Contexts.
3382func (c *WellArchitected) UpgradeLensReviewWithContext(ctx aws.Context, input *UpgradeLensReviewInput, opts ...request.Option) (*UpgradeLensReviewOutput, error) {
3383	req, out := c.UpgradeLensReviewRequest(input)
3384	req.SetContext(ctx)
3385	req.ApplyOptions(opts...)
3386	return out, req.Send()
3387}
3388
3389// User does not have sufficient access to perform this action.
3390type AccessDeniedException struct {
3391	_            struct{}                  `type:"structure"`
3392	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3393
3394	// Description of the error.
3395	Message_ *string `locationName:"Message" type:"string"`
3396}
3397
3398// String returns the string representation
3399func (s AccessDeniedException) String() string {
3400	return awsutil.Prettify(s)
3401}
3402
3403// GoString returns the string representation
3404func (s AccessDeniedException) GoString() string {
3405	return s.String()
3406}
3407
3408func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
3409	return &AccessDeniedException{
3410		RespMetadata: v,
3411	}
3412}
3413
3414// Code returns the exception type name.
3415func (s *AccessDeniedException) Code() string {
3416	return "AccessDeniedException"
3417}
3418
3419// Message returns the exception's message.
3420func (s *AccessDeniedException) Message() string {
3421	if s.Message_ != nil {
3422		return *s.Message_
3423	}
3424	return ""
3425}
3426
3427// OrigErr always returns nil, satisfies awserr.Error interface.
3428func (s *AccessDeniedException) OrigErr() error {
3429	return nil
3430}
3431
3432func (s *AccessDeniedException) Error() string {
3433	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3434}
3435
3436// Status code returns the HTTP status code for the request's response error.
3437func (s *AccessDeniedException) StatusCode() int {
3438	return s.RespMetadata.StatusCode
3439}
3440
3441// RequestID returns the service's response RequestID for request.
3442func (s *AccessDeniedException) RequestID() string {
3443	return s.RespMetadata.RequestID
3444}
3445
3446// An answer of the question.
3447type Answer struct {
3448	_ struct{} `type:"structure"`
3449
3450	// List of choices available for a question.
3451	Choices []*Choice `type:"list"`
3452
3453	// The helpful resource URL for a question.
3454	HelpfulResourceUrl *string `min:"1" type:"string"`
3455
3456	// The improvement plan URL for a question.
3457	ImprovementPlanUrl *string `min:"1" type:"string"`
3458
3459	// Defines whether this question is applicable to a lens review.
3460	IsApplicable *bool `type:"boolean"`
3461
3462	// The notes associated with the workload.
3463	Notes *string `type:"string"`
3464
3465	// The ID used to identify a pillar, for example, security.
3466	//
3467	// A pillar is identified by its PillarReviewSummary$PillarId.
3468	PillarId *string `min:"1" type:"string"`
3469
3470	// The description of the question.
3471	QuestionDescription *string `min:"1" type:"string"`
3472
3473	// The ID of the question.
3474	QuestionId *string `min:"1" type:"string"`
3475
3476	// The title of the question.
3477	QuestionTitle *string `min:"1" type:"string"`
3478
3479	// The risk for a given workload, lens review, pillar, or question.
3480	Risk *string `type:"string" enum:"Risk"`
3481
3482	// List of selected choice IDs in a question answer.
3483	//
3484	// The values entered replace the previously selected choices.
3485	SelectedChoices []*string `type:"list"`
3486}
3487
3488// String returns the string representation
3489func (s Answer) String() string {
3490	return awsutil.Prettify(s)
3491}
3492
3493// GoString returns the string representation
3494func (s Answer) GoString() string {
3495	return s.String()
3496}
3497
3498// SetChoices sets the Choices field's value.
3499func (s *Answer) SetChoices(v []*Choice) *Answer {
3500	s.Choices = v
3501	return s
3502}
3503
3504// SetHelpfulResourceUrl sets the HelpfulResourceUrl field's value.
3505func (s *Answer) SetHelpfulResourceUrl(v string) *Answer {
3506	s.HelpfulResourceUrl = &v
3507	return s
3508}
3509
3510// SetImprovementPlanUrl sets the ImprovementPlanUrl field's value.
3511func (s *Answer) SetImprovementPlanUrl(v string) *Answer {
3512	s.ImprovementPlanUrl = &v
3513	return s
3514}
3515
3516// SetIsApplicable sets the IsApplicable field's value.
3517func (s *Answer) SetIsApplicable(v bool) *Answer {
3518	s.IsApplicable = &v
3519	return s
3520}
3521
3522// SetNotes sets the Notes field's value.
3523func (s *Answer) SetNotes(v string) *Answer {
3524	s.Notes = &v
3525	return s
3526}
3527
3528// SetPillarId sets the PillarId field's value.
3529func (s *Answer) SetPillarId(v string) *Answer {
3530	s.PillarId = &v
3531	return s
3532}
3533
3534// SetQuestionDescription sets the QuestionDescription field's value.
3535func (s *Answer) SetQuestionDescription(v string) *Answer {
3536	s.QuestionDescription = &v
3537	return s
3538}
3539
3540// SetQuestionId sets the QuestionId field's value.
3541func (s *Answer) SetQuestionId(v string) *Answer {
3542	s.QuestionId = &v
3543	return s
3544}
3545
3546// SetQuestionTitle sets the QuestionTitle field's value.
3547func (s *Answer) SetQuestionTitle(v string) *Answer {
3548	s.QuestionTitle = &v
3549	return s
3550}
3551
3552// SetRisk sets the Risk field's value.
3553func (s *Answer) SetRisk(v string) *Answer {
3554	s.Risk = &v
3555	return s
3556}
3557
3558// SetSelectedChoices sets the SelectedChoices field's value.
3559func (s *Answer) SetSelectedChoices(v []*string) *Answer {
3560	s.SelectedChoices = v
3561	return s
3562}
3563
3564// An answer summary of a lens review in a workload.
3565type AnswerSummary struct {
3566	_ struct{} `type:"structure"`
3567
3568	// List of choices available for a question.
3569	Choices []*Choice `type:"list"`
3570
3571	// Defines whether this question is applicable to a lens review.
3572	IsApplicable *bool `type:"boolean"`
3573
3574	// The ID used to identify a pillar, for example, security.
3575	//
3576	// A pillar is identified by its PillarReviewSummary$PillarId.
3577	PillarId *string `min:"1" type:"string"`
3578
3579	// The ID of the question.
3580	QuestionId *string `min:"1" type:"string"`
3581
3582	// The title of the question.
3583	QuestionTitle *string `min:"1" type:"string"`
3584
3585	// The risk for a given workload, lens review, pillar, or question.
3586	Risk *string `type:"string" enum:"Risk"`
3587
3588	// List of selected choice IDs in a question answer.
3589	//
3590	// The values entered replace the previously selected choices.
3591	SelectedChoices []*string `type:"list"`
3592}
3593
3594// String returns the string representation
3595func (s AnswerSummary) String() string {
3596	return awsutil.Prettify(s)
3597}
3598
3599// GoString returns the string representation
3600func (s AnswerSummary) GoString() string {
3601	return s.String()
3602}
3603
3604// SetChoices sets the Choices field's value.
3605func (s *AnswerSummary) SetChoices(v []*Choice) *AnswerSummary {
3606	s.Choices = v
3607	return s
3608}
3609
3610// SetIsApplicable sets the IsApplicable field's value.
3611func (s *AnswerSummary) SetIsApplicable(v bool) *AnswerSummary {
3612	s.IsApplicable = &v
3613	return s
3614}
3615
3616// SetPillarId sets the PillarId field's value.
3617func (s *AnswerSummary) SetPillarId(v string) *AnswerSummary {
3618	s.PillarId = &v
3619	return s
3620}
3621
3622// SetQuestionId sets the QuestionId field's value.
3623func (s *AnswerSummary) SetQuestionId(v string) *AnswerSummary {
3624	s.QuestionId = &v
3625	return s
3626}
3627
3628// SetQuestionTitle sets the QuestionTitle field's value.
3629func (s *AnswerSummary) SetQuestionTitle(v string) *AnswerSummary {
3630	s.QuestionTitle = &v
3631	return s
3632}
3633
3634// SetRisk sets the Risk field's value.
3635func (s *AnswerSummary) SetRisk(v string) *AnswerSummary {
3636	s.Risk = &v
3637	return s
3638}
3639
3640// SetSelectedChoices sets the SelectedChoices field's value.
3641func (s *AnswerSummary) SetSelectedChoices(v []*string) *AnswerSummary {
3642	s.SelectedChoices = v
3643	return s
3644}
3645
3646// Input to associate lens reviews.
3647type AssociateLensesInput struct {
3648	_ struct{} `type:"structure"`
3649
3650	// List of lens aliases to associate or disassociate with a workload.
3651	//
3652	// Identify a lens using its LensSummary$LensAlias.
3653	//
3654	// LensAliases is a required field
3655	LensAliases []*string `min:"1" type:"list" required:"true"`
3656
3657	// The ID assigned to the workload. This ID is unique within an AWS Region.
3658	//
3659	// WorkloadId is a required field
3660	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
3661}
3662
3663// String returns the string representation
3664func (s AssociateLensesInput) String() string {
3665	return awsutil.Prettify(s)
3666}
3667
3668// GoString returns the string representation
3669func (s AssociateLensesInput) GoString() string {
3670	return s.String()
3671}
3672
3673// Validate inspects the fields of the type to determine if they are valid.
3674func (s *AssociateLensesInput) Validate() error {
3675	invalidParams := request.ErrInvalidParams{Context: "AssociateLensesInput"}
3676	if s.LensAliases == nil {
3677		invalidParams.Add(request.NewErrParamRequired("LensAliases"))
3678	}
3679	if s.LensAliases != nil && len(s.LensAliases) < 1 {
3680		invalidParams.Add(request.NewErrParamMinLen("LensAliases", 1))
3681	}
3682	if s.WorkloadId == nil {
3683		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
3684	}
3685	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
3686		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
3687	}
3688
3689	if invalidParams.Len() > 0 {
3690		return invalidParams
3691	}
3692	return nil
3693}
3694
3695// SetLensAliases sets the LensAliases field's value.
3696func (s *AssociateLensesInput) SetLensAliases(v []*string) *AssociateLensesInput {
3697	s.LensAliases = v
3698	return s
3699}
3700
3701// SetWorkloadId sets the WorkloadId field's value.
3702func (s *AssociateLensesInput) SetWorkloadId(v string) *AssociateLensesInput {
3703	s.WorkloadId = &v
3704	return s
3705}
3706
3707type AssociateLensesOutput struct {
3708	_ struct{} `type:"structure"`
3709}
3710
3711// String returns the string representation
3712func (s AssociateLensesOutput) String() string {
3713	return awsutil.Prettify(s)
3714}
3715
3716// GoString returns the string representation
3717func (s AssociateLensesOutput) GoString() string {
3718	return s.String()
3719}
3720
3721// A choice available to answer question.
3722type Choice struct {
3723	_ struct{} `type:"structure"`
3724
3725	// The ID of a choice.
3726	ChoiceId *string `min:"1" type:"string"`
3727
3728	// The description of a choice.
3729	Description *string `min:"1" type:"string"`
3730
3731	// The title of a choice.
3732	Title *string `min:"1" type:"string"`
3733}
3734
3735// String returns the string representation
3736func (s Choice) String() string {
3737	return awsutil.Prettify(s)
3738}
3739
3740// GoString returns the string representation
3741func (s Choice) GoString() string {
3742	return s.String()
3743}
3744
3745// SetChoiceId sets the ChoiceId field's value.
3746func (s *Choice) SetChoiceId(v string) *Choice {
3747	s.ChoiceId = &v
3748	return s
3749}
3750
3751// SetDescription sets the Description field's value.
3752func (s *Choice) SetDescription(v string) *Choice {
3753	s.Description = &v
3754	return s
3755}
3756
3757// SetTitle sets the Title field's value.
3758func (s *Choice) SetTitle(v string) *Choice {
3759	s.Title = &v
3760	return s
3761}
3762
3763// The resource already exists.
3764type ConflictException struct {
3765	_            struct{}                  `type:"structure"`
3766	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3767
3768	// Description of the error.
3769	Message_ *string `locationName:"Message" type:"string"`
3770
3771	// Identifier of the resource affected.
3772	//
3773	// ResourceId is a required field
3774	ResourceId *string `type:"string" required:"true"`
3775
3776	// Type of the resource affected.
3777	//
3778	// ResourceType is a required field
3779	ResourceType *string `type:"string" required:"true"`
3780}
3781
3782// String returns the string representation
3783func (s ConflictException) String() string {
3784	return awsutil.Prettify(s)
3785}
3786
3787// GoString returns the string representation
3788func (s ConflictException) GoString() string {
3789	return s.String()
3790}
3791
3792func newErrorConflictException(v protocol.ResponseMetadata) error {
3793	return &ConflictException{
3794		RespMetadata: v,
3795	}
3796}
3797
3798// Code returns the exception type name.
3799func (s *ConflictException) Code() string {
3800	return "ConflictException"
3801}
3802
3803// Message returns the exception's message.
3804func (s *ConflictException) Message() string {
3805	if s.Message_ != nil {
3806		return *s.Message_
3807	}
3808	return ""
3809}
3810
3811// OrigErr always returns nil, satisfies awserr.Error interface.
3812func (s *ConflictException) OrigErr() error {
3813	return nil
3814}
3815
3816func (s *ConflictException) Error() string {
3817	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
3818}
3819
3820// Status code returns the HTTP status code for the request's response error.
3821func (s *ConflictException) StatusCode() int {
3822	return s.RespMetadata.StatusCode
3823}
3824
3825// RequestID returns the service's response RequestID for request.
3826func (s *ConflictException) RequestID() string {
3827	return s.RespMetadata.RequestID
3828}
3829
3830// Input for milestone creation.
3831type CreateMilestoneInput struct {
3832	_ struct{} `type:"structure"`
3833
3834	// A unique case-sensitive string used to ensure that this request is idempotent
3835	// (executes only once).
3836	//
3837	// You should not reuse the same token for other requests. If you retry a request
3838	// with the same client request token and the same parameters after it has completed
3839	// successfully, the result of the original request is returned.
3840	//
3841	// This token is listed as required, however, if you do not specify it, the
3842	// AWS SDKs automatically generate one for you. If you are not using the AWS
3843	// SDK or the AWS CLI, you must provide this token or the request will fail.
3844	ClientRequestToken *string `type:"string" idempotencyToken:"true"`
3845
3846	// The name of the milestone in a workload.
3847	//
3848	// Milestone names must be unique within a workload.
3849	//
3850	// MilestoneName is a required field
3851	MilestoneName *string `min:"3" type:"string" required:"true"`
3852
3853	// The ID assigned to the workload. This ID is unique within an AWS Region.
3854	//
3855	// WorkloadId is a required field
3856	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
3857}
3858
3859// String returns the string representation
3860func (s CreateMilestoneInput) String() string {
3861	return awsutil.Prettify(s)
3862}
3863
3864// GoString returns the string representation
3865func (s CreateMilestoneInput) GoString() string {
3866	return s.String()
3867}
3868
3869// Validate inspects the fields of the type to determine if they are valid.
3870func (s *CreateMilestoneInput) Validate() error {
3871	invalidParams := request.ErrInvalidParams{Context: "CreateMilestoneInput"}
3872	if s.MilestoneName == nil {
3873		invalidParams.Add(request.NewErrParamRequired("MilestoneName"))
3874	}
3875	if s.MilestoneName != nil && len(*s.MilestoneName) < 3 {
3876		invalidParams.Add(request.NewErrParamMinLen("MilestoneName", 3))
3877	}
3878	if s.WorkloadId == nil {
3879		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
3880	}
3881	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
3882		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
3883	}
3884
3885	if invalidParams.Len() > 0 {
3886		return invalidParams
3887	}
3888	return nil
3889}
3890
3891// SetClientRequestToken sets the ClientRequestToken field's value.
3892func (s *CreateMilestoneInput) SetClientRequestToken(v string) *CreateMilestoneInput {
3893	s.ClientRequestToken = &v
3894	return s
3895}
3896
3897// SetMilestoneName sets the MilestoneName field's value.
3898func (s *CreateMilestoneInput) SetMilestoneName(v string) *CreateMilestoneInput {
3899	s.MilestoneName = &v
3900	return s
3901}
3902
3903// SetWorkloadId sets the WorkloadId field's value.
3904func (s *CreateMilestoneInput) SetWorkloadId(v string) *CreateMilestoneInput {
3905	s.WorkloadId = &v
3906	return s
3907}
3908
3909// Output of a create milestone call.
3910type CreateMilestoneOutput struct {
3911	_ struct{} `type:"structure"`
3912
3913	// The milestone number.
3914	//
3915	// A workload can have a maximum of 100 milestones.
3916	MilestoneNumber *int64 `min:"1" type:"integer"`
3917
3918	// The ID assigned to the workload. This ID is unique within an AWS Region.
3919	WorkloadId *string `type:"string"`
3920}
3921
3922// String returns the string representation
3923func (s CreateMilestoneOutput) String() string {
3924	return awsutil.Prettify(s)
3925}
3926
3927// GoString returns the string representation
3928func (s CreateMilestoneOutput) GoString() string {
3929	return s.String()
3930}
3931
3932// SetMilestoneNumber sets the MilestoneNumber field's value.
3933func (s *CreateMilestoneOutput) SetMilestoneNumber(v int64) *CreateMilestoneOutput {
3934	s.MilestoneNumber = &v
3935	return s
3936}
3937
3938// SetWorkloadId sets the WorkloadId field's value.
3939func (s *CreateMilestoneOutput) SetWorkloadId(v string) *CreateMilestoneOutput {
3940	s.WorkloadId = &v
3941	return s
3942}
3943
3944// Input for workload creation.
3945type CreateWorkloadInput struct {
3946	_ struct{} `type:"structure"`
3947
3948	// The list of AWS account IDs associated with the workload.
3949	AccountIds []*string `type:"list"`
3950
3951	// The URL of the architectural design for the workload.
3952	ArchitecturalDesign *string `type:"string"`
3953
3954	// The list of AWS Regions associated with the workload, for example, us-east-2,
3955	// or ca-central-1.
3956	AwsRegions []*string `type:"list"`
3957
3958	// A unique case-sensitive string used to ensure that this request is idempotent
3959	// (executes only once).
3960	//
3961	// You should not reuse the same token for other requests. If you retry a request
3962	// with the same client request token and the same parameters after it has completed
3963	// successfully, the result of the original request is returned.
3964	//
3965	// This token is listed as required, however, if you do not specify it, the
3966	// AWS SDKs automatically generate one for you. If you are not using the AWS
3967	// SDK or the AWS CLI, you must provide this token or the request will fail.
3968	ClientRequestToken *string `type:"string" idempotencyToken:"true"`
3969
3970	// The description for the workload.
3971	//
3972	// Description is a required field
3973	Description *string `min:"3" type:"string" required:"true"`
3974
3975	// The environment for the workload.
3976	//
3977	// Environment is a required field
3978	Environment *string `type:"string" required:"true" enum:"WorkloadEnvironment"`
3979
3980	// The industry for the workload.
3981	Industry *string `type:"string"`
3982
3983	// The industry type for the workload.
3984	//
3985	// If specified, must be one of the following:
3986	//
3987	//    * Agriculture
3988	//
3989	//    * Automobile
3990	//
3991	//    * Defense
3992	//
3993	//    * Design and Engineering
3994	//
3995	//    * Digital Advertising
3996	//
3997	//    * Education
3998	//
3999	//    * Environmental Protection
4000	//
4001	//    * Financial Services
4002	//
4003	//    * Gaming
4004	//
4005	//    * General Public Services
4006	//
4007	//    * Healthcare
4008	//
4009	//    * Hospitality
4010	//
4011	//    * InfoTech
4012	//
4013	//    * Justice and Public Safety
4014	//
4015	//    * Life Sciences
4016	//
4017	//    * Manufacturing
4018	//
4019	//    * Media & Entertainment
4020	//
4021	//    * Mining & Resources
4022	//
4023	//    * Oil & Gas
4024	//
4025	//    * Power & Utilities
4026	//
4027	//    * Professional Services
4028	//
4029	//    * Real Estate & Construction
4030	//
4031	//    * Retail & Wholesale
4032	//
4033	//    * Social Protection
4034	//
4035	//    * Telecommunications
4036	//
4037	//    * Travel, Transportation & Logistics
4038	//
4039	//    * Other
4040	IndustryType *string `type:"string"`
4041
4042	// The list of lenses associated with the workload. Each lens is identified
4043	// by its LensSummary$LensAlias.
4044	//
4045	// Lenses is a required field
4046	Lenses []*string `type:"list" required:"true"`
4047
4048	// The list of non-AWS Regions associated with the workload.
4049	NonAwsRegions []*string `type:"list"`
4050
4051	// The notes associated with the workload.
4052	Notes *string `type:"string"`
4053
4054	// The priorities of the pillars, which are used to order items in the improvement
4055	// plan. Each pillar is represented by its PillarReviewSummary$PillarId.
4056	PillarPriorities []*string `type:"list"`
4057
4058	// The review owner of the workload. The name, email address, or identifier
4059	// for the primary group or individual that owns the workload review process.
4060	//
4061	// ReviewOwner is a required field
4062	ReviewOwner *string `min:"3" type:"string" required:"true"`
4063
4064	// The tags to be associated with the workload.
4065	Tags map[string]*string `min:"1" type:"map"`
4066
4067	// The name of the workload.
4068	//
4069	// The name must be unique within an account within a Region. Spaces and capitalization
4070	// are ignored when checking for uniqueness.
4071	//
4072	// WorkloadName is a required field
4073	WorkloadName *string `min:"3" type:"string" required:"true"`
4074}
4075
4076// String returns the string representation
4077func (s CreateWorkloadInput) String() string {
4078	return awsutil.Prettify(s)
4079}
4080
4081// GoString returns the string representation
4082func (s CreateWorkloadInput) GoString() string {
4083	return s.String()
4084}
4085
4086// Validate inspects the fields of the type to determine if they are valid.
4087func (s *CreateWorkloadInput) Validate() error {
4088	invalidParams := request.ErrInvalidParams{Context: "CreateWorkloadInput"}
4089	if s.Description == nil {
4090		invalidParams.Add(request.NewErrParamRequired("Description"))
4091	}
4092	if s.Description != nil && len(*s.Description) < 3 {
4093		invalidParams.Add(request.NewErrParamMinLen("Description", 3))
4094	}
4095	if s.Environment == nil {
4096		invalidParams.Add(request.NewErrParamRequired("Environment"))
4097	}
4098	if s.Lenses == nil {
4099		invalidParams.Add(request.NewErrParamRequired("Lenses"))
4100	}
4101	if s.ReviewOwner == nil {
4102		invalidParams.Add(request.NewErrParamRequired("ReviewOwner"))
4103	}
4104	if s.ReviewOwner != nil && len(*s.ReviewOwner) < 3 {
4105		invalidParams.Add(request.NewErrParamMinLen("ReviewOwner", 3))
4106	}
4107	if s.Tags != nil && len(s.Tags) < 1 {
4108		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
4109	}
4110	if s.WorkloadName == nil {
4111		invalidParams.Add(request.NewErrParamRequired("WorkloadName"))
4112	}
4113	if s.WorkloadName != nil && len(*s.WorkloadName) < 3 {
4114		invalidParams.Add(request.NewErrParamMinLen("WorkloadName", 3))
4115	}
4116
4117	if invalidParams.Len() > 0 {
4118		return invalidParams
4119	}
4120	return nil
4121}
4122
4123// SetAccountIds sets the AccountIds field's value.
4124func (s *CreateWorkloadInput) SetAccountIds(v []*string) *CreateWorkloadInput {
4125	s.AccountIds = v
4126	return s
4127}
4128
4129// SetArchitecturalDesign sets the ArchitecturalDesign field's value.
4130func (s *CreateWorkloadInput) SetArchitecturalDesign(v string) *CreateWorkloadInput {
4131	s.ArchitecturalDesign = &v
4132	return s
4133}
4134
4135// SetAwsRegions sets the AwsRegions field's value.
4136func (s *CreateWorkloadInput) SetAwsRegions(v []*string) *CreateWorkloadInput {
4137	s.AwsRegions = v
4138	return s
4139}
4140
4141// SetClientRequestToken sets the ClientRequestToken field's value.
4142func (s *CreateWorkloadInput) SetClientRequestToken(v string) *CreateWorkloadInput {
4143	s.ClientRequestToken = &v
4144	return s
4145}
4146
4147// SetDescription sets the Description field's value.
4148func (s *CreateWorkloadInput) SetDescription(v string) *CreateWorkloadInput {
4149	s.Description = &v
4150	return s
4151}
4152
4153// SetEnvironment sets the Environment field's value.
4154func (s *CreateWorkloadInput) SetEnvironment(v string) *CreateWorkloadInput {
4155	s.Environment = &v
4156	return s
4157}
4158
4159// SetIndustry sets the Industry field's value.
4160func (s *CreateWorkloadInput) SetIndustry(v string) *CreateWorkloadInput {
4161	s.Industry = &v
4162	return s
4163}
4164
4165// SetIndustryType sets the IndustryType field's value.
4166func (s *CreateWorkloadInput) SetIndustryType(v string) *CreateWorkloadInput {
4167	s.IndustryType = &v
4168	return s
4169}
4170
4171// SetLenses sets the Lenses field's value.
4172func (s *CreateWorkloadInput) SetLenses(v []*string) *CreateWorkloadInput {
4173	s.Lenses = v
4174	return s
4175}
4176
4177// SetNonAwsRegions sets the NonAwsRegions field's value.
4178func (s *CreateWorkloadInput) SetNonAwsRegions(v []*string) *CreateWorkloadInput {
4179	s.NonAwsRegions = v
4180	return s
4181}
4182
4183// SetNotes sets the Notes field's value.
4184func (s *CreateWorkloadInput) SetNotes(v string) *CreateWorkloadInput {
4185	s.Notes = &v
4186	return s
4187}
4188
4189// SetPillarPriorities sets the PillarPriorities field's value.
4190func (s *CreateWorkloadInput) SetPillarPriorities(v []*string) *CreateWorkloadInput {
4191	s.PillarPriorities = v
4192	return s
4193}
4194
4195// SetReviewOwner sets the ReviewOwner field's value.
4196func (s *CreateWorkloadInput) SetReviewOwner(v string) *CreateWorkloadInput {
4197	s.ReviewOwner = &v
4198	return s
4199}
4200
4201// SetTags sets the Tags field's value.
4202func (s *CreateWorkloadInput) SetTags(v map[string]*string) *CreateWorkloadInput {
4203	s.Tags = v
4204	return s
4205}
4206
4207// SetWorkloadName sets the WorkloadName field's value.
4208func (s *CreateWorkloadInput) SetWorkloadName(v string) *CreateWorkloadInput {
4209	s.WorkloadName = &v
4210	return s
4211}
4212
4213// Output of a create workload call.
4214type CreateWorkloadOutput struct {
4215	_ struct{} `type:"structure"`
4216
4217	// The ARN for the workload.
4218	WorkloadArn *string `type:"string"`
4219
4220	// The ID assigned to the workload. This ID is unique within an AWS Region.
4221	WorkloadId *string `type:"string"`
4222}
4223
4224// String returns the string representation
4225func (s CreateWorkloadOutput) String() string {
4226	return awsutil.Prettify(s)
4227}
4228
4229// GoString returns the string representation
4230func (s CreateWorkloadOutput) GoString() string {
4231	return s.String()
4232}
4233
4234// SetWorkloadArn sets the WorkloadArn field's value.
4235func (s *CreateWorkloadOutput) SetWorkloadArn(v string) *CreateWorkloadOutput {
4236	s.WorkloadArn = &v
4237	return s
4238}
4239
4240// SetWorkloadId sets the WorkloadId field's value.
4241func (s *CreateWorkloadOutput) SetWorkloadId(v string) *CreateWorkloadOutput {
4242	s.WorkloadId = &v
4243	return s
4244}
4245
4246// Input for Create Workload Share
4247type CreateWorkloadShareInput struct {
4248	_ struct{} `type:"structure"`
4249
4250	// A unique case-sensitive string used to ensure that this request is idempotent
4251	// (executes only once).
4252	//
4253	// You should not reuse the same token for other requests. If you retry a request
4254	// with the same client request token and the same parameters after it has completed
4255	// successfully, the result of the original request is returned.
4256	//
4257	// This token is listed as required, however, if you do not specify it, the
4258	// AWS SDKs automatically generate one for you. If you are not using the AWS
4259	// SDK or the AWS CLI, you must provide this token or the request will fail.
4260	ClientRequestToken *string `type:"string" idempotencyToken:"true"`
4261
4262	// Permission granted on a workload share.
4263	//
4264	// PermissionType is a required field
4265	PermissionType *string `type:"string" required:"true" enum:"PermissionType"`
4266
4267	// The AWS account ID or IAM role with which the workload is shared.
4268	//
4269	// SharedWith is a required field
4270	SharedWith *string `min:"12" type:"string" required:"true"`
4271
4272	// The ID assigned to the workload. This ID is unique within an AWS Region.
4273	//
4274	// WorkloadId is a required field
4275	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
4276}
4277
4278// String returns the string representation
4279func (s CreateWorkloadShareInput) String() string {
4280	return awsutil.Prettify(s)
4281}
4282
4283// GoString returns the string representation
4284func (s CreateWorkloadShareInput) GoString() string {
4285	return s.String()
4286}
4287
4288// Validate inspects the fields of the type to determine if they are valid.
4289func (s *CreateWorkloadShareInput) Validate() error {
4290	invalidParams := request.ErrInvalidParams{Context: "CreateWorkloadShareInput"}
4291	if s.PermissionType == nil {
4292		invalidParams.Add(request.NewErrParamRequired("PermissionType"))
4293	}
4294	if s.SharedWith == nil {
4295		invalidParams.Add(request.NewErrParamRequired("SharedWith"))
4296	}
4297	if s.SharedWith != nil && len(*s.SharedWith) < 12 {
4298		invalidParams.Add(request.NewErrParamMinLen("SharedWith", 12))
4299	}
4300	if s.WorkloadId == nil {
4301		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
4302	}
4303	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
4304		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
4305	}
4306
4307	if invalidParams.Len() > 0 {
4308		return invalidParams
4309	}
4310	return nil
4311}
4312
4313// SetClientRequestToken sets the ClientRequestToken field's value.
4314func (s *CreateWorkloadShareInput) SetClientRequestToken(v string) *CreateWorkloadShareInput {
4315	s.ClientRequestToken = &v
4316	return s
4317}
4318
4319// SetPermissionType sets the PermissionType field's value.
4320func (s *CreateWorkloadShareInput) SetPermissionType(v string) *CreateWorkloadShareInput {
4321	s.PermissionType = &v
4322	return s
4323}
4324
4325// SetSharedWith sets the SharedWith field's value.
4326func (s *CreateWorkloadShareInput) SetSharedWith(v string) *CreateWorkloadShareInput {
4327	s.SharedWith = &v
4328	return s
4329}
4330
4331// SetWorkloadId sets the WorkloadId field's value.
4332func (s *CreateWorkloadShareInput) SetWorkloadId(v string) *CreateWorkloadShareInput {
4333	s.WorkloadId = &v
4334	return s
4335}
4336
4337// Input for Create Workload Share
4338type CreateWorkloadShareOutput struct {
4339	_ struct{} `type:"structure"`
4340
4341	// The ID associated with the workload share.
4342	ShareId *string `type:"string"`
4343
4344	// The ID assigned to the workload. This ID is unique within an AWS Region.
4345	WorkloadId *string `type:"string"`
4346}
4347
4348// String returns the string representation
4349func (s CreateWorkloadShareOutput) String() string {
4350	return awsutil.Prettify(s)
4351}
4352
4353// GoString returns the string representation
4354func (s CreateWorkloadShareOutput) GoString() string {
4355	return s.String()
4356}
4357
4358// SetShareId sets the ShareId field's value.
4359func (s *CreateWorkloadShareOutput) SetShareId(v string) *CreateWorkloadShareOutput {
4360	s.ShareId = &v
4361	return s
4362}
4363
4364// SetWorkloadId sets the WorkloadId field's value.
4365func (s *CreateWorkloadShareOutput) SetWorkloadId(v string) *CreateWorkloadShareOutput {
4366	s.WorkloadId = &v
4367	return s
4368}
4369
4370// Input for workload deletion.
4371type DeleteWorkloadInput struct {
4372	_ struct{} `type:"structure"`
4373
4374	// A unique case-sensitive string used to ensure that this request is idempotent
4375	// (executes only once).
4376	//
4377	// You should not reuse the same token for other requests. If you retry a request
4378	// with the same client request token and the same parameters after it has completed
4379	// successfully, the result of the original request is returned.
4380	//
4381	// This token is listed as required, however, if you do not specify it, the
4382	// AWS SDKs automatically generate one for you. If you are not using the AWS
4383	// SDK or the AWS CLI, you must provide this token or the request will fail.
4384	ClientRequestToken *string `location:"querystring" locationName:"ClientRequestToken" type:"string" idempotencyToken:"true"`
4385
4386	// The ID assigned to the workload. This ID is unique within an AWS Region.
4387	//
4388	// WorkloadId is a required field
4389	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
4390}
4391
4392// String returns the string representation
4393func (s DeleteWorkloadInput) String() string {
4394	return awsutil.Prettify(s)
4395}
4396
4397// GoString returns the string representation
4398func (s DeleteWorkloadInput) GoString() string {
4399	return s.String()
4400}
4401
4402// Validate inspects the fields of the type to determine if they are valid.
4403func (s *DeleteWorkloadInput) Validate() error {
4404	invalidParams := request.ErrInvalidParams{Context: "DeleteWorkloadInput"}
4405	if s.WorkloadId == nil {
4406		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
4407	}
4408	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
4409		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
4410	}
4411
4412	if invalidParams.Len() > 0 {
4413		return invalidParams
4414	}
4415	return nil
4416}
4417
4418// SetClientRequestToken sets the ClientRequestToken field's value.
4419func (s *DeleteWorkloadInput) SetClientRequestToken(v string) *DeleteWorkloadInput {
4420	s.ClientRequestToken = &v
4421	return s
4422}
4423
4424// SetWorkloadId sets the WorkloadId field's value.
4425func (s *DeleteWorkloadInput) SetWorkloadId(v string) *DeleteWorkloadInput {
4426	s.WorkloadId = &v
4427	return s
4428}
4429
4430type DeleteWorkloadOutput struct {
4431	_ struct{} `type:"structure"`
4432}
4433
4434// String returns the string representation
4435func (s DeleteWorkloadOutput) String() string {
4436	return awsutil.Prettify(s)
4437}
4438
4439// GoString returns the string representation
4440func (s DeleteWorkloadOutput) GoString() string {
4441	return s.String()
4442}
4443
4444// Input for Delete Workload Share
4445type DeleteWorkloadShareInput struct {
4446	_ struct{} `type:"structure"`
4447
4448	// A unique case-sensitive string used to ensure that this request is idempotent
4449	// (executes only once).
4450	//
4451	// You should not reuse the same token for other requests. If you retry a request
4452	// with the same client request token and the same parameters after it has completed
4453	// successfully, the result of the original request is returned.
4454	//
4455	// This token is listed as required, however, if you do not specify it, the
4456	// AWS SDKs automatically generate one for you. If you are not using the AWS
4457	// SDK or the AWS CLI, you must provide this token or the request will fail.
4458	ClientRequestToken *string `location:"querystring" locationName:"ClientRequestToken" type:"string" idempotencyToken:"true"`
4459
4460	// The ID associated with the workload share.
4461	//
4462	// ShareId is a required field
4463	ShareId *string `location:"uri" locationName:"ShareId" type:"string" required:"true"`
4464
4465	// The ID assigned to the workload. This ID is unique within an AWS Region.
4466	//
4467	// WorkloadId is a required field
4468	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
4469}
4470
4471// String returns the string representation
4472func (s DeleteWorkloadShareInput) String() string {
4473	return awsutil.Prettify(s)
4474}
4475
4476// GoString returns the string representation
4477func (s DeleteWorkloadShareInput) GoString() string {
4478	return s.String()
4479}
4480
4481// Validate inspects the fields of the type to determine if they are valid.
4482func (s *DeleteWorkloadShareInput) Validate() error {
4483	invalidParams := request.ErrInvalidParams{Context: "DeleteWorkloadShareInput"}
4484	if s.ShareId == nil {
4485		invalidParams.Add(request.NewErrParamRequired("ShareId"))
4486	}
4487	if s.ShareId != nil && len(*s.ShareId) < 1 {
4488		invalidParams.Add(request.NewErrParamMinLen("ShareId", 1))
4489	}
4490	if s.WorkloadId == nil {
4491		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
4492	}
4493	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
4494		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
4495	}
4496
4497	if invalidParams.Len() > 0 {
4498		return invalidParams
4499	}
4500	return nil
4501}
4502
4503// SetClientRequestToken sets the ClientRequestToken field's value.
4504func (s *DeleteWorkloadShareInput) SetClientRequestToken(v string) *DeleteWorkloadShareInput {
4505	s.ClientRequestToken = &v
4506	return s
4507}
4508
4509// SetShareId sets the ShareId field's value.
4510func (s *DeleteWorkloadShareInput) SetShareId(v string) *DeleteWorkloadShareInput {
4511	s.ShareId = &v
4512	return s
4513}
4514
4515// SetWorkloadId sets the WorkloadId field's value.
4516func (s *DeleteWorkloadShareInput) SetWorkloadId(v string) *DeleteWorkloadShareInput {
4517	s.WorkloadId = &v
4518	return s
4519}
4520
4521type DeleteWorkloadShareOutput struct {
4522	_ struct{} `type:"structure"`
4523}
4524
4525// String returns the string representation
4526func (s DeleteWorkloadShareOutput) String() string {
4527	return awsutil.Prettify(s)
4528}
4529
4530// GoString returns the string representation
4531func (s DeleteWorkloadShareOutput) GoString() string {
4532	return s.String()
4533}
4534
4535// Input to disassociate lens reviews.
4536type DisassociateLensesInput struct {
4537	_ struct{} `type:"structure"`
4538
4539	// List of lens aliases to associate or disassociate with a workload.
4540	//
4541	// Identify a lens using its LensSummary$LensAlias.
4542	//
4543	// LensAliases is a required field
4544	LensAliases []*string `min:"1" type:"list" required:"true"`
4545
4546	// The ID assigned to the workload. This ID is unique within an AWS Region.
4547	//
4548	// WorkloadId is a required field
4549	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
4550}
4551
4552// String returns the string representation
4553func (s DisassociateLensesInput) String() string {
4554	return awsutil.Prettify(s)
4555}
4556
4557// GoString returns the string representation
4558func (s DisassociateLensesInput) GoString() string {
4559	return s.String()
4560}
4561
4562// Validate inspects the fields of the type to determine if they are valid.
4563func (s *DisassociateLensesInput) Validate() error {
4564	invalidParams := request.ErrInvalidParams{Context: "DisassociateLensesInput"}
4565	if s.LensAliases == nil {
4566		invalidParams.Add(request.NewErrParamRequired("LensAliases"))
4567	}
4568	if s.LensAliases != nil && len(s.LensAliases) < 1 {
4569		invalidParams.Add(request.NewErrParamMinLen("LensAliases", 1))
4570	}
4571	if s.WorkloadId == nil {
4572		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
4573	}
4574	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
4575		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
4576	}
4577
4578	if invalidParams.Len() > 0 {
4579		return invalidParams
4580	}
4581	return nil
4582}
4583
4584// SetLensAliases sets the LensAliases field's value.
4585func (s *DisassociateLensesInput) SetLensAliases(v []*string) *DisassociateLensesInput {
4586	s.LensAliases = v
4587	return s
4588}
4589
4590// SetWorkloadId sets the WorkloadId field's value.
4591func (s *DisassociateLensesInput) SetWorkloadId(v string) *DisassociateLensesInput {
4592	s.WorkloadId = &v
4593	return s
4594}
4595
4596type DisassociateLensesOutput struct {
4597	_ struct{} `type:"structure"`
4598}
4599
4600// String returns the string representation
4601func (s DisassociateLensesOutput) String() string {
4602	return awsutil.Prettify(s)
4603}
4604
4605// GoString returns the string representation
4606func (s DisassociateLensesOutput) GoString() string {
4607	return s.String()
4608}
4609
4610// Input to get answer.
4611type GetAnswerInput struct {
4612	_ struct{} `type:"structure"`
4613
4614	// The alias of the lens, for example, serverless.
4615	//
4616	// Each lens is identified by its LensSummary$LensAlias.
4617	//
4618	// LensAlias is a required field
4619	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
4620
4621	// The milestone number.
4622	//
4623	// A workload can have a maximum of 100 milestones.
4624	MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"`
4625
4626	// The ID of the question.
4627	//
4628	// QuestionId is a required field
4629	QuestionId *string `location:"uri" locationName:"QuestionId" min:"1" type:"string" required:"true"`
4630
4631	// The ID assigned to the workload. This ID is unique within an AWS Region.
4632	//
4633	// WorkloadId is a required field
4634	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
4635}
4636
4637// String returns the string representation
4638func (s GetAnswerInput) String() string {
4639	return awsutil.Prettify(s)
4640}
4641
4642// GoString returns the string representation
4643func (s GetAnswerInput) GoString() string {
4644	return s.String()
4645}
4646
4647// Validate inspects the fields of the type to determine if they are valid.
4648func (s *GetAnswerInput) Validate() error {
4649	invalidParams := request.ErrInvalidParams{Context: "GetAnswerInput"}
4650	if s.LensAlias == nil {
4651		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
4652	}
4653	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
4654		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
4655	}
4656	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
4657		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
4658	}
4659	if s.QuestionId == nil {
4660		invalidParams.Add(request.NewErrParamRequired("QuestionId"))
4661	}
4662	if s.QuestionId != nil && len(*s.QuestionId) < 1 {
4663		invalidParams.Add(request.NewErrParamMinLen("QuestionId", 1))
4664	}
4665	if s.WorkloadId == nil {
4666		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
4667	}
4668	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
4669		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
4670	}
4671
4672	if invalidParams.Len() > 0 {
4673		return invalidParams
4674	}
4675	return nil
4676}
4677
4678// SetLensAlias sets the LensAlias field's value.
4679func (s *GetAnswerInput) SetLensAlias(v string) *GetAnswerInput {
4680	s.LensAlias = &v
4681	return s
4682}
4683
4684// SetMilestoneNumber sets the MilestoneNumber field's value.
4685func (s *GetAnswerInput) SetMilestoneNumber(v int64) *GetAnswerInput {
4686	s.MilestoneNumber = &v
4687	return s
4688}
4689
4690// SetQuestionId sets the QuestionId field's value.
4691func (s *GetAnswerInput) SetQuestionId(v string) *GetAnswerInput {
4692	s.QuestionId = &v
4693	return s
4694}
4695
4696// SetWorkloadId sets the WorkloadId field's value.
4697func (s *GetAnswerInput) SetWorkloadId(v string) *GetAnswerInput {
4698	s.WorkloadId = &v
4699	return s
4700}
4701
4702// Output of a get answer call.
4703type GetAnswerOutput struct {
4704	_ struct{} `type:"structure"`
4705
4706	// An answer of the question.
4707	Answer *Answer `type:"structure"`
4708
4709	// The alias of the lens, for example, serverless.
4710	//
4711	// Each lens is identified by its LensSummary$LensAlias.
4712	LensAlias *string `min:"1" type:"string"`
4713
4714	// The milestone number.
4715	//
4716	// A workload can have a maximum of 100 milestones.
4717	MilestoneNumber *int64 `min:"1" type:"integer"`
4718
4719	// The ID assigned to the workload. This ID is unique within an AWS Region.
4720	WorkloadId *string `type:"string"`
4721}
4722
4723// String returns the string representation
4724func (s GetAnswerOutput) String() string {
4725	return awsutil.Prettify(s)
4726}
4727
4728// GoString returns the string representation
4729func (s GetAnswerOutput) GoString() string {
4730	return s.String()
4731}
4732
4733// SetAnswer sets the Answer field's value.
4734func (s *GetAnswerOutput) SetAnswer(v *Answer) *GetAnswerOutput {
4735	s.Answer = v
4736	return s
4737}
4738
4739// SetLensAlias sets the LensAlias field's value.
4740func (s *GetAnswerOutput) SetLensAlias(v string) *GetAnswerOutput {
4741	s.LensAlias = &v
4742	return s
4743}
4744
4745// SetMilestoneNumber sets the MilestoneNumber field's value.
4746func (s *GetAnswerOutput) SetMilestoneNumber(v int64) *GetAnswerOutput {
4747	s.MilestoneNumber = &v
4748	return s
4749}
4750
4751// SetWorkloadId sets the WorkloadId field's value.
4752func (s *GetAnswerOutput) SetWorkloadId(v string) *GetAnswerOutput {
4753	s.WorkloadId = &v
4754	return s
4755}
4756
4757// Input to get lens review.
4758type GetLensReviewInput struct {
4759	_ struct{} `type:"structure"`
4760
4761	// The alias of the lens, for example, serverless.
4762	//
4763	// Each lens is identified by its LensSummary$LensAlias.
4764	//
4765	// LensAlias is a required field
4766	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
4767
4768	// The milestone number.
4769	//
4770	// A workload can have a maximum of 100 milestones.
4771	MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"`
4772
4773	// The ID assigned to the workload. This ID is unique within an AWS Region.
4774	//
4775	// WorkloadId is a required field
4776	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
4777}
4778
4779// String returns the string representation
4780func (s GetLensReviewInput) String() string {
4781	return awsutil.Prettify(s)
4782}
4783
4784// GoString returns the string representation
4785func (s GetLensReviewInput) GoString() string {
4786	return s.String()
4787}
4788
4789// Validate inspects the fields of the type to determine if they are valid.
4790func (s *GetLensReviewInput) Validate() error {
4791	invalidParams := request.ErrInvalidParams{Context: "GetLensReviewInput"}
4792	if s.LensAlias == nil {
4793		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
4794	}
4795	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
4796		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
4797	}
4798	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
4799		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
4800	}
4801	if s.WorkloadId == nil {
4802		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
4803	}
4804	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
4805		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
4806	}
4807
4808	if invalidParams.Len() > 0 {
4809		return invalidParams
4810	}
4811	return nil
4812}
4813
4814// SetLensAlias sets the LensAlias field's value.
4815func (s *GetLensReviewInput) SetLensAlias(v string) *GetLensReviewInput {
4816	s.LensAlias = &v
4817	return s
4818}
4819
4820// SetMilestoneNumber sets the MilestoneNumber field's value.
4821func (s *GetLensReviewInput) SetMilestoneNumber(v int64) *GetLensReviewInput {
4822	s.MilestoneNumber = &v
4823	return s
4824}
4825
4826// SetWorkloadId sets the WorkloadId field's value.
4827func (s *GetLensReviewInput) SetWorkloadId(v string) *GetLensReviewInput {
4828	s.WorkloadId = &v
4829	return s
4830}
4831
4832// Output of a get lens review call.
4833type GetLensReviewOutput struct {
4834	_ struct{} `type:"structure"`
4835
4836	// A lens review of a question.
4837	LensReview *LensReview `type:"structure"`
4838
4839	// The milestone number.
4840	//
4841	// A workload can have a maximum of 100 milestones.
4842	MilestoneNumber *int64 `min:"1" type:"integer"`
4843
4844	// The ID assigned to the workload. This ID is unique within an AWS Region.
4845	WorkloadId *string `type:"string"`
4846}
4847
4848// String returns the string representation
4849func (s GetLensReviewOutput) String() string {
4850	return awsutil.Prettify(s)
4851}
4852
4853// GoString returns the string representation
4854func (s GetLensReviewOutput) GoString() string {
4855	return s.String()
4856}
4857
4858// SetLensReview sets the LensReview field's value.
4859func (s *GetLensReviewOutput) SetLensReview(v *LensReview) *GetLensReviewOutput {
4860	s.LensReview = v
4861	return s
4862}
4863
4864// SetMilestoneNumber sets the MilestoneNumber field's value.
4865func (s *GetLensReviewOutput) SetMilestoneNumber(v int64) *GetLensReviewOutput {
4866	s.MilestoneNumber = &v
4867	return s
4868}
4869
4870// SetWorkloadId sets the WorkloadId field's value.
4871func (s *GetLensReviewOutput) SetWorkloadId(v string) *GetLensReviewOutput {
4872	s.WorkloadId = &v
4873	return s
4874}
4875
4876// Input to get lens review report.
4877type GetLensReviewReportInput struct {
4878	_ struct{} `type:"structure"`
4879
4880	// The alias of the lens, for example, serverless.
4881	//
4882	// Each lens is identified by its LensSummary$LensAlias.
4883	//
4884	// LensAlias is a required field
4885	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
4886
4887	// The milestone number.
4888	//
4889	// A workload can have a maximum of 100 milestones.
4890	MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"`
4891
4892	// The ID assigned to the workload. This ID is unique within an AWS Region.
4893	//
4894	// WorkloadId is a required field
4895	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
4896}
4897
4898// String returns the string representation
4899func (s GetLensReviewReportInput) String() string {
4900	return awsutil.Prettify(s)
4901}
4902
4903// GoString returns the string representation
4904func (s GetLensReviewReportInput) GoString() string {
4905	return s.String()
4906}
4907
4908// Validate inspects the fields of the type to determine if they are valid.
4909func (s *GetLensReviewReportInput) Validate() error {
4910	invalidParams := request.ErrInvalidParams{Context: "GetLensReviewReportInput"}
4911	if s.LensAlias == nil {
4912		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
4913	}
4914	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
4915		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
4916	}
4917	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
4918		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
4919	}
4920	if s.WorkloadId == nil {
4921		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
4922	}
4923	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
4924		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
4925	}
4926
4927	if invalidParams.Len() > 0 {
4928		return invalidParams
4929	}
4930	return nil
4931}
4932
4933// SetLensAlias sets the LensAlias field's value.
4934func (s *GetLensReviewReportInput) SetLensAlias(v string) *GetLensReviewReportInput {
4935	s.LensAlias = &v
4936	return s
4937}
4938
4939// SetMilestoneNumber sets the MilestoneNumber field's value.
4940func (s *GetLensReviewReportInput) SetMilestoneNumber(v int64) *GetLensReviewReportInput {
4941	s.MilestoneNumber = &v
4942	return s
4943}
4944
4945// SetWorkloadId sets the WorkloadId field's value.
4946func (s *GetLensReviewReportInput) SetWorkloadId(v string) *GetLensReviewReportInput {
4947	s.WorkloadId = &v
4948	return s
4949}
4950
4951// Output of a get lens review report call.
4952type GetLensReviewReportOutput struct {
4953	_ struct{} `type:"structure"`
4954
4955	// A report of a lens review.
4956	LensReviewReport *LensReviewReport `type:"structure"`
4957
4958	// The milestone number.
4959	//
4960	// A workload can have a maximum of 100 milestones.
4961	MilestoneNumber *int64 `min:"1" type:"integer"`
4962
4963	// The ID assigned to the workload. This ID is unique within an AWS Region.
4964	WorkloadId *string `type:"string"`
4965}
4966
4967// String returns the string representation
4968func (s GetLensReviewReportOutput) String() string {
4969	return awsutil.Prettify(s)
4970}
4971
4972// GoString returns the string representation
4973func (s GetLensReviewReportOutput) GoString() string {
4974	return s.String()
4975}
4976
4977// SetLensReviewReport sets the LensReviewReport field's value.
4978func (s *GetLensReviewReportOutput) SetLensReviewReport(v *LensReviewReport) *GetLensReviewReportOutput {
4979	s.LensReviewReport = v
4980	return s
4981}
4982
4983// SetMilestoneNumber sets the MilestoneNumber field's value.
4984func (s *GetLensReviewReportOutput) SetMilestoneNumber(v int64) *GetLensReviewReportOutput {
4985	s.MilestoneNumber = &v
4986	return s
4987}
4988
4989// SetWorkloadId sets the WorkloadId field's value.
4990func (s *GetLensReviewReportOutput) SetWorkloadId(v string) *GetLensReviewReportOutput {
4991	s.WorkloadId = &v
4992	return s
4993}
4994
4995type GetLensVersionDifferenceInput struct {
4996	_ struct{} `type:"structure"`
4997
4998	// The base version of the lens.
4999	//
5000	// BaseLensVersion is a required field
5001	BaseLensVersion *string `location:"querystring" locationName:"BaseLensVersion" min:"1" type:"string" required:"true"`
5002
5003	// The alias of the lens, for example, serverless.
5004	//
5005	// Each lens is identified by its LensSummary$LensAlias.
5006	//
5007	// LensAlias is a required field
5008	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
5009}
5010
5011// String returns the string representation
5012func (s GetLensVersionDifferenceInput) String() string {
5013	return awsutil.Prettify(s)
5014}
5015
5016// GoString returns the string representation
5017func (s GetLensVersionDifferenceInput) GoString() string {
5018	return s.String()
5019}
5020
5021// Validate inspects the fields of the type to determine if they are valid.
5022func (s *GetLensVersionDifferenceInput) Validate() error {
5023	invalidParams := request.ErrInvalidParams{Context: "GetLensVersionDifferenceInput"}
5024	if s.BaseLensVersion == nil {
5025		invalidParams.Add(request.NewErrParamRequired("BaseLensVersion"))
5026	}
5027	if s.BaseLensVersion != nil && len(*s.BaseLensVersion) < 1 {
5028		invalidParams.Add(request.NewErrParamMinLen("BaseLensVersion", 1))
5029	}
5030	if s.LensAlias == nil {
5031		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
5032	}
5033	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
5034		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
5035	}
5036
5037	if invalidParams.Len() > 0 {
5038		return invalidParams
5039	}
5040	return nil
5041}
5042
5043// SetBaseLensVersion sets the BaseLensVersion field's value.
5044func (s *GetLensVersionDifferenceInput) SetBaseLensVersion(v string) *GetLensVersionDifferenceInput {
5045	s.BaseLensVersion = &v
5046	return s
5047}
5048
5049// SetLensAlias sets the LensAlias field's value.
5050func (s *GetLensVersionDifferenceInput) SetLensAlias(v string) *GetLensVersionDifferenceInput {
5051	s.LensAlias = &v
5052	return s
5053}
5054
5055type GetLensVersionDifferenceOutput struct {
5056	_ struct{} `type:"structure"`
5057
5058	// The base version of the lens.
5059	BaseLensVersion *string `min:"1" type:"string"`
5060
5061	// The latest version of the lens.
5062	LatestLensVersion *string `min:"1" type:"string"`
5063
5064	// The alias of the lens, for example, serverless.
5065	//
5066	// Each lens is identified by its LensSummary$LensAlias.
5067	LensAlias *string `min:"1" type:"string"`
5068
5069	// The differences between the base and latest versions of the lens.
5070	VersionDifferences *VersionDifferences `type:"structure"`
5071}
5072
5073// String returns the string representation
5074func (s GetLensVersionDifferenceOutput) String() string {
5075	return awsutil.Prettify(s)
5076}
5077
5078// GoString returns the string representation
5079func (s GetLensVersionDifferenceOutput) GoString() string {
5080	return s.String()
5081}
5082
5083// SetBaseLensVersion sets the BaseLensVersion field's value.
5084func (s *GetLensVersionDifferenceOutput) SetBaseLensVersion(v string) *GetLensVersionDifferenceOutput {
5085	s.BaseLensVersion = &v
5086	return s
5087}
5088
5089// SetLatestLensVersion sets the LatestLensVersion field's value.
5090func (s *GetLensVersionDifferenceOutput) SetLatestLensVersion(v string) *GetLensVersionDifferenceOutput {
5091	s.LatestLensVersion = &v
5092	return s
5093}
5094
5095// SetLensAlias sets the LensAlias field's value.
5096func (s *GetLensVersionDifferenceOutput) SetLensAlias(v string) *GetLensVersionDifferenceOutput {
5097	s.LensAlias = &v
5098	return s
5099}
5100
5101// SetVersionDifferences sets the VersionDifferences field's value.
5102func (s *GetLensVersionDifferenceOutput) SetVersionDifferences(v *VersionDifferences) *GetLensVersionDifferenceOutput {
5103	s.VersionDifferences = v
5104	return s
5105}
5106
5107// Input to get a milestone.
5108type GetMilestoneInput struct {
5109	_ struct{} `type:"structure"`
5110
5111	// The milestone number.
5112	//
5113	// A workload can have a maximum of 100 milestones.
5114	//
5115	// MilestoneNumber is a required field
5116	MilestoneNumber *int64 `location:"uri" locationName:"MilestoneNumber" min:"1" type:"integer" required:"true"`
5117
5118	// The ID assigned to the workload. This ID is unique within an AWS Region.
5119	//
5120	// WorkloadId is a required field
5121	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
5122}
5123
5124// String returns the string representation
5125func (s GetMilestoneInput) String() string {
5126	return awsutil.Prettify(s)
5127}
5128
5129// GoString returns the string representation
5130func (s GetMilestoneInput) GoString() string {
5131	return s.String()
5132}
5133
5134// Validate inspects the fields of the type to determine if they are valid.
5135func (s *GetMilestoneInput) Validate() error {
5136	invalidParams := request.ErrInvalidParams{Context: "GetMilestoneInput"}
5137	if s.MilestoneNumber == nil {
5138		invalidParams.Add(request.NewErrParamRequired("MilestoneNumber"))
5139	}
5140	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
5141		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
5142	}
5143	if s.WorkloadId == nil {
5144		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
5145	}
5146	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
5147		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
5148	}
5149
5150	if invalidParams.Len() > 0 {
5151		return invalidParams
5152	}
5153	return nil
5154}
5155
5156// SetMilestoneNumber sets the MilestoneNumber field's value.
5157func (s *GetMilestoneInput) SetMilestoneNumber(v int64) *GetMilestoneInput {
5158	s.MilestoneNumber = &v
5159	return s
5160}
5161
5162// SetWorkloadId sets the WorkloadId field's value.
5163func (s *GetMilestoneInput) SetWorkloadId(v string) *GetMilestoneInput {
5164	s.WorkloadId = &v
5165	return s
5166}
5167
5168// Output of a get milestone call.
5169type GetMilestoneOutput struct {
5170	_ struct{} `type:"structure"`
5171
5172	// A milestone return object.
5173	Milestone *Milestone `type:"structure"`
5174
5175	// The ID assigned to the workload. This ID is unique within an AWS Region.
5176	WorkloadId *string `type:"string"`
5177}
5178
5179// String returns the string representation
5180func (s GetMilestoneOutput) String() string {
5181	return awsutil.Prettify(s)
5182}
5183
5184// GoString returns the string representation
5185func (s GetMilestoneOutput) GoString() string {
5186	return s.String()
5187}
5188
5189// SetMilestone sets the Milestone field's value.
5190func (s *GetMilestoneOutput) SetMilestone(v *Milestone) *GetMilestoneOutput {
5191	s.Milestone = v
5192	return s
5193}
5194
5195// SetWorkloadId sets the WorkloadId field's value.
5196func (s *GetMilestoneOutput) SetWorkloadId(v string) *GetMilestoneOutput {
5197	s.WorkloadId = &v
5198	return s
5199}
5200
5201// Input to get a workload.
5202type GetWorkloadInput struct {
5203	_ struct{} `type:"structure"`
5204
5205	// The ID assigned to the workload. This ID is unique within an AWS Region.
5206	//
5207	// WorkloadId is a required field
5208	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
5209}
5210
5211// String returns the string representation
5212func (s GetWorkloadInput) String() string {
5213	return awsutil.Prettify(s)
5214}
5215
5216// GoString returns the string representation
5217func (s GetWorkloadInput) GoString() string {
5218	return s.String()
5219}
5220
5221// Validate inspects the fields of the type to determine if they are valid.
5222func (s *GetWorkloadInput) Validate() error {
5223	invalidParams := request.ErrInvalidParams{Context: "GetWorkloadInput"}
5224	if s.WorkloadId == nil {
5225		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
5226	}
5227	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
5228		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
5229	}
5230
5231	if invalidParams.Len() > 0 {
5232		return invalidParams
5233	}
5234	return nil
5235}
5236
5237// SetWorkloadId sets the WorkloadId field's value.
5238func (s *GetWorkloadInput) SetWorkloadId(v string) *GetWorkloadInput {
5239	s.WorkloadId = &v
5240	return s
5241}
5242
5243// Output of a get workload call.
5244type GetWorkloadOutput struct {
5245	_ struct{} `type:"structure"`
5246
5247	// A workload return object.
5248	Workload *Workload `type:"structure"`
5249}
5250
5251// String returns the string representation
5252func (s GetWorkloadOutput) String() string {
5253	return awsutil.Prettify(s)
5254}
5255
5256// GoString returns the string representation
5257func (s GetWorkloadOutput) GoString() string {
5258	return s.String()
5259}
5260
5261// SetWorkload sets the Workload field's value.
5262func (s *GetWorkloadOutput) SetWorkload(v *Workload) *GetWorkloadOutput {
5263	s.Workload = v
5264	return s
5265}
5266
5267// An improvement summary of a lens review in a workload.
5268type ImprovementSummary struct {
5269	_ struct{} `type:"structure"`
5270
5271	// The improvement plan URL for a question.
5272	ImprovementPlanUrl *string `min:"1" type:"string"`
5273
5274	// The ID used to identify a pillar, for example, security.
5275	//
5276	// A pillar is identified by its PillarReviewSummary$PillarId.
5277	PillarId *string `min:"1" type:"string"`
5278
5279	// The ID of the question.
5280	QuestionId *string `min:"1" type:"string"`
5281
5282	// The title of the question.
5283	QuestionTitle *string `min:"1" type:"string"`
5284
5285	// The risk for a given workload, lens review, pillar, or question.
5286	Risk *string `type:"string" enum:"Risk"`
5287}
5288
5289// String returns the string representation
5290func (s ImprovementSummary) String() string {
5291	return awsutil.Prettify(s)
5292}
5293
5294// GoString returns the string representation
5295func (s ImprovementSummary) GoString() string {
5296	return s.String()
5297}
5298
5299// SetImprovementPlanUrl sets the ImprovementPlanUrl field's value.
5300func (s *ImprovementSummary) SetImprovementPlanUrl(v string) *ImprovementSummary {
5301	s.ImprovementPlanUrl = &v
5302	return s
5303}
5304
5305// SetPillarId sets the PillarId field's value.
5306func (s *ImprovementSummary) SetPillarId(v string) *ImprovementSummary {
5307	s.PillarId = &v
5308	return s
5309}
5310
5311// SetQuestionId sets the QuestionId field's value.
5312func (s *ImprovementSummary) SetQuestionId(v string) *ImprovementSummary {
5313	s.QuestionId = &v
5314	return s
5315}
5316
5317// SetQuestionTitle sets the QuestionTitle field's value.
5318func (s *ImprovementSummary) SetQuestionTitle(v string) *ImprovementSummary {
5319	s.QuestionTitle = &v
5320	return s
5321}
5322
5323// SetRisk sets the Risk field's value.
5324func (s *ImprovementSummary) SetRisk(v string) *ImprovementSummary {
5325	s.Risk = &v
5326	return s
5327}
5328
5329// There is a problem with the AWS Well-Architected Tool API service.
5330type InternalServerException struct {
5331	_            struct{}                  `type:"structure"`
5332	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5333
5334	// Description of the error.
5335	Message_ *string `locationName:"Message" type:"string"`
5336}
5337
5338// String returns the string representation
5339func (s InternalServerException) String() string {
5340	return awsutil.Prettify(s)
5341}
5342
5343// GoString returns the string representation
5344func (s InternalServerException) GoString() string {
5345	return s.String()
5346}
5347
5348func newErrorInternalServerException(v protocol.ResponseMetadata) error {
5349	return &InternalServerException{
5350		RespMetadata: v,
5351	}
5352}
5353
5354// Code returns the exception type name.
5355func (s *InternalServerException) Code() string {
5356	return "InternalServerException"
5357}
5358
5359// Message returns the exception's message.
5360func (s *InternalServerException) Message() string {
5361	if s.Message_ != nil {
5362		return *s.Message_
5363	}
5364	return ""
5365}
5366
5367// OrigErr always returns nil, satisfies awserr.Error interface.
5368func (s *InternalServerException) OrigErr() error {
5369	return nil
5370}
5371
5372func (s *InternalServerException) Error() string {
5373	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5374}
5375
5376// Status code returns the HTTP status code for the request's response error.
5377func (s *InternalServerException) StatusCode() int {
5378	return s.RespMetadata.StatusCode
5379}
5380
5381// RequestID returns the service's response RequestID for request.
5382func (s *InternalServerException) RequestID() string {
5383	return s.RespMetadata.RequestID
5384}
5385
5386// A lens review of a question.
5387type LensReview struct {
5388	_ struct{} `type:"structure"`
5389
5390	// The alias of the lens, for example, serverless.
5391	//
5392	// Each lens is identified by its LensSummary$LensAlias.
5393	LensAlias *string `min:"1" type:"string"`
5394
5395	// The full name of the lens.
5396	LensName *string `min:"1" type:"string"`
5397
5398	// The status of the lens.
5399	LensStatus *string `type:"string" enum:"LensStatus"`
5400
5401	// The version of the lens.
5402	LensVersion *string `min:"1" type:"string"`
5403
5404	// The token to use to retrieve the next set of results.
5405	NextToken *string `type:"string"`
5406
5407	// The notes associated with the workload.
5408	Notes *string `type:"string"`
5409
5410	// List of pillar review summaries of lens review in a workload.
5411	PillarReviewSummaries []*PillarReviewSummary `type:"list"`
5412
5413	// A map from risk names to the count of how questions have that rating.
5414	RiskCounts map[string]*int64 `type:"map"`
5415
5416	// The date and time recorded.
5417	UpdatedAt *time.Time `type:"timestamp"`
5418}
5419
5420// String returns the string representation
5421func (s LensReview) String() string {
5422	return awsutil.Prettify(s)
5423}
5424
5425// GoString returns the string representation
5426func (s LensReview) GoString() string {
5427	return s.String()
5428}
5429
5430// SetLensAlias sets the LensAlias field's value.
5431func (s *LensReview) SetLensAlias(v string) *LensReview {
5432	s.LensAlias = &v
5433	return s
5434}
5435
5436// SetLensName sets the LensName field's value.
5437func (s *LensReview) SetLensName(v string) *LensReview {
5438	s.LensName = &v
5439	return s
5440}
5441
5442// SetLensStatus sets the LensStatus field's value.
5443func (s *LensReview) SetLensStatus(v string) *LensReview {
5444	s.LensStatus = &v
5445	return s
5446}
5447
5448// SetLensVersion sets the LensVersion field's value.
5449func (s *LensReview) SetLensVersion(v string) *LensReview {
5450	s.LensVersion = &v
5451	return s
5452}
5453
5454// SetNextToken sets the NextToken field's value.
5455func (s *LensReview) SetNextToken(v string) *LensReview {
5456	s.NextToken = &v
5457	return s
5458}
5459
5460// SetNotes sets the Notes field's value.
5461func (s *LensReview) SetNotes(v string) *LensReview {
5462	s.Notes = &v
5463	return s
5464}
5465
5466// SetPillarReviewSummaries sets the PillarReviewSummaries field's value.
5467func (s *LensReview) SetPillarReviewSummaries(v []*PillarReviewSummary) *LensReview {
5468	s.PillarReviewSummaries = v
5469	return s
5470}
5471
5472// SetRiskCounts sets the RiskCounts field's value.
5473func (s *LensReview) SetRiskCounts(v map[string]*int64) *LensReview {
5474	s.RiskCounts = v
5475	return s
5476}
5477
5478// SetUpdatedAt sets the UpdatedAt field's value.
5479func (s *LensReview) SetUpdatedAt(v time.Time) *LensReview {
5480	s.UpdatedAt = &v
5481	return s
5482}
5483
5484// A report of a lens review.
5485type LensReviewReport struct {
5486	_ struct{} `type:"structure"`
5487
5488	// The Base64-encoded string representation of a lens review report.
5489	//
5490	// This data can be used to create a PDF file.
5491	Base64String *string `type:"string"`
5492
5493	// The alias of the lens, for example, serverless.
5494	//
5495	// Each lens is identified by its LensSummary$LensAlias.
5496	LensAlias *string `min:"1" type:"string"`
5497}
5498
5499// String returns the string representation
5500func (s LensReviewReport) String() string {
5501	return awsutil.Prettify(s)
5502}
5503
5504// GoString returns the string representation
5505func (s LensReviewReport) GoString() string {
5506	return s.String()
5507}
5508
5509// SetBase64String sets the Base64String field's value.
5510func (s *LensReviewReport) SetBase64String(v string) *LensReviewReport {
5511	s.Base64String = &v
5512	return s
5513}
5514
5515// SetLensAlias sets the LensAlias field's value.
5516func (s *LensReviewReport) SetLensAlias(v string) *LensReviewReport {
5517	s.LensAlias = &v
5518	return s
5519}
5520
5521// A lens review summary of a workload.
5522type LensReviewSummary struct {
5523	_ struct{} `type:"structure"`
5524
5525	// The alias of the lens, for example, serverless.
5526	//
5527	// Each lens is identified by its LensSummary$LensAlias.
5528	LensAlias *string `min:"1" type:"string"`
5529
5530	// The full name of the lens.
5531	LensName *string `min:"1" type:"string"`
5532
5533	// The status of the lens.
5534	LensStatus *string `type:"string" enum:"LensStatus"`
5535
5536	// The version of the lens.
5537	LensVersion *string `min:"1" type:"string"`
5538
5539	// A map from risk names to the count of how questions have that rating.
5540	RiskCounts map[string]*int64 `type:"map"`
5541
5542	// The date and time recorded.
5543	UpdatedAt *time.Time `type:"timestamp"`
5544}
5545
5546// String returns the string representation
5547func (s LensReviewSummary) String() string {
5548	return awsutil.Prettify(s)
5549}
5550
5551// GoString returns the string representation
5552func (s LensReviewSummary) GoString() string {
5553	return s.String()
5554}
5555
5556// SetLensAlias sets the LensAlias field's value.
5557func (s *LensReviewSummary) SetLensAlias(v string) *LensReviewSummary {
5558	s.LensAlias = &v
5559	return s
5560}
5561
5562// SetLensName sets the LensName field's value.
5563func (s *LensReviewSummary) SetLensName(v string) *LensReviewSummary {
5564	s.LensName = &v
5565	return s
5566}
5567
5568// SetLensStatus sets the LensStatus field's value.
5569func (s *LensReviewSummary) SetLensStatus(v string) *LensReviewSummary {
5570	s.LensStatus = &v
5571	return s
5572}
5573
5574// SetLensVersion sets the LensVersion field's value.
5575func (s *LensReviewSummary) SetLensVersion(v string) *LensReviewSummary {
5576	s.LensVersion = &v
5577	return s
5578}
5579
5580// SetRiskCounts sets the RiskCounts field's value.
5581func (s *LensReviewSummary) SetRiskCounts(v map[string]*int64) *LensReviewSummary {
5582	s.RiskCounts = v
5583	return s
5584}
5585
5586// SetUpdatedAt sets the UpdatedAt field's value.
5587func (s *LensReviewSummary) SetUpdatedAt(v time.Time) *LensReviewSummary {
5588	s.UpdatedAt = &v
5589	return s
5590}
5591
5592// A lens summary of a lens.
5593type LensSummary struct {
5594	_ struct{} `type:"structure"`
5595
5596	// The description of the lens.
5597	Description *string `min:"1" type:"string"`
5598
5599	// The alias of the lens, for example, serverless.
5600	//
5601	// Each lens is identified by its LensSummary$LensAlias.
5602	LensAlias *string `min:"1" type:"string"`
5603
5604	// The full name of the lens.
5605	LensName *string `min:"1" type:"string"`
5606
5607	// The version of the lens.
5608	LensVersion *string `min:"1" type:"string"`
5609}
5610
5611// String returns the string representation
5612func (s LensSummary) String() string {
5613	return awsutil.Prettify(s)
5614}
5615
5616// GoString returns the string representation
5617func (s LensSummary) GoString() string {
5618	return s.String()
5619}
5620
5621// SetDescription sets the Description field's value.
5622func (s *LensSummary) SetDescription(v string) *LensSummary {
5623	s.Description = &v
5624	return s
5625}
5626
5627// SetLensAlias sets the LensAlias field's value.
5628func (s *LensSummary) SetLensAlias(v string) *LensSummary {
5629	s.LensAlias = &v
5630	return s
5631}
5632
5633// SetLensName sets the LensName field's value.
5634func (s *LensSummary) SetLensName(v string) *LensSummary {
5635	s.LensName = &v
5636	return s
5637}
5638
5639// SetLensVersion sets the LensVersion field's value.
5640func (s *LensSummary) SetLensVersion(v string) *LensSummary {
5641	s.LensVersion = &v
5642	return s
5643}
5644
5645// Lens upgrade summary return object.
5646type LensUpgradeSummary struct {
5647	_ struct{} `type:"structure"`
5648
5649	// The current version of the lens.
5650	CurrentLensVersion *string `min:"1" type:"string"`
5651
5652	// The latest version of the lens.
5653	LatestLensVersion *string `min:"1" type:"string"`
5654
5655	// The alias of the lens, for example, serverless.
5656	//
5657	// Each lens is identified by its LensSummary$LensAlias.
5658	LensAlias *string `min:"1" type:"string"`
5659
5660	// The ID assigned to the workload. This ID is unique within an AWS Region.
5661	WorkloadId *string `type:"string"`
5662
5663	// The name of the workload.
5664	//
5665	// The name must be unique within an account within a Region. Spaces and capitalization
5666	// are ignored when checking for uniqueness.
5667	WorkloadName *string `min:"3" type:"string"`
5668}
5669
5670// String returns the string representation
5671func (s LensUpgradeSummary) String() string {
5672	return awsutil.Prettify(s)
5673}
5674
5675// GoString returns the string representation
5676func (s LensUpgradeSummary) GoString() string {
5677	return s.String()
5678}
5679
5680// SetCurrentLensVersion sets the CurrentLensVersion field's value.
5681func (s *LensUpgradeSummary) SetCurrentLensVersion(v string) *LensUpgradeSummary {
5682	s.CurrentLensVersion = &v
5683	return s
5684}
5685
5686// SetLatestLensVersion sets the LatestLensVersion field's value.
5687func (s *LensUpgradeSummary) SetLatestLensVersion(v string) *LensUpgradeSummary {
5688	s.LatestLensVersion = &v
5689	return s
5690}
5691
5692// SetLensAlias sets the LensAlias field's value.
5693func (s *LensUpgradeSummary) SetLensAlias(v string) *LensUpgradeSummary {
5694	s.LensAlias = &v
5695	return s
5696}
5697
5698// SetWorkloadId sets the WorkloadId field's value.
5699func (s *LensUpgradeSummary) SetWorkloadId(v string) *LensUpgradeSummary {
5700	s.WorkloadId = &v
5701	return s
5702}
5703
5704// SetWorkloadName sets the WorkloadName field's value.
5705func (s *LensUpgradeSummary) SetWorkloadName(v string) *LensUpgradeSummary {
5706	s.WorkloadName = &v
5707	return s
5708}
5709
5710// Input to list answers.
5711type ListAnswersInput struct {
5712	_ struct{} `type:"structure"`
5713
5714	// The alias of the lens, for example, serverless.
5715	//
5716	// Each lens is identified by its LensSummary$LensAlias.
5717	//
5718	// LensAlias is a required field
5719	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
5720
5721	// The maximum number of results to return for this request.
5722	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
5723
5724	// The milestone number.
5725	//
5726	// A workload can have a maximum of 100 milestones.
5727	MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"`
5728
5729	// The token to use to retrieve the next set of results.
5730	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
5731
5732	// The ID used to identify a pillar, for example, security.
5733	//
5734	// A pillar is identified by its PillarReviewSummary$PillarId.
5735	PillarId *string `location:"querystring" locationName:"PillarId" min:"1" type:"string"`
5736
5737	// The ID assigned to the workload. This ID is unique within an AWS Region.
5738	//
5739	// WorkloadId is a required field
5740	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
5741}
5742
5743// String returns the string representation
5744func (s ListAnswersInput) String() string {
5745	return awsutil.Prettify(s)
5746}
5747
5748// GoString returns the string representation
5749func (s ListAnswersInput) GoString() string {
5750	return s.String()
5751}
5752
5753// Validate inspects the fields of the type to determine if they are valid.
5754func (s *ListAnswersInput) Validate() error {
5755	invalidParams := request.ErrInvalidParams{Context: "ListAnswersInput"}
5756	if s.LensAlias == nil {
5757		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
5758	}
5759	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
5760		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
5761	}
5762	if s.MaxResults != nil && *s.MaxResults < 1 {
5763		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5764	}
5765	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
5766		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
5767	}
5768	if s.PillarId != nil && len(*s.PillarId) < 1 {
5769		invalidParams.Add(request.NewErrParamMinLen("PillarId", 1))
5770	}
5771	if s.WorkloadId == nil {
5772		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
5773	}
5774	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
5775		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
5776	}
5777
5778	if invalidParams.Len() > 0 {
5779		return invalidParams
5780	}
5781	return nil
5782}
5783
5784// SetLensAlias sets the LensAlias field's value.
5785func (s *ListAnswersInput) SetLensAlias(v string) *ListAnswersInput {
5786	s.LensAlias = &v
5787	return s
5788}
5789
5790// SetMaxResults sets the MaxResults field's value.
5791func (s *ListAnswersInput) SetMaxResults(v int64) *ListAnswersInput {
5792	s.MaxResults = &v
5793	return s
5794}
5795
5796// SetMilestoneNumber sets the MilestoneNumber field's value.
5797func (s *ListAnswersInput) SetMilestoneNumber(v int64) *ListAnswersInput {
5798	s.MilestoneNumber = &v
5799	return s
5800}
5801
5802// SetNextToken sets the NextToken field's value.
5803func (s *ListAnswersInput) SetNextToken(v string) *ListAnswersInput {
5804	s.NextToken = &v
5805	return s
5806}
5807
5808// SetPillarId sets the PillarId field's value.
5809func (s *ListAnswersInput) SetPillarId(v string) *ListAnswersInput {
5810	s.PillarId = &v
5811	return s
5812}
5813
5814// SetWorkloadId sets the WorkloadId field's value.
5815func (s *ListAnswersInput) SetWorkloadId(v string) *ListAnswersInput {
5816	s.WorkloadId = &v
5817	return s
5818}
5819
5820// Output of a list answers call.
5821type ListAnswersOutput struct {
5822	_ struct{} `type:"structure"`
5823
5824	// List of answer summaries of lens review in a workload.
5825	AnswerSummaries []*AnswerSummary `type:"list"`
5826
5827	// The alias of the lens, for example, serverless.
5828	//
5829	// Each lens is identified by its LensSummary$LensAlias.
5830	LensAlias *string `min:"1" type:"string"`
5831
5832	// The milestone number.
5833	//
5834	// A workload can have a maximum of 100 milestones.
5835	MilestoneNumber *int64 `min:"1" type:"integer"`
5836
5837	// The token to use to retrieve the next set of results.
5838	NextToken *string `type:"string"`
5839
5840	// The ID assigned to the workload. This ID is unique within an AWS Region.
5841	WorkloadId *string `type:"string"`
5842}
5843
5844// String returns the string representation
5845func (s ListAnswersOutput) String() string {
5846	return awsutil.Prettify(s)
5847}
5848
5849// GoString returns the string representation
5850func (s ListAnswersOutput) GoString() string {
5851	return s.String()
5852}
5853
5854// SetAnswerSummaries sets the AnswerSummaries field's value.
5855func (s *ListAnswersOutput) SetAnswerSummaries(v []*AnswerSummary) *ListAnswersOutput {
5856	s.AnswerSummaries = v
5857	return s
5858}
5859
5860// SetLensAlias sets the LensAlias field's value.
5861func (s *ListAnswersOutput) SetLensAlias(v string) *ListAnswersOutput {
5862	s.LensAlias = &v
5863	return s
5864}
5865
5866// SetMilestoneNumber sets the MilestoneNumber field's value.
5867func (s *ListAnswersOutput) SetMilestoneNumber(v int64) *ListAnswersOutput {
5868	s.MilestoneNumber = &v
5869	return s
5870}
5871
5872// SetNextToken sets the NextToken field's value.
5873func (s *ListAnswersOutput) SetNextToken(v string) *ListAnswersOutput {
5874	s.NextToken = &v
5875	return s
5876}
5877
5878// SetWorkloadId sets the WorkloadId field's value.
5879func (s *ListAnswersOutput) SetWorkloadId(v string) *ListAnswersOutput {
5880	s.WorkloadId = &v
5881	return s
5882}
5883
5884// Input to list lens review improvements.
5885type ListLensReviewImprovementsInput struct {
5886	_ struct{} `type:"structure"`
5887
5888	// The alias of the lens, for example, serverless.
5889	//
5890	// Each lens is identified by its LensSummary$LensAlias.
5891	//
5892	// LensAlias is a required field
5893	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
5894
5895	// The maximum number of results to return for this request.
5896	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
5897
5898	// The milestone number.
5899	//
5900	// A workload can have a maximum of 100 milestones.
5901	MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"`
5902
5903	// The token to use to retrieve the next set of results.
5904	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
5905
5906	// The ID used to identify a pillar, for example, security.
5907	//
5908	// A pillar is identified by its PillarReviewSummary$PillarId.
5909	PillarId *string `location:"querystring" locationName:"PillarId" min:"1" type:"string"`
5910
5911	// The ID assigned to the workload. This ID is unique within an AWS Region.
5912	//
5913	// WorkloadId is a required field
5914	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
5915}
5916
5917// String returns the string representation
5918func (s ListLensReviewImprovementsInput) String() string {
5919	return awsutil.Prettify(s)
5920}
5921
5922// GoString returns the string representation
5923func (s ListLensReviewImprovementsInput) GoString() string {
5924	return s.String()
5925}
5926
5927// Validate inspects the fields of the type to determine if they are valid.
5928func (s *ListLensReviewImprovementsInput) Validate() error {
5929	invalidParams := request.ErrInvalidParams{Context: "ListLensReviewImprovementsInput"}
5930	if s.LensAlias == nil {
5931		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
5932	}
5933	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
5934		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
5935	}
5936	if s.MaxResults != nil && *s.MaxResults < 1 {
5937		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5938	}
5939	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
5940		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
5941	}
5942	if s.PillarId != nil && len(*s.PillarId) < 1 {
5943		invalidParams.Add(request.NewErrParamMinLen("PillarId", 1))
5944	}
5945	if s.WorkloadId == nil {
5946		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
5947	}
5948	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
5949		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
5950	}
5951
5952	if invalidParams.Len() > 0 {
5953		return invalidParams
5954	}
5955	return nil
5956}
5957
5958// SetLensAlias sets the LensAlias field's value.
5959func (s *ListLensReviewImprovementsInput) SetLensAlias(v string) *ListLensReviewImprovementsInput {
5960	s.LensAlias = &v
5961	return s
5962}
5963
5964// SetMaxResults sets the MaxResults field's value.
5965func (s *ListLensReviewImprovementsInput) SetMaxResults(v int64) *ListLensReviewImprovementsInput {
5966	s.MaxResults = &v
5967	return s
5968}
5969
5970// SetMilestoneNumber sets the MilestoneNumber field's value.
5971func (s *ListLensReviewImprovementsInput) SetMilestoneNumber(v int64) *ListLensReviewImprovementsInput {
5972	s.MilestoneNumber = &v
5973	return s
5974}
5975
5976// SetNextToken sets the NextToken field's value.
5977func (s *ListLensReviewImprovementsInput) SetNextToken(v string) *ListLensReviewImprovementsInput {
5978	s.NextToken = &v
5979	return s
5980}
5981
5982// SetPillarId sets the PillarId field's value.
5983func (s *ListLensReviewImprovementsInput) SetPillarId(v string) *ListLensReviewImprovementsInput {
5984	s.PillarId = &v
5985	return s
5986}
5987
5988// SetWorkloadId sets the WorkloadId field's value.
5989func (s *ListLensReviewImprovementsInput) SetWorkloadId(v string) *ListLensReviewImprovementsInput {
5990	s.WorkloadId = &v
5991	return s
5992}
5993
5994// Output of a list lens review improvements call.
5995type ListLensReviewImprovementsOutput struct {
5996	_ struct{} `type:"structure"`
5997
5998	// List of improvement summaries of lens review in a workload.
5999	ImprovementSummaries []*ImprovementSummary `type:"list"`
6000
6001	// The alias of the lens, for example, serverless.
6002	//
6003	// Each lens is identified by its LensSummary$LensAlias.
6004	LensAlias *string `min:"1" type:"string"`
6005
6006	// The milestone number.
6007	//
6008	// A workload can have a maximum of 100 milestones.
6009	MilestoneNumber *int64 `min:"1" type:"integer"`
6010
6011	// The token to use to retrieve the next set of results.
6012	NextToken *string `type:"string"`
6013
6014	// The ID assigned to the workload. This ID is unique within an AWS Region.
6015	WorkloadId *string `type:"string"`
6016}
6017
6018// String returns the string representation
6019func (s ListLensReviewImprovementsOutput) String() string {
6020	return awsutil.Prettify(s)
6021}
6022
6023// GoString returns the string representation
6024func (s ListLensReviewImprovementsOutput) GoString() string {
6025	return s.String()
6026}
6027
6028// SetImprovementSummaries sets the ImprovementSummaries field's value.
6029func (s *ListLensReviewImprovementsOutput) SetImprovementSummaries(v []*ImprovementSummary) *ListLensReviewImprovementsOutput {
6030	s.ImprovementSummaries = v
6031	return s
6032}
6033
6034// SetLensAlias sets the LensAlias field's value.
6035func (s *ListLensReviewImprovementsOutput) SetLensAlias(v string) *ListLensReviewImprovementsOutput {
6036	s.LensAlias = &v
6037	return s
6038}
6039
6040// SetMilestoneNumber sets the MilestoneNumber field's value.
6041func (s *ListLensReviewImprovementsOutput) SetMilestoneNumber(v int64) *ListLensReviewImprovementsOutput {
6042	s.MilestoneNumber = &v
6043	return s
6044}
6045
6046// SetNextToken sets the NextToken field's value.
6047func (s *ListLensReviewImprovementsOutput) SetNextToken(v string) *ListLensReviewImprovementsOutput {
6048	s.NextToken = &v
6049	return s
6050}
6051
6052// SetWorkloadId sets the WorkloadId field's value.
6053func (s *ListLensReviewImprovementsOutput) SetWorkloadId(v string) *ListLensReviewImprovementsOutput {
6054	s.WorkloadId = &v
6055	return s
6056}
6057
6058// Input to list lens reviews.
6059type ListLensReviewsInput struct {
6060	_ struct{} `type:"structure"`
6061
6062	// The maximum number of results to return for this request.
6063	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
6064
6065	// The milestone number.
6066	//
6067	// A workload can have a maximum of 100 milestones.
6068	MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"`
6069
6070	// The token to use to retrieve the next set of results.
6071	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
6072
6073	// The ID assigned to the workload. This ID is unique within an AWS Region.
6074	//
6075	// WorkloadId is a required field
6076	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
6077}
6078
6079// String returns the string representation
6080func (s ListLensReviewsInput) String() string {
6081	return awsutil.Prettify(s)
6082}
6083
6084// GoString returns the string representation
6085func (s ListLensReviewsInput) GoString() string {
6086	return s.String()
6087}
6088
6089// Validate inspects the fields of the type to determine if they are valid.
6090func (s *ListLensReviewsInput) Validate() error {
6091	invalidParams := request.ErrInvalidParams{Context: "ListLensReviewsInput"}
6092	if s.MaxResults != nil && *s.MaxResults < 1 {
6093		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6094	}
6095	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
6096		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
6097	}
6098	if s.WorkloadId == nil {
6099		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
6100	}
6101	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
6102		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
6103	}
6104
6105	if invalidParams.Len() > 0 {
6106		return invalidParams
6107	}
6108	return nil
6109}
6110
6111// SetMaxResults sets the MaxResults field's value.
6112func (s *ListLensReviewsInput) SetMaxResults(v int64) *ListLensReviewsInput {
6113	s.MaxResults = &v
6114	return s
6115}
6116
6117// SetMilestoneNumber sets the MilestoneNumber field's value.
6118func (s *ListLensReviewsInput) SetMilestoneNumber(v int64) *ListLensReviewsInput {
6119	s.MilestoneNumber = &v
6120	return s
6121}
6122
6123// SetNextToken sets the NextToken field's value.
6124func (s *ListLensReviewsInput) SetNextToken(v string) *ListLensReviewsInput {
6125	s.NextToken = &v
6126	return s
6127}
6128
6129// SetWorkloadId sets the WorkloadId field's value.
6130func (s *ListLensReviewsInput) SetWorkloadId(v string) *ListLensReviewsInput {
6131	s.WorkloadId = &v
6132	return s
6133}
6134
6135// Output of a list lens reviews call.
6136type ListLensReviewsOutput struct {
6137	_ struct{} `type:"structure"`
6138
6139	// List of lens summaries of lens reviews of a workload.
6140	LensReviewSummaries []*LensReviewSummary `type:"list"`
6141
6142	// The milestone number.
6143	//
6144	// A workload can have a maximum of 100 milestones.
6145	MilestoneNumber *int64 `min:"1" type:"integer"`
6146
6147	// The token to use to retrieve the next set of results.
6148	NextToken *string `type:"string"`
6149
6150	// The ID assigned to the workload. This ID is unique within an AWS Region.
6151	WorkloadId *string `type:"string"`
6152}
6153
6154// String returns the string representation
6155func (s ListLensReviewsOutput) String() string {
6156	return awsutil.Prettify(s)
6157}
6158
6159// GoString returns the string representation
6160func (s ListLensReviewsOutput) GoString() string {
6161	return s.String()
6162}
6163
6164// SetLensReviewSummaries sets the LensReviewSummaries field's value.
6165func (s *ListLensReviewsOutput) SetLensReviewSummaries(v []*LensReviewSummary) *ListLensReviewsOutput {
6166	s.LensReviewSummaries = v
6167	return s
6168}
6169
6170// SetMilestoneNumber sets the MilestoneNumber field's value.
6171func (s *ListLensReviewsOutput) SetMilestoneNumber(v int64) *ListLensReviewsOutput {
6172	s.MilestoneNumber = &v
6173	return s
6174}
6175
6176// SetNextToken sets the NextToken field's value.
6177func (s *ListLensReviewsOutput) SetNextToken(v string) *ListLensReviewsOutput {
6178	s.NextToken = &v
6179	return s
6180}
6181
6182// SetWorkloadId sets the WorkloadId field's value.
6183func (s *ListLensReviewsOutput) SetWorkloadId(v string) *ListLensReviewsOutput {
6184	s.WorkloadId = &v
6185	return s
6186}
6187
6188// Input to list lenses.
6189type ListLensesInput struct {
6190	_ struct{} `type:"structure"`
6191
6192	// The maximum number of results to return for this request.
6193	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
6194
6195	// The token to use to retrieve the next set of results.
6196	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
6197}
6198
6199// String returns the string representation
6200func (s ListLensesInput) String() string {
6201	return awsutil.Prettify(s)
6202}
6203
6204// GoString returns the string representation
6205func (s ListLensesInput) GoString() string {
6206	return s.String()
6207}
6208
6209// Validate inspects the fields of the type to determine if they are valid.
6210func (s *ListLensesInput) Validate() error {
6211	invalidParams := request.ErrInvalidParams{Context: "ListLensesInput"}
6212	if s.MaxResults != nil && *s.MaxResults < 1 {
6213		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6214	}
6215
6216	if invalidParams.Len() > 0 {
6217		return invalidParams
6218	}
6219	return nil
6220}
6221
6222// SetMaxResults sets the MaxResults field's value.
6223func (s *ListLensesInput) SetMaxResults(v int64) *ListLensesInput {
6224	s.MaxResults = &v
6225	return s
6226}
6227
6228// SetNextToken sets the NextToken field's value.
6229func (s *ListLensesInput) SetNextToken(v string) *ListLensesInput {
6230	s.NextToken = &v
6231	return s
6232}
6233
6234// Output of a list lenses call.
6235type ListLensesOutput struct {
6236	_ struct{} `type:"structure"`
6237
6238	// List of lens summaries of available lenses.
6239	LensSummaries []*LensSummary `type:"list"`
6240
6241	// The token to use to retrieve the next set of results.
6242	NextToken *string `type:"string"`
6243}
6244
6245// String returns the string representation
6246func (s ListLensesOutput) String() string {
6247	return awsutil.Prettify(s)
6248}
6249
6250// GoString returns the string representation
6251func (s ListLensesOutput) GoString() string {
6252	return s.String()
6253}
6254
6255// SetLensSummaries sets the LensSummaries field's value.
6256func (s *ListLensesOutput) SetLensSummaries(v []*LensSummary) *ListLensesOutput {
6257	s.LensSummaries = v
6258	return s
6259}
6260
6261// SetNextToken sets the NextToken field's value.
6262func (s *ListLensesOutput) SetNextToken(v string) *ListLensesOutput {
6263	s.NextToken = &v
6264	return s
6265}
6266
6267// Input to list all milestones for a workload.
6268type ListMilestonesInput struct {
6269	_ struct{} `type:"structure"`
6270
6271	// The maximum number of results to return for this request.
6272	MaxResults *int64 `min:"1" type:"integer"`
6273
6274	// The token to use to retrieve the next set of results.
6275	NextToken *string `type:"string"`
6276
6277	// The ID assigned to the workload. This ID is unique within an AWS Region.
6278	//
6279	// WorkloadId is a required field
6280	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
6281}
6282
6283// String returns the string representation
6284func (s ListMilestonesInput) String() string {
6285	return awsutil.Prettify(s)
6286}
6287
6288// GoString returns the string representation
6289func (s ListMilestonesInput) GoString() string {
6290	return s.String()
6291}
6292
6293// Validate inspects the fields of the type to determine if they are valid.
6294func (s *ListMilestonesInput) Validate() error {
6295	invalidParams := request.ErrInvalidParams{Context: "ListMilestonesInput"}
6296	if s.MaxResults != nil && *s.MaxResults < 1 {
6297		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6298	}
6299	if s.WorkloadId == nil {
6300		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
6301	}
6302	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
6303		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
6304	}
6305
6306	if invalidParams.Len() > 0 {
6307		return invalidParams
6308	}
6309	return nil
6310}
6311
6312// SetMaxResults sets the MaxResults field's value.
6313func (s *ListMilestonesInput) SetMaxResults(v int64) *ListMilestonesInput {
6314	s.MaxResults = &v
6315	return s
6316}
6317
6318// SetNextToken sets the NextToken field's value.
6319func (s *ListMilestonesInput) SetNextToken(v string) *ListMilestonesInput {
6320	s.NextToken = &v
6321	return s
6322}
6323
6324// SetWorkloadId sets the WorkloadId field's value.
6325func (s *ListMilestonesInput) SetWorkloadId(v string) *ListMilestonesInput {
6326	s.WorkloadId = &v
6327	return s
6328}
6329
6330// Output of a list milestones call.
6331type ListMilestonesOutput struct {
6332	_ struct{} `type:"structure"`
6333
6334	// A list of milestone summaries.
6335	MilestoneSummaries []*MilestoneSummary `type:"list"`
6336
6337	// The token to use to retrieve the next set of results.
6338	NextToken *string `type:"string"`
6339
6340	// The ID assigned to the workload. This ID is unique within an AWS Region.
6341	WorkloadId *string `type:"string"`
6342}
6343
6344// String returns the string representation
6345func (s ListMilestonesOutput) String() string {
6346	return awsutil.Prettify(s)
6347}
6348
6349// GoString returns the string representation
6350func (s ListMilestonesOutput) GoString() string {
6351	return s.String()
6352}
6353
6354// SetMilestoneSummaries sets the MilestoneSummaries field's value.
6355func (s *ListMilestonesOutput) SetMilestoneSummaries(v []*MilestoneSummary) *ListMilestonesOutput {
6356	s.MilestoneSummaries = v
6357	return s
6358}
6359
6360// SetNextToken sets the NextToken field's value.
6361func (s *ListMilestonesOutput) SetNextToken(v string) *ListMilestonesOutput {
6362	s.NextToken = &v
6363	return s
6364}
6365
6366// SetWorkloadId sets the WorkloadId field's value.
6367func (s *ListMilestonesOutput) SetWorkloadId(v string) *ListMilestonesOutput {
6368	s.WorkloadId = &v
6369	return s
6370}
6371
6372type ListNotificationsInput struct {
6373	_ struct{} `type:"structure"`
6374
6375	// The maximum number of results to return for this request.
6376	MaxResults *int64 `min:"1" type:"integer"`
6377
6378	// The token to use to retrieve the next set of results.
6379	NextToken *string `type:"string"`
6380
6381	// The ID assigned to the workload. This ID is unique within an AWS Region.
6382	WorkloadId *string `type:"string"`
6383}
6384
6385// String returns the string representation
6386func (s ListNotificationsInput) String() string {
6387	return awsutil.Prettify(s)
6388}
6389
6390// GoString returns the string representation
6391func (s ListNotificationsInput) GoString() string {
6392	return s.String()
6393}
6394
6395// Validate inspects the fields of the type to determine if they are valid.
6396func (s *ListNotificationsInput) Validate() error {
6397	invalidParams := request.ErrInvalidParams{Context: "ListNotificationsInput"}
6398	if s.MaxResults != nil && *s.MaxResults < 1 {
6399		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6400	}
6401
6402	if invalidParams.Len() > 0 {
6403		return invalidParams
6404	}
6405	return nil
6406}
6407
6408// SetMaxResults sets the MaxResults field's value.
6409func (s *ListNotificationsInput) SetMaxResults(v int64) *ListNotificationsInput {
6410	s.MaxResults = &v
6411	return s
6412}
6413
6414// SetNextToken sets the NextToken field's value.
6415func (s *ListNotificationsInput) SetNextToken(v string) *ListNotificationsInput {
6416	s.NextToken = &v
6417	return s
6418}
6419
6420// SetWorkloadId sets the WorkloadId field's value.
6421func (s *ListNotificationsInput) SetWorkloadId(v string) *ListNotificationsInput {
6422	s.WorkloadId = &v
6423	return s
6424}
6425
6426type ListNotificationsOutput struct {
6427	_ struct{} `type:"structure"`
6428
6429	// The token to use to retrieve the next set of results.
6430	NextToken *string `type:"string"`
6431
6432	// List of lens notification summaries in a workload.
6433	NotificationSummaries []*NotificationSummary `type:"list"`
6434}
6435
6436// String returns the string representation
6437func (s ListNotificationsOutput) String() string {
6438	return awsutil.Prettify(s)
6439}
6440
6441// GoString returns the string representation
6442func (s ListNotificationsOutput) GoString() string {
6443	return s.String()
6444}
6445
6446// SetNextToken sets the NextToken field's value.
6447func (s *ListNotificationsOutput) SetNextToken(v string) *ListNotificationsOutput {
6448	s.NextToken = &v
6449	return s
6450}
6451
6452// SetNotificationSummaries sets the NotificationSummaries field's value.
6453func (s *ListNotificationsOutput) SetNotificationSummaries(v []*NotificationSummary) *ListNotificationsOutput {
6454	s.NotificationSummaries = v
6455	return s
6456}
6457
6458// Input for List Share Invitations
6459type ListShareInvitationsInput struct {
6460	_ struct{} `type:"structure"`
6461
6462	// The maximum number of results to return for this request.
6463	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
6464
6465	// The token to use to retrieve the next set of results.
6466	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
6467
6468	// An optional string added to the beginning of each workload name returned
6469	// in the results.
6470	WorkloadNamePrefix *string `location:"querystring" locationName:"WorkloadNamePrefix" type:"string"`
6471}
6472
6473// String returns the string representation
6474func (s ListShareInvitationsInput) String() string {
6475	return awsutil.Prettify(s)
6476}
6477
6478// GoString returns the string representation
6479func (s ListShareInvitationsInput) GoString() string {
6480	return s.String()
6481}
6482
6483// Validate inspects the fields of the type to determine if they are valid.
6484func (s *ListShareInvitationsInput) Validate() error {
6485	invalidParams := request.ErrInvalidParams{Context: "ListShareInvitationsInput"}
6486	if s.MaxResults != nil && *s.MaxResults < 1 {
6487		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6488	}
6489
6490	if invalidParams.Len() > 0 {
6491		return invalidParams
6492	}
6493	return nil
6494}
6495
6496// SetMaxResults sets the MaxResults field's value.
6497func (s *ListShareInvitationsInput) SetMaxResults(v int64) *ListShareInvitationsInput {
6498	s.MaxResults = &v
6499	return s
6500}
6501
6502// SetNextToken sets the NextToken field's value.
6503func (s *ListShareInvitationsInput) SetNextToken(v string) *ListShareInvitationsInput {
6504	s.NextToken = &v
6505	return s
6506}
6507
6508// SetWorkloadNamePrefix sets the WorkloadNamePrefix field's value.
6509func (s *ListShareInvitationsInput) SetWorkloadNamePrefix(v string) *ListShareInvitationsInput {
6510	s.WorkloadNamePrefix = &v
6511	return s
6512}
6513
6514// Input for List Share Invitations
6515type ListShareInvitationsOutput struct {
6516	_ struct{} `type:"structure"`
6517
6518	// The token to use to retrieve the next set of results.
6519	NextToken *string `type:"string"`
6520
6521	// List of share invitation summaries in a workload.
6522	ShareInvitationSummaries []*ShareInvitationSummary `type:"list"`
6523}
6524
6525// String returns the string representation
6526func (s ListShareInvitationsOutput) String() string {
6527	return awsutil.Prettify(s)
6528}
6529
6530// GoString returns the string representation
6531func (s ListShareInvitationsOutput) GoString() string {
6532	return s.String()
6533}
6534
6535// SetNextToken sets the NextToken field's value.
6536func (s *ListShareInvitationsOutput) SetNextToken(v string) *ListShareInvitationsOutput {
6537	s.NextToken = &v
6538	return s
6539}
6540
6541// SetShareInvitationSummaries sets the ShareInvitationSummaries field's value.
6542func (s *ListShareInvitationsOutput) SetShareInvitationSummaries(v []*ShareInvitationSummary) *ListShareInvitationsOutput {
6543	s.ShareInvitationSummaries = v
6544	return s
6545}
6546
6547type ListTagsForResourceInput struct {
6548	_ struct{} `type:"structure"`
6549
6550	// The ARN for the workload.
6551	//
6552	// WorkloadArn is a required field
6553	WorkloadArn *string `location:"uri" locationName:"WorkloadArn" type:"string" required:"true"`
6554}
6555
6556// String returns the string representation
6557func (s ListTagsForResourceInput) String() string {
6558	return awsutil.Prettify(s)
6559}
6560
6561// GoString returns the string representation
6562func (s ListTagsForResourceInput) GoString() string {
6563	return s.String()
6564}
6565
6566// Validate inspects the fields of the type to determine if they are valid.
6567func (s *ListTagsForResourceInput) Validate() error {
6568	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
6569	if s.WorkloadArn == nil {
6570		invalidParams.Add(request.NewErrParamRequired("WorkloadArn"))
6571	}
6572	if s.WorkloadArn != nil && len(*s.WorkloadArn) < 1 {
6573		invalidParams.Add(request.NewErrParamMinLen("WorkloadArn", 1))
6574	}
6575
6576	if invalidParams.Len() > 0 {
6577		return invalidParams
6578	}
6579	return nil
6580}
6581
6582// SetWorkloadArn sets the WorkloadArn field's value.
6583func (s *ListTagsForResourceInput) SetWorkloadArn(v string) *ListTagsForResourceInput {
6584	s.WorkloadArn = &v
6585	return s
6586}
6587
6588type ListTagsForResourceOutput struct {
6589	_ struct{} `type:"structure"`
6590
6591	// The tags for the resource.
6592	Tags map[string]*string `min:"1" type:"map"`
6593}
6594
6595// String returns the string representation
6596func (s ListTagsForResourceOutput) String() string {
6597	return awsutil.Prettify(s)
6598}
6599
6600// GoString returns the string representation
6601func (s ListTagsForResourceOutput) GoString() string {
6602	return s.String()
6603}
6604
6605// SetTags sets the Tags field's value.
6606func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
6607	s.Tags = v
6608	return s
6609}
6610
6611// Input for List Workload Share
6612type ListWorkloadSharesInput struct {
6613	_ struct{} `type:"structure"`
6614
6615	// The maximum number of results to return for this request.
6616	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
6617
6618	// The token to use to retrieve the next set of results.
6619	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
6620
6621	// The AWS account ID or IAM role with which the workload is shared.
6622	SharedWithPrefix *string `location:"querystring" locationName:"SharedWithPrefix" type:"string"`
6623
6624	// The ID assigned to the workload. This ID is unique within an AWS Region.
6625	//
6626	// WorkloadId is a required field
6627	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
6628}
6629
6630// String returns the string representation
6631func (s ListWorkloadSharesInput) String() string {
6632	return awsutil.Prettify(s)
6633}
6634
6635// GoString returns the string representation
6636func (s ListWorkloadSharesInput) GoString() string {
6637	return s.String()
6638}
6639
6640// Validate inspects the fields of the type to determine if they are valid.
6641func (s *ListWorkloadSharesInput) Validate() error {
6642	invalidParams := request.ErrInvalidParams{Context: "ListWorkloadSharesInput"}
6643	if s.MaxResults != nil && *s.MaxResults < 1 {
6644		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6645	}
6646	if s.WorkloadId == nil {
6647		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
6648	}
6649	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
6650		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
6651	}
6652
6653	if invalidParams.Len() > 0 {
6654		return invalidParams
6655	}
6656	return nil
6657}
6658
6659// SetMaxResults sets the MaxResults field's value.
6660func (s *ListWorkloadSharesInput) SetMaxResults(v int64) *ListWorkloadSharesInput {
6661	s.MaxResults = &v
6662	return s
6663}
6664
6665// SetNextToken sets the NextToken field's value.
6666func (s *ListWorkloadSharesInput) SetNextToken(v string) *ListWorkloadSharesInput {
6667	s.NextToken = &v
6668	return s
6669}
6670
6671// SetSharedWithPrefix sets the SharedWithPrefix field's value.
6672func (s *ListWorkloadSharesInput) SetSharedWithPrefix(v string) *ListWorkloadSharesInput {
6673	s.SharedWithPrefix = &v
6674	return s
6675}
6676
6677// SetWorkloadId sets the WorkloadId field's value.
6678func (s *ListWorkloadSharesInput) SetWorkloadId(v string) *ListWorkloadSharesInput {
6679	s.WorkloadId = &v
6680	return s
6681}
6682
6683// Input for List Workload Share
6684type ListWorkloadSharesOutput struct {
6685	_ struct{} `type:"structure"`
6686
6687	// The token to use to retrieve the next set of results.
6688	NextToken *string `type:"string"`
6689
6690	// The ID assigned to the workload. This ID is unique within an AWS Region.
6691	WorkloadId *string `type:"string"`
6692
6693	// A list of workload share summaries.
6694	WorkloadShareSummaries []*WorkloadShareSummary `type:"list"`
6695}
6696
6697// String returns the string representation
6698func (s ListWorkloadSharesOutput) String() string {
6699	return awsutil.Prettify(s)
6700}
6701
6702// GoString returns the string representation
6703func (s ListWorkloadSharesOutput) GoString() string {
6704	return s.String()
6705}
6706
6707// SetNextToken sets the NextToken field's value.
6708func (s *ListWorkloadSharesOutput) SetNextToken(v string) *ListWorkloadSharesOutput {
6709	s.NextToken = &v
6710	return s
6711}
6712
6713// SetWorkloadId sets the WorkloadId field's value.
6714func (s *ListWorkloadSharesOutput) SetWorkloadId(v string) *ListWorkloadSharesOutput {
6715	s.WorkloadId = &v
6716	return s
6717}
6718
6719// SetWorkloadShareSummaries sets the WorkloadShareSummaries field's value.
6720func (s *ListWorkloadSharesOutput) SetWorkloadShareSummaries(v []*WorkloadShareSummary) *ListWorkloadSharesOutput {
6721	s.WorkloadShareSummaries = v
6722	return s
6723}
6724
6725// Input to list all workloads.
6726type ListWorkloadsInput struct {
6727	_ struct{} `type:"structure"`
6728
6729	// The maximum number of results to return for this request.
6730	MaxResults *int64 `min:"1" type:"integer"`
6731
6732	// The token to use to retrieve the next set of results.
6733	NextToken *string `type:"string"`
6734
6735	// An optional string added to the beginning of each workload name returned
6736	// in the results.
6737	WorkloadNamePrefix *string `type:"string"`
6738}
6739
6740// String returns the string representation
6741func (s ListWorkloadsInput) String() string {
6742	return awsutil.Prettify(s)
6743}
6744
6745// GoString returns the string representation
6746func (s ListWorkloadsInput) GoString() string {
6747	return s.String()
6748}
6749
6750// Validate inspects the fields of the type to determine if they are valid.
6751func (s *ListWorkloadsInput) Validate() error {
6752	invalidParams := request.ErrInvalidParams{Context: "ListWorkloadsInput"}
6753	if s.MaxResults != nil && *s.MaxResults < 1 {
6754		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6755	}
6756
6757	if invalidParams.Len() > 0 {
6758		return invalidParams
6759	}
6760	return nil
6761}
6762
6763// SetMaxResults sets the MaxResults field's value.
6764func (s *ListWorkloadsInput) SetMaxResults(v int64) *ListWorkloadsInput {
6765	s.MaxResults = &v
6766	return s
6767}
6768
6769// SetNextToken sets the NextToken field's value.
6770func (s *ListWorkloadsInput) SetNextToken(v string) *ListWorkloadsInput {
6771	s.NextToken = &v
6772	return s
6773}
6774
6775// SetWorkloadNamePrefix sets the WorkloadNamePrefix field's value.
6776func (s *ListWorkloadsInput) SetWorkloadNamePrefix(v string) *ListWorkloadsInput {
6777	s.WorkloadNamePrefix = &v
6778	return s
6779}
6780
6781// Output of a list workloads call.
6782type ListWorkloadsOutput struct {
6783	_ struct{} `type:"structure"`
6784
6785	// The token to use to retrieve the next set of results.
6786	NextToken *string `type:"string"`
6787
6788	// A list of workload summaries.
6789	WorkloadSummaries []*WorkloadSummary `type:"list"`
6790}
6791
6792// String returns the string representation
6793func (s ListWorkloadsOutput) String() string {
6794	return awsutil.Prettify(s)
6795}
6796
6797// GoString returns the string representation
6798func (s ListWorkloadsOutput) GoString() string {
6799	return s.String()
6800}
6801
6802// SetNextToken sets the NextToken field's value.
6803func (s *ListWorkloadsOutput) SetNextToken(v string) *ListWorkloadsOutput {
6804	s.NextToken = &v
6805	return s
6806}
6807
6808// SetWorkloadSummaries sets the WorkloadSummaries field's value.
6809func (s *ListWorkloadsOutput) SetWorkloadSummaries(v []*WorkloadSummary) *ListWorkloadsOutput {
6810	s.WorkloadSummaries = v
6811	return s
6812}
6813
6814// A milestone return object.
6815type Milestone struct {
6816	_ struct{} `type:"structure"`
6817
6818	// The name of the milestone in a workload.
6819	//
6820	// Milestone names must be unique within a workload.
6821	MilestoneName *string `min:"3" type:"string"`
6822
6823	// The milestone number.
6824	//
6825	// A workload can have a maximum of 100 milestones.
6826	MilestoneNumber *int64 `min:"1" type:"integer"`
6827
6828	// The date and time recorded.
6829	RecordedAt *time.Time `type:"timestamp"`
6830
6831	// A workload return object.
6832	Workload *Workload `type:"structure"`
6833}
6834
6835// String returns the string representation
6836func (s Milestone) String() string {
6837	return awsutil.Prettify(s)
6838}
6839
6840// GoString returns the string representation
6841func (s Milestone) GoString() string {
6842	return s.String()
6843}
6844
6845// SetMilestoneName sets the MilestoneName field's value.
6846func (s *Milestone) SetMilestoneName(v string) *Milestone {
6847	s.MilestoneName = &v
6848	return s
6849}
6850
6851// SetMilestoneNumber sets the MilestoneNumber field's value.
6852func (s *Milestone) SetMilestoneNumber(v int64) *Milestone {
6853	s.MilestoneNumber = &v
6854	return s
6855}
6856
6857// SetRecordedAt sets the RecordedAt field's value.
6858func (s *Milestone) SetRecordedAt(v time.Time) *Milestone {
6859	s.RecordedAt = &v
6860	return s
6861}
6862
6863// SetWorkload sets the Workload field's value.
6864func (s *Milestone) SetWorkload(v *Workload) *Milestone {
6865	s.Workload = v
6866	return s
6867}
6868
6869// A milestone summary return object.
6870type MilestoneSummary struct {
6871	_ struct{} `type:"structure"`
6872
6873	// The name of the milestone in a workload.
6874	//
6875	// Milestone names must be unique within a workload.
6876	MilestoneName *string `min:"3" type:"string"`
6877
6878	// The milestone number.
6879	//
6880	// A workload can have a maximum of 100 milestones.
6881	MilestoneNumber *int64 `min:"1" type:"integer"`
6882
6883	// The date and time recorded.
6884	RecordedAt *time.Time `type:"timestamp"`
6885
6886	// A workload summary return object.
6887	WorkloadSummary *WorkloadSummary `type:"structure"`
6888}
6889
6890// String returns the string representation
6891func (s MilestoneSummary) String() string {
6892	return awsutil.Prettify(s)
6893}
6894
6895// GoString returns the string representation
6896func (s MilestoneSummary) GoString() string {
6897	return s.String()
6898}
6899
6900// SetMilestoneName sets the MilestoneName field's value.
6901func (s *MilestoneSummary) SetMilestoneName(v string) *MilestoneSummary {
6902	s.MilestoneName = &v
6903	return s
6904}
6905
6906// SetMilestoneNumber sets the MilestoneNumber field's value.
6907func (s *MilestoneSummary) SetMilestoneNumber(v int64) *MilestoneSummary {
6908	s.MilestoneNumber = &v
6909	return s
6910}
6911
6912// SetRecordedAt sets the RecordedAt field's value.
6913func (s *MilestoneSummary) SetRecordedAt(v time.Time) *MilestoneSummary {
6914	s.RecordedAt = &v
6915	return s
6916}
6917
6918// SetWorkloadSummary sets the WorkloadSummary field's value.
6919func (s *MilestoneSummary) SetWorkloadSummary(v *WorkloadSummary) *MilestoneSummary {
6920	s.WorkloadSummary = v
6921	return s
6922}
6923
6924// A notification summary return object.
6925type NotificationSummary struct {
6926	_ struct{} `type:"structure"`
6927
6928	// Summary of lens upgrade.
6929	LensUpgradeSummary *LensUpgradeSummary `type:"structure"`
6930
6931	// The type of notification.
6932	Type *string `type:"string" enum:"NotificationType"`
6933}
6934
6935// String returns the string representation
6936func (s NotificationSummary) String() string {
6937	return awsutil.Prettify(s)
6938}
6939
6940// GoString returns the string representation
6941func (s NotificationSummary) GoString() string {
6942	return s.String()
6943}
6944
6945// SetLensUpgradeSummary sets the LensUpgradeSummary field's value.
6946func (s *NotificationSummary) SetLensUpgradeSummary(v *LensUpgradeSummary) *NotificationSummary {
6947	s.LensUpgradeSummary = v
6948	return s
6949}
6950
6951// SetType sets the Type field's value.
6952func (s *NotificationSummary) SetType(v string) *NotificationSummary {
6953	s.Type = &v
6954	return s
6955}
6956
6957// A pillar difference return object.
6958type PillarDifference struct {
6959	_ struct{} `type:"structure"`
6960
6961	// Indicates the type of change to the pillar.
6962	DifferenceStatus *string `type:"string" enum:"DifferenceStatus"`
6963
6964	// The ID used to identify a pillar, for example, security.
6965	//
6966	// A pillar is identified by its PillarReviewSummary$PillarId.
6967	PillarId *string `min:"1" type:"string"`
6968
6969	// List of question differences.
6970	QuestionDifferences []*QuestionDifference `type:"list"`
6971}
6972
6973// String returns the string representation
6974func (s PillarDifference) String() string {
6975	return awsutil.Prettify(s)
6976}
6977
6978// GoString returns the string representation
6979func (s PillarDifference) GoString() string {
6980	return s.String()
6981}
6982
6983// SetDifferenceStatus sets the DifferenceStatus field's value.
6984func (s *PillarDifference) SetDifferenceStatus(v string) *PillarDifference {
6985	s.DifferenceStatus = &v
6986	return s
6987}
6988
6989// SetPillarId sets the PillarId field's value.
6990func (s *PillarDifference) SetPillarId(v string) *PillarDifference {
6991	s.PillarId = &v
6992	return s
6993}
6994
6995// SetQuestionDifferences sets the QuestionDifferences field's value.
6996func (s *PillarDifference) SetQuestionDifferences(v []*QuestionDifference) *PillarDifference {
6997	s.QuestionDifferences = v
6998	return s
6999}
7000
7001// A pillar review summary of a lens review.
7002type PillarReviewSummary struct {
7003	_ struct{} `type:"structure"`
7004
7005	// The notes associated with the workload.
7006	Notes *string `type:"string"`
7007
7008	// The ID used to identify a pillar, for example, security.
7009	//
7010	// A pillar is identified by its PillarReviewSummary$PillarId.
7011	PillarId *string `min:"1" type:"string"`
7012
7013	// The name of the pillar.
7014	PillarName *string `min:"1" type:"string"`
7015
7016	// A map from risk names to the count of how questions have that rating.
7017	RiskCounts map[string]*int64 `type:"map"`
7018}
7019
7020// String returns the string representation
7021func (s PillarReviewSummary) String() string {
7022	return awsutil.Prettify(s)
7023}
7024
7025// GoString returns the string representation
7026func (s PillarReviewSummary) GoString() string {
7027	return s.String()
7028}
7029
7030// SetNotes sets the Notes field's value.
7031func (s *PillarReviewSummary) SetNotes(v string) *PillarReviewSummary {
7032	s.Notes = &v
7033	return s
7034}
7035
7036// SetPillarId sets the PillarId field's value.
7037func (s *PillarReviewSummary) SetPillarId(v string) *PillarReviewSummary {
7038	s.PillarId = &v
7039	return s
7040}
7041
7042// SetPillarName sets the PillarName field's value.
7043func (s *PillarReviewSummary) SetPillarName(v string) *PillarReviewSummary {
7044	s.PillarName = &v
7045	return s
7046}
7047
7048// SetRiskCounts sets the RiskCounts field's value.
7049func (s *PillarReviewSummary) SetRiskCounts(v map[string]*int64) *PillarReviewSummary {
7050	s.RiskCounts = v
7051	return s
7052}
7053
7054// A question difference return object.
7055type QuestionDifference struct {
7056	_ struct{} `type:"structure"`
7057
7058	// Indicates the type of change to the question.
7059	DifferenceStatus *string `type:"string" enum:"DifferenceStatus"`
7060
7061	// The ID of the question.
7062	QuestionId *string `min:"1" type:"string"`
7063
7064	// The title of the question.
7065	QuestionTitle *string `min:"1" type:"string"`
7066}
7067
7068// String returns the string representation
7069func (s QuestionDifference) String() string {
7070	return awsutil.Prettify(s)
7071}
7072
7073// GoString returns the string representation
7074func (s QuestionDifference) GoString() string {
7075	return s.String()
7076}
7077
7078// SetDifferenceStatus sets the DifferenceStatus field's value.
7079func (s *QuestionDifference) SetDifferenceStatus(v string) *QuestionDifference {
7080	s.DifferenceStatus = &v
7081	return s
7082}
7083
7084// SetQuestionId sets the QuestionId field's value.
7085func (s *QuestionDifference) SetQuestionId(v string) *QuestionDifference {
7086	s.QuestionId = &v
7087	return s
7088}
7089
7090// SetQuestionTitle sets the QuestionTitle field's value.
7091func (s *QuestionDifference) SetQuestionTitle(v string) *QuestionDifference {
7092	s.QuestionTitle = &v
7093	return s
7094}
7095
7096// The requested resource was not found.
7097type ResourceNotFoundException struct {
7098	_            struct{}                  `type:"structure"`
7099	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7100
7101	// Description of the error.
7102	Message_ *string `locationName:"Message" type:"string"`
7103
7104	// Identifier of the resource affected.
7105	//
7106	// ResourceId is a required field
7107	ResourceId *string `type:"string" required:"true"`
7108
7109	// Type of the resource affected.
7110	//
7111	// ResourceType is a required field
7112	ResourceType *string `type:"string" required:"true"`
7113}
7114
7115// String returns the string representation
7116func (s ResourceNotFoundException) String() string {
7117	return awsutil.Prettify(s)
7118}
7119
7120// GoString returns the string representation
7121func (s ResourceNotFoundException) GoString() string {
7122	return s.String()
7123}
7124
7125func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
7126	return &ResourceNotFoundException{
7127		RespMetadata: v,
7128	}
7129}
7130
7131// Code returns the exception type name.
7132func (s *ResourceNotFoundException) Code() string {
7133	return "ResourceNotFoundException"
7134}
7135
7136// Message returns the exception's message.
7137func (s *ResourceNotFoundException) Message() string {
7138	if s.Message_ != nil {
7139		return *s.Message_
7140	}
7141	return ""
7142}
7143
7144// OrigErr always returns nil, satisfies awserr.Error interface.
7145func (s *ResourceNotFoundException) OrigErr() error {
7146	return nil
7147}
7148
7149func (s *ResourceNotFoundException) Error() string {
7150	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7151}
7152
7153// Status code returns the HTTP status code for the request's response error.
7154func (s *ResourceNotFoundException) StatusCode() int {
7155	return s.RespMetadata.StatusCode
7156}
7157
7158// RequestID returns the service's response RequestID for request.
7159func (s *ResourceNotFoundException) RequestID() string {
7160	return s.RespMetadata.RequestID
7161}
7162
7163// The user has reached their resource quota.
7164type ServiceQuotaExceededException struct {
7165	_            struct{}                  `type:"structure"`
7166	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7167
7168	// Description of the error.
7169	Message_ *string `locationName:"Message" type:"string"`
7170
7171	// Service Quotas requirement to identify originating quota.
7172	//
7173	// QuotaCode is a required field
7174	QuotaCode *string `type:"string" required:"true"`
7175
7176	// Identifier of the resource affected.
7177	ResourceId *string `type:"string"`
7178
7179	// Type of the resource affected.
7180	ResourceType *string `type:"string"`
7181
7182	// Service Quotas requirement to identify originating service.
7183	//
7184	// ServiceCode is a required field
7185	ServiceCode *string `type:"string" required:"true"`
7186}
7187
7188// String returns the string representation
7189func (s ServiceQuotaExceededException) String() string {
7190	return awsutil.Prettify(s)
7191}
7192
7193// GoString returns the string representation
7194func (s ServiceQuotaExceededException) GoString() string {
7195	return s.String()
7196}
7197
7198func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
7199	return &ServiceQuotaExceededException{
7200		RespMetadata: v,
7201	}
7202}
7203
7204// Code returns the exception type name.
7205func (s *ServiceQuotaExceededException) Code() string {
7206	return "ServiceQuotaExceededException"
7207}
7208
7209// Message returns the exception's message.
7210func (s *ServiceQuotaExceededException) Message() string {
7211	if s.Message_ != nil {
7212		return *s.Message_
7213	}
7214	return ""
7215}
7216
7217// OrigErr always returns nil, satisfies awserr.Error interface.
7218func (s *ServiceQuotaExceededException) OrigErr() error {
7219	return nil
7220}
7221
7222func (s *ServiceQuotaExceededException) Error() string {
7223	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7224}
7225
7226// Status code returns the HTTP status code for the request's response error.
7227func (s *ServiceQuotaExceededException) StatusCode() int {
7228	return s.RespMetadata.StatusCode
7229}
7230
7231// RequestID returns the service's response RequestID for request.
7232func (s *ServiceQuotaExceededException) RequestID() string {
7233	return s.RespMetadata.RequestID
7234}
7235
7236// The share invitation.
7237type ShareInvitation struct {
7238	_ struct{} `type:"structure"`
7239
7240	// The ID assigned to the share invitation.
7241	ShareInvitationId *string `type:"string"`
7242
7243	// The ID assigned to the workload. This ID is unique within an AWS Region.
7244	WorkloadId *string `type:"string"`
7245}
7246
7247// String returns the string representation
7248func (s ShareInvitation) String() string {
7249	return awsutil.Prettify(s)
7250}
7251
7252// GoString returns the string representation
7253func (s ShareInvitation) GoString() string {
7254	return s.String()
7255}
7256
7257// SetShareInvitationId sets the ShareInvitationId field's value.
7258func (s *ShareInvitation) SetShareInvitationId(v string) *ShareInvitation {
7259	s.ShareInvitationId = &v
7260	return s
7261}
7262
7263// SetWorkloadId sets the WorkloadId field's value.
7264func (s *ShareInvitation) SetWorkloadId(v string) *ShareInvitation {
7265	s.WorkloadId = &v
7266	return s
7267}
7268
7269// A share invitation summary return object.
7270type ShareInvitationSummary struct {
7271	_ struct{} `type:"structure"`
7272
7273	// Permission granted on a workload share.
7274	PermissionType *string `type:"string" enum:"PermissionType"`
7275
7276	// The ID assigned to the share invitation.
7277	ShareInvitationId *string `type:"string"`
7278
7279	// An AWS account ID.
7280	SharedBy *string `type:"string"`
7281
7282	// The AWS account ID or IAM role with which the workload is shared.
7283	SharedWith *string `min:"12" type:"string"`
7284
7285	// The ID assigned to the workload. This ID is unique within an AWS Region.
7286	WorkloadId *string `type:"string"`
7287
7288	// The name of the workload.
7289	//
7290	// The name must be unique within an account within a Region. Spaces and capitalization
7291	// are ignored when checking for uniqueness.
7292	WorkloadName *string `min:"3" type:"string"`
7293}
7294
7295// String returns the string representation
7296func (s ShareInvitationSummary) String() string {
7297	return awsutil.Prettify(s)
7298}
7299
7300// GoString returns the string representation
7301func (s ShareInvitationSummary) GoString() string {
7302	return s.String()
7303}
7304
7305// SetPermissionType sets the PermissionType field's value.
7306func (s *ShareInvitationSummary) SetPermissionType(v string) *ShareInvitationSummary {
7307	s.PermissionType = &v
7308	return s
7309}
7310
7311// SetShareInvitationId sets the ShareInvitationId field's value.
7312func (s *ShareInvitationSummary) SetShareInvitationId(v string) *ShareInvitationSummary {
7313	s.ShareInvitationId = &v
7314	return s
7315}
7316
7317// SetSharedBy sets the SharedBy field's value.
7318func (s *ShareInvitationSummary) SetSharedBy(v string) *ShareInvitationSummary {
7319	s.SharedBy = &v
7320	return s
7321}
7322
7323// SetSharedWith sets the SharedWith field's value.
7324func (s *ShareInvitationSummary) SetSharedWith(v string) *ShareInvitationSummary {
7325	s.SharedWith = &v
7326	return s
7327}
7328
7329// SetWorkloadId sets the WorkloadId field's value.
7330func (s *ShareInvitationSummary) SetWorkloadId(v string) *ShareInvitationSummary {
7331	s.WorkloadId = &v
7332	return s
7333}
7334
7335// SetWorkloadName sets the WorkloadName field's value.
7336func (s *ShareInvitationSummary) SetWorkloadName(v string) *ShareInvitationSummary {
7337	s.WorkloadName = &v
7338	return s
7339}
7340
7341type TagResourceInput struct {
7342	_ struct{} `type:"structure"`
7343
7344	// The tags for the resource.
7345	//
7346	// Tags is a required field
7347	Tags map[string]*string `min:"1" type:"map" required:"true"`
7348
7349	// The ARN for the workload.
7350	//
7351	// WorkloadArn is a required field
7352	WorkloadArn *string `location:"uri" locationName:"WorkloadArn" type:"string" required:"true"`
7353}
7354
7355// String returns the string representation
7356func (s TagResourceInput) String() string {
7357	return awsutil.Prettify(s)
7358}
7359
7360// GoString returns the string representation
7361func (s TagResourceInput) GoString() string {
7362	return s.String()
7363}
7364
7365// Validate inspects the fields of the type to determine if they are valid.
7366func (s *TagResourceInput) Validate() error {
7367	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
7368	if s.Tags == nil {
7369		invalidParams.Add(request.NewErrParamRequired("Tags"))
7370	}
7371	if s.Tags != nil && len(s.Tags) < 1 {
7372		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
7373	}
7374	if s.WorkloadArn == nil {
7375		invalidParams.Add(request.NewErrParamRequired("WorkloadArn"))
7376	}
7377	if s.WorkloadArn != nil && len(*s.WorkloadArn) < 1 {
7378		invalidParams.Add(request.NewErrParamMinLen("WorkloadArn", 1))
7379	}
7380
7381	if invalidParams.Len() > 0 {
7382		return invalidParams
7383	}
7384	return nil
7385}
7386
7387// SetTags sets the Tags field's value.
7388func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
7389	s.Tags = v
7390	return s
7391}
7392
7393// SetWorkloadArn sets the WorkloadArn field's value.
7394func (s *TagResourceInput) SetWorkloadArn(v string) *TagResourceInput {
7395	s.WorkloadArn = &v
7396	return s
7397}
7398
7399type TagResourceOutput struct {
7400	_ struct{} `type:"structure"`
7401}
7402
7403// String returns the string representation
7404func (s TagResourceOutput) String() string {
7405	return awsutil.Prettify(s)
7406}
7407
7408// GoString returns the string representation
7409func (s TagResourceOutput) GoString() string {
7410	return s.String()
7411}
7412
7413// Request was denied due to request throttling.
7414type ThrottlingException struct {
7415	_            struct{}                  `type:"structure"`
7416	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7417
7418	// Description of the error.
7419	Message_ *string `locationName:"Message" type:"string"`
7420
7421	// Service Quotas requirement to identify originating quota.
7422	QuotaCode *string `type:"string"`
7423
7424	// Service Quotas requirement to identify originating service.
7425	ServiceCode *string `type:"string"`
7426}
7427
7428// String returns the string representation
7429func (s ThrottlingException) String() string {
7430	return awsutil.Prettify(s)
7431}
7432
7433// GoString returns the string representation
7434func (s ThrottlingException) GoString() string {
7435	return s.String()
7436}
7437
7438func newErrorThrottlingException(v protocol.ResponseMetadata) error {
7439	return &ThrottlingException{
7440		RespMetadata: v,
7441	}
7442}
7443
7444// Code returns the exception type name.
7445func (s *ThrottlingException) Code() string {
7446	return "ThrottlingException"
7447}
7448
7449// Message returns the exception's message.
7450func (s *ThrottlingException) Message() string {
7451	if s.Message_ != nil {
7452		return *s.Message_
7453	}
7454	return ""
7455}
7456
7457// OrigErr always returns nil, satisfies awserr.Error interface.
7458func (s *ThrottlingException) OrigErr() error {
7459	return nil
7460}
7461
7462func (s *ThrottlingException) Error() string {
7463	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7464}
7465
7466// Status code returns the HTTP status code for the request's response error.
7467func (s *ThrottlingException) StatusCode() int {
7468	return s.RespMetadata.StatusCode
7469}
7470
7471// RequestID returns the service's response RequestID for request.
7472func (s *ThrottlingException) RequestID() string {
7473	return s.RespMetadata.RequestID
7474}
7475
7476type UntagResourceInput struct {
7477	_ struct{} `type:"structure"`
7478
7479	// The keys of the tags to be removed.
7480	//
7481	// TagKeys is a required field
7482	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
7483
7484	// The ARN for the workload.
7485	//
7486	// WorkloadArn is a required field
7487	WorkloadArn *string `location:"uri" locationName:"WorkloadArn" type:"string" required:"true"`
7488}
7489
7490// String returns the string representation
7491func (s UntagResourceInput) String() string {
7492	return awsutil.Prettify(s)
7493}
7494
7495// GoString returns the string representation
7496func (s UntagResourceInput) GoString() string {
7497	return s.String()
7498}
7499
7500// Validate inspects the fields of the type to determine if they are valid.
7501func (s *UntagResourceInput) Validate() error {
7502	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
7503	if s.TagKeys == nil {
7504		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
7505	}
7506	if s.TagKeys != nil && len(s.TagKeys) < 1 {
7507		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
7508	}
7509	if s.WorkloadArn == nil {
7510		invalidParams.Add(request.NewErrParamRequired("WorkloadArn"))
7511	}
7512	if s.WorkloadArn != nil && len(*s.WorkloadArn) < 1 {
7513		invalidParams.Add(request.NewErrParamMinLen("WorkloadArn", 1))
7514	}
7515
7516	if invalidParams.Len() > 0 {
7517		return invalidParams
7518	}
7519	return nil
7520}
7521
7522// SetTagKeys sets the TagKeys field's value.
7523func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
7524	s.TagKeys = v
7525	return s
7526}
7527
7528// SetWorkloadArn sets the WorkloadArn field's value.
7529func (s *UntagResourceInput) SetWorkloadArn(v string) *UntagResourceInput {
7530	s.WorkloadArn = &v
7531	return s
7532}
7533
7534type UntagResourceOutput struct {
7535	_ struct{} `type:"structure"`
7536}
7537
7538// String returns the string representation
7539func (s UntagResourceOutput) String() string {
7540	return awsutil.Prettify(s)
7541}
7542
7543// GoString returns the string representation
7544func (s UntagResourceOutput) GoString() string {
7545	return s.String()
7546}
7547
7548// Input to update answer.
7549type UpdateAnswerInput struct {
7550	_ struct{} `type:"structure"`
7551
7552	// Defines whether this question is applicable to a lens review.
7553	IsApplicable *bool `type:"boolean"`
7554
7555	// The alias of the lens, for example, serverless.
7556	//
7557	// Each lens is identified by its LensSummary$LensAlias.
7558	//
7559	// LensAlias is a required field
7560	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
7561
7562	// The notes associated with the workload.
7563	Notes *string `type:"string"`
7564
7565	// The ID of the question.
7566	//
7567	// QuestionId is a required field
7568	QuestionId *string `location:"uri" locationName:"QuestionId" min:"1" type:"string" required:"true"`
7569
7570	// List of selected choice IDs in a question answer.
7571	//
7572	// The values entered replace the previously selected choices.
7573	SelectedChoices []*string `type:"list"`
7574
7575	// The ID assigned to the workload. This ID is unique within an AWS Region.
7576	//
7577	// WorkloadId is a required field
7578	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
7579}
7580
7581// String returns the string representation
7582func (s UpdateAnswerInput) String() string {
7583	return awsutil.Prettify(s)
7584}
7585
7586// GoString returns the string representation
7587func (s UpdateAnswerInput) GoString() string {
7588	return s.String()
7589}
7590
7591// Validate inspects the fields of the type to determine if they are valid.
7592func (s *UpdateAnswerInput) Validate() error {
7593	invalidParams := request.ErrInvalidParams{Context: "UpdateAnswerInput"}
7594	if s.LensAlias == nil {
7595		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
7596	}
7597	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
7598		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
7599	}
7600	if s.QuestionId == nil {
7601		invalidParams.Add(request.NewErrParamRequired("QuestionId"))
7602	}
7603	if s.QuestionId != nil && len(*s.QuestionId) < 1 {
7604		invalidParams.Add(request.NewErrParamMinLen("QuestionId", 1))
7605	}
7606	if s.WorkloadId == nil {
7607		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
7608	}
7609	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
7610		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
7611	}
7612
7613	if invalidParams.Len() > 0 {
7614		return invalidParams
7615	}
7616	return nil
7617}
7618
7619// SetIsApplicable sets the IsApplicable field's value.
7620func (s *UpdateAnswerInput) SetIsApplicable(v bool) *UpdateAnswerInput {
7621	s.IsApplicable = &v
7622	return s
7623}
7624
7625// SetLensAlias sets the LensAlias field's value.
7626func (s *UpdateAnswerInput) SetLensAlias(v string) *UpdateAnswerInput {
7627	s.LensAlias = &v
7628	return s
7629}
7630
7631// SetNotes sets the Notes field's value.
7632func (s *UpdateAnswerInput) SetNotes(v string) *UpdateAnswerInput {
7633	s.Notes = &v
7634	return s
7635}
7636
7637// SetQuestionId sets the QuestionId field's value.
7638func (s *UpdateAnswerInput) SetQuestionId(v string) *UpdateAnswerInput {
7639	s.QuestionId = &v
7640	return s
7641}
7642
7643// SetSelectedChoices sets the SelectedChoices field's value.
7644func (s *UpdateAnswerInput) SetSelectedChoices(v []*string) *UpdateAnswerInput {
7645	s.SelectedChoices = v
7646	return s
7647}
7648
7649// SetWorkloadId sets the WorkloadId field's value.
7650func (s *UpdateAnswerInput) SetWorkloadId(v string) *UpdateAnswerInput {
7651	s.WorkloadId = &v
7652	return s
7653}
7654
7655// Output of a update answer call.
7656type UpdateAnswerOutput struct {
7657	_ struct{} `type:"structure"`
7658
7659	// An answer of the question.
7660	Answer *Answer `type:"structure"`
7661
7662	// The alias of the lens, for example, serverless.
7663	//
7664	// Each lens is identified by its LensSummary$LensAlias.
7665	LensAlias *string `min:"1" type:"string"`
7666
7667	// The ID assigned to the workload. This ID is unique within an AWS Region.
7668	WorkloadId *string `type:"string"`
7669}
7670
7671// String returns the string representation
7672func (s UpdateAnswerOutput) String() string {
7673	return awsutil.Prettify(s)
7674}
7675
7676// GoString returns the string representation
7677func (s UpdateAnswerOutput) GoString() string {
7678	return s.String()
7679}
7680
7681// SetAnswer sets the Answer field's value.
7682func (s *UpdateAnswerOutput) SetAnswer(v *Answer) *UpdateAnswerOutput {
7683	s.Answer = v
7684	return s
7685}
7686
7687// SetLensAlias sets the LensAlias field's value.
7688func (s *UpdateAnswerOutput) SetLensAlias(v string) *UpdateAnswerOutput {
7689	s.LensAlias = &v
7690	return s
7691}
7692
7693// SetWorkloadId sets the WorkloadId field's value.
7694func (s *UpdateAnswerOutput) SetWorkloadId(v string) *UpdateAnswerOutput {
7695	s.WorkloadId = &v
7696	return s
7697}
7698
7699// Input for update lens review.
7700type UpdateLensReviewInput struct {
7701	_ struct{} `type:"structure"`
7702
7703	// The alias of the lens, for example, serverless.
7704	//
7705	// Each lens is identified by its LensSummary$LensAlias.
7706	//
7707	// LensAlias is a required field
7708	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
7709
7710	// The notes associated with the workload.
7711	LensNotes *string `type:"string"`
7712
7713	// List of pillar notes of a lens review in a workload.
7714	PillarNotes map[string]*string `type:"map"`
7715
7716	// The ID assigned to the workload. This ID is unique within an AWS Region.
7717	//
7718	// WorkloadId is a required field
7719	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
7720}
7721
7722// String returns the string representation
7723func (s UpdateLensReviewInput) String() string {
7724	return awsutil.Prettify(s)
7725}
7726
7727// GoString returns the string representation
7728func (s UpdateLensReviewInput) GoString() string {
7729	return s.String()
7730}
7731
7732// Validate inspects the fields of the type to determine if they are valid.
7733func (s *UpdateLensReviewInput) Validate() error {
7734	invalidParams := request.ErrInvalidParams{Context: "UpdateLensReviewInput"}
7735	if s.LensAlias == nil {
7736		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
7737	}
7738	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
7739		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
7740	}
7741	if s.WorkloadId == nil {
7742		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
7743	}
7744	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
7745		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
7746	}
7747
7748	if invalidParams.Len() > 0 {
7749		return invalidParams
7750	}
7751	return nil
7752}
7753
7754// SetLensAlias sets the LensAlias field's value.
7755func (s *UpdateLensReviewInput) SetLensAlias(v string) *UpdateLensReviewInput {
7756	s.LensAlias = &v
7757	return s
7758}
7759
7760// SetLensNotes sets the LensNotes field's value.
7761func (s *UpdateLensReviewInput) SetLensNotes(v string) *UpdateLensReviewInput {
7762	s.LensNotes = &v
7763	return s
7764}
7765
7766// SetPillarNotes sets the PillarNotes field's value.
7767func (s *UpdateLensReviewInput) SetPillarNotes(v map[string]*string) *UpdateLensReviewInput {
7768	s.PillarNotes = v
7769	return s
7770}
7771
7772// SetWorkloadId sets the WorkloadId field's value.
7773func (s *UpdateLensReviewInput) SetWorkloadId(v string) *UpdateLensReviewInput {
7774	s.WorkloadId = &v
7775	return s
7776}
7777
7778// Output of a update lens review call.
7779type UpdateLensReviewOutput struct {
7780	_ struct{} `type:"structure"`
7781
7782	// A lens review of a question.
7783	LensReview *LensReview `type:"structure"`
7784
7785	// The ID assigned to the workload. This ID is unique within an AWS Region.
7786	WorkloadId *string `type:"string"`
7787}
7788
7789// String returns the string representation
7790func (s UpdateLensReviewOutput) String() string {
7791	return awsutil.Prettify(s)
7792}
7793
7794// GoString returns the string representation
7795func (s UpdateLensReviewOutput) GoString() string {
7796	return s.String()
7797}
7798
7799// SetLensReview sets the LensReview field's value.
7800func (s *UpdateLensReviewOutput) SetLensReview(v *LensReview) *UpdateLensReviewOutput {
7801	s.LensReview = v
7802	return s
7803}
7804
7805// SetWorkloadId sets the WorkloadId field's value.
7806func (s *UpdateLensReviewOutput) SetWorkloadId(v string) *UpdateLensReviewOutput {
7807	s.WorkloadId = &v
7808	return s
7809}
7810
7811// Input for Update Share Invitation
7812type UpdateShareInvitationInput struct {
7813	_ struct{} `type:"structure"`
7814
7815	// Share invitation action taken by contributor.
7816	//
7817	// ShareInvitationAction is a required field
7818	ShareInvitationAction *string `type:"string" required:"true" enum:"ShareInvitationAction"`
7819
7820	// The ID assigned to the share invitation.
7821	//
7822	// ShareInvitationId is a required field
7823	ShareInvitationId *string `location:"uri" locationName:"ShareInvitationId" type:"string" required:"true"`
7824}
7825
7826// String returns the string representation
7827func (s UpdateShareInvitationInput) String() string {
7828	return awsutil.Prettify(s)
7829}
7830
7831// GoString returns the string representation
7832func (s UpdateShareInvitationInput) GoString() string {
7833	return s.String()
7834}
7835
7836// Validate inspects the fields of the type to determine if they are valid.
7837func (s *UpdateShareInvitationInput) Validate() error {
7838	invalidParams := request.ErrInvalidParams{Context: "UpdateShareInvitationInput"}
7839	if s.ShareInvitationAction == nil {
7840		invalidParams.Add(request.NewErrParamRequired("ShareInvitationAction"))
7841	}
7842	if s.ShareInvitationId == nil {
7843		invalidParams.Add(request.NewErrParamRequired("ShareInvitationId"))
7844	}
7845	if s.ShareInvitationId != nil && len(*s.ShareInvitationId) < 1 {
7846		invalidParams.Add(request.NewErrParamMinLen("ShareInvitationId", 1))
7847	}
7848
7849	if invalidParams.Len() > 0 {
7850		return invalidParams
7851	}
7852	return nil
7853}
7854
7855// SetShareInvitationAction sets the ShareInvitationAction field's value.
7856func (s *UpdateShareInvitationInput) SetShareInvitationAction(v string) *UpdateShareInvitationInput {
7857	s.ShareInvitationAction = &v
7858	return s
7859}
7860
7861// SetShareInvitationId sets the ShareInvitationId field's value.
7862func (s *UpdateShareInvitationInput) SetShareInvitationId(v string) *UpdateShareInvitationInput {
7863	s.ShareInvitationId = &v
7864	return s
7865}
7866
7867type UpdateShareInvitationOutput struct {
7868	_ struct{} `type:"structure"`
7869
7870	// The updated workload share invitation.
7871	ShareInvitation *ShareInvitation `type:"structure"`
7872}
7873
7874// String returns the string representation
7875func (s UpdateShareInvitationOutput) String() string {
7876	return awsutil.Prettify(s)
7877}
7878
7879// GoString returns the string representation
7880func (s UpdateShareInvitationOutput) GoString() string {
7881	return s.String()
7882}
7883
7884// SetShareInvitation sets the ShareInvitation field's value.
7885func (s *UpdateShareInvitationOutput) SetShareInvitation(v *ShareInvitation) *UpdateShareInvitationOutput {
7886	s.ShareInvitation = v
7887	return s
7888}
7889
7890// Input to update a workload.
7891type UpdateWorkloadInput struct {
7892	_ struct{} `type:"structure"`
7893
7894	// The list of AWS account IDs associated with the workload.
7895	AccountIds []*string `type:"list"`
7896
7897	// The URL of the architectural design for the workload.
7898	ArchitecturalDesign *string `type:"string"`
7899
7900	// The list of AWS Regions associated with the workload, for example, us-east-2,
7901	// or ca-central-1.
7902	AwsRegions []*string `type:"list"`
7903
7904	// The description for the workload.
7905	Description *string `min:"3" type:"string"`
7906
7907	// The environment for the workload.
7908	Environment *string `type:"string" enum:"WorkloadEnvironment"`
7909
7910	// The improvement status for a workload.
7911	ImprovementStatus *string `type:"string" enum:"WorkloadImprovementStatus"`
7912
7913	// The industry for the workload.
7914	Industry *string `type:"string"`
7915
7916	// The industry type for the workload.
7917	//
7918	// If specified, must be one of the following:
7919	//
7920	//    * Agriculture
7921	//
7922	//    * Automobile
7923	//
7924	//    * Defense
7925	//
7926	//    * Design and Engineering
7927	//
7928	//    * Digital Advertising
7929	//
7930	//    * Education
7931	//
7932	//    * Environmental Protection
7933	//
7934	//    * Financial Services
7935	//
7936	//    * Gaming
7937	//
7938	//    * General Public Services
7939	//
7940	//    * Healthcare
7941	//
7942	//    * Hospitality
7943	//
7944	//    * InfoTech
7945	//
7946	//    * Justice and Public Safety
7947	//
7948	//    * Life Sciences
7949	//
7950	//    * Manufacturing
7951	//
7952	//    * Media & Entertainment
7953	//
7954	//    * Mining & Resources
7955	//
7956	//    * Oil & Gas
7957	//
7958	//    * Power & Utilities
7959	//
7960	//    * Professional Services
7961	//
7962	//    * Real Estate & Construction
7963	//
7964	//    * Retail & Wholesale
7965	//
7966	//    * Social Protection
7967	//
7968	//    * Telecommunications
7969	//
7970	//    * Travel, Transportation & Logistics
7971	//
7972	//    * Other
7973	IndustryType *string `type:"string"`
7974
7975	// Flag indicating whether the workload owner has acknowledged that the Review
7976	// owner field is required.
7977	//
7978	// If a Review owner is not added to the workload within 60 days of acknowledgement,
7979	// access to the workload is restricted until an owner is added.
7980	IsReviewOwnerUpdateAcknowledged *bool `type:"boolean"`
7981
7982	// The list of non-AWS Regions associated with the workload.
7983	NonAwsRegions []*string `type:"list"`
7984
7985	// The notes associated with the workload.
7986	Notes *string `type:"string"`
7987
7988	// The priorities of the pillars, which are used to order items in the improvement
7989	// plan. Each pillar is represented by its PillarReviewSummary$PillarId.
7990	PillarPriorities []*string `type:"list"`
7991
7992	// The review owner of the workload. The name, email address, or identifier
7993	// for the primary group or individual that owns the workload review process.
7994	ReviewOwner *string `min:"3" type:"string"`
7995
7996	// The ID assigned to the workload. This ID is unique within an AWS Region.
7997	//
7998	// WorkloadId is a required field
7999	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
8000
8001	// The name of the workload.
8002	//
8003	// The name must be unique within an account within a Region. Spaces and capitalization
8004	// are ignored when checking for uniqueness.
8005	WorkloadName *string `min:"3" type:"string"`
8006}
8007
8008// String returns the string representation
8009func (s UpdateWorkloadInput) String() string {
8010	return awsutil.Prettify(s)
8011}
8012
8013// GoString returns the string representation
8014func (s UpdateWorkloadInput) GoString() string {
8015	return s.String()
8016}
8017
8018// Validate inspects the fields of the type to determine if they are valid.
8019func (s *UpdateWorkloadInput) Validate() error {
8020	invalidParams := request.ErrInvalidParams{Context: "UpdateWorkloadInput"}
8021	if s.Description != nil && len(*s.Description) < 3 {
8022		invalidParams.Add(request.NewErrParamMinLen("Description", 3))
8023	}
8024	if s.ReviewOwner != nil && len(*s.ReviewOwner) < 3 {
8025		invalidParams.Add(request.NewErrParamMinLen("ReviewOwner", 3))
8026	}
8027	if s.WorkloadId == nil {
8028		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
8029	}
8030	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
8031		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
8032	}
8033	if s.WorkloadName != nil && len(*s.WorkloadName) < 3 {
8034		invalidParams.Add(request.NewErrParamMinLen("WorkloadName", 3))
8035	}
8036
8037	if invalidParams.Len() > 0 {
8038		return invalidParams
8039	}
8040	return nil
8041}
8042
8043// SetAccountIds sets the AccountIds field's value.
8044func (s *UpdateWorkloadInput) SetAccountIds(v []*string) *UpdateWorkloadInput {
8045	s.AccountIds = v
8046	return s
8047}
8048
8049// SetArchitecturalDesign sets the ArchitecturalDesign field's value.
8050func (s *UpdateWorkloadInput) SetArchitecturalDesign(v string) *UpdateWorkloadInput {
8051	s.ArchitecturalDesign = &v
8052	return s
8053}
8054
8055// SetAwsRegions sets the AwsRegions field's value.
8056func (s *UpdateWorkloadInput) SetAwsRegions(v []*string) *UpdateWorkloadInput {
8057	s.AwsRegions = v
8058	return s
8059}
8060
8061// SetDescription sets the Description field's value.
8062func (s *UpdateWorkloadInput) SetDescription(v string) *UpdateWorkloadInput {
8063	s.Description = &v
8064	return s
8065}
8066
8067// SetEnvironment sets the Environment field's value.
8068func (s *UpdateWorkloadInput) SetEnvironment(v string) *UpdateWorkloadInput {
8069	s.Environment = &v
8070	return s
8071}
8072
8073// SetImprovementStatus sets the ImprovementStatus field's value.
8074func (s *UpdateWorkloadInput) SetImprovementStatus(v string) *UpdateWorkloadInput {
8075	s.ImprovementStatus = &v
8076	return s
8077}
8078
8079// SetIndustry sets the Industry field's value.
8080func (s *UpdateWorkloadInput) SetIndustry(v string) *UpdateWorkloadInput {
8081	s.Industry = &v
8082	return s
8083}
8084
8085// SetIndustryType sets the IndustryType field's value.
8086func (s *UpdateWorkloadInput) SetIndustryType(v string) *UpdateWorkloadInput {
8087	s.IndustryType = &v
8088	return s
8089}
8090
8091// SetIsReviewOwnerUpdateAcknowledged sets the IsReviewOwnerUpdateAcknowledged field's value.
8092func (s *UpdateWorkloadInput) SetIsReviewOwnerUpdateAcknowledged(v bool) *UpdateWorkloadInput {
8093	s.IsReviewOwnerUpdateAcknowledged = &v
8094	return s
8095}
8096
8097// SetNonAwsRegions sets the NonAwsRegions field's value.
8098func (s *UpdateWorkloadInput) SetNonAwsRegions(v []*string) *UpdateWorkloadInput {
8099	s.NonAwsRegions = v
8100	return s
8101}
8102
8103// SetNotes sets the Notes field's value.
8104func (s *UpdateWorkloadInput) SetNotes(v string) *UpdateWorkloadInput {
8105	s.Notes = &v
8106	return s
8107}
8108
8109// SetPillarPriorities sets the PillarPriorities field's value.
8110func (s *UpdateWorkloadInput) SetPillarPriorities(v []*string) *UpdateWorkloadInput {
8111	s.PillarPriorities = v
8112	return s
8113}
8114
8115// SetReviewOwner sets the ReviewOwner field's value.
8116func (s *UpdateWorkloadInput) SetReviewOwner(v string) *UpdateWorkloadInput {
8117	s.ReviewOwner = &v
8118	return s
8119}
8120
8121// SetWorkloadId sets the WorkloadId field's value.
8122func (s *UpdateWorkloadInput) SetWorkloadId(v string) *UpdateWorkloadInput {
8123	s.WorkloadId = &v
8124	return s
8125}
8126
8127// SetWorkloadName sets the WorkloadName field's value.
8128func (s *UpdateWorkloadInput) SetWorkloadName(v string) *UpdateWorkloadInput {
8129	s.WorkloadName = &v
8130	return s
8131}
8132
8133// Output of an update workload call.
8134type UpdateWorkloadOutput struct {
8135	_ struct{} `type:"structure"`
8136
8137	// A workload return object.
8138	Workload *Workload `type:"structure"`
8139}
8140
8141// String returns the string representation
8142func (s UpdateWorkloadOutput) String() string {
8143	return awsutil.Prettify(s)
8144}
8145
8146// GoString returns the string representation
8147func (s UpdateWorkloadOutput) GoString() string {
8148	return s.String()
8149}
8150
8151// SetWorkload sets the Workload field's value.
8152func (s *UpdateWorkloadOutput) SetWorkload(v *Workload) *UpdateWorkloadOutput {
8153	s.Workload = v
8154	return s
8155}
8156
8157// Input for Update Workload Share
8158type UpdateWorkloadShareInput struct {
8159	_ struct{} `type:"structure"`
8160
8161	// Permission granted on a workload share.
8162	//
8163	// PermissionType is a required field
8164	PermissionType *string `type:"string" required:"true" enum:"PermissionType"`
8165
8166	// The ID associated with the workload share.
8167	//
8168	// ShareId is a required field
8169	ShareId *string `location:"uri" locationName:"ShareId" type:"string" required:"true"`
8170
8171	// The ID assigned to the workload. This ID is unique within an AWS Region.
8172	//
8173	// WorkloadId is a required field
8174	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
8175}
8176
8177// String returns the string representation
8178func (s UpdateWorkloadShareInput) String() string {
8179	return awsutil.Prettify(s)
8180}
8181
8182// GoString returns the string representation
8183func (s UpdateWorkloadShareInput) GoString() string {
8184	return s.String()
8185}
8186
8187// Validate inspects the fields of the type to determine if they are valid.
8188func (s *UpdateWorkloadShareInput) Validate() error {
8189	invalidParams := request.ErrInvalidParams{Context: "UpdateWorkloadShareInput"}
8190	if s.PermissionType == nil {
8191		invalidParams.Add(request.NewErrParamRequired("PermissionType"))
8192	}
8193	if s.ShareId == nil {
8194		invalidParams.Add(request.NewErrParamRequired("ShareId"))
8195	}
8196	if s.ShareId != nil && len(*s.ShareId) < 1 {
8197		invalidParams.Add(request.NewErrParamMinLen("ShareId", 1))
8198	}
8199	if s.WorkloadId == nil {
8200		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
8201	}
8202	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
8203		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
8204	}
8205
8206	if invalidParams.Len() > 0 {
8207		return invalidParams
8208	}
8209	return nil
8210}
8211
8212// SetPermissionType sets the PermissionType field's value.
8213func (s *UpdateWorkloadShareInput) SetPermissionType(v string) *UpdateWorkloadShareInput {
8214	s.PermissionType = &v
8215	return s
8216}
8217
8218// SetShareId sets the ShareId field's value.
8219func (s *UpdateWorkloadShareInput) SetShareId(v string) *UpdateWorkloadShareInput {
8220	s.ShareId = &v
8221	return s
8222}
8223
8224// SetWorkloadId sets the WorkloadId field's value.
8225func (s *UpdateWorkloadShareInput) SetWorkloadId(v string) *UpdateWorkloadShareInput {
8226	s.WorkloadId = &v
8227	return s
8228}
8229
8230// Input for Update Workload Share
8231type UpdateWorkloadShareOutput struct {
8232	_ struct{} `type:"structure"`
8233
8234	// The ID assigned to the workload. This ID is unique within an AWS Region.
8235	WorkloadId *string `type:"string"`
8236
8237	// A workload share return object.
8238	WorkloadShare *WorkloadShare `type:"structure"`
8239}
8240
8241// String returns the string representation
8242func (s UpdateWorkloadShareOutput) String() string {
8243	return awsutil.Prettify(s)
8244}
8245
8246// GoString returns the string representation
8247func (s UpdateWorkloadShareOutput) GoString() string {
8248	return s.String()
8249}
8250
8251// SetWorkloadId sets the WorkloadId field's value.
8252func (s *UpdateWorkloadShareOutput) SetWorkloadId(v string) *UpdateWorkloadShareOutput {
8253	s.WorkloadId = &v
8254	return s
8255}
8256
8257// SetWorkloadShare sets the WorkloadShare field's value.
8258func (s *UpdateWorkloadShareOutput) SetWorkloadShare(v *WorkloadShare) *UpdateWorkloadShareOutput {
8259	s.WorkloadShare = v
8260	return s
8261}
8262
8263type UpgradeLensReviewInput struct {
8264	_ struct{} `type:"structure"`
8265
8266	// A unique case-sensitive string used to ensure that this request is idempotent
8267	// (executes only once).
8268	//
8269	// You should not reuse the same token for other requests. If you retry a request
8270	// with the same client request token and the same parameters after it has completed
8271	// successfully, the result of the original request is returned.
8272	//
8273	// This token is listed as required, however, if you do not specify it, the
8274	// AWS SDKs automatically generate one for you. If you are not using the AWS
8275	// SDK or the AWS CLI, you must provide this token or the request will fail.
8276	ClientRequestToken *string `type:"string"`
8277
8278	// The alias of the lens, for example, serverless.
8279	//
8280	// Each lens is identified by its LensSummary$LensAlias.
8281	//
8282	// LensAlias is a required field
8283	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
8284
8285	// The name of the milestone in a workload.
8286	//
8287	// Milestone names must be unique within a workload.
8288	//
8289	// MilestoneName is a required field
8290	MilestoneName *string `min:"3" type:"string" required:"true"`
8291
8292	// The ID assigned to the workload. This ID is unique within an AWS Region.
8293	//
8294	// WorkloadId is a required field
8295	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
8296}
8297
8298// String returns the string representation
8299func (s UpgradeLensReviewInput) String() string {
8300	return awsutil.Prettify(s)
8301}
8302
8303// GoString returns the string representation
8304func (s UpgradeLensReviewInput) GoString() string {
8305	return s.String()
8306}
8307
8308// Validate inspects the fields of the type to determine if they are valid.
8309func (s *UpgradeLensReviewInput) Validate() error {
8310	invalidParams := request.ErrInvalidParams{Context: "UpgradeLensReviewInput"}
8311	if s.LensAlias == nil {
8312		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
8313	}
8314	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
8315		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
8316	}
8317	if s.MilestoneName == nil {
8318		invalidParams.Add(request.NewErrParamRequired("MilestoneName"))
8319	}
8320	if s.MilestoneName != nil && len(*s.MilestoneName) < 3 {
8321		invalidParams.Add(request.NewErrParamMinLen("MilestoneName", 3))
8322	}
8323	if s.WorkloadId == nil {
8324		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
8325	}
8326	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
8327		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
8328	}
8329
8330	if invalidParams.Len() > 0 {
8331		return invalidParams
8332	}
8333	return nil
8334}
8335
8336// SetClientRequestToken sets the ClientRequestToken field's value.
8337func (s *UpgradeLensReviewInput) SetClientRequestToken(v string) *UpgradeLensReviewInput {
8338	s.ClientRequestToken = &v
8339	return s
8340}
8341
8342// SetLensAlias sets the LensAlias field's value.
8343func (s *UpgradeLensReviewInput) SetLensAlias(v string) *UpgradeLensReviewInput {
8344	s.LensAlias = &v
8345	return s
8346}
8347
8348// SetMilestoneName sets the MilestoneName field's value.
8349func (s *UpgradeLensReviewInput) SetMilestoneName(v string) *UpgradeLensReviewInput {
8350	s.MilestoneName = &v
8351	return s
8352}
8353
8354// SetWorkloadId sets the WorkloadId field's value.
8355func (s *UpgradeLensReviewInput) SetWorkloadId(v string) *UpgradeLensReviewInput {
8356	s.WorkloadId = &v
8357	return s
8358}
8359
8360type UpgradeLensReviewOutput struct {
8361	_ struct{} `type:"structure"`
8362}
8363
8364// String returns the string representation
8365func (s UpgradeLensReviewOutput) String() string {
8366	return awsutil.Prettify(s)
8367}
8368
8369// GoString returns the string representation
8370func (s UpgradeLensReviewOutput) GoString() string {
8371	return s.String()
8372}
8373
8374// The user input is not valid.
8375type ValidationException struct {
8376	_            struct{}                  `type:"structure"`
8377	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8378
8379	// The fields that caused the error, if applicable.
8380	Fields []*ValidationExceptionField `type:"list"`
8381
8382	// Description of the error.
8383	Message_ *string `locationName:"Message" type:"string"`
8384
8385	// The reason why the request failed validation.
8386	Reason *string `type:"string" enum:"ValidationExceptionReason"`
8387}
8388
8389// String returns the string representation
8390func (s ValidationException) String() string {
8391	return awsutil.Prettify(s)
8392}
8393
8394// GoString returns the string representation
8395func (s ValidationException) GoString() string {
8396	return s.String()
8397}
8398
8399func newErrorValidationException(v protocol.ResponseMetadata) error {
8400	return &ValidationException{
8401		RespMetadata: v,
8402	}
8403}
8404
8405// Code returns the exception type name.
8406func (s *ValidationException) Code() string {
8407	return "ValidationException"
8408}
8409
8410// Message returns the exception's message.
8411func (s *ValidationException) Message() string {
8412	if s.Message_ != nil {
8413		return *s.Message_
8414	}
8415	return ""
8416}
8417
8418// OrigErr always returns nil, satisfies awserr.Error interface.
8419func (s *ValidationException) OrigErr() error {
8420	return nil
8421}
8422
8423func (s *ValidationException) Error() string {
8424	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
8425}
8426
8427// Status code returns the HTTP status code for the request's response error.
8428func (s *ValidationException) StatusCode() int {
8429	return s.RespMetadata.StatusCode
8430}
8431
8432// RequestID returns the service's response RequestID for request.
8433func (s *ValidationException) RequestID() string {
8434	return s.RespMetadata.RequestID
8435}
8436
8437// Stores information about a field passed inside a request that resulted in
8438// an exception.
8439type ValidationExceptionField struct {
8440	_ struct{} `type:"structure"`
8441
8442	// Description of the error.
8443	//
8444	// Message is a required field
8445	Message *string `type:"string" required:"true"`
8446
8447	// The field name for which validation failed.
8448	//
8449	// Name is a required field
8450	Name *string `type:"string" required:"true"`
8451}
8452
8453// String returns the string representation
8454func (s ValidationExceptionField) String() string {
8455	return awsutil.Prettify(s)
8456}
8457
8458// GoString returns the string representation
8459func (s ValidationExceptionField) GoString() string {
8460	return s.String()
8461}
8462
8463// SetMessage sets the Message field's value.
8464func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
8465	s.Message = &v
8466	return s
8467}
8468
8469// SetName sets the Name field's value.
8470func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
8471	s.Name = &v
8472	return s
8473}
8474
8475// The differences between the base and latest versions of the lens.
8476type VersionDifferences struct {
8477	_ struct{} `type:"structure"`
8478
8479	// The differences between the base and latest versions of the lens.
8480	PillarDifferences []*PillarDifference `type:"list"`
8481}
8482
8483// String returns the string representation
8484func (s VersionDifferences) String() string {
8485	return awsutil.Prettify(s)
8486}
8487
8488// GoString returns the string representation
8489func (s VersionDifferences) GoString() string {
8490	return s.String()
8491}
8492
8493// SetPillarDifferences sets the PillarDifferences field's value.
8494func (s *VersionDifferences) SetPillarDifferences(v []*PillarDifference) *VersionDifferences {
8495	s.PillarDifferences = v
8496	return s
8497}
8498
8499// A workload return object.
8500type Workload struct {
8501	_ struct{} `type:"structure"`
8502
8503	// The list of AWS account IDs associated with the workload.
8504	AccountIds []*string `type:"list"`
8505
8506	// The URL of the architectural design for the workload.
8507	ArchitecturalDesign *string `type:"string"`
8508
8509	// The list of AWS Regions associated with the workload, for example, us-east-2,
8510	// or ca-central-1.
8511	AwsRegions []*string `type:"list"`
8512
8513	// The description for the workload.
8514	Description *string `min:"3" type:"string"`
8515
8516	// The environment for the workload.
8517	Environment *string `type:"string" enum:"WorkloadEnvironment"`
8518
8519	// The improvement status for a workload.
8520	ImprovementStatus *string `type:"string" enum:"WorkloadImprovementStatus"`
8521
8522	// The industry for the workload.
8523	Industry *string `type:"string"`
8524
8525	// The industry type for the workload.
8526	//
8527	// If specified, must be one of the following:
8528	//
8529	//    * Agriculture
8530	//
8531	//    * Automobile
8532	//
8533	//    * Defense
8534	//
8535	//    * Design and Engineering
8536	//
8537	//    * Digital Advertising
8538	//
8539	//    * Education
8540	//
8541	//    * Environmental Protection
8542	//
8543	//    * Financial Services
8544	//
8545	//    * Gaming
8546	//
8547	//    * General Public Services
8548	//
8549	//    * Healthcare
8550	//
8551	//    * Hospitality
8552	//
8553	//    * InfoTech
8554	//
8555	//    * Justice and Public Safety
8556	//
8557	//    * Life Sciences
8558	//
8559	//    * Manufacturing
8560	//
8561	//    * Media & Entertainment
8562	//
8563	//    * Mining & Resources
8564	//
8565	//    * Oil & Gas
8566	//
8567	//    * Power & Utilities
8568	//
8569	//    * Professional Services
8570	//
8571	//    * Real Estate & Construction
8572	//
8573	//    * Retail & Wholesale
8574	//
8575	//    * Social Protection
8576	//
8577	//    * Telecommunications
8578	//
8579	//    * Travel, Transportation & Logistics
8580	//
8581	//    * Other
8582	IndustryType *string `type:"string"`
8583
8584	// Flag indicating whether the workload owner has acknowledged that the Review
8585	// owner field is required.
8586	//
8587	// If a Review owner is not added to the workload within 60 days of acknowledgement,
8588	// access to the workload is restricted until an owner is added.
8589	IsReviewOwnerUpdateAcknowledged *bool `type:"boolean"`
8590
8591	// The list of lenses associated with the workload. Each lens is identified
8592	// by its LensSummary$LensAlias.
8593	Lenses []*string `type:"list"`
8594
8595	// The list of non-AWS Regions associated with the workload.
8596	NonAwsRegions []*string `type:"list"`
8597
8598	// The notes associated with the workload.
8599	Notes *string `type:"string"`
8600
8601	// An AWS account ID.
8602	Owner *string `type:"string"`
8603
8604	// The priorities of the pillars, which are used to order items in the improvement
8605	// plan. Each pillar is represented by its PillarReviewSummary$PillarId.
8606	PillarPriorities []*string `type:"list"`
8607
8608	// The review owner of the workload. The name, email address, or identifier
8609	// for the primary group or individual that owns the workload review process.
8610	ReviewOwner *string `min:"3" type:"string"`
8611
8612	// The date and time recorded.
8613	ReviewRestrictionDate *time.Time `type:"timestamp"`
8614
8615	// A map from risk names to the count of how questions have that rating.
8616	RiskCounts map[string]*int64 `type:"map"`
8617
8618	// The ID assigned to the share invitation.
8619	ShareInvitationId *string `type:"string"`
8620
8621	// The tags associated with the workload.
8622	Tags map[string]*string `min:"1" type:"map"`
8623
8624	// The date and time recorded.
8625	UpdatedAt *time.Time `type:"timestamp"`
8626
8627	// The ARN for the workload.
8628	WorkloadArn *string `type:"string"`
8629
8630	// The ID assigned to the workload. This ID is unique within an AWS Region.
8631	WorkloadId *string `type:"string"`
8632
8633	// The name of the workload.
8634	//
8635	// The name must be unique within an account within a Region. Spaces and capitalization
8636	// are ignored when checking for uniqueness.
8637	WorkloadName *string `min:"3" type:"string"`
8638}
8639
8640// String returns the string representation
8641func (s Workload) String() string {
8642	return awsutil.Prettify(s)
8643}
8644
8645// GoString returns the string representation
8646func (s Workload) GoString() string {
8647	return s.String()
8648}
8649
8650// SetAccountIds sets the AccountIds field's value.
8651func (s *Workload) SetAccountIds(v []*string) *Workload {
8652	s.AccountIds = v
8653	return s
8654}
8655
8656// SetArchitecturalDesign sets the ArchitecturalDesign field's value.
8657func (s *Workload) SetArchitecturalDesign(v string) *Workload {
8658	s.ArchitecturalDesign = &v
8659	return s
8660}
8661
8662// SetAwsRegions sets the AwsRegions field's value.
8663func (s *Workload) SetAwsRegions(v []*string) *Workload {
8664	s.AwsRegions = v
8665	return s
8666}
8667
8668// SetDescription sets the Description field's value.
8669func (s *Workload) SetDescription(v string) *Workload {
8670	s.Description = &v
8671	return s
8672}
8673
8674// SetEnvironment sets the Environment field's value.
8675func (s *Workload) SetEnvironment(v string) *Workload {
8676	s.Environment = &v
8677	return s
8678}
8679
8680// SetImprovementStatus sets the ImprovementStatus field's value.
8681func (s *Workload) SetImprovementStatus(v string) *Workload {
8682	s.ImprovementStatus = &v
8683	return s
8684}
8685
8686// SetIndustry sets the Industry field's value.
8687func (s *Workload) SetIndustry(v string) *Workload {
8688	s.Industry = &v
8689	return s
8690}
8691
8692// SetIndustryType sets the IndustryType field's value.
8693func (s *Workload) SetIndustryType(v string) *Workload {
8694	s.IndustryType = &v
8695	return s
8696}
8697
8698// SetIsReviewOwnerUpdateAcknowledged sets the IsReviewOwnerUpdateAcknowledged field's value.
8699func (s *Workload) SetIsReviewOwnerUpdateAcknowledged(v bool) *Workload {
8700	s.IsReviewOwnerUpdateAcknowledged = &v
8701	return s
8702}
8703
8704// SetLenses sets the Lenses field's value.
8705func (s *Workload) SetLenses(v []*string) *Workload {
8706	s.Lenses = v
8707	return s
8708}
8709
8710// SetNonAwsRegions sets the NonAwsRegions field's value.
8711func (s *Workload) SetNonAwsRegions(v []*string) *Workload {
8712	s.NonAwsRegions = v
8713	return s
8714}
8715
8716// SetNotes sets the Notes field's value.
8717func (s *Workload) SetNotes(v string) *Workload {
8718	s.Notes = &v
8719	return s
8720}
8721
8722// SetOwner sets the Owner field's value.
8723func (s *Workload) SetOwner(v string) *Workload {
8724	s.Owner = &v
8725	return s
8726}
8727
8728// SetPillarPriorities sets the PillarPriorities field's value.
8729func (s *Workload) SetPillarPriorities(v []*string) *Workload {
8730	s.PillarPriorities = v
8731	return s
8732}
8733
8734// SetReviewOwner sets the ReviewOwner field's value.
8735func (s *Workload) SetReviewOwner(v string) *Workload {
8736	s.ReviewOwner = &v
8737	return s
8738}
8739
8740// SetReviewRestrictionDate sets the ReviewRestrictionDate field's value.
8741func (s *Workload) SetReviewRestrictionDate(v time.Time) *Workload {
8742	s.ReviewRestrictionDate = &v
8743	return s
8744}
8745
8746// SetRiskCounts sets the RiskCounts field's value.
8747func (s *Workload) SetRiskCounts(v map[string]*int64) *Workload {
8748	s.RiskCounts = v
8749	return s
8750}
8751
8752// SetShareInvitationId sets the ShareInvitationId field's value.
8753func (s *Workload) SetShareInvitationId(v string) *Workload {
8754	s.ShareInvitationId = &v
8755	return s
8756}
8757
8758// SetTags sets the Tags field's value.
8759func (s *Workload) SetTags(v map[string]*string) *Workload {
8760	s.Tags = v
8761	return s
8762}
8763
8764// SetUpdatedAt sets the UpdatedAt field's value.
8765func (s *Workload) SetUpdatedAt(v time.Time) *Workload {
8766	s.UpdatedAt = &v
8767	return s
8768}
8769
8770// SetWorkloadArn sets the WorkloadArn field's value.
8771func (s *Workload) SetWorkloadArn(v string) *Workload {
8772	s.WorkloadArn = &v
8773	return s
8774}
8775
8776// SetWorkloadId sets the WorkloadId field's value.
8777func (s *Workload) SetWorkloadId(v string) *Workload {
8778	s.WorkloadId = &v
8779	return s
8780}
8781
8782// SetWorkloadName sets the WorkloadName field's value.
8783func (s *Workload) SetWorkloadName(v string) *Workload {
8784	s.WorkloadName = &v
8785	return s
8786}
8787
8788// A workload share return object.
8789type WorkloadShare struct {
8790	_ struct{} `type:"structure"`
8791
8792	// Permission granted on a workload share.
8793	PermissionType *string `type:"string" enum:"PermissionType"`
8794
8795	// The ID associated with the workload share.
8796	ShareId *string `type:"string"`
8797
8798	// An AWS account ID.
8799	SharedBy *string `type:"string"`
8800
8801	// The AWS account ID or IAM role with which the workload is shared.
8802	SharedWith *string `min:"12" type:"string"`
8803
8804	// The status of a workload share.
8805	Status *string `type:"string" enum:"ShareStatus"`
8806
8807	// The ID assigned to the workload. This ID is unique within an AWS Region.
8808	WorkloadId *string `type:"string"`
8809
8810	// The name of the workload.
8811	//
8812	// The name must be unique within an account within a Region. Spaces and capitalization
8813	// are ignored when checking for uniqueness.
8814	WorkloadName *string `min:"3" type:"string"`
8815}
8816
8817// String returns the string representation
8818func (s WorkloadShare) String() string {
8819	return awsutil.Prettify(s)
8820}
8821
8822// GoString returns the string representation
8823func (s WorkloadShare) GoString() string {
8824	return s.String()
8825}
8826
8827// SetPermissionType sets the PermissionType field's value.
8828func (s *WorkloadShare) SetPermissionType(v string) *WorkloadShare {
8829	s.PermissionType = &v
8830	return s
8831}
8832
8833// SetShareId sets the ShareId field's value.
8834func (s *WorkloadShare) SetShareId(v string) *WorkloadShare {
8835	s.ShareId = &v
8836	return s
8837}
8838
8839// SetSharedBy sets the SharedBy field's value.
8840func (s *WorkloadShare) SetSharedBy(v string) *WorkloadShare {
8841	s.SharedBy = &v
8842	return s
8843}
8844
8845// SetSharedWith sets the SharedWith field's value.
8846func (s *WorkloadShare) SetSharedWith(v string) *WorkloadShare {
8847	s.SharedWith = &v
8848	return s
8849}
8850
8851// SetStatus sets the Status field's value.
8852func (s *WorkloadShare) SetStatus(v string) *WorkloadShare {
8853	s.Status = &v
8854	return s
8855}
8856
8857// SetWorkloadId sets the WorkloadId field's value.
8858func (s *WorkloadShare) SetWorkloadId(v string) *WorkloadShare {
8859	s.WorkloadId = &v
8860	return s
8861}
8862
8863// SetWorkloadName sets the WorkloadName field's value.
8864func (s *WorkloadShare) SetWorkloadName(v string) *WorkloadShare {
8865	s.WorkloadName = &v
8866	return s
8867}
8868
8869// A workload share summary return object.
8870type WorkloadShareSummary struct {
8871	_ struct{} `type:"structure"`
8872
8873	// Permission granted on a workload share.
8874	PermissionType *string `type:"string" enum:"PermissionType"`
8875
8876	// The ID associated with the workload share.
8877	ShareId *string `type:"string"`
8878
8879	// The AWS account ID or IAM role with which the workload is shared.
8880	SharedWith *string `min:"12" type:"string"`
8881
8882	// The status of a workload share.
8883	Status *string `type:"string" enum:"ShareStatus"`
8884}
8885
8886// String returns the string representation
8887func (s WorkloadShareSummary) String() string {
8888	return awsutil.Prettify(s)
8889}
8890
8891// GoString returns the string representation
8892func (s WorkloadShareSummary) GoString() string {
8893	return s.String()
8894}
8895
8896// SetPermissionType sets the PermissionType field's value.
8897func (s *WorkloadShareSummary) SetPermissionType(v string) *WorkloadShareSummary {
8898	s.PermissionType = &v
8899	return s
8900}
8901
8902// SetShareId sets the ShareId field's value.
8903func (s *WorkloadShareSummary) SetShareId(v string) *WorkloadShareSummary {
8904	s.ShareId = &v
8905	return s
8906}
8907
8908// SetSharedWith sets the SharedWith field's value.
8909func (s *WorkloadShareSummary) SetSharedWith(v string) *WorkloadShareSummary {
8910	s.SharedWith = &v
8911	return s
8912}
8913
8914// SetStatus sets the Status field's value.
8915func (s *WorkloadShareSummary) SetStatus(v string) *WorkloadShareSummary {
8916	s.Status = &v
8917	return s
8918}
8919
8920// A workload summary return object.
8921type WorkloadSummary struct {
8922	_ struct{} `type:"structure"`
8923
8924	// The improvement status for a workload.
8925	ImprovementStatus *string `type:"string" enum:"WorkloadImprovementStatus"`
8926
8927	// The list of lenses associated with the workload. Each lens is identified
8928	// by its LensSummary$LensAlias.
8929	Lenses []*string `type:"list"`
8930
8931	// An AWS account ID.
8932	Owner *string `type:"string"`
8933
8934	// A map from risk names to the count of how questions have that rating.
8935	RiskCounts map[string]*int64 `type:"map"`
8936
8937	// The date and time recorded.
8938	UpdatedAt *time.Time `type:"timestamp"`
8939
8940	// The ARN for the workload.
8941	WorkloadArn *string `type:"string"`
8942
8943	// The ID assigned to the workload. This ID is unique within an AWS Region.
8944	WorkloadId *string `type:"string"`
8945
8946	// The name of the workload.
8947	//
8948	// The name must be unique within an account within a Region. Spaces and capitalization
8949	// are ignored when checking for uniqueness.
8950	WorkloadName *string `min:"3" type:"string"`
8951}
8952
8953// String returns the string representation
8954func (s WorkloadSummary) String() string {
8955	return awsutil.Prettify(s)
8956}
8957
8958// GoString returns the string representation
8959func (s WorkloadSummary) GoString() string {
8960	return s.String()
8961}
8962
8963// SetImprovementStatus sets the ImprovementStatus field's value.
8964func (s *WorkloadSummary) SetImprovementStatus(v string) *WorkloadSummary {
8965	s.ImprovementStatus = &v
8966	return s
8967}
8968
8969// SetLenses sets the Lenses field's value.
8970func (s *WorkloadSummary) SetLenses(v []*string) *WorkloadSummary {
8971	s.Lenses = v
8972	return s
8973}
8974
8975// SetOwner sets the Owner field's value.
8976func (s *WorkloadSummary) SetOwner(v string) *WorkloadSummary {
8977	s.Owner = &v
8978	return s
8979}
8980
8981// SetRiskCounts sets the RiskCounts field's value.
8982func (s *WorkloadSummary) SetRiskCounts(v map[string]*int64) *WorkloadSummary {
8983	s.RiskCounts = v
8984	return s
8985}
8986
8987// SetUpdatedAt sets the UpdatedAt field's value.
8988func (s *WorkloadSummary) SetUpdatedAt(v time.Time) *WorkloadSummary {
8989	s.UpdatedAt = &v
8990	return s
8991}
8992
8993// SetWorkloadArn sets the WorkloadArn field's value.
8994func (s *WorkloadSummary) SetWorkloadArn(v string) *WorkloadSummary {
8995	s.WorkloadArn = &v
8996	return s
8997}
8998
8999// SetWorkloadId sets the WorkloadId field's value.
9000func (s *WorkloadSummary) SetWorkloadId(v string) *WorkloadSummary {
9001	s.WorkloadId = &v
9002	return s
9003}
9004
9005// SetWorkloadName sets the WorkloadName field's value.
9006func (s *WorkloadSummary) SetWorkloadName(v string) *WorkloadSummary {
9007	s.WorkloadName = &v
9008	return s
9009}
9010
9011const (
9012	// DifferenceStatusUpdated is a DifferenceStatus enum value
9013	DifferenceStatusUpdated = "UPDATED"
9014
9015	// DifferenceStatusNew is a DifferenceStatus enum value
9016	DifferenceStatusNew = "NEW"
9017
9018	// DifferenceStatusDeleted is a DifferenceStatus enum value
9019	DifferenceStatusDeleted = "DELETED"
9020)
9021
9022// DifferenceStatus_Values returns all elements of the DifferenceStatus enum
9023func DifferenceStatus_Values() []string {
9024	return []string{
9025		DifferenceStatusUpdated,
9026		DifferenceStatusNew,
9027		DifferenceStatusDeleted,
9028	}
9029}
9030
9031const (
9032	// LensStatusCurrent is a LensStatus enum value
9033	LensStatusCurrent = "CURRENT"
9034
9035	// LensStatusNotCurrent is a LensStatus enum value
9036	LensStatusNotCurrent = "NOT_CURRENT"
9037
9038	// LensStatusDeprecated is a LensStatus enum value
9039	LensStatusDeprecated = "DEPRECATED"
9040)
9041
9042// LensStatus_Values returns all elements of the LensStatus enum
9043func LensStatus_Values() []string {
9044	return []string{
9045		LensStatusCurrent,
9046		LensStatusNotCurrent,
9047		LensStatusDeprecated,
9048	}
9049}
9050
9051const (
9052	// NotificationTypeLensVersionUpgraded is a NotificationType enum value
9053	NotificationTypeLensVersionUpgraded = "LENS_VERSION_UPGRADED"
9054
9055	// NotificationTypeLensVersionDeprecated is a NotificationType enum value
9056	NotificationTypeLensVersionDeprecated = "LENS_VERSION_DEPRECATED"
9057)
9058
9059// NotificationType_Values returns all elements of the NotificationType enum
9060func NotificationType_Values() []string {
9061	return []string{
9062		NotificationTypeLensVersionUpgraded,
9063		NotificationTypeLensVersionDeprecated,
9064	}
9065}
9066
9067// Permission granted on a workload share.
9068const (
9069	// PermissionTypeReadonly is a PermissionType enum value
9070	PermissionTypeReadonly = "READONLY"
9071
9072	// PermissionTypeContributor is a PermissionType enum value
9073	PermissionTypeContributor = "CONTRIBUTOR"
9074)
9075
9076// PermissionType_Values returns all elements of the PermissionType enum
9077func PermissionType_Values() []string {
9078	return []string{
9079		PermissionTypeReadonly,
9080		PermissionTypeContributor,
9081	}
9082}
9083
9084// The risk for a given workload, lens review, pillar, or question.
9085const (
9086	// RiskUnanswered is a Risk enum value
9087	RiskUnanswered = "UNANSWERED"
9088
9089	// RiskHigh is a Risk enum value
9090	RiskHigh = "HIGH"
9091
9092	// RiskMedium is a Risk enum value
9093	RiskMedium = "MEDIUM"
9094
9095	// RiskNone is a Risk enum value
9096	RiskNone = "NONE"
9097
9098	// RiskNotApplicable is a Risk enum value
9099	RiskNotApplicable = "NOT_APPLICABLE"
9100)
9101
9102// Risk_Values returns all elements of the Risk enum
9103func Risk_Values() []string {
9104	return []string{
9105		RiskUnanswered,
9106		RiskHigh,
9107		RiskMedium,
9108		RiskNone,
9109		RiskNotApplicable,
9110	}
9111}
9112
9113// Share invitation action taken by contributor.
9114const (
9115	// ShareInvitationActionAccept is a ShareInvitationAction enum value
9116	ShareInvitationActionAccept = "ACCEPT"
9117
9118	// ShareInvitationActionReject is a ShareInvitationAction enum value
9119	ShareInvitationActionReject = "REJECT"
9120)
9121
9122// ShareInvitationAction_Values returns all elements of the ShareInvitationAction enum
9123func ShareInvitationAction_Values() []string {
9124	return []string{
9125		ShareInvitationActionAccept,
9126		ShareInvitationActionReject,
9127	}
9128}
9129
9130// The status of a workload share.
9131const (
9132	// ShareStatusAccepted is a ShareStatus enum value
9133	ShareStatusAccepted = "ACCEPTED"
9134
9135	// ShareStatusRejected is a ShareStatus enum value
9136	ShareStatusRejected = "REJECTED"
9137
9138	// ShareStatusPending is a ShareStatus enum value
9139	ShareStatusPending = "PENDING"
9140
9141	// ShareStatusRevoked is a ShareStatus enum value
9142	ShareStatusRevoked = "REVOKED"
9143
9144	// ShareStatusExpired is a ShareStatus enum value
9145	ShareStatusExpired = "EXPIRED"
9146)
9147
9148// ShareStatus_Values returns all elements of the ShareStatus enum
9149func ShareStatus_Values() []string {
9150	return []string{
9151		ShareStatusAccepted,
9152		ShareStatusRejected,
9153		ShareStatusPending,
9154		ShareStatusRevoked,
9155		ShareStatusExpired,
9156	}
9157}
9158
9159// The reason why the request failed validation.
9160const (
9161	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
9162	ValidationExceptionReasonUnknownOperation = "UNKNOWN_OPERATION"
9163
9164	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
9165	ValidationExceptionReasonCannotParse = "CANNOT_PARSE"
9166
9167	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
9168	ValidationExceptionReasonFieldValidationFailed = "FIELD_VALIDATION_FAILED"
9169
9170	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
9171	ValidationExceptionReasonOther = "OTHER"
9172)
9173
9174// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
9175func ValidationExceptionReason_Values() []string {
9176	return []string{
9177		ValidationExceptionReasonUnknownOperation,
9178		ValidationExceptionReasonCannotParse,
9179		ValidationExceptionReasonFieldValidationFailed,
9180		ValidationExceptionReasonOther,
9181	}
9182}
9183
9184// The environment for the workload.
9185const (
9186	// WorkloadEnvironmentProduction is a WorkloadEnvironment enum value
9187	WorkloadEnvironmentProduction = "PRODUCTION"
9188
9189	// WorkloadEnvironmentPreproduction is a WorkloadEnvironment enum value
9190	WorkloadEnvironmentPreproduction = "PREPRODUCTION"
9191)
9192
9193// WorkloadEnvironment_Values returns all elements of the WorkloadEnvironment enum
9194func WorkloadEnvironment_Values() []string {
9195	return []string{
9196		WorkloadEnvironmentProduction,
9197		WorkloadEnvironmentPreproduction,
9198	}
9199}
9200
9201// The improvement status for a workload.
9202const (
9203	// WorkloadImprovementStatusNotApplicable is a WorkloadImprovementStatus enum value
9204	WorkloadImprovementStatusNotApplicable = "NOT_APPLICABLE"
9205
9206	// WorkloadImprovementStatusNotStarted is a WorkloadImprovementStatus enum value
9207	WorkloadImprovementStatusNotStarted = "NOT_STARTED"
9208
9209	// WorkloadImprovementStatusInProgress is a WorkloadImprovementStatus enum value
9210	WorkloadImprovementStatusInProgress = "IN_PROGRESS"
9211
9212	// WorkloadImprovementStatusComplete is a WorkloadImprovementStatus enum value
9213	WorkloadImprovementStatusComplete = "COMPLETE"
9214
9215	// WorkloadImprovementStatusRiskAcknowledged is a WorkloadImprovementStatus enum value
9216	WorkloadImprovementStatusRiskAcknowledged = "RISK_ACKNOWLEDGED"
9217)
9218
9219// WorkloadImprovementStatus_Values returns all elements of the WorkloadImprovementStatus enum
9220func WorkloadImprovementStatus_Values() []string {
9221	return []string{
9222		WorkloadImprovementStatusNotApplicable,
9223		WorkloadImprovementStatusNotStarted,
9224		WorkloadImprovementStatusInProgress,
9225		WorkloadImprovementStatusComplete,
9226		WorkloadImprovementStatusRiskAcknowledged,
9227	}
9228}
9229