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 opListWorkloadShares = "ListWorkloadShares"
2282
2283// ListWorkloadSharesRequest generates a "aws/request.Request" representing the
2284// client's request for the ListWorkloadShares 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 ListWorkloadShares for more information on using the ListWorkloadShares
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 ListWorkloadSharesRequest method.
2299//    req, resp := client.ListWorkloadSharesRequest(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/ListWorkloadShares
2307func (c *WellArchitected) ListWorkloadSharesRequest(input *ListWorkloadSharesInput) (req *request.Request, output *ListWorkloadSharesOutput) {
2308	op := &request.Operation{
2309		Name:       opListWorkloadShares,
2310		HTTPMethod: "GET",
2311		HTTPPath:   "/workloads/{WorkloadId}/shares",
2312		Paginator: &request.Paginator{
2313			InputTokens:     []string{"NextToken"},
2314			OutputTokens:    []string{"NextToken"},
2315			LimitToken:      "MaxResults",
2316			TruncationToken: "",
2317		},
2318	}
2319
2320	if input == nil {
2321		input = &ListWorkloadSharesInput{}
2322	}
2323
2324	output = &ListWorkloadSharesOutput{}
2325	req = c.newRequest(op, input, output)
2326	return
2327}
2328
2329// ListWorkloadShares API operation for AWS Well-Architected Tool.
2330//
2331// List the workload shares associated with the workload.
2332//
2333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2334// with awserr.Error's Code and Message methods to get detailed information about
2335// the error.
2336//
2337// See the AWS API reference guide for AWS Well-Architected Tool's
2338// API operation ListWorkloadShares for usage and error information.
2339//
2340// Returned Error Types:
2341//   * ValidationException
2342//   The user input is not valid.
2343//
2344//   * InternalServerException
2345//   There is a problem with the AWS Well-Architected Tool API service.
2346//
2347//   * ResourceNotFoundException
2348//   The requested resource was not found.
2349//
2350//   * AccessDeniedException
2351//   User does not have sufficient access to perform this action.
2352//
2353//   * ThrottlingException
2354//   Request was denied due to request throttling.
2355//
2356// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListWorkloadShares
2357func (c *WellArchitected) ListWorkloadShares(input *ListWorkloadSharesInput) (*ListWorkloadSharesOutput, error) {
2358	req, out := c.ListWorkloadSharesRequest(input)
2359	return out, req.Send()
2360}
2361
2362// ListWorkloadSharesWithContext is the same as ListWorkloadShares with the addition of
2363// the ability to pass a context and additional request options.
2364//
2365// See ListWorkloadShares for details on how to use this API operation.
2366//
2367// The context must be non-nil and will be used for request cancellation. If
2368// the context is nil a panic will occur. In the future the SDK may create
2369// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2370// for more information on using Contexts.
2371func (c *WellArchitected) ListWorkloadSharesWithContext(ctx aws.Context, input *ListWorkloadSharesInput, opts ...request.Option) (*ListWorkloadSharesOutput, error) {
2372	req, out := c.ListWorkloadSharesRequest(input)
2373	req.SetContext(ctx)
2374	req.ApplyOptions(opts...)
2375	return out, req.Send()
2376}
2377
2378// ListWorkloadSharesPages iterates over the pages of a ListWorkloadShares operation,
2379// calling the "fn" function with the response data for each page. To stop
2380// iterating, return false from the fn function.
2381//
2382// See ListWorkloadShares method for more information on how to use this operation.
2383//
2384// Note: This operation can generate multiple requests to a service.
2385//
2386//    // Example iterating over at most 3 pages of a ListWorkloadShares operation.
2387//    pageNum := 0
2388//    err := client.ListWorkloadSharesPages(params,
2389//        func(page *wellarchitected.ListWorkloadSharesOutput, lastPage bool) bool {
2390//            pageNum++
2391//            fmt.Println(page)
2392//            return pageNum <= 3
2393//        })
2394//
2395func (c *WellArchitected) ListWorkloadSharesPages(input *ListWorkloadSharesInput, fn func(*ListWorkloadSharesOutput, bool) bool) error {
2396	return c.ListWorkloadSharesPagesWithContext(aws.BackgroundContext(), input, fn)
2397}
2398
2399// ListWorkloadSharesPagesWithContext same as ListWorkloadSharesPages except
2400// it takes a Context and allows setting request options on the pages.
2401//
2402// The context must be non-nil and will be used for request cancellation. If
2403// the context is nil a panic will occur. In the future the SDK may create
2404// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2405// for more information on using Contexts.
2406func (c *WellArchitected) ListWorkloadSharesPagesWithContext(ctx aws.Context, input *ListWorkloadSharesInput, fn func(*ListWorkloadSharesOutput, bool) bool, opts ...request.Option) error {
2407	p := request.Pagination{
2408		NewRequest: func() (*request.Request, error) {
2409			var inCpy *ListWorkloadSharesInput
2410			if input != nil {
2411				tmp := *input
2412				inCpy = &tmp
2413			}
2414			req, _ := c.ListWorkloadSharesRequest(inCpy)
2415			req.SetContext(ctx)
2416			req.ApplyOptions(opts...)
2417			return req, nil
2418		},
2419	}
2420
2421	for p.Next() {
2422		if !fn(p.Page().(*ListWorkloadSharesOutput), !p.HasNextPage()) {
2423			break
2424		}
2425	}
2426
2427	return p.Err()
2428}
2429
2430const opListWorkloads = "ListWorkloads"
2431
2432// ListWorkloadsRequest generates a "aws/request.Request" representing the
2433// client's request for the ListWorkloads operation. The "output" return
2434// value will be populated with the request's response once the request completes
2435// successfully.
2436//
2437// Use "Send" method on the returned Request to send the API call to the service.
2438// the "output" return value is not valid until after Send returns without error.
2439//
2440// See ListWorkloads for more information on using the ListWorkloads
2441// API call, and error handling.
2442//
2443// This method is useful when you want to inject custom logic or configuration
2444// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2445//
2446//
2447//    // Example sending a request using the ListWorkloadsRequest method.
2448//    req, resp := client.ListWorkloadsRequest(params)
2449//
2450//    err := req.Send()
2451//    if err == nil { // resp is now filled
2452//        fmt.Println(resp)
2453//    }
2454//
2455// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListWorkloads
2456func (c *WellArchitected) ListWorkloadsRequest(input *ListWorkloadsInput) (req *request.Request, output *ListWorkloadsOutput) {
2457	op := &request.Operation{
2458		Name:       opListWorkloads,
2459		HTTPMethod: "POST",
2460		HTTPPath:   "/workloadsSummaries",
2461		Paginator: &request.Paginator{
2462			InputTokens:     []string{"NextToken"},
2463			OutputTokens:    []string{"NextToken"},
2464			LimitToken:      "MaxResults",
2465			TruncationToken: "",
2466		},
2467	}
2468
2469	if input == nil {
2470		input = &ListWorkloadsInput{}
2471	}
2472
2473	output = &ListWorkloadsOutput{}
2474	req = c.newRequest(op, input, output)
2475	return
2476}
2477
2478// ListWorkloads API operation for AWS Well-Architected Tool.
2479//
2480// List workloads. Paginated.
2481//
2482// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2483// with awserr.Error's Code and Message methods to get detailed information about
2484// the error.
2485//
2486// See the AWS API reference guide for AWS Well-Architected Tool's
2487// API operation ListWorkloads for usage and error information.
2488//
2489// Returned Error Types:
2490//   * ValidationException
2491//   The user input is not valid.
2492//
2493//   * InternalServerException
2494//   There is a problem with the AWS Well-Architected Tool API service.
2495//
2496//   * AccessDeniedException
2497//   User does not have sufficient access to perform this action.
2498//
2499//   * ThrottlingException
2500//   Request was denied due to request throttling.
2501//
2502// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListWorkloads
2503func (c *WellArchitected) ListWorkloads(input *ListWorkloadsInput) (*ListWorkloadsOutput, error) {
2504	req, out := c.ListWorkloadsRequest(input)
2505	return out, req.Send()
2506}
2507
2508// ListWorkloadsWithContext is the same as ListWorkloads with the addition of
2509// the ability to pass a context and additional request options.
2510//
2511// See ListWorkloads for details on how to use this API operation.
2512//
2513// The context must be non-nil and will be used for request cancellation. If
2514// the context is nil a panic will occur. In the future the SDK may create
2515// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2516// for more information on using Contexts.
2517func (c *WellArchitected) ListWorkloadsWithContext(ctx aws.Context, input *ListWorkloadsInput, opts ...request.Option) (*ListWorkloadsOutput, error) {
2518	req, out := c.ListWorkloadsRequest(input)
2519	req.SetContext(ctx)
2520	req.ApplyOptions(opts...)
2521	return out, req.Send()
2522}
2523
2524// ListWorkloadsPages iterates over the pages of a ListWorkloads operation,
2525// calling the "fn" function with the response data for each page. To stop
2526// iterating, return false from the fn function.
2527//
2528// See ListWorkloads method for more information on how to use this operation.
2529//
2530// Note: This operation can generate multiple requests to a service.
2531//
2532//    // Example iterating over at most 3 pages of a ListWorkloads operation.
2533//    pageNum := 0
2534//    err := client.ListWorkloadsPages(params,
2535//        func(page *wellarchitected.ListWorkloadsOutput, lastPage bool) bool {
2536//            pageNum++
2537//            fmt.Println(page)
2538//            return pageNum <= 3
2539//        })
2540//
2541func (c *WellArchitected) ListWorkloadsPages(input *ListWorkloadsInput, fn func(*ListWorkloadsOutput, bool) bool) error {
2542	return c.ListWorkloadsPagesWithContext(aws.BackgroundContext(), input, fn)
2543}
2544
2545// ListWorkloadsPagesWithContext same as ListWorkloadsPages except
2546// it takes a Context and allows setting request options on the pages.
2547//
2548// The context must be non-nil and will be used for request cancellation. If
2549// the context is nil a panic will occur. In the future the SDK may create
2550// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2551// for more information on using Contexts.
2552func (c *WellArchitected) ListWorkloadsPagesWithContext(ctx aws.Context, input *ListWorkloadsInput, fn func(*ListWorkloadsOutput, bool) bool, opts ...request.Option) error {
2553	p := request.Pagination{
2554		NewRequest: func() (*request.Request, error) {
2555			var inCpy *ListWorkloadsInput
2556			if input != nil {
2557				tmp := *input
2558				inCpy = &tmp
2559			}
2560			req, _ := c.ListWorkloadsRequest(inCpy)
2561			req.SetContext(ctx)
2562			req.ApplyOptions(opts...)
2563			return req, nil
2564		},
2565	}
2566
2567	for p.Next() {
2568		if !fn(p.Page().(*ListWorkloadsOutput), !p.HasNextPage()) {
2569			break
2570		}
2571	}
2572
2573	return p.Err()
2574}
2575
2576const opUpdateAnswer = "UpdateAnswer"
2577
2578// UpdateAnswerRequest generates a "aws/request.Request" representing the
2579// client's request for the UpdateAnswer operation. The "output" return
2580// value will be populated with the request's response once the request completes
2581// successfully.
2582//
2583// Use "Send" method on the returned Request to send the API call to the service.
2584// the "output" return value is not valid until after Send returns without error.
2585//
2586// See UpdateAnswer for more information on using the UpdateAnswer
2587// API call, and error handling.
2588//
2589// This method is useful when you want to inject custom logic or configuration
2590// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2591//
2592//
2593//    // Example sending a request using the UpdateAnswerRequest method.
2594//    req, resp := client.UpdateAnswerRequest(params)
2595//
2596//    err := req.Send()
2597//    if err == nil { // resp is now filled
2598//        fmt.Println(resp)
2599//    }
2600//
2601// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateAnswer
2602func (c *WellArchitected) UpdateAnswerRequest(input *UpdateAnswerInput) (req *request.Request, output *UpdateAnswerOutput) {
2603	op := &request.Operation{
2604		Name:       opUpdateAnswer,
2605		HTTPMethod: "PATCH",
2606		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}/answers/{QuestionId}",
2607	}
2608
2609	if input == nil {
2610		input = &UpdateAnswerInput{}
2611	}
2612
2613	output = &UpdateAnswerOutput{}
2614	req = c.newRequest(op, input, output)
2615	return
2616}
2617
2618// UpdateAnswer API operation for AWS Well-Architected Tool.
2619//
2620// Update the answer.
2621//
2622// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2623// with awserr.Error's Code and Message methods to get detailed information about
2624// the error.
2625//
2626// See the AWS API reference guide for AWS Well-Architected Tool's
2627// API operation UpdateAnswer for usage and error information.
2628//
2629// Returned Error Types:
2630//   * ValidationException
2631//   The user input is not valid.
2632//
2633//   * ResourceNotFoundException
2634//   The requested resource was not found.
2635//
2636//   * ConflictException
2637//   The resource already exists.
2638//
2639//   * InternalServerException
2640//   There is a problem with the AWS Well-Architected Tool API service.
2641//
2642//   * AccessDeniedException
2643//   User does not have sufficient access to perform this action.
2644//
2645//   * ThrottlingException
2646//   Request was denied due to request throttling.
2647//
2648// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateAnswer
2649func (c *WellArchitected) UpdateAnswer(input *UpdateAnswerInput) (*UpdateAnswerOutput, error) {
2650	req, out := c.UpdateAnswerRequest(input)
2651	return out, req.Send()
2652}
2653
2654// UpdateAnswerWithContext is the same as UpdateAnswer with the addition of
2655// the ability to pass a context and additional request options.
2656//
2657// See UpdateAnswer for details on how to use this API operation.
2658//
2659// The context must be non-nil and will be used for request cancellation. If
2660// the context is nil a panic will occur. In the future the SDK may create
2661// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2662// for more information on using Contexts.
2663func (c *WellArchitected) UpdateAnswerWithContext(ctx aws.Context, input *UpdateAnswerInput, opts ...request.Option) (*UpdateAnswerOutput, error) {
2664	req, out := c.UpdateAnswerRequest(input)
2665	req.SetContext(ctx)
2666	req.ApplyOptions(opts...)
2667	return out, req.Send()
2668}
2669
2670const opUpdateLensReview = "UpdateLensReview"
2671
2672// UpdateLensReviewRequest generates a "aws/request.Request" representing the
2673// client's request for the UpdateLensReview operation. The "output" return
2674// value will be populated with the request's response once the request completes
2675// successfully.
2676//
2677// Use "Send" method on the returned Request to send the API call to the service.
2678// the "output" return value is not valid until after Send returns without error.
2679//
2680// See UpdateLensReview for more information on using the UpdateLensReview
2681// API call, and error handling.
2682//
2683// This method is useful when you want to inject custom logic or configuration
2684// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2685//
2686//
2687//    // Example sending a request using the UpdateLensReviewRequest method.
2688//    req, resp := client.UpdateLensReviewRequest(params)
2689//
2690//    err := req.Send()
2691//    if err == nil { // resp is now filled
2692//        fmt.Println(resp)
2693//    }
2694//
2695// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateLensReview
2696func (c *WellArchitected) UpdateLensReviewRequest(input *UpdateLensReviewInput) (req *request.Request, output *UpdateLensReviewOutput) {
2697	op := &request.Operation{
2698		Name:       opUpdateLensReview,
2699		HTTPMethod: "PATCH",
2700		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}",
2701	}
2702
2703	if input == nil {
2704		input = &UpdateLensReviewInput{}
2705	}
2706
2707	output = &UpdateLensReviewOutput{}
2708	req = c.newRequest(op, input, output)
2709	return
2710}
2711
2712// UpdateLensReview API operation for AWS Well-Architected Tool.
2713//
2714// Update lens review.
2715//
2716// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2717// with awserr.Error's Code and Message methods to get detailed information about
2718// the error.
2719//
2720// See the AWS API reference guide for AWS Well-Architected Tool's
2721// API operation UpdateLensReview for usage and error information.
2722//
2723// Returned Error Types:
2724//   * ValidationException
2725//   The user input is not valid.
2726//
2727//   * ResourceNotFoundException
2728//   The requested resource was not found.
2729//
2730//   * ConflictException
2731//   The resource already exists.
2732//
2733//   * InternalServerException
2734//   There is a problem with the AWS Well-Architected Tool API service.
2735//
2736//   * AccessDeniedException
2737//   User does not have sufficient access to perform this action.
2738//
2739//   * ThrottlingException
2740//   Request was denied due to request throttling.
2741//
2742// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateLensReview
2743func (c *WellArchitected) UpdateLensReview(input *UpdateLensReviewInput) (*UpdateLensReviewOutput, error) {
2744	req, out := c.UpdateLensReviewRequest(input)
2745	return out, req.Send()
2746}
2747
2748// UpdateLensReviewWithContext is the same as UpdateLensReview with the addition of
2749// the ability to pass a context and additional request options.
2750//
2751// See UpdateLensReview for details on how to use this API operation.
2752//
2753// The context must be non-nil and will be used for request cancellation. If
2754// the context is nil a panic will occur. In the future the SDK may create
2755// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2756// for more information on using Contexts.
2757func (c *WellArchitected) UpdateLensReviewWithContext(ctx aws.Context, input *UpdateLensReviewInput, opts ...request.Option) (*UpdateLensReviewOutput, error) {
2758	req, out := c.UpdateLensReviewRequest(input)
2759	req.SetContext(ctx)
2760	req.ApplyOptions(opts...)
2761	return out, req.Send()
2762}
2763
2764const opUpdateShareInvitation = "UpdateShareInvitation"
2765
2766// UpdateShareInvitationRequest generates a "aws/request.Request" representing the
2767// client's request for the UpdateShareInvitation operation. The "output" return
2768// value will be populated with the request's response once the request completes
2769// successfully.
2770//
2771// Use "Send" method on the returned Request to send the API call to the service.
2772// the "output" return value is not valid until after Send returns without error.
2773//
2774// See UpdateShareInvitation for more information on using the UpdateShareInvitation
2775// API call, and error handling.
2776//
2777// This method is useful when you want to inject custom logic or configuration
2778// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2779//
2780//
2781//    // Example sending a request using the UpdateShareInvitationRequest method.
2782//    req, resp := client.UpdateShareInvitationRequest(params)
2783//
2784//    err := req.Send()
2785//    if err == nil { // resp is now filled
2786//        fmt.Println(resp)
2787//    }
2788//
2789// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateShareInvitation
2790func (c *WellArchitected) UpdateShareInvitationRequest(input *UpdateShareInvitationInput) (req *request.Request, output *UpdateShareInvitationOutput) {
2791	op := &request.Operation{
2792		Name:       opUpdateShareInvitation,
2793		HTTPMethod: "PATCH",
2794		HTTPPath:   "/shareInvitations/{ShareInvitationId}",
2795	}
2796
2797	if input == nil {
2798		input = &UpdateShareInvitationInput{}
2799	}
2800
2801	output = &UpdateShareInvitationOutput{}
2802	req = c.newRequest(op, input, output)
2803	return
2804}
2805
2806// UpdateShareInvitation API operation for AWS Well-Architected Tool.
2807//
2808// Update a workload invitation.
2809//
2810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2811// with awserr.Error's Code and Message methods to get detailed information about
2812// the error.
2813//
2814// See the AWS API reference guide for AWS Well-Architected Tool's
2815// API operation UpdateShareInvitation for usage and error information.
2816//
2817// Returned Error Types:
2818//   * ValidationException
2819//   The user input is not valid.
2820//
2821//   * InternalServerException
2822//   There is a problem with the AWS Well-Architected Tool API service.
2823//
2824//   * ResourceNotFoundException
2825//   The requested resource was not found.
2826//
2827//   * ConflictException
2828//   The resource already exists.
2829//
2830//   * AccessDeniedException
2831//   User does not have sufficient access to perform this action.
2832//
2833//   * ThrottlingException
2834//   Request was denied due to request throttling.
2835//
2836// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateShareInvitation
2837func (c *WellArchitected) UpdateShareInvitation(input *UpdateShareInvitationInput) (*UpdateShareInvitationOutput, error) {
2838	req, out := c.UpdateShareInvitationRequest(input)
2839	return out, req.Send()
2840}
2841
2842// UpdateShareInvitationWithContext is the same as UpdateShareInvitation with the addition of
2843// the ability to pass a context and additional request options.
2844//
2845// See UpdateShareInvitation for details on how to use this API operation.
2846//
2847// The context must be non-nil and will be used for request cancellation. If
2848// the context is nil a panic will occur. In the future the SDK may create
2849// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2850// for more information on using Contexts.
2851func (c *WellArchitected) UpdateShareInvitationWithContext(ctx aws.Context, input *UpdateShareInvitationInput, opts ...request.Option) (*UpdateShareInvitationOutput, error) {
2852	req, out := c.UpdateShareInvitationRequest(input)
2853	req.SetContext(ctx)
2854	req.ApplyOptions(opts...)
2855	return out, req.Send()
2856}
2857
2858const opUpdateWorkload = "UpdateWorkload"
2859
2860// UpdateWorkloadRequest generates a "aws/request.Request" representing the
2861// client's request for the UpdateWorkload operation. The "output" return
2862// value will be populated with the request's response once the request completes
2863// successfully.
2864//
2865// Use "Send" method on the returned Request to send the API call to the service.
2866// the "output" return value is not valid until after Send returns without error.
2867//
2868// See UpdateWorkload for more information on using the UpdateWorkload
2869// API call, and error handling.
2870//
2871// This method is useful when you want to inject custom logic or configuration
2872// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2873//
2874//
2875//    // Example sending a request using the UpdateWorkloadRequest method.
2876//    req, resp := client.UpdateWorkloadRequest(params)
2877//
2878//    err := req.Send()
2879//    if err == nil { // resp is now filled
2880//        fmt.Println(resp)
2881//    }
2882//
2883// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateWorkload
2884func (c *WellArchitected) UpdateWorkloadRequest(input *UpdateWorkloadInput) (req *request.Request, output *UpdateWorkloadOutput) {
2885	op := &request.Operation{
2886		Name:       opUpdateWorkload,
2887		HTTPMethod: "PATCH",
2888		HTTPPath:   "/workloads/{WorkloadId}",
2889	}
2890
2891	if input == nil {
2892		input = &UpdateWorkloadInput{}
2893	}
2894
2895	output = &UpdateWorkloadOutput{}
2896	req = c.newRequest(op, input, output)
2897	return
2898}
2899
2900// UpdateWorkload API operation for AWS Well-Architected Tool.
2901//
2902// Update an existing workload.
2903//
2904// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2905// with awserr.Error's Code and Message methods to get detailed information about
2906// the error.
2907//
2908// See the AWS API reference guide for AWS Well-Architected Tool's
2909// API operation UpdateWorkload for usage and error information.
2910//
2911// Returned Error Types:
2912//   * ValidationException
2913//   The user input is not valid.
2914//
2915//   * ResourceNotFoundException
2916//   The requested resource was not found.
2917//
2918//   * ConflictException
2919//   The resource already exists.
2920//
2921//   * InternalServerException
2922//   There is a problem with the AWS Well-Architected Tool API service.
2923//
2924//   * AccessDeniedException
2925//   User does not have sufficient access to perform this action.
2926//
2927//   * ThrottlingException
2928//   Request was denied due to request throttling.
2929//
2930// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateWorkload
2931func (c *WellArchitected) UpdateWorkload(input *UpdateWorkloadInput) (*UpdateWorkloadOutput, error) {
2932	req, out := c.UpdateWorkloadRequest(input)
2933	return out, req.Send()
2934}
2935
2936// UpdateWorkloadWithContext is the same as UpdateWorkload with the addition of
2937// the ability to pass a context and additional request options.
2938//
2939// See UpdateWorkload for details on how to use this API operation.
2940//
2941// The context must be non-nil and will be used for request cancellation. If
2942// the context is nil a panic will occur. In the future the SDK may create
2943// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2944// for more information on using Contexts.
2945func (c *WellArchitected) UpdateWorkloadWithContext(ctx aws.Context, input *UpdateWorkloadInput, opts ...request.Option) (*UpdateWorkloadOutput, error) {
2946	req, out := c.UpdateWorkloadRequest(input)
2947	req.SetContext(ctx)
2948	req.ApplyOptions(opts...)
2949	return out, req.Send()
2950}
2951
2952const opUpdateWorkloadShare = "UpdateWorkloadShare"
2953
2954// UpdateWorkloadShareRequest generates a "aws/request.Request" representing the
2955// client's request for the UpdateWorkloadShare operation. The "output" return
2956// value will be populated with the request's response once the request completes
2957// successfully.
2958//
2959// Use "Send" method on the returned Request to send the API call to the service.
2960// the "output" return value is not valid until after Send returns without error.
2961//
2962// See UpdateWorkloadShare for more information on using the UpdateWorkloadShare
2963// API call, and error handling.
2964//
2965// This method is useful when you want to inject custom logic or configuration
2966// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2967//
2968//
2969//    // Example sending a request using the UpdateWorkloadShareRequest method.
2970//    req, resp := client.UpdateWorkloadShareRequest(params)
2971//
2972//    err := req.Send()
2973//    if err == nil { // resp is now filled
2974//        fmt.Println(resp)
2975//    }
2976//
2977// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateWorkloadShare
2978func (c *WellArchitected) UpdateWorkloadShareRequest(input *UpdateWorkloadShareInput) (req *request.Request, output *UpdateWorkloadShareOutput) {
2979	op := &request.Operation{
2980		Name:       opUpdateWorkloadShare,
2981		HTTPMethod: "PATCH",
2982		HTTPPath:   "/workloads/{WorkloadId}/shares/{ShareId}",
2983	}
2984
2985	if input == nil {
2986		input = &UpdateWorkloadShareInput{}
2987	}
2988
2989	output = &UpdateWorkloadShareOutput{}
2990	req = c.newRequest(op, input, output)
2991	return
2992}
2993
2994// UpdateWorkloadShare API operation for AWS Well-Architected Tool.
2995//
2996// Update a workload share.
2997//
2998// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2999// with awserr.Error's Code and Message methods to get detailed information about
3000// the error.
3001//
3002// See the AWS API reference guide for AWS Well-Architected Tool's
3003// API operation UpdateWorkloadShare for usage and error information.
3004//
3005// Returned Error Types:
3006//   * ValidationException
3007//   The user input is not valid.
3008//
3009//   * InternalServerException
3010//   There is a problem with the AWS Well-Architected Tool API service.
3011//
3012//   * ResourceNotFoundException
3013//   The requested resource was not found.
3014//
3015//   * ConflictException
3016//   The resource already exists.
3017//
3018//   * AccessDeniedException
3019//   User does not have sufficient access to perform this action.
3020//
3021//   * ThrottlingException
3022//   Request was denied due to request throttling.
3023//
3024// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateWorkloadShare
3025func (c *WellArchitected) UpdateWorkloadShare(input *UpdateWorkloadShareInput) (*UpdateWorkloadShareOutput, error) {
3026	req, out := c.UpdateWorkloadShareRequest(input)
3027	return out, req.Send()
3028}
3029
3030// UpdateWorkloadShareWithContext is the same as UpdateWorkloadShare with the addition of
3031// the ability to pass a context and additional request options.
3032//
3033// See UpdateWorkloadShare for details on how to use this API operation.
3034//
3035// The context must be non-nil and will be used for request cancellation. If
3036// the context is nil a panic will occur. In the future the SDK may create
3037// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3038// for more information on using Contexts.
3039func (c *WellArchitected) UpdateWorkloadShareWithContext(ctx aws.Context, input *UpdateWorkloadShareInput, opts ...request.Option) (*UpdateWorkloadShareOutput, error) {
3040	req, out := c.UpdateWorkloadShareRequest(input)
3041	req.SetContext(ctx)
3042	req.ApplyOptions(opts...)
3043	return out, req.Send()
3044}
3045
3046const opUpgradeLensReview = "UpgradeLensReview"
3047
3048// UpgradeLensReviewRequest generates a "aws/request.Request" representing the
3049// client's request for the UpgradeLensReview operation. The "output" return
3050// value will be populated with the request's response once the request completes
3051// successfully.
3052//
3053// Use "Send" method on the returned Request to send the API call to the service.
3054// the "output" return value is not valid until after Send returns without error.
3055//
3056// See UpgradeLensReview for more information on using the UpgradeLensReview
3057// API call, and error handling.
3058//
3059// This method is useful when you want to inject custom logic or configuration
3060// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3061//
3062//
3063//    // Example sending a request using the UpgradeLensReviewRequest method.
3064//    req, resp := client.UpgradeLensReviewRequest(params)
3065//
3066//    err := req.Send()
3067//    if err == nil { // resp is now filled
3068//        fmt.Println(resp)
3069//    }
3070//
3071// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpgradeLensReview
3072func (c *WellArchitected) UpgradeLensReviewRequest(input *UpgradeLensReviewInput) (req *request.Request, output *UpgradeLensReviewOutput) {
3073	op := &request.Operation{
3074		Name:       opUpgradeLensReview,
3075		HTTPMethod: "PUT",
3076		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}/upgrade",
3077	}
3078
3079	if input == nil {
3080		input = &UpgradeLensReviewInput{}
3081	}
3082
3083	output = &UpgradeLensReviewOutput{}
3084	req = c.newRequest(op, input, output)
3085	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3086	return
3087}
3088
3089// UpgradeLensReview API operation for AWS Well-Architected Tool.
3090//
3091// Upgrade lens review.
3092//
3093// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3094// with awserr.Error's Code and Message methods to get detailed information about
3095// the error.
3096//
3097// See the AWS API reference guide for AWS Well-Architected Tool's
3098// API operation UpgradeLensReview for usage and error information.
3099//
3100// Returned Error Types:
3101//   * ValidationException
3102//   The user input is not valid.
3103//
3104//   * ResourceNotFoundException
3105//   The requested resource was not found.
3106//
3107//   * ConflictException
3108//   The resource already exists.
3109//
3110//   * InternalServerException
3111//   There is a problem with the AWS Well-Architected Tool API service.
3112//
3113//   * AccessDeniedException
3114//   User does not have sufficient access to perform this action.
3115//
3116//   * ThrottlingException
3117//   Request was denied due to request throttling.
3118//
3119// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpgradeLensReview
3120func (c *WellArchitected) UpgradeLensReview(input *UpgradeLensReviewInput) (*UpgradeLensReviewOutput, error) {
3121	req, out := c.UpgradeLensReviewRequest(input)
3122	return out, req.Send()
3123}
3124
3125// UpgradeLensReviewWithContext is the same as UpgradeLensReview with the addition of
3126// the ability to pass a context and additional request options.
3127//
3128// See UpgradeLensReview for details on how to use this API operation.
3129//
3130// The context must be non-nil and will be used for request cancellation. If
3131// the context is nil a panic will occur. In the future the SDK may create
3132// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3133// for more information on using Contexts.
3134func (c *WellArchitected) UpgradeLensReviewWithContext(ctx aws.Context, input *UpgradeLensReviewInput, opts ...request.Option) (*UpgradeLensReviewOutput, error) {
3135	req, out := c.UpgradeLensReviewRequest(input)
3136	req.SetContext(ctx)
3137	req.ApplyOptions(opts...)
3138	return out, req.Send()
3139}
3140
3141// User does not have sufficient access to perform this action.
3142type AccessDeniedException struct {
3143	_            struct{}                  `type:"structure"`
3144	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3145
3146	// Description of the error.
3147	Message_ *string `locationName:"Message" type:"string"`
3148}
3149
3150// String returns the string representation
3151func (s AccessDeniedException) String() string {
3152	return awsutil.Prettify(s)
3153}
3154
3155// GoString returns the string representation
3156func (s AccessDeniedException) GoString() string {
3157	return s.String()
3158}
3159
3160func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
3161	return &AccessDeniedException{
3162		RespMetadata: v,
3163	}
3164}
3165
3166// Code returns the exception type name.
3167func (s *AccessDeniedException) Code() string {
3168	return "AccessDeniedException"
3169}
3170
3171// Message returns the exception's message.
3172func (s *AccessDeniedException) Message() string {
3173	if s.Message_ != nil {
3174		return *s.Message_
3175	}
3176	return ""
3177}
3178
3179// OrigErr always returns nil, satisfies awserr.Error interface.
3180func (s *AccessDeniedException) OrigErr() error {
3181	return nil
3182}
3183
3184func (s *AccessDeniedException) Error() string {
3185	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3186}
3187
3188// Status code returns the HTTP status code for the request's response error.
3189func (s *AccessDeniedException) StatusCode() int {
3190	return s.RespMetadata.StatusCode
3191}
3192
3193// RequestID returns the service's response RequestID for request.
3194func (s *AccessDeniedException) RequestID() string {
3195	return s.RespMetadata.RequestID
3196}
3197
3198// An answer of the question.
3199type Answer struct {
3200	_ struct{} `type:"structure"`
3201
3202	// List of choices available for a question.
3203	Choices []*Choice `type:"list"`
3204
3205	// The helpful resource URL for a question.
3206	HelpfulResourceUrl *string `min:"1" type:"string"`
3207
3208	// The improvement plan URL for a question.
3209	ImprovementPlanUrl *string `min:"1" type:"string"`
3210
3211	// Defines whether this question is applicable to a lens review.
3212	IsApplicable *bool `type:"boolean"`
3213
3214	// The notes associated with the workload.
3215	Notes *string `type:"string"`
3216
3217	// The ID used to identify a pillar, for example, security.
3218	//
3219	// A pillar is identified by its PillarReviewSummary$PillarId.
3220	PillarId *string `min:"1" type:"string"`
3221
3222	// The description of the question.
3223	QuestionDescription *string `min:"1" type:"string"`
3224
3225	// The ID of the question.
3226	QuestionId *string `min:"1" type:"string"`
3227
3228	// The title of the question.
3229	QuestionTitle *string `min:"1" type:"string"`
3230
3231	// The risk for a given workload, lens review, pillar, or question.
3232	Risk *string `type:"string" enum:"Risk"`
3233
3234	// List of selected choice IDs in a question answer.
3235	//
3236	// The values entered replace the previously selected choices.
3237	SelectedChoices []*string `type:"list"`
3238}
3239
3240// String returns the string representation
3241func (s Answer) String() string {
3242	return awsutil.Prettify(s)
3243}
3244
3245// GoString returns the string representation
3246func (s Answer) GoString() string {
3247	return s.String()
3248}
3249
3250// SetChoices sets the Choices field's value.
3251func (s *Answer) SetChoices(v []*Choice) *Answer {
3252	s.Choices = v
3253	return s
3254}
3255
3256// SetHelpfulResourceUrl sets the HelpfulResourceUrl field's value.
3257func (s *Answer) SetHelpfulResourceUrl(v string) *Answer {
3258	s.HelpfulResourceUrl = &v
3259	return s
3260}
3261
3262// SetImprovementPlanUrl sets the ImprovementPlanUrl field's value.
3263func (s *Answer) SetImprovementPlanUrl(v string) *Answer {
3264	s.ImprovementPlanUrl = &v
3265	return s
3266}
3267
3268// SetIsApplicable sets the IsApplicable field's value.
3269func (s *Answer) SetIsApplicable(v bool) *Answer {
3270	s.IsApplicable = &v
3271	return s
3272}
3273
3274// SetNotes sets the Notes field's value.
3275func (s *Answer) SetNotes(v string) *Answer {
3276	s.Notes = &v
3277	return s
3278}
3279
3280// SetPillarId sets the PillarId field's value.
3281func (s *Answer) SetPillarId(v string) *Answer {
3282	s.PillarId = &v
3283	return s
3284}
3285
3286// SetQuestionDescription sets the QuestionDescription field's value.
3287func (s *Answer) SetQuestionDescription(v string) *Answer {
3288	s.QuestionDescription = &v
3289	return s
3290}
3291
3292// SetQuestionId sets the QuestionId field's value.
3293func (s *Answer) SetQuestionId(v string) *Answer {
3294	s.QuestionId = &v
3295	return s
3296}
3297
3298// SetQuestionTitle sets the QuestionTitle field's value.
3299func (s *Answer) SetQuestionTitle(v string) *Answer {
3300	s.QuestionTitle = &v
3301	return s
3302}
3303
3304// SetRisk sets the Risk field's value.
3305func (s *Answer) SetRisk(v string) *Answer {
3306	s.Risk = &v
3307	return s
3308}
3309
3310// SetSelectedChoices sets the SelectedChoices field's value.
3311func (s *Answer) SetSelectedChoices(v []*string) *Answer {
3312	s.SelectedChoices = v
3313	return s
3314}
3315
3316// An answer summary of a lens review in a workload.
3317type AnswerSummary struct {
3318	_ struct{} `type:"structure"`
3319
3320	// List of choices available for a question.
3321	Choices []*Choice `type:"list"`
3322
3323	// Defines whether this question is applicable to a lens review.
3324	IsApplicable *bool `type:"boolean"`
3325
3326	// The ID used to identify a pillar, for example, security.
3327	//
3328	// A pillar is identified by its PillarReviewSummary$PillarId.
3329	PillarId *string `min:"1" type:"string"`
3330
3331	// The ID of the question.
3332	QuestionId *string `min:"1" type:"string"`
3333
3334	// The title of the question.
3335	QuestionTitle *string `min:"1" type:"string"`
3336
3337	// The risk for a given workload, lens review, pillar, or question.
3338	Risk *string `type:"string" enum:"Risk"`
3339
3340	// List of selected choice IDs in a question answer.
3341	//
3342	// The values entered replace the previously selected choices.
3343	SelectedChoices []*string `type:"list"`
3344}
3345
3346// String returns the string representation
3347func (s AnswerSummary) String() string {
3348	return awsutil.Prettify(s)
3349}
3350
3351// GoString returns the string representation
3352func (s AnswerSummary) GoString() string {
3353	return s.String()
3354}
3355
3356// SetChoices sets the Choices field's value.
3357func (s *AnswerSummary) SetChoices(v []*Choice) *AnswerSummary {
3358	s.Choices = v
3359	return s
3360}
3361
3362// SetIsApplicable sets the IsApplicable field's value.
3363func (s *AnswerSummary) SetIsApplicable(v bool) *AnswerSummary {
3364	s.IsApplicable = &v
3365	return s
3366}
3367
3368// SetPillarId sets the PillarId field's value.
3369func (s *AnswerSummary) SetPillarId(v string) *AnswerSummary {
3370	s.PillarId = &v
3371	return s
3372}
3373
3374// SetQuestionId sets the QuestionId field's value.
3375func (s *AnswerSummary) SetQuestionId(v string) *AnswerSummary {
3376	s.QuestionId = &v
3377	return s
3378}
3379
3380// SetQuestionTitle sets the QuestionTitle field's value.
3381func (s *AnswerSummary) SetQuestionTitle(v string) *AnswerSummary {
3382	s.QuestionTitle = &v
3383	return s
3384}
3385
3386// SetRisk sets the Risk field's value.
3387func (s *AnswerSummary) SetRisk(v string) *AnswerSummary {
3388	s.Risk = &v
3389	return s
3390}
3391
3392// SetSelectedChoices sets the SelectedChoices field's value.
3393func (s *AnswerSummary) SetSelectedChoices(v []*string) *AnswerSummary {
3394	s.SelectedChoices = v
3395	return s
3396}
3397
3398// Input to associate lens reviews.
3399type AssociateLensesInput struct {
3400	_ struct{} `type:"structure"`
3401
3402	// List of lens aliases to associate or disassociate with a workload.
3403	//
3404	// Identify a lens using its LensSummary$LensAlias.
3405	//
3406	// LensAliases is a required field
3407	LensAliases []*string `min:"1" type:"list" required:"true"`
3408
3409	// The ID assigned to the workload. This ID is unique within an AWS Region.
3410	//
3411	// WorkloadId is a required field
3412	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
3413}
3414
3415// String returns the string representation
3416func (s AssociateLensesInput) String() string {
3417	return awsutil.Prettify(s)
3418}
3419
3420// GoString returns the string representation
3421func (s AssociateLensesInput) GoString() string {
3422	return s.String()
3423}
3424
3425// Validate inspects the fields of the type to determine if they are valid.
3426func (s *AssociateLensesInput) Validate() error {
3427	invalidParams := request.ErrInvalidParams{Context: "AssociateLensesInput"}
3428	if s.LensAliases == nil {
3429		invalidParams.Add(request.NewErrParamRequired("LensAliases"))
3430	}
3431	if s.LensAliases != nil && len(s.LensAliases) < 1 {
3432		invalidParams.Add(request.NewErrParamMinLen("LensAliases", 1))
3433	}
3434	if s.WorkloadId == nil {
3435		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
3436	}
3437	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
3438		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
3439	}
3440
3441	if invalidParams.Len() > 0 {
3442		return invalidParams
3443	}
3444	return nil
3445}
3446
3447// SetLensAliases sets the LensAliases field's value.
3448func (s *AssociateLensesInput) SetLensAliases(v []*string) *AssociateLensesInput {
3449	s.LensAliases = v
3450	return s
3451}
3452
3453// SetWorkloadId sets the WorkloadId field's value.
3454func (s *AssociateLensesInput) SetWorkloadId(v string) *AssociateLensesInput {
3455	s.WorkloadId = &v
3456	return s
3457}
3458
3459type AssociateLensesOutput struct {
3460	_ struct{} `type:"structure"`
3461}
3462
3463// String returns the string representation
3464func (s AssociateLensesOutput) String() string {
3465	return awsutil.Prettify(s)
3466}
3467
3468// GoString returns the string representation
3469func (s AssociateLensesOutput) GoString() string {
3470	return s.String()
3471}
3472
3473// A choice available to answer question.
3474type Choice struct {
3475	_ struct{} `type:"structure"`
3476
3477	// The ID of a choice.
3478	ChoiceId *string `min:"1" type:"string"`
3479
3480	// The description of a choice.
3481	Description *string `min:"1" type:"string"`
3482
3483	// The title of a choice.
3484	Title *string `min:"1" type:"string"`
3485}
3486
3487// String returns the string representation
3488func (s Choice) String() string {
3489	return awsutil.Prettify(s)
3490}
3491
3492// GoString returns the string representation
3493func (s Choice) GoString() string {
3494	return s.String()
3495}
3496
3497// SetChoiceId sets the ChoiceId field's value.
3498func (s *Choice) SetChoiceId(v string) *Choice {
3499	s.ChoiceId = &v
3500	return s
3501}
3502
3503// SetDescription sets the Description field's value.
3504func (s *Choice) SetDescription(v string) *Choice {
3505	s.Description = &v
3506	return s
3507}
3508
3509// SetTitle sets the Title field's value.
3510func (s *Choice) SetTitle(v string) *Choice {
3511	s.Title = &v
3512	return s
3513}
3514
3515// The resource already exists.
3516type ConflictException struct {
3517	_            struct{}                  `type:"structure"`
3518	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3519
3520	// Description of the error.
3521	Message_ *string `locationName:"Message" type:"string"`
3522
3523	// Identifier of the resource affected.
3524	//
3525	// ResourceId is a required field
3526	ResourceId *string `type:"string" required:"true"`
3527
3528	// Type of the resource affected.
3529	//
3530	// ResourceType is a required field
3531	ResourceType *string `type:"string" required:"true"`
3532}
3533
3534// String returns the string representation
3535func (s ConflictException) String() string {
3536	return awsutil.Prettify(s)
3537}
3538
3539// GoString returns the string representation
3540func (s ConflictException) GoString() string {
3541	return s.String()
3542}
3543
3544func newErrorConflictException(v protocol.ResponseMetadata) error {
3545	return &ConflictException{
3546		RespMetadata: v,
3547	}
3548}
3549
3550// Code returns the exception type name.
3551func (s *ConflictException) Code() string {
3552	return "ConflictException"
3553}
3554
3555// Message returns the exception's message.
3556func (s *ConflictException) Message() string {
3557	if s.Message_ != nil {
3558		return *s.Message_
3559	}
3560	return ""
3561}
3562
3563// OrigErr always returns nil, satisfies awserr.Error interface.
3564func (s *ConflictException) OrigErr() error {
3565	return nil
3566}
3567
3568func (s *ConflictException) Error() string {
3569	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
3570}
3571
3572// Status code returns the HTTP status code for the request's response error.
3573func (s *ConflictException) StatusCode() int {
3574	return s.RespMetadata.StatusCode
3575}
3576
3577// RequestID returns the service's response RequestID for request.
3578func (s *ConflictException) RequestID() string {
3579	return s.RespMetadata.RequestID
3580}
3581
3582// Input for milestone creation.
3583type CreateMilestoneInput struct {
3584	_ struct{} `type:"structure"`
3585
3586	// A unique case-sensitive string used to ensure that this request is idempotent
3587	// (executes only once).
3588	//
3589	// You should not reuse the same token for other requests. If you retry a request
3590	// with the same client request token and the same parameters after it has completed
3591	// successfully, the result of the original request is returned.
3592	//
3593	// This token is listed as required, however, if you do not specify it, the
3594	// AWS SDKs automatically generate one for you. If you are not using the AWS
3595	// SDK or the AWS CLI, you must provide this token or the request will fail.
3596	ClientRequestToken *string `type:"string" idempotencyToken:"true"`
3597
3598	// The name of the milestone in a workload.
3599	//
3600	// Milestone names must be unique within a workload.
3601	//
3602	// MilestoneName is a required field
3603	MilestoneName *string `min:"3" type:"string" required:"true"`
3604
3605	// The ID assigned to the workload. This ID is unique within an AWS Region.
3606	//
3607	// WorkloadId is a required field
3608	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
3609}
3610
3611// String returns the string representation
3612func (s CreateMilestoneInput) String() string {
3613	return awsutil.Prettify(s)
3614}
3615
3616// GoString returns the string representation
3617func (s CreateMilestoneInput) GoString() string {
3618	return s.String()
3619}
3620
3621// Validate inspects the fields of the type to determine if they are valid.
3622func (s *CreateMilestoneInput) Validate() error {
3623	invalidParams := request.ErrInvalidParams{Context: "CreateMilestoneInput"}
3624	if s.MilestoneName == nil {
3625		invalidParams.Add(request.NewErrParamRequired("MilestoneName"))
3626	}
3627	if s.MilestoneName != nil && len(*s.MilestoneName) < 3 {
3628		invalidParams.Add(request.NewErrParamMinLen("MilestoneName", 3))
3629	}
3630	if s.WorkloadId == nil {
3631		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
3632	}
3633	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
3634		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
3635	}
3636
3637	if invalidParams.Len() > 0 {
3638		return invalidParams
3639	}
3640	return nil
3641}
3642
3643// SetClientRequestToken sets the ClientRequestToken field's value.
3644func (s *CreateMilestoneInput) SetClientRequestToken(v string) *CreateMilestoneInput {
3645	s.ClientRequestToken = &v
3646	return s
3647}
3648
3649// SetMilestoneName sets the MilestoneName field's value.
3650func (s *CreateMilestoneInput) SetMilestoneName(v string) *CreateMilestoneInput {
3651	s.MilestoneName = &v
3652	return s
3653}
3654
3655// SetWorkloadId sets the WorkloadId field's value.
3656func (s *CreateMilestoneInput) SetWorkloadId(v string) *CreateMilestoneInput {
3657	s.WorkloadId = &v
3658	return s
3659}
3660
3661// Output of a create milestone call.
3662type CreateMilestoneOutput struct {
3663	_ struct{} `type:"structure"`
3664
3665	// The milestone number.
3666	//
3667	// A workload can have a maximum of 100 milestones.
3668	MilestoneNumber *int64 `min:"1" type:"integer"`
3669
3670	// The ID assigned to the workload. This ID is unique within an AWS Region.
3671	WorkloadId *string `type:"string"`
3672}
3673
3674// String returns the string representation
3675func (s CreateMilestoneOutput) String() string {
3676	return awsutil.Prettify(s)
3677}
3678
3679// GoString returns the string representation
3680func (s CreateMilestoneOutput) GoString() string {
3681	return s.String()
3682}
3683
3684// SetMilestoneNumber sets the MilestoneNumber field's value.
3685func (s *CreateMilestoneOutput) SetMilestoneNumber(v int64) *CreateMilestoneOutput {
3686	s.MilestoneNumber = &v
3687	return s
3688}
3689
3690// SetWorkloadId sets the WorkloadId field's value.
3691func (s *CreateMilestoneOutput) SetWorkloadId(v string) *CreateMilestoneOutput {
3692	s.WorkloadId = &v
3693	return s
3694}
3695
3696// Input for workload creation.
3697type CreateWorkloadInput struct {
3698	_ struct{} `type:"structure"`
3699
3700	// The list of AWS account IDs associated with the workload.
3701	AccountIds []*string `type:"list"`
3702
3703	// The URL of the architectural design for the workload.
3704	ArchitecturalDesign *string `type:"string"`
3705
3706	// The list of AWS Regions associated with the workload, for example, us-east-2,
3707	// or ca-central-1.
3708	AwsRegions []*string `type:"list"`
3709
3710	// A unique case-sensitive string used to ensure that this request is idempotent
3711	// (executes only once).
3712	//
3713	// You should not reuse the same token for other requests. If you retry a request
3714	// with the same client request token and the same parameters after it has completed
3715	// successfully, the result of the original request is returned.
3716	//
3717	// This token is listed as required, however, if you do not specify it, the
3718	// AWS SDKs automatically generate one for you. If you are not using the AWS
3719	// SDK or the AWS CLI, you must provide this token or the request will fail.
3720	ClientRequestToken *string `type:"string" idempotencyToken:"true"`
3721
3722	// The description for the workload.
3723	//
3724	// Description is a required field
3725	Description *string `min:"3" type:"string" required:"true"`
3726
3727	// The environment for the workload.
3728	//
3729	// Environment is a required field
3730	Environment *string `type:"string" required:"true" enum:"WorkloadEnvironment"`
3731
3732	// The industry for the workload.
3733	Industry *string `type:"string"`
3734
3735	// The industry type for the workload.
3736	//
3737	// If specified, must be one of the following:
3738	//
3739	//    * Agriculture
3740	//
3741	//    * Automobile
3742	//
3743	//    * Defense
3744	//
3745	//    * Design and Engineering
3746	//
3747	//    * Digital Advertising
3748	//
3749	//    * Education
3750	//
3751	//    * Environmental Protection
3752	//
3753	//    * Financial Services
3754	//
3755	//    * Gaming
3756	//
3757	//    * General Public Services
3758	//
3759	//    * Healthcare
3760	//
3761	//    * Hospitality
3762	//
3763	//    * InfoTech
3764	//
3765	//    * Justice and Public Safety
3766	//
3767	//    * Life Sciences
3768	//
3769	//    * Manufacturing
3770	//
3771	//    * Media & Entertainment
3772	//
3773	//    * Mining & Resources
3774	//
3775	//    * Oil & Gas
3776	//
3777	//    * Power & Utilities
3778	//
3779	//    * Professional Services
3780	//
3781	//    * Real Estate & Construction
3782	//
3783	//    * Retail & Wholesale
3784	//
3785	//    * Social Protection
3786	//
3787	//    * Telecommunications
3788	//
3789	//    * Travel, Transportation & Logistics
3790	//
3791	//    * Other
3792	IndustryType *string `type:"string"`
3793
3794	// The list of lenses associated with the workload. Each lens is identified
3795	// by its LensSummary$LensAlias.
3796	//
3797	// Lenses is a required field
3798	Lenses []*string `type:"list" required:"true"`
3799
3800	// The list of non-AWS Regions associated with the workload.
3801	NonAwsRegions []*string `type:"list"`
3802
3803	// The notes associated with the workload.
3804	Notes *string `type:"string"`
3805
3806	// The priorities of the pillars, which are used to order items in the improvement
3807	// plan. Each pillar is represented by its PillarReviewSummary$PillarId.
3808	PillarPriorities []*string `type:"list"`
3809
3810	// The review owner of the workload. The name, email address, or identifier
3811	// for the primary group or individual that owns the workload review process.
3812	//
3813	// ReviewOwner is a required field
3814	ReviewOwner *string `min:"3" type:"string" required:"true"`
3815
3816	// The name of the workload.
3817	//
3818	// The name must be unique within an account within a Region. Spaces and capitalization
3819	// are ignored when checking for uniqueness.
3820	//
3821	// WorkloadName is a required field
3822	WorkloadName *string `min:"3" type:"string" required:"true"`
3823}
3824
3825// String returns the string representation
3826func (s CreateWorkloadInput) String() string {
3827	return awsutil.Prettify(s)
3828}
3829
3830// GoString returns the string representation
3831func (s CreateWorkloadInput) GoString() string {
3832	return s.String()
3833}
3834
3835// Validate inspects the fields of the type to determine if they are valid.
3836func (s *CreateWorkloadInput) Validate() error {
3837	invalidParams := request.ErrInvalidParams{Context: "CreateWorkloadInput"}
3838	if s.Description == nil {
3839		invalidParams.Add(request.NewErrParamRequired("Description"))
3840	}
3841	if s.Description != nil && len(*s.Description) < 3 {
3842		invalidParams.Add(request.NewErrParamMinLen("Description", 3))
3843	}
3844	if s.Environment == nil {
3845		invalidParams.Add(request.NewErrParamRequired("Environment"))
3846	}
3847	if s.Lenses == nil {
3848		invalidParams.Add(request.NewErrParamRequired("Lenses"))
3849	}
3850	if s.ReviewOwner == nil {
3851		invalidParams.Add(request.NewErrParamRequired("ReviewOwner"))
3852	}
3853	if s.ReviewOwner != nil && len(*s.ReviewOwner) < 3 {
3854		invalidParams.Add(request.NewErrParamMinLen("ReviewOwner", 3))
3855	}
3856	if s.WorkloadName == nil {
3857		invalidParams.Add(request.NewErrParamRequired("WorkloadName"))
3858	}
3859	if s.WorkloadName != nil && len(*s.WorkloadName) < 3 {
3860		invalidParams.Add(request.NewErrParamMinLen("WorkloadName", 3))
3861	}
3862
3863	if invalidParams.Len() > 0 {
3864		return invalidParams
3865	}
3866	return nil
3867}
3868
3869// SetAccountIds sets the AccountIds field's value.
3870func (s *CreateWorkloadInput) SetAccountIds(v []*string) *CreateWorkloadInput {
3871	s.AccountIds = v
3872	return s
3873}
3874
3875// SetArchitecturalDesign sets the ArchitecturalDesign field's value.
3876func (s *CreateWorkloadInput) SetArchitecturalDesign(v string) *CreateWorkloadInput {
3877	s.ArchitecturalDesign = &v
3878	return s
3879}
3880
3881// SetAwsRegions sets the AwsRegions field's value.
3882func (s *CreateWorkloadInput) SetAwsRegions(v []*string) *CreateWorkloadInput {
3883	s.AwsRegions = v
3884	return s
3885}
3886
3887// SetClientRequestToken sets the ClientRequestToken field's value.
3888func (s *CreateWorkloadInput) SetClientRequestToken(v string) *CreateWorkloadInput {
3889	s.ClientRequestToken = &v
3890	return s
3891}
3892
3893// SetDescription sets the Description field's value.
3894func (s *CreateWorkloadInput) SetDescription(v string) *CreateWorkloadInput {
3895	s.Description = &v
3896	return s
3897}
3898
3899// SetEnvironment sets the Environment field's value.
3900func (s *CreateWorkloadInput) SetEnvironment(v string) *CreateWorkloadInput {
3901	s.Environment = &v
3902	return s
3903}
3904
3905// SetIndustry sets the Industry field's value.
3906func (s *CreateWorkloadInput) SetIndustry(v string) *CreateWorkloadInput {
3907	s.Industry = &v
3908	return s
3909}
3910
3911// SetIndustryType sets the IndustryType field's value.
3912func (s *CreateWorkloadInput) SetIndustryType(v string) *CreateWorkloadInput {
3913	s.IndustryType = &v
3914	return s
3915}
3916
3917// SetLenses sets the Lenses field's value.
3918func (s *CreateWorkloadInput) SetLenses(v []*string) *CreateWorkloadInput {
3919	s.Lenses = v
3920	return s
3921}
3922
3923// SetNonAwsRegions sets the NonAwsRegions field's value.
3924func (s *CreateWorkloadInput) SetNonAwsRegions(v []*string) *CreateWorkloadInput {
3925	s.NonAwsRegions = v
3926	return s
3927}
3928
3929// SetNotes sets the Notes field's value.
3930func (s *CreateWorkloadInput) SetNotes(v string) *CreateWorkloadInput {
3931	s.Notes = &v
3932	return s
3933}
3934
3935// SetPillarPriorities sets the PillarPriorities field's value.
3936func (s *CreateWorkloadInput) SetPillarPriorities(v []*string) *CreateWorkloadInput {
3937	s.PillarPriorities = v
3938	return s
3939}
3940
3941// SetReviewOwner sets the ReviewOwner field's value.
3942func (s *CreateWorkloadInput) SetReviewOwner(v string) *CreateWorkloadInput {
3943	s.ReviewOwner = &v
3944	return s
3945}
3946
3947// SetWorkloadName sets the WorkloadName field's value.
3948func (s *CreateWorkloadInput) SetWorkloadName(v string) *CreateWorkloadInput {
3949	s.WorkloadName = &v
3950	return s
3951}
3952
3953// Output of a create workload call.
3954type CreateWorkloadOutput struct {
3955	_ struct{} `type:"structure"`
3956
3957	// The ARN for the workload.
3958	WorkloadArn *string `type:"string"`
3959
3960	// The ID assigned to the workload. This ID is unique within an AWS Region.
3961	WorkloadId *string `type:"string"`
3962}
3963
3964// String returns the string representation
3965func (s CreateWorkloadOutput) String() string {
3966	return awsutil.Prettify(s)
3967}
3968
3969// GoString returns the string representation
3970func (s CreateWorkloadOutput) GoString() string {
3971	return s.String()
3972}
3973
3974// SetWorkloadArn sets the WorkloadArn field's value.
3975func (s *CreateWorkloadOutput) SetWorkloadArn(v string) *CreateWorkloadOutput {
3976	s.WorkloadArn = &v
3977	return s
3978}
3979
3980// SetWorkloadId sets the WorkloadId field's value.
3981func (s *CreateWorkloadOutput) SetWorkloadId(v string) *CreateWorkloadOutput {
3982	s.WorkloadId = &v
3983	return s
3984}
3985
3986// Input for Create Workload Share
3987type CreateWorkloadShareInput struct {
3988	_ struct{} `type:"structure"`
3989
3990	// A unique case-sensitive string used to ensure that this request is idempotent
3991	// (executes only once).
3992	//
3993	// You should not reuse the same token for other requests. If you retry a request
3994	// with the same client request token and the same parameters after it has completed
3995	// successfully, the result of the original request is returned.
3996	//
3997	// This token is listed as required, however, if you do not specify it, the
3998	// AWS SDKs automatically generate one for you. If you are not using the AWS
3999	// SDK or the AWS CLI, you must provide this token or the request will fail.
4000	ClientRequestToken *string `type:"string" idempotencyToken:"true"`
4001
4002	// Permission granted on a workload share.
4003	//
4004	// PermissionType is a required field
4005	PermissionType *string `type:"string" required:"true" enum:"PermissionType"`
4006
4007	// The AWS account ID or IAM role with which the workload is shared.
4008	//
4009	// SharedWith is a required field
4010	SharedWith *string `min:"12" type:"string" required:"true"`
4011
4012	// The ID assigned to the workload. This ID is unique within an AWS Region.
4013	//
4014	// WorkloadId is a required field
4015	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
4016}
4017
4018// String returns the string representation
4019func (s CreateWorkloadShareInput) String() string {
4020	return awsutil.Prettify(s)
4021}
4022
4023// GoString returns the string representation
4024func (s CreateWorkloadShareInput) GoString() string {
4025	return s.String()
4026}
4027
4028// Validate inspects the fields of the type to determine if they are valid.
4029func (s *CreateWorkloadShareInput) Validate() error {
4030	invalidParams := request.ErrInvalidParams{Context: "CreateWorkloadShareInput"}
4031	if s.PermissionType == nil {
4032		invalidParams.Add(request.NewErrParamRequired("PermissionType"))
4033	}
4034	if s.SharedWith == nil {
4035		invalidParams.Add(request.NewErrParamRequired("SharedWith"))
4036	}
4037	if s.SharedWith != nil && len(*s.SharedWith) < 12 {
4038		invalidParams.Add(request.NewErrParamMinLen("SharedWith", 12))
4039	}
4040	if s.WorkloadId == nil {
4041		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
4042	}
4043	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
4044		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
4045	}
4046
4047	if invalidParams.Len() > 0 {
4048		return invalidParams
4049	}
4050	return nil
4051}
4052
4053// SetClientRequestToken sets the ClientRequestToken field's value.
4054func (s *CreateWorkloadShareInput) SetClientRequestToken(v string) *CreateWorkloadShareInput {
4055	s.ClientRequestToken = &v
4056	return s
4057}
4058
4059// SetPermissionType sets the PermissionType field's value.
4060func (s *CreateWorkloadShareInput) SetPermissionType(v string) *CreateWorkloadShareInput {
4061	s.PermissionType = &v
4062	return s
4063}
4064
4065// SetSharedWith sets the SharedWith field's value.
4066func (s *CreateWorkloadShareInput) SetSharedWith(v string) *CreateWorkloadShareInput {
4067	s.SharedWith = &v
4068	return s
4069}
4070
4071// SetWorkloadId sets the WorkloadId field's value.
4072func (s *CreateWorkloadShareInput) SetWorkloadId(v string) *CreateWorkloadShareInput {
4073	s.WorkloadId = &v
4074	return s
4075}
4076
4077// Input for Create Workload Share
4078type CreateWorkloadShareOutput struct {
4079	_ struct{} `type:"structure"`
4080
4081	// The ID associated with the workload share.
4082	ShareId *string `type:"string"`
4083
4084	// The ID assigned to the workload. This ID is unique within an AWS Region.
4085	WorkloadId *string `type:"string"`
4086}
4087
4088// String returns the string representation
4089func (s CreateWorkloadShareOutput) String() string {
4090	return awsutil.Prettify(s)
4091}
4092
4093// GoString returns the string representation
4094func (s CreateWorkloadShareOutput) GoString() string {
4095	return s.String()
4096}
4097
4098// SetShareId sets the ShareId field's value.
4099func (s *CreateWorkloadShareOutput) SetShareId(v string) *CreateWorkloadShareOutput {
4100	s.ShareId = &v
4101	return s
4102}
4103
4104// SetWorkloadId sets the WorkloadId field's value.
4105func (s *CreateWorkloadShareOutput) SetWorkloadId(v string) *CreateWorkloadShareOutput {
4106	s.WorkloadId = &v
4107	return s
4108}
4109
4110// Input for workload deletion.
4111type DeleteWorkloadInput struct {
4112	_ struct{} `type:"structure"`
4113
4114	// A unique case-sensitive string used to ensure that this request is idempotent
4115	// (executes only once).
4116	//
4117	// You should not reuse the same token for other requests. If you retry a request
4118	// with the same client request token and the same parameters after it has completed
4119	// successfully, the result of the original request is returned.
4120	//
4121	// This token is listed as required, however, if you do not specify it, the
4122	// AWS SDKs automatically generate one for you. If you are not using the AWS
4123	// SDK or the AWS CLI, you must provide this token or the request will fail.
4124	ClientRequestToken *string `location:"querystring" locationName:"ClientRequestToken" type:"string" idempotencyToken:"true"`
4125
4126	// The ID assigned to the workload. This ID is unique within an AWS Region.
4127	//
4128	// WorkloadId is a required field
4129	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
4130}
4131
4132// String returns the string representation
4133func (s DeleteWorkloadInput) String() string {
4134	return awsutil.Prettify(s)
4135}
4136
4137// GoString returns the string representation
4138func (s DeleteWorkloadInput) GoString() string {
4139	return s.String()
4140}
4141
4142// Validate inspects the fields of the type to determine if they are valid.
4143func (s *DeleteWorkloadInput) Validate() error {
4144	invalidParams := request.ErrInvalidParams{Context: "DeleteWorkloadInput"}
4145	if s.WorkloadId == nil {
4146		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
4147	}
4148	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
4149		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
4150	}
4151
4152	if invalidParams.Len() > 0 {
4153		return invalidParams
4154	}
4155	return nil
4156}
4157
4158// SetClientRequestToken sets the ClientRequestToken field's value.
4159func (s *DeleteWorkloadInput) SetClientRequestToken(v string) *DeleteWorkloadInput {
4160	s.ClientRequestToken = &v
4161	return s
4162}
4163
4164// SetWorkloadId sets the WorkloadId field's value.
4165func (s *DeleteWorkloadInput) SetWorkloadId(v string) *DeleteWorkloadInput {
4166	s.WorkloadId = &v
4167	return s
4168}
4169
4170type DeleteWorkloadOutput struct {
4171	_ struct{} `type:"structure"`
4172}
4173
4174// String returns the string representation
4175func (s DeleteWorkloadOutput) String() string {
4176	return awsutil.Prettify(s)
4177}
4178
4179// GoString returns the string representation
4180func (s DeleteWorkloadOutput) GoString() string {
4181	return s.String()
4182}
4183
4184// Input for Delete Workload Share
4185type DeleteWorkloadShareInput struct {
4186	_ struct{} `type:"structure"`
4187
4188	// A unique case-sensitive string used to ensure that this request is idempotent
4189	// (executes only once).
4190	//
4191	// You should not reuse the same token for other requests. If you retry a request
4192	// with the same client request token and the same parameters after it has completed
4193	// successfully, the result of the original request is returned.
4194	//
4195	// This token is listed as required, however, if you do not specify it, the
4196	// AWS SDKs automatically generate one for you. If you are not using the AWS
4197	// SDK or the AWS CLI, you must provide this token or the request will fail.
4198	ClientRequestToken *string `location:"querystring" locationName:"ClientRequestToken" type:"string" idempotencyToken:"true"`
4199
4200	// The ID associated with the workload share.
4201	//
4202	// ShareId is a required field
4203	ShareId *string `location:"uri" locationName:"ShareId" type:"string" required:"true"`
4204
4205	// The ID assigned to the workload. This ID is unique within an AWS Region.
4206	//
4207	// WorkloadId is a required field
4208	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
4209}
4210
4211// String returns the string representation
4212func (s DeleteWorkloadShareInput) String() string {
4213	return awsutil.Prettify(s)
4214}
4215
4216// GoString returns the string representation
4217func (s DeleteWorkloadShareInput) GoString() string {
4218	return s.String()
4219}
4220
4221// Validate inspects the fields of the type to determine if they are valid.
4222func (s *DeleteWorkloadShareInput) Validate() error {
4223	invalidParams := request.ErrInvalidParams{Context: "DeleteWorkloadShareInput"}
4224	if s.ShareId == nil {
4225		invalidParams.Add(request.NewErrParamRequired("ShareId"))
4226	}
4227	if s.ShareId != nil && len(*s.ShareId) < 1 {
4228		invalidParams.Add(request.NewErrParamMinLen("ShareId", 1))
4229	}
4230	if s.WorkloadId == nil {
4231		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
4232	}
4233	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
4234		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
4235	}
4236
4237	if invalidParams.Len() > 0 {
4238		return invalidParams
4239	}
4240	return nil
4241}
4242
4243// SetClientRequestToken sets the ClientRequestToken field's value.
4244func (s *DeleteWorkloadShareInput) SetClientRequestToken(v string) *DeleteWorkloadShareInput {
4245	s.ClientRequestToken = &v
4246	return s
4247}
4248
4249// SetShareId sets the ShareId field's value.
4250func (s *DeleteWorkloadShareInput) SetShareId(v string) *DeleteWorkloadShareInput {
4251	s.ShareId = &v
4252	return s
4253}
4254
4255// SetWorkloadId sets the WorkloadId field's value.
4256func (s *DeleteWorkloadShareInput) SetWorkloadId(v string) *DeleteWorkloadShareInput {
4257	s.WorkloadId = &v
4258	return s
4259}
4260
4261type DeleteWorkloadShareOutput struct {
4262	_ struct{} `type:"structure"`
4263}
4264
4265// String returns the string representation
4266func (s DeleteWorkloadShareOutput) String() string {
4267	return awsutil.Prettify(s)
4268}
4269
4270// GoString returns the string representation
4271func (s DeleteWorkloadShareOutput) GoString() string {
4272	return s.String()
4273}
4274
4275// Input to disassociate lens reviews.
4276type DisassociateLensesInput struct {
4277	_ struct{} `type:"structure"`
4278
4279	// List of lens aliases to associate or disassociate with a workload.
4280	//
4281	// Identify a lens using its LensSummary$LensAlias.
4282	//
4283	// LensAliases is a required field
4284	LensAliases []*string `min:"1" type:"list" required:"true"`
4285
4286	// The ID assigned to the workload. This ID is unique within an AWS Region.
4287	//
4288	// WorkloadId is a required field
4289	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
4290}
4291
4292// String returns the string representation
4293func (s DisassociateLensesInput) String() string {
4294	return awsutil.Prettify(s)
4295}
4296
4297// GoString returns the string representation
4298func (s DisassociateLensesInput) GoString() string {
4299	return s.String()
4300}
4301
4302// Validate inspects the fields of the type to determine if they are valid.
4303func (s *DisassociateLensesInput) Validate() error {
4304	invalidParams := request.ErrInvalidParams{Context: "DisassociateLensesInput"}
4305	if s.LensAliases == nil {
4306		invalidParams.Add(request.NewErrParamRequired("LensAliases"))
4307	}
4308	if s.LensAliases != nil && len(s.LensAliases) < 1 {
4309		invalidParams.Add(request.NewErrParamMinLen("LensAliases", 1))
4310	}
4311	if s.WorkloadId == nil {
4312		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
4313	}
4314	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
4315		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
4316	}
4317
4318	if invalidParams.Len() > 0 {
4319		return invalidParams
4320	}
4321	return nil
4322}
4323
4324// SetLensAliases sets the LensAliases field's value.
4325func (s *DisassociateLensesInput) SetLensAliases(v []*string) *DisassociateLensesInput {
4326	s.LensAliases = v
4327	return s
4328}
4329
4330// SetWorkloadId sets the WorkloadId field's value.
4331func (s *DisassociateLensesInput) SetWorkloadId(v string) *DisassociateLensesInput {
4332	s.WorkloadId = &v
4333	return s
4334}
4335
4336type DisassociateLensesOutput struct {
4337	_ struct{} `type:"structure"`
4338}
4339
4340// String returns the string representation
4341func (s DisassociateLensesOutput) String() string {
4342	return awsutil.Prettify(s)
4343}
4344
4345// GoString returns the string representation
4346func (s DisassociateLensesOutput) GoString() string {
4347	return s.String()
4348}
4349
4350// Input to get answer.
4351type GetAnswerInput struct {
4352	_ struct{} `type:"structure"`
4353
4354	// The alias of the lens, for example, serverless.
4355	//
4356	// Each lens is identified by its LensSummary$LensAlias.
4357	//
4358	// LensAlias is a required field
4359	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
4360
4361	// The milestone number.
4362	//
4363	// A workload can have a maximum of 100 milestones.
4364	MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"`
4365
4366	// The ID of the question.
4367	//
4368	// QuestionId is a required field
4369	QuestionId *string `location:"uri" locationName:"QuestionId" min:"1" type:"string" required:"true"`
4370
4371	// The ID assigned to the workload. This ID is unique within an AWS Region.
4372	//
4373	// WorkloadId is a required field
4374	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
4375}
4376
4377// String returns the string representation
4378func (s GetAnswerInput) String() string {
4379	return awsutil.Prettify(s)
4380}
4381
4382// GoString returns the string representation
4383func (s GetAnswerInput) GoString() string {
4384	return s.String()
4385}
4386
4387// Validate inspects the fields of the type to determine if they are valid.
4388func (s *GetAnswerInput) Validate() error {
4389	invalidParams := request.ErrInvalidParams{Context: "GetAnswerInput"}
4390	if s.LensAlias == nil {
4391		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
4392	}
4393	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
4394		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
4395	}
4396	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
4397		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
4398	}
4399	if s.QuestionId == nil {
4400		invalidParams.Add(request.NewErrParamRequired("QuestionId"))
4401	}
4402	if s.QuestionId != nil && len(*s.QuestionId) < 1 {
4403		invalidParams.Add(request.NewErrParamMinLen("QuestionId", 1))
4404	}
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// SetLensAlias sets the LensAlias field's value.
4419func (s *GetAnswerInput) SetLensAlias(v string) *GetAnswerInput {
4420	s.LensAlias = &v
4421	return s
4422}
4423
4424// SetMilestoneNumber sets the MilestoneNumber field's value.
4425func (s *GetAnswerInput) SetMilestoneNumber(v int64) *GetAnswerInput {
4426	s.MilestoneNumber = &v
4427	return s
4428}
4429
4430// SetQuestionId sets the QuestionId field's value.
4431func (s *GetAnswerInput) SetQuestionId(v string) *GetAnswerInput {
4432	s.QuestionId = &v
4433	return s
4434}
4435
4436// SetWorkloadId sets the WorkloadId field's value.
4437func (s *GetAnswerInput) SetWorkloadId(v string) *GetAnswerInput {
4438	s.WorkloadId = &v
4439	return s
4440}
4441
4442// Output of a get answer call.
4443type GetAnswerOutput struct {
4444	_ struct{} `type:"structure"`
4445
4446	// An answer of the question.
4447	Answer *Answer `type:"structure"`
4448
4449	// The alias of the lens, for example, serverless.
4450	//
4451	// Each lens is identified by its LensSummary$LensAlias.
4452	LensAlias *string `min:"1" type:"string"`
4453
4454	// The milestone number.
4455	//
4456	// A workload can have a maximum of 100 milestones.
4457	MilestoneNumber *int64 `min:"1" type:"integer"`
4458
4459	// The ID assigned to the workload. This ID is unique within an AWS Region.
4460	WorkloadId *string `type:"string"`
4461}
4462
4463// String returns the string representation
4464func (s GetAnswerOutput) String() string {
4465	return awsutil.Prettify(s)
4466}
4467
4468// GoString returns the string representation
4469func (s GetAnswerOutput) GoString() string {
4470	return s.String()
4471}
4472
4473// SetAnswer sets the Answer field's value.
4474func (s *GetAnswerOutput) SetAnswer(v *Answer) *GetAnswerOutput {
4475	s.Answer = v
4476	return s
4477}
4478
4479// SetLensAlias sets the LensAlias field's value.
4480func (s *GetAnswerOutput) SetLensAlias(v string) *GetAnswerOutput {
4481	s.LensAlias = &v
4482	return s
4483}
4484
4485// SetMilestoneNumber sets the MilestoneNumber field's value.
4486func (s *GetAnswerOutput) SetMilestoneNumber(v int64) *GetAnswerOutput {
4487	s.MilestoneNumber = &v
4488	return s
4489}
4490
4491// SetWorkloadId sets the WorkloadId field's value.
4492func (s *GetAnswerOutput) SetWorkloadId(v string) *GetAnswerOutput {
4493	s.WorkloadId = &v
4494	return s
4495}
4496
4497// Input to get lens review.
4498type GetLensReviewInput struct {
4499	_ struct{} `type:"structure"`
4500
4501	// The alias of the lens, for example, serverless.
4502	//
4503	// Each lens is identified by its LensSummary$LensAlias.
4504	//
4505	// LensAlias is a required field
4506	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
4507
4508	// The milestone number.
4509	//
4510	// A workload can have a maximum of 100 milestones.
4511	MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"`
4512
4513	// The ID assigned to the workload. This ID is unique within an AWS Region.
4514	//
4515	// WorkloadId is a required field
4516	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
4517}
4518
4519// String returns the string representation
4520func (s GetLensReviewInput) String() string {
4521	return awsutil.Prettify(s)
4522}
4523
4524// GoString returns the string representation
4525func (s GetLensReviewInput) GoString() string {
4526	return s.String()
4527}
4528
4529// Validate inspects the fields of the type to determine if they are valid.
4530func (s *GetLensReviewInput) Validate() error {
4531	invalidParams := request.ErrInvalidParams{Context: "GetLensReviewInput"}
4532	if s.LensAlias == nil {
4533		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
4534	}
4535	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
4536		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
4537	}
4538	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
4539		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
4540	}
4541	if s.WorkloadId == nil {
4542		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
4543	}
4544	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
4545		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
4546	}
4547
4548	if invalidParams.Len() > 0 {
4549		return invalidParams
4550	}
4551	return nil
4552}
4553
4554// SetLensAlias sets the LensAlias field's value.
4555func (s *GetLensReviewInput) SetLensAlias(v string) *GetLensReviewInput {
4556	s.LensAlias = &v
4557	return s
4558}
4559
4560// SetMilestoneNumber sets the MilestoneNumber field's value.
4561func (s *GetLensReviewInput) SetMilestoneNumber(v int64) *GetLensReviewInput {
4562	s.MilestoneNumber = &v
4563	return s
4564}
4565
4566// SetWorkloadId sets the WorkloadId field's value.
4567func (s *GetLensReviewInput) SetWorkloadId(v string) *GetLensReviewInput {
4568	s.WorkloadId = &v
4569	return s
4570}
4571
4572// Output of a get lens review call.
4573type GetLensReviewOutput struct {
4574	_ struct{} `type:"structure"`
4575
4576	// A lens review of a question.
4577	LensReview *LensReview `type:"structure"`
4578
4579	// The milestone number.
4580	//
4581	// A workload can have a maximum of 100 milestones.
4582	MilestoneNumber *int64 `min:"1" type:"integer"`
4583
4584	// The ID assigned to the workload. This ID is unique within an AWS Region.
4585	WorkloadId *string `type:"string"`
4586}
4587
4588// String returns the string representation
4589func (s GetLensReviewOutput) String() string {
4590	return awsutil.Prettify(s)
4591}
4592
4593// GoString returns the string representation
4594func (s GetLensReviewOutput) GoString() string {
4595	return s.String()
4596}
4597
4598// SetLensReview sets the LensReview field's value.
4599func (s *GetLensReviewOutput) SetLensReview(v *LensReview) *GetLensReviewOutput {
4600	s.LensReview = v
4601	return s
4602}
4603
4604// SetMilestoneNumber sets the MilestoneNumber field's value.
4605func (s *GetLensReviewOutput) SetMilestoneNumber(v int64) *GetLensReviewOutput {
4606	s.MilestoneNumber = &v
4607	return s
4608}
4609
4610// SetWorkloadId sets the WorkloadId field's value.
4611func (s *GetLensReviewOutput) SetWorkloadId(v string) *GetLensReviewOutput {
4612	s.WorkloadId = &v
4613	return s
4614}
4615
4616// Input to get lens review report.
4617type GetLensReviewReportInput struct {
4618	_ struct{} `type:"structure"`
4619
4620	// The alias of the lens, for example, serverless.
4621	//
4622	// Each lens is identified by its LensSummary$LensAlias.
4623	//
4624	// LensAlias is a required field
4625	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
4626
4627	// The milestone number.
4628	//
4629	// A workload can have a maximum of 100 milestones.
4630	MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"`
4631
4632	// The ID assigned to the workload. This ID is unique within an AWS Region.
4633	//
4634	// WorkloadId is a required field
4635	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
4636}
4637
4638// String returns the string representation
4639func (s GetLensReviewReportInput) String() string {
4640	return awsutil.Prettify(s)
4641}
4642
4643// GoString returns the string representation
4644func (s GetLensReviewReportInput) GoString() string {
4645	return s.String()
4646}
4647
4648// Validate inspects the fields of the type to determine if they are valid.
4649func (s *GetLensReviewReportInput) Validate() error {
4650	invalidParams := request.ErrInvalidParams{Context: "GetLensReviewReportInput"}
4651	if s.LensAlias == nil {
4652		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
4653	}
4654	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
4655		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
4656	}
4657	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
4658		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
4659	}
4660	if s.WorkloadId == nil {
4661		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
4662	}
4663	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
4664		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
4665	}
4666
4667	if invalidParams.Len() > 0 {
4668		return invalidParams
4669	}
4670	return nil
4671}
4672
4673// SetLensAlias sets the LensAlias field's value.
4674func (s *GetLensReviewReportInput) SetLensAlias(v string) *GetLensReviewReportInput {
4675	s.LensAlias = &v
4676	return s
4677}
4678
4679// SetMilestoneNumber sets the MilestoneNumber field's value.
4680func (s *GetLensReviewReportInput) SetMilestoneNumber(v int64) *GetLensReviewReportInput {
4681	s.MilestoneNumber = &v
4682	return s
4683}
4684
4685// SetWorkloadId sets the WorkloadId field's value.
4686func (s *GetLensReviewReportInput) SetWorkloadId(v string) *GetLensReviewReportInput {
4687	s.WorkloadId = &v
4688	return s
4689}
4690
4691// Output of a get lens review report call.
4692type GetLensReviewReportOutput struct {
4693	_ struct{} `type:"structure"`
4694
4695	// A report of a lens review.
4696	LensReviewReport *LensReviewReport `type:"structure"`
4697
4698	// The milestone number.
4699	//
4700	// A workload can have a maximum of 100 milestones.
4701	MilestoneNumber *int64 `min:"1" type:"integer"`
4702
4703	// The ID assigned to the workload. This ID is unique within an AWS Region.
4704	WorkloadId *string `type:"string"`
4705}
4706
4707// String returns the string representation
4708func (s GetLensReviewReportOutput) String() string {
4709	return awsutil.Prettify(s)
4710}
4711
4712// GoString returns the string representation
4713func (s GetLensReviewReportOutput) GoString() string {
4714	return s.String()
4715}
4716
4717// SetLensReviewReport sets the LensReviewReport field's value.
4718func (s *GetLensReviewReportOutput) SetLensReviewReport(v *LensReviewReport) *GetLensReviewReportOutput {
4719	s.LensReviewReport = v
4720	return s
4721}
4722
4723// SetMilestoneNumber sets the MilestoneNumber field's value.
4724func (s *GetLensReviewReportOutput) SetMilestoneNumber(v int64) *GetLensReviewReportOutput {
4725	s.MilestoneNumber = &v
4726	return s
4727}
4728
4729// SetWorkloadId sets the WorkloadId field's value.
4730func (s *GetLensReviewReportOutput) SetWorkloadId(v string) *GetLensReviewReportOutput {
4731	s.WorkloadId = &v
4732	return s
4733}
4734
4735type GetLensVersionDifferenceInput struct {
4736	_ struct{} `type:"structure"`
4737
4738	// The base version of the lens.
4739	//
4740	// BaseLensVersion is a required field
4741	BaseLensVersion *string `location:"querystring" locationName:"BaseLensVersion" min:"1" type:"string" required:"true"`
4742
4743	// The alias of the lens, for example, serverless.
4744	//
4745	// Each lens is identified by its LensSummary$LensAlias.
4746	//
4747	// LensAlias is a required field
4748	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
4749}
4750
4751// String returns the string representation
4752func (s GetLensVersionDifferenceInput) String() string {
4753	return awsutil.Prettify(s)
4754}
4755
4756// GoString returns the string representation
4757func (s GetLensVersionDifferenceInput) GoString() string {
4758	return s.String()
4759}
4760
4761// Validate inspects the fields of the type to determine if they are valid.
4762func (s *GetLensVersionDifferenceInput) Validate() error {
4763	invalidParams := request.ErrInvalidParams{Context: "GetLensVersionDifferenceInput"}
4764	if s.BaseLensVersion == nil {
4765		invalidParams.Add(request.NewErrParamRequired("BaseLensVersion"))
4766	}
4767	if s.BaseLensVersion != nil && len(*s.BaseLensVersion) < 1 {
4768		invalidParams.Add(request.NewErrParamMinLen("BaseLensVersion", 1))
4769	}
4770	if s.LensAlias == nil {
4771		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
4772	}
4773	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
4774		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
4775	}
4776
4777	if invalidParams.Len() > 0 {
4778		return invalidParams
4779	}
4780	return nil
4781}
4782
4783// SetBaseLensVersion sets the BaseLensVersion field's value.
4784func (s *GetLensVersionDifferenceInput) SetBaseLensVersion(v string) *GetLensVersionDifferenceInput {
4785	s.BaseLensVersion = &v
4786	return s
4787}
4788
4789// SetLensAlias sets the LensAlias field's value.
4790func (s *GetLensVersionDifferenceInput) SetLensAlias(v string) *GetLensVersionDifferenceInput {
4791	s.LensAlias = &v
4792	return s
4793}
4794
4795type GetLensVersionDifferenceOutput struct {
4796	_ struct{} `type:"structure"`
4797
4798	// The base version of the lens.
4799	BaseLensVersion *string `min:"1" type:"string"`
4800
4801	// The latest version of the lens.
4802	LatestLensVersion *string `min:"1" type:"string"`
4803
4804	// The alias of the lens, for example, serverless.
4805	//
4806	// Each lens is identified by its LensSummary$LensAlias.
4807	LensAlias *string `min:"1" type:"string"`
4808
4809	// The differences between the base and latest versions of the lens.
4810	VersionDifferences *VersionDifferences `type:"structure"`
4811}
4812
4813// String returns the string representation
4814func (s GetLensVersionDifferenceOutput) String() string {
4815	return awsutil.Prettify(s)
4816}
4817
4818// GoString returns the string representation
4819func (s GetLensVersionDifferenceOutput) GoString() string {
4820	return s.String()
4821}
4822
4823// SetBaseLensVersion sets the BaseLensVersion field's value.
4824func (s *GetLensVersionDifferenceOutput) SetBaseLensVersion(v string) *GetLensVersionDifferenceOutput {
4825	s.BaseLensVersion = &v
4826	return s
4827}
4828
4829// SetLatestLensVersion sets the LatestLensVersion field's value.
4830func (s *GetLensVersionDifferenceOutput) SetLatestLensVersion(v string) *GetLensVersionDifferenceOutput {
4831	s.LatestLensVersion = &v
4832	return s
4833}
4834
4835// SetLensAlias sets the LensAlias field's value.
4836func (s *GetLensVersionDifferenceOutput) SetLensAlias(v string) *GetLensVersionDifferenceOutput {
4837	s.LensAlias = &v
4838	return s
4839}
4840
4841// SetVersionDifferences sets the VersionDifferences field's value.
4842func (s *GetLensVersionDifferenceOutput) SetVersionDifferences(v *VersionDifferences) *GetLensVersionDifferenceOutput {
4843	s.VersionDifferences = v
4844	return s
4845}
4846
4847// Input to get a milestone.
4848type GetMilestoneInput struct {
4849	_ struct{} `type:"structure"`
4850
4851	// The milestone number.
4852	//
4853	// A workload can have a maximum of 100 milestones.
4854	//
4855	// MilestoneNumber is a required field
4856	MilestoneNumber *int64 `location:"uri" locationName:"MilestoneNumber" min:"1" type:"integer" required:"true"`
4857
4858	// The ID assigned to the workload. This ID is unique within an AWS Region.
4859	//
4860	// WorkloadId is a required field
4861	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
4862}
4863
4864// String returns the string representation
4865func (s GetMilestoneInput) String() string {
4866	return awsutil.Prettify(s)
4867}
4868
4869// GoString returns the string representation
4870func (s GetMilestoneInput) GoString() string {
4871	return s.String()
4872}
4873
4874// Validate inspects the fields of the type to determine if they are valid.
4875func (s *GetMilestoneInput) Validate() error {
4876	invalidParams := request.ErrInvalidParams{Context: "GetMilestoneInput"}
4877	if s.MilestoneNumber == nil {
4878		invalidParams.Add(request.NewErrParamRequired("MilestoneNumber"))
4879	}
4880	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
4881		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
4882	}
4883	if s.WorkloadId == nil {
4884		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
4885	}
4886	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
4887		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
4888	}
4889
4890	if invalidParams.Len() > 0 {
4891		return invalidParams
4892	}
4893	return nil
4894}
4895
4896// SetMilestoneNumber sets the MilestoneNumber field's value.
4897func (s *GetMilestoneInput) SetMilestoneNumber(v int64) *GetMilestoneInput {
4898	s.MilestoneNumber = &v
4899	return s
4900}
4901
4902// SetWorkloadId sets the WorkloadId field's value.
4903func (s *GetMilestoneInput) SetWorkloadId(v string) *GetMilestoneInput {
4904	s.WorkloadId = &v
4905	return s
4906}
4907
4908// Output of a get milestone call.
4909type GetMilestoneOutput struct {
4910	_ struct{} `type:"structure"`
4911
4912	// A milestone return object.
4913	Milestone *Milestone `type:"structure"`
4914
4915	// The ID assigned to the workload. This ID is unique within an AWS Region.
4916	WorkloadId *string `type:"string"`
4917}
4918
4919// String returns the string representation
4920func (s GetMilestoneOutput) String() string {
4921	return awsutil.Prettify(s)
4922}
4923
4924// GoString returns the string representation
4925func (s GetMilestoneOutput) GoString() string {
4926	return s.String()
4927}
4928
4929// SetMilestone sets the Milestone field's value.
4930func (s *GetMilestoneOutput) SetMilestone(v *Milestone) *GetMilestoneOutput {
4931	s.Milestone = v
4932	return s
4933}
4934
4935// SetWorkloadId sets the WorkloadId field's value.
4936func (s *GetMilestoneOutput) SetWorkloadId(v string) *GetMilestoneOutput {
4937	s.WorkloadId = &v
4938	return s
4939}
4940
4941// Input to get a workload.
4942type GetWorkloadInput struct {
4943	_ struct{} `type:"structure"`
4944
4945	// The ID assigned to the workload. This ID is unique within an AWS Region.
4946	//
4947	// WorkloadId is a required field
4948	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
4949}
4950
4951// String returns the string representation
4952func (s GetWorkloadInput) String() string {
4953	return awsutil.Prettify(s)
4954}
4955
4956// GoString returns the string representation
4957func (s GetWorkloadInput) GoString() string {
4958	return s.String()
4959}
4960
4961// Validate inspects the fields of the type to determine if they are valid.
4962func (s *GetWorkloadInput) Validate() error {
4963	invalidParams := request.ErrInvalidParams{Context: "GetWorkloadInput"}
4964	if s.WorkloadId == nil {
4965		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
4966	}
4967	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
4968		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
4969	}
4970
4971	if invalidParams.Len() > 0 {
4972		return invalidParams
4973	}
4974	return nil
4975}
4976
4977// SetWorkloadId sets the WorkloadId field's value.
4978func (s *GetWorkloadInput) SetWorkloadId(v string) *GetWorkloadInput {
4979	s.WorkloadId = &v
4980	return s
4981}
4982
4983// Output of a get workload call.
4984type GetWorkloadOutput struct {
4985	_ struct{} `type:"structure"`
4986
4987	// A workload return object.
4988	Workload *Workload `type:"structure"`
4989}
4990
4991// String returns the string representation
4992func (s GetWorkloadOutput) String() string {
4993	return awsutil.Prettify(s)
4994}
4995
4996// GoString returns the string representation
4997func (s GetWorkloadOutput) GoString() string {
4998	return s.String()
4999}
5000
5001// SetWorkload sets the Workload field's value.
5002func (s *GetWorkloadOutput) SetWorkload(v *Workload) *GetWorkloadOutput {
5003	s.Workload = v
5004	return s
5005}
5006
5007// An improvement summary of a lens review in a workload.
5008type ImprovementSummary struct {
5009	_ struct{} `type:"structure"`
5010
5011	// The improvement plan URL for a question.
5012	ImprovementPlanUrl *string `min:"1" type:"string"`
5013
5014	// The ID used to identify a pillar, for example, security.
5015	//
5016	// A pillar is identified by its PillarReviewSummary$PillarId.
5017	PillarId *string `min:"1" type:"string"`
5018
5019	// The ID of the question.
5020	QuestionId *string `min:"1" type:"string"`
5021
5022	// The title of the question.
5023	QuestionTitle *string `min:"1" type:"string"`
5024
5025	// The risk for a given workload, lens review, pillar, or question.
5026	Risk *string `type:"string" enum:"Risk"`
5027}
5028
5029// String returns the string representation
5030func (s ImprovementSummary) String() string {
5031	return awsutil.Prettify(s)
5032}
5033
5034// GoString returns the string representation
5035func (s ImprovementSummary) GoString() string {
5036	return s.String()
5037}
5038
5039// SetImprovementPlanUrl sets the ImprovementPlanUrl field's value.
5040func (s *ImprovementSummary) SetImprovementPlanUrl(v string) *ImprovementSummary {
5041	s.ImprovementPlanUrl = &v
5042	return s
5043}
5044
5045// SetPillarId sets the PillarId field's value.
5046func (s *ImprovementSummary) SetPillarId(v string) *ImprovementSummary {
5047	s.PillarId = &v
5048	return s
5049}
5050
5051// SetQuestionId sets the QuestionId field's value.
5052func (s *ImprovementSummary) SetQuestionId(v string) *ImprovementSummary {
5053	s.QuestionId = &v
5054	return s
5055}
5056
5057// SetQuestionTitle sets the QuestionTitle field's value.
5058func (s *ImprovementSummary) SetQuestionTitle(v string) *ImprovementSummary {
5059	s.QuestionTitle = &v
5060	return s
5061}
5062
5063// SetRisk sets the Risk field's value.
5064func (s *ImprovementSummary) SetRisk(v string) *ImprovementSummary {
5065	s.Risk = &v
5066	return s
5067}
5068
5069// There is a problem with the AWS Well-Architected Tool API service.
5070type InternalServerException struct {
5071	_            struct{}                  `type:"structure"`
5072	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5073
5074	// Description of the error.
5075	Message_ *string `locationName:"Message" type:"string"`
5076}
5077
5078// String returns the string representation
5079func (s InternalServerException) String() string {
5080	return awsutil.Prettify(s)
5081}
5082
5083// GoString returns the string representation
5084func (s InternalServerException) GoString() string {
5085	return s.String()
5086}
5087
5088func newErrorInternalServerException(v protocol.ResponseMetadata) error {
5089	return &InternalServerException{
5090		RespMetadata: v,
5091	}
5092}
5093
5094// Code returns the exception type name.
5095func (s *InternalServerException) Code() string {
5096	return "InternalServerException"
5097}
5098
5099// Message returns the exception's message.
5100func (s *InternalServerException) Message() string {
5101	if s.Message_ != nil {
5102		return *s.Message_
5103	}
5104	return ""
5105}
5106
5107// OrigErr always returns nil, satisfies awserr.Error interface.
5108func (s *InternalServerException) OrigErr() error {
5109	return nil
5110}
5111
5112func (s *InternalServerException) Error() string {
5113	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5114}
5115
5116// Status code returns the HTTP status code for the request's response error.
5117func (s *InternalServerException) StatusCode() int {
5118	return s.RespMetadata.StatusCode
5119}
5120
5121// RequestID returns the service's response RequestID for request.
5122func (s *InternalServerException) RequestID() string {
5123	return s.RespMetadata.RequestID
5124}
5125
5126// A lens review of a question.
5127type LensReview struct {
5128	_ struct{} `type:"structure"`
5129
5130	// The alias of the lens, for example, serverless.
5131	//
5132	// Each lens is identified by its LensSummary$LensAlias.
5133	LensAlias *string `min:"1" type:"string"`
5134
5135	// The full name of the lens.
5136	LensName *string `min:"1" type:"string"`
5137
5138	// The status of the lens.
5139	LensStatus *string `type:"string" enum:"LensStatus"`
5140
5141	// The version of the lens.
5142	LensVersion *string `min:"1" type:"string"`
5143
5144	// The token to use to retrieve the next set of results.
5145	NextToken *string `type:"string"`
5146
5147	// The notes associated with the workload.
5148	Notes *string `type:"string"`
5149
5150	// List of pillar review summaries of lens review in a workload.
5151	PillarReviewSummaries []*PillarReviewSummary `type:"list"`
5152
5153	// A map from risk names to the count of how questions have that rating.
5154	RiskCounts map[string]*int64 `type:"map"`
5155
5156	// The date and time recorded.
5157	UpdatedAt *time.Time `type:"timestamp"`
5158}
5159
5160// String returns the string representation
5161func (s LensReview) String() string {
5162	return awsutil.Prettify(s)
5163}
5164
5165// GoString returns the string representation
5166func (s LensReview) GoString() string {
5167	return s.String()
5168}
5169
5170// SetLensAlias sets the LensAlias field's value.
5171func (s *LensReview) SetLensAlias(v string) *LensReview {
5172	s.LensAlias = &v
5173	return s
5174}
5175
5176// SetLensName sets the LensName field's value.
5177func (s *LensReview) SetLensName(v string) *LensReview {
5178	s.LensName = &v
5179	return s
5180}
5181
5182// SetLensStatus sets the LensStatus field's value.
5183func (s *LensReview) SetLensStatus(v string) *LensReview {
5184	s.LensStatus = &v
5185	return s
5186}
5187
5188// SetLensVersion sets the LensVersion field's value.
5189func (s *LensReview) SetLensVersion(v string) *LensReview {
5190	s.LensVersion = &v
5191	return s
5192}
5193
5194// SetNextToken sets the NextToken field's value.
5195func (s *LensReview) SetNextToken(v string) *LensReview {
5196	s.NextToken = &v
5197	return s
5198}
5199
5200// SetNotes sets the Notes field's value.
5201func (s *LensReview) SetNotes(v string) *LensReview {
5202	s.Notes = &v
5203	return s
5204}
5205
5206// SetPillarReviewSummaries sets the PillarReviewSummaries field's value.
5207func (s *LensReview) SetPillarReviewSummaries(v []*PillarReviewSummary) *LensReview {
5208	s.PillarReviewSummaries = v
5209	return s
5210}
5211
5212// SetRiskCounts sets the RiskCounts field's value.
5213func (s *LensReview) SetRiskCounts(v map[string]*int64) *LensReview {
5214	s.RiskCounts = v
5215	return s
5216}
5217
5218// SetUpdatedAt sets the UpdatedAt field's value.
5219func (s *LensReview) SetUpdatedAt(v time.Time) *LensReview {
5220	s.UpdatedAt = &v
5221	return s
5222}
5223
5224// A report of a lens review.
5225type LensReviewReport struct {
5226	_ struct{} `type:"structure"`
5227
5228	// The Base64-encoded string representation of a lens review report.
5229	//
5230	// This data can be used to create a PDF file.
5231	Base64String *string `type:"string"`
5232
5233	// The alias of the lens, for example, serverless.
5234	//
5235	// Each lens is identified by its LensSummary$LensAlias.
5236	LensAlias *string `min:"1" type:"string"`
5237}
5238
5239// String returns the string representation
5240func (s LensReviewReport) String() string {
5241	return awsutil.Prettify(s)
5242}
5243
5244// GoString returns the string representation
5245func (s LensReviewReport) GoString() string {
5246	return s.String()
5247}
5248
5249// SetBase64String sets the Base64String field's value.
5250func (s *LensReviewReport) SetBase64String(v string) *LensReviewReport {
5251	s.Base64String = &v
5252	return s
5253}
5254
5255// SetLensAlias sets the LensAlias field's value.
5256func (s *LensReviewReport) SetLensAlias(v string) *LensReviewReport {
5257	s.LensAlias = &v
5258	return s
5259}
5260
5261// A lens review summary of a workload.
5262type LensReviewSummary struct {
5263	_ struct{} `type:"structure"`
5264
5265	// The alias of the lens, for example, serverless.
5266	//
5267	// Each lens is identified by its LensSummary$LensAlias.
5268	LensAlias *string `min:"1" type:"string"`
5269
5270	// The full name of the lens.
5271	LensName *string `min:"1" type:"string"`
5272
5273	// The status of the lens.
5274	LensStatus *string `type:"string" enum:"LensStatus"`
5275
5276	// The version of the lens.
5277	LensVersion *string `min:"1" type:"string"`
5278
5279	// A map from risk names to the count of how questions have that rating.
5280	RiskCounts map[string]*int64 `type:"map"`
5281
5282	// The date and time recorded.
5283	UpdatedAt *time.Time `type:"timestamp"`
5284}
5285
5286// String returns the string representation
5287func (s LensReviewSummary) String() string {
5288	return awsutil.Prettify(s)
5289}
5290
5291// GoString returns the string representation
5292func (s LensReviewSummary) GoString() string {
5293	return s.String()
5294}
5295
5296// SetLensAlias sets the LensAlias field's value.
5297func (s *LensReviewSummary) SetLensAlias(v string) *LensReviewSummary {
5298	s.LensAlias = &v
5299	return s
5300}
5301
5302// SetLensName sets the LensName field's value.
5303func (s *LensReviewSummary) SetLensName(v string) *LensReviewSummary {
5304	s.LensName = &v
5305	return s
5306}
5307
5308// SetLensStatus sets the LensStatus field's value.
5309func (s *LensReviewSummary) SetLensStatus(v string) *LensReviewSummary {
5310	s.LensStatus = &v
5311	return s
5312}
5313
5314// SetLensVersion sets the LensVersion field's value.
5315func (s *LensReviewSummary) SetLensVersion(v string) *LensReviewSummary {
5316	s.LensVersion = &v
5317	return s
5318}
5319
5320// SetRiskCounts sets the RiskCounts field's value.
5321func (s *LensReviewSummary) SetRiskCounts(v map[string]*int64) *LensReviewSummary {
5322	s.RiskCounts = v
5323	return s
5324}
5325
5326// SetUpdatedAt sets the UpdatedAt field's value.
5327func (s *LensReviewSummary) SetUpdatedAt(v time.Time) *LensReviewSummary {
5328	s.UpdatedAt = &v
5329	return s
5330}
5331
5332// A lens summary of a lens.
5333type LensSummary struct {
5334	_ struct{} `type:"structure"`
5335
5336	// The description of the lens.
5337	Description *string `min:"1" type:"string"`
5338
5339	// The alias of the lens, for example, serverless.
5340	//
5341	// Each lens is identified by its LensSummary$LensAlias.
5342	LensAlias *string `min:"1" type:"string"`
5343
5344	// The full name of the lens.
5345	LensName *string `min:"1" type:"string"`
5346
5347	// The version of the lens.
5348	LensVersion *string `min:"1" type:"string"`
5349}
5350
5351// String returns the string representation
5352func (s LensSummary) String() string {
5353	return awsutil.Prettify(s)
5354}
5355
5356// GoString returns the string representation
5357func (s LensSummary) GoString() string {
5358	return s.String()
5359}
5360
5361// SetDescription sets the Description field's value.
5362func (s *LensSummary) SetDescription(v string) *LensSummary {
5363	s.Description = &v
5364	return s
5365}
5366
5367// SetLensAlias sets the LensAlias field's value.
5368func (s *LensSummary) SetLensAlias(v string) *LensSummary {
5369	s.LensAlias = &v
5370	return s
5371}
5372
5373// SetLensName sets the LensName field's value.
5374func (s *LensSummary) SetLensName(v string) *LensSummary {
5375	s.LensName = &v
5376	return s
5377}
5378
5379// SetLensVersion sets the LensVersion field's value.
5380func (s *LensSummary) SetLensVersion(v string) *LensSummary {
5381	s.LensVersion = &v
5382	return s
5383}
5384
5385// Lens upgrade summary return object.
5386type LensUpgradeSummary struct {
5387	_ struct{} `type:"structure"`
5388
5389	// The current version of the lens.
5390	CurrentLensVersion *string `min:"1" type:"string"`
5391
5392	// The latest version of the lens.
5393	LatestLensVersion *string `min:"1" type:"string"`
5394
5395	// The alias of the lens, for example, serverless.
5396	//
5397	// Each lens is identified by its LensSummary$LensAlias.
5398	LensAlias *string `min:"1" type:"string"`
5399
5400	// The ID assigned to the workload. This ID is unique within an AWS Region.
5401	WorkloadId *string `type:"string"`
5402
5403	// The name of the workload.
5404	//
5405	// The name must be unique within an account within a Region. Spaces and capitalization
5406	// are ignored when checking for uniqueness.
5407	WorkloadName *string `min:"3" type:"string"`
5408}
5409
5410// String returns the string representation
5411func (s LensUpgradeSummary) String() string {
5412	return awsutil.Prettify(s)
5413}
5414
5415// GoString returns the string representation
5416func (s LensUpgradeSummary) GoString() string {
5417	return s.String()
5418}
5419
5420// SetCurrentLensVersion sets the CurrentLensVersion field's value.
5421func (s *LensUpgradeSummary) SetCurrentLensVersion(v string) *LensUpgradeSummary {
5422	s.CurrentLensVersion = &v
5423	return s
5424}
5425
5426// SetLatestLensVersion sets the LatestLensVersion field's value.
5427func (s *LensUpgradeSummary) SetLatestLensVersion(v string) *LensUpgradeSummary {
5428	s.LatestLensVersion = &v
5429	return s
5430}
5431
5432// SetLensAlias sets the LensAlias field's value.
5433func (s *LensUpgradeSummary) SetLensAlias(v string) *LensUpgradeSummary {
5434	s.LensAlias = &v
5435	return s
5436}
5437
5438// SetWorkloadId sets the WorkloadId field's value.
5439func (s *LensUpgradeSummary) SetWorkloadId(v string) *LensUpgradeSummary {
5440	s.WorkloadId = &v
5441	return s
5442}
5443
5444// SetWorkloadName sets the WorkloadName field's value.
5445func (s *LensUpgradeSummary) SetWorkloadName(v string) *LensUpgradeSummary {
5446	s.WorkloadName = &v
5447	return s
5448}
5449
5450// Input to list answers.
5451type ListAnswersInput struct {
5452	_ struct{} `type:"structure"`
5453
5454	// The alias of the lens, for example, serverless.
5455	//
5456	// Each lens is identified by its LensSummary$LensAlias.
5457	//
5458	// LensAlias is a required field
5459	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
5460
5461	// The maximum number of results to return for this request.
5462	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
5463
5464	// The milestone number.
5465	//
5466	// A workload can have a maximum of 100 milestones.
5467	MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"`
5468
5469	// The token to use to retrieve the next set of results.
5470	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
5471
5472	// The ID used to identify a pillar, for example, security.
5473	//
5474	// A pillar is identified by its PillarReviewSummary$PillarId.
5475	PillarId *string `location:"querystring" locationName:"PillarId" min:"1" type:"string"`
5476
5477	// The ID assigned to the workload. This ID is unique within an AWS Region.
5478	//
5479	// WorkloadId is a required field
5480	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
5481}
5482
5483// String returns the string representation
5484func (s ListAnswersInput) String() string {
5485	return awsutil.Prettify(s)
5486}
5487
5488// GoString returns the string representation
5489func (s ListAnswersInput) GoString() string {
5490	return s.String()
5491}
5492
5493// Validate inspects the fields of the type to determine if they are valid.
5494func (s *ListAnswersInput) Validate() error {
5495	invalidParams := request.ErrInvalidParams{Context: "ListAnswersInput"}
5496	if s.LensAlias == nil {
5497		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
5498	}
5499	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
5500		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
5501	}
5502	if s.MaxResults != nil && *s.MaxResults < 1 {
5503		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5504	}
5505	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
5506		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
5507	}
5508	if s.PillarId != nil && len(*s.PillarId) < 1 {
5509		invalidParams.Add(request.NewErrParamMinLen("PillarId", 1))
5510	}
5511	if s.WorkloadId == nil {
5512		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
5513	}
5514	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
5515		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
5516	}
5517
5518	if invalidParams.Len() > 0 {
5519		return invalidParams
5520	}
5521	return nil
5522}
5523
5524// SetLensAlias sets the LensAlias field's value.
5525func (s *ListAnswersInput) SetLensAlias(v string) *ListAnswersInput {
5526	s.LensAlias = &v
5527	return s
5528}
5529
5530// SetMaxResults sets the MaxResults field's value.
5531func (s *ListAnswersInput) SetMaxResults(v int64) *ListAnswersInput {
5532	s.MaxResults = &v
5533	return s
5534}
5535
5536// SetMilestoneNumber sets the MilestoneNumber field's value.
5537func (s *ListAnswersInput) SetMilestoneNumber(v int64) *ListAnswersInput {
5538	s.MilestoneNumber = &v
5539	return s
5540}
5541
5542// SetNextToken sets the NextToken field's value.
5543func (s *ListAnswersInput) SetNextToken(v string) *ListAnswersInput {
5544	s.NextToken = &v
5545	return s
5546}
5547
5548// SetPillarId sets the PillarId field's value.
5549func (s *ListAnswersInput) SetPillarId(v string) *ListAnswersInput {
5550	s.PillarId = &v
5551	return s
5552}
5553
5554// SetWorkloadId sets the WorkloadId field's value.
5555func (s *ListAnswersInput) SetWorkloadId(v string) *ListAnswersInput {
5556	s.WorkloadId = &v
5557	return s
5558}
5559
5560// Output of a list answers call.
5561type ListAnswersOutput struct {
5562	_ struct{} `type:"structure"`
5563
5564	// List of answer summaries of lens review in a workload.
5565	AnswerSummaries []*AnswerSummary `type:"list"`
5566
5567	// The alias of the lens, for example, serverless.
5568	//
5569	// Each lens is identified by its LensSummary$LensAlias.
5570	LensAlias *string `min:"1" type:"string"`
5571
5572	// The milestone number.
5573	//
5574	// A workload can have a maximum of 100 milestones.
5575	MilestoneNumber *int64 `min:"1" type:"integer"`
5576
5577	// The token to use to retrieve the next set of results.
5578	NextToken *string `type:"string"`
5579
5580	// The ID assigned to the workload. This ID is unique within an AWS Region.
5581	WorkloadId *string `type:"string"`
5582}
5583
5584// String returns the string representation
5585func (s ListAnswersOutput) String() string {
5586	return awsutil.Prettify(s)
5587}
5588
5589// GoString returns the string representation
5590func (s ListAnswersOutput) GoString() string {
5591	return s.String()
5592}
5593
5594// SetAnswerSummaries sets the AnswerSummaries field's value.
5595func (s *ListAnswersOutput) SetAnswerSummaries(v []*AnswerSummary) *ListAnswersOutput {
5596	s.AnswerSummaries = v
5597	return s
5598}
5599
5600// SetLensAlias sets the LensAlias field's value.
5601func (s *ListAnswersOutput) SetLensAlias(v string) *ListAnswersOutput {
5602	s.LensAlias = &v
5603	return s
5604}
5605
5606// SetMilestoneNumber sets the MilestoneNumber field's value.
5607func (s *ListAnswersOutput) SetMilestoneNumber(v int64) *ListAnswersOutput {
5608	s.MilestoneNumber = &v
5609	return s
5610}
5611
5612// SetNextToken sets the NextToken field's value.
5613func (s *ListAnswersOutput) SetNextToken(v string) *ListAnswersOutput {
5614	s.NextToken = &v
5615	return s
5616}
5617
5618// SetWorkloadId sets the WorkloadId field's value.
5619func (s *ListAnswersOutput) SetWorkloadId(v string) *ListAnswersOutput {
5620	s.WorkloadId = &v
5621	return s
5622}
5623
5624// Input to list lens review improvements.
5625type ListLensReviewImprovementsInput struct {
5626	_ struct{} `type:"structure"`
5627
5628	// The alias of the lens, for example, serverless.
5629	//
5630	// Each lens is identified by its LensSummary$LensAlias.
5631	//
5632	// LensAlias is a required field
5633	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
5634
5635	// The maximum number of results to return for this request.
5636	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
5637
5638	// The milestone number.
5639	//
5640	// A workload can have a maximum of 100 milestones.
5641	MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"`
5642
5643	// The token to use to retrieve the next set of results.
5644	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
5645
5646	// The ID used to identify a pillar, for example, security.
5647	//
5648	// A pillar is identified by its PillarReviewSummary$PillarId.
5649	PillarId *string `location:"querystring" locationName:"PillarId" min:"1" type:"string"`
5650
5651	// The ID assigned to the workload. This ID is unique within an AWS Region.
5652	//
5653	// WorkloadId is a required field
5654	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
5655}
5656
5657// String returns the string representation
5658func (s ListLensReviewImprovementsInput) String() string {
5659	return awsutil.Prettify(s)
5660}
5661
5662// GoString returns the string representation
5663func (s ListLensReviewImprovementsInput) GoString() string {
5664	return s.String()
5665}
5666
5667// Validate inspects the fields of the type to determine if they are valid.
5668func (s *ListLensReviewImprovementsInput) Validate() error {
5669	invalidParams := request.ErrInvalidParams{Context: "ListLensReviewImprovementsInput"}
5670	if s.LensAlias == nil {
5671		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
5672	}
5673	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
5674		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
5675	}
5676	if s.MaxResults != nil && *s.MaxResults < 1 {
5677		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5678	}
5679	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
5680		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
5681	}
5682	if s.PillarId != nil && len(*s.PillarId) < 1 {
5683		invalidParams.Add(request.NewErrParamMinLen("PillarId", 1))
5684	}
5685	if s.WorkloadId == nil {
5686		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
5687	}
5688	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
5689		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
5690	}
5691
5692	if invalidParams.Len() > 0 {
5693		return invalidParams
5694	}
5695	return nil
5696}
5697
5698// SetLensAlias sets the LensAlias field's value.
5699func (s *ListLensReviewImprovementsInput) SetLensAlias(v string) *ListLensReviewImprovementsInput {
5700	s.LensAlias = &v
5701	return s
5702}
5703
5704// SetMaxResults sets the MaxResults field's value.
5705func (s *ListLensReviewImprovementsInput) SetMaxResults(v int64) *ListLensReviewImprovementsInput {
5706	s.MaxResults = &v
5707	return s
5708}
5709
5710// SetMilestoneNumber sets the MilestoneNumber field's value.
5711func (s *ListLensReviewImprovementsInput) SetMilestoneNumber(v int64) *ListLensReviewImprovementsInput {
5712	s.MilestoneNumber = &v
5713	return s
5714}
5715
5716// SetNextToken sets the NextToken field's value.
5717func (s *ListLensReviewImprovementsInput) SetNextToken(v string) *ListLensReviewImprovementsInput {
5718	s.NextToken = &v
5719	return s
5720}
5721
5722// SetPillarId sets the PillarId field's value.
5723func (s *ListLensReviewImprovementsInput) SetPillarId(v string) *ListLensReviewImprovementsInput {
5724	s.PillarId = &v
5725	return s
5726}
5727
5728// SetWorkloadId sets the WorkloadId field's value.
5729func (s *ListLensReviewImprovementsInput) SetWorkloadId(v string) *ListLensReviewImprovementsInput {
5730	s.WorkloadId = &v
5731	return s
5732}
5733
5734// Output of a list lens review improvements call.
5735type ListLensReviewImprovementsOutput struct {
5736	_ struct{} `type:"structure"`
5737
5738	// List of improvement summaries of lens review in a workload.
5739	ImprovementSummaries []*ImprovementSummary `type:"list"`
5740
5741	// The alias of the lens, for example, serverless.
5742	//
5743	// Each lens is identified by its LensSummary$LensAlias.
5744	LensAlias *string `min:"1" type:"string"`
5745
5746	// The milestone number.
5747	//
5748	// A workload can have a maximum of 100 milestones.
5749	MilestoneNumber *int64 `min:"1" type:"integer"`
5750
5751	// The token to use to retrieve the next set of results.
5752	NextToken *string `type:"string"`
5753
5754	// The ID assigned to the workload. This ID is unique within an AWS Region.
5755	WorkloadId *string `type:"string"`
5756}
5757
5758// String returns the string representation
5759func (s ListLensReviewImprovementsOutput) String() string {
5760	return awsutil.Prettify(s)
5761}
5762
5763// GoString returns the string representation
5764func (s ListLensReviewImprovementsOutput) GoString() string {
5765	return s.String()
5766}
5767
5768// SetImprovementSummaries sets the ImprovementSummaries field's value.
5769func (s *ListLensReviewImprovementsOutput) SetImprovementSummaries(v []*ImprovementSummary) *ListLensReviewImprovementsOutput {
5770	s.ImprovementSummaries = v
5771	return s
5772}
5773
5774// SetLensAlias sets the LensAlias field's value.
5775func (s *ListLensReviewImprovementsOutput) SetLensAlias(v string) *ListLensReviewImprovementsOutput {
5776	s.LensAlias = &v
5777	return s
5778}
5779
5780// SetMilestoneNumber sets the MilestoneNumber field's value.
5781func (s *ListLensReviewImprovementsOutput) SetMilestoneNumber(v int64) *ListLensReviewImprovementsOutput {
5782	s.MilestoneNumber = &v
5783	return s
5784}
5785
5786// SetNextToken sets the NextToken field's value.
5787func (s *ListLensReviewImprovementsOutput) SetNextToken(v string) *ListLensReviewImprovementsOutput {
5788	s.NextToken = &v
5789	return s
5790}
5791
5792// SetWorkloadId sets the WorkloadId field's value.
5793func (s *ListLensReviewImprovementsOutput) SetWorkloadId(v string) *ListLensReviewImprovementsOutput {
5794	s.WorkloadId = &v
5795	return s
5796}
5797
5798// Input to list lens reviews.
5799type ListLensReviewsInput struct {
5800	_ struct{} `type:"structure"`
5801
5802	// The maximum number of results to return for this request.
5803	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
5804
5805	// The milestone number.
5806	//
5807	// A workload can have a maximum of 100 milestones.
5808	MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"`
5809
5810	// The token to use to retrieve the next set of results.
5811	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
5812
5813	// The ID assigned to the workload. This ID is unique within an AWS Region.
5814	//
5815	// WorkloadId is a required field
5816	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
5817}
5818
5819// String returns the string representation
5820func (s ListLensReviewsInput) String() string {
5821	return awsutil.Prettify(s)
5822}
5823
5824// GoString returns the string representation
5825func (s ListLensReviewsInput) GoString() string {
5826	return s.String()
5827}
5828
5829// Validate inspects the fields of the type to determine if they are valid.
5830func (s *ListLensReviewsInput) Validate() error {
5831	invalidParams := request.ErrInvalidParams{Context: "ListLensReviewsInput"}
5832	if s.MaxResults != nil && *s.MaxResults < 1 {
5833		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5834	}
5835	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
5836		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
5837	}
5838	if s.WorkloadId == nil {
5839		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
5840	}
5841	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
5842		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
5843	}
5844
5845	if invalidParams.Len() > 0 {
5846		return invalidParams
5847	}
5848	return nil
5849}
5850
5851// SetMaxResults sets the MaxResults field's value.
5852func (s *ListLensReviewsInput) SetMaxResults(v int64) *ListLensReviewsInput {
5853	s.MaxResults = &v
5854	return s
5855}
5856
5857// SetMilestoneNumber sets the MilestoneNumber field's value.
5858func (s *ListLensReviewsInput) SetMilestoneNumber(v int64) *ListLensReviewsInput {
5859	s.MilestoneNumber = &v
5860	return s
5861}
5862
5863// SetNextToken sets the NextToken field's value.
5864func (s *ListLensReviewsInput) SetNextToken(v string) *ListLensReviewsInput {
5865	s.NextToken = &v
5866	return s
5867}
5868
5869// SetWorkloadId sets the WorkloadId field's value.
5870func (s *ListLensReviewsInput) SetWorkloadId(v string) *ListLensReviewsInput {
5871	s.WorkloadId = &v
5872	return s
5873}
5874
5875// Output of a list lens reviews call.
5876type ListLensReviewsOutput struct {
5877	_ struct{} `type:"structure"`
5878
5879	// List of lens summaries of lens reviews of a workload.
5880	LensReviewSummaries []*LensReviewSummary `type:"list"`
5881
5882	// The milestone number.
5883	//
5884	// A workload can have a maximum of 100 milestones.
5885	MilestoneNumber *int64 `min:"1" type:"integer"`
5886
5887	// The token to use to retrieve the next set of results.
5888	NextToken *string `type:"string"`
5889
5890	// The ID assigned to the workload. This ID is unique within an AWS Region.
5891	WorkloadId *string `type:"string"`
5892}
5893
5894// String returns the string representation
5895func (s ListLensReviewsOutput) String() string {
5896	return awsutil.Prettify(s)
5897}
5898
5899// GoString returns the string representation
5900func (s ListLensReviewsOutput) GoString() string {
5901	return s.String()
5902}
5903
5904// SetLensReviewSummaries sets the LensReviewSummaries field's value.
5905func (s *ListLensReviewsOutput) SetLensReviewSummaries(v []*LensReviewSummary) *ListLensReviewsOutput {
5906	s.LensReviewSummaries = v
5907	return s
5908}
5909
5910// SetMilestoneNumber sets the MilestoneNumber field's value.
5911func (s *ListLensReviewsOutput) SetMilestoneNumber(v int64) *ListLensReviewsOutput {
5912	s.MilestoneNumber = &v
5913	return s
5914}
5915
5916// SetNextToken sets the NextToken field's value.
5917func (s *ListLensReviewsOutput) SetNextToken(v string) *ListLensReviewsOutput {
5918	s.NextToken = &v
5919	return s
5920}
5921
5922// SetWorkloadId sets the WorkloadId field's value.
5923func (s *ListLensReviewsOutput) SetWorkloadId(v string) *ListLensReviewsOutput {
5924	s.WorkloadId = &v
5925	return s
5926}
5927
5928// Input to list lenses.
5929type ListLensesInput struct {
5930	_ struct{} `type:"structure"`
5931
5932	// The maximum number of results to return for this request.
5933	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
5934
5935	// The token to use to retrieve the next set of results.
5936	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
5937}
5938
5939// String returns the string representation
5940func (s ListLensesInput) String() string {
5941	return awsutil.Prettify(s)
5942}
5943
5944// GoString returns the string representation
5945func (s ListLensesInput) GoString() string {
5946	return s.String()
5947}
5948
5949// Validate inspects the fields of the type to determine if they are valid.
5950func (s *ListLensesInput) Validate() error {
5951	invalidParams := request.ErrInvalidParams{Context: "ListLensesInput"}
5952	if s.MaxResults != nil && *s.MaxResults < 1 {
5953		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5954	}
5955
5956	if invalidParams.Len() > 0 {
5957		return invalidParams
5958	}
5959	return nil
5960}
5961
5962// SetMaxResults sets the MaxResults field's value.
5963func (s *ListLensesInput) SetMaxResults(v int64) *ListLensesInput {
5964	s.MaxResults = &v
5965	return s
5966}
5967
5968// SetNextToken sets the NextToken field's value.
5969func (s *ListLensesInput) SetNextToken(v string) *ListLensesInput {
5970	s.NextToken = &v
5971	return s
5972}
5973
5974// Output of a list lenses call.
5975type ListLensesOutput struct {
5976	_ struct{} `type:"structure"`
5977
5978	// List of lens summaries of available lenses.
5979	LensSummaries []*LensSummary `type:"list"`
5980
5981	// The token to use to retrieve the next set of results.
5982	NextToken *string `type:"string"`
5983}
5984
5985// String returns the string representation
5986func (s ListLensesOutput) String() string {
5987	return awsutil.Prettify(s)
5988}
5989
5990// GoString returns the string representation
5991func (s ListLensesOutput) GoString() string {
5992	return s.String()
5993}
5994
5995// SetLensSummaries sets the LensSummaries field's value.
5996func (s *ListLensesOutput) SetLensSummaries(v []*LensSummary) *ListLensesOutput {
5997	s.LensSummaries = v
5998	return s
5999}
6000
6001// SetNextToken sets the NextToken field's value.
6002func (s *ListLensesOutput) SetNextToken(v string) *ListLensesOutput {
6003	s.NextToken = &v
6004	return s
6005}
6006
6007// Input to list all milestones for a workload.
6008type ListMilestonesInput struct {
6009	_ struct{} `type:"structure"`
6010
6011	// The maximum number of results to return for this request.
6012	MaxResults *int64 `min:"1" type:"integer"`
6013
6014	// The token to use to retrieve the next set of results.
6015	NextToken *string `type:"string"`
6016
6017	// The ID assigned to the workload. This ID is unique within an AWS Region.
6018	//
6019	// WorkloadId is a required field
6020	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
6021}
6022
6023// String returns the string representation
6024func (s ListMilestonesInput) String() string {
6025	return awsutil.Prettify(s)
6026}
6027
6028// GoString returns the string representation
6029func (s ListMilestonesInput) GoString() string {
6030	return s.String()
6031}
6032
6033// Validate inspects the fields of the type to determine if they are valid.
6034func (s *ListMilestonesInput) Validate() error {
6035	invalidParams := request.ErrInvalidParams{Context: "ListMilestonesInput"}
6036	if s.MaxResults != nil && *s.MaxResults < 1 {
6037		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6038	}
6039	if s.WorkloadId == nil {
6040		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
6041	}
6042	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
6043		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
6044	}
6045
6046	if invalidParams.Len() > 0 {
6047		return invalidParams
6048	}
6049	return nil
6050}
6051
6052// SetMaxResults sets the MaxResults field's value.
6053func (s *ListMilestonesInput) SetMaxResults(v int64) *ListMilestonesInput {
6054	s.MaxResults = &v
6055	return s
6056}
6057
6058// SetNextToken sets the NextToken field's value.
6059func (s *ListMilestonesInput) SetNextToken(v string) *ListMilestonesInput {
6060	s.NextToken = &v
6061	return s
6062}
6063
6064// SetWorkloadId sets the WorkloadId field's value.
6065func (s *ListMilestonesInput) SetWorkloadId(v string) *ListMilestonesInput {
6066	s.WorkloadId = &v
6067	return s
6068}
6069
6070// Output of a list milestones call.
6071type ListMilestonesOutput struct {
6072	_ struct{} `type:"structure"`
6073
6074	// A list of milestone summaries.
6075	MilestoneSummaries []*MilestoneSummary `type:"list"`
6076
6077	// The token to use to retrieve the next set of results.
6078	NextToken *string `type:"string"`
6079
6080	// The ID assigned to the workload. This ID is unique within an AWS Region.
6081	WorkloadId *string `type:"string"`
6082}
6083
6084// String returns the string representation
6085func (s ListMilestonesOutput) String() string {
6086	return awsutil.Prettify(s)
6087}
6088
6089// GoString returns the string representation
6090func (s ListMilestonesOutput) GoString() string {
6091	return s.String()
6092}
6093
6094// SetMilestoneSummaries sets the MilestoneSummaries field's value.
6095func (s *ListMilestonesOutput) SetMilestoneSummaries(v []*MilestoneSummary) *ListMilestonesOutput {
6096	s.MilestoneSummaries = v
6097	return s
6098}
6099
6100// SetNextToken sets the NextToken field's value.
6101func (s *ListMilestonesOutput) SetNextToken(v string) *ListMilestonesOutput {
6102	s.NextToken = &v
6103	return s
6104}
6105
6106// SetWorkloadId sets the WorkloadId field's value.
6107func (s *ListMilestonesOutput) SetWorkloadId(v string) *ListMilestonesOutput {
6108	s.WorkloadId = &v
6109	return s
6110}
6111
6112type ListNotificationsInput struct {
6113	_ struct{} `type:"structure"`
6114
6115	// The maximum number of results to return for this request.
6116	MaxResults *int64 `min:"1" type:"integer"`
6117
6118	// The token to use to retrieve the next set of results.
6119	NextToken *string `type:"string"`
6120
6121	// The ID assigned to the workload. This ID is unique within an AWS Region.
6122	WorkloadId *string `type:"string"`
6123}
6124
6125// String returns the string representation
6126func (s ListNotificationsInput) String() string {
6127	return awsutil.Prettify(s)
6128}
6129
6130// GoString returns the string representation
6131func (s ListNotificationsInput) GoString() string {
6132	return s.String()
6133}
6134
6135// Validate inspects the fields of the type to determine if they are valid.
6136func (s *ListNotificationsInput) Validate() error {
6137	invalidParams := request.ErrInvalidParams{Context: "ListNotificationsInput"}
6138	if s.MaxResults != nil && *s.MaxResults < 1 {
6139		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6140	}
6141
6142	if invalidParams.Len() > 0 {
6143		return invalidParams
6144	}
6145	return nil
6146}
6147
6148// SetMaxResults sets the MaxResults field's value.
6149func (s *ListNotificationsInput) SetMaxResults(v int64) *ListNotificationsInput {
6150	s.MaxResults = &v
6151	return s
6152}
6153
6154// SetNextToken sets the NextToken field's value.
6155func (s *ListNotificationsInput) SetNextToken(v string) *ListNotificationsInput {
6156	s.NextToken = &v
6157	return s
6158}
6159
6160// SetWorkloadId sets the WorkloadId field's value.
6161func (s *ListNotificationsInput) SetWorkloadId(v string) *ListNotificationsInput {
6162	s.WorkloadId = &v
6163	return s
6164}
6165
6166type ListNotificationsOutput struct {
6167	_ struct{} `type:"structure"`
6168
6169	// The token to use to retrieve the next set of results.
6170	NextToken *string `type:"string"`
6171
6172	// List of lens notification summaries in a workload.
6173	NotificationSummaries []*NotificationSummary `type:"list"`
6174}
6175
6176// String returns the string representation
6177func (s ListNotificationsOutput) String() string {
6178	return awsutil.Prettify(s)
6179}
6180
6181// GoString returns the string representation
6182func (s ListNotificationsOutput) GoString() string {
6183	return s.String()
6184}
6185
6186// SetNextToken sets the NextToken field's value.
6187func (s *ListNotificationsOutput) SetNextToken(v string) *ListNotificationsOutput {
6188	s.NextToken = &v
6189	return s
6190}
6191
6192// SetNotificationSummaries sets the NotificationSummaries field's value.
6193func (s *ListNotificationsOutput) SetNotificationSummaries(v []*NotificationSummary) *ListNotificationsOutput {
6194	s.NotificationSummaries = v
6195	return s
6196}
6197
6198// Input for List Share Invitations
6199type ListShareInvitationsInput struct {
6200	_ struct{} `type:"structure"`
6201
6202	// The maximum number of results to return for this request.
6203	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
6204
6205	// The token to use to retrieve the next set of results.
6206	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
6207
6208	// An optional string added to the beginning of each workload name returned
6209	// in the results.
6210	WorkloadNamePrefix *string `location:"querystring" locationName:"WorkloadNamePrefix" type:"string"`
6211}
6212
6213// String returns the string representation
6214func (s ListShareInvitationsInput) String() string {
6215	return awsutil.Prettify(s)
6216}
6217
6218// GoString returns the string representation
6219func (s ListShareInvitationsInput) GoString() string {
6220	return s.String()
6221}
6222
6223// Validate inspects the fields of the type to determine if they are valid.
6224func (s *ListShareInvitationsInput) Validate() error {
6225	invalidParams := request.ErrInvalidParams{Context: "ListShareInvitationsInput"}
6226	if s.MaxResults != nil && *s.MaxResults < 1 {
6227		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6228	}
6229
6230	if invalidParams.Len() > 0 {
6231		return invalidParams
6232	}
6233	return nil
6234}
6235
6236// SetMaxResults sets the MaxResults field's value.
6237func (s *ListShareInvitationsInput) SetMaxResults(v int64) *ListShareInvitationsInput {
6238	s.MaxResults = &v
6239	return s
6240}
6241
6242// SetNextToken sets the NextToken field's value.
6243func (s *ListShareInvitationsInput) SetNextToken(v string) *ListShareInvitationsInput {
6244	s.NextToken = &v
6245	return s
6246}
6247
6248// SetWorkloadNamePrefix sets the WorkloadNamePrefix field's value.
6249func (s *ListShareInvitationsInput) SetWorkloadNamePrefix(v string) *ListShareInvitationsInput {
6250	s.WorkloadNamePrefix = &v
6251	return s
6252}
6253
6254// Input for List Share Invitations
6255type ListShareInvitationsOutput struct {
6256	_ struct{} `type:"structure"`
6257
6258	// The token to use to retrieve the next set of results.
6259	NextToken *string `type:"string"`
6260
6261	// List of share invitation summaries in a workload.
6262	ShareInvitationSummaries []*ShareInvitationSummary `type:"list"`
6263}
6264
6265// String returns the string representation
6266func (s ListShareInvitationsOutput) String() string {
6267	return awsutil.Prettify(s)
6268}
6269
6270// GoString returns the string representation
6271func (s ListShareInvitationsOutput) GoString() string {
6272	return s.String()
6273}
6274
6275// SetNextToken sets the NextToken field's value.
6276func (s *ListShareInvitationsOutput) SetNextToken(v string) *ListShareInvitationsOutput {
6277	s.NextToken = &v
6278	return s
6279}
6280
6281// SetShareInvitationSummaries sets the ShareInvitationSummaries field's value.
6282func (s *ListShareInvitationsOutput) SetShareInvitationSummaries(v []*ShareInvitationSummary) *ListShareInvitationsOutput {
6283	s.ShareInvitationSummaries = v
6284	return s
6285}
6286
6287// Input for List Workload Share
6288type ListWorkloadSharesInput struct {
6289	_ struct{} `type:"structure"`
6290
6291	// The maximum number of results to return for this request.
6292	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
6293
6294	// The token to use to retrieve the next set of results.
6295	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
6296
6297	// The AWS account ID or IAM role with which the workload is shared.
6298	SharedWithPrefix *string `location:"querystring" locationName:"SharedWithPrefix" type:"string"`
6299
6300	// The ID assigned to the workload. This ID is unique within an AWS Region.
6301	//
6302	// WorkloadId is a required field
6303	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
6304}
6305
6306// String returns the string representation
6307func (s ListWorkloadSharesInput) String() string {
6308	return awsutil.Prettify(s)
6309}
6310
6311// GoString returns the string representation
6312func (s ListWorkloadSharesInput) GoString() string {
6313	return s.String()
6314}
6315
6316// Validate inspects the fields of the type to determine if they are valid.
6317func (s *ListWorkloadSharesInput) Validate() error {
6318	invalidParams := request.ErrInvalidParams{Context: "ListWorkloadSharesInput"}
6319	if s.MaxResults != nil && *s.MaxResults < 1 {
6320		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6321	}
6322	if s.WorkloadId == nil {
6323		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
6324	}
6325	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
6326		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
6327	}
6328
6329	if invalidParams.Len() > 0 {
6330		return invalidParams
6331	}
6332	return nil
6333}
6334
6335// SetMaxResults sets the MaxResults field's value.
6336func (s *ListWorkloadSharesInput) SetMaxResults(v int64) *ListWorkloadSharesInput {
6337	s.MaxResults = &v
6338	return s
6339}
6340
6341// SetNextToken sets the NextToken field's value.
6342func (s *ListWorkloadSharesInput) SetNextToken(v string) *ListWorkloadSharesInput {
6343	s.NextToken = &v
6344	return s
6345}
6346
6347// SetSharedWithPrefix sets the SharedWithPrefix field's value.
6348func (s *ListWorkloadSharesInput) SetSharedWithPrefix(v string) *ListWorkloadSharesInput {
6349	s.SharedWithPrefix = &v
6350	return s
6351}
6352
6353// SetWorkloadId sets the WorkloadId field's value.
6354func (s *ListWorkloadSharesInput) SetWorkloadId(v string) *ListWorkloadSharesInput {
6355	s.WorkloadId = &v
6356	return s
6357}
6358
6359// Input for List Workload Share
6360type ListWorkloadSharesOutput struct {
6361	_ struct{} `type:"structure"`
6362
6363	// The token to use to retrieve the next set of results.
6364	NextToken *string `type:"string"`
6365
6366	// The ID assigned to the workload. This ID is unique within an AWS Region.
6367	WorkloadId *string `type:"string"`
6368
6369	// A list of workload share summaries.
6370	WorkloadShareSummaries []*WorkloadShareSummary `type:"list"`
6371}
6372
6373// String returns the string representation
6374func (s ListWorkloadSharesOutput) String() string {
6375	return awsutil.Prettify(s)
6376}
6377
6378// GoString returns the string representation
6379func (s ListWorkloadSharesOutput) GoString() string {
6380	return s.String()
6381}
6382
6383// SetNextToken sets the NextToken field's value.
6384func (s *ListWorkloadSharesOutput) SetNextToken(v string) *ListWorkloadSharesOutput {
6385	s.NextToken = &v
6386	return s
6387}
6388
6389// SetWorkloadId sets the WorkloadId field's value.
6390func (s *ListWorkloadSharesOutput) SetWorkloadId(v string) *ListWorkloadSharesOutput {
6391	s.WorkloadId = &v
6392	return s
6393}
6394
6395// SetWorkloadShareSummaries sets the WorkloadShareSummaries field's value.
6396func (s *ListWorkloadSharesOutput) SetWorkloadShareSummaries(v []*WorkloadShareSummary) *ListWorkloadSharesOutput {
6397	s.WorkloadShareSummaries = v
6398	return s
6399}
6400
6401// Input to list all workloads.
6402type ListWorkloadsInput struct {
6403	_ struct{} `type:"structure"`
6404
6405	// The maximum number of results to return for this request.
6406	MaxResults *int64 `min:"1" type:"integer"`
6407
6408	// The token to use to retrieve the next set of results.
6409	NextToken *string `type:"string"`
6410
6411	// An optional string added to the beginning of each workload name returned
6412	// in the results.
6413	WorkloadNamePrefix *string `type:"string"`
6414}
6415
6416// String returns the string representation
6417func (s ListWorkloadsInput) String() string {
6418	return awsutil.Prettify(s)
6419}
6420
6421// GoString returns the string representation
6422func (s ListWorkloadsInput) GoString() string {
6423	return s.String()
6424}
6425
6426// Validate inspects the fields of the type to determine if they are valid.
6427func (s *ListWorkloadsInput) Validate() error {
6428	invalidParams := request.ErrInvalidParams{Context: "ListWorkloadsInput"}
6429	if s.MaxResults != nil && *s.MaxResults < 1 {
6430		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6431	}
6432
6433	if invalidParams.Len() > 0 {
6434		return invalidParams
6435	}
6436	return nil
6437}
6438
6439// SetMaxResults sets the MaxResults field's value.
6440func (s *ListWorkloadsInput) SetMaxResults(v int64) *ListWorkloadsInput {
6441	s.MaxResults = &v
6442	return s
6443}
6444
6445// SetNextToken sets the NextToken field's value.
6446func (s *ListWorkloadsInput) SetNextToken(v string) *ListWorkloadsInput {
6447	s.NextToken = &v
6448	return s
6449}
6450
6451// SetWorkloadNamePrefix sets the WorkloadNamePrefix field's value.
6452func (s *ListWorkloadsInput) SetWorkloadNamePrefix(v string) *ListWorkloadsInput {
6453	s.WorkloadNamePrefix = &v
6454	return s
6455}
6456
6457// Output of a list workloads call.
6458type ListWorkloadsOutput struct {
6459	_ struct{} `type:"structure"`
6460
6461	// The token to use to retrieve the next set of results.
6462	NextToken *string `type:"string"`
6463
6464	// A list of workload summaries.
6465	WorkloadSummaries []*WorkloadSummary `type:"list"`
6466}
6467
6468// String returns the string representation
6469func (s ListWorkloadsOutput) String() string {
6470	return awsutil.Prettify(s)
6471}
6472
6473// GoString returns the string representation
6474func (s ListWorkloadsOutput) GoString() string {
6475	return s.String()
6476}
6477
6478// SetNextToken sets the NextToken field's value.
6479func (s *ListWorkloadsOutput) SetNextToken(v string) *ListWorkloadsOutput {
6480	s.NextToken = &v
6481	return s
6482}
6483
6484// SetWorkloadSummaries sets the WorkloadSummaries field's value.
6485func (s *ListWorkloadsOutput) SetWorkloadSummaries(v []*WorkloadSummary) *ListWorkloadsOutput {
6486	s.WorkloadSummaries = v
6487	return s
6488}
6489
6490// A milestone return object.
6491type Milestone struct {
6492	_ struct{} `type:"structure"`
6493
6494	// The name of the milestone in a workload.
6495	//
6496	// Milestone names must be unique within a workload.
6497	MilestoneName *string `min:"3" type:"string"`
6498
6499	// The milestone number.
6500	//
6501	// A workload can have a maximum of 100 milestones.
6502	MilestoneNumber *int64 `min:"1" type:"integer"`
6503
6504	// The date and time recorded.
6505	RecordedAt *time.Time `type:"timestamp"`
6506
6507	// A workload return object.
6508	Workload *Workload `type:"structure"`
6509}
6510
6511// String returns the string representation
6512func (s Milestone) String() string {
6513	return awsutil.Prettify(s)
6514}
6515
6516// GoString returns the string representation
6517func (s Milestone) GoString() string {
6518	return s.String()
6519}
6520
6521// SetMilestoneName sets the MilestoneName field's value.
6522func (s *Milestone) SetMilestoneName(v string) *Milestone {
6523	s.MilestoneName = &v
6524	return s
6525}
6526
6527// SetMilestoneNumber sets the MilestoneNumber field's value.
6528func (s *Milestone) SetMilestoneNumber(v int64) *Milestone {
6529	s.MilestoneNumber = &v
6530	return s
6531}
6532
6533// SetRecordedAt sets the RecordedAt field's value.
6534func (s *Milestone) SetRecordedAt(v time.Time) *Milestone {
6535	s.RecordedAt = &v
6536	return s
6537}
6538
6539// SetWorkload sets the Workload field's value.
6540func (s *Milestone) SetWorkload(v *Workload) *Milestone {
6541	s.Workload = v
6542	return s
6543}
6544
6545// A milestone summary return object.
6546type MilestoneSummary struct {
6547	_ struct{} `type:"structure"`
6548
6549	// The name of the milestone in a workload.
6550	//
6551	// Milestone names must be unique within a workload.
6552	MilestoneName *string `min:"3" type:"string"`
6553
6554	// The milestone number.
6555	//
6556	// A workload can have a maximum of 100 milestones.
6557	MilestoneNumber *int64 `min:"1" type:"integer"`
6558
6559	// The date and time recorded.
6560	RecordedAt *time.Time `type:"timestamp"`
6561
6562	// A workload summary return object.
6563	WorkloadSummary *WorkloadSummary `type:"structure"`
6564}
6565
6566// String returns the string representation
6567func (s MilestoneSummary) String() string {
6568	return awsutil.Prettify(s)
6569}
6570
6571// GoString returns the string representation
6572func (s MilestoneSummary) GoString() string {
6573	return s.String()
6574}
6575
6576// SetMilestoneName sets the MilestoneName field's value.
6577func (s *MilestoneSummary) SetMilestoneName(v string) *MilestoneSummary {
6578	s.MilestoneName = &v
6579	return s
6580}
6581
6582// SetMilestoneNumber sets the MilestoneNumber field's value.
6583func (s *MilestoneSummary) SetMilestoneNumber(v int64) *MilestoneSummary {
6584	s.MilestoneNumber = &v
6585	return s
6586}
6587
6588// SetRecordedAt sets the RecordedAt field's value.
6589func (s *MilestoneSummary) SetRecordedAt(v time.Time) *MilestoneSummary {
6590	s.RecordedAt = &v
6591	return s
6592}
6593
6594// SetWorkloadSummary sets the WorkloadSummary field's value.
6595func (s *MilestoneSummary) SetWorkloadSummary(v *WorkloadSummary) *MilestoneSummary {
6596	s.WorkloadSummary = v
6597	return s
6598}
6599
6600// A notification summary return object.
6601type NotificationSummary struct {
6602	_ struct{} `type:"structure"`
6603
6604	// Summary of lens upgrade.
6605	LensUpgradeSummary *LensUpgradeSummary `type:"structure"`
6606
6607	// The type of notification.
6608	Type *string `type:"string" enum:"NotificationType"`
6609}
6610
6611// String returns the string representation
6612func (s NotificationSummary) String() string {
6613	return awsutil.Prettify(s)
6614}
6615
6616// GoString returns the string representation
6617func (s NotificationSummary) GoString() string {
6618	return s.String()
6619}
6620
6621// SetLensUpgradeSummary sets the LensUpgradeSummary field's value.
6622func (s *NotificationSummary) SetLensUpgradeSummary(v *LensUpgradeSummary) *NotificationSummary {
6623	s.LensUpgradeSummary = v
6624	return s
6625}
6626
6627// SetType sets the Type field's value.
6628func (s *NotificationSummary) SetType(v string) *NotificationSummary {
6629	s.Type = &v
6630	return s
6631}
6632
6633// A pillar difference return object.
6634type PillarDifference struct {
6635	_ struct{} `type:"structure"`
6636
6637	// Indicates the type of change to the pillar.
6638	DifferenceStatus *string `type:"string" enum:"DifferenceStatus"`
6639
6640	// The ID used to identify a pillar, for example, security.
6641	//
6642	// A pillar is identified by its PillarReviewSummary$PillarId.
6643	PillarId *string `min:"1" type:"string"`
6644
6645	// List of question differences.
6646	QuestionDifferences []*QuestionDifference `type:"list"`
6647}
6648
6649// String returns the string representation
6650func (s PillarDifference) String() string {
6651	return awsutil.Prettify(s)
6652}
6653
6654// GoString returns the string representation
6655func (s PillarDifference) GoString() string {
6656	return s.String()
6657}
6658
6659// SetDifferenceStatus sets the DifferenceStatus field's value.
6660func (s *PillarDifference) SetDifferenceStatus(v string) *PillarDifference {
6661	s.DifferenceStatus = &v
6662	return s
6663}
6664
6665// SetPillarId sets the PillarId field's value.
6666func (s *PillarDifference) SetPillarId(v string) *PillarDifference {
6667	s.PillarId = &v
6668	return s
6669}
6670
6671// SetQuestionDifferences sets the QuestionDifferences field's value.
6672func (s *PillarDifference) SetQuestionDifferences(v []*QuestionDifference) *PillarDifference {
6673	s.QuestionDifferences = v
6674	return s
6675}
6676
6677// A pillar review summary of a lens review.
6678type PillarReviewSummary struct {
6679	_ struct{} `type:"structure"`
6680
6681	// The notes associated with the workload.
6682	Notes *string `type:"string"`
6683
6684	// The ID used to identify a pillar, for example, security.
6685	//
6686	// A pillar is identified by its PillarReviewSummary$PillarId.
6687	PillarId *string `min:"1" type:"string"`
6688
6689	// The name of the pillar.
6690	PillarName *string `min:"1" type:"string"`
6691
6692	// A map from risk names to the count of how questions have that rating.
6693	RiskCounts map[string]*int64 `type:"map"`
6694}
6695
6696// String returns the string representation
6697func (s PillarReviewSummary) String() string {
6698	return awsutil.Prettify(s)
6699}
6700
6701// GoString returns the string representation
6702func (s PillarReviewSummary) GoString() string {
6703	return s.String()
6704}
6705
6706// SetNotes sets the Notes field's value.
6707func (s *PillarReviewSummary) SetNotes(v string) *PillarReviewSummary {
6708	s.Notes = &v
6709	return s
6710}
6711
6712// SetPillarId sets the PillarId field's value.
6713func (s *PillarReviewSummary) SetPillarId(v string) *PillarReviewSummary {
6714	s.PillarId = &v
6715	return s
6716}
6717
6718// SetPillarName sets the PillarName field's value.
6719func (s *PillarReviewSummary) SetPillarName(v string) *PillarReviewSummary {
6720	s.PillarName = &v
6721	return s
6722}
6723
6724// SetRiskCounts sets the RiskCounts field's value.
6725func (s *PillarReviewSummary) SetRiskCounts(v map[string]*int64) *PillarReviewSummary {
6726	s.RiskCounts = v
6727	return s
6728}
6729
6730// A question difference return object.
6731type QuestionDifference struct {
6732	_ struct{} `type:"structure"`
6733
6734	// Indicates the type of change to the question.
6735	DifferenceStatus *string `type:"string" enum:"DifferenceStatus"`
6736
6737	// The ID of the question.
6738	QuestionId *string `min:"1" type:"string"`
6739
6740	// The title of the question.
6741	QuestionTitle *string `min:"1" type:"string"`
6742}
6743
6744// String returns the string representation
6745func (s QuestionDifference) String() string {
6746	return awsutil.Prettify(s)
6747}
6748
6749// GoString returns the string representation
6750func (s QuestionDifference) GoString() string {
6751	return s.String()
6752}
6753
6754// SetDifferenceStatus sets the DifferenceStatus field's value.
6755func (s *QuestionDifference) SetDifferenceStatus(v string) *QuestionDifference {
6756	s.DifferenceStatus = &v
6757	return s
6758}
6759
6760// SetQuestionId sets the QuestionId field's value.
6761func (s *QuestionDifference) SetQuestionId(v string) *QuestionDifference {
6762	s.QuestionId = &v
6763	return s
6764}
6765
6766// SetQuestionTitle sets the QuestionTitle field's value.
6767func (s *QuestionDifference) SetQuestionTitle(v string) *QuestionDifference {
6768	s.QuestionTitle = &v
6769	return s
6770}
6771
6772// The requested resource was not found.
6773type ResourceNotFoundException struct {
6774	_            struct{}                  `type:"structure"`
6775	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6776
6777	// Description of the error.
6778	Message_ *string `locationName:"Message" type:"string"`
6779
6780	// Identifier of the resource affected.
6781	//
6782	// ResourceId is a required field
6783	ResourceId *string `type:"string" required:"true"`
6784
6785	// Type of the resource affected.
6786	//
6787	// ResourceType is a required field
6788	ResourceType *string `type:"string" required:"true"`
6789}
6790
6791// String returns the string representation
6792func (s ResourceNotFoundException) String() string {
6793	return awsutil.Prettify(s)
6794}
6795
6796// GoString returns the string representation
6797func (s ResourceNotFoundException) GoString() string {
6798	return s.String()
6799}
6800
6801func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
6802	return &ResourceNotFoundException{
6803		RespMetadata: v,
6804	}
6805}
6806
6807// Code returns the exception type name.
6808func (s *ResourceNotFoundException) Code() string {
6809	return "ResourceNotFoundException"
6810}
6811
6812// Message returns the exception's message.
6813func (s *ResourceNotFoundException) Message() string {
6814	if s.Message_ != nil {
6815		return *s.Message_
6816	}
6817	return ""
6818}
6819
6820// OrigErr always returns nil, satisfies awserr.Error interface.
6821func (s *ResourceNotFoundException) OrigErr() error {
6822	return nil
6823}
6824
6825func (s *ResourceNotFoundException) Error() string {
6826	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6827}
6828
6829// Status code returns the HTTP status code for the request's response error.
6830func (s *ResourceNotFoundException) StatusCode() int {
6831	return s.RespMetadata.StatusCode
6832}
6833
6834// RequestID returns the service's response RequestID for request.
6835func (s *ResourceNotFoundException) RequestID() string {
6836	return s.RespMetadata.RequestID
6837}
6838
6839// The user has reached their resource quota.
6840type ServiceQuotaExceededException struct {
6841	_            struct{}                  `type:"structure"`
6842	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6843
6844	// Description of the error.
6845	Message_ *string `locationName:"Message" type:"string"`
6846
6847	// Service Quotas requirement to identify originating quota.
6848	//
6849	// QuotaCode is a required field
6850	QuotaCode *string `type:"string" required:"true"`
6851
6852	// Identifier of the resource affected.
6853	ResourceId *string `type:"string"`
6854
6855	// Type of the resource affected.
6856	ResourceType *string `type:"string"`
6857
6858	// Service Quotas requirement to identify originating service.
6859	//
6860	// ServiceCode is a required field
6861	ServiceCode *string `type:"string" required:"true"`
6862}
6863
6864// String returns the string representation
6865func (s ServiceQuotaExceededException) String() string {
6866	return awsutil.Prettify(s)
6867}
6868
6869// GoString returns the string representation
6870func (s ServiceQuotaExceededException) GoString() string {
6871	return s.String()
6872}
6873
6874func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
6875	return &ServiceQuotaExceededException{
6876		RespMetadata: v,
6877	}
6878}
6879
6880// Code returns the exception type name.
6881func (s *ServiceQuotaExceededException) Code() string {
6882	return "ServiceQuotaExceededException"
6883}
6884
6885// Message returns the exception's message.
6886func (s *ServiceQuotaExceededException) Message() string {
6887	if s.Message_ != nil {
6888		return *s.Message_
6889	}
6890	return ""
6891}
6892
6893// OrigErr always returns nil, satisfies awserr.Error interface.
6894func (s *ServiceQuotaExceededException) OrigErr() error {
6895	return nil
6896}
6897
6898func (s *ServiceQuotaExceededException) Error() string {
6899	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6900}
6901
6902// Status code returns the HTTP status code for the request's response error.
6903func (s *ServiceQuotaExceededException) StatusCode() int {
6904	return s.RespMetadata.StatusCode
6905}
6906
6907// RequestID returns the service's response RequestID for request.
6908func (s *ServiceQuotaExceededException) RequestID() string {
6909	return s.RespMetadata.RequestID
6910}
6911
6912// The share invitation.
6913type ShareInvitation struct {
6914	_ struct{} `type:"structure"`
6915
6916	// The ID assigned to the share invitation.
6917	ShareInvitationId *string `type:"string"`
6918
6919	// The ID assigned to the workload. This ID is unique within an AWS Region.
6920	WorkloadId *string `type:"string"`
6921}
6922
6923// String returns the string representation
6924func (s ShareInvitation) String() string {
6925	return awsutil.Prettify(s)
6926}
6927
6928// GoString returns the string representation
6929func (s ShareInvitation) GoString() string {
6930	return s.String()
6931}
6932
6933// SetShareInvitationId sets the ShareInvitationId field's value.
6934func (s *ShareInvitation) SetShareInvitationId(v string) *ShareInvitation {
6935	s.ShareInvitationId = &v
6936	return s
6937}
6938
6939// SetWorkloadId sets the WorkloadId field's value.
6940func (s *ShareInvitation) SetWorkloadId(v string) *ShareInvitation {
6941	s.WorkloadId = &v
6942	return s
6943}
6944
6945// A share invitation summary return object.
6946type ShareInvitationSummary struct {
6947	_ struct{} `type:"structure"`
6948
6949	// Permission granted on a workload share.
6950	PermissionType *string `type:"string" enum:"PermissionType"`
6951
6952	// The ID assigned to the share invitation.
6953	ShareInvitationId *string `type:"string"`
6954
6955	// An AWS account ID.
6956	SharedBy *string `type:"string"`
6957
6958	// The AWS account ID or IAM role with which the workload is shared.
6959	SharedWith *string `min:"12" type:"string"`
6960
6961	// The ID assigned to the workload. This ID is unique within an AWS Region.
6962	WorkloadId *string `type:"string"`
6963
6964	// The name of the workload.
6965	//
6966	// The name must be unique within an account within a Region. Spaces and capitalization
6967	// are ignored when checking for uniqueness.
6968	WorkloadName *string `min:"3" type:"string"`
6969}
6970
6971// String returns the string representation
6972func (s ShareInvitationSummary) String() string {
6973	return awsutil.Prettify(s)
6974}
6975
6976// GoString returns the string representation
6977func (s ShareInvitationSummary) GoString() string {
6978	return s.String()
6979}
6980
6981// SetPermissionType sets the PermissionType field's value.
6982func (s *ShareInvitationSummary) SetPermissionType(v string) *ShareInvitationSummary {
6983	s.PermissionType = &v
6984	return s
6985}
6986
6987// SetShareInvitationId sets the ShareInvitationId field's value.
6988func (s *ShareInvitationSummary) SetShareInvitationId(v string) *ShareInvitationSummary {
6989	s.ShareInvitationId = &v
6990	return s
6991}
6992
6993// SetSharedBy sets the SharedBy field's value.
6994func (s *ShareInvitationSummary) SetSharedBy(v string) *ShareInvitationSummary {
6995	s.SharedBy = &v
6996	return s
6997}
6998
6999// SetSharedWith sets the SharedWith field's value.
7000func (s *ShareInvitationSummary) SetSharedWith(v string) *ShareInvitationSummary {
7001	s.SharedWith = &v
7002	return s
7003}
7004
7005// SetWorkloadId sets the WorkloadId field's value.
7006func (s *ShareInvitationSummary) SetWorkloadId(v string) *ShareInvitationSummary {
7007	s.WorkloadId = &v
7008	return s
7009}
7010
7011// SetWorkloadName sets the WorkloadName field's value.
7012func (s *ShareInvitationSummary) SetWorkloadName(v string) *ShareInvitationSummary {
7013	s.WorkloadName = &v
7014	return s
7015}
7016
7017// Request was denied due to request throttling.
7018type ThrottlingException struct {
7019	_            struct{}                  `type:"structure"`
7020	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7021
7022	// Description of the error.
7023	Message_ *string `locationName:"Message" type:"string"`
7024
7025	// Service Quotas requirement to identify originating quota.
7026	QuotaCode *string `type:"string"`
7027
7028	// Service Quotas requirement to identify originating service.
7029	ServiceCode *string `type:"string"`
7030}
7031
7032// String returns the string representation
7033func (s ThrottlingException) String() string {
7034	return awsutil.Prettify(s)
7035}
7036
7037// GoString returns the string representation
7038func (s ThrottlingException) GoString() string {
7039	return s.String()
7040}
7041
7042func newErrorThrottlingException(v protocol.ResponseMetadata) error {
7043	return &ThrottlingException{
7044		RespMetadata: v,
7045	}
7046}
7047
7048// Code returns the exception type name.
7049func (s *ThrottlingException) Code() string {
7050	return "ThrottlingException"
7051}
7052
7053// Message returns the exception's message.
7054func (s *ThrottlingException) Message() string {
7055	if s.Message_ != nil {
7056		return *s.Message_
7057	}
7058	return ""
7059}
7060
7061// OrigErr always returns nil, satisfies awserr.Error interface.
7062func (s *ThrottlingException) OrigErr() error {
7063	return nil
7064}
7065
7066func (s *ThrottlingException) Error() string {
7067	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7068}
7069
7070// Status code returns the HTTP status code for the request's response error.
7071func (s *ThrottlingException) StatusCode() int {
7072	return s.RespMetadata.StatusCode
7073}
7074
7075// RequestID returns the service's response RequestID for request.
7076func (s *ThrottlingException) RequestID() string {
7077	return s.RespMetadata.RequestID
7078}
7079
7080// Input to update answer.
7081type UpdateAnswerInput struct {
7082	_ struct{} `type:"structure"`
7083
7084	// Defines whether this question is applicable to a lens review.
7085	IsApplicable *bool `type:"boolean"`
7086
7087	// The alias of the lens, for example, serverless.
7088	//
7089	// Each lens is identified by its LensSummary$LensAlias.
7090	//
7091	// LensAlias is a required field
7092	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
7093
7094	// The notes associated with the workload.
7095	Notes *string `type:"string"`
7096
7097	// The ID of the question.
7098	//
7099	// QuestionId is a required field
7100	QuestionId *string `location:"uri" locationName:"QuestionId" min:"1" type:"string" required:"true"`
7101
7102	// List of selected choice IDs in a question answer.
7103	//
7104	// The values entered replace the previously selected choices.
7105	SelectedChoices []*string `type:"list"`
7106
7107	// The ID assigned to the workload. This ID is unique within an AWS Region.
7108	//
7109	// WorkloadId is a required field
7110	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
7111}
7112
7113// String returns the string representation
7114func (s UpdateAnswerInput) String() string {
7115	return awsutil.Prettify(s)
7116}
7117
7118// GoString returns the string representation
7119func (s UpdateAnswerInput) GoString() string {
7120	return s.String()
7121}
7122
7123// Validate inspects the fields of the type to determine if they are valid.
7124func (s *UpdateAnswerInput) Validate() error {
7125	invalidParams := request.ErrInvalidParams{Context: "UpdateAnswerInput"}
7126	if s.LensAlias == nil {
7127		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
7128	}
7129	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
7130		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
7131	}
7132	if s.QuestionId == nil {
7133		invalidParams.Add(request.NewErrParamRequired("QuestionId"))
7134	}
7135	if s.QuestionId != nil && len(*s.QuestionId) < 1 {
7136		invalidParams.Add(request.NewErrParamMinLen("QuestionId", 1))
7137	}
7138	if s.WorkloadId == nil {
7139		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
7140	}
7141	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
7142		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
7143	}
7144
7145	if invalidParams.Len() > 0 {
7146		return invalidParams
7147	}
7148	return nil
7149}
7150
7151// SetIsApplicable sets the IsApplicable field's value.
7152func (s *UpdateAnswerInput) SetIsApplicable(v bool) *UpdateAnswerInput {
7153	s.IsApplicable = &v
7154	return s
7155}
7156
7157// SetLensAlias sets the LensAlias field's value.
7158func (s *UpdateAnswerInput) SetLensAlias(v string) *UpdateAnswerInput {
7159	s.LensAlias = &v
7160	return s
7161}
7162
7163// SetNotes sets the Notes field's value.
7164func (s *UpdateAnswerInput) SetNotes(v string) *UpdateAnswerInput {
7165	s.Notes = &v
7166	return s
7167}
7168
7169// SetQuestionId sets the QuestionId field's value.
7170func (s *UpdateAnswerInput) SetQuestionId(v string) *UpdateAnswerInput {
7171	s.QuestionId = &v
7172	return s
7173}
7174
7175// SetSelectedChoices sets the SelectedChoices field's value.
7176func (s *UpdateAnswerInput) SetSelectedChoices(v []*string) *UpdateAnswerInput {
7177	s.SelectedChoices = v
7178	return s
7179}
7180
7181// SetWorkloadId sets the WorkloadId field's value.
7182func (s *UpdateAnswerInput) SetWorkloadId(v string) *UpdateAnswerInput {
7183	s.WorkloadId = &v
7184	return s
7185}
7186
7187// Output of a update answer call.
7188type UpdateAnswerOutput struct {
7189	_ struct{} `type:"structure"`
7190
7191	// An answer of the question.
7192	Answer *Answer `type:"structure"`
7193
7194	// The alias of the lens, for example, serverless.
7195	//
7196	// Each lens is identified by its LensSummary$LensAlias.
7197	LensAlias *string `min:"1" type:"string"`
7198
7199	// The ID assigned to the workload. This ID is unique within an AWS Region.
7200	WorkloadId *string `type:"string"`
7201}
7202
7203// String returns the string representation
7204func (s UpdateAnswerOutput) String() string {
7205	return awsutil.Prettify(s)
7206}
7207
7208// GoString returns the string representation
7209func (s UpdateAnswerOutput) GoString() string {
7210	return s.String()
7211}
7212
7213// SetAnswer sets the Answer field's value.
7214func (s *UpdateAnswerOutput) SetAnswer(v *Answer) *UpdateAnswerOutput {
7215	s.Answer = v
7216	return s
7217}
7218
7219// SetLensAlias sets the LensAlias field's value.
7220func (s *UpdateAnswerOutput) SetLensAlias(v string) *UpdateAnswerOutput {
7221	s.LensAlias = &v
7222	return s
7223}
7224
7225// SetWorkloadId sets the WorkloadId field's value.
7226func (s *UpdateAnswerOutput) SetWorkloadId(v string) *UpdateAnswerOutput {
7227	s.WorkloadId = &v
7228	return s
7229}
7230
7231// Input for update lens review.
7232type UpdateLensReviewInput struct {
7233	_ struct{} `type:"structure"`
7234
7235	// The alias of the lens, for example, serverless.
7236	//
7237	// Each lens is identified by its LensSummary$LensAlias.
7238	//
7239	// LensAlias is a required field
7240	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
7241
7242	// The notes associated with the workload.
7243	LensNotes *string `type:"string"`
7244
7245	// List of pillar notes of a lens review in a workload.
7246	PillarNotes map[string]*string `type:"map"`
7247
7248	// The ID assigned to the workload. This ID is unique within an AWS Region.
7249	//
7250	// WorkloadId is a required field
7251	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
7252}
7253
7254// String returns the string representation
7255func (s UpdateLensReviewInput) String() string {
7256	return awsutil.Prettify(s)
7257}
7258
7259// GoString returns the string representation
7260func (s UpdateLensReviewInput) GoString() string {
7261	return s.String()
7262}
7263
7264// Validate inspects the fields of the type to determine if they are valid.
7265func (s *UpdateLensReviewInput) Validate() error {
7266	invalidParams := request.ErrInvalidParams{Context: "UpdateLensReviewInput"}
7267	if s.LensAlias == nil {
7268		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
7269	}
7270	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
7271		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
7272	}
7273	if s.WorkloadId == nil {
7274		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
7275	}
7276	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
7277		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
7278	}
7279
7280	if invalidParams.Len() > 0 {
7281		return invalidParams
7282	}
7283	return nil
7284}
7285
7286// SetLensAlias sets the LensAlias field's value.
7287func (s *UpdateLensReviewInput) SetLensAlias(v string) *UpdateLensReviewInput {
7288	s.LensAlias = &v
7289	return s
7290}
7291
7292// SetLensNotes sets the LensNotes field's value.
7293func (s *UpdateLensReviewInput) SetLensNotes(v string) *UpdateLensReviewInput {
7294	s.LensNotes = &v
7295	return s
7296}
7297
7298// SetPillarNotes sets the PillarNotes field's value.
7299func (s *UpdateLensReviewInput) SetPillarNotes(v map[string]*string) *UpdateLensReviewInput {
7300	s.PillarNotes = v
7301	return s
7302}
7303
7304// SetWorkloadId sets the WorkloadId field's value.
7305func (s *UpdateLensReviewInput) SetWorkloadId(v string) *UpdateLensReviewInput {
7306	s.WorkloadId = &v
7307	return s
7308}
7309
7310// Output of a update lens review call.
7311type UpdateLensReviewOutput struct {
7312	_ struct{} `type:"structure"`
7313
7314	// A lens review of a question.
7315	LensReview *LensReview `type:"structure"`
7316
7317	// The ID assigned to the workload. This ID is unique within an AWS Region.
7318	WorkloadId *string `type:"string"`
7319}
7320
7321// String returns the string representation
7322func (s UpdateLensReviewOutput) String() string {
7323	return awsutil.Prettify(s)
7324}
7325
7326// GoString returns the string representation
7327func (s UpdateLensReviewOutput) GoString() string {
7328	return s.String()
7329}
7330
7331// SetLensReview sets the LensReview field's value.
7332func (s *UpdateLensReviewOutput) SetLensReview(v *LensReview) *UpdateLensReviewOutput {
7333	s.LensReview = v
7334	return s
7335}
7336
7337// SetWorkloadId sets the WorkloadId field's value.
7338func (s *UpdateLensReviewOutput) SetWorkloadId(v string) *UpdateLensReviewOutput {
7339	s.WorkloadId = &v
7340	return s
7341}
7342
7343// Input for Update Share Invitation
7344type UpdateShareInvitationInput struct {
7345	_ struct{} `type:"structure"`
7346
7347	// Share invitation action taken by contributor.
7348	//
7349	// ShareInvitationAction is a required field
7350	ShareInvitationAction *string `type:"string" required:"true" enum:"ShareInvitationAction"`
7351
7352	// The ID assigned to the share invitation.
7353	//
7354	// ShareInvitationId is a required field
7355	ShareInvitationId *string `location:"uri" locationName:"ShareInvitationId" type:"string" required:"true"`
7356}
7357
7358// String returns the string representation
7359func (s UpdateShareInvitationInput) String() string {
7360	return awsutil.Prettify(s)
7361}
7362
7363// GoString returns the string representation
7364func (s UpdateShareInvitationInput) GoString() string {
7365	return s.String()
7366}
7367
7368// Validate inspects the fields of the type to determine if they are valid.
7369func (s *UpdateShareInvitationInput) Validate() error {
7370	invalidParams := request.ErrInvalidParams{Context: "UpdateShareInvitationInput"}
7371	if s.ShareInvitationAction == nil {
7372		invalidParams.Add(request.NewErrParamRequired("ShareInvitationAction"))
7373	}
7374	if s.ShareInvitationId == nil {
7375		invalidParams.Add(request.NewErrParamRequired("ShareInvitationId"))
7376	}
7377	if s.ShareInvitationId != nil && len(*s.ShareInvitationId) < 1 {
7378		invalidParams.Add(request.NewErrParamMinLen("ShareInvitationId", 1))
7379	}
7380
7381	if invalidParams.Len() > 0 {
7382		return invalidParams
7383	}
7384	return nil
7385}
7386
7387// SetShareInvitationAction sets the ShareInvitationAction field's value.
7388func (s *UpdateShareInvitationInput) SetShareInvitationAction(v string) *UpdateShareInvitationInput {
7389	s.ShareInvitationAction = &v
7390	return s
7391}
7392
7393// SetShareInvitationId sets the ShareInvitationId field's value.
7394func (s *UpdateShareInvitationInput) SetShareInvitationId(v string) *UpdateShareInvitationInput {
7395	s.ShareInvitationId = &v
7396	return s
7397}
7398
7399type UpdateShareInvitationOutput struct {
7400	_ struct{} `type:"structure"`
7401
7402	// The updated workload share invitation.
7403	ShareInvitation *ShareInvitation `type:"structure"`
7404}
7405
7406// String returns the string representation
7407func (s UpdateShareInvitationOutput) String() string {
7408	return awsutil.Prettify(s)
7409}
7410
7411// GoString returns the string representation
7412func (s UpdateShareInvitationOutput) GoString() string {
7413	return s.String()
7414}
7415
7416// SetShareInvitation sets the ShareInvitation field's value.
7417func (s *UpdateShareInvitationOutput) SetShareInvitation(v *ShareInvitation) *UpdateShareInvitationOutput {
7418	s.ShareInvitation = v
7419	return s
7420}
7421
7422// Input to update a workload.
7423type UpdateWorkloadInput struct {
7424	_ struct{} `type:"structure"`
7425
7426	// The list of AWS account IDs associated with the workload.
7427	AccountIds []*string `type:"list"`
7428
7429	// The URL of the architectural design for the workload.
7430	ArchitecturalDesign *string `type:"string"`
7431
7432	// The list of AWS Regions associated with the workload, for example, us-east-2,
7433	// or ca-central-1.
7434	AwsRegions []*string `type:"list"`
7435
7436	// The description for the workload.
7437	Description *string `min:"3" type:"string"`
7438
7439	// The environment for the workload.
7440	Environment *string `type:"string" enum:"WorkloadEnvironment"`
7441
7442	// The improvement status for a workload.
7443	ImprovementStatus *string `type:"string" enum:"WorkloadImprovementStatus"`
7444
7445	// The industry for the workload.
7446	Industry *string `type:"string"`
7447
7448	// The industry type for the workload.
7449	//
7450	// If specified, must be one of the following:
7451	//
7452	//    * Agriculture
7453	//
7454	//    * Automobile
7455	//
7456	//    * Defense
7457	//
7458	//    * Design and Engineering
7459	//
7460	//    * Digital Advertising
7461	//
7462	//    * Education
7463	//
7464	//    * Environmental Protection
7465	//
7466	//    * Financial Services
7467	//
7468	//    * Gaming
7469	//
7470	//    * General Public Services
7471	//
7472	//    * Healthcare
7473	//
7474	//    * Hospitality
7475	//
7476	//    * InfoTech
7477	//
7478	//    * Justice and Public Safety
7479	//
7480	//    * Life Sciences
7481	//
7482	//    * Manufacturing
7483	//
7484	//    * Media & Entertainment
7485	//
7486	//    * Mining & Resources
7487	//
7488	//    * Oil & Gas
7489	//
7490	//    * Power & Utilities
7491	//
7492	//    * Professional Services
7493	//
7494	//    * Real Estate & Construction
7495	//
7496	//    * Retail & Wholesale
7497	//
7498	//    * Social Protection
7499	//
7500	//    * Telecommunications
7501	//
7502	//    * Travel, Transportation & Logistics
7503	//
7504	//    * Other
7505	IndustryType *string `type:"string"`
7506
7507	// Flag indicating whether the workload owner has acknowledged that the Review
7508	// owner field is required.
7509	//
7510	// If a Review owner is not added to the workload within 60 days of acknowledgement,
7511	// access to the workload is restricted until an owner is added.
7512	IsReviewOwnerUpdateAcknowledged *bool `type:"boolean"`
7513
7514	// The list of non-AWS Regions associated with the workload.
7515	NonAwsRegions []*string `type:"list"`
7516
7517	// The notes associated with the workload.
7518	Notes *string `type:"string"`
7519
7520	// The priorities of the pillars, which are used to order items in the improvement
7521	// plan. Each pillar is represented by its PillarReviewSummary$PillarId.
7522	PillarPriorities []*string `type:"list"`
7523
7524	// The review owner of the workload. The name, email address, or identifier
7525	// for the primary group or individual that owns the workload review process.
7526	ReviewOwner *string `min:"3" type:"string"`
7527
7528	// The ID assigned to the workload. This ID is unique within an AWS Region.
7529	//
7530	// WorkloadId is a required field
7531	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
7532
7533	// The name of the workload.
7534	//
7535	// The name must be unique within an account within a Region. Spaces and capitalization
7536	// are ignored when checking for uniqueness.
7537	WorkloadName *string `min:"3" type:"string"`
7538}
7539
7540// String returns the string representation
7541func (s UpdateWorkloadInput) String() string {
7542	return awsutil.Prettify(s)
7543}
7544
7545// GoString returns the string representation
7546func (s UpdateWorkloadInput) GoString() string {
7547	return s.String()
7548}
7549
7550// Validate inspects the fields of the type to determine if they are valid.
7551func (s *UpdateWorkloadInput) Validate() error {
7552	invalidParams := request.ErrInvalidParams{Context: "UpdateWorkloadInput"}
7553	if s.Description != nil && len(*s.Description) < 3 {
7554		invalidParams.Add(request.NewErrParamMinLen("Description", 3))
7555	}
7556	if s.ReviewOwner != nil && len(*s.ReviewOwner) < 3 {
7557		invalidParams.Add(request.NewErrParamMinLen("ReviewOwner", 3))
7558	}
7559	if s.WorkloadId == nil {
7560		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
7561	}
7562	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
7563		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
7564	}
7565	if s.WorkloadName != nil && len(*s.WorkloadName) < 3 {
7566		invalidParams.Add(request.NewErrParamMinLen("WorkloadName", 3))
7567	}
7568
7569	if invalidParams.Len() > 0 {
7570		return invalidParams
7571	}
7572	return nil
7573}
7574
7575// SetAccountIds sets the AccountIds field's value.
7576func (s *UpdateWorkloadInput) SetAccountIds(v []*string) *UpdateWorkloadInput {
7577	s.AccountIds = v
7578	return s
7579}
7580
7581// SetArchitecturalDesign sets the ArchitecturalDesign field's value.
7582func (s *UpdateWorkloadInput) SetArchitecturalDesign(v string) *UpdateWorkloadInput {
7583	s.ArchitecturalDesign = &v
7584	return s
7585}
7586
7587// SetAwsRegions sets the AwsRegions field's value.
7588func (s *UpdateWorkloadInput) SetAwsRegions(v []*string) *UpdateWorkloadInput {
7589	s.AwsRegions = v
7590	return s
7591}
7592
7593// SetDescription sets the Description field's value.
7594func (s *UpdateWorkloadInput) SetDescription(v string) *UpdateWorkloadInput {
7595	s.Description = &v
7596	return s
7597}
7598
7599// SetEnvironment sets the Environment field's value.
7600func (s *UpdateWorkloadInput) SetEnvironment(v string) *UpdateWorkloadInput {
7601	s.Environment = &v
7602	return s
7603}
7604
7605// SetImprovementStatus sets the ImprovementStatus field's value.
7606func (s *UpdateWorkloadInput) SetImprovementStatus(v string) *UpdateWorkloadInput {
7607	s.ImprovementStatus = &v
7608	return s
7609}
7610
7611// SetIndustry sets the Industry field's value.
7612func (s *UpdateWorkloadInput) SetIndustry(v string) *UpdateWorkloadInput {
7613	s.Industry = &v
7614	return s
7615}
7616
7617// SetIndustryType sets the IndustryType field's value.
7618func (s *UpdateWorkloadInput) SetIndustryType(v string) *UpdateWorkloadInput {
7619	s.IndustryType = &v
7620	return s
7621}
7622
7623// SetIsReviewOwnerUpdateAcknowledged sets the IsReviewOwnerUpdateAcknowledged field's value.
7624func (s *UpdateWorkloadInput) SetIsReviewOwnerUpdateAcknowledged(v bool) *UpdateWorkloadInput {
7625	s.IsReviewOwnerUpdateAcknowledged = &v
7626	return s
7627}
7628
7629// SetNonAwsRegions sets the NonAwsRegions field's value.
7630func (s *UpdateWorkloadInput) SetNonAwsRegions(v []*string) *UpdateWorkloadInput {
7631	s.NonAwsRegions = v
7632	return s
7633}
7634
7635// SetNotes sets the Notes field's value.
7636func (s *UpdateWorkloadInput) SetNotes(v string) *UpdateWorkloadInput {
7637	s.Notes = &v
7638	return s
7639}
7640
7641// SetPillarPriorities sets the PillarPriorities field's value.
7642func (s *UpdateWorkloadInput) SetPillarPriorities(v []*string) *UpdateWorkloadInput {
7643	s.PillarPriorities = v
7644	return s
7645}
7646
7647// SetReviewOwner sets the ReviewOwner field's value.
7648func (s *UpdateWorkloadInput) SetReviewOwner(v string) *UpdateWorkloadInput {
7649	s.ReviewOwner = &v
7650	return s
7651}
7652
7653// SetWorkloadId sets the WorkloadId field's value.
7654func (s *UpdateWorkloadInput) SetWorkloadId(v string) *UpdateWorkloadInput {
7655	s.WorkloadId = &v
7656	return s
7657}
7658
7659// SetWorkloadName sets the WorkloadName field's value.
7660func (s *UpdateWorkloadInput) SetWorkloadName(v string) *UpdateWorkloadInput {
7661	s.WorkloadName = &v
7662	return s
7663}
7664
7665// Output of an update workload call.
7666type UpdateWorkloadOutput struct {
7667	_ struct{} `type:"structure"`
7668
7669	// A workload return object.
7670	Workload *Workload `type:"structure"`
7671}
7672
7673// String returns the string representation
7674func (s UpdateWorkloadOutput) String() string {
7675	return awsutil.Prettify(s)
7676}
7677
7678// GoString returns the string representation
7679func (s UpdateWorkloadOutput) GoString() string {
7680	return s.String()
7681}
7682
7683// SetWorkload sets the Workload field's value.
7684func (s *UpdateWorkloadOutput) SetWorkload(v *Workload) *UpdateWorkloadOutput {
7685	s.Workload = v
7686	return s
7687}
7688
7689// Input for Update Workload Share
7690type UpdateWorkloadShareInput struct {
7691	_ struct{} `type:"structure"`
7692
7693	// Permission granted on a workload share.
7694	//
7695	// PermissionType is a required field
7696	PermissionType *string `type:"string" required:"true" enum:"PermissionType"`
7697
7698	// The ID associated with the workload share.
7699	//
7700	// ShareId is a required field
7701	ShareId *string `location:"uri" locationName:"ShareId" type:"string" required:"true"`
7702
7703	// The ID assigned to the workload. This ID is unique within an AWS Region.
7704	//
7705	// WorkloadId is a required field
7706	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
7707}
7708
7709// String returns the string representation
7710func (s UpdateWorkloadShareInput) String() string {
7711	return awsutil.Prettify(s)
7712}
7713
7714// GoString returns the string representation
7715func (s UpdateWorkloadShareInput) GoString() string {
7716	return s.String()
7717}
7718
7719// Validate inspects the fields of the type to determine if they are valid.
7720func (s *UpdateWorkloadShareInput) Validate() error {
7721	invalidParams := request.ErrInvalidParams{Context: "UpdateWorkloadShareInput"}
7722	if s.PermissionType == nil {
7723		invalidParams.Add(request.NewErrParamRequired("PermissionType"))
7724	}
7725	if s.ShareId == nil {
7726		invalidParams.Add(request.NewErrParamRequired("ShareId"))
7727	}
7728	if s.ShareId != nil && len(*s.ShareId) < 1 {
7729		invalidParams.Add(request.NewErrParamMinLen("ShareId", 1))
7730	}
7731	if s.WorkloadId == nil {
7732		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
7733	}
7734	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
7735		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
7736	}
7737
7738	if invalidParams.Len() > 0 {
7739		return invalidParams
7740	}
7741	return nil
7742}
7743
7744// SetPermissionType sets the PermissionType field's value.
7745func (s *UpdateWorkloadShareInput) SetPermissionType(v string) *UpdateWorkloadShareInput {
7746	s.PermissionType = &v
7747	return s
7748}
7749
7750// SetShareId sets the ShareId field's value.
7751func (s *UpdateWorkloadShareInput) SetShareId(v string) *UpdateWorkloadShareInput {
7752	s.ShareId = &v
7753	return s
7754}
7755
7756// SetWorkloadId sets the WorkloadId field's value.
7757func (s *UpdateWorkloadShareInput) SetWorkloadId(v string) *UpdateWorkloadShareInput {
7758	s.WorkloadId = &v
7759	return s
7760}
7761
7762// Input for Update Workload Share
7763type UpdateWorkloadShareOutput struct {
7764	_ struct{} `type:"structure"`
7765
7766	// The ID assigned to the workload. This ID is unique within an AWS Region.
7767	WorkloadId *string `type:"string"`
7768
7769	// A workload share return object.
7770	WorkloadShare *WorkloadShare `type:"structure"`
7771}
7772
7773// String returns the string representation
7774func (s UpdateWorkloadShareOutput) String() string {
7775	return awsutil.Prettify(s)
7776}
7777
7778// GoString returns the string representation
7779func (s UpdateWorkloadShareOutput) GoString() string {
7780	return s.String()
7781}
7782
7783// SetWorkloadId sets the WorkloadId field's value.
7784func (s *UpdateWorkloadShareOutput) SetWorkloadId(v string) *UpdateWorkloadShareOutput {
7785	s.WorkloadId = &v
7786	return s
7787}
7788
7789// SetWorkloadShare sets the WorkloadShare field's value.
7790func (s *UpdateWorkloadShareOutput) SetWorkloadShare(v *WorkloadShare) *UpdateWorkloadShareOutput {
7791	s.WorkloadShare = v
7792	return s
7793}
7794
7795type UpgradeLensReviewInput struct {
7796	_ struct{} `type:"structure"`
7797
7798	// A unique case-sensitive string used to ensure that this request is idempotent
7799	// (executes only once).
7800	//
7801	// You should not reuse the same token for other requests. If you retry a request
7802	// with the same client request token and the same parameters after it has completed
7803	// successfully, the result of the original request is returned.
7804	//
7805	// This token is listed as required, however, if you do not specify it, the
7806	// AWS SDKs automatically generate one for you. If you are not using the AWS
7807	// SDK or the AWS CLI, you must provide this token or the request will fail.
7808	ClientRequestToken *string `type:"string"`
7809
7810	// The alias of the lens, for example, serverless.
7811	//
7812	// Each lens is identified by its LensSummary$LensAlias.
7813	//
7814	// LensAlias is a required field
7815	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
7816
7817	// The name of the milestone in a workload.
7818	//
7819	// Milestone names must be unique within a workload.
7820	//
7821	// MilestoneName is a required field
7822	MilestoneName *string `min:"3" type:"string" required:"true"`
7823
7824	// The ID assigned to the workload. This ID is unique within an AWS Region.
7825	//
7826	// WorkloadId is a required field
7827	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
7828}
7829
7830// String returns the string representation
7831func (s UpgradeLensReviewInput) String() string {
7832	return awsutil.Prettify(s)
7833}
7834
7835// GoString returns the string representation
7836func (s UpgradeLensReviewInput) GoString() string {
7837	return s.String()
7838}
7839
7840// Validate inspects the fields of the type to determine if they are valid.
7841func (s *UpgradeLensReviewInput) Validate() error {
7842	invalidParams := request.ErrInvalidParams{Context: "UpgradeLensReviewInput"}
7843	if s.LensAlias == nil {
7844		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
7845	}
7846	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
7847		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
7848	}
7849	if s.MilestoneName == nil {
7850		invalidParams.Add(request.NewErrParamRequired("MilestoneName"))
7851	}
7852	if s.MilestoneName != nil && len(*s.MilestoneName) < 3 {
7853		invalidParams.Add(request.NewErrParamMinLen("MilestoneName", 3))
7854	}
7855	if s.WorkloadId == nil {
7856		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
7857	}
7858	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
7859		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
7860	}
7861
7862	if invalidParams.Len() > 0 {
7863		return invalidParams
7864	}
7865	return nil
7866}
7867
7868// SetClientRequestToken sets the ClientRequestToken field's value.
7869func (s *UpgradeLensReviewInput) SetClientRequestToken(v string) *UpgradeLensReviewInput {
7870	s.ClientRequestToken = &v
7871	return s
7872}
7873
7874// SetLensAlias sets the LensAlias field's value.
7875func (s *UpgradeLensReviewInput) SetLensAlias(v string) *UpgradeLensReviewInput {
7876	s.LensAlias = &v
7877	return s
7878}
7879
7880// SetMilestoneName sets the MilestoneName field's value.
7881func (s *UpgradeLensReviewInput) SetMilestoneName(v string) *UpgradeLensReviewInput {
7882	s.MilestoneName = &v
7883	return s
7884}
7885
7886// SetWorkloadId sets the WorkloadId field's value.
7887func (s *UpgradeLensReviewInput) SetWorkloadId(v string) *UpgradeLensReviewInput {
7888	s.WorkloadId = &v
7889	return s
7890}
7891
7892type UpgradeLensReviewOutput struct {
7893	_ struct{} `type:"structure"`
7894}
7895
7896// String returns the string representation
7897func (s UpgradeLensReviewOutput) String() string {
7898	return awsutil.Prettify(s)
7899}
7900
7901// GoString returns the string representation
7902func (s UpgradeLensReviewOutput) GoString() string {
7903	return s.String()
7904}
7905
7906// The user input is not valid.
7907type ValidationException struct {
7908	_            struct{}                  `type:"structure"`
7909	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7910
7911	// The fields that caused the error, if applicable.
7912	Fields []*ValidationExceptionField `type:"list"`
7913
7914	// Description of the error.
7915	Message_ *string `locationName:"Message" type:"string"`
7916
7917	// The reason why the request failed validation.
7918	Reason *string `type:"string" enum:"ValidationExceptionReason"`
7919}
7920
7921// String returns the string representation
7922func (s ValidationException) String() string {
7923	return awsutil.Prettify(s)
7924}
7925
7926// GoString returns the string representation
7927func (s ValidationException) GoString() string {
7928	return s.String()
7929}
7930
7931func newErrorValidationException(v protocol.ResponseMetadata) error {
7932	return &ValidationException{
7933		RespMetadata: v,
7934	}
7935}
7936
7937// Code returns the exception type name.
7938func (s *ValidationException) Code() string {
7939	return "ValidationException"
7940}
7941
7942// Message returns the exception's message.
7943func (s *ValidationException) Message() string {
7944	if s.Message_ != nil {
7945		return *s.Message_
7946	}
7947	return ""
7948}
7949
7950// OrigErr always returns nil, satisfies awserr.Error interface.
7951func (s *ValidationException) OrigErr() error {
7952	return nil
7953}
7954
7955func (s *ValidationException) Error() string {
7956	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7957}
7958
7959// Status code returns the HTTP status code for the request's response error.
7960func (s *ValidationException) StatusCode() int {
7961	return s.RespMetadata.StatusCode
7962}
7963
7964// RequestID returns the service's response RequestID for request.
7965func (s *ValidationException) RequestID() string {
7966	return s.RespMetadata.RequestID
7967}
7968
7969// Stores information about a field passed inside a request that resulted in
7970// an exception.
7971type ValidationExceptionField struct {
7972	_ struct{} `type:"structure"`
7973
7974	// Description of the error.
7975	//
7976	// Message is a required field
7977	Message *string `type:"string" required:"true"`
7978
7979	// The field name for which validation failed.
7980	//
7981	// Name is a required field
7982	Name *string `type:"string" required:"true"`
7983}
7984
7985// String returns the string representation
7986func (s ValidationExceptionField) String() string {
7987	return awsutil.Prettify(s)
7988}
7989
7990// GoString returns the string representation
7991func (s ValidationExceptionField) GoString() string {
7992	return s.String()
7993}
7994
7995// SetMessage sets the Message field's value.
7996func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
7997	s.Message = &v
7998	return s
7999}
8000
8001// SetName sets the Name field's value.
8002func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
8003	s.Name = &v
8004	return s
8005}
8006
8007// The differences between the base and latest versions of the lens.
8008type VersionDifferences struct {
8009	_ struct{} `type:"structure"`
8010
8011	// The differences between the base and latest versions of the lens.
8012	PillarDifferences []*PillarDifference `type:"list"`
8013}
8014
8015// String returns the string representation
8016func (s VersionDifferences) String() string {
8017	return awsutil.Prettify(s)
8018}
8019
8020// GoString returns the string representation
8021func (s VersionDifferences) GoString() string {
8022	return s.String()
8023}
8024
8025// SetPillarDifferences sets the PillarDifferences field's value.
8026func (s *VersionDifferences) SetPillarDifferences(v []*PillarDifference) *VersionDifferences {
8027	s.PillarDifferences = v
8028	return s
8029}
8030
8031// A workload return object.
8032type Workload struct {
8033	_ struct{} `type:"structure"`
8034
8035	// The list of AWS account IDs associated with the workload.
8036	AccountIds []*string `type:"list"`
8037
8038	// The URL of the architectural design for the workload.
8039	ArchitecturalDesign *string `type:"string"`
8040
8041	// The list of AWS Regions associated with the workload, for example, us-east-2,
8042	// or ca-central-1.
8043	AwsRegions []*string `type:"list"`
8044
8045	// The description for the workload.
8046	Description *string `min:"3" type:"string"`
8047
8048	// The environment for the workload.
8049	Environment *string `type:"string" enum:"WorkloadEnvironment"`
8050
8051	// The improvement status for a workload.
8052	ImprovementStatus *string `type:"string" enum:"WorkloadImprovementStatus"`
8053
8054	// The industry for the workload.
8055	Industry *string `type:"string"`
8056
8057	// The industry type for the workload.
8058	//
8059	// If specified, must be one of the following:
8060	//
8061	//    * Agriculture
8062	//
8063	//    * Automobile
8064	//
8065	//    * Defense
8066	//
8067	//    * Design and Engineering
8068	//
8069	//    * Digital Advertising
8070	//
8071	//    * Education
8072	//
8073	//    * Environmental Protection
8074	//
8075	//    * Financial Services
8076	//
8077	//    * Gaming
8078	//
8079	//    * General Public Services
8080	//
8081	//    * Healthcare
8082	//
8083	//    * Hospitality
8084	//
8085	//    * InfoTech
8086	//
8087	//    * Justice and Public Safety
8088	//
8089	//    * Life Sciences
8090	//
8091	//    * Manufacturing
8092	//
8093	//    * Media & Entertainment
8094	//
8095	//    * Mining & Resources
8096	//
8097	//    * Oil & Gas
8098	//
8099	//    * Power & Utilities
8100	//
8101	//    * Professional Services
8102	//
8103	//    * Real Estate & Construction
8104	//
8105	//    * Retail & Wholesale
8106	//
8107	//    * Social Protection
8108	//
8109	//    * Telecommunications
8110	//
8111	//    * Travel, Transportation & Logistics
8112	//
8113	//    * Other
8114	IndustryType *string `type:"string"`
8115
8116	// Flag indicating whether the workload owner has acknowledged that the Review
8117	// owner field is required.
8118	//
8119	// If a Review owner is not added to the workload within 60 days of acknowledgement,
8120	// access to the workload is restricted until an owner is added.
8121	IsReviewOwnerUpdateAcknowledged *bool `type:"boolean"`
8122
8123	// The list of lenses associated with the workload. Each lens is identified
8124	// by its LensSummary$LensAlias.
8125	Lenses []*string `type:"list"`
8126
8127	// The list of non-AWS Regions associated with the workload.
8128	NonAwsRegions []*string `type:"list"`
8129
8130	// The notes associated with the workload.
8131	Notes *string `type:"string"`
8132
8133	// An AWS account ID.
8134	Owner *string `type:"string"`
8135
8136	// The priorities of the pillars, which are used to order items in the improvement
8137	// plan. Each pillar is represented by its PillarReviewSummary$PillarId.
8138	PillarPriorities []*string `type:"list"`
8139
8140	// The review owner of the workload. The name, email address, or identifier
8141	// for the primary group or individual that owns the workload review process.
8142	ReviewOwner *string `min:"3" type:"string"`
8143
8144	// The date and time recorded.
8145	ReviewRestrictionDate *time.Time `type:"timestamp"`
8146
8147	// A map from risk names to the count of how questions have that rating.
8148	RiskCounts map[string]*int64 `type:"map"`
8149
8150	// The ID assigned to the share invitation.
8151	ShareInvitationId *string `type:"string"`
8152
8153	// The date and time recorded.
8154	UpdatedAt *time.Time `type:"timestamp"`
8155
8156	// The ARN for the workload.
8157	WorkloadArn *string `type:"string"`
8158
8159	// The ID assigned to the workload. This ID is unique within an AWS Region.
8160	WorkloadId *string `type:"string"`
8161
8162	// The name of the workload.
8163	//
8164	// The name must be unique within an account within a Region. Spaces and capitalization
8165	// are ignored when checking for uniqueness.
8166	WorkloadName *string `min:"3" type:"string"`
8167}
8168
8169// String returns the string representation
8170func (s Workload) String() string {
8171	return awsutil.Prettify(s)
8172}
8173
8174// GoString returns the string representation
8175func (s Workload) GoString() string {
8176	return s.String()
8177}
8178
8179// SetAccountIds sets the AccountIds field's value.
8180func (s *Workload) SetAccountIds(v []*string) *Workload {
8181	s.AccountIds = v
8182	return s
8183}
8184
8185// SetArchitecturalDesign sets the ArchitecturalDesign field's value.
8186func (s *Workload) SetArchitecturalDesign(v string) *Workload {
8187	s.ArchitecturalDesign = &v
8188	return s
8189}
8190
8191// SetAwsRegions sets the AwsRegions field's value.
8192func (s *Workload) SetAwsRegions(v []*string) *Workload {
8193	s.AwsRegions = v
8194	return s
8195}
8196
8197// SetDescription sets the Description field's value.
8198func (s *Workload) SetDescription(v string) *Workload {
8199	s.Description = &v
8200	return s
8201}
8202
8203// SetEnvironment sets the Environment field's value.
8204func (s *Workload) SetEnvironment(v string) *Workload {
8205	s.Environment = &v
8206	return s
8207}
8208
8209// SetImprovementStatus sets the ImprovementStatus field's value.
8210func (s *Workload) SetImprovementStatus(v string) *Workload {
8211	s.ImprovementStatus = &v
8212	return s
8213}
8214
8215// SetIndustry sets the Industry field's value.
8216func (s *Workload) SetIndustry(v string) *Workload {
8217	s.Industry = &v
8218	return s
8219}
8220
8221// SetIndustryType sets the IndustryType field's value.
8222func (s *Workload) SetIndustryType(v string) *Workload {
8223	s.IndustryType = &v
8224	return s
8225}
8226
8227// SetIsReviewOwnerUpdateAcknowledged sets the IsReviewOwnerUpdateAcknowledged field's value.
8228func (s *Workload) SetIsReviewOwnerUpdateAcknowledged(v bool) *Workload {
8229	s.IsReviewOwnerUpdateAcknowledged = &v
8230	return s
8231}
8232
8233// SetLenses sets the Lenses field's value.
8234func (s *Workload) SetLenses(v []*string) *Workload {
8235	s.Lenses = v
8236	return s
8237}
8238
8239// SetNonAwsRegions sets the NonAwsRegions field's value.
8240func (s *Workload) SetNonAwsRegions(v []*string) *Workload {
8241	s.NonAwsRegions = v
8242	return s
8243}
8244
8245// SetNotes sets the Notes field's value.
8246func (s *Workload) SetNotes(v string) *Workload {
8247	s.Notes = &v
8248	return s
8249}
8250
8251// SetOwner sets the Owner field's value.
8252func (s *Workload) SetOwner(v string) *Workload {
8253	s.Owner = &v
8254	return s
8255}
8256
8257// SetPillarPriorities sets the PillarPriorities field's value.
8258func (s *Workload) SetPillarPriorities(v []*string) *Workload {
8259	s.PillarPriorities = v
8260	return s
8261}
8262
8263// SetReviewOwner sets the ReviewOwner field's value.
8264func (s *Workload) SetReviewOwner(v string) *Workload {
8265	s.ReviewOwner = &v
8266	return s
8267}
8268
8269// SetReviewRestrictionDate sets the ReviewRestrictionDate field's value.
8270func (s *Workload) SetReviewRestrictionDate(v time.Time) *Workload {
8271	s.ReviewRestrictionDate = &v
8272	return s
8273}
8274
8275// SetRiskCounts sets the RiskCounts field's value.
8276func (s *Workload) SetRiskCounts(v map[string]*int64) *Workload {
8277	s.RiskCounts = v
8278	return s
8279}
8280
8281// SetShareInvitationId sets the ShareInvitationId field's value.
8282func (s *Workload) SetShareInvitationId(v string) *Workload {
8283	s.ShareInvitationId = &v
8284	return s
8285}
8286
8287// SetUpdatedAt sets the UpdatedAt field's value.
8288func (s *Workload) SetUpdatedAt(v time.Time) *Workload {
8289	s.UpdatedAt = &v
8290	return s
8291}
8292
8293// SetWorkloadArn sets the WorkloadArn field's value.
8294func (s *Workload) SetWorkloadArn(v string) *Workload {
8295	s.WorkloadArn = &v
8296	return s
8297}
8298
8299// SetWorkloadId sets the WorkloadId field's value.
8300func (s *Workload) SetWorkloadId(v string) *Workload {
8301	s.WorkloadId = &v
8302	return s
8303}
8304
8305// SetWorkloadName sets the WorkloadName field's value.
8306func (s *Workload) SetWorkloadName(v string) *Workload {
8307	s.WorkloadName = &v
8308	return s
8309}
8310
8311// A workload share return object.
8312type WorkloadShare struct {
8313	_ struct{} `type:"structure"`
8314
8315	// Permission granted on a workload share.
8316	PermissionType *string `type:"string" enum:"PermissionType"`
8317
8318	// The ID associated with the workload share.
8319	ShareId *string `type:"string"`
8320
8321	// An AWS account ID.
8322	SharedBy *string `type:"string"`
8323
8324	// The AWS account ID or IAM role with which the workload is shared.
8325	SharedWith *string `min:"12" type:"string"`
8326
8327	// The status of a workload share.
8328	Status *string `type:"string" enum:"ShareStatus"`
8329
8330	// The ID assigned to the workload. This ID is unique within an AWS Region.
8331	WorkloadId *string `type:"string"`
8332
8333	// The name of the workload.
8334	//
8335	// The name must be unique within an account within a Region. Spaces and capitalization
8336	// are ignored when checking for uniqueness.
8337	WorkloadName *string `min:"3" type:"string"`
8338}
8339
8340// String returns the string representation
8341func (s WorkloadShare) String() string {
8342	return awsutil.Prettify(s)
8343}
8344
8345// GoString returns the string representation
8346func (s WorkloadShare) GoString() string {
8347	return s.String()
8348}
8349
8350// SetPermissionType sets the PermissionType field's value.
8351func (s *WorkloadShare) SetPermissionType(v string) *WorkloadShare {
8352	s.PermissionType = &v
8353	return s
8354}
8355
8356// SetShareId sets the ShareId field's value.
8357func (s *WorkloadShare) SetShareId(v string) *WorkloadShare {
8358	s.ShareId = &v
8359	return s
8360}
8361
8362// SetSharedBy sets the SharedBy field's value.
8363func (s *WorkloadShare) SetSharedBy(v string) *WorkloadShare {
8364	s.SharedBy = &v
8365	return s
8366}
8367
8368// SetSharedWith sets the SharedWith field's value.
8369func (s *WorkloadShare) SetSharedWith(v string) *WorkloadShare {
8370	s.SharedWith = &v
8371	return s
8372}
8373
8374// SetStatus sets the Status field's value.
8375func (s *WorkloadShare) SetStatus(v string) *WorkloadShare {
8376	s.Status = &v
8377	return s
8378}
8379
8380// SetWorkloadId sets the WorkloadId field's value.
8381func (s *WorkloadShare) SetWorkloadId(v string) *WorkloadShare {
8382	s.WorkloadId = &v
8383	return s
8384}
8385
8386// SetWorkloadName sets the WorkloadName field's value.
8387func (s *WorkloadShare) SetWorkloadName(v string) *WorkloadShare {
8388	s.WorkloadName = &v
8389	return s
8390}
8391
8392// A workload share summary return object.
8393type WorkloadShareSummary struct {
8394	_ struct{} `type:"structure"`
8395
8396	// Permission granted on a workload share.
8397	PermissionType *string `type:"string" enum:"PermissionType"`
8398
8399	// The ID associated with the workload share.
8400	ShareId *string `type:"string"`
8401
8402	// The AWS account ID or IAM role with which the workload is shared.
8403	SharedWith *string `min:"12" type:"string"`
8404
8405	// The status of a workload share.
8406	Status *string `type:"string" enum:"ShareStatus"`
8407}
8408
8409// String returns the string representation
8410func (s WorkloadShareSummary) String() string {
8411	return awsutil.Prettify(s)
8412}
8413
8414// GoString returns the string representation
8415func (s WorkloadShareSummary) GoString() string {
8416	return s.String()
8417}
8418
8419// SetPermissionType sets the PermissionType field's value.
8420func (s *WorkloadShareSummary) SetPermissionType(v string) *WorkloadShareSummary {
8421	s.PermissionType = &v
8422	return s
8423}
8424
8425// SetShareId sets the ShareId field's value.
8426func (s *WorkloadShareSummary) SetShareId(v string) *WorkloadShareSummary {
8427	s.ShareId = &v
8428	return s
8429}
8430
8431// SetSharedWith sets the SharedWith field's value.
8432func (s *WorkloadShareSummary) SetSharedWith(v string) *WorkloadShareSummary {
8433	s.SharedWith = &v
8434	return s
8435}
8436
8437// SetStatus sets the Status field's value.
8438func (s *WorkloadShareSummary) SetStatus(v string) *WorkloadShareSummary {
8439	s.Status = &v
8440	return s
8441}
8442
8443// A workload summary return object.
8444type WorkloadSummary struct {
8445	_ struct{} `type:"structure"`
8446
8447	// The improvement status for a workload.
8448	ImprovementStatus *string `type:"string" enum:"WorkloadImprovementStatus"`
8449
8450	// The list of lenses associated with the workload. Each lens is identified
8451	// by its LensSummary$LensAlias.
8452	Lenses []*string `type:"list"`
8453
8454	// An AWS account ID.
8455	Owner *string `type:"string"`
8456
8457	// A map from risk names to the count of how questions have that rating.
8458	RiskCounts map[string]*int64 `type:"map"`
8459
8460	// The date and time recorded.
8461	UpdatedAt *time.Time `type:"timestamp"`
8462
8463	// The ARN for the workload.
8464	WorkloadArn *string `type:"string"`
8465
8466	// The ID assigned to the workload. This ID is unique within an AWS Region.
8467	WorkloadId *string `type:"string"`
8468
8469	// The name of the workload.
8470	//
8471	// The name must be unique within an account within a Region. Spaces and capitalization
8472	// are ignored when checking for uniqueness.
8473	WorkloadName *string `min:"3" type:"string"`
8474}
8475
8476// String returns the string representation
8477func (s WorkloadSummary) String() string {
8478	return awsutil.Prettify(s)
8479}
8480
8481// GoString returns the string representation
8482func (s WorkloadSummary) GoString() string {
8483	return s.String()
8484}
8485
8486// SetImprovementStatus sets the ImprovementStatus field's value.
8487func (s *WorkloadSummary) SetImprovementStatus(v string) *WorkloadSummary {
8488	s.ImprovementStatus = &v
8489	return s
8490}
8491
8492// SetLenses sets the Lenses field's value.
8493func (s *WorkloadSummary) SetLenses(v []*string) *WorkloadSummary {
8494	s.Lenses = v
8495	return s
8496}
8497
8498// SetOwner sets the Owner field's value.
8499func (s *WorkloadSummary) SetOwner(v string) *WorkloadSummary {
8500	s.Owner = &v
8501	return s
8502}
8503
8504// SetRiskCounts sets the RiskCounts field's value.
8505func (s *WorkloadSummary) SetRiskCounts(v map[string]*int64) *WorkloadSummary {
8506	s.RiskCounts = v
8507	return s
8508}
8509
8510// SetUpdatedAt sets the UpdatedAt field's value.
8511func (s *WorkloadSummary) SetUpdatedAt(v time.Time) *WorkloadSummary {
8512	s.UpdatedAt = &v
8513	return s
8514}
8515
8516// SetWorkloadArn sets the WorkloadArn field's value.
8517func (s *WorkloadSummary) SetWorkloadArn(v string) *WorkloadSummary {
8518	s.WorkloadArn = &v
8519	return s
8520}
8521
8522// SetWorkloadId sets the WorkloadId field's value.
8523func (s *WorkloadSummary) SetWorkloadId(v string) *WorkloadSummary {
8524	s.WorkloadId = &v
8525	return s
8526}
8527
8528// SetWorkloadName sets the WorkloadName field's value.
8529func (s *WorkloadSummary) SetWorkloadName(v string) *WorkloadSummary {
8530	s.WorkloadName = &v
8531	return s
8532}
8533
8534const (
8535	// DifferenceStatusUpdated is a DifferenceStatus enum value
8536	DifferenceStatusUpdated = "UPDATED"
8537
8538	// DifferenceStatusNew is a DifferenceStatus enum value
8539	DifferenceStatusNew = "NEW"
8540
8541	// DifferenceStatusDeleted is a DifferenceStatus enum value
8542	DifferenceStatusDeleted = "DELETED"
8543)
8544
8545// DifferenceStatus_Values returns all elements of the DifferenceStatus enum
8546func DifferenceStatus_Values() []string {
8547	return []string{
8548		DifferenceStatusUpdated,
8549		DifferenceStatusNew,
8550		DifferenceStatusDeleted,
8551	}
8552}
8553
8554const (
8555	// LensStatusCurrent is a LensStatus enum value
8556	LensStatusCurrent = "CURRENT"
8557
8558	// LensStatusNotCurrent is a LensStatus enum value
8559	LensStatusNotCurrent = "NOT_CURRENT"
8560
8561	// LensStatusDeprecated is a LensStatus enum value
8562	LensStatusDeprecated = "DEPRECATED"
8563)
8564
8565// LensStatus_Values returns all elements of the LensStatus enum
8566func LensStatus_Values() []string {
8567	return []string{
8568		LensStatusCurrent,
8569		LensStatusNotCurrent,
8570		LensStatusDeprecated,
8571	}
8572}
8573
8574const (
8575	// NotificationTypeLensVersionUpgraded is a NotificationType enum value
8576	NotificationTypeLensVersionUpgraded = "LENS_VERSION_UPGRADED"
8577
8578	// NotificationTypeLensVersionDeprecated is a NotificationType enum value
8579	NotificationTypeLensVersionDeprecated = "LENS_VERSION_DEPRECATED"
8580)
8581
8582// NotificationType_Values returns all elements of the NotificationType enum
8583func NotificationType_Values() []string {
8584	return []string{
8585		NotificationTypeLensVersionUpgraded,
8586		NotificationTypeLensVersionDeprecated,
8587	}
8588}
8589
8590// Permission granted on a workload share.
8591const (
8592	// PermissionTypeReadonly is a PermissionType enum value
8593	PermissionTypeReadonly = "READONLY"
8594
8595	// PermissionTypeContributor is a PermissionType enum value
8596	PermissionTypeContributor = "CONTRIBUTOR"
8597)
8598
8599// PermissionType_Values returns all elements of the PermissionType enum
8600func PermissionType_Values() []string {
8601	return []string{
8602		PermissionTypeReadonly,
8603		PermissionTypeContributor,
8604	}
8605}
8606
8607// The risk for a given workload, lens review, pillar, or question.
8608const (
8609	// RiskUnanswered is a Risk enum value
8610	RiskUnanswered = "UNANSWERED"
8611
8612	// RiskHigh is a Risk enum value
8613	RiskHigh = "HIGH"
8614
8615	// RiskMedium is a Risk enum value
8616	RiskMedium = "MEDIUM"
8617
8618	// RiskNone is a Risk enum value
8619	RiskNone = "NONE"
8620
8621	// RiskNotApplicable is a Risk enum value
8622	RiskNotApplicable = "NOT_APPLICABLE"
8623)
8624
8625// Risk_Values returns all elements of the Risk enum
8626func Risk_Values() []string {
8627	return []string{
8628		RiskUnanswered,
8629		RiskHigh,
8630		RiskMedium,
8631		RiskNone,
8632		RiskNotApplicable,
8633	}
8634}
8635
8636// Share invitation action taken by contributor.
8637const (
8638	// ShareInvitationActionAccept is a ShareInvitationAction enum value
8639	ShareInvitationActionAccept = "ACCEPT"
8640
8641	// ShareInvitationActionReject is a ShareInvitationAction enum value
8642	ShareInvitationActionReject = "REJECT"
8643)
8644
8645// ShareInvitationAction_Values returns all elements of the ShareInvitationAction enum
8646func ShareInvitationAction_Values() []string {
8647	return []string{
8648		ShareInvitationActionAccept,
8649		ShareInvitationActionReject,
8650	}
8651}
8652
8653// The status of a workload share.
8654const (
8655	// ShareStatusAccepted is a ShareStatus enum value
8656	ShareStatusAccepted = "ACCEPTED"
8657
8658	// ShareStatusRejected is a ShareStatus enum value
8659	ShareStatusRejected = "REJECTED"
8660
8661	// ShareStatusPending is a ShareStatus enum value
8662	ShareStatusPending = "PENDING"
8663
8664	// ShareStatusRevoked is a ShareStatus enum value
8665	ShareStatusRevoked = "REVOKED"
8666
8667	// ShareStatusExpired is a ShareStatus enum value
8668	ShareStatusExpired = "EXPIRED"
8669)
8670
8671// ShareStatus_Values returns all elements of the ShareStatus enum
8672func ShareStatus_Values() []string {
8673	return []string{
8674		ShareStatusAccepted,
8675		ShareStatusRejected,
8676		ShareStatusPending,
8677		ShareStatusRevoked,
8678		ShareStatusExpired,
8679	}
8680}
8681
8682// The reason why the request failed validation.
8683const (
8684	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
8685	ValidationExceptionReasonUnknownOperation = "UNKNOWN_OPERATION"
8686
8687	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
8688	ValidationExceptionReasonCannotParse = "CANNOT_PARSE"
8689
8690	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
8691	ValidationExceptionReasonFieldValidationFailed = "FIELD_VALIDATION_FAILED"
8692
8693	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
8694	ValidationExceptionReasonOther = "OTHER"
8695)
8696
8697// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
8698func ValidationExceptionReason_Values() []string {
8699	return []string{
8700		ValidationExceptionReasonUnknownOperation,
8701		ValidationExceptionReasonCannotParse,
8702		ValidationExceptionReasonFieldValidationFailed,
8703		ValidationExceptionReasonOther,
8704	}
8705}
8706
8707// The environment for the workload.
8708const (
8709	// WorkloadEnvironmentProduction is a WorkloadEnvironment enum value
8710	WorkloadEnvironmentProduction = "PRODUCTION"
8711
8712	// WorkloadEnvironmentPreproduction is a WorkloadEnvironment enum value
8713	WorkloadEnvironmentPreproduction = "PREPRODUCTION"
8714)
8715
8716// WorkloadEnvironment_Values returns all elements of the WorkloadEnvironment enum
8717func WorkloadEnvironment_Values() []string {
8718	return []string{
8719		WorkloadEnvironmentProduction,
8720		WorkloadEnvironmentPreproduction,
8721	}
8722}
8723
8724// The improvement status for a workload.
8725const (
8726	// WorkloadImprovementStatusNotApplicable is a WorkloadImprovementStatus enum value
8727	WorkloadImprovementStatusNotApplicable = "NOT_APPLICABLE"
8728
8729	// WorkloadImprovementStatusNotStarted is a WorkloadImprovementStatus enum value
8730	WorkloadImprovementStatusNotStarted = "NOT_STARTED"
8731
8732	// WorkloadImprovementStatusInProgress is a WorkloadImprovementStatus enum value
8733	WorkloadImprovementStatusInProgress = "IN_PROGRESS"
8734
8735	// WorkloadImprovementStatusComplete is a WorkloadImprovementStatus enum value
8736	WorkloadImprovementStatusComplete = "COMPLETE"
8737
8738	// WorkloadImprovementStatusRiskAcknowledged is a WorkloadImprovementStatus enum value
8739	WorkloadImprovementStatusRiskAcknowledged = "RISK_ACKNOWLEDGED"
8740)
8741
8742// WorkloadImprovementStatus_Values returns all elements of the WorkloadImprovementStatus enum
8743func WorkloadImprovementStatus_Values() []string {
8744	return []string{
8745		WorkloadImprovementStatusNotApplicable,
8746		WorkloadImprovementStatusNotStarted,
8747		WorkloadImprovementStatusInProgress,
8748		WorkloadImprovementStatusComplete,
8749		WorkloadImprovementStatusRiskAcknowledged,
8750	}
8751}
8752