1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package ram
4
5import (
6	"time"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12	"github.com/aws/aws-sdk-go/private/protocol/restjson"
13)
14
15const opAcceptResourceShareInvitation = "AcceptResourceShareInvitation"
16
17// AcceptResourceShareInvitationRequest generates a "aws/request.Request" representing the
18// client's request for the AcceptResourceShareInvitation operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See AcceptResourceShareInvitation for more information on using the AcceptResourceShareInvitation
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the AcceptResourceShareInvitationRequest method.
33//    req, resp := client.AcceptResourceShareInvitationRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/AcceptResourceShareInvitation
41func (c *RAM) AcceptResourceShareInvitationRequest(input *AcceptResourceShareInvitationInput) (req *request.Request, output *AcceptResourceShareInvitationOutput) {
42	op := &request.Operation{
43		Name:       opAcceptResourceShareInvitation,
44		HTTPMethod: "POST",
45		HTTPPath:   "/acceptresourceshareinvitation",
46	}
47
48	if input == nil {
49		input = &AcceptResourceShareInvitationInput{}
50	}
51
52	output = &AcceptResourceShareInvitationOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// AcceptResourceShareInvitation API operation for AWS Resource Access Manager.
58//
59// Accepts an invitation to a resource share from another AWS account.
60//
61// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
62// with awserr.Error's Code and Message methods to get detailed information about
63// the error.
64//
65// See the AWS API reference guide for AWS Resource Access Manager's
66// API operation AcceptResourceShareInvitation for usage and error information.
67//
68// Returned Error Codes:
69//   * ErrCodeMalformedArnException "MalformedArnException"
70//   The format of an Amazon Resource Name (ARN) is not valid.
71//
72//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
73//   The requested operation is not permitted.
74//
75//   * ErrCodeResourceShareInvitationArnNotFoundException "ResourceShareInvitationArnNotFoundException"
76//   The Amazon Resource Name (ARN) for an invitation was not found.
77//
78//   * ErrCodeResourceShareInvitationAlreadyAcceptedException "ResourceShareInvitationAlreadyAcceptedException"
79//   The invitation was already accepted.
80//
81//   * ErrCodeResourceShareInvitationAlreadyRejectedException "ResourceShareInvitationAlreadyRejectedException"
82//   The invitation was already rejected.
83//
84//   * ErrCodeResourceShareInvitationExpiredException "ResourceShareInvitationExpiredException"
85//   The invitation is expired.
86//
87//   * ErrCodeServerInternalException "ServerInternalException"
88//   The service could not respond to the request due to an internal problem.
89//
90//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
91//   The service is not available.
92//
93//   * ErrCodeInvalidClientTokenException "InvalidClientTokenException"
94//   A client token is not valid.
95//
96//   * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
97//   A client token input parameter was reused with an operation, but at least
98//   one of the other input parameters is different from the previous call to
99//   the operation.
100//
101// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/AcceptResourceShareInvitation
102func (c *RAM) AcceptResourceShareInvitation(input *AcceptResourceShareInvitationInput) (*AcceptResourceShareInvitationOutput, error) {
103	req, out := c.AcceptResourceShareInvitationRequest(input)
104	return out, req.Send()
105}
106
107// AcceptResourceShareInvitationWithContext is the same as AcceptResourceShareInvitation with the addition of
108// the ability to pass a context and additional request options.
109//
110// See AcceptResourceShareInvitation for details on how to use this API operation.
111//
112// The context must be non-nil and will be used for request cancellation. If
113// the context is nil a panic will occur. In the future the SDK may create
114// sub-contexts for http.Requests. See https://golang.org/pkg/context/
115// for more information on using Contexts.
116func (c *RAM) AcceptResourceShareInvitationWithContext(ctx aws.Context, input *AcceptResourceShareInvitationInput, opts ...request.Option) (*AcceptResourceShareInvitationOutput, error) {
117	req, out := c.AcceptResourceShareInvitationRequest(input)
118	req.SetContext(ctx)
119	req.ApplyOptions(opts...)
120	return out, req.Send()
121}
122
123const opAssociateResourceShare = "AssociateResourceShare"
124
125// AssociateResourceShareRequest generates a "aws/request.Request" representing the
126// client's request for the AssociateResourceShare operation. The "output" return
127// value will be populated with the request's response once the request completes
128// successfully.
129//
130// Use "Send" method on the returned Request to send the API call to the service.
131// the "output" return value is not valid until after Send returns without error.
132//
133// See AssociateResourceShare for more information on using the AssociateResourceShare
134// API call, and error handling.
135//
136// This method is useful when you want to inject custom logic or configuration
137// into the SDK's request lifecycle. Such as custom headers, or retry logic.
138//
139//
140//    // Example sending a request using the AssociateResourceShareRequest method.
141//    req, resp := client.AssociateResourceShareRequest(params)
142//
143//    err := req.Send()
144//    if err == nil { // resp is now filled
145//        fmt.Println(resp)
146//    }
147//
148// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/AssociateResourceShare
149func (c *RAM) AssociateResourceShareRequest(input *AssociateResourceShareInput) (req *request.Request, output *AssociateResourceShareOutput) {
150	op := &request.Operation{
151		Name:       opAssociateResourceShare,
152		HTTPMethod: "POST",
153		HTTPPath:   "/associateresourceshare",
154	}
155
156	if input == nil {
157		input = &AssociateResourceShareInput{}
158	}
159
160	output = &AssociateResourceShareOutput{}
161	req = c.newRequest(op, input, output)
162	return
163}
164
165// AssociateResourceShare API operation for AWS Resource Access Manager.
166//
167// Associates the specified resource share with the specified principals and
168// resources.
169//
170// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
171// with awserr.Error's Code and Message methods to get detailed information about
172// the error.
173//
174// See the AWS API reference guide for AWS Resource Access Manager's
175// API operation AssociateResourceShare for usage and error information.
176//
177// Returned Error Codes:
178//   * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
179//   A client token input parameter was reused with an operation, but at least
180//   one of the other input parameters is different from the previous call to
181//   the operation.
182//
183//   * ErrCodeUnknownResourceException "UnknownResourceException"
184//   A specified resource was not found.
185//
186//   * ErrCodeInvalidStateTransitionException "InvalidStateTransitionException"
187//   The requested state transition is not valid.
188//
189//   * ErrCodeResourceShareLimitExceededException "ResourceShareLimitExceededException"
190//   The requested resource share exceeds the limit for your account.
191//
192//   * ErrCodeMalformedArnException "MalformedArnException"
193//   The format of an Amazon Resource Name (ARN) is not valid.
194//
195//   * ErrCodeInvalidStateTransitionException "InvalidStateTransitionException"
196//   The requested state transition is not valid.
197//
198//   * ErrCodeInvalidClientTokenException "InvalidClientTokenException"
199//   A client token is not valid.
200//
201//   * ErrCodeInvalidParameterException "InvalidParameterException"
202//   A parameter is not valid.
203//
204//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
205//   The requested operation is not permitted.
206//
207//   * ErrCodeServerInternalException "ServerInternalException"
208//   The service could not respond to the request due to an internal problem.
209//
210//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
211//   The service is not available.
212//
213//   * ErrCodeUnknownResourceException "UnknownResourceException"
214//   A specified resource was not found.
215//
216// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/AssociateResourceShare
217func (c *RAM) AssociateResourceShare(input *AssociateResourceShareInput) (*AssociateResourceShareOutput, error) {
218	req, out := c.AssociateResourceShareRequest(input)
219	return out, req.Send()
220}
221
222// AssociateResourceShareWithContext is the same as AssociateResourceShare with the addition of
223// the ability to pass a context and additional request options.
224//
225// See AssociateResourceShare for details on how to use this API operation.
226//
227// The context must be non-nil and will be used for request cancellation. If
228// the context is nil a panic will occur. In the future the SDK may create
229// sub-contexts for http.Requests. See https://golang.org/pkg/context/
230// for more information on using Contexts.
231func (c *RAM) AssociateResourceShareWithContext(ctx aws.Context, input *AssociateResourceShareInput, opts ...request.Option) (*AssociateResourceShareOutput, error) {
232	req, out := c.AssociateResourceShareRequest(input)
233	req.SetContext(ctx)
234	req.ApplyOptions(opts...)
235	return out, req.Send()
236}
237
238const opAssociateResourceSharePermission = "AssociateResourceSharePermission"
239
240// AssociateResourceSharePermissionRequest generates a "aws/request.Request" representing the
241// client's request for the AssociateResourceSharePermission operation. The "output" return
242// value will be populated with the request's response once the request completes
243// successfully.
244//
245// Use "Send" method on the returned Request to send the API call to the service.
246// the "output" return value is not valid until after Send returns without error.
247//
248// See AssociateResourceSharePermission for more information on using the AssociateResourceSharePermission
249// API call, and error handling.
250//
251// This method is useful when you want to inject custom logic or configuration
252// into the SDK's request lifecycle. Such as custom headers, or retry logic.
253//
254//
255//    // Example sending a request using the AssociateResourceSharePermissionRequest method.
256//    req, resp := client.AssociateResourceSharePermissionRequest(params)
257//
258//    err := req.Send()
259//    if err == nil { // resp is now filled
260//        fmt.Println(resp)
261//    }
262//
263// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/AssociateResourceSharePermission
264func (c *RAM) AssociateResourceSharePermissionRequest(input *AssociateResourceSharePermissionInput) (req *request.Request, output *AssociateResourceSharePermissionOutput) {
265	op := &request.Operation{
266		Name:       opAssociateResourceSharePermission,
267		HTTPMethod: "POST",
268		HTTPPath:   "/associateresourcesharepermission",
269	}
270
271	if input == nil {
272		input = &AssociateResourceSharePermissionInput{}
273	}
274
275	output = &AssociateResourceSharePermissionOutput{}
276	req = c.newRequest(op, input, output)
277	return
278}
279
280// AssociateResourceSharePermission API operation for AWS Resource Access Manager.
281//
282// Associates a permission with a resource share.
283//
284// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
285// with awserr.Error's Code and Message methods to get detailed information about
286// the error.
287//
288// See the AWS API reference guide for AWS Resource Access Manager's
289// API operation AssociateResourceSharePermission for usage and error information.
290//
291// Returned Error Codes:
292//   * ErrCodeMalformedArnException "MalformedArnException"
293//   The format of an Amazon Resource Name (ARN) is not valid.
294//
295//   * ErrCodeUnknownResourceException "UnknownResourceException"
296//   A specified resource was not found.
297//
298//   * ErrCodeInvalidParameterException "InvalidParameterException"
299//   A parameter is not valid.
300//
301//   * ErrCodeInvalidClientTokenException "InvalidClientTokenException"
302//   A client token is not valid.
303//
304//   * ErrCodeServerInternalException "ServerInternalException"
305//   The service could not respond to the request due to an internal problem.
306//
307//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
308//   The service is not available.
309//
310//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
311//   The requested operation is not permitted.
312//
313// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/AssociateResourceSharePermission
314func (c *RAM) AssociateResourceSharePermission(input *AssociateResourceSharePermissionInput) (*AssociateResourceSharePermissionOutput, error) {
315	req, out := c.AssociateResourceSharePermissionRequest(input)
316	return out, req.Send()
317}
318
319// AssociateResourceSharePermissionWithContext is the same as AssociateResourceSharePermission with the addition of
320// the ability to pass a context and additional request options.
321//
322// See AssociateResourceSharePermission for details on how to use this API operation.
323//
324// The context must be non-nil and will be used for request cancellation. If
325// the context is nil a panic will occur. In the future the SDK may create
326// sub-contexts for http.Requests. See https://golang.org/pkg/context/
327// for more information on using Contexts.
328func (c *RAM) AssociateResourceSharePermissionWithContext(ctx aws.Context, input *AssociateResourceSharePermissionInput, opts ...request.Option) (*AssociateResourceSharePermissionOutput, error) {
329	req, out := c.AssociateResourceSharePermissionRequest(input)
330	req.SetContext(ctx)
331	req.ApplyOptions(opts...)
332	return out, req.Send()
333}
334
335const opCreateResourceShare = "CreateResourceShare"
336
337// CreateResourceShareRequest generates a "aws/request.Request" representing the
338// client's request for the CreateResourceShare operation. The "output" return
339// value will be populated with the request's response once the request completes
340// successfully.
341//
342// Use "Send" method on the returned Request to send the API call to the service.
343// the "output" return value is not valid until after Send returns without error.
344//
345// See CreateResourceShare for more information on using the CreateResourceShare
346// API call, and error handling.
347//
348// This method is useful when you want to inject custom logic or configuration
349// into the SDK's request lifecycle. Such as custom headers, or retry logic.
350//
351//
352//    // Example sending a request using the CreateResourceShareRequest method.
353//    req, resp := client.CreateResourceShareRequest(params)
354//
355//    err := req.Send()
356//    if err == nil { // resp is now filled
357//        fmt.Println(resp)
358//    }
359//
360// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/CreateResourceShare
361func (c *RAM) CreateResourceShareRequest(input *CreateResourceShareInput) (req *request.Request, output *CreateResourceShareOutput) {
362	op := &request.Operation{
363		Name:       opCreateResourceShare,
364		HTTPMethod: "POST",
365		HTTPPath:   "/createresourceshare",
366	}
367
368	if input == nil {
369		input = &CreateResourceShareInput{}
370	}
371
372	output = &CreateResourceShareOutput{}
373	req = c.newRequest(op, input, output)
374	return
375}
376
377// CreateResourceShare API operation for AWS Resource Access Manager.
378//
379// Creates a resource share.
380//
381// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
382// with awserr.Error's Code and Message methods to get detailed information about
383// the error.
384//
385// See the AWS API reference guide for AWS Resource Access Manager's
386// API operation CreateResourceShare for usage and error information.
387//
388// Returned Error Codes:
389//   * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
390//   A client token input parameter was reused with an operation, but at least
391//   one of the other input parameters is different from the previous call to
392//   the operation.
393//
394//   * ErrCodeInvalidStateTransitionException "InvalidStateTransitionException"
395//   The requested state transition is not valid.
396//
397//   * ErrCodeUnknownResourceException "UnknownResourceException"
398//   A specified resource was not found.
399//
400//   * ErrCodeMalformedArnException "MalformedArnException"
401//   The format of an Amazon Resource Name (ARN) is not valid.
402//
403//   * ErrCodeInvalidClientTokenException "InvalidClientTokenException"
404//   A client token is not valid.
405//
406//   * ErrCodeInvalidParameterException "InvalidParameterException"
407//   A parameter is not valid.
408//
409//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
410//   The requested operation is not permitted.
411//
412//   * ErrCodeResourceShareLimitExceededException "ResourceShareLimitExceededException"
413//   The requested resource share exceeds the limit for your account.
414//
415//   * ErrCodeTagPolicyViolationException "TagPolicyViolationException"
416//   The specified tag is a reserved word and cannot be used.
417//
418//   * ErrCodeServerInternalException "ServerInternalException"
419//   The service could not respond to the request due to an internal problem.
420//
421//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
422//   The service is not available.
423//
424// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/CreateResourceShare
425func (c *RAM) CreateResourceShare(input *CreateResourceShareInput) (*CreateResourceShareOutput, error) {
426	req, out := c.CreateResourceShareRequest(input)
427	return out, req.Send()
428}
429
430// CreateResourceShareWithContext is the same as CreateResourceShare with the addition of
431// the ability to pass a context and additional request options.
432//
433// See CreateResourceShare for details on how to use this API operation.
434//
435// The context must be non-nil and will be used for request cancellation. If
436// the context is nil a panic will occur. In the future the SDK may create
437// sub-contexts for http.Requests. See https://golang.org/pkg/context/
438// for more information on using Contexts.
439func (c *RAM) CreateResourceShareWithContext(ctx aws.Context, input *CreateResourceShareInput, opts ...request.Option) (*CreateResourceShareOutput, error) {
440	req, out := c.CreateResourceShareRequest(input)
441	req.SetContext(ctx)
442	req.ApplyOptions(opts...)
443	return out, req.Send()
444}
445
446const opDeleteResourceShare = "DeleteResourceShare"
447
448// DeleteResourceShareRequest generates a "aws/request.Request" representing the
449// client's request for the DeleteResourceShare operation. The "output" return
450// value will be populated with the request's response once the request completes
451// successfully.
452//
453// Use "Send" method on the returned Request to send the API call to the service.
454// the "output" return value is not valid until after Send returns without error.
455//
456// See DeleteResourceShare for more information on using the DeleteResourceShare
457// API call, and error handling.
458//
459// This method is useful when you want to inject custom logic or configuration
460// into the SDK's request lifecycle. Such as custom headers, or retry logic.
461//
462//
463//    // Example sending a request using the DeleteResourceShareRequest method.
464//    req, resp := client.DeleteResourceShareRequest(params)
465//
466//    err := req.Send()
467//    if err == nil { // resp is now filled
468//        fmt.Println(resp)
469//    }
470//
471// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/DeleteResourceShare
472func (c *RAM) DeleteResourceShareRequest(input *DeleteResourceShareInput) (req *request.Request, output *DeleteResourceShareOutput) {
473	op := &request.Operation{
474		Name:       opDeleteResourceShare,
475		HTTPMethod: "DELETE",
476		HTTPPath:   "/deleteresourceshare",
477	}
478
479	if input == nil {
480		input = &DeleteResourceShareInput{}
481	}
482
483	output = &DeleteResourceShareOutput{}
484	req = c.newRequest(op, input, output)
485	return
486}
487
488// DeleteResourceShare API operation for AWS Resource Access Manager.
489//
490// Deletes the specified resource share.
491//
492// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
493// with awserr.Error's Code and Message methods to get detailed information about
494// the error.
495//
496// See the AWS API reference guide for AWS Resource Access Manager's
497// API operation DeleteResourceShare for usage and error information.
498//
499// Returned Error Codes:
500//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
501//   The requested operation is not permitted.
502//
503//   * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
504//   A client token input parameter was reused with an operation, but at least
505//   one of the other input parameters is different from the previous call to
506//   the operation.
507//
508//   * ErrCodeInvalidStateTransitionException "InvalidStateTransitionException"
509//   The requested state transition is not valid.
510//
511//   * ErrCodeUnknownResourceException "UnknownResourceException"
512//   A specified resource was not found.
513//
514//   * ErrCodeMalformedArnException "MalformedArnException"
515//   The format of an Amazon Resource Name (ARN) is not valid.
516//
517//   * ErrCodeInvalidClientTokenException "InvalidClientTokenException"
518//   A client token is not valid.
519//
520//   * ErrCodeInvalidParameterException "InvalidParameterException"
521//   A parameter is not valid.
522//
523//   * ErrCodeServerInternalException "ServerInternalException"
524//   The service could not respond to the request due to an internal problem.
525//
526//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
527//   The service is not available.
528//
529// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/DeleteResourceShare
530func (c *RAM) DeleteResourceShare(input *DeleteResourceShareInput) (*DeleteResourceShareOutput, error) {
531	req, out := c.DeleteResourceShareRequest(input)
532	return out, req.Send()
533}
534
535// DeleteResourceShareWithContext is the same as DeleteResourceShare with the addition of
536// the ability to pass a context and additional request options.
537//
538// See DeleteResourceShare for details on how to use this API operation.
539//
540// The context must be non-nil and will be used for request cancellation. If
541// the context is nil a panic will occur. In the future the SDK may create
542// sub-contexts for http.Requests. See https://golang.org/pkg/context/
543// for more information on using Contexts.
544func (c *RAM) DeleteResourceShareWithContext(ctx aws.Context, input *DeleteResourceShareInput, opts ...request.Option) (*DeleteResourceShareOutput, error) {
545	req, out := c.DeleteResourceShareRequest(input)
546	req.SetContext(ctx)
547	req.ApplyOptions(opts...)
548	return out, req.Send()
549}
550
551const opDisassociateResourceShare = "DisassociateResourceShare"
552
553// DisassociateResourceShareRequest generates a "aws/request.Request" representing the
554// client's request for the DisassociateResourceShare operation. The "output" return
555// value will be populated with the request's response once the request completes
556// successfully.
557//
558// Use "Send" method on the returned Request to send the API call to the service.
559// the "output" return value is not valid until after Send returns without error.
560//
561// See DisassociateResourceShare for more information on using the DisassociateResourceShare
562// API call, and error handling.
563//
564// This method is useful when you want to inject custom logic or configuration
565// into the SDK's request lifecycle. Such as custom headers, or retry logic.
566//
567//
568//    // Example sending a request using the DisassociateResourceShareRequest method.
569//    req, resp := client.DisassociateResourceShareRequest(params)
570//
571//    err := req.Send()
572//    if err == nil { // resp is now filled
573//        fmt.Println(resp)
574//    }
575//
576// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/DisassociateResourceShare
577func (c *RAM) DisassociateResourceShareRequest(input *DisassociateResourceShareInput) (req *request.Request, output *DisassociateResourceShareOutput) {
578	op := &request.Operation{
579		Name:       opDisassociateResourceShare,
580		HTTPMethod: "POST",
581		HTTPPath:   "/disassociateresourceshare",
582	}
583
584	if input == nil {
585		input = &DisassociateResourceShareInput{}
586	}
587
588	output = &DisassociateResourceShareOutput{}
589	req = c.newRequest(op, input, output)
590	return
591}
592
593// DisassociateResourceShare API operation for AWS Resource Access Manager.
594//
595// Disassociates the specified principals or resources from the specified resource
596// share.
597//
598// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
599// with awserr.Error's Code and Message methods to get detailed information about
600// the error.
601//
602// See the AWS API reference guide for AWS Resource Access Manager's
603// API operation DisassociateResourceShare for usage and error information.
604//
605// Returned Error Codes:
606//   * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
607//   A client token input parameter was reused with an operation, but at least
608//   one of the other input parameters is different from the previous call to
609//   the operation.
610//
611//   * ErrCodeResourceShareLimitExceededException "ResourceShareLimitExceededException"
612//   The requested resource share exceeds the limit for your account.
613//
614//   * ErrCodeMalformedArnException "MalformedArnException"
615//   The format of an Amazon Resource Name (ARN) is not valid.
616//
617//   * ErrCodeInvalidStateTransitionException "InvalidStateTransitionException"
618//   The requested state transition is not valid.
619//
620//   * ErrCodeInvalidClientTokenException "InvalidClientTokenException"
621//   A client token is not valid.
622//
623//   * ErrCodeInvalidParameterException "InvalidParameterException"
624//   A parameter is not valid.
625//
626//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
627//   The requested operation is not permitted.
628//
629//   * ErrCodeServerInternalException "ServerInternalException"
630//   The service could not respond to the request due to an internal problem.
631//
632//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
633//   The service is not available.
634//
635//   * ErrCodeUnknownResourceException "UnknownResourceException"
636//   A specified resource was not found.
637//
638// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/DisassociateResourceShare
639func (c *RAM) DisassociateResourceShare(input *DisassociateResourceShareInput) (*DisassociateResourceShareOutput, error) {
640	req, out := c.DisassociateResourceShareRequest(input)
641	return out, req.Send()
642}
643
644// DisassociateResourceShareWithContext is the same as DisassociateResourceShare with the addition of
645// the ability to pass a context and additional request options.
646//
647// See DisassociateResourceShare for details on how to use this API operation.
648//
649// The context must be non-nil and will be used for request cancellation. If
650// the context is nil a panic will occur. In the future the SDK may create
651// sub-contexts for http.Requests. See https://golang.org/pkg/context/
652// for more information on using Contexts.
653func (c *RAM) DisassociateResourceShareWithContext(ctx aws.Context, input *DisassociateResourceShareInput, opts ...request.Option) (*DisassociateResourceShareOutput, error) {
654	req, out := c.DisassociateResourceShareRequest(input)
655	req.SetContext(ctx)
656	req.ApplyOptions(opts...)
657	return out, req.Send()
658}
659
660const opDisassociateResourceSharePermission = "DisassociateResourceSharePermission"
661
662// DisassociateResourceSharePermissionRequest generates a "aws/request.Request" representing the
663// client's request for the DisassociateResourceSharePermission operation. The "output" return
664// value will be populated with the request's response once the request completes
665// successfully.
666//
667// Use "Send" method on the returned Request to send the API call to the service.
668// the "output" return value is not valid until after Send returns without error.
669//
670// See DisassociateResourceSharePermission for more information on using the DisassociateResourceSharePermission
671// API call, and error handling.
672//
673// This method is useful when you want to inject custom logic or configuration
674// into the SDK's request lifecycle. Such as custom headers, or retry logic.
675//
676//
677//    // Example sending a request using the DisassociateResourceSharePermissionRequest method.
678//    req, resp := client.DisassociateResourceSharePermissionRequest(params)
679//
680//    err := req.Send()
681//    if err == nil { // resp is now filled
682//        fmt.Println(resp)
683//    }
684//
685// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/DisassociateResourceSharePermission
686func (c *RAM) DisassociateResourceSharePermissionRequest(input *DisassociateResourceSharePermissionInput) (req *request.Request, output *DisassociateResourceSharePermissionOutput) {
687	op := &request.Operation{
688		Name:       opDisassociateResourceSharePermission,
689		HTTPMethod: "POST",
690		HTTPPath:   "/disassociateresourcesharepermission",
691	}
692
693	if input == nil {
694		input = &DisassociateResourceSharePermissionInput{}
695	}
696
697	output = &DisassociateResourceSharePermissionOutput{}
698	req = c.newRequest(op, input, output)
699	return
700}
701
702// DisassociateResourceSharePermission API operation for AWS Resource Access Manager.
703//
704// Disassociates an AWS RAM permission from a resource share.
705//
706// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
707// with awserr.Error's Code and Message methods to get detailed information about
708// the error.
709//
710// See the AWS API reference guide for AWS Resource Access Manager's
711// API operation DisassociateResourceSharePermission for usage and error information.
712//
713// Returned Error Codes:
714//   * ErrCodeMalformedArnException "MalformedArnException"
715//   The format of an Amazon Resource Name (ARN) is not valid.
716//
717//   * ErrCodeUnknownResourceException "UnknownResourceException"
718//   A specified resource was not found.
719//
720//   * ErrCodeInvalidParameterException "InvalidParameterException"
721//   A parameter is not valid.
722//
723//   * ErrCodeInvalidClientTokenException "InvalidClientTokenException"
724//   A client token is not valid.
725//
726//   * ErrCodeServerInternalException "ServerInternalException"
727//   The service could not respond to the request due to an internal problem.
728//
729//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
730//   The service is not available.
731//
732//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
733//   The requested operation is not permitted.
734//
735// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/DisassociateResourceSharePermission
736func (c *RAM) DisassociateResourceSharePermission(input *DisassociateResourceSharePermissionInput) (*DisassociateResourceSharePermissionOutput, error) {
737	req, out := c.DisassociateResourceSharePermissionRequest(input)
738	return out, req.Send()
739}
740
741// DisassociateResourceSharePermissionWithContext is the same as DisassociateResourceSharePermission with the addition of
742// the ability to pass a context and additional request options.
743//
744// See DisassociateResourceSharePermission for details on how to use this API operation.
745//
746// The context must be non-nil and will be used for request cancellation. If
747// the context is nil a panic will occur. In the future the SDK may create
748// sub-contexts for http.Requests. See https://golang.org/pkg/context/
749// for more information on using Contexts.
750func (c *RAM) DisassociateResourceSharePermissionWithContext(ctx aws.Context, input *DisassociateResourceSharePermissionInput, opts ...request.Option) (*DisassociateResourceSharePermissionOutput, error) {
751	req, out := c.DisassociateResourceSharePermissionRequest(input)
752	req.SetContext(ctx)
753	req.ApplyOptions(opts...)
754	return out, req.Send()
755}
756
757const opEnableSharingWithAwsOrganization = "EnableSharingWithAwsOrganization"
758
759// EnableSharingWithAwsOrganizationRequest generates a "aws/request.Request" representing the
760// client's request for the EnableSharingWithAwsOrganization operation. The "output" return
761// value will be populated with the request's response once the request completes
762// successfully.
763//
764// Use "Send" method on the returned Request to send the API call to the service.
765// the "output" return value is not valid until after Send returns without error.
766//
767// See EnableSharingWithAwsOrganization for more information on using the EnableSharingWithAwsOrganization
768// API call, and error handling.
769//
770// This method is useful when you want to inject custom logic or configuration
771// into the SDK's request lifecycle. Such as custom headers, or retry logic.
772//
773//
774//    // Example sending a request using the EnableSharingWithAwsOrganizationRequest method.
775//    req, resp := client.EnableSharingWithAwsOrganizationRequest(params)
776//
777//    err := req.Send()
778//    if err == nil { // resp is now filled
779//        fmt.Println(resp)
780//    }
781//
782// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/EnableSharingWithAwsOrganization
783func (c *RAM) EnableSharingWithAwsOrganizationRequest(input *EnableSharingWithAwsOrganizationInput) (req *request.Request, output *EnableSharingWithAwsOrganizationOutput) {
784	op := &request.Operation{
785		Name:       opEnableSharingWithAwsOrganization,
786		HTTPMethod: "POST",
787		HTTPPath:   "/enablesharingwithawsorganization",
788	}
789
790	if input == nil {
791		input = &EnableSharingWithAwsOrganizationInput{}
792	}
793
794	output = &EnableSharingWithAwsOrganizationOutput{}
795	req = c.newRequest(op, input, output)
796	return
797}
798
799// EnableSharingWithAwsOrganization API operation for AWS Resource Access Manager.
800//
801// Enables resource sharing within your AWS Organization.
802//
803// The caller must be the master account for the AWS Organization.
804//
805// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
806// with awserr.Error's Code and Message methods to get detailed information about
807// the error.
808//
809// See the AWS API reference guide for AWS Resource Access Manager's
810// API operation EnableSharingWithAwsOrganization for usage and error information.
811//
812// Returned Error Codes:
813//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
814//   The requested operation is not permitted.
815//
816//   * ErrCodeServerInternalException "ServerInternalException"
817//   The service could not respond to the request due to an internal problem.
818//
819//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
820//   The service is not available.
821//
822// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/EnableSharingWithAwsOrganization
823func (c *RAM) EnableSharingWithAwsOrganization(input *EnableSharingWithAwsOrganizationInput) (*EnableSharingWithAwsOrganizationOutput, error) {
824	req, out := c.EnableSharingWithAwsOrganizationRequest(input)
825	return out, req.Send()
826}
827
828// EnableSharingWithAwsOrganizationWithContext is the same as EnableSharingWithAwsOrganization with the addition of
829// the ability to pass a context and additional request options.
830//
831// See EnableSharingWithAwsOrganization for details on how to use this API operation.
832//
833// The context must be non-nil and will be used for request cancellation. If
834// the context is nil a panic will occur. In the future the SDK may create
835// sub-contexts for http.Requests. See https://golang.org/pkg/context/
836// for more information on using Contexts.
837func (c *RAM) EnableSharingWithAwsOrganizationWithContext(ctx aws.Context, input *EnableSharingWithAwsOrganizationInput, opts ...request.Option) (*EnableSharingWithAwsOrganizationOutput, error) {
838	req, out := c.EnableSharingWithAwsOrganizationRequest(input)
839	req.SetContext(ctx)
840	req.ApplyOptions(opts...)
841	return out, req.Send()
842}
843
844const opGetPermission = "GetPermission"
845
846// GetPermissionRequest generates a "aws/request.Request" representing the
847// client's request for the GetPermission operation. The "output" return
848// value will be populated with the request's response once the request completes
849// successfully.
850//
851// Use "Send" method on the returned Request to send the API call to the service.
852// the "output" return value is not valid until after Send returns without error.
853//
854// See GetPermission for more information on using the GetPermission
855// API call, and error handling.
856//
857// This method is useful when you want to inject custom logic or configuration
858// into the SDK's request lifecycle. Such as custom headers, or retry logic.
859//
860//
861//    // Example sending a request using the GetPermissionRequest method.
862//    req, resp := client.GetPermissionRequest(params)
863//
864//    err := req.Send()
865//    if err == nil { // resp is now filled
866//        fmt.Println(resp)
867//    }
868//
869// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetPermission
870func (c *RAM) GetPermissionRequest(input *GetPermissionInput) (req *request.Request, output *GetPermissionOutput) {
871	op := &request.Operation{
872		Name:       opGetPermission,
873		HTTPMethod: "POST",
874		HTTPPath:   "/getpermission",
875	}
876
877	if input == nil {
878		input = &GetPermissionInput{}
879	}
880
881	output = &GetPermissionOutput{}
882	req = c.newRequest(op, input, output)
883	return
884}
885
886// GetPermission API operation for AWS Resource Access Manager.
887//
888// Gets the contents of an AWS RAM permission in JSON format.
889//
890// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
891// with awserr.Error's Code and Message methods to get detailed information about
892// the error.
893//
894// See the AWS API reference guide for AWS Resource Access Manager's
895// API operation GetPermission for usage and error information.
896//
897// Returned Error Codes:
898//   * ErrCodeInvalidParameterException "InvalidParameterException"
899//   A parameter is not valid.
900//
901//   * ErrCodeMalformedArnException "MalformedArnException"
902//   The format of an Amazon Resource Name (ARN) is not valid.
903//
904//   * ErrCodeUnknownResourceException "UnknownResourceException"
905//   A specified resource was not found.
906//
907//   * ErrCodeServerInternalException "ServerInternalException"
908//   The service could not respond to the request due to an internal problem.
909//
910//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
911//   The service is not available.
912//
913//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
914//   The requested operation is not permitted.
915//
916// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetPermission
917func (c *RAM) GetPermission(input *GetPermissionInput) (*GetPermissionOutput, error) {
918	req, out := c.GetPermissionRequest(input)
919	return out, req.Send()
920}
921
922// GetPermissionWithContext is the same as GetPermission with the addition of
923// the ability to pass a context and additional request options.
924//
925// See GetPermission for details on how to use this API operation.
926//
927// The context must be non-nil and will be used for request cancellation. If
928// the context is nil a panic will occur. In the future the SDK may create
929// sub-contexts for http.Requests. See https://golang.org/pkg/context/
930// for more information on using Contexts.
931func (c *RAM) GetPermissionWithContext(ctx aws.Context, input *GetPermissionInput, opts ...request.Option) (*GetPermissionOutput, error) {
932	req, out := c.GetPermissionRequest(input)
933	req.SetContext(ctx)
934	req.ApplyOptions(opts...)
935	return out, req.Send()
936}
937
938const opGetResourcePolicies = "GetResourcePolicies"
939
940// GetResourcePoliciesRequest generates a "aws/request.Request" representing the
941// client's request for the GetResourcePolicies operation. The "output" return
942// value will be populated with the request's response once the request completes
943// successfully.
944//
945// Use "Send" method on the returned Request to send the API call to the service.
946// the "output" return value is not valid until after Send returns without error.
947//
948// See GetResourcePolicies for more information on using the GetResourcePolicies
949// API call, and error handling.
950//
951// This method is useful when you want to inject custom logic or configuration
952// into the SDK's request lifecycle. Such as custom headers, or retry logic.
953//
954//
955//    // Example sending a request using the GetResourcePoliciesRequest method.
956//    req, resp := client.GetResourcePoliciesRequest(params)
957//
958//    err := req.Send()
959//    if err == nil { // resp is now filled
960//        fmt.Println(resp)
961//    }
962//
963// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetResourcePolicies
964func (c *RAM) GetResourcePoliciesRequest(input *GetResourcePoliciesInput) (req *request.Request, output *GetResourcePoliciesOutput) {
965	op := &request.Operation{
966		Name:       opGetResourcePolicies,
967		HTTPMethod: "POST",
968		HTTPPath:   "/getresourcepolicies",
969		Paginator: &request.Paginator{
970			InputTokens:     []string{"nextToken"},
971			OutputTokens:    []string{"nextToken"},
972			LimitToken:      "maxResults",
973			TruncationToken: "",
974		},
975	}
976
977	if input == nil {
978		input = &GetResourcePoliciesInput{}
979	}
980
981	output = &GetResourcePoliciesOutput{}
982	req = c.newRequest(op, input, output)
983	return
984}
985
986// GetResourcePolicies API operation for AWS Resource Access Manager.
987//
988// Gets the policies for the specified resources that you own and have shared.
989//
990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
991// with awserr.Error's Code and Message methods to get detailed information about
992// the error.
993//
994// See the AWS API reference guide for AWS Resource Access Manager's
995// API operation GetResourcePolicies for usage and error information.
996//
997// Returned Error Codes:
998//   * ErrCodeMalformedArnException "MalformedArnException"
999//   The format of an Amazon Resource Name (ARN) is not valid.
1000//
1001//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
1002//   The specified value for NextToken is not valid.
1003//
1004//   * ErrCodeInvalidParameterException "InvalidParameterException"
1005//   A parameter is not valid.
1006//
1007//   * ErrCodeServerInternalException "ServerInternalException"
1008//   The service could not respond to the request due to an internal problem.
1009//
1010//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1011//   The service is not available.
1012//
1013// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetResourcePolicies
1014func (c *RAM) GetResourcePolicies(input *GetResourcePoliciesInput) (*GetResourcePoliciesOutput, error) {
1015	req, out := c.GetResourcePoliciesRequest(input)
1016	return out, req.Send()
1017}
1018
1019// GetResourcePoliciesWithContext is the same as GetResourcePolicies with the addition of
1020// the ability to pass a context and additional request options.
1021//
1022// See GetResourcePolicies for details on how to use this API operation.
1023//
1024// The context must be non-nil and will be used for request cancellation. If
1025// the context is nil a panic will occur. In the future the SDK may create
1026// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1027// for more information on using Contexts.
1028func (c *RAM) GetResourcePoliciesWithContext(ctx aws.Context, input *GetResourcePoliciesInput, opts ...request.Option) (*GetResourcePoliciesOutput, error) {
1029	req, out := c.GetResourcePoliciesRequest(input)
1030	req.SetContext(ctx)
1031	req.ApplyOptions(opts...)
1032	return out, req.Send()
1033}
1034
1035// GetResourcePoliciesPages iterates over the pages of a GetResourcePolicies operation,
1036// calling the "fn" function with the response data for each page. To stop
1037// iterating, return false from the fn function.
1038//
1039// See GetResourcePolicies method for more information on how to use this operation.
1040//
1041// Note: This operation can generate multiple requests to a service.
1042//
1043//    // Example iterating over at most 3 pages of a GetResourcePolicies operation.
1044//    pageNum := 0
1045//    err := client.GetResourcePoliciesPages(params,
1046//        func(page *ram.GetResourcePoliciesOutput, lastPage bool) bool {
1047//            pageNum++
1048//            fmt.Println(page)
1049//            return pageNum <= 3
1050//        })
1051//
1052func (c *RAM) GetResourcePoliciesPages(input *GetResourcePoliciesInput, fn func(*GetResourcePoliciesOutput, bool) bool) error {
1053	return c.GetResourcePoliciesPagesWithContext(aws.BackgroundContext(), input, fn)
1054}
1055
1056// GetResourcePoliciesPagesWithContext same as GetResourcePoliciesPages except
1057// it takes a Context and allows setting request options on the pages.
1058//
1059// The context must be non-nil and will be used for request cancellation. If
1060// the context is nil a panic will occur. In the future the SDK may create
1061// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1062// for more information on using Contexts.
1063func (c *RAM) GetResourcePoliciesPagesWithContext(ctx aws.Context, input *GetResourcePoliciesInput, fn func(*GetResourcePoliciesOutput, bool) bool, opts ...request.Option) error {
1064	p := request.Pagination{
1065		NewRequest: func() (*request.Request, error) {
1066			var inCpy *GetResourcePoliciesInput
1067			if input != nil {
1068				tmp := *input
1069				inCpy = &tmp
1070			}
1071			req, _ := c.GetResourcePoliciesRequest(inCpy)
1072			req.SetContext(ctx)
1073			req.ApplyOptions(opts...)
1074			return req, nil
1075		},
1076	}
1077
1078	for p.Next() {
1079		if !fn(p.Page().(*GetResourcePoliciesOutput), !p.HasNextPage()) {
1080			break
1081		}
1082	}
1083
1084	return p.Err()
1085}
1086
1087const opGetResourceShareAssociations = "GetResourceShareAssociations"
1088
1089// GetResourceShareAssociationsRequest generates a "aws/request.Request" representing the
1090// client's request for the GetResourceShareAssociations operation. The "output" return
1091// value will be populated with the request's response once the request completes
1092// successfully.
1093//
1094// Use "Send" method on the returned Request to send the API call to the service.
1095// the "output" return value is not valid until after Send returns without error.
1096//
1097// See GetResourceShareAssociations for more information on using the GetResourceShareAssociations
1098// API call, and error handling.
1099//
1100// This method is useful when you want to inject custom logic or configuration
1101// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1102//
1103//
1104//    // Example sending a request using the GetResourceShareAssociationsRequest method.
1105//    req, resp := client.GetResourceShareAssociationsRequest(params)
1106//
1107//    err := req.Send()
1108//    if err == nil { // resp is now filled
1109//        fmt.Println(resp)
1110//    }
1111//
1112// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetResourceShareAssociations
1113func (c *RAM) GetResourceShareAssociationsRequest(input *GetResourceShareAssociationsInput) (req *request.Request, output *GetResourceShareAssociationsOutput) {
1114	op := &request.Operation{
1115		Name:       opGetResourceShareAssociations,
1116		HTTPMethod: "POST",
1117		HTTPPath:   "/getresourceshareassociations",
1118		Paginator: &request.Paginator{
1119			InputTokens:     []string{"nextToken"},
1120			OutputTokens:    []string{"nextToken"},
1121			LimitToken:      "maxResults",
1122			TruncationToken: "",
1123		},
1124	}
1125
1126	if input == nil {
1127		input = &GetResourceShareAssociationsInput{}
1128	}
1129
1130	output = &GetResourceShareAssociationsOutput{}
1131	req = c.newRequest(op, input, output)
1132	return
1133}
1134
1135// GetResourceShareAssociations API operation for AWS Resource Access Manager.
1136//
1137// Gets the resources or principals for the resource shares that you own.
1138//
1139// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1140// with awserr.Error's Code and Message methods to get detailed information about
1141// the error.
1142//
1143// See the AWS API reference guide for AWS Resource Access Manager's
1144// API operation GetResourceShareAssociations for usage and error information.
1145//
1146// Returned Error Codes:
1147//   * ErrCodeUnknownResourceException "UnknownResourceException"
1148//   A specified resource was not found.
1149//
1150//   * ErrCodeMalformedArnException "MalformedArnException"
1151//   The format of an Amazon Resource Name (ARN) is not valid.
1152//
1153//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
1154//   The specified value for NextToken is not valid.
1155//
1156//   * ErrCodeInvalidParameterException "InvalidParameterException"
1157//   A parameter is not valid.
1158//
1159//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
1160//   The requested operation is not permitted.
1161//
1162//   * ErrCodeServerInternalException "ServerInternalException"
1163//   The service could not respond to the request due to an internal problem.
1164//
1165//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1166//   The service is not available.
1167//
1168// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetResourceShareAssociations
1169func (c *RAM) GetResourceShareAssociations(input *GetResourceShareAssociationsInput) (*GetResourceShareAssociationsOutput, error) {
1170	req, out := c.GetResourceShareAssociationsRequest(input)
1171	return out, req.Send()
1172}
1173
1174// GetResourceShareAssociationsWithContext is the same as GetResourceShareAssociations with the addition of
1175// the ability to pass a context and additional request options.
1176//
1177// See GetResourceShareAssociations for details on how to use this API operation.
1178//
1179// The context must be non-nil and will be used for request cancellation. If
1180// the context is nil a panic will occur. In the future the SDK may create
1181// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1182// for more information on using Contexts.
1183func (c *RAM) GetResourceShareAssociationsWithContext(ctx aws.Context, input *GetResourceShareAssociationsInput, opts ...request.Option) (*GetResourceShareAssociationsOutput, error) {
1184	req, out := c.GetResourceShareAssociationsRequest(input)
1185	req.SetContext(ctx)
1186	req.ApplyOptions(opts...)
1187	return out, req.Send()
1188}
1189
1190// GetResourceShareAssociationsPages iterates over the pages of a GetResourceShareAssociations operation,
1191// calling the "fn" function with the response data for each page. To stop
1192// iterating, return false from the fn function.
1193//
1194// See GetResourceShareAssociations method for more information on how to use this operation.
1195//
1196// Note: This operation can generate multiple requests to a service.
1197//
1198//    // Example iterating over at most 3 pages of a GetResourceShareAssociations operation.
1199//    pageNum := 0
1200//    err := client.GetResourceShareAssociationsPages(params,
1201//        func(page *ram.GetResourceShareAssociationsOutput, lastPage bool) bool {
1202//            pageNum++
1203//            fmt.Println(page)
1204//            return pageNum <= 3
1205//        })
1206//
1207func (c *RAM) GetResourceShareAssociationsPages(input *GetResourceShareAssociationsInput, fn func(*GetResourceShareAssociationsOutput, bool) bool) error {
1208	return c.GetResourceShareAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
1209}
1210
1211// GetResourceShareAssociationsPagesWithContext same as GetResourceShareAssociationsPages except
1212// it takes a Context and allows setting request options on the pages.
1213//
1214// The context must be non-nil and will be used for request cancellation. If
1215// the context is nil a panic will occur. In the future the SDK may create
1216// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1217// for more information on using Contexts.
1218func (c *RAM) GetResourceShareAssociationsPagesWithContext(ctx aws.Context, input *GetResourceShareAssociationsInput, fn func(*GetResourceShareAssociationsOutput, bool) bool, opts ...request.Option) error {
1219	p := request.Pagination{
1220		NewRequest: func() (*request.Request, error) {
1221			var inCpy *GetResourceShareAssociationsInput
1222			if input != nil {
1223				tmp := *input
1224				inCpy = &tmp
1225			}
1226			req, _ := c.GetResourceShareAssociationsRequest(inCpy)
1227			req.SetContext(ctx)
1228			req.ApplyOptions(opts...)
1229			return req, nil
1230		},
1231	}
1232
1233	for p.Next() {
1234		if !fn(p.Page().(*GetResourceShareAssociationsOutput), !p.HasNextPage()) {
1235			break
1236		}
1237	}
1238
1239	return p.Err()
1240}
1241
1242const opGetResourceShareInvitations = "GetResourceShareInvitations"
1243
1244// GetResourceShareInvitationsRequest generates a "aws/request.Request" representing the
1245// client's request for the GetResourceShareInvitations operation. The "output" return
1246// value will be populated with the request's response once the request completes
1247// successfully.
1248//
1249// Use "Send" method on the returned Request to send the API call to the service.
1250// the "output" return value is not valid until after Send returns without error.
1251//
1252// See GetResourceShareInvitations for more information on using the GetResourceShareInvitations
1253// API call, and error handling.
1254//
1255// This method is useful when you want to inject custom logic or configuration
1256// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1257//
1258//
1259//    // Example sending a request using the GetResourceShareInvitationsRequest method.
1260//    req, resp := client.GetResourceShareInvitationsRequest(params)
1261//
1262//    err := req.Send()
1263//    if err == nil { // resp is now filled
1264//        fmt.Println(resp)
1265//    }
1266//
1267// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetResourceShareInvitations
1268func (c *RAM) GetResourceShareInvitationsRequest(input *GetResourceShareInvitationsInput) (req *request.Request, output *GetResourceShareInvitationsOutput) {
1269	op := &request.Operation{
1270		Name:       opGetResourceShareInvitations,
1271		HTTPMethod: "POST",
1272		HTTPPath:   "/getresourceshareinvitations",
1273		Paginator: &request.Paginator{
1274			InputTokens:     []string{"nextToken"},
1275			OutputTokens:    []string{"nextToken"},
1276			LimitToken:      "maxResults",
1277			TruncationToken: "",
1278		},
1279	}
1280
1281	if input == nil {
1282		input = &GetResourceShareInvitationsInput{}
1283	}
1284
1285	output = &GetResourceShareInvitationsOutput{}
1286	req = c.newRequest(op, input, output)
1287	return
1288}
1289
1290// GetResourceShareInvitations API operation for AWS Resource Access Manager.
1291//
1292// Gets the invitations for resource sharing that you've received.
1293//
1294// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1295// with awserr.Error's Code and Message methods to get detailed information about
1296// the error.
1297//
1298// See the AWS API reference guide for AWS Resource Access Manager's
1299// API operation GetResourceShareInvitations for usage and error information.
1300//
1301// Returned Error Codes:
1302//   * ErrCodeResourceShareInvitationArnNotFoundException "ResourceShareInvitationArnNotFoundException"
1303//   The Amazon Resource Name (ARN) for an invitation was not found.
1304//
1305//   * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException"
1306//   The specified value for MaxResults is not valid.
1307//
1308//   * ErrCodeMalformedArnException "MalformedArnException"
1309//   The format of an Amazon Resource Name (ARN) is not valid.
1310//
1311//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
1312//   The specified value for NextToken is not valid.
1313//
1314//   * ErrCodeInvalidParameterException "InvalidParameterException"
1315//   A parameter is not valid.
1316//
1317//   * ErrCodeServerInternalException "ServerInternalException"
1318//   The service could not respond to the request due to an internal problem.
1319//
1320//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1321//   The service is not available.
1322//
1323// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetResourceShareInvitations
1324func (c *RAM) GetResourceShareInvitations(input *GetResourceShareInvitationsInput) (*GetResourceShareInvitationsOutput, error) {
1325	req, out := c.GetResourceShareInvitationsRequest(input)
1326	return out, req.Send()
1327}
1328
1329// GetResourceShareInvitationsWithContext is the same as GetResourceShareInvitations with the addition of
1330// the ability to pass a context and additional request options.
1331//
1332// See GetResourceShareInvitations for details on how to use this API operation.
1333//
1334// The context must be non-nil and will be used for request cancellation. If
1335// the context is nil a panic will occur. In the future the SDK may create
1336// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1337// for more information on using Contexts.
1338func (c *RAM) GetResourceShareInvitationsWithContext(ctx aws.Context, input *GetResourceShareInvitationsInput, opts ...request.Option) (*GetResourceShareInvitationsOutput, error) {
1339	req, out := c.GetResourceShareInvitationsRequest(input)
1340	req.SetContext(ctx)
1341	req.ApplyOptions(opts...)
1342	return out, req.Send()
1343}
1344
1345// GetResourceShareInvitationsPages iterates over the pages of a GetResourceShareInvitations operation,
1346// calling the "fn" function with the response data for each page. To stop
1347// iterating, return false from the fn function.
1348//
1349// See GetResourceShareInvitations method for more information on how to use this operation.
1350//
1351// Note: This operation can generate multiple requests to a service.
1352//
1353//    // Example iterating over at most 3 pages of a GetResourceShareInvitations operation.
1354//    pageNum := 0
1355//    err := client.GetResourceShareInvitationsPages(params,
1356//        func(page *ram.GetResourceShareInvitationsOutput, lastPage bool) bool {
1357//            pageNum++
1358//            fmt.Println(page)
1359//            return pageNum <= 3
1360//        })
1361//
1362func (c *RAM) GetResourceShareInvitationsPages(input *GetResourceShareInvitationsInput, fn func(*GetResourceShareInvitationsOutput, bool) bool) error {
1363	return c.GetResourceShareInvitationsPagesWithContext(aws.BackgroundContext(), input, fn)
1364}
1365
1366// GetResourceShareInvitationsPagesWithContext same as GetResourceShareInvitationsPages except
1367// it takes a Context and allows setting request options on the pages.
1368//
1369// The context must be non-nil and will be used for request cancellation. If
1370// the context is nil a panic will occur. In the future the SDK may create
1371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1372// for more information on using Contexts.
1373func (c *RAM) GetResourceShareInvitationsPagesWithContext(ctx aws.Context, input *GetResourceShareInvitationsInput, fn func(*GetResourceShareInvitationsOutput, bool) bool, opts ...request.Option) error {
1374	p := request.Pagination{
1375		NewRequest: func() (*request.Request, error) {
1376			var inCpy *GetResourceShareInvitationsInput
1377			if input != nil {
1378				tmp := *input
1379				inCpy = &tmp
1380			}
1381			req, _ := c.GetResourceShareInvitationsRequest(inCpy)
1382			req.SetContext(ctx)
1383			req.ApplyOptions(opts...)
1384			return req, nil
1385		},
1386	}
1387
1388	for p.Next() {
1389		if !fn(p.Page().(*GetResourceShareInvitationsOutput), !p.HasNextPage()) {
1390			break
1391		}
1392	}
1393
1394	return p.Err()
1395}
1396
1397const opGetResourceShares = "GetResourceShares"
1398
1399// GetResourceSharesRequest generates a "aws/request.Request" representing the
1400// client's request for the GetResourceShares operation. The "output" return
1401// value will be populated with the request's response once the request completes
1402// successfully.
1403//
1404// Use "Send" method on the returned Request to send the API call to the service.
1405// the "output" return value is not valid until after Send returns without error.
1406//
1407// See GetResourceShares for more information on using the GetResourceShares
1408// API call, and error handling.
1409//
1410// This method is useful when you want to inject custom logic or configuration
1411// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1412//
1413//
1414//    // Example sending a request using the GetResourceSharesRequest method.
1415//    req, resp := client.GetResourceSharesRequest(params)
1416//
1417//    err := req.Send()
1418//    if err == nil { // resp is now filled
1419//        fmt.Println(resp)
1420//    }
1421//
1422// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetResourceShares
1423func (c *RAM) GetResourceSharesRequest(input *GetResourceSharesInput) (req *request.Request, output *GetResourceSharesOutput) {
1424	op := &request.Operation{
1425		Name:       opGetResourceShares,
1426		HTTPMethod: "POST",
1427		HTTPPath:   "/getresourceshares",
1428		Paginator: &request.Paginator{
1429			InputTokens:     []string{"nextToken"},
1430			OutputTokens:    []string{"nextToken"},
1431			LimitToken:      "maxResults",
1432			TruncationToken: "",
1433		},
1434	}
1435
1436	if input == nil {
1437		input = &GetResourceSharesInput{}
1438	}
1439
1440	output = &GetResourceSharesOutput{}
1441	req = c.newRequest(op, input, output)
1442	return
1443}
1444
1445// GetResourceShares API operation for AWS Resource Access Manager.
1446//
1447// Gets the resource shares that you own or the resource shares that are shared
1448// with you.
1449//
1450// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1451// with awserr.Error's Code and Message methods to get detailed information about
1452// the error.
1453//
1454// See the AWS API reference guide for AWS Resource Access Manager's
1455// API operation GetResourceShares for usage and error information.
1456//
1457// Returned Error Codes:
1458//   * ErrCodeUnknownResourceException "UnknownResourceException"
1459//   A specified resource was not found.
1460//
1461//   * ErrCodeMalformedArnException "MalformedArnException"
1462//   The format of an Amazon Resource Name (ARN) is not valid.
1463//
1464//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
1465//   The specified value for NextToken is not valid.
1466//
1467//   * ErrCodeInvalidParameterException "InvalidParameterException"
1468//   A parameter is not valid.
1469//
1470//   * ErrCodeServerInternalException "ServerInternalException"
1471//   The service could not respond to the request due to an internal problem.
1472//
1473//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1474//   The service is not available.
1475//
1476// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetResourceShares
1477func (c *RAM) GetResourceShares(input *GetResourceSharesInput) (*GetResourceSharesOutput, error) {
1478	req, out := c.GetResourceSharesRequest(input)
1479	return out, req.Send()
1480}
1481
1482// GetResourceSharesWithContext is the same as GetResourceShares with the addition of
1483// the ability to pass a context and additional request options.
1484//
1485// See GetResourceShares for details on how to use this API operation.
1486//
1487// The context must be non-nil and will be used for request cancellation. If
1488// the context is nil a panic will occur. In the future the SDK may create
1489// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1490// for more information on using Contexts.
1491func (c *RAM) GetResourceSharesWithContext(ctx aws.Context, input *GetResourceSharesInput, opts ...request.Option) (*GetResourceSharesOutput, error) {
1492	req, out := c.GetResourceSharesRequest(input)
1493	req.SetContext(ctx)
1494	req.ApplyOptions(opts...)
1495	return out, req.Send()
1496}
1497
1498// GetResourceSharesPages iterates over the pages of a GetResourceShares operation,
1499// calling the "fn" function with the response data for each page. To stop
1500// iterating, return false from the fn function.
1501//
1502// See GetResourceShares method for more information on how to use this operation.
1503//
1504// Note: This operation can generate multiple requests to a service.
1505//
1506//    // Example iterating over at most 3 pages of a GetResourceShares operation.
1507//    pageNum := 0
1508//    err := client.GetResourceSharesPages(params,
1509//        func(page *ram.GetResourceSharesOutput, lastPage bool) bool {
1510//            pageNum++
1511//            fmt.Println(page)
1512//            return pageNum <= 3
1513//        })
1514//
1515func (c *RAM) GetResourceSharesPages(input *GetResourceSharesInput, fn func(*GetResourceSharesOutput, bool) bool) error {
1516	return c.GetResourceSharesPagesWithContext(aws.BackgroundContext(), input, fn)
1517}
1518
1519// GetResourceSharesPagesWithContext same as GetResourceSharesPages except
1520// it takes a Context and allows setting request options on the pages.
1521//
1522// The context must be non-nil and will be used for request cancellation. If
1523// the context is nil a panic will occur. In the future the SDK may create
1524// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1525// for more information on using Contexts.
1526func (c *RAM) GetResourceSharesPagesWithContext(ctx aws.Context, input *GetResourceSharesInput, fn func(*GetResourceSharesOutput, bool) bool, opts ...request.Option) error {
1527	p := request.Pagination{
1528		NewRequest: func() (*request.Request, error) {
1529			var inCpy *GetResourceSharesInput
1530			if input != nil {
1531				tmp := *input
1532				inCpy = &tmp
1533			}
1534			req, _ := c.GetResourceSharesRequest(inCpy)
1535			req.SetContext(ctx)
1536			req.ApplyOptions(opts...)
1537			return req, nil
1538		},
1539	}
1540
1541	for p.Next() {
1542		if !fn(p.Page().(*GetResourceSharesOutput), !p.HasNextPage()) {
1543			break
1544		}
1545	}
1546
1547	return p.Err()
1548}
1549
1550const opListPendingInvitationResources = "ListPendingInvitationResources"
1551
1552// ListPendingInvitationResourcesRequest generates a "aws/request.Request" representing the
1553// client's request for the ListPendingInvitationResources operation. The "output" return
1554// value will be populated with the request's response once the request completes
1555// successfully.
1556//
1557// Use "Send" method on the returned Request to send the API call to the service.
1558// the "output" return value is not valid until after Send returns without error.
1559//
1560// See ListPendingInvitationResources for more information on using the ListPendingInvitationResources
1561// API call, and error handling.
1562//
1563// This method is useful when you want to inject custom logic or configuration
1564// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1565//
1566//
1567//    // Example sending a request using the ListPendingInvitationResourcesRequest method.
1568//    req, resp := client.ListPendingInvitationResourcesRequest(params)
1569//
1570//    err := req.Send()
1571//    if err == nil { // resp is now filled
1572//        fmt.Println(resp)
1573//    }
1574//
1575// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPendingInvitationResources
1576func (c *RAM) ListPendingInvitationResourcesRequest(input *ListPendingInvitationResourcesInput) (req *request.Request, output *ListPendingInvitationResourcesOutput) {
1577	op := &request.Operation{
1578		Name:       opListPendingInvitationResources,
1579		HTTPMethod: "POST",
1580		HTTPPath:   "/listpendinginvitationresources",
1581		Paginator: &request.Paginator{
1582			InputTokens:     []string{"nextToken"},
1583			OutputTokens:    []string{"nextToken"},
1584			LimitToken:      "maxResults",
1585			TruncationToken: "",
1586		},
1587	}
1588
1589	if input == nil {
1590		input = &ListPendingInvitationResourcesInput{}
1591	}
1592
1593	output = &ListPendingInvitationResourcesOutput{}
1594	req = c.newRequest(op, input, output)
1595	return
1596}
1597
1598// ListPendingInvitationResources API operation for AWS Resource Access Manager.
1599//
1600// Lists the resources in a resource share that is shared with you but that
1601// the invitation is still pending for.
1602//
1603// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1604// with awserr.Error's Code and Message methods to get detailed information about
1605// the error.
1606//
1607// See the AWS API reference guide for AWS Resource Access Manager's
1608// API operation ListPendingInvitationResources for usage and error information.
1609//
1610// Returned Error Codes:
1611//   * ErrCodeMalformedArnException "MalformedArnException"
1612//   The format of an Amazon Resource Name (ARN) is not valid.
1613//
1614//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
1615//   The specified value for NextToken is not valid.
1616//
1617//   * ErrCodeInvalidParameterException "InvalidParameterException"
1618//   A parameter is not valid.
1619//
1620//   * ErrCodeServerInternalException "ServerInternalException"
1621//   The service could not respond to the request due to an internal problem.
1622//
1623//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1624//   The service is not available.
1625//
1626//   * ErrCodeResourceShareInvitationArnNotFoundException "ResourceShareInvitationArnNotFoundException"
1627//   The Amazon Resource Name (ARN) for an invitation was not found.
1628//
1629//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
1630//   A required input parameter is missing.
1631//
1632//   * ErrCodeResourceShareInvitationAlreadyRejectedException "ResourceShareInvitationAlreadyRejectedException"
1633//   The invitation was already rejected.
1634//
1635//   * ErrCodeResourceShareInvitationExpiredException "ResourceShareInvitationExpiredException"
1636//   The invitation is expired.
1637//
1638// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPendingInvitationResources
1639func (c *RAM) ListPendingInvitationResources(input *ListPendingInvitationResourcesInput) (*ListPendingInvitationResourcesOutput, error) {
1640	req, out := c.ListPendingInvitationResourcesRequest(input)
1641	return out, req.Send()
1642}
1643
1644// ListPendingInvitationResourcesWithContext is the same as ListPendingInvitationResources with the addition of
1645// the ability to pass a context and additional request options.
1646//
1647// See ListPendingInvitationResources for details on how to use this API operation.
1648//
1649// The context must be non-nil and will be used for request cancellation. If
1650// the context is nil a panic will occur. In the future the SDK may create
1651// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1652// for more information on using Contexts.
1653func (c *RAM) ListPendingInvitationResourcesWithContext(ctx aws.Context, input *ListPendingInvitationResourcesInput, opts ...request.Option) (*ListPendingInvitationResourcesOutput, error) {
1654	req, out := c.ListPendingInvitationResourcesRequest(input)
1655	req.SetContext(ctx)
1656	req.ApplyOptions(opts...)
1657	return out, req.Send()
1658}
1659
1660// ListPendingInvitationResourcesPages iterates over the pages of a ListPendingInvitationResources operation,
1661// calling the "fn" function with the response data for each page. To stop
1662// iterating, return false from the fn function.
1663//
1664// See ListPendingInvitationResources method for more information on how to use this operation.
1665//
1666// Note: This operation can generate multiple requests to a service.
1667//
1668//    // Example iterating over at most 3 pages of a ListPendingInvitationResources operation.
1669//    pageNum := 0
1670//    err := client.ListPendingInvitationResourcesPages(params,
1671//        func(page *ram.ListPendingInvitationResourcesOutput, lastPage bool) bool {
1672//            pageNum++
1673//            fmt.Println(page)
1674//            return pageNum <= 3
1675//        })
1676//
1677func (c *RAM) ListPendingInvitationResourcesPages(input *ListPendingInvitationResourcesInput, fn func(*ListPendingInvitationResourcesOutput, bool) bool) error {
1678	return c.ListPendingInvitationResourcesPagesWithContext(aws.BackgroundContext(), input, fn)
1679}
1680
1681// ListPendingInvitationResourcesPagesWithContext same as ListPendingInvitationResourcesPages except
1682// it takes a Context and allows setting request options on the pages.
1683//
1684// The context must be non-nil and will be used for request cancellation. If
1685// the context is nil a panic will occur. In the future the SDK may create
1686// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1687// for more information on using Contexts.
1688func (c *RAM) ListPendingInvitationResourcesPagesWithContext(ctx aws.Context, input *ListPendingInvitationResourcesInput, fn func(*ListPendingInvitationResourcesOutput, bool) bool, opts ...request.Option) error {
1689	p := request.Pagination{
1690		NewRequest: func() (*request.Request, error) {
1691			var inCpy *ListPendingInvitationResourcesInput
1692			if input != nil {
1693				tmp := *input
1694				inCpy = &tmp
1695			}
1696			req, _ := c.ListPendingInvitationResourcesRequest(inCpy)
1697			req.SetContext(ctx)
1698			req.ApplyOptions(opts...)
1699			return req, nil
1700		},
1701	}
1702
1703	for p.Next() {
1704		if !fn(p.Page().(*ListPendingInvitationResourcesOutput), !p.HasNextPage()) {
1705			break
1706		}
1707	}
1708
1709	return p.Err()
1710}
1711
1712const opListPermissions = "ListPermissions"
1713
1714// ListPermissionsRequest generates a "aws/request.Request" representing the
1715// client's request for the ListPermissions operation. The "output" return
1716// value will be populated with the request's response once the request completes
1717// successfully.
1718//
1719// Use "Send" method on the returned Request to send the API call to the service.
1720// the "output" return value is not valid until after Send returns without error.
1721//
1722// See ListPermissions for more information on using the ListPermissions
1723// API call, and error handling.
1724//
1725// This method is useful when you want to inject custom logic or configuration
1726// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1727//
1728//
1729//    // Example sending a request using the ListPermissionsRequest method.
1730//    req, resp := client.ListPermissionsRequest(params)
1731//
1732//    err := req.Send()
1733//    if err == nil { // resp is now filled
1734//        fmt.Println(resp)
1735//    }
1736//
1737// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPermissions
1738func (c *RAM) ListPermissionsRequest(input *ListPermissionsInput) (req *request.Request, output *ListPermissionsOutput) {
1739	op := &request.Operation{
1740		Name:       opListPermissions,
1741		HTTPMethod: "POST",
1742		HTTPPath:   "/listpermissions",
1743	}
1744
1745	if input == nil {
1746		input = &ListPermissionsInput{}
1747	}
1748
1749	output = &ListPermissionsOutput{}
1750	req = c.newRequest(op, input, output)
1751	return
1752}
1753
1754// ListPermissions API operation for AWS Resource Access Manager.
1755//
1756// Lists the AWS RAM permissions.
1757//
1758// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1759// with awserr.Error's Code and Message methods to get detailed information about
1760// the error.
1761//
1762// See the AWS API reference guide for AWS Resource Access Manager's
1763// API operation ListPermissions for usage and error information.
1764//
1765// Returned Error Codes:
1766//   * ErrCodeInvalidParameterException "InvalidParameterException"
1767//   A parameter is not valid.
1768//
1769//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
1770//   The specified value for NextToken is not valid.
1771//
1772//   * ErrCodeServerInternalException "ServerInternalException"
1773//   The service could not respond to the request due to an internal problem.
1774//
1775//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1776//   The service is not available.
1777//
1778//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
1779//   The requested operation is not permitted.
1780//
1781// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPermissions
1782func (c *RAM) ListPermissions(input *ListPermissionsInput) (*ListPermissionsOutput, error) {
1783	req, out := c.ListPermissionsRequest(input)
1784	return out, req.Send()
1785}
1786
1787// ListPermissionsWithContext is the same as ListPermissions with the addition of
1788// the ability to pass a context and additional request options.
1789//
1790// See ListPermissions for details on how to use this API operation.
1791//
1792// The context must be non-nil and will be used for request cancellation. If
1793// the context is nil a panic will occur. In the future the SDK may create
1794// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1795// for more information on using Contexts.
1796func (c *RAM) ListPermissionsWithContext(ctx aws.Context, input *ListPermissionsInput, opts ...request.Option) (*ListPermissionsOutput, error) {
1797	req, out := c.ListPermissionsRequest(input)
1798	req.SetContext(ctx)
1799	req.ApplyOptions(opts...)
1800	return out, req.Send()
1801}
1802
1803const opListPrincipals = "ListPrincipals"
1804
1805// ListPrincipalsRequest generates a "aws/request.Request" representing the
1806// client's request for the ListPrincipals operation. The "output" return
1807// value will be populated with the request's response once the request completes
1808// successfully.
1809//
1810// Use "Send" method on the returned Request to send the API call to the service.
1811// the "output" return value is not valid until after Send returns without error.
1812//
1813// See ListPrincipals for more information on using the ListPrincipals
1814// API call, and error handling.
1815//
1816// This method is useful when you want to inject custom logic or configuration
1817// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1818//
1819//
1820//    // Example sending a request using the ListPrincipalsRequest method.
1821//    req, resp := client.ListPrincipalsRequest(params)
1822//
1823//    err := req.Send()
1824//    if err == nil { // resp is now filled
1825//        fmt.Println(resp)
1826//    }
1827//
1828// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPrincipals
1829func (c *RAM) ListPrincipalsRequest(input *ListPrincipalsInput) (req *request.Request, output *ListPrincipalsOutput) {
1830	op := &request.Operation{
1831		Name:       opListPrincipals,
1832		HTTPMethod: "POST",
1833		HTTPPath:   "/listprincipals",
1834		Paginator: &request.Paginator{
1835			InputTokens:     []string{"nextToken"},
1836			OutputTokens:    []string{"nextToken"},
1837			LimitToken:      "maxResults",
1838			TruncationToken: "",
1839		},
1840	}
1841
1842	if input == nil {
1843		input = &ListPrincipalsInput{}
1844	}
1845
1846	output = &ListPrincipalsOutput{}
1847	req = c.newRequest(op, input, output)
1848	return
1849}
1850
1851// ListPrincipals API operation for AWS Resource Access Manager.
1852//
1853// Lists the principals that you have shared resources with or that have shared
1854// resources with you.
1855//
1856// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1857// with awserr.Error's Code and Message methods to get detailed information about
1858// the error.
1859//
1860// See the AWS API reference guide for AWS Resource Access Manager's
1861// API operation ListPrincipals for usage and error information.
1862//
1863// Returned Error Codes:
1864//   * ErrCodeMalformedArnException "MalformedArnException"
1865//   The format of an Amazon Resource Name (ARN) is not valid.
1866//
1867//   * ErrCodeUnknownResourceException "UnknownResourceException"
1868//   A specified resource was not found.
1869//
1870//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
1871//   The specified value for NextToken is not valid.
1872//
1873//   * ErrCodeInvalidParameterException "InvalidParameterException"
1874//   A parameter is not valid.
1875//
1876//   * ErrCodeServerInternalException "ServerInternalException"
1877//   The service could not respond to the request due to an internal problem.
1878//
1879//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1880//   The service is not available.
1881//
1882// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPrincipals
1883func (c *RAM) ListPrincipals(input *ListPrincipalsInput) (*ListPrincipalsOutput, error) {
1884	req, out := c.ListPrincipalsRequest(input)
1885	return out, req.Send()
1886}
1887
1888// ListPrincipalsWithContext is the same as ListPrincipals with the addition of
1889// the ability to pass a context and additional request options.
1890//
1891// See ListPrincipals for details on how to use this API operation.
1892//
1893// The context must be non-nil and will be used for request cancellation. If
1894// the context is nil a panic will occur. In the future the SDK may create
1895// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1896// for more information on using Contexts.
1897func (c *RAM) ListPrincipalsWithContext(ctx aws.Context, input *ListPrincipalsInput, opts ...request.Option) (*ListPrincipalsOutput, error) {
1898	req, out := c.ListPrincipalsRequest(input)
1899	req.SetContext(ctx)
1900	req.ApplyOptions(opts...)
1901	return out, req.Send()
1902}
1903
1904// ListPrincipalsPages iterates over the pages of a ListPrincipals operation,
1905// calling the "fn" function with the response data for each page. To stop
1906// iterating, return false from the fn function.
1907//
1908// See ListPrincipals method for more information on how to use this operation.
1909//
1910// Note: This operation can generate multiple requests to a service.
1911//
1912//    // Example iterating over at most 3 pages of a ListPrincipals operation.
1913//    pageNum := 0
1914//    err := client.ListPrincipalsPages(params,
1915//        func(page *ram.ListPrincipalsOutput, lastPage bool) bool {
1916//            pageNum++
1917//            fmt.Println(page)
1918//            return pageNum <= 3
1919//        })
1920//
1921func (c *RAM) ListPrincipalsPages(input *ListPrincipalsInput, fn func(*ListPrincipalsOutput, bool) bool) error {
1922	return c.ListPrincipalsPagesWithContext(aws.BackgroundContext(), input, fn)
1923}
1924
1925// ListPrincipalsPagesWithContext same as ListPrincipalsPages except
1926// it takes a Context and allows setting request options on the pages.
1927//
1928// The context must be non-nil and will be used for request cancellation. If
1929// the context is nil a panic will occur. In the future the SDK may create
1930// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1931// for more information on using Contexts.
1932func (c *RAM) ListPrincipalsPagesWithContext(ctx aws.Context, input *ListPrincipalsInput, fn func(*ListPrincipalsOutput, bool) bool, opts ...request.Option) error {
1933	p := request.Pagination{
1934		NewRequest: func() (*request.Request, error) {
1935			var inCpy *ListPrincipalsInput
1936			if input != nil {
1937				tmp := *input
1938				inCpy = &tmp
1939			}
1940			req, _ := c.ListPrincipalsRequest(inCpy)
1941			req.SetContext(ctx)
1942			req.ApplyOptions(opts...)
1943			return req, nil
1944		},
1945	}
1946
1947	for p.Next() {
1948		if !fn(p.Page().(*ListPrincipalsOutput), !p.HasNextPage()) {
1949			break
1950		}
1951	}
1952
1953	return p.Err()
1954}
1955
1956const opListResourceSharePermissions = "ListResourceSharePermissions"
1957
1958// ListResourceSharePermissionsRequest generates a "aws/request.Request" representing the
1959// client's request for the ListResourceSharePermissions operation. The "output" return
1960// value will be populated with the request's response once the request completes
1961// successfully.
1962//
1963// Use "Send" method on the returned Request to send the API call to the service.
1964// the "output" return value is not valid until after Send returns without error.
1965//
1966// See ListResourceSharePermissions for more information on using the ListResourceSharePermissions
1967// API call, and error handling.
1968//
1969// This method is useful when you want to inject custom logic or configuration
1970// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1971//
1972//
1973//    // Example sending a request using the ListResourceSharePermissionsRequest method.
1974//    req, resp := client.ListResourceSharePermissionsRequest(params)
1975//
1976//    err := req.Send()
1977//    if err == nil { // resp is now filled
1978//        fmt.Println(resp)
1979//    }
1980//
1981// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListResourceSharePermissions
1982func (c *RAM) ListResourceSharePermissionsRequest(input *ListResourceSharePermissionsInput) (req *request.Request, output *ListResourceSharePermissionsOutput) {
1983	op := &request.Operation{
1984		Name:       opListResourceSharePermissions,
1985		HTTPMethod: "POST",
1986		HTTPPath:   "/listresourcesharepermissions",
1987	}
1988
1989	if input == nil {
1990		input = &ListResourceSharePermissionsInput{}
1991	}
1992
1993	output = &ListResourceSharePermissionsOutput{}
1994	req = c.newRequest(op, input, output)
1995	return
1996}
1997
1998// ListResourceSharePermissions API operation for AWS Resource Access Manager.
1999//
2000// Lists the AWS RAM permissions that are associated with a resource share.
2001//
2002// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2003// with awserr.Error's Code and Message methods to get detailed information about
2004// the error.
2005//
2006// See the AWS API reference guide for AWS Resource Access Manager's
2007// API operation ListResourceSharePermissions for usage and error information.
2008//
2009// Returned Error Codes:
2010//   * ErrCodeInvalidParameterException "InvalidParameterException"
2011//   A parameter is not valid.
2012//
2013//   * ErrCodeMalformedArnException "MalformedArnException"
2014//   The format of an Amazon Resource Name (ARN) is not valid.
2015//
2016//   * ErrCodeUnknownResourceException "UnknownResourceException"
2017//   A specified resource was not found.
2018//
2019//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
2020//   The specified value for NextToken is not valid.
2021//
2022//   * ErrCodeServerInternalException "ServerInternalException"
2023//   The service could not respond to the request due to an internal problem.
2024//
2025//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2026//   The service is not available.
2027//
2028//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
2029//   The requested operation is not permitted.
2030//
2031// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListResourceSharePermissions
2032func (c *RAM) ListResourceSharePermissions(input *ListResourceSharePermissionsInput) (*ListResourceSharePermissionsOutput, error) {
2033	req, out := c.ListResourceSharePermissionsRequest(input)
2034	return out, req.Send()
2035}
2036
2037// ListResourceSharePermissionsWithContext is the same as ListResourceSharePermissions with the addition of
2038// the ability to pass a context and additional request options.
2039//
2040// See ListResourceSharePermissions for details on how to use this API operation.
2041//
2042// The context must be non-nil and will be used for request cancellation. If
2043// the context is nil a panic will occur. In the future the SDK may create
2044// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2045// for more information on using Contexts.
2046func (c *RAM) ListResourceSharePermissionsWithContext(ctx aws.Context, input *ListResourceSharePermissionsInput, opts ...request.Option) (*ListResourceSharePermissionsOutput, error) {
2047	req, out := c.ListResourceSharePermissionsRequest(input)
2048	req.SetContext(ctx)
2049	req.ApplyOptions(opts...)
2050	return out, req.Send()
2051}
2052
2053const opListResources = "ListResources"
2054
2055// ListResourcesRequest generates a "aws/request.Request" representing the
2056// client's request for the ListResources operation. The "output" return
2057// value will be populated with the request's response once the request completes
2058// successfully.
2059//
2060// Use "Send" method on the returned Request to send the API call to the service.
2061// the "output" return value is not valid until after Send returns without error.
2062//
2063// See ListResources for more information on using the ListResources
2064// API call, and error handling.
2065//
2066// This method is useful when you want to inject custom logic or configuration
2067// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2068//
2069//
2070//    // Example sending a request using the ListResourcesRequest method.
2071//    req, resp := client.ListResourcesRequest(params)
2072//
2073//    err := req.Send()
2074//    if err == nil { // resp is now filled
2075//        fmt.Println(resp)
2076//    }
2077//
2078// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListResources
2079func (c *RAM) ListResourcesRequest(input *ListResourcesInput) (req *request.Request, output *ListResourcesOutput) {
2080	op := &request.Operation{
2081		Name:       opListResources,
2082		HTTPMethod: "POST",
2083		HTTPPath:   "/listresources",
2084		Paginator: &request.Paginator{
2085			InputTokens:     []string{"nextToken"},
2086			OutputTokens:    []string{"nextToken"},
2087			LimitToken:      "maxResults",
2088			TruncationToken: "",
2089		},
2090	}
2091
2092	if input == nil {
2093		input = &ListResourcesInput{}
2094	}
2095
2096	output = &ListResourcesOutput{}
2097	req = c.newRequest(op, input, output)
2098	return
2099}
2100
2101// ListResources API operation for AWS Resource Access Manager.
2102//
2103// Lists the resources that you added to a resource shares or the resources
2104// that are shared with you.
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 ListResources for usage and error information.
2112//
2113// Returned Error Codes:
2114//   * ErrCodeInvalidResourceTypeException "InvalidResourceTypeException"
2115//   The specified resource type is not valid.
2116//
2117//   * ErrCodeUnknownResourceException "UnknownResourceException"
2118//   A specified resource was not found.
2119//
2120//   * ErrCodeMalformedArnException "MalformedArnException"
2121//   The format of an Amazon Resource Name (ARN) is not valid.
2122//
2123//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
2124//   The specified value for NextToken is not valid.
2125//
2126//   * ErrCodeInvalidParameterException "InvalidParameterException"
2127//   A parameter is not valid.
2128//
2129//   * ErrCodeServerInternalException "ServerInternalException"
2130//   The service could not respond to the request due to an internal problem.
2131//
2132//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2133//   The service is not available.
2134//
2135// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListResources
2136func (c *RAM) ListResources(input *ListResourcesInput) (*ListResourcesOutput, error) {
2137	req, out := c.ListResourcesRequest(input)
2138	return out, req.Send()
2139}
2140
2141// ListResourcesWithContext is the same as ListResources with the addition of
2142// the ability to pass a context and additional request options.
2143//
2144// See ListResources for details on how to use this API operation.
2145//
2146// The context must be non-nil and will be used for request cancellation. If
2147// the context is nil a panic will occur. In the future the SDK may create
2148// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2149// for more information on using Contexts.
2150func (c *RAM) ListResourcesWithContext(ctx aws.Context, input *ListResourcesInput, opts ...request.Option) (*ListResourcesOutput, error) {
2151	req, out := c.ListResourcesRequest(input)
2152	req.SetContext(ctx)
2153	req.ApplyOptions(opts...)
2154	return out, req.Send()
2155}
2156
2157// ListResourcesPages iterates over the pages of a ListResources operation,
2158// calling the "fn" function with the response data for each page. To stop
2159// iterating, return false from the fn function.
2160//
2161// See ListResources method for more information on how to use this operation.
2162//
2163// Note: This operation can generate multiple requests to a service.
2164//
2165//    // Example iterating over at most 3 pages of a ListResources operation.
2166//    pageNum := 0
2167//    err := client.ListResourcesPages(params,
2168//        func(page *ram.ListResourcesOutput, lastPage bool) bool {
2169//            pageNum++
2170//            fmt.Println(page)
2171//            return pageNum <= 3
2172//        })
2173//
2174func (c *RAM) ListResourcesPages(input *ListResourcesInput, fn func(*ListResourcesOutput, bool) bool) error {
2175	return c.ListResourcesPagesWithContext(aws.BackgroundContext(), input, fn)
2176}
2177
2178// ListResourcesPagesWithContext same as ListResourcesPages except
2179// it takes a Context and allows setting request options on the pages.
2180//
2181// The context must be non-nil and will be used for request cancellation. If
2182// the context is nil a panic will occur. In the future the SDK may create
2183// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2184// for more information on using Contexts.
2185func (c *RAM) ListResourcesPagesWithContext(ctx aws.Context, input *ListResourcesInput, fn func(*ListResourcesOutput, bool) bool, opts ...request.Option) error {
2186	p := request.Pagination{
2187		NewRequest: func() (*request.Request, error) {
2188			var inCpy *ListResourcesInput
2189			if input != nil {
2190				tmp := *input
2191				inCpy = &tmp
2192			}
2193			req, _ := c.ListResourcesRequest(inCpy)
2194			req.SetContext(ctx)
2195			req.ApplyOptions(opts...)
2196			return req, nil
2197		},
2198	}
2199
2200	for p.Next() {
2201		if !fn(p.Page().(*ListResourcesOutput), !p.HasNextPage()) {
2202			break
2203		}
2204	}
2205
2206	return p.Err()
2207}
2208
2209const opPromoteResourceShareCreatedFromPolicy = "PromoteResourceShareCreatedFromPolicy"
2210
2211// PromoteResourceShareCreatedFromPolicyRequest generates a "aws/request.Request" representing the
2212// client's request for the PromoteResourceShareCreatedFromPolicy operation. The "output" return
2213// value will be populated with the request's response once the request completes
2214// successfully.
2215//
2216// Use "Send" method on the returned Request to send the API call to the service.
2217// the "output" return value is not valid until after Send returns without error.
2218//
2219// See PromoteResourceShareCreatedFromPolicy for more information on using the PromoteResourceShareCreatedFromPolicy
2220// API call, and error handling.
2221//
2222// This method is useful when you want to inject custom logic or configuration
2223// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2224//
2225//
2226//    // Example sending a request using the PromoteResourceShareCreatedFromPolicyRequest method.
2227//    req, resp := client.PromoteResourceShareCreatedFromPolicyRequest(params)
2228//
2229//    err := req.Send()
2230//    if err == nil { // resp is now filled
2231//        fmt.Println(resp)
2232//    }
2233//
2234// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/PromoteResourceShareCreatedFromPolicy
2235func (c *RAM) PromoteResourceShareCreatedFromPolicyRequest(input *PromoteResourceShareCreatedFromPolicyInput) (req *request.Request, output *PromoteResourceShareCreatedFromPolicyOutput) {
2236	op := &request.Operation{
2237		Name:       opPromoteResourceShareCreatedFromPolicy,
2238		HTTPMethod: "POST",
2239		HTTPPath:   "/promoteresourcesharecreatedfrompolicy",
2240	}
2241
2242	if input == nil {
2243		input = &PromoteResourceShareCreatedFromPolicyInput{}
2244	}
2245
2246	output = &PromoteResourceShareCreatedFromPolicyOutput{}
2247	req = c.newRequest(op, input, output)
2248	return
2249}
2250
2251// PromoteResourceShareCreatedFromPolicy API operation for AWS Resource Access Manager.
2252//
2253// Resource shares that were created by attaching a policy to a resource are
2254// visible only to the resource share owner, and the resource share cannot be
2255// modified in AWS RAM.
2256//
2257// Use this API action to promote the resource share. When you promote the resource
2258// share, it becomes:
2259//
2260//    * Visible to all principals that it is shared with.
2261//
2262//    * Modifiable in AWS RAM.
2263//
2264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2265// with awserr.Error's Code and Message methods to get detailed information about
2266// the error.
2267//
2268// See the AWS API reference guide for AWS Resource Access Manager's
2269// API operation PromoteResourceShareCreatedFromPolicy for usage and error information.
2270//
2271// Returned Error Codes:
2272//   * ErrCodeMalformedArnException "MalformedArnException"
2273//   The format of an Amazon Resource Name (ARN) is not valid.
2274//
2275//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
2276//   The requested operation is not permitted.
2277//
2278//   * ErrCodeInvalidParameterException "InvalidParameterException"
2279//   A parameter is not valid.
2280//
2281//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
2282//   A required input parameter is missing.
2283//
2284//   * ErrCodeServerInternalException "ServerInternalException"
2285//   The service could not respond to the request due to an internal problem.
2286//
2287//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2288//   The service is not available.
2289//
2290// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/PromoteResourceShareCreatedFromPolicy
2291func (c *RAM) PromoteResourceShareCreatedFromPolicy(input *PromoteResourceShareCreatedFromPolicyInput) (*PromoteResourceShareCreatedFromPolicyOutput, error) {
2292	req, out := c.PromoteResourceShareCreatedFromPolicyRequest(input)
2293	return out, req.Send()
2294}
2295
2296// PromoteResourceShareCreatedFromPolicyWithContext is the same as PromoteResourceShareCreatedFromPolicy with the addition of
2297// the ability to pass a context and additional request options.
2298//
2299// See PromoteResourceShareCreatedFromPolicy for details on how to use this API operation.
2300//
2301// The context must be non-nil and will be used for request cancellation. If
2302// the context is nil a panic will occur. In the future the SDK may create
2303// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2304// for more information on using Contexts.
2305func (c *RAM) PromoteResourceShareCreatedFromPolicyWithContext(ctx aws.Context, input *PromoteResourceShareCreatedFromPolicyInput, opts ...request.Option) (*PromoteResourceShareCreatedFromPolicyOutput, error) {
2306	req, out := c.PromoteResourceShareCreatedFromPolicyRequest(input)
2307	req.SetContext(ctx)
2308	req.ApplyOptions(opts...)
2309	return out, req.Send()
2310}
2311
2312const opRejectResourceShareInvitation = "RejectResourceShareInvitation"
2313
2314// RejectResourceShareInvitationRequest generates a "aws/request.Request" representing the
2315// client's request for the RejectResourceShareInvitation operation. The "output" return
2316// value will be populated with the request's response once the request completes
2317// successfully.
2318//
2319// Use "Send" method on the returned Request to send the API call to the service.
2320// the "output" return value is not valid until after Send returns without error.
2321//
2322// See RejectResourceShareInvitation for more information on using the RejectResourceShareInvitation
2323// API call, and error handling.
2324//
2325// This method is useful when you want to inject custom logic or configuration
2326// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2327//
2328//
2329//    // Example sending a request using the RejectResourceShareInvitationRequest method.
2330//    req, resp := client.RejectResourceShareInvitationRequest(params)
2331//
2332//    err := req.Send()
2333//    if err == nil { // resp is now filled
2334//        fmt.Println(resp)
2335//    }
2336//
2337// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/RejectResourceShareInvitation
2338func (c *RAM) RejectResourceShareInvitationRequest(input *RejectResourceShareInvitationInput) (req *request.Request, output *RejectResourceShareInvitationOutput) {
2339	op := &request.Operation{
2340		Name:       opRejectResourceShareInvitation,
2341		HTTPMethod: "POST",
2342		HTTPPath:   "/rejectresourceshareinvitation",
2343	}
2344
2345	if input == nil {
2346		input = &RejectResourceShareInvitationInput{}
2347	}
2348
2349	output = &RejectResourceShareInvitationOutput{}
2350	req = c.newRequest(op, input, output)
2351	return
2352}
2353
2354// RejectResourceShareInvitation API operation for AWS Resource Access Manager.
2355//
2356// Rejects an invitation to a resource share from another AWS account.
2357//
2358// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2359// with awserr.Error's Code and Message methods to get detailed information about
2360// the error.
2361//
2362// See the AWS API reference guide for AWS Resource Access Manager's
2363// API operation RejectResourceShareInvitation for usage and error information.
2364//
2365// Returned Error Codes:
2366//   * ErrCodeMalformedArnException "MalformedArnException"
2367//   The format of an Amazon Resource Name (ARN) is not valid.
2368//
2369//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
2370//   The requested operation is not permitted.
2371//
2372//   * ErrCodeResourceShareInvitationArnNotFoundException "ResourceShareInvitationArnNotFoundException"
2373//   The Amazon Resource Name (ARN) for an invitation was not found.
2374//
2375//   * ErrCodeResourceShareInvitationAlreadyAcceptedException "ResourceShareInvitationAlreadyAcceptedException"
2376//   The invitation was already accepted.
2377//
2378//   * ErrCodeResourceShareInvitationAlreadyRejectedException "ResourceShareInvitationAlreadyRejectedException"
2379//   The invitation was already rejected.
2380//
2381//   * ErrCodeResourceShareInvitationExpiredException "ResourceShareInvitationExpiredException"
2382//   The invitation is expired.
2383//
2384//   * ErrCodeServerInternalException "ServerInternalException"
2385//   The service could not respond to the request due to an internal problem.
2386//
2387//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2388//   The service is not available.
2389//
2390//   * ErrCodeInvalidClientTokenException "InvalidClientTokenException"
2391//   A client token is not valid.
2392//
2393//   * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
2394//   A client token input parameter was reused with an operation, but at least
2395//   one of the other input parameters is different from the previous call to
2396//   the operation.
2397//
2398// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/RejectResourceShareInvitation
2399func (c *RAM) RejectResourceShareInvitation(input *RejectResourceShareInvitationInput) (*RejectResourceShareInvitationOutput, error) {
2400	req, out := c.RejectResourceShareInvitationRequest(input)
2401	return out, req.Send()
2402}
2403
2404// RejectResourceShareInvitationWithContext is the same as RejectResourceShareInvitation with the addition of
2405// the ability to pass a context and additional request options.
2406//
2407// See RejectResourceShareInvitation for details on how to use this API operation.
2408//
2409// The context must be non-nil and will be used for request cancellation. If
2410// the context is nil a panic will occur. In the future the SDK may create
2411// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2412// for more information on using Contexts.
2413func (c *RAM) RejectResourceShareInvitationWithContext(ctx aws.Context, input *RejectResourceShareInvitationInput, opts ...request.Option) (*RejectResourceShareInvitationOutput, error) {
2414	req, out := c.RejectResourceShareInvitationRequest(input)
2415	req.SetContext(ctx)
2416	req.ApplyOptions(opts...)
2417	return out, req.Send()
2418}
2419
2420const opTagResource = "TagResource"
2421
2422// TagResourceRequest generates a "aws/request.Request" representing the
2423// client's request for the TagResource operation. The "output" return
2424// value will be populated with the request's response once the request completes
2425// successfully.
2426//
2427// Use "Send" method on the returned Request to send the API call to the service.
2428// the "output" return value is not valid until after Send returns without error.
2429//
2430// See TagResource for more information on using the TagResource
2431// API call, and error handling.
2432//
2433// This method is useful when you want to inject custom logic or configuration
2434// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2435//
2436//
2437//    // Example sending a request using the TagResourceRequest method.
2438//    req, resp := client.TagResourceRequest(params)
2439//
2440//    err := req.Send()
2441//    if err == nil { // resp is now filled
2442//        fmt.Println(resp)
2443//    }
2444//
2445// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/TagResource
2446func (c *RAM) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2447	op := &request.Operation{
2448		Name:       opTagResource,
2449		HTTPMethod: "POST",
2450		HTTPPath:   "/tagresource",
2451	}
2452
2453	if input == nil {
2454		input = &TagResourceInput{}
2455	}
2456
2457	output = &TagResourceOutput{}
2458	req = c.newRequest(op, input, output)
2459	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2460	return
2461}
2462
2463// TagResource API operation for AWS Resource Access Manager.
2464//
2465// Adds the specified tags to the specified resource share that you own.
2466//
2467// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2468// with awserr.Error's Code and Message methods to get detailed information about
2469// the error.
2470//
2471// See the AWS API reference guide for AWS Resource Access Manager's
2472// API operation TagResource for usage and error information.
2473//
2474// Returned Error Codes:
2475//   * ErrCodeInvalidParameterException "InvalidParameterException"
2476//   A parameter is not valid.
2477//
2478//   * ErrCodeMalformedArnException "MalformedArnException"
2479//   The format of an Amazon Resource Name (ARN) is not valid.
2480//
2481//   * ErrCodeTagLimitExceededException "TagLimitExceededException"
2482//   The requested tags exceed the limit for your account.
2483//
2484//   * ErrCodeResourceArnNotFoundException "ResourceArnNotFoundException"
2485//   An Amazon Resource Name (ARN) was not found.
2486//
2487//   * ErrCodeTagPolicyViolationException "TagPolicyViolationException"
2488//   The specified tag is a reserved word and cannot be used.
2489//
2490//   * ErrCodeServerInternalException "ServerInternalException"
2491//   The service could not respond to the request due to an internal problem.
2492//
2493//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2494//   The service is not available.
2495//
2496// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/TagResource
2497func (c *RAM) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2498	req, out := c.TagResourceRequest(input)
2499	return out, req.Send()
2500}
2501
2502// TagResourceWithContext is the same as TagResource with the addition of
2503// the ability to pass a context and additional request options.
2504//
2505// See TagResource 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) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2512	req, out := c.TagResourceRequest(input)
2513	req.SetContext(ctx)
2514	req.ApplyOptions(opts...)
2515	return out, req.Send()
2516}
2517
2518const opUntagResource = "UntagResource"
2519
2520// UntagResourceRequest generates a "aws/request.Request" representing the
2521// client's request for the UntagResource 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 UntagResource for more information on using the UntagResource
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 UntagResourceRequest method.
2536//    req, resp := client.UntagResourceRequest(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/UntagResource
2544func (c *RAM) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2545	op := &request.Operation{
2546		Name:       opUntagResource,
2547		HTTPMethod: "POST",
2548		HTTPPath:   "/untagresource",
2549	}
2550
2551	if input == nil {
2552		input = &UntagResourceInput{}
2553	}
2554
2555	output = &UntagResourceOutput{}
2556	req = c.newRequest(op, input, output)
2557	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2558	return
2559}
2560
2561// UntagResource API operation for AWS Resource Access Manager.
2562//
2563// Removes the specified tags from 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 UntagResource for usage and error information.
2571//
2572// Returned Error Codes:
2573//   * ErrCodeInvalidParameterException "InvalidParameterException"
2574//   A parameter is not valid.
2575//
2576//   * ErrCodeServerInternalException "ServerInternalException"
2577//   The service could not respond to the request due to an internal problem.
2578//
2579//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2580//   The service is not available.
2581//
2582// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/UntagResource
2583func (c *RAM) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2584	req, out := c.UntagResourceRequest(input)
2585	return out, req.Send()
2586}
2587
2588// UntagResourceWithContext is the same as UntagResource with the addition of
2589// the ability to pass a context and additional request options.
2590//
2591// See UntagResource for details on how to use this API operation.
2592//
2593// The context must be non-nil and will be used for request cancellation. If
2594// the context is nil a panic will occur. In the future the SDK may create
2595// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2596// for more information on using Contexts.
2597func (c *RAM) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2598	req, out := c.UntagResourceRequest(input)
2599	req.SetContext(ctx)
2600	req.ApplyOptions(opts...)
2601	return out, req.Send()
2602}
2603
2604const opUpdateResourceShare = "UpdateResourceShare"
2605
2606// UpdateResourceShareRequest generates a "aws/request.Request" representing the
2607// client's request for the UpdateResourceShare operation. The "output" return
2608// value will be populated with the request's response once the request completes
2609// successfully.
2610//
2611// Use "Send" method on the returned Request to send the API call to the service.
2612// the "output" return value is not valid until after Send returns without error.
2613//
2614// See UpdateResourceShare for more information on using the UpdateResourceShare
2615// API call, and error handling.
2616//
2617// This method is useful when you want to inject custom logic or configuration
2618// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2619//
2620//
2621//    // Example sending a request using the UpdateResourceShareRequest method.
2622//    req, resp := client.UpdateResourceShareRequest(params)
2623//
2624//    err := req.Send()
2625//    if err == nil { // resp is now filled
2626//        fmt.Println(resp)
2627//    }
2628//
2629// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/UpdateResourceShare
2630func (c *RAM) UpdateResourceShareRequest(input *UpdateResourceShareInput) (req *request.Request, output *UpdateResourceShareOutput) {
2631	op := &request.Operation{
2632		Name:       opUpdateResourceShare,
2633		HTTPMethod: "POST",
2634		HTTPPath:   "/updateresourceshare",
2635	}
2636
2637	if input == nil {
2638		input = &UpdateResourceShareInput{}
2639	}
2640
2641	output = &UpdateResourceShareOutput{}
2642	req = c.newRequest(op, input, output)
2643	return
2644}
2645
2646// UpdateResourceShare API operation for AWS Resource Access Manager.
2647//
2648// Updates the specified resource share that you own.
2649//
2650// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2651// with awserr.Error's Code and Message methods to get detailed information about
2652// the error.
2653//
2654// See the AWS API reference guide for AWS Resource Access Manager's
2655// API operation UpdateResourceShare for usage and error information.
2656//
2657// Returned Error Codes:
2658//   * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
2659//   A client token input parameter was reused with an operation, but at least
2660//   one of the other input parameters is different from the previous call to
2661//   the operation.
2662//
2663//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
2664//   A required input parameter is missing.
2665//
2666//   * ErrCodeUnknownResourceException "UnknownResourceException"
2667//   A specified resource was not found.
2668//
2669//   * ErrCodeMalformedArnException "MalformedArnException"
2670//   The format of an Amazon Resource Name (ARN) is not valid.
2671//
2672//   * ErrCodeInvalidClientTokenException "InvalidClientTokenException"
2673//   A client token is not valid.
2674//
2675//   * ErrCodeInvalidParameterException "InvalidParameterException"
2676//   A parameter is not valid.
2677//
2678//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
2679//   The requested operation is not permitted.
2680//
2681//   * ErrCodeServerInternalException "ServerInternalException"
2682//   The service could not respond to the request due to an internal problem.
2683//
2684//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2685//   The service is not available.
2686//
2687// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/UpdateResourceShare
2688func (c *RAM) UpdateResourceShare(input *UpdateResourceShareInput) (*UpdateResourceShareOutput, error) {
2689	req, out := c.UpdateResourceShareRequest(input)
2690	return out, req.Send()
2691}
2692
2693// UpdateResourceShareWithContext is the same as UpdateResourceShare with the addition of
2694// the ability to pass a context and additional request options.
2695//
2696// See UpdateResourceShare for details on how to use this API operation.
2697//
2698// The context must be non-nil and will be used for request cancellation. If
2699// the context is nil a panic will occur. In the future the SDK may create
2700// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2701// for more information on using Contexts.
2702func (c *RAM) UpdateResourceShareWithContext(ctx aws.Context, input *UpdateResourceShareInput, opts ...request.Option) (*UpdateResourceShareOutput, error) {
2703	req, out := c.UpdateResourceShareRequest(input)
2704	req.SetContext(ctx)
2705	req.ApplyOptions(opts...)
2706	return out, req.Send()
2707}
2708
2709type AcceptResourceShareInvitationInput struct {
2710	_ struct{} `type:"structure"`
2711
2712	// A unique, case-sensitive identifier that you provide to ensure the idempotency
2713	// of the request.
2714	ClientToken *string `locationName:"clientToken" type:"string"`
2715
2716	// The Amazon Resource Name (ARN) of the invitation.
2717	//
2718	// ResourceShareInvitationArn is a required field
2719	ResourceShareInvitationArn *string `locationName:"resourceShareInvitationArn" type:"string" required:"true"`
2720}
2721
2722// String returns the string representation
2723func (s AcceptResourceShareInvitationInput) String() string {
2724	return awsutil.Prettify(s)
2725}
2726
2727// GoString returns the string representation
2728func (s AcceptResourceShareInvitationInput) GoString() string {
2729	return s.String()
2730}
2731
2732// Validate inspects the fields of the type to determine if they are valid.
2733func (s *AcceptResourceShareInvitationInput) Validate() error {
2734	invalidParams := request.ErrInvalidParams{Context: "AcceptResourceShareInvitationInput"}
2735	if s.ResourceShareInvitationArn == nil {
2736		invalidParams.Add(request.NewErrParamRequired("ResourceShareInvitationArn"))
2737	}
2738
2739	if invalidParams.Len() > 0 {
2740		return invalidParams
2741	}
2742	return nil
2743}
2744
2745// SetClientToken sets the ClientToken field's value.
2746func (s *AcceptResourceShareInvitationInput) SetClientToken(v string) *AcceptResourceShareInvitationInput {
2747	s.ClientToken = &v
2748	return s
2749}
2750
2751// SetResourceShareInvitationArn sets the ResourceShareInvitationArn field's value.
2752func (s *AcceptResourceShareInvitationInput) SetResourceShareInvitationArn(v string) *AcceptResourceShareInvitationInput {
2753	s.ResourceShareInvitationArn = &v
2754	return s
2755}
2756
2757type AcceptResourceShareInvitationOutput struct {
2758	_ struct{} `type:"structure"`
2759
2760	// A unique, case-sensitive identifier that you provide to ensure the idempotency
2761	// of the request.
2762	ClientToken *string `locationName:"clientToken" type:"string"`
2763
2764	// Information about the invitation.
2765	ResourceShareInvitation *ResourceShareInvitation `locationName:"resourceShareInvitation" type:"structure"`
2766}
2767
2768// String returns the string representation
2769func (s AcceptResourceShareInvitationOutput) String() string {
2770	return awsutil.Prettify(s)
2771}
2772
2773// GoString returns the string representation
2774func (s AcceptResourceShareInvitationOutput) GoString() string {
2775	return s.String()
2776}
2777
2778// SetClientToken sets the ClientToken field's value.
2779func (s *AcceptResourceShareInvitationOutput) SetClientToken(v string) *AcceptResourceShareInvitationOutput {
2780	s.ClientToken = &v
2781	return s
2782}
2783
2784// SetResourceShareInvitation sets the ResourceShareInvitation field's value.
2785func (s *AcceptResourceShareInvitationOutput) SetResourceShareInvitation(v *ResourceShareInvitation) *AcceptResourceShareInvitationOutput {
2786	s.ResourceShareInvitation = v
2787	return s
2788}
2789
2790type AssociateResourceShareInput struct {
2791	_ struct{} `type:"structure"`
2792
2793	// A unique, case-sensitive identifier that you provide to ensure the idempotency
2794	// of the request.
2795	ClientToken *string `locationName:"clientToken" type:"string"`
2796
2797	// The principals.
2798	Principals []*string `locationName:"principals" type:"list"`
2799
2800	// The Amazon Resource Names (ARN) of the resources.
2801	ResourceArns []*string `locationName:"resourceArns" type:"list"`
2802
2803	// The Amazon Resource Name (ARN) of the resource share.
2804	//
2805	// ResourceShareArn is a required field
2806	ResourceShareArn *string `locationName:"resourceShareArn" type:"string" required:"true"`
2807}
2808
2809// String returns the string representation
2810func (s AssociateResourceShareInput) String() string {
2811	return awsutil.Prettify(s)
2812}
2813
2814// GoString returns the string representation
2815func (s AssociateResourceShareInput) GoString() string {
2816	return s.String()
2817}
2818
2819// Validate inspects the fields of the type to determine if they are valid.
2820func (s *AssociateResourceShareInput) Validate() error {
2821	invalidParams := request.ErrInvalidParams{Context: "AssociateResourceShareInput"}
2822	if s.ResourceShareArn == nil {
2823		invalidParams.Add(request.NewErrParamRequired("ResourceShareArn"))
2824	}
2825
2826	if invalidParams.Len() > 0 {
2827		return invalidParams
2828	}
2829	return nil
2830}
2831
2832// SetClientToken sets the ClientToken field's value.
2833func (s *AssociateResourceShareInput) SetClientToken(v string) *AssociateResourceShareInput {
2834	s.ClientToken = &v
2835	return s
2836}
2837
2838// SetPrincipals sets the Principals field's value.
2839func (s *AssociateResourceShareInput) SetPrincipals(v []*string) *AssociateResourceShareInput {
2840	s.Principals = v
2841	return s
2842}
2843
2844// SetResourceArns sets the ResourceArns field's value.
2845func (s *AssociateResourceShareInput) SetResourceArns(v []*string) *AssociateResourceShareInput {
2846	s.ResourceArns = v
2847	return s
2848}
2849
2850// SetResourceShareArn sets the ResourceShareArn field's value.
2851func (s *AssociateResourceShareInput) SetResourceShareArn(v string) *AssociateResourceShareInput {
2852	s.ResourceShareArn = &v
2853	return s
2854}
2855
2856type AssociateResourceShareOutput struct {
2857	_ struct{} `type:"structure"`
2858
2859	// A unique, case-sensitive identifier that you provide to ensure the idempotency
2860	// of the request.
2861	ClientToken *string `locationName:"clientToken" type:"string"`
2862
2863	// Information about the associations.
2864	ResourceShareAssociations []*ResourceShareAssociation `locationName:"resourceShareAssociations" type:"list"`
2865}
2866
2867// String returns the string representation
2868func (s AssociateResourceShareOutput) String() string {
2869	return awsutil.Prettify(s)
2870}
2871
2872// GoString returns the string representation
2873func (s AssociateResourceShareOutput) GoString() string {
2874	return s.String()
2875}
2876
2877// SetClientToken sets the ClientToken field's value.
2878func (s *AssociateResourceShareOutput) SetClientToken(v string) *AssociateResourceShareOutput {
2879	s.ClientToken = &v
2880	return s
2881}
2882
2883// SetResourceShareAssociations sets the ResourceShareAssociations field's value.
2884func (s *AssociateResourceShareOutput) SetResourceShareAssociations(v []*ResourceShareAssociation) *AssociateResourceShareOutput {
2885	s.ResourceShareAssociations = v
2886	return s
2887}
2888
2889type AssociateResourceSharePermissionInput struct {
2890	_ struct{} `type:"structure"`
2891
2892	// A unique, case-sensitive identifier that you provide to ensure the idempotency
2893	// of the request.
2894	ClientToken *string `locationName:"clientToken" type:"string"`
2895
2896	// The ARN of the AWS RAM permission to associate with the resource share.
2897	//
2898	// PermissionArn is a required field
2899	PermissionArn *string `locationName:"permissionArn" type:"string" required:"true"`
2900
2901	// Indicates whether the permission should replace the permissions that are
2902	// currently associated with the resource share. Use true to replace the current
2903	// permissions. Use false to add the permission to the current permission.
2904	Replace *bool `locationName:"replace" type:"boolean"`
2905
2906	// The Amazon Resource Name (ARN) of the resource share.
2907	//
2908	// ResourceShareArn is a required field
2909	ResourceShareArn *string `locationName:"resourceShareArn" type:"string" required:"true"`
2910}
2911
2912// String returns the string representation
2913func (s AssociateResourceSharePermissionInput) String() string {
2914	return awsutil.Prettify(s)
2915}
2916
2917// GoString returns the string representation
2918func (s AssociateResourceSharePermissionInput) GoString() string {
2919	return s.String()
2920}
2921
2922// Validate inspects the fields of the type to determine if they are valid.
2923func (s *AssociateResourceSharePermissionInput) Validate() error {
2924	invalidParams := request.ErrInvalidParams{Context: "AssociateResourceSharePermissionInput"}
2925	if s.PermissionArn == nil {
2926		invalidParams.Add(request.NewErrParamRequired("PermissionArn"))
2927	}
2928	if s.ResourceShareArn == nil {
2929		invalidParams.Add(request.NewErrParamRequired("ResourceShareArn"))
2930	}
2931
2932	if invalidParams.Len() > 0 {
2933		return invalidParams
2934	}
2935	return nil
2936}
2937
2938// SetClientToken sets the ClientToken field's value.
2939func (s *AssociateResourceSharePermissionInput) SetClientToken(v string) *AssociateResourceSharePermissionInput {
2940	s.ClientToken = &v
2941	return s
2942}
2943
2944// SetPermissionArn sets the PermissionArn field's value.
2945func (s *AssociateResourceSharePermissionInput) SetPermissionArn(v string) *AssociateResourceSharePermissionInput {
2946	s.PermissionArn = &v
2947	return s
2948}
2949
2950// SetReplace sets the Replace field's value.
2951func (s *AssociateResourceSharePermissionInput) SetReplace(v bool) *AssociateResourceSharePermissionInput {
2952	s.Replace = &v
2953	return s
2954}
2955
2956// SetResourceShareArn sets the ResourceShareArn field's value.
2957func (s *AssociateResourceSharePermissionInput) SetResourceShareArn(v string) *AssociateResourceSharePermissionInput {
2958	s.ResourceShareArn = &v
2959	return s
2960}
2961
2962type AssociateResourceSharePermissionOutput struct {
2963	_ struct{} `type:"structure"`
2964
2965	// A unique, case-sensitive identifier that you provide to ensure the idempotency
2966	// of the request.
2967	ClientToken *string `locationName:"clientToken" type:"string"`
2968
2969	// Indicates whether the request succeeded.
2970	ReturnValue *bool `locationName:"returnValue" type:"boolean"`
2971}
2972
2973// String returns the string representation
2974func (s AssociateResourceSharePermissionOutput) String() string {
2975	return awsutil.Prettify(s)
2976}
2977
2978// GoString returns the string representation
2979func (s AssociateResourceSharePermissionOutput) GoString() string {
2980	return s.String()
2981}
2982
2983// SetClientToken sets the ClientToken field's value.
2984func (s *AssociateResourceSharePermissionOutput) SetClientToken(v string) *AssociateResourceSharePermissionOutput {
2985	s.ClientToken = &v
2986	return s
2987}
2988
2989// SetReturnValue sets the ReturnValue field's value.
2990func (s *AssociateResourceSharePermissionOutput) SetReturnValue(v bool) *AssociateResourceSharePermissionOutput {
2991	s.ReturnValue = &v
2992	return s
2993}
2994
2995type CreateResourceShareInput struct {
2996	_ struct{} `type:"structure"`
2997
2998	// Indicates whether principals outside your AWS organization can be associated
2999	// with a resource share.
3000	AllowExternalPrincipals *bool `locationName:"allowExternalPrincipals" type:"boolean"`
3001
3002	// A unique, case-sensitive identifier that you provide to ensure the idempotency
3003	// of the request.
3004	ClientToken *string `locationName:"clientToken" type:"string"`
3005
3006	// The name of the resource share.
3007	//
3008	// Name is a required field
3009	Name *string `locationName:"name" type:"string" required:"true"`
3010
3011	// The ARNs of the permissions to associate with the resource share. If you
3012	// do not specify an ARN for the permission, AWS RAM automatically attaches
3013	// the default version of the permission for each resource type.
3014	PermissionArns []*string `locationName:"permissionArns" type:"list"`
3015
3016	// The principals to associate with the resource share. The possible values
3017	// are IDs of AWS accounts, the ARN of an OU or organization from AWS Organizations.
3018	Principals []*string `locationName:"principals" type:"list"`
3019
3020	// The Amazon Resource Names (ARN) of the resources to associate with the resource
3021	// share.
3022	ResourceArns []*string `locationName:"resourceArns" type:"list"`
3023
3024	// One or more tags.
3025	Tags []*Tag `locationName:"tags" type:"list"`
3026}
3027
3028// String returns the string representation
3029func (s CreateResourceShareInput) String() string {
3030	return awsutil.Prettify(s)
3031}
3032
3033// GoString returns the string representation
3034func (s CreateResourceShareInput) GoString() string {
3035	return s.String()
3036}
3037
3038// Validate inspects the fields of the type to determine if they are valid.
3039func (s *CreateResourceShareInput) Validate() error {
3040	invalidParams := request.ErrInvalidParams{Context: "CreateResourceShareInput"}
3041	if s.Name == nil {
3042		invalidParams.Add(request.NewErrParamRequired("Name"))
3043	}
3044
3045	if invalidParams.Len() > 0 {
3046		return invalidParams
3047	}
3048	return nil
3049}
3050
3051// SetAllowExternalPrincipals sets the AllowExternalPrincipals field's value.
3052func (s *CreateResourceShareInput) SetAllowExternalPrincipals(v bool) *CreateResourceShareInput {
3053	s.AllowExternalPrincipals = &v
3054	return s
3055}
3056
3057// SetClientToken sets the ClientToken field's value.
3058func (s *CreateResourceShareInput) SetClientToken(v string) *CreateResourceShareInput {
3059	s.ClientToken = &v
3060	return s
3061}
3062
3063// SetName sets the Name field's value.
3064func (s *CreateResourceShareInput) SetName(v string) *CreateResourceShareInput {
3065	s.Name = &v
3066	return s
3067}
3068
3069// SetPermissionArns sets the PermissionArns field's value.
3070func (s *CreateResourceShareInput) SetPermissionArns(v []*string) *CreateResourceShareInput {
3071	s.PermissionArns = v
3072	return s
3073}
3074
3075// SetPrincipals sets the Principals field's value.
3076func (s *CreateResourceShareInput) SetPrincipals(v []*string) *CreateResourceShareInput {
3077	s.Principals = v
3078	return s
3079}
3080
3081// SetResourceArns sets the ResourceArns field's value.
3082func (s *CreateResourceShareInput) SetResourceArns(v []*string) *CreateResourceShareInput {
3083	s.ResourceArns = v
3084	return s
3085}
3086
3087// SetTags sets the Tags field's value.
3088func (s *CreateResourceShareInput) SetTags(v []*Tag) *CreateResourceShareInput {
3089	s.Tags = v
3090	return s
3091}
3092
3093type CreateResourceShareOutput struct {
3094	_ struct{} `type:"structure"`
3095
3096	// A unique, case-sensitive identifier that you provide to ensure the idempotency
3097	// of the request.
3098	ClientToken *string `locationName:"clientToken" type:"string"`
3099
3100	// Information about the resource share.
3101	ResourceShare *ResourceShare `locationName:"resourceShare" type:"structure"`
3102}
3103
3104// String returns the string representation
3105func (s CreateResourceShareOutput) String() string {
3106	return awsutil.Prettify(s)
3107}
3108
3109// GoString returns the string representation
3110func (s CreateResourceShareOutput) GoString() string {
3111	return s.String()
3112}
3113
3114// SetClientToken sets the ClientToken field's value.
3115func (s *CreateResourceShareOutput) SetClientToken(v string) *CreateResourceShareOutput {
3116	s.ClientToken = &v
3117	return s
3118}
3119
3120// SetResourceShare sets the ResourceShare field's value.
3121func (s *CreateResourceShareOutput) SetResourceShare(v *ResourceShare) *CreateResourceShareOutput {
3122	s.ResourceShare = v
3123	return s
3124}
3125
3126type DeleteResourceShareInput struct {
3127	_ struct{} `type:"structure"`
3128
3129	// A unique, case-sensitive identifier that you provide to ensure the idempotency
3130	// of the request.
3131	ClientToken *string `location:"querystring" locationName:"clientToken" type:"string"`
3132
3133	// The Amazon Resource Name (ARN) of the resource share.
3134	//
3135	// ResourceShareArn is a required field
3136	ResourceShareArn *string `location:"querystring" locationName:"resourceShareArn" type:"string" required:"true"`
3137}
3138
3139// String returns the string representation
3140func (s DeleteResourceShareInput) String() string {
3141	return awsutil.Prettify(s)
3142}
3143
3144// GoString returns the string representation
3145func (s DeleteResourceShareInput) GoString() string {
3146	return s.String()
3147}
3148
3149// Validate inspects the fields of the type to determine if they are valid.
3150func (s *DeleteResourceShareInput) Validate() error {
3151	invalidParams := request.ErrInvalidParams{Context: "DeleteResourceShareInput"}
3152	if s.ResourceShareArn == nil {
3153		invalidParams.Add(request.NewErrParamRequired("ResourceShareArn"))
3154	}
3155
3156	if invalidParams.Len() > 0 {
3157		return invalidParams
3158	}
3159	return nil
3160}
3161
3162// SetClientToken sets the ClientToken field's value.
3163func (s *DeleteResourceShareInput) SetClientToken(v string) *DeleteResourceShareInput {
3164	s.ClientToken = &v
3165	return s
3166}
3167
3168// SetResourceShareArn sets the ResourceShareArn field's value.
3169func (s *DeleteResourceShareInput) SetResourceShareArn(v string) *DeleteResourceShareInput {
3170	s.ResourceShareArn = &v
3171	return s
3172}
3173
3174type DeleteResourceShareOutput struct {
3175	_ struct{} `type:"structure"`
3176
3177	// A unique, case-sensitive identifier that you provide to ensure the idempotency
3178	// of the request.
3179	ClientToken *string `locationName:"clientToken" type:"string"`
3180
3181	// Indicates whether the request succeeded.
3182	ReturnValue *bool `locationName:"returnValue" type:"boolean"`
3183}
3184
3185// String returns the string representation
3186func (s DeleteResourceShareOutput) String() string {
3187	return awsutil.Prettify(s)
3188}
3189
3190// GoString returns the string representation
3191func (s DeleteResourceShareOutput) GoString() string {
3192	return s.String()
3193}
3194
3195// SetClientToken sets the ClientToken field's value.
3196func (s *DeleteResourceShareOutput) SetClientToken(v string) *DeleteResourceShareOutput {
3197	s.ClientToken = &v
3198	return s
3199}
3200
3201// SetReturnValue sets the ReturnValue field's value.
3202func (s *DeleteResourceShareOutput) SetReturnValue(v bool) *DeleteResourceShareOutput {
3203	s.ReturnValue = &v
3204	return s
3205}
3206
3207type DisassociateResourceShareInput struct {
3208	_ struct{} `type:"structure"`
3209
3210	// A unique, case-sensitive identifier that you provide to ensure the idempotency
3211	// of the request.
3212	ClientToken *string `locationName:"clientToken" type:"string"`
3213
3214	// The principals.
3215	Principals []*string `locationName:"principals" type:"list"`
3216
3217	// The Amazon Resource Names (ARNs) of the resources.
3218	ResourceArns []*string `locationName:"resourceArns" type:"list"`
3219
3220	// The Amazon Resource Name (ARN) of the resource share.
3221	//
3222	// ResourceShareArn is a required field
3223	ResourceShareArn *string `locationName:"resourceShareArn" type:"string" required:"true"`
3224}
3225
3226// String returns the string representation
3227func (s DisassociateResourceShareInput) String() string {
3228	return awsutil.Prettify(s)
3229}
3230
3231// GoString returns the string representation
3232func (s DisassociateResourceShareInput) GoString() string {
3233	return s.String()
3234}
3235
3236// Validate inspects the fields of the type to determine if they are valid.
3237func (s *DisassociateResourceShareInput) Validate() error {
3238	invalidParams := request.ErrInvalidParams{Context: "DisassociateResourceShareInput"}
3239	if s.ResourceShareArn == nil {
3240		invalidParams.Add(request.NewErrParamRequired("ResourceShareArn"))
3241	}
3242
3243	if invalidParams.Len() > 0 {
3244		return invalidParams
3245	}
3246	return nil
3247}
3248
3249// SetClientToken sets the ClientToken field's value.
3250func (s *DisassociateResourceShareInput) SetClientToken(v string) *DisassociateResourceShareInput {
3251	s.ClientToken = &v
3252	return s
3253}
3254
3255// SetPrincipals sets the Principals field's value.
3256func (s *DisassociateResourceShareInput) SetPrincipals(v []*string) *DisassociateResourceShareInput {
3257	s.Principals = v
3258	return s
3259}
3260
3261// SetResourceArns sets the ResourceArns field's value.
3262func (s *DisassociateResourceShareInput) SetResourceArns(v []*string) *DisassociateResourceShareInput {
3263	s.ResourceArns = v
3264	return s
3265}
3266
3267// SetResourceShareArn sets the ResourceShareArn field's value.
3268func (s *DisassociateResourceShareInput) SetResourceShareArn(v string) *DisassociateResourceShareInput {
3269	s.ResourceShareArn = &v
3270	return s
3271}
3272
3273type DisassociateResourceShareOutput struct {
3274	_ struct{} `type:"structure"`
3275
3276	// A unique, case-sensitive identifier that you provide to ensure the idempotency
3277	// of the request.
3278	ClientToken *string `locationName:"clientToken" type:"string"`
3279
3280	// Information about the associations.
3281	ResourceShareAssociations []*ResourceShareAssociation `locationName:"resourceShareAssociations" type:"list"`
3282}
3283
3284// String returns the string representation
3285func (s DisassociateResourceShareOutput) String() string {
3286	return awsutil.Prettify(s)
3287}
3288
3289// GoString returns the string representation
3290func (s DisassociateResourceShareOutput) GoString() string {
3291	return s.String()
3292}
3293
3294// SetClientToken sets the ClientToken field's value.
3295func (s *DisassociateResourceShareOutput) SetClientToken(v string) *DisassociateResourceShareOutput {
3296	s.ClientToken = &v
3297	return s
3298}
3299
3300// SetResourceShareAssociations sets the ResourceShareAssociations field's value.
3301func (s *DisassociateResourceShareOutput) SetResourceShareAssociations(v []*ResourceShareAssociation) *DisassociateResourceShareOutput {
3302	s.ResourceShareAssociations = v
3303	return s
3304}
3305
3306type DisassociateResourceSharePermissionInput struct {
3307	_ struct{} `type:"structure"`
3308
3309	// A unique, case-sensitive identifier that you provide to ensure the idempotency
3310	// of the request.
3311	ClientToken *string `locationName:"clientToken" type:"string"`
3312
3313	// The ARN of the permission to disassociate from the resource share.
3314	//
3315	// PermissionArn is a required field
3316	PermissionArn *string `locationName:"permissionArn" type:"string" required:"true"`
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 DisassociateResourceSharePermissionInput) String() string {
3326	return awsutil.Prettify(s)
3327}
3328
3329// GoString returns the string representation
3330func (s DisassociateResourceSharePermissionInput) GoString() string {
3331	return s.String()
3332}
3333
3334// Validate inspects the fields of the type to determine if they are valid.
3335func (s *DisassociateResourceSharePermissionInput) Validate() error {
3336	invalidParams := request.ErrInvalidParams{Context: "DisassociateResourceSharePermissionInput"}
3337	if s.PermissionArn == nil {
3338		invalidParams.Add(request.NewErrParamRequired("PermissionArn"))
3339	}
3340	if s.ResourceShareArn == nil {
3341		invalidParams.Add(request.NewErrParamRequired("ResourceShareArn"))
3342	}
3343
3344	if invalidParams.Len() > 0 {
3345		return invalidParams
3346	}
3347	return nil
3348}
3349
3350// SetClientToken sets the ClientToken field's value.
3351func (s *DisassociateResourceSharePermissionInput) SetClientToken(v string) *DisassociateResourceSharePermissionInput {
3352	s.ClientToken = &v
3353	return s
3354}
3355
3356// SetPermissionArn sets the PermissionArn field's value.
3357func (s *DisassociateResourceSharePermissionInput) SetPermissionArn(v string) *DisassociateResourceSharePermissionInput {
3358	s.PermissionArn = &v
3359	return s
3360}
3361
3362// SetResourceShareArn sets the ResourceShareArn field's value.
3363func (s *DisassociateResourceSharePermissionInput) SetResourceShareArn(v string) *DisassociateResourceSharePermissionInput {
3364	s.ResourceShareArn = &v
3365	return s
3366}
3367
3368type DisassociateResourceSharePermissionOutput struct {
3369	_ struct{} `type:"structure"`
3370
3371	// A unique, case-sensitive identifier that you provide to ensure the idempotency
3372	// of the request.
3373	ClientToken *string `locationName:"clientToken" type:"string"`
3374
3375	// Indicates whether the request succeeded.
3376	ReturnValue *bool `locationName:"returnValue" type:"boolean"`
3377}
3378
3379// String returns the string representation
3380func (s DisassociateResourceSharePermissionOutput) String() string {
3381	return awsutil.Prettify(s)
3382}
3383
3384// GoString returns the string representation
3385func (s DisassociateResourceSharePermissionOutput) GoString() string {
3386	return s.String()
3387}
3388
3389// SetClientToken sets the ClientToken field's value.
3390func (s *DisassociateResourceSharePermissionOutput) SetClientToken(v string) *DisassociateResourceSharePermissionOutput {
3391	s.ClientToken = &v
3392	return s
3393}
3394
3395// SetReturnValue sets the ReturnValue field's value.
3396func (s *DisassociateResourceSharePermissionOutput) SetReturnValue(v bool) *DisassociateResourceSharePermissionOutput {
3397	s.ReturnValue = &v
3398	return s
3399}
3400
3401type EnableSharingWithAwsOrganizationInput struct {
3402	_ struct{} `type:"structure"`
3403}
3404
3405// String returns the string representation
3406func (s EnableSharingWithAwsOrganizationInput) String() string {
3407	return awsutil.Prettify(s)
3408}
3409
3410// GoString returns the string representation
3411func (s EnableSharingWithAwsOrganizationInput) GoString() string {
3412	return s.String()
3413}
3414
3415type EnableSharingWithAwsOrganizationOutput struct {
3416	_ struct{} `type:"structure"`
3417
3418	// Indicates whether the request succeeded.
3419	ReturnValue *bool `locationName:"returnValue" type:"boolean"`
3420}
3421
3422// String returns the string representation
3423func (s EnableSharingWithAwsOrganizationOutput) String() string {
3424	return awsutil.Prettify(s)
3425}
3426
3427// GoString returns the string representation
3428func (s EnableSharingWithAwsOrganizationOutput) GoString() string {
3429	return s.String()
3430}
3431
3432// SetReturnValue sets the ReturnValue field's value.
3433func (s *EnableSharingWithAwsOrganizationOutput) SetReturnValue(v bool) *EnableSharingWithAwsOrganizationOutput {
3434	s.ReturnValue = &v
3435	return s
3436}
3437
3438type GetPermissionInput struct {
3439	_ struct{} `type:"structure"`
3440
3441	// The ARN of the permission.
3442	//
3443	// PermissionArn is a required field
3444	PermissionArn *string `locationName:"permissionArn" type:"string" required:"true"`
3445
3446	// The identifier for the version of the permission.
3447	PermissionVersion *int64 `locationName:"permissionVersion" type:"integer"`
3448}
3449
3450// String returns the string representation
3451func (s GetPermissionInput) String() string {
3452	return awsutil.Prettify(s)
3453}
3454
3455// GoString returns the string representation
3456func (s GetPermissionInput) GoString() string {
3457	return s.String()
3458}
3459
3460// Validate inspects the fields of the type to determine if they are valid.
3461func (s *GetPermissionInput) Validate() error {
3462	invalidParams := request.ErrInvalidParams{Context: "GetPermissionInput"}
3463	if s.PermissionArn == nil {
3464		invalidParams.Add(request.NewErrParamRequired("PermissionArn"))
3465	}
3466
3467	if invalidParams.Len() > 0 {
3468		return invalidParams
3469	}
3470	return nil
3471}
3472
3473// SetPermissionArn sets the PermissionArn field's value.
3474func (s *GetPermissionInput) SetPermissionArn(v string) *GetPermissionInput {
3475	s.PermissionArn = &v
3476	return s
3477}
3478
3479// SetPermissionVersion sets the PermissionVersion field's value.
3480func (s *GetPermissionInput) SetPermissionVersion(v int64) *GetPermissionInput {
3481	s.PermissionVersion = &v
3482	return s
3483}
3484
3485type GetPermissionOutput struct {
3486	_ struct{} `type:"structure"`
3487
3488	// Information about the permission.
3489	Permission *ResourceSharePermissionDetail `locationName:"permission" type:"structure"`
3490}
3491
3492// String returns the string representation
3493func (s GetPermissionOutput) String() string {
3494	return awsutil.Prettify(s)
3495}
3496
3497// GoString returns the string representation
3498func (s GetPermissionOutput) GoString() string {
3499	return s.String()
3500}
3501
3502// SetPermission sets the Permission field's value.
3503func (s *GetPermissionOutput) SetPermission(v *ResourceSharePermissionDetail) *GetPermissionOutput {
3504	s.Permission = v
3505	return s
3506}
3507
3508type GetResourcePoliciesInput struct {
3509	_ struct{} `type:"structure"`
3510
3511	// The maximum number of results to return with a single call. To retrieve the
3512	// remaining results, make another call with the returned nextToken value.
3513	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
3514
3515	// The token for the next page of results.
3516	NextToken *string `locationName:"nextToken" type:"string"`
3517
3518	// The principal.
3519	Principal *string `locationName:"principal" type:"string"`
3520
3521	// The Amazon Resource Names (ARN) of the resources.
3522	//
3523	// ResourceArns is a required field
3524	ResourceArns []*string `locationName:"resourceArns" type:"list" required:"true"`
3525}
3526
3527// String returns the string representation
3528func (s GetResourcePoliciesInput) String() string {
3529	return awsutil.Prettify(s)
3530}
3531
3532// GoString returns the string representation
3533func (s GetResourcePoliciesInput) GoString() string {
3534	return s.String()
3535}
3536
3537// Validate inspects the fields of the type to determine if they are valid.
3538func (s *GetResourcePoliciesInput) Validate() error {
3539	invalidParams := request.ErrInvalidParams{Context: "GetResourcePoliciesInput"}
3540	if s.MaxResults != nil && *s.MaxResults < 1 {
3541		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3542	}
3543	if s.ResourceArns == nil {
3544		invalidParams.Add(request.NewErrParamRequired("ResourceArns"))
3545	}
3546
3547	if invalidParams.Len() > 0 {
3548		return invalidParams
3549	}
3550	return nil
3551}
3552
3553// SetMaxResults sets the MaxResults field's value.
3554func (s *GetResourcePoliciesInput) SetMaxResults(v int64) *GetResourcePoliciesInput {
3555	s.MaxResults = &v
3556	return s
3557}
3558
3559// SetNextToken sets the NextToken field's value.
3560func (s *GetResourcePoliciesInput) SetNextToken(v string) *GetResourcePoliciesInput {
3561	s.NextToken = &v
3562	return s
3563}
3564
3565// SetPrincipal sets the Principal field's value.
3566func (s *GetResourcePoliciesInput) SetPrincipal(v string) *GetResourcePoliciesInput {
3567	s.Principal = &v
3568	return s
3569}
3570
3571// SetResourceArns sets the ResourceArns field's value.
3572func (s *GetResourcePoliciesInput) SetResourceArns(v []*string) *GetResourcePoliciesInput {
3573	s.ResourceArns = v
3574	return s
3575}
3576
3577type GetResourcePoliciesOutput struct {
3578	_ struct{} `type:"structure"`
3579
3580	// The token to use to retrieve the next page of results. This value is null
3581	// when there are no more results to return.
3582	NextToken *string `locationName:"nextToken" type:"string"`
3583
3584	// A key policy document, in JSON format.
3585	Policies []*string `locationName:"policies" type:"list"`
3586}
3587
3588// String returns the string representation
3589func (s GetResourcePoliciesOutput) String() string {
3590	return awsutil.Prettify(s)
3591}
3592
3593// GoString returns the string representation
3594func (s GetResourcePoliciesOutput) GoString() string {
3595	return s.String()
3596}
3597
3598// SetNextToken sets the NextToken field's value.
3599func (s *GetResourcePoliciesOutput) SetNextToken(v string) *GetResourcePoliciesOutput {
3600	s.NextToken = &v
3601	return s
3602}
3603
3604// SetPolicies sets the Policies field's value.
3605func (s *GetResourcePoliciesOutput) SetPolicies(v []*string) *GetResourcePoliciesOutput {
3606	s.Policies = v
3607	return s
3608}
3609
3610type GetResourceShareAssociationsInput struct {
3611	_ struct{} `type:"structure"`
3612
3613	// The association status.
3614	AssociationStatus *string `locationName:"associationStatus" type:"string" enum:"ResourceShareAssociationStatus"`
3615
3616	// The association type. Specify PRINCIPAL to list the principals that are associated
3617	// with the specified resource share. Specify RESOURCE to list the resources
3618	// that are associated with the specified resource share.
3619	//
3620	// AssociationType is a required field
3621	AssociationType *string `locationName:"associationType" type:"string" required:"true" enum:"ResourceShareAssociationType"`
3622
3623	// The maximum number of results to return with a single call. To retrieve the
3624	// remaining results, make another call with the returned nextToken value.
3625	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
3626
3627	// The token for the next page of results.
3628	NextToken *string `locationName:"nextToken" type:"string"`
3629
3630	// The principal. You cannot specify this parameter if the association type
3631	// is RESOURCE.
3632	Principal *string `locationName:"principal" type:"string"`
3633
3634	// The Amazon Resource Name (ARN) of the resource. You cannot specify this parameter
3635	// if the association type is PRINCIPAL.
3636	ResourceArn *string `locationName:"resourceArn" type:"string"`
3637
3638	// The Amazon Resource Names (ARN) of the resource shares.
3639	ResourceShareArns []*string `locationName:"resourceShareArns" type:"list"`
3640}
3641
3642// String returns the string representation
3643func (s GetResourceShareAssociationsInput) String() string {
3644	return awsutil.Prettify(s)
3645}
3646
3647// GoString returns the string representation
3648func (s GetResourceShareAssociationsInput) GoString() string {
3649	return s.String()
3650}
3651
3652// Validate inspects the fields of the type to determine if they are valid.
3653func (s *GetResourceShareAssociationsInput) Validate() error {
3654	invalidParams := request.ErrInvalidParams{Context: "GetResourceShareAssociationsInput"}
3655	if s.AssociationType == nil {
3656		invalidParams.Add(request.NewErrParamRequired("AssociationType"))
3657	}
3658	if s.MaxResults != nil && *s.MaxResults < 1 {
3659		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3660	}
3661
3662	if invalidParams.Len() > 0 {
3663		return invalidParams
3664	}
3665	return nil
3666}
3667
3668// SetAssociationStatus sets the AssociationStatus field's value.
3669func (s *GetResourceShareAssociationsInput) SetAssociationStatus(v string) *GetResourceShareAssociationsInput {
3670	s.AssociationStatus = &v
3671	return s
3672}
3673
3674// SetAssociationType sets the AssociationType field's value.
3675func (s *GetResourceShareAssociationsInput) SetAssociationType(v string) *GetResourceShareAssociationsInput {
3676	s.AssociationType = &v
3677	return s
3678}
3679
3680// SetMaxResults sets the MaxResults field's value.
3681func (s *GetResourceShareAssociationsInput) SetMaxResults(v int64) *GetResourceShareAssociationsInput {
3682	s.MaxResults = &v
3683	return s
3684}
3685
3686// SetNextToken sets the NextToken field's value.
3687func (s *GetResourceShareAssociationsInput) SetNextToken(v string) *GetResourceShareAssociationsInput {
3688	s.NextToken = &v
3689	return s
3690}
3691
3692// SetPrincipal sets the Principal field's value.
3693func (s *GetResourceShareAssociationsInput) SetPrincipal(v string) *GetResourceShareAssociationsInput {
3694	s.Principal = &v
3695	return s
3696}
3697
3698// SetResourceArn sets the ResourceArn field's value.
3699func (s *GetResourceShareAssociationsInput) SetResourceArn(v string) *GetResourceShareAssociationsInput {
3700	s.ResourceArn = &v
3701	return s
3702}
3703
3704// SetResourceShareArns sets the ResourceShareArns field's value.
3705func (s *GetResourceShareAssociationsInput) SetResourceShareArns(v []*string) *GetResourceShareAssociationsInput {
3706	s.ResourceShareArns = v
3707	return s
3708}
3709
3710type GetResourceShareAssociationsOutput struct {
3711	_ struct{} `type:"structure"`
3712
3713	// The token to use to retrieve the next page of results. This value is null
3714	// when there are no more results to return.
3715	NextToken *string `locationName:"nextToken" type:"string"`
3716
3717	// Information about the associations.
3718	ResourceShareAssociations []*ResourceShareAssociation `locationName:"resourceShareAssociations" type:"list"`
3719}
3720
3721// String returns the string representation
3722func (s GetResourceShareAssociationsOutput) String() string {
3723	return awsutil.Prettify(s)
3724}
3725
3726// GoString returns the string representation
3727func (s GetResourceShareAssociationsOutput) GoString() string {
3728	return s.String()
3729}
3730
3731// SetNextToken sets the NextToken field's value.
3732func (s *GetResourceShareAssociationsOutput) SetNextToken(v string) *GetResourceShareAssociationsOutput {
3733	s.NextToken = &v
3734	return s
3735}
3736
3737// SetResourceShareAssociations sets the ResourceShareAssociations field's value.
3738func (s *GetResourceShareAssociationsOutput) SetResourceShareAssociations(v []*ResourceShareAssociation) *GetResourceShareAssociationsOutput {
3739	s.ResourceShareAssociations = v
3740	return s
3741}
3742
3743type GetResourceShareInvitationsInput struct {
3744	_ struct{} `type:"structure"`
3745
3746	// The maximum number of results to return with a single call. To retrieve the
3747	// remaining results, make another call with the returned nextToken value.
3748	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
3749
3750	// The token for the next page of results.
3751	NextToken *string `locationName:"nextToken" type:"string"`
3752
3753	// The Amazon Resource Names (ARN) of the resource shares.
3754	ResourceShareArns []*string `locationName:"resourceShareArns" type:"list"`
3755
3756	// The Amazon Resource Names (ARN) of the invitations.
3757	ResourceShareInvitationArns []*string `locationName:"resourceShareInvitationArns" type:"list"`
3758}
3759
3760// String returns the string representation
3761func (s GetResourceShareInvitationsInput) String() string {
3762	return awsutil.Prettify(s)
3763}
3764
3765// GoString returns the string representation
3766func (s GetResourceShareInvitationsInput) GoString() string {
3767	return s.String()
3768}
3769
3770// Validate inspects the fields of the type to determine if they are valid.
3771func (s *GetResourceShareInvitationsInput) Validate() error {
3772	invalidParams := request.ErrInvalidParams{Context: "GetResourceShareInvitationsInput"}
3773	if s.MaxResults != nil && *s.MaxResults < 1 {
3774		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3775	}
3776
3777	if invalidParams.Len() > 0 {
3778		return invalidParams
3779	}
3780	return nil
3781}
3782
3783// SetMaxResults sets the MaxResults field's value.
3784func (s *GetResourceShareInvitationsInput) SetMaxResults(v int64) *GetResourceShareInvitationsInput {
3785	s.MaxResults = &v
3786	return s
3787}
3788
3789// SetNextToken sets the NextToken field's value.
3790func (s *GetResourceShareInvitationsInput) SetNextToken(v string) *GetResourceShareInvitationsInput {
3791	s.NextToken = &v
3792	return s
3793}
3794
3795// SetResourceShareArns sets the ResourceShareArns field's value.
3796func (s *GetResourceShareInvitationsInput) SetResourceShareArns(v []*string) *GetResourceShareInvitationsInput {
3797	s.ResourceShareArns = v
3798	return s
3799}
3800
3801// SetResourceShareInvitationArns sets the ResourceShareInvitationArns field's value.
3802func (s *GetResourceShareInvitationsInput) SetResourceShareInvitationArns(v []*string) *GetResourceShareInvitationsInput {
3803	s.ResourceShareInvitationArns = v
3804	return s
3805}
3806
3807type GetResourceShareInvitationsOutput struct {
3808	_ struct{} `type:"structure"`
3809
3810	// The token to use to retrieve the next page of results. This value is null
3811	// when there are no more results to return.
3812	NextToken *string `locationName:"nextToken" type:"string"`
3813
3814	// Information about the invitations.
3815	ResourceShareInvitations []*ResourceShareInvitation `locationName:"resourceShareInvitations" type:"list"`
3816}
3817
3818// String returns the string representation
3819func (s GetResourceShareInvitationsOutput) String() string {
3820	return awsutil.Prettify(s)
3821}
3822
3823// GoString returns the string representation
3824func (s GetResourceShareInvitationsOutput) GoString() string {
3825	return s.String()
3826}
3827
3828// SetNextToken sets the NextToken field's value.
3829func (s *GetResourceShareInvitationsOutput) SetNextToken(v string) *GetResourceShareInvitationsOutput {
3830	s.NextToken = &v
3831	return s
3832}
3833
3834// SetResourceShareInvitations sets the ResourceShareInvitations field's value.
3835func (s *GetResourceShareInvitationsOutput) SetResourceShareInvitations(v []*ResourceShareInvitation) *GetResourceShareInvitationsOutput {
3836	s.ResourceShareInvitations = v
3837	return s
3838}
3839
3840type GetResourceSharesInput struct {
3841	_ struct{} `type:"structure"`
3842
3843	// The maximum number of results to return with a single call. To retrieve the
3844	// remaining results, make another call with the returned nextToken value.
3845	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
3846
3847	// The name of the resource share.
3848	Name *string `locationName:"name" type:"string"`
3849
3850	// The token for the next page of results.
3851	NextToken *string `locationName:"nextToken" type:"string"`
3852
3853	// The type of owner.
3854	//
3855	// ResourceOwner is a required field
3856	ResourceOwner *string `locationName:"resourceOwner" type:"string" required:"true" enum:"ResourceOwner"`
3857
3858	// The Amazon Resource Names (ARN) of the resource shares.
3859	ResourceShareArns []*string `locationName:"resourceShareArns" type:"list"`
3860
3861	// The status of the resource share.
3862	ResourceShareStatus *string `locationName:"resourceShareStatus" type:"string" enum:"ResourceShareStatus"`
3863
3864	// One or more tag filters.
3865	TagFilters []*TagFilter `locationName:"tagFilters" type:"list"`
3866}
3867
3868// String returns the string representation
3869func (s GetResourceSharesInput) String() string {
3870	return awsutil.Prettify(s)
3871}
3872
3873// GoString returns the string representation
3874func (s GetResourceSharesInput) GoString() string {
3875	return s.String()
3876}
3877
3878// Validate inspects the fields of the type to determine if they are valid.
3879func (s *GetResourceSharesInput) Validate() error {
3880	invalidParams := request.ErrInvalidParams{Context: "GetResourceSharesInput"}
3881	if s.MaxResults != nil && *s.MaxResults < 1 {
3882		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3883	}
3884	if s.ResourceOwner == nil {
3885		invalidParams.Add(request.NewErrParamRequired("ResourceOwner"))
3886	}
3887
3888	if invalidParams.Len() > 0 {
3889		return invalidParams
3890	}
3891	return nil
3892}
3893
3894// SetMaxResults sets the MaxResults field's value.
3895func (s *GetResourceSharesInput) SetMaxResults(v int64) *GetResourceSharesInput {
3896	s.MaxResults = &v
3897	return s
3898}
3899
3900// SetName sets the Name field's value.
3901func (s *GetResourceSharesInput) SetName(v string) *GetResourceSharesInput {
3902	s.Name = &v
3903	return s
3904}
3905
3906// SetNextToken sets the NextToken field's value.
3907func (s *GetResourceSharesInput) SetNextToken(v string) *GetResourceSharesInput {
3908	s.NextToken = &v
3909	return s
3910}
3911
3912// SetResourceOwner sets the ResourceOwner field's value.
3913func (s *GetResourceSharesInput) SetResourceOwner(v string) *GetResourceSharesInput {
3914	s.ResourceOwner = &v
3915	return s
3916}
3917
3918// SetResourceShareArns sets the ResourceShareArns field's value.
3919func (s *GetResourceSharesInput) SetResourceShareArns(v []*string) *GetResourceSharesInput {
3920	s.ResourceShareArns = v
3921	return s
3922}
3923
3924// SetResourceShareStatus sets the ResourceShareStatus field's value.
3925func (s *GetResourceSharesInput) SetResourceShareStatus(v string) *GetResourceSharesInput {
3926	s.ResourceShareStatus = &v
3927	return s
3928}
3929
3930// SetTagFilters sets the TagFilters field's value.
3931func (s *GetResourceSharesInput) SetTagFilters(v []*TagFilter) *GetResourceSharesInput {
3932	s.TagFilters = v
3933	return s
3934}
3935
3936type GetResourceSharesOutput struct {
3937	_ struct{} `type:"structure"`
3938
3939	// The token to use to retrieve the next page of results. This value is null
3940	// when there are no more results to return.
3941	NextToken *string `locationName:"nextToken" type:"string"`
3942
3943	// Information about the resource shares.
3944	ResourceShares []*ResourceShare `locationName:"resourceShares" type:"list"`
3945}
3946
3947// String returns the string representation
3948func (s GetResourceSharesOutput) String() string {
3949	return awsutil.Prettify(s)
3950}
3951
3952// GoString returns the string representation
3953func (s GetResourceSharesOutput) GoString() string {
3954	return s.String()
3955}
3956
3957// SetNextToken sets the NextToken field's value.
3958func (s *GetResourceSharesOutput) SetNextToken(v string) *GetResourceSharesOutput {
3959	s.NextToken = &v
3960	return s
3961}
3962
3963// SetResourceShares sets the ResourceShares field's value.
3964func (s *GetResourceSharesOutput) SetResourceShares(v []*ResourceShare) *GetResourceSharesOutput {
3965	s.ResourceShares = v
3966	return s
3967}
3968
3969type ListPendingInvitationResourcesInput struct {
3970	_ struct{} `type:"structure"`
3971
3972	// The maximum number of results to return with a single call. To retrieve the
3973	// remaining results, make another call with the returned nextToken value.
3974	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
3975
3976	// The token for the next page of results.
3977	NextToken *string `locationName:"nextToken" type:"string"`
3978
3979	// The Amazon Resource Name (ARN) of the invitation.
3980	//
3981	// ResourceShareInvitationArn is a required field
3982	ResourceShareInvitationArn *string `locationName:"resourceShareInvitationArn" type:"string" required:"true"`
3983}
3984
3985// String returns the string representation
3986func (s ListPendingInvitationResourcesInput) String() string {
3987	return awsutil.Prettify(s)
3988}
3989
3990// GoString returns the string representation
3991func (s ListPendingInvitationResourcesInput) GoString() string {
3992	return s.String()
3993}
3994
3995// Validate inspects the fields of the type to determine if they are valid.
3996func (s *ListPendingInvitationResourcesInput) Validate() error {
3997	invalidParams := request.ErrInvalidParams{Context: "ListPendingInvitationResourcesInput"}
3998	if s.MaxResults != nil && *s.MaxResults < 1 {
3999		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4000	}
4001	if s.ResourceShareInvitationArn == nil {
4002		invalidParams.Add(request.NewErrParamRequired("ResourceShareInvitationArn"))
4003	}
4004
4005	if invalidParams.Len() > 0 {
4006		return invalidParams
4007	}
4008	return nil
4009}
4010
4011// SetMaxResults sets the MaxResults field's value.
4012func (s *ListPendingInvitationResourcesInput) SetMaxResults(v int64) *ListPendingInvitationResourcesInput {
4013	s.MaxResults = &v
4014	return s
4015}
4016
4017// SetNextToken sets the NextToken field's value.
4018func (s *ListPendingInvitationResourcesInput) SetNextToken(v string) *ListPendingInvitationResourcesInput {
4019	s.NextToken = &v
4020	return s
4021}
4022
4023// SetResourceShareInvitationArn sets the ResourceShareInvitationArn field's value.
4024func (s *ListPendingInvitationResourcesInput) SetResourceShareInvitationArn(v string) *ListPendingInvitationResourcesInput {
4025	s.ResourceShareInvitationArn = &v
4026	return s
4027}
4028
4029type ListPendingInvitationResourcesOutput struct {
4030	_ struct{} `type:"structure"`
4031
4032	// The token to use to retrieve the next page of results. This value is null
4033	// when there are no more results to return.
4034	NextToken *string `locationName:"nextToken" type:"string"`
4035
4036	// Information about the resources included the resource share.
4037	Resources []*Resource `locationName:"resources" type:"list"`
4038}
4039
4040// String returns the string representation
4041func (s ListPendingInvitationResourcesOutput) String() string {
4042	return awsutil.Prettify(s)
4043}
4044
4045// GoString returns the string representation
4046func (s ListPendingInvitationResourcesOutput) GoString() string {
4047	return s.String()
4048}
4049
4050// SetNextToken sets the NextToken field's value.
4051func (s *ListPendingInvitationResourcesOutput) SetNextToken(v string) *ListPendingInvitationResourcesOutput {
4052	s.NextToken = &v
4053	return s
4054}
4055
4056// SetResources sets the Resources field's value.
4057func (s *ListPendingInvitationResourcesOutput) SetResources(v []*Resource) *ListPendingInvitationResourcesOutput {
4058	s.Resources = v
4059	return s
4060}
4061
4062type ListPermissionsInput struct {
4063	_ struct{} `type:"structure"`
4064
4065	// The maximum number of results to return with a single call. To retrieve the
4066	// remaining results, make another call with the returned nextToken value.
4067	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
4068
4069	// The token for the next page of results.
4070	NextToken *string `locationName:"nextToken" type:"string"`
4071
4072	// Specifies the resource type for which to list permissions. For example, to
4073	// list only permissions that apply to EC2 subnets, specify ec2:Subnet.
4074	ResourceType *string `locationName:"resourceType" type:"string"`
4075}
4076
4077// String returns the string representation
4078func (s ListPermissionsInput) String() string {
4079	return awsutil.Prettify(s)
4080}
4081
4082// GoString returns the string representation
4083func (s ListPermissionsInput) GoString() string {
4084	return s.String()
4085}
4086
4087// Validate inspects the fields of the type to determine if they are valid.
4088func (s *ListPermissionsInput) Validate() error {
4089	invalidParams := request.ErrInvalidParams{Context: "ListPermissionsInput"}
4090	if s.MaxResults != nil && *s.MaxResults < 1 {
4091		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4092	}
4093
4094	if invalidParams.Len() > 0 {
4095		return invalidParams
4096	}
4097	return nil
4098}
4099
4100// SetMaxResults sets the MaxResults field's value.
4101func (s *ListPermissionsInput) SetMaxResults(v int64) *ListPermissionsInput {
4102	s.MaxResults = &v
4103	return s
4104}
4105
4106// SetNextToken sets the NextToken field's value.
4107func (s *ListPermissionsInput) SetNextToken(v string) *ListPermissionsInput {
4108	s.NextToken = &v
4109	return s
4110}
4111
4112// SetResourceType sets the ResourceType field's value.
4113func (s *ListPermissionsInput) SetResourceType(v string) *ListPermissionsInput {
4114	s.ResourceType = &v
4115	return s
4116}
4117
4118type ListPermissionsOutput struct {
4119	_ struct{} `type:"structure"`
4120
4121	// The token to use to retrieve the next page of results. This value is null
4122	// when there are no more results to return.
4123	NextToken *string `locationName:"nextToken" type:"string"`
4124
4125	// Information about the permissions.
4126	Permissions []*ResourceSharePermissionSummary `locationName:"permissions" type:"list"`
4127}
4128
4129// String returns the string representation
4130func (s ListPermissionsOutput) String() string {
4131	return awsutil.Prettify(s)
4132}
4133
4134// GoString returns the string representation
4135func (s ListPermissionsOutput) GoString() string {
4136	return s.String()
4137}
4138
4139// SetNextToken sets the NextToken field's value.
4140func (s *ListPermissionsOutput) SetNextToken(v string) *ListPermissionsOutput {
4141	s.NextToken = &v
4142	return s
4143}
4144
4145// SetPermissions sets the Permissions field's value.
4146func (s *ListPermissionsOutput) SetPermissions(v []*ResourceSharePermissionSummary) *ListPermissionsOutput {
4147	s.Permissions = v
4148	return s
4149}
4150
4151type ListPrincipalsInput struct {
4152	_ struct{} `type:"structure"`
4153
4154	// The maximum number of results to return with a single call. To retrieve the
4155	// remaining results, make another call with the returned nextToken value.
4156	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
4157
4158	// The token for the next page of results.
4159	NextToken *string `locationName:"nextToken" type:"string"`
4160
4161	// The principals.
4162	Principals []*string `locationName:"principals" type:"list"`
4163
4164	// The Amazon Resource Name (ARN) of the resource.
4165	ResourceArn *string `locationName:"resourceArn" type:"string"`
4166
4167	// The type of owner.
4168	//
4169	// ResourceOwner is a required field
4170	ResourceOwner *string `locationName:"resourceOwner" type:"string" required:"true" enum:"ResourceOwner"`
4171
4172	// The Amazon Resource Names (ARN) of the resource shares.
4173	ResourceShareArns []*string `locationName:"resourceShareArns" type:"list"`
4174
4175	// The resource type.
4176	//
4177	// Valid values: ec2:CapacityReservation | ec2:Subnet | ec2:TrafficMirrorTarget
4178	// | ec2:TransitGateway | license-manager:LicenseConfiguration | rds:Cluster
4179	// | route53resolver:ResolverRule I resource-groups:Group
4180	ResourceType *string `locationName:"resourceType" type:"string"`
4181}
4182
4183// String returns the string representation
4184func (s ListPrincipalsInput) String() string {
4185	return awsutil.Prettify(s)
4186}
4187
4188// GoString returns the string representation
4189func (s ListPrincipalsInput) GoString() string {
4190	return s.String()
4191}
4192
4193// Validate inspects the fields of the type to determine if they are valid.
4194func (s *ListPrincipalsInput) Validate() error {
4195	invalidParams := request.ErrInvalidParams{Context: "ListPrincipalsInput"}
4196	if s.MaxResults != nil && *s.MaxResults < 1 {
4197		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4198	}
4199	if s.ResourceOwner == nil {
4200		invalidParams.Add(request.NewErrParamRequired("ResourceOwner"))
4201	}
4202
4203	if invalidParams.Len() > 0 {
4204		return invalidParams
4205	}
4206	return nil
4207}
4208
4209// SetMaxResults sets the MaxResults field's value.
4210func (s *ListPrincipalsInput) SetMaxResults(v int64) *ListPrincipalsInput {
4211	s.MaxResults = &v
4212	return s
4213}
4214
4215// SetNextToken sets the NextToken field's value.
4216func (s *ListPrincipalsInput) SetNextToken(v string) *ListPrincipalsInput {
4217	s.NextToken = &v
4218	return s
4219}
4220
4221// SetPrincipals sets the Principals field's value.
4222func (s *ListPrincipalsInput) SetPrincipals(v []*string) *ListPrincipalsInput {
4223	s.Principals = v
4224	return s
4225}
4226
4227// SetResourceArn sets the ResourceArn field's value.
4228func (s *ListPrincipalsInput) SetResourceArn(v string) *ListPrincipalsInput {
4229	s.ResourceArn = &v
4230	return s
4231}
4232
4233// SetResourceOwner sets the ResourceOwner field's value.
4234func (s *ListPrincipalsInput) SetResourceOwner(v string) *ListPrincipalsInput {
4235	s.ResourceOwner = &v
4236	return s
4237}
4238
4239// SetResourceShareArns sets the ResourceShareArns field's value.
4240func (s *ListPrincipalsInput) SetResourceShareArns(v []*string) *ListPrincipalsInput {
4241	s.ResourceShareArns = v
4242	return s
4243}
4244
4245// SetResourceType sets the ResourceType field's value.
4246func (s *ListPrincipalsInput) SetResourceType(v string) *ListPrincipalsInput {
4247	s.ResourceType = &v
4248	return s
4249}
4250
4251type ListPrincipalsOutput struct {
4252	_ struct{} `type:"structure"`
4253
4254	// The token to use to retrieve the next page of results. This value is null
4255	// when there are no more results to return.
4256	NextToken *string `locationName:"nextToken" type:"string"`
4257
4258	// The principals.
4259	Principals []*Principal `locationName:"principals" type:"list"`
4260}
4261
4262// String returns the string representation
4263func (s ListPrincipalsOutput) String() string {
4264	return awsutil.Prettify(s)
4265}
4266
4267// GoString returns the string representation
4268func (s ListPrincipalsOutput) GoString() string {
4269	return s.String()
4270}
4271
4272// SetNextToken sets the NextToken field's value.
4273func (s *ListPrincipalsOutput) SetNextToken(v string) *ListPrincipalsOutput {
4274	s.NextToken = &v
4275	return s
4276}
4277
4278// SetPrincipals sets the Principals field's value.
4279func (s *ListPrincipalsOutput) SetPrincipals(v []*Principal) *ListPrincipalsOutput {
4280	s.Principals = v
4281	return s
4282}
4283
4284type ListResourceSharePermissionsInput struct {
4285	_ struct{} `type:"structure"`
4286
4287	// The maximum number of results to return with a single call. To retrieve the
4288	// remaining results, make another call with the returned nextToken value.
4289	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
4290
4291	// The token for the next page of results.
4292	NextToken *string `locationName:"nextToken" type:"string"`
4293
4294	// The Amazon Resource Name (ARN) of the resource share.
4295	//
4296	// ResourceShareArn is a required field
4297	ResourceShareArn *string `locationName:"resourceShareArn" type:"string" required:"true"`
4298}
4299
4300// String returns the string representation
4301func (s ListResourceSharePermissionsInput) String() string {
4302	return awsutil.Prettify(s)
4303}
4304
4305// GoString returns the string representation
4306func (s ListResourceSharePermissionsInput) GoString() string {
4307	return s.String()
4308}
4309
4310// Validate inspects the fields of the type to determine if they are valid.
4311func (s *ListResourceSharePermissionsInput) Validate() error {
4312	invalidParams := request.ErrInvalidParams{Context: "ListResourceSharePermissionsInput"}
4313	if s.MaxResults != nil && *s.MaxResults < 1 {
4314		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4315	}
4316	if s.ResourceShareArn == nil {
4317		invalidParams.Add(request.NewErrParamRequired("ResourceShareArn"))
4318	}
4319
4320	if invalidParams.Len() > 0 {
4321		return invalidParams
4322	}
4323	return nil
4324}
4325
4326// SetMaxResults sets the MaxResults field's value.
4327func (s *ListResourceSharePermissionsInput) SetMaxResults(v int64) *ListResourceSharePermissionsInput {
4328	s.MaxResults = &v
4329	return s
4330}
4331
4332// SetNextToken sets the NextToken field's value.
4333func (s *ListResourceSharePermissionsInput) SetNextToken(v string) *ListResourceSharePermissionsInput {
4334	s.NextToken = &v
4335	return s
4336}
4337
4338// SetResourceShareArn sets the ResourceShareArn field's value.
4339func (s *ListResourceSharePermissionsInput) SetResourceShareArn(v string) *ListResourceSharePermissionsInput {
4340	s.ResourceShareArn = &v
4341	return s
4342}
4343
4344type ListResourceSharePermissionsOutput struct {
4345	_ struct{} `type:"structure"`
4346
4347	// The token to use to retrieve the next page of results. This value is null
4348	// when there are no more results to return.
4349	NextToken *string `locationName:"nextToken" type:"string"`
4350
4351	// The permissions associated with the resource share.
4352	Permissions []*ResourceSharePermissionSummary `locationName:"permissions" type:"list"`
4353}
4354
4355// String returns the string representation
4356func (s ListResourceSharePermissionsOutput) String() string {
4357	return awsutil.Prettify(s)
4358}
4359
4360// GoString returns the string representation
4361func (s ListResourceSharePermissionsOutput) GoString() string {
4362	return s.String()
4363}
4364
4365// SetNextToken sets the NextToken field's value.
4366func (s *ListResourceSharePermissionsOutput) SetNextToken(v string) *ListResourceSharePermissionsOutput {
4367	s.NextToken = &v
4368	return s
4369}
4370
4371// SetPermissions sets the Permissions field's value.
4372func (s *ListResourceSharePermissionsOutput) SetPermissions(v []*ResourceSharePermissionSummary) *ListResourceSharePermissionsOutput {
4373	s.Permissions = v
4374	return s
4375}
4376
4377type ListResourcesInput struct {
4378	_ struct{} `type:"structure"`
4379
4380	// The maximum number of results to return with a single call. To retrieve the
4381	// remaining results, make another call with the returned nextToken value.
4382	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
4383
4384	// The token for the next page of results.
4385	NextToken *string `locationName:"nextToken" type:"string"`
4386
4387	// The principal.
4388	Principal *string `locationName:"principal" type:"string"`
4389
4390	// The Amazon Resource Names (ARN) of the resources.
4391	ResourceArns []*string `locationName:"resourceArns" type:"list"`
4392
4393	// The type of owner.
4394	//
4395	// ResourceOwner is a required field
4396	ResourceOwner *string `locationName:"resourceOwner" type:"string" required:"true" enum:"ResourceOwner"`
4397
4398	// The Amazon Resource Names (ARN) of the resource shares.
4399	ResourceShareArns []*string `locationName:"resourceShareArns" type:"list"`
4400
4401	// The resource type.
4402	//
4403	// Valid values: ec2:CapacityReservation | ec2:Subnet | ec2:TrafficMirrorTarget
4404	// | ec2:TransitGateway | license-manager:LicenseConfiguration | rds:Cluster
4405	// | route53resolver:ResolverRule | resource-groups:Group
4406	ResourceType *string `locationName:"resourceType" type:"string"`
4407}
4408
4409// String returns the string representation
4410func (s ListResourcesInput) String() string {
4411	return awsutil.Prettify(s)
4412}
4413
4414// GoString returns the string representation
4415func (s ListResourcesInput) GoString() string {
4416	return s.String()
4417}
4418
4419// Validate inspects the fields of the type to determine if they are valid.
4420func (s *ListResourcesInput) Validate() error {
4421	invalidParams := request.ErrInvalidParams{Context: "ListResourcesInput"}
4422	if s.MaxResults != nil && *s.MaxResults < 1 {
4423		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4424	}
4425	if s.ResourceOwner == nil {
4426		invalidParams.Add(request.NewErrParamRequired("ResourceOwner"))
4427	}
4428
4429	if invalidParams.Len() > 0 {
4430		return invalidParams
4431	}
4432	return nil
4433}
4434
4435// SetMaxResults sets the MaxResults field's value.
4436func (s *ListResourcesInput) SetMaxResults(v int64) *ListResourcesInput {
4437	s.MaxResults = &v
4438	return s
4439}
4440
4441// SetNextToken sets the NextToken field's value.
4442func (s *ListResourcesInput) SetNextToken(v string) *ListResourcesInput {
4443	s.NextToken = &v
4444	return s
4445}
4446
4447// SetPrincipal sets the Principal field's value.
4448func (s *ListResourcesInput) SetPrincipal(v string) *ListResourcesInput {
4449	s.Principal = &v
4450	return s
4451}
4452
4453// SetResourceArns sets the ResourceArns field's value.
4454func (s *ListResourcesInput) SetResourceArns(v []*string) *ListResourcesInput {
4455	s.ResourceArns = v
4456	return s
4457}
4458
4459// SetResourceOwner sets the ResourceOwner field's value.
4460func (s *ListResourcesInput) SetResourceOwner(v string) *ListResourcesInput {
4461	s.ResourceOwner = &v
4462	return s
4463}
4464
4465// SetResourceShareArns sets the ResourceShareArns field's value.
4466func (s *ListResourcesInput) SetResourceShareArns(v []*string) *ListResourcesInput {
4467	s.ResourceShareArns = v
4468	return s
4469}
4470
4471// SetResourceType sets the ResourceType field's value.
4472func (s *ListResourcesInput) SetResourceType(v string) *ListResourcesInput {
4473	s.ResourceType = &v
4474	return s
4475}
4476
4477type ListResourcesOutput struct {
4478	_ struct{} `type:"structure"`
4479
4480	// The token to use to retrieve the next page of results. This value is null
4481	// when there are no more results to return.
4482	NextToken *string `locationName:"nextToken" type:"string"`
4483
4484	// Information about the resources.
4485	Resources []*Resource `locationName:"resources" type:"list"`
4486}
4487
4488// String returns the string representation
4489func (s ListResourcesOutput) String() string {
4490	return awsutil.Prettify(s)
4491}
4492
4493// GoString returns the string representation
4494func (s ListResourcesOutput) GoString() string {
4495	return s.String()
4496}
4497
4498// SetNextToken sets the NextToken field's value.
4499func (s *ListResourcesOutput) SetNextToken(v string) *ListResourcesOutput {
4500	s.NextToken = &v
4501	return s
4502}
4503
4504// SetResources sets the Resources field's value.
4505func (s *ListResourcesOutput) SetResources(v []*Resource) *ListResourcesOutput {
4506	s.Resources = v
4507	return s
4508}
4509
4510// Describes a principal for use with AWS Resource Access Manager.
4511type Principal struct {
4512	_ struct{} `type:"structure"`
4513
4514	// The time when the principal was associated with the resource share.
4515	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
4516
4517	// Indicates whether the principal belongs to the same AWS organization as the
4518	// AWS account that owns the resource share.
4519	External *bool `locationName:"external" type:"boolean"`
4520
4521	// The ID of the principal.
4522	Id *string `locationName:"id" type:"string"`
4523
4524	// The time when the association was last updated.
4525	LastUpdatedTime *time.Time `locationName:"lastUpdatedTime" type:"timestamp"`
4526
4527	// The Amazon Resource Name (ARN) of the resource share.
4528	ResourceShareArn *string `locationName:"resourceShareArn" type:"string"`
4529}
4530
4531// String returns the string representation
4532func (s Principal) String() string {
4533	return awsutil.Prettify(s)
4534}
4535
4536// GoString returns the string representation
4537func (s Principal) GoString() string {
4538	return s.String()
4539}
4540
4541// SetCreationTime sets the CreationTime field's value.
4542func (s *Principal) SetCreationTime(v time.Time) *Principal {
4543	s.CreationTime = &v
4544	return s
4545}
4546
4547// SetExternal sets the External field's value.
4548func (s *Principal) SetExternal(v bool) *Principal {
4549	s.External = &v
4550	return s
4551}
4552
4553// SetId sets the Id field's value.
4554func (s *Principal) SetId(v string) *Principal {
4555	s.Id = &v
4556	return s
4557}
4558
4559// SetLastUpdatedTime sets the LastUpdatedTime field's value.
4560func (s *Principal) SetLastUpdatedTime(v time.Time) *Principal {
4561	s.LastUpdatedTime = &v
4562	return s
4563}
4564
4565// SetResourceShareArn sets the ResourceShareArn field's value.
4566func (s *Principal) SetResourceShareArn(v string) *Principal {
4567	s.ResourceShareArn = &v
4568	return s
4569}
4570
4571type PromoteResourceShareCreatedFromPolicyInput struct {
4572	_ struct{} `type:"structure"`
4573
4574	// The ARN of the resource share to promote.
4575	//
4576	// ResourceShareArn is a required field
4577	ResourceShareArn *string `location:"querystring" locationName:"resourceShareArn" type:"string" required:"true"`
4578}
4579
4580// String returns the string representation
4581func (s PromoteResourceShareCreatedFromPolicyInput) String() string {
4582	return awsutil.Prettify(s)
4583}
4584
4585// GoString returns the string representation
4586func (s PromoteResourceShareCreatedFromPolicyInput) GoString() string {
4587	return s.String()
4588}
4589
4590// Validate inspects the fields of the type to determine if they are valid.
4591func (s *PromoteResourceShareCreatedFromPolicyInput) Validate() error {
4592	invalidParams := request.ErrInvalidParams{Context: "PromoteResourceShareCreatedFromPolicyInput"}
4593	if s.ResourceShareArn == nil {
4594		invalidParams.Add(request.NewErrParamRequired("ResourceShareArn"))
4595	}
4596
4597	if invalidParams.Len() > 0 {
4598		return invalidParams
4599	}
4600	return nil
4601}
4602
4603// SetResourceShareArn sets the ResourceShareArn field's value.
4604func (s *PromoteResourceShareCreatedFromPolicyInput) SetResourceShareArn(v string) *PromoteResourceShareCreatedFromPolicyInput {
4605	s.ResourceShareArn = &v
4606	return s
4607}
4608
4609type PromoteResourceShareCreatedFromPolicyOutput struct {
4610	_ struct{} `type:"structure"`
4611
4612	// Indicates whether the request succeeded.
4613	ReturnValue *bool `locationName:"returnValue" type:"boolean"`
4614}
4615
4616// String returns the string representation
4617func (s PromoteResourceShareCreatedFromPolicyOutput) String() string {
4618	return awsutil.Prettify(s)
4619}
4620
4621// GoString returns the string representation
4622func (s PromoteResourceShareCreatedFromPolicyOutput) GoString() string {
4623	return s.String()
4624}
4625
4626// SetReturnValue sets the ReturnValue field's value.
4627func (s *PromoteResourceShareCreatedFromPolicyOutput) SetReturnValue(v bool) *PromoteResourceShareCreatedFromPolicyOutput {
4628	s.ReturnValue = &v
4629	return s
4630}
4631
4632type RejectResourceShareInvitationInput struct {
4633	_ struct{} `type:"structure"`
4634
4635	// A unique, case-sensitive identifier that you provide to ensure the idempotency
4636	// of the request.
4637	ClientToken *string `locationName:"clientToken" type:"string"`
4638
4639	// The Amazon Resource Name (ARN) of the invitation.
4640	//
4641	// ResourceShareInvitationArn is a required field
4642	ResourceShareInvitationArn *string `locationName:"resourceShareInvitationArn" type:"string" required:"true"`
4643}
4644
4645// String returns the string representation
4646func (s RejectResourceShareInvitationInput) String() string {
4647	return awsutil.Prettify(s)
4648}
4649
4650// GoString returns the string representation
4651func (s RejectResourceShareInvitationInput) GoString() string {
4652	return s.String()
4653}
4654
4655// Validate inspects the fields of the type to determine if they are valid.
4656func (s *RejectResourceShareInvitationInput) Validate() error {
4657	invalidParams := request.ErrInvalidParams{Context: "RejectResourceShareInvitationInput"}
4658	if s.ResourceShareInvitationArn == nil {
4659		invalidParams.Add(request.NewErrParamRequired("ResourceShareInvitationArn"))
4660	}
4661
4662	if invalidParams.Len() > 0 {
4663		return invalidParams
4664	}
4665	return nil
4666}
4667
4668// SetClientToken sets the ClientToken field's value.
4669func (s *RejectResourceShareInvitationInput) SetClientToken(v string) *RejectResourceShareInvitationInput {
4670	s.ClientToken = &v
4671	return s
4672}
4673
4674// SetResourceShareInvitationArn sets the ResourceShareInvitationArn field's value.
4675func (s *RejectResourceShareInvitationInput) SetResourceShareInvitationArn(v string) *RejectResourceShareInvitationInput {
4676	s.ResourceShareInvitationArn = &v
4677	return s
4678}
4679
4680type RejectResourceShareInvitationOutput struct {
4681	_ struct{} `type:"structure"`
4682
4683	// A unique, case-sensitive identifier that you provide to ensure the idempotency
4684	// of the request.
4685	ClientToken *string `locationName:"clientToken" type:"string"`
4686
4687	// Information about the invitation.
4688	ResourceShareInvitation *ResourceShareInvitation `locationName:"resourceShareInvitation" type:"structure"`
4689}
4690
4691// String returns the string representation
4692func (s RejectResourceShareInvitationOutput) String() string {
4693	return awsutil.Prettify(s)
4694}
4695
4696// GoString returns the string representation
4697func (s RejectResourceShareInvitationOutput) GoString() string {
4698	return s.String()
4699}
4700
4701// SetClientToken sets the ClientToken field's value.
4702func (s *RejectResourceShareInvitationOutput) SetClientToken(v string) *RejectResourceShareInvitationOutput {
4703	s.ClientToken = &v
4704	return s
4705}
4706
4707// SetResourceShareInvitation sets the ResourceShareInvitation field's value.
4708func (s *RejectResourceShareInvitationOutput) SetResourceShareInvitation(v *ResourceShareInvitation) *RejectResourceShareInvitationOutput {
4709	s.ResourceShareInvitation = v
4710	return s
4711}
4712
4713// Describes a resource associated with a resource share.
4714type Resource struct {
4715	_ struct{} `type:"structure"`
4716
4717	// The Amazon Resource Name (ARN) of the resource.
4718	Arn *string `locationName:"arn" type:"string"`
4719
4720	// The time when the resource was associated with the resource share.
4721	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
4722
4723	// The time when the association was last updated.
4724	LastUpdatedTime *time.Time `locationName:"lastUpdatedTime" type:"timestamp"`
4725
4726	// The ARN of the resource group. This value is returned only if the resource
4727	// is a resource group.
4728	ResourceGroupArn *string `locationName:"resourceGroupArn" type:"string"`
4729
4730	// The Amazon Resource Name (ARN) of the resource share.
4731	ResourceShareArn *string `locationName:"resourceShareArn" type:"string"`
4732
4733	// The status of the resource.
4734	Status *string `locationName:"status" type:"string" enum:"ResourceStatus"`
4735
4736	// A message about the status of the resource.
4737	StatusMessage *string `locationName:"statusMessage" type:"string"`
4738
4739	// The resource type.
4740	Type *string `locationName:"type" type:"string"`
4741}
4742
4743// String returns the string representation
4744func (s Resource) String() string {
4745	return awsutil.Prettify(s)
4746}
4747
4748// GoString returns the string representation
4749func (s Resource) GoString() string {
4750	return s.String()
4751}
4752
4753// SetArn sets the Arn field's value.
4754func (s *Resource) SetArn(v string) *Resource {
4755	s.Arn = &v
4756	return s
4757}
4758
4759// SetCreationTime sets the CreationTime field's value.
4760func (s *Resource) SetCreationTime(v time.Time) *Resource {
4761	s.CreationTime = &v
4762	return s
4763}
4764
4765// SetLastUpdatedTime sets the LastUpdatedTime field's value.
4766func (s *Resource) SetLastUpdatedTime(v time.Time) *Resource {
4767	s.LastUpdatedTime = &v
4768	return s
4769}
4770
4771// SetResourceGroupArn sets the ResourceGroupArn field's value.
4772func (s *Resource) SetResourceGroupArn(v string) *Resource {
4773	s.ResourceGroupArn = &v
4774	return s
4775}
4776
4777// SetResourceShareArn sets the ResourceShareArn field's value.
4778func (s *Resource) SetResourceShareArn(v string) *Resource {
4779	s.ResourceShareArn = &v
4780	return s
4781}
4782
4783// SetStatus sets the Status field's value.
4784func (s *Resource) SetStatus(v string) *Resource {
4785	s.Status = &v
4786	return s
4787}
4788
4789// SetStatusMessage sets the StatusMessage field's value.
4790func (s *Resource) SetStatusMessage(v string) *Resource {
4791	s.StatusMessage = &v
4792	return s
4793}
4794
4795// SetType sets the Type field's value.
4796func (s *Resource) SetType(v string) *Resource {
4797	s.Type = &v
4798	return s
4799}
4800
4801// Describes a resource share.
4802type ResourceShare struct {
4803	_ struct{} `type:"structure"`
4804
4805	// Indicates whether principals outside your AWS organization can be associated
4806	// with a resource share.
4807	AllowExternalPrincipals *bool `locationName:"allowExternalPrincipals" type:"boolean"`
4808
4809	// The time when the resource share was created.
4810	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
4811
4812	// Indicates how the resource share was created. Possible values include:
4813	//
4814	//    * CREATED_FROM_POLICY - Indicates that the resource share was created
4815	//    from an AWS Identity and Access Management (AWS IAM) policy attached to
4816	//    a resource. These resource shares are visible only to the AWS account
4817	//    that created it. They cannot be modified in AWS RAM.
4818	//
4819	//    * PROMOTING_TO_STANDARD - The resource share is in the process of being
4820	//    promoted. For more information, see PromoteResourceShareCreatedFromPolicy.
4821	//
4822	//    * STANDARD - Indicates that the resource share was created in AWS RAM
4823	//    using the console or APIs. These resource shares are visible to all principals.
4824	//    They can be modified in AWS RAM.
4825	FeatureSet *string `locationName:"featureSet" type:"string" enum:"ResourceShareFeatureSet"`
4826
4827	// The time when the resource share was last updated.
4828	LastUpdatedTime *time.Time `locationName:"lastUpdatedTime" type:"timestamp"`
4829
4830	// The name of the resource share.
4831	Name *string `locationName:"name" type:"string"`
4832
4833	// The ID of the AWS account that owns the resource share.
4834	OwningAccountId *string `locationName:"owningAccountId" type:"string"`
4835
4836	// The Amazon Resource Name (ARN) of the resource share.
4837	ResourceShareArn *string `locationName:"resourceShareArn" type:"string"`
4838
4839	// The status of the resource share.
4840	Status *string `locationName:"status" type:"string" enum:"ResourceShareStatus"`
4841
4842	// A message about the status of the resource share.
4843	StatusMessage *string `locationName:"statusMessage" type:"string"`
4844
4845	// The tags for the resource share.
4846	Tags []*Tag `locationName:"tags" type:"list"`
4847}
4848
4849// String returns the string representation
4850func (s ResourceShare) String() string {
4851	return awsutil.Prettify(s)
4852}
4853
4854// GoString returns the string representation
4855func (s ResourceShare) GoString() string {
4856	return s.String()
4857}
4858
4859// SetAllowExternalPrincipals sets the AllowExternalPrincipals field's value.
4860func (s *ResourceShare) SetAllowExternalPrincipals(v bool) *ResourceShare {
4861	s.AllowExternalPrincipals = &v
4862	return s
4863}
4864
4865// SetCreationTime sets the CreationTime field's value.
4866func (s *ResourceShare) SetCreationTime(v time.Time) *ResourceShare {
4867	s.CreationTime = &v
4868	return s
4869}
4870
4871// SetFeatureSet sets the FeatureSet field's value.
4872func (s *ResourceShare) SetFeatureSet(v string) *ResourceShare {
4873	s.FeatureSet = &v
4874	return s
4875}
4876
4877// SetLastUpdatedTime sets the LastUpdatedTime field's value.
4878func (s *ResourceShare) SetLastUpdatedTime(v time.Time) *ResourceShare {
4879	s.LastUpdatedTime = &v
4880	return s
4881}
4882
4883// SetName sets the Name field's value.
4884func (s *ResourceShare) SetName(v string) *ResourceShare {
4885	s.Name = &v
4886	return s
4887}
4888
4889// SetOwningAccountId sets the OwningAccountId field's value.
4890func (s *ResourceShare) SetOwningAccountId(v string) *ResourceShare {
4891	s.OwningAccountId = &v
4892	return s
4893}
4894
4895// SetResourceShareArn sets the ResourceShareArn field's value.
4896func (s *ResourceShare) SetResourceShareArn(v string) *ResourceShare {
4897	s.ResourceShareArn = &v
4898	return s
4899}
4900
4901// SetStatus sets the Status field's value.
4902func (s *ResourceShare) SetStatus(v string) *ResourceShare {
4903	s.Status = &v
4904	return s
4905}
4906
4907// SetStatusMessage sets the StatusMessage field's value.
4908func (s *ResourceShare) SetStatusMessage(v string) *ResourceShare {
4909	s.StatusMessage = &v
4910	return s
4911}
4912
4913// SetTags sets the Tags field's value.
4914func (s *ResourceShare) SetTags(v []*Tag) *ResourceShare {
4915	s.Tags = v
4916	return s
4917}
4918
4919// Describes an association with a resource share.
4920type ResourceShareAssociation struct {
4921	_ struct{} `type:"structure"`
4922
4923	// The associated entity. For resource associations, this is the ARN of the
4924	// resource. For principal associations, this is the ID of an AWS account or
4925	// the ARN of an OU or organization from AWS Organizations.
4926	AssociatedEntity *string `locationName:"associatedEntity" type:"string"`
4927
4928	// The association type.
4929	AssociationType *string `locationName:"associationType" type:"string" enum:"ResourceShareAssociationType"`
4930
4931	// The time when the association was created.
4932	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
4933
4934	// Indicates whether the principal belongs to the same AWS organization as the
4935	// AWS account that owns the resource share.
4936	External *bool `locationName:"external" type:"boolean"`
4937
4938	// The time when the association was last updated.
4939	LastUpdatedTime *time.Time `locationName:"lastUpdatedTime" type:"timestamp"`
4940
4941	// The Amazon Resource Name (ARN) of the resource share.
4942	ResourceShareArn *string `locationName:"resourceShareArn" type:"string"`
4943
4944	// The name of the resource share.
4945	ResourceShareName *string `locationName:"resourceShareName" type:"string"`
4946
4947	// The status of the association.
4948	Status *string `locationName:"status" type:"string" enum:"ResourceShareAssociationStatus"`
4949
4950	// A message about the status of the association.
4951	StatusMessage *string `locationName:"statusMessage" type:"string"`
4952}
4953
4954// String returns the string representation
4955func (s ResourceShareAssociation) String() string {
4956	return awsutil.Prettify(s)
4957}
4958
4959// GoString returns the string representation
4960func (s ResourceShareAssociation) GoString() string {
4961	return s.String()
4962}
4963
4964// SetAssociatedEntity sets the AssociatedEntity field's value.
4965func (s *ResourceShareAssociation) SetAssociatedEntity(v string) *ResourceShareAssociation {
4966	s.AssociatedEntity = &v
4967	return s
4968}
4969
4970// SetAssociationType sets the AssociationType field's value.
4971func (s *ResourceShareAssociation) SetAssociationType(v string) *ResourceShareAssociation {
4972	s.AssociationType = &v
4973	return s
4974}
4975
4976// SetCreationTime sets the CreationTime field's value.
4977func (s *ResourceShareAssociation) SetCreationTime(v time.Time) *ResourceShareAssociation {
4978	s.CreationTime = &v
4979	return s
4980}
4981
4982// SetExternal sets the External field's value.
4983func (s *ResourceShareAssociation) SetExternal(v bool) *ResourceShareAssociation {
4984	s.External = &v
4985	return s
4986}
4987
4988// SetLastUpdatedTime sets the LastUpdatedTime field's value.
4989func (s *ResourceShareAssociation) SetLastUpdatedTime(v time.Time) *ResourceShareAssociation {
4990	s.LastUpdatedTime = &v
4991	return s
4992}
4993
4994// SetResourceShareArn sets the ResourceShareArn field's value.
4995func (s *ResourceShareAssociation) SetResourceShareArn(v string) *ResourceShareAssociation {
4996	s.ResourceShareArn = &v
4997	return s
4998}
4999
5000// SetResourceShareName sets the ResourceShareName field's value.
5001func (s *ResourceShareAssociation) SetResourceShareName(v string) *ResourceShareAssociation {
5002	s.ResourceShareName = &v
5003	return s
5004}
5005
5006// SetStatus sets the Status field's value.
5007func (s *ResourceShareAssociation) SetStatus(v string) *ResourceShareAssociation {
5008	s.Status = &v
5009	return s
5010}
5011
5012// SetStatusMessage sets the StatusMessage field's value.
5013func (s *ResourceShareAssociation) SetStatusMessage(v string) *ResourceShareAssociation {
5014	s.StatusMessage = &v
5015	return s
5016}
5017
5018// Describes an invitation to join a resource share.
5019type ResourceShareInvitation struct {
5020	_ struct{} `type:"structure"`
5021
5022	// The date and time when the invitation was sent.
5023	InvitationTimestamp *time.Time `locationName:"invitationTimestamp" type:"timestamp"`
5024
5025	// The ID of the AWS account that received the invitation.
5026	ReceiverAccountId *string `locationName:"receiverAccountId" type:"string"`
5027
5028	// The Amazon Resource Name (ARN) of the resource share.
5029	ResourceShareArn *string `locationName:"resourceShareArn" type:"string"`
5030
5031	// To view the resources associated with a pending resource share invitation,
5032	// use ListPendingInvitationResources (https://docs.aws.amazon.com/ram/latest/APIReference/API_ListPendingInvitationResources.html).
5033	//
5034	// Deprecated: This member has been deprecated. Use ListPendingInvitationResources.
5035	ResourceShareAssociations []*ResourceShareAssociation `locationName:"resourceShareAssociations" deprecated:"true" type:"list"`
5036
5037	// The Amazon Resource Name (ARN) of the invitation.
5038	ResourceShareInvitationArn *string `locationName:"resourceShareInvitationArn" type:"string"`
5039
5040	// The name of the resource share.
5041	ResourceShareName *string `locationName:"resourceShareName" type:"string"`
5042
5043	// The ID of the AWS account that sent the invitation.
5044	SenderAccountId *string `locationName:"senderAccountId" type:"string"`
5045
5046	// The status of the invitation.
5047	Status *string `locationName:"status" type:"string" enum:"ResourceShareInvitationStatus"`
5048}
5049
5050// String returns the string representation
5051func (s ResourceShareInvitation) String() string {
5052	return awsutil.Prettify(s)
5053}
5054
5055// GoString returns the string representation
5056func (s ResourceShareInvitation) GoString() string {
5057	return s.String()
5058}
5059
5060// SetInvitationTimestamp sets the InvitationTimestamp field's value.
5061func (s *ResourceShareInvitation) SetInvitationTimestamp(v time.Time) *ResourceShareInvitation {
5062	s.InvitationTimestamp = &v
5063	return s
5064}
5065
5066// SetReceiverAccountId sets the ReceiverAccountId field's value.
5067func (s *ResourceShareInvitation) SetReceiverAccountId(v string) *ResourceShareInvitation {
5068	s.ReceiverAccountId = &v
5069	return s
5070}
5071
5072// SetResourceShareArn sets the ResourceShareArn field's value.
5073func (s *ResourceShareInvitation) SetResourceShareArn(v string) *ResourceShareInvitation {
5074	s.ResourceShareArn = &v
5075	return s
5076}
5077
5078// SetResourceShareAssociations sets the ResourceShareAssociations field's value.
5079func (s *ResourceShareInvitation) SetResourceShareAssociations(v []*ResourceShareAssociation) *ResourceShareInvitation {
5080	s.ResourceShareAssociations = v
5081	return s
5082}
5083
5084// SetResourceShareInvitationArn sets the ResourceShareInvitationArn field's value.
5085func (s *ResourceShareInvitation) SetResourceShareInvitationArn(v string) *ResourceShareInvitation {
5086	s.ResourceShareInvitationArn = &v
5087	return s
5088}
5089
5090// SetResourceShareName sets the ResourceShareName field's value.
5091func (s *ResourceShareInvitation) SetResourceShareName(v string) *ResourceShareInvitation {
5092	s.ResourceShareName = &v
5093	return s
5094}
5095
5096// SetSenderAccountId sets the SenderAccountId field's value.
5097func (s *ResourceShareInvitation) SetSenderAccountId(v string) *ResourceShareInvitation {
5098	s.SenderAccountId = &v
5099	return s
5100}
5101
5102// SetStatus sets the Status field's value.
5103func (s *ResourceShareInvitation) SetStatus(v string) *ResourceShareInvitation {
5104	s.Status = &v
5105	return s
5106}
5107
5108// Information about an AWS RAM permission.
5109type ResourceSharePermissionDetail struct {
5110	_ struct{} `type:"structure"`
5111
5112	// The ARN of the permission.
5113	Arn *string `locationName:"arn" type:"string"`
5114
5115	// The date and time when the permission was created.
5116	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
5117
5118	// The identifier for the version of the permission that is set as the default
5119	// version.
5120	DefaultVersion *bool `locationName:"defaultVersion" type:"boolean"`
5121
5122	// The date and time when the permission was last updated.
5123	LastUpdatedTime *time.Time `locationName:"lastUpdatedTime" type:"timestamp"`
5124
5125	// The name of the permission.
5126	Name *string `locationName:"name" type:"string"`
5127
5128	// The permission's effect and actions in JSON format. The effect indicates
5129	// whether the actions are allowed or denied. The actions list the API actions
5130	// to which the principal is granted or denied access.
5131	Permission *string `locationName:"permission" type:"string"`
5132
5133	// The resource type to which the permission applies.
5134	ResourceType *string `locationName:"resourceType" type:"string"`
5135
5136	// The identifier for the version of the permission.
5137	Version *string `locationName:"version" type:"string"`
5138}
5139
5140// String returns the string representation
5141func (s ResourceSharePermissionDetail) String() string {
5142	return awsutil.Prettify(s)
5143}
5144
5145// GoString returns the string representation
5146func (s ResourceSharePermissionDetail) GoString() string {
5147	return s.String()
5148}
5149
5150// SetArn sets the Arn field's value.
5151func (s *ResourceSharePermissionDetail) SetArn(v string) *ResourceSharePermissionDetail {
5152	s.Arn = &v
5153	return s
5154}
5155
5156// SetCreationTime sets the CreationTime field's value.
5157func (s *ResourceSharePermissionDetail) SetCreationTime(v time.Time) *ResourceSharePermissionDetail {
5158	s.CreationTime = &v
5159	return s
5160}
5161
5162// SetDefaultVersion sets the DefaultVersion field's value.
5163func (s *ResourceSharePermissionDetail) SetDefaultVersion(v bool) *ResourceSharePermissionDetail {
5164	s.DefaultVersion = &v
5165	return s
5166}
5167
5168// SetLastUpdatedTime sets the LastUpdatedTime field's value.
5169func (s *ResourceSharePermissionDetail) SetLastUpdatedTime(v time.Time) *ResourceSharePermissionDetail {
5170	s.LastUpdatedTime = &v
5171	return s
5172}
5173
5174// SetName sets the Name field's value.
5175func (s *ResourceSharePermissionDetail) SetName(v string) *ResourceSharePermissionDetail {
5176	s.Name = &v
5177	return s
5178}
5179
5180// SetPermission sets the Permission field's value.
5181func (s *ResourceSharePermissionDetail) SetPermission(v string) *ResourceSharePermissionDetail {
5182	s.Permission = &v
5183	return s
5184}
5185
5186// SetResourceType sets the ResourceType field's value.
5187func (s *ResourceSharePermissionDetail) SetResourceType(v string) *ResourceSharePermissionDetail {
5188	s.ResourceType = &v
5189	return s
5190}
5191
5192// SetVersion sets the Version field's value.
5193func (s *ResourceSharePermissionDetail) SetVersion(v string) *ResourceSharePermissionDetail {
5194	s.Version = &v
5195	return s
5196}
5197
5198// Information about a permission that is associated with a resource share.
5199type ResourceSharePermissionSummary struct {
5200	_ struct{} `type:"structure"`
5201
5202	// The ARN of the permission.
5203	Arn *string `locationName:"arn" type:"string"`
5204
5205	// The date and time when the permission was created.
5206	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
5207
5208	// The identifier for the version of the permission that is set as the default
5209	// version.
5210	DefaultVersion *bool `locationName:"defaultVersion" type:"boolean"`
5211
5212	// The date and time when the permission was last updated.
5213	LastUpdatedTime *time.Time `locationName:"lastUpdatedTime" type:"timestamp"`
5214
5215	// The name of the permission.
5216	Name *string `locationName:"name" type:"string"`
5217
5218	// The type of resource to which the permission applies.
5219	ResourceType *string `locationName:"resourceType" type:"string"`
5220
5221	// The current status of the permission.
5222	Status *string `locationName:"status" type:"string"`
5223
5224	// The identifier for the version of the permission.
5225	Version *string `locationName:"version" type:"string"`
5226}
5227
5228// String returns the string representation
5229func (s ResourceSharePermissionSummary) String() string {
5230	return awsutil.Prettify(s)
5231}
5232
5233// GoString returns the string representation
5234func (s ResourceSharePermissionSummary) GoString() string {
5235	return s.String()
5236}
5237
5238// SetArn sets the Arn field's value.
5239func (s *ResourceSharePermissionSummary) SetArn(v string) *ResourceSharePermissionSummary {
5240	s.Arn = &v
5241	return s
5242}
5243
5244// SetCreationTime sets the CreationTime field's value.
5245func (s *ResourceSharePermissionSummary) SetCreationTime(v time.Time) *ResourceSharePermissionSummary {
5246	s.CreationTime = &v
5247	return s
5248}
5249
5250// SetDefaultVersion sets the DefaultVersion field's value.
5251func (s *ResourceSharePermissionSummary) SetDefaultVersion(v bool) *ResourceSharePermissionSummary {
5252	s.DefaultVersion = &v
5253	return s
5254}
5255
5256// SetLastUpdatedTime sets the LastUpdatedTime field's value.
5257func (s *ResourceSharePermissionSummary) SetLastUpdatedTime(v time.Time) *ResourceSharePermissionSummary {
5258	s.LastUpdatedTime = &v
5259	return s
5260}
5261
5262// SetName sets the Name field's value.
5263func (s *ResourceSharePermissionSummary) SetName(v string) *ResourceSharePermissionSummary {
5264	s.Name = &v
5265	return s
5266}
5267
5268// SetResourceType sets the ResourceType field's value.
5269func (s *ResourceSharePermissionSummary) SetResourceType(v string) *ResourceSharePermissionSummary {
5270	s.ResourceType = &v
5271	return s
5272}
5273
5274// SetStatus sets the Status field's value.
5275func (s *ResourceSharePermissionSummary) SetStatus(v string) *ResourceSharePermissionSummary {
5276	s.Status = &v
5277	return s
5278}
5279
5280// SetVersion sets the Version field's value.
5281func (s *ResourceSharePermissionSummary) SetVersion(v string) *ResourceSharePermissionSummary {
5282	s.Version = &v
5283	return s
5284}
5285
5286// Information about a tag.
5287type Tag struct {
5288	_ struct{} `type:"structure"`
5289
5290	// The key of the tag.
5291	Key *string `locationName:"key" type:"string"`
5292
5293	// The value of the tag.
5294	Value *string `locationName:"value" type:"string"`
5295}
5296
5297// String returns the string representation
5298func (s Tag) String() string {
5299	return awsutil.Prettify(s)
5300}
5301
5302// GoString returns the string representation
5303func (s Tag) GoString() string {
5304	return s.String()
5305}
5306
5307// SetKey sets the Key field's value.
5308func (s *Tag) SetKey(v string) *Tag {
5309	s.Key = &v
5310	return s
5311}
5312
5313// SetValue sets the Value field's value.
5314func (s *Tag) SetValue(v string) *Tag {
5315	s.Value = &v
5316	return s
5317}
5318
5319// Used to filter information based on tags.
5320type TagFilter struct {
5321	_ struct{} `type:"structure"`
5322
5323	// The tag key.
5324	TagKey *string `locationName:"tagKey" type:"string"`
5325
5326	// The tag values.
5327	TagValues []*string `locationName:"tagValues" type:"list"`
5328}
5329
5330// String returns the string representation
5331func (s TagFilter) String() string {
5332	return awsutil.Prettify(s)
5333}
5334
5335// GoString returns the string representation
5336func (s TagFilter) GoString() string {
5337	return s.String()
5338}
5339
5340// SetTagKey sets the TagKey field's value.
5341func (s *TagFilter) SetTagKey(v string) *TagFilter {
5342	s.TagKey = &v
5343	return s
5344}
5345
5346// SetTagValues sets the TagValues field's value.
5347func (s *TagFilter) SetTagValues(v []*string) *TagFilter {
5348	s.TagValues = v
5349	return s
5350}
5351
5352type TagResourceInput struct {
5353	_ struct{} `type:"structure"`
5354
5355	// The Amazon Resource Name (ARN) of the resource share.
5356	//
5357	// ResourceShareArn is a required field
5358	ResourceShareArn *string `locationName:"resourceShareArn" type:"string" required:"true"`
5359
5360	// One or more tags.
5361	//
5362	// Tags is a required field
5363	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
5364}
5365
5366// String returns the string representation
5367func (s TagResourceInput) String() string {
5368	return awsutil.Prettify(s)
5369}
5370
5371// GoString returns the string representation
5372func (s TagResourceInput) GoString() string {
5373	return s.String()
5374}
5375
5376// Validate inspects the fields of the type to determine if they are valid.
5377func (s *TagResourceInput) Validate() error {
5378	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
5379	if s.ResourceShareArn == nil {
5380		invalidParams.Add(request.NewErrParamRequired("ResourceShareArn"))
5381	}
5382	if s.Tags == nil {
5383		invalidParams.Add(request.NewErrParamRequired("Tags"))
5384	}
5385
5386	if invalidParams.Len() > 0 {
5387		return invalidParams
5388	}
5389	return nil
5390}
5391
5392// SetResourceShareArn sets the ResourceShareArn field's value.
5393func (s *TagResourceInput) SetResourceShareArn(v string) *TagResourceInput {
5394	s.ResourceShareArn = &v
5395	return s
5396}
5397
5398// SetTags sets the Tags field's value.
5399func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
5400	s.Tags = v
5401	return s
5402}
5403
5404type TagResourceOutput struct {
5405	_ struct{} `type:"structure"`
5406}
5407
5408// String returns the string representation
5409func (s TagResourceOutput) String() string {
5410	return awsutil.Prettify(s)
5411}
5412
5413// GoString returns the string representation
5414func (s TagResourceOutput) GoString() string {
5415	return s.String()
5416}
5417
5418type UntagResourceInput struct {
5419	_ struct{} `type:"structure"`
5420
5421	// The Amazon Resource Name (ARN) of the resource share.
5422	//
5423	// ResourceShareArn is a required field
5424	ResourceShareArn *string `locationName:"resourceShareArn" type:"string" required:"true"`
5425
5426	// The tag keys of the tags to remove.
5427	//
5428	// TagKeys is a required field
5429	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
5430}
5431
5432// String returns the string representation
5433func (s UntagResourceInput) String() string {
5434	return awsutil.Prettify(s)
5435}
5436
5437// GoString returns the string representation
5438func (s UntagResourceInput) GoString() string {
5439	return s.String()
5440}
5441
5442// Validate inspects the fields of the type to determine if they are valid.
5443func (s *UntagResourceInput) Validate() error {
5444	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
5445	if s.ResourceShareArn == nil {
5446		invalidParams.Add(request.NewErrParamRequired("ResourceShareArn"))
5447	}
5448	if s.TagKeys == nil {
5449		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
5450	}
5451
5452	if invalidParams.Len() > 0 {
5453		return invalidParams
5454	}
5455	return nil
5456}
5457
5458// SetResourceShareArn sets the ResourceShareArn field's value.
5459func (s *UntagResourceInput) SetResourceShareArn(v string) *UntagResourceInput {
5460	s.ResourceShareArn = &v
5461	return s
5462}
5463
5464// SetTagKeys sets the TagKeys field's value.
5465func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
5466	s.TagKeys = v
5467	return s
5468}
5469
5470type UntagResourceOutput struct {
5471	_ struct{} `type:"structure"`
5472}
5473
5474// String returns the string representation
5475func (s UntagResourceOutput) String() string {
5476	return awsutil.Prettify(s)
5477}
5478
5479// GoString returns the string representation
5480func (s UntagResourceOutput) GoString() string {
5481	return s.String()
5482}
5483
5484type UpdateResourceShareInput struct {
5485	_ struct{} `type:"structure"`
5486
5487	// Indicates whether principals outside your AWS organization can be associated
5488	// with a resource share.
5489	AllowExternalPrincipals *bool `locationName:"allowExternalPrincipals" type:"boolean"`
5490
5491	// A unique, case-sensitive identifier that you provide to ensure the idempotency
5492	// of the request.
5493	ClientToken *string `locationName:"clientToken" type:"string"`
5494
5495	// The name of the resource share.
5496	Name *string `locationName:"name" type:"string"`
5497
5498	// The Amazon Resource Name (ARN) of the resource share.
5499	//
5500	// ResourceShareArn is a required field
5501	ResourceShareArn *string `locationName:"resourceShareArn" type:"string" required:"true"`
5502}
5503
5504// String returns the string representation
5505func (s UpdateResourceShareInput) String() string {
5506	return awsutil.Prettify(s)
5507}
5508
5509// GoString returns the string representation
5510func (s UpdateResourceShareInput) GoString() string {
5511	return s.String()
5512}
5513
5514// Validate inspects the fields of the type to determine if they are valid.
5515func (s *UpdateResourceShareInput) Validate() error {
5516	invalidParams := request.ErrInvalidParams{Context: "UpdateResourceShareInput"}
5517	if s.ResourceShareArn == nil {
5518		invalidParams.Add(request.NewErrParamRequired("ResourceShareArn"))
5519	}
5520
5521	if invalidParams.Len() > 0 {
5522		return invalidParams
5523	}
5524	return nil
5525}
5526
5527// SetAllowExternalPrincipals sets the AllowExternalPrincipals field's value.
5528func (s *UpdateResourceShareInput) SetAllowExternalPrincipals(v bool) *UpdateResourceShareInput {
5529	s.AllowExternalPrincipals = &v
5530	return s
5531}
5532
5533// SetClientToken sets the ClientToken field's value.
5534func (s *UpdateResourceShareInput) SetClientToken(v string) *UpdateResourceShareInput {
5535	s.ClientToken = &v
5536	return s
5537}
5538
5539// SetName sets the Name field's value.
5540func (s *UpdateResourceShareInput) SetName(v string) *UpdateResourceShareInput {
5541	s.Name = &v
5542	return s
5543}
5544
5545// SetResourceShareArn sets the ResourceShareArn field's value.
5546func (s *UpdateResourceShareInput) SetResourceShareArn(v string) *UpdateResourceShareInput {
5547	s.ResourceShareArn = &v
5548	return s
5549}
5550
5551type UpdateResourceShareOutput struct {
5552	_ struct{} `type:"structure"`
5553
5554	// A unique, case-sensitive identifier that you provide to ensure the idempotency
5555	// of the request.
5556	ClientToken *string `locationName:"clientToken" type:"string"`
5557
5558	// Information about the resource share.
5559	ResourceShare *ResourceShare `locationName:"resourceShare" type:"structure"`
5560}
5561
5562// String returns the string representation
5563func (s UpdateResourceShareOutput) String() string {
5564	return awsutil.Prettify(s)
5565}
5566
5567// GoString returns the string representation
5568func (s UpdateResourceShareOutput) GoString() string {
5569	return s.String()
5570}
5571
5572// SetClientToken sets the ClientToken field's value.
5573func (s *UpdateResourceShareOutput) SetClientToken(v string) *UpdateResourceShareOutput {
5574	s.ClientToken = &v
5575	return s
5576}
5577
5578// SetResourceShare sets the ResourceShare field's value.
5579func (s *UpdateResourceShareOutput) SetResourceShare(v *ResourceShare) *UpdateResourceShareOutput {
5580	s.ResourceShare = v
5581	return s
5582}
5583
5584const (
5585	// ResourceOwnerSelf is a ResourceOwner enum value
5586	ResourceOwnerSelf = "SELF"
5587
5588	// ResourceOwnerOtherAccounts is a ResourceOwner enum value
5589	ResourceOwnerOtherAccounts = "OTHER-ACCOUNTS"
5590)
5591
5592const (
5593	// ResourceShareAssociationStatusAssociating is a ResourceShareAssociationStatus enum value
5594	ResourceShareAssociationStatusAssociating = "ASSOCIATING"
5595
5596	// ResourceShareAssociationStatusAssociated is a ResourceShareAssociationStatus enum value
5597	ResourceShareAssociationStatusAssociated = "ASSOCIATED"
5598
5599	// ResourceShareAssociationStatusFailed is a ResourceShareAssociationStatus enum value
5600	ResourceShareAssociationStatusFailed = "FAILED"
5601
5602	// ResourceShareAssociationStatusDisassociating is a ResourceShareAssociationStatus enum value
5603	ResourceShareAssociationStatusDisassociating = "DISASSOCIATING"
5604
5605	// ResourceShareAssociationStatusDisassociated is a ResourceShareAssociationStatus enum value
5606	ResourceShareAssociationStatusDisassociated = "DISASSOCIATED"
5607)
5608
5609const (
5610	// ResourceShareAssociationTypePrincipal is a ResourceShareAssociationType enum value
5611	ResourceShareAssociationTypePrincipal = "PRINCIPAL"
5612
5613	// ResourceShareAssociationTypeResource is a ResourceShareAssociationType enum value
5614	ResourceShareAssociationTypeResource = "RESOURCE"
5615)
5616
5617const (
5618	// ResourceShareFeatureSetCreatedFromPolicy is a ResourceShareFeatureSet enum value
5619	ResourceShareFeatureSetCreatedFromPolicy = "CREATED_FROM_POLICY"
5620
5621	// ResourceShareFeatureSetPromotingToStandard is a ResourceShareFeatureSet enum value
5622	ResourceShareFeatureSetPromotingToStandard = "PROMOTING_TO_STANDARD"
5623
5624	// ResourceShareFeatureSetStandard is a ResourceShareFeatureSet enum value
5625	ResourceShareFeatureSetStandard = "STANDARD"
5626)
5627
5628const (
5629	// ResourceShareInvitationStatusPending is a ResourceShareInvitationStatus enum value
5630	ResourceShareInvitationStatusPending = "PENDING"
5631
5632	// ResourceShareInvitationStatusAccepted is a ResourceShareInvitationStatus enum value
5633	ResourceShareInvitationStatusAccepted = "ACCEPTED"
5634
5635	// ResourceShareInvitationStatusRejected is a ResourceShareInvitationStatus enum value
5636	ResourceShareInvitationStatusRejected = "REJECTED"
5637
5638	// ResourceShareInvitationStatusExpired is a ResourceShareInvitationStatus enum value
5639	ResourceShareInvitationStatusExpired = "EXPIRED"
5640)
5641
5642const (
5643	// ResourceShareStatusPending is a ResourceShareStatus enum value
5644	ResourceShareStatusPending = "PENDING"
5645
5646	// ResourceShareStatusActive is a ResourceShareStatus enum value
5647	ResourceShareStatusActive = "ACTIVE"
5648
5649	// ResourceShareStatusFailed is a ResourceShareStatus enum value
5650	ResourceShareStatusFailed = "FAILED"
5651
5652	// ResourceShareStatusDeleting is a ResourceShareStatus enum value
5653	ResourceShareStatusDeleting = "DELETING"
5654
5655	// ResourceShareStatusDeleted is a ResourceShareStatus enum value
5656	ResourceShareStatusDeleted = "DELETED"
5657)
5658
5659const (
5660	// ResourceStatusAvailable is a ResourceStatus enum value
5661	ResourceStatusAvailable = "AVAILABLE"
5662
5663	// ResourceStatusZonalResourceInaccessible is a ResourceStatus enum value
5664	ResourceStatusZonalResourceInaccessible = "ZONAL_RESOURCE_INACCESSIBLE"
5665
5666	// ResourceStatusLimitExceeded is a ResourceStatus enum value
5667	ResourceStatusLimitExceeded = "LIMIT_EXCEEDED"
5668
5669	// ResourceStatusUnavailable is a ResourceStatus enum value
5670	ResourceStatusUnavailable = "UNAVAILABLE"
5671
5672	// ResourceStatusPending is a ResourceStatus enum value
5673	ResourceStatusPending = "PENDING"
5674)
5675