1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package identitystore
4
5import (
6	"fmt"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12)
13
14const opDescribeGroup = "DescribeGroup"
15
16// DescribeGroupRequest generates a "aws/request.Request" representing the
17// client's request for the DescribeGroup operation. The "output" return
18// value will be populated with the request's response once the request completes
19// successfully.
20//
21// Use "Send" method on the returned Request to send the API call to the service.
22// the "output" return value is not valid until after Send returns without error.
23//
24// See DescribeGroup for more information on using the DescribeGroup
25// API call, and error handling.
26//
27// This method is useful when you want to inject custom logic or configuration
28// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29//
30//
31//    // Example sending a request using the DescribeGroupRequest method.
32//    req, resp := client.DescribeGroupRequest(params)
33//
34//    err := req.Send()
35//    if err == nil { // resp is now filled
36//        fmt.Println(resp)
37//    }
38//
39// See also, https://docs.aws.amazon.com/goto/WebAPI/identitystore-2020-06-15/DescribeGroup
40func (c *IdentityStore) DescribeGroupRequest(input *DescribeGroupInput) (req *request.Request, output *DescribeGroupOutput) {
41	op := &request.Operation{
42		Name:       opDescribeGroup,
43		HTTPMethod: "POST",
44		HTTPPath:   "/",
45	}
46
47	if input == nil {
48		input = &DescribeGroupInput{}
49	}
50
51	output = &DescribeGroupOutput{}
52	req = c.newRequest(op, input, output)
53	return
54}
55
56// DescribeGroup API operation for AWS SSO Identity Store.
57//
58// Retrieves the group metadata and attributes from GroupId in an identity store.
59//
60// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
61// with awserr.Error's Code and Message methods to get detailed information about
62// the error.
63//
64// See the AWS API reference guide for AWS SSO Identity Store's
65// API operation DescribeGroup for usage and error information.
66//
67// Returned Error Types:
68//   * ResourceNotFoundException
69//   Indicates that a requested resource is not found.
70//
71//   * ValidationException
72//   The request failed because it contains a syntax error.
73//
74//   * AccessDeniedException
75//   You do not have sufficient access to perform this action.
76//
77//   * ThrottlingException
78//   Indicates that the principal has crossed the throttling limits of the API
79//   operations.
80//
81//   * InternalServerException
82//   The request processing has failed because of an unknown error, exception
83//   or failure with an internal server.
84//
85// See also, https://docs.aws.amazon.com/goto/WebAPI/identitystore-2020-06-15/DescribeGroup
86func (c *IdentityStore) DescribeGroup(input *DescribeGroupInput) (*DescribeGroupOutput, error) {
87	req, out := c.DescribeGroupRequest(input)
88	return out, req.Send()
89}
90
91// DescribeGroupWithContext is the same as DescribeGroup with the addition of
92// the ability to pass a context and additional request options.
93//
94// See DescribeGroup for details on how to use this API operation.
95//
96// The context must be non-nil and will be used for request cancellation. If
97// the context is nil a panic will occur. In the future the SDK may create
98// sub-contexts for http.Requests. See https://golang.org/pkg/context/
99// for more information on using Contexts.
100func (c *IdentityStore) DescribeGroupWithContext(ctx aws.Context, input *DescribeGroupInput, opts ...request.Option) (*DescribeGroupOutput, error) {
101	req, out := c.DescribeGroupRequest(input)
102	req.SetContext(ctx)
103	req.ApplyOptions(opts...)
104	return out, req.Send()
105}
106
107const opDescribeUser = "DescribeUser"
108
109// DescribeUserRequest generates a "aws/request.Request" representing the
110// client's request for the DescribeUser operation. The "output" return
111// value will be populated with the request's response once the request completes
112// successfully.
113//
114// Use "Send" method on the returned Request to send the API call to the service.
115// the "output" return value is not valid until after Send returns without error.
116//
117// See DescribeUser for more information on using the DescribeUser
118// API call, and error handling.
119//
120// This method is useful when you want to inject custom logic or configuration
121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
122//
123//
124//    // Example sending a request using the DescribeUserRequest method.
125//    req, resp := client.DescribeUserRequest(params)
126//
127//    err := req.Send()
128//    if err == nil { // resp is now filled
129//        fmt.Println(resp)
130//    }
131//
132// See also, https://docs.aws.amazon.com/goto/WebAPI/identitystore-2020-06-15/DescribeUser
133func (c *IdentityStore) DescribeUserRequest(input *DescribeUserInput) (req *request.Request, output *DescribeUserOutput) {
134	op := &request.Operation{
135		Name:       opDescribeUser,
136		HTTPMethod: "POST",
137		HTTPPath:   "/",
138	}
139
140	if input == nil {
141		input = &DescribeUserInput{}
142	}
143
144	output = &DescribeUserOutput{}
145	req = c.newRequest(op, input, output)
146	return
147}
148
149// DescribeUser API operation for AWS SSO Identity Store.
150//
151// Retrieves the user metadata and attributes from UserId in an identity store.
152//
153// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
154// with awserr.Error's Code and Message methods to get detailed information about
155// the error.
156//
157// See the AWS API reference guide for AWS SSO Identity Store's
158// API operation DescribeUser for usage and error information.
159//
160// Returned Error Types:
161//   * ResourceNotFoundException
162//   Indicates that a requested resource is not found.
163//
164//   * ValidationException
165//   The request failed because it contains a syntax error.
166//
167//   * AccessDeniedException
168//   You do not have sufficient access to perform this action.
169//
170//   * ThrottlingException
171//   Indicates that the principal has crossed the throttling limits of the API
172//   operations.
173//
174//   * InternalServerException
175//   The request processing has failed because of an unknown error, exception
176//   or failure with an internal server.
177//
178// See also, https://docs.aws.amazon.com/goto/WebAPI/identitystore-2020-06-15/DescribeUser
179func (c *IdentityStore) DescribeUser(input *DescribeUserInput) (*DescribeUserOutput, error) {
180	req, out := c.DescribeUserRequest(input)
181	return out, req.Send()
182}
183
184// DescribeUserWithContext is the same as DescribeUser with the addition of
185// the ability to pass a context and additional request options.
186//
187// See DescribeUser for details on how to use this API operation.
188//
189// The context must be non-nil and will be used for request cancellation. If
190// the context is nil a panic will occur. In the future the SDK may create
191// sub-contexts for http.Requests. See https://golang.org/pkg/context/
192// for more information on using Contexts.
193func (c *IdentityStore) DescribeUserWithContext(ctx aws.Context, input *DescribeUserInput, opts ...request.Option) (*DescribeUserOutput, error) {
194	req, out := c.DescribeUserRequest(input)
195	req.SetContext(ctx)
196	req.ApplyOptions(opts...)
197	return out, req.Send()
198}
199
200const opListGroups = "ListGroups"
201
202// ListGroupsRequest generates a "aws/request.Request" representing the
203// client's request for the ListGroups operation. The "output" return
204// value will be populated with the request's response once the request completes
205// successfully.
206//
207// Use "Send" method on the returned Request to send the API call to the service.
208// the "output" return value is not valid until after Send returns without error.
209//
210// See ListGroups for more information on using the ListGroups
211// API call, and error handling.
212//
213// This method is useful when you want to inject custom logic or configuration
214// into the SDK's request lifecycle. Such as custom headers, or retry logic.
215//
216//
217//    // Example sending a request using the ListGroupsRequest method.
218//    req, resp := client.ListGroupsRequest(params)
219//
220//    err := req.Send()
221//    if err == nil { // resp is now filled
222//        fmt.Println(resp)
223//    }
224//
225// See also, https://docs.aws.amazon.com/goto/WebAPI/identitystore-2020-06-15/ListGroups
226func (c *IdentityStore) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, output *ListGroupsOutput) {
227	op := &request.Operation{
228		Name:       opListGroups,
229		HTTPMethod: "POST",
230		HTTPPath:   "/",
231		Paginator: &request.Paginator{
232			InputTokens:     []string{"NextToken"},
233			OutputTokens:    []string{"NextToken"},
234			LimitToken:      "MaxResults",
235			TruncationToken: "",
236		},
237	}
238
239	if input == nil {
240		input = &ListGroupsInput{}
241	}
242
243	output = &ListGroupsOutput{}
244	req = c.newRequest(op, input, output)
245	return
246}
247
248// ListGroups API operation for AWS SSO Identity Store.
249//
250// Lists the attribute name and value of the group that you specified in the
251// search. We only support DisplayName as a valid filter attribute path currently,
252// and filter is required. This API returns minimum attributes, including GroupId
253// and group DisplayName in the response.
254//
255// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
256// with awserr.Error's Code and Message methods to get detailed information about
257// the error.
258//
259// See the AWS API reference guide for AWS SSO Identity Store's
260// API operation ListGroups for usage and error information.
261//
262// Returned Error Types:
263//   * ValidationException
264//   The request failed because it contains a syntax error.
265//
266//   * AccessDeniedException
267//   You do not have sufficient access to perform this action.
268//
269//   * ResourceNotFoundException
270//   Indicates that a requested resource is not found.
271//
272//   * ThrottlingException
273//   Indicates that the principal has crossed the throttling limits of the API
274//   operations.
275//
276//   * InternalServerException
277//   The request processing has failed because of an unknown error, exception
278//   or failure with an internal server.
279//
280// See also, https://docs.aws.amazon.com/goto/WebAPI/identitystore-2020-06-15/ListGroups
281func (c *IdentityStore) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) {
282	req, out := c.ListGroupsRequest(input)
283	return out, req.Send()
284}
285
286// ListGroupsWithContext is the same as ListGroups with the addition of
287// the ability to pass a context and additional request options.
288//
289// See ListGroups for details on how to use this API operation.
290//
291// The context must be non-nil and will be used for request cancellation. If
292// the context is nil a panic will occur. In the future the SDK may create
293// sub-contexts for http.Requests. See https://golang.org/pkg/context/
294// for more information on using Contexts.
295func (c *IdentityStore) ListGroupsWithContext(ctx aws.Context, input *ListGroupsInput, opts ...request.Option) (*ListGroupsOutput, error) {
296	req, out := c.ListGroupsRequest(input)
297	req.SetContext(ctx)
298	req.ApplyOptions(opts...)
299	return out, req.Send()
300}
301
302// ListGroupsPages iterates over the pages of a ListGroups operation,
303// calling the "fn" function with the response data for each page. To stop
304// iterating, return false from the fn function.
305//
306// See ListGroups method for more information on how to use this operation.
307//
308// Note: This operation can generate multiple requests to a service.
309//
310//    // Example iterating over at most 3 pages of a ListGroups operation.
311//    pageNum := 0
312//    err := client.ListGroupsPages(params,
313//        func(page *identitystore.ListGroupsOutput, lastPage bool) bool {
314//            pageNum++
315//            fmt.Println(page)
316//            return pageNum <= 3
317//        })
318//
319func (c *IdentityStore) ListGroupsPages(input *ListGroupsInput, fn func(*ListGroupsOutput, bool) bool) error {
320	return c.ListGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
321}
322
323// ListGroupsPagesWithContext same as ListGroupsPages except
324// it takes a Context and allows setting request options on the pages.
325//
326// The context must be non-nil and will be used for request cancellation. If
327// the context is nil a panic will occur. In the future the SDK may create
328// sub-contexts for http.Requests. See https://golang.org/pkg/context/
329// for more information on using Contexts.
330func (c *IdentityStore) ListGroupsPagesWithContext(ctx aws.Context, input *ListGroupsInput, fn func(*ListGroupsOutput, bool) bool, opts ...request.Option) error {
331	p := request.Pagination{
332		NewRequest: func() (*request.Request, error) {
333			var inCpy *ListGroupsInput
334			if input != nil {
335				tmp := *input
336				inCpy = &tmp
337			}
338			req, _ := c.ListGroupsRequest(inCpy)
339			req.SetContext(ctx)
340			req.ApplyOptions(opts...)
341			return req, nil
342		},
343	}
344
345	for p.Next() {
346		if !fn(p.Page().(*ListGroupsOutput), !p.HasNextPage()) {
347			break
348		}
349	}
350
351	return p.Err()
352}
353
354const opListUsers = "ListUsers"
355
356// ListUsersRequest generates a "aws/request.Request" representing the
357// client's request for the ListUsers operation. The "output" return
358// value will be populated with the request's response once the request completes
359// successfully.
360//
361// Use "Send" method on the returned Request to send the API call to the service.
362// the "output" return value is not valid until after Send returns without error.
363//
364// See ListUsers for more information on using the ListUsers
365// API call, and error handling.
366//
367// This method is useful when you want to inject custom logic or configuration
368// into the SDK's request lifecycle. Such as custom headers, or retry logic.
369//
370//
371//    // Example sending a request using the ListUsersRequest method.
372//    req, resp := client.ListUsersRequest(params)
373//
374//    err := req.Send()
375//    if err == nil { // resp is now filled
376//        fmt.Println(resp)
377//    }
378//
379// See also, https://docs.aws.amazon.com/goto/WebAPI/identitystore-2020-06-15/ListUsers
380func (c *IdentityStore) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) {
381	op := &request.Operation{
382		Name:       opListUsers,
383		HTTPMethod: "POST",
384		HTTPPath:   "/",
385		Paginator: &request.Paginator{
386			InputTokens:     []string{"NextToken"},
387			OutputTokens:    []string{"NextToken"},
388			LimitToken:      "MaxResults",
389			TruncationToken: "",
390		},
391	}
392
393	if input == nil {
394		input = &ListUsersInput{}
395	}
396
397	output = &ListUsersOutput{}
398	req = c.newRequest(op, input, output)
399	return
400}
401
402// ListUsers API operation for AWS SSO Identity Store.
403//
404// Lists the attribute name and value of the user that you specified in the
405// search. We only support UserName as a valid filter attribute path currently,
406// and filter is required. This API returns minimum attributes, including UserId
407// and UserName in the response.
408//
409// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
410// with awserr.Error's Code and Message methods to get detailed information about
411// the error.
412//
413// See the AWS API reference guide for AWS SSO Identity Store's
414// API operation ListUsers for usage and error information.
415//
416// Returned Error Types:
417//   * ValidationException
418//   The request failed because it contains a syntax error.
419//
420//   * AccessDeniedException
421//   You do not have sufficient access to perform this action.
422//
423//   * ResourceNotFoundException
424//   Indicates that a requested resource is not found.
425//
426//   * ThrottlingException
427//   Indicates that the principal has crossed the throttling limits of the API
428//   operations.
429//
430//   * InternalServerException
431//   The request processing has failed because of an unknown error, exception
432//   or failure with an internal server.
433//
434// See also, https://docs.aws.amazon.com/goto/WebAPI/identitystore-2020-06-15/ListUsers
435func (c *IdentityStore) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) {
436	req, out := c.ListUsersRequest(input)
437	return out, req.Send()
438}
439
440// ListUsersWithContext is the same as ListUsers with the addition of
441// the ability to pass a context and additional request options.
442//
443// See ListUsers for details on how to use this API operation.
444//
445// The context must be non-nil and will be used for request cancellation. If
446// the context is nil a panic will occur. In the future the SDK may create
447// sub-contexts for http.Requests. See https://golang.org/pkg/context/
448// for more information on using Contexts.
449func (c *IdentityStore) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersOutput, error) {
450	req, out := c.ListUsersRequest(input)
451	req.SetContext(ctx)
452	req.ApplyOptions(opts...)
453	return out, req.Send()
454}
455
456// ListUsersPages iterates over the pages of a ListUsers operation,
457// calling the "fn" function with the response data for each page. To stop
458// iterating, return false from the fn function.
459//
460// See ListUsers method for more information on how to use this operation.
461//
462// Note: This operation can generate multiple requests to a service.
463//
464//    // Example iterating over at most 3 pages of a ListUsers operation.
465//    pageNum := 0
466//    err := client.ListUsersPages(params,
467//        func(page *identitystore.ListUsersOutput, lastPage bool) bool {
468//            pageNum++
469//            fmt.Println(page)
470//            return pageNum <= 3
471//        })
472//
473func (c *IdentityStore) ListUsersPages(input *ListUsersInput, fn func(*ListUsersOutput, bool) bool) error {
474	return c.ListUsersPagesWithContext(aws.BackgroundContext(), input, fn)
475}
476
477// ListUsersPagesWithContext same as ListUsersPages except
478// it takes a Context and allows setting request options on the pages.
479//
480// The context must be non-nil and will be used for request cancellation. If
481// the context is nil a panic will occur. In the future the SDK may create
482// sub-contexts for http.Requests. See https://golang.org/pkg/context/
483// for more information on using Contexts.
484func (c *IdentityStore) ListUsersPagesWithContext(ctx aws.Context, input *ListUsersInput, fn func(*ListUsersOutput, bool) bool, opts ...request.Option) error {
485	p := request.Pagination{
486		NewRequest: func() (*request.Request, error) {
487			var inCpy *ListUsersInput
488			if input != nil {
489				tmp := *input
490				inCpy = &tmp
491			}
492			req, _ := c.ListUsersRequest(inCpy)
493			req.SetContext(ctx)
494			req.ApplyOptions(opts...)
495			return req, nil
496		},
497	}
498
499	for p.Next() {
500		if !fn(p.Page().(*ListUsersOutput), !p.HasNextPage()) {
501			break
502		}
503	}
504
505	return p.Err()
506}
507
508// You do not have sufficient access to perform this action.
509type AccessDeniedException struct {
510	_            struct{}                  `type:"structure"`
511	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
512
513	Message_ *string `locationName:"Message" min:"1" type:"string"`
514
515	// The identifier for each request. This value is a globally unique ID that
516	// is generated by the Identity Store service for each sent request, and is
517	// then returned inside the exception if the request fails.
518	RequestId *string `type:"string"`
519}
520
521// String returns the string representation.
522//
523// API parameter values that are decorated as "sensitive" in the API will not
524// be included in the string output. The member name will be present, but the
525// value will be replaced with "sensitive".
526func (s AccessDeniedException) String() string {
527	return awsutil.Prettify(s)
528}
529
530// GoString returns the string representation.
531//
532// API parameter values that are decorated as "sensitive" in the API will not
533// be included in the string output. The member name will be present, but the
534// value will be replaced with "sensitive".
535func (s AccessDeniedException) GoString() string {
536	return s.String()
537}
538
539func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
540	return &AccessDeniedException{
541		RespMetadata: v,
542	}
543}
544
545// Code returns the exception type name.
546func (s *AccessDeniedException) Code() string {
547	return "AccessDeniedException"
548}
549
550// Message returns the exception's message.
551func (s *AccessDeniedException) Message() string {
552	if s.Message_ != nil {
553		return *s.Message_
554	}
555	return ""
556}
557
558// OrigErr always returns nil, satisfies awserr.Error interface.
559func (s *AccessDeniedException) OrigErr() error {
560	return nil
561}
562
563func (s *AccessDeniedException) Error() string {
564	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
565}
566
567// Status code returns the HTTP status code for the request's response error.
568func (s *AccessDeniedException) StatusCode() int {
569	return s.RespMetadata.StatusCode
570}
571
572// RequestID returns the service's response RequestID for request.
573func (s *AccessDeniedException) RequestID() string {
574	return s.RespMetadata.RequestID
575}
576
577type DescribeGroupInput struct {
578	_ struct{} `type:"structure"`
579
580	// The identifier for a group in the identity store.
581	//
582	// GroupId is a required field
583	GroupId *string `min:"1" type:"string" required:"true"`
584
585	// The globally unique identifier for the identity store, such as d-1234567890.
586	// In this example, d- is a fixed prefix, and 1234567890 is a randomly generated
587	// string that contains number and lower case letters. This value is generated
588	// at the time that a new identity store is created.
589	//
590	// IdentityStoreId is a required field
591	IdentityStoreId *string `min:"1" type:"string" required:"true"`
592}
593
594// String returns the string representation.
595//
596// API parameter values that are decorated as "sensitive" in the API will not
597// be included in the string output. The member name will be present, but the
598// value will be replaced with "sensitive".
599func (s DescribeGroupInput) String() string {
600	return awsutil.Prettify(s)
601}
602
603// GoString returns the string representation.
604//
605// API parameter values that are decorated as "sensitive" in the API will not
606// be included in the string output. The member name will be present, but the
607// value will be replaced with "sensitive".
608func (s DescribeGroupInput) GoString() string {
609	return s.String()
610}
611
612// Validate inspects the fields of the type to determine if they are valid.
613func (s *DescribeGroupInput) Validate() error {
614	invalidParams := request.ErrInvalidParams{Context: "DescribeGroupInput"}
615	if s.GroupId == nil {
616		invalidParams.Add(request.NewErrParamRequired("GroupId"))
617	}
618	if s.GroupId != nil && len(*s.GroupId) < 1 {
619		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
620	}
621	if s.IdentityStoreId == nil {
622		invalidParams.Add(request.NewErrParamRequired("IdentityStoreId"))
623	}
624	if s.IdentityStoreId != nil && len(*s.IdentityStoreId) < 1 {
625		invalidParams.Add(request.NewErrParamMinLen("IdentityStoreId", 1))
626	}
627
628	if invalidParams.Len() > 0 {
629		return invalidParams
630	}
631	return nil
632}
633
634// SetGroupId sets the GroupId field's value.
635func (s *DescribeGroupInput) SetGroupId(v string) *DescribeGroupInput {
636	s.GroupId = &v
637	return s
638}
639
640// SetIdentityStoreId sets the IdentityStoreId field's value.
641func (s *DescribeGroupInput) SetIdentityStoreId(v string) *DescribeGroupInput {
642	s.IdentityStoreId = &v
643	return s
644}
645
646type DescribeGroupOutput struct {
647	_ struct{} `type:"structure"`
648
649	// Contains the group’s display name value. The length limit is 1,024 characters.
650	// This value can consist of letters, accented characters, symbols, numbers,
651	// punctuation, tab, new line, carriage return, space, and nonbreaking space
652	// in this attribute. The characters <>;:% are excluded. This value is specified
653	// at the time that the group is created and stored as an attribute of the group
654	// object in the identity store.
655	//
656	// DisplayName is a required field
657	DisplayName *string `min:"1" type:"string" required:"true"`
658
659	// The identifier for a group in the identity store.
660	//
661	// GroupId is a required field
662	GroupId *string `min:"1" type:"string" required:"true"`
663}
664
665// String returns the string representation.
666//
667// API parameter values that are decorated as "sensitive" in the API will not
668// be included in the string output. The member name will be present, but the
669// value will be replaced with "sensitive".
670func (s DescribeGroupOutput) String() string {
671	return awsutil.Prettify(s)
672}
673
674// GoString returns the string representation.
675//
676// API parameter values that are decorated as "sensitive" in the API will not
677// be included in the string output. The member name will be present, but the
678// value will be replaced with "sensitive".
679func (s DescribeGroupOutput) GoString() string {
680	return s.String()
681}
682
683// SetDisplayName sets the DisplayName field's value.
684func (s *DescribeGroupOutput) SetDisplayName(v string) *DescribeGroupOutput {
685	s.DisplayName = &v
686	return s
687}
688
689// SetGroupId sets the GroupId field's value.
690func (s *DescribeGroupOutput) SetGroupId(v string) *DescribeGroupOutput {
691	s.GroupId = &v
692	return s
693}
694
695type DescribeUserInput struct {
696	_ struct{} `type:"structure"`
697
698	// The globally unique identifier for the identity store, such as d-1234567890.
699	// In this example, d- is a fixed prefix, and 1234567890 is a randomly generated
700	// string that contains number and lower case letters. This value is generated
701	// at the time that a new identity store is created.
702	//
703	// IdentityStoreId is a required field
704	IdentityStoreId *string `min:"1" type:"string" required:"true"`
705
706	// The identifier for a user in the identity store.
707	//
708	// UserId is a required field
709	UserId *string `min:"1" type:"string" required:"true"`
710}
711
712// String returns the string representation.
713//
714// API parameter values that are decorated as "sensitive" in the API will not
715// be included in the string output. The member name will be present, but the
716// value will be replaced with "sensitive".
717func (s DescribeUserInput) String() string {
718	return awsutil.Prettify(s)
719}
720
721// GoString returns the string representation.
722//
723// API parameter values that are decorated as "sensitive" in the API will not
724// be included in the string output. The member name will be present, but the
725// value will be replaced with "sensitive".
726func (s DescribeUserInput) GoString() string {
727	return s.String()
728}
729
730// Validate inspects the fields of the type to determine if they are valid.
731func (s *DescribeUserInput) Validate() error {
732	invalidParams := request.ErrInvalidParams{Context: "DescribeUserInput"}
733	if s.IdentityStoreId == nil {
734		invalidParams.Add(request.NewErrParamRequired("IdentityStoreId"))
735	}
736	if s.IdentityStoreId != nil && len(*s.IdentityStoreId) < 1 {
737		invalidParams.Add(request.NewErrParamMinLen("IdentityStoreId", 1))
738	}
739	if s.UserId == nil {
740		invalidParams.Add(request.NewErrParamRequired("UserId"))
741	}
742	if s.UserId != nil && len(*s.UserId) < 1 {
743		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
744	}
745
746	if invalidParams.Len() > 0 {
747		return invalidParams
748	}
749	return nil
750}
751
752// SetIdentityStoreId sets the IdentityStoreId field's value.
753func (s *DescribeUserInput) SetIdentityStoreId(v string) *DescribeUserInput {
754	s.IdentityStoreId = &v
755	return s
756}
757
758// SetUserId sets the UserId field's value.
759func (s *DescribeUserInput) SetUserId(v string) *DescribeUserInput {
760	s.UserId = &v
761	return s
762}
763
764type DescribeUserOutput struct {
765	_ struct{} `type:"structure"`
766
767	// The identifier for a user in the identity store.
768	//
769	// UserId is a required field
770	UserId *string `min:"1" type:"string" required:"true"`
771
772	// Contains the user’s user name value. The length limit is 128 characters.
773	// This value can consist of letters, accented characters, symbols, numbers,
774	// and punctuation. The characters <>;:% are excluded. This value is specified
775	// at the time the user is created and stored as an attribute of the user object
776	// in the identity store.
777	//
778	// UserName is a sensitive parameter and its value will be
779	// replaced with "sensitive" in string returned by DescribeUserOutput's
780	// String and GoString methods.
781	//
782	// UserName is a required field
783	UserName *string `min:"1" type:"string" required:"true" sensitive:"true"`
784}
785
786// String returns the string representation.
787//
788// API parameter values that are decorated as "sensitive" in the API will not
789// be included in the string output. The member name will be present, but the
790// value will be replaced with "sensitive".
791func (s DescribeUserOutput) String() string {
792	return awsutil.Prettify(s)
793}
794
795// GoString returns the string representation.
796//
797// API parameter values that are decorated as "sensitive" in the API will not
798// be included in the string output. The member name will be present, but the
799// value will be replaced with "sensitive".
800func (s DescribeUserOutput) GoString() string {
801	return s.String()
802}
803
804// SetUserId sets the UserId field's value.
805func (s *DescribeUserOutput) SetUserId(v string) *DescribeUserOutput {
806	s.UserId = &v
807	return s
808}
809
810// SetUserName sets the UserName field's value.
811func (s *DescribeUserOutput) SetUserName(v string) *DescribeUserOutput {
812	s.UserName = &v
813	return s
814}
815
816// A query filter used by ListUsers and ListGroup. This filter object provides
817// the attribute name and attribute value to search users or groups.
818type Filter struct {
819	_ struct{} `type:"structure"`
820
821	// The attribute path that is used to specify which attribute name to search.
822	// Length limit is 255 characters. For example, UserName is a valid attribute
823	// path for the ListUsers API, and DisplayName is a valid attribute path for
824	// the ListGroups API.
825	//
826	// AttributePath is a required field
827	AttributePath *string `min:"1" type:"string" required:"true"`
828
829	// Represents the data for an attribute. Each attribute value is described as
830	// a name-value pair.
831	//
832	// AttributeValue is a sensitive parameter and its value will be
833	// replaced with "sensitive" in string returned by Filter's
834	// String and GoString methods.
835	//
836	// AttributeValue is a required field
837	AttributeValue *string `min:"1" type:"string" required:"true" sensitive:"true"`
838}
839
840// String returns the string representation.
841//
842// API parameter values that are decorated as "sensitive" in the API will not
843// be included in the string output. The member name will be present, but the
844// value will be replaced with "sensitive".
845func (s Filter) String() string {
846	return awsutil.Prettify(s)
847}
848
849// GoString returns the string representation.
850//
851// API parameter values that are decorated as "sensitive" in the API will not
852// be included in the string output. The member name will be present, but the
853// value will be replaced with "sensitive".
854func (s Filter) GoString() string {
855	return s.String()
856}
857
858// Validate inspects the fields of the type to determine if they are valid.
859func (s *Filter) Validate() error {
860	invalidParams := request.ErrInvalidParams{Context: "Filter"}
861	if s.AttributePath == nil {
862		invalidParams.Add(request.NewErrParamRequired("AttributePath"))
863	}
864	if s.AttributePath != nil && len(*s.AttributePath) < 1 {
865		invalidParams.Add(request.NewErrParamMinLen("AttributePath", 1))
866	}
867	if s.AttributeValue == nil {
868		invalidParams.Add(request.NewErrParamRequired("AttributeValue"))
869	}
870	if s.AttributeValue != nil && len(*s.AttributeValue) < 1 {
871		invalidParams.Add(request.NewErrParamMinLen("AttributeValue", 1))
872	}
873
874	if invalidParams.Len() > 0 {
875		return invalidParams
876	}
877	return nil
878}
879
880// SetAttributePath sets the AttributePath field's value.
881func (s *Filter) SetAttributePath(v string) *Filter {
882	s.AttributePath = &v
883	return s
884}
885
886// SetAttributeValue sets the AttributeValue field's value.
887func (s *Filter) SetAttributeValue(v string) *Filter {
888	s.AttributeValue = &v
889	return s
890}
891
892// A group object, which contains a specified group’s metadata and attributes.
893type Group struct {
894	_ struct{} `type:"structure"`
895
896	// Contains the group’s display name value. The length limit is 1,024 characters.
897	// This value can consist of letters, accented characters, symbols, numbers,
898	// punctuation, tab, new line, carriage return, space, and nonbreaking space
899	// in this attribute. The characters <>;:% are excluded. This value is specified
900	// at the time the group is created and stored as an attribute of the group
901	// object in the identity store.
902	//
903	// DisplayName is a required field
904	DisplayName *string `min:"1" type:"string" required:"true"`
905
906	// The identifier for a group in the identity store.
907	//
908	// GroupId is a required field
909	GroupId *string `min:"1" type:"string" required:"true"`
910}
911
912// String returns the string representation.
913//
914// API parameter values that are decorated as "sensitive" in the API will not
915// be included in the string output. The member name will be present, but the
916// value will be replaced with "sensitive".
917func (s Group) String() string {
918	return awsutil.Prettify(s)
919}
920
921// GoString returns the string representation.
922//
923// API parameter values that are decorated as "sensitive" in the API will not
924// be included in the string output. The member name will be present, but the
925// value will be replaced with "sensitive".
926func (s Group) GoString() string {
927	return s.String()
928}
929
930// SetDisplayName sets the DisplayName field's value.
931func (s *Group) SetDisplayName(v string) *Group {
932	s.DisplayName = &v
933	return s
934}
935
936// SetGroupId sets the GroupId field's value.
937func (s *Group) SetGroupId(v string) *Group {
938	s.GroupId = &v
939	return s
940}
941
942// The request processing has failed because of an unknown error, exception
943// or failure with an internal server.
944type InternalServerException struct {
945	_            struct{}                  `type:"structure"`
946	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
947
948	Message_ *string `locationName:"Message" min:"1" type:"string"`
949
950	// The identifier for each request. This value is a globally unique ID that
951	// is generated by the Identity Store service for each sent request, and is
952	// then returned inside the exception if the request fails.
953	RequestId *string `type:"string"`
954}
955
956// String returns the string representation.
957//
958// API parameter values that are decorated as "sensitive" in the API will not
959// be included in the string output. The member name will be present, but the
960// value will be replaced with "sensitive".
961func (s InternalServerException) String() string {
962	return awsutil.Prettify(s)
963}
964
965// GoString returns the string representation.
966//
967// API parameter values that are decorated as "sensitive" in the API will not
968// be included in the string output. The member name will be present, but the
969// value will be replaced with "sensitive".
970func (s InternalServerException) GoString() string {
971	return s.String()
972}
973
974func newErrorInternalServerException(v protocol.ResponseMetadata) error {
975	return &InternalServerException{
976		RespMetadata: v,
977	}
978}
979
980// Code returns the exception type name.
981func (s *InternalServerException) Code() string {
982	return "InternalServerException"
983}
984
985// Message returns the exception's message.
986func (s *InternalServerException) Message() string {
987	if s.Message_ != nil {
988		return *s.Message_
989	}
990	return ""
991}
992
993// OrigErr always returns nil, satisfies awserr.Error interface.
994func (s *InternalServerException) OrigErr() error {
995	return nil
996}
997
998func (s *InternalServerException) Error() string {
999	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
1000}
1001
1002// Status code returns the HTTP status code for the request's response error.
1003func (s *InternalServerException) StatusCode() int {
1004	return s.RespMetadata.StatusCode
1005}
1006
1007// RequestID returns the service's response RequestID for request.
1008func (s *InternalServerException) RequestID() string {
1009	return s.RespMetadata.RequestID
1010}
1011
1012type ListGroupsInput struct {
1013	_ struct{} `type:"structure"`
1014
1015	// A list of Filter objects, which is used in the ListUsers and ListGroups request.
1016	Filters []*Filter `type:"list"`
1017
1018	// The globally unique identifier for the identity store, such as d-1234567890.
1019	// In this example, d- is a fixed prefix, and 1234567890 is a randomly generated
1020	// string that contains number and lower case letters. This value is generated
1021	// at the time that a new identity store is created.
1022	//
1023	// IdentityStoreId is a required field
1024	IdentityStoreId *string `min:"1" type:"string" required:"true"`
1025
1026	// The maximum number of results to be returned per request. This parameter
1027	// is used in the ListUsers and ListGroups request to specify how many results
1028	// to return in one page. The length limit is 50 characters.
1029	MaxResults *int64 `min:"1" type:"integer"`
1030
1031	// The pagination token used for the ListUsers and ListGroups API operations.
1032	// This value is generated by the identity store service. It is returned in
1033	// the API response if the total results are more than the size of one page.
1034	// This token is also returned when it is used in the API request to search
1035	// for the next page.
1036	NextToken *string `min:"1" type:"string"`
1037}
1038
1039// String returns the string representation.
1040//
1041// API parameter values that are decorated as "sensitive" in the API will not
1042// be included in the string output. The member name will be present, but the
1043// value will be replaced with "sensitive".
1044func (s ListGroupsInput) String() string {
1045	return awsutil.Prettify(s)
1046}
1047
1048// GoString returns the string representation.
1049//
1050// API parameter values that are decorated as "sensitive" in the API will not
1051// be included in the string output. The member name will be present, but the
1052// value will be replaced with "sensitive".
1053func (s ListGroupsInput) GoString() string {
1054	return s.String()
1055}
1056
1057// Validate inspects the fields of the type to determine if they are valid.
1058func (s *ListGroupsInput) Validate() error {
1059	invalidParams := request.ErrInvalidParams{Context: "ListGroupsInput"}
1060	if s.IdentityStoreId == nil {
1061		invalidParams.Add(request.NewErrParamRequired("IdentityStoreId"))
1062	}
1063	if s.IdentityStoreId != nil && len(*s.IdentityStoreId) < 1 {
1064		invalidParams.Add(request.NewErrParamMinLen("IdentityStoreId", 1))
1065	}
1066	if s.MaxResults != nil && *s.MaxResults < 1 {
1067		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
1068	}
1069	if s.NextToken != nil && len(*s.NextToken) < 1 {
1070		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
1071	}
1072	if s.Filters != nil {
1073		for i, v := range s.Filters {
1074			if v == nil {
1075				continue
1076			}
1077			if err := v.Validate(); err != nil {
1078				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
1079			}
1080		}
1081	}
1082
1083	if invalidParams.Len() > 0 {
1084		return invalidParams
1085	}
1086	return nil
1087}
1088
1089// SetFilters sets the Filters field's value.
1090func (s *ListGroupsInput) SetFilters(v []*Filter) *ListGroupsInput {
1091	s.Filters = v
1092	return s
1093}
1094
1095// SetIdentityStoreId sets the IdentityStoreId field's value.
1096func (s *ListGroupsInput) SetIdentityStoreId(v string) *ListGroupsInput {
1097	s.IdentityStoreId = &v
1098	return s
1099}
1100
1101// SetMaxResults sets the MaxResults field's value.
1102func (s *ListGroupsInput) SetMaxResults(v int64) *ListGroupsInput {
1103	s.MaxResults = &v
1104	return s
1105}
1106
1107// SetNextToken sets the NextToken field's value.
1108func (s *ListGroupsInput) SetNextToken(v string) *ListGroupsInput {
1109	s.NextToken = &v
1110	return s
1111}
1112
1113type ListGroupsOutput struct {
1114	_ struct{} `type:"structure"`
1115
1116	// A list of Group objects in the identity store.
1117	//
1118	// Groups is a required field
1119	Groups []*Group `type:"list" required:"true"`
1120
1121	// The pagination token used for the ListUsers and ListGroups API operations.
1122	// This value is generated by the identity store service. It is returned in
1123	// the API response if the total results are more than the size of one page.
1124	// This token is also returned when it1 is used in the API request to search
1125	// for the next page.
1126	NextToken *string `min:"1" type:"string"`
1127}
1128
1129// String returns the string representation.
1130//
1131// API parameter values that are decorated as "sensitive" in the API will not
1132// be included in the string output. The member name will be present, but the
1133// value will be replaced with "sensitive".
1134func (s ListGroupsOutput) String() string {
1135	return awsutil.Prettify(s)
1136}
1137
1138// GoString returns the string representation.
1139//
1140// API parameter values that are decorated as "sensitive" in the API will not
1141// be included in the string output. The member name will be present, but the
1142// value will be replaced with "sensitive".
1143func (s ListGroupsOutput) GoString() string {
1144	return s.String()
1145}
1146
1147// SetGroups sets the Groups field's value.
1148func (s *ListGroupsOutput) SetGroups(v []*Group) *ListGroupsOutput {
1149	s.Groups = v
1150	return s
1151}
1152
1153// SetNextToken sets the NextToken field's value.
1154func (s *ListGroupsOutput) SetNextToken(v string) *ListGroupsOutput {
1155	s.NextToken = &v
1156	return s
1157}
1158
1159type ListUsersInput struct {
1160	_ struct{} `type:"structure"`
1161
1162	// A list of Filter objects, which is used in the ListUsers and ListGroups request.
1163	Filters []*Filter `type:"list"`
1164
1165	// The globally unique identifier for the identity store, such as d-1234567890.
1166	// In this example, d- is a fixed prefix, and 1234567890 is a randomly generated
1167	// string that contains number and lower case letters. This value is generated
1168	// at the time that a new identity store is created.
1169	//
1170	// IdentityStoreId is a required field
1171	IdentityStoreId *string `min:"1" type:"string" required:"true"`
1172
1173	// The maximum number of results to be returned per request. This parameter
1174	// is used in the ListUsers and ListGroups request to specify how many results
1175	// to return in one page. The length limit is 50 characters.
1176	MaxResults *int64 `min:"1" type:"integer"`
1177
1178	// The pagination token used for the ListUsers and ListGroups API operations.
1179	// This value is generated by the identity store service. It is returned in
1180	// the API response if the total results are more than the size of one page.
1181	// This token is also returned when it is used in the API request to search
1182	// for the next page.
1183	NextToken *string `min:"1" type:"string"`
1184}
1185
1186// String returns the string representation.
1187//
1188// API parameter values that are decorated as "sensitive" in the API will not
1189// be included in the string output. The member name will be present, but the
1190// value will be replaced with "sensitive".
1191func (s ListUsersInput) String() string {
1192	return awsutil.Prettify(s)
1193}
1194
1195// GoString returns the string representation.
1196//
1197// API parameter values that are decorated as "sensitive" in the API will not
1198// be included in the string output. The member name will be present, but the
1199// value will be replaced with "sensitive".
1200func (s ListUsersInput) GoString() string {
1201	return s.String()
1202}
1203
1204// Validate inspects the fields of the type to determine if they are valid.
1205func (s *ListUsersInput) Validate() error {
1206	invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"}
1207	if s.IdentityStoreId == nil {
1208		invalidParams.Add(request.NewErrParamRequired("IdentityStoreId"))
1209	}
1210	if s.IdentityStoreId != nil && len(*s.IdentityStoreId) < 1 {
1211		invalidParams.Add(request.NewErrParamMinLen("IdentityStoreId", 1))
1212	}
1213	if s.MaxResults != nil && *s.MaxResults < 1 {
1214		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
1215	}
1216	if s.NextToken != nil && len(*s.NextToken) < 1 {
1217		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
1218	}
1219	if s.Filters != nil {
1220		for i, v := range s.Filters {
1221			if v == nil {
1222				continue
1223			}
1224			if err := v.Validate(); err != nil {
1225				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
1226			}
1227		}
1228	}
1229
1230	if invalidParams.Len() > 0 {
1231		return invalidParams
1232	}
1233	return nil
1234}
1235
1236// SetFilters sets the Filters field's value.
1237func (s *ListUsersInput) SetFilters(v []*Filter) *ListUsersInput {
1238	s.Filters = v
1239	return s
1240}
1241
1242// SetIdentityStoreId sets the IdentityStoreId field's value.
1243func (s *ListUsersInput) SetIdentityStoreId(v string) *ListUsersInput {
1244	s.IdentityStoreId = &v
1245	return s
1246}
1247
1248// SetMaxResults sets the MaxResults field's value.
1249func (s *ListUsersInput) SetMaxResults(v int64) *ListUsersInput {
1250	s.MaxResults = &v
1251	return s
1252}
1253
1254// SetNextToken sets the NextToken field's value.
1255func (s *ListUsersInput) SetNextToken(v string) *ListUsersInput {
1256	s.NextToken = &v
1257	return s
1258}
1259
1260type ListUsersOutput struct {
1261	_ struct{} `type:"structure"`
1262
1263	// The pagination token used for the ListUsers and ListGroups API operations.
1264	// This value is generated by the identity store service. It is returned in
1265	// the API response if the total results are more than the size of one page.
1266	// This token is also returned when it is used in the API request to search
1267	// for the next page.
1268	NextToken *string `min:"1" type:"string"`
1269
1270	// A list of User objects in the identity store.
1271	//
1272	// Users is a required field
1273	Users []*User `type:"list" required:"true"`
1274}
1275
1276// String returns the string representation.
1277//
1278// API parameter values that are decorated as "sensitive" in the API will not
1279// be included in the string output. The member name will be present, but the
1280// value will be replaced with "sensitive".
1281func (s ListUsersOutput) String() string {
1282	return awsutil.Prettify(s)
1283}
1284
1285// GoString returns the string representation.
1286//
1287// API parameter values that are decorated as "sensitive" in the API will not
1288// be included in the string output. The member name will be present, but the
1289// value will be replaced with "sensitive".
1290func (s ListUsersOutput) GoString() string {
1291	return s.String()
1292}
1293
1294// SetNextToken sets the NextToken field's value.
1295func (s *ListUsersOutput) SetNextToken(v string) *ListUsersOutput {
1296	s.NextToken = &v
1297	return s
1298}
1299
1300// SetUsers sets the Users field's value.
1301func (s *ListUsersOutput) SetUsers(v []*User) *ListUsersOutput {
1302	s.Users = v
1303	return s
1304}
1305
1306// Indicates that a requested resource is not found.
1307type ResourceNotFoundException struct {
1308	_            struct{}                  `type:"structure"`
1309	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1310
1311	Message_ *string `locationName:"Message" min:"1" type:"string"`
1312
1313	// The identifier for each request. This value is a globally unique ID that
1314	// is generated by the Identity Store service for each sent request, and is
1315	// then returned inside the exception if the request fails.
1316	RequestId *string `type:"string"`
1317
1318	// The identifier for a resource in the identity store, which can be used as
1319	// UserId or GroupId. The format for ResourceId is either UUID or 1234567890-UUID,
1320	// where UUID is a randomly generated value for each resource when it is created
1321	// and 1234567890 represents the IdentityStoreId string value. In the case that
1322	// the identity store is migrated from a legacy SSO identity store, the ResourceId
1323	// for that identity store will be in the format of UUID. Otherwise, it will
1324	// be in the 1234567890-UUID format.
1325	ResourceId *string `min:"1" type:"string"`
1326
1327	// The type of resource in the Identity Store service, which is an enum object.
1328	// Valid values include USER, GROUP, and IDENTITY_STORE.
1329	ResourceType *string `type:"string" enum:"ResourceType"`
1330}
1331
1332// String returns the string representation.
1333//
1334// API parameter values that are decorated as "sensitive" in the API will not
1335// be included in the string output. The member name will be present, but the
1336// value will be replaced with "sensitive".
1337func (s ResourceNotFoundException) String() string {
1338	return awsutil.Prettify(s)
1339}
1340
1341// GoString returns the string representation.
1342//
1343// API parameter values that are decorated as "sensitive" in the API will not
1344// be included in the string output. The member name will be present, but the
1345// value will be replaced with "sensitive".
1346func (s ResourceNotFoundException) GoString() string {
1347	return s.String()
1348}
1349
1350func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
1351	return &ResourceNotFoundException{
1352		RespMetadata: v,
1353	}
1354}
1355
1356// Code returns the exception type name.
1357func (s *ResourceNotFoundException) Code() string {
1358	return "ResourceNotFoundException"
1359}
1360
1361// Message returns the exception's message.
1362func (s *ResourceNotFoundException) Message() string {
1363	if s.Message_ != nil {
1364		return *s.Message_
1365	}
1366	return ""
1367}
1368
1369// OrigErr always returns nil, satisfies awserr.Error interface.
1370func (s *ResourceNotFoundException) OrigErr() error {
1371	return nil
1372}
1373
1374func (s *ResourceNotFoundException) Error() string {
1375	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
1376}
1377
1378// Status code returns the HTTP status code for the request's response error.
1379func (s *ResourceNotFoundException) StatusCode() int {
1380	return s.RespMetadata.StatusCode
1381}
1382
1383// RequestID returns the service's response RequestID for request.
1384func (s *ResourceNotFoundException) RequestID() string {
1385	return s.RespMetadata.RequestID
1386}
1387
1388// Indicates that the principal has crossed the throttling limits of the API
1389// operations.
1390type ThrottlingException struct {
1391	_            struct{}                  `type:"structure"`
1392	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1393
1394	Message_ *string `locationName:"Message" min:"1" type:"string"`
1395
1396	// The identifier for each request. This value is a globally unique ID that
1397	// is generated by the Identity Store service for each sent request, and is
1398	// then returned inside the exception if the request fails.
1399	RequestId *string `type:"string"`
1400}
1401
1402// String returns the string representation.
1403//
1404// API parameter values that are decorated as "sensitive" in the API will not
1405// be included in the string output. The member name will be present, but the
1406// value will be replaced with "sensitive".
1407func (s ThrottlingException) String() string {
1408	return awsutil.Prettify(s)
1409}
1410
1411// GoString returns the string representation.
1412//
1413// API parameter values that are decorated as "sensitive" in the API will not
1414// be included in the string output. The member name will be present, but the
1415// value will be replaced with "sensitive".
1416func (s ThrottlingException) GoString() string {
1417	return s.String()
1418}
1419
1420func newErrorThrottlingException(v protocol.ResponseMetadata) error {
1421	return &ThrottlingException{
1422		RespMetadata: v,
1423	}
1424}
1425
1426// Code returns the exception type name.
1427func (s *ThrottlingException) Code() string {
1428	return "ThrottlingException"
1429}
1430
1431// Message returns the exception's message.
1432func (s *ThrottlingException) Message() string {
1433	if s.Message_ != nil {
1434		return *s.Message_
1435	}
1436	return ""
1437}
1438
1439// OrigErr always returns nil, satisfies awserr.Error interface.
1440func (s *ThrottlingException) OrigErr() error {
1441	return nil
1442}
1443
1444func (s *ThrottlingException) Error() string {
1445	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
1446}
1447
1448// Status code returns the HTTP status code for the request's response error.
1449func (s *ThrottlingException) StatusCode() int {
1450	return s.RespMetadata.StatusCode
1451}
1452
1453// RequestID returns the service's response RequestID for request.
1454func (s *ThrottlingException) RequestID() string {
1455	return s.RespMetadata.RequestID
1456}
1457
1458// A user object, which contains a specified user’s metadata and attributes.
1459type User struct {
1460	_ struct{} `type:"structure"`
1461
1462	// The identifier for a user in the identity store.
1463	//
1464	// UserId is a required field
1465	UserId *string `min:"1" type:"string" required:"true"`
1466
1467	// Contains the user’s user name value. The length limit is 128 characters.
1468	// This value can consist of letters, accented characters, symbols, numbers,
1469	// and punctuation. The characters <>;:% are excluded. This value is specified
1470	// at the time the user is created and stored as an attribute of the user object
1471	// in the identity store.
1472	//
1473	// UserName is a sensitive parameter and its value will be
1474	// replaced with "sensitive" in string returned by User's
1475	// String and GoString methods.
1476	//
1477	// UserName is a required field
1478	UserName *string `min:"1" type:"string" required:"true" sensitive:"true"`
1479}
1480
1481// String returns the string representation.
1482//
1483// API parameter values that are decorated as "sensitive" in the API will not
1484// be included in the string output. The member name will be present, but the
1485// value will be replaced with "sensitive".
1486func (s User) String() string {
1487	return awsutil.Prettify(s)
1488}
1489
1490// GoString returns the string representation.
1491//
1492// API parameter values that are decorated as "sensitive" in the API will not
1493// be included in the string output. The member name will be present, but the
1494// value will be replaced with "sensitive".
1495func (s User) GoString() string {
1496	return s.String()
1497}
1498
1499// SetUserId sets the UserId field's value.
1500func (s *User) SetUserId(v string) *User {
1501	s.UserId = &v
1502	return s
1503}
1504
1505// SetUserName sets the UserName field's value.
1506func (s *User) SetUserName(v string) *User {
1507	s.UserName = &v
1508	return s
1509}
1510
1511// The request failed because it contains a syntax error.
1512type ValidationException struct {
1513	_            struct{}                  `type:"structure"`
1514	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1515
1516	Message_ *string `locationName:"Message" min:"1" type:"string"`
1517
1518	// The identifier for each request. This value is a globally unique ID that
1519	// is generated by the Identity Store service for each sent request, and is
1520	// then returned inside the exception if the request fails.
1521	RequestId *string `type:"string"`
1522}
1523
1524// String returns the string representation.
1525//
1526// API parameter values that are decorated as "sensitive" in the API will not
1527// be included in the string output. The member name will be present, but the
1528// value will be replaced with "sensitive".
1529func (s ValidationException) String() string {
1530	return awsutil.Prettify(s)
1531}
1532
1533// GoString returns the string representation.
1534//
1535// API parameter values that are decorated as "sensitive" in the API will not
1536// be included in the string output. The member name will be present, but the
1537// value will be replaced with "sensitive".
1538func (s ValidationException) GoString() string {
1539	return s.String()
1540}
1541
1542func newErrorValidationException(v protocol.ResponseMetadata) error {
1543	return &ValidationException{
1544		RespMetadata: v,
1545	}
1546}
1547
1548// Code returns the exception type name.
1549func (s *ValidationException) Code() string {
1550	return "ValidationException"
1551}
1552
1553// Message returns the exception's message.
1554func (s *ValidationException) Message() string {
1555	if s.Message_ != nil {
1556		return *s.Message_
1557	}
1558	return ""
1559}
1560
1561// OrigErr always returns nil, satisfies awserr.Error interface.
1562func (s *ValidationException) OrigErr() error {
1563	return nil
1564}
1565
1566func (s *ValidationException) Error() string {
1567	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
1568}
1569
1570// Status code returns the HTTP status code for the request's response error.
1571func (s *ValidationException) StatusCode() int {
1572	return s.RespMetadata.StatusCode
1573}
1574
1575// RequestID returns the service's response RequestID for request.
1576func (s *ValidationException) RequestID() string {
1577	return s.RespMetadata.RequestID
1578}
1579
1580const (
1581	// ResourceTypeGroup is a ResourceType enum value
1582	ResourceTypeGroup = "GROUP"
1583
1584	// ResourceTypeUser is a ResourceType enum value
1585	ResourceTypeUser = "USER"
1586
1587	// ResourceTypeIdentityStore is a ResourceType enum value
1588	ResourceTypeIdentityStore = "IDENTITY_STORE"
1589)
1590
1591// ResourceType_Values returns all elements of the ResourceType enum
1592func ResourceType_Values() []string {
1593	return []string{
1594		ResourceTypeGroup,
1595		ResourceTypeUser,
1596		ResourceTypeIdentityStore,
1597	}
1598}
1599