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