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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package memorydb
     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  )
    14  
    15  const opBatchUpdateCluster = "BatchUpdateCluster"
    16  
    17  // BatchUpdateClusterRequest generates a "aws/request.Request" representing the
    18  // client's request for the BatchUpdateCluster operation. The "output" return
    19  // value will be populated with the request's response once the request completes
    20  // successfully.
    21  //
    22  // Use "Send" method on the returned Request to send the API call to the service.
    23  // the "output" return value is not valid until after Send returns without error.
    24  //
    25  // See BatchUpdateCluster for more information on using the BatchUpdateCluster
    26  // API call, and error handling.
    27  //
    28  // This method is useful when you want to inject custom logic or configuration
    29  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    30  //
    31  //
    32  //    // Example sending a request using the BatchUpdateClusterRequest method.
    33  //    req, resp := client.BatchUpdateClusterRequest(params)
    34  //
    35  //    err := req.Send()
    36  //    if err == nil { // resp is now filled
    37  //        fmt.Println(resp)
    38  //    }
    39  //
    40  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/BatchUpdateCluster
    41  func (c *MemoryDB) BatchUpdateClusterRequest(input *BatchUpdateClusterInput) (req *request.Request, output *BatchUpdateClusterOutput) {
    42  	op := &request.Operation{
    43  		Name:       opBatchUpdateCluster,
    44  		HTTPMethod: "POST",
    45  		HTTPPath:   "/",
    46  	}
    47  
    48  	if input == nil {
    49  		input = &BatchUpdateClusterInput{}
    50  	}
    51  
    52  	output = &BatchUpdateClusterOutput{}
    53  	req = c.newRequest(op, input, output)
    54  	return
    55  }
    56  
    57  // BatchUpdateCluster API operation for Amazon MemoryDB.
    58  //
    59  // Apply the service update to a list of clusters supplied. For more information
    60  // on service updates and applying them, see Applying the service updates (https://docs.aws.amazon.com/MemoryDB/latest/devguide/managing-updates.html#applying-updates).
    61  //
    62  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    63  // with awserr.Error's Code and Message methods to get detailed information about
    64  // the error.
    65  //
    66  // See the AWS API reference guide for Amazon MemoryDB's
    67  // API operation BatchUpdateCluster for usage and error information.
    68  //
    69  // Returned Error Types:
    70  //   * ServiceUpdateNotFoundFault
    71  //
    72  //   * InvalidParameterValueException
    73  //
    74  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/BatchUpdateCluster
    75  func (c *MemoryDB) BatchUpdateCluster(input *BatchUpdateClusterInput) (*BatchUpdateClusterOutput, error) {
    76  	req, out := c.BatchUpdateClusterRequest(input)
    77  	return out, req.Send()
    78  }
    79  
    80  // BatchUpdateClusterWithContext is the same as BatchUpdateCluster with the addition of
    81  // the ability to pass a context and additional request options.
    82  //
    83  // See BatchUpdateCluster for details on how to use this API operation.
    84  //
    85  // The context must be non-nil and will be used for request cancellation. If
    86  // the context is nil a panic will occur. In the future the SDK may create
    87  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    88  // for more information on using Contexts.
    89  func (c *MemoryDB) BatchUpdateClusterWithContext(ctx aws.Context, input *BatchUpdateClusterInput, opts ...request.Option) (*BatchUpdateClusterOutput, error) {
    90  	req, out := c.BatchUpdateClusterRequest(input)
    91  	req.SetContext(ctx)
    92  	req.ApplyOptions(opts...)
    93  	return out, req.Send()
    94  }
    95  
    96  const opCopySnapshot = "CopySnapshot"
    97  
    98  // CopySnapshotRequest generates a "aws/request.Request" representing the
    99  // client's request for the CopySnapshot operation. The "output" return
   100  // value will be populated with the request's response once the request completes
   101  // successfully.
   102  //
   103  // Use "Send" method on the returned Request to send the API call to the service.
   104  // the "output" return value is not valid until after Send returns without error.
   105  //
   106  // See CopySnapshot for more information on using the CopySnapshot
   107  // API call, and error handling.
   108  //
   109  // This method is useful when you want to inject custom logic or configuration
   110  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   111  //
   112  //
   113  //    // Example sending a request using the CopySnapshotRequest method.
   114  //    req, resp := client.CopySnapshotRequest(params)
   115  //
   116  //    err := req.Send()
   117  //    if err == nil { // resp is now filled
   118  //        fmt.Println(resp)
   119  //    }
   120  //
   121  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CopySnapshot
   122  func (c *MemoryDB) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
   123  	op := &request.Operation{
   124  		Name:       opCopySnapshot,
   125  		HTTPMethod: "POST",
   126  		HTTPPath:   "/",
   127  	}
   128  
   129  	if input == nil {
   130  		input = &CopySnapshotInput{}
   131  	}
   132  
   133  	output = &CopySnapshotOutput{}
   134  	req = c.newRequest(op, input, output)
   135  	return
   136  }
   137  
   138  // CopySnapshot API operation for Amazon MemoryDB.
   139  //
   140  // Makes a copy of an existing snapshot.
   141  //
   142  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   143  // with awserr.Error's Code and Message methods to get detailed information about
   144  // the error.
   145  //
   146  // See the AWS API reference guide for Amazon MemoryDB's
   147  // API operation CopySnapshot for usage and error information.
   148  //
   149  // Returned Error Types:
   150  //   * SnapshotAlreadyExistsFault
   151  //
   152  //   * SnapshotNotFoundFault
   153  //
   154  //   * SnapshotQuotaExceededFault
   155  //
   156  //   * InvalidSnapshotStateFault
   157  //
   158  //   * ServiceLinkedRoleNotFoundFault
   159  //
   160  //   * InvalidParameterValueException
   161  //
   162  //   * InvalidParameterCombinationException
   163  //
   164  //   * TagQuotaPerResourceExceeded
   165  //
   166  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CopySnapshot
   167  func (c *MemoryDB) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
   168  	req, out := c.CopySnapshotRequest(input)
   169  	return out, req.Send()
   170  }
   171  
   172  // CopySnapshotWithContext is the same as CopySnapshot with the addition of
   173  // the ability to pass a context and additional request options.
   174  //
   175  // See CopySnapshot for details on how to use this API operation.
   176  //
   177  // The context must be non-nil and will be used for request cancellation. If
   178  // the context is nil a panic will occur. In the future the SDK may create
   179  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   180  // for more information on using Contexts.
   181  func (c *MemoryDB) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
   182  	req, out := c.CopySnapshotRequest(input)
   183  	req.SetContext(ctx)
   184  	req.ApplyOptions(opts...)
   185  	return out, req.Send()
   186  }
   187  
   188  const opCreateACL = "CreateACL"
   189  
   190  // CreateACLRequest generates a "aws/request.Request" representing the
   191  // client's request for the CreateACL operation. The "output" return
   192  // value will be populated with the request's response once the request completes
   193  // successfully.
   194  //
   195  // Use "Send" method on the returned Request to send the API call to the service.
   196  // the "output" return value is not valid until after Send returns without error.
   197  //
   198  // See CreateACL for more information on using the CreateACL
   199  // API call, and error handling.
   200  //
   201  // This method is useful when you want to inject custom logic or configuration
   202  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   203  //
   204  //
   205  //    // Example sending a request using the CreateACLRequest method.
   206  //    req, resp := client.CreateACLRequest(params)
   207  //
   208  //    err := req.Send()
   209  //    if err == nil { // resp is now filled
   210  //        fmt.Println(resp)
   211  //    }
   212  //
   213  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateACL
   214  func (c *MemoryDB) CreateACLRequest(input *CreateACLInput) (req *request.Request, output *CreateACLOutput) {
   215  	op := &request.Operation{
   216  		Name:       opCreateACL,
   217  		HTTPMethod: "POST",
   218  		HTTPPath:   "/",
   219  	}
   220  
   221  	if input == nil {
   222  		input = &CreateACLInput{}
   223  	}
   224  
   225  	output = &CreateACLOutput{}
   226  	req = c.newRequest(op, input, output)
   227  	return
   228  }
   229  
   230  // CreateACL API operation for Amazon MemoryDB.
   231  //
   232  // Creates an Access Control List. For more information, see Authenticating
   233  // users with Access Contol Lists (ACLs) (https://docs.aws.amazon.com/MemoryDB/latest/devguide/clusters.acls.html).
   234  //
   235  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   236  // with awserr.Error's Code and Message methods to get detailed information about
   237  // the error.
   238  //
   239  // See the AWS API reference guide for Amazon MemoryDB's
   240  // API operation CreateACL for usage and error information.
   241  //
   242  // Returned Error Types:
   243  //   * UserNotFoundFault
   244  //
   245  //   * DuplicateUserNameFault
   246  //
   247  //   * ACLAlreadyExistsFault
   248  //
   249  //   * DefaultUserRequired
   250  //
   251  //   * ACLQuotaExceededFault
   252  //
   253  //   * InvalidParameterValueException
   254  //
   255  //   * TagQuotaPerResourceExceeded
   256  //
   257  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateACL
   258  func (c *MemoryDB) CreateACL(input *CreateACLInput) (*CreateACLOutput, error) {
   259  	req, out := c.CreateACLRequest(input)
   260  	return out, req.Send()
   261  }
   262  
   263  // CreateACLWithContext is the same as CreateACL with the addition of
   264  // the ability to pass a context and additional request options.
   265  //
   266  // See CreateACL for details on how to use this API operation.
   267  //
   268  // The context must be non-nil and will be used for request cancellation. If
   269  // the context is nil a panic will occur. In the future the SDK may create
   270  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   271  // for more information on using Contexts.
   272  func (c *MemoryDB) CreateACLWithContext(ctx aws.Context, input *CreateACLInput, opts ...request.Option) (*CreateACLOutput, error) {
   273  	req, out := c.CreateACLRequest(input)
   274  	req.SetContext(ctx)
   275  	req.ApplyOptions(opts...)
   276  	return out, req.Send()
   277  }
   278  
   279  const opCreateCluster = "CreateCluster"
   280  
   281  // CreateClusterRequest generates a "aws/request.Request" representing the
   282  // client's request for the CreateCluster operation. The "output" return
   283  // value will be populated with the request's response once the request completes
   284  // successfully.
   285  //
   286  // Use "Send" method on the returned Request to send the API call to the service.
   287  // the "output" return value is not valid until after Send returns without error.
   288  //
   289  // See CreateCluster for more information on using the CreateCluster
   290  // API call, and error handling.
   291  //
   292  // This method is useful when you want to inject custom logic or configuration
   293  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   294  //
   295  //
   296  //    // Example sending a request using the CreateClusterRequest method.
   297  //    req, resp := client.CreateClusterRequest(params)
   298  //
   299  //    err := req.Send()
   300  //    if err == nil { // resp is now filled
   301  //        fmt.Println(resp)
   302  //    }
   303  //
   304  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateCluster
   305  func (c *MemoryDB) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) {
   306  	op := &request.Operation{
   307  		Name:       opCreateCluster,
   308  		HTTPMethod: "POST",
   309  		HTTPPath:   "/",
   310  	}
   311  
   312  	if input == nil {
   313  		input = &CreateClusterInput{}
   314  	}
   315  
   316  	output = &CreateClusterOutput{}
   317  	req = c.newRequest(op, input, output)
   318  	return
   319  }
   320  
   321  // CreateCluster API operation for Amazon MemoryDB.
   322  //
   323  // Creates a cluster. All nodes in the cluster run the same protocol-compliant
   324  // engine software.
   325  //
   326  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   327  // with awserr.Error's Code and Message methods to get detailed information about
   328  // the error.
   329  //
   330  // See the AWS API reference guide for Amazon MemoryDB's
   331  // API operation CreateCluster for usage and error information.
   332  //
   333  // Returned Error Types:
   334  //   * ClusterAlreadyExistsFault
   335  //
   336  //   * SubnetGroupNotFoundFault
   337  //
   338  //   * ClusterQuotaForCustomerExceededFault
   339  //
   340  //   * NodeQuotaForClusterExceededFault
   341  //
   342  //   * NodeQuotaForCustomerExceededFault
   343  //
   344  //   * ParameterGroupNotFoundFault
   345  //
   346  //   * InsufficientClusterCapacityFault
   347  //
   348  //   * InvalidVPCNetworkStateFault
   349  //
   350  //   * ServiceLinkedRoleNotFoundFault
   351  //
   352  //   * ShardsPerClusterQuotaExceededFault
   353  //
   354  //   * InvalidParameterValueException
   355  //
   356  //   * InvalidParameterCombinationException
   357  //
   358  //   * InvalidCredentialsException
   359  //
   360  //   * TagQuotaPerResourceExceeded
   361  //
   362  //   * ACLNotFoundFault
   363  //
   364  //   * InvalidACLStateFault
   365  //
   366  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateCluster
   367  func (c *MemoryDB) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) {
   368  	req, out := c.CreateClusterRequest(input)
   369  	return out, req.Send()
   370  }
   371  
   372  // CreateClusterWithContext is the same as CreateCluster with the addition of
   373  // the ability to pass a context and additional request options.
   374  //
   375  // See CreateCluster for details on how to use this API operation.
   376  //
   377  // The context must be non-nil and will be used for request cancellation. If
   378  // the context is nil a panic will occur. In the future the SDK may create
   379  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   380  // for more information on using Contexts.
   381  func (c *MemoryDB) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) {
   382  	req, out := c.CreateClusterRequest(input)
   383  	req.SetContext(ctx)
   384  	req.ApplyOptions(opts...)
   385  	return out, req.Send()
   386  }
   387  
   388  const opCreateParameterGroup = "CreateParameterGroup"
   389  
   390  // CreateParameterGroupRequest generates a "aws/request.Request" representing the
   391  // client's request for the CreateParameterGroup operation. The "output" return
   392  // value will be populated with the request's response once the request completes
   393  // successfully.
   394  //
   395  // Use "Send" method on the returned Request to send the API call to the service.
   396  // the "output" return value is not valid until after Send returns without error.
   397  //
   398  // See CreateParameterGroup for more information on using the CreateParameterGroup
   399  // API call, and error handling.
   400  //
   401  // This method is useful when you want to inject custom logic or configuration
   402  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   403  //
   404  //
   405  //    // Example sending a request using the CreateParameterGroupRequest method.
   406  //    req, resp := client.CreateParameterGroupRequest(params)
   407  //
   408  //    err := req.Send()
   409  //    if err == nil { // resp is now filled
   410  //        fmt.Println(resp)
   411  //    }
   412  //
   413  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateParameterGroup
   414  func (c *MemoryDB) CreateParameterGroupRequest(input *CreateParameterGroupInput) (req *request.Request, output *CreateParameterGroupOutput) {
   415  	op := &request.Operation{
   416  		Name:       opCreateParameterGroup,
   417  		HTTPMethod: "POST",
   418  		HTTPPath:   "/",
   419  	}
   420  
   421  	if input == nil {
   422  		input = &CreateParameterGroupInput{}
   423  	}
   424  
   425  	output = &CreateParameterGroupOutput{}
   426  	req = c.newRequest(op, input, output)
   427  	return
   428  }
   429  
   430  // CreateParameterGroup API operation for Amazon MemoryDB.
   431  //
   432  // Creates a new MemoryDB parameter group. A parameter group is a collection
   433  // of parameters and their values that are applied to all of the nodes in any
   434  // cluster. For more information, see Configuring engine parameters using parameter
   435  // groups (https://docs.aws.amazon.com/MemoryDB/latest/devguide/parametergroups.html).
   436  //
   437  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   438  // with awserr.Error's Code and Message methods to get detailed information about
   439  // the error.
   440  //
   441  // See the AWS API reference guide for Amazon MemoryDB's
   442  // API operation CreateParameterGroup for usage and error information.
   443  //
   444  // Returned Error Types:
   445  //   * ParameterGroupQuotaExceededFault
   446  //
   447  //   * ParameterGroupAlreadyExistsFault
   448  //
   449  //   * InvalidParameterGroupStateFault
   450  //
   451  //   * ServiceLinkedRoleNotFoundFault
   452  //
   453  //   * TagQuotaPerResourceExceeded
   454  //
   455  //   * InvalidParameterValueException
   456  //
   457  //   * InvalidParameterCombinationException
   458  //
   459  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateParameterGroup
   460  func (c *MemoryDB) CreateParameterGroup(input *CreateParameterGroupInput) (*CreateParameterGroupOutput, error) {
   461  	req, out := c.CreateParameterGroupRequest(input)
   462  	return out, req.Send()
   463  }
   464  
   465  // CreateParameterGroupWithContext is the same as CreateParameterGroup with the addition of
   466  // the ability to pass a context and additional request options.
   467  //
   468  // See CreateParameterGroup for details on how to use this API operation.
   469  //
   470  // The context must be non-nil and will be used for request cancellation. If
   471  // the context is nil a panic will occur. In the future the SDK may create
   472  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   473  // for more information on using Contexts.
   474  func (c *MemoryDB) CreateParameterGroupWithContext(ctx aws.Context, input *CreateParameterGroupInput, opts ...request.Option) (*CreateParameterGroupOutput, error) {
   475  	req, out := c.CreateParameterGroupRequest(input)
   476  	req.SetContext(ctx)
   477  	req.ApplyOptions(opts...)
   478  	return out, req.Send()
   479  }
   480  
   481  const opCreateSnapshot = "CreateSnapshot"
   482  
   483  // CreateSnapshotRequest generates a "aws/request.Request" representing the
   484  // client's request for the CreateSnapshot operation. The "output" return
   485  // value will be populated with the request's response once the request completes
   486  // successfully.
   487  //
   488  // Use "Send" method on the returned Request to send the API call to the service.
   489  // the "output" return value is not valid until after Send returns without error.
   490  //
   491  // See CreateSnapshot for more information on using the CreateSnapshot
   492  // API call, and error handling.
   493  //
   494  // This method is useful when you want to inject custom logic or configuration
   495  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   496  //
   497  //
   498  //    // Example sending a request using the CreateSnapshotRequest method.
   499  //    req, resp := client.CreateSnapshotRequest(params)
   500  //
   501  //    err := req.Send()
   502  //    if err == nil { // resp is now filled
   503  //        fmt.Println(resp)
   504  //    }
   505  //
   506  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateSnapshot
   507  func (c *MemoryDB) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *CreateSnapshotOutput) {
   508  	op := &request.Operation{
   509  		Name:       opCreateSnapshot,
   510  		HTTPMethod: "POST",
   511  		HTTPPath:   "/",
   512  	}
   513  
   514  	if input == nil {
   515  		input = &CreateSnapshotInput{}
   516  	}
   517  
   518  	output = &CreateSnapshotOutput{}
   519  	req = c.newRequest(op, input, output)
   520  	return
   521  }
   522  
   523  // CreateSnapshot API operation for Amazon MemoryDB.
   524  //
   525  // Creates a copy of an entire cluster at a specific moment in time.
   526  //
   527  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   528  // with awserr.Error's Code and Message methods to get detailed information about
   529  // the error.
   530  //
   531  // See the AWS API reference guide for Amazon MemoryDB's
   532  // API operation CreateSnapshot for usage and error information.
   533  //
   534  // Returned Error Types:
   535  //   * SnapshotAlreadyExistsFault
   536  //
   537  //   * ClusterNotFoundFault
   538  //
   539  //   * InvalidClusterStateFault
   540  //
   541  //   * SnapshotQuotaExceededFault
   542  //
   543  //   * ServiceLinkedRoleNotFoundFault
   544  //
   545  //   * InvalidParameterCombinationException
   546  //
   547  //   * InvalidParameterValueException
   548  //
   549  //   * TagQuotaPerResourceExceeded
   550  //
   551  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateSnapshot
   552  func (c *MemoryDB) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapshotOutput, error) {
   553  	req, out := c.CreateSnapshotRequest(input)
   554  	return out, req.Send()
   555  }
   556  
   557  // CreateSnapshotWithContext is the same as CreateSnapshot with the addition of
   558  // the ability to pass a context and additional request options.
   559  //
   560  // See CreateSnapshot for details on how to use this API operation.
   561  //
   562  // The context must be non-nil and will be used for request cancellation. If
   563  // the context is nil a panic will occur. In the future the SDK may create
   564  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   565  // for more information on using Contexts.
   566  func (c *MemoryDB) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*CreateSnapshotOutput, error) {
   567  	req, out := c.CreateSnapshotRequest(input)
   568  	req.SetContext(ctx)
   569  	req.ApplyOptions(opts...)
   570  	return out, req.Send()
   571  }
   572  
   573  const opCreateSubnetGroup = "CreateSubnetGroup"
   574  
   575  // CreateSubnetGroupRequest generates a "aws/request.Request" representing the
   576  // client's request for the CreateSubnetGroup operation. The "output" return
   577  // value will be populated with the request's response once the request completes
   578  // successfully.
   579  //
   580  // Use "Send" method on the returned Request to send the API call to the service.
   581  // the "output" return value is not valid until after Send returns without error.
   582  //
   583  // See CreateSubnetGroup for more information on using the CreateSubnetGroup
   584  // API call, and error handling.
   585  //
   586  // This method is useful when you want to inject custom logic or configuration
   587  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   588  //
   589  //
   590  //    // Example sending a request using the CreateSubnetGroupRequest method.
   591  //    req, resp := client.CreateSubnetGroupRequest(params)
   592  //
   593  //    err := req.Send()
   594  //    if err == nil { // resp is now filled
   595  //        fmt.Println(resp)
   596  //    }
   597  //
   598  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateSubnetGroup
   599  func (c *MemoryDB) CreateSubnetGroupRequest(input *CreateSubnetGroupInput) (req *request.Request, output *CreateSubnetGroupOutput) {
   600  	op := &request.Operation{
   601  		Name:       opCreateSubnetGroup,
   602  		HTTPMethod: "POST",
   603  		HTTPPath:   "/",
   604  	}
   605  
   606  	if input == nil {
   607  		input = &CreateSubnetGroupInput{}
   608  	}
   609  
   610  	output = &CreateSubnetGroupOutput{}
   611  	req = c.newRequest(op, input, output)
   612  	return
   613  }
   614  
   615  // CreateSubnetGroup API operation for Amazon MemoryDB.
   616  //
   617  // Creates a subnet group. A subnet group is a collection of subnets (typically
   618  // private) that you can designate for your clusters running in an Amazon Virtual
   619  // Private Cloud (VPC) environment. When you create a cluster in an Amazon VPC,
   620  // you must specify a subnet group. MemoryDB uses that subnet group to choose
   621  // a subnet and IP addresses within that subnet to associate with your nodes.
   622  // For more information, see Subnets and subnet groups (https://docs.aws.amazon.com/MemoryDB/latest/devguide/subnetgroups.html).
   623  //
   624  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   625  // with awserr.Error's Code and Message methods to get detailed information about
   626  // the error.
   627  //
   628  // See the AWS API reference guide for Amazon MemoryDB's
   629  // API operation CreateSubnetGroup for usage and error information.
   630  //
   631  // Returned Error Types:
   632  //   * SubnetGroupAlreadyExistsFault
   633  //
   634  //   * SubnetGroupQuotaExceededFault
   635  //
   636  //   * SubnetQuotaExceededFault
   637  //
   638  //   * InvalidSubnet
   639  //
   640  //   * ServiceLinkedRoleNotFoundFault
   641  //
   642  //   * SubnetNotAllowedFault
   643  //
   644  //   * TagQuotaPerResourceExceeded
   645  //
   646  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateSubnetGroup
   647  func (c *MemoryDB) CreateSubnetGroup(input *CreateSubnetGroupInput) (*CreateSubnetGroupOutput, error) {
   648  	req, out := c.CreateSubnetGroupRequest(input)
   649  	return out, req.Send()
   650  }
   651  
   652  // CreateSubnetGroupWithContext is the same as CreateSubnetGroup with the addition of
   653  // the ability to pass a context and additional request options.
   654  //
   655  // See CreateSubnetGroup for details on how to use this API operation.
   656  //
   657  // The context must be non-nil and will be used for request cancellation. If
   658  // the context is nil a panic will occur. In the future the SDK may create
   659  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   660  // for more information on using Contexts.
   661  func (c *MemoryDB) CreateSubnetGroupWithContext(ctx aws.Context, input *CreateSubnetGroupInput, opts ...request.Option) (*CreateSubnetGroupOutput, error) {
   662  	req, out := c.CreateSubnetGroupRequest(input)
   663  	req.SetContext(ctx)
   664  	req.ApplyOptions(opts...)
   665  	return out, req.Send()
   666  }
   667  
   668  const opCreateUser = "CreateUser"
   669  
   670  // CreateUserRequest generates a "aws/request.Request" representing the
   671  // client's request for the CreateUser operation. The "output" return
   672  // value will be populated with the request's response once the request completes
   673  // successfully.
   674  //
   675  // Use "Send" method on the returned Request to send the API call to the service.
   676  // the "output" return value is not valid until after Send returns without error.
   677  //
   678  // See CreateUser for more information on using the CreateUser
   679  // API call, and error handling.
   680  //
   681  // This method is useful when you want to inject custom logic or configuration
   682  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   683  //
   684  //
   685  //    // Example sending a request using the CreateUserRequest method.
   686  //    req, resp := client.CreateUserRequest(params)
   687  //
   688  //    err := req.Send()
   689  //    if err == nil { // resp is now filled
   690  //        fmt.Println(resp)
   691  //    }
   692  //
   693  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateUser
   694  func (c *MemoryDB) CreateUserRequest(input *CreateUserInput) (req *request.Request, output *CreateUserOutput) {
   695  	op := &request.Operation{
   696  		Name:       opCreateUser,
   697  		HTTPMethod: "POST",
   698  		HTTPPath:   "/",
   699  	}
   700  
   701  	if input == nil {
   702  		input = &CreateUserInput{}
   703  	}
   704  
   705  	output = &CreateUserOutput{}
   706  	req = c.newRequest(op, input, output)
   707  	return
   708  }
   709  
   710  // CreateUser API operation for Amazon MemoryDB.
   711  //
   712  // Creates a MemoryDB user. For more information, see Authenticating users with
   713  // Access Contol Lists (ACLs) (https://docs.aws.amazon.com/MemoryDB/latest/devguide/clusters.acls.html).
   714  //
   715  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   716  // with awserr.Error's Code and Message methods to get detailed information about
   717  // the error.
   718  //
   719  // See the AWS API reference guide for Amazon MemoryDB's
   720  // API operation CreateUser for usage and error information.
   721  //
   722  // Returned Error Types:
   723  //   * UserAlreadyExistsFault
   724  //
   725  //   * UserQuotaExceededFault
   726  //
   727  //   * DuplicateUserNameFault
   728  //
   729  //   * InvalidParameterValueException
   730  //
   731  //   * InvalidParameterCombinationException
   732  //
   733  //   * TagQuotaPerResourceExceeded
   734  //
   735  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateUser
   736  func (c *MemoryDB) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) {
   737  	req, out := c.CreateUserRequest(input)
   738  	return out, req.Send()
   739  }
   740  
   741  // CreateUserWithContext is the same as CreateUser with the addition of
   742  // the ability to pass a context and additional request options.
   743  //
   744  // See CreateUser for details on how to use this API operation.
   745  //
   746  // The context must be non-nil and will be used for request cancellation. If
   747  // the context is nil a panic will occur. In the future the SDK may create
   748  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   749  // for more information on using Contexts.
   750  func (c *MemoryDB) CreateUserWithContext(ctx aws.Context, input *CreateUserInput, opts ...request.Option) (*CreateUserOutput, error) {
   751  	req, out := c.CreateUserRequest(input)
   752  	req.SetContext(ctx)
   753  	req.ApplyOptions(opts...)
   754  	return out, req.Send()
   755  }
   756  
   757  const opDeleteACL = "DeleteACL"
   758  
   759  // DeleteACLRequest generates a "aws/request.Request" representing the
   760  // client's request for the DeleteACL operation. The "output" return
   761  // value will be populated with the request's response once the request completes
   762  // successfully.
   763  //
   764  // Use "Send" method on the returned Request to send the API call to the service.
   765  // the "output" return value is not valid until after Send returns without error.
   766  //
   767  // See DeleteACL for more information on using the DeleteACL
   768  // API call, and error handling.
   769  //
   770  // This method is useful when you want to inject custom logic or configuration
   771  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   772  //
   773  //
   774  //    // Example sending a request using the DeleteACLRequest method.
   775  //    req, resp := client.DeleteACLRequest(params)
   776  //
   777  //    err := req.Send()
   778  //    if err == nil { // resp is now filled
   779  //        fmt.Println(resp)
   780  //    }
   781  //
   782  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteACL
   783  func (c *MemoryDB) DeleteACLRequest(input *DeleteACLInput) (req *request.Request, output *DeleteACLOutput) {
   784  	op := &request.Operation{
   785  		Name:       opDeleteACL,
   786  		HTTPMethod: "POST",
   787  		HTTPPath:   "/",
   788  	}
   789  
   790  	if input == nil {
   791  		input = &DeleteACLInput{}
   792  	}
   793  
   794  	output = &DeleteACLOutput{}
   795  	req = c.newRequest(op, input, output)
   796  	return
   797  }
   798  
   799  // DeleteACL API operation for Amazon MemoryDB.
   800  //
   801  // Deletes an Access Control List. The ACL must first be disassociated from
   802  // the cluster before it can be deleted. For more information, see Authenticating
   803  // users with Access Contol Lists (ACLs) (https://docs.aws.amazon.com/MemoryDB/latest/devguide/clusters.acls.html).
   804  //
   805  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   806  // with awserr.Error's Code and Message methods to get detailed information about
   807  // the error.
   808  //
   809  // See the AWS API reference guide for Amazon MemoryDB's
   810  // API operation DeleteACL for usage and error information.
   811  //
   812  // Returned Error Types:
   813  //   * ACLNotFoundFault
   814  //
   815  //   * InvalidACLStateFault
   816  //
   817  //   * InvalidParameterValueException
   818  //
   819  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteACL
   820  func (c *MemoryDB) DeleteACL(input *DeleteACLInput) (*DeleteACLOutput, error) {
   821  	req, out := c.DeleteACLRequest(input)
   822  	return out, req.Send()
   823  }
   824  
   825  // DeleteACLWithContext is the same as DeleteACL with the addition of
   826  // the ability to pass a context and additional request options.
   827  //
   828  // See DeleteACL for details on how to use this API operation.
   829  //
   830  // The context must be non-nil and will be used for request cancellation. If
   831  // the context is nil a panic will occur. In the future the SDK may create
   832  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   833  // for more information on using Contexts.
   834  func (c *MemoryDB) DeleteACLWithContext(ctx aws.Context, input *DeleteACLInput, opts ...request.Option) (*DeleteACLOutput, error) {
   835  	req, out := c.DeleteACLRequest(input)
   836  	req.SetContext(ctx)
   837  	req.ApplyOptions(opts...)
   838  	return out, req.Send()
   839  }
   840  
   841  const opDeleteCluster = "DeleteCluster"
   842  
   843  // DeleteClusterRequest generates a "aws/request.Request" representing the
   844  // client's request for the DeleteCluster operation. The "output" return
   845  // value will be populated with the request's response once the request completes
   846  // successfully.
   847  //
   848  // Use "Send" method on the returned Request to send the API call to the service.
   849  // the "output" return value is not valid until after Send returns without error.
   850  //
   851  // See DeleteCluster for more information on using the DeleteCluster
   852  // API call, and error handling.
   853  //
   854  // This method is useful when you want to inject custom logic or configuration
   855  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   856  //
   857  //
   858  //    // Example sending a request using the DeleteClusterRequest method.
   859  //    req, resp := client.DeleteClusterRequest(params)
   860  //
   861  //    err := req.Send()
   862  //    if err == nil { // resp is now filled
   863  //        fmt.Println(resp)
   864  //    }
   865  //
   866  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteCluster
   867  func (c *MemoryDB) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) {
   868  	op := &request.Operation{
   869  		Name:       opDeleteCluster,
   870  		HTTPMethod: "POST",
   871  		HTTPPath:   "/",
   872  	}
   873  
   874  	if input == nil {
   875  		input = &DeleteClusterInput{}
   876  	}
   877  
   878  	output = &DeleteClusterOutput{}
   879  	req = c.newRequest(op, input, output)
   880  	return
   881  }
   882  
   883  // DeleteCluster API operation for Amazon MemoryDB.
   884  //
   885  // Deletes a cluster. It also deletes all associated nodes and node endpoints
   886  //
   887  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   888  // with awserr.Error's Code and Message methods to get detailed information about
   889  // the error.
   890  //
   891  // See the AWS API reference guide for Amazon MemoryDB's
   892  // API operation DeleteCluster for usage and error information.
   893  //
   894  // Returned Error Types:
   895  //   * ClusterNotFoundFault
   896  //
   897  //   * InvalidClusterStateFault
   898  //
   899  //   * SnapshotAlreadyExistsFault
   900  //
   901  //   * ServiceLinkedRoleNotFoundFault
   902  //
   903  //   * InvalidParameterValueException
   904  //
   905  //   * InvalidParameterCombinationException
   906  //
   907  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteCluster
   908  func (c *MemoryDB) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) {
   909  	req, out := c.DeleteClusterRequest(input)
   910  	return out, req.Send()
   911  }
   912  
   913  // DeleteClusterWithContext is the same as DeleteCluster with the addition of
   914  // the ability to pass a context and additional request options.
   915  //
   916  // See DeleteCluster for details on how to use this API operation.
   917  //
   918  // The context must be non-nil and will be used for request cancellation. If
   919  // the context is nil a panic will occur. In the future the SDK may create
   920  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   921  // for more information on using Contexts.
   922  func (c *MemoryDB) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) {
   923  	req, out := c.DeleteClusterRequest(input)
   924  	req.SetContext(ctx)
   925  	req.ApplyOptions(opts...)
   926  	return out, req.Send()
   927  }
   928  
   929  const opDeleteParameterGroup = "DeleteParameterGroup"
   930  
   931  // DeleteParameterGroupRequest generates a "aws/request.Request" representing the
   932  // client's request for the DeleteParameterGroup operation. The "output" return
   933  // value will be populated with the request's response once the request completes
   934  // successfully.
   935  //
   936  // Use "Send" method on the returned Request to send the API call to the service.
   937  // the "output" return value is not valid until after Send returns without error.
   938  //
   939  // See DeleteParameterGroup for more information on using the DeleteParameterGroup
   940  // API call, and error handling.
   941  //
   942  // This method is useful when you want to inject custom logic or configuration
   943  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   944  //
   945  //
   946  //    // Example sending a request using the DeleteParameterGroupRequest method.
   947  //    req, resp := client.DeleteParameterGroupRequest(params)
   948  //
   949  //    err := req.Send()
   950  //    if err == nil { // resp is now filled
   951  //        fmt.Println(resp)
   952  //    }
   953  //
   954  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteParameterGroup
   955  func (c *MemoryDB) DeleteParameterGroupRequest(input *DeleteParameterGroupInput) (req *request.Request, output *DeleteParameterGroupOutput) {
   956  	op := &request.Operation{
   957  		Name:       opDeleteParameterGroup,
   958  		HTTPMethod: "POST",
   959  		HTTPPath:   "/",
   960  	}
   961  
   962  	if input == nil {
   963  		input = &DeleteParameterGroupInput{}
   964  	}
   965  
   966  	output = &DeleteParameterGroupOutput{}
   967  	req = c.newRequest(op, input, output)
   968  	return
   969  }
   970  
   971  // DeleteParameterGroup API operation for Amazon MemoryDB.
   972  //
   973  // Deletes the specified parameter group. You cannot delete a parameter group
   974  // if it is associated with any clusters. You cannot delete the default parameter
   975  // groups in your account.
   976  //
   977  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   978  // with awserr.Error's Code and Message methods to get detailed information about
   979  // the error.
   980  //
   981  // See the AWS API reference guide for Amazon MemoryDB's
   982  // API operation DeleteParameterGroup for usage and error information.
   983  //
   984  // Returned Error Types:
   985  //   * InvalidParameterGroupStateFault
   986  //
   987  //   * ParameterGroupNotFoundFault
   988  //
   989  //   * ServiceLinkedRoleNotFoundFault
   990  //
   991  //   * InvalidParameterValueException
   992  //
   993  //   * InvalidParameterCombinationException
   994  //
   995  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteParameterGroup
   996  func (c *MemoryDB) DeleteParameterGroup(input *DeleteParameterGroupInput) (*DeleteParameterGroupOutput, error) {
   997  	req, out := c.DeleteParameterGroupRequest(input)
   998  	return out, req.Send()
   999  }
  1000  
  1001  // DeleteParameterGroupWithContext is the same as DeleteParameterGroup with the addition of
  1002  // the ability to pass a context and additional request options.
  1003  //
  1004  // See DeleteParameterGroup for details on how to use this API operation.
  1005  //
  1006  // The context must be non-nil and will be used for request cancellation. If
  1007  // the context is nil a panic will occur. In the future the SDK may create
  1008  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1009  // for more information on using Contexts.
  1010  func (c *MemoryDB) DeleteParameterGroupWithContext(ctx aws.Context, input *DeleteParameterGroupInput, opts ...request.Option) (*DeleteParameterGroupOutput, error) {
  1011  	req, out := c.DeleteParameterGroupRequest(input)
  1012  	req.SetContext(ctx)
  1013  	req.ApplyOptions(opts...)
  1014  	return out, req.Send()
  1015  }
  1016  
  1017  const opDeleteSnapshot = "DeleteSnapshot"
  1018  
  1019  // DeleteSnapshotRequest generates a "aws/request.Request" representing the
  1020  // client's request for the DeleteSnapshot operation. The "output" return
  1021  // value will be populated with the request's response once the request completes
  1022  // successfully.
  1023  //
  1024  // Use "Send" method on the returned Request to send the API call to the service.
  1025  // the "output" return value is not valid until after Send returns without error.
  1026  //
  1027  // See DeleteSnapshot for more information on using the DeleteSnapshot
  1028  // API call, and error handling.
  1029  //
  1030  // This method is useful when you want to inject custom logic or configuration
  1031  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1032  //
  1033  //
  1034  //    // Example sending a request using the DeleteSnapshotRequest method.
  1035  //    req, resp := client.DeleteSnapshotRequest(params)
  1036  //
  1037  //    err := req.Send()
  1038  //    if err == nil { // resp is now filled
  1039  //        fmt.Println(resp)
  1040  //    }
  1041  //
  1042  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteSnapshot
  1043  func (c *MemoryDB) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
  1044  	op := &request.Operation{
  1045  		Name:       opDeleteSnapshot,
  1046  		HTTPMethod: "POST",
  1047  		HTTPPath:   "/",
  1048  	}
  1049  
  1050  	if input == nil {
  1051  		input = &DeleteSnapshotInput{}
  1052  	}
  1053  
  1054  	output = &DeleteSnapshotOutput{}
  1055  	req = c.newRequest(op, input, output)
  1056  	return
  1057  }
  1058  
  1059  // DeleteSnapshot API operation for Amazon MemoryDB.
  1060  //
  1061  // Deletes an existing snapshot. When you receive a successful response from
  1062  // this operation, MemoryDB immediately begins deleting the snapshot; you cannot
  1063  // cancel or revert this operation.
  1064  //
  1065  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1066  // with awserr.Error's Code and Message methods to get detailed information about
  1067  // the error.
  1068  //
  1069  // See the AWS API reference guide for Amazon MemoryDB's
  1070  // API operation DeleteSnapshot for usage and error information.
  1071  //
  1072  // Returned Error Types:
  1073  //   * SnapshotNotFoundFault
  1074  //
  1075  //   * InvalidSnapshotStateFault
  1076  //
  1077  //   * ServiceLinkedRoleNotFoundFault
  1078  //
  1079  //   * InvalidParameterValueException
  1080  //
  1081  //   * InvalidParameterCombinationException
  1082  //
  1083  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteSnapshot
  1084  func (c *MemoryDB) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
  1085  	req, out := c.DeleteSnapshotRequest(input)
  1086  	return out, req.Send()
  1087  }
  1088  
  1089  // DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of
  1090  // the ability to pass a context and additional request options.
  1091  //
  1092  // See DeleteSnapshot for details on how to use this API operation.
  1093  //
  1094  // The context must be non-nil and will be used for request cancellation. If
  1095  // the context is nil a panic will occur. In the future the SDK may create
  1096  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1097  // for more information on using Contexts.
  1098  func (c *MemoryDB) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) {
  1099  	req, out := c.DeleteSnapshotRequest(input)
  1100  	req.SetContext(ctx)
  1101  	req.ApplyOptions(opts...)
  1102  	return out, req.Send()
  1103  }
  1104  
  1105  const opDeleteSubnetGroup = "DeleteSubnetGroup"
  1106  
  1107  // DeleteSubnetGroupRequest generates a "aws/request.Request" representing the
  1108  // client's request for the DeleteSubnetGroup operation. The "output" return
  1109  // value will be populated with the request's response once the request completes
  1110  // successfully.
  1111  //
  1112  // Use "Send" method on the returned Request to send the API call to the service.
  1113  // the "output" return value is not valid until after Send returns without error.
  1114  //
  1115  // See DeleteSubnetGroup for more information on using the DeleteSubnetGroup
  1116  // API call, and error handling.
  1117  //
  1118  // This method is useful when you want to inject custom logic or configuration
  1119  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1120  //
  1121  //
  1122  //    // Example sending a request using the DeleteSubnetGroupRequest method.
  1123  //    req, resp := client.DeleteSubnetGroupRequest(params)
  1124  //
  1125  //    err := req.Send()
  1126  //    if err == nil { // resp is now filled
  1127  //        fmt.Println(resp)
  1128  //    }
  1129  //
  1130  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteSubnetGroup
  1131  func (c *MemoryDB) DeleteSubnetGroupRequest(input *DeleteSubnetGroupInput) (req *request.Request, output *DeleteSubnetGroupOutput) {
  1132  	op := &request.Operation{
  1133  		Name:       opDeleteSubnetGroup,
  1134  		HTTPMethod: "POST",
  1135  		HTTPPath:   "/",
  1136  	}
  1137  
  1138  	if input == nil {
  1139  		input = &DeleteSubnetGroupInput{}
  1140  	}
  1141  
  1142  	output = &DeleteSubnetGroupOutput{}
  1143  	req = c.newRequest(op, input, output)
  1144  	return
  1145  }
  1146  
  1147  // DeleteSubnetGroup API operation for Amazon MemoryDB.
  1148  //
  1149  // Deletes a subnet group. You cannot delete a default subnet group or one that
  1150  // is associated with any clusters.
  1151  //
  1152  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1153  // with awserr.Error's Code and Message methods to get detailed information about
  1154  // the error.
  1155  //
  1156  // See the AWS API reference guide for Amazon MemoryDB's
  1157  // API operation DeleteSubnetGroup for usage and error information.
  1158  //
  1159  // Returned Error Types:
  1160  //   * SubnetGroupInUseFault
  1161  //
  1162  //   * SubnetGroupNotFoundFault
  1163  //
  1164  //   * ServiceLinkedRoleNotFoundFault
  1165  //
  1166  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteSubnetGroup
  1167  func (c *MemoryDB) DeleteSubnetGroup(input *DeleteSubnetGroupInput) (*DeleteSubnetGroupOutput, error) {
  1168  	req, out := c.DeleteSubnetGroupRequest(input)
  1169  	return out, req.Send()
  1170  }
  1171  
  1172  // DeleteSubnetGroupWithContext is the same as DeleteSubnetGroup with the addition of
  1173  // the ability to pass a context and additional request options.
  1174  //
  1175  // See DeleteSubnetGroup for details on how to use this API operation.
  1176  //
  1177  // The context must be non-nil and will be used for request cancellation. If
  1178  // the context is nil a panic will occur. In the future the SDK may create
  1179  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1180  // for more information on using Contexts.
  1181  func (c *MemoryDB) DeleteSubnetGroupWithContext(ctx aws.Context, input *DeleteSubnetGroupInput, opts ...request.Option) (*DeleteSubnetGroupOutput, error) {
  1182  	req, out := c.DeleteSubnetGroupRequest(input)
  1183  	req.SetContext(ctx)
  1184  	req.ApplyOptions(opts...)
  1185  	return out, req.Send()
  1186  }
  1187  
  1188  const opDeleteUser = "DeleteUser"
  1189  
  1190  // DeleteUserRequest generates a "aws/request.Request" representing the
  1191  // client's request for the DeleteUser operation. The "output" return
  1192  // value will be populated with the request's response once the request completes
  1193  // successfully.
  1194  //
  1195  // Use "Send" method on the returned Request to send the API call to the service.
  1196  // the "output" return value is not valid until after Send returns without error.
  1197  //
  1198  // See DeleteUser for more information on using the DeleteUser
  1199  // API call, and error handling.
  1200  //
  1201  // This method is useful when you want to inject custom logic or configuration
  1202  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1203  //
  1204  //
  1205  //    // Example sending a request using the DeleteUserRequest method.
  1206  //    req, resp := client.DeleteUserRequest(params)
  1207  //
  1208  //    err := req.Send()
  1209  //    if err == nil { // resp is now filled
  1210  //        fmt.Println(resp)
  1211  //    }
  1212  //
  1213  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteUser
  1214  func (c *MemoryDB) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) {
  1215  	op := &request.Operation{
  1216  		Name:       opDeleteUser,
  1217  		HTTPMethod: "POST",
  1218  		HTTPPath:   "/",
  1219  	}
  1220  
  1221  	if input == nil {
  1222  		input = &DeleteUserInput{}
  1223  	}
  1224  
  1225  	output = &DeleteUserOutput{}
  1226  	req = c.newRequest(op, input, output)
  1227  	return
  1228  }
  1229  
  1230  // DeleteUser API operation for Amazon MemoryDB.
  1231  //
  1232  // Deletes a user. The user will be removed from all ACLs and in turn removed
  1233  // from all clusters.
  1234  //
  1235  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1236  // with awserr.Error's Code and Message methods to get detailed information about
  1237  // the error.
  1238  //
  1239  // See the AWS API reference guide for Amazon MemoryDB's
  1240  // API operation DeleteUser for usage and error information.
  1241  //
  1242  // Returned Error Types:
  1243  //   * InvalidUserStateFault
  1244  //
  1245  //   * UserNotFoundFault
  1246  //
  1247  //   * InvalidParameterValueException
  1248  //
  1249  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteUser
  1250  func (c *MemoryDB) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) {
  1251  	req, out := c.DeleteUserRequest(input)
  1252  	return out, req.Send()
  1253  }
  1254  
  1255  // DeleteUserWithContext is the same as DeleteUser with the addition of
  1256  // the ability to pass a context and additional request options.
  1257  //
  1258  // See DeleteUser for details on how to use this API operation.
  1259  //
  1260  // The context must be non-nil and will be used for request cancellation. If
  1261  // the context is nil a panic will occur. In the future the SDK may create
  1262  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1263  // for more information on using Contexts.
  1264  func (c *MemoryDB) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) {
  1265  	req, out := c.DeleteUserRequest(input)
  1266  	req.SetContext(ctx)
  1267  	req.ApplyOptions(opts...)
  1268  	return out, req.Send()
  1269  }
  1270  
  1271  const opDescribeACLs = "DescribeACLs"
  1272  
  1273  // DescribeACLsRequest generates a "aws/request.Request" representing the
  1274  // client's request for the DescribeACLs operation. The "output" return
  1275  // value will be populated with the request's response once the request completes
  1276  // successfully.
  1277  //
  1278  // Use "Send" method on the returned Request to send the API call to the service.
  1279  // the "output" return value is not valid until after Send returns without error.
  1280  //
  1281  // See DescribeACLs for more information on using the DescribeACLs
  1282  // API call, and error handling.
  1283  //
  1284  // This method is useful when you want to inject custom logic or configuration
  1285  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1286  //
  1287  //
  1288  //    // Example sending a request using the DescribeACLsRequest method.
  1289  //    req, resp := client.DescribeACLsRequest(params)
  1290  //
  1291  //    err := req.Send()
  1292  //    if err == nil { // resp is now filled
  1293  //        fmt.Println(resp)
  1294  //    }
  1295  //
  1296  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeACLs
  1297  func (c *MemoryDB) DescribeACLsRequest(input *DescribeACLsInput) (req *request.Request, output *DescribeACLsOutput) {
  1298  	op := &request.Operation{
  1299  		Name:       opDescribeACLs,
  1300  		HTTPMethod: "POST",
  1301  		HTTPPath:   "/",
  1302  	}
  1303  
  1304  	if input == nil {
  1305  		input = &DescribeACLsInput{}
  1306  	}
  1307  
  1308  	output = &DescribeACLsOutput{}
  1309  	req = c.newRequest(op, input, output)
  1310  	return
  1311  }
  1312  
  1313  // DescribeACLs API operation for Amazon MemoryDB.
  1314  //
  1315  // Returns a list of ACLs
  1316  //
  1317  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1318  // with awserr.Error's Code and Message methods to get detailed information about
  1319  // the error.
  1320  //
  1321  // See the AWS API reference guide for Amazon MemoryDB's
  1322  // API operation DescribeACLs for usage and error information.
  1323  //
  1324  // Returned Error Types:
  1325  //   * ACLNotFoundFault
  1326  //
  1327  //   * InvalidParameterCombinationException
  1328  //
  1329  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeACLs
  1330  func (c *MemoryDB) DescribeACLs(input *DescribeACLsInput) (*DescribeACLsOutput, error) {
  1331  	req, out := c.DescribeACLsRequest(input)
  1332  	return out, req.Send()
  1333  }
  1334  
  1335  // DescribeACLsWithContext is the same as DescribeACLs with the addition of
  1336  // the ability to pass a context and additional request options.
  1337  //
  1338  // See DescribeACLs for details on how to use this API operation.
  1339  //
  1340  // The context must be non-nil and will be used for request cancellation. If
  1341  // the context is nil a panic will occur. In the future the SDK may create
  1342  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1343  // for more information on using Contexts.
  1344  func (c *MemoryDB) DescribeACLsWithContext(ctx aws.Context, input *DescribeACLsInput, opts ...request.Option) (*DescribeACLsOutput, error) {
  1345  	req, out := c.DescribeACLsRequest(input)
  1346  	req.SetContext(ctx)
  1347  	req.ApplyOptions(opts...)
  1348  	return out, req.Send()
  1349  }
  1350  
  1351  const opDescribeClusters = "DescribeClusters"
  1352  
  1353  // DescribeClustersRequest generates a "aws/request.Request" representing the
  1354  // client's request for the DescribeClusters operation. The "output" return
  1355  // value will be populated with the request's response once the request completes
  1356  // successfully.
  1357  //
  1358  // Use "Send" method on the returned Request to send the API call to the service.
  1359  // the "output" return value is not valid until after Send returns without error.
  1360  //
  1361  // See DescribeClusters for more information on using the DescribeClusters
  1362  // API call, and error handling.
  1363  //
  1364  // This method is useful when you want to inject custom logic or configuration
  1365  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1366  //
  1367  //
  1368  //    // Example sending a request using the DescribeClustersRequest method.
  1369  //    req, resp := client.DescribeClustersRequest(params)
  1370  //
  1371  //    err := req.Send()
  1372  //    if err == nil { // resp is now filled
  1373  //        fmt.Println(resp)
  1374  //    }
  1375  //
  1376  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeClusters
  1377  func (c *MemoryDB) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) {
  1378  	op := &request.Operation{
  1379  		Name:       opDescribeClusters,
  1380  		HTTPMethod: "POST",
  1381  		HTTPPath:   "/",
  1382  	}
  1383  
  1384  	if input == nil {
  1385  		input = &DescribeClustersInput{}
  1386  	}
  1387  
  1388  	output = &DescribeClustersOutput{}
  1389  	req = c.newRequest(op, input, output)
  1390  	return
  1391  }
  1392  
  1393  // DescribeClusters API operation for Amazon MemoryDB.
  1394  //
  1395  // Returns information about all provisioned clusters if no cluster identifier
  1396  // is specified, or about a specific cluster if a cluster name is supplied.
  1397  //
  1398  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1399  // with awserr.Error's Code and Message methods to get detailed information about
  1400  // the error.
  1401  //
  1402  // See the AWS API reference guide for Amazon MemoryDB's
  1403  // API operation DescribeClusters for usage and error information.
  1404  //
  1405  // Returned Error Types:
  1406  //   * ClusterNotFoundFault
  1407  //
  1408  //   * ServiceLinkedRoleNotFoundFault
  1409  //
  1410  //   * InvalidParameterValueException
  1411  //
  1412  //   * InvalidParameterCombinationException
  1413  //
  1414  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeClusters
  1415  func (c *MemoryDB) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) {
  1416  	req, out := c.DescribeClustersRequest(input)
  1417  	return out, req.Send()
  1418  }
  1419  
  1420  // DescribeClustersWithContext is the same as DescribeClusters with the addition of
  1421  // the ability to pass a context and additional request options.
  1422  //
  1423  // See DescribeClusters for details on how to use this API operation.
  1424  //
  1425  // The context must be non-nil and will be used for request cancellation. If
  1426  // the context is nil a panic will occur. In the future the SDK may create
  1427  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1428  // for more information on using Contexts.
  1429  func (c *MemoryDB) DescribeClustersWithContext(ctx aws.Context, input *DescribeClustersInput, opts ...request.Option) (*DescribeClustersOutput, error) {
  1430  	req, out := c.DescribeClustersRequest(input)
  1431  	req.SetContext(ctx)
  1432  	req.ApplyOptions(opts...)
  1433  	return out, req.Send()
  1434  }
  1435  
  1436  const opDescribeEngineVersions = "DescribeEngineVersions"
  1437  
  1438  // DescribeEngineVersionsRequest generates a "aws/request.Request" representing the
  1439  // client's request for the DescribeEngineVersions operation. The "output" return
  1440  // value will be populated with the request's response once the request completes
  1441  // successfully.
  1442  //
  1443  // Use "Send" method on the returned Request to send the API call to the service.
  1444  // the "output" return value is not valid until after Send returns without error.
  1445  //
  1446  // See DescribeEngineVersions for more information on using the DescribeEngineVersions
  1447  // API call, and error handling.
  1448  //
  1449  // This method is useful when you want to inject custom logic or configuration
  1450  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1451  //
  1452  //
  1453  //    // Example sending a request using the DescribeEngineVersionsRequest method.
  1454  //    req, resp := client.DescribeEngineVersionsRequest(params)
  1455  //
  1456  //    err := req.Send()
  1457  //    if err == nil { // resp is now filled
  1458  //        fmt.Println(resp)
  1459  //    }
  1460  //
  1461  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeEngineVersions
  1462  func (c *MemoryDB) DescribeEngineVersionsRequest(input *DescribeEngineVersionsInput) (req *request.Request, output *DescribeEngineVersionsOutput) {
  1463  	op := &request.Operation{
  1464  		Name:       opDescribeEngineVersions,
  1465  		HTTPMethod: "POST",
  1466  		HTTPPath:   "/",
  1467  	}
  1468  
  1469  	if input == nil {
  1470  		input = &DescribeEngineVersionsInput{}
  1471  	}
  1472  
  1473  	output = &DescribeEngineVersionsOutput{}
  1474  	req = c.newRequest(op, input, output)
  1475  	return
  1476  }
  1477  
  1478  // DescribeEngineVersions API operation for Amazon MemoryDB.
  1479  //
  1480  // Returns a list of the available Redis engine versions.
  1481  //
  1482  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1483  // with awserr.Error's Code and Message methods to get detailed information about
  1484  // the error.
  1485  //
  1486  // See the AWS API reference guide for Amazon MemoryDB's
  1487  // API operation DescribeEngineVersions for usage and error information.
  1488  //
  1489  // Returned Error Types:
  1490  //   * ServiceLinkedRoleNotFoundFault
  1491  //
  1492  //   * InvalidParameterValueException
  1493  //
  1494  //   * InvalidParameterCombinationException
  1495  //
  1496  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeEngineVersions
  1497  func (c *MemoryDB) DescribeEngineVersions(input *DescribeEngineVersionsInput) (*DescribeEngineVersionsOutput, error) {
  1498  	req, out := c.DescribeEngineVersionsRequest(input)
  1499  	return out, req.Send()
  1500  }
  1501  
  1502  // DescribeEngineVersionsWithContext is the same as DescribeEngineVersions with the addition of
  1503  // the ability to pass a context and additional request options.
  1504  //
  1505  // See DescribeEngineVersions for details on how to use this API operation.
  1506  //
  1507  // The context must be non-nil and will be used for request cancellation. If
  1508  // the context is nil a panic will occur. In the future the SDK may create
  1509  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1510  // for more information on using Contexts.
  1511  func (c *MemoryDB) DescribeEngineVersionsWithContext(ctx aws.Context, input *DescribeEngineVersionsInput, opts ...request.Option) (*DescribeEngineVersionsOutput, error) {
  1512  	req, out := c.DescribeEngineVersionsRequest(input)
  1513  	req.SetContext(ctx)
  1514  	req.ApplyOptions(opts...)
  1515  	return out, req.Send()
  1516  }
  1517  
  1518  const opDescribeEvents = "DescribeEvents"
  1519  
  1520  // DescribeEventsRequest generates a "aws/request.Request" representing the
  1521  // client's request for the DescribeEvents operation. The "output" return
  1522  // value will be populated with the request's response once the request completes
  1523  // successfully.
  1524  //
  1525  // Use "Send" method on the returned Request to send the API call to the service.
  1526  // the "output" return value is not valid until after Send returns without error.
  1527  //
  1528  // See DescribeEvents for more information on using the DescribeEvents
  1529  // API call, and error handling.
  1530  //
  1531  // This method is useful when you want to inject custom logic or configuration
  1532  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1533  //
  1534  //
  1535  //    // Example sending a request using the DescribeEventsRequest method.
  1536  //    req, resp := client.DescribeEventsRequest(params)
  1537  //
  1538  //    err := req.Send()
  1539  //    if err == nil { // resp is now filled
  1540  //        fmt.Println(resp)
  1541  //    }
  1542  //
  1543  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeEvents
  1544  func (c *MemoryDB) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
  1545  	op := &request.Operation{
  1546  		Name:       opDescribeEvents,
  1547  		HTTPMethod: "POST",
  1548  		HTTPPath:   "/",
  1549  	}
  1550  
  1551  	if input == nil {
  1552  		input = &DescribeEventsInput{}
  1553  	}
  1554  
  1555  	output = &DescribeEventsOutput{}
  1556  	req = c.newRequest(op, input, output)
  1557  	return
  1558  }
  1559  
  1560  // DescribeEvents API operation for Amazon MemoryDB.
  1561  //
  1562  // Returns events related to clusters, security groups, and parameter groups.
  1563  // You can obtain events specific to a particular cluster, security group, or
  1564  // parameter group by providing the name as a parameter. By default, only the
  1565  // events occurring within the last hour are returned; however, you can retrieve
  1566  // up to 14 days' worth of events if necessary.
  1567  //
  1568  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1569  // with awserr.Error's Code and Message methods to get detailed information about
  1570  // the error.
  1571  //
  1572  // See the AWS API reference guide for Amazon MemoryDB's
  1573  // API operation DescribeEvents for usage and error information.
  1574  //
  1575  // Returned Error Types:
  1576  //   * ServiceLinkedRoleNotFoundFault
  1577  //
  1578  //   * InvalidParameterValueException
  1579  //
  1580  //   * InvalidParameterCombinationException
  1581  //
  1582  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeEvents
  1583  func (c *MemoryDB) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
  1584  	req, out := c.DescribeEventsRequest(input)
  1585  	return out, req.Send()
  1586  }
  1587  
  1588  // DescribeEventsWithContext is the same as DescribeEvents with the addition of
  1589  // the ability to pass a context and additional request options.
  1590  //
  1591  // See DescribeEvents for details on how to use this API operation.
  1592  //
  1593  // The context must be non-nil and will be used for request cancellation. If
  1594  // the context is nil a panic will occur. In the future the SDK may create
  1595  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1596  // for more information on using Contexts.
  1597  func (c *MemoryDB) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
  1598  	req, out := c.DescribeEventsRequest(input)
  1599  	req.SetContext(ctx)
  1600  	req.ApplyOptions(opts...)
  1601  	return out, req.Send()
  1602  }
  1603  
  1604  const opDescribeParameterGroups = "DescribeParameterGroups"
  1605  
  1606  // DescribeParameterGroupsRequest generates a "aws/request.Request" representing the
  1607  // client's request for the DescribeParameterGroups operation. The "output" return
  1608  // value will be populated with the request's response once the request completes
  1609  // successfully.
  1610  //
  1611  // Use "Send" method on the returned Request to send the API call to the service.
  1612  // the "output" return value is not valid until after Send returns without error.
  1613  //
  1614  // See DescribeParameterGroups for more information on using the DescribeParameterGroups
  1615  // API call, and error handling.
  1616  //
  1617  // This method is useful when you want to inject custom logic or configuration
  1618  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1619  //
  1620  //
  1621  //    // Example sending a request using the DescribeParameterGroupsRequest method.
  1622  //    req, resp := client.DescribeParameterGroupsRequest(params)
  1623  //
  1624  //    err := req.Send()
  1625  //    if err == nil { // resp is now filled
  1626  //        fmt.Println(resp)
  1627  //    }
  1628  //
  1629  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeParameterGroups
  1630  func (c *MemoryDB) DescribeParameterGroupsRequest(input *DescribeParameterGroupsInput) (req *request.Request, output *DescribeParameterGroupsOutput) {
  1631  	op := &request.Operation{
  1632  		Name:       opDescribeParameterGroups,
  1633  		HTTPMethod: "POST",
  1634  		HTTPPath:   "/",
  1635  	}
  1636  
  1637  	if input == nil {
  1638  		input = &DescribeParameterGroupsInput{}
  1639  	}
  1640  
  1641  	output = &DescribeParameterGroupsOutput{}
  1642  	req = c.newRequest(op, input, output)
  1643  	return
  1644  }
  1645  
  1646  // DescribeParameterGroups API operation for Amazon MemoryDB.
  1647  //
  1648  // Returns a list of parameter group descriptions. If a parameter group name
  1649  // is specified, the list contains only the descriptions for that group.
  1650  //
  1651  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1652  // with awserr.Error's Code and Message methods to get detailed information about
  1653  // the error.
  1654  //
  1655  // See the AWS API reference guide for Amazon MemoryDB's
  1656  // API operation DescribeParameterGroups for usage and error information.
  1657  //
  1658  // Returned Error Types:
  1659  //   * ParameterGroupNotFoundFault
  1660  //
  1661  //   * ServiceLinkedRoleNotFoundFault
  1662  //
  1663  //   * InvalidParameterValueException
  1664  //
  1665  //   * InvalidParameterCombinationException
  1666  //
  1667  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeParameterGroups
  1668  func (c *MemoryDB) DescribeParameterGroups(input *DescribeParameterGroupsInput) (*DescribeParameterGroupsOutput, error) {
  1669  	req, out := c.DescribeParameterGroupsRequest(input)
  1670  	return out, req.Send()
  1671  }
  1672  
  1673  // DescribeParameterGroupsWithContext is the same as DescribeParameterGroups with the addition of
  1674  // the ability to pass a context and additional request options.
  1675  //
  1676  // See DescribeParameterGroups for details on how to use this API operation.
  1677  //
  1678  // The context must be non-nil and will be used for request cancellation. If
  1679  // the context is nil a panic will occur. In the future the SDK may create
  1680  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1681  // for more information on using Contexts.
  1682  func (c *MemoryDB) DescribeParameterGroupsWithContext(ctx aws.Context, input *DescribeParameterGroupsInput, opts ...request.Option) (*DescribeParameterGroupsOutput, error) {
  1683  	req, out := c.DescribeParameterGroupsRequest(input)
  1684  	req.SetContext(ctx)
  1685  	req.ApplyOptions(opts...)
  1686  	return out, req.Send()
  1687  }
  1688  
  1689  const opDescribeParameters = "DescribeParameters"
  1690  
  1691  // DescribeParametersRequest generates a "aws/request.Request" representing the
  1692  // client's request for the DescribeParameters operation. The "output" return
  1693  // value will be populated with the request's response once the request completes
  1694  // successfully.
  1695  //
  1696  // Use "Send" method on the returned Request to send the API call to the service.
  1697  // the "output" return value is not valid until after Send returns without error.
  1698  //
  1699  // See DescribeParameters for more information on using the DescribeParameters
  1700  // API call, and error handling.
  1701  //
  1702  // This method is useful when you want to inject custom logic or configuration
  1703  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1704  //
  1705  //
  1706  //    // Example sending a request using the DescribeParametersRequest method.
  1707  //    req, resp := client.DescribeParametersRequest(params)
  1708  //
  1709  //    err := req.Send()
  1710  //    if err == nil { // resp is now filled
  1711  //        fmt.Println(resp)
  1712  //    }
  1713  //
  1714  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeParameters
  1715  func (c *MemoryDB) DescribeParametersRequest(input *DescribeParametersInput) (req *request.Request, output *DescribeParametersOutput) {
  1716  	op := &request.Operation{
  1717  		Name:       opDescribeParameters,
  1718  		HTTPMethod: "POST",
  1719  		HTTPPath:   "/",
  1720  	}
  1721  
  1722  	if input == nil {
  1723  		input = &DescribeParametersInput{}
  1724  	}
  1725  
  1726  	output = &DescribeParametersOutput{}
  1727  	req = c.newRequest(op, input, output)
  1728  	return
  1729  }
  1730  
  1731  // DescribeParameters API operation for Amazon MemoryDB.
  1732  //
  1733  // Returns the detailed parameter list for a particular parameter group.
  1734  //
  1735  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1736  // with awserr.Error's Code and Message methods to get detailed information about
  1737  // the error.
  1738  //
  1739  // See the AWS API reference guide for Amazon MemoryDB's
  1740  // API operation DescribeParameters for usage and error information.
  1741  //
  1742  // Returned Error Types:
  1743  //   * ParameterGroupNotFoundFault
  1744  //
  1745  //   * ServiceLinkedRoleNotFoundFault
  1746  //
  1747  //   * InvalidParameterValueException
  1748  //
  1749  //   * InvalidParameterCombinationException
  1750  //
  1751  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeParameters
  1752  func (c *MemoryDB) DescribeParameters(input *DescribeParametersInput) (*DescribeParametersOutput, error) {
  1753  	req, out := c.DescribeParametersRequest(input)
  1754  	return out, req.Send()
  1755  }
  1756  
  1757  // DescribeParametersWithContext is the same as DescribeParameters with the addition of
  1758  // the ability to pass a context and additional request options.
  1759  //
  1760  // See DescribeParameters for details on how to use this API operation.
  1761  //
  1762  // The context must be non-nil and will be used for request cancellation. If
  1763  // the context is nil a panic will occur. In the future the SDK may create
  1764  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1765  // for more information on using Contexts.
  1766  func (c *MemoryDB) DescribeParametersWithContext(ctx aws.Context, input *DescribeParametersInput, opts ...request.Option) (*DescribeParametersOutput, error) {
  1767  	req, out := c.DescribeParametersRequest(input)
  1768  	req.SetContext(ctx)
  1769  	req.ApplyOptions(opts...)
  1770  	return out, req.Send()
  1771  }
  1772  
  1773  const opDescribeServiceUpdates = "DescribeServiceUpdates"
  1774  
  1775  // DescribeServiceUpdatesRequest generates a "aws/request.Request" representing the
  1776  // client's request for the DescribeServiceUpdates operation. The "output" return
  1777  // value will be populated with the request's response once the request completes
  1778  // successfully.
  1779  //
  1780  // Use "Send" method on the returned Request to send the API call to the service.
  1781  // the "output" return value is not valid until after Send returns without error.
  1782  //
  1783  // See DescribeServiceUpdates for more information on using the DescribeServiceUpdates
  1784  // API call, and error handling.
  1785  //
  1786  // This method is useful when you want to inject custom logic or configuration
  1787  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1788  //
  1789  //
  1790  //    // Example sending a request using the DescribeServiceUpdatesRequest method.
  1791  //    req, resp := client.DescribeServiceUpdatesRequest(params)
  1792  //
  1793  //    err := req.Send()
  1794  //    if err == nil { // resp is now filled
  1795  //        fmt.Println(resp)
  1796  //    }
  1797  //
  1798  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeServiceUpdates
  1799  func (c *MemoryDB) DescribeServiceUpdatesRequest(input *DescribeServiceUpdatesInput) (req *request.Request, output *DescribeServiceUpdatesOutput) {
  1800  	op := &request.Operation{
  1801  		Name:       opDescribeServiceUpdates,
  1802  		HTTPMethod: "POST",
  1803  		HTTPPath:   "/",
  1804  	}
  1805  
  1806  	if input == nil {
  1807  		input = &DescribeServiceUpdatesInput{}
  1808  	}
  1809  
  1810  	output = &DescribeServiceUpdatesOutput{}
  1811  	req = c.newRequest(op, input, output)
  1812  	return
  1813  }
  1814  
  1815  // DescribeServiceUpdates API operation for Amazon MemoryDB.
  1816  //
  1817  // Returns details of the service updates
  1818  //
  1819  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1820  // with awserr.Error's Code and Message methods to get detailed information about
  1821  // the error.
  1822  //
  1823  // See the AWS API reference guide for Amazon MemoryDB's
  1824  // API operation DescribeServiceUpdates for usage and error information.
  1825  //
  1826  // Returned Error Types:
  1827  //   * InvalidParameterValueException
  1828  //
  1829  //   * InvalidParameterCombinationException
  1830  //
  1831  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeServiceUpdates
  1832  func (c *MemoryDB) DescribeServiceUpdates(input *DescribeServiceUpdatesInput) (*DescribeServiceUpdatesOutput, error) {
  1833  	req, out := c.DescribeServiceUpdatesRequest(input)
  1834  	return out, req.Send()
  1835  }
  1836  
  1837  // DescribeServiceUpdatesWithContext is the same as DescribeServiceUpdates with the addition of
  1838  // the ability to pass a context and additional request options.
  1839  //
  1840  // See DescribeServiceUpdates for details on how to use this API operation.
  1841  //
  1842  // The context must be non-nil and will be used for request cancellation. If
  1843  // the context is nil a panic will occur. In the future the SDK may create
  1844  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1845  // for more information on using Contexts.
  1846  func (c *MemoryDB) DescribeServiceUpdatesWithContext(ctx aws.Context, input *DescribeServiceUpdatesInput, opts ...request.Option) (*DescribeServiceUpdatesOutput, error) {
  1847  	req, out := c.DescribeServiceUpdatesRequest(input)
  1848  	req.SetContext(ctx)
  1849  	req.ApplyOptions(opts...)
  1850  	return out, req.Send()
  1851  }
  1852  
  1853  const opDescribeSnapshots = "DescribeSnapshots"
  1854  
  1855  // DescribeSnapshotsRequest generates a "aws/request.Request" representing the
  1856  // client's request for the DescribeSnapshots operation. The "output" return
  1857  // value will be populated with the request's response once the request completes
  1858  // successfully.
  1859  //
  1860  // Use "Send" method on the returned Request to send the API call to the service.
  1861  // the "output" return value is not valid until after Send returns without error.
  1862  //
  1863  // See DescribeSnapshots for more information on using the DescribeSnapshots
  1864  // API call, and error handling.
  1865  //
  1866  // This method is useful when you want to inject custom logic or configuration
  1867  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1868  //
  1869  //
  1870  //    // Example sending a request using the DescribeSnapshotsRequest method.
  1871  //    req, resp := client.DescribeSnapshotsRequest(params)
  1872  //
  1873  //    err := req.Send()
  1874  //    if err == nil { // resp is now filled
  1875  //        fmt.Println(resp)
  1876  //    }
  1877  //
  1878  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeSnapshots
  1879  func (c *MemoryDB) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
  1880  	op := &request.Operation{
  1881  		Name:       opDescribeSnapshots,
  1882  		HTTPMethod: "POST",
  1883  		HTTPPath:   "/",
  1884  	}
  1885  
  1886  	if input == nil {
  1887  		input = &DescribeSnapshotsInput{}
  1888  	}
  1889  
  1890  	output = &DescribeSnapshotsOutput{}
  1891  	req = c.newRequest(op, input, output)
  1892  	return
  1893  }
  1894  
  1895  // DescribeSnapshots API operation for Amazon MemoryDB.
  1896  //
  1897  // Returns information about cluster snapshots. By default, DescribeSnapshots
  1898  // lists all of your snapshots; it can optionally describe a single snapshot,
  1899  // or just the snapshots associated with a particular cluster.
  1900  //
  1901  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1902  // with awserr.Error's Code and Message methods to get detailed information about
  1903  // the error.
  1904  //
  1905  // See the AWS API reference guide for Amazon MemoryDB's
  1906  // API operation DescribeSnapshots for usage and error information.
  1907  //
  1908  // Returned Error Types:
  1909  //   * SnapshotNotFoundFault
  1910  //
  1911  //   * ServiceLinkedRoleNotFoundFault
  1912  //
  1913  //   * InvalidParameterValueException
  1914  //
  1915  //   * InvalidParameterCombinationException
  1916  //
  1917  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeSnapshots
  1918  func (c *MemoryDB) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
  1919  	req, out := c.DescribeSnapshotsRequest(input)
  1920  	return out, req.Send()
  1921  }
  1922  
  1923  // DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of
  1924  // the ability to pass a context and additional request options.
  1925  //
  1926  // See DescribeSnapshots for details on how to use this API operation.
  1927  //
  1928  // The context must be non-nil and will be used for request cancellation. If
  1929  // the context is nil a panic will occur. In the future the SDK may create
  1930  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1931  // for more information on using Contexts.
  1932  func (c *MemoryDB) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) {
  1933  	req, out := c.DescribeSnapshotsRequest(input)
  1934  	req.SetContext(ctx)
  1935  	req.ApplyOptions(opts...)
  1936  	return out, req.Send()
  1937  }
  1938  
  1939  const opDescribeSubnetGroups = "DescribeSubnetGroups"
  1940  
  1941  // DescribeSubnetGroupsRequest generates a "aws/request.Request" representing the
  1942  // client's request for the DescribeSubnetGroups operation. The "output" return
  1943  // value will be populated with the request's response once the request completes
  1944  // successfully.
  1945  //
  1946  // Use "Send" method on the returned Request to send the API call to the service.
  1947  // the "output" return value is not valid until after Send returns without error.
  1948  //
  1949  // See DescribeSubnetGroups for more information on using the DescribeSubnetGroups
  1950  // API call, and error handling.
  1951  //
  1952  // This method is useful when you want to inject custom logic or configuration
  1953  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1954  //
  1955  //
  1956  //    // Example sending a request using the DescribeSubnetGroupsRequest method.
  1957  //    req, resp := client.DescribeSubnetGroupsRequest(params)
  1958  //
  1959  //    err := req.Send()
  1960  //    if err == nil { // resp is now filled
  1961  //        fmt.Println(resp)
  1962  //    }
  1963  //
  1964  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeSubnetGroups
  1965  func (c *MemoryDB) DescribeSubnetGroupsRequest(input *DescribeSubnetGroupsInput) (req *request.Request, output *DescribeSubnetGroupsOutput) {
  1966  	op := &request.Operation{
  1967  		Name:       opDescribeSubnetGroups,
  1968  		HTTPMethod: "POST",
  1969  		HTTPPath:   "/",
  1970  	}
  1971  
  1972  	if input == nil {
  1973  		input = &DescribeSubnetGroupsInput{}
  1974  	}
  1975  
  1976  	output = &DescribeSubnetGroupsOutput{}
  1977  	req = c.newRequest(op, input, output)
  1978  	return
  1979  }
  1980  
  1981  // DescribeSubnetGroups API operation for Amazon MemoryDB.
  1982  //
  1983  // Returns a list of subnet group descriptions. If a subnet group name is specified,
  1984  // the list contains only the description of that group.
  1985  //
  1986  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1987  // with awserr.Error's Code and Message methods to get detailed information about
  1988  // the error.
  1989  //
  1990  // See the AWS API reference guide for Amazon MemoryDB's
  1991  // API operation DescribeSubnetGroups for usage and error information.
  1992  //
  1993  // Returned Error Types:
  1994  //   * SubnetGroupNotFoundFault
  1995  //
  1996  //   * ServiceLinkedRoleNotFoundFault
  1997  //
  1998  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeSubnetGroups
  1999  func (c *MemoryDB) DescribeSubnetGroups(input *DescribeSubnetGroupsInput) (*DescribeSubnetGroupsOutput, error) {
  2000  	req, out := c.DescribeSubnetGroupsRequest(input)
  2001  	return out, req.Send()
  2002  }
  2003  
  2004  // DescribeSubnetGroupsWithContext is the same as DescribeSubnetGroups with the addition of
  2005  // the ability to pass a context and additional request options.
  2006  //
  2007  // See DescribeSubnetGroups for details on how to use this API operation.
  2008  //
  2009  // The context must be non-nil and will be used for request cancellation. If
  2010  // the context is nil a panic will occur. In the future the SDK may create
  2011  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2012  // for more information on using Contexts.
  2013  func (c *MemoryDB) DescribeSubnetGroupsWithContext(ctx aws.Context, input *DescribeSubnetGroupsInput, opts ...request.Option) (*DescribeSubnetGroupsOutput, error) {
  2014  	req, out := c.DescribeSubnetGroupsRequest(input)
  2015  	req.SetContext(ctx)
  2016  	req.ApplyOptions(opts...)
  2017  	return out, req.Send()
  2018  }
  2019  
  2020  const opDescribeUsers = "DescribeUsers"
  2021  
  2022  // DescribeUsersRequest generates a "aws/request.Request" representing the
  2023  // client's request for the DescribeUsers operation. The "output" return
  2024  // value will be populated with the request's response once the request completes
  2025  // successfully.
  2026  //
  2027  // Use "Send" method on the returned Request to send the API call to the service.
  2028  // the "output" return value is not valid until after Send returns without error.
  2029  //
  2030  // See DescribeUsers for more information on using the DescribeUsers
  2031  // API call, and error handling.
  2032  //
  2033  // This method is useful when you want to inject custom logic or configuration
  2034  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2035  //
  2036  //
  2037  //    // Example sending a request using the DescribeUsersRequest method.
  2038  //    req, resp := client.DescribeUsersRequest(params)
  2039  //
  2040  //    err := req.Send()
  2041  //    if err == nil { // resp is now filled
  2042  //        fmt.Println(resp)
  2043  //    }
  2044  //
  2045  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeUsers
  2046  func (c *MemoryDB) DescribeUsersRequest(input *DescribeUsersInput) (req *request.Request, output *DescribeUsersOutput) {
  2047  	op := &request.Operation{
  2048  		Name:       opDescribeUsers,
  2049  		HTTPMethod: "POST",
  2050  		HTTPPath:   "/",
  2051  	}
  2052  
  2053  	if input == nil {
  2054  		input = &DescribeUsersInput{}
  2055  	}
  2056  
  2057  	output = &DescribeUsersOutput{}
  2058  	req = c.newRequest(op, input, output)
  2059  	return
  2060  }
  2061  
  2062  // DescribeUsers API operation for Amazon MemoryDB.
  2063  //
  2064  // Returns a list of users.
  2065  //
  2066  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2067  // with awserr.Error's Code and Message methods to get detailed information about
  2068  // the error.
  2069  //
  2070  // See the AWS API reference guide for Amazon MemoryDB's
  2071  // API operation DescribeUsers for usage and error information.
  2072  //
  2073  // Returned Error Types:
  2074  //   * UserNotFoundFault
  2075  //
  2076  //   * InvalidParameterCombinationException
  2077  //
  2078  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeUsers
  2079  func (c *MemoryDB) DescribeUsers(input *DescribeUsersInput) (*DescribeUsersOutput, error) {
  2080  	req, out := c.DescribeUsersRequest(input)
  2081  	return out, req.Send()
  2082  }
  2083  
  2084  // DescribeUsersWithContext is the same as DescribeUsers with the addition of
  2085  // the ability to pass a context and additional request options.
  2086  //
  2087  // See DescribeUsers for details on how to use this API operation.
  2088  //
  2089  // The context must be non-nil and will be used for request cancellation. If
  2090  // the context is nil a panic will occur. In the future the SDK may create
  2091  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2092  // for more information on using Contexts.
  2093  func (c *MemoryDB) DescribeUsersWithContext(ctx aws.Context, input *DescribeUsersInput, opts ...request.Option) (*DescribeUsersOutput, error) {
  2094  	req, out := c.DescribeUsersRequest(input)
  2095  	req.SetContext(ctx)
  2096  	req.ApplyOptions(opts...)
  2097  	return out, req.Send()
  2098  }
  2099  
  2100  const opFailoverShard = "FailoverShard"
  2101  
  2102  // FailoverShardRequest generates a "aws/request.Request" representing the
  2103  // client's request for the FailoverShard operation. The "output" return
  2104  // value will be populated with the request's response once the request completes
  2105  // successfully.
  2106  //
  2107  // Use "Send" method on the returned Request to send the API call to the service.
  2108  // the "output" return value is not valid until after Send returns without error.
  2109  //
  2110  // See FailoverShard for more information on using the FailoverShard
  2111  // API call, and error handling.
  2112  //
  2113  // This method is useful when you want to inject custom logic or configuration
  2114  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2115  //
  2116  //
  2117  //    // Example sending a request using the FailoverShardRequest method.
  2118  //    req, resp := client.FailoverShardRequest(params)
  2119  //
  2120  //    err := req.Send()
  2121  //    if err == nil { // resp is now filled
  2122  //        fmt.Println(resp)
  2123  //    }
  2124  //
  2125  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/FailoverShard
  2126  func (c *MemoryDB) FailoverShardRequest(input *FailoverShardInput) (req *request.Request, output *FailoverShardOutput) {
  2127  	op := &request.Operation{
  2128  		Name:       opFailoverShard,
  2129  		HTTPMethod: "POST",
  2130  		HTTPPath:   "/",
  2131  	}
  2132  
  2133  	if input == nil {
  2134  		input = &FailoverShardInput{}
  2135  	}
  2136  
  2137  	output = &FailoverShardOutput{}
  2138  	req = c.newRequest(op, input, output)
  2139  	return
  2140  }
  2141  
  2142  // FailoverShard API operation for Amazon MemoryDB.
  2143  //
  2144  // Used to failover a shard
  2145  //
  2146  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2147  // with awserr.Error's Code and Message methods to get detailed information about
  2148  // the error.
  2149  //
  2150  // See the AWS API reference guide for Amazon MemoryDB's
  2151  // API operation FailoverShard for usage and error information.
  2152  //
  2153  // Returned Error Types:
  2154  //   * APICallRateForCustomerExceededFault
  2155  //
  2156  //   * InvalidClusterStateFault
  2157  //
  2158  //   * ShardNotFoundFault
  2159  //
  2160  //   * ClusterNotFoundFault
  2161  //
  2162  //   * TestFailoverNotAvailableFault
  2163  //
  2164  //   * InvalidKMSKeyFault
  2165  //
  2166  //   * InvalidParameterValueException
  2167  //
  2168  //   * InvalidParameterCombinationException
  2169  //
  2170  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/FailoverShard
  2171  func (c *MemoryDB) FailoverShard(input *FailoverShardInput) (*FailoverShardOutput, error) {
  2172  	req, out := c.FailoverShardRequest(input)
  2173  	return out, req.Send()
  2174  }
  2175  
  2176  // FailoverShardWithContext is the same as FailoverShard with the addition of
  2177  // the ability to pass a context and additional request options.
  2178  //
  2179  // See FailoverShard for details on how to use this API operation.
  2180  //
  2181  // The context must be non-nil and will be used for request cancellation. If
  2182  // the context is nil a panic will occur. In the future the SDK may create
  2183  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2184  // for more information on using Contexts.
  2185  func (c *MemoryDB) FailoverShardWithContext(ctx aws.Context, input *FailoverShardInput, opts ...request.Option) (*FailoverShardOutput, error) {
  2186  	req, out := c.FailoverShardRequest(input)
  2187  	req.SetContext(ctx)
  2188  	req.ApplyOptions(opts...)
  2189  	return out, req.Send()
  2190  }
  2191  
  2192  const opListAllowedNodeTypeUpdates = "ListAllowedNodeTypeUpdates"
  2193  
  2194  // ListAllowedNodeTypeUpdatesRequest generates a "aws/request.Request" representing the
  2195  // client's request for the ListAllowedNodeTypeUpdates operation. The "output" return
  2196  // value will be populated with the request's response once the request completes
  2197  // successfully.
  2198  //
  2199  // Use "Send" method on the returned Request to send the API call to the service.
  2200  // the "output" return value is not valid until after Send returns without error.
  2201  //
  2202  // See ListAllowedNodeTypeUpdates for more information on using the ListAllowedNodeTypeUpdates
  2203  // API call, and error handling.
  2204  //
  2205  // This method is useful when you want to inject custom logic or configuration
  2206  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2207  //
  2208  //
  2209  //    // Example sending a request using the ListAllowedNodeTypeUpdatesRequest method.
  2210  //    req, resp := client.ListAllowedNodeTypeUpdatesRequest(params)
  2211  //
  2212  //    err := req.Send()
  2213  //    if err == nil { // resp is now filled
  2214  //        fmt.Println(resp)
  2215  //    }
  2216  //
  2217  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/ListAllowedNodeTypeUpdates
  2218  func (c *MemoryDB) ListAllowedNodeTypeUpdatesRequest(input *ListAllowedNodeTypeUpdatesInput) (req *request.Request, output *ListAllowedNodeTypeUpdatesOutput) {
  2219  	op := &request.Operation{
  2220  		Name:       opListAllowedNodeTypeUpdates,
  2221  		HTTPMethod: "POST",
  2222  		HTTPPath:   "/",
  2223  	}
  2224  
  2225  	if input == nil {
  2226  		input = &ListAllowedNodeTypeUpdatesInput{}
  2227  	}
  2228  
  2229  	output = &ListAllowedNodeTypeUpdatesOutput{}
  2230  	req = c.newRequest(op, input, output)
  2231  	return
  2232  }
  2233  
  2234  // ListAllowedNodeTypeUpdates API operation for Amazon MemoryDB.
  2235  //
  2236  // Lists all available node types that you can scale to from your cluster's
  2237  // current node type. When you use the UpdateCluster operation to scale your
  2238  // cluster, the value of the NodeType parameter must be one of the node types
  2239  // returned by this operation.
  2240  //
  2241  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2242  // with awserr.Error's Code and Message methods to get detailed information about
  2243  // the error.
  2244  //
  2245  // See the AWS API reference guide for Amazon MemoryDB's
  2246  // API operation ListAllowedNodeTypeUpdates for usage and error information.
  2247  //
  2248  // Returned Error Types:
  2249  //   * ClusterNotFoundFault
  2250  //
  2251  //   * ServiceLinkedRoleNotFoundFault
  2252  //
  2253  //   * InvalidParameterCombinationException
  2254  //
  2255  //   * InvalidParameterValueException
  2256  //
  2257  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/ListAllowedNodeTypeUpdates
  2258  func (c *MemoryDB) ListAllowedNodeTypeUpdates(input *ListAllowedNodeTypeUpdatesInput) (*ListAllowedNodeTypeUpdatesOutput, error) {
  2259  	req, out := c.ListAllowedNodeTypeUpdatesRequest(input)
  2260  	return out, req.Send()
  2261  }
  2262  
  2263  // ListAllowedNodeTypeUpdatesWithContext is the same as ListAllowedNodeTypeUpdates with the addition of
  2264  // the ability to pass a context and additional request options.
  2265  //
  2266  // See ListAllowedNodeTypeUpdates for details on how to use this API operation.
  2267  //
  2268  // The context must be non-nil and will be used for request cancellation. If
  2269  // the context is nil a panic will occur. In the future the SDK may create
  2270  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2271  // for more information on using Contexts.
  2272  func (c *MemoryDB) ListAllowedNodeTypeUpdatesWithContext(ctx aws.Context, input *ListAllowedNodeTypeUpdatesInput, opts ...request.Option) (*ListAllowedNodeTypeUpdatesOutput, error) {
  2273  	req, out := c.ListAllowedNodeTypeUpdatesRequest(input)
  2274  	req.SetContext(ctx)
  2275  	req.ApplyOptions(opts...)
  2276  	return out, req.Send()
  2277  }
  2278  
  2279  const opListTags = "ListTags"
  2280  
  2281  // ListTagsRequest generates a "aws/request.Request" representing the
  2282  // client's request for the ListTags operation. The "output" return
  2283  // value will be populated with the request's response once the request completes
  2284  // successfully.
  2285  //
  2286  // Use "Send" method on the returned Request to send the API call to the service.
  2287  // the "output" return value is not valid until after Send returns without error.
  2288  //
  2289  // See ListTags for more information on using the ListTags
  2290  // API call, and error handling.
  2291  //
  2292  // This method is useful when you want to inject custom logic or configuration
  2293  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2294  //
  2295  //
  2296  //    // Example sending a request using the ListTagsRequest method.
  2297  //    req, resp := client.ListTagsRequest(params)
  2298  //
  2299  //    err := req.Send()
  2300  //    if err == nil { // resp is now filled
  2301  //        fmt.Println(resp)
  2302  //    }
  2303  //
  2304  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/ListTags
  2305  func (c *MemoryDB) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) {
  2306  	op := &request.Operation{
  2307  		Name:       opListTags,
  2308  		HTTPMethod: "POST",
  2309  		HTTPPath:   "/",
  2310  	}
  2311  
  2312  	if input == nil {
  2313  		input = &ListTagsInput{}
  2314  	}
  2315  
  2316  	output = &ListTagsOutput{}
  2317  	req = c.newRequest(op, input, output)
  2318  	return
  2319  }
  2320  
  2321  // ListTags API operation for Amazon MemoryDB.
  2322  //
  2323  // Lists all tags currently on a named resource. A tag is a key-value pair where
  2324  // the key and value are case-sensitive. You can use tags to categorize and
  2325  // track your MemoryDB resources. For more information, see Tagging your MemoryDB
  2326  // resources (https://docs.aws.amazon.com/MemoryDB/latest/devguide/Tagging-Resources.html)
  2327  //
  2328  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2329  // with awserr.Error's Code and Message methods to get detailed information about
  2330  // the error.
  2331  //
  2332  // See the AWS API reference guide for Amazon MemoryDB's
  2333  // API operation ListTags for usage and error information.
  2334  //
  2335  // Returned Error Types:
  2336  //   * ClusterNotFoundFault
  2337  //
  2338  //   * InvalidClusterStateFault
  2339  //
  2340  //   * ParameterGroupNotFoundFault
  2341  //
  2342  //   * SubnetGroupNotFoundFault
  2343  //
  2344  //   * SnapshotNotFoundFault
  2345  //
  2346  //   * InvalidARNFault
  2347  //
  2348  //   * ServiceLinkedRoleNotFoundFault
  2349  //
  2350  //   * UserNotFoundFault
  2351  //
  2352  //   * ACLNotFoundFault
  2353  //
  2354  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/ListTags
  2355  func (c *MemoryDB) ListTags(input *ListTagsInput) (*ListTagsOutput, error) {
  2356  	req, out := c.ListTagsRequest(input)
  2357  	return out, req.Send()
  2358  }
  2359  
  2360  // ListTagsWithContext is the same as ListTags with the addition of
  2361  // the ability to pass a context and additional request options.
  2362  //
  2363  // See ListTags for details on how to use this API operation.
  2364  //
  2365  // The context must be non-nil and will be used for request cancellation. If
  2366  // the context is nil a panic will occur. In the future the SDK may create
  2367  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2368  // for more information on using Contexts.
  2369  func (c *MemoryDB) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) {
  2370  	req, out := c.ListTagsRequest(input)
  2371  	req.SetContext(ctx)
  2372  	req.ApplyOptions(opts...)
  2373  	return out, req.Send()
  2374  }
  2375  
  2376  const opResetParameterGroup = "ResetParameterGroup"
  2377  
  2378  // ResetParameterGroupRequest generates a "aws/request.Request" representing the
  2379  // client's request for the ResetParameterGroup operation. The "output" return
  2380  // value will be populated with the request's response once the request completes
  2381  // successfully.
  2382  //
  2383  // Use "Send" method on the returned Request to send the API call to the service.
  2384  // the "output" return value is not valid until after Send returns without error.
  2385  //
  2386  // See ResetParameterGroup for more information on using the ResetParameterGroup
  2387  // API call, and error handling.
  2388  //
  2389  // This method is useful when you want to inject custom logic or configuration
  2390  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2391  //
  2392  //
  2393  //    // Example sending a request using the ResetParameterGroupRequest method.
  2394  //    req, resp := client.ResetParameterGroupRequest(params)
  2395  //
  2396  //    err := req.Send()
  2397  //    if err == nil { // resp is now filled
  2398  //        fmt.Println(resp)
  2399  //    }
  2400  //
  2401  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/ResetParameterGroup
  2402  func (c *MemoryDB) ResetParameterGroupRequest(input *ResetParameterGroupInput) (req *request.Request, output *ResetParameterGroupOutput) {
  2403  	op := &request.Operation{
  2404  		Name:       opResetParameterGroup,
  2405  		HTTPMethod: "POST",
  2406  		HTTPPath:   "/",
  2407  	}
  2408  
  2409  	if input == nil {
  2410  		input = &ResetParameterGroupInput{}
  2411  	}
  2412  
  2413  	output = &ResetParameterGroupOutput{}
  2414  	req = c.newRequest(op, input, output)
  2415  	return
  2416  }
  2417  
  2418  // ResetParameterGroup API operation for Amazon MemoryDB.
  2419  //
  2420  // Modifies the parameters of a parameter group to the engine or system default
  2421  // value. You can reset specific parameters by submitting a list of parameter
  2422  // names. To reset the entire parameter group, specify the AllParameters and
  2423  // ParameterGroupName parameters.
  2424  //
  2425  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2426  // with awserr.Error's Code and Message methods to get detailed information about
  2427  // the error.
  2428  //
  2429  // See the AWS API reference guide for Amazon MemoryDB's
  2430  // API operation ResetParameterGroup for usage and error information.
  2431  //
  2432  // Returned Error Types:
  2433  //   * InvalidParameterGroupStateFault
  2434  //
  2435  //   * ParameterGroupNotFoundFault
  2436  //
  2437  //   * ServiceLinkedRoleNotFoundFault
  2438  //
  2439  //   * InvalidParameterValueException
  2440  //
  2441  //   * InvalidParameterCombinationException
  2442  //
  2443  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/ResetParameterGroup
  2444  func (c *MemoryDB) ResetParameterGroup(input *ResetParameterGroupInput) (*ResetParameterGroupOutput, error) {
  2445  	req, out := c.ResetParameterGroupRequest(input)
  2446  	return out, req.Send()
  2447  }
  2448  
  2449  // ResetParameterGroupWithContext is the same as ResetParameterGroup with the addition of
  2450  // the ability to pass a context and additional request options.
  2451  //
  2452  // See ResetParameterGroup for details on how to use this API operation.
  2453  //
  2454  // The context must be non-nil and will be used for request cancellation. If
  2455  // the context is nil a panic will occur. In the future the SDK may create
  2456  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2457  // for more information on using Contexts.
  2458  func (c *MemoryDB) ResetParameterGroupWithContext(ctx aws.Context, input *ResetParameterGroupInput, opts ...request.Option) (*ResetParameterGroupOutput, error) {
  2459  	req, out := c.ResetParameterGroupRequest(input)
  2460  	req.SetContext(ctx)
  2461  	req.ApplyOptions(opts...)
  2462  	return out, req.Send()
  2463  }
  2464  
  2465  const opTagResource = "TagResource"
  2466  
  2467  // TagResourceRequest generates a "aws/request.Request" representing the
  2468  // client's request for the TagResource operation. The "output" return
  2469  // value will be populated with the request's response once the request completes
  2470  // successfully.
  2471  //
  2472  // Use "Send" method on the returned Request to send the API call to the service.
  2473  // the "output" return value is not valid until after Send returns without error.
  2474  //
  2475  // See TagResource for more information on using the TagResource
  2476  // API call, and error handling.
  2477  //
  2478  // This method is useful when you want to inject custom logic or configuration
  2479  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2480  //
  2481  //
  2482  //    // Example sending a request using the TagResourceRequest method.
  2483  //    req, resp := client.TagResourceRequest(params)
  2484  //
  2485  //    err := req.Send()
  2486  //    if err == nil { // resp is now filled
  2487  //        fmt.Println(resp)
  2488  //    }
  2489  //
  2490  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/TagResource
  2491  func (c *MemoryDB) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  2492  	op := &request.Operation{
  2493  		Name:       opTagResource,
  2494  		HTTPMethod: "POST",
  2495  		HTTPPath:   "/",
  2496  	}
  2497  
  2498  	if input == nil {
  2499  		input = &TagResourceInput{}
  2500  	}
  2501  
  2502  	output = &TagResourceOutput{}
  2503  	req = c.newRequest(op, input, output)
  2504  	return
  2505  }
  2506  
  2507  // TagResource API operation for Amazon MemoryDB.
  2508  //
  2509  // A tag is a key-value pair where the key and value are case-sensitive. You
  2510  // can use tags to categorize and track all your MemoryDB resources. When you
  2511  // add or remove tags on clusters, those actions will be replicated to all nodes
  2512  // in the cluster. For more information, see Resource-level permissions (https://docs.aws.amazon.com/MemoryDB/latest/devguide/iam.resourcelevelpermissions.html).
  2513  //
  2514  // For example, you can use cost-allocation tags to your MemoryDB resources,
  2515  // Amazon generates a cost allocation report as a comma-separated value (CSV)
  2516  // file with your usage and costs aggregated by your tags. You can apply tags
  2517  // that represent business categories (such as cost centers, application names,
  2518  // or owners) to organize your costs across multiple services. For more information,
  2519  // see Using Cost Allocation Tags (https://docs.aws.amazon.com/MemoryDB/latest/devguide/tagging.html).
  2520  //
  2521  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2522  // with awserr.Error's Code and Message methods to get detailed information about
  2523  // the error.
  2524  //
  2525  // See the AWS API reference guide for Amazon MemoryDB's
  2526  // API operation TagResource for usage and error information.
  2527  //
  2528  // Returned Error Types:
  2529  //   * ClusterNotFoundFault
  2530  //
  2531  //   * ParameterGroupNotFoundFault
  2532  //
  2533  //   * SubnetGroupNotFoundFault
  2534  //
  2535  //   * InvalidClusterStateFault
  2536  //
  2537  //   * SnapshotNotFoundFault
  2538  //
  2539  //   * UserNotFoundFault
  2540  //
  2541  //   * ACLNotFoundFault
  2542  //
  2543  //   * TagQuotaPerResourceExceeded
  2544  //
  2545  //   * InvalidARNFault
  2546  //
  2547  //   * ServiceLinkedRoleNotFoundFault
  2548  //
  2549  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/TagResource
  2550  func (c *MemoryDB) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  2551  	req, out := c.TagResourceRequest(input)
  2552  	return out, req.Send()
  2553  }
  2554  
  2555  // TagResourceWithContext is the same as TagResource with the addition of
  2556  // the ability to pass a context and additional request options.
  2557  //
  2558  // See TagResource for details on how to use this API operation.
  2559  //
  2560  // The context must be non-nil and will be used for request cancellation. If
  2561  // the context is nil a panic will occur. In the future the SDK may create
  2562  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2563  // for more information on using Contexts.
  2564  func (c *MemoryDB) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  2565  	req, out := c.TagResourceRequest(input)
  2566  	req.SetContext(ctx)
  2567  	req.ApplyOptions(opts...)
  2568  	return out, req.Send()
  2569  }
  2570  
  2571  const opUntagResource = "UntagResource"
  2572  
  2573  // UntagResourceRequest generates a "aws/request.Request" representing the
  2574  // client's request for the UntagResource operation. The "output" return
  2575  // value will be populated with the request's response once the request completes
  2576  // successfully.
  2577  //
  2578  // Use "Send" method on the returned Request to send the API call to the service.
  2579  // the "output" return value is not valid until after Send returns without error.
  2580  //
  2581  // See UntagResource for more information on using the UntagResource
  2582  // API call, and error handling.
  2583  //
  2584  // This method is useful when you want to inject custom logic or configuration
  2585  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2586  //
  2587  //
  2588  //    // Example sending a request using the UntagResourceRequest method.
  2589  //    req, resp := client.UntagResourceRequest(params)
  2590  //
  2591  //    err := req.Send()
  2592  //    if err == nil { // resp is now filled
  2593  //        fmt.Println(resp)
  2594  //    }
  2595  //
  2596  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UntagResource
  2597  func (c *MemoryDB) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  2598  	op := &request.Operation{
  2599  		Name:       opUntagResource,
  2600  		HTTPMethod: "POST",
  2601  		HTTPPath:   "/",
  2602  	}
  2603  
  2604  	if input == nil {
  2605  		input = &UntagResourceInput{}
  2606  	}
  2607  
  2608  	output = &UntagResourceOutput{}
  2609  	req = c.newRequest(op, input, output)
  2610  	return
  2611  }
  2612  
  2613  // UntagResource API operation for Amazon MemoryDB.
  2614  //
  2615  // Use this operation to remove tags on a resource
  2616  //
  2617  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2618  // with awserr.Error's Code and Message methods to get detailed information about
  2619  // the error.
  2620  //
  2621  // See the AWS API reference guide for Amazon MemoryDB's
  2622  // API operation UntagResource for usage and error information.
  2623  //
  2624  // Returned Error Types:
  2625  //   * ClusterNotFoundFault
  2626  //
  2627  //   * InvalidClusterStateFault
  2628  //
  2629  //   * ParameterGroupNotFoundFault
  2630  //
  2631  //   * SubnetGroupNotFoundFault
  2632  //
  2633  //   * SnapshotNotFoundFault
  2634  //
  2635  //   * InvalidARNFault
  2636  //
  2637  //   * TagNotFoundFault
  2638  //
  2639  //   * ServiceLinkedRoleNotFoundFault
  2640  //
  2641  //   * UserNotFoundFault
  2642  //
  2643  //   * ACLNotFoundFault
  2644  //
  2645  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UntagResource
  2646  func (c *MemoryDB) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  2647  	req, out := c.UntagResourceRequest(input)
  2648  	return out, req.Send()
  2649  }
  2650  
  2651  // UntagResourceWithContext is the same as UntagResource with the addition of
  2652  // the ability to pass a context and additional request options.
  2653  //
  2654  // See UntagResource for details on how to use this API operation.
  2655  //
  2656  // The context must be non-nil and will be used for request cancellation. If
  2657  // the context is nil a panic will occur. In the future the SDK may create
  2658  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2659  // for more information on using Contexts.
  2660  func (c *MemoryDB) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  2661  	req, out := c.UntagResourceRequest(input)
  2662  	req.SetContext(ctx)
  2663  	req.ApplyOptions(opts...)
  2664  	return out, req.Send()
  2665  }
  2666  
  2667  const opUpdateACL = "UpdateACL"
  2668  
  2669  // UpdateACLRequest generates a "aws/request.Request" representing the
  2670  // client's request for the UpdateACL operation. The "output" return
  2671  // value will be populated with the request's response once the request completes
  2672  // successfully.
  2673  //
  2674  // Use "Send" method on the returned Request to send the API call to the service.
  2675  // the "output" return value is not valid until after Send returns without error.
  2676  //
  2677  // See UpdateACL for more information on using the UpdateACL
  2678  // API call, and error handling.
  2679  //
  2680  // This method is useful when you want to inject custom logic or configuration
  2681  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2682  //
  2683  //
  2684  //    // Example sending a request using the UpdateACLRequest method.
  2685  //    req, resp := client.UpdateACLRequest(params)
  2686  //
  2687  //    err := req.Send()
  2688  //    if err == nil { // resp is now filled
  2689  //        fmt.Println(resp)
  2690  //    }
  2691  //
  2692  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateACL
  2693  func (c *MemoryDB) UpdateACLRequest(input *UpdateACLInput) (req *request.Request, output *UpdateACLOutput) {
  2694  	op := &request.Operation{
  2695  		Name:       opUpdateACL,
  2696  		HTTPMethod: "POST",
  2697  		HTTPPath:   "/",
  2698  	}
  2699  
  2700  	if input == nil {
  2701  		input = &UpdateACLInput{}
  2702  	}
  2703  
  2704  	output = &UpdateACLOutput{}
  2705  	req = c.newRequest(op, input, output)
  2706  	return
  2707  }
  2708  
  2709  // UpdateACL API operation for Amazon MemoryDB.
  2710  //
  2711  // Changes the list of users that belong to the Access Control List.
  2712  //
  2713  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2714  // with awserr.Error's Code and Message methods to get detailed information about
  2715  // the error.
  2716  //
  2717  // See the AWS API reference guide for Amazon MemoryDB's
  2718  // API operation UpdateACL for usage and error information.
  2719  //
  2720  // Returned Error Types:
  2721  //   * ACLNotFoundFault
  2722  //
  2723  //   * UserNotFoundFault
  2724  //
  2725  //   * DuplicateUserNameFault
  2726  //
  2727  //   * DefaultUserRequired
  2728  //
  2729  //   * InvalidACLStateFault
  2730  //
  2731  //   * InvalidParameterValueException
  2732  //
  2733  //   * InvalidParameterCombinationException
  2734  //
  2735  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateACL
  2736  func (c *MemoryDB) UpdateACL(input *UpdateACLInput) (*UpdateACLOutput, error) {
  2737  	req, out := c.UpdateACLRequest(input)
  2738  	return out, req.Send()
  2739  }
  2740  
  2741  // UpdateACLWithContext is the same as UpdateACL with the addition of
  2742  // the ability to pass a context and additional request options.
  2743  //
  2744  // See UpdateACL for details on how to use this API operation.
  2745  //
  2746  // The context must be non-nil and will be used for request cancellation. If
  2747  // the context is nil a panic will occur. In the future the SDK may create
  2748  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2749  // for more information on using Contexts.
  2750  func (c *MemoryDB) UpdateACLWithContext(ctx aws.Context, input *UpdateACLInput, opts ...request.Option) (*UpdateACLOutput, error) {
  2751  	req, out := c.UpdateACLRequest(input)
  2752  	req.SetContext(ctx)
  2753  	req.ApplyOptions(opts...)
  2754  	return out, req.Send()
  2755  }
  2756  
  2757  const opUpdateCluster = "UpdateCluster"
  2758  
  2759  // UpdateClusterRequest generates a "aws/request.Request" representing the
  2760  // client's request for the UpdateCluster operation. The "output" return
  2761  // value will be populated with the request's response once the request completes
  2762  // successfully.
  2763  //
  2764  // Use "Send" method on the returned Request to send the API call to the service.
  2765  // the "output" return value is not valid until after Send returns without error.
  2766  //
  2767  // See UpdateCluster for more information on using the UpdateCluster
  2768  // API call, and error handling.
  2769  //
  2770  // This method is useful when you want to inject custom logic or configuration
  2771  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2772  //
  2773  //
  2774  //    // Example sending a request using the UpdateClusterRequest method.
  2775  //    req, resp := client.UpdateClusterRequest(params)
  2776  //
  2777  //    err := req.Send()
  2778  //    if err == nil { // resp is now filled
  2779  //        fmt.Println(resp)
  2780  //    }
  2781  //
  2782  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateCluster
  2783  func (c *MemoryDB) UpdateClusterRequest(input *UpdateClusterInput) (req *request.Request, output *UpdateClusterOutput) {
  2784  	op := &request.Operation{
  2785  		Name:       opUpdateCluster,
  2786  		HTTPMethod: "POST",
  2787  		HTTPPath:   "/",
  2788  	}
  2789  
  2790  	if input == nil {
  2791  		input = &UpdateClusterInput{}
  2792  	}
  2793  
  2794  	output = &UpdateClusterOutput{}
  2795  	req = c.newRequest(op, input, output)
  2796  	return
  2797  }
  2798  
  2799  // UpdateCluster API operation for Amazon MemoryDB.
  2800  //
  2801  // Modifies the settings for a cluster. You can use this operation to change
  2802  // one or more cluster configuration settings by specifying the settings and
  2803  // the new values.
  2804  //
  2805  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2806  // with awserr.Error's Code and Message methods to get detailed information about
  2807  // the error.
  2808  //
  2809  // See the AWS API reference guide for Amazon MemoryDB's
  2810  // API operation UpdateCluster for usage and error information.
  2811  //
  2812  // Returned Error Types:
  2813  //   * ClusterNotFoundFault
  2814  //
  2815  //   * InvalidClusterStateFault
  2816  //
  2817  //   * InvalidNodeStateFault
  2818  //
  2819  //   * ParameterGroupNotFoundFault
  2820  //
  2821  //   * InvalidVPCNetworkStateFault
  2822  //
  2823  //   * ServiceLinkedRoleNotFoundFault
  2824  //
  2825  //   * InvalidKMSKeyFault
  2826  //
  2827  //   * NodeQuotaForClusterExceededFault
  2828  //
  2829  //   * ClusterQuotaForCustomerExceededFault
  2830  //
  2831  //   * ShardsPerClusterQuotaExceededFault
  2832  //
  2833  //   * NodeQuotaForCustomerExceededFault
  2834  //
  2835  //   * NoOperationFault
  2836  //
  2837  //   * InvalidACLStateFault
  2838  //
  2839  //   * ACLNotFoundFault
  2840  //
  2841  //   * InvalidParameterValueException
  2842  //
  2843  //   * InvalidParameterCombinationException
  2844  //
  2845  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateCluster
  2846  func (c *MemoryDB) UpdateCluster(input *UpdateClusterInput) (*UpdateClusterOutput, error) {
  2847  	req, out := c.UpdateClusterRequest(input)
  2848  	return out, req.Send()
  2849  }
  2850  
  2851  // UpdateClusterWithContext is the same as UpdateCluster with the addition of
  2852  // the ability to pass a context and additional request options.
  2853  //
  2854  // See UpdateCluster for details on how to use this API operation.
  2855  //
  2856  // The context must be non-nil and will be used for request cancellation. If
  2857  // the context is nil a panic will occur. In the future the SDK may create
  2858  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2859  // for more information on using Contexts.
  2860  func (c *MemoryDB) UpdateClusterWithContext(ctx aws.Context, input *UpdateClusterInput, opts ...request.Option) (*UpdateClusterOutput, error) {
  2861  	req, out := c.UpdateClusterRequest(input)
  2862  	req.SetContext(ctx)
  2863  	req.ApplyOptions(opts...)
  2864  	return out, req.Send()
  2865  }
  2866  
  2867  const opUpdateParameterGroup = "UpdateParameterGroup"
  2868  
  2869  // UpdateParameterGroupRequest generates a "aws/request.Request" representing the
  2870  // client's request for the UpdateParameterGroup operation. The "output" return
  2871  // value will be populated with the request's response once the request completes
  2872  // successfully.
  2873  //
  2874  // Use "Send" method on the returned Request to send the API call to the service.
  2875  // the "output" return value is not valid until after Send returns without error.
  2876  //
  2877  // See UpdateParameterGroup for more information on using the UpdateParameterGroup
  2878  // API call, and error handling.
  2879  //
  2880  // This method is useful when you want to inject custom logic or configuration
  2881  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2882  //
  2883  //
  2884  //    // Example sending a request using the UpdateParameterGroupRequest method.
  2885  //    req, resp := client.UpdateParameterGroupRequest(params)
  2886  //
  2887  //    err := req.Send()
  2888  //    if err == nil { // resp is now filled
  2889  //        fmt.Println(resp)
  2890  //    }
  2891  //
  2892  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateParameterGroup
  2893  func (c *MemoryDB) UpdateParameterGroupRequest(input *UpdateParameterGroupInput) (req *request.Request, output *UpdateParameterGroupOutput) {
  2894  	op := &request.Operation{
  2895  		Name:       opUpdateParameterGroup,
  2896  		HTTPMethod: "POST",
  2897  		HTTPPath:   "/",
  2898  	}
  2899  
  2900  	if input == nil {
  2901  		input = &UpdateParameterGroupInput{}
  2902  	}
  2903  
  2904  	output = &UpdateParameterGroupOutput{}
  2905  	req = c.newRequest(op, input, output)
  2906  	return
  2907  }
  2908  
  2909  // UpdateParameterGroup API operation for Amazon MemoryDB.
  2910  //
  2911  // Updates the parameters of a parameter group. You can modify up to 20 parameters
  2912  // in a single request by submitting a list parameter name and value pairs.
  2913  //
  2914  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2915  // with awserr.Error's Code and Message methods to get detailed information about
  2916  // the error.
  2917  //
  2918  // See the AWS API reference guide for Amazon MemoryDB's
  2919  // API operation UpdateParameterGroup for usage and error information.
  2920  //
  2921  // Returned Error Types:
  2922  //   * ParameterGroupNotFoundFault
  2923  //
  2924  //   * InvalidParameterGroupStateFault
  2925  //
  2926  //   * ServiceLinkedRoleNotFoundFault
  2927  //
  2928  //   * InvalidParameterValueException
  2929  //
  2930  //   * InvalidParameterCombinationException
  2931  //
  2932  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateParameterGroup
  2933  func (c *MemoryDB) UpdateParameterGroup(input *UpdateParameterGroupInput) (*UpdateParameterGroupOutput, error) {
  2934  	req, out := c.UpdateParameterGroupRequest(input)
  2935  	return out, req.Send()
  2936  }
  2937  
  2938  // UpdateParameterGroupWithContext is the same as UpdateParameterGroup with the addition of
  2939  // the ability to pass a context and additional request options.
  2940  //
  2941  // See UpdateParameterGroup for details on how to use this API operation.
  2942  //
  2943  // The context must be non-nil and will be used for request cancellation. If
  2944  // the context is nil a panic will occur. In the future the SDK may create
  2945  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2946  // for more information on using Contexts.
  2947  func (c *MemoryDB) UpdateParameterGroupWithContext(ctx aws.Context, input *UpdateParameterGroupInput, opts ...request.Option) (*UpdateParameterGroupOutput, error) {
  2948  	req, out := c.UpdateParameterGroupRequest(input)
  2949  	req.SetContext(ctx)
  2950  	req.ApplyOptions(opts...)
  2951  	return out, req.Send()
  2952  }
  2953  
  2954  const opUpdateSubnetGroup = "UpdateSubnetGroup"
  2955  
  2956  // UpdateSubnetGroupRequest generates a "aws/request.Request" representing the
  2957  // client's request for the UpdateSubnetGroup operation. The "output" return
  2958  // value will be populated with the request's response once the request completes
  2959  // successfully.
  2960  //
  2961  // Use "Send" method on the returned Request to send the API call to the service.
  2962  // the "output" return value is not valid until after Send returns without error.
  2963  //
  2964  // See UpdateSubnetGroup for more information on using the UpdateSubnetGroup
  2965  // API call, and error handling.
  2966  //
  2967  // This method is useful when you want to inject custom logic or configuration
  2968  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2969  //
  2970  //
  2971  //    // Example sending a request using the UpdateSubnetGroupRequest method.
  2972  //    req, resp := client.UpdateSubnetGroupRequest(params)
  2973  //
  2974  //    err := req.Send()
  2975  //    if err == nil { // resp is now filled
  2976  //        fmt.Println(resp)
  2977  //    }
  2978  //
  2979  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateSubnetGroup
  2980  func (c *MemoryDB) UpdateSubnetGroupRequest(input *UpdateSubnetGroupInput) (req *request.Request, output *UpdateSubnetGroupOutput) {
  2981  	op := &request.Operation{
  2982  		Name:       opUpdateSubnetGroup,
  2983  		HTTPMethod: "POST",
  2984  		HTTPPath:   "/",
  2985  	}
  2986  
  2987  	if input == nil {
  2988  		input = &UpdateSubnetGroupInput{}
  2989  	}
  2990  
  2991  	output = &UpdateSubnetGroupOutput{}
  2992  	req = c.newRequest(op, input, output)
  2993  	return
  2994  }
  2995  
  2996  // UpdateSubnetGroup API operation for Amazon MemoryDB.
  2997  //
  2998  // Updates a subnet group. For more information, see Updating a subnet group
  2999  // (https://docs.aws.amazon.com/MemoryDB/latest/devguide/ubnetGroups.Modifying.html)
  3000  //
  3001  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3002  // with awserr.Error's Code and Message methods to get detailed information about
  3003  // the error.
  3004  //
  3005  // See the AWS API reference guide for Amazon MemoryDB's
  3006  // API operation UpdateSubnetGroup for usage and error information.
  3007  //
  3008  // Returned Error Types:
  3009  //   * SubnetGroupNotFoundFault
  3010  //
  3011  //   * SubnetQuotaExceededFault
  3012  //
  3013  //   * SubnetInUse
  3014  //
  3015  //   * InvalidSubnet
  3016  //
  3017  //   * ServiceLinkedRoleNotFoundFault
  3018  //
  3019  //   * SubnetNotAllowedFault
  3020  //
  3021  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateSubnetGroup
  3022  func (c *MemoryDB) UpdateSubnetGroup(input *UpdateSubnetGroupInput) (*UpdateSubnetGroupOutput, error) {
  3023  	req, out := c.UpdateSubnetGroupRequest(input)
  3024  	return out, req.Send()
  3025  }
  3026  
  3027  // UpdateSubnetGroupWithContext is the same as UpdateSubnetGroup with the addition of
  3028  // the ability to pass a context and additional request options.
  3029  //
  3030  // See UpdateSubnetGroup for details on how to use this API operation.
  3031  //
  3032  // The context must be non-nil and will be used for request cancellation. If
  3033  // the context is nil a panic will occur. In the future the SDK may create
  3034  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3035  // for more information on using Contexts.
  3036  func (c *MemoryDB) UpdateSubnetGroupWithContext(ctx aws.Context, input *UpdateSubnetGroupInput, opts ...request.Option) (*UpdateSubnetGroupOutput, error) {
  3037  	req, out := c.UpdateSubnetGroupRequest(input)
  3038  	req.SetContext(ctx)
  3039  	req.ApplyOptions(opts...)
  3040  	return out, req.Send()
  3041  }
  3042  
  3043  const opUpdateUser = "UpdateUser"
  3044  
  3045  // UpdateUserRequest generates a "aws/request.Request" representing the
  3046  // client's request for the UpdateUser operation. The "output" return
  3047  // value will be populated with the request's response once the request completes
  3048  // successfully.
  3049  //
  3050  // Use "Send" method on the returned Request to send the API call to the service.
  3051  // the "output" return value is not valid until after Send returns without error.
  3052  //
  3053  // See UpdateUser for more information on using the UpdateUser
  3054  // API call, and error handling.
  3055  //
  3056  // This method is useful when you want to inject custom logic or configuration
  3057  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3058  //
  3059  //
  3060  //    // Example sending a request using the UpdateUserRequest method.
  3061  //    req, resp := client.UpdateUserRequest(params)
  3062  //
  3063  //    err := req.Send()
  3064  //    if err == nil { // resp is now filled
  3065  //        fmt.Println(resp)
  3066  //    }
  3067  //
  3068  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateUser
  3069  func (c *MemoryDB) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, output *UpdateUserOutput) {
  3070  	op := &request.Operation{
  3071  		Name:       opUpdateUser,
  3072  		HTTPMethod: "POST",
  3073  		HTTPPath:   "/",
  3074  	}
  3075  
  3076  	if input == nil {
  3077  		input = &UpdateUserInput{}
  3078  	}
  3079  
  3080  	output = &UpdateUserOutput{}
  3081  	req = c.newRequest(op, input, output)
  3082  	return
  3083  }
  3084  
  3085  // UpdateUser API operation for Amazon MemoryDB.
  3086  //
  3087  // Changes user password(s) and/or access string.
  3088  //
  3089  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3090  // with awserr.Error's Code and Message methods to get detailed information about
  3091  // the error.
  3092  //
  3093  // See the AWS API reference guide for Amazon MemoryDB's
  3094  // API operation UpdateUser for usage and error information.
  3095  //
  3096  // Returned Error Types:
  3097  //   * UserNotFoundFault
  3098  //
  3099  //   * InvalidUserStateFault
  3100  //
  3101  //   * InvalidParameterValueException
  3102  //
  3103  //   * InvalidParameterCombinationException
  3104  //
  3105  // See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateUser
  3106  func (c *MemoryDB) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error) {
  3107  	req, out := c.UpdateUserRequest(input)
  3108  	return out, req.Send()
  3109  }
  3110  
  3111  // UpdateUserWithContext is the same as UpdateUser with the addition of
  3112  // the ability to pass a context and additional request options.
  3113  //
  3114  // See UpdateUser for details on how to use this API operation.
  3115  //
  3116  // The context must be non-nil and will be used for request cancellation. If
  3117  // the context is nil a panic will occur. In the future the SDK may create
  3118  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3119  // for more information on using Contexts.
  3120  func (c *MemoryDB) UpdateUserWithContext(ctx aws.Context, input *UpdateUserInput, opts ...request.Option) (*UpdateUserOutput, error) {
  3121  	req, out := c.UpdateUserRequest(input)
  3122  	req.SetContext(ctx)
  3123  	req.ApplyOptions(opts...)
  3124  	return out, req.Send()
  3125  }
  3126  
  3127  // An Access Control List. You can authenticate users with Access Contol Lists.
  3128  // ACLs enable you to control cluster access by grouping users. These Access
  3129  // control lists are designed as a way to organize access to clusters.
  3130  type ACL struct {
  3131  	_ struct{} `type:"structure"`
  3132  
  3133  	// The Amazon Resource Name (ARN) of the ACL
  3134  	ARN *string `type:"string"`
  3135  
  3136  	// A list of clusters associated with the ACL.
  3137  	Clusters []*string `type:"list"`
  3138  
  3139  	// The minimum engine version supported for the ACL
  3140  	MinimumEngineVersion *string `type:"string"`
  3141  
  3142  	// The name of the Access Control List
  3143  	Name *string `type:"string"`
  3144  
  3145  	// A list of updates being applied to the ACL.
  3146  	PendingChanges *ACLPendingChanges `type:"structure"`
  3147  
  3148  	// Indicates ACL status. Can be "creating", "active", "modifying", "deleting".
  3149  	Status *string `type:"string"`
  3150  
  3151  	// The list of user names that belong to the ACL.
  3152  	UserNames []*string `type:"list"`
  3153  }
  3154  
  3155  // String returns the string representation.
  3156  //
  3157  // API parameter values that are decorated as "sensitive" in the API will not
  3158  // be included in the string output. The member name will be present, but the
  3159  // value will be replaced with "sensitive".
  3160  func (s ACL) String() string {
  3161  	return awsutil.Prettify(s)
  3162  }
  3163  
  3164  // GoString returns the string representation.
  3165  //
  3166  // API parameter values that are decorated as "sensitive" in the API will not
  3167  // be included in the string output. The member name will be present, but the
  3168  // value will be replaced with "sensitive".
  3169  func (s ACL) GoString() string {
  3170  	return s.String()
  3171  }
  3172  
  3173  // SetARN sets the ARN field's value.
  3174  func (s *ACL) SetARN(v string) *ACL {
  3175  	s.ARN = &v
  3176  	return s
  3177  }
  3178  
  3179  // SetClusters sets the Clusters field's value.
  3180  func (s *ACL) SetClusters(v []*string) *ACL {
  3181  	s.Clusters = v
  3182  	return s
  3183  }
  3184  
  3185  // SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
  3186  func (s *ACL) SetMinimumEngineVersion(v string) *ACL {
  3187  	s.MinimumEngineVersion = &v
  3188  	return s
  3189  }
  3190  
  3191  // SetName sets the Name field's value.
  3192  func (s *ACL) SetName(v string) *ACL {
  3193  	s.Name = &v
  3194  	return s
  3195  }
  3196  
  3197  // SetPendingChanges sets the PendingChanges field's value.
  3198  func (s *ACL) SetPendingChanges(v *ACLPendingChanges) *ACL {
  3199  	s.PendingChanges = v
  3200  	return s
  3201  }
  3202  
  3203  // SetStatus sets the Status field's value.
  3204  func (s *ACL) SetStatus(v string) *ACL {
  3205  	s.Status = &v
  3206  	return s
  3207  }
  3208  
  3209  // SetUserNames sets the UserNames field's value.
  3210  func (s *ACL) SetUserNames(v []*string) *ACL {
  3211  	s.UserNames = v
  3212  	return s
  3213  }
  3214  
  3215  type ACLAlreadyExistsFault struct {
  3216  	_            struct{}                  `type:"structure"`
  3217  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3218  
  3219  	Message_ *string `locationName:"message" type:"string"`
  3220  }
  3221  
  3222  // String returns the string representation.
  3223  //
  3224  // API parameter values that are decorated as "sensitive" in the API will not
  3225  // be included in the string output. The member name will be present, but the
  3226  // value will be replaced with "sensitive".
  3227  func (s ACLAlreadyExistsFault) String() string {
  3228  	return awsutil.Prettify(s)
  3229  }
  3230  
  3231  // GoString returns the string representation.
  3232  //
  3233  // API parameter values that are decorated as "sensitive" in the API will not
  3234  // be included in the string output. The member name will be present, but the
  3235  // value will be replaced with "sensitive".
  3236  func (s ACLAlreadyExistsFault) GoString() string {
  3237  	return s.String()
  3238  }
  3239  
  3240  func newErrorACLAlreadyExistsFault(v protocol.ResponseMetadata) error {
  3241  	return &ACLAlreadyExistsFault{
  3242  		RespMetadata: v,
  3243  	}
  3244  }
  3245  
  3246  // Code returns the exception type name.
  3247  func (s *ACLAlreadyExistsFault) Code() string {
  3248  	return "ACLAlreadyExistsFault"
  3249  }
  3250  
  3251  // Message returns the exception's message.
  3252  func (s *ACLAlreadyExistsFault) Message() string {
  3253  	if s.Message_ != nil {
  3254  		return *s.Message_
  3255  	}
  3256  	return ""
  3257  }
  3258  
  3259  // OrigErr always returns nil, satisfies awserr.Error interface.
  3260  func (s *ACLAlreadyExistsFault) OrigErr() error {
  3261  	return nil
  3262  }
  3263  
  3264  func (s *ACLAlreadyExistsFault) Error() string {
  3265  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3266  }
  3267  
  3268  // Status code returns the HTTP status code for the request's response error.
  3269  func (s *ACLAlreadyExistsFault) StatusCode() int {
  3270  	return s.RespMetadata.StatusCode
  3271  }
  3272  
  3273  // RequestID returns the service's response RequestID for request.
  3274  func (s *ACLAlreadyExistsFault) RequestID() string {
  3275  	return s.RespMetadata.RequestID
  3276  }
  3277  
  3278  type ACLNotFoundFault struct {
  3279  	_            struct{}                  `type:"structure"`
  3280  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3281  
  3282  	Message_ *string `locationName:"message" type:"string"`
  3283  }
  3284  
  3285  // String returns the string representation.
  3286  //
  3287  // API parameter values that are decorated as "sensitive" in the API will not
  3288  // be included in the string output. The member name will be present, but the
  3289  // value will be replaced with "sensitive".
  3290  func (s ACLNotFoundFault) String() string {
  3291  	return awsutil.Prettify(s)
  3292  }
  3293  
  3294  // GoString returns the string representation.
  3295  //
  3296  // API parameter values that are decorated as "sensitive" in the API will not
  3297  // be included in the string output. The member name will be present, but the
  3298  // value will be replaced with "sensitive".
  3299  func (s ACLNotFoundFault) GoString() string {
  3300  	return s.String()
  3301  }
  3302  
  3303  func newErrorACLNotFoundFault(v protocol.ResponseMetadata) error {
  3304  	return &ACLNotFoundFault{
  3305  		RespMetadata: v,
  3306  	}
  3307  }
  3308  
  3309  // Code returns the exception type name.
  3310  func (s *ACLNotFoundFault) Code() string {
  3311  	return "ACLNotFoundFault"
  3312  }
  3313  
  3314  // Message returns the exception's message.
  3315  func (s *ACLNotFoundFault) Message() string {
  3316  	if s.Message_ != nil {
  3317  		return *s.Message_
  3318  	}
  3319  	return ""
  3320  }
  3321  
  3322  // OrigErr always returns nil, satisfies awserr.Error interface.
  3323  func (s *ACLNotFoundFault) OrigErr() error {
  3324  	return nil
  3325  }
  3326  
  3327  func (s *ACLNotFoundFault) Error() string {
  3328  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3329  }
  3330  
  3331  // Status code returns the HTTP status code for the request's response error.
  3332  func (s *ACLNotFoundFault) StatusCode() int {
  3333  	return s.RespMetadata.StatusCode
  3334  }
  3335  
  3336  // RequestID returns the service's response RequestID for request.
  3337  func (s *ACLNotFoundFault) RequestID() string {
  3338  	return s.RespMetadata.RequestID
  3339  }
  3340  
  3341  // Returns the updates being applied to the ACL.
  3342  type ACLPendingChanges struct {
  3343  	_ struct{} `type:"structure"`
  3344  
  3345  	// A list of users being added to the ACL
  3346  	UserNamesToAdd []*string `type:"list"`
  3347  
  3348  	// A list of user names being removed from the ACL
  3349  	UserNamesToRemove []*string `type:"list"`
  3350  }
  3351  
  3352  // String returns the string representation.
  3353  //
  3354  // API parameter values that are decorated as "sensitive" in the API will not
  3355  // be included in the string output. The member name will be present, but the
  3356  // value will be replaced with "sensitive".
  3357  func (s ACLPendingChanges) String() string {
  3358  	return awsutil.Prettify(s)
  3359  }
  3360  
  3361  // GoString returns the string representation.
  3362  //
  3363  // API parameter values that are decorated as "sensitive" in the API will not
  3364  // be included in the string output. The member name will be present, but the
  3365  // value will be replaced with "sensitive".
  3366  func (s ACLPendingChanges) GoString() string {
  3367  	return s.String()
  3368  }
  3369  
  3370  // SetUserNamesToAdd sets the UserNamesToAdd field's value.
  3371  func (s *ACLPendingChanges) SetUserNamesToAdd(v []*string) *ACLPendingChanges {
  3372  	s.UserNamesToAdd = v
  3373  	return s
  3374  }
  3375  
  3376  // SetUserNamesToRemove sets the UserNamesToRemove field's value.
  3377  func (s *ACLPendingChanges) SetUserNamesToRemove(v []*string) *ACLPendingChanges {
  3378  	s.UserNamesToRemove = v
  3379  	return s
  3380  }
  3381  
  3382  type ACLQuotaExceededFault struct {
  3383  	_            struct{}                  `type:"structure"`
  3384  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3385  
  3386  	Message_ *string `locationName:"message" type:"string"`
  3387  }
  3388  
  3389  // String returns the string representation.
  3390  //
  3391  // API parameter values that are decorated as "sensitive" in the API will not
  3392  // be included in the string output. The member name will be present, but the
  3393  // value will be replaced with "sensitive".
  3394  func (s ACLQuotaExceededFault) String() string {
  3395  	return awsutil.Prettify(s)
  3396  }
  3397  
  3398  // GoString returns the string representation.
  3399  //
  3400  // API parameter values that are decorated as "sensitive" in the API will not
  3401  // be included in the string output. The member name will be present, but the
  3402  // value will be replaced with "sensitive".
  3403  func (s ACLQuotaExceededFault) GoString() string {
  3404  	return s.String()
  3405  }
  3406  
  3407  func newErrorACLQuotaExceededFault(v protocol.ResponseMetadata) error {
  3408  	return &ACLQuotaExceededFault{
  3409  		RespMetadata: v,
  3410  	}
  3411  }
  3412  
  3413  // Code returns the exception type name.
  3414  func (s *ACLQuotaExceededFault) Code() string {
  3415  	return "ACLQuotaExceededFault"
  3416  }
  3417  
  3418  // Message returns the exception's message.
  3419  func (s *ACLQuotaExceededFault) Message() string {
  3420  	if s.Message_ != nil {
  3421  		return *s.Message_
  3422  	}
  3423  	return ""
  3424  }
  3425  
  3426  // OrigErr always returns nil, satisfies awserr.Error interface.
  3427  func (s *ACLQuotaExceededFault) OrigErr() error {
  3428  	return nil
  3429  }
  3430  
  3431  func (s *ACLQuotaExceededFault) Error() string {
  3432  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3433  }
  3434  
  3435  // Status code returns the HTTP status code for the request's response error.
  3436  func (s *ACLQuotaExceededFault) StatusCode() int {
  3437  	return s.RespMetadata.StatusCode
  3438  }
  3439  
  3440  // RequestID returns the service's response RequestID for request.
  3441  func (s *ACLQuotaExceededFault) RequestID() string {
  3442  	return s.RespMetadata.RequestID
  3443  }
  3444  
  3445  // The status of the ACL update
  3446  type ACLsUpdateStatus struct {
  3447  	_ struct{} `type:"structure"`
  3448  
  3449  	// A list of ACLs pending to be applied.
  3450  	ACLToApply *string `min:"1" type:"string"`
  3451  }
  3452  
  3453  // String returns the string representation.
  3454  //
  3455  // API parameter values that are decorated as "sensitive" in the API will not
  3456  // be included in the string output. The member name will be present, but the
  3457  // value will be replaced with "sensitive".
  3458  func (s ACLsUpdateStatus) String() string {
  3459  	return awsutil.Prettify(s)
  3460  }
  3461  
  3462  // GoString returns the string representation.
  3463  //
  3464  // API parameter values that are decorated as "sensitive" in the API will not
  3465  // be included in the string output. The member name will be present, but the
  3466  // value will be replaced with "sensitive".
  3467  func (s ACLsUpdateStatus) GoString() string {
  3468  	return s.String()
  3469  }
  3470  
  3471  // SetACLToApply sets the ACLToApply field's value.
  3472  func (s *ACLsUpdateStatus) SetACLToApply(v string) *ACLsUpdateStatus {
  3473  	s.ACLToApply = &v
  3474  	return s
  3475  }
  3476  
  3477  type APICallRateForCustomerExceededFault struct {
  3478  	_            struct{}                  `type:"structure"`
  3479  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3480  
  3481  	Message_ *string `locationName:"message" type:"string"`
  3482  }
  3483  
  3484  // String returns the string representation.
  3485  //
  3486  // API parameter values that are decorated as "sensitive" in the API will not
  3487  // be included in the string output. The member name will be present, but the
  3488  // value will be replaced with "sensitive".
  3489  func (s APICallRateForCustomerExceededFault) String() string {
  3490  	return awsutil.Prettify(s)
  3491  }
  3492  
  3493  // GoString returns the string representation.
  3494  //
  3495  // API parameter values that are decorated as "sensitive" in the API will not
  3496  // be included in the string output. The member name will be present, but the
  3497  // value will be replaced with "sensitive".
  3498  func (s APICallRateForCustomerExceededFault) GoString() string {
  3499  	return s.String()
  3500  }
  3501  
  3502  func newErrorAPICallRateForCustomerExceededFault(v protocol.ResponseMetadata) error {
  3503  	return &APICallRateForCustomerExceededFault{
  3504  		RespMetadata: v,
  3505  	}
  3506  }
  3507  
  3508  // Code returns the exception type name.
  3509  func (s *APICallRateForCustomerExceededFault) Code() string {
  3510  	return "APICallRateForCustomerExceededFault"
  3511  }
  3512  
  3513  // Message returns the exception's message.
  3514  func (s *APICallRateForCustomerExceededFault) Message() string {
  3515  	if s.Message_ != nil {
  3516  		return *s.Message_
  3517  	}
  3518  	return ""
  3519  }
  3520  
  3521  // OrigErr always returns nil, satisfies awserr.Error interface.
  3522  func (s *APICallRateForCustomerExceededFault) OrigErr() error {
  3523  	return nil
  3524  }
  3525  
  3526  func (s *APICallRateForCustomerExceededFault) Error() string {
  3527  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3528  }
  3529  
  3530  // Status code returns the HTTP status code for the request's response error.
  3531  func (s *APICallRateForCustomerExceededFault) StatusCode() int {
  3532  	return s.RespMetadata.StatusCode
  3533  }
  3534  
  3535  // RequestID returns the service's response RequestID for request.
  3536  func (s *APICallRateForCustomerExceededFault) RequestID() string {
  3537  	return s.RespMetadata.RequestID
  3538  }
  3539  
  3540  // Denotes the user's authentication properties, such as whether it requires
  3541  // a password to authenticate. Used in output responses.
  3542  type Authentication struct {
  3543  	_ struct{} `type:"structure"`
  3544  
  3545  	// The number of passwords belonging to the user. The maximum is two.
  3546  	PasswordCount *int64 `type:"integer"`
  3547  
  3548  	// Indicates whether the user requires a password to authenticate.
  3549  	Type *string `type:"string" enum:"AuthenticationType"`
  3550  }
  3551  
  3552  // String returns the string representation.
  3553  //
  3554  // API parameter values that are decorated as "sensitive" in the API will not
  3555  // be included in the string output. The member name will be present, but the
  3556  // value will be replaced with "sensitive".
  3557  func (s Authentication) String() string {
  3558  	return awsutil.Prettify(s)
  3559  }
  3560  
  3561  // GoString returns the string representation.
  3562  //
  3563  // API parameter values that are decorated as "sensitive" in the API will not
  3564  // be included in the string output. The member name will be present, but the
  3565  // value will be replaced with "sensitive".
  3566  func (s Authentication) GoString() string {
  3567  	return s.String()
  3568  }
  3569  
  3570  // SetPasswordCount sets the PasswordCount field's value.
  3571  func (s *Authentication) SetPasswordCount(v int64) *Authentication {
  3572  	s.PasswordCount = &v
  3573  	return s
  3574  }
  3575  
  3576  // SetType sets the Type field's value.
  3577  func (s *Authentication) SetType(v string) *Authentication {
  3578  	s.Type = &v
  3579  	return s
  3580  }
  3581  
  3582  // Denotes the user's authentication properties, such as whether it requires
  3583  // a password to authenticate. Used in output responses.
  3584  type AuthenticationMode struct {
  3585  	_ struct{} `type:"structure"`
  3586  
  3587  	// The password(s) used for authentication
  3588  	Passwords []*string `min:"1" type:"list"`
  3589  
  3590  	// Indicates whether the user requires a password to authenticate. All newly-created
  3591  	// users require a password.
  3592  	Type *string `type:"string" enum:"InputAuthenticationType"`
  3593  }
  3594  
  3595  // String returns the string representation.
  3596  //
  3597  // API parameter values that are decorated as "sensitive" in the API will not
  3598  // be included in the string output. The member name will be present, but the
  3599  // value will be replaced with "sensitive".
  3600  func (s AuthenticationMode) String() string {
  3601  	return awsutil.Prettify(s)
  3602  }
  3603  
  3604  // GoString returns the string representation.
  3605  //
  3606  // API parameter values that are decorated as "sensitive" in the API will not
  3607  // be included in the string output. The member name will be present, but the
  3608  // value will be replaced with "sensitive".
  3609  func (s AuthenticationMode) GoString() string {
  3610  	return s.String()
  3611  }
  3612  
  3613  // Validate inspects the fields of the type to determine if they are valid.
  3614  func (s *AuthenticationMode) Validate() error {
  3615  	invalidParams := request.ErrInvalidParams{Context: "AuthenticationMode"}
  3616  	if s.Passwords != nil && len(s.Passwords) < 1 {
  3617  		invalidParams.Add(request.NewErrParamMinLen("Passwords", 1))
  3618  	}
  3619  
  3620  	if invalidParams.Len() > 0 {
  3621  		return invalidParams
  3622  	}
  3623  	return nil
  3624  }
  3625  
  3626  // SetPasswords sets the Passwords field's value.
  3627  func (s *AuthenticationMode) SetPasswords(v []*string) *AuthenticationMode {
  3628  	s.Passwords = v
  3629  	return s
  3630  }
  3631  
  3632  // SetType sets the Type field's value.
  3633  func (s *AuthenticationMode) SetType(v string) *AuthenticationMode {
  3634  	s.Type = &v
  3635  	return s
  3636  }
  3637  
  3638  // Indicates if the cluster has a Multi-AZ configuration (multiaz) or not (singleaz).
  3639  type AvailabilityZone struct {
  3640  	_ struct{} `type:"structure"`
  3641  
  3642  	// The name of the Availability Zone.
  3643  	Name *string `type:"string"`
  3644  }
  3645  
  3646  // String returns the string representation.
  3647  //
  3648  // API parameter values that are decorated as "sensitive" in the API will not
  3649  // be included in the string output. The member name will be present, but the
  3650  // value will be replaced with "sensitive".
  3651  func (s AvailabilityZone) String() string {
  3652  	return awsutil.Prettify(s)
  3653  }
  3654  
  3655  // GoString returns the string representation.
  3656  //
  3657  // API parameter values that are decorated as "sensitive" in the API will not
  3658  // be included in the string output. The member name will be present, but the
  3659  // value will be replaced with "sensitive".
  3660  func (s AvailabilityZone) GoString() string {
  3661  	return s.String()
  3662  }
  3663  
  3664  // SetName sets the Name field's value.
  3665  func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
  3666  	s.Name = &v
  3667  	return s
  3668  }
  3669  
  3670  type BatchUpdateClusterInput struct {
  3671  	_ struct{} `type:"structure"`
  3672  
  3673  	// The cluster names to apply the updates.
  3674  	//
  3675  	// ClusterNames is a required field
  3676  	ClusterNames []*string `type:"list" required:"true"`
  3677  
  3678  	// The unique ID of the service update
  3679  	ServiceUpdate *ServiceUpdateRequest `type:"structure"`
  3680  }
  3681  
  3682  // String returns the string representation.
  3683  //
  3684  // API parameter values that are decorated as "sensitive" in the API will not
  3685  // be included in the string output. The member name will be present, but the
  3686  // value will be replaced with "sensitive".
  3687  func (s BatchUpdateClusterInput) String() string {
  3688  	return awsutil.Prettify(s)
  3689  }
  3690  
  3691  // GoString returns the string representation.
  3692  //
  3693  // API parameter values that are decorated as "sensitive" in the API will not
  3694  // be included in the string output. The member name will be present, but the
  3695  // value will be replaced with "sensitive".
  3696  func (s BatchUpdateClusterInput) GoString() string {
  3697  	return s.String()
  3698  }
  3699  
  3700  // Validate inspects the fields of the type to determine if they are valid.
  3701  func (s *BatchUpdateClusterInput) Validate() error {
  3702  	invalidParams := request.ErrInvalidParams{Context: "BatchUpdateClusterInput"}
  3703  	if s.ClusterNames == nil {
  3704  		invalidParams.Add(request.NewErrParamRequired("ClusterNames"))
  3705  	}
  3706  
  3707  	if invalidParams.Len() > 0 {
  3708  		return invalidParams
  3709  	}
  3710  	return nil
  3711  }
  3712  
  3713  // SetClusterNames sets the ClusterNames field's value.
  3714  func (s *BatchUpdateClusterInput) SetClusterNames(v []*string) *BatchUpdateClusterInput {
  3715  	s.ClusterNames = v
  3716  	return s
  3717  }
  3718  
  3719  // SetServiceUpdate sets the ServiceUpdate field's value.
  3720  func (s *BatchUpdateClusterInput) SetServiceUpdate(v *ServiceUpdateRequest) *BatchUpdateClusterInput {
  3721  	s.ServiceUpdate = v
  3722  	return s
  3723  }
  3724  
  3725  type BatchUpdateClusterOutput struct {
  3726  	_ struct{} `type:"structure"`
  3727  
  3728  	// The list of clusters that have been updated.
  3729  	ProcessedClusters []*Cluster `type:"list"`
  3730  
  3731  	// The list of clusters where updates have not been applied.
  3732  	UnprocessedClusters []*UnprocessedCluster `type:"list"`
  3733  }
  3734  
  3735  // String returns the string representation.
  3736  //
  3737  // API parameter values that are decorated as "sensitive" in the API will not
  3738  // be included in the string output. The member name will be present, but the
  3739  // value will be replaced with "sensitive".
  3740  func (s BatchUpdateClusterOutput) String() string {
  3741  	return awsutil.Prettify(s)
  3742  }
  3743  
  3744  // GoString returns the string representation.
  3745  //
  3746  // API parameter values that are decorated as "sensitive" in the API will not
  3747  // be included in the string output. The member name will be present, but the
  3748  // value will be replaced with "sensitive".
  3749  func (s BatchUpdateClusterOutput) GoString() string {
  3750  	return s.String()
  3751  }
  3752  
  3753  // SetProcessedClusters sets the ProcessedClusters field's value.
  3754  func (s *BatchUpdateClusterOutput) SetProcessedClusters(v []*Cluster) *BatchUpdateClusterOutput {
  3755  	s.ProcessedClusters = v
  3756  	return s
  3757  }
  3758  
  3759  // SetUnprocessedClusters sets the UnprocessedClusters field's value.
  3760  func (s *BatchUpdateClusterOutput) SetUnprocessedClusters(v []*UnprocessedCluster) *BatchUpdateClusterOutput {
  3761  	s.UnprocessedClusters = v
  3762  	return s
  3763  }
  3764  
  3765  // Contains all of the attributes of a specific cluster.
  3766  type Cluster struct {
  3767  	_ struct{} `type:"structure"`
  3768  
  3769  	// The name of the Access Control List associated with this cluster.
  3770  	ACLName *string `min:"1" type:"string"`
  3771  
  3772  	// The Amazon Resource Name (ARN) of the cluster.
  3773  	ARN *string `type:"string"`
  3774  
  3775  	// When set to true, the cluster will automatically receive minor engine version
  3776  	// upgrades after launch.
  3777  	AutoMinorVersionUpgrade *bool `type:"boolean"`
  3778  
  3779  	// Indicates if the cluster has a Multi-AZ configuration (multiaz) or not (singleaz).
  3780  	AvailabilityMode *string `type:"string" enum:"AZStatus"`
  3781  
  3782  	// The cluster's configuration endpoint
  3783  	ClusterEndpoint *Endpoint `type:"structure"`
  3784  
  3785  	// A description of the cluster
  3786  	Description *string `type:"string"`
  3787  
  3788  	// The Redis engine patch version used by the cluster
  3789  	EnginePatchVersion *string `type:"string"`
  3790  
  3791  	// The Redis engine version used by the cluster
  3792  	EngineVersion *string `type:"string"`
  3793  
  3794  	// The ID of the KMS key used to encrypt the cluster
  3795  	KmsKeyId *string `type:"string"`
  3796  
  3797  	// Specifies the weekly time range during which maintenance on the cluster is
  3798  	// performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
  3799  	// (24H Clock UTC). The minimum maintenance window is a 60 minute period.
  3800  	MaintenanceWindow *string `type:"string"`
  3801  
  3802  	// The user-supplied name of the cluster. This identifier is a unique key that
  3803  	// identifies a cluster.
  3804  	Name *string `type:"string"`
  3805  
  3806  	// The cluster's node type
  3807  	NodeType *string `type:"string"`
  3808  
  3809  	// The number of shards in the cluster
  3810  	NumberOfShards *int64 `type:"integer"`
  3811  
  3812  	// The name of the parameter group used by the cluster
  3813  	ParameterGroupName *string `type:"string"`
  3814  
  3815  	// The status of the parameter group used by the cluster, for example 'active'
  3816  	// or 'applying'.
  3817  	ParameterGroupStatus *string `type:"string"`
  3818  
  3819  	// A group of settings that are currently being applied.
  3820  	PendingUpdates *ClusterPendingUpdates `type:"structure"`
  3821  
  3822  	// A list of security groups used by the cluster
  3823  	SecurityGroups []*SecurityGroupMembership `type:"list"`
  3824  
  3825  	// A list of shards that are members of the cluster.
  3826  	Shards []*Shard `type:"list"`
  3827  
  3828  	// The number of days for which MemoryDB retains automatic snapshots before
  3829  	// deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot
  3830  	// that was taken today is retained for 5 days before being deleted.
  3831  	SnapshotRetentionLimit *int64 `type:"integer"`
  3832  
  3833  	// The daily time range (in UTC) during which MemoryDB begins taking a daily
  3834  	// snapshot of your shard. Example: 05:00-09:00 If you do not specify this parameter,
  3835  	// MemoryDB automatically chooses an appropriate time range.
  3836  	SnapshotWindow *string `type:"string"`
  3837  
  3838  	// The Amazon Resource Name (ARN) of the SNS notification topic
  3839  	SnsTopicArn *string `type:"string"`
  3840  
  3841  	// The SNS topic must be in Active status to receive notifications
  3842  	SnsTopicStatus *string `type:"string"`
  3843  
  3844  	// The status of the cluster. For example, Available, Updating, Creating.
  3845  	Status *string `type:"string"`
  3846  
  3847  	// The name of the subnet group used by the cluster
  3848  	SubnetGroupName *string `type:"string"`
  3849  
  3850  	// A flag to indicate if In-transit encryption is enabled
  3851  	TLSEnabled *bool `type:"boolean"`
  3852  }
  3853  
  3854  // String returns the string representation.
  3855  //
  3856  // API parameter values that are decorated as "sensitive" in the API will not
  3857  // be included in the string output. The member name will be present, but the
  3858  // value will be replaced with "sensitive".
  3859  func (s Cluster) String() string {
  3860  	return awsutil.Prettify(s)
  3861  }
  3862  
  3863  // GoString returns the string representation.
  3864  //
  3865  // API parameter values that are decorated as "sensitive" in the API will not
  3866  // be included in the string output. The member name will be present, but the
  3867  // value will be replaced with "sensitive".
  3868  func (s Cluster) GoString() string {
  3869  	return s.String()
  3870  }
  3871  
  3872  // SetACLName sets the ACLName field's value.
  3873  func (s *Cluster) SetACLName(v string) *Cluster {
  3874  	s.ACLName = &v
  3875  	return s
  3876  }
  3877  
  3878  // SetARN sets the ARN field's value.
  3879  func (s *Cluster) SetARN(v string) *Cluster {
  3880  	s.ARN = &v
  3881  	return s
  3882  }
  3883  
  3884  // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
  3885  func (s *Cluster) SetAutoMinorVersionUpgrade(v bool) *Cluster {
  3886  	s.AutoMinorVersionUpgrade = &v
  3887  	return s
  3888  }
  3889  
  3890  // SetAvailabilityMode sets the AvailabilityMode field's value.
  3891  func (s *Cluster) SetAvailabilityMode(v string) *Cluster {
  3892  	s.AvailabilityMode = &v
  3893  	return s
  3894  }
  3895  
  3896  // SetClusterEndpoint sets the ClusterEndpoint field's value.
  3897  func (s *Cluster) SetClusterEndpoint(v *Endpoint) *Cluster {
  3898  	s.ClusterEndpoint = v
  3899  	return s
  3900  }
  3901  
  3902  // SetDescription sets the Description field's value.
  3903  func (s *Cluster) SetDescription(v string) *Cluster {
  3904  	s.Description = &v
  3905  	return s
  3906  }
  3907  
  3908  // SetEnginePatchVersion sets the EnginePatchVersion field's value.
  3909  func (s *Cluster) SetEnginePatchVersion(v string) *Cluster {
  3910  	s.EnginePatchVersion = &v
  3911  	return s
  3912  }
  3913  
  3914  // SetEngineVersion sets the EngineVersion field's value.
  3915  func (s *Cluster) SetEngineVersion(v string) *Cluster {
  3916  	s.EngineVersion = &v
  3917  	return s
  3918  }
  3919  
  3920  // SetKmsKeyId sets the KmsKeyId field's value.
  3921  func (s *Cluster) SetKmsKeyId(v string) *Cluster {
  3922  	s.KmsKeyId = &v
  3923  	return s
  3924  }
  3925  
  3926  // SetMaintenanceWindow sets the MaintenanceWindow field's value.
  3927  func (s *Cluster) SetMaintenanceWindow(v string) *Cluster {
  3928  	s.MaintenanceWindow = &v
  3929  	return s
  3930  }
  3931  
  3932  // SetName sets the Name field's value.
  3933  func (s *Cluster) SetName(v string) *Cluster {
  3934  	s.Name = &v
  3935  	return s
  3936  }
  3937  
  3938  // SetNodeType sets the NodeType field's value.
  3939  func (s *Cluster) SetNodeType(v string) *Cluster {
  3940  	s.NodeType = &v
  3941  	return s
  3942  }
  3943  
  3944  // SetNumberOfShards sets the NumberOfShards field's value.
  3945  func (s *Cluster) SetNumberOfShards(v int64) *Cluster {
  3946  	s.NumberOfShards = &v
  3947  	return s
  3948  }
  3949  
  3950  // SetParameterGroupName sets the ParameterGroupName field's value.
  3951  func (s *Cluster) SetParameterGroupName(v string) *Cluster {
  3952  	s.ParameterGroupName = &v
  3953  	return s
  3954  }
  3955  
  3956  // SetParameterGroupStatus sets the ParameterGroupStatus field's value.
  3957  func (s *Cluster) SetParameterGroupStatus(v string) *Cluster {
  3958  	s.ParameterGroupStatus = &v
  3959  	return s
  3960  }
  3961  
  3962  // SetPendingUpdates sets the PendingUpdates field's value.
  3963  func (s *Cluster) SetPendingUpdates(v *ClusterPendingUpdates) *Cluster {
  3964  	s.PendingUpdates = v
  3965  	return s
  3966  }
  3967  
  3968  // SetSecurityGroups sets the SecurityGroups field's value.
  3969  func (s *Cluster) SetSecurityGroups(v []*SecurityGroupMembership) *Cluster {
  3970  	s.SecurityGroups = v
  3971  	return s
  3972  }
  3973  
  3974  // SetShards sets the Shards field's value.
  3975  func (s *Cluster) SetShards(v []*Shard) *Cluster {
  3976  	s.Shards = v
  3977  	return s
  3978  }
  3979  
  3980  // SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value.
  3981  func (s *Cluster) SetSnapshotRetentionLimit(v int64) *Cluster {
  3982  	s.SnapshotRetentionLimit = &v
  3983  	return s
  3984  }
  3985  
  3986  // SetSnapshotWindow sets the SnapshotWindow field's value.
  3987  func (s *Cluster) SetSnapshotWindow(v string) *Cluster {
  3988  	s.SnapshotWindow = &v
  3989  	return s
  3990  }
  3991  
  3992  // SetSnsTopicArn sets the SnsTopicArn field's value.
  3993  func (s *Cluster) SetSnsTopicArn(v string) *Cluster {
  3994  	s.SnsTopicArn = &v
  3995  	return s
  3996  }
  3997  
  3998  // SetSnsTopicStatus sets the SnsTopicStatus field's value.
  3999  func (s *Cluster) SetSnsTopicStatus(v string) *Cluster {
  4000  	s.SnsTopicStatus = &v
  4001  	return s
  4002  }
  4003  
  4004  // SetStatus sets the Status field's value.
  4005  func (s *Cluster) SetStatus(v string) *Cluster {
  4006  	s.Status = &v
  4007  	return s
  4008  }
  4009  
  4010  // SetSubnetGroupName sets the SubnetGroupName field's value.
  4011  func (s *Cluster) SetSubnetGroupName(v string) *Cluster {
  4012  	s.SubnetGroupName = &v
  4013  	return s
  4014  }
  4015  
  4016  // SetTLSEnabled sets the TLSEnabled field's value.
  4017  func (s *Cluster) SetTLSEnabled(v bool) *Cluster {
  4018  	s.TLSEnabled = &v
  4019  	return s
  4020  }
  4021  
  4022  type ClusterAlreadyExistsFault struct {
  4023  	_            struct{}                  `type:"structure"`
  4024  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4025  
  4026  	Message_ *string `locationName:"message" type:"string"`
  4027  }
  4028  
  4029  // String returns the string representation.
  4030  //
  4031  // API parameter values that are decorated as "sensitive" in the API will not
  4032  // be included in the string output. The member name will be present, but the
  4033  // value will be replaced with "sensitive".
  4034  func (s ClusterAlreadyExistsFault) String() string {
  4035  	return awsutil.Prettify(s)
  4036  }
  4037  
  4038  // GoString returns the string representation.
  4039  //
  4040  // API parameter values that are decorated as "sensitive" in the API will not
  4041  // be included in the string output. The member name will be present, but the
  4042  // value will be replaced with "sensitive".
  4043  func (s ClusterAlreadyExistsFault) GoString() string {
  4044  	return s.String()
  4045  }
  4046  
  4047  func newErrorClusterAlreadyExistsFault(v protocol.ResponseMetadata) error {
  4048  	return &ClusterAlreadyExistsFault{
  4049  		RespMetadata: v,
  4050  	}
  4051  }
  4052  
  4053  // Code returns the exception type name.
  4054  func (s *ClusterAlreadyExistsFault) Code() string {
  4055  	return "ClusterAlreadyExistsFault"
  4056  }
  4057  
  4058  // Message returns the exception's message.
  4059  func (s *ClusterAlreadyExistsFault) Message() string {
  4060  	if s.Message_ != nil {
  4061  		return *s.Message_
  4062  	}
  4063  	return ""
  4064  }
  4065  
  4066  // OrigErr always returns nil, satisfies awserr.Error interface.
  4067  func (s *ClusterAlreadyExistsFault) OrigErr() error {
  4068  	return nil
  4069  }
  4070  
  4071  func (s *ClusterAlreadyExistsFault) Error() string {
  4072  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4073  }
  4074  
  4075  // Status code returns the HTTP status code for the request's response error.
  4076  func (s *ClusterAlreadyExistsFault) StatusCode() int {
  4077  	return s.RespMetadata.StatusCode
  4078  }
  4079  
  4080  // RequestID returns the service's response RequestID for request.
  4081  func (s *ClusterAlreadyExistsFault) RequestID() string {
  4082  	return s.RespMetadata.RequestID
  4083  }
  4084  
  4085  // A list of cluster configuration options.
  4086  type ClusterConfiguration struct {
  4087  	_ struct{} `type:"structure"`
  4088  
  4089  	// The description of the cluster configuration
  4090  	Description *string `type:"string"`
  4091  
  4092  	// The Redis engine version used by the cluster
  4093  	EngineVersion *string `type:"string"`
  4094  
  4095  	// The specified maintenance window for the cluster
  4096  	MaintenanceWindow *string `type:"string"`
  4097  
  4098  	// The name of the cluster
  4099  	Name *string `type:"string"`
  4100  
  4101  	// The node type used for the cluster
  4102  	NodeType *string `type:"string"`
  4103  
  4104  	// The number of shards in the cluster
  4105  	NumShards *int64 `type:"integer"`
  4106  
  4107  	// The name of parameter group used by the cluster
  4108  	ParameterGroupName *string `type:"string"`
  4109  
  4110  	// The port used by the cluster
  4111  	Port *int64 `type:"integer"`
  4112  
  4113  	// The list of shards in the cluster
  4114  	Shards []*ShardDetail `type:"list"`
  4115  
  4116  	// The snapshot retention limit set by the cluster
  4117  	SnapshotRetentionLimit *int64 `type:"integer"`
  4118  
  4119  	// The snapshot window set by the cluster
  4120  	SnapshotWindow *string `type:"string"`
  4121  
  4122  	// The name of the subnet group used by the cluster
  4123  	SubnetGroupName *string `type:"string"`
  4124  
  4125  	// The Amazon Resource Name (ARN) of the SNS notification topic for the cluster
  4126  	TopicArn *string `type:"string"`
  4127  
  4128  	// The ID of the VPC the cluster belongs to
  4129  	VpcId *string `type:"string"`
  4130  }
  4131  
  4132  // String returns the string representation.
  4133  //
  4134  // API parameter values that are decorated as "sensitive" in the API will not
  4135  // be included in the string output. The member name will be present, but the
  4136  // value will be replaced with "sensitive".
  4137  func (s ClusterConfiguration) String() string {
  4138  	return awsutil.Prettify(s)
  4139  }
  4140  
  4141  // GoString returns the string representation.
  4142  //
  4143  // API parameter values that are decorated as "sensitive" in the API will not
  4144  // be included in the string output. The member name will be present, but the
  4145  // value will be replaced with "sensitive".
  4146  func (s ClusterConfiguration) GoString() string {
  4147  	return s.String()
  4148  }
  4149  
  4150  // SetDescription sets the Description field's value.
  4151  func (s *ClusterConfiguration) SetDescription(v string) *ClusterConfiguration {
  4152  	s.Description = &v
  4153  	return s
  4154  }
  4155  
  4156  // SetEngineVersion sets the EngineVersion field's value.
  4157  func (s *ClusterConfiguration) SetEngineVersion(v string) *ClusterConfiguration {
  4158  	s.EngineVersion = &v
  4159  	return s
  4160  }
  4161  
  4162  // SetMaintenanceWindow sets the MaintenanceWindow field's value.
  4163  func (s *ClusterConfiguration) SetMaintenanceWindow(v string) *ClusterConfiguration {
  4164  	s.MaintenanceWindow = &v
  4165  	return s
  4166  }
  4167  
  4168  // SetName sets the Name field's value.
  4169  func (s *ClusterConfiguration) SetName(v string) *ClusterConfiguration {
  4170  	s.Name = &v
  4171  	return s
  4172  }
  4173  
  4174  // SetNodeType sets the NodeType field's value.
  4175  func (s *ClusterConfiguration) SetNodeType(v string) *ClusterConfiguration {
  4176  	s.NodeType = &v
  4177  	return s
  4178  }
  4179  
  4180  // SetNumShards sets the NumShards field's value.
  4181  func (s *ClusterConfiguration) SetNumShards(v int64) *ClusterConfiguration {
  4182  	s.NumShards = &v
  4183  	return s
  4184  }
  4185  
  4186  // SetParameterGroupName sets the ParameterGroupName field's value.
  4187  func (s *ClusterConfiguration) SetParameterGroupName(v string) *ClusterConfiguration {
  4188  	s.ParameterGroupName = &v
  4189  	return s
  4190  }
  4191  
  4192  // SetPort sets the Port field's value.
  4193  func (s *ClusterConfiguration) SetPort(v int64) *ClusterConfiguration {
  4194  	s.Port = &v
  4195  	return s
  4196  }
  4197  
  4198  // SetShards sets the Shards field's value.
  4199  func (s *ClusterConfiguration) SetShards(v []*ShardDetail) *ClusterConfiguration {
  4200  	s.Shards = v
  4201  	return s
  4202  }
  4203  
  4204  // SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value.
  4205  func (s *ClusterConfiguration) SetSnapshotRetentionLimit(v int64) *ClusterConfiguration {
  4206  	s.SnapshotRetentionLimit = &v
  4207  	return s
  4208  }
  4209  
  4210  // SetSnapshotWindow sets the SnapshotWindow field's value.
  4211  func (s *ClusterConfiguration) SetSnapshotWindow(v string) *ClusterConfiguration {
  4212  	s.SnapshotWindow = &v
  4213  	return s
  4214  }
  4215  
  4216  // SetSubnetGroupName sets the SubnetGroupName field's value.
  4217  func (s *ClusterConfiguration) SetSubnetGroupName(v string) *ClusterConfiguration {
  4218  	s.SubnetGroupName = &v
  4219  	return s
  4220  }
  4221  
  4222  // SetTopicArn sets the TopicArn field's value.
  4223  func (s *ClusterConfiguration) SetTopicArn(v string) *ClusterConfiguration {
  4224  	s.TopicArn = &v
  4225  	return s
  4226  }
  4227  
  4228  // SetVpcId sets the VpcId field's value.
  4229  func (s *ClusterConfiguration) SetVpcId(v string) *ClusterConfiguration {
  4230  	s.VpcId = &v
  4231  	return s
  4232  }
  4233  
  4234  type ClusterNotFoundFault struct {
  4235  	_            struct{}                  `type:"structure"`
  4236  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4237  
  4238  	Message_ *string `locationName:"message" type:"string"`
  4239  }
  4240  
  4241  // String returns the string representation.
  4242  //
  4243  // API parameter values that are decorated as "sensitive" in the API will not
  4244  // be included in the string output. The member name will be present, but the
  4245  // value will be replaced with "sensitive".
  4246  func (s ClusterNotFoundFault) String() string {
  4247  	return awsutil.Prettify(s)
  4248  }
  4249  
  4250  // GoString returns the string representation.
  4251  //
  4252  // API parameter values that are decorated as "sensitive" in the API will not
  4253  // be included in the string output. The member name will be present, but the
  4254  // value will be replaced with "sensitive".
  4255  func (s ClusterNotFoundFault) GoString() string {
  4256  	return s.String()
  4257  }
  4258  
  4259  func newErrorClusterNotFoundFault(v protocol.ResponseMetadata) error {
  4260  	return &ClusterNotFoundFault{
  4261  		RespMetadata: v,
  4262  	}
  4263  }
  4264  
  4265  // Code returns the exception type name.
  4266  func (s *ClusterNotFoundFault) Code() string {
  4267  	return "ClusterNotFoundFault"
  4268  }
  4269  
  4270  // Message returns the exception's message.
  4271  func (s *ClusterNotFoundFault) Message() string {
  4272  	if s.Message_ != nil {
  4273  		return *s.Message_
  4274  	}
  4275  	return ""
  4276  }
  4277  
  4278  // OrigErr always returns nil, satisfies awserr.Error interface.
  4279  func (s *ClusterNotFoundFault) OrigErr() error {
  4280  	return nil
  4281  }
  4282  
  4283  func (s *ClusterNotFoundFault) Error() string {
  4284  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4285  }
  4286  
  4287  // Status code returns the HTTP status code for the request's response error.
  4288  func (s *ClusterNotFoundFault) StatusCode() int {
  4289  	return s.RespMetadata.StatusCode
  4290  }
  4291  
  4292  // RequestID returns the service's response RequestID for request.
  4293  func (s *ClusterNotFoundFault) RequestID() string {
  4294  	return s.RespMetadata.RequestID
  4295  }
  4296  
  4297  // A list of updates being applied to the cluster
  4298  type ClusterPendingUpdates struct {
  4299  	_ struct{} `type:"structure"`
  4300  
  4301  	// A list of ACLs associated with the cluster that are being updated
  4302  	ACLs *ACLsUpdateStatus `type:"structure"`
  4303  
  4304  	// The status of an online resharding operation.
  4305  	Resharding *ReshardingStatus `type:"structure"`
  4306  
  4307  	// A list of service updates being applied to the cluster
  4308  	ServiceUpdates []*PendingModifiedServiceUpdate `type:"list"`
  4309  }
  4310  
  4311  // String returns the string representation.
  4312  //
  4313  // API parameter values that are decorated as "sensitive" in the API will not
  4314  // be included in the string output. The member name will be present, but the
  4315  // value will be replaced with "sensitive".
  4316  func (s ClusterPendingUpdates) String() string {
  4317  	return awsutil.Prettify(s)
  4318  }
  4319  
  4320  // GoString returns the string representation.
  4321  //
  4322  // API parameter values that are decorated as "sensitive" in the API will not
  4323  // be included in the string output. The member name will be present, but the
  4324  // value will be replaced with "sensitive".
  4325  func (s ClusterPendingUpdates) GoString() string {
  4326  	return s.String()
  4327  }
  4328  
  4329  // SetACLs sets the ACLs field's value.
  4330  func (s *ClusterPendingUpdates) SetACLs(v *ACLsUpdateStatus) *ClusterPendingUpdates {
  4331  	s.ACLs = v
  4332  	return s
  4333  }
  4334  
  4335  // SetResharding sets the Resharding field's value.
  4336  func (s *ClusterPendingUpdates) SetResharding(v *ReshardingStatus) *ClusterPendingUpdates {
  4337  	s.Resharding = v
  4338  	return s
  4339  }
  4340  
  4341  // SetServiceUpdates sets the ServiceUpdates field's value.
  4342  func (s *ClusterPendingUpdates) SetServiceUpdates(v []*PendingModifiedServiceUpdate) *ClusterPendingUpdates {
  4343  	s.ServiceUpdates = v
  4344  	return s
  4345  }
  4346  
  4347  type ClusterQuotaForCustomerExceededFault struct {
  4348  	_            struct{}                  `type:"structure"`
  4349  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4350  
  4351  	Message_ *string `locationName:"message" type:"string"`
  4352  }
  4353  
  4354  // String returns the string representation.
  4355  //
  4356  // API parameter values that are decorated as "sensitive" in the API will not
  4357  // be included in the string output. The member name will be present, but the
  4358  // value will be replaced with "sensitive".
  4359  func (s ClusterQuotaForCustomerExceededFault) String() string {
  4360  	return awsutil.Prettify(s)
  4361  }
  4362  
  4363  // GoString returns the string representation.
  4364  //
  4365  // API parameter values that are decorated as "sensitive" in the API will not
  4366  // be included in the string output. The member name will be present, but the
  4367  // value will be replaced with "sensitive".
  4368  func (s ClusterQuotaForCustomerExceededFault) GoString() string {
  4369  	return s.String()
  4370  }
  4371  
  4372  func newErrorClusterQuotaForCustomerExceededFault(v protocol.ResponseMetadata) error {
  4373  	return &ClusterQuotaForCustomerExceededFault{
  4374  		RespMetadata: v,
  4375  	}
  4376  }
  4377  
  4378  // Code returns the exception type name.
  4379  func (s *ClusterQuotaForCustomerExceededFault) Code() string {
  4380  	return "ClusterQuotaForCustomerExceededFault"
  4381  }
  4382  
  4383  // Message returns the exception's message.
  4384  func (s *ClusterQuotaForCustomerExceededFault) Message() string {
  4385  	if s.Message_ != nil {
  4386  		return *s.Message_
  4387  	}
  4388  	return ""
  4389  }
  4390  
  4391  // OrigErr always returns nil, satisfies awserr.Error interface.
  4392  func (s *ClusterQuotaForCustomerExceededFault) OrigErr() error {
  4393  	return nil
  4394  }
  4395  
  4396  func (s *ClusterQuotaForCustomerExceededFault) Error() string {
  4397  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4398  }
  4399  
  4400  // Status code returns the HTTP status code for the request's response error.
  4401  func (s *ClusterQuotaForCustomerExceededFault) StatusCode() int {
  4402  	return s.RespMetadata.StatusCode
  4403  }
  4404  
  4405  // RequestID returns the service's response RequestID for request.
  4406  func (s *ClusterQuotaForCustomerExceededFault) RequestID() string {
  4407  	return s.RespMetadata.RequestID
  4408  }
  4409  
  4410  type CopySnapshotInput struct {
  4411  	_ struct{} `type:"structure"`
  4412  
  4413  	// The ID of the KMS key used to encrypt the target snapshot.
  4414  	KmsKeyId *string `type:"string"`
  4415  
  4416  	// The name of an existing snapshot from which to make a copy.
  4417  	//
  4418  	// SourceSnapshotName is a required field
  4419  	SourceSnapshotName *string `type:"string" required:"true"`
  4420  
  4421  	// A list of tags to be added to this resource. A tag is a key-value pair. A
  4422  	// tag key must be accompanied by a tag value, although null is accepted.
  4423  	Tags []*Tag `type:"list"`
  4424  
  4425  	// The Amazon S3 bucket to which the snapshot is exported. This parameter is
  4426  	// used only when exporting a snapshot for external access. When using this
  4427  	// parameter to export a snapshot, be sure MemoryDB has the needed permissions
  4428  	// to this S3 bucket. For more information, see Step 2: Grant MemoryDB Access
  4429  	// to Your Amazon S3 Bucket (https://docs.aws.amazon.com/MemoryDB/latest/devguide/snapshots-exporting.html).
  4430  	TargetBucket *string `type:"string"`
  4431  
  4432  	// A name for the snapshot copy. MemoryDB does not permit overwriting a snapshot,
  4433  	// therefore this name must be unique within its context - MemoryDB or an Amazon
  4434  	// S3 bucket if exporting.
  4435  	//
  4436  	// TargetSnapshotName is a required field
  4437  	TargetSnapshotName *string `type:"string" required:"true"`
  4438  }
  4439  
  4440  // String returns the string representation.
  4441  //
  4442  // API parameter values that are decorated as "sensitive" in the API will not
  4443  // be included in the string output. The member name will be present, but the
  4444  // value will be replaced with "sensitive".
  4445  func (s CopySnapshotInput) String() string {
  4446  	return awsutil.Prettify(s)
  4447  }
  4448  
  4449  // GoString returns the string representation.
  4450  //
  4451  // API parameter values that are decorated as "sensitive" in the API will not
  4452  // be included in the string output. The member name will be present, but the
  4453  // value will be replaced with "sensitive".
  4454  func (s CopySnapshotInput) GoString() string {
  4455  	return s.String()
  4456  }
  4457  
  4458  // Validate inspects the fields of the type to determine if they are valid.
  4459  func (s *CopySnapshotInput) Validate() error {
  4460  	invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
  4461  	if s.SourceSnapshotName == nil {
  4462  		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName"))
  4463  	}
  4464  	if s.TargetSnapshotName == nil {
  4465  		invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName"))
  4466  	}
  4467  
  4468  	if invalidParams.Len() > 0 {
  4469  		return invalidParams
  4470  	}
  4471  	return nil
  4472  }
  4473  
  4474  // SetKmsKeyId sets the KmsKeyId field's value.
  4475  func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput {
  4476  	s.KmsKeyId = &v
  4477  	return s
  4478  }
  4479  
  4480  // SetSourceSnapshotName sets the SourceSnapshotName field's value.
  4481  func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput {
  4482  	s.SourceSnapshotName = &v
  4483  	return s
  4484  }
  4485  
  4486  // SetTags sets the Tags field's value.
  4487  func (s *CopySnapshotInput) SetTags(v []*Tag) *CopySnapshotInput {
  4488  	s.Tags = v
  4489  	return s
  4490  }
  4491  
  4492  // SetTargetBucket sets the TargetBucket field's value.
  4493  func (s *CopySnapshotInput) SetTargetBucket(v string) *CopySnapshotInput {
  4494  	s.TargetBucket = &v
  4495  	return s
  4496  }
  4497  
  4498  // SetTargetSnapshotName sets the TargetSnapshotName field's value.
  4499  func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput {
  4500  	s.TargetSnapshotName = &v
  4501  	return s
  4502  }
  4503  
  4504  type CopySnapshotOutput struct {
  4505  	_ struct{} `type:"structure"`
  4506  
  4507  	// Represents a copy of an entire cluster as of the time when the snapshot was
  4508  	// taken.
  4509  	Snapshot *Snapshot `type:"structure"`
  4510  }
  4511  
  4512  // String returns the string representation.
  4513  //
  4514  // API parameter values that are decorated as "sensitive" in the API will not
  4515  // be included in the string output. The member name will be present, but the
  4516  // value will be replaced with "sensitive".
  4517  func (s CopySnapshotOutput) String() string {
  4518  	return awsutil.Prettify(s)
  4519  }
  4520  
  4521  // GoString returns the string representation.
  4522  //
  4523  // API parameter values that are decorated as "sensitive" in the API will not
  4524  // be included in the string output. The member name will be present, but the
  4525  // value will be replaced with "sensitive".
  4526  func (s CopySnapshotOutput) GoString() string {
  4527  	return s.String()
  4528  }
  4529  
  4530  // SetSnapshot sets the Snapshot field's value.
  4531  func (s *CopySnapshotOutput) SetSnapshot(v *Snapshot) *CopySnapshotOutput {
  4532  	s.Snapshot = v
  4533  	return s
  4534  }
  4535  
  4536  type CreateACLInput struct {
  4537  	_ struct{} `type:"structure"`
  4538  
  4539  	// The name of the Access Control List.
  4540  	//
  4541  	// ACLName is a required field
  4542  	ACLName *string `type:"string" required:"true"`
  4543  
  4544  	// A list of tags to be added to this resource. A tag is a key-value pair. A
  4545  	// tag key must be accompanied by a tag value, although null is accepted.
  4546  	Tags []*Tag `type:"list"`
  4547  
  4548  	// The list of users that belong to the Access Control List.
  4549  	UserNames []*string `min:"1" type:"list"`
  4550  }
  4551  
  4552  // String returns the string representation.
  4553  //
  4554  // API parameter values that are decorated as "sensitive" in the API will not
  4555  // be included in the string output. The member name will be present, but the
  4556  // value will be replaced with "sensitive".
  4557  func (s CreateACLInput) String() string {
  4558  	return awsutil.Prettify(s)
  4559  }
  4560  
  4561  // GoString returns the string representation.
  4562  //
  4563  // API parameter values that are decorated as "sensitive" in the API will not
  4564  // be included in the string output. The member name will be present, but the
  4565  // value will be replaced with "sensitive".
  4566  func (s CreateACLInput) GoString() string {
  4567  	return s.String()
  4568  }
  4569  
  4570  // Validate inspects the fields of the type to determine if they are valid.
  4571  func (s *CreateACLInput) Validate() error {
  4572  	invalidParams := request.ErrInvalidParams{Context: "CreateACLInput"}
  4573  	if s.ACLName == nil {
  4574  		invalidParams.Add(request.NewErrParamRequired("ACLName"))
  4575  	}
  4576  	if s.UserNames != nil && len(s.UserNames) < 1 {
  4577  		invalidParams.Add(request.NewErrParamMinLen("UserNames", 1))
  4578  	}
  4579  
  4580  	if invalidParams.Len() > 0 {
  4581  		return invalidParams
  4582  	}
  4583  	return nil
  4584  }
  4585  
  4586  // SetACLName sets the ACLName field's value.
  4587  func (s *CreateACLInput) SetACLName(v string) *CreateACLInput {
  4588  	s.ACLName = &v
  4589  	return s
  4590  }
  4591  
  4592  // SetTags sets the Tags field's value.
  4593  func (s *CreateACLInput) SetTags(v []*Tag) *CreateACLInput {
  4594  	s.Tags = v
  4595  	return s
  4596  }
  4597  
  4598  // SetUserNames sets the UserNames field's value.
  4599  func (s *CreateACLInput) SetUserNames(v []*string) *CreateACLInput {
  4600  	s.UserNames = v
  4601  	return s
  4602  }
  4603  
  4604  type CreateACLOutput struct {
  4605  	_ struct{} `type:"structure"`
  4606  
  4607  	// The newly-created Access Control List.
  4608  	ACL *ACL `type:"structure"`
  4609  }
  4610  
  4611  // String returns the string representation.
  4612  //
  4613  // API parameter values that are decorated as "sensitive" in the API will not
  4614  // be included in the string output. The member name will be present, but the
  4615  // value will be replaced with "sensitive".
  4616  func (s CreateACLOutput) String() string {
  4617  	return awsutil.Prettify(s)
  4618  }
  4619  
  4620  // GoString returns the string representation.
  4621  //
  4622  // API parameter values that are decorated as "sensitive" in the API will not
  4623  // be included in the string output. The member name will be present, but the
  4624  // value will be replaced with "sensitive".
  4625  func (s CreateACLOutput) GoString() string {
  4626  	return s.String()
  4627  }
  4628  
  4629  // SetACL sets the ACL field's value.
  4630  func (s *CreateACLOutput) SetACL(v *ACL) *CreateACLOutput {
  4631  	s.ACL = v
  4632  	return s
  4633  }
  4634  
  4635  type CreateClusterInput struct {
  4636  	_ struct{} `type:"structure"`
  4637  
  4638  	// The name of the Access Control List to associate with the cluster.
  4639  	//
  4640  	// ACLName is a required field
  4641  	ACLName *string `min:"1" type:"string" required:"true"`
  4642  
  4643  	// When set to true, the cluster will automatically receive minor engine version
  4644  	// upgrades after launch.
  4645  	AutoMinorVersionUpgrade *bool `type:"boolean"`
  4646  
  4647  	// The name of the cluster. This value must be unique as it also serves as the
  4648  	// cluster identifier.
  4649  	//
  4650  	// ClusterName is a required field
  4651  	ClusterName *string `type:"string" required:"true"`
  4652  
  4653  	// An optional description of the cluster.
  4654  	Description *string `type:"string"`
  4655  
  4656  	// The version number of the Redis engine to be used for the cluster.
  4657  	EngineVersion *string `type:"string"`
  4658  
  4659  	// The ID of the KMS key used to encrypt the cluster.
  4660  	KmsKeyId *string `type:"string"`
  4661  
  4662  	// Specifies the weekly time range during which maintenance on the cluster is
  4663  	// performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
  4664  	// (24H Clock UTC). The minimum maintenance window is a 60 minute period.
  4665  	MaintenanceWindow *string `type:"string"`
  4666  
  4667  	// The compute and memory capacity of the nodes in the cluster.
  4668  	//
  4669  	// NodeType is a required field
  4670  	NodeType *string `type:"string" required:"true"`
  4671  
  4672  	// The number of replicas to apply to each shard. The default value is 1. The
  4673  	// maximum is 5.
  4674  	NumReplicasPerShard *int64 `type:"integer"`
  4675  
  4676  	// The number of shards the cluster will contain. The default value is 1.
  4677  	NumShards *int64 `type:"integer"`
  4678  
  4679  	// The name of the parameter group associated with the cluster.
  4680  	ParameterGroupName *string `type:"string"`
  4681  
  4682  	// The port number on which each of the nodes accepts connections.
  4683  	Port *int64 `type:"integer"`
  4684  
  4685  	// A list of security group names to associate with this cluster.
  4686  	SecurityGroupIds []*string `type:"list"`
  4687  
  4688  	// A list of Amazon Resource Names (ARN) that uniquely identify the RDB snapshot
  4689  	// files stored in Amazon S3. The snapshot files are used to populate the new
  4690  	// cluster. The Amazon S3 object name in the ARN cannot contain any commas.
  4691  	SnapshotArns []*string `type:"list"`
  4692  
  4693  	// The name of a snapshot from which to restore data into the new cluster. The
  4694  	// snapshot status changes to restoring while the new cluster is being created.
  4695  	SnapshotName *string `type:"string"`
  4696  
  4697  	// The number of days for which MemoryDB retains automatic snapshots before
  4698  	// deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot
  4699  	// that was taken today is retained for 5 days before being deleted.
  4700  	SnapshotRetentionLimit *int64 `type:"integer"`
  4701  
  4702  	// The daily time range (in UTC) during which MemoryDB begins taking a daily
  4703  	// snapshot of your shard.
  4704  	//
  4705  	// Example: 05:00-09:00
  4706  	//
  4707  	// If you do not specify this parameter, MemoryDB automatically chooses an appropriate
  4708  	// time range.
  4709  	SnapshotWindow *string `type:"string"`
  4710  
  4711  	// The Amazon Resource Name (ARN) of the Amazon Simple Notification Service
  4712  	// (SNS) topic to which notifications are sent.
  4713  	SnsTopicArn *string `type:"string"`
  4714  
  4715  	// The name of the subnet group to be used for the cluster.
  4716  	SubnetGroupName *string `type:"string"`
  4717  
  4718  	// A flag to enable in-transit encryption on the cluster.
  4719  	TLSEnabled *bool `type:"boolean"`
  4720  
  4721  	// A list of tags to be added to this resource. Tags are comma-separated key,value
  4722  	// pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple tags as
  4723  	// shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue.
  4724  	Tags []*Tag `type:"list"`
  4725  }
  4726  
  4727  // String returns the string representation.
  4728  //
  4729  // API parameter values that are decorated as "sensitive" in the API will not
  4730  // be included in the string output. The member name will be present, but the
  4731  // value will be replaced with "sensitive".
  4732  func (s CreateClusterInput) String() string {
  4733  	return awsutil.Prettify(s)
  4734  }
  4735  
  4736  // GoString returns the string representation.
  4737  //
  4738  // API parameter values that are decorated as "sensitive" in the API will not
  4739  // be included in the string output. The member name will be present, but the
  4740  // value will be replaced with "sensitive".
  4741  func (s CreateClusterInput) GoString() string {
  4742  	return s.String()
  4743  }
  4744  
  4745  // Validate inspects the fields of the type to determine if they are valid.
  4746  func (s *CreateClusterInput) Validate() error {
  4747  	invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"}
  4748  	if s.ACLName == nil {
  4749  		invalidParams.Add(request.NewErrParamRequired("ACLName"))
  4750  	}
  4751  	if s.ACLName != nil && len(*s.ACLName) < 1 {
  4752  		invalidParams.Add(request.NewErrParamMinLen("ACLName", 1))
  4753  	}
  4754  	if s.ClusterName == nil {
  4755  		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
  4756  	}
  4757  	if s.NodeType == nil {
  4758  		invalidParams.Add(request.NewErrParamRequired("NodeType"))
  4759  	}
  4760  
  4761  	if invalidParams.Len() > 0 {
  4762  		return invalidParams
  4763  	}
  4764  	return nil
  4765  }
  4766  
  4767  // SetACLName sets the ACLName field's value.
  4768  func (s *CreateClusterInput) SetACLName(v string) *CreateClusterInput {
  4769  	s.ACLName = &v
  4770  	return s
  4771  }
  4772  
  4773  // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
  4774  func (s *CreateClusterInput) SetAutoMinorVersionUpgrade(v bool) *CreateClusterInput {
  4775  	s.AutoMinorVersionUpgrade = &v
  4776  	return s
  4777  }
  4778  
  4779  // SetClusterName sets the ClusterName field's value.
  4780  func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput {
  4781  	s.ClusterName = &v
  4782  	return s
  4783  }
  4784  
  4785  // SetDescription sets the Description field's value.
  4786  func (s *CreateClusterInput) SetDescription(v string) *CreateClusterInput {
  4787  	s.Description = &v
  4788  	return s
  4789  }
  4790  
  4791  // SetEngineVersion sets the EngineVersion field's value.
  4792  func (s *CreateClusterInput) SetEngineVersion(v string) *CreateClusterInput {
  4793  	s.EngineVersion = &v
  4794  	return s
  4795  }
  4796  
  4797  // SetKmsKeyId sets the KmsKeyId field's value.
  4798  func (s *CreateClusterInput) SetKmsKeyId(v string) *CreateClusterInput {
  4799  	s.KmsKeyId = &v
  4800  	return s
  4801  }
  4802  
  4803  // SetMaintenanceWindow sets the MaintenanceWindow field's value.
  4804  func (s *CreateClusterInput) SetMaintenanceWindow(v string) *CreateClusterInput {
  4805  	s.MaintenanceWindow = &v
  4806  	return s
  4807  }
  4808  
  4809  // SetNodeType sets the NodeType field's value.
  4810  func (s *CreateClusterInput) SetNodeType(v string) *CreateClusterInput {
  4811  	s.NodeType = &v
  4812  	return s
  4813  }
  4814  
  4815  // SetNumReplicasPerShard sets the NumReplicasPerShard field's value.
  4816  func (s *CreateClusterInput) SetNumReplicasPerShard(v int64) *CreateClusterInput {
  4817  	s.NumReplicasPerShard = &v
  4818  	return s
  4819  }
  4820  
  4821  // SetNumShards sets the NumShards field's value.
  4822  func (s *CreateClusterInput) SetNumShards(v int64) *CreateClusterInput {
  4823  	s.NumShards = &v
  4824  	return s
  4825  }
  4826  
  4827  // SetParameterGroupName sets the ParameterGroupName field's value.
  4828  func (s *CreateClusterInput) SetParameterGroupName(v string) *CreateClusterInput {
  4829  	s.ParameterGroupName = &v
  4830  	return s
  4831  }
  4832  
  4833  // SetPort sets the Port field's value.
  4834  func (s *CreateClusterInput) SetPort(v int64) *CreateClusterInput {
  4835  	s.Port = &v
  4836  	return s
  4837  }
  4838  
  4839  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  4840  func (s *CreateClusterInput) SetSecurityGroupIds(v []*string) *CreateClusterInput {
  4841  	s.SecurityGroupIds = v
  4842  	return s
  4843  }
  4844  
  4845  // SetSnapshotArns sets the SnapshotArns field's value.
  4846  func (s *CreateClusterInput) SetSnapshotArns(v []*string) *CreateClusterInput {
  4847  	s.SnapshotArns = v
  4848  	return s
  4849  }
  4850  
  4851  // SetSnapshotName sets the SnapshotName field's value.
  4852  func (s *CreateClusterInput) SetSnapshotName(v string) *CreateClusterInput {
  4853  	s.SnapshotName = &v
  4854  	return s
  4855  }
  4856  
  4857  // SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value.
  4858  func (s *CreateClusterInput) SetSnapshotRetentionLimit(v int64) *CreateClusterInput {
  4859  	s.SnapshotRetentionLimit = &v
  4860  	return s
  4861  }
  4862  
  4863  // SetSnapshotWindow sets the SnapshotWindow field's value.
  4864  func (s *CreateClusterInput) SetSnapshotWindow(v string) *CreateClusterInput {
  4865  	s.SnapshotWindow = &v
  4866  	return s
  4867  }
  4868  
  4869  // SetSnsTopicArn sets the SnsTopicArn field's value.
  4870  func (s *CreateClusterInput) SetSnsTopicArn(v string) *CreateClusterInput {
  4871  	s.SnsTopicArn = &v
  4872  	return s
  4873  }
  4874  
  4875  // SetSubnetGroupName sets the SubnetGroupName field's value.
  4876  func (s *CreateClusterInput) SetSubnetGroupName(v string) *CreateClusterInput {
  4877  	s.SubnetGroupName = &v
  4878  	return s
  4879  }
  4880  
  4881  // SetTLSEnabled sets the TLSEnabled field's value.
  4882  func (s *CreateClusterInput) SetTLSEnabled(v bool) *CreateClusterInput {
  4883  	s.TLSEnabled = &v
  4884  	return s
  4885  }
  4886  
  4887  // SetTags sets the Tags field's value.
  4888  func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput {
  4889  	s.Tags = v
  4890  	return s
  4891  }
  4892  
  4893  type CreateClusterOutput struct {
  4894  	_ struct{} `type:"structure"`
  4895  
  4896  	// The newly-created cluster.
  4897  	Cluster *Cluster `type:"structure"`
  4898  }
  4899  
  4900  // String returns the string representation.
  4901  //
  4902  // API parameter values that are decorated as "sensitive" in the API will not
  4903  // be included in the string output. The member name will be present, but the
  4904  // value will be replaced with "sensitive".
  4905  func (s CreateClusterOutput) String() string {
  4906  	return awsutil.Prettify(s)
  4907  }
  4908  
  4909  // GoString returns the string representation.
  4910  //
  4911  // API parameter values that are decorated as "sensitive" in the API will not
  4912  // be included in the string output. The member name will be present, but the
  4913  // value will be replaced with "sensitive".
  4914  func (s CreateClusterOutput) GoString() string {
  4915  	return s.String()
  4916  }
  4917  
  4918  // SetCluster sets the Cluster field's value.
  4919  func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput {
  4920  	s.Cluster = v
  4921  	return s
  4922  }
  4923  
  4924  type CreateParameterGroupInput struct {
  4925  	_ struct{} `type:"structure"`
  4926  
  4927  	// An optional description of the parameter group.
  4928  	Description *string `type:"string"`
  4929  
  4930  	// The name of the parameter group family that the parameter group can be used
  4931  	// with.
  4932  	//
  4933  	// Family is a required field
  4934  	Family *string `type:"string" required:"true"`
  4935  
  4936  	// The name of the parameter group.
  4937  	//
  4938  	// ParameterGroupName is a required field
  4939  	ParameterGroupName *string `type:"string" required:"true"`
  4940  
  4941  	// A list of tags to be added to this resource. A tag is a key-value pair. A
  4942  	// tag key must be accompanied by a tag value, although null is accepted.
  4943  	Tags []*Tag `type:"list"`
  4944  }
  4945  
  4946  // String returns the string representation.
  4947  //
  4948  // API parameter values that are decorated as "sensitive" in the API will not
  4949  // be included in the string output. The member name will be present, but the
  4950  // value will be replaced with "sensitive".
  4951  func (s CreateParameterGroupInput) String() string {
  4952  	return awsutil.Prettify(s)
  4953  }
  4954  
  4955  // GoString returns the string representation.
  4956  //
  4957  // API parameter values that are decorated as "sensitive" in the API will not
  4958  // be included in the string output. The member name will be present, but the
  4959  // value will be replaced with "sensitive".
  4960  func (s CreateParameterGroupInput) GoString() string {
  4961  	return s.String()
  4962  }
  4963  
  4964  // Validate inspects the fields of the type to determine if they are valid.
  4965  func (s *CreateParameterGroupInput) Validate() error {
  4966  	invalidParams := request.ErrInvalidParams{Context: "CreateParameterGroupInput"}
  4967  	if s.Family == nil {
  4968  		invalidParams.Add(request.NewErrParamRequired("Family"))
  4969  	}
  4970  	if s.ParameterGroupName == nil {
  4971  		invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
  4972  	}
  4973  
  4974  	if invalidParams.Len() > 0 {
  4975  		return invalidParams
  4976  	}
  4977  	return nil
  4978  }
  4979  
  4980  // SetDescription sets the Description field's value.
  4981  func (s *CreateParameterGroupInput) SetDescription(v string) *CreateParameterGroupInput {
  4982  	s.Description = &v
  4983  	return s
  4984  }
  4985  
  4986  // SetFamily sets the Family field's value.
  4987  func (s *CreateParameterGroupInput) SetFamily(v string) *CreateParameterGroupInput {
  4988  	s.Family = &v
  4989  	return s
  4990  }
  4991  
  4992  // SetParameterGroupName sets the ParameterGroupName field's value.
  4993  func (s *CreateParameterGroupInput) SetParameterGroupName(v string) *CreateParameterGroupInput {
  4994  	s.ParameterGroupName = &v
  4995  	return s
  4996  }
  4997  
  4998  // SetTags sets the Tags field's value.
  4999  func (s *CreateParameterGroupInput) SetTags(v []*Tag) *CreateParameterGroupInput {
  5000  	s.Tags = v
  5001  	return s
  5002  }
  5003  
  5004  type CreateParameterGroupOutput struct {
  5005  	_ struct{} `type:"structure"`
  5006  
  5007  	// The newly-created parameter group.
  5008  	ParameterGroup *ParameterGroup `type:"structure"`
  5009  }
  5010  
  5011  // String returns the string representation.
  5012  //
  5013  // API parameter values that are decorated as "sensitive" in the API will not
  5014  // be included in the string output. The member name will be present, but the
  5015  // value will be replaced with "sensitive".
  5016  func (s CreateParameterGroupOutput) String() string {
  5017  	return awsutil.Prettify(s)
  5018  }
  5019  
  5020  // GoString returns the string representation.
  5021  //
  5022  // API parameter values that are decorated as "sensitive" in the API will not
  5023  // be included in the string output. The member name will be present, but the
  5024  // value will be replaced with "sensitive".
  5025  func (s CreateParameterGroupOutput) GoString() string {
  5026  	return s.String()
  5027  }
  5028  
  5029  // SetParameterGroup sets the ParameterGroup field's value.
  5030  func (s *CreateParameterGroupOutput) SetParameterGroup(v *ParameterGroup) *CreateParameterGroupOutput {
  5031  	s.ParameterGroup = v
  5032  	return s
  5033  }
  5034  
  5035  type CreateSnapshotInput struct {
  5036  	_ struct{} `type:"structure"`
  5037  
  5038  	// The snapshot is created from this cluster.
  5039  	//
  5040  	// ClusterName is a required field
  5041  	ClusterName *string `type:"string" required:"true"`
  5042  
  5043  	// The ID of the KMS key used to encrypt the snapshot.
  5044  	KmsKeyId *string `type:"string"`
  5045  
  5046  	// A name for the snapshot being created.
  5047  	//
  5048  	// SnapshotName is a required field
  5049  	SnapshotName *string `type:"string" required:"true"`
  5050  
  5051  	// A list of tags to be added to this resource. A tag is a key-value pair. A
  5052  	// tag key must be accompanied by a tag value, although null is accepted.
  5053  	Tags []*Tag `type:"list"`
  5054  }
  5055  
  5056  // String 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 CreateSnapshotInput) String() string {
  5062  	return awsutil.Prettify(s)
  5063  }
  5064  
  5065  // GoString returns the string representation.
  5066  //
  5067  // API parameter values that are decorated as "sensitive" in the API will not
  5068  // be included in the string output. The member name will be present, but the
  5069  // value will be replaced with "sensitive".
  5070  func (s CreateSnapshotInput) GoString() string {
  5071  	return s.String()
  5072  }
  5073  
  5074  // Validate inspects the fields of the type to determine if they are valid.
  5075  func (s *CreateSnapshotInput) Validate() error {
  5076  	invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
  5077  	if s.ClusterName == nil {
  5078  		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
  5079  	}
  5080  	if s.SnapshotName == nil {
  5081  		invalidParams.Add(request.NewErrParamRequired("SnapshotName"))
  5082  	}
  5083  
  5084  	if invalidParams.Len() > 0 {
  5085  		return invalidParams
  5086  	}
  5087  	return nil
  5088  }
  5089  
  5090  // SetClusterName sets the ClusterName field's value.
  5091  func (s *CreateSnapshotInput) SetClusterName(v string) *CreateSnapshotInput {
  5092  	s.ClusterName = &v
  5093  	return s
  5094  }
  5095  
  5096  // SetKmsKeyId sets the KmsKeyId field's value.
  5097  func (s *CreateSnapshotInput) SetKmsKeyId(v string) *CreateSnapshotInput {
  5098  	s.KmsKeyId = &v
  5099  	return s
  5100  }
  5101  
  5102  // SetSnapshotName sets the SnapshotName field's value.
  5103  func (s *CreateSnapshotInput) SetSnapshotName(v string) *CreateSnapshotInput {
  5104  	s.SnapshotName = &v
  5105  	return s
  5106  }
  5107  
  5108  // SetTags sets the Tags field's value.
  5109  func (s *CreateSnapshotInput) SetTags(v []*Tag) *CreateSnapshotInput {
  5110  	s.Tags = v
  5111  	return s
  5112  }
  5113  
  5114  type CreateSnapshotOutput struct {
  5115  	_ struct{} `type:"structure"`
  5116  
  5117  	// The newly-created snapshot.
  5118  	Snapshot *Snapshot `type:"structure"`
  5119  }
  5120  
  5121  // String returns the string representation.
  5122  //
  5123  // API parameter values that are decorated as "sensitive" in the API will not
  5124  // be included in the string output. The member name will be present, but the
  5125  // value will be replaced with "sensitive".
  5126  func (s CreateSnapshotOutput) String() string {
  5127  	return awsutil.Prettify(s)
  5128  }
  5129  
  5130  // GoString returns the string representation.
  5131  //
  5132  // API parameter values that are decorated as "sensitive" in the API will not
  5133  // be included in the string output. The member name will be present, but the
  5134  // value will be replaced with "sensitive".
  5135  func (s CreateSnapshotOutput) GoString() string {
  5136  	return s.String()
  5137  }
  5138  
  5139  // SetSnapshot sets the Snapshot field's value.
  5140  func (s *CreateSnapshotOutput) SetSnapshot(v *Snapshot) *CreateSnapshotOutput {
  5141  	s.Snapshot = v
  5142  	return s
  5143  }
  5144  
  5145  type CreateSubnetGroupInput struct {
  5146  	_ struct{} `type:"structure"`
  5147  
  5148  	// A description for the subnet group.
  5149  	Description *string `type:"string"`
  5150  
  5151  	// The name of the subnet group.
  5152  	//
  5153  	// SubnetGroupName is a required field
  5154  	SubnetGroupName *string `type:"string" required:"true"`
  5155  
  5156  	// A list of VPC subnet IDs for the subnet group.
  5157  	//
  5158  	// SubnetIds is a required field
  5159  	SubnetIds []*string `type:"list" required:"true"`
  5160  
  5161  	// A list of tags to be added to this resource. A tag is a key-value pair. A
  5162  	// tag key must be accompanied by a tag value, although null is accepted.
  5163  	Tags []*Tag `type:"list"`
  5164  }
  5165  
  5166  // String returns the string representation.
  5167  //
  5168  // API parameter values that are decorated as "sensitive" in the API will not
  5169  // be included in the string output. The member name will be present, but the
  5170  // value will be replaced with "sensitive".
  5171  func (s CreateSubnetGroupInput) String() string {
  5172  	return awsutil.Prettify(s)
  5173  }
  5174  
  5175  // GoString returns the string representation.
  5176  //
  5177  // API parameter values that are decorated as "sensitive" in the API will not
  5178  // be included in the string output. The member name will be present, but the
  5179  // value will be replaced with "sensitive".
  5180  func (s CreateSubnetGroupInput) GoString() string {
  5181  	return s.String()
  5182  }
  5183  
  5184  // Validate inspects the fields of the type to determine if they are valid.
  5185  func (s *CreateSubnetGroupInput) Validate() error {
  5186  	invalidParams := request.ErrInvalidParams{Context: "CreateSubnetGroupInput"}
  5187  	if s.SubnetGroupName == nil {
  5188  		invalidParams.Add(request.NewErrParamRequired("SubnetGroupName"))
  5189  	}
  5190  	if s.SubnetIds == nil {
  5191  		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
  5192  	}
  5193  
  5194  	if invalidParams.Len() > 0 {
  5195  		return invalidParams
  5196  	}
  5197  	return nil
  5198  }
  5199  
  5200  // SetDescription sets the Description field's value.
  5201  func (s *CreateSubnetGroupInput) SetDescription(v string) *CreateSubnetGroupInput {
  5202  	s.Description = &v
  5203  	return s
  5204  }
  5205  
  5206  // SetSubnetGroupName sets the SubnetGroupName field's value.
  5207  func (s *CreateSubnetGroupInput) SetSubnetGroupName(v string) *CreateSubnetGroupInput {
  5208  	s.SubnetGroupName = &v
  5209  	return s
  5210  }
  5211  
  5212  // SetSubnetIds sets the SubnetIds field's value.
  5213  func (s *CreateSubnetGroupInput) SetSubnetIds(v []*string) *CreateSubnetGroupInput {
  5214  	s.SubnetIds = v
  5215  	return s
  5216  }
  5217  
  5218  // SetTags sets the Tags field's value.
  5219  func (s *CreateSubnetGroupInput) SetTags(v []*Tag) *CreateSubnetGroupInput {
  5220  	s.Tags = v
  5221  	return s
  5222  }
  5223  
  5224  type CreateSubnetGroupOutput struct {
  5225  	_ struct{} `type:"structure"`
  5226  
  5227  	// The newly-created subnet group
  5228  	SubnetGroup *SubnetGroup `type:"structure"`
  5229  }
  5230  
  5231  // String returns the string representation.
  5232  //
  5233  // API parameter values that are decorated as "sensitive" in the API will not
  5234  // be included in the string output. The member name will be present, but the
  5235  // value will be replaced with "sensitive".
  5236  func (s CreateSubnetGroupOutput) String() string {
  5237  	return awsutil.Prettify(s)
  5238  }
  5239  
  5240  // GoString returns the string representation.
  5241  //
  5242  // API parameter values that are decorated as "sensitive" in the API will not
  5243  // be included in the string output. The member name will be present, but the
  5244  // value will be replaced with "sensitive".
  5245  func (s CreateSubnetGroupOutput) GoString() string {
  5246  	return s.String()
  5247  }
  5248  
  5249  // SetSubnetGroup sets the SubnetGroup field's value.
  5250  func (s *CreateSubnetGroupOutput) SetSubnetGroup(v *SubnetGroup) *CreateSubnetGroupOutput {
  5251  	s.SubnetGroup = v
  5252  	return s
  5253  }
  5254  
  5255  type CreateUserInput struct {
  5256  	_ struct{} `type:"structure"`
  5257  
  5258  	// Access permissions string used for this user.
  5259  	//
  5260  	// AccessString is a required field
  5261  	AccessString *string `type:"string" required:"true"`
  5262  
  5263  	// Denotes the user's authentication properties, such as whether it requires
  5264  	// a password to authenticate.
  5265  	//
  5266  	// AuthenticationMode is a required field
  5267  	AuthenticationMode *AuthenticationMode `type:"structure" required:"true"`
  5268  
  5269  	// A list of tags to be added to this resource. A tag is a key-value pair. A
  5270  	// tag key must be accompanied by a tag value, although null is accepted.
  5271  	Tags []*Tag `type:"list"`
  5272  
  5273  	// The name of the user. This value must be unique as it also serves as the
  5274  	// user identifier.
  5275  	//
  5276  	// UserName is a required field
  5277  	UserName *string `min:"1" type:"string" required:"true"`
  5278  }
  5279  
  5280  // String returns the string representation.
  5281  //
  5282  // API parameter values that are decorated as "sensitive" in the API will not
  5283  // be included in the string output. The member name will be present, but the
  5284  // value will be replaced with "sensitive".
  5285  func (s CreateUserInput) String() string {
  5286  	return awsutil.Prettify(s)
  5287  }
  5288  
  5289  // GoString returns the string representation.
  5290  //
  5291  // API parameter values that are decorated as "sensitive" in the API will not
  5292  // be included in the string output. The member name will be present, but the
  5293  // value will be replaced with "sensitive".
  5294  func (s CreateUserInput) GoString() string {
  5295  	return s.String()
  5296  }
  5297  
  5298  // Validate inspects the fields of the type to determine if they are valid.
  5299  func (s *CreateUserInput) Validate() error {
  5300  	invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"}
  5301  	if s.AccessString == nil {
  5302  		invalidParams.Add(request.NewErrParamRequired("AccessString"))
  5303  	}
  5304  	if s.AuthenticationMode == nil {
  5305  		invalidParams.Add(request.NewErrParamRequired("AuthenticationMode"))
  5306  	}
  5307  	if s.UserName == nil {
  5308  		invalidParams.Add(request.NewErrParamRequired("UserName"))
  5309  	}
  5310  	if s.UserName != nil && len(*s.UserName) < 1 {
  5311  		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  5312  	}
  5313  	if s.AuthenticationMode != nil {
  5314  		if err := s.AuthenticationMode.Validate(); err != nil {
  5315  			invalidParams.AddNested("AuthenticationMode", err.(request.ErrInvalidParams))
  5316  		}
  5317  	}
  5318  
  5319  	if invalidParams.Len() > 0 {
  5320  		return invalidParams
  5321  	}
  5322  	return nil
  5323  }
  5324  
  5325  // SetAccessString sets the AccessString field's value.
  5326  func (s *CreateUserInput) SetAccessString(v string) *CreateUserInput {
  5327  	s.AccessString = &v
  5328  	return s
  5329  }
  5330  
  5331  // SetAuthenticationMode sets the AuthenticationMode field's value.
  5332  func (s *CreateUserInput) SetAuthenticationMode(v *AuthenticationMode) *CreateUserInput {
  5333  	s.AuthenticationMode = v
  5334  	return s
  5335  }
  5336  
  5337  // SetTags sets the Tags field's value.
  5338  func (s *CreateUserInput) SetTags(v []*Tag) *CreateUserInput {
  5339  	s.Tags = v
  5340  	return s
  5341  }
  5342  
  5343  // SetUserName sets the UserName field's value.
  5344  func (s *CreateUserInput) SetUserName(v string) *CreateUserInput {
  5345  	s.UserName = &v
  5346  	return s
  5347  }
  5348  
  5349  type CreateUserOutput struct {
  5350  	_ struct{} `type:"structure"`
  5351  
  5352  	// The newly-created user.
  5353  	User *User `type:"structure"`
  5354  }
  5355  
  5356  // String returns the string representation.
  5357  //
  5358  // API parameter values that are decorated as "sensitive" in the API will not
  5359  // be included in the string output. The member name will be present, but the
  5360  // value will be replaced with "sensitive".
  5361  func (s CreateUserOutput) String() string {
  5362  	return awsutil.Prettify(s)
  5363  }
  5364  
  5365  // GoString returns the string representation.
  5366  //
  5367  // API parameter values that are decorated as "sensitive" in the API will not
  5368  // be included in the string output. The member name will be present, but the
  5369  // value will be replaced with "sensitive".
  5370  func (s CreateUserOutput) GoString() string {
  5371  	return s.String()
  5372  }
  5373  
  5374  // SetUser sets the User field's value.
  5375  func (s *CreateUserOutput) SetUser(v *User) *CreateUserOutput {
  5376  	s.User = v
  5377  	return s
  5378  }
  5379  
  5380  type DefaultUserRequired struct {
  5381  	_            struct{}                  `type:"structure"`
  5382  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5383  
  5384  	Message_ *string `locationName:"message" type:"string"`
  5385  }
  5386  
  5387  // String returns the string representation.
  5388  //
  5389  // API parameter values that are decorated as "sensitive" in the API will not
  5390  // be included in the string output. The member name will be present, but the
  5391  // value will be replaced with "sensitive".
  5392  func (s DefaultUserRequired) String() string {
  5393  	return awsutil.Prettify(s)
  5394  }
  5395  
  5396  // GoString returns the string representation.
  5397  //
  5398  // API parameter values that are decorated as "sensitive" in the API will not
  5399  // be included in the string output. The member name will be present, but the
  5400  // value will be replaced with "sensitive".
  5401  func (s DefaultUserRequired) GoString() string {
  5402  	return s.String()
  5403  }
  5404  
  5405  func newErrorDefaultUserRequired(v protocol.ResponseMetadata) error {
  5406  	return &DefaultUserRequired{
  5407  		RespMetadata: v,
  5408  	}
  5409  }
  5410  
  5411  // Code returns the exception type name.
  5412  func (s *DefaultUserRequired) Code() string {
  5413  	return "DefaultUserRequired"
  5414  }
  5415  
  5416  // Message returns the exception's message.
  5417  func (s *DefaultUserRequired) Message() string {
  5418  	if s.Message_ != nil {
  5419  		return *s.Message_
  5420  	}
  5421  	return ""
  5422  }
  5423  
  5424  // OrigErr always returns nil, satisfies awserr.Error interface.
  5425  func (s *DefaultUserRequired) OrigErr() error {
  5426  	return nil
  5427  }
  5428  
  5429  func (s *DefaultUserRequired) Error() string {
  5430  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5431  }
  5432  
  5433  // Status code returns the HTTP status code for the request's response error.
  5434  func (s *DefaultUserRequired) StatusCode() int {
  5435  	return s.RespMetadata.StatusCode
  5436  }
  5437  
  5438  // RequestID returns the service's response RequestID for request.
  5439  func (s *DefaultUserRequired) RequestID() string {
  5440  	return s.RespMetadata.RequestID
  5441  }
  5442  
  5443  type DeleteACLInput struct {
  5444  	_ struct{} `type:"structure"`
  5445  
  5446  	// The name of the Access Control List to delete
  5447  	//
  5448  	// ACLName is a required field
  5449  	ACLName *string `type:"string" required:"true"`
  5450  }
  5451  
  5452  // String returns the string representation.
  5453  //
  5454  // API parameter values that are decorated as "sensitive" in the API will not
  5455  // be included in the string output. The member name will be present, but the
  5456  // value will be replaced with "sensitive".
  5457  func (s DeleteACLInput) String() string {
  5458  	return awsutil.Prettify(s)
  5459  }
  5460  
  5461  // GoString returns the string representation.
  5462  //
  5463  // API parameter values that are decorated as "sensitive" in the API will not
  5464  // be included in the string output. The member name will be present, but the
  5465  // value will be replaced with "sensitive".
  5466  func (s DeleteACLInput) GoString() string {
  5467  	return s.String()
  5468  }
  5469  
  5470  // Validate inspects the fields of the type to determine if they are valid.
  5471  func (s *DeleteACLInput) Validate() error {
  5472  	invalidParams := request.ErrInvalidParams{Context: "DeleteACLInput"}
  5473  	if s.ACLName == nil {
  5474  		invalidParams.Add(request.NewErrParamRequired("ACLName"))
  5475  	}
  5476  
  5477  	if invalidParams.Len() > 0 {
  5478  		return invalidParams
  5479  	}
  5480  	return nil
  5481  }
  5482  
  5483  // SetACLName sets the ACLName field's value.
  5484  func (s *DeleteACLInput) SetACLName(v string) *DeleteACLInput {
  5485  	s.ACLName = &v
  5486  	return s
  5487  }
  5488  
  5489  type DeleteACLOutput struct {
  5490  	_ struct{} `type:"structure"`
  5491  
  5492  	// The Access Control List object that has been deleted.
  5493  	ACL *ACL `type:"structure"`
  5494  }
  5495  
  5496  // String returns the string representation.
  5497  //
  5498  // API parameter values that are decorated as "sensitive" in the API will not
  5499  // be included in the string output. The member name will be present, but the
  5500  // value will be replaced with "sensitive".
  5501  func (s DeleteACLOutput) String() string {
  5502  	return awsutil.Prettify(s)
  5503  }
  5504  
  5505  // GoString returns the string representation.
  5506  //
  5507  // API parameter values that are decorated as "sensitive" in the API will not
  5508  // be included in the string output. The member name will be present, but the
  5509  // value will be replaced with "sensitive".
  5510  func (s DeleteACLOutput) GoString() string {
  5511  	return s.String()
  5512  }
  5513  
  5514  // SetACL sets the ACL field's value.
  5515  func (s *DeleteACLOutput) SetACL(v *ACL) *DeleteACLOutput {
  5516  	s.ACL = v
  5517  	return s
  5518  }
  5519  
  5520  type DeleteClusterInput struct {
  5521  	_ struct{} `type:"structure"`
  5522  
  5523  	// The name of the cluster to be deleted
  5524  	//
  5525  	// ClusterName is a required field
  5526  	ClusterName *string `type:"string" required:"true"`
  5527  
  5528  	// The user-supplied name of a final cluster snapshot. This is the unique name
  5529  	// that identifies the snapshot. MemoryDB creates the snapshot, and then deletes
  5530  	// the cluster immediately afterward.
  5531  	FinalSnapshotName *string `type:"string"`
  5532  }
  5533  
  5534  // String returns the string representation.
  5535  //
  5536  // API parameter values that are decorated as "sensitive" in the API will not
  5537  // be included in the string output. The member name will be present, but the
  5538  // value will be replaced with "sensitive".
  5539  func (s DeleteClusterInput) String() string {
  5540  	return awsutil.Prettify(s)
  5541  }
  5542  
  5543  // GoString returns the string representation.
  5544  //
  5545  // API parameter values that are decorated as "sensitive" in the API will not
  5546  // be included in the string output. The member name will be present, but the
  5547  // value will be replaced with "sensitive".
  5548  func (s DeleteClusterInput) GoString() string {
  5549  	return s.String()
  5550  }
  5551  
  5552  // Validate inspects the fields of the type to determine if they are valid.
  5553  func (s *DeleteClusterInput) Validate() error {
  5554  	invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"}
  5555  	if s.ClusterName == nil {
  5556  		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
  5557  	}
  5558  
  5559  	if invalidParams.Len() > 0 {
  5560  		return invalidParams
  5561  	}
  5562  	return nil
  5563  }
  5564  
  5565  // SetClusterName sets the ClusterName field's value.
  5566  func (s *DeleteClusterInput) SetClusterName(v string) *DeleteClusterInput {
  5567  	s.ClusterName = &v
  5568  	return s
  5569  }
  5570  
  5571  // SetFinalSnapshotName sets the FinalSnapshotName field's value.
  5572  func (s *DeleteClusterInput) SetFinalSnapshotName(v string) *DeleteClusterInput {
  5573  	s.FinalSnapshotName = &v
  5574  	return s
  5575  }
  5576  
  5577  type DeleteClusterOutput struct {
  5578  	_ struct{} `type:"structure"`
  5579  
  5580  	// The cluster object that has been deleted
  5581  	Cluster *Cluster `type:"structure"`
  5582  }
  5583  
  5584  // String returns the string representation.
  5585  //
  5586  // API parameter values that are decorated as "sensitive" in the API will not
  5587  // be included in the string output. The member name will be present, but the
  5588  // value will be replaced with "sensitive".
  5589  func (s DeleteClusterOutput) String() string {
  5590  	return awsutil.Prettify(s)
  5591  }
  5592  
  5593  // GoString returns the string representation.
  5594  //
  5595  // API parameter values that are decorated as "sensitive" in the API will not
  5596  // be included in the string output. The member name will be present, but the
  5597  // value will be replaced with "sensitive".
  5598  func (s DeleteClusterOutput) GoString() string {
  5599  	return s.String()
  5600  }
  5601  
  5602  // SetCluster sets the Cluster field's value.
  5603  func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput {
  5604  	s.Cluster = v
  5605  	return s
  5606  }
  5607  
  5608  type DeleteParameterGroupInput struct {
  5609  	_ struct{} `type:"structure"`
  5610  
  5611  	// The name of the parameter group to delete.
  5612  	//
  5613  	// ParameterGroupName is a required field
  5614  	ParameterGroupName *string `type:"string" required:"true"`
  5615  }
  5616  
  5617  // String returns the string representation.
  5618  //
  5619  // API parameter values that are decorated as "sensitive" in the API will not
  5620  // be included in the string output. The member name will be present, but the
  5621  // value will be replaced with "sensitive".
  5622  func (s DeleteParameterGroupInput) String() string {
  5623  	return awsutil.Prettify(s)
  5624  }
  5625  
  5626  // GoString returns the string representation.
  5627  //
  5628  // API parameter values that are decorated as "sensitive" in the API will not
  5629  // be included in the string output. The member name will be present, but the
  5630  // value will be replaced with "sensitive".
  5631  func (s DeleteParameterGroupInput) GoString() string {
  5632  	return s.String()
  5633  }
  5634  
  5635  // Validate inspects the fields of the type to determine if they are valid.
  5636  func (s *DeleteParameterGroupInput) Validate() error {
  5637  	invalidParams := request.ErrInvalidParams{Context: "DeleteParameterGroupInput"}
  5638  	if s.ParameterGroupName == nil {
  5639  		invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
  5640  	}
  5641  
  5642  	if invalidParams.Len() > 0 {
  5643  		return invalidParams
  5644  	}
  5645  	return nil
  5646  }
  5647  
  5648  // SetParameterGroupName sets the ParameterGroupName field's value.
  5649  func (s *DeleteParameterGroupInput) SetParameterGroupName(v string) *DeleteParameterGroupInput {
  5650  	s.ParameterGroupName = &v
  5651  	return s
  5652  }
  5653  
  5654  type DeleteParameterGroupOutput struct {
  5655  	_ struct{} `type:"structure"`
  5656  
  5657  	// The parameter group that has been deleted.
  5658  	ParameterGroup *ParameterGroup `type:"structure"`
  5659  }
  5660  
  5661  // String returns the string representation.
  5662  //
  5663  // API parameter values that are decorated as "sensitive" in the API will not
  5664  // be included in the string output. The member name will be present, but the
  5665  // value will be replaced with "sensitive".
  5666  func (s DeleteParameterGroupOutput) String() string {
  5667  	return awsutil.Prettify(s)
  5668  }
  5669  
  5670  // GoString returns the string representation.
  5671  //
  5672  // API parameter values that are decorated as "sensitive" in the API will not
  5673  // be included in the string output. The member name will be present, but the
  5674  // value will be replaced with "sensitive".
  5675  func (s DeleteParameterGroupOutput) GoString() string {
  5676  	return s.String()
  5677  }
  5678  
  5679  // SetParameterGroup sets the ParameterGroup field's value.
  5680  func (s *DeleteParameterGroupOutput) SetParameterGroup(v *ParameterGroup) *DeleteParameterGroupOutput {
  5681  	s.ParameterGroup = v
  5682  	return s
  5683  }
  5684  
  5685  type DeleteSnapshotInput struct {
  5686  	_ struct{} `type:"structure"`
  5687  
  5688  	// The name of the snapshot to delete
  5689  	//
  5690  	// SnapshotName is a required field
  5691  	SnapshotName *string `type:"string" required:"true"`
  5692  }
  5693  
  5694  // String returns the string representation.
  5695  //
  5696  // API parameter values that are decorated as "sensitive" in the API will not
  5697  // be included in the string output. The member name will be present, but the
  5698  // value will be replaced with "sensitive".
  5699  func (s DeleteSnapshotInput) String() string {
  5700  	return awsutil.Prettify(s)
  5701  }
  5702  
  5703  // GoString returns the string representation.
  5704  //
  5705  // API parameter values that are decorated as "sensitive" in the API will not
  5706  // be included in the string output. The member name will be present, but the
  5707  // value will be replaced with "sensitive".
  5708  func (s DeleteSnapshotInput) GoString() string {
  5709  	return s.String()
  5710  }
  5711  
  5712  // Validate inspects the fields of the type to determine if they are valid.
  5713  func (s *DeleteSnapshotInput) Validate() error {
  5714  	invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
  5715  	if s.SnapshotName == nil {
  5716  		invalidParams.Add(request.NewErrParamRequired("SnapshotName"))
  5717  	}
  5718  
  5719  	if invalidParams.Len() > 0 {
  5720  		return invalidParams
  5721  	}
  5722  	return nil
  5723  }
  5724  
  5725  // SetSnapshotName sets the SnapshotName field's value.
  5726  func (s *DeleteSnapshotInput) SetSnapshotName(v string) *DeleteSnapshotInput {
  5727  	s.SnapshotName = &v
  5728  	return s
  5729  }
  5730  
  5731  type DeleteSnapshotOutput struct {
  5732  	_ struct{} `type:"structure"`
  5733  
  5734  	// The snapshot object that has been deleted.
  5735  	Snapshot *Snapshot `type:"structure"`
  5736  }
  5737  
  5738  // String returns the string representation.
  5739  //
  5740  // API parameter values that are decorated as "sensitive" in the API will not
  5741  // be included in the string output. The member name will be present, but the
  5742  // value will be replaced with "sensitive".
  5743  func (s DeleteSnapshotOutput) String() string {
  5744  	return awsutil.Prettify(s)
  5745  }
  5746  
  5747  // GoString returns the string representation.
  5748  //
  5749  // API parameter values that are decorated as "sensitive" in the API will not
  5750  // be included in the string output. The member name will be present, but the
  5751  // value will be replaced with "sensitive".
  5752  func (s DeleteSnapshotOutput) GoString() string {
  5753  	return s.String()
  5754  }
  5755  
  5756  // SetSnapshot sets the Snapshot field's value.
  5757  func (s *DeleteSnapshotOutput) SetSnapshot(v *Snapshot) *DeleteSnapshotOutput {
  5758  	s.Snapshot = v
  5759  	return s
  5760  }
  5761  
  5762  type DeleteSubnetGroupInput struct {
  5763  	_ struct{} `type:"structure"`
  5764  
  5765  	// The name of the subnet group to delete
  5766  	//
  5767  	// SubnetGroupName is a required field
  5768  	SubnetGroupName *string `type:"string" required:"true"`
  5769  }
  5770  
  5771  // String returns the string representation.
  5772  //
  5773  // API parameter values that are decorated as "sensitive" in the API will not
  5774  // be included in the string output. The member name will be present, but the
  5775  // value will be replaced with "sensitive".
  5776  func (s DeleteSubnetGroupInput) String() string {
  5777  	return awsutil.Prettify(s)
  5778  }
  5779  
  5780  // GoString returns the string representation.
  5781  //
  5782  // API parameter values that are decorated as "sensitive" in the API will not
  5783  // be included in the string output. The member name will be present, but the
  5784  // value will be replaced with "sensitive".
  5785  func (s DeleteSubnetGroupInput) GoString() string {
  5786  	return s.String()
  5787  }
  5788  
  5789  // Validate inspects the fields of the type to determine if they are valid.
  5790  func (s *DeleteSubnetGroupInput) Validate() error {
  5791  	invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetGroupInput"}
  5792  	if s.SubnetGroupName == nil {
  5793  		invalidParams.Add(request.NewErrParamRequired("SubnetGroupName"))
  5794  	}
  5795  
  5796  	if invalidParams.Len() > 0 {
  5797  		return invalidParams
  5798  	}
  5799  	return nil
  5800  }
  5801  
  5802  // SetSubnetGroupName sets the SubnetGroupName field's value.
  5803  func (s *DeleteSubnetGroupInput) SetSubnetGroupName(v string) *DeleteSubnetGroupInput {
  5804  	s.SubnetGroupName = &v
  5805  	return s
  5806  }
  5807  
  5808  type DeleteSubnetGroupOutput struct {
  5809  	_ struct{} `type:"structure"`
  5810  
  5811  	// The subnet group object that has been deleted.
  5812  	SubnetGroup *SubnetGroup `type:"structure"`
  5813  }
  5814  
  5815  // String returns the string representation.
  5816  //
  5817  // API parameter values that are decorated as "sensitive" in the API will not
  5818  // be included in the string output. The member name will be present, but the
  5819  // value will be replaced with "sensitive".
  5820  func (s DeleteSubnetGroupOutput) String() string {
  5821  	return awsutil.Prettify(s)
  5822  }
  5823  
  5824  // GoString returns the string representation.
  5825  //
  5826  // API parameter values that are decorated as "sensitive" in the API will not
  5827  // be included in the string output. The member name will be present, but the
  5828  // value will be replaced with "sensitive".
  5829  func (s DeleteSubnetGroupOutput) GoString() string {
  5830  	return s.String()
  5831  }
  5832  
  5833  // SetSubnetGroup sets the SubnetGroup field's value.
  5834  func (s *DeleteSubnetGroupOutput) SetSubnetGroup(v *SubnetGroup) *DeleteSubnetGroupOutput {
  5835  	s.SubnetGroup = v
  5836  	return s
  5837  }
  5838  
  5839  type DeleteUserInput struct {
  5840  	_ struct{} `type:"structure"`
  5841  
  5842  	// The name of the user to delete
  5843  	//
  5844  	// UserName is a required field
  5845  	UserName *string `min:"1" type:"string" required:"true"`
  5846  }
  5847  
  5848  // String returns the string representation.
  5849  //
  5850  // API parameter values that are decorated as "sensitive" in the API will not
  5851  // be included in the string output. The member name will be present, but the
  5852  // value will be replaced with "sensitive".
  5853  func (s DeleteUserInput) String() string {
  5854  	return awsutil.Prettify(s)
  5855  }
  5856  
  5857  // GoString returns the string representation.
  5858  //
  5859  // API parameter values that are decorated as "sensitive" in the API will not
  5860  // be included in the string output. The member name will be present, but the
  5861  // value will be replaced with "sensitive".
  5862  func (s DeleteUserInput) GoString() string {
  5863  	return s.String()
  5864  }
  5865  
  5866  // Validate inspects the fields of the type to determine if they are valid.
  5867  func (s *DeleteUserInput) Validate() error {
  5868  	invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"}
  5869  	if s.UserName == nil {
  5870  		invalidParams.Add(request.NewErrParamRequired("UserName"))
  5871  	}
  5872  	if s.UserName != nil && len(*s.UserName) < 1 {
  5873  		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  5874  	}
  5875  
  5876  	if invalidParams.Len() > 0 {
  5877  		return invalidParams
  5878  	}
  5879  	return nil
  5880  }
  5881  
  5882  // SetUserName sets the UserName field's value.
  5883  func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput {
  5884  	s.UserName = &v
  5885  	return s
  5886  }
  5887  
  5888  type DeleteUserOutput struct {
  5889  	_ struct{} `type:"structure"`
  5890  
  5891  	// The user object that has been deleted.
  5892  	User *User `type:"structure"`
  5893  }
  5894  
  5895  // String returns the string representation.
  5896  //
  5897  // API parameter values that are decorated as "sensitive" in the API will not
  5898  // be included in the string output. The member name will be present, but the
  5899  // value will be replaced with "sensitive".
  5900  func (s DeleteUserOutput) String() string {
  5901  	return awsutil.Prettify(s)
  5902  }
  5903  
  5904  // GoString returns the string representation.
  5905  //
  5906  // API parameter values that are decorated as "sensitive" in the API will not
  5907  // be included in the string output. The member name will be present, but the
  5908  // value will be replaced with "sensitive".
  5909  func (s DeleteUserOutput) GoString() string {
  5910  	return s.String()
  5911  }
  5912  
  5913  // SetUser sets the User field's value.
  5914  func (s *DeleteUserOutput) SetUser(v *User) *DeleteUserOutput {
  5915  	s.User = v
  5916  	return s
  5917  }
  5918  
  5919  type DescribeACLsInput struct {
  5920  	_ struct{} `type:"structure"`
  5921  
  5922  	// The name of the ACL
  5923  	ACLName *string `type:"string"`
  5924  
  5925  	// The maximum number of records to include in the response. If more records
  5926  	// exist than the specified MaxResults value, a token is included in the response
  5927  	// so that the remaining results can be retrieved.
  5928  	MaxResults *int64 `type:"integer"`
  5929  
  5930  	// An optional argument to pass in case the total number of records exceeds
  5931  	// the value of MaxResults. If nextToken is returned, there are more results
  5932  	// available. The value of nextToken is a unique pagination token for each page.
  5933  	// Make the call again using the returned token to retrieve the next page. Keep
  5934  	// all other arguments unchanged.
  5935  	NextToken *string `type:"string"`
  5936  }
  5937  
  5938  // String returns the string representation.
  5939  //
  5940  // API parameter values that are decorated as "sensitive" in the API will not
  5941  // be included in the string output. The member name will be present, but the
  5942  // value will be replaced with "sensitive".
  5943  func (s DescribeACLsInput) String() string {
  5944  	return awsutil.Prettify(s)
  5945  }
  5946  
  5947  // GoString returns the string representation.
  5948  //
  5949  // API parameter values that are decorated as "sensitive" in the API will not
  5950  // be included in the string output. The member name will be present, but the
  5951  // value will be replaced with "sensitive".
  5952  func (s DescribeACLsInput) GoString() string {
  5953  	return s.String()
  5954  }
  5955  
  5956  // SetACLName sets the ACLName field's value.
  5957  func (s *DescribeACLsInput) SetACLName(v string) *DescribeACLsInput {
  5958  	s.ACLName = &v
  5959  	return s
  5960  }
  5961  
  5962  // SetMaxResults sets the MaxResults field's value.
  5963  func (s *DescribeACLsInput) SetMaxResults(v int64) *DescribeACLsInput {
  5964  	s.MaxResults = &v
  5965  	return s
  5966  }
  5967  
  5968  // SetNextToken sets the NextToken field's value.
  5969  func (s *DescribeACLsInput) SetNextToken(v string) *DescribeACLsInput {
  5970  	s.NextToken = &v
  5971  	return s
  5972  }
  5973  
  5974  type DescribeACLsOutput struct {
  5975  	_ struct{} `type:"structure"`
  5976  
  5977  	// The list of ACLs
  5978  	ACLs []*ACL `type:"list"`
  5979  
  5980  	// If nextToken is returned, there are more results available. The value of
  5981  	// nextToken is a unique pagination token for each page. Make the call again
  5982  	// using the returned token to retrieve the next page. Keep all other arguments
  5983  	// unchanged.
  5984  	NextToken *string `type:"string"`
  5985  }
  5986  
  5987  // String returns the string representation.
  5988  //
  5989  // API parameter values that are decorated as "sensitive" in the API will not
  5990  // be included in the string output. The member name will be present, but the
  5991  // value will be replaced with "sensitive".
  5992  func (s DescribeACLsOutput) String() string {
  5993  	return awsutil.Prettify(s)
  5994  }
  5995  
  5996  // GoString returns the string representation.
  5997  //
  5998  // API parameter values that are decorated as "sensitive" in the API will not
  5999  // be included in the string output. The member name will be present, but the
  6000  // value will be replaced with "sensitive".
  6001  func (s DescribeACLsOutput) GoString() string {
  6002  	return s.String()
  6003  }
  6004  
  6005  // SetACLs sets the ACLs field's value.
  6006  func (s *DescribeACLsOutput) SetACLs(v []*ACL) *DescribeACLsOutput {
  6007  	s.ACLs = v
  6008  	return s
  6009  }
  6010  
  6011  // SetNextToken sets the NextToken field's value.
  6012  func (s *DescribeACLsOutput) SetNextToken(v string) *DescribeACLsOutput {
  6013  	s.NextToken = &v
  6014  	return s
  6015  }
  6016  
  6017  type DescribeClustersInput struct {
  6018  	_ struct{} `type:"structure"`
  6019  
  6020  	// The name of the cluster
  6021  	ClusterName *string `type:"string"`
  6022  
  6023  	// The maximum number of records to include in the response. If more records
  6024  	// exist than the specified MaxResults value, a token is included in the response
  6025  	// so that the remaining results can be retrieved.
  6026  	MaxResults *int64 `type:"integer"`
  6027  
  6028  	// An optional argument to pass in case the total number of records exceeds
  6029  	// the value of MaxResults. If nextToken is returned, there are more results
  6030  	// available. The value of nextToken is a unique pagination token for each page.
  6031  	// Make the call again using the returned token to retrieve the next page. Keep
  6032  	// all other arguments unchanged.
  6033  	NextToken *string `type:"string"`
  6034  
  6035  	// An optional flag that can be included in the request to retrieve information
  6036  	// about the individual shard(s).
  6037  	ShowShardDetails *bool `type:"boolean"`
  6038  }
  6039  
  6040  // String returns the string representation.
  6041  //
  6042  // API parameter values that are decorated as "sensitive" in the API will not
  6043  // be included in the string output. The member name will be present, but the
  6044  // value will be replaced with "sensitive".
  6045  func (s DescribeClustersInput) String() string {
  6046  	return awsutil.Prettify(s)
  6047  }
  6048  
  6049  // GoString 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 DescribeClustersInput) GoString() string {
  6055  	return s.String()
  6056  }
  6057  
  6058  // SetClusterName sets the ClusterName field's value.
  6059  func (s *DescribeClustersInput) SetClusterName(v string) *DescribeClustersInput {
  6060  	s.ClusterName = &v
  6061  	return s
  6062  }
  6063  
  6064  // SetMaxResults sets the MaxResults field's value.
  6065  func (s *DescribeClustersInput) SetMaxResults(v int64) *DescribeClustersInput {
  6066  	s.MaxResults = &v
  6067  	return s
  6068  }
  6069  
  6070  // SetNextToken sets the NextToken field's value.
  6071  func (s *DescribeClustersInput) SetNextToken(v string) *DescribeClustersInput {
  6072  	s.NextToken = &v
  6073  	return s
  6074  }
  6075  
  6076  // SetShowShardDetails sets the ShowShardDetails field's value.
  6077  func (s *DescribeClustersInput) SetShowShardDetails(v bool) *DescribeClustersInput {
  6078  	s.ShowShardDetails = &v
  6079  	return s
  6080  }
  6081  
  6082  type DescribeClustersOutput struct {
  6083  	_ struct{} `type:"structure"`
  6084  
  6085  	// A list of clusters
  6086  	Clusters []*Cluster `type:"list"`
  6087  
  6088  	// An optional argument to pass in case the total number of records exceeds
  6089  	// the value of MaxResults. If nextToken is returned, there are more results
  6090  	// available. The value of nextToken is a unique pagination token for each page.
  6091  	// Make the call again using the returned token to retrieve the next page. Keep
  6092  	// all other arguments unchanged.
  6093  	NextToken *string `type:"string"`
  6094  }
  6095  
  6096  // String returns the string representation.
  6097  //
  6098  // API parameter values that are decorated as "sensitive" in the API will not
  6099  // be included in the string output. The member name will be present, but the
  6100  // value will be replaced with "sensitive".
  6101  func (s DescribeClustersOutput) String() string {
  6102  	return awsutil.Prettify(s)
  6103  }
  6104  
  6105  // GoString returns the string representation.
  6106  //
  6107  // API parameter values that are decorated as "sensitive" in the API will not
  6108  // be included in the string output. The member name will be present, but the
  6109  // value will be replaced with "sensitive".
  6110  func (s DescribeClustersOutput) GoString() string {
  6111  	return s.String()
  6112  }
  6113  
  6114  // SetClusters sets the Clusters field's value.
  6115  func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput {
  6116  	s.Clusters = v
  6117  	return s
  6118  }
  6119  
  6120  // SetNextToken sets the NextToken field's value.
  6121  func (s *DescribeClustersOutput) SetNextToken(v string) *DescribeClustersOutput {
  6122  	s.NextToken = &v
  6123  	return s
  6124  }
  6125  
  6126  type DescribeEngineVersionsInput struct {
  6127  	_ struct{} `type:"structure"`
  6128  
  6129  	// If true, specifies that only the default version of the specified engine
  6130  	// or engine and major version combination is to be returned.
  6131  	DefaultOnly *bool `type:"boolean"`
  6132  
  6133  	// The Redis engine version
  6134  	EngineVersion *string `type:"string"`
  6135  
  6136  	// The maximum number of records to include in the response. If more records
  6137  	// exist than the specified MaxResults value, a token is included in the response
  6138  	// so that the remaining results can be retrieved.
  6139  	MaxResults *int64 `type:"integer"`
  6140  
  6141  	// An optional argument to pass in case the total number of records exceeds
  6142  	// the value of MaxResults. If nextToken is returned, there are more results
  6143  	// available. The value of nextToken is a unique pagination token for each page.
  6144  	// Make the call again using the returned token to retrieve the next page. Keep
  6145  	// all other arguments unchanged.
  6146  	NextToken *string `type:"string"`
  6147  
  6148  	// The name of a specific parameter group family to return details for.
  6149  	ParameterGroupFamily *string `type:"string"`
  6150  }
  6151  
  6152  // String returns the string representation.
  6153  //
  6154  // API parameter values that are decorated as "sensitive" in the API will not
  6155  // be included in the string output. The member name will be present, but the
  6156  // value will be replaced with "sensitive".
  6157  func (s DescribeEngineVersionsInput) String() string {
  6158  	return awsutil.Prettify(s)
  6159  }
  6160  
  6161  // GoString returns the string representation.
  6162  //
  6163  // API parameter values that are decorated as "sensitive" in the API will not
  6164  // be included in the string output. The member name will be present, but the
  6165  // value will be replaced with "sensitive".
  6166  func (s DescribeEngineVersionsInput) GoString() string {
  6167  	return s.String()
  6168  }
  6169  
  6170  // SetDefaultOnly sets the DefaultOnly field's value.
  6171  func (s *DescribeEngineVersionsInput) SetDefaultOnly(v bool) *DescribeEngineVersionsInput {
  6172  	s.DefaultOnly = &v
  6173  	return s
  6174  }
  6175  
  6176  // SetEngineVersion sets the EngineVersion field's value.
  6177  func (s *DescribeEngineVersionsInput) SetEngineVersion(v string) *DescribeEngineVersionsInput {
  6178  	s.EngineVersion = &v
  6179  	return s
  6180  }
  6181  
  6182  // SetMaxResults sets the MaxResults field's value.
  6183  func (s *DescribeEngineVersionsInput) SetMaxResults(v int64) *DescribeEngineVersionsInput {
  6184  	s.MaxResults = &v
  6185  	return s
  6186  }
  6187  
  6188  // SetNextToken sets the NextToken field's value.
  6189  func (s *DescribeEngineVersionsInput) SetNextToken(v string) *DescribeEngineVersionsInput {
  6190  	s.NextToken = &v
  6191  	return s
  6192  }
  6193  
  6194  // SetParameterGroupFamily sets the ParameterGroupFamily field's value.
  6195  func (s *DescribeEngineVersionsInput) SetParameterGroupFamily(v string) *DescribeEngineVersionsInput {
  6196  	s.ParameterGroupFamily = &v
  6197  	return s
  6198  }
  6199  
  6200  type DescribeEngineVersionsOutput struct {
  6201  	_ struct{} `type:"structure"`
  6202  
  6203  	// A list of engine version details. Each element in the list contains detailed
  6204  	// information about one engine version.
  6205  	EngineVersions []*EngineVersionInfo `type:"list"`
  6206  
  6207  	// An optional argument to pass in case the total number of records exceeds
  6208  	// the value of MaxResults. If nextToken is returned, there are more results
  6209  	// available. The value of nextToken is a unique pagination token for each page.
  6210  	// Make the call again using the returned token to retrieve the next page. Keep
  6211  	// all other arguments unchanged.
  6212  	NextToken *string `type:"string"`
  6213  }
  6214  
  6215  // String returns the string representation.
  6216  //
  6217  // API parameter values that are decorated as "sensitive" in the API will not
  6218  // be included in the string output. The member name will be present, but the
  6219  // value will be replaced with "sensitive".
  6220  func (s DescribeEngineVersionsOutput) String() string {
  6221  	return awsutil.Prettify(s)
  6222  }
  6223  
  6224  // GoString returns the string representation.
  6225  //
  6226  // API parameter values that are decorated as "sensitive" in the API will not
  6227  // be included in the string output. The member name will be present, but the
  6228  // value will be replaced with "sensitive".
  6229  func (s DescribeEngineVersionsOutput) GoString() string {
  6230  	return s.String()
  6231  }
  6232  
  6233  // SetEngineVersions sets the EngineVersions field's value.
  6234  func (s *DescribeEngineVersionsOutput) SetEngineVersions(v []*EngineVersionInfo) *DescribeEngineVersionsOutput {
  6235  	s.EngineVersions = v
  6236  	return s
  6237  }
  6238  
  6239  // SetNextToken sets the NextToken field's value.
  6240  func (s *DescribeEngineVersionsOutput) SetNextToken(v string) *DescribeEngineVersionsOutput {
  6241  	s.NextToken = &v
  6242  	return s
  6243  }
  6244  
  6245  type DescribeEventsInput struct {
  6246  	_ struct{} `type:"structure"`
  6247  
  6248  	// The number of minutes worth of events to retrieve.
  6249  	Duration *int64 `type:"integer"`
  6250  
  6251  	// The end of the time interval for which to retrieve events, specified in ISO
  6252  	// 8601 format. Example: 2017-03-30T07:03:49.555Z
  6253  	EndTime *time.Time `type:"timestamp"`
  6254  
  6255  	// The maximum number of records to include in the response. If more records
  6256  	// exist than the specified MaxResults value, a token is included in the response
  6257  	// so that the remaining results can be retrieved.
  6258  	MaxResults *int64 `type:"integer"`
  6259  
  6260  	// An optional argument to pass in case the total number of records exceeds
  6261  	// the value of MaxResults. If nextToken is returned, there are more results
  6262  	// available. The value of nextToken is a unique pagination token for each page.
  6263  	// Make the call again using the returned token to retrieve the next page. Keep
  6264  	// all other arguments unchanged.
  6265  	NextToken *string `type:"string"`
  6266  
  6267  	// The identifier of the event source for which events are returned. If not
  6268  	// specified, all sources are included in the response.
  6269  	SourceName *string `type:"string"`
  6270  
  6271  	// The event source to retrieve events for. If no value is specified, all events
  6272  	// are returned.
  6273  	SourceType *string `type:"string" enum:"SourceType"`
  6274  
  6275  	// The beginning of the time interval to retrieve events for, specified in ISO
  6276  	// 8601 format. Example: 2017-03-30T07:03:49.555Z
  6277  	StartTime *time.Time `type:"timestamp"`
  6278  }
  6279  
  6280  // String returns the string representation.
  6281  //
  6282  // API parameter values that are decorated as "sensitive" in the API will not
  6283  // be included in the string output. The member name will be present, but the
  6284  // value will be replaced with "sensitive".
  6285  func (s DescribeEventsInput) String() string {
  6286  	return awsutil.Prettify(s)
  6287  }
  6288  
  6289  // GoString returns the string representation.
  6290  //
  6291  // API parameter values that are decorated as "sensitive" in the API will not
  6292  // be included in the string output. The member name will be present, but the
  6293  // value will be replaced with "sensitive".
  6294  func (s DescribeEventsInput) GoString() string {
  6295  	return s.String()
  6296  }
  6297  
  6298  // SetDuration sets the Duration field's value.
  6299  func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
  6300  	s.Duration = &v
  6301  	return s
  6302  }
  6303  
  6304  // SetEndTime sets the EndTime field's value.
  6305  func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
  6306  	s.EndTime = &v
  6307  	return s
  6308  }
  6309  
  6310  // SetMaxResults sets the MaxResults field's value.
  6311  func (s *DescribeEventsInput) SetMaxResults(v int64) *DescribeEventsInput {
  6312  	s.MaxResults = &v
  6313  	return s
  6314  }
  6315  
  6316  // SetNextToken sets the NextToken field's value.
  6317  func (s *DescribeEventsInput) SetNextToken(v string) *DescribeEventsInput {
  6318  	s.NextToken = &v
  6319  	return s
  6320  }
  6321  
  6322  // SetSourceName sets the SourceName field's value.
  6323  func (s *DescribeEventsInput) SetSourceName(v string) *DescribeEventsInput {
  6324  	s.SourceName = &v
  6325  	return s
  6326  }
  6327  
  6328  // SetSourceType sets the SourceType field's value.
  6329  func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
  6330  	s.SourceType = &v
  6331  	return s
  6332  }
  6333  
  6334  // SetStartTime sets the StartTime field's value.
  6335  func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
  6336  	s.StartTime = &v
  6337  	return s
  6338  }
  6339  
  6340  type DescribeEventsOutput struct {
  6341  	_ struct{} `type:"structure"`
  6342  
  6343  	// A list of events. Each element in the list contains detailed information
  6344  	// about one event.
  6345  	Events []*Event `type:"list"`
  6346  
  6347  	// An optional argument to pass in case the total number of records exceeds
  6348  	// the value of MaxResults. If nextToken is returned, there are more results
  6349  	// available. The value of nextToken is a unique pagination token for each page.
  6350  	// Make the call again using the returned token to retrieve the next page. Keep
  6351  	// all other arguments unchanged.
  6352  	NextToken *string `type:"string"`
  6353  }
  6354  
  6355  // String returns the string representation.
  6356  //
  6357  // API parameter values that are decorated as "sensitive" in the API will not
  6358  // be included in the string output. The member name will be present, but the
  6359  // value will be replaced with "sensitive".
  6360  func (s DescribeEventsOutput) String() string {
  6361  	return awsutil.Prettify(s)
  6362  }
  6363  
  6364  // GoString returns the string representation.
  6365  //
  6366  // API parameter values that are decorated as "sensitive" in the API will not
  6367  // be included in the string output. The member name will be present, but the
  6368  // value will be replaced with "sensitive".
  6369  func (s DescribeEventsOutput) GoString() string {
  6370  	return s.String()
  6371  }
  6372  
  6373  // SetEvents sets the Events field's value.
  6374  func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
  6375  	s.Events = v
  6376  	return s
  6377  }
  6378  
  6379  // SetNextToken sets the NextToken field's value.
  6380  func (s *DescribeEventsOutput) SetNextToken(v string) *DescribeEventsOutput {
  6381  	s.NextToken = &v
  6382  	return s
  6383  }
  6384  
  6385  type DescribeParameterGroupsInput struct {
  6386  	_ struct{} `type:"structure"`
  6387  
  6388  	// The maximum number of records to include in the response. If more records
  6389  	// exist than the specified MaxResults value, a token is included in the response
  6390  	// so that the remaining results can be retrieved.
  6391  	MaxResults *int64 `type:"integer"`
  6392  
  6393  	// An optional argument to pass in case the total number of records exceeds
  6394  	// the value of MaxResults. If nextToken is returned, there are more results
  6395  	// available. The value of nextToken is a unique pagination token for each page.
  6396  	// Make the call again using the returned token to retrieve the next page. Keep
  6397  	// all other arguments unchanged.
  6398  	NextToken *string `type:"string"`
  6399  
  6400  	// The name of a specific parameter group to return details for.
  6401  	ParameterGroupName *string `type:"string"`
  6402  }
  6403  
  6404  // String returns the string representation.
  6405  //
  6406  // API parameter values that are decorated as "sensitive" in the API will not
  6407  // be included in the string output. The member name will be present, but the
  6408  // value will be replaced with "sensitive".
  6409  func (s DescribeParameterGroupsInput) String() string {
  6410  	return awsutil.Prettify(s)
  6411  }
  6412  
  6413  // GoString returns the string representation.
  6414  //
  6415  // API parameter values that are decorated as "sensitive" in the API will not
  6416  // be included in the string output. The member name will be present, but the
  6417  // value will be replaced with "sensitive".
  6418  func (s DescribeParameterGroupsInput) GoString() string {
  6419  	return s.String()
  6420  }
  6421  
  6422  // SetMaxResults sets the MaxResults field's value.
  6423  func (s *DescribeParameterGroupsInput) SetMaxResults(v int64) *DescribeParameterGroupsInput {
  6424  	s.MaxResults = &v
  6425  	return s
  6426  }
  6427  
  6428  // SetNextToken sets the NextToken field's value.
  6429  func (s *DescribeParameterGroupsInput) SetNextToken(v string) *DescribeParameterGroupsInput {
  6430  	s.NextToken = &v
  6431  	return s
  6432  }
  6433  
  6434  // SetParameterGroupName sets the ParameterGroupName field's value.
  6435  func (s *DescribeParameterGroupsInput) SetParameterGroupName(v string) *DescribeParameterGroupsInput {
  6436  	s.ParameterGroupName = &v
  6437  	return s
  6438  }
  6439  
  6440  type DescribeParameterGroupsOutput struct {
  6441  	_ struct{} `type:"structure"`
  6442  
  6443  	// An optional argument to pass in case the total number of records exceeds
  6444  	// the value of MaxResults. If nextToken is returned, there are more results
  6445  	// available. The value of nextToken is a unique pagination token for each page.
  6446  	// Make the call again using the returned token to retrieve the next page. Keep
  6447  	// all other arguments unchanged.
  6448  	NextToken *string `type:"string"`
  6449  
  6450  	// A list of parameter groups. Each element in the list contains detailed information
  6451  	// about one parameter group.
  6452  	ParameterGroups []*ParameterGroup `type:"list"`
  6453  }
  6454  
  6455  // String returns the string representation.
  6456  //
  6457  // API parameter values that are decorated as "sensitive" in the API will not
  6458  // be included in the string output. The member name will be present, but the
  6459  // value will be replaced with "sensitive".
  6460  func (s DescribeParameterGroupsOutput) String() string {
  6461  	return awsutil.Prettify(s)
  6462  }
  6463  
  6464  // GoString returns the string representation.
  6465  //
  6466  // API parameter values that are decorated as "sensitive" in the API will not
  6467  // be included in the string output. The member name will be present, but the
  6468  // value will be replaced with "sensitive".
  6469  func (s DescribeParameterGroupsOutput) GoString() string {
  6470  	return s.String()
  6471  }
  6472  
  6473  // SetNextToken sets the NextToken field's value.
  6474  func (s *DescribeParameterGroupsOutput) SetNextToken(v string) *DescribeParameterGroupsOutput {
  6475  	s.NextToken = &v
  6476  	return s
  6477  }
  6478  
  6479  // SetParameterGroups sets the ParameterGroups field's value.
  6480  func (s *DescribeParameterGroupsOutput) SetParameterGroups(v []*ParameterGroup) *DescribeParameterGroupsOutput {
  6481  	s.ParameterGroups = v
  6482  	return s
  6483  }
  6484  
  6485  type DescribeParametersInput struct {
  6486  	_ struct{} `type:"structure"`
  6487  
  6488  	// The maximum number of records to include in the response. If more records
  6489  	// exist than the specified MaxResults value, a token is included in the response
  6490  	// so that the remaining results can be retrieved.
  6491  	MaxResults *int64 `type:"integer"`
  6492  
  6493  	// An optional argument to pass in case the total number of records exceeds
  6494  	// the value of MaxResults. If nextToken is returned, there are more results
  6495  	// available. The value of nextToken is a unique pagination token for each page.
  6496  	// Make the call again using the returned token to retrieve the next page. Keep
  6497  	// all other arguments unchanged.
  6498  	NextToken *string `type:"string"`
  6499  
  6500  	// he name of a specific parameter group to return details for.
  6501  	//
  6502  	// ParameterGroupName is a required field
  6503  	ParameterGroupName *string `type:"string" required:"true"`
  6504  }
  6505  
  6506  // String returns the string representation.
  6507  //
  6508  // API parameter values that are decorated as "sensitive" in the API will not
  6509  // be included in the string output. The member name will be present, but the
  6510  // value will be replaced with "sensitive".
  6511  func (s DescribeParametersInput) String() string {
  6512  	return awsutil.Prettify(s)
  6513  }
  6514  
  6515  // GoString returns the string representation.
  6516  //
  6517  // API parameter values that are decorated as "sensitive" in the API will not
  6518  // be included in the string output. The member name will be present, but the
  6519  // value will be replaced with "sensitive".
  6520  func (s DescribeParametersInput) GoString() string {
  6521  	return s.String()
  6522  }
  6523  
  6524  // Validate inspects the fields of the type to determine if they are valid.
  6525  func (s *DescribeParametersInput) Validate() error {
  6526  	invalidParams := request.ErrInvalidParams{Context: "DescribeParametersInput"}
  6527  	if s.ParameterGroupName == nil {
  6528  		invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
  6529  	}
  6530  
  6531  	if invalidParams.Len() > 0 {
  6532  		return invalidParams
  6533  	}
  6534  	return nil
  6535  }
  6536  
  6537  // SetMaxResults sets the MaxResults field's value.
  6538  func (s *DescribeParametersInput) SetMaxResults(v int64) *DescribeParametersInput {
  6539  	s.MaxResults = &v
  6540  	return s
  6541  }
  6542  
  6543  // SetNextToken sets the NextToken field's value.
  6544  func (s *DescribeParametersInput) SetNextToken(v string) *DescribeParametersInput {
  6545  	s.NextToken = &v
  6546  	return s
  6547  }
  6548  
  6549  // SetParameterGroupName sets the ParameterGroupName field's value.
  6550  func (s *DescribeParametersInput) SetParameterGroupName(v string) *DescribeParametersInput {
  6551  	s.ParameterGroupName = &v
  6552  	return s
  6553  }
  6554  
  6555  type DescribeParametersOutput struct {
  6556  	_ struct{} `type:"structure"`
  6557  
  6558  	// An optional argument to pass in case the total number of records exceeds
  6559  	// the value of MaxResults. If nextToken is returned, there are more results
  6560  	// available. The value of nextToken is a unique pagination token for each page.
  6561  	// Make the call again using the returned token to retrieve the next page. Keep
  6562  	// all other arguments unchanged.
  6563  	NextToken *string `type:"string"`
  6564  
  6565  	// A list of parameters specific to a particular parameter group. Each element
  6566  	// in the list contains detailed information about one parameter.
  6567  	Parameters []*Parameter `type:"list"`
  6568  }
  6569  
  6570  // String returns the string representation.
  6571  //
  6572  // API parameter values that are decorated as "sensitive" in the API will not
  6573  // be included in the string output. The member name will be present, but the
  6574  // value will be replaced with "sensitive".
  6575  func (s DescribeParametersOutput) String() string {
  6576  	return awsutil.Prettify(s)
  6577  }
  6578  
  6579  // GoString returns the string representation.
  6580  //
  6581  // API parameter values that are decorated as "sensitive" in the API will not
  6582  // be included in the string output. The member name will be present, but the
  6583  // value will be replaced with "sensitive".
  6584  func (s DescribeParametersOutput) GoString() string {
  6585  	return s.String()
  6586  }
  6587  
  6588  // SetNextToken sets the NextToken field's value.
  6589  func (s *DescribeParametersOutput) SetNextToken(v string) *DescribeParametersOutput {
  6590  	s.NextToken = &v
  6591  	return s
  6592  }
  6593  
  6594  // SetParameters sets the Parameters field's value.
  6595  func (s *DescribeParametersOutput) SetParameters(v []*Parameter) *DescribeParametersOutput {
  6596  	s.Parameters = v
  6597  	return s
  6598  }
  6599  
  6600  type DescribeServiceUpdatesInput struct {
  6601  	_ struct{} `type:"structure"`
  6602  
  6603  	// The list of cluster names to identify service updates to apply
  6604  	ClusterNames []*string `type:"list"`
  6605  
  6606  	// The maximum number of records to include in the response. If more records
  6607  	// exist than the specified MaxResults value, a token is included in the response
  6608  	// so that the remaining results can be retrieved.
  6609  	MaxResults *int64 `type:"integer"`
  6610  
  6611  	// An optional argument to pass in case the total number of records exceeds
  6612  	// the value of MaxResults. If nextToken is returned, there are more results
  6613  	// available. The value of nextToken is a unique pagination token for each page.
  6614  	// Make the call again using the returned token to retrieve the next page. Keep
  6615  	// all other arguments unchanged.
  6616  	NextToken *string `type:"string"`
  6617  
  6618  	// The unique ID of the service update to describe.
  6619  	ServiceUpdateName *string `type:"string"`
  6620  
  6621  	// The status(es) of the service updates to filter on
  6622  	Status []*string `type:"list"`
  6623  }
  6624  
  6625  // String returns the string representation.
  6626  //
  6627  // API parameter values that are decorated as "sensitive" in the API will not
  6628  // be included in the string output. The member name will be present, but the
  6629  // value will be replaced with "sensitive".
  6630  func (s DescribeServiceUpdatesInput) String() string {
  6631  	return awsutil.Prettify(s)
  6632  }
  6633  
  6634  // GoString returns the string representation.
  6635  //
  6636  // API parameter values that are decorated as "sensitive" in the API will not
  6637  // be included in the string output. The member name will be present, but the
  6638  // value will be replaced with "sensitive".
  6639  func (s DescribeServiceUpdatesInput) GoString() string {
  6640  	return s.String()
  6641  }
  6642  
  6643  // SetClusterNames sets the ClusterNames field's value.
  6644  func (s *DescribeServiceUpdatesInput) SetClusterNames(v []*string) *DescribeServiceUpdatesInput {
  6645  	s.ClusterNames = v
  6646  	return s
  6647  }
  6648  
  6649  // SetMaxResults sets the MaxResults field's value.
  6650  func (s *DescribeServiceUpdatesInput) SetMaxResults(v int64) *DescribeServiceUpdatesInput {
  6651  	s.MaxResults = &v
  6652  	return s
  6653  }
  6654  
  6655  // SetNextToken sets the NextToken field's value.
  6656  func (s *DescribeServiceUpdatesInput) SetNextToken(v string) *DescribeServiceUpdatesInput {
  6657  	s.NextToken = &v
  6658  	return s
  6659  }
  6660  
  6661  // SetServiceUpdateName sets the ServiceUpdateName field's value.
  6662  func (s *DescribeServiceUpdatesInput) SetServiceUpdateName(v string) *DescribeServiceUpdatesInput {
  6663  	s.ServiceUpdateName = &v
  6664  	return s
  6665  }
  6666  
  6667  // SetStatus sets the Status field's value.
  6668  func (s *DescribeServiceUpdatesInput) SetStatus(v []*string) *DescribeServiceUpdatesInput {
  6669  	s.Status = v
  6670  	return s
  6671  }
  6672  
  6673  type DescribeServiceUpdatesOutput struct {
  6674  	_ struct{} `type:"structure"`
  6675  
  6676  	// An optional argument to pass in case the total number of records exceeds
  6677  	// the value of MaxResults. If nextToken is returned, there are more results
  6678  	// available. The value of nextToken is a unique pagination token for each page.
  6679  	// Make the call again using the returned token to retrieve the next page. Keep
  6680  	// all other arguments unchanged.
  6681  	NextToken *string `type:"string"`
  6682  
  6683  	// A list of service updates
  6684  	ServiceUpdates []*ServiceUpdate `type:"list"`
  6685  }
  6686  
  6687  // String returns the string representation.
  6688  //
  6689  // API parameter values that are decorated as "sensitive" in the API will not
  6690  // be included in the string output. The member name will be present, but the
  6691  // value will be replaced with "sensitive".
  6692  func (s DescribeServiceUpdatesOutput) String() string {
  6693  	return awsutil.Prettify(s)
  6694  }
  6695  
  6696  // GoString returns the string representation.
  6697  //
  6698  // API parameter values that are decorated as "sensitive" in the API will not
  6699  // be included in the string output. The member name will be present, but the
  6700  // value will be replaced with "sensitive".
  6701  func (s DescribeServiceUpdatesOutput) GoString() string {
  6702  	return s.String()
  6703  }
  6704  
  6705  // SetNextToken sets the NextToken field's value.
  6706  func (s *DescribeServiceUpdatesOutput) SetNextToken(v string) *DescribeServiceUpdatesOutput {
  6707  	s.NextToken = &v
  6708  	return s
  6709  }
  6710  
  6711  // SetServiceUpdates sets the ServiceUpdates field's value.
  6712  func (s *DescribeServiceUpdatesOutput) SetServiceUpdates(v []*ServiceUpdate) *DescribeServiceUpdatesOutput {
  6713  	s.ServiceUpdates = v
  6714  	return s
  6715  }
  6716  
  6717  type DescribeSnapshotsInput struct {
  6718  	_ struct{} `type:"structure"`
  6719  
  6720  	// A user-supplied cluster identifier. If this parameter is specified, only
  6721  	// snapshots associated with that specific cluster are described.
  6722  	ClusterName *string `type:"string"`
  6723  
  6724  	// The maximum number of records to include in the response. If more records
  6725  	// exist than the specified MaxResults value, a token is included in the response
  6726  	// so that the remaining results can be retrieved.
  6727  	MaxResults *int64 `type:"integer"`
  6728  
  6729  	// An optional argument to pass in case the total number of records exceeds
  6730  	// the value of MaxResults. If nextToken is returned, there are more results
  6731  	// available. The value of nextToken is a unique pagination token for each page.
  6732  	// Make the call again using the returned token to retrieve the next page. Keep
  6733  	// all other arguments unchanged.
  6734  	NextToken *string `type:"string"`
  6735  
  6736  	// A Boolean value which if true, the shard configuration is included in the
  6737  	// snapshot description.
  6738  	ShowDetail *bool `type:"boolean"`
  6739  
  6740  	// A user-supplied name of the snapshot. If this parameter is specified, only
  6741  	// this named snapshot is described.
  6742  	SnapshotName *string `type:"string"`
  6743  
  6744  	// If set to system, the output shows snapshots that were automatically created
  6745  	// by MemoryDB. If set to user the output shows snapshots that were manually
  6746  	// created. If omitted, the output shows both automatically and manually created
  6747  	// snapshots.
  6748  	Source *string `type:"string"`
  6749  }
  6750  
  6751  // String returns the string representation.
  6752  //
  6753  // API parameter values that are decorated as "sensitive" in the API will not
  6754  // be included in the string output. The member name will be present, but the
  6755  // value will be replaced with "sensitive".
  6756  func (s DescribeSnapshotsInput) String() string {
  6757  	return awsutil.Prettify(s)
  6758  }
  6759  
  6760  // GoString returns the string representation.
  6761  //
  6762  // API parameter values that are decorated as "sensitive" in the API will not
  6763  // be included in the string output. The member name will be present, but the
  6764  // value will be replaced with "sensitive".
  6765  func (s DescribeSnapshotsInput) GoString() string {
  6766  	return s.String()
  6767  }
  6768  
  6769  // SetClusterName sets the ClusterName field's value.
  6770  func (s *DescribeSnapshotsInput) SetClusterName(v string) *DescribeSnapshotsInput {
  6771  	s.ClusterName = &v
  6772  	return s
  6773  }
  6774  
  6775  // SetMaxResults sets the MaxResults field's value.
  6776  func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput {
  6777  	s.MaxResults = &v
  6778  	return s
  6779  }
  6780  
  6781  // SetNextToken sets the NextToken field's value.
  6782  func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput {
  6783  	s.NextToken = &v
  6784  	return s
  6785  }
  6786  
  6787  // SetShowDetail sets the ShowDetail field's value.
  6788  func (s *DescribeSnapshotsInput) SetShowDetail(v bool) *DescribeSnapshotsInput {
  6789  	s.ShowDetail = &v
  6790  	return s
  6791  }
  6792  
  6793  // SetSnapshotName sets the SnapshotName field's value.
  6794  func (s *DescribeSnapshotsInput) SetSnapshotName(v string) *DescribeSnapshotsInput {
  6795  	s.SnapshotName = &v
  6796  	return s
  6797  }
  6798  
  6799  // SetSource sets the Source field's value.
  6800  func (s *DescribeSnapshotsInput) SetSource(v string) *DescribeSnapshotsInput {
  6801  	s.Source = &v
  6802  	return s
  6803  }
  6804  
  6805  type DescribeSnapshotsOutput struct {
  6806  	_ struct{} `type:"structure"`
  6807  
  6808  	// An optional argument to pass in case the total number of records exceeds
  6809  	// the value of MaxResults. If nextToken is returned, there are more results
  6810  	// available. The value of nextToken is a unique pagination token for each page.
  6811  	// Make the call again using the returned token to retrieve the next page. Keep
  6812  	// all other arguments unchanged.
  6813  	NextToken *string `type:"string"`
  6814  
  6815  	// A list of snapshots. Each item in the list contains detailed information
  6816  	// about one snapshot.
  6817  	Snapshots []*Snapshot `type:"list"`
  6818  }
  6819  
  6820  // String returns the string representation.
  6821  //
  6822  // API parameter values that are decorated as "sensitive" in the API will not
  6823  // be included in the string output. The member name will be present, but the
  6824  // value will be replaced with "sensitive".
  6825  func (s DescribeSnapshotsOutput) String() string {
  6826  	return awsutil.Prettify(s)
  6827  }
  6828  
  6829  // GoString returns the string representation.
  6830  //
  6831  // API parameter values that are decorated as "sensitive" in the API will not
  6832  // be included in the string output. The member name will be present, but the
  6833  // value will be replaced with "sensitive".
  6834  func (s DescribeSnapshotsOutput) GoString() string {
  6835  	return s.String()
  6836  }
  6837  
  6838  // SetNextToken sets the NextToken field's value.
  6839  func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput {
  6840  	s.NextToken = &v
  6841  	return s
  6842  }
  6843  
  6844  // SetSnapshots sets the Snapshots field's value.
  6845  func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput {
  6846  	s.Snapshots = v
  6847  	return s
  6848  }
  6849  
  6850  type DescribeSubnetGroupsInput struct {
  6851  	_ struct{} `type:"structure"`
  6852  
  6853  	// The maximum number of records to include in the response. If more records
  6854  	// exist than the specified MaxResults value, a token is included in the response
  6855  	// so that the remaining results can be retrieved.
  6856  	MaxResults *int64 `type:"integer"`
  6857  
  6858  	// An optional argument to pass in case the total number of records exceeds
  6859  	// the value of MaxResults. If nextToken is returned, there are more results
  6860  	// available. The value of nextToken is a unique pagination token for each page.
  6861  	// Make the call again using the returned token to retrieve the next page. Keep
  6862  	// all other arguments unchanged.
  6863  	NextToken *string `type:"string"`
  6864  
  6865  	// The name of the subnet group to return details for.
  6866  	SubnetGroupName *string `type:"string"`
  6867  }
  6868  
  6869  // String returns the string representation.
  6870  //
  6871  // API parameter values that are decorated as "sensitive" in the API will not
  6872  // be included in the string output. The member name will be present, but the
  6873  // value will be replaced with "sensitive".
  6874  func (s DescribeSubnetGroupsInput) String() string {
  6875  	return awsutil.Prettify(s)
  6876  }
  6877  
  6878  // GoString returns the string representation.
  6879  //
  6880  // API parameter values that are decorated as "sensitive" in the API will not
  6881  // be included in the string output. The member name will be present, but the
  6882  // value will be replaced with "sensitive".
  6883  func (s DescribeSubnetGroupsInput) GoString() string {
  6884  	return s.String()
  6885  }
  6886  
  6887  // SetMaxResults sets the MaxResults field's value.
  6888  func (s *DescribeSubnetGroupsInput) SetMaxResults(v int64) *DescribeSubnetGroupsInput {
  6889  	s.MaxResults = &v
  6890  	return s
  6891  }
  6892  
  6893  // SetNextToken sets the NextToken field's value.
  6894  func (s *DescribeSubnetGroupsInput) SetNextToken(v string) *DescribeSubnetGroupsInput {
  6895  	s.NextToken = &v
  6896  	return s
  6897  }
  6898  
  6899  // SetSubnetGroupName sets the SubnetGroupName field's value.
  6900  func (s *DescribeSubnetGroupsInput) SetSubnetGroupName(v string) *DescribeSubnetGroupsInput {
  6901  	s.SubnetGroupName = &v
  6902  	return s
  6903  }
  6904  
  6905  type DescribeSubnetGroupsOutput struct {
  6906  	_ struct{} `type:"structure"`
  6907  
  6908  	// An optional argument to pass in case the total number of records exceeds
  6909  	// the value of MaxResults. If nextToken is returned, there are more results
  6910  	// available. The value of nextToken is a unique pagination token for each page.
  6911  	// Make the call again using the returned token to retrieve the next page. Keep
  6912  	// all other arguments unchanged.
  6913  	NextToken *string `type:"string"`
  6914  
  6915  	// A list of subnet groups. Each element in the list contains detailed information
  6916  	// about one group.
  6917  	SubnetGroups []*SubnetGroup `type:"list"`
  6918  }
  6919  
  6920  // String returns the string representation.
  6921  //
  6922  // API parameter values that are decorated as "sensitive" in the API will not
  6923  // be included in the string output. The member name will be present, but the
  6924  // value will be replaced with "sensitive".
  6925  func (s DescribeSubnetGroupsOutput) String() string {
  6926  	return awsutil.Prettify(s)
  6927  }
  6928  
  6929  // GoString returns the string representation.
  6930  //
  6931  // API parameter values that are decorated as "sensitive" in the API will not
  6932  // be included in the string output. The member name will be present, but the
  6933  // value will be replaced with "sensitive".
  6934  func (s DescribeSubnetGroupsOutput) GoString() string {
  6935  	return s.String()
  6936  }
  6937  
  6938  // SetNextToken sets the NextToken field's value.
  6939  func (s *DescribeSubnetGroupsOutput) SetNextToken(v string) *DescribeSubnetGroupsOutput {
  6940  	s.NextToken = &v
  6941  	return s
  6942  }
  6943  
  6944  // SetSubnetGroups sets the SubnetGroups field's value.
  6945  func (s *DescribeSubnetGroupsOutput) SetSubnetGroups(v []*SubnetGroup) *DescribeSubnetGroupsOutput {
  6946  	s.SubnetGroups = v
  6947  	return s
  6948  }
  6949  
  6950  type DescribeUsersInput struct {
  6951  	_ struct{} `type:"structure"`
  6952  
  6953  	// Filter to determine the list of users to return.
  6954  	Filters []*Filter `type:"list"`
  6955  
  6956  	// The maximum number of records to include in the response. If more records
  6957  	// exist than the specified MaxResults value, a token is included in the response
  6958  	// so that the remaining results can be retrieved.
  6959  	MaxResults *int64 `type:"integer"`
  6960  
  6961  	// An optional argument to pass in case the total number of records exceeds
  6962  	// the value of MaxResults. If nextToken is returned, there are more results
  6963  	// available. The value of nextToken is a unique pagination token for each page.
  6964  	// Make the call again using the returned token to retrieve the next page. Keep
  6965  	// all other arguments unchanged.
  6966  	NextToken *string `type:"string"`
  6967  
  6968  	// The name of the user
  6969  	UserName *string `min:"1" type:"string"`
  6970  }
  6971  
  6972  // String returns the string representation.
  6973  //
  6974  // API parameter values that are decorated as "sensitive" in the API will not
  6975  // be included in the string output. The member name will be present, but the
  6976  // value will be replaced with "sensitive".
  6977  func (s DescribeUsersInput) String() string {
  6978  	return awsutil.Prettify(s)
  6979  }
  6980  
  6981  // GoString returns the string representation.
  6982  //
  6983  // API parameter values that are decorated as "sensitive" in the API will not
  6984  // be included in the string output. The member name will be present, but the
  6985  // value will be replaced with "sensitive".
  6986  func (s DescribeUsersInput) GoString() string {
  6987  	return s.String()
  6988  }
  6989  
  6990  // Validate inspects the fields of the type to determine if they are valid.
  6991  func (s *DescribeUsersInput) Validate() error {
  6992  	invalidParams := request.ErrInvalidParams{Context: "DescribeUsersInput"}
  6993  	if s.UserName != nil && len(*s.UserName) < 1 {
  6994  		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  6995  	}
  6996  	if s.Filters != nil {
  6997  		for i, v := range s.Filters {
  6998  			if v == nil {
  6999  				continue
  7000  			}
  7001  			if err := v.Validate(); err != nil {
  7002  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
  7003  			}
  7004  		}
  7005  	}
  7006  
  7007  	if invalidParams.Len() > 0 {
  7008  		return invalidParams
  7009  	}
  7010  	return nil
  7011  }
  7012  
  7013  // SetFilters sets the Filters field's value.
  7014  func (s *DescribeUsersInput) SetFilters(v []*Filter) *DescribeUsersInput {
  7015  	s.Filters = v
  7016  	return s
  7017  }
  7018  
  7019  // SetMaxResults sets the MaxResults field's value.
  7020  func (s *DescribeUsersInput) SetMaxResults(v int64) *DescribeUsersInput {
  7021  	s.MaxResults = &v
  7022  	return s
  7023  }
  7024  
  7025  // SetNextToken sets the NextToken field's value.
  7026  func (s *DescribeUsersInput) SetNextToken(v string) *DescribeUsersInput {
  7027  	s.NextToken = &v
  7028  	return s
  7029  }
  7030  
  7031  // SetUserName sets the UserName field's value.
  7032  func (s *DescribeUsersInput) SetUserName(v string) *DescribeUsersInput {
  7033  	s.UserName = &v
  7034  	return s
  7035  }
  7036  
  7037  type DescribeUsersOutput struct {
  7038  	_ struct{} `type:"structure"`
  7039  
  7040  	// An optional argument to pass in case the total number of records exceeds
  7041  	// the value of MaxResults. If nextToken is returned, there are more results
  7042  	// available. The value of nextToken is a unique pagination token for each page.
  7043  	// Make the call again using the returned token to retrieve the next page. Keep
  7044  	// all other arguments unchanged.
  7045  	NextToken *string `type:"string"`
  7046  
  7047  	// A list of users.
  7048  	Users []*User `type:"list"`
  7049  }
  7050  
  7051  // String returns the string representation.
  7052  //
  7053  // API parameter values that are decorated as "sensitive" in the API will not
  7054  // be included in the string output. The member name will be present, but the
  7055  // value will be replaced with "sensitive".
  7056  func (s DescribeUsersOutput) String() string {
  7057  	return awsutil.Prettify(s)
  7058  }
  7059  
  7060  // GoString returns the string representation.
  7061  //
  7062  // API parameter values that are decorated as "sensitive" in the API will not
  7063  // be included in the string output. The member name will be present, but the
  7064  // value will be replaced with "sensitive".
  7065  func (s DescribeUsersOutput) GoString() string {
  7066  	return s.String()
  7067  }
  7068  
  7069  // SetNextToken sets the NextToken field's value.
  7070  func (s *DescribeUsersOutput) SetNextToken(v string) *DescribeUsersOutput {
  7071  	s.NextToken = &v
  7072  	return s
  7073  }
  7074  
  7075  // SetUsers sets the Users field's value.
  7076  func (s *DescribeUsersOutput) SetUsers(v []*User) *DescribeUsersOutput {
  7077  	s.Users = v
  7078  	return s
  7079  }
  7080  
  7081  type DuplicateUserNameFault struct {
  7082  	_            struct{}                  `type:"structure"`
  7083  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7084  
  7085  	Message_ *string `locationName:"message" type:"string"`
  7086  }
  7087  
  7088  // String returns the string representation.
  7089  //
  7090  // API parameter values that are decorated as "sensitive" in the API will not
  7091  // be included in the string output. The member name will be present, but the
  7092  // value will be replaced with "sensitive".
  7093  func (s DuplicateUserNameFault) String() string {
  7094  	return awsutil.Prettify(s)
  7095  }
  7096  
  7097  // GoString returns the string representation.
  7098  //
  7099  // API parameter values that are decorated as "sensitive" in the API will not
  7100  // be included in the string output. The member name will be present, but the
  7101  // value will be replaced with "sensitive".
  7102  func (s DuplicateUserNameFault) GoString() string {
  7103  	return s.String()
  7104  }
  7105  
  7106  func newErrorDuplicateUserNameFault(v protocol.ResponseMetadata) error {
  7107  	return &DuplicateUserNameFault{
  7108  		RespMetadata: v,
  7109  	}
  7110  }
  7111  
  7112  // Code returns the exception type name.
  7113  func (s *DuplicateUserNameFault) Code() string {
  7114  	return "DuplicateUserNameFault"
  7115  }
  7116  
  7117  // Message returns the exception's message.
  7118  func (s *DuplicateUserNameFault) Message() string {
  7119  	if s.Message_ != nil {
  7120  		return *s.Message_
  7121  	}
  7122  	return ""
  7123  }
  7124  
  7125  // OrigErr always returns nil, satisfies awserr.Error interface.
  7126  func (s *DuplicateUserNameFault) OrigErr() error {
  7127  	return nil
  7128  }
  7129  
  7130  func (s *DuplicateUserNameFault) Error() string {
  7131  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7132  }
  7133  
  7134  // Status code returns the HTTP status code for the request's response error.
  7135  func (s *DuplicateUserNameFault) StatusCode() int {
  7136  	return s.RespMetadata.StatusCode
  7137  }
  7138  
  7139  // RequestID returns the service's response RequestID for request.
  7140  func (s *DuplicateUserNameFault) RequestID() string {
  7141  	return s.RespMetadata.RequestID
  7142  }
  7143  
  7144  // Represents the information required for client programs to connect to the
  7145  // cluster and its nodes.
  7146  type Endpoint struct {
  7147  	_ struct{} `type:"structure"`
  7148  
  7149  	// The DNS hostname of the node.
  7150  	Address *string `type:"string"`
  7151  
  7152  	// The port number that the engine is listening on.
  7153  	Port *int64 `type:"integer"`
  7154  }
  7155  
  7156  // String returns the string representation.
  7157  //
  7158  // API parameter values that are decorated as "sensitive" in the API will not
  7159  // be included in the string output. The member name will be present, but the
  7160  // value will be replaced with "sensitive".
  7161  func (s Endpoint) String() string {
  7162  	return awsutil.Prettify(s)
  7163  }
  7164  
  7165  // GoString returns the string representation.
  7166  //
  7167  // API parameter values that are decorated as "sensitive" in the API will not
  7168  // be included in the string output. The member name will be present, but the
  7169  // value will be replaced with "sensitive".
  7170  func (s Endpoint) GoString() string {
  7171  	return s.String()
  7172  }
  7173  
  7174  // SetAddress sets the Address field's value.
  7175  func (s *Endpoint) SetAddress(v string) *Endpoint {
  7176  	s.Address = &v
  7177  	return s
  7178  }
  7179  
  7180  // SetPort sets the Port field's value.
  7181  func (s *Endpoint) SetPort(v int64) *Endpoint {
  7182  	s.Port = &v
  7183  	return s
  7184  }
  7185  
  7186  // Provides details of the Redis engine version
  7187  type EngineVersionInfo struct {
  7188  	_ struct{} `type:"structure"`
  7189  
  7190  	// The patched engine version
  7191  	EnginePatchVersion *string `type:"string"`
  7192  
  7193  	// The engine version
  7194  	EngineVersion *string `type:"string"`
  7195  
  7196  	// Specifies the name of the parameter group family to which the engine default
  7197  	// parameters apply.
  7198  	ParameterGroupFamily *string `type:"string"`
  7199  }
  7200  
  7201  // String returns the string representation.
  7202  //
  7203  // API parameter values that are decorated as "sensitive" in the API will not
  7204  // be included in the string output. The member name will be present, but the
  7205  // value will be replaced with "sensitive".
  7206  func (s EngineVersionInfo) String() string {
  7207  	return awsutil.Prettify(s)
  7208  }
  7209  
  7210  // GoString returns the string representation.
  7211  //
  7212  // API parameter values that are decorated as "sensitive" in the API will not
  7213  // be included in the string output. The member name will be present, but the
  7214  // value will be replaced with "sensitive".
  7215  func (s EngineVersionInfo) GoString() string {
  7216  	return s.String()
  7217  }
  7218  
  7219  // SetEnginePatchVersion sets the EnginePatchVersion field's value.
  7220  func (s *EngineVersionInfo) SetEnginePatchVersion(v string) *EngineVersionInfo {
  7221  	s.EnginePatchVersion = &v
  7222  	return s
  7223  }
  7224  
  7225  // SetEngineVersion sets the EngineVersion field's value.
  7226  func (s *EngineVersionInfo) SetEngineVersion(v string) *EngineVersionInfo {
  7227  	s.EngineVersion = &v
  7228  	return s
  7229  }
  7230  
  7231  // SetParameterGroupFamily sets the ParameterGroupFamily field's value.
  7232  func (s *EngineVersionInfo) SetParameterGroupFamily(v string) *EngineVersionInfo {
  7233  	s.ParameterGroupFamily = &v
  7234  	return s
  7235  }
  7236  
  7237  // Represents a single occurrence of something interesting within the system.
  7238  // Some examples of events are creating a cluster or adding or removing a node.
  7239  type Event struct {
  7240  	_ struct{} `type:"structure"`
  7241  
  7242  	// The date and time when the event occurred.
  7243  	Date *time.Time `type:"timestamp"`
  7244  
  7245  	// The text of the event.
  7246  	Message *string `type:"string"`
  7247  
  7248  	// The name for the source of the event. For example, if the event occurred
  7249  	// at the cluster level, the identifier would be the name of the cluster.
  7250  	SourceName *string `type:"string"`
  7251  
  7252  	// Specifies the origin of this event - a cluster, a parameter group, a security
  7253  	// group, etc.
  7254  	SourceType *string `type:"string" enum:"SourceType"`
  7255  }
  7256  
  7257  // String returns the string representation.
  7258  //
  7259  // API parameter values that are decorated as "sensitive" in the API will not
  7260  // be included in the string output. The member name will be present, but the
  7261  // value will be replaced with "sensitive".
  7262  func (s Event) String() string {
  7263  	return awsutil.Prettify(s)
  7264  }
  7265  
  7266  // GoString returns the string representation.
  7267  //
  7268  // API parameter values that are decorated as "sensitive" in the API will not
  7269  // be included in the string output. The member name will be present, but the
  7270  // value will be replaced with "sensitive".
  7271  func (s Event) GoString() string {
  7272  	return s.String()
  7273  }
  7274  
  7275  // SetDate sets the Date field's value.
  7276  func (s *Event) SetDate(v time.Time) *Event {
  7277  	s.Date = &v
  7278  	return s
  7279  }
  7280  
  7281  // SetMessage sets the Message field's value.
  7282  func (s *Event) SetMessage(v string) *Event {
  7283  	s.Message = &v
  7284  	return s
  7285  }
  7286  
  7287  // SetSourceName sets the SourceName field's value.
  7288  func (s *Event) SetSourceName(v string) *Event {
  7289  	s.SourceName = &v
  7290  	return s
  7291  }
  7292  
  7293  // SetSourceType sets the SourceType field's value.
  7294  func (s *Event) SetSourceType(v string) *Event {
  7295  	s.SourceType = &v
  7296  	return s
  7297  }
  7298  
  7299  type FailoverShardInput struct {
  7300  	_ struct{} `type:"structure"`
  7301  
  7302  	// The cluster being failed over
  7303  	//
  7304  	// ClusterName is a required field
  7305  	ClusterName *string `type:"string" required:"true"`
  7306  
  7307  	// The name of the shard
  7308  	//
  7309  	// ShardName is a required field
  7310  	ShardName *string `type:"string" required:"true"`
  7311  }
  7312  
  7313  // String returns the string representation.
  7314  //
  7315  // API parameter values that are decorated as "sensitive" in the API will not
  7316  // be included in the string output. The member name will be present, but the
  7317  // value will be replaced with "sensitive".
  7318  func (s FailoverShardInput) String() string {
  7319  	return awsutil.Prettify(s)
  7320  }
  7321  
  7322  // GoString returns the string representation.
  7323  //
  7324  // API parameter values that are decorated as "sensitive" in the API will not
  7325  // be included in the string output. The member name will be present, but the
  7326  // value will be replaced with "sensitive".
  7327  func (s FailoverShardInput) GoString() string {
  7328  	return s.String()
  7329  }
  7330  
  7331  // Validate inspects the fields of the type to determine if they are valid.
  7332  func (s *FailoverShardInput) Validate() error {
  7333  	invalidParams := request.ErrInvalidParams{Context: "FailoverShardInput"}
  7334  	if s.ClusterName == nil {
  7335  		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
  7336  	}
  7337  	if s.ShardName == nil {
  7338  		invalidParams.Add(request.NewErrParamRequired("ShardName"))
  7339  	}
  7340  
  7341  	if invalidParams.Len() > 0 {
  7342  		return invalidParams
  7343  	}
  7344  	return nil
  7345  }
  7346  
  7347  // SetClusterName sets the ClusterName field's value.
  7348  func (s *FailoverShardInput) SetClusterName(v string) *FailoverShardInput {
  7349  	s.ClusterName = &v
  7350  	return s
  7351  }
  7352  
  7353  // SetShardName sets the ShardName field's value.
  7354  func (s *FailoverShardInput) SetShardName(v string) *FailoverShardInput {
  7355  	s.ShardName = &v
  7356  	return s
  7357  }
  7358  
  7359  type FailoverShardOutput struct {
  7360  	_ struct{} `type:"structure"`
  7361  
  7362  	// The cluster being failed over
  7363  	Cluster *Cluster `type:"structure"`
  7364  }
  7365  
  7366  // String returns the string representation.
  7367  //
  7368  // API parameter values that are decorated as "sensitive" in the API will not
  7369  // be included in the string output. The member name will be present, but the
  7370  // value will be replaced with "sensitive".
  7371  func (s FailoverShardOutput) String() string {
  7372  	return awsutil.Prettify(s)
  7373  }
  7374  
  7375  // GoString returns the string representation.
  7376  //
  7377  // API parameter values that are decorated as "sensitive" in the API will not
  7378  // be included in the string output. The member name will be present, but the
  7379  // value will be replaced with "sensitive".
  7380  func (s FailoverShardOutput) GoString() string {
  7381  	return s.String()
  7382  }
  7383  
  7384  // SetCluster sets the Cluster field's value.
  7385  func (s *FailoverShardOutput) SetCluster(v *Cluster) *FailoverShardOutput {
  7386  	s.Cluster = v
  7387  	return s
  7388  }
  7389  
  7390  // Used to streamline results of a search based on the property being filtered.
  7391  type Filter struct {
  7392  	_ struct{} `type:"structure"`
  7393  
  7394  	// The property being filtered. For example, UserName.
  7395  	//
  7396  	// Name is a required field
  7397  	Name *string `type:"string" required:"true"`
  7398  
  7399  	// The property values to filter on. For example, "user-123".
  7400  	//
  7401  	// Values is a required field
  7402  	Values []*string `min:"1" type:"list" required:"true"`
  7403  }
  7404  
  7405  // String returns the string representation.
  7406  //
  7407  // API parameter values that are decorated as "sensitive" in the API will not
  7408  // be included in the string output. The member name will be present, but the
  7409  // value will be replaced with "sensitive".
  7410  func (s Filter) String() string {
  7411  	return awsutil.Prettify(s)
  7412  }
  7413  
  7414  // GoString returns the string representation.
  7415  //
  7416  // API parameter values that are decorated as "sensitive" in the API will not
  7417  // be included in the string output. The member name will be present, but the
  7418  // value will be replaced with "sensitive".
  7419  func (s Filter) GoString() string {
  7420  	return s.String()
  7421  }
  7422  
  7423  // Validate inspects the fields of the type to determine if they are valid.
  7424  func (s *Filter) Validate() error {
  7425  	invalidParams := request.ErrInvalidParams{Context: "Filter"}
  7426  	if s.Name == nil {
  7427  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7428  	}
  7429  	if s.Values == nil {
  7430  		invalidParams.Add(request.NewErrParamRequired("Values"))
  7431  	}
  7432  	if s.Values != nil && len(s.Values) < 1 {
  7433  		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
  7434  	}
  7435  
  7436  	if invalidParams.Len() > 0 {
  7437  		return invalidParams
  7438  	}
  7439  	return nil
  7440  }
  7441  
  7442  // SetName sets the Name field's value.
  7443  func (s *Filter) SetName(v string) *Filter {
  7444  	s.Name = &v
  7445  	return s
  7446  }
  7447  
  7448  // SetValues sets the Values field's value.
  7449  func (s *Filter) SetValues(v []*string) *Filter {
  7450  	s.Values = v
  7451  	return s
  7452  }
  7453  
  7454  type InsufficientClusterCapacityFault struct {
  7455  	_            struct{}                  `type:"structure"`
  7456  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7457  
  7458  	Message_ *string `locationName:"message" type:"string"`
  7459  }
  7460  
  7461  // String returns the string representation.
  7462  //
  7463  // API parameter values that are decorated as "sensitive" in the API will not
  7464  // be included in the string output. The member name will be present, but the
  7465  // value will be replaced with "sensitive".
  7466  func (s InsufficientClusterCapacityFault) String() string {
  7467  	return awsutil.Prettify(s)
  7468  }
  7469  
  7470  // GoString returns the string representation.
  7471  //
  7472  // API parameter values that are decorated as "sensitive" in the API will not
  7473  // be included in the string output. The member name will be present, but the
  7474  // value will be replaced with "sensitive".
  7475  func (s InsufficientClusterCapacityFault) GoString() string {
  7476  	return s.String()
  7477  }
  7478  
  7479  func newErrorInsufficientClusterCapacityFault(v protocol.ResponseMetadata) error {
  7480  	return &InsufficientClusterCapacityFault{
  7481  		RespMetadata: v,
  7482  	}
  7483  }
  7484  
  7485  // Code returns the exception type name.
  7486  func (s *InsufficientClusterCapacityFault) Code() string {
  7487  	return "InsufficientClusterCapacityFault"
  7488  }
  7489  
  7490  // Message returns the exception's message.
  7491  func (s *InsufficientClusterCapacityFault) Message() string {
  7492  	if s.Message_ != nil {
  7493  		return *s.Message_
  7494  	}
  7495  	return ""
  7496  }
  7497  
  7498  // OrigErr always returns nil, satisfies awserr.Error interface.
  7499  func (s *InsufficientClusterCapacityFault) OrigErr() error {
  7500  	return nil
  7501  }
  7502  
  7503  func (s *InsufficientClusterCapacityFault) Error() string {
  7504  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7505  }
  7506  
  7507  // Status code returns the HTTP status code for the request's response error.
  7508  func (s *InsufficientClusterCapacityFault) StatusCode() int {
  7509  	return s.RespMetadata.StatusCode
  7510  }
  7511  
  7512  // RequestID returns the service's response RequestID for request.
  7513  func (s *InsufficientClusterCapacityFault) RequestID() string {
  7514  	return s.RespMetadata.RequestID
  7515  }
  7516  
  7517  type InvalidACLStateFault struct {
  7518  	_            struct{}                  `type:"structure"`
  7519  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7520  
  7521  	Message_ *string `locationName:"message" type:"string"`
  7522  }
  7523  
  7524  // String returns the string representation.
  7525  //
  7526  // API parameter values that are decorated as "sensitive" in the API will not
  7527  // be included in the string output. The member name will be present, but the
  7528  // value will be replaced with "sensitive".
  7529  func (s InvalidACLStateFault) String() string {
  7530  	return awsutil.Prettify(s)
  7531  }
  7532  
  7533  // GoString returns the string representation.
  7534  //
  7535  // API parameter values that are decorated as "sensitive" in the API will not
  7536  // be included in the string output. The member name will be present, but the
  7537  // value will be replaced with "sensitive".
  7538  func (s InvalidACLStateFault) GoString() string {
  7539  	return s.String()
  7540  }
  7541  
  7542  func newErrorInvalidACLStateFault(v protocol.ResponseMetadata) error {
  7543  	return &InvalidACLStateFault{
  7544  		RespMetadata: v,
  7545  	}
  7546  }
  7547  
  7548  // Code returns the exception type name.
  7549  func (s *InvalidACLStateFault) Code() string {
  7550  	return "InvalidACLStateFault"
  7551  }
  7552  
  7553  // Message returns the exception's message.
  7554  func (s *InvalidACLStateFault) Message() string {
  7555  	if s.Message_ != nil {
  7556  		return *s.Message_
  7557  	}
  7558  	return ""
  7559  }
  7560  
  7561  // OrigErr always returns nil, satisfies awserr.Error interface.
  7562  func (s *InvalidACLStateFault) OrigErr() error {
  7563  	return nil
  7564  }
  7565  
  7566  func (s *InvalidACLStateFault) Error() string {
  7567  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7568  }
  7569  
  7570  // Status code returns the HTTP status code for the request's response error.
  7571  func (s *InvalidACLStateFault) StatusCode() int {
  7572  	return s.RespMetadata.StatusCode
  7573  }
  7574  
  7575  // RequestID returns the service's response RequestID for request.
  7576  func (s *InvalidACLStateFault) RequestID() string {
  7577  	return s.RespMetadata.RequestID
  7578  }
  7579  
  7580  type InvalidARNFault struct {
  7581  	_            struct{}                  `type:"structure"`
  7582  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7583  
  7584  	Message_ *string `locationName:"message" type:"string"`
  7585  }
  7586  
  7587  // String returns the string representation.
  7588  //
  7589  // API parameter values that are decorated as "sensitive" in the API will not
  7590  // be included in the string output. The member name will be present, but the
  7591  // value will be replaced with "sensitive".
  7592  func (s InvalidARNFault) String() string {
  7593  	return awsutil.Prettify(s)
  7594  }
  7595  
  7596  // GoString returns the string representation.
  7597  //
  7598  // API parameter values that are decorated as "sensitive" in the API will not
  7599  // be included in the string output. The member name will be present, but the
  7600  // value will be replaced with "sensitive".
  7601  func (s InvalidARNFault) GoString() string {
  7602  	return s.String()
  7603  }
  7604  
  7605  func newErrorInvalidARNFault(v protocol.ResponseMetadata) error {
  7606  	return &InvalidARNFault{
  7607  		RespMetadata: v,
  7608  	}
  7609  }
  7610  
  7611  // Code returns the exception type name.
  7612  func (s *InvalidARNFault) Code() string {
  7613  	return "InvalidARNFault"
  7614  }
  7615  
  7616  // Message returns the exception's message.
  7617  func (s *InvalidARNFault) Message() string {
  7618  	if s.Message_ != nil {
  7619  		return *s.Message_
  7620  	}
  7621  	return ""
  7622  }
  7623  
  7624  // OrigErr always returns nil, satisfies awserr.Error interface.
  7625  func (s *InvalidARNFault) OrigErr() error {
  7626  	return nil
  7627  }
  7628  
  7629  func (s *InvalidARNFault) Error() string {
  7630  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7631  }
  7632  
  7633  // Status code returns the HTTP status code for the request's response error.
  7634  func (s *InvalidARNFault) StatusCode() int {
  7635  	return s.RespMetadata.StatusCode
  7636  }
  7637  
  7638  // RequestID returns the service's response RequestID for request.
  7639  func (s *InvalidARNFault) RequestID() string {
  7640  	return s.RespMetadata.RequestID
  7641  }
  7642  
  7643  type InvalidClusterStateFault struct {
  7644  	_            struct{}                  `type:"structure"`
  7645  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7646  
  7647  	Message_ *string `locationName:"message" type:"string"`
  7648  }
  7649  
  7650  // String returns the string representation.
  7651  //
  7652  // API parameter values that are decorated as "sensitive" in the API will not
  7653  // be included in the string output. The member name will be present, but the
  7654  // value will be replaced with "sensitive".
  7655  func (s InvalidClusterStateFault) String() string {
  7656  	return awsutil.Prettify(s)
  7657  }
  7658  
  7659  // GoString returns the string representation.
  7660  //
  7661  // API parameter values that are decorated as "sensitive" in the API will not
  7662  // be included in the string output. The member name will be present, but the
  7663  // value will be replaced with "sensitive".
  7664  func (s InvalidClusterStateFault) GoString() string {
  7665  	return s.String()
  7666  }
  7667  
  7668  func newErrorInvalidClusterStateFault(v protocol.ResponseMetadata) error {
  7669  	return &InvalidClusterStateFault{
  7670  		RespMetadata: v,
  7671  	}
  7672  }
  7673  
  7674  // Code returns the exception type name.
  7675  func (s *InvalidClusterStateFault) Code() string {
  7676  	return "InvalidClusterStateFault"
  7677  }
  7678  
  7679  // Message returns the exception's message.
  7680  func (s *InvalidClusterStateFault) Message() string {
  7681  	if s.Message_ != nil {
  7682  		return *s.Message_
  7683  	}
  7684  	return ""
  7685  }
  7686  
  7687  // OrigErr always returns nil, satisfies awserr.Error interface.
  7688  func (s *InvalidClusterStateFault) OrigErr() error {
  7689  	return nil
  7690  }
  7691  
  7692  func (s *InvalidClusterStateFault) Error() string {
  7693  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7694  }
  7695  
  7696  // Status code returns the HTTP status code for the request's response error.
  7697  func (s *InvalidClusterStateFault) StatusCode() int {
  7698  	return s.RespMetadata.StatusCode
  7699  }
  7700  
  7701  // RequestID returns the service's response RequestID for request.
  7702  func (s *InvalidClusterStateFault) RequestID() string {
  7703  	return s.RespMetadata.RequestID
  7704  }
  7705  
  7706  type InvalidCredentialsException struct {
  7707  	_            struct{}                  `type:"structure"`
  7708  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7709  
  7710  	Message_ *string `locationName:"message" type:"string"`
  7711  }
  7712  
  7713  // String returns the string representation.
  7714  //
  7715  // API parameter values that are decorated as "sensitive" in the API will not
  7716  // be included in the string output. The member name will be present, but the
  7717  // value will be replaced with "sensitive".
  7718  func (s InvalidCredentialsException) String() string {
  7719  	return awsutil.Prettify(s)
  7720  }
  7721  
  7722  // GoString returns the string representation.
  7723  //
  7724  // API parameter values that are decorated as "sensitive" in the API will not
  7725  // be included in the string output. The member name will be present, but the
  7726  // value will be replaced with "sensitive".
  7727  func (s InvalidCredentialsException) GoString() string {
  7728  	return s.String()
  7729  }
  7730  
  7731  func newErrorInvalidCredentialsException(v protocol.ResponseMetadata) error {
  7732  	return &InvalidCredentialsException{
  7733  		RespMetadata: v,
  7734  	}
  7735  }
  7736  
  7737  // Code returns the exception type name.
  7738  func (s *InvalidCredentialsException) Code() string {
  7739  	return "InvalidCredentialsException"
  7740  }
  7741  
  7742  // Message returns the exception's message.
  7743  func (s *InvalidCredentialsException) Message() string {
  7744  	if s.Message_ != nil {
  7745  		return *s.Message_
  7746  	}
  7747  	return ""
  7748  }
  7749  
  7750  // OrigErr always returns nil, satisfies awserr.Error interface.
  7751  func (s *InvalidCredentialsException) OrigErr() error {
  7752  	return nil
  7753  }
  7754  
  7755  func (s *InvalidCredentialsException) Error() string {
  7756  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7757  }
  7758  
  7759  // Status code returns the HTTP status code for the request's response error.
  7760  func (s *InvalidCredentialsException) StatusCode() int {
  7761  	return s.RespMetadata.StatusCode
  7762  }
  7763  
  7764  // RequestID returns the service's response RequestID for request.
  7765  func (s *InvalidCredentialsException) RequestID() string {
  7766  	return s.RespMetadata.RequestID
  7767  }
  7768  
  7769  type InvalidKMSKeyFault struct {
  7770  	_            struct{}                  `type:"structure"`
  7771  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7772  
  7773  	Message_ *string `locationName:"message" type:"string"`
  7774  }
  7775  
  7776  // String returns the string representation.
  7777  //
  7778  // API parameter values that are decorated as "sensitive" in the API will not
  7779  // be included in the string output. The member name will be present, but the
  7780  // value will be replaced with "sensitive".
  7781  func (s InvalidKMSKeyFault) String() string {
  7782  	return awsutil.Prettify(s)
  7783  }
  7784  
  7785  // GoString returns the string representation.
  7786  //
  7787  // API parameter values that are decorated as "sensitive" in the API will not
  7788  // be included in the string output. The member name will be present, but the
  7789  // value will be replaced with "sensitive".
  7790  func (s InvalidKMSKeyFault) GoString() string {
  7791  	return s.String()
  7792  }
  7793  
  7794  func newErrorInvalidKMSKeyFault(v protocol.ResponseMetadata) error {
  7795  	return &InvalidKMSKeyFault{
  7796  		RespMetadata: v,
  7797  	}
  7798  }
  7799  
  7800  // Code returns the exception type name.
  7801  func (s *InvalidKMSKeyFault) Code() string {
  7802  	return "InvalidKMSKeyFault"
  7803  }
  7804  
  7805  // Message returns the exception's message.
  7806  func (s *InvalidKMSKeyFault) Message() string {
  7807  	if s.Message_ != nil {
  7808  		return *s.Message_
  7809  	}
  7810  	return ""
  7811  }
  7812  
  7813  // OrigErr always returns nil, satisfies awserr.Error interface.
  7814  func (s *InvalidKMSKeyFault) OrigErr() error {
  7815  	return nil
  7816  }
  7817  
  7818  func (s *InvalidKMSKeyFault) Error() string {
  7819  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7820  }
  7821  
  7822  // Status code returns the HTTP status code for the request's response error.
  7823  func (s *InvalidKMSKeyFault) StatusCode() int {
  7824  	return s.RespMetadata.StatusCode
  7825  }
  7826  
  7827  // RequestID returns the service's response RequestID for request.
  7828  func (s *InvalidKMSKeyFault) RequestID() string {
  7829  	return s.RespMetadata.RequestID
  7830  }
  7831  
  7832  type InvalidNodeStateFault struct {
  7833  	_            struct{}                  `type:"structure"`
  7834  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7835  
  7836  	Message_ *string `locationName:"message" type:"string"`
  7837  }
  7838  
  7839  // String returns the string representation.
  7840  //
  7841  // API parameter values that are decorated as "sensitive" in the API will not
  7842  // be included in the string output. The member name will be present, but the
  7843  // value will be replaced with "sensitive".
  7844  func (s InvalidNodeStateFault) String() string {
  7845  	return awsutil.Prettify(s)
  7846  }
  7847  
  7848  // GoString returns the string representation.
  7849  //
  7850  // API parameter values that are decorated as "sensitive" in the API will not
  7851  // be included in the string output. The member name will be present, but the
  7852  // value will be replaced with "sensitive".
  7853  func (s InvalidNodeStateFault) GoString() string {
  7854  	return s.String()
  7855  }
  7856  
  7857  func newErrorInvalidNodeStateFault(v protocol.ResponseMetadata) error {
  7858  	return &InvalidNodeStateFault{
  7859  		RespMetadata: v,
  7860  	}
  7861  }
  7862  
  7863  // Code returns the exception type name.
  7864  func (s *InvalidNodeStateFault) Code() string {
  7865  	return "InvalidNodeStateFault"
  7866  }
  7867  
  7868  // Message returns the exception's message.
  7869  func (s *InvalidNodeStateFault) Message() string {
  7870  	if s.Message_ != nil {
  7871  		return *s.Message_
  7872  	}
  7873  	return ""
  7874  }
  7875  
  7876  // OrigErr always returns nil, satisfies awserr.Error interface.
  7877  func (s *InvalidNodeStateFault) OrigErr() error {
  7878  	return nil
  7879  }
  7880  
  7881  func (s *InvalidNodeStateFault) Error() string {
  7882  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7883  }
  7884  
  7885  // Status code returns the HTTP status code for the request's response error.
  7886  func (s *InvalidNodeStateFault) StatusCode() int {
  7887  	return s.RespMetadata.StatusCode
  7888  }
  7889  
  7890  // RequestID returns the service's response RequestID for request.
  7891  func (s *InvalidNodeStateFault) RequestID() string {
  7892  	return s.RespMetadata.RequestID
  7893  }
  7894  
  7895  type InvalidParameterCombinationException struct {
  7896  	_            struct{}                  `type:"structure"`
  7897  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7898  
  7899  	Message_ *string `locationName:"message" type:"string"`
  7900  }
  7901  
  7902  // String returns the string representation.
  7903  //
  7904  // API parameter values that are decorated as "sensitive" in the API will not
  7905  // be included in the string output. The member name will be present, but the
  7906  // value will be replaced with "sensitive".
  7907  func (s InvalidParameterCombinationException) String() string {
  7908  	return awsutil.Prettify(s)
  7909  }
  7910  
  7911  // GoString returns the string representation.
  7912  //
  7913  // API parameter values that are decorated as "sensitive" in the API will not
  7914  // be included in the string output. The member name will be present, but the
  7915  // value will be replaced with "sensitive".
  7916  func (s InvalidParameterCombinationException) GoString() string {
  7917  	return s.String()
  7918  }
  7919  
  7920  func newErrorInvalidParameterCombinationException(v protocol.ResponseMetadata) error {
  7921  	return &InvalidParameterCombinationException{
  7922  		RespMetadata: v,
  7923  	}
  7924  }
  7925  
  7926  // Code returns the exception type name.
  7927  func (s *InvalidParameterCombinationException) Code() string {
  7928  	return "InvalidParameterCombinationException"
  7929  }
  7930  
  7931  // Message returns the exception's message.
  7932  func (s *InvalidParameterCombinationException) Message() string {
  7933  	if s.Message_ != nil {
  7934  		return *s.Message_
  7935  	}
  7936  	return ""
  7937  }
  7938  
  7939  // OrigErr always returns nil, satisfies awserr.Error interface.
  7940  func (s *InvalidParameterCombinationException) OrigErr() error {
  7941  	return nil
  7942  }
  7943  
  7944  func (s *InvalidParameterCombinationException) Error() string {
  7945  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7946  }
  7947  
  7948  // Status code returns the HTTP status code for the request's response error.
  7949  func (s *InvalidParameterCombinationException) StatusCode() int {
  7950  	return s.RespMetadata.StatusCode
  7951  }
  7952  
  7953  // RequestID returns the service's response RequestID for request.
  7954  func (s *InvalidParameterCombinationException) RequestID() string {
  7955  	return s.RespMetadata.RequestID
  7956  }
  7957  
  7958  type InvalidParameterGroupStateFault struct {
  7959  	_            struct{}                  `type:"structure"`
  7960  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7961  
  7962  	Message_ *string `locationName:"message" type:"string"`
  7963  }
  7964  
  7965  // String returns the string representation.
  7966  //
  7967  // API parameter values that are decorated as "sensitive" in the API will not
  7968  // be included in the string output. The member name will be present, but the
  7969  // value will be replaced with "sensitive".
  7970  func (s InvalidParameterGroupStateFault) String() string {
  7971  	return awsutil.Prettify(s)
  7972  }
  7973  
  7974  // GoString returns the string representation.
  7975  //
  7976  // API parameter values that are decorated as "sensitive" in the API will not
  7977  // be included in the string output. The member name will be present, but the
  7978  // value will be replaced with "sensitive".
  7979  func (s InvalidParameterGroupStateFault) GoString() string {
  7980  	return s.String()
  7981  }
  7982  
  7983  func newErrorInvalidParameterGroupStateFault(v protocol.ResponseMetadata) error {
  7984  	return &InvalidParameterGroupStateFault{
  7985  		RespMetadata: v,
  7986  	}
  7987  }
  7988  
  7989  // Code returns the exception type name.
  7990  func (s *InvalidParameterGroupStateFault) Code() string {
  7991  	return "InvalidParameterGroupStateFault"
  7992  }
  7993  
  7994  // Message returns the exception's message.
  7995  func (s *InvalidParameterGroupStateFault) Message() string {
  7996  	if s.Message_ != nil {
  7997  		return *s.Message_
  7998  	}
  7999  	return ""
  8000  }
  8001  
  8002  // OrigErr always returns nil, satisfies awserr.Error interface.
  8003  func (s *InvalidParameterGroupStateFault) OrigErr() error {
  8004  	return nil
  8005  }
  8006  
  8007  func (s *InvalidParameterGroupStateFault) Error() string {
  8008  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8009  }
  8010  
  8011  // Status code returns the HTTP status code for the request's response error.
  8012  func (s *InvalidParameterGroupStateFault) StatusCode() int {
  8013  	return s.RespMetadata.StatusCode
  8014  }
  8015  
  8016  // RequestID returns the service's response RequestID for request.
  8017  func (s *InvalidParameterGroupStateFault) RequestID() string {
  8018  	return s.RespMetadata.RequestID
  8019  }
  8020  
  8021  type InvalidParameterValueException struct {
  8022  	_            struct{}                  `type:"structure"`
  8023  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8024  
  8025  	Message_ *string `locationName:"message" type:"string"`
  8026  }
  8027  
  8028  // String returns the string representation.
  8029  //
  8030  // API parameter values that are decorated as "sensitive" in the API will not
  8031  // be included in the string output. The member name will be present, but the
  8032  // value will be replaced with "sensitive".
  8033  func (s InvalidParameterValueException) String() string {
  8034  	return awsutil.Prettify(s)
  8035  }
  8036  
  8037  // GoString returns the string representation.
  8038  //
  8039  // API parameter values that are decorated as "sensitive" in the API will not
  8040  // be included in the string output. The member name will be present, but the
  8041  // value will be replaced with "sensitive".
  8042  func (s InvalidParameterValueException) GoString() string {
  8043  	return s.String()
  8044  }
  8045  
  8046  func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error {
  8047  	return &InvalidParameterValueException{
  8048  		RespMetadata: v,
  8049  	}
  8050  }
  8051  
  8052  // Code returns the exception type name.
  8053  func (s *InvalidParameterValueException) Code() string {
  8054  	return "InvalidParameterValueException"
  8055  }
  8056  
  8057  // Message returns the exception's message.
  8058  func (s *InvalidParameterValueException) Message() string {
  8059  	if s.Message_ != nil {
  8060  		return *s.Message_
  8061  	}
  8062  	return ""
  8063  }
  8064  
  8065  // OrigErr always returns nil, satisfies awserr.Error interface.
  8066  func (s *InvalidParameterValueException) OrigErr() error {
  8067  	return nil
  8068  }
  8069  
  8070  func (s *InvalidParameterValueException) Error() string {
  8071  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8072  }
  8073  
  8074  // Status code returns the HTTP status code for the request's response error.
  8075  func (s *InvalidParameterValueException) StatusCode() int {
  8076  	return s.RespMetadata.StatusCode
  8077  }
  8078  
  8079  // RequestID returns the service's response RequestID for request.
  8080  func (s *InvalidParameterValueException) RequestID() string {
  8081  	return s.RespMetadata.RequestID
  8082  }
  8083  
  8084  type InvalidSnapshotStateFault struct {
  8085  	_            struct{}                  `type:"structure"`
  8086  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8087  
  8088  	Message_ *string `locationName:"message" type:"string"`
  8089  }
  8090  
  8091  // String returns the string representation.
  8092  //
  8093  // API parameter values that are decorated as "sensitive" in the API will not
  8094  // be included in the string output. The member name will be present, but the
  8095  // value will be replaced with "sensitive".
  8096  func (s InvalidSnapshotStateFault) String() string {
  8097  	return awsutil.Prettify(s)
  8098  }
  8099  
  8100  // GoString returns the string representation.
  8101  //
  8102  // API parameter values that are decorated as "sensitive" in the API will not
  8103  // be included in the string output. The member name will be present, but the
  8104  // value will be replaced with "sensitive".
  8105  func (s InvalidSnapshotStateFault) GoString() string {
  8106  	return s.String()
  8107  }
  8108  
  8109  func newErrorInvalidSnapshotStateFault(v protocol.ResponseMetadata) error {
  8110  	return &InvalidSnapshotStateFault{
  8111  		RespMetadata: v,
  8112  	}
  8113  }
  8114  
  8115  // Code returns the exception type name.
  8116  func (s *InvalidSnapshotStateFault) Code() string {
  8117  	return "InvalidSnapshotStateFault"
  8118  }
  8119  
  8120  // Message returns the exception's message.
  8121  func (s *InvalidSnapshotStateFault) Message() string {
  8122  	if s.Message_ != nil {
  8123  		return *s.Message_
  8124  	}
  8125  	return ""
  8126  }
  8127  
  8128  // OrigErr always returns nil, satisfies awserr.Error interface.
  8129  func (s *InvalidSnapshotStateFault) OrigErr() error {
  8130  	return nil
  8131  }
  8132  
  8133  func (s *InvalidSnapshotStateFault) Error() string {
  8134  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8135  }
  8136  
  8137  // Status code returns the HTTP status code for the request's response error.
  8138  func (s *InvalidSnapshotStateFault) StatusCode() int {
  8139  	return s.RespMetadata.StatusCode
  8140  }
  8141  
  8142  // RequestID returns the service's response RequestID for request.
  8143  func (s *InvalidSnapshotStateFault) RequestID() string {
  8144  	return s.RespMetadata.RequestID
  8145  }
  8146  
  8147  type InvalidSubnet struct {
  8148  	_            struct{}                  `type:"structure"`
  8149  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8150  
  8151  	Message_ *string `locationName:"message" type:"string"`
  8152  }
  8153  
  8154  // String returns the string representation.
  8155  //
  8156  // API parameter values that are decorated as "sensitive" in the API will not
  8157  // be included in the string output. The member name will be present, but the
  8158  // value will be replaced with "sensitive".
  8159  func (s InvalidSubnet) String() string {
  8160  	return awsutil.Prettify(s)
  8161  }
  8162  
  8163  // GoString returns the string representation.
  8164  //
  8165  // API parameter values that are decorated as "sensitive" in the API will not
  8166  // be included in the string output. The member name will be present, but the
  8167  // value will be replaced with "sensitive".
  8168  func (s InvalidSubnet) GoString() string {
  8169  	return s.String()
  8170  }
  8171  
  8172  func newErrorInvalidSubnet(v protocol.ResponseMetadata) error {
  8173  	return &InvalidSubnet{
  8174  		RespMetadata: v,
  8175  	}
  8176  }
  8177  
  8178  // Code returns the exception type name.
  8179  func (s *InvalidSubnet) Code() string {
  8180  	return "InvalidSubnet"
  8181  }
  8182  
  8183  // Message returns the exception's message.
  8184  func (s *InvalidSubnet) Message() string {
  8185  	if s.Message_ != nil {
  8186  		return *s.Message_
  8187  	}
  8188  	return ""
  8189  }
  8190  
  8191  // OrigErr always returns nil, satisfies awserr.Error interface.
  8192  func (s *InvalidSubnet) OrigErr() error {
  8193  	return nil
  8194  }
  8195  
  8196  func (s *InvalidSubnet) Error() string {
  8197  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8198  }
  8199  
  8200  // Status code returns the HTTP status code for the request's response error.
  8201  func (s *InvalidSubnet) StatusCode() int {
  8202  	return s.RespMetadata.StatusCode
  8203  }
  8204  
  8205  // RequestID returns the service's response RequestID for request.
  8206  func (s *InvalidSubnet) RequestID() string {
  8207  	return s.RespMetadata.RequestID
  8208  }
  8209  
  8210  type InvalidUserStateFault struct {
  8211  	_            struct{}                  `type:"structure"`
  8212  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8213  
  8214  	Message_ *string `locationName:"message" type:"string"`
  8215  }
  8216  
  8217  // String returns the string representation.
  8218  //
  8219  // API parameter values that are decorated as "sensitive" in the API will not
  8220  // be included in the string output. The member name will be present, but the
  8221  // value will be replaced with "sensitive".
  8222  func (s InvalidUserStateFault) String() string {
  8223  	return awsutil.Prettify(s)
  8224  }
  8225  
  8226  // GoString returns the string representation.
  8227  //
  8228  // API parameter values that are decorated as "sensitive" in the API will not
  8229  // be included in the string output. The member name will be present, but the
  8230  // value will be replaced with "sensitive".
  8231  func (s InvalidUserStateFault) GoString() string {
  8232  	return s.String()
  8233  }
  8234  
  8235  func newErrorInvalidUserStateFault(v protocol.ResponseMetadata) error {
  8236  	return &InvalidUserStateFault{
  8237  		RespMetadata: v,
  8238  	}
  8239  }
  8240  
  8241  // Code returns the exception type name.
  8242  func (s *InvalidUserStateFault) Code() string {
  8243  	return "InvalidUserStateFault"
  8244  }
  8245  
  8246  // Message returns the exception's message.
  8247  func (s *InvalidUserStateFault) Message() string {
  8248  	if s.Message_ != nil {
  8249  		return *s.Message_
  8250  	}
  8251  	return ""
  8252  }
  8253  
  8254  // OrigErr always returns nil, satisfies awserr.Error interface.
  8255  func (s *InvalidUserStateFault) OrigErr() error {
  8256  	return nil
  8257  }
  8258  
  8259  func (s *InvalidUserStateFault) Error() string {
  8260  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8261  }
  8262  
  8263  // Status code returns the HTTP status code for the request's response error.
  8264  func (s *InvalidUserStateFault) StatusCode() int {
  8265  	return s.RespMetadata.StatusCode
  8266  }
  8267  
  8268  // RequestID returns the service's response RequestID for request.
  8269  func (s *InvalidUserStateFault) RequestID() string {
  8270  	return s.RespMetadata.RequestID
  8271  }
  8272  
  8273  type InvalidVPCNetworkStateFault struct {
  8274  	_            struct{}                  `type:"structure"`
  8275  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8276  
  8277  	Message_ *string `locationName:"message" type:"string"`
  8278  }
  8279  
  8280  // String returns the string representation.
  8281  //
  8282  // API parameter values that are decorated as "sensitive" in the API will not
  8283  // be included in the string output. The member name will be present, but the
  8284  // value will be replaced with "sensitive".
  8285  func (s InvalidVPCNetworkStateFault) String() string {
  8286  	return awsutil.Prettify(s)
  8287  }
  8288  
  8289  // GoString returns the string representation.
  8290  //
  8291  // API parameter values that are decorated as "sensitive" in the API will not
  8292  // be included in the string output. The member name will be present, but the
  8293  // value will be replaced with "sensitive".
  8294  func (s InvalidVPCNetworkStateFault) GoString() string {
  8295  	return s.String()
  8296  }
  8297  
  8298  func newErrorInvalidVPCNetworkStateFault(v protocol.ResponseMetadata) error {
  8299  	return &InvalidVPCNetworkStateFault{
  8300  		RespMetadata: v,
  8301  	}
  8302  }
  8303  
  8304  // Code returns the exception type name.
  8305  func (s *InvalidVPCNetworkStateFault) Code() string {
  8306  	return "InvalidVPCNetworkStateFault"
  8307  }
  8308  
  8309  // Message returns the exception's message.
  8310  func (s *InvalidVPCNetworkStateFault) Message() string {
  8311  	if s.Message_ != nil {
  8312  		return *s.Message_
  8313  	}
  8314  	return ""
  8315  }
  8316  
  8317  // OrigErr always returns nil, satisfies awserr.Error interface.
  8318  func (s *InvalidVPCNetworkStateFault) OrigErr() error {
  8319  	return nil
  8320  }
  8321  
  8322  func (s *InvalidVPCNetworkStateFault) Error() string {
  8323  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8324  }
  8325  
  8326  // Status code returns the HTTP status code for the request's response error.
  8327  func (s *InvalidVPCNetworkStateFault) StatusCode() int {
  8328  	return s.RespMetadata.StatusCode
  8329  }
  8330  
  8331  // RequestID returns the service's response RequestID for request.
  8332  func (s *InvalidVPCNetworkStateFault) RequestID() string {
  8333  	return s.RespMetadata.RequestID
  8334  }
  8335  
  8336  type ListAllowedNodeTypeUpdatesInput struct {
  8337  	_ struct{} `type:"structure"`
  8338  
  8339  	// The name of the cluster you want to scale. MemoryDB uses the cluster name
  8340  	// to identify the current node type being used by this cluster, and from that
  8341  	// to create a list of node types you can scale up to.
  8342  	//
  8343  	// ClusterName is a required field
  8344  	ClusterName *string `type:"string" required:"true"`
  8345  }
  8346  
  8347  // String returns the string representation.
  8348  //
  8349  // API parameter values that are decorated as "sensitive" in the API will not
  8350  // be included in the string output. The member name will be present, but the
  8351  // value will be replaced with "sensitive".
  8352  func (s ListAllowedNodeTypeUpdatesInput) String() string {
  8353  	return awsutil.Prettify(s)
  8354  }
  8355  
  8356  // GoString returns the string representation.
  8357  //
  8358  // API parameter values that are decorated as "sensitive" in the API will not
  8359  // be included in the string output. The member name will be present, but the
  8360  // value will be replaced with "sensitive".
  8361  func (s ListAllowedNodeTypeUpdatesInput) GoString() string {
  8362  	return s.String()
  8363  }
  8364  
  8365  // Validate inspects the fields of the type to determine if they are valid.
  8366  func (s *ListAllowedNodeTypeUpdatesInput) Validate() error {
  8367  	invalidParams := request.ErrInvalidParams{Context: "ListAllowedNodeTypeUpdatesInput"}
  8368  	if s.ClusterName == nil {
  8369  		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
  8370  	}
  8371  
  8372  	if invalidParams.Len() > 0 {
  8373  		return invalidParams
  8374  	}
  8375  	return nil
  8376  }
  8377  
  8378  // SetClusterName sets the ClusterName field's value.
  8379  func (s *ListAllowedNodeTypeUpdatesInput) SetClusterName(v string) *ListAllowedNodeTypeUpdatesInput {
  8380  	s.ClusterName = &v
  8381  	return s
  8382  }
  8383  
  8384  type ListAllowedNodeTypeUpdatesOutput struct {
  8385  	_ struct{} `type:"structure"`
  8386  
  8387  	// A list node types which you can use to scale down your cluster.
  8388  	ScaleDownNodeTypes []*string `type:"list"`
  8389  
  8390  	// A list node types which you can use to scale up your cluster.
  8391  	ScaleUpNodeTypes []*string `type:"list"`
  8392  }
  8393  
  8394  // String returns the string representation.
  8395  //
  8396  // API parameter values that are decorated as "sensitive" in the API will not
  8397  // be included in the string output. The member name will be present, but the
  8398  // value will be replaced with "sensitive".
  8399  func (s ListAllowedNodeTypeUpdatesOutput) String() string {
  8400  	return awsutil.Prettify(s)
  8401  }
  8402  
  8403  // GoString returns the string representation.
  8404  //
  8405  // API parameter values that are decorated as "sensitive" in the API will not
  8406  // be included in the string output. The member name will be present, but the
  8407  // value will be replaced with "sensitive".
  8408  func (s ListAllowedNodeTypeUpdatesOutput) GoString() string {
  8409  	return s.String()
  8410  }
  8411  
  8412  // SetScaleDownNodeTypes sets the ScaleDownNodeTypes field's value.
  8413  func (s *ListAllowedNodeTypeUpdatesOutput) SetScaleDownNodeTypes(v []*string) *ListAllowedNodeTypeUpdatesOutput {
  8414  	s.ScaleDownNodeTypes = v
  8415  	return s
  8416  }
  8417  
  8418  // SetScaleUpNodeTypes sets the ScaleUpNodeTypes field's value.
  8419  func (s *ListAllowedNodeTypeUpdatesOutput) SetScaleUpNodeTypes(v []*string) *ListAllowedNodeTypeUpdatesOutput {
  8420  	s.ScaleUpNodeTypes = v
  8421  	return s
  8422  }
  8423  
  8424  type ListTagsInput struct {
  8425  	_ struct{} `type:"structure"`
  8426  
  8427  	// The Amazon Resource Name (ARN) of the resource for which you want the list
  8428  	// of tags
  8429  	//
  8430  	// ResourceArn is a required field
  8431  	ResourceArn *string `type:"string" required:"true"`
  8432  }
  8433  
  8434  // String returns the string representation.
  8435  //
  8436  // API parameter values that are decorated as "sensitive" in the API will not
  8437  // be included in the string output. The member name will be present, but the
  8438  // value will be replaced with "sensitive".
  8439  func (s ListTagsInput) String() string {
  8440  	return awsutil.Prettify(s)
  8441  }
  8442  
  8443  // GoString returns the string representation.
  8444  //
  8445  // API parameter values that are decorated as "sensitive" in the API will not
  8446  // be included in the string output. The member name will be present, but the
  8447  // value will be replaced with "sensitive".
  8448  func (s ListTagsInput) GoString() string {
  8449  	return s.String()
  8450  }
  8451  
  8452  // Validate inspects the fields of the type to determine if they are valid.
  8453  func (s *ListTagsInput) Validate() error {
  8454  	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
  8455  	if s.ResourceArn == nil {
  8456  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  8457  	}
  8458  
  8459  	if invalidParams.Len() > 0 {
  8460  		return invalidParams
  8461  	}
  8462  	return nil
  8463  }
  8464  
  8465  // SetResourceArn sets the ResourceArn field's value.
  8466  func (s *ListTagsInput) SetResourceArn(v string) *ListTagsInput {
  8467  	s.ResourceArn = &v
  8468  	return s
  8469  }
  8470  
  8471  type ListTagsOutput struct {
  8472  	_ struct{} `type:"structure"`
  8473  
  8474  	// A list of tags as key-value pairs.
  8475  	TagList []*Tag `type:"list"`
  8476  }
  8477  
  8478  // String returns the string representation.
  8479  //
  8480  // API parameter values that are decorated as "sensitive" in the API will not
  8481  // be included in the string output. The member name will be present, but the
  8482  // value will be replaced with "sensitive".
  8483  func (s ListTagsOutput) String() string {
  8484  	return awsutil.Prettify(s)
  8485  }
  8486  
  8487  // GoString returns the string representation.
  8488  //
  8489  // API parameter values that are decorated as "sensitive" in the API will not
  8490  // be included in the string output. The member name will be present, but the
  8491  // value will be replaced with "sensitive".
  8492  func (s ListTagsOutput) GoString() string {
  8493  	return s.String()
  8494  }
  8495  
  8496  // SetTagList sets the TagList field's value.
  8497  func (s *ListTagsOutput) SetTagList(v []*Tag) *ListTagsOutput {
  8498  	s.TagList = v
  8499  	return s
  8500  }
  8501  
  8502  type NoOperationFault struct {
  8503  	_            struct{}                  `type:"structure"`
  8504  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8505  
  8506  	Message_ *string `locationName:"message" type:"string"`
  8507  }
  8508  
  8509  // String returns the string representation.
  8510  //
  8511  // API parameter values that are decorated as "sensitive" in the API will not
  8512  // be included in the string output. The member name will be present, but the
  8513  // value will be replaced with "sensitive".
  8514  func (s NoOperationFault) String() string {
  8515  	return awsutil.Prettify(s)
  8516  }
  8517  
  8518  // GoString returns the string representation.
  8519  //
  8520  // API parameter values that are decorated as "sensitive" in the API will not
  8521  // be included in the string output. The member name will be present, but the
  8522  // value will be replaced with "sensitive".
  8523  func (s NoOperationFault) GoString() string {
  8524  	return s.String()
  8525  }
  8526  
  8527  func newErrorNoOperationFault(v protocol.ResponseMetadata) error {
  8528  	return &NoOperationFault{
  8529  		RespMetadata: v,
  8530  	}
  8531  }
  8532  
  8533  // Code returns the exception type name.
  8534  func (s *NoOperationFault) Code() string {
  8535  	return "NoOperationFault"
  8536  }
  8537  
  8538  // Message returns the exception's message.
  8539  func (s *NoOperationFault) Message() string {
  8540  	if s.Message_ != nil {
  8541  		return *s.Message_
  8542  	}
  8543  	return ""
  8544  }
  8545  
  8546  // OrigErr always returns nil, satisfies awserr.Error interface.
  8547  func (s *NoOperationFault) OrigErr() error {
  8548  	return nil
  8549  }
  8550  
  8551  func (s *NoOperationFault) Error() string {
  8552  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8553  }
  8554  
  8555  // Status code returns the HTTP status code for the request's response error.
  8556  func (s *NoOperationFault) StatusCode() int {
  8557  	return s.RespMetadata.StatusCode
  8558  }
  8559  
  8560  // RequestID returns the service's response RequestID for request.
  8561  func (s *NoOperationFault) RequestID() string {
  8562  	return s.RespMetadata.RequestID
  8563  }
  8564  
  8565  // Represents an individual node within a cluster. Each node runs its own instance
  8566  // of the cluster's protocol-compliant caching software.
  8567  type Node struct {
  8568  	_ struct{} `type:"structure"`
  8569  
  8570  	// The Availability Zone in which the node resides
  8571  	AvailabilityZone *string `type:"string"`
  8572  
  8573  	// The date and time when the node was created.
  8574  	CreateTime *time.Time `type:"timestamp"`
  8575  
  8576  	// The hostname for connecting to this node.
  8577  	Endpoint *Endpoint `type:"structure"`
  8578  
  8579  	// The node identifier. A node name is a numeric identifier (0001, 0002, etc.).
  8580  	// The combination of cluster name, shard name and node name uniquely identifies
  8581  	// every node used in a customer's Amazon account.
  8582  	Name *string `type:"string"`
  8583  
  8584  	// The status of the service update on the node
  8585  	Status *string `type:"string"`
  8586  }
  8587  
  8588  // String returns the string representation.
  8589  //
  8590  // API parameter values that are decorated as "sensitive" in the API will not
  8591  // be included in the string output. The member name will be present, but the
  8592  // value will be replaced with "sensitive".
  8593  func (s Node) String() string {
  8594  	return awsutil.Prettify(s)
  8595  }
  8596  
  8597  // GoString returns the string representation.
  8598  //
  8599  // API parameter values that are decorated as "sensitive" in the API will not
  8600  // be included in the string output. The member name will be present, but the
  8601  // value will be replaced with "sensitive".
  8602  func (s Node) GoString() string {
  8603  	return s.String()
  8604  }
  8605  
  8606  // SetAvailabilityZone sets the AvailabilityZone field's value.
  8607  func (s *Node) SetAvailabilityZone(v string) *Node {
  8608  	s.AvailabilityZone = &v
  8609  	return s
  8610  }
  8611  
  8612  // SetCreateTime sets the CreateTime field's value.
  8613  func (s *Node) SetCreateTime(v time.Time) *Node {
  8614  	s.CreateTime = &v
  8615  	return s
  8616  }
  8617  
  8618  // SetEndpoint sets the Endpoint field's value.
  8619  func (s *Node) SetEndpoint(v *Endpoint) *Node {
  8620  	s.Endpoint = v
  8621  	return s
  8622  }
  8623  
  8624  // SetName sets the Name field's value.
  8625  func (s *Node) SetName(v string) *Node {
  8626  	s.Name = &v
  8627  	return s
  8628  }
  8629  
  8630  // SetStatus sets the Status field's value.
  8631  func (s *Node) SetStatus(v string) *Node {
  8632  	s.Status = &v
  8633  	return s
  8634  }
  8635  
  8636  type NodeQuotaForClusterExceededFault struct {
  8637  	_            struct{}                  `type:"structure"`
  8638  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8639  
  8640  	Message_ *string `locationName:"message" type:"string"`
  8641  }
  8642  
  8643  // String returns the string representation.
  8644  //
  8645  // API parameter values that are decorated as "sensitive" in the API will not
  8646  // be included in the string output. The member name will be present, but the
  8647  // value will be replaced with "sensitive".
  8648  func (s NodeQuotaForClusterExceededFault) String() string {
  8649  	return awsutil.Prettify(s)
  8650  }
  8651  
  8652  // GoString returns the string representation.
  8653  //
  8654  // API parameter values that are decorated as "sensitive" in the API will not
  8655  // be included in the string output. The member name will be present, but the
  8656  // value will be replaced with "sensitive".
  8657  func (s NodeQuotaForClusterExceededFault) GoString() string {
  8658  	return s.String()
  8659  }
  8660  
  8661  func newErrorNodeQuotaForClusterExceededFault(v protocol.ResponseMetadata) error {
  8662  	return &NodeQuotaForClusterExceededFault{
  8663  		RespMetadata: v,
  8664  	}
  8665  }
  8666  
  8667  // Code returns the exception type name.
  8668  func (s *NodeQuotaForClusterExceededFault) Code() string {
  8669  	return "NodeQuotaForClusterExceededFault"
  8670  }
  8671  
  8672  // Message returns the exception's message.
  8673  func (s *NodeQuotaForClusterExceededFault) Message() string {
  8674  	if s.Message_ != nil {
  8675  		return *s.Message_
  8676  	}
  8677  	return ""
  8678  }
  8679  
  8680  // OrigErr always returns nil, satisfies awserr.Error interface.
  8681  func (s *NodeQuotaForClusterExceededFault) OrigErr() error {
  8682  	return nil
  8683  }
  8684  
  8685  func (s *NodeQuotaForClusterExceededFault) Error() string {
  8686  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8687  }
  8688  
  8689  // Status code returns the HTTP status code for the request's response error.
  8690  func (s *NodeQuotaForClusterExceededFault) StatusCode() int {
  8691  	return s.RespMetadata.StatusCode
  8692  }
  8693  
  8694  // RequestID returns the service's response RequestID for request.
  8695  func (s *NodeQuotaForClusterExceededFault) RequestID() string {
  8696  	return s.RespMetadata.RequestID
  8697  }
  8698  
  8699  type NodeQuotaForCustomerExceededFault struct {
  8700  	_            struct{}                  `type:"structure"`
  8701  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8702  
  8703  	Message_ *string `locationName:"message" type:"string"`
  8704  }
  8705  
  8706  // String returns the string representation.
  8707  //
  8708  // API parameter values that are decorated as "sensitive" in the API will not
  8709  // be included in the string output. The member name will be present, but the
  8710  // value will be replaced with "sensitive".
  8711  func (s NodeQuotaForCustomerExceededFault) String() string {
  8712  	return awsutil.Prettify(s)
  8713  }
  8714  
  8715  // GoString returns the string representation.
  8716  //
  8717  // API parameter values that are decorated as "sensitive" in the API will not
  8718  // be included in the string output. The member name will be present, but the
  8719  // value will be replaced with "sensitive".
  8720  func (s NodeQuotaForCustomerExceededFault) GoString() string {
  8721  	return s.String()
  8722  }
  8723  
  8724  func newErrorNodeQuotaForCustomerExceededFault(v protocol.ResponseMetadata) error {
  8725  	return &NodeQuotaForCustomerExceededFault{
  8726  		RespMetadata: v,
  8727  	}
  8728  }
  8729  
  8730  // Code returns the exception type name.
  8731  func (s *NodeQuotaForCustomerExceededFault) Code() string {
  8732  	return "NodeQuotaForCustomerExceededFault"
  8733  }
  8734  
  8735  // Message returns the exception's message.
  8736  func (s *NodeQuotaForCustomerExceededFault) Message() string {
  8737  	if s.Message_ != nil {
  8738  		return *s.Message_
  8739  	}
  8740  	return ""
  8741  }
  8742  
  8743  // OrigErr always returns nil, satisfies awserr.Error interface.
  8744  func (s *NodeQuotaForCustomerExceededFault) OrigErr() error {
  8745  	return nil
  8746  }
  8747  
  8748  func (s *NodeQuotaForCustomerExceededFault) Error() string {
  8749  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8750  }
  8751  
  8752  // Status code returns the HTTP status code for the request's response error.
  8753  func (s *NodeQuotaForCustomerExceededFault) StatusCode() int {
  8754  	return s.RespMetadata.StatusCode
  8755  }
  8756  
  8757  // RequestID returns the service's response RequestID for request.
  8758  func (s *NodeQuotaForCustomerExceededFault) RequestID() string {
  8759  	return s.RespMetadata.RequestID
  8760  }
  8761  
  8762  // Describes an individual setting that controls some aspect of MemoryDB behavior.
  8763  type Parameter struct {
  8764  	_ struct{} `type:"structure"`
  8765  
  8766  	// The valid range of values for the parameter.
  8767  	AllowedValues *string `type:"string"`
  8768  
  8769  	// The parameter's data type
  8770  	DataType *string `type:"string"`
  8771  
  8772  	// A description of the parameter
  8773  	Description *string `type:"string"`
  8774  
  8775  	// The earliest engine version to which the parameter can apply.
  8776  	MinimumEngineVersion *string `type:"string"`
  8777  
  8778  	// The name of the parameter
  8779  	Name *string `type:"string"`
  8780  
  8781  	// The value of the parameter
  8782  	Value *string `type:"string"`
  8783  }
  8784  
  8785  // String returns the string representation.
  8786  //
  8787  // API parameter values that are decorated as "sensitive" in the API will not
  8788  // be included in the string output. The member name will be present, but the
  8789  // value will be replaced with "sensitive".
  8790  func (s Parameter) String() string {
  8791  	return awsutil.Prettify(s)
  8792  }
  8793  
  8794  // GoString returns the string representation.
  8795  //
  8796  // API parameter values that are decorated as "sensitive" in the API will not
  8797  // be included in the string output. The member name will be present, but the
  8798  // value will be replaced with "sensitive".
  8799  func (s Parameter) GoString() string {
  8800  	return s.String()
  8801  }
  8802  
  8803  // SetAllowedValues sets the AllowedValues field's value.
  8804  func (s *Parameter) SetAllowedValues(v string) *Parameter {
  8805  	s.AllowedValues = &v
  8806  	return s
  8807  }
  8808  
  8809  // SetDataType sets the DataType field's value.
  8810  func (s *Parameter) SetDataType(v string) *Parameter {
  8811  	s.DataType = &v
  8812  	return s
  8813  }
  8814  
  8815  // SetDescription sets the Description field's value.
  8816  func (s *Parameter) SetDescription(v string) *Parameter {
  8817  	s.Description = &v
  8818  	return s
  8819  }
  8820  
  8821  // SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
  8822  func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter {
  8823  	s.MinimumEngineVersion = &v
  8824  	return s
  8825  }
  8826  
  8827  // SetName sets the Name field's value.
  8828  func (s *Parameter) SetName(v string) *Parameter {
  8829  	s.Name = &v
  8830  	return s
  8831  }
  8832  
  8833  // SetValue sets the Value field's value.
  8834  func (s *Parameter) SetValue(v string) *Parameter {
  8835  	s.Value = &v
  8836  	return s
  8837  }
  8838  
  8839  // Represents the output of a CreateParameterGroup operation. A parameter group
  8840  // represents a combination of specific values for the parameters that are passed
  8841  // to the engine software during startup.
  8842  type ParameterGroup struct {
  8843  	_ struct{} `type:"structure"`
  8844  
  8845  	// The Amazon Resource Name (ARN) of the parameter group
  8846  	ARN *string `type:"string"`
  8847  
  8848  	// A description of the parameter group
  8849  	Description *string `type:"string"`
  8850  
  8851  	// The name of the parameter group family that this parameter group is compatible
  8852  	// with.
  8853  	Family *string `type:"string"`
  8854  
  8855  	// The name of the parameter group
  8856  	Name *string `type:"string"`
  8857  }
  8858  
  8859  // String returns the string representation.
  8860  //
  8861  // API parameter values that are decorated as "sensitive" in the API will not
  8862  // be included in the string output. The member name will be present, but the
  8863  // value will be replaced with "sensitive".
  8864  func (s ParameterGroup) String() string {
  8865  	return awsutil.Prettify(s)
  8866  }
  8867  
  8868  // GoString returns the string representation.
  8869  //
  8870  // API parameter values that are decorated as "sensitive" in the API will not
  8871  // be included in the string output. The member name will be present, but the
  8872  // value will be replaced with "sensitive".
  8873  func (s ParameterGroup) GoString() string {
  8874  	return s.String()
  8875  }
  8876  
  8877  // SetARN sets the ARN field's value.
  8878  func (s *ParameterGroup) SetARN(v string) *ParameterGroup {
  8879  	s.ARN = &v
  8880  	return s
  8881  }
  8882  
  8883  // SetDescription sets the Description field's value.
  8884  func (s *ParameterGroup) SetDescription(v string) *ParameterGroup {
  8885  	s.Description = &v
  8886  	return s
  8887  }
  8888  
  8889  // SetFamily sets the Family field's value.
  8890  func (s *ParameterGroup) SetFamily(v string) *ParameterGroup {
  8891  	s.Family = &v
  8892  	return s
  8893  }
  8894  
  8895  // SetName sets the Name field's value.
  8896  func (s *ParameterGroup) SetName(v string) *ParameterGroup {
  8897  	s.Name = &v
  8898  	return s
  8899  }
  8900  
  8901  type ParameterGroupAlreadyExistsFault struct {
  8902  	_            struct{}                  `type:"structure"`
  8903  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8904  
  8905  	Message_ *string `locationName:"message" type:"string"`
  8906  }
  8907  
  8908  // String returns the string representation.
  8909  //
  8910  // API parameter values that are decorated as "sensitive" in the API will not
  8911  // be included in the string output. The member name will be present, but the
  8912  // value will be replaced with "sensitive".
  8913  func (s ParameterGroupAlreadyExistsFault) String() string {
  8914  	return awsutil.Prettify(s)
  8915  }
  8916  
  8917  // GoString returns the string representation.
  8918  //
  8919  // API parameter values that are decorated as "sensitive" in the API will not
  8920  // be included in the string output. The member name will be present, but the
  8921  // value will be replaced with "sensitive".
  8922  func (s ParameterGroupAlreadyExistsFault) GoString() string {
  8923  	return s.String()
  8924  }
  8925  
  8926  func newErrorParameterGroupAlreadyExistsFault(v protocol.ResponseMetadata) error {
  8927  	return &ParameterGroupAlreadyExistsFault{
  8928  		RespMetadata: v,
  8929  	}
  8930  }
  8931  
  8932  // Code returns the exception type name.
  8933  func (s *ParameterGroupAlreadyExistsFault) Code() string {
  8934  	return "ParameterGroupAlreadyExistsFault"
  8935  }
  8936  
  8937  // Message returns the exception's message.
  8938  func (s *ParameterGroupAlreadyExistsFault) Message() string {
  8939  	if s.Message_ != nil {
  8940  		return *s.Message_
  8941  	}
  8942  	return ""
  8943  }
  8944  
  8945  // OrigErr always returns nil, satisfies awserr.Error interface.
  8946  func (s *ParameterGroupAlreadyExistsFault) OrigErr() error {
  8947  	return nil
  8948  }
  8949  
  8950  func (s *ParameterGroupAlreadyExistsFault) Error() string {
  8951  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8952  }
  8953  
  8954  // Status code returns the HTTP status code for the request's response error.
  8955  func (s *ParameterGroupAlreadyExistsFault) StatusCode() int {
  8956  	return s.RespMetadata.StatusCode
  8957  }
  8958  
  8959  // RequestID returns the service's response RequestID for request.
  8960  func (s *ParameterGroupAlreadyExistsFault) RequestID() string {
  8961  	return s.RespMetadata.RequestID
  8962  }
  8963  
  8964  type ParameterGroupNotFoundFault struct {
  8965  	_            struct{}                  `type:"structure"`
  8966  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8967  
  8968  	Message_ *string `locationName:"message" type:"string"`
  8969  }
  8970  
  8971  // String returns the string representation.
  8972  //
  8973  // API parameter values that are decorated as "sensitive" in the API will not
  8974  // be included in the string output. The member name will be present, but the
  8975  // value will be replaced with "sensitive".
  8976  func (s ParameterGroupNotFoundFault) String() string {
  8977  	return awsutil.Prettify(s)
  8978  }
  8979  
  8980  // GoString returns the string representation.
  8981  //
  8982  // API parameter values that are decorated as "sensitive" in the API will not
  8983  // be included in the string output. The member name will be present, but the
  8984  // value will be replaced with "sensitive".
  8985  func (s ParameterGroupNotFoundFault) GoString() string {
  8986  	return s.String()
  8987  }
  8988  
  8989  func newErrorParameterGroupNotFoundFault(v protocol.ResponseMetadata) error {
  8990  	return &ParameterGroupNotFoundFault{
  8991  		RespMetadata: v,
  8992  	}
  8993  }
  8994  
  8995  // Code returns the exception type name.
  8996  func (s *ParameterGroupNotFoundFault) Code() string {
  8997  	return "ParameterGroupNotFoundFault"
  8998  }
  8999  
  9000  // Message returns the exception's message.
  9001  func (s *ParameterGroupNotFoundFault) Message() string {
  9002  	if s.Message_ != nil {
  9003  		return *s.Message_
  9004  	}
  9005  	return ""
  9006  }
  9007  
  9008  // OrigErr always returns nil, satisfies awserr.Error interface.
  9009  func (s *ParameterGroupNotFoundFault) OrigErr() error {
  9010  	return nil
  9011  }
  9012  
  9013  func (s *ParameterGroupNotFoundFault) Error() string {
  9014  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9015  }
  9016  
  9017  // Status code returns the HTTP status code for the request's response error.
  9018  func (s *ParameterGroupNotFoundFault) StatusCode() int {
  9019  	return s.RespMetadata.StatusCode
  9020  }
  9021  
  9022  // RequestID returns the service's response RequestID for request.
  9023  func (s *ParameterGroupNotFoundFault) RequestID() string {
  9024  	return s.RespMetadata.RequestID
  9025  }
  9026  
  9027  type ParameterGroupQuotaExceededFault struct {
  9028  	_            struct{}                  `type:"structure"`
  9029  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9030  
  9031  	Message_ *string `locationName:"message" type:"string"`
  9032  }
  9033  
  9034  // String returns the string representation.
  9035  //
  9036  // API parameter values that are decorated as "sensitive" in the API will not
  9037  // be included in the string output. The member name will be present, but the
  9038  // value will be replaced with "sensitive".
  9039  func (s ParameterGroupQuotaExceededFault) String() string {
  9040  	return awsutil.Prettify(s)
  9041  }
  9042  
  9043  // GoString returns the string representation.
  9044  //
  9045  // API parameter values that are decorated as "sensitive" in the API will not
  9046  // be included in the string output. The member name will be present, but the
  9047  // value will be replaced with "sensitive".
  9048  func (s ParameterGroupQuotaExceededFault) GoString() string {
  9049  	return s.String()
  9050  }
  9051  
  9052  func newErrorParameterGroupQuotaExceededFault(v protocol.ResponseMetadata) error {
  9053  	return &ParameterGroupQuotaExceededFault{
  9054  		RespMetadata: v,
  9055  	}
  9056  }
  9057  
  9058  // Code returns the exception type name.
  9059  func (s *ParameterGroupQuotaExceededFault) Code() string {
  9060  	return "ParameterGroupQuotaExceededFault"
  9061  }
  9062  
  9063  // Message returns the exception's message.
  9064  func (s *ParameterGroupQuotaExceededFault) Message() string {
  9065  	if s.Message_ != nil {
  9066  		return *s.Message_
  9067  	}
  9068  	return ""
  9069  }
  9070  
  9071  // OrigErr always returns nil, satisfies awserr.Error interface.
  9072  func (s *ParameterGroupQuotaExceededFault) OrigErr() error {
  9073  	return nil
  9074  }
  9075  
  9076  func (s *ParameterGroupQuotaExceededFault) Error() string {
  9077  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9078  }
  9079  
  9080  // Status code returns the HTTP status code for the request's response error.
  9081  func (s *ParameterGroupQuotaExceededFault) StatusCode() int {
  9082  	return s.RespMetadata.StatusCode
  9083  }
  9084  
  9085  // RequestID returns the service's response RequestID for request.
  9086  func (s *ParameterGroupQuotaExceededFault) RequestID() string {
  9087  	return s.RespMetadata.RequestID
  9088  }
  9089  
  9090  // Describes a name-value pair that is used to update the value of a parameter.
  9091  type ParameterNameValue struct {
  9092  	_ struct{} `type:"structure"`
  9093  
  9094  	// The name of the parameter
  9095  	ParameterName *string `type:"string"`
  9096  
  9097  	// The value of the parameter
  9098  	ParameterValue *string `type:"string"`
  9099  }
  9100  
  9101  // String returns the string representation.
  9102  //
  9103  // API parameter values that are decorated as "sensitive" in the API will not
  9104  // be included in the string output. The member name will be present, but the
  9105  // value will be replaced with "sensitive".
  9106  func (s ParameterNameValue) String() string {
  9107  	return awsutil.Prettify(s)
  9108  }
  9109  
  9110  // GoString returns the string representation.
  9111  //
  9112  // API parameter values that are decorated as "sensitive" in the API will not
  9113  // be included in the string output. The member name will be present, but the
  9114  // value will be replaced with "sensitive".
  9115  func (s ParameterNameValue) GoString() string {
  9116  	return s.String()
  9117  }
  9118  
  9119  // SetParameterName sets the ParameterName field's value.
  9120  func (s *ParameterNameValue) SetParameterName(v string) *ParameterNameValue {
  9121  	s.ParameterName = &v
  9122  	return s
  9123  }
  9124  
  9125  // SetParameterValue sets the ParameterValue field's value.
  9126  func (s *ParameterNameValue) SetParameterValue(v string) *ParameterNameValue {
  9127  	s.ParameterValue = &v
  9128  	return s
  9129  }
  9130  
  9131  // Update action that has yet to be processed for the corresponding apply/stop
  9132  // request
  9133  type PendingModifiedServiceUpdate struct {
  9134  	_ struct{} `type:"structure"`
  9135  
  9136  	// The unique ID of the service update
  9137  	ServiceUpdateName *string `type:"string"`
  9138  
  9139  	// The status of the service update
  9140  	Status *string `type:"string" enum:"ServiceUpdateStatus"`
  9141  }
  9142  
  9143  // String returns the string representation.
  9144  //
  9145  // API parameter values that are decorated as "sensitive" in the API will not
  9146  // be included in the string output. The member name will be present, but the
  9147  // value will be replaced with "sensitive".
  9148  func (s PendingModifiedServiceUpdate) String() string {
  9149  	return awsutil.Prettify(s)
  9150  }
  9151  
  9152  // GoString returns the string representation.
  9153  //
  9154  // API parameter values that are decorated as "sensitive" in the API will not
  9155  // be included in the string output. The member name will be present, but the
  9156  // value will be replaced with "sensitive".
  9157  func (s PendingModifiedServiceUpdate) GoString() string {
  9158  	return s.String()
  9159  }
  9160  
  9161  // SetServiceUpdateName sets the ServiceUpdateName field's value.
  9162  func (s *PendingModifiedServiceUpdate) SetServiceUpdateName(v string) *PendingModifiedServiceUpdate {
  9163  	s.ServiceUpdateName = &v
  9164  	return s
  9165  }
  9166  
  9167  // SetStatus sets the Status field's value.
  9168  func (s *PendingModifiedServiceUpdate) SetStatus(v string) *PendingModifiedServiceUpdate {
  9169  	s.Status = &v
  9170  	return s
  9171  }
  9172  
  9173  // A request to configure the number of replicas in a shard
  9174  type ReplicaConfigurationRequest struct {
  9175  	_ struct{} `type:"structure"`
  9176  
  9177  	// The number of replicas to scale up or down to
  9178  	ReplicaCount *int64 `type:"integer"`
  9179  }
  9180  
  9181  // String returns the string representation.
  9182  //
  9183  // API parameter values that are decorated as "sensitive" in the API will not
  9184  // be included in the string output. The member name will be present, but the
  9185  // value will be replaced with "sensitive".
  9186  func (s ReplicaConfigurationRequest) String() string {
  9187  	return awsutil.Prettify(s)
  9188  }
  9189  
  9190  // GoString returns the string representation.
  9191  //
  9192  // API parameter values that are decorated as "sensitive" in the API will not
  9193  // be included in the string output. The member name will be present, but the
  9194  // value will be replaced with "sensitive".
  9195  func (s ReplicaConfigurationRequest) GoString() string {
  9196  	return s.String()
  9197  }
  9198  
  9199  // SetReplicaCount sets the ReplicaCount field's value.
  9200  func (s *ReplicaConfigurationRequest) SetReplicaCount(v int64) *ReplicaConfigurationRequest {
  9201  	s.ReplicaCount = &v
  9202  	return s
  9203  }
  9204  
  9205  type ResetParameterGroupInput struct {
  9206  	_ struct{} `type:"structure"`
  9207  
  9208  	// If true, all parameters in the parameter group are reset to their default
  9209  	// values. If false, only the parameters listed by ParameterNames are reset
  9210  	// to their default values.
  9211  	AllParameters *bool `type:"boolean"`
  9212  
  9213  	// The name of the parameter group to reset.
  9214  	//
  9215  	// ParameterGroupName is a required field
  9216  	ParameterGroupName *string `type:"string" required:"true"`
  9217  
  9218  	// An array of parameter names to reset to their default values. If AllParameters
  9219  	// is true, do not use ParameterNames. If AllParameters is false, you must specify
  9220  	// the name of at least one parameter to reset.
  9221  	ParameterNames []*string `type:"list"`
  9222  }
  9223  
  9224  // String returns the string representation.
  9225  //
  9226  // API parameter values that are decorated as "sensitive" in the API will not
  9227  // be included in the string output. The member name will be present, but the
  9228  // value will be replaced with "sensitive".
  9229  func (s ResetParameterGroupInput) String() string {
  9230  	return awsutil.Prettify(s)
  9231  }
  9232  
  9233  // GoString returns the string representation.
  9234  //
  9235  // API parameter values that are decorated as "sensitive" in the API will not
  9236  // be included in the string output. The member name will be present, but the
  9237  // value will be replaced with "sensitive".
  9238  func (s ResetParameterGroupInput) GoString() string {
  9239  	return s.String()
  9240  }
  9241  
  9242  // Validate inspects the fields of the type to determine if they are valid.
  9243  func (s *ResetParameterGroupInput) Validate() error {
  9244  	invalidParams := request.ErrInvalidParams{Context: "ResetParameterGroupInput"}
  9245  	if s.ParameterGroupName == nil {
  9246  		invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
  9247  	}
  9248  
  9249  	if invalidParams.Len() > 0 {
  9250  		return invalidParams
  9251  	}
  9252  	return nil
  9253  }
  9254  
  9255  // SetAllParameters sets the AllParameters field's value.
  9256  func (s *ResetParameterGroupInput) SetAllParameters(v bool) *ResetParameterGroupInput {
  9257  	s.AllParameters = &v
  9258  	return s
  9259  }
  9260  
  9261  // SetParameterGroupName sets the ParameterGroupName field's value.
  9262  func (s *ResetParameterGroupInput) SetParameterGroupName(v string) *ResetParameterGroupInput {
  9263  	s.ParameterGroupName = &v
  9264  	return s
  9265  }
  9266  
  9267  // SetParameterNames sets the ParameterNames field's value.
  9268  func (s *ResetParameterGroupInput) SetParameterNames(v []*string) *ResetParameterGroupInput {
  9269  	s.ParameterNames = v
  9270  	return s
  9271  }
  9272  
  9273  type ResetParameterGroupOutput struct {
  9274  	_ struct{} `type:"structure"`
  9275  
  9276  	// The parameter group being reset.
  9277  	ParameterGroup *ParameterGroup `type:"structure"`
  9278  }
  9279  
  9280  // String returns the string representation.
  9281  //
  9282  // API parameter values that are decorated as "sensitive" in the API will not
  9283  // be included in the string output. The member name will be present, but the
  9284  // value will be replaced with "sensitive".
  9285  func (s ResetParameterGroupOutput) String() string {
  9286  	return awsutil.Prettify(s)
  9287  }
  9288  
  9289  // GoString returns the string representation.
  9290  //
  9291  // API parameter values that are decorated as "sensitive" in the API will not
  9292  // be included in the string output. The member name will be present, but the
  9293  // value will be replaced with "sensitive".
  9294  func (s ResetParameterGroupOutput) GoString() string {
  9295  	return s.String()
  9296  }
  9297  
  9298  // SetParameterGroup sets the ParameterGroup field's value.
  9299  func (s *ResetParameterGroupOutput) SetParameterGroup(v *ParameterGroup) *ResetParameterGroupOutput {
  9300  	s.ParameterGroup = v
  9301  	return s
  9302  }
  9303  
  9304  // The status of the online resharding
  9305  type ReshardingStatus struct {
  9306  	_ struct{} `type:"structure"`
  9307  
  9308  	// The status of the online resharding slot migration
  9309  	SlotMigration *SlotMigration `type:"structure"`
  9310  }
  9311  
  9312  // String returns the string representation.
  9313  //
  9314  // API parameter values that are decorated as "sensitive" in the API will not
  9315  // be included in the string output. The member name will be present, but the
  9316  // value will be replaced with "sensitive".
  9317  func (s ReshardingStatus) String() string {
  9318  	return awsutil.Prettify(s)
  9319  }
  9320  
  9321  // GoString returns the string representation.
  9322  //
  9323  // API parameter values that are decorated as "sensitive" in the API will not
  9324  // be included in the string output. The member name will be present, but the
  9325  // value will be replaced with "sensitive".
  9326  func (s ReshardingStatus) GoString() string {
  9327  	return s.String()
  9328  }
  9329  
  9330  // SetSlotMigration sets the SlotMigration field's value.
  9331  func (s *ReshardingStatus) SetSlotMigration(v *SlotMigration) *ReshardingStatus {
  9332  	s.SlotMigration = v
  9333  	return s
  9334  }
  9335  
  9336  // Represents a single security group and its status.
  9337  type SecurityGroupMembership struct {
  9338  	_ struct{} `type:"structure"`
  9339  
  9340  	// The identifier of the security group.
  9341  	SecurityGroupId *string `type:"string"`
  9342  
  9343  	// The status of the security group membership. The status changes whenever
  9344  	// a security group is modified, or when the security groups assigned to a cluster
  9345  	// are modified.
  9346  	Status *string `type:"string"`
  9347  }
  9348  
  9349  // String returns the string representation.
  9350  //
  9351  // API parameter values that are decorated as "sensitive" in the API will not
  9352  // be included in the string output. The member name will be present, but the
  9353  // value will be replaced with "sensitive".
  9354  func (s SecurityGroupMembership) String() string {
  9355  	return awsutil.Prettify(s)
  9356  }
  9357  
  9358  // GoString returns the string representation.
  9359  //
  9360  // API parameter values that are decorated as "sensitive" in the API will not
  9361  // be included in the string output. The member name will be present, but the
  9362  // value will be replaced with "sensitive".
  9363  func (s SecurityGroupMembership) GoString() string {
  9364  	return s.String()
  9365  }
  9366  
  9367  // SetSecurityGroupId sets the SecurityGroupId field's value.
  9368  func (s *SecurityGroupMembership) SetSecurityGroupId(v string) *SecurityGroupMembership {
  9369  	s.SecurityGroupId = &v
  9370  	return s
  9371  }
  9372  
  9373  // SetStatus sets the Status field's value.
  9374  func (s *SecurityGroupMembership) SetStatus(v string) *SecurityGroupMembership {
  9375  	s.Status = &v
  9376  	return s
  9377  }
  9378  
  9379  type ServiceLinkedRoleNotFoundFault struct {
  9380  	_            struct{}                  `type:"structure"`
  9381  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9382  
  9383  	Message_ *string `locationName:"message" type:"string"`
  9384  }
  9385  
  9386  // String returns the string representation.
  9387  //
  9388  // API parameter values that are decorated as "sensitive" in the API will not
  9389  // be included in the string output. The member name will be present, but the
  9390  // value will be replaced with "sensitive".
  9391  func (s ServiceLinkedRoleNotFoundFault) String() string {
  9392  	return awsutil.Prettify(s)
  9393  }
  9394  
  9395  // GoString returns the string representation.
  9396  //
  9397  // API parameter values that are decorated as "sensitive" in the API will not
  9398  // be included in the string output. The member name will be present, but the
  9399  // value will be replaced with "sensitive".
  9400  func (s ServiceLinkedRoleNotFoundFault) GoString() string {
  9401  	return s.String()
  9402  }
  9403  
  9404  func newErrorServiceLinkedRoleNotFoundFault(v protocol.ResponseMetadata) error {
  9405  	return &ServiceLinkedRoleNotFoundFault{
  9406  		RespMetadata: v,
  9407  	}
  9408  }
  9409  
  9410  // Code returns the exception type name.
  9411  func (s *ServiceLinkedRoleNotFoundFault) Code() string {
  9412  	return "ServiceLinkedRoleNotFoundFault"
  9413  }
  9414  
  9415  // Message returns the exception's message.
  9416  func (s *ServiceLinkedRoleNotFoundFault) Message() string {
  9417  	if s.Message_ != nil {
  9418  		return *s.Message_
  9419  	}
  9420  	return ""
  9421  }
  9422  
  9423  // OrigErr always returns nil, satisfies awserr.Error interface.
  9424  func (s *ServiceLinkedRoleNotFoundFault) OrigErr() error {
  9425  	return nil
  9426  }
  9427  
  9428  func (s *ServiceLinkedRoleNotFoundFault) Error() string {
  9429  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9430  }
  9431  
  9432  // Status code returns the HTTP status code for the request's response error.
  9433  func (s *ServiceLinkedRoleNotFoundFault) StatusCode() int {
  9434  	return s.RespMetadata.StatusCode
  9435  }
  9436  
  9437  // RequestID returns the service's response RequestID for request.
  9438  func (s *ServiceLinkedRoleNotFoundFault) RequestID() string {
  9439  	return s.RespMetadata.RequestID
  9440  }
  9441  
  9442  // An update that you can apply to your MemoryDB clusters.
  9443  type ServiceUpdate struct {
  9444  	_ struct{} `type:"structure"`
  9445  
  9446  	// The date at which the service update will be automatically applied
  9447  	AutoUpdateStartDate *time.Time `type:"timestamp"`
  9448  
  9449  	// The name of the cluster to which the service update applies
  9450  	ClusterName *string `type:"string"`
  9451  
  9452  	// Provides details of the service update
  9453  	Description *string `type:"string"`
  9454  
  9455  	// A list of nodes updated by the service update
  9456  	NodesUpdated *string `type:"string"`
  9457  
  9458  	// The date when the service update is initially available
  9459  	ReleaseDate *time.Time `type:"timestamp"`
  9460  
  9461  	// The unique ID of the service update
  9462  	ServiceUpdateName *string `type:"string"`
  9463  
  9464  	// The status of the service update
  9465  	Status *string `type:"string" enum:"ServiceUpdateStatus"`
  9466  
  9467  	// Reflects the nature of the service update
  9468  	Type *string `type:"string" enum:"ServiceUpdateType"`
  9469  }
  9470  
  9471  // String returns the string representation.
  9472  //
  9473  // API parameter values that are decorated as "sensitive" in the API will not
  9474  // be included in the string output. The member name will be present, but the
  9475  // value will be replaced with "sensitive".
  9476  func (s ServiceUpdate) String() string {
  9477  	return awsutil.Prettify(s)
  9478  }
  9479  
  9480  // GoString returns the string representation.
  9481  //
  9482  // API parameter values that are decorated as "sensitive" in the API will not
  9483  // be included in the string output. The member name will be present, but the
  9484  // value will be replaced with "sensitive".
  9485  func (s ServiceUpdate) GoString() string {
  9486  	return s.String()
  9487  }
  9488  
  9489  // SetAutoUpdateStartDate sets the AutoUpdateStartDate field's value.
  9490  func (s *ServiceUpdate) SetAutoUpdateStartDate(v time.Time) *ServiceUpdate {
  9491  	s.AutoUpdateStartDate = &v
  9492  	return s
  9493  }
  9494  
  9495  // SetClusterName sets the ClusterName field's value.
  9496  func (s *ServiceUpdate) SetClusterName(v string) *ServiceUpdate {
  9497  	s.ClusterName = &v
  9498  	return s
  9499  }
  9500  
  9501  // SetDescription sets the Description field's value.
  9502  func (s *ServiceUpdate) SetDescription(v string) *ServiceUpdate {
  9503  	s.Description = &v
  9504  	return s
  9505  }
  9506  
  9507  // SetNodesUpdated sets the NodesUpdated field's value.
  9508  func (s *ServiceUpdate) SetNodesUpdated(v string) *ServiceUpdate {
  9509  	s.NodesUpdated = &v
  9510  	return s
  9511  }
  9512  
  9513  // SetReleaseDate sets the ReleaseDate field's value.
  9514  func (s *ServiceUpdate) SetReleaseDate(v time.Time) *ServiceUpdate {
  9515  	s.ReleaseDate = &v
  9516  	return s
  9517  }
  9518  
  9519  // SetServiceUpdateName sets the ServiceUpdateName field's value.
  9520  func (s *ServiceUpdate) SetServiceUpdateName(v string) *ServiceUpdate {
  9521  	s.ServiceUpdateName = &v
  9522  	return s
  9523  }
  9524  
  9525  // SetStatus sets the Status field's value.
  9526  func (s *ServiceUpdate) SetStatus(v string) *ServiceUpdate {
  9527  	s.Status = &v
  9528  	return s
  9529  }
  9530  
  9531  // SetType sets the Type field's value.
  9532  func (s *ServiceUpdate) SetType(v string) *ServiceUpdate {
  9533  	s.Type = &v
  9534  	return s
  9535  }
  9536  
  9537  type ServiceUpdateNotFoundFault struct {
  9538  	_            struct{}                  `type:"structure"`
  9539  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9540  
  9541  	Message_ *string `locationName:"message" type:"string"`
  9542  }
  9543  
  9544  // String returns the string representation.
  9545  //
  9546  // API parameter values that are decorated as "sensitive" in the API will not
  9547  // be included in the string output. The member name will be present, but the
  9548  // value will be replaced with "sensitive".
  9549  func (s ServiceUpdateNotFoundFault) String() string {
  9550  	return awsutil.Prettify(s)
  9551  }
  9552  
  9553  // GoString returns the string representation.
  9554  //
  9555  // API parameter values that are decorated as "sensitive" in the API will not
  9556  // be included in the string output. The member name will be present, but the
  9557  // value will be replaced with "sensitive".
  9558  func (s ServiceUpdateNotFoundFault) GoString() string {
  9559  	return s.String()
  9560  }
  9561  
  9562  func newErrorServiceUpdateNotFoundFault(v protocol.ResponseMetadata) error {
  9563  	return &ServiceUpdateNotFoundFault{
  9564  		RespMetadata: v,
  9565  	}
  9566  }
  9567  
  9568  // Code returns the exception type name.
  9569  func (s *ServiceUpdateNotFoundFault) Code() string {
  9570  	return "ServiceUpdateNotFoundFault"
  9571  }
  9572  
  9573  // Message returns the exception's message.
  9574  func (s *ServiceUpdateNotFoundFault) Message() string {
  9575  	if s.Message_ != nil {
  9576  		return *s.Message_
  9577  	}
  9578  	return ""
  9579  }
  9580  
  9581  // OrigErr always returns nil, satisfies awserr.Error interface.
  9582  func (s *ServiceUpdateNotFoundFault) OrigErr() error {
  9583  	return nil
  9584  }
  9585  
  9586  func (s *ServiceUpdateNotFoundFault) Error() string {
  9587  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9588  }
  9589  
  9590  // Status code returns the HTTP status code for the request's response error.
  9591  func (s *ServiceUpdateNotFoundFault) StatusCode() int {
  9592  	return s.RespMetadata.StatusCode
  9593  }
  9594  
  9595  // RequestID returns the service's response RequestID for request.
  9596  func (s *ServiceUpdateNotFoundFault) RequestID() string {
  9597  	return s.RespMetadata.RequestID
  9598  }
  9599  
  9600  // A request to apply a service update
  9601  type ServiceUpdateRequest struct {
  9602  	_ struct{} `type:"structure"`
  9603  
  9604  	// The unique ID of the service update
  9605  	ServiceUpdateNameToApply *string `type:"string"`
  9606  }
  9607  
  9608  // String returns the string representation.
  9609  //
  9610  // API parameter values that are decorated as "sensitive" in the API will not
  9611  // be included in the string output. The member name will be present, but the
  9612  // value will be replaced with "sensitive".
  9613  func (s ServiceUpdateRequest) String() string {
  9614  	return awsutil.Prettify(s)
  9615  }
  9616  
  9617  // GoString returns the string representation.
  9618  //
  9619  // API parameter values that are decorated as "sensitive" in the API will not
  9620  // be included in the string output. The member name will be present, but the
  9621  // value will be replaced with "sensitive".
  9622  func (s ServiceUpdateRequest) GoString() string {
  9623  	return s.String()
  9624  }
  9625  
  9626  // SetServiceUpdateNameToApply sets the ServiceUpdateNameToApply field's value.
  9627  func (s *ServiceUpdateRequest) SetServiceUpdateNameToApply(v string) *ServiceUpdateRequest {
  9628  	s.ServiceUpdateNameToApply = &v
  9629  	return s
  9630  }
  9631  
  9632  // Represents a collection of nodes in a cluster. One node in the node group
  9633  // is the read/write primary node. All the other nodes are read-only Replica
  9634  // nodes.
  9635  type Shard struct {
  9636  	_ struct{} `type:"structure"`
  9637  
  9638  	// The name of the shard
  9639  	Name *string `type:"string"`
  9640  
  9641  	// A list containing information about individual nodes within the shard
  9642  	Nodes []*Node `type:"list"`
  9643  
  9644  	// The number of nodes in the shard
  9645  	NumberOfNodes *int64 `type:"integer"`
  9646  
  9647  	// The keyspace for this shard.
  9648  	Slots *string `type:"string"`
  9649  
  9650  	// The current state of this replication group - creating, available, modifying,
  9651  	// deleting.
  9652  	Status *string `type:"string"`
  9653  }
  9654  
  9655  // String returns the string representation.
  9656  //
  9657  // API parameter values that are decorated as "sensitive" in the API will not
  9658  // be included in the string output. The member name will be present, but the
  9659  // value will be replaced with "sensitive".
  9660  func (s Shard) String() string {
  9661  	return awsutil.Prettify(s)
  9662  }
  9663  
  9664  // GoString returns the string representation.
  9665  //
  9666  // API parameter values that are decorated as "sensitive" in the API will not
  9667  // be included in the string output. The member name will be present, but the
  9668  // value will be replaced with "sensitive".
  9669  func (s Shard) GoString() string {
  9670  	return s.String()
  9671  }
  9672  
  9673  // SetName sets the Name field's value.
  9674  func (s *Shard) SetName(v string) *Shard {
  9675  	s.Name = &v
  9676  	return s
  9677  }
  9678  
  9679  // SetNodes sets the Nodes field's value.
  9680  func (s *Shard) SetNodes(v []*Node) *Shard {
  9681  	s.Nodes = v
  9682  	return s
  9683  }
  9684  
  9685  // SetNumberOfNodes sets the NumberOfNodes field's value.
  9686  func (s *Shard) SetNumberOfNodes(v int64) *Shard {
  9687  	s.NumberOfNodes = &v
  9688  	return s
  9689  }
  9690  
  9691  // SetSlots sets the Slots field's value.
  9692  func (s *Shard) SetSlots(v string) *Shard {
  9693  	s.Slots = &v
  9694  	return s
  9695  }
  9696  
  9697  // SetStatus sets the Status field's value.
  9698  func (s *Shard) SetStatus(v string) *Shard {
  9699  	s.Status = &v
  9700  	return s
  9701  }
  9702  
  9703  // Shard configuration options. Each shard configuration has the following:
  9704  // Slots and ReplicaCount.
  9705  type ShardConfiguration struct {
  9706  	_ struct{} `type:"structure"`
  9707  
  9708  	// The number of read replica nodes in this shard.
  9709  	ReplicaCount *int64 `type:"integer"`
  9710  
  9711  	// A string that specifies the keyspace for a particular node group. Keyspaces
  9712  	// range from 0 to 16,383. The string is in the format startkey-endkey.
  9713  	Slots *string `type:"string"`
  9714  }
  9715  
  9716  // String returns the string representation.
  9717  //
  9718  // API parameter values that are decorated as "sensitive" in the API will not
  9719  // be included in the string output. The member name will be present, but the
  9720  // value will be replaced with "sensitive".
  9721  func (s ShardConfiguration) String() string {
  9722  	return awsutil.Prettify(s)
  9723  }
  9724  
  9725  // GoString returns the string representation.
  9726  //
  9727  // API parameter values that are decorated as "sensitive" in the API will not
  9728  // be included in the string output. The member name will be present, but the
  9729  // value will be replaced with "sensitive".
  9730  func (s ShardConfiguration) GoString() string {
  9731  	return s.String()
  9732  }
  9733  
  9734  // SetReplicaCount sets the ReplicaCount field's value.
  9735  func (s *ShardConfiguration) SetReplicaCount(v int64) *ShardConfiguration {
  9736  	s.ReplicaCount = &v
  9737  	return s
  9738  }
  9739  
  9740  // SetSlots sets the Slots field's value.
  9741  func (s *ShardConfiguration) SetSlots(v string) *ShardConfiguration {
  9742  	s.Slots = &v
  9743  	return s
  9744  }
  9745  
  9746  // A request to configure the sharding properties of a cluster
  9747  type ShardConfigurationRequest struct {
  9748  	_ struct{} `type:"structure"`
  9749  
  9750  	// The number of shards in the cluster
  9751  	ShardCount *int64 `type:"integer"`
  9752  }
  9753  
  9754  // String returns the string representation.
  9755  //
  9756  // API parameter values that are decorated as "sensitive" in the API will not
  9757  // be included in the string output. The member name will be present, but the
  9758  // value will be replaced with "sensitive".
  9759  func (s ShardConfigurationRequest) String() string {
  9760  	return awsutil.Prettify(s)
  9761  }
  9762  
  9763  // GoString returns the string representation.
  9764  //
  9765  // API parameter values that are decorated as "sensitive" in the API will not
  9766  // be included in the string output. The member name will be present, but the
  9767  // value will be replaced with "sensitive".
  9768  func (s ShardConfigurationRequest) GoString() string {
  9769  	return s.String()
  9770  }
  9771  
  9772  // SetShardCount sets the ShardCount field's value.
  9773  func (s *ShardConfigurationRequest) SetShardCount(v int64) *ShardConfigurationRequest {
  9774  	s.ShardCount = &v
  9775  	return s
  9776  }
  9777  
  9778  // Provides details of a shard in a snapshot
  9779  type ShardDetail struct {
  9780  	_ struct{} `type:"structure"`
  9781  
  9782  	// The configuration details of the shard
  9783  	Configuration *ShardConfiguration `type:"structure"`
  9784  
  9785  	// The name of the shard
  9786  	Name *string `type:"string"`
  9787  
  9788  	// The size of the shard's snapshot
  9789  	Size *string `type:"string"`
  9790  
  9791  	// The date and time that the shard's snapshot was created
  9792  	SnapshotCreationTime *time.Time `type:"timestamp"`
  9793  }
  9794  
  9795  // String returns the string representation.
  9796  //
  9797  // API parameter values that are decorated as "sensitive" in the API will not
  9798  // be included in the string output. The member name will be present, but the
  9799  // value will be replaced with "sensitive".
  9800  func (s ShardDetail) String() string {
  9801  	return awsutil.Prettify(s)
  9802  }
  9803  
  9804  // GoString returns the string representation.
  9805  //
  9806  // API parameter values that are decorated as "sensitive" in the API will not
  9807  // be included in the string output. The member name will be present, but the
  9808  // value will be replaced with "sensitive".
  9809  func (s ShardDetail) GoString() string {
  9810  	return s.String()
  9811  }
  9812  
  9813  // SetConfiguration sets the Configuration field's value.
  9814  func (s *ShardDetail) SetConfiguration(v *ShardConfiguration) *ShardDetail {
  9815  	s.Configuration = v
  9816  	return s
  9817  }
  9818  
  9819  // SetName sets the Name field's value.
  9820  func (s *ShardDetail) SetName(v string) *ShardDetail {
  9821  	s.Name = &v
  9822  	return s
  9823  }
  9824  
  9825  // SetSize sets the Size field's value.
  9826  func (s *ShardDetail) SetSize(v string) *ShardDetail {
  9827  	s.Size = &v
  9828  	return s
  9829  }
  9830  
  9831  // SetSnapshotCreationTime sets the SnapshotCreationTime field's value.
  9832  func (s *ShardDetail) SetSnapshotCreationTime(v time.Time) *ShardDetail {
  9833  	s.SnapshotCreationTime = &v
  9834  	return s
  9835  }
  9836  
  9837  type ShardNotFoundFault struct {
  9838  	_            struct{}                  `type:"structure"`
  9839  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9840  
  9841  	Message_ *string `locationName:"message" type:"string"`
  9842  }
  9843  
  9844  // String returns the string representation.
  9845  //
  9846  // API parameter values that are decorated as "sensitive" in the API will not
  9847  // be included in the string output. The member name will be present, but the
  9848  // value will be replaced with "sensitive".
  9849  func (s ShardNotFoundFault) String() string {
  9850  	return awsutil.Prettify(s)
  9851  }
  9852  
  9853  // GoString returns the string representation.
  9854  //
  9855  // API parameter values that are decorated as "sensitive" in the API will not
  9856  // be included in the string output. The member name will be present, but the
  9857  // value will be replaced with "sensitive".
  9858  func (s ShardNotFoundFault) GoString() string {
  9859  	return s.String()
  9860  }
  9861  
  9862  func newErrorShardNotFoundFault(v protocol.ResponseMetadata) error {
  9863  	return &ShardNotFoundFault{
  9864  		RespMetadata: v,
  9865  	}
  9866  }
  9867  
  9868  // Code returns the exception type name.
  9869  func (s *ShardNotFoundFault) Code() string {
  9870  	return "ShardNotFoundFault"
  9871  }
  9872  
  9873  // Message returns the exception's message.
  9874  func (s *ShardNotFoundFault) Message() string {
  9875  	if s.Message_ != nil {
  9876  		return *s.Message_
  9877  	}
  9878  	return ""
  9879  }
  9880  
  9881  // OrigErr always returns nil, satisfies awserr.Error interface.
  9882  func (s *ShardNotFoundFault) OrigErr() error {
  9883  	return nil
  9884  }
  9885  
  9886  func (s *ShardNotFoundFault) Error() string {
  9887  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9888  }
  9889  
  9890  // Status code returns the HTTP status code for the request's response error.
  9891  func (s *ShardNotFoundFault) StatusCode() int {
  9892  	return s.RespMetadata.StatusCode
  9893  }
  9894  
  9895  // RequestID returns the service's response RequestID for request.
  9896  func (s *ShardNotFoundFault) RequestID() string {
  9897  	return s.RespMetadata.RequestID
  9898  }
  9899  
  9900  type ShardsPerClusterQuotaExceededFault struct {
  9901  	_            struct{}                  `type:"structure"`
  9902  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9903  
  9904  	Message_ *string `locationName:"message" type:"string"`
  9905  }
  9906  
  9907  // String returns the string representation.
  9908  //
  9909  // API parameter values that are decorated as "sensitive" in the API will not
  9910  // be included in the string output. The member name will be present, but the
  9911  // value will be replaced with "sensitive".
  9912  func (s ShardsPerClusterQuotaExceededFault) String() string {
  9913  	return awsutil.Prettify(s)
  9914  }
  9915  
  9916  // GoString returns the string representation.
  9917  //
  9918  // API parameter values that are decorated as "sensitive" in the API will not
  9919  // be included in the string output. The member name will be present, but the
  9920  // value will be replaced with "sensitive".
  9921  func (s ShardsPerClusterQuotaExceededFault) GoString() string {
  9922  	return s.String()
  9923  }
  9924  
  9925  func newErrorShardsPerClusterQuotaExceededFault(v protocol.ResponseMetadata) error {
  9926  	return &ShardsPerClusterQuotaExceededFault{
  9927  		RespMetadata: v,
  9928  	}
  9929  }
  9930  
  9931  // Code returns the exception type name.
  9932  func (s *ShardsPerClusterQuotaExceededFault) Code() string {
  9933  	return "ShardsPerClusterQuotaExceededFault"
  9934  }
  9935  
  9936  // Message returns the exception's message.
  9937  func (s *ShardsPerClusterQuotaExceededFault) Message() string {
  9938  	if s.Message_ != nil {
  9939  		return *s.Message_
  9940  	}
  9941  	return ""
  9942  }
  9943  
  9944  // OrigErr always returns nil, satisfies awserr.Error interface.
  9945  func (s *ShardsPerClusterQuotaExceededFault) OrigErr() error {
  9946  	return nil
  9947  }
  9948  
  9949  func (s *ShardsPerClusterQuotaExceededFault) Error() string {
  9950  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9951  }
  9952  
  9953  // Status code returns the HTTP status code for the request's response error.
  9954  func (s *ShardsPerClusterQuotaExceededFault) StatusCode() int {
  9955  	return s.RespMetadata.StatusCode
  9956  }
  9957  
  9958  // RequestID returns the service's response RequestID for request.
  9959  func (s *ShardsPerClusterQuotaExceededFault) RequestID() string {
  9960  	return s.RespMetadata.RequestID
  9961  }
  9962  
  9963  // Represents the progress of an online resharding operation.
  9964  type SlotMigration struct {
  9965  	_ struct{} `type:"structure"`
  9966  
  9967  	// The percentage of the slot migration that is complete.
  9968  	ProgressPercentage *float64 `type:"double"`
  9969  }
  9970  
  9971  // String returns the string representation.
  9972  //
  9973  // API parameter values that are decorated as "sensitive" in the API will not
  9974  // be included in the string output. The member name will be present, but the
  9975  // value will be replaced with "sensitive".
  9976  func (s SlotMigration) String() string {
  9977  	return awsutil.Prettify(s)
  9978  }
  9979  
  9980  // GoString returns the string representation.
  9981  //
  9982  // API parameter values that are decorated as "sensitive" in the API will not
  9983  // be included in the string output. The member name will be present, but the
  9984  // value will be replaced with "sensitive".
  9985  func (s SlotMigration) GoString() string {
  9986  	return s.String()
  9987  }
  9988  
  9989  // SetProgressPercentage sets the ProgressPercentage field's value.
  9990  func (s *SlotMigration) SetProgressPercentage(v float64) *SlotMigration {
  9991  	s.ProgressPercentage = &v
  9992  	return s
  9993  }
  9994  
  9995  // Represents a copy of an entire cluster as of the time when the snapshot was
  9996  // taken.
  9997  type Snapshot struct {
  9998  	_ struct{} `type:"structure"`
  9999  
 10000  	// The ARN (Amazon Resource Name) of the snapshot.
 10001  	ARN *string `type:"string"`
 10002  
 10003  	// The configuration of the cluster from which the snapshot was taken
 10004  	ClusterConfiguration *ClusterConfiguration `type:"structure"`
 10005  
 10006  	// The ID of the KMS key used to encrypt the snapshot.
 10007  	KmsKeyId *string `type:"string"`
 10008  
 10009  	// The name of the snapshot
 10010  	Name *string `type:"string"`
 10011  
 10012  	// Indicates whether the snapshot is from an automatic backup (automated) or
 10013  	// was created manually (manual).
 10014  	Source *string `type:"string"`
 10015  
 10016  	// The status of the snapshot. Valid values: creating | available | restoring
 10017  	// | copying | deleting.
 10018  	Status *string `type:"string"`
 10019  }
 10020  
 10021  // String returns the string representation.
 10022  //
 10023  // API parameter values that are decorated as "sensitive" in the API will not
 10024  // be included in the string output. The member name will be present, but the
 10025  // value will be replaced with "sensitive".
 10026  func (s Snapshot) String() string {
 10027  	return awsutil.Prettify(s)
 10028  }
 10029  
 10030  // GoString returns the string representation.
 10031  //
 10032  // API parameter values that are decorated as "sensitive" in the API will not
 10033  // be included in the string output. The member name will be present, but the
 10034  // value will be replaced with "sensitive".
 10035  func (s Snapshot) GoString() string {
 10036  	return s.String()
 10037  }
 10038  
 10039  // SetARN sets the ARN field's value.
 10040  func (s *Snapshot) SetARN(v string) *Snapshot {
 10041  	s.ARN = &v
 10042  	return s
 10043  }
 10044  
 10045  // SetClusterConfiguration sets the ClusterConfiguration field's value.
 10046  func (s *Snapshot) SetClusterConfiguration(v *ClusterConfiguration) *Snapshot {
 10047  	s.ClusterConfiguration = v
 10048  	return s
 10049  }
 10050  
 10051  // SetKmsKeyId sets the KmsKeyId field's value.
 10052  func (s *Snapshot) SetKmsKeyId(v string) *Snapshot {
 10053  	s.KmsKeyId = &v
 10054  	return s
 10055  }
 10056  
 10057  // SetName sets the Name field's value.
 10058  func (s *Snapshot) SetName(v string) *Snapshot {
 10059  	s.Name = &v
 10060  	return s
 10061  }
 10062  
 10063  // SetSource sets the Source field's value.
 10064  func (s *Snapshot) SetSource(v string) *Snapshot {
 10065  	s.Source = &v
 10066  	return s
 10067  }
 10068  
 10069  // SetStatus sets the Status field's value.
 10070  func (s *Snapshot) SetStatus(v string) *Snapshot {
 10071  	s.Status = &v
 10072  	return s
 10073  }
 10074  
 10075  type SnapshotAlreadyExistsFault struct {
 10076  	_            struct{}                  `type:"structure"`
 10077  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10078  
 10079  	Message_ *string `locationName:"message" type:"string"`
 10080  }
 10081  
 10082  // String returns the string representation.
 10083  //
 10084  // API parameter values that are decorated as "sensitive" in the API will not
 10085  // be included in the string output. The member name will be present, but the
 10086  // value will be replaced with "sensitive".
 10087  func (s SnapshotAlreadyExistsFault) String() string {
 10088  	return awsutil.Prettify(s)
 10089  }
 10090  
 10091  // GoString returns the string representation.
 10092  //
 10093  // API parameter values that are decorated as "sensitive" in the API will not
 10094  // be included in the string output. The member name will be present, but the
 10095  // value will be replaced with "sensitive".
 10096  func (s SnapshotAlreadyExistsFault) GoString() string {
 10097  	return s.String()
 10098  }
 10099  
 10100  func newErrorSnapshotAlreadyExistsFault(v protocol.ResponseMetadata) error {
 10101  	return &SnapshotAlreadyExistsFault{
 10102  		RespMetadata: v,
 10103  	}
 10104  }
 10105  
 10106  // Code returns the exception type name.
 10107  func (s *SnapshotAlreadyExistsFault) Code() string {
 10108  	return "SnapshotAlreadyExistsFault"
 10109  }
 10110  
 10111  // Message returns the exception's message.
 10112  func (s *SnapshotAlreadyExistsFault) Message() string {
 10113  	if s.Message_ != nil {
 10114  		return *s.Message_
 10115  	}
 10116  	return ""
 10117  }
 10118  
 10119  // OrigErr always returns nil, satisfies awserr.Error interface.
 10120  func (s *SnapshotAlreadyExistsFault) OrigErr() error {
 10121  	return nil
 10122  }
 10123  
 10124  func (s *SnapshotAlreadyExistsFault) Error() string {
 10125  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10126  }
 10127  
 10128  // Status code returns the HTTP status code for the request's response error.
 10129  func (s *SnapshotAlreadyExistsFault) StatusCode() int {
 10130  	return s.RespMetadata.StatusCode
 10131  }
 10132  
 10133  // RequestID returns the service's response RequestID for request.
 10134  func (s *SnapshotAlreadyExistsFault) RequestID() string {
 10135  	return s.RespMetadata.RequestID
 10136  }
 10137  
 10138  type SnapshotNotFoundFault struct {
 10139  	_            struct{}                  `type:"structure"`
 10140  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10141  
 10142  	Message_ *string `locationName:"message" type:"string"`
 10143  }
 10144  
 10145  // String returns the string representation.
 10146  //
 10147  // API parameter values that are decorated as "sensitive" in the API will not
 10148  // be included in the string output. The member name will be present, but the
 10149  // value will be replaced with "sensitive".
 10150  func (s SnapshotNotFoundFault) String() string {
 10151  	return awsutil.Prettify(s)
 10152  }
 10153  
 10154  // GoString returns the string representation.
 10155  //
 10156  // API parameter values that are decorated as "sensitive" in the API will not
 10157  // be included in the string output. The member name will be present, but the
 10158  // value will be replaced with "sensitive".
 10159  func (s SnapshotNotFoundFault) GoString() string {
 10160  	return s.String()
 10161  }
 10162  
 10163  func newErrorSnapshotNotFoundFault(v protocol.ResponseMetadata) error {
 10164  	return &SnapshotNotFoundFault{
 10165  		RespMetadata: v,
 10166  	}
 10167  }
 10168  
 10169  // Code returns the exception type name.
 10170  func (s *SnapshotNotFoundFault) Code() string {
 10171  	return "SnapshotNotFoundFault"
 10172  }
 10173  
 10174  // Message returns the exception's message.
 10175  func (s *SnapshotNotFoundFault) Message() string {
 10176  	if s.Message_ != nil {
 10177  		return *s.Message_
 10178  	}
 10179  	return ""
 10180  }
 10181  
 10182  // OrigErr always returns nil, satisfies awserr.Error interface.
 10183  func (s *SnapshotNotFoundFault) OrigErr() error {
 10184  	return nil
 10185  }
 10186  
 10187  func (s *SnapshotNotFoundFault) Error() string {
 10188  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10189  }
 10190  
 10191  // Status code returns the HTTP status code for the request's response error.
 10192  func (s *SnapshotNotFoundFault) StatusCode() int {
 10193  	return s.RespMetadata.StatusCode
 10194  }
 10195  
 10196  // RequestID returns the service's response RequestID for request.
 10197  func (s *SnapshotNotFoundFault) RequestID() string {
 10198  	return s.RespMetadata.RequestID
 10199  }
 10200  
 10201  type SnapshotQuotaExceededFault struct {
 10202  	_            struct{}                  `type:"structure"`
 10203  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10204  
 10205  	Message_ *string `locationName:"message" type:"string"`
 10206  }
 10207  
 10208  // String returns the string representation.
 10209  //
 10210  // API parameter values that are decorated as "sensitive" in the API will not
 10211  // be included in the string output. The member name will be present, but the
 10212  // value will be replaced with "sensitive".
 10213  func (s SnapshotQuotaExceededFault) String() string {
 10214  	return awsutil.Prettify(s)
 10215  }
 10216  
 10217  // GoString returns the string representation.
 10218  //
 10219  // API parameter values that are decorated as "sensitive" in the API will not
 10220  // be included in the string output. The member name will be present, but the
 10221  // value will be replaced with "sensitive".
 10222  func (s SnapshotQuotaExceededFault) GoString() string {
 10223  	return s.String()
 10224  }
 10225  
 10226  func newErrorSnapshotQuotaExceededFault(v protocol.ResponseMetadata) error {
 10227  	return &SnapshotQuotaExceededFault{
 10228  		RespMetadata: v,
 10229  	}
 10230  }
 10231  
 10232  // Code returns the exception type name.
 10233  func (s *SnapshotQuotaExceededFault) Code() string {
 10234  	return "SnapshotQuotaExceededFault"
 10235  }
 10236  
 10237  // Message returns the exception's message.
 10238  func (s *SnapshotQuotaExceededFault) Message() string {
 10239  	if s.Message_ != nil {
 10240  		return *s.Message_
 10241  	}
 10242  	return ""
 10243  }
 10244  
 10245  // OrigErr always returns nil, satisfies awserr.Error interface.
 10246  func (s *SnapshotQuotaExceededFault) OrigErr() error {
 10247  	return nil
 10248  }
 10249  
 10250  func (s *SnapshotQuotaExceededFault) Error() string {
 10251  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10252  }
 10253  
 10254  // Status code returns the HTTP status code for the request's response error.
 10255  func (s *SnapshotQuotaExceededFault) StatusCode() int {
 10256  	return s.RespMetadata.StatusCode
 10257  }
 10258  
 10259  // RequestID returns the service's response RequestID for request.
 10260  func (s *SnapshotQuotaExceededFault) RequestID() string {
 10261  	return s.RespMetadata.RequestID
 10262  }
 10263  
 10264  // Represents the subnet associated with a cluster. This parameter refers to
 10265  // subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with
 10266  // MemoryDB.
 10267  type Subnet struct {
 10268  	_ struct{} `type:"structure"`
 10269  
 10270  	// The Availability Zone where the subnet resides
 10271  	AvailabilityZone *AvailabilityZone `type:"structure"`
 10272  
 10273  	// The unique identifier for the subnet.
 10274  	Identifier *string `type:"string"`
 10275  }
 10276  
 10277  // String returns the string representation.
 10278  //
 10279  // API parameter values that are decorated as "sensitive" in the API will not
 10280  // be included in the string output. The member name will be present, but the
 10281  // value will be replaced with "sensitive".
 10282  func (s Subnet) String() string {
 10283  	return awsutil.Prettify(s)
 10284  }
 10285  
 10286  // GoString returns the string representation.
 10287  //
 10288  // API parameter values that are decorated as "sensitive" in the API will not
 10289  // be included in the string output. The member name will be present, but the
 10290  // value will be replaced with "sensitive".
 10291  func (s Subnet) GoString() string {
 10292  	return s.String()
 10293  }
 10294  
 10295  // SetAvailabilityZone sets the AvailabilityZone field's value.
 10296  func (s *Subnet) SetAvailabilityZone(v *AvailabilityZone) *Subnet {
 10297  	s.AvailabilityZone = v
 10298  	return s
 10299  }
 10300  
 10301  // SetIdentifier sets the Identifier field's value.
 10302  func (s *Subnet) SetIdentifier(v string) *Subnet {
 10303  	s.Identifier = &v
 10304  	return s
 10305  }
 10306  
 10307  // Represents the output of one of the following operations:
 10308  //
 10309  //    * CreateSubnetGroup
 10310  //
 10311  //    * UpdateSubnetGroup
 10312  //
 10313  // A subnet group is a collection of subnets (typically private) that you can
 10314  // designate for your clusters running in an Amazon Virtual Private Cloud (VPC)
 10315  // environment.
 10316  type SubnetGroup struct {
 10317  	_ struct{} `type:"structure"`
 10318  
 10319  	// The ARN (Amazon Resource Name) of the subnet group.
 10320  	ARN *string `type:"string"`
 10321  
 10322  	// A description of the subnet group
 10323  	Description *string `type:"string"`
 10324  
 10325  	// The name of the subnet group
 10326  	Name *string `type:"string"`
 10327  
 10328  	// A list of subnets associated with the subnet group.
 10329  	Subnets []*Subnet `type:"list"`
 10330  
 10331  	// The Amazon Virtual Private Cloud identifier (VPC ID) of the subnet group.
 10332  	VpcId *string `type:"string"`
 10333  }
 10334  
 10335  // String returns the string representation.
 10336  //
 10337  // API parameter values that are decorated as "sensitive" in the API will not
 10338  // be included in the string output. The member name will be present, but the
 10339  // value will be replaced with "sensitive".
 10340  func (s SubnetGroup) String() string {
 10341  	return awsutil.Prettify(s)
 10342  }
 10343  
 10344  // GoString returns the string representation.
 10345  //
 10346  // API parameter values that are decorated as "sensitive" in the API will not
 10347  // be included in the string output. The member name will be present, but the
 10348  // value will be replaced with "sensitive".
 10349  func (s SubnetGroup) GoString() string {
 10350  	return s.String()
 10351  }
 10352  
 10353  // SetARN sets the ARN field's value.
 10354  func (s *SubnetGroup) SetARN(v string) *SubnetGroup {
 10355  	s.ARN = &v
 10356  	return s
 10357  }
 10358  
 10359  // SetDescription sets the Description field's value.
 10360  func (s *SubnetGroup) SetDescription(v string) *SubnetGroup {
 10361  	s.Description = &v
 10362  	return s
 10363  }
 10364  
 10365  // SetName sets the Name field's value.
 10366  func (s *SubnetGroup) SetName(v string) *SubnetGroup {
 10367  	s.Name = &v
 10368  	return s
 10369  }
 10370  
 10371  // SetSubnets sets the Subnets field's value.
 10372  func (s *SubnetGroup) SetSubnets(v []*Subnet) *SubnetGroup {
 10373  	s.Subnets = v
 10374  	return s
 10375  }
 10376  
 10377  // SetVpcId sets the VpcId field's value.
 10378  func (s *SubnetGroup) SetVpcId(v string) *SubnetGroup {
 10379  	s.VpcId = &v
 10380  	return s
 10381  }
 10382  
 10383  type SubnetGroupAlreadyExistsFault struct {
 10384  	_            struct{}                  `type:"structure"`
 10385  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10386  
 10387  	Message_ *string `locationName:"message" type:"string"`
 10388  }
 10389  
 10390  // String returns the string representation.
 10391  //
 10392  // API parameter values that are decorated as "sensitive" in the API will not
 10393  // be included in the string output. The member name will be present, but the
 10394  // value will be replaced with "sensitive".
 10395  func (s SubnetGroupAlreadyExistsFault) String() string {
 10396  	return awsutil.Prettify(s)
 10397  }
 10398  
 10399  // GoString returns the string representation.
 10400  //
 10401  // API parameter values that are decorated as "sensitive" in the API will not
 10402  // be included in the string output. The member name will be present, but the
 10403  // value will be replaced with "sensitive".
 10404  func (s SubnetGroupAlreadyExistsFault) GoString() string {
 10405  	return s.String()
 10406  }
 10407  
 10408  func newErrorSubnetGroupAlreadyExistsFault(v protocol.ResponseMetadata) error {
 10409  	return &SubnetGroupAlreadyExistsFault{
 10410  		RespMetadata: v,
 10411  	}
 10412  }
 10413  
 10414  // Code returns the exception type name.
 10415  func (s *SubnetGroupAlreadyExistsFault) Code() string {
 10416  	return "SubnetGroupAlreadyExistsFault"
 10417  }
 10418  
 10419  // Message returns the exception's message.
 10420  func (s *SubnetGroupAlreadyExistsFault) Message() string {
 10421  	if s.Message_ != nil {
 10422  		return *s.Message_
 10423  	}
 10424  	return ""
 10425  }
 10426  
 10427  // OrigErr always returns nil, satisfies awserr.Error interface.
 10428  func (s *SubnetGroupAlreadyExistsFault) OrigErr() error {
 10429  	return nil
 10430  }
 10431  
 10432  func (s *SubnetGroupAlreadyExistsFault) Error() string {
 10433  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10434  }
 10435  
 10436  // Status code returns the HTTP status code for the request's response error.
 10437  func (s *SubnetGroupAlreadyExistsFault) StatusCode() int {
 10438  	return s.RespMetadata.StatusCode
 10439  }
 10440  
 10441  // RequestID returns the service's response RequestID for request.
 10442  func (s *SubnetGroupAlreadyExistsFault) RequestID() string {
 10443  	return s.RespMetadata.RequestID
 10444  }
 10445  
 10446  type SubnetGroupInUseFault struct {
 10447  	_            struct{}                  `type:"structure"`
 10448  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10449  
 10450  	Message_ *string `locationName:"message" type:"string"`
 10451  }
 10452  
 10453  // String returns the string representation.
 10454  //
 10455  // API parameter values that are decorated as "sensitive" in the API will not
 10456  // be included in the string output. The member name will be present, but the
 10457  // value will be replaced with "sensitive".
 10458  func (s SubnetGroupInUseFault) String() string {
 10459  	return awsutil.Prettify(s)
 10460  }
 10461  
 10462  // GoString returns the string representation.
 10463  //
 10464  // API parameter values that are decorated as "sensitive" in the API will not
 10465  // be included in the string output. The member name will be present, but the
 10466  // value will be replaced with "sensitive".
 10467  func (s SubnetGroupInUseFault) GoString() string {
 10468  	return s.String()
 10469  }
 10470  
 10471  func newErrorSubnetGroupInUseFault(v protocol.ResponseMetadata) error {
 10472  	return &SubnetGroupInUseFault{
 10473  		RespMetadata: v,
 10474  	}
 10475  }
 10476  
 10477  // Code returns the exception type name.
 10478  func (s *SubnetGroupInUseFault) Code() string {
 10479  	return "SubnetGroupInUseFault"
 10480  }
 10481  
 10482  // Message returns the exception's message.
 10483  func (s *SubnetGroupInUseFault) Message() string {
 10484  	if s.Message_ != nil {
 10485  		return *s.Message_
 10486  	}
 10487  	return ""
 10488  }
 10489  
 10490  // OrigErr always returns nil, satisfies awserr.Error interface.
 10491  func (s *SubnetGroupInUseFault) OrigErr() error {
 10492  	return nil
 10493  }
 10494  
 10495  func (s *SubnetGroupInUseFault) Error() string {
 10496  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10497  }
 10498  
 10499  // Status code returns the HTTP status code for the request's response error.
 10500  func (s *SubnetGroupInUseFault) StatusCode() int {
 10501  	return s.RespMetadata.StatusCode
 10502  }
 10503  
 10504  // RequestID returns the service's response RequestID for request.
 10505  func (s *SubnetGroupInUseFault) RequestID() string {
 10506  	return s.RespMetadata.RequestID
 10507  }
 10508  
 10509  type SubnetGroupNotFoundFault struct {
 10510  	_            struct{}                  `type:"structure"`
 10511  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10512  
 10513  	Message_ *string `locationName:"message" type:"string"`
 10514  }
 10515  
 10516  // String returns the string representation.
 10517  //
 10518  // API parameter values that are decorated as "sensitive" in the API will not
 10519  // be included in the string output. The member name will be present, but the
 10520  // value will be replaced with "sensitive".
 10521  func (s SubnetGroupNotFoundFault) String() string {
 10522  	return awsutil.Prettify(s)
 10523  }
 10524  
 10525  // GoString returns the string representation.
 10526  //
 10527  // API parameter values that are decorated as "sensitive" in the API will not
 10528  // be included in the string output. The member name will be present, but the
 10529  // value will be replaced with "sensitive".
 10530  func (s SubnetGroupNotFoundFault) GoString() string {
 10531  	return s.String()
 10532  }
 10533  
 10534  func newErrorSubnetGroupNotFoundFault(v protocol.ResponseMetadata) error {
 10535  	return &SubnetGroupNotFoundFault{
 10536  		RespMetadata: v,
 10537  	}
 10538  }
 10539  
 10540  // Code returns the exception type name.
 10541  func (s *SubnetGroupNotFoundFault) Code() string {
 10542  	return "SubnetGroupNotFoundFault"
 10543  }
 10544  
 10545  // Message returns the exception's message.
 10546  func (s *SubnetGroupNotFoundFault) Message() string {
 10547  	if s.Message_ != nil {
 10548  		return *s.Message_
 10549  	}
 10550  	return ""
 10551  }
 10552  
 10553  // OrigErr always returns nil, satisfies awserr.Error interface.
 10554  func (s *SubnetGroupNotFoundFault) OrigErr() error {
 10555  	return nil
 10556  }
 10557  
 10558  func (s *SubnetGroupNotFoundFault) Error() string {
 10559  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10560  }
 10561  
 10562  // Status code returns the HTTP status code for the request's response error.
 10563  func (s *SubnetGroupNotFoundFault) StatusCode() int {
 10564  	return s.RespMetadata.StatusCode
 10565  }
 10566  
 10567  // RequestID returns the service's response RequestID for request.
 10568  func (s *SubnetGroupNotFoundFault) RequestID() string {
 10569  	return s.RespMetadata.RequestID
 10570  }
 10571  
 10572  type SubnetGroupQuotaExceededFault struct {
 10573  	_            struct{}                  `type:"structure"`
 10574  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10575  
 10576  	Message_ *string `locationName:"message" type:"string"`
 10577  }
 10578  
 10579  // String returns the string representation.
 10580  //
 10581  // API parameter values that are decorated as "sensitive" in the API will not
 10582  // be included in the string output. The member name will be present, but the
 10583  // value will be replaced with "sensitive".
 10584  func (s SubnetGroupQuotaExceededFault) String() string {
 10585  	return awsutil.Prettify(s)
 10586  }
 10587  
 10588  // GoString returns the string representation.
 10589  //
 10590  // API parameter values that are decorated as "sensitive" in the API will not
 10591  // be included in the string output. The member name will be present, but the
 10592  // value will be replaced with "sensitive".
 10593  func (s SubnetGroupQuotaExceededFault) GoString() string {
 10594  	return s.String()
 10595  }
 10596  
 10597  func newErrorSubnetGroupQuotaExceededFault(v protocol.ResponseMetadata) error {
 10598  	return &SubnetGroupQuotaExceededFault{
 10599  		RespMetadata: v,
 10600  	}
 10601  }
 10602  
 10603  // Code returns the exception type name.
 10604  func (s *SubnetGroupQuotaExceededFault) Code() string {
 10605  	return "SubnetGroupQuotaExceededFault"
 10606  }
 10607  
 10608  // Message returns the exception's message.
 10609  func (s *SubnetGroupQuotaExceededFault) Message() string {
 10610  	if s.Message_ != nil {
 10611  		return *s.Message_
 10612  	}
 10613  	return ""
 10614  }
 10615  
 10616  // OrigErr always returns nil, satisfies awserr.Error interface.
 10617  func (s *SubnetGroupQuotaExceededFault) OrigErr() error {
 10618  	return nil
 10619  }
 10620  
 10621  func (s *SubnetGroupQuotaExceededFault) Error() string {
 10622  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10623  }
 10624  
 10625  // Status code returns the HTTP status code for the request's response error.
 10626  func (s *SubnetGroupQuotaExceededFault) StatusCode() int {
 10627  	return s.RespMetadata.StatusCode
 10628  }
 10629  
 10630  // RequestID returns the service's response RequestID for request.
 10631  func (s *SubnetGroupQuotaExceededFault) RequestID() string {
 10632  	return s.RespMetadata.RequestID
 10633  }
 10634  
 10635  type SubnetInUse struct {
 10636  	_            struct{}                  `type:"structure"`
 10637  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10638  
 10639  	Message_ *string `locationName:"message" type:"string"`
 10640  }
 10641  
 10642  // String returns the string representation.
 10643  //
 10644  // API parameter values that are decorated as "sensitive" in the API will not
 10645  // be included in the string output. The member name will be present, but the
 10646  // value will be replaced with "sensitive".
 10647  func (s SubnetInUse) String() string {
 10648  	return awsutil.Prettify(s)
 10649  }
 10650  
 10651  // GoString returns the string representation.
 10652  //
 10653  // API parameter values that are decorated as "sensitive" in the API will not
 10654  // be included in the string output. The member name will be present, but the
 10655  // value will be replaced with "sensitive".
 10656  func (s SubnetInUse) GoString() string {
 10657  	return s.String()
 10658  }
 10659  
 10660  func newErrorSubnetInUse(v protocol.ResponseMetadata) error {
 10661  	return &SubnetInUse{
 10662  		RespMetadata: v,
 10663  	}
 10664  }
 10665  
 10666  // Code returns the exception type name.
 10667  func (s *SubnetInUse) Code() string {
 10668  	return "SubnetInUse"
 10669  }
 10670  
 10671  // Message returns the exception's message.
 10672  func (s *SubnetInUse) Message() string {
 10673  	if s.Message_ != nil {
 10674  		return *s.Message_
 10675  	}
 10676  	return ""
 10677  }
 10678  
 10679  // OrigErr always returns nil, satisfies awserr.Error interface.
 10680  func (s *SubnetInUse) OrigErr() error {
 10681  	return nil
 10682  }
 10683  
 10684  func (s *SubnetInUse) Error() string {
 10685  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10686  }
 10687  
 10688  // Status code returns the HTTP status code for the request's response error.
 10689  func (s *SubnetInUse) StatusCode() int {
 10690  	return s.RespMetadata.StatusCode
 10691  }
 10692  
 10693  // RequestID returns the service's response RequestID for request.
 10694  func (s *SubnetInUse) RequestID() string {
 10695  	return s.RespMetadata.RequestID
 10696  }
 10697  
 10698  type SubnetNotAllowedFault struct {
 10699  	_            struct{}                  `type:"structure"`
 10700  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10701  
 10702  	Message_ *string `locationName:"message" type:"string"`
 10703  }
 10704  
 10705  // String returns the string representation.
 10706  //
 10707  // API parameter values that are decorated as "sensitive" in the API will not
 10708  // be included in the string output. The member name will be present, but the
 10709  // value will be replaced with "sensitive".
 10710  func (s SubnetNotAllowedFault) String() string {
 10711  	return awsutil.Prettify(s)
 10712  }
 10713  
 10714  // GoString returns the string representation.
 10715  //
 10716  // API parameter values that are decorated as "sensitive" in the API will not
 10717  // be included in the string output. The member name will be present, but the
 10718  // value will be replaced with "sensitive".
 10719  func (s SubnetNotAllowedFault) GoString() string {
 10720  	return s.String()
 10721  }
 10722  
 10723  func newErrorSubnetNotAllowedFault(v protocol.ResponseMetadata) error {
 10724  	return &SubnetNotAllowedFault{
 10725  		RespMetadata: v,
 10726  	}
 10727  }
 10728  
 10729  // Code returns the exception type name.
 10730  func (s *SubnetNotAllowedFault) Code() string {
 10731  	return "SubnetNotAllowedFault"
 10732  }
 10733  
 10734  // Message returns the exception's message.
 10735  func (s *SubnetNotAllowedFault) Message() string {
 10736  	if s.Message_ != nil {
 10737  		return *s.Message_
 10738  	}
 10739  	return ""
 10740  }
 10741  
 10742  // OrigErr always returns nil, satisfies awserr.Error interface.
 10743  func (s *SubnetNotAllowedFault) OrigErr() error {
 10744  	return nil
 10745  }
 10746  
 10747  func (s *SubnetNotAllowedFault) Error() string {
 10748  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10749  }
 10750  
 10751  // Status code returns the HTTP status code for the request's response error.
 10752  func (s *SubnetNotAllowedFault) StatusCode() int {
 10753  	return s.RespMetadata.StatusCode
 10754  }
 10755  
 10756  // RequestID returns the service's response RequestID for request.
 10757  func (s *SubnetNotAllowedFault) RequestID() string {
 10758  	return s.RespMetadata.RequestID
 10759  }
 10760  
 10761  type SubnetQuotaExceededFault struct {
 10762  	_            struct{}                  `type:"structure"`
 10763  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10764  
 10765  	Message_ *string `locationName:"message" type:"string"`
 10766  }
 10767  
 10768  // String returns the string representation.
 10769  //
 10770  // API parameter values that are decorated as "sensitive" in the API will not
 10771  // be included in the string output. The member name will be present, but the
 10772  // value will be replaced with "sensitive".
 10773  func (s SubnetQuotaExceededFault) String() string {
 10774  	return awsutil.Prettify(s)
 10775  }
 10776  
 10777  // GoString returns the string representation.
 10778  //
 10779  // API parameter values that are decorated as "sensitive" in the API will not
 10780  // be included in the string output. The member name will be present, but the
 10781  // value will be replaced with "sensitive".
 10782  func (s SubnetQuotaExceededFault) GoString() string {
 10783  	return s.String()
 10784  }
 10785  
 10786  func newErrorSubnetQuotaExceededFault(v protocol.ResponseMetadata) error {
 10787  	return &SubnetQuotaExceededFault{
 10788  		RespMetadata: v,
 10789  	}
 10790  }
 10791  
 10792  // Code returns the exception type name.
 10793  func (s *SubnetQuotaExceededFault) Code() string {
 10794  	return "SubnetQuotaExceededFault"
 10795  }
 10796  
 10797  // Message returns the exception's message.
 10798  func (s *SubnetQuotaExceededFault) Message() string {
 10799  	if s.Message_ != nil {
 10800  		return *s.Message_
 10801  	}
 10802  	return ""
 10803  }
 10804  
 10805  // OrigErr always returns nil, satisfies awserr.Error interface.
 10806  func (s *SubnetQuotaExceededFault) OrigErr() error {
 10807  	return nil
 10808  }
 10809  
 10810  func (s *SubnetQuotaExceededFault) Error() string {
 10811  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10812  }
 10813  
 10814  // Status code returns the HTTP status code for the request's response error.
 10815  func (s *SubnetQuotaExceededFault) StatusCode() int {
 10816  	return s.RespMetadata.StatusCode
 10817  }
 10818  
 10819  // RequestID returns the service's response RequestID for request.
 10820  func (s *SubnetQuotaExceededFault) RequestID() string {
 10821  	return s.RespMetadata.RequestID
 10822  }
 10823  
 10824  // A tag that can be added to an MemoryDB resource. Tags are composed of a Key/Value
 10825  // pair. You can use tags to categorize and track all your MemoryDB resources.
 10826  // When you add or remove tags on clusters, those actions will be replicated
 10827  // to all nodes in the cluster. A tag with a null Value is permitted. For more
 10828  // information, see Tagging your MemoryDB resources (https://docs.aws.amazon.com/MemoryDB/latest/devguide/tagging-resources.html)
 10829  type Tag struct {
 10830  	_ struct{} `type:"structure"`
 10831  
 10832  	// The key for the tag. May not be null.
 10833  	Key *string `type:"string"`
 10834  
 10835  	// The tag's value. May be null.
 10836  	Value *string `type:"string"`
 10837  }
 10838  
 10839  // String returns the string representation.
 10840  //
 10841  // API parameter values that are decorated as "sensitive" in the API will not
 10842  // be included in the string output. The member name will be present, but the
 10843  // value will be replaced with "sensitive".
 10844  func (s Tag) String() string {
 10845  	return awsutil.Prettify(s)
 10846  }
 10847  
 10848  // GoString returns the string representation.
 10849  //
 10850  // API parameter values that are decorated as "sensitive" in the API will not
 10851  // be included in the string output. The member name will be present, but the
 10852  // value will be replaced with "sensitive".
 10853  func (s Tag) GoString() string {
 10854  	return s.String()
 10855  }
 10856  
 10857  // SetKey sets the Key field's value.
 10858  func (s *Tag) SetKey(v string) *Tag {
 10859  	s.Key = &v
 10860  	return s
 10861  }
 10862  
 10863  // SetValue sets the Value field's value.
 10864  func (s *Tag) SetValue(v string) *Tag {
 10865  	s.Value = &v
 10866  	return s
 10867  }
 10868  
 10869  type TagNotFoundFault struct {
 10870  	_            struct{}                  `type:"structure"`
 10871  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10872  
 10873  	Message_ *string `locationName:"message" type:"string"`
 10874  }
 10875  
 10876  // String returns the string representation.
 10877  //
 10878  // API parameter values that are decorated as "sensitive" in the API will not
 10879  // be included in the string output. The member name will be present, but the
 10880  // value will be replaced with "sensitive".
 10881  func (s TagNotFoundFault) String() string {
 10882  	return awsutil.Prettify(s)
 10883  }
 10884  
 10885  // GoString returns the string representation.
 10886  //
 10887  // API parameter values that are decorated as "sensitive" in the API will not
 10888  // be included in the string output. The member name will be present, but the
 10889  // value will be replaced with "sensitive".
 10890  func (s TagNotFoundFault) GoString() string {
 10891  	return s.String()
 10892  }
 10893  
 10894  func newErrorTagNotFoundFault(v protocol.ResponseMetadata) error {
 10895  	return &TagNotFoundFault{
 10896  		RespMetadata: v,
 10897  	}
 10898  }
 10899  
 10900  // Code returns the exception type name.
 10901  func (s *TagNotFoundFault) Code() string {
 10902  	return "TagNotFoundFault"
 10903  }
 10904  
 10905  // Message returns the exception's message.
 10906  func (s *TagNotFoundFault) Message() string {
 10907  	if s.Message_ != nil {
 10908  		return *s.Message_
 10909  	}
 10910  	return ""
 10911  }
 10912  
 10913  // OrigErr always returns nil, satisfies awserr.Error interface.
 10914  func (s *TagNotFoundFault) OrigErr() error {
 10915  	return nil
 10916  }
 10917  
 10918  func (s *TagNotFoundFault) Error() string {
 10919  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10920  }
 10921  
 10922  // Status code returns the HTTP status code for the request's response error.
 10923  func (s *TagNotFoundFault) StatusCode() int {
 10924  	return s.RespMetadata.StatusCode
 10925  }
 10926  
 10927  // RequestID returns the service's response RequestID for request.
 10928  func (s *TagNotFoundFault) RequestID() string {
 10929  	return s.RespMetadata.RequestID
 10930  }
 10931  
 10932  type TagQuotaPerResourceExceeded struct {
 10933  	_            struct{}                  `type:"structure"`
 10934  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10935  
 10936  	Message_ *string `locationName:"message" type:"string"`
 10937  }
 10938  
 10939  // String returns the string representation.
 10940  //
 10941  // API parameter values that are decorated as "sensitive" in the API will not
 10942  // be included in the string output. The member name will be present, but the
 10943  // value will be replaced with "sensitive".
 10944  func (s TagQuotaPerResourceExceeded) String() string {
 10945  	return awsutil.Prettify(s)
 10946  }
 10947  
 10948  // GoString returns the string representation.
 10949  //
 10950  // API parameter values that are decorated as "sensitive" in the API will not
 10951  // be included in the string output. The member name will be present, but the
 10952  // value will be replaced with "sensitive".
 10953  func (s TagQuotaPerResourceExceeded) GoString() string {
 10954  	return s.String()
 10955  }
 10956  
 10957  func newErrorTagQuotaPerResourceExceeded(v protocol.ResponseMetadata) error {
 10958  	return &TagQuotaPerResourceExceeded{
 10959  		RespMetadata: v,
 10960  	}
 10961  }
 10962  
 10963  // Code returns the exception type name.
 10964  func (s *TagQuotaPerResourceExceeded) Code() string {
 10965  	return "TagQuotaPerResourceExceeded"
 10966  }
 10967  
 10968  // Message returns the exception's message.
 10969  func (s *TagQuotaPerResourceExceeded) Message() string {
 10970  	if s.Message_ != nil {
 10971  		return *s.Message_
 10972  	}
 10973  	return ""
 10974  }
 10975  
 10976  // OrigErr always returns nil, satisfies awserr.Error interface.
 10977  func (s *TagQuotaPerResourceExceeded) OrigErr() error {
 10978  	return nil
 10979  }
 10980  
 10981  func (s *TagQuotaPerResourceExceeded) Error() string {
 10982  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10983  }
 10984  
 10985  // Status code returns the HTTP status code for the request's response error.
 10986  func (s *TagQuotaPerResourceExceeded) StatusCode() int {
 10987  	return s.RespMetadata.StatusCode
 10988  }
 10989  
 10990  // RequestID returns the service's response RequestID for request.
 10991  func (s *TagQuotaPerResourceExceeded) RequestID() string {
 10992  	return s.RespMetadata.RequestID
 10993  }
 10994  
 10995  type TagResourceInput struct {
 10996  	_ struct{} `type:"structure"`
 10997  
 10998  	// The Amazon Resource Name (ARN) of the resource to which the tags are to be
 10999  	// added
 11000  	//
 11001  	// ResourceArn is a required field
 11002  	ResourceArn *string `type:"string" required:"true"`
 11003  
 11004  	// A list of tags to be added to this resource. A tag is a key-value pair. A
 11005  	// tag key must be accompanied by a tag value, although null is accepted.
 11006  	//
 11007  	// Tags is a required field
 11008  	Tags []*Tag `type:"list" required:"true"`
 11009  }
 11010  
 11011  // String returns the string representation.
 11012  //
 11013  // API parameter values that are decorated as "sensitive" in the API will not
 11014  // be included in the string output. The member name will be present, but the
 11015  // value will be replaced with "sensitive".
 11016  func (s TagResourceInput) String() string {
 11017  	return awsutil.Prettify(s)
 11018  }
 11019  
 11020  // GoString returns the string representation.
 11021  //
 11022  // API parameter values that are decorated as "sensitive" in the API will not
 11023  // be included in the string output. The member name will be present, but the
 11024  // value will be replaced with "sensitive".
 11025  func (s TagResourceInput) GoString() string {
 11026  	return s.String()
 11027  }
 11028  
 11029  // Validate inspects the fields of the type to determine if they are valid.
 11030  func (s *TagResourceInput) Validate() error {
 11031  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 11032  	if s.ResourceArn == nil {
 11033  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 11034  	}
 11035  	if s.Tags == nil {
 11036  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 11037  	}
 11038  
 11039  	if invalidParams.Len() > 0 {
 11040  		return invalidParams
 11041  	}
 11042  	return nil
 11043  }
 11044  
 11045  // SetResourceArn sets the ResourceArn field's value.
 11046  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 11047  	s.ResourceArn = &v
 11048  	return s
 11049  }
 11050  
 11051  // SetTags sets the Tags field's value.
 11052  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
 11053  	s.Tags = v
 11054  	return s
 11055  }
 11056  
 11057  type TagResourceOutput struct {
 11058  	_ struct{} `type:"structure"`
 11059  
 11060  	// A list of tags as key-value pairs.
 11061  	TagList []*Tag `type:"list"`
 11062  }
 11063  
 11064  // String returns the string representation.
 11065  //
 11066  // API parameter values that are decorated as "sensitive" in the API will not
 11067  // be included in the string output. The member name will be present, but the
 11068  // value will be replaced with "sensitive".
 11069  func (s TagResourceOutput) String() string {
 11070  	return awsutil.Prettify(s)
 11071  }
 11072  
 11073  // GoString returns the string representation.
 11074  //
 11075  // API parameter values that are decorated as "sensitive" in the API will not
 11076  // be included in the string output. The member name will be present, but the
 11077  // value will be replaced with "sensitive".
 11078  func (s TagResourceOutput) GoString() string {
 11079  	return s.String()
 11080  }
 11081  
 11082  // SetTagList sets the TagList field's value.
 11083  func (s *TagResourceOutput) SetTagList(v []*Tag) *TagResourceOutput {
 11084  	s.TagList = v
 11085  	return s
 11086  }
 11087  
 11088  type TestFailoverNotAvailableFault struct {
 11089  	_            struct{}                  `type:"structure"`
 11090  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11091  
 11092  	Message_ *string `locationName:"message" type:"string"`
 11093  }
 11094  
 11095  // String returns the string representation.
 11096  //
 11097  // API parameter values that are decorated as "sensitive" in the API will not
 11098  // be included in the string output. The member name will be present, but the
 11099  // value will be replaced with "sensitive".
 11100  func (s TestFailoverNotAvailableFault) String() string {
 11101  	return awsutil.Prettify(s)
 11102  }
 11103  
 11104  // GoString returns the string representation.
 11105  //
 11106  // API parameter values that are decorated as "sensitive" in the API will not
 11107  // be included in the string output. The member name will be present, but the
 11108  // value will be replaced with "sensitive".
 11109  func (s TestFailoverNotAvailableFault) GoString() string {
 11110  	return s.String()
 11111  }
 11112  
 11113  func newErrorTestFailoverNotAvailableFault(v protocol.ResponseMetadata) error {
 11114  	return &TestFailoverNotAvailableFault{
 11115  		RespMetadata: v,
 11116  	}
 11117  }
 11118  
 11119  // Code returns the exception type name.
 11120  func (s *TestFailoverNotAvailableFault) Code() string {
 11121  	return "TestFailoverNotAvailableFault"
 11122  }
 11123  
 11124  // Message returns the exception's message.
 11125  func (s *TestFailoverNotAvailableFault) Message() string {
 11126  	if s.Message_ != nil {
 11127  		return *s.Message_
 11128  	}
 11129  	return ""
 11130  }
 11131  
 11132  // OrigErr always returns nil, satisfies awserr.Error interface.
 11133  func (s *TestFailoverNotAvailableFault) OrigErr() error {
 11134  	return nil
 11135  }
 11136  
 11137  func (s *TestFailoverNotAvailableFault) Error() string {
 11138  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11139  }
 11140  
 11141  // Status code returns the HTTP status code for the request's response error.
 11142  func (s *TestFailoverNotAvailableFault) StatusCode() int {
 11143  	return s.RespMetadata.StatusCode
 11144  }
 11145  
 11146  // RequestID returns the service's response RequestID for request.
 11147  func (s *TestFailoverNotAvailableFault) RequestID() string {
 11148  	return s.RespMetadata.RequestID
 11149  }
 11150  
 11151  // A cluster whose updates have failed
 11152  type UnprocessedCluster struct {
 11153  	_ struct{} `type:"structure"`
 11154  
 11155  	// The name of the cluster
 11156  	ClusterName *string `type:"string"`
 11157  
 11158  	// The error message associated with the update failure
 11159  	ErrorMessage *string `type:"string"`
 11160  
 11161  	// The error type associated with the update failure
 11162  	ErrorType *string `type:"string"`
 11163  }
 11164  
 11165  // String returns the string representation.
 11166  //
 11167  // API parameter values that are decorated as "sensitive" in the API will not
 11168  // be included in the string output. The member name will be present, but the
 11169  // value will be replaced with "sensitive".
 11170  func (s UnprocessedCluster) String() string {
 11171  	return awsutil.Prettify(s)
 11172  }
 11173  
 11174  // GoString returns the string representation.
 11175  //
 11176  // API parameter values that are decorated as "sensitive" in the API will not
 11177  // be included in the string output. The member name will be present, but the
 11178  // value will be replaced with "sensitive".
 11179  func (s UnprocessedCluster) GoString() string {
 11180  	return s.String()
 11181  }
 11182  
 11183  // SetClusterName sets the ClusterName field's value.
 11184  func (s *UnprocessedCluster) SetClusterName(v string) *UnprocessedCluster {
 11185  	s.ClusterName = &v
 11186  	return s
 11187  }
 11188  
 11189  // SetErrorMessage sets the ErrorMessage field's value.
 11190  func (s *UnprocessedCluster) SetErrorMessage(v string) *UnprocessedCluster {
 11191  	s.ErrorMessage = &v
 11192  	return s
 11193  }
 11194  
 11195  // SetErrorType sets the ErrorType field's value.
 11196  func (s *UnprocessedCluster) SetErrorType(v string) *UnprocessedCluster {
 11197  	s.ErrorType = &v
 11198  	return s
 11199  }
 11200  
 11201  type UntagResourceInput struct {
 11202  	_ struct{} `type:"structure"`
 11203  
 11204  	// The Amazon Resource Name (ARN) of the resource to which the tags are to be
 11205  	// removed
 11206  	//
 11207  	// ResourceArn is a required field
 11208  	ResourceArn *string `type:"string" required:"true"`
 11209  
 11210  	// The list of keys of the tags that are to be removed
 11211  	//
 11212  	// TagKeys is a required field
 11213  	TagKeys []*string `type:"list" required:"true"`
 11214  }
 11215  
 11216  // String returns the string representation.
 11217  //
 11218  // API parameter values that are decorated as "sensitive" in the API will not
 11219  // be included in the string output. The member name will be present, but the
 11220  // value will be replaced with "sensitive".
 11221  func (s UntagResourceInput) String() string {
 11222  	return awsutil.Prettify(s)
 11223  }
 11224  
 11225  // GoString returns the string representation.
 11226  //
 11227  // API parameter values that are decorated as "sensitive" in the API will not
 11228  // be included in the string output. The member name will be present, but the
 11229  // value will be replaced with "sensitive".
 11230  func (s UntagResourceInput) GoString() string {
 11231  	return s.String()
 11232  }
 11233  
 11234  // Validate inspects the fields of the type to determine if they are valid.
 11235  func (s *UntagResourceInput) Validate() error {
 11236  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 11237  	if s.ResourceArn == nil {
 11238  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 11239  	}
 11240  	if s.TagKeys == nil {
 11241  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 11242  	}
 11243  
 11244  	if invalidParams.Len() > 0 {
 11245  		return invalidParams
 11246  	}
 11247  	return nil
 11248  }
 11249  
 11250  // SetResourceArn sets the ResourceArn field's value.
 11251  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 11252  	s.ResourceArn = &v
 11253  	return s
 11254  }
 11255  
 11256  // SetTagKeys sets the TagKeys field's value.
 11257  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 11258  	s.TagKeys = v
 11259  	return s
 11260  }
 11261  
 11262  type UntagResourceOutput struct {
 11263  	_ struct{} `type:"structure"`
 11264  
 11265  	// The list of tags removed
 11266  	TagList []*Tag `type:"list"`
 11267  }
 11268  
 11269  // String returns the string representation.
 11270  //
 11271  // API parameter values that are decorated as "sensitive" in the API will not
 11272  // be included in the string output. The member name will be present, but the
 11273  // value will be replaced with "sensitive".
 11274  func (s UntagResourceOutput) String() string {
 11275  	return awsutil.Prettify(s)
 11276  }
 11277  
 11278  // GoString returns the string representation.
 11279  //
 11280  // API parameter values that are decorated as "sensitive" in the API will not
 11281  // be included in the string output. The member name will be present, but the
 11282  // value will be replaced with "sensitive".
 11283  func (s UntagResourceOutput) GoString() string {
 11284  	return s.String()
 11285  }
 11286  
 11287  // SetTagList sets the TagList field's value.
 11288  func (s *UntagResourceOutput) SetTagList(v []*Tag) *UntagResourceOutput {
 11289  	s.TagList = v
 11290  	return s
 11291  }
 11292  
 11293  type UpdateACLInput struct {
 11294  	_ struct{} `type:"structure"`
 11295  
 11296  	// The name of the Access Control List
 11297  	//
 11298  	// ACLName is a required field
 11299  	ACLName *string `type:"string" required:"true"`
 11300  
 11301  	// The list of users to add to the Access Control List
 11302  	UserNamesToAdd []*string `min:"1" type:"list"`
 11303  
 11304  	// The list of users to remove from the Access Control List
 11305  	UserNamesToRemove []*string `min:"1" type:"list"`
 11306  }
 11307  
 11308  // String returns the string representation.
 11309  //
 11310  // API parameter values that are decorated as "sensitive" in the API will not
 11311  // be included in the string output. The member name will be present, but the
 11312  // value will be replaced with "sensitive".
 11313  func (s UpdateACLInput) String() string {
 11314  	return awsutil.Prettify(s)
 11315  }
 11316  
 11317  // GoString returns the string representation.
 11318  //
 11319  // API parameter values that are decorated as "sensitive" in the API will not
 11320  // be included in the string output. The member name will be present, but the
 11321  // value will be replaced with "sensitive".
 11322  func (s UpdateACLInput) GoString() string {
 11323  	return s.String()
 11324  }
 11325  
 11326  // Validate inspects the fields of the type to determine if they are valid.
 11327  func (s *UpdateACLInput) Validate() error {
 11328  	invalidParams := request.ErrInvalidParams{Context: "UpdateACLInput"}
 11329  	if s.ACLName == nil {
 11330  		invalidParams.Add(request.NewErrParamRequired("ACLName"))
 11331  	}
 11332  	if s.UserNamesToAdd != nil && len(s.UserNamesToAdd) < 1 {
 11333  		invalidParams.Add(request.NewErrParamMinLen("UserNamesToAdd", 1))
 11334  	}
 11335  	if s.UserNamesToRemove != nil && len(s.UserNamesToRemove) < 1 {
 11336  		invalidParams.Add(request.NewErrParamMinLen("UserNamesToRemove", 1))
 11337  	}
 11338  
 11339  	if invalidParams.Len() > 0 {
 11340  		return invalidParams
 11341  	}
 11342  	return nil
 11343  }
 11344  
 11345  // SetACLName sets the ACLName field's value.
 11346  func (s *UpdateACLInput) SetACLName(v string) *UpdateACLInput {
 11347  	s.ACLName = &v
 11348  	return s
 11349  }
 11350  
 11351  // SetUserNamesToAdd sets the UserNamesToAdd field's value.
 11352  func (s *UpdateACLInput) SetUserNamesToAdd(v []*string) *UpdateACLInput {
 11353  	s.UserNamesToAdd = v
 11354  	return s
 11355  }
 11356  
 11357  // SetUserNamesToRemove sets the UserNamesToRemove field's value.
 11358  func (s *UpdateACLInput) SetUserNamesToRemove(v []*string) *UpdateACLInput {
 11359  	s.UserNamesToRemove = v
 11360  	return s
 11361  }
 11362  
 11363  type UpdateACLOutput struct {
 11364  	_ struct{} `type:"structure"`
 11365  
 11366  	// The updated Access Control List
 11367  	ACL *ACL `type:"structure"`
 11368  }
 11369  
 11370  // String returns the string representation.
 11371  //
 11372  // API parameter values that are decorated as "sensitive" in the API will not
 11373  // be included in the string output. The member name will be present, but the
 11374  // value will be replaced with "sensitive".
 11375  func (s UpdateACLOutput) String() string {
 11376  	return awsutil.Prettify(s)
 11377  }
 11378  
 11379  // GoString returns the string representation.
 11380  //
 11381  // API parameter values that are decorated as "sensitive" in the API will not
 11382  // be included in the string output. The member name will be present, but the
 11383  // value will be replaced with "sensitive".
 11384  func (s UpdateACLOutput) GoString() string {
 11385  	return s.String()
 11386  }
 11387  
 11388  // SetACL sets the ACL field's value.
 11389  func (s *UpdateACLOutput) SetACL(v *ACL) *UpdateACLOutput {
 11390  	s.ACL = v
 11391  	return s
 11392  }
 11393  
 11394  type UpdateClusterInput struct {
 11395  	_ struct{} `type:"structure"`
 11396  
 11397  	// The Access Control List that is associated with the cluster
 11398  	ACLName *string `min:"1" type:"string"`
 11399  
 11400  	// The name of the cluster to update
 11401  	//
 11402  	// ClusterName is a required field
 11403  	ClusterName *string `type:"string" required:"true"`
 11404  
 11405  	// The description of the cluster to update
 11406  	Description *string `type:"string"`
 11407  
 11408  	// The upgraded version of the engine to be run on the nodes. You can upgrade
 11409  	// to a newer engine version, but you cannot downgrade to an earlier engine
 11410  	// version. If you want to use an earlier engine version, you must delete the
 11411  	// existing cluster and create it anew with the earlier engine version.
 11412  	EngineVersion *string `type:"string"`
 11413  
 11414  	// The maintenance window to update
 11415  	MaintenanceWindow *string `type:"string"`
 11416  
 11417  	// A valid node type that you want to scale this cluster up or down to.
 11418  	NodeType *string `type:"string"`
 11419  
 11420  	// The name of the parameter group to update
 11421  	ParameterGroupName *string `type:"string"`
 11422  
 11423  	// The number of replicas that will reside in each shard
 11424  	ReplicaConfiguration *ReplicaConfigurationRequest `type:"structure"`
 11425  
 11426  	// The SecurityGroupIds to update
 11427  	SecurityGroupIds []*string `type:"list"`
 11428  
 11429  	// The number of shards in the cluster
 11430  	ShardConfiguration *ShardConfigurationRequest `type:"structure"`
 11431  
 11432  	// The number of days for which MemoryDB retains automatic cluster snapshots
 11433  	// before deleting them. For example, if you set SnapshotRetentionLimit to 5,
 11434  	// a snapshot that was taken today is retained for 5 days before being deleted.
 11435  	SnapshotRetentionLimit *int64 `type:"integer"`
 11436  
 11437  	// The daily time range (in UTC) during which MemoryDB begins taking a daily
 11438  	// snapshot of your cluster.
 11439  	SnapshotWindow *string `type:"string"`
 11440  
 11441  	// The SNS topic ARN to update
 11442  	SnsTopicArn *string `type:"string"`
 11443  
 11444  	// The status of the Amazon SNS notification topic. Notifications are sent only
 11445  	// if the status is active.
 11446  	SnsTopicStatus *string `type:"string"`
 11447  }
 11448  
 11449  // String returns the string representation.
 11450  //
 11451  // API parameter values that are decorated as "sensitive" in the API will not
 11452  // be included in the string output. The member name will be present, but the
 11453  // value will be replaced with "sensitive".
 11454  func (s UpdateClusterInput) String() string {
 11455  	return awsutil.Prettify(s)
 11456  }
 11457  
 11458  // GoString returns the string representation.
 11459  //
 11460  // API parameter values that are decorated as "sensitive" in the API will not
 11461  // be included in the string output. The member name will be present, but the
 11462  // value will be replaced with "sensitive".
 11463  func (s UpdateClusterInput) GoString() string {
 11464  	return s.String()
 11465  }
 11466  
 11467  // Validate inspects the fields of the type to determine if they are valid.
 11468  func (s *UpdateClusterInput) Validate() error {
 11469  	invalidParams := request.ErrInvalidParams{Context: "UpdateClusterInput"}
 11470  	if s.ACLName != nil && len(*s.ACLName) < 1 {
 11471  		invalidParams.Add(request.NewErrParamMinLen("ACLName", 1))
 11472  	}
 11473  	if s.ClusterName == nil {
 11474  		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
 11475  	}
 11476  
 11477  	if invalidParams.Len() > 0 {
 11478  		return invalidParams
 11479  	}
 11480  	return nil
 11481  }
 11482  
 11483  // SetACLName sets the ACLName field's value.
 11484  func (s *UpdateClusterInput) SetACLName(v string) *UpdateClusterInput {
 11485  	s.ACLName = &v
 11486  	return s
 11487  }
 11488  
 11489  // SetClusterName sets the ClusterName field's value.
 11490  func (s *UpdateClusterInput) SetClusterName(v string) *UpdateClusterInput {
 11491  	s.ClusterName = &v
 11492  	return s
 11493  }
 11494  
 11495  // SetDescription sets the Description field's value.
 11496  func (s *UpdateClusterInput) SetDescription(v string) *UpdateClusterInput {
 11497  	s.Description = &v
 11498  	return s
 11499  }
 11500  
 11501  // SetEngineVersion sets the EngineVersion field's value.
 11502  func (s *UpdateClusterInput) SetEngineVersion(v string) *UpdateClusterInput {
 11503  	s.EngineVersion = &v
 11504  	return s
 11505  }
 11506  
 11507  // SetMaintenanceWindow sets the MaintenanceWindow field's value.
 11508  func (s *UpdateClusterInput) SetMaintenanceWindow(v string) *UpdateClusterInput {
 11509  	s.MaintenanceWindow = &v
 11510  	return s
 11511  }
 11512  
 11513  // SetNodeType sets the NodeType field's value.
 11514  func (s *UpdateClusterInput) SetNodeType(v string) *UpdateClusterInput {
 11515  	s.NodeType = &v
 11516  	return s
 11517  }
 11518  
 11519  // SetParameterGroupName sets the ParameterGroupName field's value.
 11520  func (s *UpdateClusterInput) SetParameterGroupName(v string) *UpdateClusterInput {
 11521  	s.ParameterGroupName = &v
 11522  	return s
 11523  }
 11524  
 11525  // SetReplicaConfiguration sets the ReplicaConfiguration field's value.
 11526  func (s *UpdateClusterInput) SetReplicaConfiguration(v *ReplicaConfigurationRequest) *UpdateClusterInput {
 11527  	s.ReplicaConfiguration = v
 11528  	return s
 11529  }
 11530  
 11531  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 11532  func (s *UpdateClusterInput) SetSecurityGroupIds(v []*string) *UpdateClusterInput {
 11533  	s.SecurityGroupIds = v
 11534  	return s
 11535  }
 11536  
 11537  // SetShardConfiguration sets the ShardConfiguration field's value.
 11538  func (s *UpdateClusterInput) SetShardConfiguration(v *ShardConfigurationRequest) *UpdateClusterInput {
 11539  	s.ShardConfiguration = v
 11540  	return s
 11541  }
 11542  
 11543  // SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value.
 11544  func (s *UpdateClusterInput) SetSnapshotRetentionLimit(v int64) *UpdateClusterInput {
 11545  	s.SnapshotRetentionLimit = &v
 11546  	return s
 11547  }
 11548  
 11549  // SetSnapshotWindow sets the SnapshotWindow field's value.
 11550  func (s *UpdateClusterInput) SetSnapshotWindow(v string) *UpdateClusterInput {
 11551  	s.SnapshotWindow = &v
 11552  	return s
 11553  }
 11554  
 11555  // SetSnsTopicArn sets the SnsTopicArn field's value.
 11556  func (s *UpdateClusterInput) SetSnsTopicArn(v string) *UpdateClusterInput {
 11557  	s.SnsTopicArn = &v
 11558  	return s
 11559  }
 11560  
 11561  // SetSnsTopicStatus sets the SnsTopicStatus field's value.
 11562  func (s *UpdateClusterInput) SetSnsTopicStatus(v string) *UpdateClusterInput {
 11563  	s.SnsTopicStatus = &v
 11564  	return s
 11565  }
 11566  
 11567  type UpdateClusterOutput struct {
 11568  	_ struct{} `type:"structure"`
 11569  
 11570  	// The updated cluster
 11571  	Cluster *Cluster `type:"structure"`
 11572  }
 11573  
 11574  // String returns the string representation.
 11575  //
 11576  // API parameter values that are decorated as "sensitive" in the API will not
 11577  // be included in the string output. The member name will be present, but the
 11578  // value will be replaced with "sensitive".
 11579  func (s UpdateClusterOutput) String() string {
 11580  	return awsutil.Prettify(s)
 11581  }
 11582  
 11583  // GoString returns the string representation.
 11584  //
 11585  // API parameter values that are decorated as "sensitive" in the API will not
 11586  // be included in the string output. The member name will be present, but the
 11587  // value will be replaced with "sensitive".
 11588  func (s UpdateClusterOutput) GoString() string {
 11589  	return s.String()
 11590  }
 11591  
 11592  // SetCluster sets the Cluster field's value.
 11593  func (s *UpdateClusterOutput) SetCluster(v *Cluster) *UpdateClusterOutput {
 11594  	s.Cluster = v
 11595  	return s
 11596  }
 11597  
 11598  type UpdateParameterGroupInput struct {
 11599  	_ struct{} `type:"structure"`
 11600  
 11601  	// The name of the parameter group to update.
 11602  	//
 11603  	// ParameterGroupName is a required field
 11604  	ParameterGroupName *string `type:"string" required:"true"`
 11605  
 11606  	// An array of parameter names and values for the parameter update. You must
 11607  	// supply at least one parameter name and value; subsequent arguments are optional.
 11608  	// A maximum of 20 parameters may be updated per request.
 11609  	//
 11610  	// ParameterNameValues is a required field
 11611  	ParameterNameValues []*ParameterNameValue `type:"list" required:"true"`
 11612  }
 11613  
 11614  // String returns the string representation.
 11615  //
 11616  // API parameter values that are decorated as "sensitive" in the API will not
 11617  // be included in the string output. The member name will be present, but the
 11618  // value will be replaced with "sensitive".
 11619  func (s UpdateParameterGroupInput) String() string {
 11620  	return awsutil.Prettify(s)
 11621  }
 11622  
 11623  // GoString returns the string representation.
 11624  //
 11625  // API parameter values that are decorated as "sensitive" in the API will not
 11626  // be included in the string output. The member name will be present, but the
 11627  // value will be replaced with "sensitive".
 11628  func (s UpdateParameterGroupInput) GoString() string {
 11629  	return s.String()
 11630  }
 11631  
 11632  // Validate inspects the fields of the type to determine if they are valid.
 11633  func (s *UpdateParameterGroupInput) Validate() error {
 11634  	invalidParams := request.ErrInvalidParams{Context: "UpdateParameterGroupInput"}
 11635  	if s.ParameterGroupName == nil {
 11636  		invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
 11637  	}
 11638  	if s.ParameterNameValues == nil {
 11639  		invalidParams.Add(request.NewErrParamRequired("ParameterNameValues"))
 11640  	}
 11641  
 11642  	if invalidParams.Len() > 0 {
 11643  		return invalidParams
 11644  	}
 11645  	return nil
 11646  }
 11647  
 11648  // SetParameterGroupName sets the ParameterGroupName field's value.
 11649  func (s *UpdateParameterGroupInput) SetParameterGroupName(v string) *UpdateParameterGroupInput {
 11650  	s.ParameterGroupName = &v
 11651  	return s
 11652  }
 11653  
 11654  // SetParameterNameValues sets the ParameterNameValues field's value.
 11655  func (s *UpdateParameterGroupInput) SetParameterNameValues(v []*ParameterNameValue) *UpdateParameterGroupInput {
 11656  	s.ParameterNameValues = v
 11657  	return s
 11658  }
 11659  
 11660  type UpdateParameterGroupOutput struct {
 11661  	_ struct{} `type:"structure"`
 11662  
 11663  	// The updated parameter group
 11664  	ParameterGroup *ParameterGroup `type:"structure"`
 11665  }
 11666  
 11667  // String returns the string representation.
 11668  //
 11669  // API parameter values that are decorated as "sensitive" in the API will not
 11670  // be included in the string output. The member name will be present, but the
 11671  // value will be replaced with "sensitive".
 11672  func (s UpdateParameterGroupOutput) String() string {
 11673  	return awsutil.Prettify(s)
 11674  }
 11675  
 11676  // GoString returns the string representation.
 11677  //
 11678  // API parameter values that are decorated as "sensitive" in the API will not
 11679  // be included in the string output. The member name will be present, but the
 11680  // value will be replaced with "sensitive".
 11681  func (s UpdateParameterGroupOutput) GoString() string {
 11682  	return s.String()
 11683  }
 11684  
 11685  // SetParameterGroup sets the ParameterGroup field's value.
 11686  func (s *UpdateParameterGroupOutput) SetParameterGroup(v *ParameterGroup) *UpdateParameterGroupOutput {
 11687  	s.ParameterGroup = v
 11688  	return s
 11689  }
 11690  
 11691  type UpdateSubnetGroupInput struct {
 11692  	_ struct{} `type:"structure"`
 11693  
 11694  	// A description of the subnet group
 11695  	Description *string `type:"string"`
 11696  
 11697  	// The name of the subnet group
 11698  	//
 11699  	// SubnetGroupName is a required field
 11700  	SubnetGroupName *string `type:"string" required:"true"`
 11701  
 11702  	// The EC2 subnet IDs for the subnet group.
 11703  	SubnetIds []*string `type:"list"`
 11704  }
 11705  
 11706  // String returns the string representation.
 11707  //
 11708  // API parameter values that are decorated as "sensitive" in the API will not
 11709  // be included in the string output. The member name will be present, but the
 11710  // value will be replaced with "sensitive".
 11711  func (s UpdateSubnetGroupInput) String() string {
 11712  	return awsutil.Prettify(s)
 11713  }
 11714  
 11715  // GoString returns the string representation.
 11716  //
 11717  // API parameter values that are decorated as "sensitive" in the API will not
 11718  // be included in the string output. The member name will be present, but the
 11719  // value will be replaced with "sensitive".
 11720  func (s UpdateSubnetGroupInput) GoString() string {
 11721  	return s.String()
 11722  }
 11723  
 11724  // Validate inspects the fields of the type to determine if they are valid.
 11725  func (s *UpdateSubnetGroupInput) Validate() error {
 11726  	invalidParams := request.ErrInvalidParams{Context: "UpdateSubnetGroupInput"}
 11727  	if s.SubnetGroupName == nil {
 11728  		invalidParams.Add(request.NewErrParamRequired("SubnetGroupName"))
 11729  	}
 11730  
 11731  	if invalidParams.Len() > 0 {
 11732  		return invalidParams
 11733  	}
 11734  	return nil
 11735  }
 11736  
 11737  // SetDescription sets the Description field's value.
 11738  func (s *UpdateSubnetGroupInput) SetDescription(v string) *UpdateSubnetGroupInput {
 11739  	s.Description = &v
 11740  	return s
 11741  }
 11742  
 11743  // SetSubnetGroupName sets the SubnetGroupName field's value.
 11744  func (s *UpdateSubnetGroupInput) SetSubnetGroupName(v string) *UpdateSubnetGroupInput {
 11745  	s.SubnetGroupName = &v
 11746  	return s
 11747  }
 11748  
 11749  // SetSubnetIds sets the SubnetIds field's value.
 11750  func (s *UpdateSubnetGroupInput) SetSubnetIds(v []*string) *UpdateSubnetGroupInput {
 11751  	s.SubnetIds = v
 11752  	return s
 11753  }
 11754  
 11755  type UpdateSubnetGroupOutput struct {
 11756  	_ struct{} `type:"structure"`
 11757  
 11758  	// The updated subnet group
 11759  	SubnetGroup *SubnetGroup `type:"structure"`
 11760  }
 11761  
 11762  // String returns the string representation.
 11763  //
 11764  // API parameter values that are decorated as "sensitive" in the API will not
 11765  // be included in the string output. The member name will be present, but the
 11766  // value will be replaced with "sensitive".
 11767  func (s UpdateSubnetGroupOutput) String() string {
 11768  	return awsutil.Prettify(s)
 11769  }
 11770  
 11771  // GoString returns the string representation.
 11772  //
 11773  // API parameter values that are decorated as "sensitive" in the API will not
 11774  // be included in the string output. The member name will be present, but the
 11775  // value will be replaced with "sensitive".
 11776  func (s UpdateSubnetGroupOutput) GoString() string {
 11777  	return s.String()
 11778  }
 11779  
 11780  // SetSubnetGroup sets the SubnetGroup field's value.
 11781  func (s *UpdateSubnetGroupOutput) SetSubnetGroup(v *SubnetGroup) *UpdateSubnetGroupOutput {
 11782  	s.SubnetGroup = v
 11783  	return s
 11784  }
 11785  
 11786  type UpdateUserInput struct {
 11787  	_ struct{} `type:"structure"`
 11788  
 11789  	// Access permissions string used for this user.
 11790  	AccessString *string `type:"string"`
 11791  
 11792  	// Denotes the user's authentication properties, such as whether it requires
 11793  	// a password to authenticate.
 11794  	AuthenticationMode *AuthenticationMode `type:"structure"`
 11795  
 11796  	// The name of the user
 11797  	//
 11798  	// UserName is a required field
 11799  	UserName *string `min:"1" type:"string" required:"true"`
 11800  }
 11801  
 11802  // String returns the string representation.
 11803  //
 11804  // API parameter values that are decorated as "sensitive" in the API will not
 11805  // be included in the string output. The member name will be present, but the
 11806  // value will be replaced with "sensitive".
 11807  func (s UpdateUserInput) String() string {
 11808  	return awsutil.Prettify(s)
 11809  }
 11810  
 11811  // GoString returns the string representation.
 11812  //
 11813  // API parameter values that are decorated as "sensitive" in the API will not
 11814  // be included in the string output. The member name will be present, but the
 11815  // value will be replaced with "sensitive".
 11816  func (s UpdateUserInput) GoString() string {
 11817  	return s.String()
 11818  }
 11819  
 11820  // Validate inspects the fields of the type to determine if they are valid.
 11821  func (s *UpdateUserInput) Validate() error {
 11822  	invalidParams := request.ErrInvalidParams{Context: "UpdateUserInput"}
 11823  	if s.UserName == nil {
 11824  		invalidParams.Add(request.NewErrParamRequired("UserName"))
 11825  	}
 11826  	if s.UserName != nil && len(*s.UserName) < 1 {
 11827  		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
 11828  	}
 11829  	if s.AuthenticationMode != nil {
 11830  		if err := s.AuthenticationMode.Validate(); err != nil {
 11831  			invalidParams.AddNested("AuthenticationMode", err.(request.ErrInvalidParams))
 11832  		}
 11833  	}
 11834  
 11835  	if invalidParams.Len() > 0 {
 11836  		return invalidParams
 11837  	}
 11838  	return nil
 11839  }
 11840  
 11841  // SetAccessString sets the AccessString field's value.
 11842  func (s *UpdateUserInput) SetAccessString(v string) *UpdateUserInput {
 11843  	s.AccessString = &v
 11844  	return s
 11845  }
 11846  
 11847  // SetAuthenticationMode sets the AuthenticationMode field's value.
 11848  func (s *UpdateUserInput) SetAuthenticationMode(v *AuthenticationMode) *UpdateUserInput {
 11849  	s.AuthenticationMode = v
 11850  	return s
 11851  }
 11852  
 11853  // SetUserName sets the UserName field's value.
 11854  func (s *UpdateUserInput) SetUserName(v string) *UpdateUserInput {
 11855  	s.UserName = &v
 11856  	return s
 11857  }
 11858  
 11859  type UpdateUserOutput struct {
 11860  	_ struct{} `type:"structure"`
 11861  
 11862  	// The updated user
 11863  	User *User `type:"structure"`
 11864  }
 11865  
 11866  // String returns the string representation.
 11867  //
 11868  // API parameter values that are decorated as "sensitive" in the API will not
 11869  // be included in the string output. The member name will be present, but the
 11870  // value will be replaced with "sensitive".
 11871  func (s UpdateUserOutput) String() string {
 11872  	return awsutil.Prettify(s)
 11873  }
 11874  
 11875  // GoString returns the string representation.
 11876  //
 11877  // API parameter values that are decorated as "sensitive" in the API will not
 11878  // be included in the string output. The member name will be present, but the
 11879  // value will be replaced with "sensitive".
 11880  func (s UpdateUserOutput) GoString() string {
 11881  	return s.String()
 11882  }
 11883  
 11884  // SetUser sets the User field's value.
 11885  func (s *UpdateUserOutput) SetUser(v *User) *UpdateUserOutput {
 11886  	s.User = v
 11887  	return s
 11888  }
 11889  
 11890  // You create users and assign them specific permissions by using an access
 11891  // string. You assign the users to Access Control Lists aligned with a specific
 11892  // role (administrators, human resources) that are then deployed to one or more
 11893  // MemoryDB clusters.
 11894  type User struct {
 11895  	_ struct{} `type:"structure"`
 11896  
 11897  	// The names of the Access Control Lists to which the user belongs
 11898  	ACLNames []*string `type:"list"`
 11899  
 11900  	// The Amazon Resource Name (ARN) of the user.
 11901  	ARN *string `type:"string"`
 11902  
 11903  	// Access permissions string used for this user.
 11904  	AccessString *string `type:"string"`
 11905  
 11906  	// Denotes whether the user requires a password to authenticate.
 11907  	Authentication *Authentication `type:"structure"`
 11908  
 11909  	// The minimum engine version supported for the user
 11910  	MinimumEngineVersion *string `type:"string"`
 11911  
 11912  	// The name of the user
 11913  	Name *string `type:"string"`
 11914  
 11915  	// Indicates the user status. Can be "active", "modifying" or "deleting".
 11916  	Status *string `type:"string"`
 11917  }
 11918  
 11919  // String returns the string representation.
 11920  //
 11921  // API parameter values that are decorated as "sensitive" in the API will not
 11922  // be included in the string output. The member name will be present, but the
 11923  // value will be replaced with "sensitive".
 11924  func (s User) String() string {
 11925  	return awsutil.Prettify(s)
 11926  }
 11927  
 11928  // GoString returns the string representation.
 11929  //
 11930  // API parameter values that are decorated as "sensitive" in the API will not
 11931  // be included in the string output. The member name will be present, but the
 11932  // value will be replaced with "sensitive".
 11933  func (s User) GoString() string {
 11934  	return s.String()
 11935  }
 11936  
 11937  // SetACLNames sets the ACLNames field's value.
 11938  func (s *User) SetACLNames(v []*string) *User {
 11939  	s.ACLNames = v
 11940  	return s
 11941  }
 11942  
 11943  // SetARN sets the ARN field's value.
 11944  func (s *User) SetARN(v string) *User {
 11945  	s.ARN = &v
 11946  	return s
 11947  }
 11948  
 11949  // SetAccessString sets the AccessString field's value.
 11950  func (s *User) SetAccessString(v string) *User {
 11951  	s.AccessString = &v
 11952  	return s
 11953  }
 11954  
 11955  // SetAuthentication sets the Authentication field's value.
 11956  func (s *User) SetAuthentication(v *Authentication) *User {
 11957  	s.Authentication = v
 11958  	return s
 11959  }
 11960  
 11961  // SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
 11962  func (s *User) SetMinimumEngineVersion(v string) *User {
 11963  	s.MinimumEngineVersion = &v
 11964  	return s
 11965  }
 11966  
 11967  // SetName sets the Name field's value.
 11968  func (s *User) SetName(v string) *User {
 11969  	s.Name = &v
 11970  	return s
 11971  }
 11972  
 11973  // SetStatus sets the Status field's value.
 11974  func (s *User) SetStatus(v string) *User {
 11975  	s.Status = &v
 11976  	return s
 11977  }
 11978  
 11979  type UserAlreadyExistsFault struct {
 11980  	_            struct{}                  `type:"structure"`
 11981  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11982  
 11983  	Message_ *string `locationName:"message" type:"string"`
 11984  }
 11985  
 11986  // String returns the string representation.
 11987  //
 11988  // API parameter values that are decorated as "sensitive" in the API will not
 11989  // be included in the string output. The member name will be present, but the
 11990  // value will be replaced with "sensitive".
 11991  func (s UserAlreadyExistsFault) String() string {
 11992  	return awsutil.Prettify(s)
 11993  }
 11994  
 11995  // GoString returns the string representation.
 11996  //
 11997  // API parameter values that are decorated as "sensitive" in the API will not
 11998  // be included in the string output. The member name will be present, but the
 11999  // value will be replaced with "sensitive".
 12000  func (s UserAlreadyExistsFault) GoString() string {
 12001  	return s.String()
 12002  }
 12003  
 12004  func newErrorUserAlreadyExistsFault(v protocol.ResponseMetadata) error {
 12005  	return &UserAlreadyExistsFault{
 12006  		RespMetadata: v,
 12007  	}
 12008  }
 12009  
 12010  // Code returns the exception type name.
 12011  func (s *UserAlreadyExistsFault) Code() string {
 12012  	return "UserAlreadyExistsFault"
 12013  }
 12014  
 12015  // Message returns the exception's message.
 12016  func (s *UserAlreadyExistsFault) Message() string {
 12017  	if s.Message_ != nil {
 12018  		return *s.Message_
 12019  	}
 12020  	return ""
 12021  }
 12022  
 12023  // OrigErr always returns nil, satisfies awserr.Error interface.
 12024  func (s *UserAlreadyExistsFault) OrigErr() error {
 12025  	return nil
 12026  }
 12027  
 12028  func (s *UserAlreadyExistsFault) Error() string {
 12029  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12030  }
 12031  
 12032  // Status code returns the HTTP status code for the request's response error.
 12033  func (s *UserAlreadyExistsFault) StatusCode() int {
 12034  	return s.RespMetadata.StatusCode
 12035  }
 12036  
 12037  // RequestID returns the service's response RequestID for request.
 12038  func (s *UserAlreadyExistsFault) RequestID() string {
 12039  	return s.RespMetadata.RequestID
 12040  }
 12041  
 12042  type UserNotFoundFault struct {
 12043  	_            struct{}                  `type:"structure"`
 12044  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12045  
 12046  	Message_ *string `locationName:"message" type:"string"`
 12047  }
 12048  
 12049  // String returns the string representation.
 12050  //
 12051  // API parameter values that are decorated as "sensitive" in the API will not
 12052  // be included in the string output. The member name will be present, but the
 12053  // value will be replaced with "sensitive".
 12054  func (s UserNotFoundFault) String() string {
 12055  	return awsutil.Prettify(s)
 12056  }
 12057  
 12058  // GoString returns the string representation.
 12059  //
 12060  // API parameter values that are decorated as "sensitive" in the API will not
 12061  // be included in the string output. The member name will be present, but the
 12062  // value will be replaced with "sensitive".
 12063  func (s UserNotFoundFault) GoString() string {
 12064  	return s.String()
 12065  }
 12066  
 12067  func newErrorUserNotFoundFault(v protocol.ResponseMetadata) error {
 12068  	return &UserNotFoundFault{
 12069  		RespMetadata: v,
 12070  	}
 12071  }
 12072  
 12073  // Code returns the exception type name.
 12074  func (s *UserNotFoundFault) Code() string {
 12075  	return "UserNotFoundFault"
 12076  }
 12077  
 12078  // Message returns the exception's message.
 12079  func (s *UserNotFoundFault) Message() string {
 12080  	if s.Message_ != nil {
 12081  		return *s.Message_
 12082  	}
 12083  	return ""
 12084  }
 12085  
 12086  // OrigErr always returns nil, satisfies awserr.Error interface.
 12087  func (s *UserNotFoundFault) OrigErr() error {
 12088  	return nil
 12089  }
 12090  
 12091  func (s *UserNotFoundFault) Error() string {
 12092  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12093  }
 12094  
 12095  // Status code returns the HTTP status code for the request's response error.
 12096  func (s *UserNotFoundFault) StatusCode() int {
 12097  	return s.RespMetadata.StatusCode
 12098  }
 12099  
 12100  // RequestID returns the service's response RequestID for request.
 12101  func (s *UserNotFoundFault) RequestID() string {
 12102  	return s.RespMetadata.RequestID
 12103  }
 12104  
 12105  type UserQuotaExceededFault struct {
 12106  	_            struct{}                  `type:"structure"`
 12107  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12108  
 12109  	Message_ *string `locationName:"message" type:"string"`
 12110  }
 12111  
 12112  // String returns the string representation.
 12113  //
 12114  // API parameter values that are decorated as "sensitive" in the API will not
 12115  // be included in the string output. The member name will be present, but the
 12116  // value will be replaced with "sensitive".
 12117  func (s UserQuotaExceededFault) String() string {
 12118  	return awsutil.Prettify(s)
 12119  }
 12120  
 12121  // GoString returns the string representation.
 12122  //
 12123  // API parameter values that are decorated as "sensitive" in the API will not
 12124  // be included in the string output. The member name will be present, but the
 12125  // value will be replaced with "sensitive".
 12126  func (s UserQuotaExceededFault) GoString() string {
 12127  	return s.String()
 12128  }
 12129  
 12130  func newErrorUserQuotaExceededFault(v protocol.ResponseMetadata) error {
 12131  	return &UserQuotaExceededFault{
 12132  		RespMetadata: v,
 12133  	}
 12134  }
 12135  
 12136  // Code returns the exception type name.
 12137  func (s *UserQuotaExceededFault) Code() string {
 12138  	return "UserQuotaExceededFault"
 12139  }
 12140  
 12141  // Message returns the exception's message.
 12142  func (s *UserQuotaExceededFault) Message() string {
 12143  	if s.Message_ != nil {
 12144  		return *s.Message_
 12145  	}
 12146  	return ""
 12147  }
 12148  
 12149  // OrigErr always returns nil, satisfies awserr.Error interface.
 12150  func (s *UserQuotaExceededFault) OrigErr() error {
 12151  	return nil
 12152  }
 12153  
 12154  func (s *UserQuotaExceededFault) Error() string {
 12155  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12156  }
 12157  
 12158  // Status code returns the HTTP status code for the request's response error.
 12159  func (s *UserQuotaExceededFault) StatusCode() int {
 12160  	return s.RespMetadata.StatusCode
 12161  }
 12162  
 12163  // RequestID returns the service's response RequestID for request.
 12164  func (s *UserQuotaExceededFault) RequestID() string {
 12165  	return s.RespMetadata.RequestID
 12166  }
 12167  
 12168  const (
 12169  	// AZStatusSingleaz is a AZStatus enum value
 12170  	AZStatusSingleaz = "singleaz"
 12171  
 12172  	// AZStatusMultiaz is a AZStatus enum value
 12173  	AZStatusMultiaz = "multiaz"
 12174  )
 12175  
 12176  // AZStatus_Values returns all elements of the AZStatus enum
 12177  func AZStatus_Values() []string {
 12178  	return []string{
 12179  		AZStatusSingleaz,
 12180  		AZStatusMultiaz,
 12181  	}
 12182  }
 12183  
 12184  const (
 12185  	// AuthenticationTypePassword is a AuthenticationType enum value
 12186  	AuthenticationTypePassword = "password"
 12187  
 12188  	// AuthenticationTypeNoPassword is a AuthenticationType enum value
 12189  	AuthenticationTypeNoPassword = "no-password"
 12190  )
 12191  
 12192  // AuthenticationType_Values returns all elements of the AuthenticationType enum
 12193  func AuthenticationType_Values() []string {
 12194  	return []string{
 12195  		AuthenticationTypePassword,
 12196  		AuthenticationTypeNoPassword,
 12197  	}
 12198  }
 12199  
 12200  const (
 12201  	// InputAuthenticationTypePassword is a InputAuthenticationType enum value
 12202  	InputAuthenticationTypePassword = "password"
 12203  )
 12204  
 12205  // InputAuthenticationType_Values returns all elements of the InputAuthenticationType enum
 12206  func InputAuthenticationType_Values() []string {
 12207  	return []string{
 12208  		InputAuthenticationTypePassword,
 12209  	}
 12210  }
 12211  
 12212  const (
 12213  	// ServiceUpdateStatusAvailable is a ServiceUpdateStatus enum value
 12214  	ServiceUpdateStatusAvailable = "available"
 12215  
 12216  	// ServiceUpdateStatusInProgress is a ServiceUpdateStatus enum value
 12217  	ServiceUpdateStatusInProgress = "in-progress"
 12218  
 12219  	// ServiceUpdateStatusComplete is a ServiceUpdateStatus enum value
 12220  	ServiceUpdateStatusComplete = "complete"
 12221  
 12222  	// ServiceUpdateStatusScheduled is a ServiceUpdateStatus enum value
 12223  	ServiceUpdateStatusScheduled = "scheduled"
 12224  )
 12225  
 12226  // ServiceUpdateStatus_Values returns all elements of the ServiceUpdateStatus enum
 12227  func ServiceUpdateStatus_Values() []string {
 12228  	return []string{
 12229  		ServiceUpdateStatusAvailable,
 12230  		ServiceUpdateStatusInProgress,
 12231  		ServiceUpdateStatusComplete,
 12232  		ServiceUpdateStatusScheduled,
 12233  	}
 12234  }
 12235  
 12236  const (
 12237  	// ServiceUpdateTypeSecurityUpdate is a ServiceUpdateType enum value
 12238  	ServiceUpdateTypeSecurityUpdate = "security-update"
 12239  )
 12240  
 12241  // ServiceUpdateType_Values returns all elements of the ServiceUpdateType enum
 12242  func ServiceUpdateType_Values() []string {
 12243  	return []string{
 12244  		ServiceUpdateTypeSecurityUpdate,
 12245  	}
 12246  }
 12247  
 12248  const (
 12249  	// SourceTypeNode is a SourceType enum value
 12250  	SourceTypeNode = "node"
 12251  
 12252  	// SourceTypeParameterGroup is a SourceType enum value
 12253  	SourceTypeParameterGroup = "parameter-group"
 12254  
 12255  	// SourceTypeSubnetGroup is a SourceType enum value
 12256  	SourceTypeSubnetGroup = "subnet-group"
 12257  
 12258  	// SourceTypeCluster is a SourceType enum value
 12259  	SourceTypeCluster = "cluster"
 12260  
 12261  	// SourceTypeUser is a SourceType enum value
 12262  	SourceTypeUser = "user"
 12263  
 12264  	// SourceTypeAcl is a SourceType enum value
 12265  	SourceTypeAcl = "acl"
 12266  )
 12267  
 12268  // SourceType_Values returns all elements of the SourceType enum
 12269  func SourceType_Values() []string {
 12270  	return []string{
 12271  		SourceTypeNode,
 12272  		SourceTypeParameterGroup,
 12273  		SourceTypeSubnetGroup,
 12274  		SourceTypeCluster,
 12275  		SourceTypeUser,
 12276  		SourceTypeAcl,
 12277  	}
 12278  }