1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package ssoadmin
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/jsonrpc"
14)
15
16const opAttachManagedPolicyToPermissionSet = "AttachManagedPolicyToPermissionSet"
17
18// AttachManagedPolicyToPermissionSetRequest generates a "aws/request.Request" representing the
19// client's request for the AttachManagedPolicyToPermissionSet 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 AttachManagedPolicyToPermissionSet for more information on using the AttachManagedPolicyToPermissionSet
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 AttachManagedPolicyToPermissionSetRequest method.
34//    req, resp := client.AttachManagedPolicyToPermissionSetRequest(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/sso-admin-2020-07-20/AttachManagedPolicyToPermissionSet
42func (c *SSOAdmin) AttachManagedPolicyToPermissionSetRequest(input *AttachManagedPolicyToPermissionSetInput) (req *request.Request, output *AttachManagedPolicyToPermissionSetOutput) {
43	op := &request.Operation{
44		Name:       opAttachManagedPolicyToPermissionSet,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AttachManagedPolicyToPermissionSetInput{}
51	}
52
53	output = &AttachManagedPolicyToPermissionSetOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AttachManagedPolicyToPermissionSet API operation for AWS Single Sign-On Admin.
60//
61// Attaches an IAM managed policy ARN to a permission set.
62//
63// If the permission set is already referenced by one or more account assignments,
64// you will need to call ProvisionPermissionSet after this action to apply the
65// corresponding IAM policy updates to all assigned accounts.
66//
67// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
68// with awserr.Error's Code and Message methods to get detailed information about
69// the error.
70//
71// See the AWS API reference guide for AWS Single Sign-On Admin's
72// API operation AttachManagedPolicyToPermissionSet for usage and error information.
73//
74// Returned Error Types:
75//   * ResourceNotFoundException
76//   Indicates that a requested resource is not found.
77//
78//   * InternalServerException
79//   The request processing has failed because of an unknown error, exception,
80//   or failure with an internal server.
81//
82//   * ServiceQuotaExceededException
83//   Indicates that the principal has crossed the permitted number of resources
84//   that can be created.
85//
86//   * ThrottlingException
87//   Indicates that the principal has crossed the throttling limits of the API
88//   operations.
89//
90//   * ValidationException
91//   The request failed because it contains a syntax error.
92//
93//   * AccessDeniedException
94//   You do not have sufficient access to perform this action.
95//
96//   * ConflictException
97//   Occurs when a conflict with a previous successful write is detected. This
98//   generally occurs when the previous write did not have time to propagate to
99//   the host serving the current request. A retry (with appropriate backoff logic)
100//   is the recommended response to this exception.
101//
102// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/AttachManagedPolicyToPermissionSet
103func (c *SSOAdmin) AttachManagedPolicyToPermissionSet(input *AttachManagedPolicyToPermissionSetInput) (*AttachManagedPolicyToPermissionSetOutput, error) {
104	req, out := c.AttachManagedPolicyToPermissionSetRequest(input)
105	return out, req.Send()
106}
107
108// AttachManagedPolicyToPermissionSetWithContext is the same as AttachManagedPolicyToPermissionSet with the addition of
109// the ability to pass a context and additional request options.
110//
111// See AttachManagedPolicyToPermissionSet for details on how to use this API operation.
112//
113// The context must be non-nil and will be used for request cancellation. If
114// the context is nil a panic will occur. In the future the SDK may create
115// sub-contexts for http.Requests. See https://golang.org/pkg/context/
116// for more information on using Contexts.
117func (c *SSOAdmin) AttachManagedPolicyToPermissionSetWithContext(ctx aws.Context, input *AttachManagedPolicyToPermissionSetInput, opts ...request.Option) (*AttachManagedPolicyToPermissionSetOutput, error) {
118	req, out := c.AttachManagedPolicyToPermissionSetRequest(input)
119	req.SetContext(ctx)
120	req.ApplyOptions(opts...)
121	return out, req.Send()
122}
123
124const opCreateAccountAssignment = "CreateAccountAssignment"
125
126// CreateAccountAssignmentRequest generates a "aws/request.Request" representing the
127// client's request for the CreateAccountAssignment operation. The "output" return
128// value will be populated with the request's response once the request completes
129// successfully.
130//
131// Use "Send" method on the returned Request to send the API call to the service.
132// the "output" return value is not valid until after Send returns without error.
133//
134// See CreateAccountAssignment for more information on using the CreateAccountAssignment
135// API call, and error handling.
136//
137// This method is useful when you want to inject custom logic or configuration
138// into the SDK's request lifecycle. Such as custom headers, or retry logic.
139//
140//
141//    // Example sending a request using the CreateAccountAssignmentRequest method.
142//    req, resp := client.CreateAccountAssignmentRequest(params)
143//
144//    err := req.Send()
145//    if err == nil { // resp is now filled
146//        fmt.Println(resp)
147//    }
148//
149// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/CreateAccountAssignment
150func (c *SSOAdmin) CreateAccountAssignmentRequest(input *CreateAccountAssignmentInput) (req *request.Request, output *CreateAccountAssignmentOutput) {
151	op := &request.Operation{
152		Name:       opCreateAccountAssignment,
153		HTTPMethod: "POST",
154		HTTPPath:   "/",
155	}
156
157	if input == nil {
158		input = &CreateAccountAssignmentInput{}
159	}
160
161	output = &CreateAccountAssignmentOutput{}
162	req = c.newRequest(op, input, output)
163	return
164}
165
166// CreateAccountAssignment API operation for AWS Single Sign-On Admin.
167//
168// Assigns access to a principal for a specified AWS account using a specified
169// permission set.
170//
171// The term principal here refers to a user or group that is defined in AWS
172// SSO.
173//
174// As part of a successful CreateAccountAssignment call, the specified permission
175// set will automatically be provisioned to the account in the form of an IAM
176// policy attached to the SSO-created IAM role. If the permission set is subsequently
177// updated, the corresponding IAM policies attached to roles in your accounts
178// will not be updated automatically. In this case, you will need to call ProvisionPermissionSet
179// to make these updates.
180//
181// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
182// with awserr.Error's Code and Message methods to get detailed information about
183// the error.
184//
185// See the AWS API reference guide for AWS Single Sign-On Admin's
186// API operation CreateAccountAssignment for usage and error information.
187//
188// Returned Error Types:
189//   * ResourceNotFoundException
190//   Indicates that a requested resource is not found.
191//
192//   * InternalServerException
193//   The request processing has failed because of an unknown error, exception,
194//   or failure with an internal server.
195//
196//   * ServiceQuotaExceededException
197//   Indicates that the principal has crossed the permitted number of resources
198//   that can be created.
199//
200//   * ThrottlingException
201//   Indicates that the principal has crossed the throttling limits of the API
202//   operations.
203//
204//   * ValidationException
205//   The request failed because it contains a syntax error.
206//
207//   * AccessDeniedException
208//   You do not have sufficient access to perform this action.
209//
210//   * ConflictException
211//   Occurs when a conflict with a previous successful write is detected. This
212//   generally occurs when the previous write did not have time to propagate to
213//   the host serving the current request. A retry (with appropriate backoff logic)
214//   is the recommended response to this exception.
215//
216// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/CreateAccountAssignment
217func (c *SSOAdmin) CreateAccountAssignment(input *CreateAccountAssignmentInput) (*CreateAccountAssignmentOutput, error) {
218	req, out := c.CreateAccountAssignmentRequest(input)
219	return out, req.Send()
220}
221
222// CreateAccountAssignmentWithContext is the same as CreateAccountAssignment with the addition of
223// the ability to pass a context and additional request options.
224//
225// See CreateAccountAssignment for details on how to use this API operation.
226//
227// The context must be non-nil and will be used for request cancellation. If
228// the context is nil a panic will occur. In the future the SDK may create
229// sub-contexts for http.Requests. See https://golang.org/pkg/context/
230// for more information on using Contexts.
231func (c *SSOAdmin) CreateAccountAssignmentWithContext(ctx aws.Context, input *CreateAccountAssignmentInput, opts ...request.Option) (*CreateAccountAssignmentOutput, error) {
232	req, out := c.CreateAccountAssignmentRequest(input)
233	req.SetContext(ctx)
234	req.ApplyOptions(opts...)
235	return out, req.Send()
236}
237
238const opCreatePermissionSet = "CreatePermissionSet"
239
240// CreatePermissionSetRequest generates a "aws/request.Request" representing the
241// client's request for the CreatePermissionSet operation. The "output" return
242// value will be populated with the request's response once the request completes
243// successfully.
244//
245// Use "Send" method on the returned Request to send the API call to the service.
246// the "output" return value is not valid until after Send returns without error.
247//
248// See CreatePermissionSet for more information on using the CreatePermissionSet
249// API call, and error handling.
250//
251// This method is useful when you want to inject custom logic or configuration
252// into the SDK's request lifecycle. Such as custom headers, or retry logic.
253//
254//
255//    // Example sending a request using the CreatePermissionSetRequest method.
256//    req, resp := client.CreatePermissionSetRequest(params)
257//
258//    err := req.Send()
259//    if err == nil { // resp is now filled
260//        fmt.Println(resp)
261//    }
262//
263// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/CreatePermissionSet
264func (c *SSOAdmin) CreatePermissionSetRequest(input *CreatePermissionSetInput) (req *request.Request, output *CreatePermissionSetOutput) {
265	op := &request.Operation{
266		Name:       opCreatePermissionSet,
267		HTTPMethod: "POST",
268		HTTPPath:   "/",
269	}
270
271	if input == nil {
272		input = &CreatePermissionSetInput{}
273	}
274
275	output = &CreatePermissionSetOutput{}
276	req = c.newRequest(op, input, output)
277	return
278}
279
280// CreatePermissionSet API operation for AWS Single Sign-On Admin.
281//
282// Creates a permission set within a specified SSO instance.
283//
284// To grant users and groups access to AWS account resources, use CreateAccountAssignment .
285//
286// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
287// with awserr.Error's Code and Message methods to get detailed information about
288// the error.
289//
290// See the AWS API reference guide for AWS Single Sign-On Admin's
291// API operation CreatePermissionSet for usage and error information.
292//
293// Returned Error Types:
294//   * ResourceNotFoundException
295//   Indicates that a requested resource is not found.
296//
297//   * InternalServerException
298//   The request processing has failed because of an unknown error, exception,
299//   or failure with an internal server.
300//
301//   * ServiceQuotaExceededException
302//   Indicates that the principal has crossed the permitted number of resources
303//   that can be created.
304//
305//   * ThrottlingException
306//   Indicates that the principal has crossed the throttling limits of the API
307//   operations.
308//
309//   * ValidationException
310//   The request failed because it contains a syntax error.
311//
312//   * AccessDeniedException
313//   You do not have sufficient access to perform this action.
314//
315//   * ConflictException
316//   Occurs when a conflict with a previous successful write is detected. This
317//   generally occurs when the previous write did not have time to propagate to
318//   the host serving the current request. A retry (with appropriate backoff logic)
319//   is the recommended response to this exception.
320//
321// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/CreatePermissionSet
322func (c *SSOAdmin) CreatePermissionSet(input *CreatePermissionSetInput) (*CreatePermissionSetOutput, error) {
323	req, out := c.CreatePermissionSetRequest(input)
324	return out, req.Send()
325}
326
327// CreatePermissionSetWithContext is the same as CreatePermissionSet with the addition of
328// the ability to pass a context and additional request options.
329//
330// See CreatePermissionSet for details on how to use this API operation.
331//
332// The context must be non-nil and will be used for request cancellation. If
333// the context is nil a panic will occur. In the future the SDK may create
334// sub-contexts for http.Requests. See https://golang.org/pkg/context/
335// for more information on using Contexts.
336func (c *SSOAdmin) CreatePermissionSetWithContext(ctx aws.Context, input *CreatePermissionSetInput, opts ...request.Option) (*CreatePermissionSetOutput, error) {
337	req, out := c.CreatePermissionSetRequest(input)
338	req.SetContext(ctx)
339	req.ApplyOptions(opts...)
340	return out, req.Send()
341}
342
343const opDeleteAccountAssignment = "DeleteAccountAssignment"
344
345// DeleteAccountAssignmentRequest generates a "aws/request.Request" representing the
346// client's request for the DeleteAccountAssignment operation. The "output" return
347// value will be populated with the request's response once the request completes
348// successfully.
349//
350// Use "Send" method on the returned Request to send the API call to the service.
351// the "output" return value is not valid until after Send returns without error.
352//
353// See DeleteAccountAssignment for more information on using the DeleteAccountAssignment
354// API call, and error handling.
355//
356// This method is useful when you want to inject custom logic or configuration
357// into the SDK's request lifecycle. Such as custom headers, or retry logic.
358//
359//
360//    // Example sending a request using the DeleteAccountAssignmentRequest method.
361//    req, resp := client.DeleteAccountAssignmentRequest(params)
362//
363//    err := req.Send()
364//    if err == nil { // resp is now filled
365//        fmt.Println(resp)
366//    }
367//
368// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DeleteAccountAssignment
369func (c *SSOAdmin) DeleteAccountAssignmentRequest(input *DeleteAccountAssignmentInput) (req *request.Request, output *DeleteAccountAssignmentOutput) {
370	op := &request.Operation{
371		Name:       opDeleteAccountAssignment,
372		HTTPMethod: "POST",
373		HTTPPath:   "/",
374	}
375
376	if input == nil {
377		input = &DeleteAccountAssignmentInput{}
378	}
379
380	output = &DeleteAccountAssignmentOutput{}
381	req = c.newRequest(op, input, output)
382	return
383}
384
385// DeleteAccountAssignment API operation for AWS Single Sign-On Admin.
386//
387// Deletes a principal's access from a specified AWS account using a specified
388// permission set.
389//
390// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
391// with awserr.Error's Code and Message methods to get detailed information about
392// the error.
393//
394// See the AWS API reference guide for AWS Single Sign-On Admin's
395// API operation DeleteAccountAssignment for usage and error information.
396//
397// Returned Error Types:
398//   * ResourceNotFoundException
399//   Indicates that a requested resource is not found.
400//
401//   * InternalServerException
402//   The request processing has failed because of an unknown error, exception,
403//   or failure with an internal server.
404//
405//   * ThrottlingException
406//   Indicates that the principal has crossed the throttling limits of the API
407//   operations.
408//
409//   * ValidationException
410//   The request failed because it contains a syntax error.
411//
412//   * AccessDeniedException
413//   You do not have sufficient access to perform this action.
414//
415//   * ConflictException
416//   Occurs when a conflict with a previous successful write is detected. This
417//   generally occurs when the previous write did not have time to propagate to
418//   the host serving the current request. A retry (with appropriate backoff logic)
419//   is the recommended response to this exception.
420//
421// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DeleteAccountAssignment
422func (c *SSOAdmin) DeleteAccountAssignment(input *DeleteAccountAssignmentInput) (*DeleteAccountAssignmentOutput, error) {
423	req, out := c.DeleteAccountAssignmentRequest(input)
424	return out, req.Send()
425}
426
427// DeleteAccountAssignmentWithContext is the same as DeleteAccountAssignment with the addition of
428// the ability to pass a context and additional request options.
429//
430// See DeleteAccountAssignment for details on how to use this API operation.
431//
432// The context must be non-nil and will be used for request cancellation. If
433// the context is nil a panic will occur. In the future the SDK may create
434// sub-contexts for http.Requests. See https://golang.org/pkg/context/
435// for more information on using Contexts.
436func (c *SSOAdmin) DeleteAccountAssignmentWithContext(ctx aws.Context, input *DeleteAccountAssignmentInput, opts ...request.Option) (*DeleteAccountAssignmentOutput, error) {
437	req, out := c.DeleteAccountAssignmentRequest(input)
438	req.SetContext(ctx)
439	req.ApplyOptions(opts...)
440	return out, req.Send()
441}
442
443const opDeleteInlinePolicyFromPermissionSet = "DeleteInlinePolicyFromPermissionSet"
444
445// DeleteInlinePolicyFromPermissionSetRequest generates a "aws/request.Request" representing the
446// client's request for the DeleteInlinePolicyFromPermissionSet operation. The "output" return
447// value will be populated with the request's response once the request completes
448// successfully.
449//
450// Use "Send" method on the returned Request to send the API call to the service.
451// the "output" return value is not valid until after Send returns without error.
452//
453// See DeleteInlinePolicyFromPermissionSet for more information on using the DeleteInlinePolicyFromPermissionSet
454// API call, and error handling.
455//
456// This method is useful when you want to inject custom logic or configuration
457// into the SDK's request lifecycle. Such as custom headers, or retry logic.
458//
459//
460//    // Example sending a request using the DeleteInlinePolicyFromPermissionSetRequest method.
461//    req, resp := client.DeleteInlinePolicyFromPermissionSetRequest(params)
462//
463//    err := req.Send()
464//    if err == nil { // resp is now filled
465//        fmt.Println(resp)
466//    }
467//
468// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DeleteInlinePolicyFromPermissionSet
469func (c *SSOAdmin) DeleteInlinePolicyFromPermissionSetRequest(input *DeleteInlinePolicyFromPermissionSetInput) (req *request.Request, output *DeleteInlinePolicyFromPermissionSetOutput) {
470	op := &request.Operation{
471		Name:       opDeleteInlinePolicyFromPermissionSet,
472		HTTPMethod: "POST",
473		HTTPPath:   "/",
474	}
475
476	if input == nil {
477		input = &DeleteInlinePolicyFromPermissionSetInput{}
478	}
479
480	output = &DeleteInlinePolicyFromPermissionSetOutput{}
481	req = c.newRequest(op, input, output)
482	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
483	return
484}
485
486// DeleteInlinePolicyFromPermissionSet API operation for AWS Single Sign-On Admin.
487//
488// Deletes the inline policy from a specified permission set.
489//
490// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
491// with awserr.Error's Code and Message methods to get detailed information about
492// the error.
493//
494// See the AWS API reference guide for AWS Single Sign-On Admin's
495// API operation DeleteInlinePolicyFromPermissionSet for usage and error information.
496//
497// Returned Error Types:
498//   * ResourceNotFoundException
499//   Indicates that a requested resource is not found.
500//
501//   * InternalServerException
502//   The request processing has failed because of an unknown error, exception,
503//   or failure with an internal server.
504//
505//   * ThrottlingException
506//   Indicates that the principal has crossed the throttling limits of the API
507//   operations.
508//
509//   * ValidationException
510//   The request failed because it contains a syntax error.
511//
512//   * AccessDeniedException
513//   You do not have sufficient access to perform this action.
514//
515//   * ConflictException
516//   Occurs when a conflict with a previous successful write is detected. This
517//   generally occurs when the previous write did not have time to propagate to
518//   the host serving the current request. A retry (with appropriate backoff logic)
519//   is the recommended response to this exception.
520//
521// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DeleteInlinePolicyFromPermissionSet
522func (c *SSOAdmin) DeleteInlinePolicyFromPermissionSet(input *DeleteInlinePolicyFromPermissionSetInput) (*DeleteInlinePolicyFromPermissionSetOutput, error) {
523	req, out := c.DeleteInlinePolicyFromPermissionSetRequest(input)
524	return out, req.Send()
525}
526
527// DeleteInlinePolicyFromPermissionSetWithContext is the same as DeleteInlinePolicyFromPermissionSet with the addition of
528// the ability to pass a context and additional request options.
529//
530// See DeleteInlinePolicyFromPermissionSet for details on how to use this API operation.
531//
532// The context must be non-nil and will be used for request cancellation. If
533// the context is nil a panic will occur. In the future the SDK may create
534// sub-contexts for http.Requests. See https://golang.org/pkg/context/
535// for more information on using Contexts.
536func (c *SSOAdmin) DeleteInlinePolicyFromPermissionSetWithContext(ctx aws.Context, input *DeleteInlinePolicyFromPermissionSetInput, opts ...request.Option) (*DeleteInlinePolicyFromPermissionSetOutput, error) {
537	req, out := c.DeleteInlinePolicyFromPermissionSetRequest(input)
538	req.SetContext(ctx)
539	req.ApplyOptions(opts...)
540	return out, req.Send()
541}
542
543const opDeletePermissionSet = "DeletePermissionSet"
544
545// DeletePermissionSetRequest generates a "aws/request.Request" representing the
546// client's request for the DeletePermissionSet operation. The "output" return
547// value will be populated with the request's response once the request completes
548// successfully.
549//
550// Use "Send" method on the returned Request to send the API call to the service.
551// the "output" return value is not valid until after Send returns without error.
552//
553// See DeletePermissionSet for more information on using the DeletePermissionSet
554// API call, and error handling.
555//
556// This method is useful when you want to inject custom logic or configuration
557// into the SDK's request lifecycle. Such as custom headers, or retry logic.
558//
559//
560//    // Example sending a request using the DeletePermissionSetRequest method.
561//    req, resp := client.DeletePermissionSetRequest(params)
562//
563//    err := req.Send()
564//    if err == nil { // resp is now filled
565//        fmt.Println(resp)
566//    }
567//
568// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DeletePermissionSet
569func (c *SSOAdmin) DeletePermissionSetRequest(input *DeletePermissionSetInput) (req *request.Request, output *DeletePermissionSetOutput) {
570	op := &request.Operation{
571		Name:       opDeletePermissionSet,
572		HTTPMethod: "POST",
573		HTTPPath:   "/",
574	}
575
576	if input == nil {
577		input = &DeletePermissionSetInput{}
578	}
579
580	output = &DeletePermissionSetOutput{}
581	req = c.newRequest(op, input, output)
582	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
583	return
584}
585
586// DeletePermissionSet API operation for AWS Single Sign-On Admin.
587//
588// Deletes the specified permission set.
589//
590// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
591// with awserr.Error's Code and Message methods to get detailed information about
592// the error.
593//
594// See the AWS API reference guide for AWS Single Sign-On Admin's
595// API operation DeletePermissionSet for usage and error information.
596//
597// Returned Error Types:
598//   * ResourceNotFoundException
599//   Indicates that a requested resource is not found.
600//
601//   * InternalServerException
602//   The request processing has failed because of an unknown error, exception,
603//   or failure with an internal server.
604//
605//   * ThrottlingException
606//   Indicates that the principal has crossed the throttling limits of the API
607//   operations.
608//
609//   * ValidationException
610//   The request failed because it contains a syntax error.
611//
612//   * AccessDeniedException
613//   You do not have sufficient access to perform this action.
614//
615//   * ConflictException
616//   Occurs when a conflict with a previous successful write is detected. This
617//   generally occurs when the previous write did not have time to propagate to
618//   the host serving the current request. A retry (with appropriate backoff logic)
619//   is the recommended response to this exception.
620//
621// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DeletePermissionSet
622func (c *SSOAdmin) DeletePermissionSet(input *DeletePermissionSetInput) (*DeletePermissionSetOutput, error) {
623	req, out := c.DeletePermissionSetRequest(input)
624	return out, req.Send()
625}
626
627// DeletePermissionSetWithContext is the same as DeletePermissionSet with the addition of
628// the ability to pass a context and additional request options.
629//
630// See DeletePermissionSet for details on how to use this API operation.
631//
632// The context must be non-nil and will be used for request cancellation. If
633// the context is nil a panic will occur. In the future the SDK may create
634// sub-contexts for http.Requests. See https://golang.org/pkg/context/
635// for more information on using Contexts.
636func (c *SSOAdmin) DeletePermissionSetWithContext(ctx aws.Context, input *DeletePermissionSetInput, opts ...request.Option) (*DeletePermissionSetOutput, error) {
637	req, out := c.DeletePermissionSetRequest(input)
638	req.SetContext(ctx)
639	req.ApplyOptions(opts...)
640	return out, req.Send()
641}
642
643const opDescribeAccountAssignmentCreationStatus = "DescribeAccountAssignmentCreationStatus"
644
645// DescribeAccountAssignmentCreationStatusRequest generates a "aws/request.Request" representing the
646// client's request for the DescribeAccountAssignmentCreationStatus operation. The "output" return
647// value will be populated with the request's response once the request completes
648// successfully.
649//
650// Use "Send" method on the returned Request to send the API call to the service.
651// the "output" return value is not valid until after Send returns without error.
652//
653// See DescribeAccountAssignmentCreationStatus for more information on using the DescribeAccountAssignmentCreationStatus
654// API call, and error handling.
655//
656// This method is useful when you want to inject custom logic or configuration
657// into the SDK's request lifecycle. Such as custom headers, or retry logic.
658//
659//
660//    // Example sending a request using the DescribeAccountAssignmentCreationStatusRequest method.
661//    req, resp := client.DescribeAccountAssignmentCreationStatusRequest(params)
662//
663//    err := req.Send()
664//    if err == nil { // resp is now filled
665//        fmt.Println(resp)
666//    }
667//
668// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribeAccountAssignmentCreationStatus
669func (c *SSOAdmin) DescribeAccountAssignmentCreationStatusRequest(input *DescribeAccountAssignmentCreationStatusInput) (req *request.Request, output *DescribeAccountAssignmentCreationStatusOutput) {
670	op := &request.Operation{
671		Name:       opDescribeAccountAssignmentCreationStatus,
672		HTTPMethod: "POST",
673		HTTPPath:   "/",
674	}
675
676	if input == nil {
677		input = &DescribeAccountAssignmentCreationStatusInput{}
678	}
679
680	output = &DescribeAccountAssignmentCreationStatusOutput{}
681	req = c.newRequest(op, input, output)
682	return
683}
684
685// DescribeAccountAssignmentCreationStatus API operation for AWS Single Sign-On Admin.
686//
687// Describes the status of the assignment creation request.
688//
689// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
690// with awserr.Error's Code and Message methods to get detailed information about
691// the error.
692//
693// See the AWS API reference guide for AWS Single Sign-On Admin's
694// API operation DescribeAccountAssignmentCreationStatus for usage and error information.
695//
696// Returned Error Types:
697//   * ResourceNotFoundException
698//   Indicates that a requested resource is not found.
699//
700//   * InternalServerException
701//   The request processing has failed because of an unknown error, exception,
702//   or failure with an internal server.
703//
704//   * ThrottlingException
705//   Indicates that the principal has crossed the throttling limits of the API
706//   operations.
707//
708//   * ValidationException
709//   The request failed because it contains a syntax error.
710//
711//   * AccessDeniedException
712//   You do not have sufficient access to perform this action.
713//
714// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribeAccountAssignmentCreationStatus
715func (c *SSOAdmin) DescribeAccountAssignmentCreationStatus(input *DescribeAccountAssignmentCreationStatusInput) (*DescribeAccountAssignmentCreationStatusOutput, error) {
716	req, out := c.DescribeAccountAssignmentCreationStatusRequest(input)
717	return out, req.Send()
718}
719
720// DescribeAccountAssignmentCreationStatusWithContext is the same as DescribeAccountAssignmentCreationStatus with the addition of
721// the ability to pass a context and additional request options.
722//
723// See DescribeAccountAssignmentCreationStatus for details on how to use this API operation.
724//
725// The context must be non-nil and will be used for request cancellation. If
726// the context is nil a panic will occur. In the future the SDK may create
727// sub-contexts for http.Requests. See https://golang.org/pkg/context/
728// for more information on using Contexts.
729func (c *SSOAdmin) DescribeAccountAssignmentCreationStatusWithContext(ctx aws.Context, input *DescribeAccountAssignmentCreationStatusInput, opts ...request.Option) (*DescribeAccountAssignmentCreationStatusOutput, error) {
730	req, out := c.DescribeAccountAssignmentCreationStatusRequest(input)
731	req.SetContext(ctx)
732	req.ApplyOptions(opts...)
733	return out, req.Send()
734}
735
736const opDescribeAccountAssignmentDeletionStatus = "DescribeAccountAssignmentDeletionStatus"
737
738// DescribeAccountAssignmentDeletionStatusRequest generates a "aws/request.Request" representing the
739// client's request for the DescribeAccountAssignmentDeletionStatus operation. The "output" return
740// value will be populated with the request's response once the request completes
741// successfully.
742//
743// Use "Send" method on the returned Request to send the API call to the service.
744// the "output" return value is not valid until after Send returns without error.
745//
746// See DescribeAccountAssignmentDeletionStatus for more information on using the DescribeAccountAssignmentDeletionStatus
747// API call, and error handling.
748//
749// This method is useful when you want to inject custom logic or configuration
750// into the SDK's request lifecycle. Such as custom headers, or retry logic.
751//
752//
753//    // Example sending a request using the DescribeAccountAssignmentDeletionStatusRequest method.
754//    req, resp := client.DescribeAccountAssignmentDeletionStatusRequest(params)
755//
756//    err := req.Send()
757//    if err == nil { // resp is now filled
758//        fmt.Println(resp)
759//    }
760//
761// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribeAccountAssignmentDeletionStatus
762func (c *SSOAdmin) DescribeAccountAssignmentDeletionStatusRequest(input *DescribeAccountAssignmentDeletionStatusInput) (req *request.Request, output *DescribeAccountAssignmentDeletionStatusOutput) {
763	op := &request.Operation{
764		Name:       opDescribeAccountAssignmentDeletionStatus,
765		HTTPMethod: "POST",
766		HTTPPath:   "/",
767	}
768
769	if input == nil {
770		input = &DescribeAccountAssignmentDeletionStatusInput{}
771	}
772
773	output = &DescribeAccountAssignmentDeletionStatusOutput{}
774	req = c.newRequest(op, input, output)
775	return
776}
777
778// DescribeAccountAssignmentDeletionStatus API operation for AWS Single Sign-On Admin.
779//
780// Describes the status of the assignment deletion request.
781//
782// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
783// with awserr.Error's Code and Message methods to get detailed information about
784// the error.
785//
786// See the AWS API reference guide for AWS Single Sign-On Admin's
787// API operation DescribeAccountAssignmentDeletionStatus for usage and error information.
788//
789// Returned Error Types:
790//   * ResourceNotFoundException
791//   Indicates that a requested resource is not found.
792//
793//   * InternalServerException
794//   The request processing has failed because of an unknown error, exception,
795//   or failure with an internal server.
796//
797//   * ThrottlingException
798//   Indicates that the principal has crossed the throttling limits of the API
799//   operations.
800//
801//   * ValidationException
802//   The request failed because it contains a syntax error.
803//
804//   * AccessDeniedException
805//   You do not have sufficient access to perform this action.
806//
807// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribeAccountAssignmentDeletionStatus
808func (c *SSOAdmin) DescribeAccountAssignmentDeletionStatus(input *DescribeAccountAssignmentDeletionStatusInput) (*DescribeAccountAssignmentDeletionStatusOutput, error) {
809	req, out := c.DescribeAccountAssignmentDeletionStatusRequest(input)
810	return out, req.Send()
811}
812
813// DescribeAccountAssignmentDeletionStatusWithContext is the same as DescribeAccountAssignmentDeletionStatus with the addition of
814// the ability to pass a context and additional request options.
815//
816// See DescribeAccountAssignmentDeletionStatus for details on how to use this API operation.
817//
818// The context must be non-nil and will be used for request cancellation. If
819// the context is nil a panic will occur. In the future the SDK may create
820// sub-contexts for http.Requests. See https://golang.org/pkg/context/
821// for more information on using Contexts.
822func (c *SSOAdmin) DescribeAccountAssignmentDeletionStatusWithContext(ctx aws.Context, input *DescribeAccountAssignmentDeletionStatusInput, opts ...request.Option) (*DescribeAccountAssignmentDeletionStatusOutput, error) {
823	req, out := c.DescribeAccountAssignmentDeletionStatusRequest(input)
824	req.SetContext(ctx)
825	req.ApplyOptions(opts...)
826	return out, req.Send()
827}
828
829const opDescribePermissionSet = "DescribePermissionSet"
830
831// DescribePermissionSetRequest generates a "aws/request.Request" representing the
832// client's request for the DescribePermissionSet operation. The "output" return
833// value will be populated with the request's response once the request completes
834// successfully.
835//
836// Use "Send" method on the returned Request to send the API call to the service.
837// the "output" return value is not valid until after Send returns without error.
838//
839// See DescribePermissionSet for more information on using the DescribePermissionSet
840// API call, and error handling.
841//
842// This method is useful when you want to inject custom logic or configuration
843// into the SDK's request lifecycle. Such as custom headers, or retry logic.
844//
845//
846//    // Example sending a request using the DescribePermissionSetRequest method.
847//    req, resp := client.DescribePermissionSetRequest(params)
848//
849//    err := req.Send()
850//    if err == nil { // resp is now filled
851//        fmt.Println(resp)
852//    }
853//
854// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribePermissionSet
855func (c *SSOAdmin) DescribePermissionSetRequest(input *DescribePermissionSetInput) (req *request.Request, output *DescribePermissionSetOutput) {
856	op := &request.Operation{
857		Name:       opDescribePermissionSet,
858		HTTPMethod: "POST",
859		HTTPPath:   "/",
860	}
861
862	if input == nil {
863		input = &DescribePermissionSetInput{}
864	}
865
866	output = &DescribePermissionSetOutput{}
867	req = c.newRequest(op, input, output)
868	return
869}
870
871// DescribePermissionSet API operation for AWS Single Sign-On Admin.
872//
873// Gets the details of the permission set.
874//
875// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
876// with awserr.Error's Code and Message methods to get detailed information about
877// the error.
878//
879// See the AWS API reference guide for AWS Single Sign-On Admin's
880// API operation DescribePermissionSet for usage and error information.
881//
882// Returned Error Types:
883//   * ResourceNotFoundException
884//   Indicates that a requested resource is not found.
885//
886//   * InternalServerException
887//   The request processing has failed because of an unknown error, exception,
888//   or failure with an internal server.
889//
890//   * ThrottlingException
891//   Indicates that the principal has crossed the throttling limits of the API
892//   operations.
893//
894//   * ValidationException
895//   The request failed because it contains a syntax error.
896//
897//   * AccessDeniedException
898//   You do not have sufficient access to perform this action.
899//
900// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribePermissionSet
901func (c *SSOAdmin) DescribePermissionSet(input *DescribePermissionSetInput) (*DescribePermissionSetOutput, error) {
902	req, out := c.DescribePermissionSetRequest(input)
903	return out, req.Send()
904}
905
906// DescribePermissionSetWithContext is the same as DescribePermissionSet with the addition of
907// the ability to pass a context and additional request options.
908//
909// See DescribePermissionSet for details on how to use this API operation.
910//
911// The context must be non-nil and will be used for request cancellation. If
912// the context is nil a panic will occur. In the future the SDK may create
913// sub-contexts for http.Requests. See https://golang.org/pkg/context/
914// for more information on using Contexts.
915func (c *SSOAdmin) DescribePermissionSetWithContext(ctx aws.Context, input *DescribePermissionSetInput, opts ...request.Option) (*DescribePermissionSetOutput, error) {
916	req, out := c.DescribePermissionSetRequest(input)
917	req.SetContext(ctx)
918	req.ApplyOptions(opts...)
919	return out, req.Send()
920}
921
922const opDescribePermissionSetProvisioningStatus = "DescribePermissionSetProvisioningStatus"
923
924// DescribePermissionSetProvisioningStatusRequest generates a "aws/request.Request" representing the
925// client's request for the DescribePermissionSetProvisioningStatus operation. The "output" return
926// value will be populated with the request's response once the request completes
927// successfully.
928//
929// Use "Send" method on the returned Request to send the API call to the service.
930// the "output" return value is not valid until after Send returns without error.
931//
932// See DescribePermissionSetProvisioningStatus for more information on using the DescribePermissionSetProvisioningStatus
933// API call, and error handling.
934//
935// This method is useful when you want to inject custom logic or configuration
936// into the SDK's request lifecycle. Such as custom headers, or retry logic.
937//
938//
939//    // Example sending a request using the DescribePermissionSetProvisioningStatusRequest method.
940//    req, resp := client.DescribePermissionSetProvisioningStatusRequest(params)
941//
942//    err := req.Send()
943//    if err == nil { // resp is now filled
944//        fmt.Println(resp)
945//    }
946//
947// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribePermissionSetProvisioningStatus
948func (c *SSOAdmin) DescribePermissionSetProvisioningStatusRequest(input *DescribePermissionSetProvisioningStatusInput) (req *request.Request, output *DescribePermissionSetProvisioningStatusOutput) {
949	op := &request.Operation{
950		Name:       opDescribePermissionSetProvisioningStatus,
951		HTTPMethod: "POST",
952		HTTPPath:   "/",
953	}
954
955	if input == nil {
956		input = &DescribePermissionSetProvisioningStatusInput{}
957	}
958
959	output = &DescribePermissionSetProvisioningStatusOutput{}
960	req = c.newRequest(op, input, output)
961	return
962}
963
964// DescribePermissionSetProvisioningStatus API operation for AWS Single Sign-On Admin.
965//
966// Describes the status for the given permission set provisioning request.
967//
968// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
969// with awserr.Error's Code and Message methods to get detailed information about
970// the error.
971//
972// See the AWS API reference guide for AWS Single Sign-On Admin's
973// API operation DescribePermissionSetProvisioningStatus for usage and error information.
974//
975// Returned Error Types:
976//   * ResourceNotFoundException
977//   Indicates that a requested resource is not found.
978//
979//   * InternalServerException
980//   The request processing has failed because of an unknown error, exception,
981//   or failure with an internal server.
982//
983//   * ThrottlingException
984//   Indicates that the principal has crossed the throttling limits of the API
985//   operations.
986//
987//   * ValidationException
988//   The request failed because it contains a syntax error.
989//
990//   * AccessDeniedException
991//   You do not have sufficient access to perform this action.
992//
993// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribePermissionSetProvisioningStatus
994func (c *SSOAdmin) DescribePermissionSetProvisioningStatus(input *DescribePermissionSetProvisioningStatusInput) (*DescribePermissionSetProvisioningStatusOutput, error) {
995	req, out := c.DescribePermissionSetProvisioningStatusRequest(input)
996	return out, req.Send()
997}
998
999// DescribePermissionSetProvisioningStatusWithContext is the same as DescribePermissionSetProvisioningStatus with the addition of
1000// the ability to pass a context and additional request options.
1001//
1002// See DescribePermissionSetProvisioningStatus for details on how to use this API operation.
1003//
1004// The context must be non-nil and will be used for request cancellation. If
1005// the context is nil a panic will occur. In the future the SDK may create
1006// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1007// for more information on using Contexts.
1008func (c *SSOAdmin) DescribePermissionSetProvisioningStatusWithContext(ctx aws.Context, input *DescribePermissionSetProvisioningStatusInput, opts ...request.Option) (*DescribePermissionSetProvisioningStatusOutput, error) {
1009	req, out := c.DescribePermissionSetProvisioningStatusRequest(input)
1010	req.SetContext(ctx)
1011	req.ApplyOptions(opts...)
1012	return out, req.Send()
1013}
1014
1015const opDetachManagedPolicyFromPermissionSet = "DetachManagedPolicyFromPermissionSet"
1016
1017// DetachManagedPolicyFromPermissionSetRequest generates a "aws/request.Request" representing the
1018// client's request for the DetachManagedPolicyFromPermissionSet operation. The "output" return
1019// value will be populated with the request's response once the request completes
1020// successfully.
1021//
1022// Use "Send" method on the returned Request to send the API call to the service.
1023// the "output" return value is not valid until after Send returns without error.
1024//
1025// See DetachManagedPolicyFromPermissionSet for more information on using the DetachManagedPolicyFromPermissionSet
1026// API call, and error handling.
1027//
1028// This method is useful when you want to inject custom logic or configuration
1029// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1030//
1031//
1032//    // Example sending a request using the DetachManagedPolicyFromPermissionSetRequest method.
1033//    req, resp := client.DetachManagedPolicyFromPermissionSetRequest(params)
1034//
1035//    err := req.Send()
1036//    if err == nil { // resp is now filled
1037//        fmt.Println(resp)
1038//    }
1039//
1040// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DetachManagedPolicyFromPermissionSet
1041func (c *SSOAdmin) DetachManagedPolicyFromPermissionSetRequest(input *DetachManagedPolicyFromPermissionSetInput) (req *request.Request, output *DetachManagedPolicyFromPermissionSetOutput) {
1042	op := &request.Operation{
1043		Name:       opDetachManagedPolicyFromPermissionSet,
1044		HTTPMethod: "POST",
1045		HTTPPath:   "/",
1046	}
1047
1048	if input == nil {
1049		input = &DetachManagedPolicyFromPermissionSetInput{}
1050	}
1051
1052	output = &DetachManagedPolicyFromPermissionSetOutput{}
1053	req = c.newRequest(op, input, output)
1054	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1055	return
1056}
1057
1058// DetachManagedPolicyFromPermissionSet API operation for AWS Single Sign-On Admin.
1059//
1060// Detaches the attached IAM managed policy ARN from the specified permission
1061// set.
1062//
1063// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1064// with awserr.Error's Code and Message methods to get detailed information about
1065// the error.
1066//
1067// See the AWS API reference guide for AWS Single Sign-On Admin's
1068// API operation DetachManagedPolicyFromPermissionSet for usage and error information.
1069//
1070// Returned Error Types:
1071//   * ResourceNotFoundException
1072//   Indicates that a requested resource is not found.
1073//
1074//   * InternalServerException
1075//   The request processing has failed because of an unknown error, exception,
1076//   or failure with an internal server.
1077//
1078//   * ThrottlingException
1079//   Indicates that the principal has crossed the throttling limits of the API
1080//   operations.
1081//
1082//   * ValidationException
1083//   The request failed because it contains a syntax error.
1084//
1085//   * AccessDeniedException
1086//   You do not have sufficient access to perform this action.
1087//
1088//   * ConflictException
1089//   Occurs when a conflict with a previous successful write is detected. This
1090//   generally occurs when the previous write did not have time to propagate to
1091//   the host serving the current request. A retry (with appropriate backoff logic)
1092//   is the recommended response to this exception.
1093//
1094// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DetachManagedPolicyFromPermissionSet
1095func (c *SSOAdmin) DetachManagedPolicyFromPermissionSet(input *DetachManagedPolicyFromPermissionSetInput) (*DetachManagedPolicyFromPermissionSetOutput, error) {
1096	req, out := c.DetachManagedPolicyFromPermissionSetRequest(input)
1097	return out, req.Send()
1098}
1099
1100// DetachManagedPolicyFromPermissionSetWithContext is the same as DetachManagedPolicyFromPermissionSet with the addition of
1101// the ability to pass a context and additional request options.
1102//
1103// See DetachManagedPolicyFromPermissionSet for details on how to use this API operation.
1104//
1105// The context must be non-nil and will be used for request cancellation. If
1106// the context is nil a panic will occur. In the future the SDK may create
1107// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1108// for more information on using Contexts.
1109func (c *SSOAdmin) DetachManagedPolicyFromPermissionSetWithContext(ctx aws.Context, input *DetachManagedPolicyFromPermissionSetInput, opts ...request.Option) (*DetachManagedPolicyFromPermissionSetOutput, error) {
1110	req, out := c.DetachManagedPolicyFromPermissionSetRequest(input)
1111	req.SetContext(ctx)
1112	req.ApplyOptions(opts...)
1113	return out, req.Send()
1114}
1115
1116const opGetInlinePolicyForPermissionSet = "GetInlinePolicyForPermissionSet"
1117
1118// GetInlinePolicyForPermissionSetRequest generates a "aws/request.Request" representing the
1119// client's request for the GetInlinePolicyForPermissionSet operation. The "output" return
1120// value will be populated with the request's response once the request completes
1121// successfully.
1122//
1123// Use "Send" method on the returned Request to send the API call to the service.
1124// the "output" return value is not valid until after Send returns without error.
1125//
1126// See GetInlinePolicyForPermissionSet for more information on using the GetInlinePolicyForPermissionSet
1127// API call, and error handling.
1128//
1129// This method is useful when you want to inject custom logic or configuration
1130// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1131//
1132//
1133//    // Example sending a request using the GetInlinePolicyForPermissionSetRequest method.
1134//    req, resp := client.GetInlinePolicyForPermissionSetRequest(params)
1135//
1136//    err := req.Send()
1137//    if err == nil { // resp is now filled
1138//        fmt.Println(resp)
1139//    }
1140//
1141// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/GetInlinePolicyForPermissionSet
1142func (c *SSOAdmin) GetInlinePolicyForPermissionSetRequest(input *GetInlinePolicyForPermissionSetInput) (req *request.Request, output *GetInlinePolicyForPermissionSetOutput) {
1143	op := &request.Operation{
1144		Name:       opGetInlinePolicyForPermissionSet,
1145		HTTPMethod: "POST",
1146		HTTPPath:   "/",
1147	}
1148
1149	if input == nil {
1150		input = &GetInlinePolicyForPermissionSetInput{}
1151	}
1152
1153	output = &GetInlinePolicyForPermissionSetOutput{}
1154	req = c.newRequest(op, input, output)
1155	return
1156}
1157
1158// GetInlinePolicyForPermissionSet API operation for AWS Single Sign-On Admin.
1159//
1160// Obtains the inline policy assigned to the permission set.
1161//
1162// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1163// with awserr.Error's Code and Message methods to get detailed information about
1164// the error.
1165//
1166// See the AWS API reference guide for AWS Single Sign-On Admin's
1167// API operation GetInlinePolicyForPermissionSet for usage and error information.
1168//
1169// Returned Error Types:
1170//   * ResourceNotFoundException
1171//   Indicates that a requested resource is not found.
1172//
1173//   * InternalServerException
1174//   The request processing has failed because of an unknown error, exception,
1175//   or failure with an internal server.
1176//
1177//   * ThrottlingException
1178//   Indicates that the principal has crossed the throttling limits of the API
1179//   operations.
1180//
1181//   * ValidationException
1182//   The request failed because it contains a syntax error.
1183//
1184//   * AccessDeniedException
1185//   You do not have sufficient access to perform this action.
1186//
1187// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/GetInlinePolicyForPermissionSet
1188func (c *SSOAdmin) GetInlinePolicyForPermissionSet(input *GetInlinePolicyForPermissionSetInput) (*GetInlinePolicyForPermissionSetOutput, error) {
1189	req, out := c.GetInlinePolicyForPermissionSetRequest(input)
1190	return out, req.Send()
1191}
1192
1193// GetInlinePolicyForPermissionSetWithContext is the same as GetInlinePolicyForPermissionSet with the addition of
1194// the ability to pass a context and additional request options.
1195//
1196// See GetInlinePolicyForPermissionSet for details on how to use this API operation.
1197//
1198// The context must be non-nil and will be used for request cancellation. If
1199// the context is nil a panic will occur. In the future the SDK may create
1200// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1201// for more information on using Contexts.
1202func (c *SSOAdmin) GetInlinePolicyForPermissionSetWithContext(ctx aws.Context, input *GetInlinePolicyForPermissionSetInput, opts ...request.Option) (*GetInlinePolicyForPermissionSetOutput, error) {
1203	req, out := c.GetInlinePolicyForPermissionSetRequest(input)
1204	req.SetContext(ctx)
1205	req.ApplyOptions(opts...)
1206	return out, req.Send()
1207}
1208
1209const opListAccountAssignmentCreationStatus = "ListAccountAssignmentCreationStatus"
1210
1211// ListAccountAssignmentCreationStatusRequest generates a "aws/request.Request" representing the
1212// client's request for the ListAccountAssignmentCreationStatus operation. The "output" return
1213// value will be populated with the request's response once the request completes
1214// successfully.
1215//
1216// Use "Send" method on the returned Request to send the API call to the service.
1217// the "output" return value is not valid until after Send returns without error.
1218//
1219// See ListAccountAssignmentCreationStatus for more information on using the ListAccountAssignmentCreationStatus
1220// API call, and error handling.
1221//
1222// This method is useful when you want to inject custom logic or configuration
1223// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1224//
1225//
1226//    // Example sending a request using the ListAccountAssignmentCreationStatusRequest method.
1227//    req, resp := client.ListAccountAssignmentCreationStatusRequest(params)
1228//
1229//    err := req.Send()
1230//    if err == nil { // resp is now filled
1231//        fmt.Println(resp)
1232//    }
1233//
1234// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListAccountAssignmentCreationStatus
1235func (c *SSOAdmin) ListAccountAssignmentCreationStatusRequest(input *ListAccountAssignmentCreationStatusInput) (req *request.Request, output *ListAccountAssignmentCreationStatusOutput) {
1236	op := &request.Operation{
1237		Name:       opListAccountAssignmentCreationStatus,
1238		HTTPMethod: "POST",
1239		HTTPPath:   "/",
1240		Paginator: &request.Paginator{
1241			InputTokens:     []string{"NextToken"},
1242			OutputTokens:    []string{"NextToken"},
1243			LimitToken:      "MaxResults",
1244			TruncationToken: "",
1245		},
1246	}
1247
1248	if input == nil {
1249		input = &ListAccountAssignmentCreationStatusInput{}
1250	}
1251
1252	output = &ListAccountAssignmentCreationStatusOutput{}
1253	req = c.newRequest(op, input, output)
1254	return
1255}
1256
1257// ListAccountAssignmentCreationStatus API operation for AWS Single Sign-On Admin.
1258//
1259// Lists the status of the AWS account assignment creation requests for a specified
1260// SSO instance.
1261//
1262// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1263// with awserr.Error's Code and Message methods to get detailed information about
1264// the error.
1265//
1266// See the AWS API reference guide for AWS Single Sign-On Admin's
1267// API operation ListAccountAssignmentCreationStatus for usage and error information.
1268//
1269// Returned Error Types:
1270//   * ResourceNotFoundException
1271//   Indicates that a requested resource is not found.
1272//
1273//   * InternalServerException
1274//   The request processing has failed because of an unknown error, exception,
1275//   or failure with an internal server.
1276//
1277//   * ThrottlingException
1278//   Indicates that the principal has crossed the throttling limits of the API
1279//   operations.
1280//
1281//   * ValidationException
1282//   The request failed because it contains a syntax error.
1283//
1284//   * AccessDeniedException
1285//   You do not have sufficient access to perform this action.
1286//
1287// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListAccountAssignmentCreationStatus
1288func (c *SSOAdmin) ListAccountAssignmentCreationStatus(input *ListAccountAssignmentCreationStatusInput) (*ListAccountAssignmentCreationStatusOutput, error) {
1289	req, out := c.ListAccountAssignmentCreationStatusRequest(input)
1290	return out, req.Send()
1291}
1292
1293// ListAccountAssignmentCreationStatusWithContext is the same as ListAccountAssignmentCreationStatus with the addition of
1294// the ability to pass a context and additional request options.
1295//
1296// See ListAccountAssignmentCreationStatus for details on how to use this API operation.
1297//
1298// The context must be non-nil and will be used for request cancellation. If
1299// the context is nil a panic will occur. In the future the SDK may create
1300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1301// for more information on using Contexts.
1302func (c *SSOAdmin) ListAccountAssignmentCreationStatusWithContext(ctx aws.Context, input *ListAccountAssignmentCreationStatusInput, opts ...request.Option) (*ListAccountAssignmentCreationStatusOutput, error) {
1303	req, out := c.ListAccountAssignmentCreationStatusRequest(input)
1304	req.SetContext(ctx)
1305	req.ApplyOptions(opts...)
1306	return out, req.Send()
1307}
1308
1309// ListAccountAssignmentCreationStatusPages iterates over the pages of a ListAccountAssignmentCreationStatus operation,
1310// calling the "fn" function with the response data for each page. To stop
1311// iterating, return false from the fn function.
1312//
1313// See ListAccountAssignmentCreationStatus method for more information on how to use this operation.
1314//
1315// Note: This operation can generate multiple requests to a service.
1316//
1317//    // Example iterating over at most 3 pages of a ListAccountAssignmentCreationStatus operation.
1318//    pageNum := 0
1319//    err := client.ListAccountAssignmentCreationStatusPages(params,
1320//        func(page *ssoadmin.ListAccountAssignmentCreationStatusOutput, lastPage bool) bool {
1321//            pageNum++
1322//            fmt.Println(page)
1323//            return pageNum <= 3
1324//        })
1325//
1326func (c *SSOAdmin) ListAccountAssignmentCreationStatusPages(input *ListAccountAssignmentCreationStatusInput, fn func(*ListAccountAssignmentCreationStatusOutput, bool) bool) error {
1327	return c.ListAccountAssignmentCreationStatusPagesWithContext(aws.BackgroundContext(), input, fn)
1328}
1329
1330// ListAccountAssignmentCreationStatusPagesWithContext same as ListAccountAssignmentCreationStatusPages except
1331// it takes a Context and allows setting request options on the pages.
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 *SSOAdmin) ListAccountAssignmentCreationStatusPagesWithContext(ctx aws.Context, input *ListAccountAssignmentCreationStatusInput, fn func(*ListAccountAssignmentCreationStatusOutput, bool) bool, opts ...request.Option) error {
1338	p := request.Pagination{
1339		NewRequest: func() (*request.Request, error) {
1340			var inCpy *ListAccountAssignmentCreationStatusInput
1341			if input != nil {
1342				tmp := *input
1343				inCpy = &tmp
1344			}
1345			req, _ := c.ListAccountAssignmentCreationStatusRequest(inCpy)
1346			req.SetContext(ctx)
1347			req.ApplyOptions(opts...)
1348			return req, nil
1349		},
1350	}
1351
1352	for p.Next() {
1353		if !fn(p.Page().(*ListAccountAssignmentCreationStatusOutput), !p.HasNextPage()) {
1354			break
1355		}
1356	}
1357
1358	return p.Err()
1359}
1360
1361const opListAccountAssignmentDeletionStatus = "ListAccountAssignmentDeletionStatus"
1362
1363// ListAccountAssignmentDeletionStatusRequest generates a "aws/request.Request" representing the
1364// client's request for the ListAccountAssignmentDeletionStatus operation. The "output" return
1365// value will be populated with the request's response once the request completes
1366// successfully.
1367//
1368// Use "Send" method on the returned Request to send the API call to the service.
1369// the "output" return value is not valid until after Send returns without error.
1370//
1371// See ListAccountAssignmentDeletionStatus for more information on using the ListAccountAssignmentDeletionStatus
1372// API call, and error handling.
1373//
1374// This method is useful when you want to inject custom logic or configuration
1375// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1376//
1377//
1378//    // Example sending a request using the ListAccountAssignmentDeletionStatusRequest method.
1379//    req, resp := client.ListAccountAssignmentDeletionStatusRequest(params)
1380//
1381//    err := req.Send()
1382//    if err == nil { // resp is now filled
1383//        fmt.Println(resp)
1384//    }
1385//
1386// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListAccountAssignmentDeletionStatus
1387func (c *SSOAdmin) ListAccountAssignmentDeletionStatusRequest(input *ListAccountAssignmentDeletionStatusInput) (req *request.Request, output *ListAccountAssignmentDeletionStatusOutput) {
1388	op := &request.Operation{
1389		Name:       opListAccountAssignmentDeletionStatus,
1390		HTTPMethod: "POST",
1391		HTTPPath:   "/",
1392		Paginator: &request.Paginator{
1393			InputTokens:     []string{"NextToken"},
1394			OutputTokens:    []string{"NextToken"},
1395			LimitToken:      "MaxResults",
1396			TruncationToken: "",
1397		},
1398	}
1399
1400	if input == nil {
1401		input = &ListAccountAssignmentDeletionStatusInput{}
1402	}
1403
1404	output = &ListAccountAssignmentDeletionStatusOutput{}
1405	req = c.newRequest(op, input, output)
1406	return
1407}
1408
1409// ListAccountAssignmentDeletionStatus API operation for AWS Single Sign-On Admin.
1410//
1411// Lists the status of the AWS account assignment deletion requests for a specified
1412// SSO instance.
1413//
1414// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1415// with awserr.Error's Code and Message methods to get detailed information about
1416// the error.
1417//
1418// See the AWS API reference guide for AWS Single Sign-On Admin's
1419// API operation ListAccountAssignmentDeletionStatus for usage and error information.
1420//
1421// Returned Error Types:
1422//   * ResourceNotFoundException
1423//   Indicates that a requested resource is not found.
1424//
1425//   * InternalServerException
1426//   The request processing has failed because of an unknown error, exception,
1427//   or failure with an internal server.
1428//
1429//   * ThrottlingException
1430//   Indicates that the principal has crossed the throttling limits of the API
1431//   operations.
1432//
1433//   * ValidationException
1434//   The request failed because it contains a syntax error.
1435//
1436//   * AccessDeniedException
1437//   You do not have sufficient access to perform this action.
1438//
1439// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListAccountAssignmentDeletionStatus
1440func (c *SSOAdmin) ListAccountAssignmentDeletionStatus(input *ListAccountAssignmentDeletionStatusInput) (*ListAccountAssignmentDeletionStatusOutput, error) {
1441	req, out := c.ListAccountAssignmentDeletionStatusRequest(input)
1442	return out, req.Send()
1443}
1444
1445// ListAccountAssignmentDeletionStatusWithContext is the same as ListAccountAssignmentDeletionStatus with the addition of
1446// the ability to pass a context and additional request options.
1447//
1448// See ListAccountAssignmentDeletionStatus for details on how to use this API operation.
1449//
1450// The context must be non-nil and will be used for request cancellation. If
1451// the context is nil a panic will occur. In the future the SDK may create
1452// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1453// for more information on using Contexts.
1454func (c *SSOAdmin) ListAccountAssignmentDeletionStatusWithContext(ctx aws.Context, input *ListAccountAssignmentDeletionStatusInput, opts ...request.Option) (*ListAccountAssignmentDeletionStatusOutput, error) {
1455	req, out := c.ListAccountAssignmentDeletionStatusRequest(input)
1456	req.SetContext(ctx)
1457	req.ApplyOptions(opts...)
1458	return out, req.Send()
1459}
1460
1461// ListAccountAssignmentDeletionStatusPages iterates over the pages of a ListAccountAssignmentDeletionStatus operation,
1462// calling the "fn" function with the response data for each page. To stop
1463// iterating, return false from the fn function.
1464//
1465// See ListAccountAssignmentDeletionStatus method for more information on how to use this operation.
1466//
1467// Note: This operation can generate multiple requests to a service.
1468//
1469//    // Example iterating over at most 3 pages of a ListAccountAssignmentDeletionStatus operation.
1470//    pageNum := 0
1471//    err := client.ListAccountAssignmentDeletionStatusPages(params,
1472//        func(page *ssoadmin.ListAccountAssignmentDeletionStatusOutput, lastPage bool) bool {
1473//            pageNum++
1474//            fmt.Println(page)
1475//            return pageNum <= 3
1476//        })
1477//
1478func (c *SSOAdmin) ListAccountAssignmentDeletionStatusPages(input *ListAccountAssignmentDeletionStatusInput, fn func(*ListAccountAssignmentDeletionStatusOutput, bool) bool) error {
1479	return c.ListAccountAssignmentDeletionStatusPagesWithContext(aws.BackgroundContext(), input, fn)
1480}
1481
1482// ListAccountAssignmentDeletionStatusPagesWithContext same as ListAccountAssignmentDeletionStatusPages except
1483// it takes a Context and allows setting request options on the pages.
1484//
1485// The context must be non-nil and will be used for request cancellation. If
1486// the context is nil a panic will occur. In the future the SDK may create
1487// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1488// for more information on using Contexts.
1489func (c *SSOAdmin) ListAccountAssignmentDeletionStatusPagesWithContext(ctx aws.Context, input *ListAccountAssignmentDeletionStatusInput, fn func(*ListAccountAssignmentDeletionStatusOutput, bool) bool, opts ...request.Option) error {
1490	p := request.Pagination{
1491		NewRequest: func() (*request.Request, error) {
1492			var inCpy *ListAccountAssignmentDeletionStatusInput
1493			if input != nil {
1494				tmp := *input
1495				inCpy = &tmp
1496			}
1497			req, _ := c.ListAccountAssignmentDeletionStatusRequest(inCpy)
1498			req.SetContext(ctx)
1499			req.ApplyOptions(opts...)
1500			return req, nil
1501		},
1502	}
1503
1504	for p.Next() {
1505		if !fn(p.Page().(*ListAccountAssignmentDeletionStatusOutput), !p.HasNextPage()) {
1506			break
1507		}
1508	}
1509
1510	return p.Err()
1511}
1512
1513const opListAccountAssignments = "ListAccountAssignments"
1514
1515// ListAccountAssignmentsRequest generates a "aws/request.Request" representing the
1516// client's request for the ListAccountAssignments operation. The "output" return
1517// value will be populated with the request's response once the request completes
1518// successfully.
1519//
1520// Use "Send" method on the returned Request to send the API call to the service.
1521// the "output" return value is not valid until after Send returns without error.
1522//
1523// See ListAccountAssignments for more information on using the ListAccountAssignments
1524// API call, and error handling.
1525//
1526// This method is useful when you want to inject custom logic or configuration
1527// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1528//
1529//
1530//    // Example sending a request using the ListAccountAssignmentsRequest method.
1531//    req, resp := client.ListAccountAssignmentsRequest(params)
1532//
1533//    err := req.Send()
1534//    if err == nil { // resp is now filled
1535//        fmt.Println(resp)
1536//    }
1537//
1538// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListAccountAssignments
1539func (c *SSOAdmin) ListAccountAssignmentsRequest(input *ListAccountAssignmentsInput) (req *request.Request, output *ListAccountAssignmentsOutput) {
1540	op := &request.Operation{
1541		Name:       opListAccountAssignments,
1542		HTTPMethod: "POST",
1543		HTTPPath:   "/",
1544		Paginator: &request.Paginator{
1545			InputTokens:     []string{"NextToken"},
1546			OutputTokens:    []string{"NextToken"},
1547			LimitToken:      "MaxResults",
1548			TruncationToken: "",
1549		},
1550	}
1551
1552	if input == nil {
1553		input = &ListAccountAssignmentsInput{}
1554	}
1555
1556	output = &ListAccountAssignmentsOutput{}
1557	req = c.newRequest(op, input, output)
1558	return
1559}
1560
1561// ListAccountAssignments API operation for AWS Single Sign-On Admin.
1562//
1563// Lists the assignee of the specified AWS account with the specified permission
1564// set.
1565//
1566// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1567// with awserr.Error's Code and Message methods to get detailed information about
1568// the error.
1569//
1570// See the AWS API reference guide for AWS Single Sign-On Admin's
1571// API operation ListAccountAssignments for usage and error information.
1572//
1573// Returned Error Types:
1574//   * ResourceNotFoundException
1575//   Indicates that a requested resource is not found.
1576//
1577//   * InternalServerException
1578//   The request processing has failed because of an unknown error, exception,
1579//   or failure with an internal server.
1580//
1581//   * ThrottlingException
1582//   Indicates that the principal has crossed the throttling limits of the API
1583//   operations.
1584//
1585//   * ValidationException
1586//   The request failed because it contains a syntax error.
1587//
1588//   * AccessDeniedException
1589//   You do not have sufficient access to perform this action.
1590//
1591// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListAccountAssignments
1592func (c *SSOAdmin) ListAccountAssignments(input *ListAccountAssignmentsInput) (*ListAccountAssignmentsOutput, error) {
1593	req, out := c.ListAccountAssignmentsRequest(input)
1594	return out, req.Send()
1595}
1596
1597// ListAccountAssignmentsWithContext is the same as ListAccountAssignments with the addition of
1598// the ability to pass a context and additional request options.
1599//
1600// See ListAccountAssignments for details on how to use this API operation.
1601//
1602// The context must be non-nil and will be used for request cancellation. If
1603// the context is nil a panic will occur. In the future the SDK may create
1604// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1605// for more information on using Contexts.
1606func (c *SSOAdmin) ListAccountAssignmentsWithContext(ctx aws.Context, input *ListAccountAssignmentsInput, opts ...request.Option) (*ListAccountAssignmentsOutput, error) {
1607	req, out := c.ListAccountAssignmentsRequest(input)
1608	req.SetContext(ctx)
1609	req.ApplyOptions(opts...)
1610	return out, req.Send()
1611}
1612
1613// ListAccountAssignmentsPages iterates over the pages of a ListAccountAssignments operation,
1614// calling the "fn" function with the response data for each page. To stop
1615// iterating, return false from the fn function.
1616//
1617// See ListAccountAssignments method for more information on how to use this operation.
1618//
1619// Note: This operation can generate multiple requests to a service.
1620//
1621//    // Example iterating over at most 3 pages of a ListAccountAssignments operation.
1622//    pageNum := 0
1623//    err := client.ListAccountAssignmentsPages(params,
1624//        func(page *ssoadmin.ListAccountAssignmentsOutput, lastPage bool) bool {
1625//            pageNum++
1626//            fmt.Println(page)
1627//            return pageNum <= 3
1628//        })
1629//
1630func (c *SSOAdmin) ListAccountAssignmentsPages(input *ListAccountAssignmentsInput, fn func(*ListAccountAssignmentsOutput, bool) bool) error {
1631	return c.ListAccountAssignmentsPagesWithContext(aws.BackgroundContext(), input, fn)
1632}
1633
1634// ListAccountAssignmentsPagesWithContext same as ListAccountAssignmentsPages except
1635// it takes a Context and allows setting request options on the pages.
1636//
1637// The context must be non-nil and will be used for request cancellation. If
1638// the context is nil a panic will occur. In the future the SDK may create
1639// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1640// for more information on using Contexts.
1641func (c *SSOAdmin) ListAccountAssignmentsPagesWithContext(ctx aws.Context, input *ListAccountAssignmentsInput, fn func(*ListAccountAssignmentsOutput, bool) bool, opts ...request.Option) error {
1642	p := request.Pagination{
1643		NewRequest: func() (*request.Request, error) {
1644			var inCpy *ListAccountAssignmentsInput
1645			if input != nil {
1646				tmp := *input
1647				inCpy = &tmp
1648			}
1649			req, _ := c.ListAccountAssignmentsRequest(inCpy)
1650			req.SetContext(ctx)
1651			req.ApplyOptions(opts...)
1652			return req, nil
1653		},
1654	}
1655
1656	for p.Next() {
1657		if !fn(p.Page().(*ListAccountAssignmentsOutput), !p.HasNextPage()) {
1658			break
1659		}
1660	}
1661
1662	return p.Err()
1663}
1664
1665const opListAccountsForProvisionedPermissionSet = "ListAccountsForProvisionedPermissionSet"
1666
1667// ListAccountsForProvisionedPermissionSetRequest generates a "aws/request.Request" representing the
1668// client's request for the ListAccountsForProvisionedPermissionSet operation. The "output" return
1669// value will be populated with the request's response once the request completes
1670// successfully.
1671//
1672// Use "Send" method on the returned Request to send the API call to the service.
1673// the "output" return value is not valid until after Send returns without error.
1674//
1675// See ListAccountsForProvisionedPermissionSet for more information on using the ListAccountsForProvisionedPermissionSet
1676// API call, and error handling.
1677//
1678// This method is useful when you want to inject custom logic or configuration
1679// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1680//
1681//
1682//    // Example sending a request using the ListAccountsForProvisionedPermissionSetRequest method.
1683//    req, resp := client.ListAccountsForProvisionedPermissionSetRequest(params)
1684//
1685//    err := req.Send()
1686//    if err == nil { // resp is now filled
1687//        fmt.Println(resp)
1688//    }
1689//
1690// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListAccountsForProvisionedPermissionSet
1691func (c *SSOAdmin) ListAccountsForProvisionedPermissionSetRequest(input *ListAccountsForProvisionedPermissionSetInput) (req *request.Request, output *ListAccountsForProvisionedPermissionSetOutput) {
1692	op := &request.Operation{
1693		Name:       opListAccountsForProvisionedPermissionSet,
1694		HTTPMethod: "POST",
1695		HTTPPath:   "/",
1696		Paginator: &request.Paginator{
1697			InputTokens:     []string{"NextToken"},
1698			OutputTokens:    []string{"NextToken"},
1699			LimitToken:      "MaxResults",
1700			TruncationToken: "",
1701		},
1702	}
1703
1704	if input == nil {
1705		input = &ListAccountsForProvisionedPermissionSetInput{}
1706	}
1707
1708	output = &ListAccountsForProvisionedPermissionSetOutput{}
1709	req = c.newRequest(op, input, output)
1710	return
1711}
1712
1713// ListAccountsForProvisionedPermissionSet API operation for AWS Single Sign-On Admin.
1714//
1715// Lists all the AWS accounts where the specified permission set is provisioned.
1716//
1717// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1718// with awserr.Error's Code and Message methods to get detailed information about
1719// the error.
1720//
1721// See the AWS API reference guide for AWS Single Sign-On Admin's
1722// API operation ListAccountsForProvisionedPermissionSet for usage and error information.
1723//
1724// Returned Error Types:
1725//   * ResourceNotFoundException
1726//   Indicates that a requested resource is not found.
1727//
1728//   * InternalServerException
1729//   The request processing has failed because of an unknown error, exception,
1730//   or failure with an internal server.
1731//
1732//   * ThrottlingException
1733//   Indicates that the principal has crossed the throttling limits of the API
1734//   operations.
1735//
1736//   * ValidationException
1737//   The request failed because it contains a syntax error.
1738//
1739//   * AccessDeniedException
1740//   You do not have sufficient access to perform this action.
1741//
1742// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListAccountsForProvisionedPermissionSet
1743func (c *SSOAdmin) ListAccountsForProvisionedPermissionSet(input *ListAccountsForProvisionedPermissionSetInput) (*ListAccountsForProvisionedPermissionSetOutput, error) {
1744	req, out := c.ListAccountsForProvisionedPermissionSetRequest(input)
1745	return out, req.Send()
1746}
1747
1748// ListAccountsForProvisionedPermissionSetWithContext is the same as ListAccountsForProvisionedPermissionSet with the addition of
1749// the ability to pass a context and additional request options.
1750//
1751// See ListAccountsForProvisionedPermissionSet for details on how to use this API operation.
1752//
1753// The context must be non-nil and will be used for request cancellation. If
1754// the context is nil a panic will occur. In the future the SDK may create
1755// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1756// for more information on using Contexts.
1757func (c *SSOAdmin) ListAccountsForProvisionedPermissionSetWithContext(ctx aws.Context, input *ListAccountsForProvisionedPermissionSetInput, opts ...request.Option) (*ListAccountsForProvisionedPermissionSetOutput, error) {
1758	req, out := c.ListAccountsForProvisionedPermissionSetRequest(input)
1759	req.SetContext(ctx)
1760	req.ApplyOptions(opts...)
1761	return out, req.Send()
1762}
1763
1764// ListAccountsForProvisionedPermissionSetPages iterates over the pages of a ListAccountsForProvisionedPermissionSet operation,
1765// calling the "fn" function with the response data for each page. To stop
1766// iterating, return false from the fn function.
1767//
1768// See ListAccountsForProvisionedPermissionSet method for more information on how to use this operation.
1769//
1770// Note: This operation can generate multiple requests to a service.
1771//
1772//    // Example iterating over at most 3 pages of a ListAccountsForProvisionedPermissionSet operation.
1773//    pageNum := 0
1774//    err := client.ListAccountsForProvisionedPermissionSetPages(params,
1775//        func(page *ssoadmin.ListAccountsForProvisionedPermissionSetOutput, lastPage bool) bool {
1776//            pageNum++
1777//            fmt.Println(page)
1778//            return pageNum <= 3
1779//        })
1780//
1781func (c *SSOAdmin) ListAccountsForProvisionedPermissionSetPages(input *ListAccountsForProvisionedPermissionSetInput, fn func(*ListAccountsForProvisionedPermissionSetOutput, bool) bool) error {
1782	return c.ListAccountsForProvisionedPermissionSetPagesWithContext(aws.BackgroundContext(), input, fn)
1783}
1784
1785// ListAccountsForProvisionedPermissionSetPagesWithContext same as ListAccountsForProvisionedPermissionSetPages except
1786// it takes a Context and allows setting request options on the pages.
1787//
1788// The context must be non-nil and will be used for request cancellation. If
1789// the context is nil a panic will occur. In the future the SDK may create
1790// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1791// for more information on using Contexts.
1792func (c *SSOAdmin) ListAccountsForProvisionedPermissionSetPagesWithContext(ctx aws.Context, input *ListAccountsForProvisionedPermissionSetInput, fn func(*ListAccountsForProvisionedPermissionSetOutput, bool) bool, opts ...request.Option) error {
1793	p := request.Pagination{
1794		NewRequest: func() (*request.Request, error) {
1795			var inCpy *ListAccountsForProvisionedPermissionSetInput
1796			if input != nil {
1797				tmp := *input
1798				inCpy = &tmp
1799			}
1800			req, _ := c.ListAccountsForProvisionedPermissionSetRequest(inCpy)
1801			req.SetContext(ctx)
1802			req.ApplyOptions(opts...)
1803			return req, nil
1804		},
1805	}
1806
1807	for p.Next() {
1808		if !fn(p.Page().(*ListAccountsForProvisionedPermissionSetOutput), !p.HasNextPage()) {
1809			break
1810		}
1811	}
1812
1813	return p.Err()
1814}
1815
1816const opListInstances = "ListInstances"
1817
1818// ListInstancesRequest generates a "aws/request.Request" representing the
1819// client's request for the ListInstances operation. The "output" return
1820// value will be populated with the request's response once the request completes
1821// successfully.
1822//
1823// Use "Send" method on the returned Request to send the API call to the service.
1824// the "output" return value is not valid until after Send returns without error.
1825//
1826// See ListInstances for more information on using the ListInstances
1827// API call, and error handling.
1828//
1829// This method is useful when you want to inject custom logic or configuration
1830// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1831//
1832//
1833//    // Example sending a request using the ListInstancesRequest method.
1834//    req, resp := client.ListInstancesRequest(params)
1835//
1836//    err := req.Send()
1837//    if err == nil { // resp is now filled
1838//        fmt.Println(resp)
1839//    }
1840//
1841// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListInstances
1842func (c *SSOAdmin) ListInstancesRequest(input *ListInstancesInput) (req *request.Request, output *ListInstancesOutput) {
1843	op := &request.Operation{
1844		Name:       opListInstances,
1845		HTTPMethod: "POST",
1846		HTTPPath:   "/",
1847		Paginator: &request.Paginator{
1848			InputTokens:     []string{"NextToken"},
1849			OutputTokens:    []string{"NextToken"},
1850			LimitToken:      "MaxResults",
1851			TruncationToken: "",
1852		},
1853	}
1854
1855	if input == nil {
1856		input = &ListInstancesInput{}
1857	}
1858
1859	output = &ListInstancesOutput{}
1860	req = c.newRequest(op, input, output)
1861	return
1862}
1863
1864// ListInstances API operation for AWS Single Sign-On Admin.
1865//
1866// Lists the SSO instances that the caller has access to.
1867//
1868// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1869// with awserr.Error's Code and Message methods to get detailed information about
1870// the error.
1871//
1872// See the AWS API reference guide for AWS Single Sign-On Admin's
1873// API operation ListInstances for usage and error information.
1874//
1875// Returned Error Types:
1876//   * InternalServerException
1877//   The request processing has failed because of an unknown error, exception,
1878//   or failure with an internal server.
1879//
1880//   * ThrottlingException
1881//   Indicates that the principal has crossed the throttling limits of the API
1882//   operations.
1883//
1884//   * AccessDeniedException
1885//   You do not have sufficient access to perform this action.
1886//
1887//   * ValidationException
1888//   The request failed because it contains a syntax error.
1889//
1890// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListInstances
1891func (c *SSOAdmin) ListInstances(input *ListInstancesInput) (*ListInstancesOutput, error) {
1892	req, out := c.ListInstancesRequest(input)
1893	return out, req.Send()
1894}
1895
1896// ListInstancesWithContext is the same as ListInstances with the addition of
1897// the ability to pass a context and additional request options.
1898//
1899// See ListInstances for details on how to use this API operation.
1900//
1901// The context must be non-nil and will be used for request cancellation. If
1902// the context is nil a panic will occur. In the future the SDK may create
1903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1904// for more information on using Contexts.
1905func (c *SSOAdmin) ListInstancesWithContext(ctx aws.Context, input *ListInstancesInput, opts ...request.Option) (*ListInstancesOutput, error) {
1906	req, out := c.ListInstancesRequest(input)
1907	req.SetContext(ctx)
1908	req.ApplyOptions(opts...)
1909	return out, req.Send()
1910}
1911
1912// ListInstancesPages iterates over the pages of a ListInstances operation,
1913// calling the "fn" function with the response data for each page. To stop
1914// iterating, return false from the fn function.
1915//
1916// See ListInstances method for more information on how to use this operation.
1917//
1918// Note: This operation can generate multiple requests to a service.
1919//
1920//    // Example iterating over at most 3 pages of a ListInstances operation.
1921//    pageNum := 0
1922//    err := client.ListInstancesPages(params,
1923//        func(page *ssoadmin.ListInstancesOutput, lastPage bool) bool {
1924//            pageNum++
1925//            fmt.Println(page)
1926//            return pageNum <= 3
1927//        })
1928//
1929func (c *SSOAdmin) ListInstancesPages(input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool) error {
1930	return c.ListInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
1931}
1932
1933// ListInstancesPagesWithContext same as ListInstancesPages except
1934// it takes a Context and allows setting request options on the pages.
1935//
1936// The context must be non-nil and will be used for request cancellation. If
1937// the context is nil a panic will occur. In the future the SDK may create
1938// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1939// for more information on using Contexts.
1940func (c *SSOAdmin) ListInstancesPagesWithContext(ctx aws.Context, input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool, opts ...request.Option) error {
1941	p := request.Pagination{
1942		NewRequest: func() (*request.Request, error) {
1943			var inCpy *ListInstancesInput
1944			if input != nil {
1945				tmp := *input
1946				inCpy = &tmp
1947			}
1948			req, _ := c.ListInstancesRequest(inCpy)
1949			req.SetContext(ctx)
1950			req.ApplyOptions(opts...)
1951			return req, nil
1952		},
1953	}
1954
1955	for p.Next() {
1956		if !fn(p.Page().(*ListInstancesOutput), !p.HasNextPage()) {
1957			break
1958		}
1959	}
1960
1961	return p.Err()
1962}
1963
1964const opListManagedPoliciesInPermissionSet = "ListManagedPoliciesInPermissionSet"
1965
1966// ListManagedPoliciesInPermissionSetRequest generates a "aws/request.Request" representing the
1967// client's request for the ListManagedPoliciesInPermissionSet operation. The "output" return
1968// value will be populated with the request's response once the request completes
1969// successfully.
1970//
1971// Use "Send" method on the returned Request to send the API call to the service.
1972// the "output" return value is not valid until after Send returns without error.
1973//
1974// See ListManagedPoliciesInPermissionSet for more information on using the ListManagedPoliciesInPermissionSet
1975// API call, and error handling.
1976//
1977// This method is useful when you want to inject custom logic or configuration
1978// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1979//
1980//
1981//    // Example sending a request using the ListManagedPoliciesInPermissionSetRequest method.
1982//    req, resp := client.ListManagedPoliciesInPermissionSetRequest(params)
1983//
1984//    err := req.Send()
1985//    if err == nil { // resp is now filled
1986//        fmt.Println(resp)
1987//    }
1988//
1989// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListManagedPoliciesInPermissionSet
1990func (c *SSOAdmin) ListManagedPoliciesInPermissionSetRequest(input *ListManagedPoliciesInPermissionSetInput) (req *request.Request, output *ListManagedPoliciesInPermissionSetOutput) {
1991	op := &request.Operation{
1992		Name:       opListManagedPoliciesInPermissionSet,
1993		HTTPMethod: "POST",
1994		HTTPPath:   "/",
1995		Paginator: &request.Paginator{
1996			InputTokens:     []string{"NextToken"},
1997			OutputTokens:    []string{"NextToken"},
1998			LimitToken:      "MaxResults",
1999			TruncationToken: "",
2000		},
2001	}
2002
2003	if input == nil {
2004		input = &ListManagedPoliciesInPermissionSetInput{}
2005	}
2006
2007	output = &ListManagedPoliciesInPermissionSetOutput{}
2008	req = c.newRequest(op, input, output)
2009	return
2010}
2011
2012// ListManagedPoliciesInPermissionSet API operation for AWS Single Sign-On Admin.
2013//
2014// Lists the IAM managed policy that is attached to a specified permission set.
2015//
2016// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2017// with awserr.Error's Code and Message methods to get detailed information about
2018// the error.
2019//
2020// See the AWS API reference guide for AWS Single Sign-On Admin's
2021// API operation ListManagedPoliciesInPermissionSet for usage and error information.
2022//
2023// Returned Error Types:
2024//   * ResourceNotFoundException
2025//   Indicates that a requested resource is not found.
2026//
2027//   * InternalServerException
2028//   The request processing has failed because of an unknown error, exception,
2029//   or failure with an internal server.
2030//
2031//   * ThrottlingException
2032//   Indicates that the principal has crossed the throttling limits of the API
2033//   operations.
2034//
2035//   * ValidationException
2036//   The request failed because it contains a syntax error.
2037//
2038//   * AccessDeniedException
2039//   You do not have sufficient access to perform this action.
2040//
2041// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListManagedPoliciesInPermissionSet
2042func (c *SSOAdmin) ListManagedPoliciesInPermissionSet(input *ListManagedPoliciesInPermissionSetInput) (*ListManagedPoliciesInPermissionSetOutput, error) {
2043	req, out := c.ListManagedPoliciesInPermissionSetRequest(input)
2044	return out, req.Send()
2045}
2046
2047// ListManagedPoliciesInPermissionSetWithContext is the same as ListManagedPoliciesInPermissionSet with the addition of
2048// the ability to pass a context and additional request options.
2049//
2050// See ListManagedPoliciesInPermissionSet for details on how to use this API operation.
2051//
2052// The context must be non-nil and will be used for request cancellation. If
2053// the context is nil a panic will occur. In the future the SDK may create
2054// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2055// for more information on using Contexts.
2056func (c *SSOAdmin) ListManagedPoliciesInPermissionSetWithContext(ctx aws.Context, input *ListManagedPoliciesInPermissionSetInput, opts ...request.Option) (*ListManagedPoliciesInPermissionSetOutput, error) {
2057	req, out := c.ListManagedPoliciesInPermissionSetRequest(input)
2058	req.SetContext(ctx)
2059	req.ApplyOptions(opts...)
2060	return out, req.Send()
2061}
2062
2063// ListManagedPoliciesInPermissionSetPages iterates over the pages of a ListManagedPoliciesInPermissionSet operation,
2064// calling the "fn" function with the response data for each page. To stop
2065// iterating, return false from the fn function.
2066//
2067// See ListManagedPoliciesInPermissionSet method for more information on how to use this operation.
2068//
2069// Note: This operation can generate multiple requests to a service.
2070//
2071//    // Example iterating over at most 3 pages of a ListManagedPoliciesInPermissionSet operation.
2072//    pageNum := 0
2073//    err := client.ListManagedPoliciesInPermissionSetPages(params,
2074//        func(page *ssoadmin.ListManagedPoliciesInPermissionSetOutput, lastPage bool) bool {
2075//            pageNum++
2076//            fmt.Println(page)
2077//            return pageNum <= 3
2078//        })
2079//
2080func (c *SSOAdmin) ListManagedPoliciesInPermissionSetPages(input *ListManagedPoliciesInPermissionSetInput, fn func(*ListManagedPoliciesInPermissionSetOutput, bool) bool) error {
2081	return c.ListManagedPoliciesInPermissionSetPagesWithContext(aws.BackgroundContext(), input, fn)
2082}
2083
2084// ListManagedPoliciesInPermissionSetPagesWithContext same as ListManagedPoliciesInPermissionSetPages except
2085// it takes a Context and allows setting request options on the pages.
2086//
2087// The context must be non-nil and will be used for request cancellation. If
2088// the context is nil a panic will occur. In the future the SDK may create
2089// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2090// for more information on using Contexts.
2091func (c *SSOAdmin) ListManagedPoliciesInPermissionSetPagesWithContext(ctx aws.Context, input *ListManagedPoliciesInPermissionSetInput, fn func(*ListManagedPoliciesInPermissionSetOutput, bool) bool, opts ...request.Option) error {
2092	p := request.Pagination{
2093		NewRequest: func() (*request.Request, error) {
2094			var inCpy *ListManagedPoliciesInPermissionSetInput
2095			if input != nil {
2096				tmp := *input
2097				inCpy = &tmp
2098			}
2099			req, _ := c.ListManagedPoliciesInPermissionSetRequest(inCpy)
2100			req.SetContext(ctx)
2101			req.ApplyOptions(opts...)
2102			return req, nil
2103		},
2104	}
2105
2106	for p.Next() {
2107		if !fn(p.Page().(*ListManagedPoliciesInPermissionSetOutput), !p.HasNextPage()) {
2108			break
2109		}
2110	}
2111
2112	return p.Err()
2113}
2114
2115const opListPermissionSetProvisioningStatus = "ListPermissionSetProvisioningStatus"
2116
2117// ListPermissionSetProvisioningStatusRequest generates a "aws/request.Request" representing the
2118// client's request for the ListPermissionSetProvisioningStatus operation. The "output" return
2119// value will be populated with the request's response once the request completes
2120// successfully.
2121//
2122// Use "Send" method on the returned Request to send the API call to the service.
2123// the "output" return value is not valid until after Send returns without error.
2124//
2125// See ListPermissionSetProvisioningStatus for more information on using the ListPermissionSetProvisioningStatus
2126// API call, and error handling.
2127//
2128// This method is useful when you want to inject custom logic or configuration
2129// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2130//
2131//
2132//    // Example sending a request using the ListPermissionSetProvisioningStatusRequest method.
2133//    req, resp := client.ListPermissionSetProvisioningStatusRequest(params)
2134//
2135//    err := req.Send()
2136//    if err == nil { // resp is now filled
2137//        fmt.Println(resp)
2138//    }
2139//
2140// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListPermissionSetProvisioningStatus
2141func (c *SSOAdmin) ListPermissionSetProvisioningStatusRequest(input *ListPermissionSetProvisioningStatusInput) (req *request.Request, output *ListPermissionSetProvisioningStatusOutput) {
2142	op := &request.Operation{
2143		Name:       opListPermissionSetProvisioningStatus,
2144		HTTPMethod: "POST",
2145		HTTPPath:   "/",
2146		Paginator: &request.Paginator{
2147			InputTokens:     []string{"NextToken"},
2148			OutputTokens:    []string{"NextToken"},
2149			LimitToken:      "MaxResults",
2150			TruncationToken: "",
2151		},
2152	}
2153
2154	if input == nil {
2155		input = &ListPermissionSetProvisioningStatusInput{}
2156	}
2157
2158	output = &ListPermissionSetProvisioningStatusOutput{}
2159	req = c.newRequest(op, input, output)
2160	return
2161}
2162
2163// ListPermissionSetProvisioningStatus API operation for AWS Single Sign-On Admin.
2164//
2165// Lists the status of the permission set provisioning requests for a specified
2166// SSO instance.
2167//
2168// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2169// with awserr.Error's Code and Message methods to get detailed information about
2170// the error.
2171//
2172// See the AWS API reference guide for AWS Single Sign-On Admin's
2173// API operation ListPermissionSetProvisioningStatus for usage and error information.
2174//
2175// Returned Error Types:
2176//   * ResourceNotFoundException
2177//   Indicates that a requested resource is not found.
2178//
2179//   * InternalServerException
2180//   The request processing has failed because of an unknown error, exception,
2181//   or failure with an internal server.
2182//
2183//   * ThrottlingException
2184//   Indicates that the principal has crossed the throttling limits of the API
2185//   operations.
2186//
2187//   * ValidationException
2188//   The request failed because it contains a syntax error.
2189//
2190//   * AccessDeniedException
2191//   You do not have sufficient access to perform this action.
2192//
2193// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListPermissionSetProvisioningStatus
2194func (c *SSOAdmin) ListPermissionSetProvisioningStatus(input *ListPermissionSetProvisioningStatusInput) (*ListPermissionSetProvisioningStatusOutput, error) {
2195	req, out := c.ListPermissionSetProvisioningStatusRequest(input)
2196	return out, req.Send()
2197}
2198
2199// ListPermissionSetProvisioningStatusWithContext is the same as ListPermissionSetProvisioningStatus with the addition of
2200// the ability to pass a context and additional request options.
2201//
2202// See ListPermissionSetProvisioningStatus for details on how to use this API operation.
2203//
2204// The context must be non-nil and will be used for request cancellation. If
2205// the context is nil a panic will occur. In the future the SDK may create
2206// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2207// for more information on using Contexts.
2208func (c *SSOAdmin) ListPermissionSetProvisioningStatusWithContext(ctx aws.Context, input *ListPermissionSetProvisioningStatusInput, opts ...request.Option) (*ListPermissionSetProvisioningStatusOutput, error) {
2209	req, out := c.ListPermissionSetProvisioningStatusRequest(input)
2210	req.SetContext(ctx)
2211	req.ApplyOptions(opts...)
2212	return out, req.Send()
2213}
2214
2215// ListPermissionSetProvisioningStatusPages iterates over the pages of a ListPermissionSetProvisioningStatus operation,
2216// calling the "fn" function with the response data for each page. To stop
2217// iterating, return false from the fn function.
2218//
2219// See ListPermissionSetProvisioningStatus method for more information on how to use this operation.
2220//
2221// Note: This operation can generate multiple requests to a service.
2222//
2223//    // Example iterating over at most 3 pages of a ListPermissionSetProvisioningStatus operation.
2224//    pageNum := 0
2225//    err := client.ListPermissionSetProvisioningStatusPages(params,
2226//        func(page *ssoadmin.ListPermissionSetProvisioningStatusOutput, lastPage bool) bool {
2227//            pageNum++
2228//            fmt.Println(page)
2229//            return pageNum <= 3
2230//        })
2231//
2232func (c *SSOAdmin) ListPermissionSetProvisioningStatusPages(input *ListPermissionSetProvisioningStatusInput, fn func(*ListPermissionSetProvisioningStatusOutput, bool) bool) error {
2233	return c.ListPermissionSetProvisioningStatusPagesWithContext(aws.BackgroundContext(), input, fn)
2234}
2235
2236// ListPermissionSetProvisioningStatusPagesWithContext same as ListPermissionSetProvisioningStatusPages except
2237// it takes a Context and allows setting request options on the pages.
2238//
2239// The context must be non-nil and will be used for request cancellation. If
2240// the context is nil a panic will occur. In the future the SDK may create
2241// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2242// for more information on using Contexts.
2243func (c *SSOAdmin) ListPermissionSetProvisioningStatusPagesWithContext(ctx aws.Context, input *ListPermissionSetProvisioningStatusInput, fn func(*ListPermissionSetProvisioningStatusOutput, bool) bool, opts ...request.Option) error {
2244	p := request.Pagination{
2245		NewRequest: func() (*request.Request, error) {
2246			var inCpy *ListPermissionSetProvisioningStatusInput
2247			if input != nil {
2248				tmp := *input
2249				inCpy = &tmp
2250			}
2251			req, _ := c.ListPermissionSetProvisioningStatusRequest(inCpy)
2252			req.SetContext(ctx)
2253			req.ApplyOptions(opts...)
2254			return req, nil
2255		},
2256	}
2257
2258	for p.Next() {
2259		if !fn(p.Page().(*ListPermissionSetProvisioningStatusOutput), !p.HasNextPage()) {
2260			break
2261		}
2262	}
2263
2264	return p.Err()
2265}
2266
2267const opListPermissionSets = "ListPermissionSets"
2268
2269// ListPermissionSetsRequest generates a "aws/request.Request" representing the
2270// client's request for the ListPermissionSets operation. The "output" return
2271// value will be populated with the request's response once the request completes
2272// successfully.
2273//
2274// Use "Send" method on the returned Request to send the API call to the service.
2275// the "output" return value is not valid until after Send returns without error.
2276//
2277// See ListPermissionSets for more information on using the ListPermissionSets
2278// API call, and error handling.
2279//
2280// This method is useful when you want to inject custom logic or configuration
2281// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2282//
2283//
2284//    // Example sending a request using the ListPermissionSetsRequest method.
2285//    req, resp := client.ListPermissionSetsRequest(params)
2286//
2287//    err := req.Send()
2288//    if err == nil { // resp is now filled
2289//        fmt.Println(resp)
2290//    }
2291//
2292// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListPermissionSets
2293func (c *SSOAdmin) ListPermissionSetsRequest(input *ListPermissionSetsInput) (req *request.Request, output *ListPermissionSetsOutput) {
2294	op := &request.Operation{
2295		Name:       opListPermissionSets,
2296		HTTPMethod: "POST",
2297		HTTPPath:   "/",
2298		Paginator: &request.Paginator{
2299			InputTokens:     []string{"NextToken"},
2300			OutputTokens:    []string{"NextToken"},
2301			LimitToken:      "MaxResults",
2302			TruncationToken: "",
2303		},
2304	}
2305
2306	if input == nil {
2307		input = &ListPermissionSetsInput{}
2308	}
2309
2310	output = &ListPermissionSetsOutput{}
2311	req = c.newRequest(op, input, output)
2312	return
2313}
2314
2315// ListPermissionSets API operation for AWS Single Sign-On Admin.
2316//
2317// Lists the PermissionSets in an SSO instance.
2318//
2319// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2320// with awserr.Error's Code and Message methods to get detailed information about
2321// the error.
2322//
2323// See the AWS API reference guide for AWS Single Sign-On Admin's
2324// API operation ListPermissionSets for usage and error information.
2325//
2326// Returned Error Types:
2327//   * ResourceNotFoundException
2328//   Indicates that a requested resource is not found.
2329//
2330//   * InternalServerException
2331//   The request processing has failed because of an unknown error, exception,
2332//   or failure with an internal server.
2333//
2334//   * ThrottlingException
2335//   Indicates that the principal has crossed the throttling limits of the API
2336//   operations.
2337//
2338//   * ValidationException
2339//   The request failed because it contains a syntax error.
2340//
2341//   * AccessDeniedException
2342//   You do not have sufficient access to perform this action.
2343//
2344// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListPermissionSets
2345func (c *SSOAdmin) ListPermissionSets(input *ListPermissionSetsInput) (*ListPermissionSetsOutput, error) {
2346	req, out := c.ListPermissionSetsRequest(input)
2347	return out, req.Send()
2348}
2349
2350// ListPermissionSetsWithContext is the same as ListPermissionSets with the addition of
2351// the ability to pass a context and additional request options.
2352//
2353// See ListPermissionSets for details on how to use this API operation.
2354//
2355// The context must be non-nil and will be used for request cancellation. If
2356// the context is nil a panic will occur. In the future the SDK may create
2357// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2358// for more information on using Contexts.
2359func (c *SSOAdmin) ListPermissionSetsWithContext(ctx aws.Context, input *ListPermissionSetsInput, opts ...request.Option) (*ListPermissionSetsOutput, error) {
2360	req, out := c.ListPermissionSetsRequest(input)
2361	req.SetContext(ctx)
2362	req.ApplyOptions(opts...)
2363	return out, req.Send()
2364}
2365
2366// ListPermissionSetsPages iterates over the pages of a ListPermissionSets operation,
2367// calling the "fn" function with the response data for each page. To stop
2368// iterating, return false from the fn function.
2369//
2370// See ListPermissionSets method for more information on how to use this operation.
2371//
2372// Note: This operation can generate multiple requests to a service.
2373//
2374//    // Example iterating over at most 3 pages of a ListPermissionSets operation.
2375//    pageNum := 0
2376//    err := client.ListPermissionSetsPages(params,
2377//        func(page *ssoadmin.ListPermissionSetsOutput, lastPage bool) bool {
2378//            pageNum++
2379//            fmt.Println(page)
2380//            return pageNum <= 3
2381//        })
2382//
2383func (c *SSOAdmin) ListPermissionSetsPages(input *ListPermissionSetsInput, fn func(*ListPermissionSetsOutput, bool) bool) error {
2384	return c.ListPermissionSetsPagesWithContext(aws.BackgroundContext(), input, fn)
2385}
2386
2387// ListPermissionSetsPagesWithContext same as ListPermissionSetsPages except
2388// it takes a Context and allows setting request options on the pages.
2389//
2390// The context must be non-nil and will be used for request cancellation. If
2391// the context is nil a panic will occur. In the future the SDK may create
2392// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2393// for more information on using Contexts.
2394func (c *SSOAdmin) ListPermissionSetsPagesWithContext(ctx aws.Context, input *ListPermissionSetsInput, fn func(*ListPermissionSetsOutput, bool) bool, opts ...request.Option) error {
2395	p := request.Pagination{
2396		NewRequest: func() (*request.Request, error) {
2397			var inCpy *ListPermissionSetsInput
2398			if input != nil {
2399				tmp := *input
2400				inCpy = &tmp
2401			}
2402			req, _ := c.ListPermissionSetsRequest(inCpy)
2403			req.SetContext(ctx)
2404			req.ApplyOptions(opts...)
2405			return req, nil
2406		},
2407	}
2408
2409	for p.Next() {
2410		if !fn(p.Page().(*ListPermissionSetsOutput), !p.HasNextPage()) {
2411			break
2412		}
2413	}
2414
2415	return p.Err()
2416}
2417
2418const opListPermissionSetsProvisionedToAccount = "ListPermissionSetsProvisionedToAccount"
2419
2420// ListPermissionSetsProvisionedToAccountRequest generates a "aws/request.Request" representing the
2421// client's request for the ListPermissionSetsProvisionedToAccount operation. The "output" return
2422// value will be populated with the request's response once the request completes
2423// successfully.
2424//
2425// Use "Send" method on the returned Request to send the API call to the service.
2426// the "output" return value is not valid until after Send returns without error.
2427//
2428// See ListPermissionSetsProvisionedToAccount for more information on using the ListPermissionSetsProvisionedToAccount
2429// API call, and error handling.
2430//
2431// This method is useful when you want to inject custom logic or configuration
2432// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2433//
2434//
2435//    // Example sending a request using the ListPermissionSetsProvisionedToAccountRequest method.
2436//    req, resp := client.ListPermissionSetsProvisionedToAccountRequest(params)
2437//
2438//    err := req.Send()
2439//    if err == nil { // resp is now filled
2440//        fmt.Println(resp)
2441//    }
2442//
2443// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListPermissionSetsProvisionedToAccount
2444func (c *SSOAdmin) ListPermissionSetsProvisionedToAccountRequest(input *ListPermissionSetsProvisionedToAccountInput) (req *request.Request, output *ListPermissionSetsProvisionedToAccountOutput) {
2445	op := &request.Operation{
2446		Name:       opListPermissionSetsProvisionedToAccount,
2447		HTTPMethod: "POST",
2448		HTTPPath:   "/",
2449		Paginator: &request.Paginator{
2450			InputTokens:     []string{"NextToken"},
2451			OutputTokens:    []string{"NextToken"},
2452			LimitToken:      "MaxResults",
2453			TruncationToken: "",
2454		},
2455	}
2456
2457	if input == nil {
2458		input = &ListPermissionSetsProvisionedToAccountInput{}
2459	}
2460
2461	output = &ListPermissionSetsProvisionedToAccountOutput{}
2462	req = c.newRequest(op, input, output)
2463	return
2464}
2465
2466// ListPermissionSetsProvisionedToAccount API operation for AWS Single Sign-On Admin.
2467//
2468// Lists all the permission sets that are provisioned to a specified AWS account.
2469//
2470// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2471// with awserr.Error's Code and Message methods to get detailed information about
2472// the error.
2473//
2474// See the AWS API reference guide for AWS Single Sign-On Admin's
2475// API operation ListPermissionSetsProvisionedToAccount for usage and error information.
2476//
2477// Returned Error Types:
2478//   * ResourceNotFoundException
2479//   Indicates that a requested resource is not found.
2480//
2481//   * InternalServerException
2482//   The request processing has failed because of an unknown error, exception,
2483//   or failure with an internal server.
2484//
2485//   * ThrottlingException
2486//   Indicates that the principal has crossed the throttling limits of the API
2487//   operations.
2488//
2489//   * ValidationException
2490//   The request failed because it contains a syntax error.
2491//
2492//   * AccessDeniedException
2493//   You do not have sufficient access to perform this action.
2494//
2495// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListPermissionSetsProvisionedToAccount
2496func (c *SSOAdmin) ListPermissionSetsProvisionedToAccount(input *ListPermissionSetsProvisionedToAccountInput) (*ListPermissionSetsProvisionedToAccountOutput, error) {
2497	req, out := c.ListPermissionSetsProvisionedToAccountRequest(input)
2498	return out, req.Send()
2499}
2500
2501// ListPermissionSetsProvisionedToAccountWithContext is the same as ListPermissionSetsProvisionedToAccount with the addition of
2502// the ability to pass a context and additional request options.
2503//
2504// See ListPermissionSetsProvisionedToAccount for details on how to use this API operation.
2505//
2506// The context must be non-nil and will be used for request cancellation. If
2507// the context is nil a panic will occur. In the future the SDK may create
2508// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2509// for more information on using Contexts.
2510func (c *SSOAdmin) ListPermissionSetsProvisionedToAccountWithContext(ctx aws.Context, input *ListPermissionSetsProvisionedToAccountInput, opts ...request.Option) (*ListPermissionSetsProvisionedToAccountOutput, error) {
2511	req, out := c.ListPermissionSetsProvisionedToAccountRequest(input)
2512	req.SetContext(ctx)
2513	req.ApplyOptions(opts...)
2514	return out, req.Send()
2515}
2516
2517// ListPermissionSetsProvisionedToAccountPages iterates over the pages of a ListPermissionSetsProvisionedToAccount operation,
2518// calling the "fn" function with the response data for each page. To stop
2519// iterating, return false from the fn function.
2520//
2521// See ListPermissionSetsProvisionedToAccount method for more information on how to use this operation.
2522//
2523// Note: This operation can generate multiple requests to a service.
2524//
2525//    // Example iterating over at most 3 pages of a ListPermissionSetsProvisionedToAccount operation.
2526//    pageNum := 0
2527//    err := client.ListPermissionSetsProvisionedToAccountPages(params,
2528//        func(page *ssoadmin.ListPermissionSetsProvisionedToAccountOutput, lastPage bool) bool {
2529//            pageNum++
2530//            fmt.Println(page)
2531//            return pageNum <= 3
2532//        })
2533//
2534func (c *SSOAdmin) ListPermissionSetsProvisionedToAccountPages(input *ListPermissionSetsProvisionedToAccountInput, fn func(*ListPermissionSetsProvisionedToAccountOutput, bool) bool) error {
2535	return c.ListPermissionSetsProvisionedToAccountPagesWithContext(aws.BackgroundContext(), input, fn)
2536}
2537
2538// ListPermissionSetsProvisionedToAccountPagesWithContext same as ListPermissionSetsProvisionedToAccountPages except
2539// it takes a Context and allows setting request options on the pages.
2540//
2541// The context must be non-nil and will be used for request cancellation. If
2542// the context is nil a panic will occur. In the future the SDK may create
2543// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2544// for more information on using Contexts.
2545func (c *SSOAdmin) ListPermissionSetsProvisionedToAccountPagesWithContext(ctx aws.Context, input *ListPermissionSetsProvisionedToAccountInput, fn func(*ListPermissionSetsProvisionedToAccountOutput, bool) bool, opts ...request.Option) error {
2546	p := request.Pagination{
2547		NewRequest: func() (*request.Request, error) {
2548			var inCpy *ListPermissionSetsProvisionedToAccountInput
2549			if input != nil {
2550				tmp := *input
2551				inCpy = &tmp
2552			}
2553			req, _ := c.ListPermissionSetsProvisionedToAccountRequest(inCpy)
2554			req.SetContext(ctx)
2555			req.ApplyOptions(opts...)
2556			return req, nil
2557		},
2558	}
2559
2560	for p.Next() {
2561		if !fn(p.Page().(*ListPermissionSetsProvisionedToAccountOutput), !p.HasNextPage()) {
2562			break
2563		}
2564	}
2565
2566	return p.Err()
2567}
2568
2569const opListTagsForResource = "ListTagsForResource"
2570
2571// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2572// client's request for the ListTagsForResource operation. The "output" return
2573// value will be populated with the request's response once the request completes
2574// successfully.
2575//
2576// Use "Send" method on the returned Request to send the API call to the service.
2577// the "output" return value is not valid until after Send returns without error.
2578//
2579// See ListTagsForResource for more information on using the ListTagsForResource
2580// API call, and error handling.
2581//
2582// This method is useful when you want to inject custom logic or configuration
2583// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2584//
2585//
2586//    // Example sending a request using the ListTagsForResourceRequest method.
2587//    req, resp := client.ListTagsForResourceRequest(params)
2588//
2589//    err := req.Send()
2590//    if err == nil { // resp is now filled
2591//        fmt.Println(resp)
2592//    }
2593//
2594// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListTagsForResource
2595func (c *SSOAdmin) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2596	op := &request.Operation{
2597		Name:       opListTagsForResource,
2598		HTTPMethod: "POST",
2599		HTTPPath:   "/",
2600		Paginator: &request.Paginator{
2601			InputTokens:     []string{"NextToken"},
2602			OutputTokens:    []string{"NextToken"},
2603			LimitToken:      "",
2604			TruncationToken: "",
2605		},
2606	}
2607
2608	if input == nil {
2609		input = &ListTagsForResourceInput{}
2610	}
2611
2612	output = &ListTagsForResourceOutput{}
2613	req = c.newRequest(op, input, output)
2614	return
2615}
2616
2617// ListTagsForResource API operation for AWS Single Sign-On Admin.
2618//
2619// Lists the tags that are attached to a specified resource.
2620//
2621// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2622// with awserr.Error's Code and Message methods to get detailed information about
2623// the error.
2624//
2625// See the AWS API reference guide for AWS Single Sign-On Admin's
2626// API operation ListTagsForResource for usage and error information.
2627//
2628// Returned Error Types:
2629//   * ResourceNotFoundException
2630//   Indicates that a requested resource is not found.
2631//
2632//   * InternalServerException
2633//   The request processing has failed because of an unknown error, exception,
2634//   or failure with an internal server.
2635//
2636//   * ThrottlingException
2637//   Indicates that the principal has crossed the throttling limits of the API
2638//   operations.
2639//
2640//   * ValidationException
2641//   The request failed because it contains a syntax error.
2642//
2643//   * AccessDeniedException
2644//   You do not have sufficient access to perform this action.
2645//
2646// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListTagsForResource
2647func (c *SSOAdmin) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2648	req, out := c.ListTagsForResourceRequest(input)
2649	return out, req.Send()
2650}
2651
2652// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2653// the ability to pass a context and additional request options.
2654//
2655// See ListTagsForResource for details on how to use this API operation.
2656//
2657// The context must be non-nil and will be used for request cancellation. If
2658// the context is nil a panic will occur. In the future the SDK may create
2659// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2660// for more information on using Contexts.
2661func (c *SSOAdmin) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2662	req, out := c.ListTagsForResourceRequest(input)
2663	req.SetContext(ctx)
2664	req.ApplyOptions(opts...)
2665	return out, req.Send()
2666}
2667
2668// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation,
2669// calling the "fn" function with the response data for each page. To stop
2670// iterating, return false from the fn function.
2671//
2672// See ListTagsForResource method for more information on how to use this operation.
2673//
2674// Note: This operation can generate multiple requests to a service.
2675//
2676//    // Example iterating over at most 3 pages of a ListTagsForResource operation.
2677//    pageNum := 0
2678//    err := client.ListTagsForResourcePages(params,
2679//        func(page *ssoadmin.ListTagsForResourceOutput, lastPage bool) bool {
2680//            pageNum++
2681//            fmt.Println(page)
2682//            return pageNum <= 3
2683//        })
2684//
2685func (c *SSOAdmin) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error {
2686	return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
2687}
2688
2689// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except
2690// it takes a Context and allows setting request options on the pages.
2691//
2692// The context must be non-nil and will be used for request cancellation. If
2693// the context is nil a panic will occur. In the future the SDK may create
2694// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2695// for more information on using Contexts.
2696func (c *SSOAdmin) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error {
2697	p := request.Pagination{
2698		NewRequest: func() (*request.Request, error) {
2699			var inCpy *ListTagsForResourceInput
2700			if input != nil {
2701				tmp := *input
2702				inCpy = &tmp
2703			}
2704			req, _ := c.ListTagsForResourceRequest(inCpy)
2705			req.SetContext(ctx)
2706			req.ApplyOptions(opts...)
2707			return req, nil
2708		},
2709	}
2710
2711	for p.Next() {
2712		if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) {
2713			break
2714		}
2715	}
2716
2717	return p.Err()
2718}
2719
2720const opProvisionPermissionSet = "ProvisionPermissionSet"
2721
2722// ProvisionPermissionSetRequest generates a "aws/request.Request" representing the
2723// client's request for the ProvisionPermissionSet operation. The "output" return
2724// value will be populated with the request's response once the request completes
2725// successfully.
2726//
2727// Use "Send" method on the returned Request to send the API call to the service.
2728// the "output" return value is not valid until after Send returns without error.
2729//
2730// See ProvisionPermissionSet for more information on using the ProvisionPermissionSet
2731// API call, and error handling.
2732//
2733// This method is useful when you want to inject custom logic or configuration
2734// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2735//
2736//
2737//    // Example sending a request using the ProvisionPermissionSetRequest method.
2738//    req, resp := client.ProvisionPermissionSetRequest(params)
2739//
2740//    err := req.Send()
2741//    if err == nil { // resp is now filled
2742//        fmt.Println(resp)
2743//    }
2744//
2745// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ProvisionPermissionSet
2746func (c *SSOAdmin) ProvisionPermissionSetRequest(input *ProvisionPermissionSetInput) (req *request.Request, output *ProvisionPermissionSetOutput) {
2747	op := &request.Operation{
2748		Name:       opProvisionPermissionSet,
2749		HTTPMethod: "POST",
2750		HTTPPath:   "/",
2751	}
2752
2753	if input == nil {
2754		input = &ProvisionPermissionSetInput{}
2755	}
2756
2757	output = &ProvisionPermissionSetOutput{}
2758	req = c.newRequest(op, input, output)
2759	return
2760}
2761
2762// ProvisionPermissionSet API operation for AWS Single Sign-On Admin.
2763//
2764// The process by which a specified permission set is provisioned to the specified
2765// target.
2766//
2767// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2768// with awserr.Error's Code and Message methods to get detailed information about
2769// the error.
2770//
2771// See the AWS API reference guide for AWS Single Sign-On Admin's
2772// API operation ProvisionPermissionSet for usage and error information.
2773//
2774// Returned Error Types:
2775//   * ResourceNotFoundException
2776//   Indicates that a requested resource is not found.
2777//
2778//   * InternalServerException
2779//   The request processing has failed because of an unknown error, exception,
2780//   or failure with an internal server.
2781//
2782//   * ThrottlingException
2783//   Indicates that the principal has crossed the throttling limits of the API
2784//   operations.
2785//
2786//   * ValidationException
2787//   The request failed because it contains a syntax error.
2788//
2789//   * AccessDeniedException
2790//   You do not have sufficient access to perform this action.
2791//
2792//   * ConflictException
2793//   Occurs when a conflict with a previous successful write is detected. This
2794//   generally occurs when the previous write did not have time to propagate to
2795//   the host serving the current request. A retry (with appropriate backoff logic)
2796//   is the recommended response to this exception.
2797//
2798// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ProvisionPermissionSet
2799func (c *SSOAdmin) ProvisionPermissionSet(input *ProvisionPermissionSetInput) (*ProvisionPermissionSetOutput, error) {
2800	req, out := c.ProvisionPermissionSetRequest(input)
2801	return out, req.Send()
2802}
2803
2804// ProvisionPermissionSetWithContext is the same as ProvisionPermissionSet with the addition of
2805// the ability to pass a context and additional request options.
2806//
2807// See ProvisionPermissionSet for details on how to use this API operation.
2808//
2809// The context must be non-nil and will be used for request cancellation. If
2810// the context is nil a panic will occur. In the future the SDK may create
2811// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2812// for more information on using Contexts.
2813func (c *SSOAdmin) ProvisionPermissionSetWithContext(ctx aws.Context, input *ProvisionPermissionSetInput, opts ...request.Option) (*ProvisionPermissionSetOutput, error) {
2814	req, out := c.ProvisionPermissionSetRequest(input)
2815	req.SetContext(ctx)
2816	req.ApplyOptions(opts...)
2817	return out, req.Send()
2818}
2819
2820const opPutInlinePolicyToPermissionSet = "PutInlinePolicyToPermissionSet"
2821
2822// PutInlinePolicyToPermissionSetRequest generates a "aws/request.Request" representing the
2823// client's request for the PutInlinePolicyToPermissionSet operation. The "output" return
2824// value will be populated with the request's response once the request completes
2825// successfully.
2826//
2827// Use "Send" method on the returned Request to send the API call to the service.
2828// the "output" return value is not valid until after Send returns without error.
2829//
2830// See PutInlinePolicyToPermissionSet for more information on using the PutInlinePolicyToPermissionSet
2831// API call, and error handling.
2832//
2833// This method is useful when you want to inject custom logic or configuration
2834// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2835//
2836//
2837//    // Example sending a request using the PutInlinePolicyToPermissionSetRequest method.
2838//    req, resp := client.PutInlinePolicyToPermissionSetRequest(params)
2839//
2840//    err := req.Send()
2841//    if err == nil { // resp is now filled
2842//        fmt.Println(resp)
2843//    }
2844//
2845// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/PutInlinePolicyToPermissionSet
2846func (c *SSOAdmin) PutInlinePolicyToPermissionSetRequest(input *PutInlinePolicyToPermissionSetInput) (req *request.Request, output *PutInlinePolicyToPermissionSetOutput) {
2847	op := &request.Operation{
2848		Name:       opPutInlinePolicyToPermissionSet,
2849		HTTPMethod: "POST",
2850		HTTPPath:   "/",
2851	}
2852
2853	if input == nil {
2854		input = &PutInlinePolicyToPermissionSetInput{}
2855	}
2856
2857	output = &PutInlinePolicyToPermissionSetOutput{}
2858	req = c.newRequest(op, input, output)
2859	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2860	return
2861}
2862
2863// PutInlinePolicyToPermissionSet API operation for AWS Single Sign-On Admin.
2864//
2865// Attaches an IAM inline policy to a permission set.
2866//
2867// If the permission set is already referenced by one or more account assignments,
2868// you will need to call ProvisionPermissionSet after this action to apply the
2869// corresponding IAM policy updates to all assigned accounts.
2870//
2871// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2872// with awserr.Error's Code and Message methods to get detailed information about
2873// the error.
2874//
2875// See the AWS API reference guide for AWS Single Sign-On Admin's
2876// API operation PutInlinePolicyToPermissionSet for usage and error information.
2877//
2878// Returned Error Types:
2879//   * ResourceNotFoundException
2880//   Indicates that a requested resource is not found.
2881//
2882//   * InternalServerException
2883//   The request processing has failed because of an unknown error, exception,
2884//   or failure with an internal server.
2885//
2886//   * ServiceQuotaExceededException
2887//   Indicates that the principal has crossed the permitted number of resources
2888//   that can be created.
2889//
2890//   * ThrottlingException
2891//   Indicates that the principal has crossed the throttling limits of the API
2892//   operations.
2893//
2894//   * ValidationException
2895//   The request failed because it contains a syntax error.
2896//
2897//   * AccessDeniedException
2898//   You do not have sufficient access to perform this action.
2899//
2900//   * ConflictException
2901//   Occurs when a conflict with a previous successful write is detected. This
2902//   generally occurs when the previous write did not have time to propagate to
2903//   the host serving the current request. A retry (with appropriate backoff logic)
2904//   is the recommended response to this exception.
2905//
2906// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/PutInlinePolicyToPermissionSet
2907func (c *SSOAdmin) PutInlinePolicyToPermissionSet(input *PutInlinePolicyToPermissionSetInput) (*PutInlinePolicyToPermissionSetOutput, error) {
2908	req, out := c.PutInlinePolicyToPermissionSetRequest(input)
2909	return out, req.Send()
2910}
2911
2912// PutInlinePolicyToPermissionSetWithContext is the same as PutInlinePolicyToPermissionSet with the addition of
2913// the ability to pass a context and additional request options.
2914//
2915// See PutInlinePolicyToPermissionSet for details on how to use this API operation.
2916//
2917// The context must be non-nil and will be used for request cancellation. If
2918// the context is nil a panic will occur. In the future the SDK may create
2919// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2920// for more information on using Contexts.
2921func (c *SSOAdmin) PutInlinePolicyToPermissionSetWithContext(ctx aws.Context, input *PutInlinePolicyToPermissionSetInput, opts ...request.Option) (*PutInlinePolicyToPermissionSetOutput, error) {
2922	req, out := c.PutInlinePolicyToPermissionSetRequest(input)
2923	req.SetContext(ctx)
2924	req.ApplyOptions(opts...)
2925	return out, req.Send()
2926}
2927
2928const opTagResource = "TagResource"
2929
2930// TagResourceRequest generates a "aws/request.Request" representing the
2931// client's request for the TagResource operation. The "output" return
2932// value will be populated with the request's response once the request completes
2933// successfully.
2934//
2935// Use "Send" method on the returned Request to send the API call to the service.
2936// the "output" return value is not valid until after Send returns without error.
2937//
2938// See TagResource for more information on using the TagResource
2939// API call, and error handling.
2940//
2941// This method is useful when you want to inject custom logic or configuration
2942// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2943//
2944//
2945//    // Example sending a request using the TagResourceRequest method.
2946//    req, resp := client.TagResourceRequest(params)
2947//
2948//    err := req.Send()
2949//    if err == nil { // resp is now filled
2950//        fmt.Println(resp)
2951//    }
2952//
2953// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/TagResource
2954func (c *SSOAdmin) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2955	op := &request.Operation{
2956		Name:       opTagResource,
2957		HTTPMethod: "POST",
2958		HTTPPath:   "/",
2959	}
2960
2961	if input == nil {
2962		input = &TagResourceInput{}
2963	}
2964
2965	output = &TagResourceOutput{}
2966	req = c.newRequest(op, input, output)
2967	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2968	return
2969}
2970
2971// TagResource API operation for AWS Single Sign-On Admin.
2972//
2973// Associates a set of tags with a specified resource.
2974//
2975// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2976// with awserr.Error's Code and Message methods to get detailed information about
2977// the error.
2978//
2979// See the AWS API reference guide for AWS Single Sign-On Admin's
2980// API operation TagResource for usage and error information.
2981//
2982// Returned Error Types:
2983//   * ResourceNotFoundException
2984//   Indicates that a requested resource is not found.
2985//
2986//   * InternalServerException
2987//   The request processing has failed because of an unknown error, exception,
2988//   or failure with an internal server.
2989//
2990//   * ServiceQuotaExceededException
2991//   Indicates that the principal has crossed the permitted number of resources
2992//   that can be created.
2993//
2994//   * ThrottlingException
2995//   Indicates that the principal has crossed the throttling limits of the API
2996//   operations.
2997//
2998//   * ValidationException
2999//   The request failed because it contains a syntax error.
3000//
3001//   * AccessDeniedException
3002//   You do not have sufficient access to perform this action.
3003//
3004//   * ConflictException
3005//   Occurs when a conflict with a previous successful write is detected. This
3006//   generally occurs when the previous write did not have time to propagate to
3007//   the host serving the current request. A retry (with appropriate backoff logic)
3008//   is the recommended response to this exception.
3009//
3010// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/TagResource
3011func (c *SSOAdmin) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
3012	req, out := c.TagResourceRequest(input)
3013	return out, req.Send()
3014}
3015
3016// TagResourceWithContext is the same as TagResource with the addition of
3017// the ability to pass a context and additional request options.
3018//
3019// See TagResource for details on how to use this API operation.
3020//
3021// The context must be non-nil and will be used for request cancellation. If
3022// the context is nil a panic will occur. In the future the SDK may create
3023// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3024// for more information on using Contexts.
3025func (c *SSOAdmin) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
3026	req, out := c.TagResourceRequest(input)
3027	req.SetContext(ctx)
3028	req.ApplyOptions(opts...)
3029	return out, req.Send()
3030}
3031
3032const opUntagResource = "UntagResource"
3033
3034// UntagResourceRequest generates a "aws/request.Request" representing the
3035// client's request for the UntagResource operation. The "output" return
3036// value will be populated with the request's response once the request completes
3037// successfully.
3038//
3039// Use "Send" method on the returned Request to send the API call to the service.
3040// the "output" return value is not valid until after Send returns without error.
3041//
3042// See UntagResource for more information on using the UntagResource
3043// API call, and error handling.
3044//
3045// This method is useful when you want to inject custom logic or configuration
3046// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3047//
3048//
3049//    // Example sending a request using the UntagResourceRequest method.
3050//    req, resp := client.UntagResourceRequest(params)
3051//
3052//    err := req.Send()
3053//    if err == nil { // resp is now filled
3054//        fmt.Println(resp)
3055//    }
3056//
3057// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/UntagResource
3058func (c *SSOAdmin) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
3059	op := &request.Operation{
3060		Name:       opUntagResource,
3061		HTTPMethod: "POST",
3062		HTTPPath:   "/",
3063	}
3064
3065	if input == nil {
3066		input = &UntagResourceInput{}
3067	}
3068
3069	output = &UntagResourceOutput{}
3070	req = c.newRequest(op, input, output)
3071	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3072	return
3073}
3074
3075// UntagResource API operation for AWS Single Sign-On Admin.
3076//
3077// Disassociates a set of tags from a specified resource.
3078//
3079// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3080// with awserr.Error's Code and Message methods to get detailed information about
3081// the error.
3082//
3083// See the AWS API reference guide for AWS Single Sign-On Admin's
3084// API operation UntagResource for usage and error information.
3085//
3086// Returned Error Types:
3087//   * ResourceNotFoundException
3088//   Indicates that a requested resource is not found.
3089//
3090//   * InternalServerException
3091//   The request processing has failed because of an unknown error, exception,
3092//   or failure with an internal server.
3093//
3094//   * ThrottlingException
3095//   Indicates that the principal has crossed the throttling limits of the API
3096//   operations.
3097//
3098//   * ValidationException
3099//   The request failed because it contains a syntax error.
3100//
3101//   * AccessDeniedException
3102//   You do not have sufficient access to perform this action.
3103//
3104//   * ConflictException
3105//   Occurs when a conflict with a previous successful write is detected. This
3106//   generally occurs when the previous write did not have time to propagate to
3107//   the host serving the current request. A retry (with appropriate backoff logic)
3108//   is the recommended response to this exception.
3109//
3110// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/UntagResource
3111func (c *SSOAdmin) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
3112	req, out := c.UntagResourceRequest(input)
3113	return out, req.Send()
3114}
3115
3116// UntagResourceWithContext is the same as UntagResource with the addition of
3117// the ability to pass a context and additional request options.
3118//
3119// See UntagResource for details on how to use this API operation.
3120//
3121// The context must be non-nil and will be used for request cancellation. If
3122// the context is nil a panic will occur. In the future the SDK may create
3123// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3124// for more information on using Contexts.
3125func (c *SSOAdmin) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
3126	req, out := c.UntagResourceRequest(input)
3127	req.SetContext(ctx)
3128	req.ApplyOptions(opts...)
3129	return out, req.Send()
3130}
3131
3132const opUpdatePermissionSet = "UpdatePermissionSet"
3133
3134// UpdatePermissionSetRequest generates a "aws/request.Request" representing the
3135// client's request for the UpdatePermissionSet operation. The "output" return
3136// value will be populated with the request's response once the request completes
3137// successfully.
3138//
3139// Use "Send" method on the returned Request to send the API call to the service.
3140// the "output" return value is not valid until after Send returns without error.
3141//
3142// See UpdatePermissionSet for more information on using the UpdatePermissionSet
3143// API call, and error handling.
3144//
3145// This method is useful when you want to inject custom logic or configuration
3146// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3147//
3148//
3149//    // Example sending a request using the UpdatePermissionSetRequest method.
3150//    req, resp := client.UpdatePermissionSetRequest(params)
3151//
3152//    err := req.Send()
3153//    if err == nil { // resp is now filled
3154//        fmt.Println(resp)
3155//    }
3156//
3157// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/UpdatePermissionSet
3158func (c *SSOAdmin) UpdatePermissionSetRequest(input *UpdatePermissionSetInput) (req *request.Request, output *UpdatePermissionSetOutput) {
3159	op := &request.Operation{
3160		Name:       opUpdatePermissionSet,
3161		HTTPMethod: "POST",
3162		HTTPPath:   "/",
3163	}
3164
3165	if input == nil {
3166		input = &UpdatePermissionSetInput{}
3167	}
3168
3169	output = &UpdatePermissionSetOutput{}
3170	req = c.newRequest(op, input, output)
3171	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3172	return
3173}
3174
3175// UpdatePermissionSet API operation for AWS Single Sign-On Admin.
3176//
3177// Updates an existing permission set.
3178//
3179// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3180// with awserr.Error's Code and Message methods to get detailed information about
3181// the error.
3182//
3183// See the AWS API reference guide for AWS Single Sign-On Admin's
3184// API operation UpdatePermissionSet for usage and error information.
3185//
3186// Returned Error Types:
3187//   * ResourceNotFoundException
3188//   Indicates that a requested resource is not found.
3189//
3190//   * InternalServerException
3191//   The request processing has failed because of an unknown error, exception,
3192//   or failure with an internal server.
3193//
3194//   * ThrottlingException
3195//   Indicates that the principal has crossed the throttling limits of the API
3196//   operations.
3197//
3198//   * ValidationException
3199//   The request failed because it contains a syntax error.
3200//
3201//   * AccessDeniedException
3202//   You do not have sufficient access to perform this action.
3203//
3204//   * ConflictException
3205//   Occurs when a conflict with a previous successful write is detected. This
3206//   generally occurs when the previous write did not have time to propagate to
3207//   the host serving the current request. A retry (with appropriate backoff logic)
3208//   is the recommended response to this exception.
3209//
3210// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/UpdatePermissionSet
3211func (c *SSOAdmin) UpdatePermissionSet(input *UpdatePermissionSetInput) (*UpdatePermissionSetOutput, error) {
3212	req, out := c.UpdatePermissionSetRequest(input)
3213	return out, req.Send()
3214}
3215
3216// UpdatePermissionSetWithContext is the same as UpdatePermissionSet with the addition of
3217// the ability to pass a context and additional request options.
3218//
3219// See UpdatePermissionSet for details on how to use this API operation.
3220//
3221// The context must be non-nil and will be used for request cancellation. If
3222// the context is nil a panic will occur. In the future the SDK may create
3223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3224// for more information on using Contexts.
3225func (c *SSOAdmin) UpdatePermissionSetWithContext(ctx aws.Context, input *UpdatePermissionSetInput, opts ...request.Option) (*UpdatePermissionSetOutput, error) {
3226	req, out := c.UpdatePermissionSetRequest(input)
3227	req.SetContext(ctx)
3228	req.ApplyOptions(opts...)
3229	return out, req.Send()
3230}
3231
3232// You do not have sufficient access to perform this action.
3233type AccessDeniedException struct {
3234	_            struct{}                  `type:"structure"`
3235	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3236
3237	Message_ *string `locationName:"Message" type:"string"`
3238}
3239
3240// String returns the string representation
3241func (s AccessDeniedException) String() string {
3242	return awsutil.Prettify(s)
3243}
3244
3245// GoString returns the string representation
3246func (s AccessDeniedException) GoString() string {
3247	return s.String()
3248}
3249
3250func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
3251	return &AccessDeniedException{
3252		RespMetadata: v,
3253	}
3254}
3255
3256// Code returns the exception type name.
3257func (s *AccessDeniedException) Code() string {
3258	return "AccessDeniedException"
3259}
3260
3261// Message returns the exception's message.
3262func (s *AccessDeniedException) Message() string {
3263	if s.Message_ != nil {
3264		return *s.Message_
3265	}
3266	return ""
3267}
3268
3269// OrigErr always returns nil, satisfies awserr.Error interface.
3270func (s *AccessDeniedException) OrigErr() error {
3271	return nil
3272}
3273
3274func (s *AccessDeniedException) Error() string {
3275	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3276}
3277
3278// Status code returns the HTTP status code for the request's response error.
3279func (s *AccessDeniedException) StatusCode() int {
3280	return s.RespMetadata.StatusCode
3281}
3282
3283// RequestID returns the service's response RequestID for request.
3284func (s *AccessDeniedException) RequestID() string {
3285	return s.RespMetadata.RequestID
3286}
3287
3288// The assignment that indicates a principal's limited access to a specified
3289// AWS account with a specified permission set.
3290//
3291// The term principal here refers to a user or group that is defined in AWS
3292// SSO.
3293type AccountAssignment struct {
3294	_ struct{} `type:"structure"`
3295
3296	// The identifier of the AWS account.
3297	AccountId *string `type:"string"`
3298
3299	// The ARN of the permission set. For more information about ARNs, see Amazon
3300	// Resource Names (ARNs) and AWS Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
3301	// in the AWS General Reference.
3302	PermissionSetArn *string `min:"10" type:"string"`
3303
3304	// An identifier for an object in AWS SSO, such as a user or group. PrincipalIds
3305	// are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information
3306	// about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference
3307	// (/singlesignon/latest/IdentityStoreAPIReference/welcome.html).
3308	PrincipalId *string `min:"1" type:"string"`
3309
3310	// The entity type for which the assignment will be created.
3311	PrincipalType *string `type:"string" enum:"PrincipalType"`
3312}
3313
3314// String returns the string representation
3315func (s AccountAssignment) String() string {
3316	return awsutil.Prettify(s)
3317}
3318
3319// GoString returns the string representation
3320func (s AccountAssignment) GoString() string {
3321	return s.String()
3322}
3323
3324// SetAccountId sets the AccountId field's value.
3325func (s *AccountAssignment) SetAccountId(v string) *AccountAssignment {
3326	s.AccountId = &v
3327	return s
3328}
3329
3330// SetPermissionSetArn sets the PermissionSetArn field's value.
3331func (s *AccountAssignment) SetPermissionSetArn(v string) *AccountAssignment {
3332	s.PermissionSetArn = &v
3333	return s
3334}
3335
3336// SetPrincipalId sets the PrincipalId field's value.
3337func (s *AccountAssignment) SetPrincipalId(v string) *AccountAssignment {
3338	s.PrincipalId = &v
3339	return s
3340}
3341
3342// SetPrincipalType sets the PrincipalType field's value.
3343func (s *AccountAssignment) SetPrincipalType(v string) *AccountAssignment {
3344	s.PrincipalType = &v
3345	return s
3346}
3347
3348// The status of the creation or deletion operation of an assignment that a
3349// principal needs to access an account.
3350type AccountAssignmentOperationStatus struct {
3351	_ struct{} `type:"structure"`
3352
3353	// The date that the permission set was created.
3354	CreatedDate *time.Time `type:"timestamp"`
3355
3356	// The message that contains an error or exception in case of an operation failure.
3357	FailureReason *string `type:"string"`
3358
3359	// The ARN of the permission set. For more information about ARNs, see Amazon
3360	// Resource Names (ARNs) and AWS Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
3361	// in the AWS General Reference.
3362	PermissionSetArn *string `min:"10" type:"string"`
3363
3364	// An identifier for an object in AWS SSO, such as a user or group. PrincipalIds
3365	// are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information
3366	// about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference
3367	// (/singlesignon/latest/IdentityStoreAPIReference/welcome.html).
3368	PrincipalId *string `min:"1" type:"string"`
3369
3370	// The entity type for which the assignment will be created.
3371	PrincipalType *string `type:"string" enum:"PrincipalType"`
3372
3373	// The identifier for tracking the request operation that is generated by the
3374	// universally unique identifier (UUID) workflow.
3375	RequestId *string `type:"string"`
3376
3377	// The status of the permission set provisioning process.
3378	Status *string `type:"string" enum:"StatusValues"`
3379
3380	// TargetID is an AWS account identifier, typically a 10-12 digit string (For
3381	// example, 123456789012).
3382	TargetId *string `type:"string"`
3383
3384	// The entity type for which the assignment will be created.
3385	TargetType *string `type:"string" enum:"TargetType"`
3386}
3387
3388// String returns the string representation
3389func (s AccountAssignmentOperationStatus) String() string {
3390	return awsutil.Prettify(s)
3391}
3392
3393// GoString returns the string representation
3394func (s AccountAssignmentOperationStatus) GoString() string {
3395	return s.String()
3396}
3397
3398// SetCreatedDate sets the CreatedDate field's value.
3399func (s *AccountAssignmentOperationStatus) SetCreatedDate(v time.Time) *AccountAssignmentOperationStatus {
3400	s.CreatedDate = &v
3401	return s
3402}
3403
3404// SetFailureReason sets the FailureReason field's value.
3405func (s *AccountAssignmentOperationStatus) SetFailureReason(v string) *AccountAssignmentOperationStatus {
3406	s.FailureReason = &v
3407	return s
3408}
3409
3410// SetPermissionSetArn sets the PermissionSetArn field's value.
3411func (s *AccountAssignmentOperationStatus) SetPermissionSetArn(v string) *AccountAssignmentOperationStatus {
3412	s.PermissionSetArn = &v
3413	return s
3414}
3415
3416// SetPrincipalId sets the PrincipalId field's value.
3417func (s *AccountAssignmentOperationStatus) SetPrincipalId(v string) *AccountAssignmentOperationStatus {
3418	s.PrincipalId = &v
3419	return s
3420}
3421
3422// SetPrincipalType sets the PrincipalType field's value.
3423func (s *AccountAssignmentOperationStatus) SetPrincipalType(v string) *AccountAssignmentOperationStatus {
3424	s.PrincipalType = &v
3425	return s
3426}
3427
3428// SetRequestId sets the RequestId field's value.
3429func (s *AccountAssignmentOperationStatus) SetRequestId(v string) *AccountAssignmentOperationStatus {
3430	s.RequestId = &v
3431	return s
3432}
3433
3434// SetStatus sets the Status field's value.
3435func (s *AccountAssignmentOperationStatus) SetStatus(v string) *AccountAssignmentOperationStatus {
3436	s.Status = &v
3437	return s
3438}
3439
3440// SetTargetId sets the TargetId field's value.
3441func (s *AccountAssignmentOperationStatus) SetTargetId(v string) *AccountAssignmentOperationStatus {
3442	s.TargetId = &v
3443	return s
3444}
3445
3446// SetTargetType sets the TargetType field's value.
3447func (s *AccountAssignmentOperationStatus) SetTargetType(v string) *AccountAssignmentOperationStatus {
3448	s.TargetType = &v
3449	return s
3450}
3451
3452// Provides information about the AccountAssignment creation request.
3453type AccountAssignmentOperationStatusMetadata struct {
3454	_ struct{} `type:"structure"`
3455
3456	// The date that the permission set was created.
3457	CreatedDate *time.Time `type:"timestamp"`
3458
3459	// The identifier for tracking the request operation that is generated by the
3460	// universally unique identifier (UUID) workflow.
3461	RequestId *string `type:"string"`
3462
3463	// The status of the permission set provisioning process.
3464	Status *string `type:"string" enum:"StatusValues"`
3465}
3466
3467// String returns the string representation
3468func (s AccountAssignmentOperationStatusMetadata) String() string {
3469	return awsutil.Prettify(s)
3470}
3471
3472// GoString returns the string representation
3473func (s AccountAssignmentOperationStatusMetadata) GoString() string {
3474	return s.String()
3475}
3476
3477// SetCreatedDate sets the CreatedDate field's value.
3478func (s *AccountAssignmentOperationStatusMetadata) SetCreatedDate(v time.Time) *AccountAssignmentOperationStatusMetadata {
3479	s.CreatedDate = &v
3480	return s
3481}
3482
3483// SetRequestId sets the RequestId field's value.
3484func (s *AccountAssignmentOperationStatusMetadata) SetRequestId(v string) *AccountAssignmentOperationStatusMetadata {
3485	s.RequestId = &v
3486	return s
3487}
3488
3489// SetStatus sets the Status field's value.
3490func (s *AccountAssignmentOperationStatusMetadata) SetStatus(v string) *AccountAssignmentOperationStatusMetadata {
3491	s.Status = &v
3492	return s
3493}
3494
3495type AttachManagedPolicyToPermissionSetInput struct {
3496	_ struct{} `type:"structure"`
3497
3498	// The ARN of the SSO instance under which the operation will be executed. For
3499	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
3500	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
3501	// Reference.
3502	//
3503	// InstanceArn is a required field
3504	InstanceArn *string `min:"10" type:"string" required:"true"`
3505
3506	// The IAM managed policy ARN to be attached to a permission set.
3507	//
3508	// ManagedPolicyArn is a required field
3509	ManagedPolicyArn *string `min:"20" type:"string" required:"true"`
3510
3511	// The ARN of the PermissionSet that the managed policy should be attached to.
3512	//
3513	// PermissionSetArn is a required field
3514	PermissionSetArn *string `min:"10" type:"string" required:"true"`
3515}
3516
3517// String returns the string representation
3518func (s AttachManagedPolicyToPermissionSetInput) String() string {
3519	return awsutil.Prettify(s)
3520}
3521
3522// GoString returns the string representation
3523func (s AttachManagedPolicyToPermissionSetInput) GoString() string {
3524	return s.String()
3525}
3526
3527// Validate inspects the fields of the type to determine if they are valid.
3528func (s *AttachManagedPolicyToPermissionSetInput) Validate() error {
3529	invalidParams := request.ErrInvalidParams{Context: "AttachManagedPolicyToPermissionSetInput"}
3530	if s.InstanceArn == nil {
3531		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
3532	}
3533	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
3534		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
3535	}
3536	if s.ManagedPolicyArn == nil {
3537		invalidParams.Add(request.NewErrParamRequired("ManagedPolicyArn"))
3538	}
3539	if s.ManagedPolicyArn != nil && len(*s.ManagedPolicyArn) < 20 {
3540		invalidParams.Add(request.NewErrParamMinLen("ManagedPolicyArn", 20))
3541	}
3542	if s.PermissionSetArn == nil {
3543		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
3544	}
3545	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
3546		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
3547	}
3548
3549	if invalidParams.Len() > 0 {
3550		return invalidParams
3551	}
3552	return nil
3553}
3554
3555// SetInstanceArn sets the InstanceArn field's value.
3556func (s *AttachManagedPolicyToPermissionSetInput) SetInstanceArn(v string) *AttachManagedPolicyToPermissionSetInput {
3557	s.InstanceArn = &v
3558	return s
3559}
3560
3561// SetManagedPolicyArn sets the ManagedPolicyArn field's value.
3562func (s *AttachManagedPolicyToPermissionSetInput) SetManagedPolicyArn(v string) *AttachManagedPolicyToPermissionSetInput {
3563	s.ManagedPolicyArn = &v
3564	return s
3565}
3566
3567// SetPermissionSetArn sets the PermissionSetArn field's value.
3568func (s *AttachManagedPolicyToPermissionSetInput) SetPermissionSetArn(v string) *AttachManagedPolicyToPermissionSetInput {
3569	s.PermissionSetArn = &v
3570	return s
3571}
3572
3573type AttachManagedPolicyToPermissionSetOutput struct {
3574	_ struct{} `type:"structure"`
3575}
3576
3577// String returns the string representation
3578func (s AttachManagedPolicyToPermissionSetOutput) String() string {
3579	return awsutil.Prettify(s)
3580}
3581
3582// GoString returns the string representation
3583func (s AttachManagedPolicyToPermissionSetOutput) GoString() string {
3584	return s.String()
3585}
3586
3587// A structure that stores the details of the IAM managed policy.
3588type AttachedManagedPolicy struct {
3589	_ struct{} `type:"structure"`
3590
3591	// The ARN of the IAM managed policy. For more information about ARNs, see Amazon
3592	// Resource Names (ARNs) and AWS Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
3593	// in the AWS General Reference.
3594	Arn *string `min:"20" type:"string"`
3595
3596	// The name of the IAM managed policy.
3597	Name *string `min:"1" type:"string"`
3598}
3599
3600// String returns the string representation
3601func (s AttachedManagedPolicy) String() string {
3602	return awsutil.Prettify(s)
3603}
3604
3605// GoString returns the string representation
3606func (s AttachedManagedPolicy) GoString() string {
3607	return s.String()
3608}
3609
3610// SetArn sets the Arn field's value.
3611func (s *AttachedManagedPolicy) SetArn(v string) *AttachedManagedPolicy {
3612	s.Arn = &v
3613	return s
3614}
3615
3616// SetName sets the Name field's value.
3617func (s *AttachedManagedPolicy) SetName(v string) *AttachedManagedPolicy {
3618	s.Name = &v
3619	return s
3620}
3621
3622// Occurs when a conflict with a previous successful write is detected. This
3623// generally occurs when the previous write did not have time to propagate to
3624// the host serving the current request. A retry (with appropriate backoff logic)
3625// is the recommended response to this exception.
3626type ConflictException struct {
3627	_            struct{}                  `type:"structure"`
3628	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3629
3630	Message_ *string `locationName:"Message" type:"string"`
3631}
3632
3633// String returns the string representation
3634func (s ConflictException) String() string {
3635	return awsutil.Prettify(s)
3636}
3637
3638// GoString returns the string representation
3639func (s ConflictException) GoString() string {
3640	return s.String()
3641}
3642
3643func newErrorConflictException(v protocol.ResponseMetadata) error {
3644	return &ConflictException{
3645		RespMetadata: v,
3646	}
3647}
3648
3649// Code returns the exception type name.
3650func (s *ConflictException) Code() string {
3651	return "ConflictException"
3652}
3653
3654// Message returns the exception's message.
3655func (s *ConflictException) Message() string {
3656	if s.Message_ != nil {
3657		return *s.Message_
3658	}
3659	return ""
3660}
3661
3662// OrigErr always returns nil, satisfies awserr.Error interface.
3663func (s *ConflictException) OrigErr() error {
3664	return nil
3665}
3666
3667func (s *ConflictException) Error() string {
3668	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3669}
3670
3671// Status code returns the HTTP status code for the request's response error.
3672func (s *ConflictException) StatusCode() int {
3673	return s.RespMetadata.StatusCode
3674}
3675
3676// RequestID returns the service's response RequestID for request.
3677func (s *ConflictException) RequestID() string {
3678	return s.RespMetadata.RequestID
3679}
3680
3681type CreateAccountAssignmentInput struct {
3682	_ struct{} `type:"structure"`
3683
3684	// The ARN of the SSO instance under which the operation will be executed. For
3685	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
3686	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
3687	// Reference.
3688	//
3689	// InstanceArn is a required field
3690	InstanceArn *string `min:"10" type:"string" required:"true"`
3691
3692	// The ARN of the permission set that the admin wants to grant the principal
3693	// access to.
3694	//
3695	// PermissionSetArn is a required field
3696	PermissionSetArn *string `min:"10" type:"string" required:"true"`
3697
3698	// An identifier for an object in AWS SSO, such as a user or group. PrincipalIds
3699	// are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information
3700	// about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference
3701	// (/singlesignon/latest/IdentityStoreAPIReference/welcome.html).
3702	//
3703	// PrincipalId is a required field
3704	PrincipalId *string `min:"1" type:"string" required:"true"`
3705
3706	// The entity type for which the assignment will be created.
3707	//
3708	// PrincipalType is a required field
3709	PrincipalType *string `type:"string" required:"true" enum:"PrincipalType"`
3710
3711	// TargetID is an AWS account identifier, typically a 10-12 digit string (For
3712	// example, 123456789012).
3713	//
3714	// TargetId is a required field
3715	TargetId *string `type:"string" required:"true"`
3716
3717	// The entity type for which the assignment will be created.
3718	//
3719	// TargetType is a required field
3720	TargetType *string `type:"string" required:"true" enum:"TargetType"`
3721}
3722
3723// String returns the string representation
3724func (s CreateAccountAssignmentInput) String() string {
3725	return awsutil.Prettify(s)
3726}
3727
3728// GoString returns the string representation
3729func (s CreateAccountAssignmentInput) GoString() string {
3730	return s.String()
3731}
3732
3733// Validate inspects the fields of the type to determine if they are valid.
3734func (s *CreateAccountAssignmentInput) Validate() error {
3735	invalidParams := request.ErrInvalidParams{Context: "CreateAccountAssignmentInput"}
3736	if s.InstanceArn == nil {
3737		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
3738	}
3739	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
3740		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
3741	}
3742	if s.PermissionSetArn == nil {
3743		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
3744	}
3745	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
3746		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
3747	}
3748	if s.PrincipalId == nil {
3749		invalidParams.Add(request.NewErrParamRequired("PrincipalId"))
3750	}
3751	if s.PrincipalId != nil && len(*s.PrincipalId) < 1 {
3752		invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1))
3753	}
3754	if s.PrincipalType == nil {
3755		invalidParams.Add(request.NewErrParamRequired("PrincipalType"))
3756	}
3757	if s.TargetId == nil {
3758		invalidParams.Add(request.NewErrParamRequired("TargetId"))
3759	}
3760	if s.TargetType == nil {
3761		invalidParams.Add(request.NewErrParamRequired("TargetType"))
3762	}
3763
3764	if invalidParams.Len() > 0 {
3765		return invalidParams
3766	}
3767	return nil
3768}
3769
3770// SetInstanceArn sets the InstanceArn field's value.
3771func (s *CreateAccountAssignmentInput) SetInstanceArn(v string) *CreateAccountAssignmentInput {
3772	s.InstanceArn = &v
3773	return s
3774}
3775
3776// SetPermissionSetArn sets the PermissionSetArn field's value.
3777func (s *CreateAccountAssignmentInput) SetPermissionSetArn(v string) *CreateAccountAssignmentInput {
3778	s.PermissionSetArn = &v
3779	return s
3780}
3781
3782// SetPrincipalId sets the PrincipalId field's value.
3783func (s *CreateAccountAssignmentInput) SetPrincipalId(v string) *CreateAccountAssignmentInput {
3784	s.PrincipalId = &v
3785	return s
3786}
3787
3788// SetPrincipalType sets the PrincipalType field's value.
3789func (s *CreateAccountAssignmentInput) SetPrincipalType(v string) *CreateAccountAssignmentInput {
3790	s.PrincipalType = &v
3791	return s
3792}
3793
3794// SetTargetId sets the TargetId field's value.
3795func (s *CreateAccountAssignmentInput) SetTargetId(v string) *CreateAccountAssignmentInput {
3796	s.TargetId = &v
3797	return s
3798}
3799
3800// SetTargetType sets the TargetType field's value.
3801func (s *CreateAccountAssignmentInput) SetTargetType(v string) *CreateAccountAssignmentInput {
3802	s.TargetType = &v
3803	return s
3804}
3805
3806type CreateAccountAssignmentOutput struct {
3807	_ struct{} `type:"structure"`
3808
3809	// The status object for the account assignment creation operation.
3810	AccountAssignmentCreationStatus *AccountAssignmentOperationStatus `type:"structure"`
3811}
3812
3813// String returns the string representation
3814func (s CreateAccountAssignmentOutput) String() string {
3815	return awsutil.Prettify(s)
3816}
3817
3818// GoString returns the string representation
3819func (s CreateAccountAssignmentOutput) GoString() string {
3820	return s.String()
3821}
3822
3823// SetAccountAssignmentCreationStatus sets the AccountAssignmentCreationStatus field's value.
3824func (s *CreateAccountAssignmentOutput) SetAccountAssignmentCreationStatus(v *AccountAssignmentOperationStatus) *CreateAccountAssignmentOutput {
3825	s.AccountAssignmentCreationStatus = v
3826	return s
3827}
3828
3829type CreatePermissionSetInput struct {
3830	_ struct{} `type:"structure"`
3831
3832	// The description of the PermissionSet.
3833	Description *string `min:"1" type:"string"`
3834
3835	// The ARN of the SSO instance under which the operation will be executed. For
3836	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
3837	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
3838	// Reference.
3839	//
3840	// InstanceArn is a required field
3841	InstanceArn *string `min:"10" type:"string" required:"true"`
3842
3843	// The name of the PermissionSet.
3844	//
3845	// Name is a required field
3846	Name *string `min:"1" type:"string" required:"true"`
3847
3848	// Used to redirect users within the application during the federation authentication
3849	// process.
3850	RelayState *string `min:"1" type:"string"`
3851
3852	// The length of time that the application user sessions are valid in the ISO-8601
3853	// standard.
3854	SessionDuration *string `min:"1" type:"string"`
3855
3856	// The tags to attach to the new PermissionSet.
3857	Tags []*Tag `type:"list"`
3858}
3859
3860// String returns the string representation
3861func (s CreatePermissionSetInput) String() string {
3862	return awsutil.Prettify(s)
3863}
3864
3865// GoString returns the string representation
3866func (s CreatePermissionSetInput) GoString() string {
3867	return s.String()
3868}
3869
3870// Validate inspects the fields of the type to determine if they are valid.
3871func (s *CreatePermissionSetInput) Validate() error {
3872	invalidParams := request.ErrInvalidParams{Context: "CreatePermissionSetInput"}
3873	if s.Description != nil && len(*s.Description) < 1 {
3874		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
3875	}
3876	if s.InstanceArn == nil {
3877		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
3878	}
3879	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
3880		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
3881	}
3882	if s.Name == nil {
3883		invalidParams.Add(request.NewErrParamRequired("Name"))
3884	}
3885	if s.Name != nil && len(*s.Name) < 1 {
3886		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3887	}
3888	if s.RelayState != nil && len(*s.RelayState) < 1 {
3889		invalidParams.Add(request.NewErrParamMinLen("RelayState", 1))
3890	}
3891	if s.SessionDuration != nil && len(*s.SessionDuration) < 1 {
3892		invalidParams.Add(request.NewErrParamMinLen("SessionDuration", 1))
3893	}
3894	if s.Tags != nil {
3895		for i, v := range s.Tags {
3896			if v == nil {
3897				continue
3898			}
3899			if err := v.Validate(); err != nil {
3900				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
3901			}
3902		}
3903	}
3904
3905	if invalidParams.Len() > 0 {
3906		return invalidParams
3907	}
3908	return nil
3909}
3910
3911// SetDescription sets the Description field's value.
3912func (s *CreatePermissionSetInput) SetDescription(v string) *CreatePermissionSetInput {
3913	s.Description = &v
3914	return s
3915}
3916
3917// SetInstanceArn sets the InstanceArn field's value.
3918func (s *CreatePermissionSetInput) SetInstanceArn(v string) *CreatePermissionSetInput {
3919	s.InstanceArn = &v
3920	return s
3921}
3922
3923// SetName sets the Name field's value.
3924func (s *CreatePermissionSetInput) SetName(v string) *CreatePermissionSetInput {
3925	s.Name = &v
3926	return s
3927}
3928
3929// SetRelayState sets the RelayState field's value.
3930func (s *CreatePermissionSetInput) SetRelayState(v string) *CreatePermissionSetInput {
3931	s.RelayState = &v
3932	return s
3933}
3934
3935// SetSessionDuration sets the SessionDuration field's value.
3936func (s *CreatePermissionSetInput) SetSessionDuration(v string) *CreatePermissionSetInput {
3937	s.SessionDuration = &v
3938	return s
3939}
3940
3941// SetTags sets the Tags field's value.
3942func (s *CreatePermissionSetInput) SetTags(v []*Tag) *CreatePermissionSetInput {
3943	s.Tags = v
3944	return s
3945}
3946
3947type CreatePermissionSetOutput struct {
3948	_ struct{} `type:"structure"`
3949
3950	// Defines the level of access on an AWS account.
3951	PermissionSet *PermissionSet `type:"structure"`
3952}
3953
3954// String returns the string representation
3955func (s CreatePermissionSetOutput) String() string {
3956	return awsutil.Prettify(s)
3957}
3958
3959// GoString returns the string representation
3960func (s CreatePermissionSetOutput) GoString() string {
3961	return s.String()
3962}
3963
3964// SetPermissionSet sets the PermissionSet field's value.
3965func (s *CreatePermissionSetOutput) SetPermissionSet(v *PermissionSet) *CreatePermissionSetOutput {
3966	s.PermissionSet = v
3967	return s
3968}
3969
3970type DeleteAccountAssignmentInput struct {
3971	_ struct{} `type:"structure"`
3972
3973	// The ARN of the SSO instance under which the operation will be executed. For
3974	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
3975	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
3976	// Reference.
3977	//
3978	// InstanceArn is a required field
3979	InstanceArn *string `min:"10" type:"string" required:"true"`
3980
3981	// The ARN of the permission set that will be used to remove access.
3982	//
3983	// PermissionSetArn is a required field
3984	PermissionSetArn *string `min:"10" type:"string" required:"true"`
3985
3986	// An identifier for an object in AWS SSO, such as a user or group. PrincipalIds
3987	// are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information
3988	// about PrincipalIds in AWS SSO, see the AWS SSO Identity Store API Reference
3989	// (/singlesignon/latest/IdentityStoreAPIReference/welcome.html).
3990	//
3991	// PrincipalId is a required field
3992	PrincipalId *string `min:"1" type:"string" required:"true"`
3993
3994	// The entity type for which the assignment will be deleted.
3995	//
3996	// PrincipalType is a required field
3997	PrincipalType *string `type:"string" required:"true" enum:"PrincipalType"`
3998
3999	// TargetID is an AWS account identifier, typically a 10-12 digit string (For
4000	// example, 123456789012).
4001	//
4002	// TargetId is a required field
4003	TargetId *string `type:"string" required:"true"`
4004
4005	// The entity type for which the assignment will be deleted.
4006	//
4007	// TargetType is a required field
4008	TargetType *string `type:"string" required:"true" enum:"TargetType"`
4009}
4010
4011// String returns the string representation
4012func (s DeleteAccountAssignmentInput) String() string {
4013	return awsutil.Prettify(s)
4014}
4015
4016// GoString returns the string representation
4017func (s DeleteAccountAssignmentInput) GoString() string {
4018	return s.String()
4019}
4020
4021// Validate inspects the fields of the type to determine if they are valid.
4022func (s *DeleteAccountAssignmentInput) Validate() error {
4023	invalidParams := request.ErrInvalidParams{Context: "DeleteAccountAssignmentInput"}
4024	if s.InstanceArn == nil {
4025		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
4026	}
4027	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
4028		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
4029	}
4030	if s.PermissionSetArn == nil {
4031		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
4032	}
4033	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
4034		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
4035	}
4036	if s.PrincipalId == nil {
4037		invalidParams.Add(request.NewErrParamRequired("PrincipalId"))
4038	}
4039	if s.PrincipalId != nil && len(*s.PrincipalId) < 1 {
4040		invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1))
4041	}
4042	if s.PrincipalType == nil {
4043		invalidParams.Add(request.NewErrParamRequired("PrincipalType"))
4044	}
4045	if s.TargetId == nil {
4046		invalidParams.Add(request.NewErrParamRequired("TargetId"))
4047	}
4048	if s.TargetType == nil {
4049		invalidParams.Add(request.NewErrParamRequired("TargetType"))
4050	}
4051
4052	if invalidParams.Len() > 0 {
4053		return invalidParams
4054	}
4055	return nil
4056}
4057
4058// SetInstanceArn sets the InstanceArn field's value.
4059func (s *DeleteAccountAssignmentInput) SetInstanceArn(v string) *DeleteAccountAssignmentInput {
4060	s.InstanceArn = &v
4061	return s
4062}
4063
4064// SetPermissionSetArn sets the PermissionSetArn field's value.
4065func (s *DeleteAccountAssignmentInput) SetPermissionSetArn(v string) *DeleteAccountAssignmentInput {
4066	s.PermissionSetArn = &v
4067	return s
4068}
4069
4070// SetPrincipalId sets the PrincipalId field's value.
4071func (s *DeleteAccountAssignmentInput) SetPrincipalId(v string) *DeleteAccountAssignmentInput {
4072	s.PrincipalId = &v
4073	return s
4074}
4075
4076// SetPrincipalType sets the PrincipalType field's value.
4077func (s *DeleteAccountAssignmentInput) SetPrincipalType(v string) *DeleteAccountAssignmentInput {
4078	s.PrincipalType = &v
4079	return s
4080}
4081
4082// SetTargetId sets the TargetId field's value.
4083func (s *DeleteAccountAssignmentInput) SetTargetId(v string) *DeleteAccountAssignmentInput {
4084	s.TargetId = &v
4085	return s
4086}
4087
4088// SetTargetType sets the TargetType field's value.
4089func (s *DeleteAccountAssignmentInput) SetTargetType(v string) *DeleteAccountAssignmentInput {
4090	s.TargetType = &v
4091	return s
4092}
4093
4094type DeleteAccountAssignmentOutput struct {
4095	_ struct{} `type:"structure"`
4096
4097	// The status object for the account assignment deletion operation.
4098	AccountAssignmentDeletionStatus *AccountAssignmentOperationStatus `type:"structure"`
4099}
4100
4101// String returns the string representation
4102func (s DeleteAccountAssignmentOutput) String() string {
4103	return awsutil.Prettify(s)
4104}
4105
4106// GoString returns the string representation
4107func (s DeleteAccountAssignmentOutput) GoString() string {
4108	return s.String()
4109}
4110
4111// SetAccountAssignmentDeletionStatus sets the AccountAssignmentDeletionStatus field's value.
4112func (s *DeleteAccountAssignmentOutput) SetAccountAssignmentDeletionStatus(v *AccountAssignmentOperationStatus) *DeleteAccountAssignmentOutput {
4113	s.AccountAssignmentDeletionStatus = v
4114	return s
4115}
4116
4117type DeleteInlinePolicyFromPermissionSetInput struct {
4118	_ struct{} `type:"structure"`
4119
4120	// The ARN of the SSO instance under which the operation will be executed. For
4121	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
4122	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
4123	// Reference.
4124	//
4125	// InstanceArn is a required field
4126	InstanceArn *string `min:"10" type:"string" required:"true"`
4127
4128	// The ARN of the permission set that will be used to remove access.
4129	//
4130	// PermissionSetArn is a required field
4131	PermissionSetArn *string `min:"10" type:"string" required:"true"`
4132}
4133
4134// String returns the string representation
4135func (s DeleteInlinePolicyFromPermissionSetInput) String() string {
4136	return awsutil.Prettify(s)
4137}
4138
4139// GoString returns the string representation
4140func (s DeleteInlinePolicyFromPermissionSetInput) GoString() string {
4141	return s.String()
4142}
4143
4144// Validate inspects the fields of the type to determine if they are valid.
4145func (s *DeleteInlinePolicyFromPermissionSetInput) Validate() error {
4146	invalidParams := request.ErrInvalidParams{Context: "DeleteInlinePolicyFromPermissionSetInput"}
4147	if s.InstanceArn == nil {
4148		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
4149	}
4150	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
4151		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
4152	}
4153	if s.PermissionSetArn == nil {
4154		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
4155	}
4156	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
4157		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
4158	}
4159
4160	if invalidParams.Len() > 0 {
4161		return invalidParams
4162	}
4163	return nil
4164}
4165
4166// SetInstanceArn sets the InstanceArn field's value.
4167func (s *DeleteInlinePolicyFromPermissionSetInput) SetInstanceArn(v string) *DeleteInlinePolicyFromPermissionSetInput {
4168	s.InstanceArn = &v
4169	return s
4170}
4171
4172// SetPermissionSetArn sets the PermissionSetArn field's value.
4173func (s *DeleteInlinePolicyFromPermissionSetInput) SetPermissionSetArn(v string) *DeleteInlinePolicyFromPermissionSetInput {
4174	s.PermissionSetArn = &v
4175	return s
4176}
4177
4178type DeleteInlinePolicyFromPermissionSetOutput struct {
4179	_ struct{} `type:"structure"`
4180}
4181
4182// String returns the string representation
4183func (s DeleteInlinePolicyFromPermissionSetOutput) String() string {
4184	return awsutil.Prettify(s)
4185}
4186
4187// GoString returns the string representation
4188func (s DeleteInlinePolicyFromPermissionSetOutput) GoString() string {
4189	return s.String()
4190}
4191
4192type DeletePermissionSetInput struct {
4193	_ struct{} `type:"structure"`
4194
4195	// The ARN of the SSO instance under which the operation will be executed. For
4196	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
4197	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
4198	// Reference.
4199	//
4200	// InstanceArn is a required field
4201	InstanceArn *string `min:"10" type:"string" required:"true"`
4202
4203	// The ARN of the permission set that should be deleted.
4204	//
4205	// PermissionSetArn is a required field
4206	PermissionSetArn *string `min:"10" type:"string" required:"true"`
4207}
4208
4209// String returns the string representation
4210func (s DeletePermissionSetInput) String() string {
4211	return awsutil.Prettify(s)
4212}
4213
4214// GoString returns the string representation
4215func (s DeletePermissionSetInput) GoString() string {
4216	return s.String()
4217}
4218
4219// Validate inspects the fields of the type to determine if they are valid.
4220func (s *DeletePermissionSetInput) Validate() error {
4221	invalidParams := request.ErrInvalidParams{Context: "DeletePermissionSetInput"}
4222	if s.InstanceArn == nil {
4223		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
4224	}
4225	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
4226		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
4227	}
4228	if s.PermissionSetArn == nil {
4229		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
4230	}
4231	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
4232		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
4233	}
4234
4235	if invalidParams.Len() > 0 {
4236		return invalidParams
4237	}
4238	return nil
4239}
4240
4241// SetInstanceArn sets the InstanceArn field's value.
4242func (s *DeletePermissionSetInput) SetInstanceArn(v string) *DeletePermissionSetInput {
4243	s.InstanceArn = &v
4244	return s
4245}
4246
4247// SetPermissionSetArn sets the PermissionSetArn field's value.
4248func (s *DeletePermissionSetInput) SetPermissionSetArn(v string) *DeletePermissionSetInput {
4249	s.PermissionSetArn = &v
4250	return s
4251}
4252
4253type DeletePermissionSetOutput struct {
4254	_ struct{} `type:"structure"`
4255}
4256
4257// String returns the string representation
4258func (s DeletePermissionSetOutput) String() string {
4259	return awsutil.Prettify(s)
4260}
4261
4262// GoString returns the string representation
4263func (s DeletePermissionSetOutput) GoString() string {
4264	return s.String()
4265}
4266
4267type DescribeAccountAssignmentCreationStatusInput struct {
4268	_ struct{} `type:"structure"`
4269
4270	// The identifier that is used to track the request operation progress.
4271	//
4272	// AccountAssignmentCreationRequestId is a required field
4273	AccountAssignmentCreationRequestId *string `type:"string" required:"true"`
4274
4275	// The ARN of the SSO instance under which the operation will be executed. For
4276	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
4277	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
4278	// Reference.
4279	//
4280	// InstanceArn is a required field
4281	InstanceArn *string `min:"10" type:"string" required:"true"`
4282}
4283
4284// String returns the string representation
4285func (s DescribeAccountAssignmentCreationStatusInput) String() string {
4286	return awsutil.Prettify(s)
4287}
4288
4289// GoString returns the string representation
4290func (s DescribeAccountAssignmentCreationStatusInput) GoString() string {
4291	return s.String()
4292}
4293
4294// Validate inspects the fields of the type to determine if they are valid.
4295func (s *DescribeAccountAssignmentCreationStatusInput) Validate() error {
4296	invalidParams := request.ErrInvalidParams{Context: "DescribeAccountAssignmentCreationStatusInput"}
4297	if s.AccountAssignmentCreationRequestId == nil {
4298		invalidParams.Add(request.NewErrParamRequired("AccountAssignmentCreationRequestId"))
4299	}
4300	if s.InstanceArn == nil {
4301		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
4302	}
4303	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
4304		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
4305	}
4306
4307	if invalidParams.Len() > 0 {
4308		return invalidParams
4309	}
4310	return nil
4311}
4312
4313// SetAccountAssignmentCreationRequestId sets the AccountAssignmentCreationRequestId field's value.
4314func (s *DescribeAccountAssignmentCreationStatusInput) SetAccountAssignmentCreationRequestId(v string) *DescribeAccountAssignmentCreationStatusInput {
4315	s.AccountAssignmentCreationRequestId = &v
4316	return s
4317}
4318
4319// SetInstanceArn sets the InstanceArn field's value.
4320func (s *DescribeAccountAssignmentCreationStatusInput) SetInstanceArn(v string) *DescribeAccountAssignmentCreationStatusInput {
4321	s.InstanceArn = &v
4322	return s
4323}
4324
4325type DescribeAccountAssignmentCreationStatusOutput struct {
4326	_ struct{} `type:"structure"`
4327
4328	// The status object for the account assignment creation operation.
4329	AccountAssignmentCreationStatus *AccountAssignmentOperationStatus `type:"structure"`
4330}
4331
4332// String returns the string representation
4333func (s DescribeAccountAssignmentCreationStatusOutput) String() string {
4334	return awsutil.Prettify(s)
4335}
4336
4337// GoString returns the string representation
4338func (s DescribeAccountAssignmentCreationStatusOutput) GoString() string {
4339	return s.String()
4340}
4341
4342// SetAccountAssignmentCreationStatus sets the AccountAssignmentCreationStatus field's value.
4343func (s *DescribeAccountAssignmentCreationStatusOutput) SetAccountAssignmentCreationStatus(v *AccountAssignmentOperationStatus) *DescribeAccountAssignmentCreationStatusOutput {
4344	s.AccountAssignmentCreationStatus = v
4345	return s
4346}
4347
4348type DescribeAccountAssignmentDeletionStatusInput struct {
4349	_ struct{} `type:"structure"`
4350
4351	// The identifier that is used to track the request operation progress.
4352	//
4353	// AccountAssignmentDeletionRequestId is a required field
4354	AccountAssignmentDeletionRequestId *string `type:"string" required:"true"`
4355
4356	// The ARN of the SSO instance under which the operation will be executed. For
4357	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
4358	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
4359	// Reference.
4360	//
4361	// InstanceArn is a required field
4362	InstanceArn *string `min:"10" type:"string" required:"true"`
4363}
4364
4365// String returns the string representation
4366func (s DescribeAccountAssignmentDeletionStatusInput) String() string {
4367	return awsutil.Prettify(s)
4368}
4369
4370// GoString returns the string representation
4371func (s DescribeAccountAssignmentDeletionStatusInput) GoString() string {
4372	return s.String()
4373}
4374
4375// Validate inspects the fields of the type to determine if they are valid.
4376func (s *DescribeAccountAssignmentDeletionStatusInput) Validate() error {
4377	invalidParams := request.ErrInvalidParams{Context: "DescribeAccountAssignmentDeletionStatusInput"}
4378	if s.AccountAssignmentDeletionRequestId == nil {
4379		invalidParams.Add(request.NewErrParamRequired("AccountAssignmentDeletionRequestId"))
4380	}
4381	if s.InstanceArn == nil {
4382		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
4383	}
4384	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
4385		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
4386	}
4387
4388	if invalidParams.Len() > 0 {
4389		return invalidParams
4390	}
4391	return nil
4392}
4393
4394// SetAccountAssignmentDeletionRequestId sets the AccountAssignmentDeletionRequestId field's value.
4395func (s *DescribeAccountAssignmentDeletionStatusInput) SetAccountAssignmentDeletionRequestId(v string) *DescribeAccountAssignmentDeletionStatusInput {
4396	s.AccountAssignmentDeletionRequestId = &v
4397	return s
4398}
4399
4400// SetInstanceArn sets the InstanceArn field's value.
4401func (s *DescribeAccountAssignmentDeletionStatusInput) SetInstanceArn(v string) *DescribeAccountAssignmentDeletionStatusInput {
4402	s.InstanceArn = &v
4403	return s
4404}
4405
4406type DescribeAccountAssignmentDeletionStatusOutput struct {
4407	_ struct{} `type:"structure"`
4408
4409	// The status object for the account assignment deletion operation.
4410	AccountAssignmentDeletionStatus *AccountAssignmentOperationStatus `type:"structure"`
4411}
4412
4413// String returns the string representation
4414func (s DescribeAccountAssignmentDeletionStatusOutput) String() string {
4415	return awsutil.Prettify(s)
4416}
4417
4418// GoString returns the string representation
4419func (s DescribeAccountAssignmentDeletionStatusOutput) GoString() string {
4420	return s.String()
4421}
4422
4423// SetAccountAssignmentDeletionStatus sets the AccountAssignmentDeletionStatus field's value.
4424func (s *DescribeAccountAssignmentDeletionStatusOutput) SetAccountAssignmentDeletionStatus(v *AccountAssignmentOperationStatus) *DescribeAccountAssignmentDeletionStatusOutput {
4425	s.AccountAssignmentDeletionStatus = v
4426	return s
4427}
4428
4429type DescribePermissionSetInput struct {
4430	_ struct{} `type:"structure"`
4431
4432	// The ARN of the SSO instance under which the operation will be executed. For
4433	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
4434	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
4435	// Reference.
4436	//
4437	// InstanceArn is a required field
4438	InstanceArn *string `min:"10" type:"string" required:"true"`
4439
4440	// The ARN of the permission set.
4441	//
4442	// PermissionSetArn is a required field
4443	PermissionSetArn *string `min:"10" type:"string" required:"true"`
4444}
4445
4446// String returns the string representation
4447func (s DescribePermissionSetInput) String() string {
4448	return awsutil.Prettify(s)
4449}
4450
4451// GoString returns the string representation
4452func (s DescribePermissionSetInput) GoString() string {
4453	return s.String()
4454}
4455
4456// Validate inspects the fields of the type to determine if they are valid.
4457func (s *DescribePermissionSetInput) Validate() error {
4458	invalidParams := request.ErrInvalidParams{Context: "DescribePermissionSetInput"}
4459	if s.InstanceArn == nil {
4460		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
4461	}
4462	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
4463		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
4464	}
4465	if s.PermissionSetArn == nil {
4466		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
4467	}
4468	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
4469		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
4470	}
4471
4472	if invalidParams.Len() > 0 {
4473		return invalidParams
4474	}
4475	return nil
4476}
4477
4478// SetInstanceArn sets the InstanceArn field's value.
4479func (s *DescribePermissionSetInput) SetInstanceArn(v string) *DescribePermissionSetInput {
4480	s.InstanceArn = &v
4481	return s
4482}
4483
4484// SetPermissionSetArn sets the PermissionSetArn field's value.
4485func (s *DescribePermissionSetInput) SetPermissionSetArn(v string) *DescribePermissionSetInput {
4486	s.PermissionSetArn = &v
4487	return s
4488}
4489
4490type DescribePermissionSetOutput struct {
4491	_ struct{} `type:"structure"`
4492
4493	// Describes the level of access on an AWS account.
4494	PermissionSet *PermissionSet `type:"structure"`
4495}
4496
4497// String returns the string representation
4498func (s DescribePermissionSetOutput) String() string {
4499	return awsutil.Prettify(s)
4500}
4501
4502// GoString returns the string representation
4503func (s DescribePermissionSetOutput) GoString() string {
4504	return s.String()
4505}
4506
4507// SetPermissionSet sets the PermissionSet field's value.
4508func (s *DescribePermissionSetOutput) SetPermissionSet(v *PermissionSet) *DescribePermissionSetOutput {
4509	s.PermissionSet = v
4510	return s
4511}
4512
4513type DescribePermissionSetProvisioningStatusInput struct {
4514	_ struct{} `type:"structure"`
4515
4516	// The ARN of the SSO instance under which the operation will be executed. For
4517	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
4518	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
4519	// Reference.
4520	//
4521	// InstanceArn is a required field
4522	InstanceArn *string `min:"10" type:"string" required:"true"`
4523
4524	// The identifier that is provided by the ProvisionPermissionSet call to retrieve
4525	// the current status of the provisioning workflow.
4526	//
4527	// ProvisionPermissionSetRequestId is a required field
4528	ProvisionPermissionSetRequestId *string `type:"string" required:"true"`
4529}
4530
4531// String returns the string representation
4532func (s DescribePermissionSetProvisioningStatusInput) String() string {
4533	return awsutil.Prettify(s)
4534}
4535
4536// GoString returns the string representation
4537func (s DescribePermissionSetProvisioningStatusInput) GoString() string {
4538	return s.String()
4539}
4540
4541// Validate inspects the fields of the type to determine if they are valid.
4542func (s *DescribePermissionSetProvisioningStatusInput) Validate() error {
4543	invalidParams := request.ErrInvalidParams{Context: "DescribePermissionSetProvisioningStatusInput"}
4544	if s.InstanceArn == nil {
4545		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
4546	}
4547	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
4548		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
4549	}
4550	if s.ProvisionPermissionSetRequestId == nil {
4551		invalidParams.Add(request.NewErrParamRequired("ProvisionPermissionSetRequestId"))
4552	}
4553
4554	if invalidParams.Len() > 0 {
4555		return invalidParams
4556	}
4557	return nil
4558}
4559
4560// SetInstanceArn sets the InstanceArn field's value.
4561func (s *DescribePermissionSetProvisioningStatusInput) SetInstanceArn(v string) *DescribePermissionSetProvisioningStatusInput {
4562	s.InstanceArn = &v
4563	return s
4564}
4565
4566// SetProvisionPermissionSetRequestId sets the ProvisionPermissionSetRequestId field's value.
4567func (s *DescribePermissionSetProvisioningStatusInput) SetProvisionPermissionSetRequestId(v string) *DescribePermissionSetProvisioningStatusInput {
4568	s.ProvisionPermissionSetRequestId = &v
4569	return s
4570}
4571
4572type DescribePermissionSetProvisioningStatusOutput struct {
4573	_ struct{} `type:"structure"`
4574
4575	// The status object for the permission set provisioning operation.
4576	PermissionSetProvisioningStatus *PermissionSetProvisioningStatus `type:"structure"`
4577}
4578
4579// String returns the string representation
4580func (s DescribePermissionSetProvisioningStatusOutput) String() string {
4581	return awsutil.Prettify(s)
4582}
4583
4584// GoString returns the string representation
4585func (s DescribePermissionSetProvisioningStatusOutput) GoString() string {
4586	return s.String()
4587}
4588
4589// SetPermissionSetProvisioningStatus sets the PermissionSetProvisioningStatus field's value.
4590func (s *DescribePermissionSetProvisioningStatusOutput) SetPermissionSetProvisioningStatus(v *PermissionSetProvisioningStatus) *DescribePermissionSetProvisioningStatusOutput {
4591	s.PermissionSetProvisioningStatus = v
4592	return s
4593}
4594
4595type DetachManagedPolicyFromPermissionSetInput struct {
4596	_ struct{} `type:"structure"`
4597
4598	// The ARN of the SSO instance under which the operation will be executed. For
4599	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
4600	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
4601	// Reference.
4602	//
4603	// InstanceArn is a required field
4604	InstanceArn *string `min:"10" type:"string" required:"true"`
4605
4606	// The IAM managed policy ARN to be attached to a permission set.
4607	//
4608	// ManagedPolicyArn is a required field
4609	ManagedPolicyArn *string `min:"20" type:"string" required:"true"`
4610
4611	// The ARN of the PermissionSet from which the policy should be detached.
4612	//
4613	// PermissionSetArn is a required field
4614	PermissionSetArn *string `min:"10" type:"string" required:"true"`
4615}
4616
4617// String returns the string representation
4618func (s DetachManagedPolicyFromPermissionSetInput) String() string {
4619	return awsutil.Prettify(s)
4620}
4621
4622// GoString returns the string representation
4623func (s DetachManagedPolicyFromPermissionSetInput) GoString() string {
4624	return s.String()
4625}
4626
4627// Validate inspects the fields of the type to determine if they are valid.
4628func (s *DetachManagedPolicyFromPermissionSetInput) Validate() error {
4629	invalidParams := request.ErrInvalidParams{Context: "DetachManagedPolicyFromPermissionSetInput"}
4630	if s.InstanceArn == nil {
4631		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
4632	}
4633	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
4634		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
4635	}
4636	if s.ManagedPolicyArn == nil {
4637		invalidParams.Add(request.NewErrParamRequired("ManagedPolicyArn"))
4638	}
4639	if s.ManagedPolicyArn != nil && len(*s.ManagedPolicyArn) < 20 {
4640		invalidParams.Add(request.NewErrParamMinLen("ManagedPolicyArn", 20))
4641	}
4642	if s.PermissionSetArn == nil {
4643		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
4644	}
4645	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
4646		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
4647	}
4648
4649	if invalidParams.Len() > 0 {
4650		return invalidParams
4651	}
4652	return nil
4653}
4654
4655// SetInstanceArn sets the InstanceArn field's value.
4656func (s *DetachManagedPolicyFromPermissionSetInput) SetInstanceArn(v string) *DetachManagedPolicyFromPermissionSetInput {
4657	s.InstanceArn = &v
4658	return s
4659}
4660
4661// SetManagedPolicyArn sets the ManagedPolicyArn field's value.
4662func (s *DetachManagedPolicyFromPermissionSetInput) SetManagedPolicyArn(v string) *DetachManagedPolicyFromPermissionSetInput {
4663	s.ManagedPolicyArn = &v
4664	return s
4665}
4666
4667// SetPermissionSetArn sets the PermissionSetArn field's value.
4668func (s *DetachManagedPolicyFromPermissionSetInput) SetPermissionSetArn(v string) *DetachManagedPolicyFromPermissionSetInput {
4669	s.PermissionSetArn = &v
4670	return s
4671}
4672
4673type DetachManagedPolicyFromPermissionSetOutput struct {
4674	_ struct{} `type:"structure"`
4675}
4676
4677// String returns the string representation
4678func (s DetachManagedPolicyFromPermissionSetOutput) String() string {
4679	return awsutil.Prettify(s)
4680}
4681
4682// GoString returns the string representation
4683func (s DetachManagedPolicyFromPermissionSetOutput) GoString() string {
4684	return s.String()
4685}
4686
4687type GetInlinePolicyForPermissionSetInput struct {
4688	_ struct{} `type:"structure"`
4689
4690	// The ARN of the SSO instance under which the operation will be executed. For
4691	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
4692	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
4693	// Reference.
4694	//
4695	// InstanceArn is a required field
4696	InstanceArn *string `min:"10" type:"string" required:"true"`
4697
4698	// The ARN of the permission set.
4699	//
4700	// PermissionSetArn is a required field
4701	PermissionSetArn *string `min:"10" type:"string" required:"true"`
4702}
4703
4704// String returns the string representation
4705func (s GetInlinePolicyForPermissionSetInput) String() string {
4706	return awsutil.Prettify(s)
4707}
4708
4709// GoString returns the string representation
4710func (s GetInlinePolicyForPermissionSetInput) GoString() string {
4711	return s.String()
4712}
4713
4714// Validate inspects the fields of the type to determine if they are valid.
4715func (s *GetInlinePolicyForPermissionSetInput) Validate() error {
4716	invalidParams := request.ErrInvalidParams{Context: "GetInlinePolicyForPermissionSetInput"}
4717	if s.InstanceArn == nil {
4718		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
4719	}
4720	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
4721		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
4722	}
4723	if s.PermissionSetArn == nil {
4724		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
4725	}
4726	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
4727		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
4728	}
4729
4730	if invalidParams.Len() > 0 {
4731		return invalidParams
4732	}
4733	return nil
4734}
4735
4736// SetInstanceArn sets the InstanceArn field's value.
4737func (s *GetInlinePolicyForPermissionSetInput) SetInstanceArn(v string) *GetInlinePolicyForPermissionSetInput {
4738	s.InstanceArn = &v
4739	return s
4740}
4741
4742// SetPermissionSetArn sets the PermissionSetArn field's value.
4743func (s *GetInlinePolicyForPermissionSetInput) SetPermissionSetArn(v string) *GetInlinePolicyForPermissionSetInput {
4744	s.PermissionSetArn = &v
4745	return s
4746}
4747
4748type GetInlinePolicyForPermissionSetOutput struct {
4749	_ struct{} `type:"structure"`
4750
4751	// The IAM inline policy that is attached to the permission set.
4752	InlinePolicy *string `min:"1" type:"string" sensitive:"true"`
4753}
4754
4755// String returns the string representation
4756func (s GetInlinePolicyForPermissionSetOutput) String() string {
4757	return awsutil.Prettify(s)
4758}
4759
4760// GoString returns the string representation
4761func (s GetInlinePolicyForPermissionSetOutput) GoString() string {
4762	return s.String()
4763}
4764
4765// SetInlinePolicy sets the InlinePolicy field's value.
4766func (s *GetInlinePolicyForPermissionSetOutput) SetInlinePolicy(v string) *GetInlinePolicyForPermissionSetOutput {
4767	s.InlinePolicy = &v
4768	return s
4769}
4770
4771// Provides information about the SSO instance.
4772type InstanceMetadata struct {
4773	_ struct{} `type:"structure"`
4774
4775	// The identifier of the identity store that is connected to the SSO instance.
4776	IdentityStoreId *string `min:"1" type:"string"`
4777
4778	// The ARN of the SSO instance under which the operation will be executed. For
4779	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
4780	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
4781	// Reference.
4782	InstanceArn *string `min:"10" type:"string"`
4783}
4784
4785// String returns the string representation
4786func (s InstanceMetadata) String() string {
4787	return awsutil.Prettify(s)
4788}
4789
4790// GoString returns the string representation
4791func (s InstanceMetadata) GoString() string {
4792	return s.String()
4793}
4794
4795// SetIdentityStoreId sets the IdentityStoreId field's value.
4796func (s *InstanceMetadata) SetIdentityStoreId(v string) *InstanceMetadata {
4797	s.IdentityStoreId = &v
4798	return s
4799}
4800
4801// SetInstanceArn sets the InstanceArn field's value.
4802func (s *InstanceMetadata) SetInstanceArn(v string) *InstanceMetadata {
4803	s.InstanceArn = &v
4804	return s
4805}
4806
4807// The request processing has failed because of an unknown error, exception,
4808// or failure with an internal server.
4809type InternalServerException struct {
4810	_            struct{}                  `type:"structure"`
4811	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4812
4813	Message_ *string `locationName:"Message" type:"string"`
4814}
4815
4816// String returns the string representation
4817func (s InternalServerException) String() string {
4818	return awsutil.Prettify(s)
4819}
4820
4821// GoString returns the string representation
4822func (s InternalServerException) GoString() string {
4823	return s.String()
4824}
4825
4826func newErrorInternalServerException(v protocol.ResponseMetadata) error {
4827	return &InternalServerException{
4828		RespMetadata: v,
4829	}
4830}
4831
4832// Code returns the exception type name.
4833func (s *InternalServerException) Code() string {
4834	return "InternalServerException"
4835}
4836
4837// Message returns the exception's message.
4838func (s *InternalServerException) Message() string {
4839	if s.Message_ != nil {
4840		return *s.Message_
4841	}
4842	return ""
4843}
4844
4845// OrigErr always returns nil, satisfies awserr.Error interface.
4846func (s *InternalServerException) OrigErr() error {
4847	return nil
4848}
4849
4850func (s *InternalServerException) Error() string {
4851	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4852}
4853
4854// Status code returns the HTTP status code for the request's response error.
4855func (s *InternalServerException) StatusCode() int {
4856	return s.RespMetadata.StatusCode
4857}
4858
4859// RequestID returns the service's response RequestID for request.
4860func (s *InternalServerException) RequestID() string {
4861	return s.RespMetadata.RequestID
4862}
4863
4864type ListAccountAssignmentCreationStatusInput struct {
4865	_ struct{} `type:"structure"`
4866
4867	// Filters results based on the passed attribute value.
4868	Filter *OperationStatusFilter `type:"structure"`
4869
4870	// The ARN of the SSO instance under which the operation will be executed. For
4871	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
4872	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
4873	// Reference.
4874	//
4875	// InstanceArn is a required field
4876	InstanceArn *string `min:"10" type:"string" required:"true"`
4877
4878	// The maximum number of results to display for the assignment.
4879	MaxResults *int64 `min:"1" type:"integer"`
4880
4881	// The pagination token for the list API. Initially the value is null. Use the
4882	// output of previous API calls to make subsequent calls.
4883	NextToken *string `type:"string"`
4884}
4885
4886// String returns the string representation
4887func (s ListAccountAssignmentCreationStatusInput) String() string {
4888	return awsutil.Prettify(s)
4889}
4890
4891// GoString returns the string representation
4892func (s ListAccountAssignmentCreationStatusInput) GoString() string {
4893	return s.String()
4894}
4895
4896// Validate inspects the fields of the type to determine if they are valid.
4897func (s *ListAccountAssignmentCreationStatusInput) Validate() error {
4898	invalidParams := request.ErrInvalidParams{Context: "ListAccountAssignmentCreationStatusInput"}
4899	if s.InstanceArn == nil {
4900		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
4901	}
4902	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
4903		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
4904	}
4905	if s.MaxResults != nil && *s.MaxResults < 1 {
4906		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4907	}
4908
4909	if invalidParams.Len() > 0 {
4910		return invalidParams
4911	}
4912	return nil
4913}
4914
4915// SetFilter sets the Filter field's value.
4916func (s *ListAccountAssignmentCreationStatusInput) SetFilter(v *OperationStatusFilter) *ListAccountAssignmentCreationStatusInput {
4917	s.Filter = v
4918	return s
4919}
4920
4921// SetInstanceArn sets the InstanceArn field's value.
4922func (s *ListAccountAssignmentCreationStatusInput) SetInstanceArn(v string) *ListAccountAssignmentCreationStatusInput {
4923	s.InstanceArn = &v
4924	return s
4925}
4926
4927// SetMaxResults sets the MaxResults field's value.
4928func (s *ListAccountAssignmentCreationStatusInput) SetMaxResults(v int64) *ListAccountAssignmentCreationStatusInput {
4929	s.MaxResults = &v
4930	return s
4931}
4932
4933// SetNextToken sets the NextToken field's value.
4934func (s *ListAccountAssignmentCreationStatusInput) SetNextToken(v string) *ListAccountAssignmentCreationStatusInput {
4935	s.NextToken = &v
4936	return s
4937}
4938
4939type ListAccountAssignmentCreationStatusOutput struct {
4940	_ struct{} `type:"structure"`
4941
4942	// The status object for the account assignment creation operation.
4943	AccountAssignmentsCreationStatus []*AccountAssignmentOperationStatusMetadata `type:"list"`
4944
4945	// The pagination token for the list API. Initially the value is null. Use the
4946	// output of previous API calls to make subsequent calls.
4947	NextToken *string `type:"string"`
4948}
4949
4950// String returns the string representation
4951func (s ListAccountAssignmentCreationStatusOutput) String() string {
4952	return awsutil.Prettify(s)
4953}
4954
4955// GoString returns the string representation
4956func (s ListAccountAssignmentCreationStatusOutput) GoString() string {
4957	return s.String()
4958}
4959
4960// SetAccountAssignmentsCreationStatus sets the AccountAssignmentsCreationStatus field's value.
4961func (s *ListAccountAssignmentCreationStatusOutput) SetAccountAssignmentsCreationStatus(v []*AccountAssignmentOperationStatusMetadata) *ListAccountAssignmentCreationStatusOutput {
4962	s.AccountAssignmentsCreationStatus = v
4963	return s
4964}
4965
4966// SetNextToken sets the NextToken field's value.
4967func (s *ListAccountAssignmentCreationStatusOutput) SetNextToken(v string) *ListAccountAssignmentCreationStatusOutput {
4968	s.NextToken = &v
4969	return s
4970}
4971
4972type ListAccountAssignmentDeletionStatusInput struct {
4973	_ struct{} `type:"structure"`
4974
4975	// Filters results based on the passed attribute value.
4976	Filter *OperationStatusFilter `type:"structure"`
4977
4978	// The ARN of the SSO instance under which the operation will be executed. For
4979	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
4980	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
4981	// Reference.
4982	//
4983	// InstanceArn is a required field
4984	InstanceArn *string `min:"10" type:"string" required:"true"`
4985
4986	// The maximum number of results to display for the assignment.
4987	MaxResults *int64 `min:"1" type:"integer"`
4988
4989	// The pagination token for the list API. Initially the value is null. Use the
4990	// output of previous API calls to make subsequent calls.
4991	NextToken *string `type:"string"`
4992}
4993
4994// String returns the string representation
4995func (s ListAccountAssignmentDeletionStatusInput) String() string {
4996	return awsutil.Prettify(s)
4997}
4998
4999// GoString returns the string representation
5000func (s ListAccountAssignmentDeletionStatusInput) GoString() string {
5001	return s.String()
5002}
5003
5004// Validate inspects the fields of the type to determine if they are valid.
5005func (s *ListAccountAssignmentDeletionStatusInput) Validate() error {
5006	invalidParams := request.ErrInvalidParams{Context: "ListAccountAssignmentDeletionStatusInput"}
5007	if s.InstanceArn == nil {
5008		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
5009	}
5010	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
5011		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
5012	}
5013	if s.MaxResults != nil && *s.MaxResults < 1 {
5014		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5015	}
5016
5017	if invalidParams.Len() > 0 {
5018		return invalidParams
5019	}
5020	return nil
5021}
5022
5023// SetFilter sets the Filter field's value.
5024func (s *ListAccountAssignmentDeletionStatusInput) SetFilter(v *OperationStatusFilter) *ListAccountAssignmentDeletionStatusInput {
5025	s.Filter = v
5026	return s
5027}
5028
5029// SetInstanceArn sets the InstanceArn field's value.
5030func (s *ListAccountAssignmentDeletionStatusInput) SetInstanceArn(v string) *ListAccountAssignmentDeletionStatusInput {
5031	s.InstanceArn = &v
5032	return s
5033}
5034
5035// SetMaxResults sets the MaxResults field's value.
5036func (s *ListAccountAssignmentDeletionStatusInput) SetMaxResults(v int64) *ListAccountAssignmentDeletionStatusInput {
5037	s.MaxResults = &v
5038	return s
5039}
5040
5041// SetNextToken sets the NextToken field's value.
5042func (s *ListAccountAssignmentDeletionStatusInput) SetNextToken(v string) *ListAccountAssignmentDeletionStatusInput {
5043	s.NextToken = &v
5044	return s
5045}
5046
5047type ListAccountAssignmentDeletionStatusOutput struct {
5048	_ struct{} `type:"structure"`
5049
5050	// The status object for the account assignment deletion operation.
5051	AccountAssignmentsDeletionStatus []*AccountAssignmentOperationStatusMetadata `type:"list"`
5052
5053	// The pagination token for the list API. Initially the value is null. Use the
5054	// output of previous API calls to make subsequent calls.
5055	NextToken *string `type:"string"`
5056}
5057
5058// String returns the string representation
5059func (s ListAccountAssignmentDeletionStatusOutput) String() string {
5060	return awsutil.Prettify(s)
5061}
5062
5063// GoString returns the string representation
5064func (s ListAccountAssignmentDeletionStatusOutput) GoString() string {
5065	return s.String()
5066}
5067
5068// SetAccountAssignmentsDeletionStatus sets the AccountAssignmentsDeletionStatus field's value.
5069func (s *ListAccountAssignmentDeletionStatusOutput) SetAccountAssignmentsDeletionStatus(v []*AccountAssignmentOperationStatusMetadata) *ListAccountAssignmentDeletionStatusOutput {
5070	s.AccountAssignmentsDeletionStatus = v
5071	return s
5072}
5073
5074// SetNextToken sets the NextToken field's value.
5075func (s *ListAccountAssignmentDeletionStatusOutput) SetNextToken(v string) *ListAccountAssignmentDeletionStatusOutput {
5076	s.NextToken = &v
5077	return s
5078}
5079
5080type ListAccountAssignmentsInput struct {
5081	_ struct{} `type:"structure"`
5082
5083	// The identifier of the AWS account from which to list the assignments.
5084	//
5085	// AccountId is a required field
5086	AccountId *string `type:"string" required:"true"`
5087
5088	// The ARN of the SSO instance under which the operation will be executed. For
5089	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
5090	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
5091	// Reference.
5092	//
5093	// InstanceArn is a required field
5094	InstanceArn *string `min:"10" type:"string" required:"true"`
5095
5096	// The maximum number of results to display for the assignment.
5097	MaxResults *int64 `min:"1" type:"integer"`
5098
5099	// The pagination token for the list API. Initially the value is null. Use the
5100	// output of previous API calls to make subsequent calls.
5101	NextToken *string `type:"string"`
5102
5103	// The ARN of the permission set from which to list assignments.
5104	//
5105	// PermissionSetArn is a required field
5106	PermissionSetArn *string `min:"10" type:"string" required:"true"`
5107}
5108
5109// String returns the string representation
5110func (s ListAccountAssignmentsInput) String() string {
5111	return awsutil.Prettify(s)
5112}
5113
5114// GoString returns the string representation
5115func (s ListAccountAssignmentsInput) GoString() string {
5116	return s.String()
5117}
5118
5119// Validate inspects the fields of the type to determine if they are valid.
5120func (s *ListAccountAssignmentsInput) Validate() error {
5121	invalidParams := request.ErrInvalidParams{Context: "ListAccountAssignmentsInput"}
5122	if s.AccountId == nil {
5123		invalidParams.Add(request.NewErrParamRequired("AccountId"))
5124	}
5125	if s.InstanceArn == nil {
5126		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
5127	}
5128	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
5129		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
5130	}
5131	if s.MaxResults != nil && *s.MaxResults < 1 {
5132		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5133	}
5134	if s.PermissionSetArn == nil {
5135		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
5136	}
5137	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
5138		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
5139	}
5140
5141	if invalidParams.Len() > 0 {
5142		return invalidParams
5143	}
5144	return nil
5145}
5146
5147// SetAccountId sets the AccountId field's value.
5148func (s *ListAccountAssignmentsInput) SetAccountId(v string) *ListAccountAssignmentsInput {
5149	s.AccountId = &v
5150	return s
5151}
5152
5153// SetInstanceArn sets the InstanceArn field's value.
5154func (s *ListAccountAssignmentsInput) SetInstanceArn(v string) *ListAccountAssignmentsInput {
5155	s.InstanceArn = &v
5156	return s
5157}
5158
5159// SetMaxResults sets the MaxResults field's value.
5160func (s *ListAccountAssignmentsInput) SetMaxResults(v int64) *ListAccountAssignmentsInput {
5161	s.MaxResults = &v
5162	return s
5163}
5164
5165// SetNextToken sets the NextToken field's value.
5166func (s *ListAccountAssignmentsInput) SetNextToken(v string) *ListAccountAssignmentsInput {
5167	s.NextToken = &v
5168	return s
5169}
5170
5171// SetPermissionSetArn sets the PermissionSetArn field's value.
5172func (s *ListAccountAssignmentsInput) SetPermissionSetArn(v string) *ListAccountAssignmentsInput {
5173	s.PermissionSetArn = &v
5174	return s
5175}
5176
5177type ListAccountAssignmentsOutput struct {
5178	_ struct{} `type:"structure"`
5179
5180	// The list of assignments that match the input AWS account and permission set.
5181	AccountAssignments []*AccountAssignment `type:"list"`
5182
5183	// The pagination token for the list API. Initially the value is null. Use the
5184	// output of previous API calls to make subsequent calls.
5185	NextToken *string `type:"string"`
5186}
5187
5188// String returns the string representation
5189func (s ListAccountAssignmentsOutput) String() string {
5190	return awsutil.Prettify(s)
5191}
5192
5193// GoString returns the string representation
5194func (s ListAccountAssignmentsOutput) GoString() string {
5195	return s.String()
5196}
5197
5198// SetAccountAssignments sets the AccountAssignments field's value.
5199func (s *ListAccountAssignmentsOutput) SetAccountAssignments(v []*AccountAssignment) *ListAccountAssignmentsOutput {
5200	s.AccountAssignments = v
5201	return s
5202}
5203
5204// SetNextToken sets the NextToken field's value.
5205func (s *ListAccountAssignmentsOutput) SetNextToken(v string) *ListAccountAssignmentsOutput {
5206	s.NextToken = &v
5207	return s
5208}
5209
5210type ListAccountsForProvisionedPermissionSetInput struct {
5211	_ struct{} `type:"structure"`
5212
5213	// The ARN of the SSO instance under which the operation will be executed. For
5214	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
5215	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
5216	// Reference.
5217	//
5218	// InstanceArn is a required field
5219	InstanceArn *string `min:"10" type:"string" required:"true"`
5220
5221	// The maximum number of results to display for the PermissionSet.
5222	MaxResults *int64 `min:"1" type:"integer"`
5223
5224	// The pagination token for the list API. Initially the value is null. Use the
5225	// output of previous API calls to make subsequent calls.
5226	NextToken *string `type:"string"`
5227
5228	// The ARN of the PermissionSet from which the associated AWS accounts will
5229	// be listed.
5230	//
5231	// PermissionSetArn is a required field
5232	PermissionSetArn *string `min:"10" type:"string" required:"true"`
5233
5234	// The permission set provisioning status for an AWS account.
5235	ProvisioningStatus *string `type:"string" enum:"ProvisioningStatus"`
5236}
5237
5238// String returns the string representation
5239func (s ListAccountsForProvisionedPermissionSetInput) String() string {
5240	return awsutil.Prettify(s)
5241}
5242
5243// GoString returns the string representation
5244func (s ListAccountsForProvisionedPermissionSetInput) GoString() string {
5245	return s.String()
5246}
5247
5248// Validate inspects the fields of the type to determine if they are valid.
5249func (s *ListAccountsForProvisionedPermissionSetInput) Validate() error {
5250	invalidParams := request.ErrInvalidParams{Context: "ListAccountsForProvisionedPermissionSetInput"}
5251	if s.InstanceArn == nil {
5252		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
5253	}
5254	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
5255		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
5256	}
5257	if s.MaxResults != nil && *s.MaxResults < 1 {
5258		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5259	}
5260	if s.PermissionSetArn == nil {
5261		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
5262	}
5263	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
5264		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
5265	}
5266
5267	if invalidParams.Len() > 0 {
5268		return invalidParams
5269	}
5270	return nil
5271}
5272
5273// SetInstanceArn sets the InstanceArn field's value.
5274func (s *ListAccountsForProvisionedPermissionSetInput) SetInstanceArn(v string) *ListAccountsForProvisionedPermissionSetInput {
5275	s.InstanceArn = &v
5276	return s
5277}
5278
5279// SetMaxResults sets the MaxResults field's value.
5280func (s *ListAccountsForProvisionedPermissionSetInput) SetMaxResults(v int64) *ListAccountsForProvisionedPermissionSetInput {
5281	s.MaxResults = &v
5282	return s
5283}
5284
5285// SetNextToken sets the NextToken field's value.
5286func (s *ListAccountsForProvisionedPermissionSetInput) SetNextToken(v string) *ListAccountsForProvisionedPermissionSetInput {
5287	s.NextToken = &v
5288	return s
5289}
5290
5291// SetPermissionSetArn sets the PermissionSetArn field's value.
5292func (s *ListAccountsForProvisionedPermissionSetInput) SetPermissionSetArn(v string) *ListAccountsForProvisionedPermissionSetInput {
5293	s.PermissionSetArn = &v
5294	return s
5295}
5296
5297// SetProvisioningStatus sets the ProvisioningStatus field's value.
5298func (s *ListAccountsForProvisionedPermissionSetInput) SetProvisioningStatus(v string) *ListAccountsForProvisionedPermissionSetInput {
5299	s.ProvisioningStatus = &v
5300	return s
5301}
5302
5303type ListAccountsForProvisionedPermissionSetOutput struct {
5304	_ struct{} `type:"structure"`
5305
5306	// The list of AWS AccountIds.
5307	AccountIds []*string `type:"list"`
5308
5309	// The pagination token for the list API. Initially the value is null. Use the
5310	// output of previous API calls to make subsequent calls.
5311	NextToken *string `type:"string"`
5312}
5313
5314// String returns the string representation
5315func (s ListAccountsForProvisionedPermissionSetOutput) String() string {
5316	return awsutil.Prettify(s)
5317}
5318
5319// GoString returns the string representation
5320func (s ListAccountsForProvisionedPermissionSetOutput) GoString() string {
5321	return s.String()
5322}
5323
5324// SetAccountIds sets the AccountIds field's value.
5325func (s *ListAccountsForProvisionedPermissionSetOutput) SetAccountIds(v []*string) *ListAccountsForProvisionedPermissionSetOutput {
5326	s.AccountIds = v
5327	return s
5328}
5329
5330// SetNextToken sets the NextToken field's value.
5331func (s *ListAccountsForProvisionedPermissionSetOutput) SetNextToken(v string) *ListAccountsForProvisionedPermissionSetOutput {
5332	s.NextToken = &v
5333	return s
5334}
5335
5336type ListInstancesInput struct {
5337	_ struct{} `type:"structure"`
5338
5339	// The maximum number of results to display for the instance.
5340	MaxResults *int64 `min:"1" type:"integer"`
5341
5342	// The pagination token for the list API. Initially the value is null. Use the
5343	// output of previous API calls to make subsequent calls.
5344	NextToken *string `type:"string"`
5345}
5346
5347// String returns the string representation
5348func (s ListInstancesInput) String() string {
5349	return awsutil.Prettify(s)
5350}
5351
5352// GoString returns the string representation
5353func (s ListInstancesInput) GoString() string {
5354	return s.String()
5355}
5356
5357// Validate inspects the fields of the type to determine if they are valid.
5358func (s *ListInstancesInput) Validate() error {
5359	invalidParams := request.ErrInvalidParams{Context: "ListInstancesInput"}
5360	if s.MaxResults != nil && *s.MaxResults < 1 {
5361		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5362	}
5363
5364	if invalidParams.Len() > 0 {
5365		return invalidParams
5366	}
5367	return nil
5368}
5369
5370// SetMaxResults sets the MaxResults field's value.
5371func (s *ListInstancesInput) SetMaxResults(v int64) *ListInstancesInput {
5372	s.MaxResults = &v
5373	return s
5374}
5375
5376// SetNextToken sets the NextToken field's value.
5377func (s *ListInstancesInput) SetNextToken(v string) *ListInstancesInput {
5378	s.NextToken = &v
5379	return s
5380}
5381
5382type ListInstancesOutput struct {
5383	_ struct{} `type:"structure"`
5384
5385	// Lists the SSO instances that the caller has access to.
5386	Instances []*InstanceMetadata `type:"list"`
5387
5388	// The pagination token for the list API. Initially the value is null. Use the
5389	// output of previous API calls to make subsequent calls.
5390	NextToken *string `type:"string"`
5391}
5392
5393// String returns the string representation
5394func (s ListInstancesOutput) String() string {
5395	return awsutil.Prettify(s)
5396}
5397
5398// GoString returns the string representation
5399func (s ListInstancesOutput) GoString() string {
5400	return s.String()
5401}
5402
5403// SetInstances sets the Instances field's value.
5404func (s *ListInstancesOutput) SetInstances(v []*InstanceMetadata) *ListInstancesOutput {
5405	s.Instances = v
5406	return s
5407}
5408
5409// SetNextToken sets the NextToken field's value.
5410func (s *ListInstancesOutput) SetNextToken(v string) *ListInstancesOutput {
5411	s.NextToken = &v
5412	return s
5413}
5414
5415type ListManagedPoliciesInPermissionSetInput struct {
5416	_ struct{} `type:"structure"`
5417
5418	// The ARN of the SSO instance under which the operation will be executed. For
5419	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
5420	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
5421	// Reference.
5422	//
5423	// InstanceArn is a required field
5424	InstanceArn *string `min:"10" type:"string" required:"true"`
5425
5426	// The maximum number of results to display for the PermissionSet.
5427	MaxResults *int64 `min:"1" type:"integer"`
5428
5429	// The pagination token for the list API. Initially the value is null. Use the
5430	// output of previous API calls to make subsequent calls.
5431	NextToken *string `type:"string"`
5432
5433	// The ARN of the PermissionSet whose managed policies will be listed.
5434	//
5435	// PermissionSetArn is a required field
5436	PermissionSetArn *string `min:"10" type:"string" required:"true"`
5437}
5438
5439// String returns the string representation
5440func (s ListManagedPoliciesInPermissionSetInput) String() string {
5441	return awsutil.Prettify(s)
5442}
5443
5444// GoString returns the string representation
5445func (s ListManagedPoliciesInPermissionSetInput) GoString() string {
5446	return s.String()
5447}
5448
5449// Validate inspects the fields of the type to determine if they are valid.
5450func (s *ListManagedPoliciesInPermissionSetInput) Validate() error {
5451	invalidParams := request.ErrInvalidParams{Context: "ListManagedPoliciesInPermissionSetInput"}
5452	if s.InstanceArn == nil {
5453		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
5454	}
5455	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
5456		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
5457	}
5458	if s.MaxResults != nil && *s.MaxResults < 1 {
5459		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5460	}
5461	if s.PermissionSetArn == nil {
5462		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
5463	}
5464	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
5465		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
5466	}
5467
5468	if invalidParams.Len() > 0 {
5469		return invalidParams
5470	}
5471	return nil
5472}
5473
5474// SetInstanceArn sets the InstanceArn field's value.
5475func (s *ListManagedPoliciesInPermissionSetInput) SetInstanceArn(v string) *ListManagedPoliciesInPermissionSetInput {
5476	s.InstanceArn = &v
5477	return s
5478}
5479
5480// SetMaxResults sets the MaxResults field's value.
5481func (s *ListManagedPoliciesInPermissionSetInput) SetMaxResults(v int64) *ListManagedPoliciesInPermissionSetInput {
5482	s.MaxResults = &v
5483	return s
5484}
5485
5486// SetNextToken sets the NextToken field's value.
5487func (s *ListManagedPoliciesInPermissionSetInput) SetNextToken(v string) *ListManagedPoliciesInPermissionSetInput {
5488	s.NextToken = &v
5489	return s
5490}
5491
5492// SetPermissionSetArn sets the PermissionSetArn field's value.
5493func (s *ListManagedPoliciesInPermissionSetInput) SetPermissionSetArn(v string) *ListManagedPoliciesInPermissionSetInput {
5494	s.PermissionSetArn = &v
5495	return s
5496}
5497
5498type ListManagedPoliciesInPermissionSetOutput struct {
5499	_ struct{} `type:"structure"`
5500
5501	// The array of the AttachedManagedPolicy data type object.
5502	AttachedManagedPolicies []*AttachedManagedPolicy `type:"list"`
5503
5504	// The pagination token for the list API. Initially the value is null. Use the
5505	// output of previous API calls to make subsequent calls.
5506	NextToken *string `type:"string"`
5507}
5508
5509// String returns the string representation
5510func (s ListManagedPoliciesInPermissionSetOutput) String() string {
5511	return awsutil.Prettify(s)
5512}
5513
5514// GoString returns the string representation
5515func (s ListManagedPoliciesInPermissionSetOutput) GoString() string {
5516	return s.String()
5517}
5518
5519// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
5520func (s *ListManagedPoliciesInPermissionSetOutput) SetAttachedManagedPolicies(v []*AttachedManagedPolicy) *ListManagedPoliciesInPermissionSetOutput {
5521	s.AttachedManagedPolicies = v
5522	return s
5523}
5524
5525// SetNextToken sets the NextToken field's value.
5526func (s *ListManagedPoliciesInPermissionSetOutput) SetNextToken(v string) *ListManagedPoliciesInPermissionSetOutput {
5527	s.NextToken = &v
5528	return s
5529}
5530
5531type ListPermissionSetProvisioningStatusInput struct {
5532	_ struct{} `type:"structure"`
5533
5534	// Filters results based on the passed attribute value.
5535	Filter *OperationStatusFilter `type:"structure"`
5536
5537	// The ARN of the SSO instance under which the operation will be executed. For
5538	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
5539	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
5540	// Reference.
5541	//
5542	// InstanceArn is a required field
5543	InstanceArn *string `min:"10" type:"string" required:"true"`
5544
5545	// The maximum number of results to display for the assignment.
5546	MaxResults *int64 `min:"1" type:"integer"`
5547
5548	// The pagination token for the list API. Initially the value is null. Use the
5549	// output of previous API calls to make subsequent calls.
5550	NextToken *string `type:"string"`
5551}
5552
5553// String returns the string representation
5554func (s ListPermissionSetProvisioningStatusInput) String() string {
5555	return awsutil.Prettify(s)
5556}
5557
5558// GoString returns the string representation
5559func (s ListPermissionSetProvisioningStatusInput) GoString() string {
5560	return s.String()
5561}
5562
5563// Validate inspects the fields of the type to determine if they are valid.
5564func (s *ListPermissionSetProvisioningStatusInput) Validate() error {
5565	invalidParams := request.ErrInvalidParams{Context: "ListPermissionSetProvisioningStatusInput"}
5566	if s.InstanceArn == nil {
5567		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
5568	}
5569	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
5570		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
5571	}
5572	if s.MaxResults != nil && *s.MaxResults < 1 {
5573		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5574	}
5575
5576	if invalidParams.Len() > 0 {
5577		return invalidParams
5578	}
5579	return nil
5580}
5581
5582// SetFilter sets the Filter field's value.
5583func (s *ListPermissionSetProvisioningStatusInput) SetFilter(v *OperationStatusFilter) *ListPermissionSetProvisioningStatusInput {
5584	s.Filter = v
5585	return s
5586}
5587
5588// SetInstanceArn sets the InstanceArn field's value.
5589func (s *ListPermissionSetProvisioningStatusInput) SetInstanceArn(v string) *ListPermissionSetProvisioningStatusInput {
5590	s.InstanceArn = &v
5591	return s
5592}
5593
5594// SetMaxResults sets the MaxResults field's value.
5595func (s *ListPermissionSetProvisioningStatusInput) SetMaxResults(v int64) *ListPermissionSetProvisioningStatusInput {
5596	s.MaxResults = &v
5597	return s
5598}
5599
5600// SetNextToken sets the NextToken field's value.
5601func (s *ListPermissionSetProvisioningStatusInput) SetNextToken(v string) *ListPermissionSetProvisioningStatusInput {
5602	s.NextToken = &v
5603	return s
5604}
5605
5606type ListPermissionSetProvisioningStatusOutput struct {
5607	_ struct{} `type:"structure"`
5608
5609	// The pagination token for the list API. Initially the value is null. Use the
5610	// output of previous API calls to make subsequent calls.
5611	NextToken *string `type:"string"`
5612
5613	// The status object for the permission set provisioning operation.
5614	PermissionSetsProvisioningStatus []*PermissionSetProvisioningStatusMetadata `type:"list"`
5615}
5616
5617// String returns the string representation
5618func (s ListPermissionSetProvisioningStatusOutput) String() string {
5619	return awsutil.Prettify(s)
5620}
5621
5622// GoString returns the string representation
5623func (s ListPermissionSetProvisioningStatusOutput) GoString() string {
5624	return s.String()
5625}
5626
5627// SetNextToken sets the NextToken field's value.
5628func (s *ListPermissionSetProvisioningStatusOutput) SetNextToken(v string) *ListPermissionSetProvisioningStatusOutput {
5629	s.NextToken = &v
5630	return s
5631}
5632
5633// SetPermissionSetsProvisioningStatus sets the PermissionSetsProvisioningStatus field's value.
5634func (s *ListPermissionSetProvisioningStatusOutput) SetPermissionSetsProvisioningStatus(v []*PermissionSetProvisioningStatusMetadata) *ListPermissionSetProvisioningStatusOutput {
5635	s.PermissionSetsProvisioningStatus = v
5636	return s
5637}
5638
5639type ListPermissionSetsInput struct {
5640	_ struct{} `type:"structure"`
5641
5642	// The ARN of the SSO instance under which the operation will be executed. For
5643	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
5644	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
5645	// Reference.
5646	//
5647	// InstanceArn is a required field
5648	InstanceArn *string `min:"10" type:"string" required:"true"`
5649
5650	// The maximum number of results to display for the assignment.
5651	MaxResults *int64 `min:"1" type:"integer"`
5652
5653	// The pagination token for the list API. Initially the value is null. Use the
5654	// output of previous API calls to make subsequent calls.
5655	NextToken *string `type:"string"`
5656}
5657
5658// String returns the string representation
5659func (s ListPermissionSetsInput) String() string {
5660	return awsutil.Prettify(s)
5661}
5662
5663// GoString returns the string representation
5664func (s ListPermissionSetsInput) GoString() string {
5665	return s.String()
5666}
5667
5668// Validate inspects the fields of the type to determine if they are valid.
5669func (s *ListPermissionSetsInput) Validate() error {
5670	invalidParams := request.ErrInvalidParams{Context: "ListPermissionSetsInput"}
5671	if s.InstanceArn == nil {
5672		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
5673	}
5674	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
5675		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
5676	}
5677	if s.MaxResults != nil && *s.MaxResults < 1 {
5678		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5679	}
5680
5681	if invalidParams.Len() > 0 {
5682		return invalidParams
5683	}
5684	return nil
5685}
5686
5687// SetInstanceArn sets the InstanceArn field's value.
5688func (s *ListPermissionSetsInput) SetInstanceArn(v string) *ListPermissionSetsInput {
5689	s.InstanceArn = &v
5690	return s
5691}
5692
5693// SetMaxResults sets the MaxResults field's value.
5694func (s *ListPermissionSetsInput) SetMaxResults(v int64) *ListPermissionSetsInput {
5695	s.MaxResults = &v
5696	return s
5697}
5698
5699// SetNextToken sets the NextToken field's value.
5700func (s *ListPermissionSetsInput) SetNextToken(v string) *ListPermissionSetsInput {
5701	s.NextToken = &v
5702	return s
5703}
5704
5705type ListPermissionSetsOutput struct {
5706	_ struct{} `type:"structure"`
5707
5708	// The pagination token for the list API. Initially the value is null. Use the
5709	// output of previous API calls to make subsequent calls.
5710	NextToken *string `type:"string"`
5711
5712	// Defines the level of access on an AWS account.
5713	PermissionSets []*string `type:"list"`
5714}
5715
5716// String returns the string representation
5717func (s ListPermissionSetsOutput) String() string {
5718	return awsutil.Prettify(s)
5719}
5720
5721// GoString returns the string representation
5722func (s ListPermissionSetsOutput) GoString() string {
5723	return s.String()
5724}
5725
5726// SetNextToken sets the NextToken field's value.
5727func (s *ListPermissionSetsOutput) SetNextToken(v string) *ListPermissionSetsOutput {
5728	s.NextToken = &v
5729	return s
5730}
5731
5732// SetPermissionSets sets the PermissionSets field's value.
5733func (s *ListPermissionSetsOutput) SetPermissionSets(v []*string) *ListPermissionSetsOutput {
5734	s.PermissionSets = v
5735	return s
5736}
5737
5738type ListPermissionSetsProvisionedToAccountInput struct {
5739	_ struct{} `type:"structure"`
5740
5741	// The identifier of the AWS account from which to list the assignments.
5742	//
5743	// AccountId is a required field
5744	AccountId *string `type:"string" required:"true"`
5745
5746	// The ARN of the SSO instance under which the operation will be executed. For
5747	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
5748	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
5749	// Reference.
5750	//
5751	// InstanceArn is a required field
5752	InstanceArn *string `min:"10" type:"string" required:"true"`
5753
5754	// The maximum number of results to display for the assignment.
5755	MaxResults *int64 `min:"1" type:"integer"`
5756
5757	// The pagination token for the list API. Initially the value is null. Use the
5758	// output of previous API calls to make subsequent calls.
5759	NextToken *string `type:"string"`
5760
5761	// The status object for the permission set provisioning operation.
5762	ProvisioningStatus *string `type:"string" enum:"ProvisioningStatus"`
5763}
5764
5765// String returns the string representation
5766func (s ListPermissionSetsProvisionedToAccountInput) String() string {
5767	return awsutil.Prettify(s)
5768}
5769
5770// GoString returns the string representation
5771func (s ListPermissionSetsProvisionedToAccountInput) GoString() string {
5772	return s.String()
5773}
5774
5775// Validate inspects the fields of the type to determine if they are valid.
5776func (s *ListPermissionSetsProvisionedToAccountInput) Validate() error {
5777	invalidParams := request.ErrInvalidParams{Context: "ListPermissionSetsProvisionedToAccountInput"}
5778	if s.AccountId == nil {
5779		invalidParams.Add(request.NewErrParamRequired("AccountId"))
5780	}
5781	if s.InstanceArn == nil {
5782		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
5783	}
5784	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
5785		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
5786	}
5787	if s.MaxResults != nil && *s.MaxResults < 1 {
5788		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5789	}
5790
5791	if invalidParams.Len() > 0 {
5792		return invalidParams
5793	}
5794	return nil
5795}
5796
5797// SetAccountId sets the AccountId field's value.
5798func (s *ListPermissionSetsProvisionedToAccountInput) SetAccountId(v string) *ListPermissionSetsProvisionedToAccountInput {
5799	s.AccountId = &v
5800	return s
5801}
5802
5803// SetInstanceArn sets the InstanceArn field's value.
5804func (s *ListPermissionSetsProvisionedToAccountInput) SetInstanceArn(v string) *ListPermissionSetsProvisionedToAccountInput {
5805	s.InstanceArn = &v
5806	return s
5807}
5808
5809// SetMaxResults sets the MaxResults field's value.
5810func (s *ListPermissionSetsProvisionedToAccountInput) SetMaxResults(v int64) *ListPermissionSetsProvisionedToAccountInput {
5811	s.MaxResults = &v
5812	return s
5813}
5814
5815// SetNextToken sets the NextToken field's value.
5816func (s *ListPermissionSetsProvisionedToAccountInput) SetNextToken(v string) *ListPermissionSetsProvisionedToAccountInput {
5817	s.NextToken = &v
5818	return s
5819}
5820
5821// SetProvisioningStatus sets the ProvisioningStatus field's value.
5822func (s *ListPermissionSetsProvisionedToAccountInput) SetProvisioningStatus(v string) *ListPermissionSetsProvisionedToAccountInput {
5823	s.ProvisioningStatus = &v
5824	return s
5825}
5826
5827type ListPermissionSetsProvisionedToAccountOutput struct {
5828	_ struct{} `type:"structure"`
5829
5830	// The pagination token for the list API. Initially the value is null. Use the
5831	// output of previous API calls to make subsequent calls.
5832	NextToken *string `type:"string"`
5833
5834	// Defines the level of access that an AWS account has.
5835	PermissionSets []*string `type:"list"`
5836}
5837
5838// String returns the string representation
5839func (s ListPermissionSetsProvisionedToAccountOutput) String() string {
5840	return awsutil.Prettify(s)
5841}
5842
5843// GoString returns the string representation
5844func (s ListPermissionSetsProvisionedToAccountOutput) GoString() string {
5845	return s.String()
5846}
5847
5848// SetNextToken sets the NextToken field's value.
5849func (s *ListPermissionSetsProvisionedToAccountOutput) SetNextToken(v string) *ListPermissionSetsProvisionedToAccountOutput {
5850	s.NextToken = &v
5851	return s
5852}
5853
5854// SetPermissionSets sets the PermissionSets field's value.
5855func (s *ListPermissionSetsProvisionedToAccountOutput) SetPermissionSets(v []*string) *ListPermissionSetsProvisionedToAccountOutput {
5856	s.PermissionSets = v
5857	return s
5858}
5859
5860type ListTagsForResourceInput struct {
5861	_ struct{} `type:"structure"`
5862
5863	// The ARN of the SSO instance under which the operation will be executed. For
5864	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
5865	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
5866	// Reference.
5867	//
5868	// InstanceArn is a required field
5869	InstanceArn *string `min:"10" type:"string" required:"true"`
5870
5871	// The pagination token for the list API. Initially the value is null. Use the
5872	// output of previous API calls to make subsequent calls.
5873	NextToken *string `type:"string"`
5874
5875	// The ARN of the resource with the tags to be listed.
5876	//
5877	// ResourceArn is a required field
5878	ResourceArn *string `min:"10" type:"string" required:"true"`
5879}
5880
5881// String returns the string representation
5882func (s ListTagsForResourceInput) String() string {
5883	return awsutil.Prettify(s)
5884}
5885
5886// GoString returns the string representation
5887func (s ListTagsForResourceInput) GoString() string {
5888	return s.String()
5889}
5890
5891// Validate inspects the fields of the type to determine if they are valid.
5892func (s *ListTagsForResourceInput) Validate() error {
5893	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
5894	if s.InstanceArn == nil {
5895		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
5896	}
5897	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
5898		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
5899	}
5900	if s.ResourceArn == nil {
5901		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
5902	}
5903	if s.ResourceArn != nil && len(*s.ResourceArn) < 10 {
5904		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 10))
5905	}
5906
5907	if invalidParams.Len() > 0 {
5908		return invalidParams
5909	}
5910	return nil
5911}
5912
5913// SetInstanceArn sets the InstanceArn field's value.
5914func (s *ListTagsForResourceInput) SetInstanceArn(v string) *ListTagsForResourceInput {
5915	s.InstanceArn = &v
5916	return s
5917}
5918
5919// SetNextToken sets the NextToken field's value.
5920func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
5921	s.NextToken = &v
5922	return s
5923}
5924
5925// SetResourceArn sets the ResourceArn field's value.
5926func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
5927	s.ResourceArn = &v
5928	return s
5929}
5930
5931type ListTagsForResourceOutput struct {
5932	_ struct{} `type:"structure"`
5933
5934	// The pagination token for the list API. Initially the value is null. Use the
5935	// output of previous API calls to make subsequent calls.
5936	NextToken *string `type:"string"`
5937
5938	// A set of key-value pairs that are used to manage the resource.
5939	Tags []*Tag `type:"list"`
5940}
5941
5942// String returns the string representation
5943func (s ListTagsForResourceOutput) String() string {
5944	return awsutil.Prettify(s)
5945}
5946
5947// GoString returns the string representation
5948func (s ListTagsForResourceOutput) GoString() string {
5949	return s.String()
5950}
5951
5952// SetNextToken sets the NextToken field's value.
5953func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
5954	s.NextToken = &v
5955	return s
5956}
5957
5958// SetTags sets the Tags field's value.
5959func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
5960	s.Tags = v
5961	return s
5962}
5963
5964// Filters he operation status list based on the passed attribute value.
5965type OperationStatusFilter struct {
5966	_ struct{} `type:"structure"`
5967
5968	// Filters the list operations result based on the status attribute.
5969	Status *string `type:"string" enum:"StatusValues"`
5970}
5971
5972// String returns the string representation
5973func (s OperationStatusFilter) String() string {
5974	return awsutil.Prettify(s)
5975}
5976
5977// GoString returns the string representation
5978func (s OperationStatusFilter) GoString() string {
5979	return s.String()
5980}
5981
5982// SetStatus sets the Status field's value.
5983func (s *OperationStatusFilter) SetStatus(v string) *OperationStatusFilter {
5984	s.Status = &v
5985	return s
5986}
5987
5988// An entity that contains IAM policies.
5989type PermissionSet struct {
5990	_ struct{} `type:"structure"`
5991
5992	// The date that the permission set was created.
5993	CreatedDate *time.Time `type:"timestamp"`
5994
5995	// The description of the PermissionSet.
5996	Description *string `min:"1" type:"string"`
5997
5998	// The name of the permission set.
5999	Name *string `min:"1" type:"string"`
6000
6001	// The ARN of the permission set. For more information about ARNs, see Amazon
6002	// Resource Names (ARNs) and AWS Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
6003	// in the AWS General Reference.
6004	PermissionSetArn *string `min:"10" type:"string"`
6005
6006	// Used to redirect users within the application during the federation authentication
6007	// process.
6008	RelayState *string `min:"1" type:"string"`
6009
6010	// The length of time that the application user sessions are valid for in the
6011	// ISO-8601 standard.
6012	SessionDuration *string `min:"1" type:"string"`
6013}
6014
6015// String returns the string representation
6016func (s PermissionSet) String() string {
6017	return awsutil.Prettify(s)
6018}
6019
6020// GoString returns the string representation
6021func (s PermissionSet) GoString() string {
6022	return s.String()
6023}
6024
6025// SetCreatedDate sets the CreatedDate field's value.
6026func (s *PermissionSet) SetCreatedDate(v time.Time) *PermissionSet {
6027	s.CreatedDate = &v
6028	return s
6029}
6030
6031// SetDescription sets the Description field's value.
6032func (s *PermissionSet) SetDescription(v string) *PermissionSet {
6033	s.Description = &v
6034	return s
6035}
6036
6037// SetName sets the Name field's value.
6038func (s *PermissionSet) SetName(v string) *PermissionSet {
6039	s.Name = &v
6040	return s
6041}
6042
6043// SetPermissionSetArn sets the PermissionSetArn field's value.
6044func (s *PermissionSet) SetPermissionSetArn(v string) *PermissionSet {
6045	s.PermissionSetArn = &v
6046	return s
6047}
6048
6049// SetRelayState sets the RelayState field's value.
6050func (s *PermissionSet) SetRelayState(v string) *PermissionSet {
6051	s.RelayState = &v
6052	return s
6053}
6054
6055// SetSessionDuration sets the SessionDuration field's value.
6056func (s *PermissionSet) SetSessionDuration(v string) *PermissionSet {
6057	s.SessionDuration = &v
6058	return s
6059}
6060
6061// A structure that is used to provide the status of the provisioning operation
6062// for a specified permission set.
6063type PermissionSetProvisioningStatus struct {
6064	_ struct{} `type:"structure"`
6065
6066	// The identifier of the AWS account from which to list the assignments.
6067	AccountId *string `type:"string"`
6068
6069	// The date that the permission set was created.
6070	CreatedDate *time.Time `type:"timestamp"`
6071
6072	// The message that contains an error or exception in case of an operation failure.
6073	FailureReason *string `type:"string"`
6074
6075	// The ARN of the permission set that is being provisioned. For more information
6076	// about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
6077	// in the AWS General Reference.
6078	PermissionSetArn *string `min:"10" type:"string"`
6079
6080	// The identifier for tracking the request operation that is generated by the
6081	// universally unique identifier (UUID) workflow.
6082	RequestId *string `type:"string"`
6083
6084	// The status of the permission set provisioning process.
6085	Status *string `type:"string" enum:"StatusValues"`
6086}
6087
6088// String returns the string representation
6089func (s PermissionSetProvisioningStatus) String() string {
6090	return awsutil.Prettify(s)
6091}
6092
6093// GoString returns the string representation
6094func (s PermissionSetProvisioningStatus) GoString() string {
6095	return s.String()
6096}
6097
6098// SetAccountId sets the AccountId field's value.
6099func (s *PermissionSetProvisioningStatus) SetAccountId(v string) *PermissionSetProvisioningStatus {
6100	s.AccountId = &v
6101	return s
6102}
6103
6104// SetCreatedDate sets the CreatedDate field's value.
6105func (s *PermissionSetProvisioningStatus) SetCreatedDate(v time.Time) *PermissionSetProvisioningStatus {
6106	s.CreatedDate = &v
6107	return s
6108}
6109
6110// SetFailureReason sets the FailureReason field's value.
6111func (s *PermissionSetProvisioningStatus) SetFailureReason(v string) *PermissionSetProvisioningStatus {
6112	s.FailureReason = &v
6113	return s
6114}
6115
6116// SetPermissionSetArn sets the PermissionSetArn field's value.
6117func (s *PermissionSetProvisioningStatus) SetPermissionSetArn(v string) *PermissionSetProvisioningStatus {
6118	s.PermissionSetArn = &v
6119	return s
6120}
6121
6122// SetRequestId sets the RequestId field's value.
6123func (s *PermissionSetProvisioningStatus) SetRequestId(v string) *PermissionSetProvisioningStatus {
6124	s.RequestId = &v
6125	return s
6126}
6127
6128// SetStatus sets the Status field's value.
6129func (s *PermissionSetProvisioningStatus) SetStatus(v string) *PermissionSetProvisioningStatus {
6130	s.Status = &v
6131	return s
6132}
6133
6134// Provides information about the permission set provisioning status.
6135type PermissionSetProvisioningStatusMetadata struct {
6136	_ struct{} `type:"structure"`
6137
6138	// The date that the permission set was created.
6139	CreatedDate *time.Time `type:"timestamp"`
6140
6141	// The identifier for tracking the request operation that is generated by the
6142	// universally unique identifier (UUID) workflow.
6143	RequestId *string `type:"string"`
6144
6145	// The status of the permission set provisioning process.
6146	Status *string `type:"string" enum:"StatusValues"`
6147}
6148
6149// String returns the string representation
6150func (s PermissionSetProvisioningStatusMetadata) String() string {
6151	return awsutil.Prettify(s)
6152}
6153
6154// GoString returns the string representation
6155func (s PermissionSetProvisioningStatusMetadata) GoString() string {
6156	return s.String()
6157}
6158
6159// SetCreatedDate sets the CreatedDate field's value.
6160func (s *PermissionSetProvisioningStatusMetadata) SetCreatedDate(v time.Time) *PermissionSetProvisioningStatusMetadata {
6161	s.CreatedDate = &v
6162	return s
6163}
6164
6165// SetRequestId sets the RequestId field's value.
6166func (s *PermissionSetProvisioningStatusMetadata) SetRequestId(v string) *PermissionSetProvisioningStatusMetadata {
6167	s.RequestId = &v
6168	return s
6169}
6170
6171// SetStatus sets the Status field's value.
6172func (s *PermissionSetProvisioningStatusMetadata) SetStatus(v string) *PermissionSetProvisioningStatusMetadata {
6173	s.Status = &v
6174	return s
6175}
6176
6177type ProvisionPermissionSetInput struct {
6178	_ struct{} `type:"structure"`
6179
6180	// The ARN of the SSO instance under which the operation will be executed. For
6181	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
6182	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
6183	// Reference.
6184	//
6185	// InstanceArn is a required field
6186	InstanceArn *string `min:"10" type:"string" required:"true"`
6187
6188	// The ARN of the permission set.
6189	//
6190	// PermissionSetArn is a required field
6191	PermissionSetArn *string `min:"10" type:"string" required:"true"`
6192
6193	// TargetID is an AWS account identifier, typically a 10-12 digit string (For
6194	// example, 123456789012).
6195	TargetId *string `type:"string"`
6196
6197	// The entity type for which the assignment will be created.
6198	//
6199	// TargetType is a required field
6200	TargetType *string `type:"string" required:"true" enum:"ProvisionTargetType"`
6201}
6202
6203// String returns the string representation
6204func (s ProvisionPermissionSetInput) String() string {
6205	return awsutil.Prettify(s)
6206}
6207
6208// GoString returns the string representation
6209func (s ProvisionPermissionSetInput) GoString() string {
6210	return s.String()
6211}
6212
6213// Validate inspects the fields of the type to determine if they are valid.
6214func (s *ProvisionPermissionSetInput) Validate() error {
6215	invalidParams := request.ErrInvalidParams{Context: "ProvisionPermissionSetInput"}
6216	if s.InstanceArn == nil {
6217		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
6218	}
6219	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
6220		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
6221	}
6222	if s.PermissionSetArn == nil {
6223		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
6224	}
6225	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
6226		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
6227	}
6228	if s.TargetType == nil {
6229		invalidParams.Add(request.NewErrParamRequired("TargetType"))
6230	}
6231
6232	if invalidParams.Len() > 0 {
6233		return invalidParams
6234	}
6235	return nil
6236}
6237
6238// SetInstanceArn sets the InstanceArn field's value.
6239func (s *ProvisionPermissionSetInput) SetInstanceArn(v string) *ProvisionPermissionSetInput {
6240	s.InstanceArn = &v
6241	return s
6242}
6243
6244// SetPermissionSetArn sets the PermissionSetArn field's value.
6245func (s *ProvisionPermissionSetInput) SetPermissionSetArn(v string) *ProvisionPermissionSetInput {
6246	s.PermissionSetArn = &v
6247	return s
6248}
6249
6250// SetTargetId sets the TargetId field's value.
6251func (s *ProvisionPermissionSetInput) SetTargetId(v string) *ProvisionPermissionSetInput {
6252	s.TargetId = &v
6253	return s
6254}
6255
6256// SetTargetType sets the TargetType field's value.
6257func (s *ProvisionPermissionSetInput) SetTargetType(v string) *ProvisionPermissionSetInput {
6258	s.TargetType = &v
6259	return s
6260}
6261
6262type ProvisionPermissionSetOutput struct {
6263	_ struct{} `type:"structure"`
6264
6265	// The status object for the permission set provisioning operation.
6266	PermissionSetProvisioningStatus *PermissionSetProvisioningStatus `type:"structure"`
6267}
6268
6269// String returns the string representation
6270func (s ProvisionPermissionSetOutput) String() string {
6271	return awsutil.Prettify(s)
6272}
6273
6274// GoString returns the string representation
6275func (s ProvisionPermissionSetOutput) GoString() string {
6276	return s.String()
6277}
6278
6279// SetPermissionSetProvisioningStatus sets the PermissionSetProvisioningStatus field's value.
6280func (s *ProvisionPermissionSetOutput) SetPermissionSetProvisioningStatus(v *PermissionSetProvisioningStatus) *ProvisionPermissionSetOutput {
6281	s.PermissionSetProvisioningStatus = v
6282	return s
6283}
6284
6285type PutInlinePolicyToPermissionSetInput struct {
6286	_ struct{} `type:"structure"`
6287
6288	// The IAM inline policy to attach to a PermissionSet.
6289	//
6290	// InlinePolicy is a required field
6291	InlinePolicy *string `min:"1" type:"string" required:"true" sensitive:"true"`
6292
6293	// The ARN of the SSO instance under which the operation will be executed. For
6294	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
6295	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
6296	// Reference.
6297	//
6298	// InstanceArn is a required field
6299	InstanceArn *string `min:"10" type:"string" required:"true"`
6300
6301	// The ARN of the permission set.
6302	//
6303	// PermissionSetArn is a required field
6304	PermissionSetArn *string `min:"10" type:"string" required:"true"`
6305}
6306
6307// String returns the string representation
6308func (s PutInlinePolicyToPermissionSetInput) String() string {
6309	return awsutil.Prettify(s)
6310}
6311
6312// GoString returns the string representation
6313func (s PutInlinePolicyToPermissionSetInput) GoString() string {
6314	return s.String()
6315}
6316
6317// Validate inspects the fields of the type to determine if they are valid.
6318func (s *PutInlinePolicyToPermissionSetInput) Validate() error {
6319	invalidParams := request.ErrInvalidParams{Context: "PutInlinePolicyToPermissionSetInput"}
6320	if s.InlinePolicy == nil {
6321		invalidParams.Add(request.NewErrParamRequired("InlinePolicy"))
6322	}
6323	if s.InlinePolicy != nil && len(*s.InlinePolicy) < 1 {
6324		invalidParams.Add(request.NewErrParamMinLen("InlinePolicy", 1))
6325	}
6326	if s.InstanceArn == nil {
6327		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
6328	}
6329	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
6330		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
6331	}
6332	if s.PermissionSetArn == nil {
6333		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
6334	}
6335	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
6336		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
6337	}
6338
6339	if invalidParams.Len() > 0 {
6340		return invalidParams
6341	}
6342	return nil
6343}
6344
6345// SetInlinePolicy sets the InlinePolicy field's value.
6346func (s *PutInlinePolicyToPermissionSetInput) SetInlinePolicy(v string) *PutInlinePolicyToPermissionSetInput {
6347	s.InlinePolicy = &v
6348	return s
6349}
6350
6351// SetInstanceArn sets the InstanceArn field's value.
6352func (s *PutInlinePolicyToPermissionSetInput) SetInstanceArn(v string) *PutInlinePolicyToPermissionSetInput {
6353	s.InstanceArn = &v
6354	return s
6355}
6356
6357// SetPermissionSetArn sets the PermissionSetArn field's value.
6358func (s *PutInlinePolicyToPermissionSetInput) SetPermissionSetArn(v string) *PutInlinePolicyToPermissionSetInput {
6359	s.PermissionSetArn = &v
6360	return s
6361}
6362
6363type PutInlinePolicyToPermissionSetOutput struct {
6364	_ struct{} `type:"structure"`
6365}
6366
6367// String returns the string representation
6368func (s PutInlinePolicyToPermissionSetOutput) String() string {
6369	return awsutil.Prettify(s)
6370}
6371
6372// GoString returns the string representation
6373func (s PutInlinePolicyToPermissionSetOutput) GoString() string {
6374	return s.String()
6375}
6376
6377// Indicates that a requested resource is not found.
6378type ResourceNotFoundException struct {
6379	_            struct{}                  `type:"structure"`
6380	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6381
6382	Message_ *string `locationName:"Message" type:"string"`
6383}
6384
6385// String returns the string representation
6386func (s ResourceNotFoundException) String() string {
6387	return awsutil.Prettify(s)
6388}
6389
6390// GoString returns the string representation
6391func (s ResourceNotFoundException) GoString() string {
6392	return s.String()
6393}
6394
6395func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
6396	return &ResourceNotFoundException{
6397		RespMetadata: v,
6398	}
6399}
6400
6401// Code returns the exception type name.
6402func (s *ResourceNotFoundException) Code() string {
6403	return "ResourceNotFoundException"
6404}
6405
6406// Message returns the exception's message.
6407func (s *ResourceNotFoundException) Message() string {
6408	if s.Message_ != nil {
6409		return *s.Message_
6410	}
6411	return ""
6412}
6413
6414// OrigErr always returns nil, satisfies awserr.Error interface.
6415func (s *ResourceNotFoundException) OrigErr() error {
6416	return nil
6417}
6418
6419func (s *ResourceNotFoundException) Error() string {
6420	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6421}
6422
6423// Status code returns the HTTP status code for the request's response error.
6424func (s *ResourceNotFoundException) StatusCode() int {
6425	return s.RespMetadata.StatusCode
6426}
6427
6428// RequestID returns the service's response RequestID for request.
6429func (s *ResourceNotFoundException) RequestID() string {
6430	return s.RespMetadata.RequestID
6431}
6432
6433// Indicates that the principal has crossed the permitted number of resources
6434// that can be created.
6435type ServiceQuotaExceededException struct {
6436	_            struct{}                  `type:"structure"`
6437	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6438
6439	Message_ *string `locationName:"Message" type:"string"`
6440}
6441
6442// String returns the string representation
6443func (s ServiceQuotaExceededException) String() string {
6444	return awsutil.Prettify(s)
6445}
6446
6447// GoString returns the string representation
6448func (s ServiceQuotaExceededException) GoString() string {
6449	return s.String()
6450}
6451
6452func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
6453	return &ServiceQuotaExceededException{
6454		RespMetadata: v,
6455	}
6456}
6457
6458// Code returns the exception type name.
6459func (s *ServiceQuotaExceededException) Code() string {
6460	return "ServiceQuotaExceededException"
6461}
6462
6463// Message returns the exception's message.
6464func (s *ServiceQuotaExceededException) Message() string {
6465	if s.Message_ != nil {
6466		return *s.Message_
6467	}
6468	return ""
6469}
6470
6471// OrigErr always returns nil, satisfies awserr.Error interface.
6472func (s *ServiceQuotaExceededException) OrigErr() error {
6473	return nil
6474}
6475
6476func (s *ServiceQuotaExceededException) Error() string {
6477	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6478}
6479
6480// Status code returns the HTTP status code for the request's response error.
6481func (s *ServiceQuotaExceededException) StatusCode() int {
6482	return s.RespMetadata.StatusCode
6483}
6484
6485// RequestID returns the service's response RequestID for request.
6486func (s *ServiceQuotaExceededException) RequestID() string {
6487	return s.RespMetadata.RequestID
6488}
6489
6490// A set of key-value pairs that are used to manage the resource. Tags can only
6491// be applied to permission sets and cannot be applied to corresponding roles
6492// that AWS SSO creates in AWS accounts.
6493type Tag struct {
6494	_ struct{} `type:"structure"`
6495
6496	// The key for the tag.
6497	Key *string `min:"1" type:"string"`
6498
6499	// The value of the tag.
6500	Value *string `type:"string"`
6501}
6502
6503// String returns the string representation
6504func (s Tag) String() string {
6505	return awsutil.Prettify(s)
6506}
6507
6508// GoString returns the string representation
6509func (s Tag) GoString() string {
6510	return s.String()
6511}
6512
6513// Validate inspects the fields of the type to determine if they are valid.
6514func (s *Tag) Validate() error {
6515	invalidParams := request.ErrInvalidParams{Context: "Tag"}
6516	if s.Key != nil && len(*s.Key) < 1 {
6517		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
6518	}
6519
6520	if invalidParams.Len() > 0 {
6521		return invalidParams
6522	}
6523	return nil
6524}
6525
6526// SetKey sets the Key field's value.
6527func (s *Tag) SetKey(v string) *Tag {
6528	s.Key = &v
6529	return s
6530}
6531
6532// SetValue sets the Value field's value.
6533func (s *Tag) SetValue(v string) *Tag {
6534	s.Value = &v
6535	return s
6536}
6537
6538type TagResourceInput struct {
6539	_ struct{} `type:"structure"`
6540
6541	// The ARN of the SSO instance under which the operation will be executed. For
6542	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
6543	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
6544	// Reference.
6545	//
6546	// InstanceArn is a required field
6547	InstanceArn *string `min:"10" type:"string" required:"true"`
6548
6549	// The ARN of the resource with the tags to be listed.
6550	//
6551	// ResourceArn is a required field
6552	ResourceArn *string `min:"10" type:"string" required:"true"`
6553
6554	// A set of key-value pairs that are used to manage the resource.
6555	//
6556	// Tags is a required field
6557	Tags []*Tag `type:"list" required:"true"`
6558}
6559
6560// String returns the string representation
6561func (s TagResourceInput) String() string {
6562	return awsutil.Prettify(s)
6563}
6564
6565// GoString returns the string representation
6566func (s TagResourceInput) GoString() string {
6567	return s.String()
6568}
6569
6570// Validate inspects the fields of the type to determine if they are valid.
6571func (s *TagResourceInput) Validate() error {
6572	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
6573	if s.InstanceArn == nil {
6574		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
6575	}
6576	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
6577		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
6578	}
6579	if s.ResourceArn == nil {
6580		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
6581	}
6582	if s.ResourceArn != nil && len(*s.ResourceArn) < 10 {
6583		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 10))
6584	}
6585	if s.Tags == nil {
6586		invalidParams.Add(request.NewErrParamRequired("Tags"))
6587	}
6588	if s.Tags != nil {
6589		for i, v := range s.Tags {
6590			if v == nil {
6591				continue
6592			}
6593			if err := v.Validate(); err != nil {
6594				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6595			}
6596		}
6597	}
6598
6599	if invalidParams.Len() > 0 {
6600		return invalidParams
6601	}
6602	return nil
6603}
6604
6605// SetInstanceArn sets the InstanceArn field's value.
6606func (s *TagResourceInput) SetInstanceArn(v string) *TagResourceInput {
6607	s.InstanceArn = &v
6608	return s
6609}
6610
6611// SetResourceArn sets the ResourceArn field's value.
6612func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
6613	s.ResourceArn = &v
6614	return s
6615}
6616
6617// SetTags sets the Tags field's value.
6618func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
6619	s.Tags = v
6620	return s
6621}
6622
6623type TagResourceOutput struct {
6624	_ struct{} `type:"structure"`
6625}
6626
6627// String returns the string representation
6628func (s TagResourceOutput) String() string {
6629	return awsutil.Prettify(s)
6630}
6631
6632// GoString returns the string representation
6633func (s TagResourceOutput) GoString() string {
6634	return s.String()
6635}
6636
6637// Indicates that the principal has crossed the throttling limits of the API
6638// operations.
6639type ThrottlingException struct {
6640	_            struct{}                  `type:"structure"`
6641	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6642
6643	Message_ *string `locationName:"Message" type:"string"`
6644}
6645
6646// String returns the string representation
6647func (s ThrottlingException) String() string {
6648	return awsutil.Prettify(s)
6649}
6650
6651// GoString returns the string representation
6652func (s ThrottlingException) GoString() string {
6653	return s.String()
6654}
6655
6656func newErrorThrottlingException(v protocol.ResponseMetadata) error {
6657	return &ThrottlingException{
6658		RespMetadata: v,
6659	}
6660}
6661
6662// Code returns the exception type name.
6663func (s *ThrottlingException) Code() string {
6664	return "ThrottlingException"
6665}
6666
6667// Message returns the exception's message.
6668func (s *ThrottlingException) Message() string {
6669	if s.Message_ != nil {
6670		return *s.Message_
6671	}
6672	return ""
6673}
6674
6675// OrigErr always returns nil, satisfies awserr.Error interface.
6676func (s *ThrottlingException) OrigErr() error {
6677	return nil
6678}
6679
6680func (s *ThrottlingException) Error() string {
6681	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6682}
6683
6684// Status code returns the HTTP status code for the request's response error.
6685func (s *ThrottlingException) StatusCode() int {
6686	return s.RespMetadata.StatusCode
6687}
6688
6689// RequestID returns the service's response RequestID for request.
6690func (s *ThrottlingException) RequestID() string {
6691	return s.RespMetadata.RequestID
6692}
6693
6694type UntagResourceInput struct {
6695	_ struct{} `type:"structure"`
6696
6697	// The ARN of the SSO instance under which the operation will be executed. For
6698	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
6699	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
6700	// Reference.
6701	//
6702	// InstanceArn is a required field
6703	InstanceArn *string `min:"10" type:"string" required:"true"`
6704
6705	// The ARN of the resource with the tags to be listed.
6706	//
6707	// ResourceArn is a required field
6708	ResourceArn *string `min:"10" type:"string" required:"true"`
6709
6710	// The keys of tags that are attached to the resource.
6711	//
6712	// TagKeys is a required field
6713	TagKeys []*string `min:"1" type:"list" required:"true"`
6714}
6715
6716// String returns the string representation
6717func (s UntagResourceInput) String() string {
6718	return awsutil.Prettify(s)
6719}
6720
6721// GoString returns the string representation
6722func (s UntagResourceInput) GoString() string {
6723	return s.String()
6724}
6725
6726// Validate inspects the fields of the type to determine if they are valid.
6727func (s *UntagResourceInput) Validate() error {
6728	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
6729	if s.InstanceArn == nil {
6730		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
6731	}
6732	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
6733		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
6734	}
6735	if s.ResourceArn == nil {
6736		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
6737	}
6738	if s.ResourceArn != nil && len(*s.ResourceArn) < 10 {
6739		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 10))
6740	}
6741	if s.TagKeys == nil {
6742		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
6743	}
6744	if s.TagKeys != nil && len(s.TagKeys) < 1 {
6745		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
6746	}
6747
6748	if invalidParams.Len() > 0 {
6749		return invalidParams
6750	}
6751	return nil
6752}
6753
6754// SetInstanceArn sets the InstanceArn field's value.
6755func (s *UntagResourceInput) SetInstanceArn(v string) *UntagResourceInput {
6756	s.InstanceArn = &v
6757	return s
6758}
6759
6760// SetResourceArn sets the ResourceArn field's value.
6761func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
6762	s.ResourceArn = &v
6763	return s
6764}
6765
6766// SetTagKeys sets the TagKeys field's value.
6767func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
6768	s.TagKeys = v
6769	return s
6770}
6771
6772type UntagResourceOutput struct {
6773	_ struct{} `type:"structure"`
6774}
6775
6776// String returns the string representation
6777func (s UntagResourceOutput) String() string {
6778	return awsutil.Prettify(s)
6779}
6780
6781// GoString returns the string representation
6782func (s UntagResourceOutput) GoString() string {
6783	return s.String()
6784}
6785
6786type UpdatePermissionSetInput struct {
6787	_ struct{} `type:"structure"`
6788
6789	// The description of the PermissionSet.
6790	Description *string `min:"1" type:"string"`
6791
6792	// The ARN of the SSO instance under which the operation will be executed. For
6793	// more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service
6794	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the AWS General
6795	// Reference.
6796	//
6797	// InstanceArn is a required field
6798	InstanceArn *string `min:"10" type:"string" required:"true"`
6799
6800	// The ARN of the permission set.
6801	//
6802	// PermissionSetArn is a required field
6803	PermissionSetArn *string `min:"10" type:"string" required:"true"`
6804
6805	// Used to redirect users within the application during the federation authentication
6806	// process.
6807	RelayState *string `min:"1" type:"string"`
6808
6809	// The length of time that the application user sessions are valid for in the
6810	// ISO-8601 standard.
6811	SessionDuration *string `min:"1" type:"string"`
6812}
6813
6814// String returns the string representation
6815func (s UpdatePermissionSetInput) String() string {
6816	return awsutil.Prettify(s)
6817}
6818
6819// GoString returns the string representation
6820func (s UpdatePermissionSetInput) GoString() string {
6821	return s.String()
6822}
6823
6824// Validate inspects the fields of the type to determine if they are valid.
6825func (s *UpdatePermissionSetInput) Validate() error {
6826	invalidParams := request.ErrInvalidParams{Context: "UpdatePermissionSetInput"}
6827	if s.Description != nil && len(*s.Description) < 1 {
6828		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
6829	}
6830	if s.InstanceArn == nil {
6831		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
6832	}
6833	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
6834		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
6835	}
6836	if s.PermissionSetArn == nil {
6837		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
6838	}
6839	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
6840		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
6841	}
6842	if s.RelayState != nil && len(*s.RelayState) < 1 {
6843		invalidParams.Add(request.NewErrParamMinLen("RelayState", 1))
6844	}
6845	if s.SessionDuration != nil && len(*s.SessionDuration) < 1 {
6846		invalidParams.Add(request.NewErrParamMinLen("SessionDuration", 1))
6847	}
6848
6849	if invalidParams.Len() > 0 {
6850		return invalidParams
6851	}
6852	return nil
6853}
6854
6855// SetDescription sets the Description field's value.
6856func (s *UpdatePermissionSetInput) SetDescription(v string) *UpdatePermissionSetInput {
6857	s.Description = &v
6858	return s
6859}
6860
6861// SetInstanceArn sets the InstanceArn field's value.
6862func (s *UpdatePermissionSetInput) SetInstanceArn(v string) *UpdatePermissionSetInput {
6863	s.InstanceArn = &v
6864	return s
6865}
6866
6867// SetPermissionSetArn sets the PermissionSetArn field's value.
6868func (s *UpdatePermissionSetInput) SetPermissionSetArn(v string) *UpdatePermissionSetInput {
6869	s.PermissionSetArn = &v
6870	return s
6871}
6872
6873// SetRelayState sets the RelayState field's value.
6874func (s *UpdatePermissionSetInput) SetRelayState(v string) *UpdatePermissionSetInput {
6875	s.RelayState = &v
6876	return s
6877}
6878
6879// SetSessionDuration sets the SessionDuration field's value.
6880func (s *UpdatePermissionSetInput) SetSessionDuration(v string) *UpdatePermissionSetInput {
6881	s.SessionDuration = &v
6882	return s
6883}
6884
6885type UpdatePermissionSetOutput struct {
6886	_ struct{} `type:"structure"`
6887}
6888
6889// String returns the string representation
6890func (s UpdatePermissionSetOutput) String() string {
6891	return awsutil.Prettify(s)
6892}
6893
6894// GoString returns the string representation
6895func (s UpdatePermissionSetOutput) GoString() string {
6896	return s.String()
6897}
6898
6899// The request failed because it contains a syntax error.
6900type ValidationException struct {
6901	_            struct{}                  `type:"structure"`
6902	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6903
6904	Message_ *string `locationName:"Message" type:"string"`
6905}
6906
6907// String returns the string representation
6908func (s ValidationException) String() string {
6909	return awsutil.Prettify(s)
6910}
6911
6912// GoString returns the string representation
6913func (s ValidationException) GoString() string {
6914	return s.String()
6915}
6916
6917func newErrorValidationException(v protocol.ResponseMetadata) error {
6918	return &ValidationException{
6919		RespMetadata: v,
6920	}
6921}
6922
6923// Code returns the exception type name.
6924func (s *ValidationException) Code() string {
6925	return "ValidationException"
6926}
6927
6928// Message returns the exception's message.
6929func (s *ValidationException) Message() string {
6930	if s.Message_ != nil {
6931		return *s.Message_
6932	}
6933	return ""
6934}
6935
6936// OrigErr always returns nil, satisfies awserr.Error interface.
6937func (s *ValidationException) OrigErr() error {
6938	return nil
6939}
6940
6941func (s *ValidationException) Error() string {
6942	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6943}
6944
6945// Status code returns the HTTP status code for the request's response error.
6946func (s *ValidationException) StatusCode() int {
6947	return s.RespMetadata.StatusCode
6948}
6949
6950// RequestID returns the service's response RequestID for request.
6951func (s *ValidationException) RequestID() string {
6952	return s.RespMetadata.RequestID
6953}
6954
6955const (
6956	// PrincipalTypeUser is a PrincipalType enum value
6957	PrincipalTypeUser = "USER"
6958
6959	// PrincipalTypeGroup is a PrincipalType enum value
6960	PrincipalTypeGroup = "GROUP"
6961)
6962
6963// PrincipalType_Values returns all elements of the PrincipalType enum
6964func PrincipalType_Values() []string {
6965	return []string{
6966		PrincipalTypeUser,
6967		PrincipalTypeGroup,
6968	}
6969}
6970
6971const (
6972	// ProvisionTargetTypeAwsAccount is a ProvisionTargetType enum value
6973	ProvisionTargetTypeAwsAccount = "AWS_ACCOUNT"
6974
6975	// ProvisionTargetTypeAllProvisionedAccounts is a ProvisionTargetType enum value
6976	ProvisionTargetTypeAllProvisionedAccounts = "ALL_PROVISIONED_ACCOUNTS"
6977)
6978
6979// ProvisionTargetType_Values returns all elements of the ProvisionTargetType enum
6980func ProvisionTargetType_Values() []string {
6981	return []string{
6982		ProvisionTargetTypeAwsAccount,
6983		ProvisionTargetTypeAllProvisionedAccounts,
6984	}
6985}
6986
6987const (
6988	// ProvisioningStatusLatestPermissionSetProvisioned is a ProvisioningStatus enum value
6989	ProvisioningStatusLatestPermissionSetProvisioned = "LATEST_PERMISSION_SET_PROVISIONED"
6990
6991	// ProvisioningStatusLatestPermissionSetNotProvisioned is a ProvisioningStatus enum value
6992	ProvisioningStatusLatestPermissionSetNotProvisioned = "LATEST_PERMISSION_SET_NOT_PROVISIONED"
6993)
6994
6995// ProvisioningStatus_Values returns all elements of the ProvisioningStatus enum
6996func ProvisioningStatus_Values() []string {
6997	return []string{
6998		ProvisioningStatusLatestPermissionSetProvisioned,
6999		ProvisioningStatusLatestPermissionSetNotProvisioned,
7000	}
7001}
7002
7003const (
7004	// StatusValuesInProgress is a StatusValues enum value
7005	StatusValuesInProgress = "IN_PROGRESS"
7006
7007	// StatusValuesFailed is a StatusValues enum value
7008	StatusValuesFailed = "FAILED"
7009
7010	// StatusValuesSucceeded is a StatusValues enum value
7011	StatusValuesSucceeded = "SUCCEEDED"
7012)
7013
7014// StatusValues_Values returns all elements of the StatusValues enum
7015func StatusValues_Values() []string {
7016	return []string{
7017		StatusValuesInProgress,
7018		StatusValuesFailed,
7019		StatusValuesSucceeded,
7020	}
7021}
7022
7023const (
7024	// TargetTypeAwsAccount is a TargetType enum value
7025	TargetTypeAwsAccount = "AWS_ACCOUNT"
7026)
7027
7028// TargetType_Values returns all elements of the TargetType enum
7029func TargetType_Values() []string {
7030	return []string{
7031		TargetTypeAwsAccount,
7032	}
7033}
7034