github.com/aavshr/aws-sdk-go@v1.41.3/service/ram/api.go (about)

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