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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package docdb
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/query"
    14  )
    15  
    16  const opAddSourceIdentifierToSubscription = "AddSourceIdentifierToSubscription"
    17  
    18  // AddSourceIdentifierToSubscriptionRequest generates a "aws/request.Request" representing the
    19  // client's request for the AddSourceIdentifierToSubscription operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See AddSourceIdentifierToSubscription for more information on using the AddSourceIdentifierToSubscription
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the AddSourceIdentifierToSubscriptionRequest method.
    34  //    req, resp := client.AddSourceIdentifierToSubscriptionRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/AddSourceIdentifierToSubscription
    42  func (c *DocDB) AddSourceIdentifierToSubscriptionRequest(input *AddSourceIdentifierToSubscriptionInput) (req *request.Request, output *AddSourceIdentifierToSubscriptionOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAddSourceIdentifierToSubscription,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AddSourceIdentifierToSubscriptionInput{}
    51  	}
    52  
    53  	output = &AddSourceIdentifierToSubscriptionOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // AddSourceIdentifierToSubscription API operation for Amazon DocumentDB with MongoDB compatibility.
    59  //
    60  // Adds a source identifier to an existing event notification subscription.
    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 DocumentDB with MongoDB compatibility's
    67  // API operation AddSourceIdentifierToSubscription for usage and error information.
    68  //
    69  // Returned Error Codes:
    70  //   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
    71  //   The subscription name does not exist.
    72  //
    73  //   * ErrCodeSourceNotFoundFault "SourceNotFound"
    74  //   The requested source could not be found.
    75  //
    76  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/AddSourceIdentifierToSubscription
    77  func (c *DocDB) AddSourceIdentifierToSubscription(input *AddSourceIdentifierToSubscriptionInput) (*AddSourceIdentifierToSubscriptionOutput, error) {
    78  	req, out := c.AddSourceIdentifierToSubscriptionRequest(input)
    79  	return out, req.Send()
    80  }
    81  
    82  // AddSourceIdentifierToSubscriptionWithContext is the same as AddSourceIdentifierToSubscription with the addition of
    83  // the ability to pass a context and additional request options.
    84  //
    85  // See AddSourceIdentifierToSubscription for details on how to use this API operation.
    86  //
    87  // The context must be non-nil and will be used for request cancellation. If
    88  // the context is nil a panic will occur. In the future the SDK may create
    89  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    90  // for more information on using Contexts.
    91  func (c *DocDB) AddSourceIdentifierToSubscriptionWithContext(ctx aws.Context, input *AddSourceIdentifierToSubscriptionInput, opts ...request.Option) (*AddSourceIdentifierToSubscriptionOutput, error) {
    92  	req, out := c.AddSourceIdentifierToSubscriptionRequest(input)
    93  	req.SetContext(ctx)
    94  	req.ApplyOptions(opts...)
    95  	return out, req.Send()
    96  }
    97  
    98  const opAddTagsToResource = "AddTagsToResource"
    99  
   100  // AddTagsToResourceRequest generates a "aws/request.Request" representing the
   101  // client's request for the AddTagsToResource operation. The "output" return
   102  // value will be populated with the request's response once the request completes
   103  // successfully.
   104  //
   105  // Use "Send" method on the returned Request to send the API call to the service.
   106  // the "output" return value is not valid until after Send returns without error.
   107  //
   108  // See AddTagsToResource for more information on using the AddTagsToResource
   109  // API call, and error handling.
   110  //
   111  // This method is useful when you want to inject custom logic or configuration
   112  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   113  //
   114  //
   115  //    // Example sending a request using the AddTagsToResourceRequest method.
   116  //    req, resp := client.AddTagsToResourceRequest(params)
   117  //
   118  //    err := req.Send()
   119  //    if err == nil { // resp is now filled
   120  //        fmt.Println(resp)
   121  //    }
   122  //
   123  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/AddTagsToResource
   124  func (c *DocDB) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
   125  	op := &request.Operation{
   126  		Name:       opAddTagsToResource,
   127  		HTTPMethod: "POST",
   128  		HTTPPath:   "/",
   129  	}
   130  
   131  	if input == nil {
   132  		input = &AddTagsToResourceInput{}
   133  	}
   134  
   135  	output = &AddTagsToResourceOutput{}
   136  	req = c.newRequest(op, input, output)
   137  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   138  	return
   139  }
   140  
   141  // AddTagsToResource API operation for Amazon DocumentDB with MongoDB compatibility.
   142  //
   143  // Adds metadata tags to an Amazon DocumentDB resource. You can use these tags
   144  // with cost allocation reporting to track costs that are associated with Amazon
   145  // DocumentDB resources or in a Condition statement in an Identity and Access
   146  // Management (IAM) policy for Amazon DocumentDB.
   147  //
   148  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   149  // with awserr.Error's Code and Message methods to get detailed information about
   150  // the error.
   151  //
   152  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
   153  // API operation AddTagsToResource for usage and error information.
   154  //
   155  // Returned Error Codes:
   156  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
   157  //   DBInstanceIdentifier doesn't refer to an existing instance.
   158  //
   159  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
   160  //   DBSnapshotIdentifier doesn't refer to an existing snapshot.
   161  //
   162  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
   163  //   DBClusterIdentifier doesn't refer to an existing cluster.
   164  //
   165  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/AddTagsToResource
   166  func (c *DocDB) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
   167  	req, out := c.AddTagsToResourceRequest(input)
   168  	return out, req.Send()
   169  }
   170  
   171  // AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of
   172  // the ability to pass a context and additional request options.
   173  //
   174  // See AddTagsToResource for details on how to use this API operation.
   175  //
   176  // The context must be non-nil and will be used for request cancellation. If
   177  // the context is nil a panic will occur. In the future the SDK may create
   178  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   179  // for more information on using Contexts.
   180  func (c *DocDB) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) {
   181  	req, out := c.AddTagsToResourceRequest(input)
   182  	req.SetContext(ctx)
   183  	req.ApplyOptions(opts...)
   184  	return out, req.Send()
   185  }
   186  
   187  const opApplyPendingMaintenanceAction = "ApplyPendingMaintenanceAction"
   188  
   189  // ApplyPendingMaintenanceActionRequest generates a "aws/request.Request" representing the
   190  // client's request for the ApplyPendingMaintenanceAction operation. The "output" return
   191  // value will be populated with the request's response once the request completes
   192  // successfully.
   193  //
   194  // Use "Send" method on the returned Request to send the API call to the service.
   195  // the "output" return value is not valid until after Send returns without error.
   196  //
   197  // See ApplyPendingMaintenanceAction for more information on using the ApplyPendingMaintenanceAction
   198  // API call, and error handling.
   199  //
   200  // This method is useful when you want to inject custom logic or configuration
   201  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   202  //
   203  //
   204  //    // Example sending a request using the ApplyPendingMaintenanceActionRequest method.
   205  //    req, resp := client.ApplyPendingMaintenanceActionRequest(params)
   206  //
   207  //    err := req.Send()
   208  //    if err == nil { // resp is now filled
   209  //        fmt.Println(resp)
   210  //    }
   211  //
   212  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ApplyPendingMaintenanceAction
   213  func (c *DocDB) ApplyPendingMaintenanceActionRequest(input *ApplyPendingMaintenanceActionInput) (req *request.Request, output *ApplyPendingMaintenanceActionOutput) {
   214  	op := &request.Operation{
   215  		Name:       opApplyPendingMaintenanceAction,
   216  		HTTPMethod: "POST",
   217  		HTTPPath:   "/",
   218  	}
   219  
   220  	if input == nil {
   221  		input = &ApplyPendingMaintenanceActionInput{}
   222  	}
   223  
   224  	output = &ApplyPendingMaintenanceActionOutput{}
   225  	req = c.newRequest(op, input, output)
   226  	return
   227  }
   228  
   229  // ApplyPendingMaintenanceAction API operation for Amazon DocumentDB with MongoDB compatibility.
   230  //
   231  // Applies a pending maintenance action to a resource (for example, to an Amazon
   232  // DocumentDB instance).
   233  //
   234  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   235  // with awserr.Error's Code and Message methods to get detailed information about
   236  // the error.
   237  //
   238  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
   239  // API operation ApplyPendingMaintenanceAction for usage and error information.
   240  //
   241  // Returned Error Codes:
   242  //   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
   243  //   The specified resource ID was not found.
   244  //
   245  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
   246  //   The cluster isn't in a valid state.
   247  //
   248  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
   249  //   The specified instance isn't in the available state.
   250  //
   251  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ApplyPendingMaintenanceAction
   252  func (c *DocDB) ApplyPendingMaintenanceAction(input *ApplyPendingMaintenanceActionInput) (*ApplyPendingMaintenanceActionOutput, error) {
   253  	req, out := c.ApplyPendingMaintenanceActionRequest(input)
   254  	return out, req.Send()
   255  }
   256  
   257  // ApplyPendingMaintenanceActionWithContext is the same as ApplyPendingMaintenanceAction with the addition of
   258  // the ability to pass a context and additional request options.
   259  //
   260  // See ApplyPendingMaintenanceAction for details on how to use this API operation.
   261  //
   262  // The context must be non-nil and will be used for request cancellation. If
   263  // the context is nil a panic will occur. In the future the SDK may create
   264  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   265  // for more information on using Contexts.
   266  func (c *DocDB) ApplyPendingMaintenanceActionWithContext(ctx aws.Context, input *ApplyPendingMaintenanceActionInput, opts ...request.Option) (*ApplyPendingMaintenanceActionOutput, error) {
   267  	req, out := c.ApplyPendingMaintenanceActionRequest(input)
   268  	req.SetContext(ctx)
   269  	req.ApplyOptions(opts...)
   270  	return out, req.Send()
   271  }
   272  
   273  const opCopyDBClusterParameterGroup = "CopyDBClusterParameterGroup"
   274  
   275  // CopyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
   276  // client's request for the CopyDBClusterParameterGroup operation. The "output" return
   277  // value will be populated with the request's response once the request completes
   278  // successfully.
   279  //
   280  // Use "Send" method on the returned Request to send the API call to the service.
   281  // the "output" return value is not valid until after Send returns without error.
   282  //
   283  // See CopyDBClusterParameterGroup for more information on using the CopyDBClusterParameterGroup
   284  // API call, and error handling.
   285  //
   286  // This method is useful when you want to inject custom logic or configuration
   287  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   288  //
   289  //
   290  //    // Example sending a request using the CopyDBClusterParameterGroupRequest method.
   291  //    req, resp := client.CopyDBClusterParameterGroupRequest(params)
   292  //
   293  //    err := req.Send()
   294  //    if err == nil { // resp is now filled
   295  //        fmt.Println(resp)
   296  //    }
   297  //
   298  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterParameterGroup
   299  func (c *DocDB) CopyDBClusterParameterGroupRequest(input *CopyDBClusterParameterGroupInput) (req *request.Request, output *CopyDBClusterParameterGroupOutput) {
   300  	op := &request.Operation{
   301  		Name:       opCopyDBClusterParameterGroup,
   302  		HTTPMethod: "POST",
   303  		HTTPPath:   "/",
   304  	}
   305  
   306  	if input == nil {
   307  		input = &CopyDBClusterParameterGroupInput{}
   308  	}
   309  
   310  	output = &CopyDBClusterParameterGroupOutput{}
   311  	req = c.newRequest(op, input, output)
   312  	return
   313  }
   314  
   315  // CopyDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
   316  //
   317  // Copies the specified cluster parameter group.
   318  //
   319  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   320  // with awserr.Error's Code and Message methods to get detailed information about
   321  // the error.
   322  //
   323  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
   324  // API operation CopyDBClusterParameterGroup for usage and error information.
   325  //
   326  // Returned Error Codes:
   327  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
   328  //   DBParameterGroupName doesn't refer to an existing parameter group.
   329  //
   330  //   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
   331  //   This request would cause you to exceed the allowed number of parameter groups.
   332  //
   333  //   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
   334  //   A parameter group with the same name already exists.
   335  //
   336  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterParameterGroup
   337  func (c *DocDB) CopyDBClusterParameterGroup(input *CopyDBClusterParameterGroupInput) (*CopyDBClusterParameterGroupOutput, error) {
   338  	req, out := c.CopyDBClusterParameterGroupRequest(input)
   339  	return out, req.Send()
   340  }
   341  
   342  // CopyDBClusterParameterGroupWithContext is the same as CopyDBClusterParameterGroup with the addition of
   343  // the ability to pass a context and additional request options.
   344  //
   345  // See CopyDBClusterParameterGroup for details on how to use this API operation.
   346  //
   347  // The context must be non-nil and will be used for request cancellation. If
   348  // the context is nil a panic will occur. In the future the SDK may create
   349  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   350  // for more information on using Contexts.
   351  func (c *DocDB) CopyDBClusterParameterGroupWithContext(ctx aws.Context, input *CopyDBClusterParameterGroupInput, opts ...request.Option) (*CopyDBClusterParameterGroupOutput, error) {
   352  	req, out := c.CopyDBClusterParameterGroupRequest(input)
   353  	req.SetContext(ctx)
   354  	req.ApplyOptions(opts...)
   355  	return out, req.Send()
   356  }
   357  
   358  const opCopyDBClusterSnapshot = "CopyDBClusterSnapshot"
   359  
   360  // CopyDBClusterSnapshotRequest generates a "aws/request.Request" representing the
   361  // client's request for the CopyDBClusterSnapshot operation. The "output" return
   362  // value will be populated with the request's response once the request completes
   363  // successfully.
   364  //
   365  // Use "Send" method on the returned Request to send the API call to the service.
   366  // the "output" return value is not valid until after Send returns without error.
   367  //
   368  // See CopyDBClusterSnapshot for more information on using the CopyDBClusterSnapshot
   369  // API call, and error handling.
   370  //
   371  // This method is useful when you want to inject custom logic or configuration
   372  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   373  //
   374  //
   375  //    // Example sending a request using the CopyDBClusterSnapshotRequest method.
   376  //    req, resp := client.CopyDBClusterSnapshotRequest(params)
   377  //
   378  //    err := req.Send()
   379  //    if err == nil { // resp is now filled
   380  //        fmt.Println(resp)
   381  //    }
   382  //
   383  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterSnapshot
   384  func (c *DocDB) CopyDBClusterSnapshotRequest(input *CopyDBClusterSnapshotInput) (req *request.Request, output *CopyDBClusterSnapshotOutput) {
   385  	op := &request.Operation{
   386  		Name:       opCopyDBClusterSnapshot,
   387  		HTTPMethod: "POST",
   388  		HTTPPath:   "/",
   389  	}
   390  
   391  	if input == nil {
   392  		input = &CopyDBClusterSnapshotInput{}
   393  	}
   394  
   395  	output = &CopyDBClusterSnapshotOutput{}
   396  	req = c.newRequest(op, input, output)
   397  	return
   398  }
   399  
   400  // CopyDBClusterSnapshot API operation for Amazon DocumentDB with MongoDB compatibility.
   401  //
   402  // Copies a snapshot of a cluster.
   403  //
   404  // To copy a cluster snapshot from a shared manual cluster snapshot, SourceDBClusterSnapshotIdentifier
   405  // must be the Amazon Resource Name (ARN) of the shared cluster snapshot. You
   406  // can only copy a shared DB cluster snapshot, whether encrypted or not, in
   407  // the same Region.
   408  //
   409  // To cancel the copy operation after it is in progress, delete the target cluster
   410  // snapshot identified by TargetDBClusterSnapshotIdentifier while that cluster
   411  // snapshot is in the copying status.
   412  //
   413  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   414  // with awserr.Error's Code and Message methods to get detailed information about
   415  // the error.
   416  //
   417  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
   418  // API operation CopyDBClusterSnapshot for usage and error information.
   419  //
   420  // Returned Error Codes:
   421  //   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
   422  //   You already have a cluster snapshot with the given identifier.
   423  //
   424  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
   425  //   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
   426  //
   427  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
   428  //   The cluster isn't in a valid state.
   429  //
   430  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
   431  //   The provided value isn't a valid cluster snapshot state.
   432  //
   433  //   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
   434  //   The request would cause you to exceed the allowed number of snapshots.
   435  //
   436  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
   437  //   An error occurred when accessing an KMS key.
   438  //
   439  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterSnapshot
   440  func (c *DocDB) CopyDBClusterSnapshot(input *CopyDBClusterSnapshotInput) (*CopyDBClusterSnapshotOutput, error) {
   441  	req, out := c.CopyDBClusterSnapshotRequest(input)
   442  	return out, req.Send()
   443  }
   444  
   445  // CopyDBClusterSnapshotWithContext is the same as CopyDBClusterSnapshot with the addition of
   446  // the ability to pass a context and additional request options.
   447  //
   448  // See CopyDBClusterSnapshot for details on how to use this API operation.
   449  //
   450  // The context must be non-nil and will be used for request cancellation. If
   451  // the context is nil a panic will occur. In the future the SDK may create
   452  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   453  // for more information on using Contexts.
   454  func (c *DocDB) CopyDBClusterSnapshotWithContext(ctx aws.Context, input *CopyDBClusterSnapshotInput, opts ...request.Option) (*CopyDBClusterSnapshotOutput, error) {
   455  	req, out := c.CopyDBClusterSnapshotRequest(input)
   456  	req.SetContext(ctx)
   457  	req.ApplyOptions(opts...)
   458  	return out, req.Send()
   459  }
   460  
   461  const opCreateDBCluster = "CreateDBCluster"
   462  
   463  // CreateDBClusterRequest generates a "aws/request.Request" representing the
   464  // client's request for the CreateDBCluster operation. The "output" return
   465  // value will be populated with the request's response once the request completes
   466  // successfully.
   467  //
   468  // Use "Send" method on the returned Request to send the API call to the service.
   469  // the "output" return value is not valid until after Send returns without error.
   470  //
   471  // See CreateDBCluster for more information on using the CreateDBCluster
   472  // API call, and error handling.
   473  //
   474  // This method is useful when you want to inject custom logic or configuration
   475  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   476  //
   477  //
   478  //    // Example sending a request using the CreateDBClusterRequest method.
   479  //    req, resp := client.CreateDBClusterRequest(params)
   480  //
   481  //    err := req.Send()
   482  //    if err == nil { // resp is now filled
   483  //        fmt.Println(resp)
   484  //    }
   485  //
   486  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBCluster
   487  func (c *DocDB) CreateDBClusterRequest(input *CreateDBClusterInput) (req *request.Request, output *CreateDBClusterOutput) {
   488  	op := &request.Operation{
   489  		Name:       opCreateDBCluster,
   490  		HTTPMethod: "POST",
   491  		HTTPPath:   "/",
   492  	}
   493  
   494  	if input == nil {
   495  		input = &CreateDBClusterInput{}
   496  	}
   497  
   498  	output = &CreateDBClusterOutput{}
   499  	req = c.newRequest(op, input, output)
   500  	return
   501  }
   502  
   503  // CreateDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
   504  //
   505  // Creates a new Amazon DocumentDB cluster.
   506  //
   507  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   508  // with awserr.Error's Code and Message methods to get detailed information about
   509  // the error.
   510  //
   511  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
   512  // API operation CreateDBCluster for usage and error information.
   513  //
   514  // Returned Error Codes:
   515  //   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
   516  //   You already have a cluster with the given identifier.
   517  //
   518  //   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
   519  //   There is not enough storage available for the current action. You might be
   520  //   able to resolve this error by updating your subnet group to use different
   521  //   Availability Zones that have more storage available.
   522  //
   523  //   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
   524  //   The cluster can't be created because you have reached the maximum allowed
   525  //   quota of clusters.
   526  //
   527  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
   528  //   The request would cause you to exceed the allowed amount of storage available
   529  //   across all instances.
   530  //
   531  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
   532  //   DBSubnetGroupName doesn't refer to an existing subnet group.
   533  //
   534  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
   535  //   The subnet group doesn't cover all Availability Zones after it is created
   536  //   because of changes that were made.
   537  //
   538  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
   539  //   The cluster isn't in a valid state.
   540  //
   541  //   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
   542  //   The subnet group can't be deleted because it's in use.
   543  //
   544  //   * ErrCodeInvalidSubnet "InvalidSubnet"
   545  //   The requested subnet is not valid, or multiple subnets were requested that
   546  //   are not all in a common virtual private cloud (VPC).
   547  //
   548  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
   549  //   The specified instance isn't in the available state.
   550  //
   551  //   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
   552  //   DBClusterParameterGroupName doesn't refer to an existing cluster parameter
   553  //   group.
   554  //
   555  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
   556  //   An error occurred when accessing an KMS key.
   557  //
   558  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
   559  //   DBClusterIdentifier doesn't refer to an existing cluster.
   560  //
   561  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
   562  //   DBInstanceIdentifier doesn't refer to an existing instance.
   563  //
   564  //   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
   565  //   Subnets in the subnet group should cover at least two Availability Zones
   566  //   unless there is only one Availability Zone.
   567  //
   568  //   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
   569  //   The GlobalClusterIdentifier doesn't refer to an existing global cluster.
   570  //
   571  //   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
   572  //   The requested operation can't be performed while the cluster is in this state.
   573  //
   574  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBCluster
   575  func (c *DocDB) CreateDBCluster(input *CreateDBClusterInput) (*CreateDBClusterOutput, error) {
   576  	req, out := c.CreateDBClusterRequest(input)
   577  	return out, req.Send()
   578  }
   579  
   580  // CreateDBClusterWithContext is the same as CreateDBCluster with the addition of
   581  // the ability to pass a context and additional request options.
   582  //
   583  // See CreateDBCluster for details on how to use this API operation.
   584  //
   585  // The context must be non-nil and will be used for request cancellation. If
   586  // the context is nil a panic will occur. In the future the SDK may create
   587  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   588  // for more information on using Contexts.
   589  func (c *DocDB) CreateDBClusterWithContext(ctx aws.Context, input *CreateDBClusterInput, opts ...request.Option) (*CreateDBClusterOutput, error) {
   590  	req, out := c.CreateDBClusterRequest(input)
   591  	req.SetContext(ctx)
   592  	req.ApplyOptions(opts...)
   593  	return out, req.Send()
   594  }
   595  
   596  const opCreateDBClusterParameterGroup = "CreateDBClusterParameterGroup"
   597  
   598  // CreateDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
   599  // client's request for the CreateDBClusterParameterGroup operation. The "output" return
   600  // value will be populated with the request's response once the request completes
   601  // successfully.
   602  //
   603  // Use "Send" method on the returned Request to send the API call to the service.
   604  // the "output" return value is not valid until after Send returns without error.
   605  //
   606  // See CreateDBClusterParameterGroup for more information on using the CreateDBClusterParameterGroup
   607  // API call, and error handling.
   608  //
   609  // This method is useful when you want to inject custom logic or configuration
   610  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   611  //
   612  //
   613  //    // Example sending a request using the CreateDBClusterParameterGroupRequest method.
   614  //    req, resp := client.CreateDBClusterParameterGroupRequest(params)
   615  //
   616  //    err := req.Send()
   617  //    if err == nil { // resp is now filled
   618  //        fmt.Println(resp)
   619  //    }
   620  //
   621  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterParameterGroup
   622  func (c *DocDB) CreateDBClusterParameterGroupRequest(input *CreateDBClusterParameterGroupInput) (req *request.Request, output *CreateDBClusterParameterGroupOutput) {
   623  	op := &request.Operation{
   624  		Name:       opCreateDBClusterParameterGroup,
   625  		HTTPMethod: "POST",
   626  		HTTPPath:   "/",
   627  	}
   628  
   629  	if input == nil {
   630  		input = &CreateDBClusterParameterGroupInput{}
   631  	}
   632  
   633  	output = &CreateDBClusterParameterGroupOutput{}
   634  	req = c.newRequest(op, input, output)
   635  	return
   636  }
   637  
   638  // CreateDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
   639  //
   640  // Creates a new cluster parameter group.
   641  //
   642  // Parameters in a cluster parameter group apply to all of the instances in
   643  // a cluster.
   644  //
   645  // A cluster parameter group is initially created with the default parameters
   646  // for the database engine used by instances in the cluster. In Amazon DocumentDB,
   647  // you cannot make modifications directly to the default.docdb3.6 cluster parameter
   648  // group. If your Amazon DocumentDB cluster is using the default cluster parameter
   649  // group and you want to modify a value in it, you must first create a new parameter
   650  // group (https://docs.aws.amazon.com/documentdb/latest/developerguide/cluster_parameter_group-create.html)
   651  // or copy an existing parameter group (https://docs.aws.amazon.com/documentdb/latest/developerguide/cluster_parameter_group-copy.html),
   652  // modify it, and then apply the modified parameter group to your cluster. For
   653  // the new cluster parameter group and associated settings to take effect, you
   654  // must then reboot the instances in the cluster without failover. For more
   655  // information, see Modifying Amazon DocumentDB Cluster Parameter Groups (https://docs.aws.amazon.com/documentdb/latest/developerguide/cluster_parameter_group-modify.html).
   656  //
   657  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   658  // with awserr.Error's Code and Message methods to get detailed information about
   659  // the error.
   660  //
   661  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
   662  // API operation CreateDBClusterParameterGroup for usage and error information.
   663  //
   664  // Returned Error Codes:
   665  //   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
   666  //   This request would cause you to exceed the allowed number of parameter groups.
   667  //
   668  //   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
   669  //   A parameter group with the same name already exists.
   670  //
   671  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterParameterGroup
   672  func (c *DocDB) CreateDBClusterParameterGroup(input *CreateDBClusterParameterGroupInput) (*CreateDBClusterParameterGroupOutput, error) {
   673  	req, out := c.CreateDBClusterParameterGroupRequest(input)
   674  	return out, req.Send()
   675  }
   676  
   677  // CreateDBClusterParameterGroupWithContext is the same as CreateDBClusterParameterGroup with the addition of
   678  // the ability to pass a context and additional request options.
   679  //
   680  // See CreateDBClusterParameterGroup for details on how to use this API operation.
   681  //
   682  // The context must be non-nil and will be used for request cancellation. If
   683  // the context is nil a panic will occur. In the future the SDK may create
   684  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   685  // for more information on using Contexts.
   686  func (c *DocDB) CreateDBClusterParameterGroupWithContext(ctx aws.Context, input *CreateDBClusterParameterGroupInput, opts ...request.Option) (*CreateDBClusterParameterGroupOutput, error) {
   687  	req, out := c.CreateDBClusterParameterGroupRequest(input)
   688  	req.SetContext(ctx)
   689  	req.ApplyOptions(opts...)
   690  	return out, req.Send()
   691  }
   692  
   693  const opCreateDBClusterSnapshot = "CreateDBClusterSnapshot"
   694  
   695  // CreateDBClusterSnapshotRequest generates a "aws/request.Request" representing the
   696  // client's request for the CreateDBClusterSnapshot operation. The "output" return
   697  // value will be populated with the request's response once the request completes
   698  // successfully.
   699  //
   700  // Use "Send" method on the returned Request to send the API call to the service.
   701  // the "output" return value is not valid until after Send returns without error.
   702  //
   703  // See CreateDBClusterSnapshot for more information on using the CreateDBClusterSnapshot
   704  // API call, and error handling.
   705  //
   706  // This method is useful when you want to inject custom logic or configuration
   707  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   708  //
   709  //
   710  //    // Example sending a request using the CreateDBClusterSnapshotRequest method.
   711  //    req, resp := client.CreateDBClusterSnapshotRequest(params)
   712  //
   713  //    err := req.Send()
   714  //    if err == nil { // resp is now filled
   715  //        fmt.Println(resp)
   716  //    }
   717  //
   718  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterSnapshot
   719  func (c *DocDB) CreateDBClusterSnapshotRequest(input *CreateDBClusterSnapshotInput) (req *request.Request, output *CreateDBClusterSnapshotOutput) {
   720  	op := &request.Operation{
   721  		Name:       opCreateDBClusterSnapshot,
   722  		HTTPMethod: "POST",
   723  		HTTPPath:   "/",
   724  	}
   725  
   726  	if input == nil {
   727  		input = &CreateDBClusterSnapshotInput{}
   728  	}
   729  
   730  	output = &CreateDBClusterSnapshotOutput{}
   731  	req = c.newRequest(op, input, output)
   732  	return
   733  }
   734  
   735  // CreateDBClusterSnapshot API operation for Amazon DocumentDB with MongoDB compatibility.
   736  //
   737  // Creates a snapshot of a cluster.
   738  //
   739  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   740  // with awserr.Error's Code and Message methods to get detailed information about
   741  // the error.
   742  //
   743  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
   744  // API operation CreateDBClusterSnapshot for usage and error information.
   745  //
   746  // Returned Error Codes:
   747  //   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
   748  //   You already have a cluster snapshot with the given identifier.
   749  //
   750  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
   751  //   The cluster isn't in a valid state.
   752  //
   753  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
   754  //   DBClusterIdentifier doesn't refer to an existing cluster.
   755  //
   756  //   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
   757  //   The request would cause you to exceed the allowed number of snapshots.
   758  //
   759  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
   760  //   The provided value isn't a valid cluster snapshot state.
   761  //
   762  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterSnapshot
   763  func (c *DocDB) CreateDBClusterSnapshot(input *CreateDBClusterSnapshotInput) (*CreateDBClusterSnapshotOutput, error) {
   764  	req, out := c.CreateDBClusterSnapshotRequest(input)
   765  	return out, req.Send()
   766  }
   767  
   768  // CreateDBClusterSnapshotWithContext is the same as CreateDBClusterSnapshot with the addition of
   769  // the ability to pass a context and additional request options.
   770  //
   771  // See CreateDBClusterSnapshot for details on how to use this API operation.
   772  //
   773  // The context must be non-nil and will be used for request cancellation. If
   774  // the context is nil a panic will occur. In the future the SDK may create
   775  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   776  // for more information on using Contexts.
   777  func (c *DocDB) CreateDBClusterSnapshotWithContext(ctx aws.Context, input *CreateDBClusterSnapshotInput, opts ...request.Option) (*CreateDBClusterSnapshotOutput, error) {
   778  	req, out := c.CreateDBClusterSnapshotRequest(input)
   779  	req.SetContext(ctx)
   780  	req.ApplyOptions(opts...)
   781  	return out, req.Send()
   782  }
   783  
   784  const opCreateDBInstance = "CreateDBInstance"
   785  
   786  // CreateDBInstanceRequest generates a "aws/request.Request" representing the
   787  // client's request for the CreateDBInstance operation. The "output" return
   788  // value will be populated with the request's response once the request completes
   789  // successfully.
   790  //
   791  // Use "Send" method on the returned Request to send the API call to the service.
   792  // the "output" return value is not valid until after Send returns without error.
   793  //
   794  // See CreateDBInstance for more information on using the CreateDBInstance
   795  // API call, and error handling.
   796  //
   797  // This method is useful when you want to inject custom logic or configuration
   798  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   799  //
   800  //
   801  //    // Example sending a request using the CreateDBInstanceRequest method.
   802  //    req, resp := client.CreateDBInstanceRequest(params)
   803  //
   804  //    err := req.Send()
   805  //    if err == nil { // resp is now filled
   806  //        fmt.Println(resp)
   807  //    }
   808  //
   809  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBInstance
   810  func (c *DocDB) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *request.Request, output *CreateDBInstanceOutput) {
   811  	op := &request.Operation{
   812  		Name:       opCreateDBInstance,
   813  		HTTPMethod: "POST",
   814  		HTTPPath:   "/",
   815  	}
   816  
   817  	if input == nil {
   818  		input = &CreateDBInstanceInput{}
   819  	}
   820  
   821  	output = &CreateDBInstanceOutput{}
   822  	req = c.newRequest(op, input, output)
   823  	return
   824  }
   825  
   826  // CreateDBInstance API operation for Amazon DocumentDB with MongoDB compatibility.
   827  //
   828  // Creates a new instance.
   829  //
   830  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   831  // with awserr.Error's Code and Message methods to get detailed information about
   832  // the error.
   833  //
   834  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
   835  // API operation CreateDBInstance for usage and error information.
   836  //
   837  // Returned Error Codes:
   838  //   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
   839  //   You already have a instance with the given identifier.
   840  //
   841  //   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
   842  //   The specified instance class isn't available in the specified Availability
   843  //   Zone.
   844  //
   845  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
   846  //   DBParameterGroupName doesn't refer to an existing parameter group.
   847  //
   848  //   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
   849  //   DBSecurityGroupName doesn't refer to an existing security group.
   850  //
   851  //   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
   852  //   The request would cause you to exceed the allowed number of instances.
   853  //
   854  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
   855  //   The request would cause you to exceed the allowed amount of storage available
   856  //   across all instances.
   857  //
   858  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
   859  //   DBSubnetGroupName doesn't refer to an existing subnet group.
   860  //
   861  //   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
   862  //   Subnets in the subnet group should cover at least two Availability Zones
   863  //   unless there is only one Availability Zone.
   864  //
   865  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
   866  //   The cluster isn't in a valid state.
   867  //
   868  //   * ErrCodeInvalidSubnet "InvalidSubnet"
   869  //   The requested subnet is not valid, or multiple subnets were requested that
   870  //   are not all in a common virtual private cloud (VPC).
   871  //
   872  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
   873  //   The subnet group doesn't cover all Availability Zones after it is created
   874  //   because of changes that were made.
   875  //
   876  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
   877  //   DBClusterIdentifier doesn't refer to an existing cluster.
   878  //
   879  //   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
   880  //   Storage of the specified StorageType can't be associated with the DB instance.
   881  //
   882  //   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
   883  //   The specified CIDR IP or Amazon EC2 security group isn't authorized for the
   884  //   specified security group.
   885  //
   886  //   Amazon DocumentDB also might not be authorized to perform necessary actions
   887  //   on your behalf using IAM.
   888  //
   889  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
   890  //   An error occurred when accessing an KMS key.
   891  //
   892  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBInstance
   893  func (c *DocDB) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceOutput, error) {
   894  	req, out := c.CreateDBInstanceRequest(input)
   895  	return out, req.Send()
   896  }
   897  
   898  // CreateDBInstanceWithContext is the same as CreateDBInstance with the addition of
   899  // the ability to pass a context and additional request options.
   900  //
   901  // See CreateDBInstance for details on how to use this API operation.
   902  //
   903  // The context must be non-nil and will be used for request cancellation. If
   904  // the context is nil a panic will occur. In the future the SDK may create
   905  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   906  // for more information on using Contexts.
   907  func (c *DocDB) CreateDBInstanceWithContext(ctx aws.Context, input *CreateDBInstanceInput, opts ...request.Option) (*CreateDBInstanceOutput, error) {
   908  	req, out := c.CreateDBInstanceRequest(input)
   909  	req.SetContext(ctx)
   910  	req.ApplyOptions(opts...)
   911  	return out, req.Send()
   912  }
   913  
   914  const opCreateDBSubnetGroup = "CreateDBSubnetGroup"
   915  
   916  // CreateDBSubnetGroupRequest generates a "aws/request.Request" representing the
   917  // client's request for the CreateDBSubnetGroup operation. The "output" return
   918  // value will be populated with the request's response once the request completes
   919  // successfully.
   920  //
   921  // Use "Send" method on the returned Request to send the API call to the service.
   922  // the "output" return value is not valid until after Send returns without error.
   923  //
   924  // See CreateDBSubnetGroup for more information on using the CreateDBSubnetGroup
   925  // API call, and error handling.
   926  //
   927  // This method is useful when you want to inject custom logic or configuration
   928  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   929  //
   930  //
   931  //    // Example sending a request using the CreateDBSubnetGroupRequest method.
   932  //    req, resp := client.CreateDBSubnetGroupRequest(params)
   933  //
   934  //    err := req.Send()
   935  //    if err == nil { // resp is now filled
   936  //        fmt.Println(resp)
   937  //    }
   938  //
   939  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBSubnetGroup
   940  func (c *DocDB) CreateDBSubnetGroupRequest(input *CreateDBSubnetGroupInput) (req *request.Request, output *CreateDBSubnetGroupOutput) {
   941  	op := &request.Operation{
   942  		Name:       opCreateDBSubnetGroup,
   943  		HTTPMethod: "POST",
   944  		HTTPPath:   "/",
   945  	}
   946  
   947  	if input == nil {
   948  		input = &CreateDBSubnetGroupInput{}
   949  	}
   950  
   951  	output = &CreateDBSubnetGroupOutput{}
   952  	req = c.newRequest(op, input, output)
   953  	return
   954  }
   955  
   956  // CreateDBSubnetGroup API operation for Amazon DocumentDB with MongoDB compatibility.
   957  //
   958  // Creates a new subnet group. subnet groups must contain at least one subnet
   959  // in at least two Availability Zones in the Region.
   960  //
   961  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   962  // with awserr.Error's Code and Message methods to get detailed information about
   963  // the error.
   964  //
   965  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
   966  // API operation CreateDBSubnetGroup for usage and error information.
   967  //
   968  // Returned Error Codes:
   969  //   * ErrCodeDBSubnetGroupAlreadyExistsFault "DBSubnetGroupAlreadyExists"
   970  //   DBSubnetGroupName is already being used by an existing subnet group.
   971  //
   972  //   * ErrCodeDBSubnetGroupQuotaExceededFault "DBSubnetGroupQuotaExceeded"
   973  //   The request would cause you to exceed the allowed number of subnet groups.
   974  //
   975  //   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
   976  //   The request would cause you to exceed the allowed number of subnets in a
   977  //   subnet group.
   978  //
   979  //   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
   980  //   Subnets in the subnet group should cover at least two Availability Zones
   981  //   unless there is only one Availability Zone.
   982  //
   983  //   * ErrCodeInvalidSubnet "InvalidSubnet"
   984  //   The requested subnet is not valid, or multiple subnets were requested that
   985  //   are not all in a common virtual private cloud (VPC).
   986  //
   987  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBSubnetGroup
   988  func (c *DocDB) CreateDBSubnetGroup(input *CreateDBSubnetGroupInput) (*CreateDBSubnetGroupOutput, error) {
   989  	req, out := c.CreateDBSubnetGroupRequest(input)
   990  	return out, req.Send()
   991  }
   992  
   993  // CreateDBSubnetGroupWithContext is the same as CreateDBSubnetGroup with the addition of
   994  // the ability to pass a context and additional request options.
   995  //
   996  // See CreateDBSubnetGroup for details on how to use this API operation.
   997  //
   998  // The context must be non-nil and will be used for request cancellation. If
   999  // the context is nil a panic will occur. In the future the SDK may create
  1000  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1001  // for more information on using Contexts.
  1002  func (c *DocDB) CreateDBSubnetGroupWithContext(ctx aws.Context, input *CreateDBSubnetGroupInput, opts ...request.Option) (*CreateDBSubnetGroupOutput, error) {
  1003  	req, out := c.CreateDBSubnetGroupRequest(input)
  1004  	req.SetContext(ctx)
  1005  	req.ApplyOptions(opts...)
  1006  	return out, req.Send()
  1007  }
  1008  
  1009  const opCreateEventSubscription = "CreateEventSubscription"
  1010  
  1011  // CreateEventSubscriptionRequest generates a "aws/request.Request" representing the
  1012  // client's request for the CreateEventSubscription operation. The "output" return
  1013  // value will be populated with the request's response once the request completes
  1014  // successfully.
  1015  //
  1016  // Use "Send" method on the returned Request to send the API call to the service.
  1017  // the "output" return value is not valid until after Send returns without error.
  1018  //
  1019  // See CreateEventSubscription for more information on using the CreateEventSubscription
  1020  // API call, and error handling.
  1021  //
  1022  // This method is useful when you want to inject custom logic or configuration
  1023  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1024  //
  1025  //
  1026  //    // Example sending a request using the CreateEventSubscriptionRequest method.
  1027  //    req, resp := client.CreateEventSubscriptionRequest(params)
  1028  //
  1029  //    err := req.Send()
  1030  //    if err == nil { // resp is now filled
  1031  //        fmt.Println(resp)
  1032  //    }
  1033  //
  1034  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateEventSubscription
  1035  func (c *DocDB) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) {
  1036  	op := &request.Operation{
  1037  		Name:       opCreateEventSubscription,
  1038  		HTTPMethod: "POST",
  1039  		HTTPPath:   "/",
  1040  	}
  1041  
  1042  	if input == nil {
  1043  		input = &CreateEventSubscriptionInput{}
  1044  	}
  1045  
  1046  	output = &CreateEventSubscriptionOutput{}
  1047  	req = c.newRequest(op, input, output)
  1048  	return
  1049  }
  1050  
  1051  // CreateEventSubscription API operation for Amazon DocumentDB with MongoDB compatibility.
  1052  //
  1053  // Creates an Amazon DocumentDB event notification subscription. This action
  1054  // requires a topic Amazon Resource Name (ARN) created by using the Amazon DocumentDB
  1055  // console, the Amazon SNS console, or the Amazon SNS API. To obtain an ARN
  1056  // with Amazon SNS, you must create a topic in Amazon SNS and subscribe to the
  1057  // topic. The ARN is displayed in the Amazon SNS console.
  1058  //
  1059  // You can specify the type of source (SourceType) that you want to be notified
  1060  // of. You can also provide a list of Amazon DocumentDB sources (SourceIds)
  1061  // that trigger the events, and you can provide a list of event categories (EventCategories)
  1062  // for events that you want to be notified of. For example, you can specify
  1063  // SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories
  1064  // = Availability, Backup.
  1065  //
  1066  // If you specify both the SourceType and SourceIds (such as SourceType = db-instance
  1067  // and SourceIdentifier = myDBInstance1), you are notified of all the db-instance
  1068  // events for the specified source. If you specify a SourceType but do not specify
  1069  // a SourceIdentifier, you receive notice of the events for that source type
  1070  // for all your Amazon DocumentDB sources. If you do not specify either the
  1071  // SourceType or the SourceIdentifier, you are notified of events generated
  1072  // from all Amazon DocumentDB sources belonging to your customer account.
  1073  //
  1074  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1075  // with awserr.Error's Code and Message methods to get detailed information about
  1076  // the error.
  1077  //
  1078  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  1079  // API operation CreateEventSubscription for usage and error information.
  1080  //
  1081  // Returned Error Codes:
  1082  //   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
  1083  //   You have reached the maximum number of event subscriptions.
  1084  //
  1085  //   * ErrCodeSubscriptionAlreadyExistFault "SubscriptionAlreadyExist"
  1086  //   The provided subscription name already exists.
  1087  //
  1088  //   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
  1089  //   Amazon SNS has responded that there is a problem with the specified topic.
  1090  //
  1091  //   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
  1092  //   You do not have permission to publish to the SNS topic Amazon Resource Name
  1093  //   (ARN).
  1094  //
  1095  //   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
  1096  //   The SNS topic Amazon Resource Name (ARN) does not exist.
  1097  //
  1098  //   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
  1099  //   The provided category does not exist.
  1100  //
  1101  //   * ErrCodeSourceNotFoundFault "SourceNotFound"
  1102  //   The requested source could not be found.
  1103  //
  1104  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateEventSubscription
  1105  func (c *DocDB) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) {
  1106  	req, out := c.CreateEventSubscriptionRequest(input)
  1107  	return out, req.Send()
  1108  }
  1109  
  1110  // CreateEventSubscriptionWithContext is the same as CreateEventSubscription with the addition of
  1111  // the ability to pass a context and additional request options.
  1112  //
  1113  // See CreateEventSubscription for details on how to use this API operation.
  1114  //
  1115  // The context must be non-nil and will be used for request cancellation. If
  1116  // the context is nil a panic will occur. In the future the SDK may create
  1117  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1118  // for more information on using Contexts.
  1119  func (c *DocDB) CreateEventSubscriptionWithContext(ctx aws.Context, input *CreateEventSubscriptionInput, opts ...request.Option) (*CreateEventSubscriptionOutput, error) {
  1120  	req, out := c.CreateEventSubscriptionRequest(input)
  1121  	req.SetContext(ctx)
  1122  	req.ApplyOptions(opts...)
  1123  	return out, req.Send()
  1124  }
  1125  
  1126  const opCreateGlobalCluster = "CreateGlobalCluster"
  1127  
  1128  // CreateGlobalClusterRequest generates a "aws/request.Request" representing the
  1129  // client's request for the CreateGlobalCluster operation. The "output" return
  1130  // value will be populated with the request's response once the request completes
  1131  // successfully.
  1132  //
  1133  // Use "Send" method on the returned Request to send the API call to the service.
  1134  // the "output" return value is not valid until after Send returns without error.
  1135  //
  1136  // See CreateGlobalCluster for more information on using the CreateGlobalCluster
  1137  // API call, and error handling.
  1138  //
  1139  // This method is useful when you want to inject custom logic or configuration
  1140  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1141  //
  1142  //
  1143  //    // Example sending a request using the CreateGlobalClusterRequest method.
  1144  //    req, resp := client.CreateGlobalClusterRequest(params)
  1145  //
  1146  //    err := req.Send()
  1147  //    if err == nil { // resp is now filled
  1148  //        fmt.Println(resp)
  1149  //    }
  1150  //
  1151  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateGlobalCluster
  1152  func (c *DocDB) CreateGlobalClusterRequest(input *CreateGlobalClusterInput) (req *request.Request, output *CreateGlobalClusterOutput) {
  1153  	op := &request.Operation{
  1154  		Name:       opCreateGlobalCluster,
  1155  		HTTPMethod: "POST",
  1156  		HTTPPath:   "/",
  1157  	}
  1158  
  1159  	if input == nil {
  1160  		input = &CreateGlobalClusterInput{}
  1161  	}
  1162  
  1163  	output = &CreateGlobalClusterOutput{}
  1164  	req = c.newRequest(op, input, output)
  1165  	return
  1166  }
  1167  
  1168  // CreateGlobalCluster API operation for Amazon DocumentDB with MongoDB compatibility.
  1169  //
  1170  // Creates an Amazon DocumentDB global cluster that can span multiple multiple
  1171  // Regions. The global cluster contains one primary cluster with read-write
  1172  // capability, and up-to give read-only secondary clusters. Global clusters
  1173  // uses storage-based fast replication across regions with latencies less than
  1174  // one second, using dedicated infrastructure with no impact to your workload’s
  1175  // performance.
  1176  //
  1177  // You can create a global cluster that is initially empty, and then add a primary
  1178  // and a secondary to it. Or you can specify an existing cluster during the
  1179  // create operation, and this cluster becomes the primary of the global cluster.
  1180  //
  1181  // This action only applies to Amazon DocumentDB clusters.
  1182  //
  1183  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1184  // with awserr.Error's Code and Message methods to get detailed information about
  1185  // the error.
  1186  //
  1187  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  1188  // API operation CreateGlobalCluster for usage and error information.
  1189  //
  1190  // Returned Error Codes:
  1191  //   * ErrCodeGlobalClusterAlreadyExistsFault "GlobalClusterAlreadyExistsFault"
  1192  //   The GlobalClusterIdentifier already exists. Choose a new global cluster identifier
  1193  //   (unique name) to create a new global cluster.
  1194  //
  1195  //   * ErrCodeGlobalClusterQuotaExceededFault "GlobalClusterQuotaExceededFault"
  1196  //   The number of global clusters for this account is already at the maximum
  1197  //   allowed.
  1198  //
  1199  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  1200  //   The cluster isn't in a valid state.
  1201  //
  1202  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  1203  //   DBClusterIdentifier doesn't refer to an existing cluster.
  1204  //
  1205  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateGlobalCluster
  1206  func (c *DocDB) CreateGlobalCluster(input *CreateGlobalClusterInput) (*CreateGlobalClusterOutput, error) {
  1207  	req, out := c.CreateGlobalClusterRequest(input)
  1208  	return out, req.Send()
  1209  }
  1210  
  1211  // CreateGlobalClusterWithContext is the same as CreateGlobalCluster with the addition of
  1212  // the ability to pass a context and additional request options.
  1213  //
  1214  // See CreateGlobalCluster for details on how to use this API operation.
  1215  //
  1216  // The context must be non-nil and will be used for request cancellation. If
  1217  // the context is nil a panic will occur. In the future the SDK may create
  1218  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1219  // for more information on using Contexts.
  1220  func (c *DocDB) CreateGlobalClusterWithContext(ctx aws.Context, input *CreateGlobalClusterInput, opts ...request.Option) (*CreateGlobalClusterOutput, error) {
  1221  	req, out := c.CreateGlobalClusterRequest(input)
  1222  	req.SetContext(ctx)
  1223  	req.ApplyOptions(opts...)
  1224  	return out, req.Send()
  1225  }
  1226  
  1227  const opDeleteDBCluster = "DeleteDBCluster"
  1228  
  1229  // DeleteDBClusterRequest generates a "aws/request.Request" representing the
  1230  // client's request for the DeleteDBCluster operation. The "output" return
  1231  // value will be populated with the request's response once the request completes
  1232  // successfully.
  1233  //
  1234  // Use "Send" method on the returned Request to send the API call to the service.
  1235  // the "output" return value is not valid until after Send returns without error.
  1236  //
  1237  // See DeleteDBCluster for more information on using the DeleteDBCluster
  1238  // API call, and error handling.
  1239  //
  1240  // This method is useful when you want to inject custom logic or configuration
  1241  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1242  //
  1243  //
  1244  //    // Example sending a request using the DeleteDBClusterRequest method.
  1245  //    req, resp := client.DeleteDBClusterRequest(params)
  1246  //
  1247  //    err := req.Send()
  1248  //    if err == nil { // resp is now filled
  1249  //        fmt.Println(resp)
  1250  //    }
  1251  //
  1252  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBCluster
  1253  func (c *DocDB) DeleteDBClusterRequest(input *DeleteDBClusterInput) (req *request.Request, output *DeleteDBClusterOutput) {
  1254  	op := &request.Operation{
  1255  		Name:       opDeleteDBCluster,
  1256  		HTTPMethod: "POST",
  1257  		HTTPPath:   "/",
  1258  	}
  1259  
  1260  	if input == nil {
  1261  		input = &DeleteDBClusterInput{}
  1262  	}
  1263  
  1264  	output = &DeleteDBClusterOutput{}
  1265  	req = c.newRequest(op, input, output)
  1266  	return
  1267  }
  1268  
  1269  // DeleteDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
  1270  //
  1271  // Deletes a previously provisioned cluster. When you delete a cluster, all
  1272  // automated backups for that cluster are deleted and can't be recovered. Manual
  1273  // DB cluster snapshots of the specified cluster are not deleted.
  1274  //
  1275  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1276  // with awserr.Error's Code and Message methods to get detailed information about
  1277  // the error.
  1278  //
  1279  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  1280  // API operation DeleteDBCluster for usage and error information.
  1281  //
  1282  // Returned Error Codes:
  1283  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  1284  //   DBClusterIdentifier doesn't refer to an existing cluster.
  1285  //
  1286  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  1287  //   The cluster isn't in a valid state.
  1288  //
  1289  //   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
  1290  //   You already have a cluster snapshot with the given identifier.
  1291  //
  1292  //   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
  1293  //   The request would cause you to exceed the allowed number of snapshots.
  1294  //
  1295  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
  1296  //   The provided value isn't a valid cluster snapshot state.
  1297  //
  1298  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBCluster
  1299  func (c *DocDB) DeleteDBCluster(input *DeleteDBClusterInput) (*DeleteDBClusterOutput, error) {
  1300  	req, out := c.DeleteDBClusterRequest(input)
  1301  	return out, req.Send()
  1302  }
  1303  
  1304  // DeleteDBClusterWithContext is the same as DeleteDBCluster with the addition of
  1305  // the ability to pass a context and additional request options.
  1306  //
  1307  // See DeleteDBCluster for details on how to use this API operation.
  1308  //
  1309  // The context must be non-nil and will be used for request cancellation. If
  1310  // the context is nil a panic will occur. In the future the SDK may create
  1311  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1312  // for more information on using Contexts.
  1313  func (c *DocDB) DeleteDBClusterWithContext(ctx aws.Context, input *DeleteDBClusterInput, opts ...request.Option) (*DeleteDBClusterOutput, error) {
  1314  	req, out := c.DeleteDBClusterRequest(input)
  1315  	req.SetContext(ctx)
  1316  	req.ApplyOptions(opts...)
  1317  	return out, req.Send()
  1318  }
  1319  
  1320  const opDeleteDBClusterParameterGroup = "DeleteDBClusterParameterGroup"
  1321  
  1322  // DeleteDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
  1323  // client's request for the DeleteDBClusterParameterGroup operation. The "output" return
  1324  // value will be populated with the request's response once the request completes
  1325  // successfully.
  1326  //
  1327  // Use "Send" method on the returned Request to send the API call to the service.
  1328  // the "output" return value is not valid until after Send returns without error.
  1329  //
  1330  // See DeleteDBClusterParameterGroup for more information on using the DeleteDBClusterParameterGroup
  1331  // API call, and error handling.
  1332  //
  1333  // This method is useful when you want to inject custom logic or configuration
  1334  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1335  //
  1336  //
  1337  //    // Example sending a request using the DeleteDBClusterParameterGroupRequest method.
  1338  //    req, resp := client.DeleteDBClusterParameterGroupRequest(params)
  1339  //
  1340  //    err := req.Send()
  1341  //    if err == nil { // resp is now filled
  1342  //        fmt.Println(resp)
  1343  //    }
  1344  //
  1345  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterParameterGroup
  1346  func (c *DocDB) DeleteDBClusterParameterGroupRequest(input *DeleteDBClusterParameterGroupInput) (req *request.Request, output *DeleteDBClusterParameterGroupOutput) {
  1347  	op := &request.Operation{
  1348  		Name:       opDeleteDBClusterParameterGroup,
  1349  		HTTPMethod: "POST",
  1350  		HTTPPath:   "/",
  1351  	}
  1352  
  1353  	if input == nil {
  1354  		input = &DeleteDBClusterParameterGroupInput{}
  1355  	}
  1356  
  1357  	output = &DeleteDBClusterParameterGroupOutput{}
  1358  	req = c.newRequest(op, input, output)
  1359  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1360  	return
  1361  }
  1362  
  1363  // DeleteDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
  1364  //
  1365  // Deletes a specified cluster parameter group. The cluster parameter group
  1366  // to be deleted can't be associated with any clusters.
  1367  //
  1368  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1369  // with awserr.Error's Code and Message methods to get detailed information about
  1370  // the error.
  1371  //
  1372  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  1373  // API operation DeleteDBClusterParameterGroup for usage and error information.
  1374  //
  1375  // Returned Error Codes:
  1376  //   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
  1377  //   The parameter group is in use, or it is in a state that is not valid. If
  1378  //   you are trying to delete the parameter group, you can't delete it when the
  1379  //   parameter group is in this state.
  1380  //
  1381  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  1382  //   DBParameterGroupName doesn't refer to an existing parameter group.
  1383  //
  1384  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterParameterGroup
  1385  func (c *DocDB) DeleteDBClusterParameterGroup(input *DeleteDBClusterParameterGroupInput) (*DeleteDBClusterParameterGroupOutput, error) {
  1386  	req, out := c.DeleteDBClusterParameterGroupRequest(input)
  1387  	return out, req.Send()
  1388  }
  1389  
  1390  // DeleteDBClusterParameterGroupWithContext is the same as DeleteDBClusterParameterGroup with the addition of
  1391  // the ability to pass a context and additional request options.
  1392  //
  1393  // See DeleteDBClusterParameterGroup for details on how to use this API operation.
  1394  //
  1395  // The context must be non-nil and will be used for request cancellation. If
  1396  // the context is nil a panic will occur. In the future the SDK may create
  1397  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1398  // for more information on using Contexts.
  1399  func (c *DocDB) DeleteDBClusterParameterGroupWithContext(ctx aws.Context, input *DeleteDBClusterParameterGroupInput, opts ...request.Option) (*DeleteDBClusterParameterGroupOutput, error) {
  1400  	req, out := c.DeleteDBClusterParameterGroupRequest(input)
  1401  	req.SetContext(ctx)
  1402  	req.ApplyOptions(opts...)
  1403  	return out, req.Send()
  1404  }
  1405  
  1406  const opDeleteDBClusterSnapshot = "DeleteDBClusterSnapshot"
  1407  
  1408  // DeleteDBClusterSnapshotRequest generates a "aws/request.Request" representing the
  1409  // client's request for the DeleteDBClusterSnapshot operation. The "output" return
  1410  // value will be populated with the request's response once the request completes
  1411  // successfully.
  1412  //
  1413  // Use "Send" method on the returned Request to send the API call to the service.
  1414  // the "output" return value is not valid until after Send returns without error.
  1415  //
  1416  // See DeleteDBClusterSnapshot for more information on using the DeleteDBClusterSnapshot
  1417  // API call, and error handling.
  1418  //
  1419  // This method is useful when you want to inject custom logic or configuration
  1420  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1421  //
  1422  //
  1423  //    // Example sending a request using the DeleteDBClusterSnapshotRequest method.
  1424  //    req, resp := client.DeleteDBClusterSnapshotRequest(params)
  1425  //
  1426  //    err := req.Send()
  1427  //    if err == nil { // resp is now filled
  1428  //        fmt.Println(resp)
  1429  //    }
  1430  //
  1431  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterSnapshot
  1432  func (c *DocDB) DeleteDBClusterSnapshotRequest(input *DeleteDBClusterSnapshotInput) (req *request.Request, output *DeleteDBClusterSnapshotOutput) {
  1433  	op := &request.Operation{
  1434  		Name:       opDeleteDBClusterSnapshot,
  1435  		HTTPMethod: "POST",
  1436  		HTTPPath:   "/",
  1437  	}
  1438  
  1439  	if input == nil {
  1440  		input = &DeleteDBClusterSnapshotInput{}
  1441  	}
  1442  
  1443  	output = &DeleteDBClusterSnapshotOutput{}
  1444  	req = c.newRequest(op, input, output)
  1445  	return
  1446  }
  1447  
  1448  // DeleteDBClusterSnapshot API operation for Amazon DocumentDB with MongoDB compatibility.
  1449  //
  1450  // Deletes a cluster snapshot. If the snapshot is being copied, the copy operation
  1451  // is terminated.
  1452  //
  1453  // The cluster snapshot must be in the available state to be deleted.
  1454  //
  1455  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1456  // with awserr.Error's Code and Message methods to get detailed information about
  1457  // the error.
  1458  //
  1459  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  1460  // API operation DeleteDBClusterSnapshot for usage and error information.
  1461  //
  1462  // Returned Error Codes:
  1463  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
  1464  //   The provided value isn't a valid cluster snapshot state.
  1465  //
  1466  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
  1467  //   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
  1468  //
  1469  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterSnapshot
  1470  func (c *DocDB) DeleteDBClusterSnapshot(input *DeleteDBClusterSnapshotInput) (*DeleteDBClusterSnapshotOutput, error) {
  1471  	req, out := c.DeleteDBClusterSnapshotRequest(input)
  1472  	return out, req.Send()
  1473  }
  1474  
  1475  // DeleteDBClusterSnapshotWithContext is the same as DeleteDBClusterSnapshot with the addition of
  1476  // the ability to pass a context and additional request options.
  1477  //
  1478  // See DeleteDBClusterSnapshot for details on how to use this API operation.
  1479  //
  1480  // The context must be non-nil and will be used for request cancellation. If
  1481  // the context is nil a panic will occur. In the future the SDK may create
  1482  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1483  // for more information on using Contexts.
  1484  func (c *DocDB) DeleteDBClusterSnapshotWithContext(ctx aws.Context, input *DeleteDBClusterSnapshotInput, opts ...request.Option) (*DeleteDBClusterSnapshotOutput, error) {
  1485  	req, out := c.DeleteDBClusterSnapshotRequest(input)
  1486  	req.SetContext(ctx)
  1487  	req.ApplyOptions(opts...)
  1488  	return out, req.Send()
  1489  }
  1490  
  1491  const opDeleteDBInstance = "DeleteDBInstance"
  1492  
  1493  // DeleteDBInstanceRequest generates a "aws/request.Request" representing the
  1494  // client's request for the DeleteDBInstance operation. The "output" return
  1495  // value will be populated with the request's response once the request completes
  1496  // successfully.
  1497  //
  1498  // Use "Send" method on the returned Request to send the API call to the service.
  1499  // the "output" return value is not valid until after Send returns without error.
  1500  //
  1501  // See DeleteDBInstance for more information on using the DeleteDBInstance
  1502  // API call, and error handling.
  1503  //
  1504  // This method is useful when you want to inject custom logic or configuration
  1505  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1506  //
  1507  //
  1508  //    // Example sending a request using the DeleteDBInstanceRequest method.
  1509  //    req, resp := client.DeleteDBInstanceRequest(params)
  1510  //
  1511  //    err := req.Send()
  1512  //    if err == nil { // resp is now filled
  1513  //        fmt.Println(resp)
  1514  //    }
  1515  //
  1516  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBInstance
  1517  func (c *DocDB) DeleteDBInstanceRequest(input *DeleteDBInstanceInput) (req *request.Request, output *DeleteDBInstanceOutput) {
  1518  	op := &request.Operation{
  1519  		Name:       opDeleteDBInstance,
  1520  		HTTPMethod: "POST",
  1521  		HTTPPath:   "/",
  1522  	}
  1523  
  1524  	if input == nil {
  1525  		input = &DeleteDBInstanceInput{}
  1526  	}
  1527  
  1528  	output = &DeleteDBInstanceOutput{}
  1529  	req = c.newRequest(op, input, output)
  1530  	return
  1531  }
  1532  
  1533  // DeleteDBInstance API operation for Amazon DocumentDB with MongoDB compatibility.
  1534  //
  1535  // Deletes a previously provisioned instance.
  1536  //
  1537  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1538  // with awserr.Error's Code and Message methods to get detailed information about
  1539  // the error.
  1540  //
  1541  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  1542  // API operation DeleteDBInstance for usage and error information.
  1543  //
  1544  // Returned Error Codes:
  1545  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  1546  //   DBInstanceIdentifier doesn't refer to an existing instance.
  1547  //
  1548  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  1549  //   The specified instance isn't in the available state.
  1550  //
  1551  //   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
  1552  //   DBSnapshotIdentifier is already being used by an existing snapshot.
  1553  //
  1554  //   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
  1555  //   The request would cause you to exceed the allowed number of snapshots.
  1556  //
  1557  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  1558  //   The cluster isn't in a valid state.
  1559  //
  1560  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBInstance
  1561  func (c *DocDB) DeleteDBInstance(input *DeleteDBInstanceInput) (*DeleteDBInstanceOutput, error) {
  1562  	req, out := c.DeleteDBInstanceRequest(input)
  1563  	return out, req.Send()
  1564  }
  1565  
  1566  // DeleteDBInstanceWithContext is the same as DeleteDBInstance with the addition of
  1567  // the ability to pass a context and additional request options.
  1568  //
  1569  // See DeleteDBInstance for details on how to use this API operation.
  1570  //
  1571  // The context must be non-nil and will be used for request cancellation. If
  1572  // the context is nil a panic will occur. In the future the SDK may create
  1573  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1574  // for more information on using Contexts.
  1575  func (c *DocDB) DeleteDBInstanceWithContext(ctx aws.Context, input *DeleteDBInstanceInput, opts ...request.Option) (*DeleteDBInstanceOutput, error) {
  1576  	req, out := c.DeleteDBInstanceRequest(input)
  1577  	req.SetContext(ctx)
  1578  	req.ApplyOptions(opts...)
  1579  	return out, req.Send()
  1580  }
  1581  
  1582  const opDeleteDBSubnetGroup = "DeleteDBSubnetGroup"
  1583  
  1584  // DeleteDBSubnetGroupRequest generates a "aws/request.Request" representing the
  1585  // client's request for the DeleteDBSubnetGroup operation. The "output" return
  1586  // value will be populated with the request's response once the request completes
  1587  // successfully.
  1588  //
  1589  // Use "Send" method on the returned Request to send the API call to the service.
  1590  // the "output" return value is not valid until after Send returns without error.
  1591  //
  1592  // See DeleteDBSubnetGroup for more information on using the DeleteDBSubnetGroup
  1593  // API call, and error handling.
  1594  //
  1595  // This method is useful when you want to inject custom logic or configuration
  1596  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1597  //
  1598  //
  1599  //    // Example sending a request using the DeleteDBSubnetGroupRequest method.
  1600  //    req, resp := client.DeleteDBSubnetGroupRequest(params)
  1601  //
  1602  //    err := req.Send()
  1603  //    if err == nil { // resp is now filled
  1604  //        fmt.Println(resp)
  1605  //    }
  1606  //
  1607  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBSubnetGroup
  1608  func (c *DocDB) DeleteDBSubnetGroupRequest(input *DeleteDBSubnetGroupInput) (req *request.Request, output *DeleteDBSubnetGroupOutput) {
  1609  	op := &request.Operation{
  1610  		Name:       opDeleteDBSubnetGroup,
  1611  		HTTPMethod: "POST",
  1612  		HTTPPath:   "/",
  1613  	}
  1614  
  1615  	if input == nil {
  1616  		input = &DeleteDBSubnetGroupInput{}
  1617  	}
  1618  
  1619  	output = &DeleteDBSubnetGroupOutput{}
  1620  	req = c.newRequest(op, input, output)
  1621  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1622  	return
  1623  }
  1624  
  1625  // DeleteDBSubnetGroup API operation for Amazon DocumentDB with MongoDB compatibility.
  1626  //
  1627  // Deletes a subnet group.
  1628  //
  1629  // The specified database subnet group must not be associated with any DB instances.
  1630  //
  1631  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1632  // with awserr.Error's Code and Message methods to get detailed information about
  1633  // the error.
  1634  //
  1635  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  1636  // API operation DeleteDBSubnetGroup for usage and error information.
  1637  //
  1638  // Returned Error Codes:
  1639  //   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
  1640  //   The subnet group can't be deleted because it's in use.
  1641  //
  1642  //   * ErrCodeInvalidDBSubnetStateFault "InvalidDBSubnetStateFault"
  1643  //   The subnet isn't in the available state.
  1644  //
  1645  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  1646  //   DBSubnetGroupName doesn't refer to an existing subnet group.
  1647  //
  1648  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBSubnetGroup
  1649  func (c *DocDB) DeleteDBSubnetGroup(input *DeleteDBSubnetGroupInput) (*DeleteDBSubnetGroupOutput, error) {
  1650  	req, out := c.DeleteDBSubnetGroupRequest(input)
  1651  	return out, req.Send()
  1652  }
  1653  
  1654  // DeleteDBSubnetGroupWithContext is the same as DeleteDBSubnetGroup with the addition of
  1655  // the ability to pass a context and additional request options.
  1656  //
  1657  // See DeleteDBSubnetGroup for details on how to use this API operation.
  1658  //
  1659  // The context must be non-nil and will be used for request cancellation. If
  1660  // the context is nil a panic will occur. In the future the SDK may create
  1661  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1662  // for more information on using Contexts.
  1663  func (c *DocDB) DeleteDBSubnetGroupWithContext(ctx aws.Context, input *DeleteDBSubnetGroupInput, opts ...request.Option) (*DeleteDBSubnetGroupOutput, error) {
  1664  	req, out := c.DeleteDBSubnetGroupRequest(input)
  1665  	req.SetContext(ctx)
  1666  	req.ApplyOptions(opts...)
  1667  	return out, req.Send()
  1668  }
  1669  
  1670  const opDeleteEventSubscription = "DeleteEventSubscription"
  1671  
  1672  // DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the
  1673  // client's request for the DeleteEventSubscription operation. The "output" return
  1674  // value will be populated with the request's response once the request completes
  1675  // successfully.
  1676  //
  1677  // Use "Send" method on the returned Request to send the API call to the service.
  1678  // the "output" return value is not valid until after Send returns without error.
  1679  //
  1680  // See DeleteEventSubscription for more information on using the DeleteEventSubscription
  1681  // API call, and error handling.
  1682  //
  1683  // This method is useful when you want to inject custom logic or configuration
  1684  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1685  //
  1686  //
  1687  //    // Example sending a request using the DeleteEventSubscriptionRequest method.
  1688  //    req, resp := client.DeleteEventSubscriptionRequest(params)
  1689  //
  1690  //    err := req.Send()
  1691  //    if err == nil { // resp is now filled
  1692  //        fmt.Println(resp)
  1693  //    }
  1694  //
  1695  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteEventSubscription
  1696  func (c *DocDB) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) {
  1697  	op := &request.Operation{
  1698  		Name:       opDeleteEventSubscription,
  1699  		HTTPMethod: "POST",
  1700  		HTTPPath:   "/",
  1701  	}
  1702  
  1703  	if input == nil {
  1704  		input = &DeleteEventSubscriptionInput{}
  1705  	}
  1706  
  1707  	output = &DeleteEventSubscriptionOutput{}
  1708  	req = c.newRequest(op, input, output)
  1709  	return
  1710  }
  1711  
  1712  // DeleteEventSubscription API operation for Amazon DocumentDB with MongoDB compatibility.
  1713  //
  1714  // Deletes an Amazon DocumentDB event notification subscription.
  1715  //
  1716  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1717  // with awserr.Error's Code and Message methods to get detailed information about
  1718  // the error.
  1719  //
  1720  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  1721  // API operation DeleteEventSubscription for usage and error information.
  1722  //
  1723  // Returned Error Codes:
  1724  //   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
  1725  //   The subscription name does not exist.
  1726  //
  1727  //   * ErrCodeInvalidEventSubscriptionStateFault "InvalidEventSubscriptionState"
  1728  //   Someone else might be modifying a subscription. Wait a few seconds, and try
  1729  //   again.
  1730  //
  1731  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteEventSubscription
  1732  func (c *DocDB) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) {
  1733  	req, out := c.DeleteEventSubscriptionRequest(input)
  1734  	return out, req.Send()
  1735  }
  1736  
  1737  // DeleteEventSubscriptionWithContext is the same as DeleteEventSubscription with the addition of
  1738  // the ability to pass a context and additional request options.
  1739  //
  1740  // See DeleteEventSubscription for details on how to use this API operation.
  1741  //
  1742  // The context must be non-nil and will be used for request cancellation. If
  1743  // the context is nil a panic will occur. In the future the SDK may create
  1744  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1745  // for more information on using Contexts.
  1746  func (c *DocDB) DeleteEventSubscriptionWithContext(ctx aws.Context, input *DeleteEventSubscriptionInput, opts ...request.Option) (*DeleteEventSubscriptionOutput, error) {
  1747  	req, out := c.DeleteEventSubscriptionRequest(input)
  1748  	req.SetContext(ctx)
  1749  	req.ApplyOptions(opts...)
  1750  	return out, req.Send()
  1751  }
  1752  
  1753  const opDeleteGlobalCluster = "DeleteGlobalCluster"
  1754  
  1755  // DeleteGlobalClusterRequest generates a "aws/request.Request" representing the
  1756  // client's request for the DeleteGlobalCluster operation. The "output" return
  1757  // value will be populated with the request's response once the request completes
  1758  // successfully.
  1759  //
  1760  // Use "Send" method on the returned Request to send the API call to the service.
  1761  // the "output" return value is not valid until after Send returns without error.
  1762  //
  1763  // See DeleteGlobalCluster for more information on using the DeleteGlobalCluster
  1764  // API call, and error handling.
  1765  //
  1766  // This method is useful when you want to inject custom logic or configuration
  1767  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1768  //
  1769  //
  1770  //    // Example sending a request using the DeleteGlobalClusterRequest method.
  1771  //    req, resp := client.DeleteGlobalClusterRequest(params)
  1772  //
  1773  //    err := req.Send()
  1774  //    if err == nil { // resp is now filled
  1775  //        fmt.Println(resp)
  1776  //    }
  1777  //
  1778  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteGlobalCluster
  1779  func (c *DocDB) DeleteGlobalClusterRequest(input *DeleteGlobalClusterInput) (req *request.Request, output *DeleteGlobalClusterOutput) {
  1780  	op := &request.Operation{
  1781  		Name:       opDeleteGlobalCluster,
  1782  		HTTPMethod: "POST",
  1783  		HTTPPath:   "/",
  1784  	}
  1785  
  1786  	if input == nil {
  1787  		input = &DeleteGlobalClusterInput{}
  1788  	}
  1789  
  1790  	output = &DeleteGlobalClusterOutput{}
  1791  	req = c.newRequest(op, input, output)
  1792  	return
  1793  }
  1794  
  1795  // DeleteGlobalCluster API operation for Amazon DocumentDB with MongoDB compatibility.
  1796  //
  1797  // Deletes a global cluster. The primary and secondary clusters must already
  1798  // be detached or deleted before attempting to delete a global cluster.
  1799  //
  1800  // This action only applies to Amazon DocumentDB clusters.
  1801  //
  1802  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1803  // with awserr.Error's Code and Message methods to get detailed information about
  1804  // the error.
  1805  //
  1806  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  1807  // API operation DeleteGlobalCluster for usage and error information.
  1808  //
  1809  // Returned Error Codes:
  1810  //   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
  1811  //   The GlobalClusterIdentifier doesn't refer to an existing global cluster.
  1812  //
  1813  //   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
  1814  //   The requested operation can't be performed while the cluster is in this state.
  1815  //
  1816  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteGlobalCluster
  1817  func (c *DocDB) DeleteGlobalCluster(input *DeleteGlobalClusterInput) (*DeleteGlobalClusterOutput, error) {
  1818  	req, out := c.DeleteGlobalClusterRequest(input)
  1819  	return out, req.Send()
  1820  }
  1821  
  1822  // DeleteGlobalClusterWithContext is the same as DeleteGlobalCluster with the addition of
  1823  // the ability to pass a context and additional request options.
  1824  //
  1825  // See DeleteGlobalCluster for details on how to use this API operation.
  1826  //
  1827  // The context must be non-nil and will be used for request cancellation. If
  1828  // the context is nil a panic will occur. In the future the SDK may create
  1829  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1830  // for more information on using Contexts.
  1831  func (c *DocDB) DeleteGlobalClusterWithContext(ctx aws.Context, input *DeleteGlobalClusterInput, opts ...request.Option) (*DeleteGlobalClusterOutput, error) {
  1832  	req, out := c.DeleteGlobalClusterRequest(input)
  1833  	req.SetContext(ctx)
  1834  	req.ApplyOptions(opts...)
  1835  	return out, req.Send()
  1836  }
  1837  
  1838  const opDescribeCertificates = "DescribeCertificates"
  1839  
  1840  // DescribeCertificatesRequest generates a "aws/request.Request" representing the
  1841  // client's request for the DescribeCertificates operation. The "output" return
  1842  // value will be populated with the request's response once the request completes
  1843  // successfully.
  1844  //
  1845  // Use "Send" method on the returned Request to send the API call to the service.
  1846  // the "output" return value is not valid until after Send returns without error.
  1847  //
  1848  // See DescribeCertificates for more information on using the DescribeCertificates
  1849  // API call, and error handling.
  1850  //
  1851  // This method is useful when you want to inject custom logic or configuration
  1852  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1853  //
  1854  //
  1855  //    // Example sending a request using the DescribeCertificatesRequest method.
  1856  //    req, resp := client.DescribeCertificatesRequest(params)
  1857  //
  1858  //    err := req.Send()
  1859  //    if err == nil { // resp is now filled
  1860  //        fmt.Println(resp)
  1861  //    }
  1862  //
  1863  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeCertificates
  1864  func (c *DocDB) DescribeCertificatesRequest(input *DescribeCertificatesInput) (req *request.Request, output *DescribeCertificatesOutput) {
  1865  	op := &request.Operation{
  1866  		Name:       opDescribeCertificates,
  1867  		HTTPMethod: "POST",
  1868  		HTTPPath:   "/",
  1869  		Paginator: &request.Paginator{
  1870  			InputTokens:     []string{"Marker"},
  1871  			OutputTokens:    []string{"Marker"},
  1872  			LimitToken:      "MaxRecords",
  1873  			TruncationToken: "",
  1874  		},
  1875  	}
  1876  
  1877  	if input == nil {
  1878  		input = &DescribeCertificatesInput{}
  1879  	}
  1880  
  1881  	output = &DescribeCertificatesOutput{}
  1882  	req = c.newRequest(op, input, output)
  1883  	return
  1884  }
  1885  
  1886  // DescribeCertificates API operation for Amazon DocumentDB with MongoDB compatibility.
  1887  //
  1888  // Returns a list of certificate authority (CA) certificates provided by Amazon
  1889  // DocumentDB for this account.
  1890  //
  1891  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1892  // with awserr.Error's Code and Message methods to get detailed information about
  1893  // the error.
  1894  //
  1895  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  1896  // API operation DescribeCertificates for usage and error information.
  1897  //
  1898  // Returned Error Codes:
  1899  //   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
  1900  //   CertificateIdentifier doesn't refer to an existing certificate.
  1901  //
  1902  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeCertificates
  1903  func (c *DocDB) DescribeCertificates(input *DescribeCertificatesInput) (*DescribeCertificatesOutput, error) {
  1904  	req, out := c.DescribeCertificatesRequest(input)
  1905  	return out, req.Send()
  1906  }
  1907  
  1908  // DescribeCertificatesWithContext is the same as DescribeCertificates with the addition of
  1909  // the ability to pass a context and additional request options.
  1910  //
  1911  // See DescribeCertificates for details on how to use this API operation.
  1912  //
  1913  // The context must be non-nil and will be used for request cancellation. If
  1914  // the context is nil a panic will occur. In the future the SDK may create
  1915  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1916  // for more information on using Contexts.
  1917  func (c *DocDB) DescribeCertificatesWithContext(ctx aws.Context, input *DescribeCertificatesInput, opts ...request.Option) (*DescribeCertificatesOutput, error) {
  1918  	req, out := c.DescribeCertificatesRequest(input)
  1919  	req.SetContext(ctx)
  1920  	req.ApplyOptions(opts...)
  1921  	return out, req.Send()
  1922  }
  1923  
  1924  // DescribeCertificatesPages iterates over the pages of a DescribeCertificates operation,
  1925  // calling the "fn" function with the response data for each page. To stop
  1926  // iterating, return false from the fn function.
  1927  //
  1928  // See DescribeCertificates method for more information on how to use this operation.
  1929  //
  1930  // Note: This operation can generate multiple requests to a service.
  1931  //
  1932  //    // Example iterating over at most 3 pages of a DescribeCertificates operation.
  1933  //    pageNum := 0
  1934  //    err := client.DescribeCertificatesPages(params,
  1935  //        func(page *docdb.DescribeCertificatesOutput, lastPage bool) bool {
  1936  //            pageNum++
  1937  //            fmt.Println(page)
  1938  //            return pageNum <= 3
  1939  //        })
  1940  //
  1941  func (c *DocDB) DescribeCertificatesPages(input *DescribeCertificatesInput, fn func(*DescribeCertificatesOutput, bool) bool) error {
  1942  	return c.DescribeCertificatesPagesWithContext(aws.BackgroundContext(), input, fn)
  1943  }
  1944  
  1945  // DescribeCertificatesPagesWithContext same as DescribeCertificatesPages except
  1946  // it takes a Context and allows setting request options on the pages.
  1947  //
  1948  // The context must be non-nil and will be used for request cancellation. If
  1949  // the context is nil a panic will occur. In the future the SDK may create
  1950  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1951  // for more information on using Contexts.
  1952  func (c *DocDB) DescribeCertificatesPagesWithContext(ctx aws.Context, input *DescribeCertificatesInput, fn func(*DescribeCertificatesOutput, bool) bool, opts ...request.Option) error {
  1953  	p := request.Pagination{
  1954  		NewRequest: func() (*request.Request, error) {
  1955  			var inCpy *DescribeCertificatesInput
  1956  			if input != nil {
  1957  				tmp := *input
  1958  				inCpy = &tmp
  1959  			}
  1960  			req, _ := c.DescribeCertificatesRequest(inCpy)
  1961  			req.SetContext(ctx)
  1962  			req.ApplyOptions(opts...)
  1963  			return req, nil
  1964  		},
  1965  	}
  1966  
  1967  	for p.Next() {
  1968  		if !fn(p.Page().(*DescribeCertificatesOutput), !p.HasNextPage()) {
  1969  			break
  1970  		}
  1971  	}
  1972  
  1973  	return p.Err()
  1974  }
  1975  
  1976  const opDescribeDBClusterParameterGroups = "DescribeDBClusterParameterGroups"
  1977  
  1978  // DescribeDBClusterParameterGroupsRequest generates a "aws/request.Request" representing the
  1979  // client's request for the DescribeDBClusterParameterGroups operation. The "output" return
  1980  // value will be populated with the request's response once the request completes
  1981  // successfully.
  1982  //
  1983  // Use "Send" method on the returned Request to send the API call to the service.
  1984  // the "output" return value is not valid until after Send returns without error.
  1985  //
  1986  // See DescribeDBClusterParameterGroups for more information on using the DescribeDBClusterParameterGroups
  1987  // API call, and error handling.
  1988  //
  1989  // This method is useful when you want to inject custom logic or configuration
  1990  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1991  //
  1992  //
  1993  //    // Example sending a request using the DescribeDBClusterParameterGroupsRequest method.
  1994  //    req, resp := client.DescribeDBClusterParameterGroupsRequest(params)
  1995  //
  1996  //    err := req.Send()
  1997  //    if err == nil { // resp is now filled
  1998  //        fmt.Println(resp)
  1999  //    }
  2000  //
  2001  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameterGroups
  2002  func (c *DocDB) DescribeDBClusterParameterGroupsRequest(input *DescribeDBClusterParameterGroupsInput) (req *request.Request, output *DescribeDBClusterParameterGroupsOutput) {
  2003  	op := &request.Operation{
  2004  		Name:       opDescribeDBClusterParameterGroups,
  2005  		HTTPMethod: "POST",
  2006  		HTTPPath:   "/",
  2007  		Paginator: &request.Paginator{
  2008  			InputTokens:     []string{"Marker"},
  2009  			OutputTokens:    []string{"Marker"},
  2010  			LimitToken:      "MaxRecords",
  2011  			TruncationToken: "",
  2012  		},
  2013  	}
  2014  
  2015  	if input == nil {
  2016  		input = &DescribeDBClusterParameterGroupsInput{}
  2017  	}
  2018  
  2019  	output = &DescribeDBClusterParameterGroupsOutput{}
  2020  	req = c.newRequest(op, input, output)
  2021  	return
  2022  }
  2023  
  2024  // DescribeDBClusterParameterGroups API operation for Amazon DocumentDB with MongoDB compatibility.
  2025  //
  2026  // Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName
  2027  // parameter is specified, the list contains only the description of the specified
  2028  // cluster parameter group.
  2029  //
  2030  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2031  // with awserr.Error's Code and Message methods to get detailed information about
  2032  // the error.
  2033  //
  2034  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  2035  // API operation DescribeDBClusterParameterGroups for usage and error information.
  2036  //
  2037  // Returned Error Codes:
  2038  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  2039  //   DBParameterGroupName doesn't refer to an existing parameter group.
  2040  //
  2041  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameterGroups
  2042  func (c *DocDB) DescribeDBClusterParameterGroups(input *DescribeDBClusterParameterGroupsInput) (*DescribeDBClusterParameterGroupsOutput, error) {
  2043  	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
  2044  	return out, req.Send()
  2045  }
  2046  
  2047  // DescribeDBClusterParameterGroupsWithContext is the same as DescribeDBClusterParameterGroups with the addition of
  2048  // the ability to pass a context and additional request options.
  2049  //
  2050  // See DescribeDBClusterParameterGroups for details on how to use this API operation.
  2051  //
  2052  // The context must be non-nil and will be used for request cancellation. If
  2053  // the context is nil a panic will occur. In the future the SDK may create
  2054  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2055  // for more information on using Contexts.
  2056  func (c *DocDB) DescribeDBClusterParameterGroupsWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, opts ...request.Option) (*DescribeDBClusterParameterGroupsOutput, error) {
  2057  	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
  2058  	req.SetContext(ctx)
  2059  	req.ApplyOptions(opts...)
  2060  	return out, req.Send()
  2061  }
  2062  
  2063  // DescribeDBClusterParameterGroupsPages iterates over the pages of a DescribeDBClusterParameterGroups operation,
  2064  // calling the "fn" function with the response data for each page. To stop
  2065  // iterating, return false from the fn function.
  2066  //
  2067  // See DescribeDBClusterParameterGroups method for more information on how to use this operation.
  2068  //
  2069  // Note: This operation can generate multiple requests to a service.
  2070  //
  2071  //    // Example iterating over at most 3 pages of a DescribeDBClusterParameterGroups operation.
  2072  //    pageNum := 0
  2073  //    err := client.DescribeDBClusterParameterGroupsPages(params,
  2074  //        func(page *docdb.DescribeDBClusterParameterGroupsOutput, lastPage bool) bool {
  2075  //            pageNum++
  2076  //            fmt.Println(page)
  2077  //            return pageNum <= 3
  2078  //        })
  2079  //
  2080  func (c *DocDB) DescribeDBClusterParameterGroupsPages(input *DescribeDBClusterParameterGroupsInput, fn func(*DescribeDBClusterParameterGroupsOutput, bool) bool) error {
  2081  	return c.DescribeDBClusterParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  2082  }
  2083  
  2084  // DescribeDBClusterParameterGroupsPagesWithContext same as DescribeDBClusterParameterGroupsPages except
  2085  // it takes a Context and allows setting request options on the pages.
  2086  //
  2087  // The context must be non-nil and will be used for request cancellation. If
  2088  // the context is nil a panic will occur. In the future the SDK may create
  2089  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2090  // for more information on using Contexts.
  2091  func (c *DocDB) DescribeDBClusterParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, fn func(*DescribeDBClusterParameterGroupsOutput, bool) bool, opts ...request.Option) error {
  2092  	p := request.Pagination{
  2093  		NewRequest: func() (*request.Request, error) {
  2094  			var inCpy *DescribeDBClusterParameterGroupsInput
  2095  			if input != nil {
  2096  				tmp := *input
  2097  				inCpy = &tmp
  2098  			}
  2099  			req, _ := c.DescribeDBClusterParameterGroupsRequest(inCpy)
  2100  			req.SetContext(ctx)
  2101  			req.ApplyOptions(opts...)
  2102  			return req, nil
  2103  		},
  2104  	}
  2105  
  2106  	for p.Next() {
  2107  		if !fn(p.Page().(*DescribeDBClusterParameterGroupsOutput), !p.HasNextPage()) {
  2108  			break
  2109  		}
  2110  	}
  2111  
  2112  	return p.Err()
  2113  }
  2114  
  2115  const opDescribeDBClusterParameters = "DescribeDBClusterParameters"
  2116  
  2117  // DescribeDBClusterParametersRequest generates a "aws/request.Request" representing the
  2118  // client's request for the DescribeDBClusterParameters operation. The "output" return
  2119  // value will be populated with the request's response once the request completes
  2120  // successfully.
  2121  //
  2122  // Use "Send" method on the returned Request to send the API call to the service.
  2123  // the "output" return value is not valid until after Send returns without error.
  2124  //
  2125  // See DescribeDBClusterParameters for more information on using the DescribeDBClusterParameters
  2126  // API call, and error handling.
  2127  //
  2128  // This method is useful when you want to inject custom logic or configuration
  2129  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2130  //
  2131  //
  2132  //    // Example sending a request using the DescribeDBClusterParametersRequest method.
  2133  //    req, resp := client.DescribeDBClusterParametersRequest(params)
  2134  //
  2135  //    err := req.Send()
  2136  //    if err == nil { // resp is now filled
  2137  //        fmt.Println(resp)
  2138  //    }
  2139  //
  2140  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameters
  2141  func (c *DocDB) DescribeDBClusterParametersRequest(input *DescribeDBClusterParametersInput) (req *request.Request, output *DescribeDBClusterParametersOutput) {
  2142  	op := &request.Operation{
  2143  		Name:       opDescribeDBClusterParameters,
  2144  		HTTPMethod: "POST",
  2145  		HTTPPath:   "/",
  2146  		Paginator: &request.Paginator{
  2147  			InputTokens:     []string{"Marker"},
  2148  			OutputTokens:    []string{"Marker"},
  2149  			LimitToken:      "MaxRecords",
  2150  			TruncationToken: "",
  2151  		},
  2152  	}
  2153  
  2154  	if input == nil {
  2155  		input = &DescribeDBClusterParametersInput{}
  2156  	}
  2157  
  2158  	output = &DescribeDBClusterParametersOutput{}
  2159  	req = c.newRequest(op, input, output)
  2160  	return
  2161  }
  2162  
  2163  // DescribeDBClusterParameters API operation for Amazon DocumentDB with MongoDB compatibility.
  2164  //
  2165  // Returns the detailed parameter list for a particular cluster parameter group.
  2166  //
  2167  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2168  // with awserr.Error's Code and Message methods to get detailed information about
  2169  // the error.
  2170  //
  2171  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  2172  // API operation DescribeDBClusterParameters for usage and error information.
  2173  //
  2174  // Returned Error Codes:
  2175  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  2176  //   DBParameterGroupName doesn't refer to an existing parameter group.
  2177  //
  2178  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameters
  2179  func (c *DocDB) DescribeDBClusterParameters(input *DescribeDBClusterParametersInput) (*DescribeDBClusterParametersOutput, error) {
  2180  	req, out := c.DescribeDBClusterParametersRequest(input)
  2181  	return out, req.Send()
  2182  }
  2183  
  2184  // DescribeDBClusterParametersWithContext is the same as DescribeDBClusterParameters with the addition of
  2185  // the ability to pass a context and additional request options.
  2186  //
  2187  // See DescribeDBClusterParameters for details on how to use this API operation.
  2188  //
  2189  // The context must be non-nil and will be used for request cancellation. If
  2190  // the context is nil a panic will occur. In the future the SDK may create
  2191  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2192  // for more information on using Contexts.
  2193  func (c *DocDB) DescribeDBClusterParametersWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, opts ...request.Option) (*DescribeDBClusterParametersOutput, error) {
  2194  	req, out := c.DescribeDBClusterParametersRequest(input)
  2195  	req.SetContext(ctx)
  2196  	req.ApplyOptions(opts...)
  2197  	return out, req.Send()
  2198  }
  2199  
  2200  // DescribeDBClusterParametersPages iterates over the pages of a DescribeDBClusterParameters operation,
  2201  // calling the "fn" function with the response data for each page. To stop
  2202  // iterating, return false from the fn function.
  2203  //
  2204  // See DescribeDBClusterParameters method for more information on how to use this operation.
  2205  //
  2206  // Note: This operation can generate multiple requests to a service.
  2207  //
  2208  //    // Example iterating over at most 3 pages of a DescribeDBClusterParameters operation.
  2209  //    pageNum := 0
  2210  //    err := client.DescribeDBClusterParametersPages(params,
  2211  //        func(page *docdb.DescribeDBClusterParametersOutput, lastPage bool) bool {
  2212  //            pageNum++
  2213  //            fmt.Println(page)
  2214  //            return pageNum <= 3
  2215  //        })
  2216  //
  2217  func (c *DocDB) DescribeDBClusterParametersPages(input *DescribeDBClusterParametersInput, fn func(*DescribeDBClusterParametersOutput, bool) bool) error {
  2218  	return c.DescribeDBClusterParametersPagesWithContext(aws.BackgroundContext(), input, fn)
  2219  }
  2220  
  2221  // DescribeDBClusterParametersPagesWithContext same as DescribeDBClusterParametersPages except
  2222  // it takes a Context and allows setting request options on the pages.
  2223  //
  2224  // The context must be non-nil and will be used for request cancellation. If
  2225  // the context is nil a panic will occur. In the future the SDK may create
  2226  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2227  // for more information on using Contexts.
  2228  func (c *DocDB) DescribeDBClusterParametersPagesWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, fn func(*DescribeDBClusterParametersOutput, bool) bool, opts ...request.Option) error {
  2229  	p := request.Pagination{
  2230  		NewRequest: func() (*request.Request, error) {
  2231  			var inCpy *DescribeDBClusterParametersInput
  2232  			if input != nil {
  2233  				tmp := *input
  2234  				inCpy = &tmp
  2235  			}
  2236  			req, _ := c.DescribeDBClusterParametersRequest(inCpy)
  2237  			req.SetContext(ctx)
  2238  			req.ApplyOptions(opts...)
  2239  			return req, nil
  2240  		},
  2241  	}
  2242  
  2243  	for p.Next() {
  2244  		if !fn(p.Page().(*DescribeDBClusterParametersOutput), !p.HasNextPage()) {
  2245  			break
  2246  		}
  2247  	}
  2248  
  2249  	return p.Err()
  2250  }
  2251  
  2252  const opDescribeDBClusterSnapshotAttributes = "DescribeDBClusterSnapshotAttributes"
  2253  
  2254  // DescribeDBClusterSnapshotAttributesRequest generates a "aws/request.Request" representing the
  2255  // client's request for the DescribeDBClusterSnapshotAttributes operation. The "output" return
  2256  // value will be populated with the request's response once the request completes
  2257  // successfully.
  2258  //
  2259  // Use "Send" method on the returned Request to send the API call to the service.
  2260  // the "output" return value is not valid until after Send returns without error.
  2261  //
  2262  // See DescribeDBClusterSnapshotAttributes for more information on using the DescribeDBClusterSnapshotAttributes
  2263  // API call, and error handling.
  2264  //
  2265  // This method is useful when you want to inject custom logic or configuration
  2266  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2267  //
  2268  //
  2269  //    // Example sending a request using the DescribeDBClusterSnapshotAttributesRequest method.
  2270  //    req, resp := client.DescribeDBClusterSnapshotAttributesRequest(params)
  2271  //
  2272  //    err := req.Send()
  2273  //    if err == nil { // resp is now filled
  2274  //        fmt.Println(resp)
  2275  //    }
  2276  //
  2277  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshotAttributes
  2278  func (c *DocDB) DescribeDBClusterSnapshotAttributesRequest(input *DescribeDBClusterSnapshotAttributesInput) (req *request.Request, output *DescribeDBClusterSnapshotAttributesOutput) {
  2279  	op := &request.Operation{
  2280  		Name:       opDescribeDBClusterSnapshotAttributes,
  2281  		HTTPMethod: "POST",
  2282  		HTTPPath:   "/",
  2283  	}
  2284  
  2285  	if input == nil {
  2286  		input = &DescribeDBClusterSnapshotAttributesInput{}
  2287  	}
  2288  
  2289  	output = &DescribeDBClusterSnapshotAttributesOutput{}
  2290  	req = c.newRequest(op, input, output)
  2291  	return
  2292  }
  2293  
  2294  // DescribeDBClusterSnapshotAttributes API operation for Amazon DocumentDB with MongoDB compatibility.
  2295  //
  2296  // Returns a list of cluster snapshot attribute names and values for a manual
  2297  // DB cluster snapshot.
  2298  //
  2299  // When you share snapshots with other accounts, DescribeDBClusterSnapshotAttributes
  2300  // returns the restore attribute and a list of IDs for the accounts that are
  2301  // authorized to copy or restore the manual cluster snapshot. If all is included
  2302  // in the list of values for the restore attribute, then the manual cluster
  2303  // snapshot is public and can be copied or restored by all accounts.
  2304  //
  2305  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2306  // with awserr.Error's Code and Message methods to get detailed information about
  2307  // the error.
  2308  //
  2309  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  2310  // API operation DescribeDBClusterSnapshotAttributes for usage and error information.
  2311  //
  2312  // Returned Error Codes:
  2313  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
  2314  //   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
  2315  //
  2316  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshotAttributes
  2317  func (c *DocDB) DescribeDBClusterSnapshotAttributes(input *DescribeDBClusterSnapshotAttributesInput) (*DescribeDBClusterSnapshotAttributesOutput, error) {
  2318  	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
  2319  	return out, req.Send()
  2320  }
  2321  
  2322  // DescribeDBClusterSnapshotAttributesWithContext is the same as DescribeDBClusterSnapshotAttributes with the addition of
  2323  // the ability to pass a context and additional request options.
  2324  //
  2325  // See DescribeDBClusterSnapshotAttributes for details on how to use this API operation.
  2326  //
  2327  // The context must be non-nil and will be used for request cancellation. If
  2328  // the context is nil a panic will occur. In the future the SDK may create
  2329  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2330  // for more information on using Contexts.
  2331  func (c *DocDB) DescribeDBClusterSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotAttributesInput, opts ...request.Option) (*DescribeDBClusterSnapshotAttributesOutput, error) {
  2332  	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
  2333  	req.SetContext(ctx)
  2334  	req.ApplyOptions(opts...)
  2335  	return out, req.Send()
  2336  }
  2337  
  2338  const opDescribeDBClusterSnapshots = "DescribeDBClusterSnapshots"
  2339  
  2340  // DescribeDBClusterSnapshotsRequest generates a "aws/request.Request" representing the
  2341  // client's request for the DescribeDBClusterSnapshots operation. The "output" return
  2342  // value will be populated with the request's response once the request completes
  2343  // successfully.
  2344  //
  2345  // Use "Send" method on the returned Request to send the API call to the service.
  2346  // the "output" return value is not valid until after Send returns without error.
  2347  //
  2348  // See DescribeDBClusterSnapshots for more information on using the DescribeDBClusterSnapshots
  2349  // API call, and error handling.
  2350  //
  2351  // This method is useful when you want to inject custom logic or configuration
  2352  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2353  //
  2354  //
  2355  //    // Example sending a request using the DescribeDBClusterSnapshotsRequest method.
  2356  //    req, resp := client.DescribeDBClusterSnapshotsRequest(params)
  2357  //
  2358  //    err := req.Send()
  2359  //    if err == nil { // resp is now filled
  2360  //        fmt.Println(resp)
  2361  //    }
  2362  //
  2363  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshots
  2364  func (c *DocDB) DescribeDBClusterSnapshotsRequest(input *DescribeDBClusterSnapshotsInput) (req *request.Request, output *DescribeDBClusterSnapshotsOutput) {
  2365  	op := &request.Operation{
  2366  		Name:       opDescribeDBClusterSnapshots,
  2367  		HTTPMethod: "POST",
  2368  		HTTPPath:   "/",
  2369  		Paginator: &request.Paginator{
  2370  			InputTokens:     []string{"Marker"},
  2371  			OutputTokens:    []string{"Marker"},
  2372  			LimitToken:      "MaxRecords",
  2373  			TruncationToken: "",
  2374  		},
  2375  	}
  2376  
  2377  	if input == nil {
  2378  		input = &DescribeDBClusterSnapshotsInput{}
  2379  	}
  2380  
  2381  	output = &DescribeDBClusterSnapshotsOutput{}
  2382  	req = c.newRequest(op, input, output)
  2383  	return
  2384  }
  2385  
  2386  // DescribeDBClusterSnapshots API operation for Amazon DocumentDB with MongoDB compatibility.
  2387  //
  2388  // Returns information about cluster snapshots. This API operation supports
  2389  // pagination.
  2390  //
  2391  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2392  // with awserr.Error's Code and Message methods to get detailed information about
  2393  // the error.
  2394  //
  2395  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  2396  // API operation DescribeDBClusterSnapshots for usage and error information.
  2397  //
  2398  // Returned Error Codes:
  2399  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
  2400  //   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
  2401  //
  2402  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshots
  2403  func (c *DocDB) DescribeDBClusterSnapshots(input *DescribeDBClusterSnapshotsInput) (*DescribeDBClusterSnapshotsOutput, error) {
  2404  	req, out := c.DescribeDBClusterSnapshotsRequest(input)
  2405  	return out, req.Send()
  2406  }
  2407  
  2408  // DescribeDBClusterSnapshotsWithContext is the same as DescribeDBClusterSnapshots with the addition of
  2409  // the ability to pass a context and additional request options.
  2410  //
  2411  // See DescribeDBClusterSnapshots for details on how to use this API operation.
  2412  //
  2413  // The context must be non-nil and will be used for request cancellation. If
  2414  // the context is nil a panic will occur. In the future the SDK may create
  2415  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2416  // for more information on using Contexts.
  2417  func (c *DocDB) DescribeDBClusterSnapshotsWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, opts ...request.Option) (*DescribeDBClusterSnapshotsOutput, error) {
  2418  	req, out := c.DescribeDBClusterSnapshotsRequest(input)
  2419  	req.SetContext(ctx)
  2420  	req.ApplyOptions(opts...)
  2421  	return out, req.Send()
  2422  }
  2423  
  2424  // DescribeDBClusterSnapshotsPages iterates over the pages of a DescribeDBClusterSnapshots operation,
  2425  // calling the "fn" function with the response data for each page. To stop
  2426  // iterating, return false from the fn function.
  2427  //
  2428  // See DescribeDBClusterSnapshots method for more information on how to use this operation.
  2429  //
  2430  // Note: This operation can generate multiple requests to a service.
  2431  //
  2432  //    // Example iterating over at most 3 pages of a DescribeDBClusterSnapshots operation.
  2433  //    pageNum := 0
  2434  //    err := client.DescribeDBClusterSnapshotsPages(params,
  2435  //        func(page *docdb.DescribeDBClusterSnapshotsOutput, lastPage bool) bool {
  2436  //            pageNum++
  2437  //            fmt.Println(page)
  2438  //            return pageNum <= 3
  2439  //        })
  2440  //
  2441  func (c *DocDB) DescribeDBClusterSnapshotsPages(input *DescribeDBClusterSnapshotsInput, fn func(*DescribeDBClusterSnapshotsOutput, bool) bool) error {
  2442  	return c.DescribeDBClusterSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
  2443  }
  2444  
  2445  // DescribeDBClusterSnapshotsPagesWithContext same as DescribeDBClusterSnapshotsPages except
  2446  // it takes a Context and allows setting request options on the pages.
  2447  //
  2448  // The context must be non-nil and will be used for request cancellation. If
  2449  // the context is nil a panic will occur. In the future the SDK may create
  2450  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2451  // for more information on using Contexts.
  2452  func (c *DocDB) DescribeDBClusterSnapshotsPagesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, fn func(*DescribeDBClusterSnapshotsOutput, bool) bool, opts ...request.Option) error {
  2453  	p := request.Pagination{
  2454  		NewRequest: func() (*request.Request, error) {
  2455  			var inCpy *DescribeDBClusterSnapshotsInput
  2456  			if input != nil {
  2457  				tmp := *input
  2458  				inCpy = &tmp
  2459  			}
  2460  			req, _ := c.DescribeDBClusterSnapshotsRequest(inCpy)
  2461  			req.SetContext(ctx)
  2462  			req.ApplyOptions(opts...)
  2463  			return req, nil
  2464  		},
  2465  	}
  2466  
  2467  	for p.Next() {
  2468  		if !fn(p.Page().(*DescribeDBClusterSnapshotsOutput), !p.HasNextPage()) {
  2469  			break
  2470  		}
  2471  	}
  2472  
  2473  	return p.Err()
  2474  }
  2475  
  2476  const opDescribeDBClusters = "DescribeDBClusters"
  2477  
  2478  // DescribeDBClustersRequest generates a "aws/request.Request" representing the
  2479  // client's request for the DescribeDBClusters operation. The "output" return
  2480  // value will be populated with the request's response once the request completes
  2481  // successfully.
  2482  //
  2483  // Use "Send" method on the returned Request to send the API call to the service.
  2484  // the "output" return value is not valid until after Send returns without error.
  2485  //
  2486  // See DescribeDBClusters for more information on using the DescribeDBClusters
  2487  // API call, and error handling.
  2488  //
  2489  // This method is useful when you want to inject custom logic or configuration
  2490  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2491  //
  2492  //
  2493  //    // Example sending a request using the DescribeDBClustersRequest method.
  2494  //    req, resp := client.DescribeDBClustersRequest(params)
  2495  //
  2496  //    err := req.Send()
  2497  //    if err == nil { // resp is now filled
  2498  //        fmt.Println(resp)
  2499  //    }
  2500  //
  2501  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusters
  2502  func (c *DocDB) DescribeDBClustersRequest(input *DescribeDBClustersInput) (req *request.Request, output *DescribeDBClustersOutput) {
  2503  	op := &request.Operation{
  2504  		Name:       opDescribeDBClusters,
  2505  		HTTPMethod: "POST",
  2506  		HTTPPath:   "/",
  2507  		Paginator: &request.Paginator{
  2508  			InputTokens:     []string{"Marker"},
  2509  			OutputTokens:    []string{"Marker"},
  2510  			LimitToken:      "MaxRecords",
  2511  			TruncationToken: "",
  2512  		},
  2513  	}
  2514  
  2515  	if input == nil {
  2516  		input = &DescribeDBClustersInput{}
  2517  	}
  2518  
  2519  	output = &DescribeDBClustersOutput{}
  2520  	req = c.newRequest(op, input, output)
  2521  	return
  2522  }
  2523  
  2524  // DescribeDBClusters API operation for Amazon DocumentDB with MongoDB compatibility.
  2525  //
  2526  // Returns information about provisioned Amazon DocumentDB clusters. This API
  2527  // operation supports pagination. For certain management features such as cluster
  2528  // and instance lifecycle management, Amazon DocumentDB leverages operational
  2529  // technology that is shared with Amazon RDS and Amazon Neptune. Use the filterName=engine,Values=docdb
  2530  // filter parameter to return only Amazon DocumentDB clusters.
  2531  //
  2532  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2533  // with awserr.Error's Code and Message methods to get detailed information about
  2534  // the error.
  2535  //
  2536  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  2537  // API operation DescribeDBClusters for usage and error information.
  2538  //
  2539  // Returned Error Codes:
  2540  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  2541  //   DBClusterIdentifier doesn't refer to an existing cluster.
  2542  //
  2543  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusters
  2544  func (c *DocDB) DescribeDBClusters(input *DescribeDBClustersInput) (*DescribeDBClustersOutput, error) {
  2545  	req, out := c.DescribeDBClustersRequest(input)
  2546  	return out, req.Send()
  2547  }
  2548  
  2549  // DescribeDBClustersWithContext is the same as DescribeDBClusters with the addition of
  2550  // the ability to pass a context and additional request options.
  2551  //
  2552  // See DescribeDBClusters for details on how to use this API operation.
  2553  //
  2554  // The context must be non-nil and will be used for request cancellation. If
  2555  // the context is nil a panic will occur. In the future the SDK may create
  2556  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2557  // for more information on using Contexts.
  2558  func (c *DocDB) DescribeDBClustersWithContext(ctx aws.Context, input *DescribeDBClustersInput, opts ...request.Option) (*DescribeDBClustersOutput, error) {
  2559  	req, out := c.DescribeDBClustersRequest(input)
  2560  	req.SetContext(ctx)
  2561  	req.ApplyOptions(opts...)
  2562  	return out, req.Send()
  2563  }
  2564  
  2565  // DescribeDBClustersPages iterates over the pages of a DescribeDBClusters operation,
  2566  // calling the "fn" function with the response data for each page. To stop
  2567  // iterating, return false from the fn function.
  2568  //
  2569  // See DescribeDBClusters method for more information on how to use this operation.
  2570  //
  2571  // Note: This operation can generate multiple requests to a service.
  2572  //
  2573  //    // Example iterating over at most 3 pages of a DescribeDBClusters operation.
  2574  //    pageNum := 0
  2575  //    err := client.DescribeDBClustersPages(params,
  2576  //        func(page *docdb.DescribeDBClustersOutput, lastPage bool) bool {
  2577  //            pageNum++
  2578  //            fmt.Println(page)
  2579  //            return pageNum <= 3
  2580  //        })
  2581  //
  2582  func (c *DocDB) DescribeDBClustersPages(input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool) error {
  2583  	return c.DescribeDBClustersPagesWithContext(aws.BackgroundContext(), input, fn)
  2584  }
  2585  
  2586  // DescribeDBClustersPagesWithContext same as DescribeDBClustersPages except
  2587  // it takes a Context and allows setting request options on the pages.
  2588  //
  2589  // The context must be non-nil and will be used for request cancellation. If
  2590  // the context is nil a panic will occur. In the future the SDK may create
  2591  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2592  // for more information on using Contexts.
  2593  func (c *DocDB) DescribeDBClustersPagesWithContext(ctx aws.Context, input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool, opts ...request.Option) error {
  2594  	p := request.Pagination{
  2595  		NewRequest: func() (*request.Request, error) {
  2596  			var inCpy *DescribeDBClustersInput
  2597  			if input != nil {
  2598  				tmp := *input
  2599  				inCpy = &tmp
  2600  			}
  2601  			req, _ := c.DescribeDBClustersRequest(inCpy)
  2602  			req.SetContext(ctx)
  2603  			req.ApplyOptions(opts...)
  2604  			return req, nil
  2605  		},
  2606  	}
  2607  
  2608  	for p.Next() {
  2609  		if !fn(p.Page().(*DescribeDBClustersOutput), !p.HasNextPage()) {
  2610  			break
  2611  		}
  2612  	}
  2613  
  2614  	return p.Err()
  2615  }
  2616  
  2617  const opDescribeDBEngineVersions = "DescribeDBEngineVersions"
  2618  
  2619  // DescribeDBEngineVersionsRequest generates a "aws/request.Request" representing the
  2620  // client's request for the DescribeDBEngineVersions operation. The "output" return
  2621  // value will be populated with the request's response once the request completes
  2622  // successfully.
  2623  //
  2624  // Use "Send" method on the returned Request to send the API call to the service.
  2625  // the "output" return value is not valid until after Send returns without error.
  2626  //
  2627  // See DescribeDBEngineVersions for more information on using the DescribeDBEngineVersions
  2628  // API call, and error handling.
  2629  //
  2630  // This method is useful when you want to inject custom logic or configuration
  2631  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2632  //
  2633  //
  2634  //    // Example sending a request using the DescribeDBEngineVersionsRequest method.
  2635  //    req, resp := client.DescribeDBEngineVersionsRequest(params)
  2636  //
  2637  //    err := req.Send()
  2638  //    if err == nil { // resp is now filled
  2639  //        fmt.Println(resp)
  2640  //    }
  2641  //
  2642  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBEngineVersions
  2643  func (c *DocDB) DescribeDBEngineVersionsRequest(input *DescribeDBEngineVersionsInput) (req *request.Request, output *DescribeDBEngineVersionsOutput) {
  2644  	op := &request.Operation{
  2645  		Name:       opDescribeDBEngineVersions,
  2646  		HTTPMethod: "POST",
  2647  		HTTPPath:   "/",
  2648  		Paginator: &request.Paginator{
  2649  			InputTokens:     []string{"Marker"},
  2650  			OutputTokens:    []string{"Marker"},
  2651  			LimitToken:      "MaxRecords",
  2652  			TruncationToken: "",
  2653  		},
  2654  	}
  2655  
  2656  	if input == nil {
  2657  		input = &DescribeDBEngineVersionsInput{}
  2658  	}
  2659  
  2660  	output = &DescribeDBEngineVersionsOutput{}
  2661  	req = c.newRequest(op, input, output)
  2662  	return
  2663  }
  2664  
  2665  // DescribeDBEngineVersions API operation for Amazon DocumentDB with MongoDB compatibility.
  2666  //
  2667  // Returns a list of the available engines.
  2668  //
  2669  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2670  // with awserr.Error's Code and Message methods to get detailed information about
  2671  // the error.
  2672  //
  2673  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  2674  // API operation DescribeDBEngineVersions for usage and error information.
  2675  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBEngineVersions
  2676  func (c *DocDB) DescribeDBEngineVersions(input *DescribeDBEngineVersionsInput) (*DescribeDBEngineVersionsOutput, error) {
  2677  	req, out := c.DescribeDBEngineVersionsRequest(input)
  2678  	return out, req.Send()
  2679  }
  2680  
  2681  // DescribeDBEngineVersionsWithContext is the same as DescribeDBEngineVersions with the addition of
  2682  // the ability to pass a context and additional request options.
  2683  //
  2684  // See DescribeDBEngineVersions for details on how to use this API operation.
  2685  //
  2686  // The context must be non-nil and will be used for request cancellation. If
  2687  // the context is nil a panic will occur. In the future the SDK may create
  2688  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2689  // for more information on using Contexts.
  2690  func (c *DocDB) DescribeDBEngineVersionsWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, opts ...request.Option) (*DescribeDBEngineVersionsOutput, error) {
  2691  	req, out := c.DescribeDBEngineVersionsRequest(input)
  2692  	req.SetContext(ctx)
  2693  	req.ApplyOptions(opts...)
  2694  	return out, req.Send()
  2695  }
  2696  
  2697  // DescribeDBEngineVersionsPages iterates over the pages of a DescribeDBEngineVersions operation,
  2698  // calling the "fn" function with the response data for each page. To stop
  2699  // iterating, return false from the fn function.
  2700  //
  2701  // See DescribeDBEngineVersions method for more information on how to use this operation.
  2702  //
  2703  // Note: This operation can generate multiple requests to a service.
  2704  //
  2705  //    // Example iterating over at most 3 pages of a DescribeDBEngineVersions operation.
  2706  //    pageNum := 0
  2707  //    err := client.DescribeDBEngineVersionsPages(params,
  2708  //        func(page *docdb.DescribeDBEngineVersionsOutput, lastPage bool) bool {
  2709  //            pageNum++
  2710  //            fmt.Println(page)
  2711  //            return pageNum <= 3
  2712  //        })
  2713  //
  2714  func (c *DocDB) DescribeDBEngineVersionsPages(input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool) error {
  2715  	return c.DescribeDBEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
  2716  }
  2717  
  2718  // DescribeDBEngineVersionsPagesWithContext same as DescribeDBEngineVersionsPages except
  2719  // it takes a Context and allows setting request options on the pages.
  2720  //
  2721  // The context must be non-nil and will be used for request cancellation. If
  2722  // the context is nil a panic will occur. In the future the SDK may create
  2723  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2724  // for more information on using Contexts.
  2725  func (c *DocDB) DescribeDBEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool, opts ...request.Option) error {
  2726  	p := request.Pagination{
  2727  		NewRequest: func() (*request.Request, error) {
  2728  			var inCpy *DescribeDBEngineVersionsInput
  2729  			if input != nil {
  2730  				tmp := *input
  2731  				inCpy = &tmp
  2732  			}
  2733  			req, _ := c.DescribeDBEngineVersionsRequest(inCpy)
  2734  			req.SetContext(ctx)
  2735  			req.ApplyOptions(opts...)
  2736  			return req, nil
  2737  		},
  2738  	}
  2739  
  2740  	for p.Next() {
  2741  		if !fn(p.Page().(*DescribeDBEngineVersionsOutput), !p.HasNextPage()) {
  2742  			break
  2743  		}
  2744  	}
  2745  
  2746  	return p.Err()
  2747  }
  2748  
  2749  const opDescribeDBInstances = "DescribeDBInstances"
  2750  
  2751  // DescribeDBInstancesRequest generates a "aws/request.Request" representing the
  2752  // client's request for the DescribeDBInstances operation. The "output" return
  2753  // value will be populated with the request's response once the request completes
  2754  // successfully.
  2755  //
  2756  // Use "Send" method on the returned Request to send the API call to the service.
  2757  // the "output" return value is not valid until after Send returns without error.
  2758  //
  2759  // See DescribeDBInstances for more information on using the DescribeDBInstances
  2760  // API call, and error handling.
  2761  //
  2762  // This method is useful when you want to inject custom logic or configuration
  2763  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2764  //
  2765  //
  2766  //    // Example sending a request using the DescribeDBInstancesRequest method.
  2767  //    req, resp := client.DescribeDBInstancesRequest(params)
  2768  //
  2769  //    err := req.Send()
  2770  //    if err == nil { // resp is now filled
  2771  //        fmt.Println(resp)
  2772  //    }
  2773  //
  2774  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBInstances
  2775  func (c *DocDB) DescribeDBInstancesRequest(input *DescribeDBInstancesInput) (req *request.Request, output *DescribeDBInstancesOutput) {
  2776  	op := &request.Operation{
  2777  		Name:       opDescribeDBInstances,
  2778  		HTTPMethod: "POST",
  2779  		HTTPPath:   "/",
  2780  		Paginator: &request.Paginator{
  2781  			InputTokens:     []string{"Marker"},
  2782  			OutputTokens:    []string{"Marker"},
  2783  			LimitToken:      "MaxRecords",
  2784  			TruncationToken: "",
  2785  		},
  2786  	}
  2787  
  2788  	if input == nil {
  2789  		input = &DescribeDBInstancesInput{}
  2790  	}
  2791  
  2792  	output = &DescribeDBInstancesOutput{}
  2793  	req = c.newRequest(op, input, output)
  2794  	return
  2795  }
  2796  
  2797  // DescribeDBInstances API operation for Amazon DocumentDB with MongoDB compatibility.
  2798  //
  2799  // Returns information about provisioned Amazon DocumentDB instances. This API
  2800  // supports pagination.
  2801  //
  2802  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2803  // with awserr.Error's Code and Message methods to get detailed information about
  2804  // the error.
  2805  //
  2806  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  2807  // API operation DescribeDBInstances for usage and error information.
  2808  //
  2809  // Returned Error Codes:
  2810  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  2811  //   DBInstanceIdentifier doesn't refer to an existing instance.
  2812  //
  2813  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBInstances
  2814  func (c *DocDB) DescribeDBInstances(input *DescribeDBInstancesInput) (*DescribeDBInstancesOutput, error) {
  2815  	req, out := c.DescribeDBInstancesRequest(input)
  2816  	return out, req.Send()
  2817  }
  2818  
  2819  // DescribeDBInstancesWithContext is the same as DescribeDBInstances with the addition of
  2820  // the ability to pass a context and additional request options.
  2821  //
  2822  // See DescribeDBInstances for details on how to use this API operation.
  2823  //
  2824  // The context must be non-nil and will be used for request cancellation. If
  2825  // the context is nil a panic will occur. In the future the SDK may create
  2826  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2827  // for more information on using Contexts.
  2828  func (c *DocDB) DescribeDBInstancesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.Option) (*DescribeDBInstancesOutput, error) {
  2829  	req, out := c.DescribeDBInstancesRequest(input)
  2830  	req.SetContext(ctx)
  2831  	req.ApplyOptions(opts...)
  2832  	return out, req.Send()
  2833  }
  2834  
  2835  // DescribeDBInstancesPages iterates over the pages of a DescribeDBInstances operation,
  2836  // calling the "fn" function with the response data for each page. To stop
  2837  // iterating, return false from the fn function.
  2838  //
  2839  // See DescribeDBInstances method for more information on how to use this operation.
  2840  //
  2841  // Note: This operation can generate multiple requests to a service.
  2842  //
  2843  //    // Example iterating over at most 3 pages of a DescribeDBInstances operation.
  2844  //    pageNum := 0
  2845  //    err := client.DescribeDBInstancesPages(params,
  2846  //        func(page *docdb.DescribeDBInstancesOutput, lastPage bool) bool {
  2847  //            pageNum++
  2848  //            fmt.Println(page)
  2849  //            return pageNum <= 3
  2850  //        })
  2851  //
  2852  func (c *DocDB) DescribeDBInstancesPages(input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool) error {
  2853  	return c.DescribeDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  2854  }
  2855  
  2856  // DescribeDBInstancesPagesWithContext same as DescribeDBInstancesPages except
  2857  // it takes a Context and allows setting request options on the pages.
  2858  //
  2859  // The context must be non-nil and will be used for request cancellation. If
  2860  // the context is nil a panic will occur. In the future the SDK may create
  2861  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2862  // for more information on using Contexts.
  2863  func (c *DocDB) DescribeDBInstancesPagesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool, opts ...request.Option) error {
  2864  	p := request.Pagination{
  2865  		NewRequest: func() (*request.Request, error) {
  2866  			var inCpy *DescribeDBInstancesInput
  2867  			if input != nil {
  2868  				tmp := *input
  2869  				inCpy = &tmp
  2870  			}
  2871  			req, _ := c.DescribeDBInstancesRequest(inCpy)
  2872  			req.SetContext(ctx)
  2873  			req.ApplyOptions(opts...)
  2874  			return req, nil
  2875  		},
  2876  	}
  2877  
  2878  	for p.Next() {
  2879  		if !fn(p.Page().(*DescribeDBInstancesOutput), !p.HasNextPage()) {
  2880  			break
  2881  		}
  2882  	}
  2883  
  2884  	return p.Err()
  2885  }
  2886  
  2887  const opDescribeDBSubnetGroups = "DescribeDBSubnetGroups"
  2888  
  2889  // DescribeDBSubnetGroupsRequest generates a "aws/request.Request" representing the
  2890  // client's request for the DescribeDBSubnetGroups operation. The "output" return
  2891  // value will be populated with the request's response once the request completes
  2892  // successfully.
  2893  //
  2894  // Use "Send" method on the returned Request to send the API call to the service.
  2895  // the "output" return value is not valid until after Send returns without error.
  2896  //
  2897  // See DescribeDBSubnetGroups for more information on using the DescribeDBSubnetGroups
  2898  // API call, and error handling.
  2899  //
  2900  // This method is useful when you want to inject custom logic or configuration
  2901  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2902  //
  2903  //
  2904  //    // Example sending a request using the DescribeDBSubnetGroupsRequest method.
  2905  //    req, resp := client.DescribeDBSubnetGroupsRequest(params)
  2906  //
  2907  //    err := req.Send()
  2908  //    if err == nil { // resp is now filled
  2909  //        fmt.Println(resp)
  2910  //    }
  2911  //
  2912  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBSubnetGroups
  2913  func (c *DocDB) DescribeDBSubnetGroupsRequest(input *DescribeDBSubnetGroupsInput) (req *request.Request, output *DescribeDBSubnetGroupsOutput) {
  2914  	op := &request.Operation{
  2915  		Name:       opDescribeDBSubnetGroups,
  2916  		HTTPMethod: "POST",
  2917  		HTTPPath:   "/",
  2918  		Paginator: &request.Paginator{
  2919  			InputTokens:     []string{"Marker"},
  2920  			OutputTokens:    []string{"Marker"},
  2921  			LimitToken:      "MaxRecords",
  2922  			TruncationToken: "",
  2923  		},
  2924  	}
  2925  
  2926  	if input == nil {
  2927  		input = &DescribeDBSubnetGroupsInput{}
  2928  	}
  2929  
  2930  	output = &DescribeDBSubnetGroupsOutput{}
  2931  	req = c.newRequest(op, input, output)
  2932  	return
  2933  }
  2934  
  2935  // DescribeDBSubnetGroups API operation for Amazon DocumentDB with MongoDB compatibility.
  2936  //
  2937  // Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified,
  2938  // the list will contain only the descriptions of the specified DBSubnetGroup.
  2939  //
  2940  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2941  // with awserr.Error's Code and Message methods to get detailed information about
  2942  // the error.
  2943  //
  2944  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  2945  // API operation DescribeDBSubnetGroups for usage and error information.
  2946  //
  2947  // Returned Error Codes:
  2948  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  2949  //   DBSubnetGroupName doesn't refer to an existing subnet group.
  2950  //
  2951  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBSubnetGroups
  2952  func (c *DocDB) DescribeDBSubnetGroups(input *DescribeDBSubnetGroupsInput) (*DescribeDBSubnetGroupsOutput, error) {
  2953  	req, out := c.DescribeDBSubnetGroupsRequest(input)
  2954  	return out, req.Send()
  2955  }
  2956  
  2957  // DescribeDBSubnetGroupsWithContext is the same as DescribeDBSubnetGroups with the addition of
  2958  // the ability to pass a context and additional request options.
  2959  //
  2960  // See DescribeDBSubnetGroups for details on how to use this API operation.
  2961  //
  2962  // The context must be non-nil and will be used for request cancellation. If
  2963  // the context is nil a panic will occur. In the future the SDK may create
  2964  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2965  // for more information on using Contexts.
  2966  func (c *DocDB) DescribeDBSubnetGroupsWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, opts ...request.Option) (*DescribeDBSubnetGroupsOutput, error) {
  2967  	req, out := c.DescribeDBSubnetGroupsRequest(input)
  2968  	req.SetContext(ctx)
  2969  	req.ApplyOptions(opts...)
  2970  	return out, req.Send()
  2971  }
  2972  
  2973  // DescribeDBSubnetGroupsPages iterates over the pages of a DescribeDBSubnetGroups operation,
  2974  // calling the "fn" function with the response data for each page. To stop
  2975  // iterating, return false from the fn function.
  2976  //
  2977  // See DescribeDBSubnetGroups method for more information on how to use this operation.
  2978  //
  2979  // Note: This operation can generate multiple requests to a service.
  2980  //
  2981  //    // Example iterating over at most 3 pages of a DescribeDBSubnetGroups operation.
  2982  //    pageNum := 0
  2983  //    err := client.DescribeDBSubnetGroupsPages(params,
  2984  //        func(page *docdb.DescribeDBSubnetGroupsOutput, lastPage bool) bool {
  2985  //            pageNum++
  2986  //            fmt.Println(page)
  2987  //            return pageNum <= 3
  2988  //        })
  2989  //
  2990  func (c *DocDB) DescribeDBSubnetGroupsPages(input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool) error {
  2991  	return c.DescribeDBSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  2992  }
  2993  
  2994  // DescribeDBSubnetGroupsPagesWithContext same as DescribeDBSubnetGroupsPages except
  2995  // it takes a Context and allows setting request options on the pages.
  2996  //
  2997  // The context must be non-nil and will be used for request cancellation. If
  2998  // the context is nil a panic will occur. In the future the SDK may create
  2999  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3000  // for more information on using Contexts.
  3001  func (c *DocDB) DescribeDBSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool, opts ...request.Option) error {
  3002  	p := request.Pagination{
  3003  		NewRequest: func() (*request.Request, error) {
  3004  			var inCpy *DescribeDBSubnetGroupsInput
  3005  			if input != nil {
  3006  				tmp := *input
  3007  				inCpy = &tmp
  3008  			}
  3009  			req, _ := c.DescribeDBSubnetGroupsRequest(inCpy)
  3010  			req.SetContext(ctx)
  3011  			req.ApplyOptions(opts...)
  3012  			return req, nil
  3013  		},
  3014  	}
  3015  
  3016  	for p.Next() {
  3017  		if !fn(p.Page().(*DescribeDBSubnetGroupsOutput), !p.HasNextPage()) {
  3018  			break
  3019  		}
  3020  	}
  3021  
  3022  	return p.Err()
  3023  }
  3024  
  3025  const opDescribeEngineDefaultClusterParameters = "DescribeEngineDefaultClusterParameters"
  3026  
  3027  // DescribeEngineDefaultClusterParametersRequest generates a "aws/request.Request" representing the
  3028  // client's request for the DescribeEngineDefaultClusterParameters operation. The "output" return
  3029  // value will be populated with the request's response once the request completes
  3030  // successfully.
  3031  //
  3032  // Use "Send" method on the returned Request to send the API call to the service.
  3033  // the "output" return value is not valid until after Send returns without error.
  3034  //
  3035  // See DescribeEngineDefaultClusterParameters for more information on using the DescribeEngineDefaultClusterParameters
  3036  // API call, and error handling.
  3037  //
  3038  // This method is useful when you want to inject custom logic or configuration
  3039  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3040  //
  3041  //
  3042  //    // Example sending a request using the DescribeEngineDefaultClusterParametersRequest method.
  3043  //    req, resp := client.DescribeEngineDefaultClusterParametersRequest(params)
  3044  //
  3045  //    err := req.Send()
  3046  //    if err == nil { // resp is now filled
  3047  //        fmt.Println(resp)
  3048  //    }
  3049  //
  3050  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEngineDefaultClusterParameters
  3051  func (c *DocDB) DescribeEngineDefaultClusterParametersRequest(input *DescribeEngineDefaultClusterParametersInput) (req *request.Request, output *DescribeEngineDefaultClusterParametersOutput) {
  3052  	op := &request.Operation{
  3053  		Name:       opDescribeEngineDefaultClusterParameters,
  3054  		HTTPMethod: "POST",
  3055  		HTTPPath:   "/",
  3056  	}
  3057  
  3058  	if input == nil {
  3059  		input = &DescribeEngineDefaultClusterParametersInput{}
  3060  	}
  3061  
  3062  	output = &DescribeEngineDefaultClusterParametersOutput{}
  3063  	req = c.newRequest(op, input, output)
  3064  	return
  3065  }
  3066  
  3067  // DescribeEngineDefaultClusterParameters API operation for Amazon DocumentDB with MongoDB compatibility.
  3068  //
  3069  // Returns the default engine and system parameter information for the cluster
  3070  // database engine.
  3071  //
  3072  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3073  // with awserr.Error's Code and Message methods to get detailed information about
  3074  // the error.
  3075  //
  3076  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  3077  // API operation DescribeEngineDefaultClusterParameters for usage and error information.
  3078  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEngineDefaultClusterParameters
  3079  func (c *DocDB) DescribeEngineDefaultClusterParameters(input *DescribeEngineDefaultClusterParametersInput) (*DescribeEngineDefaultClusterParametersOutput, error) {
  3080  	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
  3081  	return out, req.Send()
  3082  }
  3083  
  3084  // DescribeEngineDefaultClusterParametersWithContext is the same as DescribeEngineDefaultClusterParameters with the addition of
  3085  // the ability to pass a context and additional request options.
  3086  //
  3087  // See DescribeEngineDefaultClusterParameters for details on how to use this API operation.
  3088  //
  3089  // The context must be non-nil and will be used for request cancellation. If
  3090  // the context is nil a panic will occur. In the future the SDK may create
  3091  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3092  // for more information on using Contexts.
  3093  func (c *DocDB) DescribeEngineDefaultClusterParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultClusterParametersInput, opts ...request.Option) (*DescribeEngineDefaultClusterParametersOutput, error) {
  3094  	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
  3095  	req.SetContext(ctx)
  3096  	req.ApplyOptions(opts...)
  3097  	return out, req.Send()
  3098  }
  3099  
  3100  const opDescribeEventCategories = "DescribeEventCategories"
  3101  
  3102  // DescribeEventCategoriesRequest generates a "aws/request.Request" representing the
  3103  // client's request for the DescribeEventCategories operation. The "output" return
  3104  // value will be populated with the request's response once the request completes
  3105  // successfully.
  3106  //
  3107  // Use "Send" method on the returned Request to send the API call to the service.
  3108  // the "output" return value is not valid until after Send returns without error.
  3109  //
  3110  // See DescribeEventCategories for more information on using the DescribeEventCategories
  3111  // API call, and error handling.
  3112  //
  3113  // This method is useful when you want to inject custom logic or configuration
  3114  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3115  //
  3116  //
  3117  //    // Example sending a request using the DescribeEventCategoriesRequest method.
  3118  //    req, resp := client.DescribeEventCategoriesRequest(params)
  3119  //
  3120  //    err := req.Send()
  3121  //    if err == nil { // resp is now filled
  3122  //        fmt.Println(resp)
  3123  //    }
  3124  //
  3125  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEventCategories
  3126  func (c *DocDB) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) {
  3127  	op := &request.Operation{
  3128  		Name:       opDescribeEventCategories,
  3129  		HTTPMethod: "POST",
  3130  		HTTPPath:   "/",
  3131  	}
  3132  
  3133  	if input == nil {
  3134  		input = &DescribeEventCategoriesInput{}
  3135  	}
  3136  
  3137  	output = &DescribeEventCategoriesOutput{}
  3138  	req = c.newRequest(op, input, output)
  3139  	return
  3140  }
  3141  
  3142  // DescribeEventCategories API operation for Amazon DocumentDB with MongoDB compatibility.
  3143  //
  3144  // Displays a list of categories for all event source types, or, if specified,
  3145  // for a specified source type.
  3146  //
  3147  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3148  // with awserr.Error's Code and Message methods to get detailed information about
  3149  // the error.
  3150  //
  3151  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  3152  // API operation DescribeEventCategories for usage and error information.
  3153  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEventCategories
  3154  func (c *DocDB) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) {
  3155  	req, out := c.DescribeEventCategoriesRequest(input)
  3156  	return out, req.Send()
  3157  }
  3158  
  3159  // DescribeEventCategoriesWithContext is the same as DescribeEventCategories with the addition of
  3160  // the ability to pass a context and additional request options.
  3161  //
  3162  // See DescribeEventCategories for details on how to use this API operation.
  3163  //
  3164  // The context must be non-nil and will be used for request cancellation. If
  3165  // the context is nil a panic will occur. In the future the SDK may create
  3166  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3167  // for more information on using Contexts.
  3168  func (c *DocDB) DescribeEventCategoriesWithContext(ctx aws.Context, input *DescribeEventCategoriesInput, opts ...request.Option) (*DescribeEventCategoriesOutput, error) {
  3169  	req, out := c.DescribeEventCategoriesRequest(input)
  3170  	req.SetContext(ctx)
  3171  	req.ApplyOptions(opts...)
  3172  	return out, req.Send()
  3173  }
  3174  
  3175  const opDescribeEventSubscriptions = "DescribeEventSubscriptions"
  3176  
  3177  // DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the
  3178  // client's request for the DescribeEventSubscriptions operation. The "output" return
  3179  // value will be populated with the request's response once the request completes
  3180  // successfully.
  3181  //
  3182  // Use "Send" method on the returned Request to send the API call to the service.
  3183  // the "output" return value is not valid until after Send returns without error.
  3184  //
  3185  // See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions
  3186  // API call, and error handling.
  3187  //
  3188  // This method is useful when you want to inject custom logic or configuration
  3189  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3190  //
  3191  //
  3192  //    // Example sending a request using the DescribeEventSubscriptionsRequest method.
  3193  //    req, resp := client.DescribeEventSubscriptionsRequest(params)
  3194  //
  3195  //    err := req.Send()
  3196  //    if err == nil { // resp is now filled
  3197  //        fmt.Println(resp)
  3198  //    }
  3199  //
  3200  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEventSubscriptions
  3201  func (c *DocDB) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) {
  3202  	op := &request.Operation{
  3203  		Name:       opDescribeEventSubscriptions,
  3204  		HTTPMethod: "POST",
  3205  		HTTPPath:   "/",
  3206  		Paginator: &request.Paginator{
  3207  			InputTokens:     []string{"Marker"},
  3208  			OutputTokens:    []string{"Marker"},
  3209  			LimitToken:      "MaxRecords",
  3210  			TruncationToken: "",
  3211  		},
  3212  	}
  3213  
  3214  	if input == nil {
  3215  		input = &DescribeEventSubscriptionsInput{}
  3216  	}
  3217  
  3218  	output = &DescribeEventSubscriptionsOutput{}
  3219  	req = c.newRequest(op, input, output)
  3220  	return
  3221  }
  3222  
  3223  // DescribeEventSubscriptions API operation for Amazon DocumentDB with MongoDB compatibility.
  3224  //
  3225  // Lists all the subscription descriptions for a customer account. The description
  3226  // for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType,
  3227  // SourceID, CreationTime, and Status.
  3228  //
  3229  // If you specify a SubscriptionName, lists the description for that subscription.
  3230  //
  3231  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3232  // with awserr.Error's Code and Message methods to get detailed information about
  3233  // the error.
  3234  //
  3235  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  3236  // API operation DescribeEventSubscriptions for usage and error information.
  3237  //
  3238  // Returned Error Codes:
  3239  //   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
  3240  //   The subscription name does not exist.
  3241  //
  3242  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEventSubscriptions
  3243  func (c *DocDB) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) {
  3244  	req, out := c.DescribeEventSubscriptionsRequest(input)
  3245  	return out, req.Send()
  3246  }
  3247  
  3248  // DescribeEventSubscriptionsWithContext is the same as DescribeEventSubscriptions with the addition of
  3249  // the ability to pass a context and additional request options.
  3250  //
  3251  // See DescribeEventSubscriptions for details on how to use this API operation.
  3252  //
  3253  // The context must be non-nil and will be used for request cancellation. If
  3254  // the context is nil a panic will occur. In the future the SDK may create
  3255  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3256  // for more information on using Contexts.
  3257  func (c *DocDB) DescribeEventSubscriptionsWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, opts ...request.Option) (*DescribeEventSubscriptionsOutput, error) {
  3258  	req, out := c.DescribeEventSubscriptionsRequest(input)
  3259  	req.SetContext(ctx)
  3260  	req.ApplyOptions(opts...)
  3261  	return out, req.Send()
  3262  }
  3263  
  3264  // DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation,
  3265  // calling the "fn" function with the response data for each page. To stop
  3266  // iterating, return false from the fn function.
  3267  //
  3268  // See DescribeEventSubscriptions method for more information on how to use this operation.
  3269  //
  3270  // Note: This operation can generate multiple requests to a service.
  3271  //
  3272  //    // Example iterating over at most 3 pages of a DescribeEventSubscriptions operation.
  3273  //    pageNum := 0
  3274  //    err := client.DescribeEventSubscriptionsPages(params,
  3275  //        func(page *docdb.DescribeEventSubscriptionsOutput, lastPage bool) bool {
  3276  //            pageNum++
  3277  //            fmt.Println(page)
  3278  //            return pageNum <= 3
  3279  //        })
  3280  //
  3281  func (c *DocDB) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool) error {
  3282  	return c.DescribeEventSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn)
  3283  }
  3284  
  3285  // DescribeEventSubscriptionsPagesWithContext same as DescribeEventSubscriptionsPages except
  3286  // it takes a Context and allows setting request options on the pages.
  3287  //
  3288  // The context must be non-nil and will be used for request cancellation. If
  3289  // the context is nil a panic will occur. In the future the SDK may create
  3290  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3291  // for more information on using Contexts.
  3292  func (c *DocDB) DescribeEventSubscriptionsPagesWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool, opts ...request.Option) error {
  3293  	p := request.Pagination{
  3294  		NewRequest: func() (*request.Request, error) {
  3295  			var inCpy *DescribeEventSubscriptionsInput
  3296  			if input != nil {
  3297  				tmp := *input
  3298  				inCpy = &tmp
  3299  			}
  3300  			req, _ := c.DescribeEventSubscriptionsRequest(inCpy)
  3301  			req.SetContext(ctx)
  3302  			req.ApplyOptions(opts...)
  3303  			return req, nil
  3304  		},
  3305  	}
  3306  
  3307  	for p.Next() {
  3308  		if !fn(p.Page().(*DescribeEventSubscriptionsOutput), !p.HasNextPage()) {
  3309  			break
  3310  		}
  3311  	}
  3312  
  3313  	return p.Err()
  3314  }
  3315  
  3316  const opDescribeEvents = "DescribeEvents"
  3317  
  3318  // DescribeEventsRequest generates a "aws/request.Request" representing the
  3319  // client's request for the DescribeEvents operation. The "output" return
  3320  // value will be populated with the request's response once the request completes
  3321  // successfully.
  3322  //
  3323  // Use "Send" method on the returned Request to send the API call to the service.
  3324  // the "output" return value is not valid until after Send returns without error.
  3325  //
  3326  // See DescribeEvents for more information on using the DescribeEvents
  3327  // API call, and error handling.
  3328  //
  3329  // This method is useful when you want to inject custom logic or configuration
  3330  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3331  //
  3332  //
  3333  //    // Example sending a request using the DescribeEventsRequest method.
  3334  //    req, resp := client.DescribeEventsRequest(params)
  3335  //
  3336  //    err := req.Send()
  3337  //    if err == nil { // resp is now filled
  3338  //        fmt.Println(resp)
  3339  //    }
  3340  //
  3341  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEvents
  3342  func (c *DocDB) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
  3343  	op := &request.Operation{
  3344  		Name:       opDescribeEvents,
  3345  		HTTPMethod: "POST",
  3346  		HTTPPath:   "/",
  3347  		Paginator: &request.Paginator{
  3348  			InputTokens:     []string{"Marker"},
  3349  			OutputTokens:    []string{"Marker"},
  3350  			LimitToken:      "MaxRecords",
  3351  			TruncationToken: "",
  3352  		},
  3353  	}
  3354  
  3355  	if input == nil {
  3356  		input = &DescribeEventsInput{}
  3357  	}
  3358  
  3359  	output = &DescribeEventsOutput{}
  3360  	req = c.newRequest(op, input, output)
  3361  	return
  3362  }
  3363  
  3364  // DescribeEvents API operation for Amazon DocumentDB with MongoDB compatibility.
  3365  //
  3366  // Returns events related to instances, security groups, snapshots, and DB parameter
  3367  // groups for the past 14 days. You can obtain events specific to a particular
  3368  // DB instance, security group, snapshot, or parameter group by providing the
  3369  // name as a parameter. By default, the events of the past hour are returned.
  3370  //
  3371  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3372  // with awserr.Error's Code and Message methods to get detailed information about
  3373  // the error.
  3374  //
  3375  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  3376  // API operation DescribeEvents for usage and error information.
  3377  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEvents
  3378  func (c *DocDB) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
  3379  	req, out := c.DescribeEventsRequest(input)
  3380  	return out, req.Send()
  3381  }
  3382  
  3383  // DescribeEventsWithContext is the same as DescribeEvents with the addition of
  3384  // the ability to pass a context and additional request options.
  3385  //
  3386  // See DescribeEvents for details on how to use this API operation.
  3387  //
  3388  // The context must be non-nil and will be used for request cancellation. If
  3389  // the context is nil a panic will occur. In the future the SDK may create
  3390  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3391  // for more information on using Contexts.
  3392  func (c *DocDB) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
  3393  	req, out := c.DescribeEventsRequest(input)
  3394  	req.SetContext(ctx)
  3395  	req.ApplyOptions(opts...)
  3396  	return out, req.Send()
  3397  }
  3398  
  3399  // DescribeEventsPages iterates over the pages of a DescribeEvents operation,
  3400  // calling the "fn" function with the response data for each page. To stop
  3401  // iterating, return false from the fn function.
  3402  //
  3403  // See DescribeEvents method for more information on how to use this operation.
  3404  //
  3405  // Note: This operation can generate multiple requests to a service.
  3406  //
  3407  //    // Example iterating over at most 3 pages of a DescribeEvents operation.
  3408  //    pageNum := 0
  3409  //    err := client.DescribeEventsPages(params,
  3410  //        func(page *docdb.DescribeEventsOutput, lastPage bool) bool {
  3411  //            pageNum++
  3412  //            fmt.Println(page)
  3413  //            return pageNum <= 3
  3414  //        })
  3415  //
  3416  func (c *DocDB) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
  3417  	return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
  3418  }
  3419  
  3420  // DescribeEventsPagesWithContext same as DescribeEventsPages except
  3421  // it takes a Context and allows setting request options on the pages.
  3422  //
  3423  // The context must be non-nil and will be used for request cancellation. If
  3424  // the context is nil a panic will occur. In the future the SDK may create
  3425  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3426  // for more information on using Contexts.
  3427  func (c *DocDB) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
  3428  	p := request.Pagination{
  3429  		NewRequest: func() (*request.Request, error) {
  3430  			var inCpy *DescribeEventsInput
  3431  			if input != nil {
  3432  				tmp := *input
  3433  				inCpy = &tmp
  3434  			}
  3435  			req, _ := c.DescribeEventsRequest(inCpy)
  3436  			req.SetContext(ctx)
  3437  			req.ApplyOptions(opts...)
  3438  			return req, nil
  3439  		},
  3440  	}
  3441  
  3442  	for p.Next() {
  3443  		if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) {
  3444  			break
  3445  		}
  3446  	}
  3447  
  3448  	return p.Err()
  3449  }
  3450  
  3451  const opDescribeGlobalClusters = "DescribeGlobalClusters"
  3452  
  3453  // DescribeGlobalClustersRequest generates a "aws/request.Request" representing the
  3454  // client's request for the DescribeGlobalClusters operation. The "output" return
  3455  // value will be populated with the request's response once the request completes
  3456  // successfully.
  3457  //
  3458  // Use "Send" method on the returned Request to send the API call to the service.
  3459  // the "output" return value is not valid until after Send returns without error.
  3460  //
  3461  // See DescribeGlobalClusters for more information on using the DescribeGlobalClusters
  3462  // API call, and error handling.
  3463  //
  3464  // This method is useful when you want to inject custom logic or configuration
  3465  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3466  //
  3467  //
  3468  //    // Example sending a request using the DescribeGlobalClustersRequest method.
  3469  //    req, resp := client.DescribeGlobalClustersRequest(params)
  3470  //
  3471  //    err := req.Send()
  3472  //    if err == nil { // resp is now filled
  3473  //        fmt.Println(resp)
  3474  //    }
  3475  //
  3476  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeGlobalClusters
  3477  func (c *DocDB) DescribeGlobalClustersRequest(input *DescribeGlobalClustersInput) (req *request.Request, output *DescribeGlobalClustersOutput) {
  3478  	op := &request.Operation{
  3479  		Name:       opDescribeGlobalClusters,
  3480  		HTTPMethod: "POST",
  3481  		HTTPPath:   "/",
  3482  		Paginator: &request.Paginator{
  3483  			InputTokens:     []string{"Marker"},
  3484  			OutputTokens:    []string{"Marker"},
  3485  			LimitToken:      "MaxRecords",
  3486  			TruncationToken: "",
  3487  		},
  3488  	}
  3489  
  3490  	if input == nil {
  3491  		input = &DescribeGlobalClustersInput{}
  3492  	}
  3493  
  3494  	output = &DescribeGlobalClustersOutput{}
  3495  	req = c.newRequest(op, input, output)
  3496  	return
  3497  }
  3498  
  3499  // DescribeGlobalClusters API operation for Amazon DocumentDB with MongoDB compatibility.
  3500  //
  3501  // Returns information about Amazon DocumentDB global clusters. This API supports
  3502  // pagination.
  3503  //
  3504  // This action only applies to Amazon DocumentDB clusters.
  3505  //
  3506  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3507  // with awserr.Error's Code and Message methods to get detailed information about
  3508  // the error.
  3509  //
  3510  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  3511  // API operation DescribeGlobalClusters for usage and error information.
  3512  //
  3513  // Returned Error Codes:
  3514  //   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
  3515  //   The GlobalClusterIdentifier doesn't refer to an existing global cluster.
  3516  //
  3517  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeGlobalClusters
  3518  func (c *DocDB) DescribeGlobalClusters(input *DescribeGlobalClustersInput) (*DescribeGlobalClustersOutput, error) {
  3519  	req, out := c.DescribeGlobalClustersRequest(input)
  3520  	return out, req.Send()
  3521  }
  3522  
  3523  // DescribeGlobalClustersWithContext is the same as DescribeGlobalClusters with the addition of
  3524  // the ability to pass a context and additional request options.
  3525  //
  3526  // See DescribeGlobalClusters for details on how to use this API operation.
  3527  //
  3528  // The context must be non-nil and will be used for request cancellation. If
  3529  // the context is nil a panic will occur. In the future the SDK may create
  3530  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3531  // for more information on using Contexts.
  3532  func (c *DocDB) DescribeGlobalClustersWithContext(ctx aws.Context, input *DescribeGlobalClustersInput, opts ...request.Option) (*DescribeGlobalClustersOutput, error) {
  3533  	req, out := c.DescribeGlobalClustersRequest(input)
  3534  	req.SetContext(ctx)
  3535  	req.ApplyOptions(opts...)
  3536  	return out, req.Send()
  3537  }
  3538  
  3539  // DescribeGlobalClustersPages iterates over the pages of a DescribeGlobalClusters operation,
  3540  // calling the "fn" function with the response data for each page. To stop
  3541  // iterating, return false from the fn function.
  3542  //
  3543  // See DescribeGlobalClusters method for more information on how to use this operation.
  3544  //
  3545  // Note: This operation can generate multiple requests to a service.
  3546  //
  3547  //    // Example iterating over at most 3 pages of a DescribeGlobalClusters operation.
  3548  //    pageNum := 0
  3549  //    err := client.DescribeGlobalClustersPages(params,
  3550  //        func(page *docdb.DescribeGlobalClustersOutput, lastPage bool) bool {
  3551  //            pageNum++
  3552  //            fmt.Println(page)
  3553  //            return pageNum <= 3
  3554  //        })
  3555  //
  3556  func (c *DocDB) DescribeGlobalClustersPages(input *DescribeGlobalClustersInput, fn func(*DescribeGlobalClustersOutput, bool) bool) error {
  3557  	return c.DescribeGlobalClustersPagesWithContext(aws.BackgroundContext(), input, fn)
  3558  }
  3559  
  3560  // DescribeGlobalClustersPagesWithContext same as DescribeGlobalClustersPages except
  3561  // it takes a Context and allows setting request options on the pages.
  3562  //
  3563  // The context must be non-nil and will be used for request cancellation. If
  3564  // the context is nil a panic will occur. In the future the SDK may create
  3565  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3566  // for more information on using Contexts.
  3567  func (c *DocDB) DescribeGlobalClustersPagesWithContext(ctx aws.Context, input *DescribeGlobalClustersInput, fn func(*DescribeGlobalClustersOutput, bool) bool, opts ...request.Option) error {
  3568  	p := request.Pagination{
  3569  		NewRequest: func() (*request.Request, error) {
  3570  			var inCpy *DescribeGlobalClustersInput
  3571  			if input != nil {
  3572  				tmp := *input
  3573  				inCpy = &tmp
  3574  			}
  3575  			req, _ := c.DescribeGlobalClustersRequest(inCpy)
  3576  			req.SetContext(ctx)
  3577  			req.ApplyOptions(opts...)
  3578  			return req, nil
  3579  		},
  3580  	}
  3581  
  3582  	for p.Next() {
  3583  		if !fn(p.Page().(*DescribeGlobalClustersOutput), !p.HasNextPage()) {
  3584  			break
  3585  		}
  3586  	}
  3587  
  3588  	return p.Err()
  3589  }
  3590  
  3591  const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions"
  3592  
  3593  // DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the
  3594  // client's request for the DescribeOrderableDBInstanceOptions operation. The "output" return
  3595  // value will be populated with the request's response once the request completes
  3596  // successfully.
  3597  //
  3598  // Use "Send" method on the returned Request to send the API call to the service.
  3599  // the "output" return value is not valid until after Send returns without error.
  3600  //
  3601  // See DescribeOrderableDBInstanceOptions for more information on using the DescribeOrderableDBInstanceOptions
  3602  // API call, and error handling.
  3603  //
  3604  // This method is useful when you want to inject custom logic or configuration
  3605  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3606  //
  3607  //
  3608  //    // Example sending a request using the DescribeOrderableDBInstanceOptionsRequest method.
  3609  //    req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params)
  3610  //
  3611  //    err := req.Send()
  3612  //    if err == nil { // resp is now filled
  3613  //        fmt.Println(resp)
  3614  //    }
  3615  //
  3616  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeOrderableDBInstanceOptions
  3617  func (c *DocDB) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderableDBInstanceOptionsInput) (req *request.Request, output *DescribeOrderableDBInstanceOptionsOutput) {
  3618  	op := &request.Operation{
  3619  		Name:       opDescribeOrderableDBInstanceOptions,
  3620  		HTTPMethod: "POST",
  3621  		HTTPPath:   "/",
  3622  		Paginator: &request.Paginator{
  3623  			InputTokens:     []string{"Marker"},
  3624  			OutputTokens:    []string{"Marker"},
  3625  			LimitToken:      "MaxRecords",
  3626  			TruncationToken: "",
  3627  		},
  3628  	}
  3629  
  3630  	if input == nil {
  3631  		input = &DescribeOrderableDBInstanceOptionsInput{}
  3632  	}
  3633  
  3634  	output = &DescribeOrderableDBInstanceOptionsOutput{}
  3635  	req = c.newRequest(op, input, output)
  3636  	return
  3637  }
  3638  
  3639  // DescribeOrderableDBInstanceOptions API operation for Amazon DocumentDB with MongoDB compatibility.
  3640  //
  3641  // Returns a list of orderable instance options for the specified engine.
  3642  //
  3643  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3644  // with awserr.Error's Code and Message methods to get detailed information about
  3645  // the error.
  3646  //
  3647  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  3648  // API operation DescribeOrderableDBInstanceOptions for usage and error information.
  3649  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeOrderableDBInstanceOptions
  3650  func (c *DocDB) DescribeOrderableDBInstanceOptions(input *DescribeOrderableDBInstanceOptionsInput) (*DescribeOrderableDBInstanceOptionsOutput, error) {
  3651  	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
  3652  	return out, req.Send()
  3653  }
  3654  
  3655  // DescribeOrderableDBInstanceOptionsWithContext is the same as DescribeOrderableDBInstanceOptions with the addition of
  3656  // the ability to pass a context and additional request options.
  3657  //
  3658  // See DescribeOrderableDBInstanceOptions for details on how to use this API operation.
  3659  //
  3660  // The context must be non-nil and will be used for request cancellation. If
  3661  // the context is nil a panic will occur. In the future the SDK may create
  3662  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3663  // for more information on using Contexts.
  3664  func (c *DocDB) DescribeOrderableDBInstanceOptionsWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, opts ...request.Option) (*DescribeOrderableDBInstanceOptionsOutput, error) {
  3665  	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
  3666  	req.SetContext(ctx)
  3667  	req.ApplyOptions(opts...)
  3668  	return out, req.Send()
  3669  }
  3670  
  3671  // DescribeOrderableDBInstanceOptionsPages iterates over the pages of a DescribeOrderableDBInstanceOptions operation,
  3672  // calling the "fn" function with the response data for each page. To stop
  3673  // iterating, return false from the fn function.
  3674  //
  3675  // See DescribeOrderableDBInstanceOptions method for more information on how to use this operation.
  3676  //
  3677  // Note: This operation can generate multiple requests to a service.
  3678  //
  3679  //    // Example iterating over at most 3 pages of a DescribeOrderableDBInstanceOptions operation.
  3680  //    pageNum := 0
  3681  //    err := client.DescribeOrderableDBInstanceOptionsPages(params,
  3682  //        func(page *docdb.DescribeOrderableDBInstanceOptionsOutput, lastPage bool) bool {
  3683  //            pageNum++
  3684  //            fmt.Println(page)
  3685  //            return pageNum <= 3
  3686  //        })
  3687  //
  3688  func (c *DocDB) DescribeOrderableDBInstanceOptionsPages(input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool) error {
  3689  	return c.DescribeOrderableDBInstanceOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
  3690  }
  3691  
  3692  // DescribeOrderableDBInstanceOptionsPagesWithContext same as DescribeOrderableDBInstanceOptionsPages except
  3693  // it takes a Context and allows setting request options on the pages.
  3694  //
  3695  // The context must be non-nil and will be used for request cancellation. If
  3696  // the context is nil a panic will occur. In the future the SDK may create
  3697  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3698  // for more information on using Contexts.
  3699  func (c *DocDB) DescribeOrderableDBInstanceOptionsPagesWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool, opts ...request.Option) error {
  3700  	p := request.Pagination{
  3701  		NewRequest: func() (*request.Request, error) {
  3702  			var inCpy *DescribeOrderableDBInstanceOptionsInput
  3703  			if input != nil {
  3704  				tmp := *input
  3705  				inCpy = &tmp
  3706  			}
  3707  			req, _ := c.DescribeOrderableDBInstanceOptionsRequest(inCpy)
  3708  			req.SetContext(ctx)
  3709  			req.ApplyOptions(opts...)
  3710  			return req, nil
  3711  		},
  3712  	}
  3713  
  3714  	for p.Next() {
  3715  		if !fn(p.Page().(*DescribeOrderableDBInstanceOptionsOutput), !p.HasNextPage()) {
  3716  			break
  3717  		}
  3718  	}
  3719  
  3720  	return p.Err()
  3721  }
  3722  
  3723  const opDescribePendingMaintenanceActions = "DescribePendingMaintenanceActions"
  3724  
  3725  // DescribePendingMaintenanceActionsRequest generates a "aws/request.Request" representing the
  3726  // client's request for the DescribePendingMaintenanceActions operation. The "output" return
  3727  // value will be populated with the request's response once the request completes
  3728  // successfully.
  3729  //
  3730  // Use "Send" method on the returned Request to send the API call to the service.
  3731  // the "output" return value is not valid until after Send returns without error.
  3732  //
  3733  // See DescribePendingMaintenanceActions for more information on using the DescribePendingMaintenanceActions
  3734  // API call, and error handling.
  3735  //
  3736  // This method is useful when you want to inject custom logic or configuration
  3737  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3738  //
  3739  //
  3740  //    // Example sending a request using the DescribePendingMaintenanceActionsRequest method.
  3741  //    req, resp := client.DescribePendingMaintenanceActionsRequest(params)
  3742  //
  3743  //    err := req.Send()
  3744  //    if err == nil { // resp is now filled
  3745  //        fmt.Println(resp)
  3746  //    }
  3747  //
  3748  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribePendingMaintenanceActions
  3749  func (c *DocDB) DescribePendingMaintenanceActionsRequest(input *DescribePendingMaintenanceActionsInput) (req *request.Request, output *DescribePendingMaintenanceActionsOutput) {
  3750  	op := &request.Operation{
  3751  		Name:       opDescribePendingMaintenanceActions,
  3752  		HTTPMethod: "POST",
  3753  		HTTPPath:   "/",
  3754  		Paginator: &request.Paginator{
  3755  			InputTokens:     []string{"Marker"},
  3756  			OutputTokens:    []string{"Marker"},
  3757  			LimitToken:      "MaxRecords",
  3758  			TruncationToken: "",
  3759  		},
  3760  	}
  3761  
  3762  	if input == nil {
  3763  		input = &DescribePendingMaintenanceActionsInput{}
  3764  	}
  3765  
  3766  	output = &DescribePendingMaintenanceActionsOutput{}
  3767  	req = c.newRequest(op, input, output)
  3768  	return
  3769  }
  3770  
  3771  // DescribePendingMaintenanceActions API operation for Amazon DocumentDB with MongoDB compatibility.
  3772  //
  3773  // Returns a list of resources (for example, instances) that have at least one
  3774  // pending maintenance action.
  3775  //
  3776  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3777  // with awserr.Error's Code and Message methods to get detailed information about
  3778  // the error.
  3779  //
  3780  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  3781  // API operation DescribePendingMaintenanceActions for usage and error information.
  3782  //
  3783  // Returned Error Codes:
  3784  //   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
  3785  //   The specified resource ID was not found.
  3786  //
  3787  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribePendingMaintenanceActions
  3788  func (c *DocDB) DescribePendingMaintenanceActions(input *DescribePendingMaintenanceActionsInput) (*DescribePendingMaintenanceActionsOutput, error) {
  3789  	req, out := c.DescribePendingMaintenanceActionsRequest(input)
  3790  	return out, req.Send()
  3791  }
  3792  
  3793  // DescribePendingMaintenanceActionsWithContext is the same as DescribePendingMaintenanceActions with the addition of
  3794  // the ability to pass a context and additional request options.
  3795  //
  3796  // See DescribePendingMaintenanceActions for details on how to use this API operation.
  3797  //
  3798  // The context must be non-nil and will be used for request cancellation. If
  3799  // the context is nil a panic will occur. In the future the SDK may create
  3800  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3801  // for more information on using Contexts.
  3802  func (c *DocDB) DescribePendingMaintenanceActionsWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, opts ...request.Option) (*DescribePendingMaintenanceActionsOutput, error) {
  3803  	req, out := c.DescribePendingMaintenanceActionsRequest(input)
  3804  	req.SetContext(ctx)
  3805  	req.ApplyOptions(opts...)
  3806  	return out, req.Send()
  3807  }
  3808  
  3809  // DescribePendingMaintenanceActionsPages iterates over the pages of a DescribePendingMaintenanceActions operation,
  3810  // calling the "fn" function with the response data for each page. To stop
  3811  // iterating, return false from the fn function.
  3812  //
  3813  // See DescribePendingMaintenanceActions method for more information on how to use this operation.
  3814  //
  3815  // Note: This operation can generate multiple requests to a service.
  3816  //
  3817  //    // Example iterating over at most 3 pages of a DescribePendingMaintenanceActions operation.
  3818  //    pageNum := 0
  3819  //    err := client.DescribePendingMaintenanceActionsPages(params,
  3820  //        func(page *docdb.DescribePendingMaintenanceActionsOutput, lastPage bool) bool {
  3821  //            pageNum++
  3822  //            fmt.Println(page)
  3823  //            return pageNum <= 3
  3824  //        })
  3825  //
  3826  func (c *DocDB) DescribePendingMaintenanceActionsPages(input *DescribePendingMaintenanceActionsInput, fn func(*DescribePendingMaintenanceActionsOutput, bool) bool) error {
  3827  	return c.DescribePendingMaintenanceActionsPagesWithContext(aws.BackgroundContext(), input, fn)
  3828  }
  3829  
  3830  // DescribePendingMaintenanceActionsPagesWithContext same as DescribePendingMaintenanceActionsPages except
  3831  // it takes a Context and allows setting request options on the pages.
  3832  //
  3833  // The context must be non-nil and will be used for request cancellation. If
  3834  // the context is nil a panic will occur. In the future the SDK may create
  3835  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3836  // for more information on using Contexts.
  3837  func (c *DocDB) DescribePendingMaintenanceActionsPagesWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, fn func(*DescribePendingMaintenanceActionsOutput, bool) bool, opts ...request.Option) error {
  3838  	p := request.Pagination{
  3839  		NewRequest: func() (*request.Request, error) {
  3840  			var inCpy *DescribePendingMaintenanceActionsInput
  3841  			if input != nil {
  3842  				tmp := *input
  3843  				inCpy = &tmp
  3844  			}
  3845  			req, _ := c.DescribePendingMaintenanceActionsRequest(inCpy)
  3846  			req.SetContext(ctx)
  3847  			req.ApplyOptions(opts...)
  3848  			return req, nil
  3849  		},
  3850  	}
  3851  
  3852  	for p.Next() {
  3853  		if !fn(p.Page().(*DescribePendingMaintenanceActionsOutput), !p.HasNextPage()) {
  3854  			break
  3855  		}
  3856  	}
  3857  
  3858  	return p.Err()
  3859  }
  3860  
  3861  const opFailoverDBCluster = "FailoverDBCluster"
  3862  
  3863  // FailoverDBClusterRequest generates a "aws/request.Request" representing the
  3864  // client's request for the FailoverDBCluster operation. The "output" return
  3865  // value will be populated with the request's response once the request completes
  3866  // successfully.
  3867  //
  3868  // Use "Send" method on the returned Request to send the API call to the service.
  3869  // the "output" return value is not valid until after Send returns without error.
  3870  //
  3871  // See FailoverDBCluster for more information on using the FailoverDBCluster
  3872  // API call, and error handling.
  3873  //
  3874  // This method is useful when you want to inject custom logic or configuration
  3875  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3876  //
  3877  //
  3878  //    // Example sending a request using the FailoverDBClusterRequest method.
  3879  //    req, resp := client.FailoverDBClusterRequest(params)
  3880  //
  3881  //    err := req.Send()
  3882  //    if err == nil { // resp is now filled
  3883  //        fmt.Println(resp)
  3884  //    }
  3885  //
  3886  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/FailoverDBCluster
  3887  func (c *DocDB) FailoverDBClusterRequest(input *FailoverDBClusterInput) (req *request.Request, output *FailoverDBClusterOutput) {
  3888  	op := &request.Operation{
  3889  		Name:       opFailoverDBCluster,
  3890  		HTTPMethod: "POST",
  3891  		HTTPPath:   "/",
  3892  	}
  3893  
  3894  	if input == nil {
  3895  		input = &FailoverDBClusterInput{}
  3896  	}
  3897  
  3898  	output = &FailoverDBClusterOutput{}
  3899  	req = c.newRequest(op, input, output)
  3900  	return
  3901  }
  3902  
  3903  // FailoverDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
  3904  //
  3905  // Forces a failover for a cluster.
  3906  //
  3907  // A failover for a cluster promotes one of the Amazon DocumentDB replicas (read-only
  3908  // instances) in the cluster to be the primary instance (the cluster writer).
  3909  //
  3910  // If the primary instance fails, Amazon DocumentDB automatically fails over
  3911  // to an Amazon DocumentDB replica, if one exists. You can force a failover
  3912  // when you want to simulate a failure of a primary instance for testing.
  3913  //
  3914  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3915  // with awserr.Error's Code and Message methods to get detailed information about
  3916  // the error.
  3917  //
  3918  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  3919  // API operation FailoverDBCluster for usage and error information.
  3920  //
  3921  // Returned Error Codes:
  3922  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  3923  //   DBClusterIdentifier doesn't refer to an existing cluster.
  3924  //
  3925  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  3926  //   The cluster isn't in a valid state.
  3927  //
  3928  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  3929  //   The specified instance isn't in the available state.
  3930  //
  3931  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/FailoverDBCluster
  3932  func (c *DocDB) FailoverDBCluster(input *FailoverDBClusterInput) (*FailoverDBClusterOutput, error) {
  3933  	req, out := c.FailoverDBClusterRequest(input)
  3934  	return out, req.Send()
  3935  }
  3936  
  3937  // FailoverDBClusterWithContext is the same as FailoverDBCluster with the addition of
  3938  // the ability to pass a context and additional request options.
  3939  //
  3940  // See FailoverDBCluster for details on how to use this API operation.
  3941  //
  3942  // The context must be non-nil and will be used for request cancellation. If
  3943  // the context is nil a panic will occur. In the future the SDK may create
  3944  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3945  // for more information on using Contexts.
  3946  func (c *DocDB) FailoverDBClusterWithContext(ctx aws.Context, input *FailoverDBClusterInput, opts ...request.Option) (*FailoverDBClusterOutput, error) {
  3947  	req, out := c.FailoverDBClusterRequest(input)
  3948  	req.SetContext(ctx)
  3949  	req.ApplyOptions(opts...)
  3950  	return out, req.Send()
  3951  }
  3952  
  3953  const opListTagsForResource = "ListTagsForResource"
  3954  
  3955  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  3956  // client's request for the ListTagsForResource operation. The "output" return
  3957  // value will be populated with the request's response once the request completes
  3958  // successfully.
  3959  //
  3960  // Use "Send" method on the returned Request to send the API call to the service.
  3961  // the "output" return value is not valid until after Send returns without error.
  3962  //
  3963  // See ListTagsForResource for more information on using the ListTagsForResource
  3964  // API call, and error handling.
  3965  //
  3966  // This method is useful when you want to inject custom logic or configuration
  3967  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3968  //
  3969  //
  3970  //    // Example sending a request using the ListTagsForResourceRequest method.
  3971  //    req, resp := client.ListTagsForResourceRequest(params)
  3972  //
  3973  //    err := req.Send()
  3974  //    if err == nil { // resp is now filled
  3975  //        fmt.Println(resp)
  3976  //    }
  3977  //
  3978  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ListTagsForResource
  3979  func (c *DocDB) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  3980  	op := &request.Operation{
  3981  		Name:       opListTagsForResource,
  3982  		HTTPMethod: "POST",
  3983  		HTTPPath:   "/",
  3984  	}
  3985  
  3986  	if input == nil {
  3987  		input = &ListTagsForResourceInput{}
  3988  	}
  3989  
  3990  	output = &ListTagsForResourceOutput{}
  3991  	req = c.newRequest(op, input, output)
  3992  	return
  3993  }
  3994  
  3995  // ListTagsForResource API operation for Amazon DocumentDB with MongoDB compatibility.
  3996  //
  3997  // Lists all tags on an Amazon DocumentDB resource.
  3998  //
  3999  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4000  // with awserr.Error's Code and Message methods to get detailed information about
  4001  // the error.
  4002  //
  4003  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  4004  // API operation ListTagsForResource for usage and error information.
  4005  //
  4006  // Returned Error Codes:
  4007  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  4008  //   DBInstanceIdentifier doesn't refer to an existing instance.
  4009  //
  4010  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
  4011  //   DBSnapshotIdentifier doesn't refer to an existing snapshot.
  4012  //
  4013  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  4014  //   DBClusterIdentifier doesn't refer to an existing cluster.
  4015  //
  4016  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ListTagsForResource
  4017  func (c *DocDB) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  4018  	req, out := c.ListTagsForResourceRequest(input)
  4019  	return out, req.Send()
  4020  }
  4021  
  4022  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  4023  // the ability to pass a context and additional request options.
  4024  //
  4025  // See ListTagsForResource for details on how to use this API operation.
  4026  //
  4027  // The context must be non-nil and will be used for request cancellation. If
  4028  // the context is nil a panic will occur. In the future the SDK may create
  4029  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4030  // for more information on using Contexts.
  4031  func (c *DocDB) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  4032  	req, out := c.ListTagsForResourceRequest(input)
  4033  	req.SetContext(ctx)
  4034  	req.ApplyOptions(opts...)
  4035  	return out, req.Send()
  4036  }
  4037  
  4038  const opModifyDBCluster = "ModifyDBCluster"
  4039  
  4040  // ModifyDBClusterRequest generates a "aws/request.Request" representing the
  4041  // client's request for the ModifyDBCluster operation. The "output" return
  4042  // value will be populated with the request's response once the request completes
  4043  // successfully.
  4044  //
  4045  // Use "Send" method on the returned Request to send the API call to the service.
  4046  // the "output" return value is not valid until after Send returns without error.
  4047  //
  4048  // See ModifyDBCluster for more information on using the ModifyDBCluster
  4049  // API call, and error handling.
  4050  //
  4051  // This method is useful when you want to inject custom logic or configuration
  4052  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4053  //
  4054  //
  4055  //    // Example sending a request using the ModifyDBClusterRequest method.
  4056  //    req, resp := client.ModifyDBClusterRequest(params)
  4057  //
  4058  //    err := req.Send()
  4059  //    if err == nil { // resp is now filled
  4060  //        fmt.Println(resp)
  4061  //    }
  4062  //
  4063  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBCluster
  4064  func (c *DocDB) ModifyDBClusterRequest(input *ModifyDBClusterInput) (req *request.Request, output *ModifyDBClusterOutput) {
  4065  	op := &request.Operation{
  4066  		Name:       opModifyDBCluster,
  4067  		HTTPMethod: "POST",
  4068  		HTTPPath:   "/",
  4069  	}
  4070  
  4071  	if input == nil {
  4072  		input = &ModifyDBClusterInput{}
  4073  	}
  4074  
  4075  	output = &ModifyDBClusterOutput{}
  4076  	req = c.newRequest(op, input, output)
  4077  	return
  4078  }
  4079  
  4080  // ModifyDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
  4081  //
  4082  // Modifies a setting for an Amazon DocumentDB cluster. You can change one or
  4083  // more database configuration parameters by specifying these parameters and
  4084  // the new values in the request.
  4085  //
  4086  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4087  // with awserr.Error's Code and Message methods to get detailed information about
  4088  // the error.
  4089  //
  4090  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  4091  // API operation ModifyDBCluster for usage and error information.
  4092  //
  4093  // Returned Error Codes:
  4094  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  4095  //   DBClusterIdentifier doesn't refer to an existing cluster.
  4096  //
  4097  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  4098  //   The cluster isn't in a valid state.
  4099  //
  4100  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
  4101  //   The request would cause you to exceed the allowed amount of storage available
  4102  //   across all instances.
  4103  //
  4104  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  4105  //   DBSubnetGroupName doesn't refer to an existing subnet group.
  4106  //
  4107  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
  4108  //   The subnet group doesn't cover all Availability Zones after it is created
  4109  //   because of changes that were made.
  4110  //
  4111  //   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
  4112  //   The subnet group can't be deleted because it's in use.
  4113  //
  4114  //   * ErrCodeInvalidSubnet "InvalidSubnet"
  4115  //   The requested subnet is not valid, or multiple subnets were requested that
  4116  //   are not all in a common virtual private cloud (VPC).
  4117  //
  4118  //   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
  4119  //   DBClusterParameterGroupName doesn't refer to an existing cluster parameter
  4120  //   group.
  4121  //
  4122  //   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
  4123  //   The state of the security group doesn't allow deletion.
  4124  //
  4125  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  4126  //   The specified instance isn't in the available state.
  4127  //
  4128  //   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
  4129  //   You already have a cluster with the given identifier.
  4130  //
  4131  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBCluster
  4132  func (c *DocDB) ModifyDBCluster(input *ModifyDBClusterInput) (*ModifyDBClusterOutput, error) {
  4133  	req, out := c.ModifyDBClusterRequest(input)
  4134  	return out, req.Send()
  4135  }
  4136  
  4137  // ModifyDBClusterWithContext is the same as ModifyDBCluster with the addition of
  4138  // the ability to pass a context and additional request options.
  4139  //
  4140  // See ModifyDBCluster for details on how to use this API operation.
  4141  //
  4142  // The context must be non-nil and will be used for request cancellation. If
  4143  // the context is nil a panic will occur. In the future the SDK may create
  4144  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4145  // for more information on using Contexts.
  4146  func (c *DocDB) ModifyDBClusterWithContext(ctx aws.Context, input *ModifyDBClusterInput, opts ...request.Option) (*ModifyDBClusterOutput, error) {
  4147  	req, out := c.ModifyDBClusterRequest(input)
  4148  	req.SetContext(ctx)
  4149  	req.ApplyOptions(opts...)
  4150  	return out, req.Send()
  4151  }
  4152  
  4153  const opModifyDBClusterParameterGroup = "ModifyDBClusterParameterGroup"
  4154  
  4155  // ModifyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
  4156  // client's request for the ModifyDBClusterParameterGroup operation. The "output" return
  4157  // value will be populated with the request's response once the request completes
  4158  // successfully.
  4159  //
  4160  // Use "Send" method on the returned Request to send the API call to the service.
  4161  // the "output" return value is not valid until after Send returns without error.
  4162  //
  4163  // See ModifyDBClusterParameterGroup for more information on using the ModifyDBClusterParameterGroup
  4164  // API call, and error handling.
  4165  //
  4166  // This method is useful when you want to inject custom logic or configuration
  4167  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4168  //
  4169  //
  4170  //    // Example sending a request using the ModifyDBClusterParameterGroupRequest method.
  4171  //    req, resp := client.ModifyDBClusterParameterGroupRequest(params)
  4172  //
  4173  //    err := req.Send()
  4174  //    if err == nil { // resp is now filled
  4175  //        fmt.Println(resp)
  4176  //    }
  4177  //
  4178  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterParameterGroup
  4179  func (c *DocDB) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParameterGroupInput) (req *request.Request, output *ModifyDBClusterParameterGroupOutput) {
  4180  	op := &request.Operation{
  4181  		Name:       opModifyDBClusterParameterGroup,
  4182  		HTTPMethod: "POST",
  4183  		HTTPPath:   "/",
  4184  	}
  4185  
  4186  	if input == nil {
  4187  		input = &ModifyDBClusterParameterGroupInput{}
  4188  	}
  4189  
  4190  	output = &ModifyDBClusterParameterGroupOutput{}
  4191  	req = c.newRequest(op, input, output)
  4192  	return
  4193  }
  4194  
  4195  // ModifyDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
  4196  //
  4197  // Modifies the parameters of a cluster parameter group. To modify more than
  4198  // one parameter, submit a list of the following: ParameterName, ParameterValue,
  4199  // and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
  4200  //
  4201  // Changes to dynamic parameters are applied immediately. Changes to static
  4202  // parameters require a reboot or maintenance window before the change can take
  4203  // effect.
  4204  //
  4205  // After you create a cluster parameter group, you should wait at least 5 minutes
  4206  // before creating your first cluster that uses that cluster parameter group
  4207  // as the default parameter group. This allows Amazon DocumentDB to fully complete
  4208  // the create action before the parameter group is used as the default for a
  4209  // new cluster. This step is especially important for parameters that are critical
  4210  // when creating the default database for a cluster, such as the character set
  4211  // for the default database defined by the character_set_database parameter.
  4212  //
  4213  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4214  // with awserr.Error's Code and Message methods to get detailed information about
  4215  // the error.
  4216  //
  4217  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  4218  // API operation ModifyDBClusterParameterGroup for usage and error information.
  4219  //
  4220  // Returned Error Codes:
  4221  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  4222  //   DBParameterGroupName doesn't refer to an existing parameter group.
  4223  //
  4224  //   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
  4225  //   The parameter group is in use, or it is in a state that is not valid. If
  4226  //   you are trying to delete the parameter group, you can't delete it when the
  4227  //   parameter group is in this state.
  4228  //
  4229  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterParameterGroup
  4230  func (c *DocDB) ModifyDBClusterParameterGroup(input *ModifyDBClusterParameterGroupInput) (*ModifyDBClusterParameterGroupOutput, error) {
  4231  	req, out := c.ModifyDBClusterParameterGroupRequest(input)
  4232  	return out, req.Send()
  4233  }
  4234  
  4235  // ModifyDBClusterParameterGroupWithContext is the same as ModifyDBClusterParameterGroup with the addition of
  4236  // the ability to pass a context and additional request options.
  4237  //
  4238  // See ModifyDBClusterParameterGroup for details on how to use this API operation.
  4239  //
  4240  // The context must be non-nil and will be used for request cancellation. If
  4241  // the context is nil a panic will occur. In the future the SDK may create
  4242  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4243  // for more information on using Contexts.
  4244  func (c *DocDB) ModifyDBClusterParameterGroupWithContext(ctx aws.Context, input *ModifyDBClusterParameterGroupInput, opts ...request.Option) (*ModifyDBClusterParameterGroupOutput, error) {
  4245  	req, out := c.ModifyDBClusterParameterGroupRequest(input)
  4246  	req.SetContext(ctx)
  4247  	req.ApplyOptions(opts...)
  4248  	return out, req.Send()
  4249  }
  4250  
  4251  const opModifyDBClusterSnapshotAttribute = "ModifyDBClusterSnapshotAttribute"
  4252  
  4253  // ModifyDBClusterSnapshotAttributeRequest generates a "aws/request.Request" representing the
  4254  // client's request for the ModifyDBClusterSnapshotAttribute operation. The "output" return
  4255  // value will be populated with the request's response once the request completes
  4256  // successfully.
  4257  //
  4258  // Use "Send" method on the returned Request to send the API call to the service.
  4259  // the "output" return value is not valid until after Send returns without error.
  4260  //
  4261  // See ModifyDBClusterSnapshotAttribute for more information on using the ModifyDBClusterSnapshotAttribute
  4262  // API call, and error handling.
  4263  //
  4264  // This method is useful when you want to inject custom logic or configuration
  4265  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4266  //
  4267  //
  4268  //    // Example sending a request using the ModifyDBClusterSnapshotAttributeRequest method.
  4269  //    req, resp := client.ModifyDBClusterSnapshotAttributeRequest(params)
  4270  //
  4271  //    err := req.Send()
  4272  //    if err == nil { // resp is now filled
  4273  //        fmt.Println(resp)
  4274  //    }
  4275  //
  4276  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterSnapshotAttribute
  4277  func (c *DocDB) ModifyDBClusterSnapshotAttributeRequest(input *ModifyDBClusterSnapshotAttributeInput) (req *request.Request, output *ModifyDBClusterSnapshotAttributeOutput) {
  4278  	op := &request.Operation{
  4279  		Name:       opModifyDBClusterSnapshotAttribute,
  4280  		HTTPMethod: "POST",
  4281  		HTTPPath:   "/",
  4282  	}
  4283  
  4284  	if input == nil {
  4285  		input = &ModifyDBClusterSnapshotAttributeInput{}
  4286  	}
  4287  
  4288  	output = &ModifyDBClusterSnapshotAttributeOutput{}
  4289  	req = c.newRequest(op, input, output)
  4290  	return
  4291  }
  4292  
  4293  // ModifyDBClusterSnapshotAttribute API operation for Amazon DocumentDB with MongoDB compatibility.
  4294  //
  4295  // Adds an attribute and values to, or removes an attribute and values from,
  4296  // a manual cluster snapshot.
  4297  //
  4298  // To share a manual cluster snapshot with other accounts, specify restore as
  4299  // the AttributeName, and use the ValuesToAdd parameter to add a list of IDs
  4300  // of the accounts that are authorized to restore the manual cluster snapshot.
  4301  // Use the value all to make the manual cluster snapshot public, which means
  4302  // that it can be copied or restored by all accounts. Do not add the all value
  4303  // for any manual cluster snapshots that contain private information that you
  4304  // don't want available to all accounts. If a manual cluster snapshot is encrypted,
  4305  // it can be shared, but only by specifying a list of authorized account IDs
  4306  // for the ValuesToAdd parameter. You can't use all as a value for that parameter
  4307  // in this case.
  4308  //
  4309  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4310  // with awserr.Error's Code and Message methods to get detailed information about
  4311  // the error.
  4312  //
  4313  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  4314  // API operation ModifyDBClusterSnapshotAttribute for usage and error information.
  4315  //
  4316  // Returned Error Codes:
  4317  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
  4318  //   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
  4319  //
  4320  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
  4321  //   The provided value isn't a valid cluster snapshot state.
  4322  //
  4323  //   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
  4324  //   You have exceeded the maximum number of accounts that you can share a manual
  4325  //   DB snapshot with.
  4326  //
  4327  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterSnapshotAttribute
  4328  func (c *DocDB) ModifyDBClusterSnapshotAttribute(input *ModifyDBClusterSnapshotAttributeInput) (*ModifyDBClusterSnapshotAttributeOutput, error) {
  4329  	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
  4330  	return out, req.Send()
  4331  }
  4332  
  4333  // ModifyDBClusterSnapshotAttributeWithContext is the same as ModifyDBClusterSnapshotAttribute with the addition of
  4334  // the ability to pass a context and additional request options.
  4335  //
  4336  // See ModifyDBClusterSnapshotAttribute for details on how to use this API operation.
  4337  //
  4338  // The context must be non-nil and will be used for request cancellation. If
  4339  // the context is nil a panic will occur. In the future the SDK may create
  4340  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4341  // for more information on using Contexts.
  4342  func (c *DocDB) ModifyDBClusterSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBClusterSnapshotAttributeInput, opts ...request.Option) (*ModifyDBClusterSnapshotAttributeOutput, error) {
  4343  	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
  4344  	req.SetContext(ctx)
  4345  	req.ApplyOptions(opts...)
  4346  	return out, req.Send()
  4347  }
  4348  
  4349  const opModifyDBInstance = "ModifyDBInstance"
  4350  
  4351  // ModifyDBInstanceRequest generates a "aws/request.Request" representing the
  4352  // client's request for the ModifyDBInstance operation. The "output" return
  4353  // value will be populated with the request's response once the request completes
  4354  // successfully.
  4355  //
  4356  // Use "Send" method on the returned Request to send the API call to the service.
  4357  // the "output" return value is not valid until after Send returns without error.
  4358  //
  4359  // See ModifyDBInstance for more information on using the ModifyDBInstance
  4360  // API call, and error handling.
  4361  //
  4362  // This method is useful when you want to inject custom logic or configuration
  4363  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4364  //
  4365  //
  4366  //    // Example sending a request using the ModifyDBInstanceRequest method.
  4367  //    req, resp := client.ModifyDBInstanceRequest(params)
  4368  //
  4369  //    err := req.Send()
  4370  //    if err == nil { // resp is now filled
  4371  //        fmt.Println(resp)
  4372  //    }
  4373  //
  4374  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBInstance
  4375  func (c *DocDB) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *request.Request, output *ModifyDBInstanceOutput) {
  4376  	op := &request.Operation{
  4377  		Name:       opModifyDBInstance,
  4378  		HTTPMethod: "POST",
  4379  		HTTPPath:   "/",
  4380  	}
  4381  
  4382  	if input == nil {
  4383  		input = &ModifyDBInstanceInput{}
  4384  	}
  4385  
  4386  	output = &ModifyDBInstanceOutput{}
  4387  	req = c.newRequest(op, input, output)
  4388  	return
  4389  }
  4390  
  4391  // ModifyDBInstance API operation for Amazon DocumentDB with MongoDB compatibility.
  4392  //
  4393  // Modifies settings for an instance. You can change one or more database configuration
  4394  // parameters by specifying these parameters and the new values in the request.
  4395  //
  4396  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4397  // with awserr.Error's Code and Message methods to get detailed information about
  4398  // the error.
  4399  //
  4400  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  4401  // API operation ModifyDBInstance for usage and error information.
  4402  //
  4403  // Returned Error Codes:
  4404  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  4405  //   The specified instance isn't in the available state.
  4406  //
  4407  //   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
  4408  //   The state of the security group doesn't allow deletion.
  4409  //
  4410  //   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
  4411  //   You already have a instance with the given identifier.
  4412  //
  4413  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  4414  //   DBInstanceIdentifier doesn't refer to an existing instance.
  4415  //
  4416  //   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
  4417  //   DBSecurityGroupName doesn't refer to an existing security group.
  4418  //
  4419  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  4420  //   DBParameterGroupName doesn't refer to an existing parameter group.
  4421  //
  4422  //   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
  4423  //   The specified instance class isn't available in the specified Availability
  4424  //   Zone.
  4425  //
  4426  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
  4427  //   The request would cause you to exceed the allowed amount of storage available
  4428  //   across all instances.
  4429  //
  4430  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
  4431  //   The subnet group doesn't cover all Availability Zones after it is created
  4432  //   because of changes that were made.
  4433  //
  4434  //   * ErrCodeDBUpgradeDependencyFailureFault "DBUpgradeDependencyFailure"
  4435  //   The upgrade failed because a resource that the depends on can't be modified.
  4436  //
  4437  //   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
  4438  //   Storage of the specified StorageType can't be associated with the DB instance.
  4439  //
  4440  //   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
  4441  //   The specified CIDR IP or Amazon EC2 security group isn't authorized for the
  4442  //   specified security group.
  4443  //
  4444  //   Amazon DocumentDB also might not be authorized to perform necessary actions
  4445  //   on your behalf using IAM.
  4446  //
  4447  //   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
  4448  //   CertificateIdentifier doesn't refer to an existing certificate.
  4449  //
  4450  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBInstance
  4451  func (c *DocDB) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) {
  4452  	req, out := c.ModifyDBInstanceRequest(input)
  4453  	return out, req.Send()
  4454  }
  4455  
  4456  // ModifyDBInstanceWithContext is the same as ModifyDBInstance with the addition of
  4457  // the ability to pass a context and additional request options.
  4458  //
  4459  // See ModifyDBInstance for details on how to use this API operation.
  4460  //
  4461  // The context must be non-nil and will be used for request cancellation. If
  4462  // the context is nil a panic will occur. In the future the SDK may create
  4463  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4464  // for more information on using Contexts.
  4465  func (c *DocDB) ModifyDBInstanceWithContext(ctx aws.Context, input *ModifyDBInstanceInput, opts ...request.Option) (*ModifyDBInstanceOutput, error) {
  4466  	req, out := c.ModifyDBInstanceRequest(input)
  4467  	req.SetContext(ctx)
  4468  	req.ApplyOptions(opts...)
  4469  	return out, req.Send()
  4470  }
  4471  
  4472  const opModifyDBSubnetGroup = "ModifyDBSubnetGroup"
  4473  
  4474  // ModifyDBSubnetGroupRequest generates a "aws/request.Request" representing the
  4475  // client's request for the ModifyDBSubnetGroup operation. The "output" return
  4476  // value will be populated with the request's response once the request completes
  4477  // successfully.
  4478  //
  4479  // Use "Send" method on the returned Request to send the API call to the service.
  4480  // the "output" return value is not valid until after Send returns without error.
  4481  //
  4482  // See ModifyDBSubnetGroup for more information on using the ModifyDBSubnetGroup
  4483  // API call, and error handling.
  4484  //
  4485  // This method is useful when you want to inject custom logic or configuration
  4486  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4487  //
  4488  //
  4489  //    // Example sending a request using the ModifyDBSubnetGroupRequest method.
  4490  //    req, resp := client.ModifyDBSubnetGroupRequest(params)
  4491  //
  4492  //    err := req.Send()
  4493  //    if err == nil { // resp is now filled
  4494  //        fmt.Println(resp)
  4495  //    }
  4496  //
  4497  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBSubnetGroup
  4498  func (c *DocDB) ModifyDBSubnetGroupRequest(input *ModifyDBSubnetGroupInput) (req *request.Request, output *ModifyDBSubnetGroupOutput) {
  4499  	op := &request.Operation{
  4500  		Name:       opModifyDBSubnetGroup,
  4501  		HTTPMethod: "POST",
  4502  		HTTPPath:   "/",
  4503  	}
  4504  
  4505  	if input == nil {
  4506  		input = &ModifyDBSubnetGroupInput{}
  4507  	}
  4508  
  4509  	output = &ModifyDBSubnetGroupOutput{}
  4510  	req = c.newRequest(op, input, output)
  4511  	return
  4512  }
  4513  
  4514  // ModifyDBSubnetGroup API operation for Amazon DocumentDB with MongoDB compatibility.
  4515  //
  4516  // Modifies an existing subnet group. subnet groups must contain at least one
  4517  // subnet in at least two Availability Zones in the Region.
  4518  //
  4519  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4520  // with awserr.Error's Code and Message methods to get detailed information about
  4521  // the error.
  4522  //
  4523  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  4524  // API operation ModifyDBSubnetGroup for usage and error information.
  4525  //
  4526  // Returned Error Codes:
  4527  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  4528  //   DBSubnetGroupName doesn't refer to an existing subnet group.
  4529  //
  4530  //   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
  4531  //   The request would cause you to exceed the allowed number of subnets in a
  4532  //   subnet group.
  4533  //
  4534  //   * ErrCodeSubnetAlreadyInUse "SubnetAlreadyInUse"
  4535  //   The subnet is already in use in the Availability Zone.
  4536  //
  4537  //   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
  4538  //   Subnets in the subnet group should cover at least two Availability Zones
  4539  //   unless there is only one Availability Zone.
  4540  //
  4541  //   * ErrCodeInvalidSubnet "InvalidSubnet"
  4542  //   The requested subnet is not valid, or multiple subnets were requested that
  4543  //   are not all in a common virtual private cloud (VPC).
  4544  //
  4545  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBSubnetGroup
  4546  func (c *DocDB) ModifyDBSubnetGroup(input *ModifyDBSubnetGroupInput) (*ModifyDBSubnetGroupOutput, error) {
  4547  	req, out := c.ModifyDBSubnetGroupRequest(input)
  4548  	return out, req.Send()
  4549  }
  4550  
  4551  // ModifyDBSubnetGroupWithContext is the same as ModifyDBSubnetGroup with the addition of
  4552  // the ability to pass a context and additional request options.
  4553  //
  4554  // See ModifyDBSubnetGroup for details on how to use this API operation.
  4555  //
  4556  // The context must be non-nil and will be used for request cancellation. If
  4557  // the context is nil a panic will occur. In the future the SDK may create
  4558  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4559  // for more information on using Contexts.
  4560  func (c *DocDB) ModifyDBSubnetGroupWithContext(ctx aws.Context, input *ModifyDBSubnetGroupInput, opts ...request.Option) (*ModifyDBSubnetGroupOutput, error) {
  4561  	req, out := c.ModifyDBSubnetGroupRequest(input)
  4562  	req.SetContext(ctx)
  4563  	req.ApplyOptions(opts...)
  4564  	return out, req.Send()
  4565  }
  4566  
  4567  const opModifyEventSubscription = "ModifyEventSubscription"
  4568  
  4569  // ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the
  4570  // client's request for the ModifyEventSubscription operation. The "output" return
  4571  // value will be populated with the request's response once the request completes
  4572  // successfully.
  4573  //
  4574  // Use "Send" method on the returned Request to send the API call to the service.
  4575  // the "output" return value is not valid until after Send returns without error.
  4576  //
  4577  // See ModifyEventSubscription for more information on using the ModifyEventSubscription
  4578  // API call, and error handling.
  4579  //
  4580  // This method is useful when you want to inject custom logic or configuration
  4581  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4582  //
  4583  //
  4584  //    // Example sending a request using the ModifyEventSubscriptionRequest method.
  4585  //    req, resp := client.ModifyEventSubscriptionRequest(params)
  4586  //
  4587  //    err := req.Send()
  4588  //    if err == nil { // resp is now filled
  4589  //        fmt.Println(resp)
  4590  //    }
  4591  //
  4592  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyEventSubscription
  4593  func (c *DocDB) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) {
  4594  	op := &request.Operation{
  4595  		Name:       opModifyEventSubscription,
  4596  		HTTPMethod: "POST",
  4597  		HTTPPath:   "/",
  4598  	}
  4599  
  4600  	if input == nil {
  4601  		input = &ModifyEventSubscriptionInput{}
  4602  	}
  4603  
  4604  	output = &ModifyEventSubscriptionOutput{}
  4605  	req = c.newRequest(op, input, output)
  4606  	return
  4607  }
  4608  
  4609  // ModifyEventSubscription API operation for Amazon DocumentDB with MongoDB compatibility.
  4610  //
  4611  // Modifies an existing Amazon DocumentDB event notification subscription.
  4612  //
  4613  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4614  // with awserr.Error's Code and Message methods to get detailed information about
  4615  // the error.
  4616  //
  4617  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  4618  // API operation ModifyEventSubscription for usage and error information.
  4619  //
  4620  // Returned Error Codes:
  4621  //   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
  4622  //   You have reached the maximum number of event subscriptions.
  4623  //
  4624  //   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
  4625  //   The subscription name does not exist.
  4626  //
  4627  //   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
  4628  //   Amazon SNS has responded that there is a problem with the specified topic.
  4629  //
  4630  //   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
  4631  //   You do not have permission to publish to the SNS topic Amazon Resource Name
  4632  //   (ARN).
  4633  //
  4634  //   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
  4635  //   The SNS topic Amazon Resource Name (ARN) does not exist.
  4636  //
  4637  //   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
  4638  //   The provided category does not exist.
  4639  //
  4640  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyEventSubscription
  4641  func (c *DocDB) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) {
  4642  	req, out := c.ModifyEventSubscriptionRequest(input)
  4643  	return out, req.Send()
  4644  }
  4645  
  4646  // ModifyEventSubscriptionWithContext is the same as ModifyEventSubscription with the addition of
  4647  // the ability to pass a context and additional request options.
  4648  //
  4649  // See ModifyEventSubscription for details on how to use this API operation.
  4650  //
  4651  // The context must be non-nil and will be used for request cancellation. If
  4652  // the context is nil a panic will occur. In the future the SDK may create
  4653  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4654  // for more information on using Contexts.
  4655  func (c *DocDB) ModifyEventSubscriptionWithContext(ctx aws.Context, input *ModifyEventSubscriptionInput, opts ...request.Option) (*ModifyEventSubscriptionOutput, error) {
  4656  	req, out := c.ModifyEventSubscriptionRequest(input)
  4657  	req.SetContext(ctx)
  4658  	req.ApplyOptions(opts...)
  4659  	return out, req.Send()
  4660  }
  4661  
  4662  const opModifyGlobalCluster = "ModifyGlobalCluster"
  4663  
  4664  // ModifyGlobalClusterRequest generates a "aws/request.Request" representing the
  4665  // client's request for the ModifyGlobalCluster operation. The "output" return
  4666  // value will be populated with the request's response once the request completes
  4667  // successfully.
  4668  //
  4669  // Use "Send" method on the returned Request to send the API call to the service.
  4670  // the "output" return value is not valid until after Send returns without error.
  4671  //
  4672  // See ModifyGlobalCluster for more information on using the ModifyGlobalCluster
  4673  // API call, and error handling.
  4674  //
  4675  // This method is useful when you want to inject custom logic or configuration
  4676  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4677  //
  4678  //
  4679  //    // Example sending a request using the ModifyGlobalClusterRequest method.
  4680  //    req, resp := client.ModifyGlobalClusterRequest(params)
  4681  //
  4682  //    err := req.Send()
  4683  //    if err == nil { // resp is now filled
  4684  //        fmt.Println(resp)
  4685  //    }
  4686  //
  4687  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyGlobalCluster
  4688  func (c *DocDB) ModifyGlobalClusterRequest(input *ModifyGlobalClusterInput) (req *request.Request, output *ModifyGlobalClusterOutput) {
  4689  	op := &request.Operation{
  4690  		Name:       opModifyGlobalCluster,
  4691  		HTTPMethod: "POST",
  4692  		HTTPPath:   "/",
  4693  	}
  4694  
  4695  	if input == nil {
  4696  		input = &ModifyGlobalClusterInput{}
  4697  	}
  4698  
  4699  	output = &ModifyGlobalClusterOutput{}
  4700  	req = c.newRequest(op, input, output)
  4701  	return
  4702  }
  4703  
  4704  // ModifyGlobalCluster API operation for Amazon DocumentDB with MongoDB compatibility.
  4705  //
  4706  // Modify a setting for an Amazon DocumentDB global cluster. You can change
  4707  // one or more configuration parameters (for example: deletion protection),
  4708  // or the global cluster identifier by specifying these parameters and the new
  4709  // values in the request.
  4710  //
  4711  // This action only applies to Amazon DocumentDB clusters.
  4712  //
  4713  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4714  // with awserr.Error's Code and Message methods to get detailed information about
  4715  // the error.
  4716  //
  4717  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  4718  // API operation ModifyGlobalCluster for usage and error information.
  4719  //
  4720  // Returned Error Codes:
  4721  //   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
  4722  //   The GlobalClusterIdentifier doesn't refer to an existing global cluster.
  4723  //
  4724  //   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
  4725  //   The requested operation can't be performed while the cluster is in this state.
  4726  //
  4727  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyGlobalCluster
  4728  func (c *DocDB) ModifyGlobalCluster(input *ModifyGlobalClusterInput) (*ModifyGlobalClusterOutput, error) {
  4729  	req, out := c.ModifyGlobalClusterRequest(input)
  4730  	return out, req.Send()
  4731  }
  4732  
  4733  // ModifyGlobalClusterWithContext is the same as ModifyGlobalCluster with the addition of
  4734  // the ability to pass a context and additional request options.
  4735  //
  4736  // See ModifyGlobalCluster for details on how to use this API operation.
  4737  //
  4738  // The context must be non-nil and will be used for request cancellation. If
  4739  // the context is nil a panic will occur. In the future the SDK may create
  4740  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4741  // for more information on using Contexts.
  4742  func (c *DocDB) ModifyGlobalClusterWithContext(ctx aws.Context, input *ModifyGlobalClusterInput, opts ...request.Option) (*ModifyGlobalClusterOutput, error) {
  4743  	req, out := c.ModifyGlobalClusterRequest(input)
  4744  	req.SetContext(ctx)
  4745  	req.ApplyOptions(opts...)
  4746  	return out, req.Send()
  4747  }
  4748  
  4749  const opRebootDBInstance = "RebootDBInstance"
  4750  
  4751  // RebootDBInstanceRequest generates a "aws/request.Request" representing the
  4752  // client's request for the RebootDBInstance operation. The "output" return
  4753  // value will be populated with the request's response once the request completes
  4754  // successfully.
  4755  //
  4756  // Use "Send" method on the returned Request to send the API call to the service.
  4757  // the "output" return value is not valid until after Send returns without error.
  4758  //
  4759  // See RebootDBInstance for more information on using the RebootDBInstance
  4760  // API call, and error handling.
  4761  //
  4762  // This method is useful when you want to inject custom logic or configuration
  4763  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4764  //
  4765  //
  4766  //    // Example sending a request using the RebootDBInstanceRequest method.
  4767  //    req, resp := client.RebootDBInstanceRequest(params)
  4768  //
  4769  //    err := req.Send()
  4770  //    if err == nil { // resp is now filled
  4771  //        fmt.Println(resp)
  4772  //    }
  4773  //
  4774  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RebootDBInstance
  4775  func (c *DocDB) RebootDBInstanceRequest(input *RebootDBInstanceInput) (req *request.Request, output *RebootDBInstanceOutput) {
  4776  	op := &request.Operation{
  4777  		Name:       opRebootDBInstance,
  4778  		HTTPMethod: "POST",
  4779  		HTTPPath:   "/",
  4780  	}
  4781  
  4782  	if input == nil {
  4783  		input = &RebootDBInstanceInput{}
  4784  	}
  4785  
  4786  	output = &RebootDBInstanceOutput{}
  4787  	req = c.newRequest(op, input, output)
  4788  	return
  4789  }
  4790  
  4791  // RebootDBInstance API operation for Amazon DocumentDB with MongoDB compatibility.
  4792  //
  4793  // You might need to reboot your instance, usually for maintenance reasons.
  4794  // For example, if you make certain changes, or if you change the cluster parameter
  4795  // group that is associated with the instance, you must reboot the instance
  4796  // for the changes to take effect.
  4797  //
  4798  // Rebooting an instance restarts the database engine service. Rebooting an
  4799  // instance results in a momentary outage, during which the instance status
  4800  // is set to rebooting.
  4801  //
  4802  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4803  // with awserr.Error's Code and Message methods to get detailed information about
  4804  // the error.
  4805  //
  4806  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  4807  // API operation RebootDBInstance for usage and error information.
  4808  //
  4809  // Returned Error Codes:
  4810  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  4811  //   The specified instance isn't in the available state.
  4812  //
  4813  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  4814  //   DBInstanceIdentifier doesn't refer to an existing instance.
  4815  //
  4816  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RebootDBInstance
  4817  func (c *DocDB) RebootDBInstance(input *RebootDBInstanceInput) (*RebootDBInstanceOutput, error) {
  4818  	req, out := c.RebootDBInstanceRequest(input)
  4819  	return out, req.Send()
  4820  }
  4821  
  4822  // RebootDBInstanceWithContext is the same as RebootDBInstance with the addition of
  4823  // the ability to pass a context and additional request options.
  4824  //
  4825  // See RebootDBInstance for details on how to use this API operation.
  4826  //
  4827  // The context must be non-nil and will be used for request cancellation. If
  4828  // the context is nil a panic will occur. In the future the SDK may create
  4829  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4830  // for more information on using Contexts.
  4831  func (c *DocDB) RebootDBInstanceWithContext(ctx aws.Context, input *RebootDBInstanceInput, opts ...request.Option) (*RebootDBInstanceOutput, error) {
  4832  	req, out := c.RebootDBInstanceRequest(input)
  4833  	req.SetContext(ctx)
  4834  	req.ApplyOptions(opts...)
  4835  	return out, req.Send()
  4836  }
  4837  
  4838  const opRemoveFromGlobalCluster = "RemoveFromGlobalCluster"
  4839  
  4840  // RemoveFromGlobalClusterRequest generates a "aws/request.Request" representing the
  4841  // client's request for the RemoveFromGlobalCluster operation. The "output" return
  4842  // value will be populated with the request's response once the request completes
  4843  // successfully.
  4844  //
  4845  // Use "Send" method on the returned Request to send the API call to the service.
  4846  // the "output" return value is not valid until after Send returns without error.
  4847  //
  4848  // See RemoveFromGlobalCluster for more information on using the RemoveFromGlobalCluster
  4849  // API call, and error handling.
  4850  //
  4851  // This method is useful when you want to inject custom logic or configuration
  4852  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4853  //
  4854  //
  4855  //    // Example sending a request using the RemoveFromGlobalClusterRequest method.
  4856  //    req, resp := client.RemoveFromGlobalClusterRequest(params)
  4857  //
  4858  //    err := req.Send()
  4859  //    if err == nil { // resp is now filled
  4860  //        fmt.Println(resp)
  4861  //    }
  4862  //
  4863  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveFromGlobalCluster
  4864  func (c *DocDB) RemoveFromGlobalClusterRequest(input *RemoveFromGlobalClusterInput) (req *request.Request, output *RemoveFromGlobalClusterOutput) {
  4865  	op := &request.Operation{
  4866  		Name:       opRemoveFromGlobalCluster,
  4867  		HTTPMethod: "POST",
  4868  		HTTPPath:   "/",
  4869  	}
  4870  
  4871  	if input == nil {
  4872  		input = &RemoveFromGlobalClusterInput{}
  4873  	}
  4874  
  4875  	output = &RemoveFromGlobalClusterOutput{}
  4876  	req = c.newRequest(op, input, output)
  4877  	return
  4878  }
  4879  
  4880  // RemoveFromGlobalCluster API operation for Amazon DocumentDB with MongoDB compatibility.
  4881  //
  4882  // Detaches an Amazon DocumentDB secondary cluster from a global cluster. The
  4883  // cluster becomes a standalone cluster with read-write capability instead of
  4884  // being read-only and receiving data from a primary in a different region.
  4885  //
  4886  // This action only applies to Amazon DocumentDB clusters.
  4887  //
  4888  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4889  // with awserr.Error's Code and Message methods to get detailed information about
  4890  // the error.
  4891  //
  4892  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  4893  // API operation RemoveFromGlobalCluster for usage and error information.
  4894  //
  4895  // Returned Error Codes:
  4896  //   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
  4897  //   The GlobalClusterIdentifier doesn't refer to an existing global cluster.
  4898  //
  4899  //   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
  4900  //   The requested operation can't be performed while the cluster is in this state.
  4901  //
  4902  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  4903  //   DBClusterIdentifier doesn't refer to an existing cluster.
  4904  //
  4905  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveFromGlobalCluster
  4906  func (c *DocDB) RemoveFromGlobalCluster(input *RemoveFromGlobalClusterInput) (*RemoveFromGlobalClusterOutput, error) {
  4907  	req, out := c.RemoveFromGlobalClusterRequest(input)
  4908  	return out, req.Send()
  4909  }
  4910  
  4911  // RemoveFromGlobalClusterWithContext is the same as RemoveFromGlobalCluster with the addition of
  4912  // the ability to pass a context and additional request options.
  4913  //
  4914  // See RemoveFromGlobalCluster for details on how to use this API operation.
  4915  //
  4916  // The context must be non-nil and will be used for request cancellation. If
  4917  // the context is nil a panic will occur. In the future the SDK may create
  4918  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4919  // for more information on using Contexts.
  4920  func (c *DocDB) RemoveFromGlobalClusterWithContext(ctx aws.Context, input *RemoveFromGlobalClusterInput, opts ...request.Option) (*RemoveFromGlobalClusterOutput, error) {
  4921  	req, out := c.RemoveFromGlobalClusterRequest(input)
  4922  	req.SetContext(ctx)
  4923  	req.ApplyOptions(opts...)
  4924  	return out, req.Send()
  4925  }
  4926  
  4927  const opRemoveSourceIdentifierFromSubscription = "RemoveSourceIdentifierFromSubscription"
  4928  
  4929  // RemoveSourceIdentifierFromSubscriptionRequest generates a "aws/request.Request" representing the
  4930  // client's request for the RemoveSourceIdentifierFromSubscription operation. The "output" return
  4931  // value will be populated with the request's response once the request completes
  4932  // successfully.
  4933  //
  4934  // Use "Send" method on the returned Request to send the API call to the service.
  4935  // the "output" return value is not valid until after Send returns without error.
  4936  //
  4937  // See RemoveSourceIdentifierFromSubscription for more information on using the RemoveSourceIdentifierFromSubscription
  4938  // API call, and error handling.
  4939  //
  4940  // This method is useful when you want to inject custom logic or configuration
  4941  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4942  //
  4943  //
  4944  //    // Example sending a request using the RemoveSourceIdentifierFromSubscriptionRequest method.
  4945  //    req, resp := client.RemoveSourceIdentifierFromSubscriptionRequest(params)
  4946  //
  4947  //    err := req.Send()
  4948  //    if err == nil { // resp is now filled
  4949  //        fmt.Println(resp)
  4950  //    }
  4951  //
  4952  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveSourceIdentifierFromSubscription
  4953  func (c *DocDB) RemoveSourceIdentifierFromSubscriptionRequest(input *RemoveSourceIdentifierFromSubscriptionInput) (req *request.Request, output *RemoveSourceIdentifierFromSubscriptionOutput) {
  4954  	op := &request.Operation{
  4955  		Name:       opRemoveSourceIdentifierFromSubscription,
  4956  		HTTPMethod: "POST",
  4957  		HTTPPath:   "/",
  4958  	}
  4959  
  4960  	if input == nil {
  4961  		input = &RemoveSourceIdentifierFromSubscriptionInput{}
  4962  	}
  4963  
  4964  	output = &RemoveSourceIdentifierFromSubscriptionOutput{}
  4965  	req = c.newRequest(op, input, output)
  4966  	return
  4967  }
  4968  
  4969  // RemoveSourceIdentifierFromSubscription API operation for Amazon DocumentDB with MongoDB compatibility.
  4970  //
  4971  // Removes a source identifier from an existing Amazon DocumentDB event notification
  4972  // subscription.
  4973  //
  4974  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4975  // with awserr.Error's Code and Message methods to get detailed information about
  4976  // the error.
  4977  //
  4978  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  4979  // API operation RemoveSourceIdentifierFromSubscription for usage and error information.
  4980  //
  4981  // Returned Error Codes:
  4982  //   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
  4983  //   The subscription name does not exist.
  4984  //
  4985  //   * ErrCodeSourceNotFoundFault "SourceNotFound"
  4986  //   The requested source could not be found.
  4987  //
  4988  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveSourceIdentifierFromSubscription
  4989  func (c *DocDB) RemoveSourceIdentifierFromSubscription(input *RemoveSourceIdentifierFromSubscriptionInput) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
  4990  	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
  4991  	return out, req.Send()
  4992  }
  4993  
  4994  // RemoveSourceIdentifierFromSubscriptionWithContext is the same as RemoveSourceIdentifierFromSubscription with the addition of
  4995  // the ability to pass a context and additional request options.
  4996  //
  4997  // See RemoveSourceIdentifierFromSubscription for details on how to use this API operation.
  4998  //
  4999  // The context must be non-nil and will be used for request cancellation. If
  5000  // the context is nil a panic will occur. In the future the SDK may create
  5001  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5002  // for more information on using Contexts.
  5003  func (c *DocDB) RemoveSourceIdentifierFromSubscriptionWithContext(ctx aws.Context, input *RemoveSourceIdentifierFromSubscriptionInput, opts ...request.Option) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
  5004  	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
  5005  	req.SetContext(ctx)
  5006  	req.ApplyOptions(opts...)
  5007  	return out, req.Send()
  5008  }
  5009  
  5010  const opRemoveTagsFromResource = "RemoveTagsFromResource"
  5011  
  5012  // RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
  5013  // client's request for the RemoveTagsFromResource operation. The "output" return
  5014  // value will be populated with the request's response once the request completes
  5015  // successfully.
  5016  //
  5017  // Use "Send" method on the returned Request to send the API call to the service.
  5018  // the "output" return value is not valid until after Send returns without error.
  5019  //
  5020  // See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
  5021  // API call, and error handling.
  5022  //
  5023  // This method is useful when you want to inject custom logic or configuration
  5024  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5025  //
  5026  //
  5027  //    // Example sending a request using the RemoveTagsFromResourceRequest method.
  5028  //    req, resp := client.RemoveTagsFromResourceRequest(params)
  5029  //
  5030  //    err := req.Send()
  5031  //    if err == nil { // resp is now filled
  5032  //        fmt.Println(resp)
  5033  //    }
  5034  //
  5035  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveTagsFromResource
  5036  func (c *DocDB) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
  5037  	op := &request.Operation{
  5038  		Name:       opRemoveTagsFromResource,
  5039  		HTTPMethod: "POST",
  5040  		HTTPPath:   "/",
  5041  	}
  5042  
  5043  	if input == nil {
  5044  		input = &RemoveTagsFromResourceInput{}
  5045  	}
  5046  
  5047  	output = &RemoveTagsFromResourceOutput{}
  5048  	req = c.newRequest(op, input, output)
  5049  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5050  	return
  5051  }
  5052  
  5053  // RemoveTagsFromResource API operation for Amazon DocumentDB with MongoDB compatibility.
  5054  //
  5055  // Removes metadata tags from an Amazon DocumentDB resource.
  5056  //
  5057  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5058  // with awserr.Error's Code and Message methods to get detailed information about
  5059  // the error.
  5060  //
  5061  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  5062  // API operation RemoveTagsFromResource for usage and error information.
  5063  //
  5064  // Returned Error Codes:
  5065  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  5066  //   DBInstanceIdentifier doesn't refer to an existing instance.
  5067  //
  5068  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
  5069  //   DBSnapshotIdentifier doesn't refer to an existing snapshot.
  5070  //
  5071  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  5072  //   DBClusterIdentifier doesn't refer to an existing cluster.
  5073  //
  5074  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveTagsFromResource
  5075  func (c *DocDB) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
  5076  	req, out := c.RemoveTagsFromResourceRequest(input)
  5077  	return out, req.Send()
  5078  }
  5079  
  5080  // RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
  5081  // the ability to pass a context and additional request options.
  5082  //
  5083  // See RemoveTagsFromResource for details on how to use this API operation.
  5084  //
  5085  // The context must be non-nil and will be used for request cancellation. If
  5086  // the context is nil a panic will occur. In the future the SDK may create
  5087  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5088  // for more information on using Contexts.
  5089  func (c *DocDB) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
  5090  	req, out := c.RemoveTagsFromResourceRequest(input)
  5091  	req.SetContext(ctx)
  5092  	req.ApplyOptions(opts...)
  5093  	return out, req.Send()
  5094  }
  5095  
  5096  const opResetDBClusterParameterGroup = "ResetDBClusterParameterGroup"
  5097  
  5098  // ResetDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
  5099  // client's request for the ResetDBClusterParameterGroup operation. The "output" return
  5100  // value will be populated with the request's response once the request completes
  5101  // successfully.
  5102  //
  5103  // Use "Send" method on the returned Request to send the API call to the service.
  5104  // the "output" return value is not valid until after Send returns without error.
  5105  //
  5106  // See ResetDBClusterParameterGroup for more information on using the ResetDBClusterParameterGroup
  5107  // API call, and error handling.
  5108  //
  5109  // This method is useful when you want to inject custom logic or configuration
  5110  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5111  //
  5112  //
  5113  //    // Example sending a request using the ResetDBClusterParameterGroupRequest method.
  5114  //    req, resp := client.ResetDBClusterParameterGroupRequest(params)
  5115  //
  5116  //    err := req.Send()
  5117  //    if err == nil { // resp is now filled
  5118  //        fmt.Println(resp)
  5119  //    }
  5120  //
  5121  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ResetDBClusterParameterGroup
  5122  func (c *DocDB) ResetDBClusterParameterGroupRequest(input *ResetDBClusterParameterGroupInput) (req *request.Request, output *ResetDBClusterParameterGroupOutput) {
  5123  	op := &request.Operation{
  5124  		Name:       opResetDBClusterParameterGroup,
  5125  		HTTPMethod: "POST",
  5126  		HTTPPath:   "/",
  5127  	}
  5128  
  5129  	if input == nil {
  5130  		input = &ResetDBClusterParameterGroupInput{}
  5131  	}
  5132  
  5133  	output = &ResetDBClusterParameterGroupOutput{}
  5134  	req = c.newRequest(op, input, output)
  5135  	return
  5136  }
  5137  
  5138  // ResetDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
  5139  //
  5140  // Modifies the parameters of a cluster parameter group to the default value.
  5141  // To reset specific parameters, submit a list of the following: ParameterName
  5142  // and ApplyMethod. To reset the entire cluster parameter group, specify the
  5143  // DBClusterParameterGroupName and ResetAllParameters parameters.
  5144  //
  5145  // When you reset the entire group, dynamic parameters are updated immediately
  5146  // and static parameters are set to pending-reboot to take effect on the next
  5147  // DB instance reboot.
  5148  //
  5149  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5150  // with awserr.Error's Code and Message methods to get detailed information about
  5151  // the error.
  5152  //
  5153  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  5154  // API operation ResetDBClusterParameterGroup for usage and error information.
  5155  //
  5156  // Returned Error Codes:
  5157  //   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
  5158  //   The parameter group is in use, or it is in a state that is not valid. If
  5159  //   you are trying to delete the parameter group, you can't delete it when the
  5160  //   parameter group is in this state.
  5161  //
  5162  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  5163  //   DBParameterGroupName doesn't refer to an existing parameter group.
  5164  //
  5165  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ResetDBClusterParameterGroup
  5166  func (c *DocDB) ResetDBClusterParameterGroup(input *ResetDBClusterParameterGroupInput) (*ResetDBClusterParameterGroupOutput, error) {
  5167  	req, out := c.ResetDBClusterParameterGroupRequest(input)
  5168  	return out, req.Send()
  5169  }
  5170  
  5171  // ResetDBClusterParameterGroupWithContext is the same as ResetDBClusterParameterGroup with the addition of
  5172  // the ability to pass a context and additional request options.
  5173  //
  5174  // See ResetDBClusterParameterGroup for details on how to use this API operation.
  5175  //
  5176  // The context must be non-nil and will be used for request cancellation. If
  5177  // the context is nil a panic will occur. In the future the SDK may create
  5178  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5179  // for more information on using Contexts.
  5180  func (c *DocDB) ResetDBClusterParameterGroupWithContext(ctx aws.Context, input *ResetDBClusterParameterGroupInput, opts ...request.Option) (*ResetDBClusterParameterGroupOutput, error) {
  5181  	req, out := c.ResetDBClusterParameterGroupRequest(input)
  5182  	req.SetContext(ctx)
  5183  	req.ApplyOptions(opts...)
  5184  	return out, req.Send()
  5185  }
  5186  
  5187  const opRestoreDBClusterFromSnapshot = "RestoreDBClusterFromSnapshot"
  5188  
  5189  // RestoreDBClusterFromSnapshotRequest generates a "aws/request.Request" representing the
  5190  // client's request for the RestoreDBClusterFromSnapshot operation. The "output" return
  5191  // value will be populated with the request's response once the request completes
  5192  // successfully.
  5193  //
  5194  // Use "Send" method on the returned Request to send the API call to the service.
  5195  // the "output" return value is not valid until after Send returns without error.
  5196  //
  5197  // See RestoreDBClusterFromSnapshot for more information on using the RestoreDBClusterFromSnapshot
  5198  // API call, and error handling.
  5199  //
  5200  // This method is useful when you want to inject custom logic or configuration
  5201  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5202  //
  5203  //
  5204  //    // Example sending a request using the RestoreDBClusterFromSnapshotRequest method.
  5205  //    req, resp := client.RestoreDBClusterFromSnapshotRequest(params)
  5206  //
  5207  //    err := req.Send()
  5208  //    if err == nil { // resp is now filled
  5209  //        fmt.Println(resp)
  5210  //    }
  5211  //
  5212  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterFromSnapshot
  5213  func (c *DocDB) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSnapshotInput) (req *request.Request, output *RestoreDBClusterFromSnapshotOutput) {
  5214  	op := &request.Operation{
  5215  		Name:       opRestoreDBClusterFromSnapshot,
  5216  		HTTPMethod: "POST",
  5217  		HTTPPath:   "/",
  5218  	}
  5219  
  5220  	if input == nil {
  5221  		input = &RestoreDBClusterFromSnapshotInput{}
  5222  	}
  5223  
  5224  	output = &RestoreDBClusterFromSnapshotOutput{}
  5225  	req = c.newRequest(op, input, output)
  5226  	return
  5227  }
  5228  
  5229  // RestoreDBClusterFromSnapshot API operation for Amazon DocumentDB with MongoDB compatibility.
  5230  //
  5231  // Creates a new cluster from a snapshot or cluster snapshot.
  5232  //
  5233  // If a snapshot is specified, the target cluster is created from the source
  5234  // DB snapshot with a default configuration and default security group.
  5235  //
  5236  // If a cluster snapshot is specified, the target cluster is created from the
  5237  // source cluster restore point with the same configuration as the original
  5238  // source DB cluster, except that the new cluster is created with the default
  5239  // security group.
  5240  //
  5241  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5242  // with awserr.Error's Code and Message methods to get detailed information about
  5243  // the error.
  5244  //
  5245  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  5246  // API operation RestoreDBClusterFromSnapshot for usage and error information.
  5247  //
  5248  // Returned Error Codes:
  5249  //   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
  5250  //   You already have a cluster with the given identifier.
  5251  //
  5252  //   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
  5253  //   The cluster can't be created because you have reached the maximum allowed
  5254  //   quota of clusters.
  5255  //
  5256  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
  5257  //   The request would cause you to exceed the allowed amount of storage available
  5258  //   across all instances.
  5259  //
  5260  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  5261  //   DBSubnetGroupName doesn't refer to an existing subnet group.
  5262  //
  5263  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
  5264  //   DBSnapshotIdentifier doesn't refer to an existing snapshot.
  5265  //
  5266  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
  5267  //   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
  5268  //
  5269  //   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
  5270  //   The cluster doesn't have enough capacity for the current operation.
  5271  //
  5272  //   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
  5273  //   There is not enough storage available for the current action. You might be
  5274  //   able to resolve this error by updating your subnet group to use different
  5275  //   Availability Zones that have more storage available.
  5276  //
  5277  //   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
  5278  //   The state of the snapshot doesn't allow deletion.
  5279  //
  5280  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
  5281  //   The provided value isn't a valid cluster snapshot state.
  5282  //
  5283  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
  5284  //   The request would cause you to exceed the allowed amount of storage available
  5285  //   across all instances.
  5286  //
  5287  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
  5288  //   The subnet group doesn't cover all Availability Zones after it is created
  5289  //   because of changes that were made.
  5290  //
  5291  //   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
  5292  //   You cannot restore from a virtual private cloud (VPC) backup to a non-VPC
  5293  //   DB instance.
  5294  //
  5295  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  5296  //   DBSubnetGroupName doesn't refer to an existing subnet group.
  5297  //
  5298  //   * ErrCodeInvalidSubnet "InvalidSubnet"
  5299  //   The requested subnet is not valid, or multiple subnets were requested that
  5300  //   are not all in a common virtual private cloud (VPC).
  5301  //
  5302  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
  5303  //   An error occurred when accessing an KMS key.
  5304  //
  5305  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterFromSnapshot
  5306  func (c *DocDB) RestoreDBClusterFromSnapshot(input *RestoreDBClusterFromSnapshotInput) (*RestoreDBClusterFromSnapshotOutput, error) {
  5307  	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
  5308  	return out, req.Send()
  5309  }
  5310  
  5311  // RestoreDBClusterFromSnapshotWithContext is the same as RestoreDBClusterFromSnapshot with the addition of
  5312  // the ability to pass a context and additional request options.
  5313  //
  5314  // See RestoreDBClusterFromSnapshot for details on how to use this API operation.
  5315  //
  5316  // The context must be non-nil and will be used for request cancellation. If
  5317  // the context is nil a panic will occur. In the future the SDK may create
  5318  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5319  // for more information on using Contexts.
  5320  func (c *DocDB) RestoreDBClusterFromSnapshotWithContext(ctx aws.Context, input *RestoreDBClusterFromSnapshotInput, opts ...request.Option) (*RestoreDBClusterFromSnapshotOutput, error) {
  5321  	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
  5322  	req.SetContext(ctx)
  5323  	req.ApplyOptions(opts...)
  5324  	return out, req.Send()
  5325  }
  5326  
  5327  const opRestoreDBClusterToPointInTime = "RestoreDBClusterToPointInTime"
  5328  
  5329  // RestoreDBClusterToPointInTimeRequest generates a "aws/request.Request" representing the
  5330  // client's request for the RestoreDBClusterToPointInTime operation. The "output" return
  5331  // value will be populated with the request's response once the request completes
  5332  // successfully.
  5333  //
  5334  // Use "Send" method on the returned Request to send the API call to the service.
  5335  // the "output" return value is not valid until after Send returns without error.
  5336  //
  5337  // See RestoreDBClusterToPointInTime for more information on using the RestoreDBClusterToPointInTime
  5338  // API call, and error handling.
  5339  //
  5340  // This method is useful when you want to inject custom logic or configuration
  5341  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5342  //
  5343  //
  5344  //    // Example sending a request using the RestoreDBClusterToPointInTimeRequest method.
  5345  //    req, resp := client.RestoreDBClusterToPointInTimeRequest(params)
  5346  //
  5347  //    err := req.Send()
  5348  //    if err == nil { // resp is now filled
  5349  //        fmt.Println(resp)
  5350  //    }
  5351  //
  5352  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterToPointInTime
  5353  func (c *DocDB) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPointInTimeInput) (req *request.Request, output *RestoreDBClusterToPointInTimeOutput) {
  5354  	op := &request.Operation{
  5355  		Name:       opRestoreDBClusterToPointInTime,
  5356  		HTTPMethod: "POST",
  5357  		HTTPPath:   "/",
  5358  	}
  5359  
  5360  	if input == nil {
  5361  		input = &RestoreDBClusterToPointInTimeInput{}
  5362  	}
  5363  
  5364  	output = &RestoreDBClusterToPointInTimeOutput{}
  5365  	req = c.newRequest(op, input, output)
  5366  	return
  5367  }
  5368  
  5369  // RestoreDBClusterToPointInTime API operation for Amazon DocumentDB with MongoDB compatibility.
  5370  //
  5371  // Restores a cluster to an arbitrary point in time. Users can restore to any
  5372  // point in time before LatestRestorableTime for up to BackupRetentionPeriod
  5373  // days. The target cluster is created from the source cluster with the same
  5374  // configuration as the original cluster, except that the new cluster is created
  5375  // with the default security group.
  5376  //
  5377  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5378  // with awserr.Error's Code and Message methods to get detailed information about
  5379  // the error.
  5380  //
  5381  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  5382  // API operation RestoreDBClusterToPointInTime for usage and error information.
  5383  //
  5384  // Returned Error Codes:
  5385  //   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
  5386  //   You already have a cluster with the given identifier.
  5387  //
  5388  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  5389  //   DBClusterIdentifier doesn't refer to an existing cluster.
  5390  //
  5391  //   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
  5392  //   The cluster can't be created because you have reached the maximum allowed
  5393  //   quota of clusters.
  5394  //
  5395  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
  5396  //   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
  5397  //
  5398  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  5399  //   DBSubnetGroupName doesn't refer to an existing subnet group.
  5400  //
  5401  //   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
  5402  //   The cluster doesn't have enough capacity for the current operation.
  5403  //
  5404  //   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
  5405  //   There is not enough storage available for the current action. You might be
  5406  //   able to resolve this error by updating your subnet group to use different
  5407  //   Availability Zones that have more storage available.
  5408  //
  5409  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
  5410  //   The provided value isn't a valid cluster snapshot state.
  5411  //
  5412  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  5413  //   The cluster isn't in a valid state.
  5414  //
  5415  //   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
  5416  //   The state of the snapshot doesn't allow deletion.
  5417  //
  5418  //   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
  5419  //   You cannot restore from a virtual private cloud (VPC) backup to a non-VPC
  5420  //   DB instance.
  5421  //
  5422  //   * ErrCodeInvalidSubnet "InvalidSubnet"
  5423  //   The requested subnet is not valid, or multiple subnets were requested that
  5424  //   are not all in a common virtual private cloud (VPC).
  5425  //
  5426  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
  5427  //   The subnet group doesn't cover all Availability Zones after it is created
  5428  //   because of changes that were made.
  5429  //
  5430  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
  5431  //   An error occurred when accessing an KMS key.
  5432  //
  5433  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
  5434  //   The request would cause you to exceed the allowed amount of storage available
  5435  //   across all instances.
  5436  //
  5437  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterToPointInTime
  5438  func (c *DocDB) RestoreDBClusterToPointInTime(input *RestoreDBClusterToPointInTimeInput) (*RestoreDBClusterToPointInTimeOutput, error) {
  5439  	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
  5440  	return out, req.Send()
  5441  }
  5442  
  5443  // RestoreDBClusterToPointInTimeWithContext is the same as RestoreDBClusterToPointInTime with the addition of
  5444  // the ability to pass a context and additional request options.
  5445  //
  5446  // See RestoreDBClusterToPointInTime for details on how to use this API operation.
  5447  //
  5448  // The context must be non-nil and will be used for request cancellation. If
  5449  // the context is nil a panic will occur. In the future the SDK may create
  5450  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5451  // for more information on using Contexts.
  5452  func (c *DocDB) RestoreDBClusterToPointInTimeWithContext(ctx aws.Context, input *RestoreDBClusterToPointInTimeInput, opts ...request.Option) (*RestoreDBClusterToPointInTimeOutput, error) {
  5453  	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
  5454  	req.SetContext(ctx)
  5455  	req.ApplyOptions(opts...)
  5456  	return out, req.Send()
  5457  }
  5458  
  5459  const opStartDBCluster = "StartDBCluster"
  5460  
  5461  // StartDBClusterRequest generates a "aws/request.Request" representing the
  5462  // client's request for the StartDBCluster operation. The "output" return
  5463  // value will be populated with the request's response once the request completes
  5464  // successfully.
  5465  //
  5466  // Use "Send" method on the returned Request to send the API call to the service.
  5467  // the "output" return value is not valid until after Send returns without error.
  5468  //
  5469  // See StartDBCluster for more information on using the StartDBCluster
  5470  // API call, and error handling.
  5471  //
  5472  // This method is useful when you want to inject custom logic or configuration
  5473  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5474  //
  5475  //
  5476  //    // Example sending a request using the StartDBClusterRequest method.
  5477  //    req, resp := client.StartDBClusterRequest(params)
  5478  //
  5479  //    err := req.Send()
  5480  //    if err == nil { // resp is now filled
  5481  //        fmt.Println(resp)
  5482  //    }
  5483  //
  5484  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/StartDBCluster
  5485  func (c *DocDB) StartDBClusterRequest(input *StartDBClusterInput) (req *request.Request, output *StartDBClusterOutput) {
  5486  	op := &request.Operation{
  5487  		Name:       opStartDBCluster,
  5488  		HTTPMethod: "POST",
  5489  		HTTPPath:   "/",
  5490  	}
  5491  
  5492  	if input == nil {
  5493  		input = &StartDBClusterInput{}
  5494  	}
  5495  
  5496  	output = &StartDBClusterOutput{}
  5497  	req = c.newRequest(op, input, output)
  5498  	return
  5499  }
  5500  
  5501  // StartDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
  5502  //
  5503  // Restarts the stopped cluster that is specified by DBClusterIdentifier. For
  5504  // more information, see Stopping and Starting an Amazon DocumentDB Cluster
  5505  // (https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-stop-start.html).
  5506  //
  5507  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5508  // with awserr.Error's Code and Message methods to get detailed information about
  5509  // the error.
  5510  //
  5511  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  5512  // API operation StartDBCluster for usage and error information.
  5513  //
  5514  // Returned Error Codes:
  5515  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  5516  //   DBClusterIdentifier doesn't refer to an existing cluster.
  5517  //
  5518  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  5519  //   The cluster isn't in a valid state.
  5520  //
  5521  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  5522  //   The specified instance isn't in the available state.
  5523  //
  5524  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/StartDBCluster
  5525  func (c *DocDB) StartDBCluster(input *StartDBClusterInput) (*StartDBClusterOutput, error) {
  5526  	req, out := c.StartDBClusterRequest(input)
  5527  	return out, req.Send()
  5528  }
  5529  
  5530  // StartDBClusterWithContext is the same as StartDBCluster with the addition of
  5531  // the ability to pass a context and additional request options.
  5532  //
  5533  // See StartDBCluster for details on how to use this API operation.
  5534  //
  5535  // The context must be non-nil and will be used for request cancellation. If
  5536  // the context is nil a panic will occur. In the future the SDK may create
  5537  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5538  // for more information on using Contexts.
  5539  func (c *DocDB) StartDBClusterWithContext(ctx aws.Context, input *StartDBClusterInput, opts ...request.Option) (*StartDBClusterOutput, error) {
  5540  	req, out := c.StartDBClusterRequest(input)
  5541  	req.SetContext(ctx)
  5542  	req.ApplyOptions(opts...)
  5543  	return out, req.Send()
  5544  }
  5545  
  5546  const opStopDBCluster = "StopDBCluster"
  5547  
  5548  // StopDBClusterRequest generates a "aws/request.Request" representing the
  5549  // client's request for the StopDBCluster operation. The "output" return
  5550  // value will be populated with the request's response once the request completes
  5551  // successfully.
  5552  //
  5553  // Use "Send" method on the returned Request to send the API call to the service.
  5554  // the "output" return value is not valid until after Send returns without error.
  5555  //
  5556  // See StopDBCluster for more information on using the StopDBCluster
  5557  // API call, and error handling.
  5558  //
  5559  // This method is useful when you want to inject custom logic or configuration
  5560  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5561  //
  5562  //
  5563  //    // Example sending a request using the StopDBClusterRequest method.
  5564  //    req, resp := client.StopDBClusterRequest(params)
  5565  //
  5566  //    err := req.Send()
  5567  //    if err == nil { // resp is now filled
  5568  //        fmt.Println(resp)
  5569  //    }
  5570  //
  5571  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/StopDBCluster
  5572  func (c *DocDB) StopDBClusterRequest(input *StopDBClusterInput) (req *request.Request, output *StopDBClusterOutput) {
  5573  	op := &request.Operation{
  5574  		Name:       opStopDBCluster,
  5575  		HTTPMethod: "POST",
  5576  		HTTPPath:   "/",
  5577  	}
  5578  
  5579  	if input == nil {
  5580  		input = &StopDBClusterInput{}
  5581  	}
  5582  
  5583  	output = &StopDBClusterOutput{}
  5584  	req = c.newRequest(op, input, output)
  5585  	return
  5586  }
  5587  
  5588  // StopDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
  5589  //
  5590  // Stops the running cluster that is specified by DBClusterIdentifier. The cluster
  5591  // must be in the available state. For more information, see Stopping and Starting
  5592  // an Amazon DocumentDB Cluster (https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-stop-start.html).
  5593  //
  5594  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5595  // with awserr.Error's Code and Message methods to get detailed information about
  5596  // the error.
  5597  //
  5598  // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
  5599  // API operation StopDBCluster for usage and error information.
  5600  //
  5601  // Returned Error Codes:
  5602  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  5603  //   DBClusterIdentifier doesn't refer to an existing cluster.
  5604  //
  5605  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  5606  //   The cluster isn't in a valid state.
  5607  //
  5608  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  5609  //   The specified instance isn't in the available state.
  5610  //
  5611  // See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/StopDBCluster
  5612  func (c *DocDB) StopDBCluster(input *StopDBClusterInput) (*StopDBClusterOutput, error) {
  5613  	req, out := c.StopDBClusterRequest(input)
  5614  	return out, req.Send()
  5615  }
  5616  
  5617  // StopDBClusterWithContext is the same as StopDBCluster with the addition of
  5618  // the ability to pass a context and additional request options.
  5619  //
  5620  // See StopDBCluster for details on how to use this API operation.
  5621  //
  5622  // The context must be non-nil and will be used for request cancellation. If
  5623  // the context is nil a panic will occur. In the future the SDK may create
  5624  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5625  // for more information on using Contexts.
  5626  func (c *DocDB) StopDBClusterWithContext(ctx aws.Context, input *StopDBClusterInput, opts ...request.Option) (*StopDBClusterOutput, error) {
  5627  	req, out := c.StopDBClusterRequest(input)
  5628  	req.SetContext(ctx)
  5629  	req.ApplyOptions(opts...)
  5630  	return out, req.Send()
  5631  }
  5632  
  5633  // Represents the input to AddSourceIdentifierToSubscription.
  5634  type AddSourceIdentifierToSubscriptionInput struct {
  5635  	_ struct{} `type:"structure"`
  5636  
  5637  	// The identifier of the event source to be added:
  5638  	//
  5639  	//    * If the source type is an instance, a DBInstanceIdentifier must be provided.
  5640  	//
  5641  	//    * If the source type is a security group, a DBSecurityGroupName must be
  5642  	//    provided.
  5643  	//
  5644  	//    * If the source type is a parameter group, a DBParameterGroupName must
  5645  	//    be provided.
  5646  	//
  5647  	//    * If the source type is a snapshot, a DBSnapshotIdentifier must be provided.
  5648  	//
  5649  	// SourceIdentifier is a required field
  5650  	SourceIdentifier *string `type:"string" required:"true"`
  5651  
  5652  	// The name of the Amazon DocumentDB event notification subscription that you
  5653  	// want to add a source identifier to.
  5654  	//
  5655  	// SubscriptionName is a required field
  5656  	SubscriptionName *string `type:"string" required:"true"`
  5657  }
  5658  
  5659  // String returns the string representation.
  5660  //
  5661  // API parameter values that are decorated as "sensitive" in the API will not
  5662  // be included in the string output. The member name will be present, but the
  5663  // value will be replaced with "sensitive".
  5664  func (s AddSourceIdentifierToSubscriptionInput) String() string {
  5665  	return awsutil.Prettify(s)
  5666  }
  5667  
  5668  // GoString returns the string representation.
  5669  //
  5670  // API parameter values that are decorated as "sensitive" in the API will not
  5671  // be included in the string output. The member name will be present, but the
  5672  // value will be replaced with "sensitive".
  5673  func (s AddSourceIdentifierToSubscriptionInput) GoString() string {
  5674  	return s.String()
  5675  }
  5676  
  5677  // Validate inspects the fields of the type to determine if they are valid.
  5678  func (s *AddSourceIdentifierToSubscriptionInput) Validate() error {
  5679  	invalidParams := request.ErrInvalidParams{Context: "AddSourceIdentifierToSubscriptionInput"}
  5680  	if s.SourceIdentifier == nil {
  5681  		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
  5682  	}
  5683  	if s.SubscriptionName == nil {
  5684  		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
  5685  	}
  5686  
  5687  	if invalidParams.Len() > 0 {
  5688  		return invalidParams
  5689  	}
  5690  	return nil
  5691  }
  5692  
  5693  // SetSourceIdentifier sets the SourceIdentifier field's value.
  5694  func (s *AddSourceIdentifierToSubscriptionInput) SetSourceIdentifier(v string) *AddSourceIdentifierToSubscriptionInput {
  5695  	s.SourceIdentifier = &v
  5696  	return s
  5697  }
  5698  
  5699  // SetSubscriptionName sets the SubscriptionName field's value.
  5700  func (s *AddSourceIdentifierToSubscriptionInput) SetSubscriptionName(v string) *AddSourceIdentifierToSubscriptionInput {
  5701  	s.SubscriptionName = &v
  5702  	return s
  5703  }
  5704  
  5705  type AddSourceIdentifierToSubscriptionOutput struct {
  5706  	_ struct{} `type:"structure"`
  5707  
  5708  	// Detailed information about an event to which you have subscribed.
  5709  	EventSubscription *EventSubscription `type:"structure"`
  5710  }
  5711  
  5712  // String returns the string representation.
  5713  //
  5714  // API parameter values that are decorated as "sensitive" in the API will not
  5715  // be included in the string output. The member name will be present, but the
  5716  // value will be replaced with "sensitive".
  5717  func (s AddSourceIdentifierToSubscriptionOutput) String() string {
  5718  	return awsutil.Prettify(s)
  5719  }
  5720  
  5721  // GoString returns the string representation.
  5722  //
  5723  // API parameter values that are decorated as "sensitive" in the API will not
  5724  // be included in the string output. The member name will be present, but the
  5725  // value will be replaced with "sensitive".
  5726  func (s AddSourceIdentifierToSubscriptionOutput) GoString() string {
  5727  	return s.String()
  5728  }
  5729  
  5730  // SetEventSubscription sets the EventSubscription field's value.
  5731  func (s *AddSourceIdentifierToSubscriptionOutput) SetEventSubscription(v *EventSubscription) *AddSourceIdentifierToSubscriptionOutput {
  5732  	s.EventSubscription = v
  5733  	return s
  5734  }
  5735  
  5736  // Represents the input to AddTagsToResource.
  5737  type AddTagsToResourceInput struct {
  5738  	_ struct{} `type:"structure"`
  5739  
  5740  	// The Amazon DocumentDB resource that the tags are added to. This value is
  5741  	// an Amazon Resource Name .
  5742  	//
  5743  	// ResourceName is a required field
  5744  	ResourceName *string `type:"string" required:"true"`
  5745  
  5746  	// The tags to be assigned to the Amazon DocumentDB resource.
  5747  	//
  5748  	// Tags is a required field
  5749  	Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
  5750  }
  5751  
  5752  // String returns the string representation.
  5753  //
  5754  // API parameter values that are decorated as "sensitive" in the API will not
  5755  // be included in the string output. The member name will be present, but the
  5756  // value will be replaced with "sensitive".
  5757  func (s AddTagsToResourceInput) String() string {
  5758  	return awsutil.Prettify(s)
  5759  }
  5760  
  5761  // GoString returns the string representation.
  5762  //
  5763  // API parameter values that are decorated as "sensitive" in the API will not
  5764  // be included in the string output. The member name will be present, but the
  5765  // value will be replaced with "sensitive".
  5766  func (s AddTagsToResourceInput) GoString() string {
  5767  	return s.String()
  5768  }
  5769  
  5770  // Validate inspects the fields of the type to determine if they are valid.
  5771  func (s *AddTagsToResourceInput) Validate() error {
  5772  	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
  5773  	if s.ResourceName == nil {
  5774  		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
  5775  	}
  5776  	if s.Tags == nil {
  5777  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  5778  	}
  5779  
  5780  	if invalidParams.Len() > 0 {
  5781  		return invalidParams
  5782  	}
  5783  	return nil
  5784  }
  5785  
  5786  // SetResourceName sets the ResourceName field's value.
  5787  func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput {
  5788  	s.ResourceName = &v
  5789  	return s
  5790  }
  5791  
  5792  // SetTags sets the Tags field's value.
  5793  func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
  5794  	s.Tags = v
  5795  	return s
  5796  }
  5797  
  5798  type AddTagsToResourceOutput struct {
  5799  	_ struct{} `type:"structure"`
  5800  }
  5801  
  5802  // String returns the string representation.
  5803  //
  5804  // API parameter values that are decorated as "sensitive" in the API will not
  5805  // be included in the string output. The member name will be present, but the
  5806  // value will be replaced with "sensitive".
  5807  func (s AddTagsToResourceOutput) String() string {
  5808  	return awsutil.Prettify(s)
  5809  }
  5810  
  5811  // GoString returns the string representation.
  5812  //
  5813  // API parameter values that are decorated as "sensitive" in the API will not
  5814  // be included in the string output. The member name will be present, but the
  5815  // value will be replaced with "sensitive".
  5816  func (s AddTagsToResourceOutput) GoString() string {
  5817  	return s.String()
  5818  }
  5819  
  5820  // Represents the input to ApplyPendingMaintenanceAction.
  5821  type ApplyPendingMaintenanceActionInput struct {
  5822  	_ struct{} `type:"structure"`
  5823  
  5824  	// The pending maintenance action to apply to this resource.
  5825  	//
  5826  	// Valid values: system-update, db-upgrade
  5827  	//
  5828  	// ApplyAction is a required field
  5829  	ApplyAction *string `type:"string" required:"true"`
  5830  
  5831  	// A value that specifies the type of opt-in request or undoes an opt-in request.
  5832  	// An opt-in request of type immediate can't be undone.
  5833  	//
  5834  	// Valid values:
  5835  	//
  5836  	//    * immediate - Apply the maintenance action immediately.
  5837  	//
  5838  	//    * next-maintenance - Apply the maintenance action during the next maintenance
  5839  	//    window for the resource.
  5840  	//
  5841  	//    * undo-opt-in - Cancel any existing next-maintenance opt-in requests.
  5842  	//
  5843  	// OptInType is a required field
  5844  	OptInType *string `type:"string" required:"true"`
  5845  
  5846  	// The Amazon Resource Name (ARN) of the resource that the pending maintenance
  5847  	// action applies to.
  5848  	//
  5849  	// ResourceIdentifier is a required field
  5850  	ResourceIdentifier *string `type:"string" required:"true"`
  5851  }
  5852  
  5853  // String returns the string representation.
  5854  //
  5855  // API parameter values that are decorated as "sensitive" in the API will not
  5856  // be included in the string output. The member name will be present, but the
  5857  // value will be replaced with "sensitive".
  5858  func (s ApplyPendingMaintenanceActionInput) String() string {
  5859  	return awsutil.Prettify(s)
  5860  }
  5861  
  5862  // GoString returns the string representation.
  5863  //
  5864  // API parameter values that are decorated as "sensitive" in the API will not
  5865  // be included in the string output. The member name will be present, but the
  5866  // value will be replaced with "sensitive".
  5867  func (s ApplyPendingMaintenanceActionInput) GoString() string {
  5868  	return s.String()
  5869  }
  5870  
  5871  // Validate inspects the fields of the type to determine if they are valid.
  5872  func (s *ApplyPendingMaintenanceActionInput) Validate() error {
  5873  	invalidParams := request.ErrInvalidParams{Context: "ApplyPendingMaintenanceActionInput"}
  5874  	if s.ApplyAction == nil {
  5875  		invalidParams.Add(request.NewErrParamRequired("ApplyAction"))
  5876  	}
  5877  	if s.OptInType == nil {
  5878  		invalidParams.Add(request.NewErrParamRequired("OptInType"))
  5879  	}
  5880  	if s.ResourceIdentifier == nil {
  5881  		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
  5882  	}
  5883  
  5884  	if invalidParams.Len() > 0 {
  5885  		return invalidParams
  5886  	}
  5887  	return nil
  5888  }
  5889  
  5890  // SetApplyAction sets the ApplyAction field's value.
  5891  func (s *ApplyPendingMaintenanceActionInput) SetApplyAction(v string) *ApplyPendingMaintenanceActionInput {
  5892  	s.ApplyAction = &v
  5893  	return s
  5894  }
  5895  
  5896  // SetOptInType sets the OptInType field's value.
  5897  func (s *ApplyPendingMaintenanceActionInput) SetOptInType(v string) *ApplyPendingMaintenanceActionInput {
  5898  	s.OptInType = &v
  5899  	return s
  5900  }
  5901  
  5902  // SetResourceIdentifier sets the ResourceIdentifier field's value.
  5903  func (s *ApplyPendingMaintenanceActionInput) SetResourceIdentifier(v string) *ApplyPendingMaintenanceActionInput {
  5904  	s.ResourceIdentifier = &v
  5905  	return s
  5906  }
  5907  
  5908  type ApplyPendingMaintenanceActionOutput struct {
  5909  	_ struct{} `type:"structure"`
  5910  
  5911  	// Represents the output of ApplyPendingMaintenanceAction.
  5912  	ResourcePendingMaintenanceActions *ResourcePendingMaintenanceActions `type:"structure"`
  5913  }
  5914  
  5915  // String returns the string representation.
  5916  //
  5917  // API parameter values that are decorated as "sensitive" in the API will not
  5918  // be included in the string output. The member name will be present, but the
  5919  // value will be replaced with "sensitive".
  5920  func (s ApplyPendingMaintenanceActionOutput) String() string {
  5921  	return awsutil.Prettify(s)
  5922  }
  5923  
  5924  // GoString returns the string representation.
  5925  //
  5926  // API parameter values that are decorated as "sensitive" in the API will not
  5927  // be included in the string output. The member name will be present, but the
  5928  // value will be replaced with "sensitive".
  5929  func (s ApplyPendingMaintenanceActionOutput) GoString() string {
  5930  	return s.String()
  5931  }
  5932  
  5933  // SetResourcePendingMaintenanceActions sets the ResourcePendingMaintenanceActions field's value.
  5934  func (s *ApplyPendingMaintenanceActionOutput) SetResourcePendingMaintenanceActions(v *ResourcePendingMaintenanceActions) *ApplyPendingMaintenanceActionOutput {
  5935  	s.ResourcePendingMaintenanceActions = v
  5936  	return s
  5937  }
  5938  
  5939  // Information about an Availability Zone.
  5940  type AvailabilityZone struct {
  5941  	_ struct{} `type:"structure"`
  5942  
  5943  	// The name of the Availability Zone.
  5944  	Name *string `type:"string"`
  5945  }
  5946  
  5947  // String 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 AvailabilityZone) String() string {
  5953  	return awsutil.Prettify(s)
  5954  }
  5955  
  5956  // GoString returns the string representation.
  5957  //
  5958  // API parameter values that are decorated as "sensitive" in the API will not
  5959  // be included in the string output. The member name will be present, but the
  5960  // value will be replaced with "sensitive".
  5961  func (s AvailabilityZone) GoString() string {
  5962  	return s.String()
  5963  }
  5964  
  5965  // SetName sets the Name field's value.
  5966  func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
  5967  	s.Name = &v
  5968  	return s
  5969  }
  5970  
  5971  // A certificate authority (CA) certificate for an account.
  5972  type Certificate struct {
  5973  	_ struct{} `type:"structure"`
  5974  
  5975  	// The Amazon Resource Name (ARN) for the certificate.
  5976  	//
  5977  	// Example: arn:aws:rds:us-east-1::cert:rds-ca-2019
  5978  	CertificateArn *string `type:"string"`
  5979  
  5980  	// The unique key that identifies a certificate.
  5981  	//
  5982  	// Example: rds-ca-2019
  5983  	CertificateIdentifier *string `type:"string"`
  5984  
  5985  	// The type of the certificate.
  5986  	//
  5987  	// Example: CA
  5988  	CertificateType *string `type:"string"`
  5989  
  5990  	// The thumbprint of the certificate.
  5991  	Thumbprint *string `type:"string"`
  5992  
  5993  	// The starting date-time from which the certificate is valid.
  5994  	//
  5995  	// Example: 2019-07-31T17:57:09Z
  5996  	ValidFrom *time.Time `type:"timestamp"`
  5997  
  5998  	// The date-time after which the certificate is no longer valid.
  5999  	//
  6000  	// Example: 2024-07-31T17:57:09Z
  6001  	ValidTill *time.Time `type:"timestamp"`
  6002  }
  6003  
  6004  // String returns the string representation.
  6005  //
  6006  // API parameter values that are decorated as "sensitive" in the API will not
  6007  // be included in the string output. The member name will be present, but the
  6008  // value will be replaced with "sensitive".
  6009  func (s Certificate) String() string {
  6010  	return awsutil.Prettify(s)
  6011  }
  6012  
  6013  // GoString returns the string representation.
  6014  //
  6015  // API parameter values that are decorated as "sensitive" in the API will not
  6016  // be included in the string output. The member name will be present, but the
  6017  // value will be replaced with "sensitive".
  6018  func (s Certificate) GoString() string {
  6019  	return s.String()
  6020  }
  6021  
  6022  // SetCertificateArn sets the CertificateArn field's value.
  6023  func (s *Certificate) SetCertificateArn(v string) *Certificate {
  6024  	s.CertificateArn = &v
  6025  	return s
  6026  }
  6027  
  6028  // SetCertificateIdentifier sets the CertificateIdentifier field's value.
  6029  func (s *Certificate) SetCertificateIdentifier(v string) *Certificate {
  6030  	s.CertificateIdentifier = &v
  6031  	return s
  6032  }
  6033  
  6034  // SetCertificateType sets the CertificateType field's value.
  6035  func (s *Certificate) SetCertificateType(v string) *Certificate {
  6036  	s.CertificateType = &v
  6037  	return s
  6038  }
  6039  
  6040  // SetThumbprint sets the Thumbprint field's value.
  6041  func (s *Certificate) SetThumbprint(v string) *Certificate {
  6042  	s.Thumbprint = &v
  6043  	return s
  6044  }
  6045  
  6046  // SetValidFrom sets the ValidFrom field's value.
  6047  func (s *Certificate) SetValidFrom(v time.Time) *Certificate {
  6048  	s.ValidFrom = &v
  6049  	return s
  6050  }
  6051  
  6052  // SetValidTill sets the ValidTill field's value.
  6053  func (s *Certificate) SetValidTill(v time.Time) *Certificate {
  6054  	s.ValidTill = &v
  6055  	return s
  6056  }
  6057  
  6058  // The configuration setting for the log types to be enabled for export to Amazon
  6059  // CloudWatch Logs for a specific instance or cluster.
  6060  //
  6061  // The EnableLogTypes and DisableLogTypes arrays determine which logs are exported
  6062  // (or not exported) to CloudWatch Logs. The values within these arrays depend
  6063  // on the engine that is being used.
  6064  type CloudwatchLogsExportConfiguration struct {
  6065  	_ struct{} `type:"structure"`
  6066  
  6067  	// The list of log types to disable.
  6068  	DisableLogTypes []*string `type:"list"`
  6069  
  6070  	// The list of log types to enable.
  6071  	EnableLogTypes []*string `type:"list"`
  6072  }
  6073  
  6074  // String returns the string representation.
  6075  //
  6076  // API parameter values that are decorated as "sensitive" in the API will not
  6077  // be included in the string output. The member name will be present, but the
  6078  // value will be replaced with "sensitive".
  6079  func (s CloudwatchLogsExportConfiguration) String() string {
  6080  	return awsutil.Prettify(s)
  6081  }
  6082  
  6083  // GoString returns the string representation.
  6084  //
  6085  // API parameter values that are decorated as "sensitive" in the API will not
  6086  // be included in the string output. The member name will be present, but the
  6087  // value will be replaced with "sensitive".
  6088  func (s CloudwatchLogsExportConfiguration) GoString() string {
  6089  	return s.String()
  6090  }
  6091  
  6092  // SetDisableLogTypes sets the DisableLogTypes field's value.
  6093  func (s *CloudwatchLogsExportConfiguration) SetDisableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
  6094  	s.DisableLogTypes = v
  6095  	return s
  6096  }
  6097  
  6098  // SetEnableLogTypes sets the EnableLogTypes field's value.
  6099  func (s *CloudwatchLogsExportConfiguration) SetEnableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
  6100  	s.EnableLogTypes = v
  6101  	return s
  6102  }
  6103  
  6104  // Represents the input to CopyDBClusterParameterGroup.
  6105  type CopyDBClusterParameterGroupInput struct {
  6106  	_ struct{} `type:"structure"`
  6107  
  6108  	// The identifier or Amazon Resource Name (ARN) for the source cluster parameter
  6109  	// group.
  6110  	//
  6111  	// Constraints:
  6112  	//
  6113  	//    * Must specify a valid cluster parameter group.
  6114  	//
  6115  	//    * If the source cluster parameter group is in the same Region as the copy,
  6116  	//    specify a valid parameter group identifier; for example, my-db-cluster-param-group,
  6117  	//    or a valid ARN.
  6118  	//
  6119  	//    * If the source parameter group is in a different Region than the copy,
  6120  	//    specify a valid cluster parameter group ARN; for example, arn:aws:rds:us-east-1:123456789012:sample-cluster:sample-parameter-group.
  6121  	//
  6122  	// SourceDBClusterParameterGroupIdentifier is a required field
  6123  	SourceDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
  6124  
  6125  	// The tags that are to be assigned to the parameter group.
  6126  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  6127  
  6128  	// A description for the copied cluster parameter group.
  6129  	//
  6130  	// TargetDBClusterParameterGroupDescription is a required field
  6131  	TargetDBClusterParameterGroupDescription *string `type:"string" required:"true"`
  6132  
  6133  	// The identifier for the copied cluster parameter group.
  6134  	//
  6135  	// Constraints:
  6136  	//
  6137  	//    * Cannot be null, empty, or blank.
  6138  	//
  6139  	//    * Must contain from 1 to 255 letters, numbers, or hyphens.
  6140  	//
  6141  	//    * The first character must be a letter.
  6142  	//
  6143  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
  6144  	//
  6145  	// Example: my-cluster-param-group1
  6146  	//
  6147  	// TargetDBClusterParameterGroupIdentifier is a required field
  6148  	TargetDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
  6149  }
  6150  
  6151  // String returns the string representation.
  6152  //
  6153  // API parameter values that are decorated as "sensitive" in the API will not
  6154  // be included in the string output. The member name will be present, but the
  6155  // value will be replaced with "sensitive".
  6156  func (s CopyDBClusterParameterGroupInput) String() string {
  6157  	return awsutil.Prettify(s)
  6158  }
  6159  
  6160  // GoString returns the string representation.
  6161  //
  6162  // API parameter values that are decorated as "sensitive" in the API will not
  6163  // be included in the string output. The member name will be present, but the
  6164  // value will be replaced with "sensitive".
  6165  func (s CopyDBClusterParameterGroupInput) GoString() string {
  6166  	return s.String()
  6167  }
  6168  
  6169  // Validate inspects the fields of the type to determine if they are valid.
  6170  func (s *CopyDBClusterParameterGroupInput) Validate() error {
  6171  	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterParameterGroupInput"}
  6172  	if s.SourceDBClusterParameterGroupIdentifier == nil {
  6173  		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterParameterGroupIdentifier"))
  6174  	}
  6175  	if s.TargetDBClusterParameterGroupDescription == nil {
  6176  		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupDescription"))
  6177  	}
  6178  	if s.TargetDBClusterParameterGroupIdentifier == nil {
  6179  		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupIdentifier"))
  6180  	}
  6181  
  6182  	if invalidParams.Len() > 0 {
  6183  		return invalidParams
  6184  	}
  6185  	return nil
  6186  }
  6187  
  6188  // SetSourceDBClusterParameterGroupIdentifier sets the SourceDBClusterParameterGroupIdentifier field's value.
  6189  func (s *CopyDBClusterParameterGroupInput) SetSourceDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
  6190  	s.SourceDBClusterParameterGroupIdentifier = &v
  6191  	return s
  6192  }
  6193  
  6194  // SetTags sets the Tags field's value.
  6195  func (s *CopyDBClusterParameterGroupInput) SetTags(v []*Tag) *CopyDBClusterParameterGroupInput {
  6196  	s.Tags = v
  6197  	return s
  6198  }
  6199  
  6200  // SetTargetDBClusterParameterGroupDescription sets the TargetDBClusterParameterGroupDescription field's value.
  6201  func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupDescription(v string) *CopyDBClusterParameterGroupInput {
  6202  	s.TargetDBClusterParameterGroupDescription = &v
  6203  	return s
  6204  }
  6205  
  6206  // SetTargetDBClusterParameterGroupIdentifier sets the TargetDBClusterParameterGroupIdentifier field's value.
  6207  func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
  6208  	s.TargetDBClusterParameterGroupIdentifier = &v
  6209  	return s
  6210  }
  6211  
  6212  type CopyDBClusterParameterGroupOutput struct {
  6213  	_ struct{} `type:"structure"`
  6214  
  6215  	// Detailed information about a cluster parameter group.
  6216  	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
  6217  }
  6218  
  6219  // String returns the string representation.
  6220  //
  6221  // API parameter values that are decorated as "sensitive" in the API will not
  6222  // be included in the string output. The member name will be present, but the
  6223  // value will be replaced with "sensitive".
  6224  func (s CopyDBClusterParameterGroupOutput) String() string {
  6225  	return awsutil.Prettify(s)
  6226  }
  6227  
  6228  // GoString returns the string representation.
  6229  //
  6230  // API parameter values that are decorated as "sensitive" in the API will not
  6231  // be included in the string output. The member name will be present, but the
  6232  // value will be replaced with "sensitive".
  6233  func (s CopyDBClusterParameterGroupOutput) GoString() string {
  6234  	return s.String()
  6235  }
  6236  
  6237  // SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
  6238  func (s *CopyDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CopyDBClusterParameterGroupOutput {
  6239  	s.DBClusterParameterGroup = v
  6240  	return s
  6241  }
  6242  
  6243  // Represents the input to CopyDBClusterSnapshot.
  6244  type CopyDBClusterSnapshotInput struct {
  6245  	_ struct{} `type:"structure"`
  6246  
  6247  	// Set to true to copy all tags from the source cluster snapshot to the target
  6248  	// cluster snapshot, and otherwise false. The default is false.
  6249  	CopyTags *bool `type:"boolean"`
  6250  
  6251  	// DestinationRegion is used for presigning the request to a given region.
  6252  	DestinationRegion *string `type:"string"`
  6253  
  6254  	// The KMS key ID for an encrypted cluster snapshot. The KMS key ID is the Amazon
  6255  	// Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS
  6256  	// encryption key.
  6257  	//
  6258  	// If you copy an encrypted cluster snapshot from your account, you can specify
  6259  	// a value for KmsKeyId to encrypt the copy with a new KMS encryption key. If
  6260  	// you don't specify a value for KmsKeyId, then the copy of the cluster snapshot
  6261  	// is encrypted with the same KMS key as the source cluster snapshot.
  6262  	//
  6263  	// If you copy an encrypted cluster snapshot that is shared from another account,
  6264  	// then you must specify a value for KmsKeyId.
  6265  	//
  6266  	// To copy an encrypted cluster snapshot to another Region, set KmsKeyId to
  6267  	// the KMS key ID that you want to use to encrypt the copy of the cluster snapshot
  6268  	// in the destination Region. KMS encryption keys are specific to the Region
  6269  	// that they are created in, and you can't use encryption keys from one Region
  6270  	// in another Region.
  6271  	//
  6272  	// If you copy an unencrypted cluster snapshot and specify a value for the KmsKeyId
  6273  	// parameter, an error is returned.
  6274  	KmsKeyId *string `type:"string"`
  6275  
  6276  	// The URL that contains a Signature Version 4 signed request for theCopyDBClusterSnapshot
  6277  	// API action in the Region that contains the source cluster snapshot to copy.
  6278  	// You must use the PreSignedUrl parameter when copying a cluster snapshot from
  6279  	// another Region.
  6280  	//
  6281  	// If you are using an Amazon Web Services SDK tool or the CLI, you can specify
  6282  	// SourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl
  6283  	// manually. Specifying SourceRegion autogenerates a pre-signed URL that is
  6284  	// a valid request for the operation that can be executed in the source Region.
  6285  	//
  6286  	// The presigned URL must be a valid request for the CopyDBClusterSnapshot API
  6287  	// action that can be executed in the source Region that contains the cluster
  6288  	// snapshot to be copied. The presigned URL request must contain the following
  6289  	// parameter values:
  6290  	//
  6291  	//    * SourceRegion - The ID of the region that contains the snapshot to be
  6292  	//    copied.
  6293  	//
  6294  	//    * SourceDBClusterSnapshotIdentifier - The identifier for the the encrypted
  6295  	//    cluster snapshot to be copied. This identifier must be in the Amazon Resource
  6296  	//    Name (ARN) format for the source Region. For example, if you are copying
  6297  	//    an encrypted cluster snapshot from the us-east-1 Region, then your SourceDBClusterSnapshotIdentifier
  6298  	//    looks something like the following: arn:aws:rds:us-east-1:12345678012:sample-cluster:sample-cluster-snapshot.
  6299  	//
  6300  	//    * TargetDBClusterSnapshotIdentifier - The identifier for the new cluster
  6301  	//    snapshot to be created. This parameter isn't case sensitive.
  6302  	PreSignedUrl *string `type:"string"`
  6303  
  6304  	// The identifier of the cluster snapshot to copy. This parameter is not case
  6305  	// sensitive.
  6306  	//
  6307  	// Constraints:
  6308  	//
  6309  	//    * Must specify a valid system snapshot in the available state.
  6310  	//
  6311  	//    * If the source snapshot is in the same Region as the copy, specify a
  6312  	//    valid snapshot identifier.
  6313  	//
  6314  	//    * If the source snapshot is in a different Region than the copy, specify
  6315  	//    a valid cluster snapshot ARN.
  6316  	//
  6317  	// Example: my-cluster-snapshot1
  6318  	//
  6319  	// SourceDBClusterSnapshotIdentifier is a required field
  6320  	SourceDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
  6321  
  6322  	// SourceRegion is the source region where the resource exists. This is not
  6323  	// sent over the wire and is only used for presigning. This value should always
  6324  	// have the same region as the source ARN.
  6325  	SourceRegion *string `type:"string" ignore:"true"`
  6326  
  6327  	// The tags to be assigned to the cluster snapshot.
  6328  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  6329  
  6330  	// The identifier of the new cluster snapshot to create from the source cluster
  6331  	// snapshot. This parameter is not case sensitive.
  6332  	//
  6333  	// Constraints:
  6334  	//
  6335  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
  6336  	//
  6337  	//    * The first character must be a letter.
  6338  	//
  6339  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
  6340  	//
  6341  	// Example: my-cluster-snapshot2
  6342  	//
  6343  	// TargetDBClusterSnapshotIdentifier is a required field
  6344  	TargetDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
  6345  }
  6346  
  6347  // String returns the string representation.
  6348  //
  6349  // API parameter values that are decorated as "sensitive" in the API will not
  6350  // be included in the string output. The member name will be present, but the
  6351  // value will be replaced with "sensitive".
  6352  func (s CopyDBClusterSnapshotInput) String() string {
  6353  	return awsutil.Prettify(s)
  6354  }
  6355  
  6356  // GoString returns the string representation.
  6357  //
  6358  // API parameter values that are decorated as "sensitive" in the API will not
  6359  // be included in the string output. The member name will be present, but the
  6360  // value will be replaced with "sensitive".
  6361  func (s CopyDBClusterSnapshotInput) GoString() string {
  6362  	return s.String()
  6363  }
  6364  
  6365  // Validate inspects the fields of the type to determine if they are valid.
  6366  func (s *CopyDBClusterSnapshotInput) Validate() error {
  6367  	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterSnapshotInput"}
  6368  	if s.SourceDBClusterSnapshotIdentifier == nil {
  6369  		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterSnapshotIdentifier"))
  6370  	}
  6371  	if s.TargetDBClusterSnapshotIdentifier == nil {
  6372  		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterSnapshotIdentifier"))
  6373  	}
  6374  
  6375  	if invalidParams.Len() > 0 {
  6376  		return invalidParams
  6377  	}
  6378  	return nil
  6379  }
  6380  
  6381  // SetCopyTags sets the CopyTags field's value.
  6382  func (s *CopyDBClusterSnapshotInput) SetCopyTags(v bool) *CopyDBClusterSnapshotInput {
  6383  	s.CopyTags = &v
  6384  	return s
  6385  }
  6386  
  6387  // SetDestinationRegion sets the DestinationRegion field's value.
  6388  func (s *CopyDBClusterSnapshotInput) SetDestinationRegion(v string) *CopyDBClusterSnapshotInput {
  6389  	s.DestinationRegion = &v
  6390  	return s
  6391  }
  6392  
  6393  // SetKmsKeyId sets the KmsKeyId field's value.
  6394  func (s *CopyDBClusterSnapshotInput) SetKmsKeyId(v string) *CopyDBClusterSnapshotInput {
  6395  	s.KmsKeyId = &v
  6396  	return s
  6397  }
  6398  
  6399  // SetPreSignedUrl sets the PreSignedUrl field's value.
  6400  func (s *CopyDBClusterSnapshotInput) SetPreSignedUrl(v string) *CopyDBClusterSnapshotInput {
  6401  	s.PreSignedUrl = &v
  6402  	return s
  6403  }
  6404  
  6405  // SetSourceDBClusterSnapshotIdentifier sets the SourceDBClusterSnapshotIdentifier field's value.
  6406  func (s *CopyDBClusterSnapshotInput) SetSourceDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
  6407  	s.SourceDBClusterSnapshotIdentifier = &v
  6408  	return s
  6409  }
  6410  
  6411  // SetSourceRegion sets the SourceRegion field's value.
  6412  func (s *CopyDBClusterSnapshotInput) SetSourceRegion(v string) *CopyDBClusterSnapshotInput {
  6413  	s.SourceRegion = &v
  6414  	return s
  6415  }
  6416  
  6417  // SetTags sets the Tags field's value.
  6418  func (s *CopyDBClusterSnapshotInput) SetTags(v []*Tag) *CopyDBClusterSnapshotInput {
  6419  	s.Tags = v
  6420  	return s
  6421  }
  6422  
  6423  // SetTargetDBClusterSnapshotIdentifier sets the TargetDBClusterSnapshotIdentifier field's value.
  6424  func (s *CopyDBClusterSnapshotInput) SetTargetDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
  6425  	s.TargetDBClusterSnapshotIdentifier = &v
  6426  	return s
  6427  }
  6428  
  6429  type CopyDBClusterSnapshotOutput struct {
  6430  	_ struct{} `type:"structure"`
  6431  
  6432  	// Detailed information about a cluster snapshot.
  6433  	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
  6434  }
  6435  
  6436  // String returns the string representation.
  6437  //
  6438  // API parameter values that are decorated as "sensitive" in the API will not
  6439  // be included in the string output. The member name will be present, but the
  6440  // value will be replaced with "sensitive".
  6441  func (s CopyDBClusterSnapshotOutput) String() string {
  6442  	return awsutil.Prettify(s)
  6443  }
  6444  
  6445  // GoString returns the string representation.
  6446  //
  6447  // API parameter values that are decorated as "sensitive" in the API will not
  6448  // be included in the string output. The member name will be present, but the
  6449  // value will be replaced with "sensitive".
  6450  func (s CopyDBClusterSnapshotOutput) GoString() string {
  6451  	return s.String()
  6452  }
  6453  
  6454  // SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
  6455  func (s *CopyDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CopyDBClusterSnapshotOutput {
  6456  	s.DBClusterSnapshot = v
  6457  	return s
  6458  }
  6459  
  6460  // Represents the input to CreateDBCluster.
  6461  type CreateDBClusterInput struct {
  6462  	_ struct{} `type:"structure"`
  6463  
  6464  	// A list of Amazon EC2 Availability Zones that instances in the cluster can
  6465  	// be created in.
  6466  	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
  6467  
  6468  	// The number of days for which automated backups are retained. You must specify
  6469  	// a minimum value of 1.
  6470  	//
  6471  	// Default: 1
  6472  	//
  6473  	// Constraints:
  6474  	//
  6475  	//    * Must be a value from 1 to 35.
  6476  	BackupRetentionPeriod *int64 `type:"integer"`
  6477  
  6478  	// The cluster identifier. This parameter is stored as a lowercase string.
  6479  	//
  6480  	// Constraints:
  6481  	//
  6482  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
  6483  	//
  6484  	//    * The first character must be a letter.
  6485  	//
  6486  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
  6487  	//
  6488  	// Example: my-cluster
  6489  	//
  6490  	// DBClusterIdentifier is a required field
  6491  	DBClusterIdentifier *string `type:"string" required:"true"`
  6492  
  6493  	// The name of the cluster parameter group to associate with this cluster.
  6494  	DBClusterParameterGroupName *string `type:"string"`
  6495  
  6496  	// A subnet group to associate with this cluster.
  6497  	//
  6498  	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
  6499  	// default.
  6500  	//
  6501  	// Example: mySubnetgroup
  6502  	DBSubnetGroupName *string `type:"string"`
  6503  
  6504  	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
  6505  	// the cluster cannot be deleted unless it is modified and DeletionProtection
  6506  	// is disabled. DeletionProtection protects clusters from being accidentally
  6507  	// deleted.
  6508  	DeletionProtection *bool `type:"boolean"`
  6509  
  6510  	// DestinationRegion is used for presigning the request to a given region.
  6511  	DestinationRegion *string `type:"string"`
  6512  
  6513  	// A list of log types that need to be enabled for exporting to Amazon CloudWatch
  6514  	// Logs. You can enable audit logs or profiler logs. For more information, see
  6515  	// Auditing Amazon DocumentDB Events (https://docs.aws.amazon.com/documentdb/latest/developerguide/event-auditing.html)
  6516  	// and Profiling Amazon DocumentDB Operations (https://docs.aws.amazon.com/documentdb/latest/developerguide/profiling.html).
  6517  	EnableCloudwatchLogsExports []*string `type:"list"`
  6518  
  6519  	// The name of the database engine to be used for this cluster.
  6520  	//
  6521  	// Valid values: docdb
  6522  	//
  6523  	// Engine is a required field
  6524  	Engine *string `type:"string" required:"true"`
  6525  
  6526  	// The version number of the database engine to use. The --engine-version will
  6527  	// default to the latest major engine version. For production workloads, we
  6528  	// recommend explicitly declaring this parameter with the intended major engine
  6529  	// version.
  6530  	EngineVersion *string `type:"string"`
  6531  
  6532  	// The cluster identifier of the new global cluster.
  6533  	GlobalClusterIdentifier *string `min:"1" type:"string"`
  6534  
  6535  	// The KMS key identifier for an encrypted cluster.
  6536  	//
  6537  	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
  6538  	// key. If you are creating a cluster using the same account that owns the KMS
  6539  	// encryption key that is used to encrypt the new cluster, you can use the KMS
  6540  	// key alias instead of the ARN for the KMS encryption key.
  6541  	//
  6542  	// If an encryption key is not specified in KmsKeyId:
  6543  	//
  6544  	//    * If the StorageEncrypted parameter is true, Amazon DocumentDB uses your
  6545  	//    default encryption key.
  6546  	//
  6547  	// KMS creates the default encryption key for your account. Your account has
  6548  	// a different default encryption key for each Regions.
  6549  	KmsKeyId *string `type:"string"`
  6550  
  6551  	// The password for the master database user. This password can contain any
  6552  	// printable ASCII character except forward slash (/), double quote ("), or
  6553  	// the "at" symbol (@).
  6554  	//
  6555  	// Constraints: Must contain from 8 to 100 characters.
  6556  	MasterUserPassword *string `type:"string"`
  6557  
  6558  	// The name of the master user for the cluster.
  6559  	//
  6560  	// Constraints:
  6561  	//
  6562  	//    * Must be from 1 to 63 letters or numbers.
  6563  	//
  6564  	//    * The first character must be a letter.
  6565  	//
  6566  	//    * Cannot be a reserved word for the chosen database engine.
  6567  	MasterUsername *string `type:"string"`
  6568  
  6569  	// The port number on which the instances in the cluster accept connections.
  6570  	Port *int64 `type:"integer"`
  6571  
  6572  	// Not currently supported.
  6573  	PreSignedUrl *string `type:"string"`
  6574  
  6575  	// The daily time range during which automated backups are created if automated
  6576  	// backups are enabled using the BackupRetentionPeriod parameter.
  6577  	//
  6578  	// The default is a 30-minute window selected at random from an 8-hour block
  6579  	// of time for each Region.
  6580  	//
  6581  	// Constraints:
  6582  	//
  6583  	//    * Must be in the format hh24:mi-hh24:mi.
  6584  	//
  6585  	//    * Must be in Universal Coordinated Time (UTC).
  6586  	//
  6587  	//    * Must not conflict with the preferred maintenance window.
  6588  	//
  6589  	//    * Must be at least 30 minutes.
  6590  	PreferredBackupWindow *string `type:"string"`
  6591  
  6592  	// The weekly time range during which system maintenance can occur, in Universal
  6593  	// Coordinated Time (UTC).
  6594  	//
  6595  	// Format: ddd:hh24:mi-ddd:hh24:mi
  6596  	//
  6597  	// The default is a 30-minute window selected at random from an 8-hour block
  6598  	// of time for each Region, occurring on a random day of the week.
  6599  	//
  6600  	// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
  6601  	//
  6602  	// Constraints: Minimum 30-minute window.
  6603  	PreferredMaintenanceWindow *string `type:"string"`
  6604  
  6605  	// SourceRegion is the source region where the resource exists. This is not
  6606  	// sent over the wire and is only used for presigning. This value should always
  6607  	// have the same region as the source ARN.
  6608  	SourceRegion *string `type:"string" ignore:"true"`
  6609  
  6610  	// Specifies whether the cluster is encrypted.
  6611  	StorageEncrypted *bool `type:"boolean"`
  6612  
  6613  	// The tags to be assigned to the cluster.
  6614  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  6615  
  6616  	// A list of EC2 VPC security groups to associate with this cluster.
  6617  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
  6618  }
  6619  
  6620  // String returns the string representation.
  6621  //
  6622  // API parameter values that are decorated as "sensitive" in the API will not
  6623  // be included in the string output. The member name will be present, but the
  6624  // value will be replaced with "sensitive".
  6625  func (s CreateDBClusterInput) String() string {
  6626  	return awsutil.Prettify(s)
  6627  }
  6628  
  6629  // GoString returns the string representation.
  6630  //
  6631  // API parameter values that are decorated as "sensitive" in the API will not
  6632  // be included in the string output. The member name will be present, but the
  6633  // value will be replaced with "sensitive".
  6634  func (s CreateDBClusterInput) GoString() string {
  6635  	return s.String()
  6636  }
  6637  
  6638  // Validate inspects the fields of the type to determine if they are valid.
  6639  func (s *CreateDBClusterInput) Validate() error {
  6640  	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterInput"}
  6641  	if s.DBClusterIdentifier == nil {
  6642  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
  6643  	}
  6644  	if s.Engine == nil {
  6645  		invalidParams.Add(request.NewErrParamRequired("Engine"))
  6646  	}
  6647  	if s.GlobalClusterIdentifier != nil && len(*s.GlobalClusterIdentifier) < 1 {
  6648  		invalidParams.Add(request.NewErrParamMinLen("GlobalClusterIdentifier", 1))
  6649  	}
  6650  
  6651  	if invalidParams.Len() > 0 {
  6652  		return invalidParams
  6653  	}
  6654  	return nil
  6655  }
  6656  
  6657  // SetAvailabilityZones sets the AvailabilityZones field's value.
  6658  func (s *CreateDBClusterInput) SetAvailabilityZones(v []*string) *CreateDBClusterInput {
  6659  	s.AvailabilityZones = v
  6660  	return s
  6661  }
  6662  
  6663  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
  6664  func (s *CreateDBClusterInput) SetBackupRetentionPeriod(v int64) *CreateDBClusterInput {
  6665  	s.BackupRetentionPeriod = &v
  6666  	return s
  6667  }
  6668  
  6669  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
  6670  func (s *CreateDBClusterInput) SetDBClusterIdentifier(v string) *CreateDBClusterInput {
  6671  	s.DBClusterIdentifier = &v
  6672  	return s
  6673  }
  6674  
  6675  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
  6676  func (s *CreateDBClusterInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterInput {
  6677  	s.DBClusterParameterGroupName = &v
  6678  	return s
  6679  }
  6680  
  6681  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
  6682  func (s *CreateDBClusterInput) SetDBSubnetGroupName(v string) *CreateDBClusterInput {
  6683  	s.DBSubnetGroupName = &v
  6684  	return s
  6685  }
  6686  
  6687  // SetDeletionProtection sets the DeletionProtection field's value.
  6688  func (s *CreateDBClusterInput) SetDeletionProtection(v bool) *CreateDBClusterInput {
  6689  	s.DeletionProtection = &v
  6690  	return s
  6691  }
  6692  
  6693  // SetDestinationRegion sets the DestinationRegion field's value.
  6694  func (s *CreateDBClusterInput) SetDestinationRegion(v string) *CreateDBClusterInput {
  6695  	s.DestinationRegion = &v
  6696  	return s
  6697  }
  6698  
  6699  // SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
  6700  func (s *CreateDBClusterInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBClusterInput {
  6701  	s.EnableCloudwatchLogsExports = v
  6702  	return s
  6703  }
  6704  
  6705  // SetEngine sets the Engine field's value.
  6706  func (s *CreateDBClusterInput) SetEngine(v string) *CreateDBClusterInput {
  6707  	s.Engine = &v
  6708  	return s
  6709  }
  6710  
  6711  // SetEngineVersion sets the EngineVersion field's value.
  6712  func (s *CreateDBClusterInput) SetEngineVersion(v string) *CreateDBClusterInput {
  6713  	s.EngineVersion = &v
  6714  	return s
  6715  }
  6716  
  6717  // SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
  6718  func (s *CreateDBClusterInput) SetGlobalClusterIdentifier(v string) *CreateDBClusterInput {
  6719  	s.GlobalClusterIdentifier = &v
  6720  	return s
  6721  }
  6722  
  6723  // SetKmsKeyId sets the KmsKeyId field's value.
  6724  func (s *CreateDBClusterInput) SetKmsKeyId(v string) *CreateDBClusterInput {
  6725  	s.KmsKeyId = &v
  6726  	return s
  6727  }
  6728  
  6729  // SetMasterUserPassword sets the MasterUserPassword field's value.
  6730  func (s *CreateDBClusterInput) SetMasterUserPassword(v string) *CreateDBClusterInput {
  6731  	s.MasterUserPassword = &v
  6732  	return s
  6733  }
  6734  
  6735  // SetMasterUsername sets the MasterUsername field's value.
  6736  func (s *CreateDBClusterInput) SetMasterUsername(v string) *CreateDBClusterInput {
  6737  	s.MasterUsername = &v
  6738  	return s
  6739  }
  6740  
  6741  // SetPort sets the Port field's value.
  6742  func (s *CreateDBClusterInput) SetPort(v int64) *CreateDBClusterInput {
  6743  	s.Port = &v
  6744  	return s
  6745  }
  6746  
  6747  // SetPreSignedUrl sets the PreSignedUrl field's value.
  6748  func (s *CreateDBClusterInput) SetPreSignedUrl(v string) *CreateDBClusterInput {
  6749  	s.PreSignedUrl = &v
  6750  	return s
  6751  }
  6752  
  6753  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
  6754  func (s *CreateDBClusterInput) SetPreferredBackupWindow(v string) *CreateDBClusterInput {
  6755  	s.PreferredBackupWindow = &v
  6756  	return s
  6757  }
  6758  
  6759  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
  6760  func (s *CreateDBClusterInput) SetPreferredMaintenanceWindow(v string) *CreateDBClusterInput {
  6761  	s.PreferredMaintenanceWindow = &v
  6762  	return s
  6763  }
  6764  
  6765  // SetSourceRegion sets the SourceRegion field's value.
  6766  func (s *CreateDBClusterInput) SetSourceRegion(v string) *CreateDBClusterInput {
  6767  	s.SourceRegion = &v
  6768  	return s
  6769  }
  6770  
  6771  // SetStorageEncrypted sets the StorageEncrypted field's value.
  6772  func (s *CreateDBClusterInput) SetStorageEncrypted(v bool) *CreateDBClusterInput {
  6773  	s.StorageEncrypted = &v
  6774  	return s
  6775  }
  6776  
  6777  // SetTags sets the Tags field's value.
  6778  func (s *CreateDBClusterInput) SetTags(v []*Tag) *CreateDBClusterInput {
  6779  	s.Tags = v
  6780  	return s
  6781  }
  6782  
  6783  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
  6784  func (s *CreateDBClusterInput) SetVpcSecurityGroupIds(v []*string) *CreateDBClusterInput {
  6785  	s.VpcSecurityGroupIds = v
  6786  	return s
  6787  }
  6788  
  6789  type CreateDBClusterOutput struct {
  6790  	_ struct{} `type:"structure"`
  6791  
  6792  	// Detailed information about a cluster.
  6793  	DBCluster *DBCluster `type:"structure"`
  6794  }
  6795  
  6796  // String returns the string representation.
  6797  //
  6798  // API parameter values that are decorated as "sensitive" in the API will not
  6799  // be included in the string output. The member name will be present, but the
  6800  // value will be replaced with "sensitive".
  6801  func (s CreateDBClusterOutput) String() string {
  6802  	return awsutil.Prettify(s)
  6803  }
  6804  
  6805  // GoString returns the string representation.
  6806  //
  6807  // API parameter values that are decorated as "sensitive" in the API will not
  6808  // be included in the string output. The member name will be present, but the
  6809  // value will be replaced with "sensitive".
  6810  func (s CreateDBClusterOutput) GoString() string {
  6811  	return s.String()
  6812  }
  6813  
  6814  // SetDBCluster sets the DBCluster field's value.
  6815  func (s *CreateDBClusterOutput) SetDBCluster(v *DBCluster) *CreateDBClusterOutput {
  6816  	s.DBCluster = v
  6817  	return s
  6818  }
  6819  
  6820  // Represents the input of CreateDBClusterParameterGroup.
  6821  type CreateDBClusterParameterGroupInput struct {
  6822  	_ struct{} `type:"structure"`
  6823  
  6824  	// The name of the cluster parameter group.
  6825  	//
  6826  	// Constraints:
  6827  	//
  6828  	//    * Must not match the name of an existing DBClusterParameterGroup.
  6829  	//
  6830  	// This value is stored as a lowercase string.
  6831  	//
  6832  	// DBClusterParameterGroupName is a required field
  6833  	DBClusterParameterGroupName *string `type:"string" required:"true"`
  6834  
  6835  	// The cluster parameter group family name.
  6836  	//
  6837  	// DBParameterGroupFamily is a required field
  6838  	DBParameterGroupFamily *string `type:"string" required:"true"`
  6839  
  6840  	// The description for the cluster parameter group.
  6841  	//
  6842  	// Description is a required field
  6843  	Description *string `type:"string" required:"true"`
  6844  
  6845  	// The tags to be assigned to the cluster parameter group.
  6846  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  6847  }
  6848  
  6849  // String returns the string representation.
  6850  //
  6851  // API parameter values that are decorated as "sensitive" in the API will not
  6852  // be included in the string output. The member name will be present, but the
  6853  // value will be replaced with "sensitive".
  6854  func (s CreateDBClusterParameterGroupInput) String() string {
  6855  	return awsutil.Prettify(s)
  6856  }
  6857  
  6858  // GoString returns the string representation.
  6859  //
  6860  // API parameter values that are decorated as "sensitive" in the API will not
  6861  // be included in the string output. The member name will be present, but the
  6862  // value will be replaced with "sensitive".
  6863  func (s CreateDBClusterParameterGroupInput) GoString() string {
  6864  	return s.String()
  6865  }
  6866  
  6867  // Validate inspects the fields of the type to determine if they are valid.
  6868  func (s *CreateDBClusterParameterGroupInput) Validate() error {
  6869  	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterParameterGroupInput"}
  6870  	if s.DBClusterParameterGroupName == nil {
  6871  		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
  6872  	}
  6873  	if s.DBParameterGroupFamily == nil {
  6874  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
  6875  	}
  6876  	if s.Description == nil {
  6877  		invalidParams.Add(request.NewErrParamRequired("Description"))
  6878  	}
  6879  
  6880  	if invalidParams.Len() > 0 {
  6881  		return invalidParams
  6882  	}
  6883  	return nil
  6884  }
  6885  
  6886  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
  6887  func (s *CreateDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterParameterGroupInput {
  6888  	s.DBClusterParameterGroupName = &v
  6889  	return s
  6890  }
  6891  
  6892  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
  6893  func (s *CreateDBClusterParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBClusterParameterGroupInput {
  6894  	s.DBParameterGroupFamily = &v
  6895  	return s
  6896  }
  6897  
  6898  // SetDescription sets the Description field's value.
  6899  func (s *CreateDBClusterParameterGroupInput) SetDescription(v string) *CreateDBClusterParameterGroupInput {
  6900  	s.Description = &v
  6901  	return s
  6902  }
  6903  
  6904  // SetTags sets the Tags field's value.
  6905  func (s *CreateDBClusterParameterGroupInput) SetTags(v []*Tag) *CreateDBClusterParameterGroupInput {
  6906  	s.Tags = v
  6907  	return s
  6908  }
  6909  
  6910  type CreateDBClusterParameterGroupOutput struct {
  6911  	_ struct{} `type:"structure"`
  6912  
  6913  	// Detailed information about a cluster parameter group.
  6914  	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
  6915  }
  6916  
  6917  // String returns the string representation.
  6918  //
  6919  // API parameter values that are decorated as "sensitive" in the API will not
  6920  // be included in the string output. The member name will be present, but the
  6921  // value will be replaced with "sensitive".
  6922  func (s CreateDBClusterParameterGroupOutput) String() string {
  6923  	return awsutil.Prettify(s)
  6924  }
  6925  
  6926  // GoString returns the string representation.
  6927  //
  6928  // API parameter values that are decorated as "sensitive" in the API will not
  6929  // be included in the string output. The member name will be present, but the
  6930  // value will be replaced with "sensitive".
  6931  func (s CreateDBClusterParameterGroupOutput) GoString() string {
  6932  	return s.String()
  6933  }
  6934  
  6935  // SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
  6936  func (s *CreateDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CreateDBClusterParameterGroupOutput {
  6937  	s.DBClusterParameterGroup = v
  6938  	return s
  6939  }
  6940  
  6941  // Represents the input of CreateDBClusterSnapshot.
  6942  type CreateDBClusterSnapshotInput struct {
  6943  	_ struct{} `type:"structure"`
  6944  
  6945  	// The identifier of the cluster to create a snapshot for. This parameter is
  6946  	// not case sensitive.
  6947  	//
  6948  	// Constraints:
  6949  	//
  6950  	//    * Must match the identifier of an existing DBCluster.
  6951  	//
  6952  	// Example: my-cluster
  6953  	//
  6954  	// DBClusterIdentifier is a required field
  6955  	DBClusterIdentifier *string `type:"string" required:"true"`
  6956  
  6957  	// The identifier of the cluster snapshot. This parameter is stored as a lowercase
  6958  	// string.
  6959  	//
  6960  	// Constraints:
  6961  	//
  6962  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
  6963  	//
  6964  	//    * The first character must be a letter.
  6965  	//
  6966  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
  6967  	//
  6968  	// Example: my-cluster-snapshot1
  6969  	//
  6970  	// DBClusterSnapshotIdentifier is a required field
  6971  	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
  6972  
  6973  	// The tags to be assigned to the cluster snapshot.
  6974  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  6975  }
  6976  
  6977  // String returns the string representation.
  6978  //
  6979  // API parameter values that are decorated as "sensitive" in the API will not
  6980  // be included in the string output. The member name will be present, but the
  6981  // value will be replaced with "sensitive".
  6982  func (s CreateDBClusterSnapshotInput) String() string {
  6983  	return awsutil.Prettify(s)
  6984  }
  6985  
  6986  // GoString returns the string representation.
  6987  //
  6988  // API parameter values that are decorated as "sensitive" in the API will not
  6989  // be included in the string output. The member name will be present, but the
  6990  // value will be replaced with "sensitive".
  6991  func (s CreateDBClusterSnapshotInput) GoString() string {
  6992  	return s.String()
  6993  }
  6994  
  6995  // Validate inspects the fields of the type to determine if they are valid.
  6996  func (s *CreateDBClusterSnapshotInput) Validate() error {
  6997  	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterSnapshotInput"}
  6998  	if s.DBClusterIdentifier == nil {
  6999  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
  7000  	}
  7001  	if s.DBClusterSnapshotIdentifier == nil {
  7002  		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
  7003  	}
  7004  
  7005  	if invalidParams.Len() > 0 {
  7006  		return invalidParams
  7007  	}
  7008  	return nil
  7009  }
  7010  
  7011  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
  7012  func (s *CreateDBClusterSnapshotInput) SetDBClusterIdentifier(v string) *CreateDBClusterSnapshotInput {
  7013  	s.DBClusterIdentifier = &v
  7014  	return s
  7015  }
  7016  
  7017  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
  7018  func (s *CreateDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *CreateDBClusterSnapshotInput {
  7019  	s.DBClusterSnapshotIdentifier = &v
  7020  	return s
  7021  }
  7022  
  7023  // SetTags sets the Tags field's value.
  7024  func (s *CreateDBClusterSnapshotInput) SetTags(v []*Tag) *CreateDBClusterSnapshotInput {
  7025  	s.Tags = v
  7026  	return s
  7027  }
  7028  
  7029  type CreateDBClusterSnapshotOutput struct {
  7030  	_ struct{} `type:"structure"`
  7031  
  7032  	// Detailed information about a cluster snapshot.
  7033  	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
  7034  }
  7035  
  7036  // String returns the string representation.
  7037  //
  7038  // API parameter values that are decorated as "sensitive" in the API will not
  7039  // be included in the string output. The member name will be present, but the
  7040  // value will be replaced with "sensitive".
  7041  func (s CreateDBClusterSnapshotOutput) String() string {
  7042  	return awsutil.Prettify(s)
  7043  }
  7044  
  7045  // GoString returns the string representation.
  7046  //
  7047  // API parameter values that are decorated as "sensitive" in the API will not
  7048  // be included in the string output. The member name will be present, but the
  7049  // value will be replaced with "sensitive".
  7050  func (s CreateDBClusterSnapshotOutput) GoString() string {
  7051  	return s.String()
  7052  }
  7053  
  7054  // SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
  7055  func (s *CreateDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CreateDBClusterSnapshotOutput {
  7056  	s.DBClusterSnapshot = v
  7057  	return s
  7058  }
  7059  
  7060  // Represents the input to CreateDBInstance.
  7061  type CreateDBInstanceInput struct {
  7062  	_ struct{} `type:"structure"`
  7063  
  7064  	// This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does
  7065  	// not perform minor version upgrades regardless of the value set.
  7066  	//
  7067  	// Default: false
  7068  	AutoMinorVersionUpgrade *bool `type:"boolean"`
  7069  
  7070  	// The Amazon EC2 Availability Zone that the instance is created in.
  7071  	//
  7072  	// Default: A random, system-chosen Availability Zone in the endpoint's Region.
  7073  	//
  7074  	// Example: us-east-1d
  7075  	AvailabilityZone *string `type:"string"`
  7076  
  7077  	// The identifier of the cluster that the instance will belong to.
  7078  	//
  7079  	// DBClusterIdentifier is a required field
  7080  	DBClusterIdentifier *string `type:"string" required:"true"`
  7081  
  7082  	// The compute and memory capacity of the instance; for example, db.r5.large.
  7083  	//
  7084  	// DBInstanceClass is a required field
  7085  	DBInstanceClass *string `type:"string" required:"true"`
  7086  
  7087  	// The instance identifier. This parameter is stored as a lowercase string.
  7088  	//
  7089  	// Constraints:
  7090  	//
  7091  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
  7092  	//
  7093  	//    * The first character must be a letter.
  7094  	//
  7095  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
  7096  	//
  7097  	// Example: mydbinstance
  7098  	//
  7099  	// DBInstanceIdentifier is a required field
  7100  	DBInstanceIdentifier *string `type:"string" required:"true"`
  7101  
  7102  	// The name of the database engine to be used for this instance.
  7103  	//
  7104  	// Valid value: docdb
  7105  	//
  7106  	// Engine is a required field
  7107  	Engine *string `type:"string" required:"true"`
  7108  
  7109  	// The time range each week during which system maintenance can occur, in Universal
  7110  	// Coordinated Time (UTC).
  7111  	//
  7112  	// Format: ddd:hh24:mi-ddd:hh24:mi
  7113  	//
  7114  	// The default is a 30-minute window selected at random from an 8-hour block
  7115  	// of time for each Region, occurring on a random day of the week.
  7116  	//
  7117  	// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
  7118  	//
  7119  	// Constraints: Minimum 30-minute window.
  7120  	PreferredMaintenanceWindow *string `type:"string"`
  7121  
  7122  	// A value that specifies the order in which an Amazon DocumentDB replica is
  7123  	// promoted to the primary instance after a failure of the existing primary
  7124  	// instance.
  7125  	//
  7126  	// Default: 1
  7127  	//
  7128  	// Valid values: 0-15
  7129  	PromotionTier *int64 `type:"integer"`
  7130  
  7131  	// The tags to be assigned to the instance. You can assign up to 10 tags to
  7132  	// an instance.
  7133  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  7134  }
  7135  
  7136  // String returns the string representation.
  7137  //
  7138  // API parameter values that are decorated as "sensitive" in the API will not
  7139  // be included in the string output. The member name will be present, but the
  7140  // value will be replaced with "sensitive".
  7141  func (s CreateDBInstanceInput) String() string {
  7142  	return awsutil.Prettify(s)
  7143  }
  7144  
  7145  // GoString returns the string representation.
  7146  //
  7147  // API parameter values that are decorated as "sensitive" in the API will not
  7148  // be included in the string output. The member name will be present, but the
  7149  // value will be replaced with "sensitive".
  7150  func (s CreateDBInstanceInput) GoString() string {
  7151  	return s.String()
  7152  }
  7153  
  7154  // Validate inspects the fields of the type to determine if they are valid.
  7155  func (s *CreateDBInstanceInput) Validate() error {
  7156  	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceInput"}
  7157  	if s.DBClusterIdentifier == nil {
  7158  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
  7159  	}
  7160  	if s.DBInstanceClass == nil {
  7161  		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
  7162  	}
  7163  	if s.DBInstanceIdentifier == nil {
  7164  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
  7165  	}
  7166  	if s.Engine == nil {
  7167  		invalidParams.Add(request.NewErrParamRequired("Engine"))
  7168  	}
  7169  
  7170  	if invalidParams.Len() > 0 {
  7171  		return invalidParams
  7172  	}
  7173  	return nil
  7174  }
  7175  
  7176  // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
  7177  func (s *CreateDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceInput {
  7178  	s.AutoMinorVersionUpgrade = &v
  7179  	return s
  7180  }
  7181  
  7182  // SetAvailabilityZone sets the AvailabilityZone field's value.
  7183  func (s *CreateDBInstanceInput) SetAvailabilityZone(v string) *CreateDBInstanceInput {
  7184  	s.AvailabilityZone = &v
  7185  	return s
  7186  }
  7187  
  7188  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
  7189  func (s *CreateDBInstanceInput) SetDBClusterIdentifier(v string) *CreateDBInstanceInput {
  7190  	s.DBClusterIdentifier = &v
  7191  	return s
  7192  }
  7193  
  7194  // SetDBInstanceClass sets the DBInstanceClass field's value.
  7195  func (s *CreateDBInstanceInput) SetDBInstanceClass(v string) *CreateDBInstanceInput {
  7196  	s.DBInstanceClass = &v
  7197  	return s
  7198  }
  7199  
  7200  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
  7201  func (s *CreateDBInstanceInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceInput {
  7202  	s.DBInstanceIdentifier = &v
  7203  	return s
  7204  }
  7205  
  7206  // SetEngine sets the Engine field's value.
  7207  func (s *CreateDBInstanceInput) SetEngine(v string) *CreateDBInstanceInput {
  7208  	s.Engine = &v
  7209  	return s
  7210  }
  7211  
  7212  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
  7213  func (s *CreateDBInstanceInput) SetPreferredMaintenanceWindow(v string) *CreateDBInstanceInput {
  7214  	s.PreferredMaintenanceWindow = &v
  7215  	return s
  7216  }
  7217  
  7218  // SetPromotionTier sets the PromotionTier field's value.
  7219  func (s *CreateDBInstanceInput) SetPromotionTier(v int64) *CreateDBInstanceInput {
  7220  	s.PromotionTier = &v
  7221  	return s
  7222  }
  7223  
  7224  // SetTags sets the Tags field's value.
  7225  func (s *CreateDBInstanceInput) SetTags(v []*Tag) *CreateDBInstanceInput {
  7226  	s.Tags = v
  7227  	return s
  7228  }
  7229  
  7230  type CreateDBInstanceOutput struct {
  7231  	_ struct{} `type:"structure"`
  7232  
  7233  	// Detailed information about an instance.
  7234  	DBInstance *DBInstance `type:"structure"`
  7235  }
  7236  
  7237  // String returns the string representation.
  7238  //
  7239  // API parameter values that are decorated as "sensitive" in the API will not
  7240  // be included in the string output. The member name will be present, but the
  7241  // value will be replaced with "sensitive".
  7242  func (s CreateDBInstanceOutput) String() string {
  7243  	return awsutil.Prettify(s)
  7244  }
  7245  
  7246  // GoString returns the string representation.
  7247  //
  7248  // API parameter values that are decorated as "sensitive" in the API will not
  7249  // be included in the string output. The member name will be present, but the
  7250  // value will be replaced with "sensitive".
  7251  func (s CreateDBInstanceOutput) GoString() string {
  7252  	return s.String()
  7253  }
  7254  
  7255  // SetDBInstance sets the DBInstance field's value.
  7256  func (s *CreateDBInstanceOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceOutput {
  7257  	s.DBInstance = v
  7258  	return s
  7259  }
  7260  
  7261  // Represents the input to CreateDBSubnetGroup.
  7262  type CreateDBSubnetGroupInput struct {
  7263  	_ struct{} `type:"structure"`
  7264  
  7265  	// The description for the subnet group.
  7266  	//
  7267  	// DBSubnetGroupDescription is a required field
  7268  	DBSubnetGroupDescription *string `type:"string" required:"true"`
  7269  
  7270  	// The name for the subnet group. This value is stored as a lowercase string.
  7271  	//
  7272  	// Constraints: Must contain no more than 255 letters, numbers, periods, underscores,
  7273  	// spaces, or hyphens. Must not be default.
  7274  	//
  7275  	// Example: mySubnetgroup
  7276  	//
  7277  	// DBSubnetGroupName is a required field
  7278  	DBSubnetGroupName *string `type:"string" required:"true"`
  7279  
  7280  	// The Amazon EC2 subnet IDs for the subnet group.
  7281  	//
  7282  	// SubnetIds is a required field
  7283  	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
  7284  
  7285  	// The tags to be assigned to the subnet group.
  7286  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  7287  }
  7288  
  7289  // String returns the string representation.
  7290  //
  7291  // API parameter values that are decorated as "sensitive" in the API will not
  7292  // be included in the string output. The member name will be present, but the
  7293  // value will be replaced with "sensitive".
  7294  func (s CreateDBSubnetGroupInput) String() string {
  7295  	return awsutil.Prettify(s)
  7296  }
  7297  
  7298  // GoString returns the string representation.
  7299  //
  7300  // API parameter values that are decorated as "sensitive" in the API will not
  7301  // be included in the string output. The member name will be present, but the
  7302  // value will be replaced with "sensitive".
  7303  func (s CreateDBSubnetGroupInput) GoString() string {
  7304  	return s.String()
  7305  }
  7306  
  7307  // Validate inspects the fields of the type to determine if they are valid.
  7308  func (s *CreateDBSubnetGroupInput) Validate() error {
  7309  	invalidParams := request.ErrInvalidParams{Context: "CreateDBSubnetGroupInput"}
  7310  	if s.DBSubnetGroupDescription == nil {
  7311  		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupDescription"))
  7312  	}
  7313  	if s.DBSubnetGroupName == nil {
  7314  		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
  7315  	}
  7316  	if s.SubnetIds == nil {
  7317  		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
  7318  	}
  7319  
  7320  	if invalidParams.Len() > 0 {
  7321  		return invalidParams
  7322  	}
  7323  	return nil
  7324  }
  7325  
  7326  // SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
  7327  func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *CreateDBSubnetGroupInput {
  7328  	s.DBSubnetGroupDescription = &v
  7329  	return s
  7330  }
  7331  
  7332  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
  7333  func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupName(v string) *CreateDBSubnetGroupInput {
  7334  	s.DBSubnetGroupName = &v
  7335  	return s
  7336  }
  7337  
  7338  // SetSubnetIds sets the SubnetIds field's value.
  7339  func (s *CreateDBSubnetGroupInput) SetSubnetIds(v []*string) *CreateDBSubnetGroupInput {
  7340  	s.SubnetIds = v
  7341  	return s
  7342  }
  7343  
  7344  // SetTags sets the Tags field's value.
  7345  func (s *CreateDBSubnetGroupInput) SetTags(v []*Tag) *CreateDBSubnetGroupInput {
  7346  	s.Tags = v
  7347  	return s
  7348  }
  7349  
  7350  type CreateDBSubnetGroupOutput struct {
  7351  	_ struct{} `type:"structure"`
  7352  
  7353  	// Detailed information about a subnet group.
  7354  	DBSubnetGroup *DBSubnetGroup `type:"structure"`
  7355  }
  7356  
  7357  // String returns the string representation.
  7358  //
  7359  // API parameter values that are decorated as "sensitive" in the API will not
  7360  // be included in the string output. The member name will be present, but the
  7361  // value will be replaced with "sensitive".
  7362  func (s CreateDBSubnetGroupOutput) String() string {
  7363  	return awsutil.Prettify(s)
  7364  }
  7365  
  7366  // GoString 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 CreateDBSubnetGroupOutput) GoString() string {
  7372  	return s.String()
  7373  }
  7374  
  7375  // SetDBSubnetGroup sets the DBSubnetGroup field's value.
  7376  func (s *CreateDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *CreateDBSubnetGroupOutput {
  7377  	s.DBSubnetGroup = v
  7378  	return s
  7379  }
  7380  
  7381  // Represents the input to CreateEventSubscription.
  7382  type CreateEventSubscriptionInput struct {
  7383  	_ struct{} `type:"structure"`
  7384  
  7385  	// A Boolean value; set to true to activate the subscription, set to false to
  7386  	// create the subscription but not active it.
  7387  	Enabled *bool `type:"boolean"`
  7388  
  7389  	// A list of event categories for a SourceType that you want to subscribe to.
  7390  	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
  7391  
  7392  	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
  7393  	// Amazon SNS creates the ARN when you create a topic and subscribe to it.
  7394  	//
  7395  	// SnsTopicArn is a required field
  7396  	SnsTopicArn *string `type:"string" required:"true"`
  7397  
  7398  	// The list of identifiers of the event sources for which events are returned.
  7399  	// If not specified, then all sources are included in the response. An identifier
  7400  	// must begin with a letter and must contain only ASCII letters, digits, and
  7401  	// hyphens; it can't end with a hyphen or contain two consecutive hyphens.
  7402  	//
  7403  	// Constraints:
  7404  	//
  7405  	//    * If SourceIds are provided, SourceType must also be provided.
  7406  	//
  7407  	//    * If the source type is an instance, a DBInstanceIdentifier must be provided.
  7408  	//
  7409  	//    * If the source type is a security group, a DBSecurityGroupName must be
  7410  	//    provided.
  7411  	//
  7412  	//    * If the source type is a parameter group, a DBParameterGroupName must
  7413  	//    be provided.
  7414  	//
  7415  	//    * If the source type is a snapshot, a DBSnapshotIdentifier must be provided.
  7416  	SourceIds []*string `locationNameList:"SourceId" type:"list"`
  7417  
  7418  	// The type of source that is generating the events. For example, if you want
  7419  	// to be notified of events generated by an instance, you would set this parameter
  7420  	// to db-instance. If this value is not specified, all events are returned.
  7421  	//
  7422  	// Valid values: db-instance, db-cluster, db-parameter-group, db-security-group,
  7423  	// db-cluster-snapshot
  7424  	SourceType *string `type:"string"`
  7425  
  7426  	// The name of the subscription.
  7427  	//
  7428  	// Constraints: The name must be fewer than 255 characters.
  7429  	//
  7430  	// SubscriptionName is a required field
  7431  	SubscriptionName *string `type:"string" required:"true"`
  7432  
  7433  	// The tags to be assigned to the event subscription.
  7434  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  7435  }
  7436  
  7437  // String returns the string representation.
  7438  //
  7439  // API parameter values that are decorated as "sensitive" in the API will not
  7440  // be included in the string output. The member name will be present, but the
  7441  // value will be replaced with "sensitive".
  7442  func (s CreateEventSubscriptionInput) String() string {
  7443  	return awsutil.Prettify(s)
  7444  }
  7445  
  7446  // GoString returns the string representation.
  7447  //
  7448  // API parameter values that are decorated as "sensitive" in the API will not
  7449  // be included in the string output. The member name will be present, but the
  7450  // value will be replaced with "sensitive".
  7451  func (s CreateEventSubscriptionInput) GoString() string {
  7452  	return s.String()
  7453  }
  7454  
  7455  // Validate inspects the fields of the type to determine if they are valid.
  7456  func (s *CreateEventSubscriptionInput) Validate() error {
  7457  	invalidParams := request.ErrInvalidParams{Context: "CreateEventSubscriptionInput"}
  7458  	if s.SnsTopicArn == nil {
  7459  		invalidParams.Add(request.NewErrParamRequired("SnsTopicArn"))
  7460  	}
  7461  	if s.SubscriptionName == nil {
  7462  		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
  7463  	}
  7464  
  7465  	if invalidParams.Len() > 0 {
  7466  		return invalidParams
  7467  	}
  7468  	return nil
  7469  }
  7470  
  7471  // SetEnabled sets the Enabled field's value.
  7472  func (s *CreateEventSubscriptionInput) SetEnabled(v bool) *CreateEventSubscriptionInput {
  7473  	s.Enabled = &v
  7474  	return s
  7475  }
  7476  
  7477  // SetEventCategories sets the EventCategories field's value.
  7478  func (s *CreateEventSubscriptionInput) SetEventCategories(v []*string) *CreateEventSubscriptionInput {
  7479  	s.EventCategories = v
  7480  	return s
  7481  }
  7482  
  7483  // SetSnsTopicArn sets the SnsTopicArn field's value.
  7484  func (s *CreateEventSubscriptionInput) SetSnsTopicArn(v string) *CreateEventSubscriptionInput {
  7485  	s.SnsTopicArn = &v
  7486  	return s
  7487  }
  7488  
  7489  // SetSourceIds sets the SourceIds field's value.
  7490  func (s *CreateEventSubscriptionInput) SetSourceIds(v []*string) *CreateEventSubscriptionInput {
  7491  	s.SourceIds = v
  7492  	return s
  7493  }
  7494  
  7495  // SetSourceType sets the SourceType field's value.
  7496  func (s *CreateEventSubscriptionInput) SetSourceType(v string) *CreateEventSubscriptionInput {
  7497  	s.SourceType = &v
  7498  	return s
  7499  }
  7500  
  7501  // SetSubscriptionName sets the SubscriptionName field's value.
  7502  func (s *CreateEventSubscriptionInput) SetSubscriptionName(v string) *CreateEventSubscriptionInput {
  7503  	s.SubscriptionName = &v
  7504  	return s
  7505  }
  7506  
  7507  // SetTags sets the Tags field's value.
  7508  func (s *CreateEventSubscriptionInput) SetTags(v []*Tag) *CreateEventSubscriptionInput {
  7509  	s.Tags = v
  7510  	return s
  7511  }
  7512  
  7513  type CreateEventSubscriptionOutput struct {
  7514  	_ struct{} `type:"structure"`
  7515  
  7516  	// Detailed information about an event to which you have subscribed.
  7517  	EventSubscription *EventSubscription `type:"structure"`
  7518  }
  7519  
  7520  // String returns the string representation.
  7521  //
  7522  // API parameter values that are decorated as "sensitive" in the API will not
  7523  // be included in the string output. The member name will be present, but the
  7524  // value will be replaced with "sensitive".
  7525  func (s CreateEventSubscriptionOutput) String() string {
  7526  	return awsutil.Prettify(s)
  7527  }
  7528  
  7529  // GoString returns the string representation.
  7530  //
  7531  // API parameter values that are decorated as "sensitive" in the API will not
  7532  // be included in the string output. The member name will be present, but the
  7533  // value will be replaced with "sensitive".
  7534  func (s CreateEventSubscriptionOutput) GoString() string {
  7535  	return s.String()
  7536  }
  7537  
  7538  // SetEventSubscription sets the EventSubscription field's value.
  7539  func (s *CreateEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *CreateEventSubscriptionOutput {
  7540  	s.EventSubscription = v
  7541  	return s
  7542  }
  7543  
  7544  // Represents the input to CreateGlobalCluster.
  7545  type CreateGlobalClusterInput struct {
  7546  	_ struct{} `type:"structure"`
  7547  
  7548  	// The name for your database of up to 64 alpha-numeric characters. If you do
  7549  	// not provide a name, Amazon DocumentDB will not create a database in the global
  7550  	// cluster you are creating.
  7551  	DatabaseName *string `type:"string"`
  7552  
  7553  	// The deletion protection setting for the new global cluster. The global cluster
  7554  	// can't be deleted when deletion protection is enabled.
  7555  	DeletionProtection *bool `type:"boolean"`
  7556  
  7557  	// The name of the database engine to be used for this cluster.
  7558  	Engine *string `type:"string"`
  7559  
  7560  	// The engine version of the global cluster.
  7561  	EngineVersion *string `type:"string"`
  7562  
  7563  	// The cluster identifier of the new global cluster.
  7564  	//
  7565  	// GlobalClusterIdentifier is a required field
  7566  	GlobalClusterIdentifier *string `min:"1" type:"string" required:"true"`
  7567  
  7568  	// The Amazon Resource Name (ARN) to use as the primary cluster of the global
  7569  	// cluster. This parameter is optional.
  7570  	SourceDBClusterIdentifier *string `type:"string"`
  7571  
  7572  	// The storage encryption setting for the new global cluster.
  7573  	StorageEncrypted *bool `type:"boolean"`
  7574  }
  7575  
  7576  // String returns the string representation.
  7577  //
  7578  // API parameter values that are decorated as "sensitive" in the API will not
  7579  // be included in the string output. The member name will be present, but the
  7580  // value will be replaced with "sensitive".
  7581  func (s CreateGlobalClusterInput) String() string {
  7582  	return awsutil.Prettify(s)
  7583  }
  7584  
  7585  // GoString returns the string representation.
  7586  //
  7587  // API parameter values that are decorated as "sensitive" in the API will not
  7588  // be included in the string output. The member name will be present, but the
  7589  // value will be replaced with "sensitive".
  7590  func (s CreateGlobalClusterInput) GoString() string {
  7591  	return s.String()
  7592  }
  7593  
  7594  // Validate inspects the fields of the type to determine if they are valid.
  7595  func (s *CreateGlobalClusterInput) Validate() error {
  7596  	invalidParams := request.ErrInvalidParams{Context: "CreateGlobalClusterInput"}
  7597  	if s.GlobalClusterIdentifier == nil {
  7598  		invalidParams.Add(request.NewErrParamRequired("GlobalClusterIdentifier"))
  7599  	}
  7600  	if s.GlobalClusterIdentifier != nil && len(*s.GlobalClusterIdentifier) < 1 {
  7601  		invalidParams.Add(request.NewErrParamMinLen("GlobalClusterIdentifier", 1))
  7602  	}
  7603  
  7604  	if invalidParams.Len() > 0 {
  7605  		return invalidParams
  7606  	}
  7607  	return nil
  7608  }
  7609  
  7610  // SetDatabaseName sets the DatabaseName field's value.
  7611  func (s *CreateGlobalClusterInput) SetDatabaseName(v string) *CreateGlobalClusterInput {
  7612  	s.DatabaseName = &v
  7613  	return s
  7614  }
  7615  
  7616  // SetDeletionProtection sets the DeletionProtection field's value.
  7617  func (s *CreateGlobalClusterInput) SetDeletionProtection(v bool) *CreateGlobalClusterInput {
  7618  	s.DeletionProtection = &v
  7619  	return s
  7620  }
  7621  
  7622  // SetEngine sets the Engine field's value.
  7623  func (s *CreateGlobalClusterInput) SetEngine(v string) *CreateGlobalClusterInput {
  7624  	s.Engine = &v
  7625  	return s
  7626  }
  7627  
  7628  // SetEngineVersion sets the EngineVersion field's value.
  7629  func (s *CreateGlobalClusterInput) SetEngineVersion(v string) *CreateGlobalClusterInput {
  7630  	s.EngineVersion = &v
  7631  	return s
  7632  }
  7633  
  7634  // SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
  7635  func (s *CreateGlobalClusterInput) SetGlobalClusterIdentifier(v string) *CreateGlobalClusterInput {
  7636  	s.GlobalClusterIdentifier = &v
  7637  	return s
  7638  }
  7639  
  7640  // SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
  7641  func (s *CreateGlobalClusterInput) SetSourceDBClusterIdentifier(v string) *CreateGlobalClusterInput {
  7642  	s.SourceDBClusterIdentifier = &v
  7643  	return s
  7644  }
  7645  
  7646  // SetStorageEncrypted sets the StorageEncrypted field's value.
  7647  func (s *CreateGlobalClusterInput) SetStorageEncrypted(v bool) *CreateGlobalClusterInput {
  7648  	s.StorageEncrypted = &v
  7649  	return s
  7650  }
  7651  
  7652  type CreateGlobalClusterOutput struct {
  7653  	_ struct{} `type:"structure"`
  7654  
  7655  	// A data type representing an Amazon DocumentDB global cluster.
  7656  	GlobalCluster *GlobalCluster `type:"structure"`
  7657  }
  7658  
  7659  // String 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 CreateGlobalClusterOutput) String() string {
  7665  	return awsutil.Prettify(s)
  7666  }
  7667  
  7668  // GoString returns the string representation.
  7669  //
  7670  // API parameter values that are decorated as "sensitive" in the API will not
  7671  // be included in the string output. The member name will be present, but the
  7672  // value will be replaced with "sensitive".
  7673  func (s CreateGlobalClusterOutput) GoString() string {
  7674  	return s.String()
  7675  }
  7676  
  7677  // SetGlobalCluster sets the GlobalCluster field's value.
  7678  func (s *CreateGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *CreateGlobalClusterOutput {
  7679  	s.GlobalCluster = v
  7680  	return s
  7681  }
  7682  
  7683  // Detailed information about a cluster.
  7684  type DBCluster struct {
  7685  	_ struct{} `type:"structure"`
  7686  
  7687  	// Provides a list of the Identity and Access Management (IAM) roles that are
  7688  	// associated with the cluster. (IAM) roles that are associated with a cluster
  7689  	// grant permission for the cluster to access other Amazon Web Services services
  7690  	// on your behalf.
  7691  	AssociatedRoles []*DBClusterRole `locationNameList:"DBClusterRole" type:"list"`
  7692  
  7693  	// Provides the list of Amazon EC2 Availability Zones that instances in the
  7694  	// cluster can be created in.
  7695  	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
  7696  
  7697  	// Specifies the number of days for which automatic snapshots are retained.
  7698  	BackupRetentionPeriod *int64 `type:"integer"`
  7699  
  7700  	// Specifies the time when the cluster was created, in Universal Coordinated
  7701  	// Time (UTC).
  7702  	ClusterCreateTime *time.Time `type:"timestamp"`
  7703  
  7704  	// The Amazon Resource Name (ARN) for the cluster.
  7705  	DBClusterArn *string `type:"string"`
  7706  
  7707  	// Contains a user-supplied cluster identifier. This identifier is the unique
  7708  	// key that identifies a cluster.
  7709  	DBClusterIdentifier *string `type:"string"`
  7710  
  7711  	// Provides the list of instances that make up the cluster.
  7712  	DBClusterMembers []*DBClusterMember `locationNameList:"DBClusterMember" type:"list"`
  7713  
  7714  	// Specifies the name of the cluster parameter group for the cluster.
  7715  	DBClusterParameterGroup *string `type:"string"`
  7716  
  7717  	// Specifies information on the subnet group that is associated with the cluster,
  7718  	// including the name, description, and subnets in the subnet group.
  7719  	DBSubnetGroup *string `type:"string"`
  7720  
  7721  	// The Region-unique, immutable identifier for the cluster. This identifier
  7722  	// is found in CloudTrail log entries whenever the KMS key for the cluster is
  7723  	// accessed.
  7724  	DbClusterResourceId *string `type:"string"`
  7725  
  7726  	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
  7727  	// the cluster cannot be deleted unless it is modified and DeletionProtection
  7728  	// is disabled. DeletionProtection protects clusters from being accidentally
  7729  	// deleted.
  7730  	DeletionProtection *bool `type:"boolean"`
  7731  
  7732  	// The earliest time to which a database can be restored with point-in-time
  7733  	// restore.
  7734  	EarliestRestorableTime *time.Time `type:"timestamp"`
  7735  
  7736  	// A list of log types that this cluster is configured to export to Amazon CloudWatch
  7737  	// Logs.
  7738  	EnabledCloudwatchLogsExports []*string `type:"list"`
  7739  
  7740  	// Specifies the connection endpoint for the primary instance of the cluster.
  7741  	Endpoint *string `type:"string"`
  7742  
  7743  	// Provides the name of the database engine to be used for this cluster.
  7744  	Engine *string `type:"string"`
  7745  
  7746  	// Indicates the database engine version.
  7747  	EngineVersion *string `type:"string"`
  7748  
  7749  	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
  7750  	HostedZoneId *string `type:"string"`
  7751  
  7752  	// If StorageEncrypted is true, the KMS key identifier for the encrypted cluster.
  7753  	KmsKeyId *string `type:"string"`
  7754  
  7755  	// Specifies the latest time to which a database can be restored with point-in-time
  7756  	// restore.
  7757  	LatestRestorableTime *time.Time `type:"timestamp"`
  7758  
  7759  	// Contains the master user name for the cluster.
  7760  	MasterUsername *string `type:"string"`
  7761  
  7762  	// Specifies whether the cluster has instances in multiple Availability Zones.
  7763  	MultiAZ *bool `type:"boolean"`
  7764  
  7765  	// Specifies the progress of the operation as a percentage.
  7766  	PercentProgress *string `type:"string"`
  7767  
  7768  	// Specifies the port that the database engine is listening on.
  7769  	Port *int64 `type:"integer"`
  7770  
  7771  	// Specifies the daily time range during which automated backups are created
  7772  	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
  7773  	PreferredBackupWindow *string `type:"string"`
  7774  
  7775  	// Specifies the weekly time range during which system maintenance can occur,
  7776  	// in Universal Coordinated Time (UTC).
  7777  	PreferredMaintenanceWindow *string `type:"string"`
  7778  
  7779  	// Contains one or more identifiers of the secondary clusters that are associated
  7780  	// with this cluster.
  7781  	ReadReplicaIdentifiers []*string `locationNameList:"ReadReplicaIdentifier" type:"list"`
  7782  
  7783  	// The reader endpoint for the cluster. The reader endpoint for a cluster load
  7784  	// balances connections across the Amazon DocumentDB replicas that are available
  7785  	// in a cluster. As clients request new connections to the reader endpoint,
  7786  	// Amazon DocumentDB distributes the connection requests among the Amazon DocumentDB
  7787  	// replicas in the cluster. This functionality can help balance your read workload
  7788  	// across multiple Amazon DocumentDB replicas in your cluster.
  7789  	//
  7790  	// If a failover occurs, and the Amazon DocumentDB replica that you are connected
  7791  	// to is promoted to be the primary instance, your connection is dropped. To
  7792  	// continue sending your read workload to other Amazon DocumentDB replicas in
  7793  	// the cluster, you can then reconnect to the reader endpoint.
  7794  	ReaderEndpoint *string `type:"string"`
  7795  
  7796  	// Contains the identifier of the source cluster if this cluster is a secondary
  7797  	// cluster.
  7798  	ReplicationSourceIdentifier *string `type:"string"`
  7799  
  7800  	// Specifies the current state of this cluster.
  7801  	Status *string `type:"string"`
  7802  
  7803  	// Specifies whether the cluster is encrypted.
  7804  	StorageEncrypted *bool `type:"boolean"`
  7805  
  7806  	// Provides a list of virtual private cloud (VPC) security groups that the cluster
  7807  	// belongs to.
  7808  	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
  7809  }
  7810  
  7811  // String returns the string representation.
  7812  //
  7813  // API parameter values that are decorated as "sensitive" in the API will not
  7814  // be included in the string output. The member name will be present, but the
  7815  // value will be replaced with "sensitive".
  7816  func (s DBCluster) String() string {
  7817  	return awsutil.Prettify(s)
  7818  }
  7819  
  7820  // GoString returns the string representation.
  7821  //
  7822  // API parameter values that are decorated as "sensitive" in the API will not
  7823  // be included in the string output. The member name will be present, but the
  7824  // value will be replaced with "sensitive".
  7825  func (s DBCluster) GoString() string {
  7826  	return s.String()
  7827  }
  7828  
  7829  // SetAssociatedRoles sets the AssociatedRoles field's value.
  7830  func (s *DBCluster) SetAssociatedRoles(v []*DBClusterRole) *DBCluster {
  7831  	s.AssociatedRoles = v
  7832  	return s
  7833  }
  7834  
  7835  // SetAvailabilityZones sets the AvailabilityZones field's value.
  7836  func (s *DBCluster) SetAvailabilityZones(v []*string) *DBCluster {
  7837  	s.AvailabilityZones = v
  7838  	return s
  7839  }
  7840  
  7841  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
  7842  func (s *DBCluster) SetBackupRetentionPeriod(v int64) *DBCluster {
  7843  	s.BackupRetentionPeriod = &v
  7844  	return s
  7845  }
  7846  
  7847  // SetClusterCreateTime sets the ClusterCreateTime field's value.
  7848  func (s *DBCluster) SetClusterCreateTime(v time.Time) *DBCluster {
  7849  	s.ClusterCreateTime = &v
  7850  	return s
  7851  }
  7852  
  7853  // SetDBClusterArn sets the DBClusterArn field's value.
  7854  func (s *DBCluster) SetDBClusterArn(v string) *DBCluster {
  7855  	s.DBClusterArn = &v
  7856  	return s
  7857  }
  7858  
  7859  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
  7860  func (s *DBCluster) SetDBClusterIdentifier(v string) *DBCluster {
  7861  	s.DBClusterIdentifier = &v
  7862  	return s
  7863  }
  7864  
  7865  // SetDBClusterMembers sets the DBClusterMembers field's value.
  7866  func (s *DBCluster) SetDBClusterMembers(v []*DBClusterMember) *DBCluster {
  7867  	s.DBClusterMembers = v
  7868  	return s
  7869  }
  7870  
  7871  // SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
  7872  func (s *DBCluster) SetDBClusterParameterGroup(v string) *DBCluster {
  7873  	s.DBClusterParameterGroup = &v
  7874  	return s
  7875  }
  7876  
  7877  // SetDBSubnetGroup sets the DBSubnetGroup field's value.
  7878  func (s *DBCluster) SetDBSubnetGroup(v string) *DBCluster {
  7879  	s.DBSubnetGroup = &v
  7880  	return s
  7881  }
  7882  
  7883  // SetDbClusterResourceId sets the DbClusterResourceId field's value.
  7884  func (s *DBCluster) SetDbClusterResourceId(v string) *DBCluster {
  7885  	s.DbClusterResourceId = &v
  7886  	return s
  7887  }
  7888  
  7889  // SetDeletionProtection sets the DeletionProtection field's value.
  7890  func (s *DBCluster) SetDeletionProtection(v bool) *DBCluster {
  7891  	s.DeletionProtection = &v
  7892  	return s
  7893  }
  7894  
  7895  // SetEarliestRestorableTime sets the EarliestRestorableTime field's value.
  7896  func (s *DBCluster) SetEarliestRestorableTime(v time.Time) *DBCluster {
  7897  	s.EarliestRestorableTime = &v
  7898  	return s
  7899  }
  7900  
  7901  // SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
  7902  func (s *DBCluster) SetEnabledCloudwatchLogsExports(v []*string) *DBCluster {
  7903  	s.EnabledCloudwatchLogsExports = v
  7904  	return s
  7905  }
  7906  
  7907  // SetEndpoint sets the Endpoint field's value.
  7908  func (s *DBCluster) SetEndpoint(v string) *DBCluster {
  7909  	s.Endpoint = &v
  7910  	return s
  7911  }
  7912  
  7913  // SetEngine sets the Engine field's value.
  7914  func (s *DBCluster) SetEngine(v string) *DBCluster {
  7915  	s.Engine = &v
  7916  	return s
  7917  }
  7918  
  7919  // SetEngineVersion sets the EngineVersion field's value.
  7920  func (s *DBCluster) SetEngineVersion(v string) *DBCluster {
  7921  	s.EngineVersion = &v
  7922  	return s
  7923  }
  7924  
  7925  // SetHostedZoneId sets the HostedZoneId field's value.
  7926  func (s *DBCluster) SetHostedZoneId(v string) *DBCluster {
  7927  	s.HostedZoneId = &v
  7928  	return s
  7929  }
  7930  
  7931  // SetKmsKeyId sets the KmsKeyId field's value.
  7932  func (s *DBCluster) SetKmsKeyId(v string) *DBCluster {
  7933  	s.KmsKeyId = &v
  7934  	return s
  7935  }
  7936  
  7937  // SetLatestRestorableTime sets the LatestRestorableTime field's value.
  7938  func (s *DBCluster) SetLatestRestorableTime(v time.Time) *DBCluster {
  7939  	s.LatestRestorableTime = &v
  7940  	return s
  7941  }
  7942  
  7943  // SetMasterUsername sets the MasterUsername field's value.
  7944  func (s *DBCluster) SetMasterUsername(v string) *DBCluster {
  7945  	s.MasterUsername = &v
  7946  	return s
  7947  }
  7948  
  7949  // SetMultiAZ sets the MultiAZ field's value.
  7950  func (s *DBCluster) SetMultiAZ(v bool) *DBCluster {
  7951  	s.MultiAZ = &v
  7952  	return s
  7953  }
  7954  
  7955  // SetPercentProgress sets the PercentProgress field's value.
  7956  func (s *DBCluster) SetPercentProgress(v string) *DBCluster {
  7957  	s.PercentProgress = &v
  7958  	return s
  7959  }
  7960  
  7961  // SetPort sets the Port field's value.
  7962  func (s *DBCluster) SetPort(v int64) *DBCluster {
  7963  	s.Port = &v
  7964  	return s
  7965  }
  7966  
  7967  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
  7968  func (s *DBCluster) SetPreferredBackupWindow(v string) *DBCluster {
  7969  	s.PreferredBackupWindow = &v
  7970  	return s
  7971  }
  7972  
  7973  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
  7974  func (s *DBCluster) SetPreferredMaintenanceWindow(v string) *DBCluster {
  7975  	s.PreferredMaintenanceWindow = &v
  7976  	return s
  7977  }
  7978  
  7979  // SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
  7980  func (s *DBCluster) SetReadReplicaIdentifiers(v []*string) *DBCluster {
  7981  	s.ReadReplicaIdentifiers = v
  7982  	return s
  7983  }
  7984  
  7985  // SetReaderEndpoint sets the ReaderEndpoint field's value.
  7986  func (s *DBCluster) SetReaderEndpoint(v string) *DBCluster {
  7987  	s.ReaderEndpoint = &v
  7988  	return s
  7989  }
  7990  
  7991  // SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
  7992  func (s *DBCluster) SetReplicationSourceIdentifier(v string) *DBCluster {
  7993  	s.ReplicationSourceIdentifier = &v
  7994  	return s
  7995  }
  7996  
  7997  // SetStatus sets the Status field's value.
  7998  func (s *DBCluster) SetStatus(v string) *DBCluster {
  7999  	s.Status = &v
  8000  	return s
  8001  }
  8002  
  8003  // SetStorageEncrypted sets the StorageEncrypted field's value.
  8004  func (s *DBCluster) SetStorageEncrypted(v bool) *DBCluster {
  8005  	s.StorageEncrypted = &v
  8006  	return s
  8007  }
  8008  
  8009  // SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
  8010  func (s *DBCluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBCluster {
  8011  	s.VpcSecurityGroups = v
  8012  	return s
  8013  }
  8014  
  8015  // Contains information about an instance that is part of a cluster.
  8016  type DBClusterMember struct {
  8017  	_ struct{} `type:"structure"`
  8018  
  8019  	// Specifies the status of the cluster parameter group for this member of the
  8020  	// DB cluster.
  8021  	DBClusterParameterGroupStatus *string `type:"string"`
  8022  
  8023  	// Specifies the instance identifier for this member of the cluster.
  8024  	DBInstanceIdentifier *string `type:"string"`
  8025  
  8026  	// A value that is true if the cluster member is the primary instance for the
  8027  	// cluster and false otherwise.
  8028  	IsClusterWriter *bool `type:"boolean"`
  8029  
  8030  	// A value that specifies the order in which an Amazon DocumentDB replica is
  8031  	// promoted to the primary instance after a failure of the existing primary
  8032  	// instance.
  8033  	PromotionTier *int64 `type:"integer"`
  8034  }
  8035  
  8036  // String returns the string representation.
  8037  //
  8038  // API parameter values that are decorated as "sensitive" in the API will not
  8039  // be included in the string output. The member name will be present, but the
  8040  // value will be replaced with "sensitive".
  8041  func (s DBClusterMember) String() string {
  8042  	return awsutil.Prettify(s)
  8043  }
  8044  
  8045  // GoString returns the string representation.
  8046  //
  8047  // API parameter values that are decorated as "sensitive" in the API will not
  8048  // be included in the string output. The member name will be present, but the
  8049  // value will be replaced with "sensitive".
  8050  func (s DBClusterMember) GoString() string {
  8051  	return s.String()
  8052  }
  8053  
  8054  // SetDBClusterParameterGroupStatus sets the DBClusterParameterGroupStatus field's value.
  8055  func (s *DBClusterMember) SetDBClusterParameterGroupStatus(v string) *DBClusterMember {
  8056  	s.DBClusterParameterGroupStatus = &v
  8057  	return s
  8058  }
  8059  
  8060  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
  8061  func (s *DBClusterMember) SetDBInstanceIdentifier(v string) *DBClusterMember {
  8062  	s.DBInstanceIdentifier = &v
  8063  	return s
  8064  }
  8065  
  8066  // SetIsClusterWriter sets the IsClusterWriter field's value.
  8067  func (s *DBClusterMember) SetIsClusterWriter(v bool) *DBClusterMember {
  8068  	s.IsClusterWriter = &v
  8069  	return s
  8070  }
  8071  
  8072  // SetPromotionTier sets the PromotionTier field's value.
  8073  func (s *DBClusterMember) SetPromotionTier(v int64) *DBClusterMember {
  8074  	s.PromotionTier = &v
  8075  	return s
  8076  }
  8077  
  8078  // Detailed information about a cluster parameter group.
  8079  type DBClusterParameterGroup struct {
  8080  	_ struct{} `type:"structure"`
  8081  
  8082  	// The Amazon Resource Name (ARN) for the cluster parameter group.
  8083  	DBClusterParameterGroupArn *string `type:"string"`
  8084  
  8085  	// Provides the name of the cluster parameter group.
  8086  	DBClusterParameterGroupName *string `type:"string"`
  8087  
  8088  	// Provides the name of the parameter group family that this cluster parameter
  8089  	// group is compatible with.
  8090  	DBParameterGroupFamily *string `type:"string"`
  8091  
  8092  	// Provides the customer-specified description for this cluster parameter group.
  8093  	Description *string `type:"string"`
  8094  }
  8095  
  8096  // String returns the string representation.
  8097  //
  8098  // API parameter values that are decorated as "sensitive" in the API will not
  8099  // be included in the string output. The member name will be present, but the
  8100  // value will be replaced with "sensitive".
  8101  func (s DBClusterParameterGroup) String() string {
  8102  	return awsutil.Prettify(s)
  8103  }
  8104  
  8105  // GoString returns the string representation.
  8106  //
  8107  // API parameter values that are decorated as "sensitive" in the API will not
  8108  // be included in the string output. The member name will be present, but the
  8109  // value will be replaced with "sensitive".
  8110  func (s DBClusterParameterGroup) GoString() string {
  8111  	return s.String()
  8112  }
  8113  
  8114  // SetDBClusterParameterGroupArn sets the DBClusterParameterGroupArn field's value.
  8115  func (s *DBClusterParameterGroup) SetDBClusterParameterGroupArn(v string) *DBClusterParameterGroup {
  8116  	s.DBClusterParameterGroupArn = &v
  8117  	return s
  8118  }
  8119  
  8120  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
  8121  func (s *DBClusterParameterGroup) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroup {
  8122  	s.DBClusterParameterGroupName = &v
  8123  	return s
  8124  }
  8125  
  8126  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
  8127  func (s *DBClusterParameterGroup) SetDBParameterGroupFamily(v string) *DBClusterParameterGroup {
  8128  	s.DBParameterGroupFamily = &v
  8129  	return s
  8130  }
  8131  
  8132  // SetDescription sets the Description field's value.
  8133  func (s *DBClusterParameterGroup) SetDescription(v string) *DBClusterParameterGroup {
  8134  	s.Description = &v
  8135  	return s
  8136  }
  8137  
  8138  // Describes an Identity and Access Management (IAM) role that is associated
  8139  // with a cluster.
  8140  type DBClusterRole struct {
  8141  	_ struct{} `type:"structure"`
  8142  
  8143  	// The Amazon Resource Name (ARN) of the IAMrole that is associated with the
  8144  	// DB cluster.
  8145  	RoleArn *string `type:"string"`
  8146  
  8147  	// Describes the state of association between the IAMrole and the cluster. The
  8148  	// Status property returns one of the following values:
  8149  	//
  8150  	//    * ACTIVE - The IAMrole ARN is associated with the cluster and can be used
  8151  	//    to access other Amazon Web Services services on your behalf.
  8152  	//
  8153  	//    * PENDING - The IAMrole ARN is being associated with the cluster.
  8154  	//
  8155  	//    * INVALID - The IAMrole ARN is associated with the cluster, but the cluster
  8156  	//    cannot assume the IAMrole to access other Amazon Web Services services
  8157  	//    on your behalf.
  8158  	Status *string `type:"string"`
  8159  }
  8160  
  8161  // String returns the string representation.
  8162  //
  8163  // API parameter values that are decorated as "sensitive" in the API will not
  8164  // be included in the string output. The member name will be present, but the
  8165  // value will be replaced with "sensitive".
  8166  func (s DBClusterRole) String() string {
  8167  	return awsutil.Prettify(s)
  8168  }
  8169  
  8170  // GoString returns the string representation.
  8171  //
  8172  // API parameter values that are decorated as "sensitive" in the API will not
  8173  // be included in the string output. The member name will be present, but the
  8174  // value will be replaced with "sensitive".
  8175  func (s DBClusterRole) GoString() string {
  8176  	return s.String()
  8177  }
  8178  
  8179  // SetRoleArn sets the RoleArn field's value.
  8180  func (s *DBClusterRole) SetRoleArn(v string) *DBClusterRole {
  8181  	s.RoleArn = &v
  8182  	return s
  8183  }
  8184  
  8185  // SetStatus sets the Status field's value.
  8186  func (s *DBClusterRole) SetStatus(v string) *DBClusterRole {
  8187  	s.Status = &v
  8188  	return s
  8189  }
  8190  
  8191  // Detailed information about a cluster snapshot.
  8192  type DBClusterSnapshot struct {
  8193  	_ struct{} `type:"structure"`
  8194  
  8195  	// Provides the list of Amazon EC2 Availability Zones that instances in the
  8196  	// cluster snapshot can be restored in.
  8197  	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
  8198  
  8199  	// Specifies the time when the cluster was created, in Universal Coordinated
  8200  	// Time (UTC).
  8201  	ClusterCreateTime *time.Time `type:"timestamp"`
  8202  
  8203  	// Specifies the cluster identifier of the cluster that this cluster snapshot
  8204  	// was created from.
  8205  	DBClusterIdentifier *string `type:"string"`
  8206  
  8207  	// The Amazon Resource Name (ARN) for the cluster snapshot.
  8208  	DBClusterSnapshotArn *string `type:"string"`
  8209  
  8210  	// Specifies the identifier for the cluster snapshot.
  8211  	DBClusterSnapshotIdentifier *string `type:"string"`
  8212  
  8213  	// Specifies the name of the database engine.
  8214  	Engine *string `type:"string"`
  8215  
  8216  	// Provides the version of the database engine for this cluster snapshot.
  8217  	EngineVersion *string `type:"string"`
  8218  
  8219  	// If StorageEncrypted is true, the KMS key identifier for the encrypted cluster
  8220  	// snapshot.
  8221  	KmsKeyId *string `type:"string"`
  8222  
  8223  	// Provides the master user name for the cluster snapshot.
  8224  	MasterUsername *string `type:"string"`
  8225  
  8226  	// Specifies the percentage of the estimated data that has been transferred.
  8227  	PercentProgress *int64 `type:"integer"`
  8228  
  8229  	// Specifies the port that the cluster was listening on at the time of the snapshot.
  8230  	Port *int64 `type:"integer"`
  8231  
  8232  	// Provides the time when the snapshot was taken, in UTC.
  8233  	SnapshotCreateTime *time.Time `type:"timestamp"`
  8234  
  8235  	// Provides the type of the cluster snapshot.
  8236  	SnapshotType *string `type:"string"`
  8237  
  8238  	// If the cluster snapshot was copied from a source cluster snapshot, the ARN
  8239  	// for the source cluster snapshot; otherwise, a null value.
  8240  	SourceDBClusterSnapshotArn *string `type:"string"`
  8241  
  8242  	// Specifies the status of this cluster snapshot.
  8243  	Status *string `type:"string"`
  8244  
  8245  	// Specifies whether the cluster snapshot is encrypted.
  8246  	StorageEncrypted *bool `type:"boolean"`
  8247  
  8248  	// Provides the virtual private cloud (VPC) ID that is associated with the cluster
  8249  	// snapshot.
  8250  	VpcId *string `type:"string"`
  8251  }
  8252  
  8253  // String returns the string representation.
  8254  //
  8255  // API parameter values that are decorated as "sensitive" in the API will not
  8256  // be included in the string output. The member name will be present, but the
  8257  // value will be replaced with "sensitive".
  8258  func (s DBClusterSnapshot) String() string {
  8259  	return awsutil.Prettify(s)
  8260  }
  8261  
  8262  // GoString returns the string representation.
  8263  //
  8264  // API parameter values that are decorated as "sensitive" in the API will not
  8265  // be included in the string output. The member name will be present, but the
  8266  // value will be replaced with "sensitive".
  8267  func (s DBClusterSnapshot) GoString() string {
  8268  	return s.String()
  8269  }
  8270  
  8271  // SetAvailabilityZones sets the AvailabilityZones field's value.
  8272  func (s *DBClusterSnapshot) SetAvailabilityZones(v []*string) *DBClusterSnapshot {
  8273  	s.AvailabilityZones = v
  8274  	return s
  8275  }
  8276  
  8277  // SetClusterCreateTime sets the ClusterCreateTime field's value.
  8278  func (s *DBClusterSnapshot) SetClusterCreateTime(v time.Time) *DBClusterSnapshot {
  8279  	s.ClusterCreateTime = &v
  8280  	return s
  8281  }
  8282  
  8283  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
  8284  func (s *DBClusterSnapshot) SetDBClusterIdentifier(v string) *DBClusterSnapshot {
  8285  	s.DBClusterIdentifier = &v
  8286  	return s
  8287  }
  8288  
  8289  // SetDBClusterSnapshotArn sets the DBClusterSnapshotArn field's value.
  8290  func (s *DBClusterSnapshot) SetDBClusterSnapshotArn(v string) *DBClusterSnapshot {
  8291  	s.DBClusterSnapshotArn = &v
  8292  	return s
  8293  }
  8294  
  8295  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
  8296  func (s *DBClusterSnapshot) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshot {
  8297  	s.DBClusterSnapshotIdentifier = &v
  8298  	return s
  8299  }
  8300  
  8301  // SetEngine sets the Engine field's value.
  8302  func (s *DBClusterSnapshot) SetEngine(v string) *DBClusterSnapshot {
  8303  	s.Engine = &v
  8304  	return s
  8305  }
  8306  
  8307  // SetEngineVersion sets the EngineVersion field's value.
  8308  func (s *DBClusterSnapshot) SetEngineVersion(v string) *DBClusterSnapshot {
  8309  	s.EngineVersion = &v
  8310  	return s
  8311  }
  8312  
  8313  // SetKmsKeyId sets the KmsKeyId field's value.
  8314  func (s *DBClusterSnapshot) SetKmsKeyId(v string) *DBClusterSnapshot {
  8315  	s.KmsKeyId = &v
  8316  	return s
  8317  }
  8318  
  8319  // SetMasterUsername sets the MasterUsername field's value.
  8320  func (s *DBClusterSnapshot) SetMasterUsername(v string) *DBClusterSnapshot {
  8321  	s.MasterUsername = &v
  8322  	return s
  8323  }
  8324  
  8325  // SetPercentProgress sets the PercentProgress field's value.
  8326  func (s *DBClusterSnapshot) SetPercentProgress(v int64) *DBClusterSnapshot {
  8327  	s.PercentProgress = &v
  8328  	return s
  8329  }
  8330  
  8331  // SetPort sets the Port field's value.
  8332  func (s *DBClusterSnapshot) SetPort(v int64) *DBClusterSnapshot {
  8333  	s.Port = &v
  8334  	return s
  8335  }
  8336  
  8337  // SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
  8338  func (s *DBClusterSnapshot) SetSnapshotCreateTime(v time.Time) *DBClusterSnapshot {
  8339  	s.SnapshotCreateTime = &v
  8340  	return s
  8341  }
  8342  
  8343  // SetSnapshotType sets the SnapshotType field's value.
  8344  func (s *DBClusterSnapshot) SetSnapshotType(v string) *DBClusterSnapshot {
  8345  	s.SnapshotType = &v
  8346  	return s
  8347  }
  8348  
  8349  // SetSourceDBClusterSnapshotArn sets the SourceDBClusterSnapshotArn field's value.
  8350  func (s *DBClusterSnapshot) SetSourceDBClusterSnapshotArn(v string) *DBClusterSnapshot {
  8351  	s.SourceDBClusterSnapshotArn = &v
  8352  	return s
  8353  }
  8354  
  8355  // SetStatus sets the Status field's value.
  8356  func (s *DBClusterSnapshot) SetStatus(v string) *DBClusterSnapshot {
  8357  	s.Status = &v
  8358  	return s
  8359  }
  8360  
  8361  // SetStorageEncrypted sets the StorageEncrypted field's value.
  8362  func (s *DBClusterSnapshot) SetStorageEncrypted(v bool) *DBClusterSnapshot {
  8363  	s.StorageEncrypted = &v
  8364  	return s
  8365  }
  8366  
  8367  // SetVpcId sets the VpcId field's value.
  8368  func (s *DBClusterSnapshot) SetVpcId(v string) *DBClusterSnapshot {
  8369  	s.VpcId = &v
  8370  	return s
  8371  }
  8372  
  8373  // Contains the name and values of a manual cluster snapshot attribute.
  8374  //
  8375  // Manual cluster snapshot attributes are used to authorize other accounts to
  8376  // restore a manual cluster snapshot.
  8377  type DBClusterSnapshotAttribute struct {
  8378  	_ struct{} `type:"structure"`
  8379  
  8380  	// The name of the manual cluster snapshot attribute.
  8381  	//
  8382  	// The attribute named restore refers to the list of accounts that have permission
  8383  	// to copy or restore the manual cluster snapshot.
  8384  	AttributeName *string `type:"string"`
  8385  
  8386  	// The values for the manual cluster snapshot attribute.
  8387  	//
  8388  	// If the AttributeName field is set to restore, then this element returns a
  8389  	// list of IDs of the accounts that are authorized to copy or restore the manual
  8390  	// cluster snapshot. If a value of all is in the list, then the manual cluster
  8391  	// snapshot is public and available for any account to copy or restore.
  8392  	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
  8393  }
  8394  
  8395  // String returns the string representation.
  8396  //
  8397  // API parameter values that are decorated as "sensitive" in the API will not
  8398  // be included in the string output. The member name will be present, but the
  8399  // value will be replaced with "sensitive".
  8400  func (s DBClusterSnapshotAttribute) String() string {
  8401  	return awsutil.Prettify(s)
  8402  }
  8403  
  8404  // GoString returns the string representation.
  8405  //
  8406  // API parameter values that are decorated as "sensitive" in the API will not
  8407  // be included in the string output. The member name will be present, but the
  8408  // value will be replaced with "sensitive".
  8409  func (s DBClusterSnapshotAttribute) GoString() string {
  8410  	return s.String()
  8411  }
  8412  
  8413  // SetAttributeName sets the AttributeName field's value.
  8414  func (s *DBClusterSnapshotAttribute) SetAttributeName(v string) *DBClusterSnapshotAttribute {
  8415  	s.AttributeName = &v
  8416  	return s
  8417  }
  8418  
  8419  // SetAttributeValues sets the AttributeValues field's value.
  8420  func (s *DBClusterSnapshotAttribute) SetAttributeValues(v []*string) *DBClusterSnapshotAttribute {
  8421  	s.AttributeValues = v
  8422  	return s
  8423  }
  8424  
  8425  // Detailed information about the attributes that are associated with a cluster
  8426  // snapshot.
  8427  type DBClusterSnapshotAttributesResult struct {
  8428  	_ struct{} `type:"structure"`
  8429  
  8430  	// The list of attributes and values for the cluster snapshot.
  8431  	DBClusterSnapshotAttributes []*DBClusterSnapshotAttribute `locationNameList:"DBClusterSnapshotAttribute" type:"list"`
  8432  
  8433  	// The identifier of the cluster snapshot that the attributes apply to.
  8434  	DBClusterSnapshotIdentifier *string `type:"string"`
  8435  }
  8436  
  8437  // String returns the string representation.
  8438  //
  8439  // API parameter values that are decorated as "sensitive" in the API will not
  8440  // be included in the string output. The member name will be present, but the
  8441  // value will be replaced with "sensitive".
  8442  func (s DBClusterSnapshotAttributesResult) String() string {
  8443  	return awsutil.Prettify(s)
  8444  }
  8445  
  8446  // GoString returns the string representation.
  8447  //
  8448  // API parameter values that are decorated as "sensitive" in the API will not
  8449  // be included in the string output. The member name will be present, but the
  8450  // value will be replaced with "sensitive".
  8451  func (s DBClusterSnapshotAttributesResult) GoString() string {
  8452  	return s.String()
  8453  }
  8454  
  8455  // SetDBClusterSnapshotAttributes sets the DBClusterSnapshotAttributes field's value.
  8456  func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotAttributes(v []*DBClusterSnapshotAttribute) *DBClusterSnapshotAttributesResult {
  8457  	s.DBClusterSnapshotAttributes = v
  8458  	return s
  8459  }
  8460  
  8461  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
  8462  func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshotAttributesResult {
  8463  	s.DBClusterSnapshotIdentifier = &v
  8464  	return s
  8465  }
  8466  
  8467  // Detailed information about an engine version.
  8468  type DBEngineVersion struct {
  8469  	_ struct{} `type:"structure"`
  8470  
  8471  	// The description of the database engine.
  8472  	DBEngineDescription *string `type:"string"`
  8473  
  8474  	// The description of the database engine version.
  8475  	DBEngineVersionDescription *string `type:"string"`
  8476  
  8477  	// The name of the parameter group family for the database engine.
  8478  	DBParameterGroupFamily *string `type:"string"`
  8479  
  8480  	// The name of the database engine.
  8481  	Engine *string `type:"string"`
  8482  
  8483  	// The version number of the database engine.
  8484  	EngineVersion *string `type:"string"`
  8485  
  8486  	// The types of logs that the database engine has available for export to Amazon
  8487  	// CloudWatch Logs.
  8488  	ExportableLogTypes []*string `type:"list"`
  8489  
  8490  	// A value that indicates whether the engine version supports exporting the
  8491  	// log types specified by ExportableLogTypes to CloudWatch Logs.
  8492  	SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"`
  8493  
  8494  	// A list of engine versions that this database engine version can be upgraded
  8495  	// to.
  8496  	ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"`
  8497  }
  8498  
  8499  // String returns the string representation.
  8500  //
  8501  // API parameter values that are decorated as "sensitive" in the API will not
  8502  // be included in the string output. The member name will be present, but the
  8503  // value will be replaced with "sensitive".
  8504  func (s DBEngineVersion) String() string {
  8505  	return awsutil.Prettify(s)
  8506  }
  8507  
  8508  // GoString returns the string representation.
  8509  //
  8510  // API parameter values that are decorated as "sensitive" in the API will not
  8511  // be included in the string output. The member name will be present, but the
  8512  // value will be replaced with "sensitive".
  8513  func (s DBEngineVersion) GoString() string {
  8514  	return s.String()
  8515  }
  8516  
  8517  // SetDBEngineDescription sets the DBEngineDescription field's value.
  8518  func (s *DBEngineVersion) SetDBEngineDescription(v string) *DBEngineVersion {
  8519  	s.DBEngineDescription = &v
  8520  	return s
  8521  }
  8522  
  8523  // SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value.
  8524  func (s *DBEngineVersion) SetDBEngineVersionDescription(v string) *DBEngineVersion {
  8525  	s.DBEngineVersionDescription = &v
  8526  	return s
  8527  }
  8528  
  8529  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
  8530  func (s *DBEngineVersion) SetDBParameterGroupFamily(v string) *DBEngineVersion {
  8531  	s.DBParameterGroupFamily = &v
  8532  	return s
  8533  }
  8534  
  8535  // SetEngine sets the Engine field's value.
  8536  func (s *DBEngineVersion) SetEngine(v string) *DBEngineVersion {
  8537  	s.Engine = &v
  8538  	return s
  8539  }
  8540  
  8541  // SetEngineVersion sets the EngineVersion field's value.
  8542  func (s *DBEngineVersion) SetEngineVersion(v string) *DBEngineVersion {
  8543  	s.EngineVersion = &v
  8544  	return s
  8545  }
  8546  
  8547  // SetExportableLogTypes sets the ExportableLogTypes field's value.
  8548  func (s *DBEngineVersion) SetExportableLogTypes(v []*string) *DBEngineVersion {
  8549  	s.ExportableLogTypes = v
  8550  	return s
  8551  }
  8552  
  8553  // SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value.
  8554  func (s *DBEngineVersion) SetSupportsLogExportsToCloudwatchLogs(v bool) *DBEngineVersion {
  8555  	s.SupportsLogExportsToCloudwatchLogs = &v
  8556  	return s
  8557  }
  8558  
  8559  // SetValidUpgradeTarget sets the ValidUpgradeTarget field's value.
  8560  func (s *DBEngineVersion) SetValidUpgradeTarget(v []*UpgradeTarget) *DBEngineVersion {
  8561  	s.ValidUpgradeTarget = v
  8562  	return s
  8563  }
  8564  
  8565  // Detailed information about an instance.
  8566  type DBInstance struct {
  8567  	_ struct{} `type:"structure"`
  8568  
  8569  	// Does not apply. This parameter does not apply to Amazon DocumentDB. Amazon
  8570  	// DocumentDB does not perform minor version upgrades regardless of the value
  8571  	// set.
  8572  	AutoMinorVersionUpgrade *bool `type:"boolean"`
  8573  
  8574  	// Specifies the name of the Availability Zone that the instance is located
  8575  	// in.
  8576  	AvailabilityZone *string `type:"string"`
  8577  
  8578  	// Specifies the number of days for which automatic snapshots are retained.
  8579  	BackupRetentionPeriod *int64 `type:"integer"`
  8580  
  8581  	// The identifier of the CA certificate for this DB instance.
  8582  	CACertificateIdentifier *string `type:"string"`
  8583  
  8584  	// Contains the name of the cluster that the instance is a member of if the
  8585  	// instance is a member of a cluster.
  8586  	DBClusterIdentifier *string `type:"string"`
  8587  
  8588  	// The Amazon Resource Name (ARN) for the instance.
  8589  	DBInstanceArn *string `type:"string"`
  8590  
  8591  	// Contains the name of the compute and memory capacity class of the instance.
  8592  	DBInstanceClass *string `type:"string"`
  8593  
  8594  	// Contains a user-provided database identifier. This identifier is the unique
  8595  	// key that identifies an instance.
  8596  	DBInstanceIdentifier *string `type:"string"`
  8597  
  8598  	// Specifies the current state of this database.
  8599  	DBInstanceStatus *string `type:"string"`
  8600  
  8601  	// Specifies information on the subnet group that is associated with the instance,
  8602  	// including the name, description, and subnets in the subnet group.
  8603  	DBSubnetGroup *DBSubnetGroup `type:"structure"`
  8604  
  8605  	// The Region-unique, immutable identifier for the instance. This identifier
  8606  	// is found in CloudTrail log entries whenever the KMS key for the instance
  8607  	// is accessed.
  8608  	DbiResourceId *string `type:"string"`
  8609  
  8610  	// A list of log types that this instance is configured to export to CloudWatch
  8611  	// Logs.
  8612  	EnabledCloudwatchLogsExports []*string `type:"list"`
  8613  
  8614  	// Specifies the connection endpoint.
  8615  	Endpoint *Endpoint `type:"structure"`
  8616  
  8617  	// Provides the name of the database engine to be used for this instance.
  8618  	Engine *string `type:"string"`
  8619  
  8620  	// Indicates the database engine version.
  8621  	EngineVersion *string `type:"string"`
  8622  
  8623  	// Provides the date and time that the instance was created.
  8624  	InstanceCreateTime *time.Time `type:"timestamp"`
  8625  
  8626  	// If StorageEncrypted is true, the KMS key identifier for the encrypted instance.
  8627  	KmsKeyId *string `type:"string"`
  8628  
  8629  	// Specifies the latest time to which a database can be restored with point-in-time
  8630  	// restore.
  8631  	LatestRestorableTime *time.Time `type:"timestamp"`
  8632  
  8633  	// Specifies that changes to the instance are pending. This element is included
  8634  	// only when changes are pending. Specific changes are identified by subelements.
  8635  	PendingModifiedValues *PendingModifiedValues `type:"structure"`
  8636  
  8637  	// Specifies the daily time range during which automated backups are created
  8638  	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
  8639  	PreferredBackupWindow *string `type:"string"`
  8640  
  8641  	// Specifies the weekly time range during which system maintenance can occur,
  8642  	// in Universal Coordinated Time (UTC).
  8643  	PreferredMaintenanceWindow *string `type:"string"`
  8644  
  8645  	// A value that specifies the order in which an Amazon DocumentDB replica is
  8646  	// promoted to the primary instance after a failure of the existing primary
  8647  	// instance.
  8648  	PromotionTier *int64 `type:"integer"`
  8649  
  8650  	// Not supported. Amazon DocumentDB does not currently support public endpoints.
  8651  	// The value of PubliclyAccessible is always false.
  8652  	PubliclyAccessible *bool `type:"boolean"`
  8653  
  8654  	// The status of a read replica. If the instance is not a read replica, this
  8655  	// is blank.
  8656  	StatusInfos []*DBInstanceStatusInfo `locationNameList:"DBInstanceStatusInfo" type:"list"`
  8657  
  8658  	// Specifies whether or not the instance is encrypted.
  8659  	StorageEncrypted *bool `type:"boolean"`
  8660  
  8661  	// Provides a list of VPC security group elements that the instance belongs
  8662  	// to.
  8663  	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
  8664  }
  8665  
  8666  // String returns the string representation.
  8667  //
  8668  // API parameter values that are decorated as "sensitive" in the API will not
  8669  // be included in the string output. The member name will be present, but the
  8670  // value will be replaced with "sensitive".
  8671  func (s DBInstance) String() string {
  8672  	return awsutil.Prettify(s)
  8673  }
  8674  
  8675  // GoString returns the string representation.
  8676  //
  8677  // API parameter values that are decorated as "sensitive" in the API will not
  8678  // be included in the string output. The member name will be present, but the
  8679  // value will be replaced with "sensitive".
  8680  func (s DBInstance) GoString() string {
  8681  	return s.String()
  8682  }
  8683  
  8684  // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
  8685  func (s *DBInstance) SetAutoMinorVersionUpgrade(v bool) *DBInstance {
  8686  	s.AutoMinorVersionUpgrade = &v
  8687  	return s
  8688  }
  8689  
  8690  // SetAvailabilityZone sets the AvailabilityZone field's value.
  8691  func (s *DBInstance) SetAvailabilityZone(v string) *DBInstance {
  8692  	s.AvailabilityZone = &v
  8693  	return s
  8694  }
  8695  
  8696  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
  8697  func (s *DBInstance) SetBackupRetentionPeriod(v int64) *DBInstance {
  8698  	s.BackupRetentionPeriod = &v
  8699  	return s
  8700  }
  8701  
  8702  // SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
  8703  func (s *DBInstance) SetCACertificateIdentifier(v string) *DBInstance {
  8704  	s.CACertificateIdentifier = &v
  8705  	return s
  8706  }
  8707  
  8708  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
  8709  func (s *DBInstance) SetDBClusterIdentifier(v string) *DBInstance {
  8710  	s.DBClusterIdentifier = &v
  8711  	return s
  8712  }
  8713  
  8714  // SetDBInstanceArn sets the DBInstanceArn field's value.
  8715  func (s *DBInstance) SetDBInstanceArn(v string) *DBInstance {
  8716  	s.DBInstanceArn = &v
  8717  	return s
  8718  }
  8719  
  8720  // SetDBInstanceClass sets the DBInstanceClass field's value.
  8721  func (s *DBInstance) SetDBInstanceClass(v string) *DBInstance {
  8722  	s.DBInstanceClass = &v
  8723  	return s
  8724  }
  8725  
  8726  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
  8727  func (s *DBInstance) SetDBInstanceIdentifier(v string) *DBInstance {
  8728  	s.DBInstanceIdentifier = &v
  8729  	return s
  8730  }
  8731  
  8732  // SetDBInstanceStatus sets the DBInstanceStatus field's value.
  8733  func (s *DBInstance) SetDBInstanceStatus(v string) *DBInstance {
  8734  	s.DBInstanceStatus = &v
  8735  	return s
  8736  }
  8737  
  8738  // SetDBSubnetGroup sets the DBSubnetGroup field's value.
  8739  func (s *DBInstance) SetDBSubnetGroup(v *DBSubnetGroup) *DBInstance {
  8740  	s.DBSubnetGroup = v
  8741  	return s
  8742  }
  8743  
  8744  // SetDbiResourceId sets the DbiResourceId field's value.
  8745  func (s *DBInstance) SetDbiResourceId(v string) *DBInstance {
  8746  	s.DbiResourceId = &v
  8747  	return s
  8748  }
  8749  
  8750  // SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
  8751  func (s *DBInstance) SetEnabledCloudwatchLogsExports(v []*string) *DBInstance {
  8752  	s.EnabledCloudwatchLogsExports = v
  8753  	return s
  8754  }
  8755  
  8756  // SetEndpoint sets the Endpoint field's value.
  8757  func (s *DBInstance) SetEndpoint(v *Endpoint) *DBInstance {
  8758  	s.Endpoint = v
  8759  	return s
  8760  }
  8761  
  8762  // SetEngine sets the Engine field's value.
  8763  func (s *DBInstance) SetEngine(v string) *DBInstance {
  8764  	s.Engine = &v
  8765  	return s
  8766  }
  8767  
  8768  // SetEngineVersion sets the EngineVersion field's value.
  8769  func (s *DBInstance) SetEngineVersion(v string) *DBInstance {
  8770  	s.EngineVersion = &v
  8771  	return s
  8772  }
  8773  
  8774  // SetInstanceCreateTime sets the InstanceCreateTime field's value.
  8775  func (s *DBInstance) SetInstanceCreateTime(v time.Time) *DBInstance {
  8776  	s.InstanceCreateTime = &v
  8777  	return s
  8778  }
  8779  
  8780  // SetKmsKeyId sets the KmsKeyId field's value.
  8781  func (s *DBInstance) SetKmsKeyId(v string) *DBInstance {
  8782  	s.KmsKeyId = &v
  8783  	return s
  8784  }
  8785  
  8786  // SetLatestRestorableTime sets the LatestRestorableTime field's value.
  8787  func (s *DBInstance) SetLatestRestorableTime(v time.Time) *DBInstance {
  8788  	s.LatestRestorableTime = &v
  8789  	return s
  8790  }
  8791  
  8792  // SetPendingModifiedValues sets the PendingModifiedValues field's value.
  8793  func (s *DBInstance) SetPendingModifiedValues(v *PendingModifiedValues) *DBInstance {
  8794  	s.PendingModifiedValues = v
  8795  	return s
  8796  }
  8797  
  8798  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
  8799  func (s *DBInstance) SetPreferredBackupWindow(v string) *DBInstance {
  8800  	s.PreferredBackupWindow = &v
  8801  	return s
  8802  }
  8803  
  8804  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
  8805  func (s *DBInstance) SetPreferredMaintenanceWindow(v string) *DBInstance {
  8806  	s.PreferredMaintenanceWindow = &v
  8807  	return s
  8808  }
  8809  
  8810  // SetPromotionTier sets the PromotionTier field's value.
  8811  func (s *DBInstance) SetPromotionTier(v int64) *DBInstance {
  8812  	s.PromotionTier = &v
  8813  	return s
  8814  }
  8815  
  8816  // SetPubliclyAccessible sets the PubliclyAccessible field's value.
  8817  func (s *DBInstance) SetPubliclyAccessible(v bool) *DBInstance {
  8818  	s.PubliclyAccessible = &v
  8819  	return s
  8820  }
  8821  
  8822  // SetStatusInfos sets the StatusInfos field's value.
  8823  func (s *DBInstance) SetStatusInfos(v []*DBInstanceStatusInfo) *DBInstance {
  8824  	s.StatusInfos = v
  8825  	return s
  8826  }
  8827  
  8828  // SetStorageEncrypted sets the StorageEncrypted field's value.
  8829  func (s *DBInstance) SetStorageEncrypted(v bool) *DBInstance {
  8830  	s.StorageEncrypted = &v
  8831  	return s
  8832  }
  8833  
  8834  // SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
  8835  func (s *DBInstance) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBInstance {
  8836  	s.VpcSecurityGroups = v
  8837  	return s
  8838  }
  8839  
  8840  // Provides a list of status information for an instance.
  8841  type DBInstanceStatusInfo struct {
  8842  	_ struct{} `type:"structure"`
  8843  
  8844  	// Details of the error if there is an error for the instance. If the instance
  8845  	// is not in an error state, this value is blank.
  8846  	Message *string `type:"string"`
  8847  
  8848  	// A Boolean value that is true if the instance is operating normally, or false
  8849  	// if the instance is in an error state.
  8850  	Normal *bool `type:"boolean"`
  8851  
  8852  	// Status of the instance. For a StatusType of read replica, the values can
  8853  	// be replicating, error, stopped, or terminated.
  8854  	Status *string `type:"string"`
  8855  
  8856  	// This value is currently "read replication."
  8857  	StatusType *string `type:"string"`
  8858  }
  8859  
  8860  // String returns the string representation.
  8861  //
  8862  // API parameter values that are decorated as "sensitive" in the API will not
  8863  // be included in the string output. The member name will be present, but the
  8864  // value will be replaced with "sensitive".
  8865  func (s DBInstanceStatusInfo) String() string {
  8866  	return awsutil.Prettify(s)
  8867  }
  8868  
  8869  // GoString returns the string representation.
  8870  //
  8871  // API parameter values that are decorated as "sensitive" in the API will not
  8872  // be included in the string output. The member name will be present, but the
  8873  // value will be replaced with "sensitive".
  8874  func (s DBInstanceStatusInfo) GoString() string {
  8875  	return s.String()
  8876  }
  8877  
  8878  // SetMessage sets the Message field's value.
  8879  func (s *DBInstanceStatusInfo) SetMessage(v string) *DBInstanceStatusInfo {
  8880  	s.Message = &v
  8881  	return s
  8882  }
  8883  
  8884  // SetNormal sets the Normal field's value.
  8885  func (s *DBInstanceStatusInfo) SetNormal(v bool) *DBInstanceStatusInfo {
  8886  	s.Normal = &v
  8887  	return s
  8888  }
  8889  
  8890  // SetStatus sets the Status field's value.
  8891  func (s *DBInstanceStatusInfo) SetStatus(v string) *DBInstanceStatusInfo {
  8892  	s.Status = &v
  8893  	return s
  8894  }
  8895  
  8896  // SetStatusType sets the StatusType field's value.
  8897  func (s *DBInstanceStatusInfo) SetStatusType(v string) *DBInstanceStatusInfo {
  8898  	s.StatusType = &v
  8899  	return s
  8900  }
  8901  
  8902  // Detailed information about a subnet group.
  8903  type DBSubnetGroup struct {
  8904  	_ struct{} `type:"structure"`
  8905  
  8906  	// The Amazon Resource Name (ARN) for the DB subnet group.
  8907  	DBSubnetGroupArn *string `type:"string"`
  8908  
  8909  	// Provides the description of the subnet group.
  8910  	DBSubnetGroupDescription *string `type:"string"`
  8911  
  8912  	// The name of the subnet group.
  8913  	DBSubnetGroupName *string `type:"string"`
  8914  
  8915  	// Provides the status of the subnet group.
  8916  	SubnetGroupStatus *string `type:"string"`
  8917  
  8918  	// Detailed information about one or more subnets within a subnet group.
  8919  	Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
  8920  
  8921  	// Provides the virtual private cloud (VPC) ID of the subnet group.
  8922  	VpcId *string `type:"string"`
  8923  }
  8924  
  8925  // String returns the string representation.
  8926  //
  8927  // API parameter values that are decorated as "sensitive" in the API will not
  8928  // be included in the string output. The member name will be present, but the
  8929  // value will be replaced with "sensitive".
  8930  func (s DBSubnetGroup) String() string {
  8931  	return awsutil.Prettify(s)
  8932  }
  8933  
  8934  // GoString returns the string representation.
  8935  //
  8936  // API parameter values that are decorated as "sensitive" in the API will not
  8937  // be included in the string output. The member name will be present, but the
  8938  // value will be replaced with "sensitive".
  8939  func (s DBSubnetGroup) GoString() string {
  8940  	return s.String()
  8941  }
  8942  
  8943  // SetDBSubnetGroupArn sets the DBSubnetGroupArn field's value.
  8944  func (s *DBSubnetGroup) SetDBSubnetGroupArn(v string) *DBSubnetGroup {
  8945  	s.DBSubnetGroupArn = &v
  8946  	return s
  8947  }
  8948  
  8949  // SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
  8950  func (s *DBSubnetGroup) SetDBSubnetGroupDescription(v string) *DBSubnetGroup {
  8951  	s.DBSubnetGroupDescription = &v
  8952  	return s
  8953  }
  8954  
  8955  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
  8956  func (s *DBSubnetGroup) SetDBSubnetGroupName(v string) *DBSubnetGroup {
  8957  	s.DBSubnetGroupName = &v
  8958  	return s
  8959  }
  8960  
  8961  // SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
  8962  func (s *DBSubnetGroup) SetSubnetGroupStatus(v string) *DBSubnetGroup {
  8963  	s.SubnetGroupStatus = &v
  8964  	return s
  8965  }
  8966  
  8967  // SetSubnets sets the Subnets field's value.
  8968  func (s *DBSubnetGroup) SetSubnets(v []*Subnet) *DBSubnetGroup {
  8969  	s.Subnets = v
  8970  	return s
  8971  }
  8972  
  8973  // SetVpcId sets the VpcId field's value.
  8974  func (s *DBSubnetGroup) SetVpcId(v string) *DBSubnetGroup {
  8975  	s.VpcId = &v
  8976  	return s
  8977  }
  8978  
  8979  // Represents the input to DeleteDBCluster.
  8980  type DeleteDBClusterInput struct {
  8981  	_ struct{} `type:"structure"`
  8982  
  8983  	// The cluster identifier for the cluster to be deleted. This parameter isn't
  8984  	// case sensitive.
  8985  	//
  8986  	// Constraints:
  8987  	//
  8988  	//    * Must match an existing DBClusterIdentifier.
  8989  	//
  8990  	// DBClusterIdentifier is a required field
  8991  	DBClusterIdentifier *string `type:"string" required:"true"`
  8992  
  8993  	// The cluster snapshot identifier of the new cluster snapshot created when
  8994  	// SkipFinalSnapshot is set to false.
  8995  	//
  8996  	// Specifying this parameter and also setting the SkipFinalShapshot parameter
  8997  	// to true results in an error.
  8998  	//
  8999  	// Constraints:
  9000  	//
  9001  	//    * Must be from 1 to 255 letters, numbers, or hyphens.
  9002  	//
  9003  	//    * The first character must be a letter.
  9004  	//
  9005  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
  9006  	FinalDBSnapshotIdentifier *string `type:"string"`
  9007  
  9008  	// Determines whether a final cluster snapshot is created before the cluster
  9009  	// is deleted. If true is specified, no cluster snapshot is created. If false
  9010  	// is specified, a cluster snapshot is created before the DB cluster is deleted.
  9011  	//
  9012  	// If SkipFinalSnapshot is false, you must specify a FinalDBSnapshotIdentifier
  9013  	// parameter.
  9014  	//
  9015  	// Default: false
  9016  	SkipFinalSnapshot *bool `type:"boolean"`
  9017  }
  9018  
  9019  // String returns the string representation.
  9020  //
  9021  // API parameter values that are decorated as "sensitive" in the API will not
  9022  // be included in the string output. The member name will be present, but the
  9023  // value will be replaced with "sensitive".
  9024  func (s DeleteDBClusterInput) String() string {
  9025  	return awsutil.Prettify(s)
  9026  }
  9027  
  9028  // GoString returns the string representation.
  9029  //
  9030  // API parameter values that are decorated as "sensitive" in the API will not
  9031  // be included in the string output. The member name will be present, but the
  9032  // value will be replaced with "sensitive".
  9033  func (s DeleteDBClusterInput) GoString() string {
  9034  	return s.String()
  9035  }
  9036  
  9037  // Validate inspects the fields of the type to determine if they are valid.
  9038  func (s *DeleteDBClusterInput) Validate() error {
  9039  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterInput"}
  9040  	if s.DBClusterIdentifier == nil {
  9041  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
  9042  	}
  9043  
  9044  	if invalidParams.Len() > 0 {
  9045  		return invalidParams
  9046  	}
  9047  	return nil
  9048  }
  9049  
  9050  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
  9051  func (s *DeleteDBClusterInput) SetDBClusterIdentifier(v string) *DeleteDBClusterInput {
  9052  	s.DBClusterIdentifier = &v
  9053  	return s
  9054  }
  9055  
  9056  // SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
  9057  func (s *DeleteDBClusterInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBClusterInput {
  9058  	s.FinalDBSnapshotIdentifier = &v
  9059  	return s
  9060  }
  9061  
  9062  // SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
  9063  func (s *DeleteDBClusterInput) SetSkipFinalSnapshot(v bool) *DeleteDBClusterInput {
  9064  	s.SkipFinalSnapshot = &v
  9065  	return s
  9066  }
  9067  
  9068  type DeleteDBClusterOutput struct {
  9069  	_ struct{} `type:"structure"`
  9070  
  9071  	// Detailed information about a cluster.
  9072  	DBCluster *DBCluster `type:"structure"`
  9073  }
  9074  
  9075  // String returns the string representation.
  9076  //
  9077  // API parameter values that are decorated as "sensitive" in the API will not
  9078  // be included in the string output. The member name will be present, but the
  9079  // value will be replaced with "sensitive".
  9080  func (s DeleteDBClusterOutput) String() string {
  9081  	return awsutil.Prettify(s)
  9082  }
  9083  
  9084  // GoString returns the string representation.
  9085  //
  9086  // API parameter values that are decorated as "sensitive" in the API will not
  9087  // be included in the string output. The member name will be present, but the
  9088  // value will be replaced with "sensitive".
  9089  func (s DeleteDBClusterOutput) GoString() string {
  9090  	return s.String()
  9091  }
  9092  
  9093  // SetDBCluster sets the DBCluster field's value.
  9094  func (s *DeleteDBClusterOutput) SetDBCluster(v *DBCluster) *DeleteDBClusterOutput {
  9095  	s.DBCluster = v
  9096  	return s
  9097  }
  9098  
  9099  // Represents the input to DeleteDBClusterParameterGroup.
  9100  type DeleteDBClusterParameterGroupInput struct {
  9101  	_ struct{} `type:"structure"`
  9102  
  9103  	// The name of the cluster parameter group.
  9104  	//
  9105  	// Constraints:
  9106  	//
  9107  	//    * Must be the name of an existing cluster parameter group.
  9108  	//
  9109  	//    * You can't delete a default cluster parameter group.
  9110  	//
  9111  	//    * Cannot be associated with any clusters.
  9112  	//
  9113  	// DBClusterParameterGroupName is a required field
  9114  	DBClusterParameterGroupName *string `type:"string" required:"true"`
  9115  }
  9116  
  9117  // String returns the string representation.
  9118  //
  9119  // API parameter values that are decorated as "sensitive" in the API will not
  9120  // be included in the string output. The member name will be present, but the
  9121  // value will be replaced with "sensitive".
  9122  func (s DeleteDBClusterParameterGroupInput) String() string {
  9123  	return awsutil.Prettify(s)
  9124  }
  9125  
  9126  // GoString returns the string representation.
  9127  //
  9128  // API parameter values that are decorated as "sensitive" in the API will not
  9129  // be included in the string output. The member name will be present, but the
  9130  // value will be replaced with "sensitive".
  9131  func (s DeleteDBClusterParameterGroupInput) GoString() string {
  9132  	return s.String()
  9133  }
  9134  
  9135  // Validate inspects the fields of the type to determine if they are valid.
  9136  func (s *DeleteDBClusterParameterGroupInput) Validate() error {
  9137  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterParameterGroupInput"}
  9138  	if s.DBClusterParameterGroupName == nil {
  9139  		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
  9140  	}
  9141  
  9142  	if invalidParams.Len() > 0 {
  9143  		return invalidParams
  9144  	}
  9145  	return nil
  9146  }
  9147  
  9148  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
  9149  func (s *DeleteDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *DeleteDBClusterParameterGroupInput {
  9150  	s.DBClusterParameterGroupName = &v
  9151  	return s
  9152  }
  9153  
  9154  type DeleteDBClusterParameterGroupOutput struct {
  9155  	_ struct{} `type:"structure"`
  9156  }
  9157  
  9158  // String returns the string representation.
  9159  //
  9160  // API parameter values that are decorated as "sensitive" in the API will not
  9161  // be included in the string output. The member name will be present, but the
  9162  // value will be replaced with "sensitive".
  9163  func (s DeleteDBClusterParameterGroupOutput) String() string {
  9164  	return awsutil.Prettify(s)
  9165  }
  9166  
  9167  // GoString returns the string representation.
  9168  //
  9169  // API parameter values that are decorated as "sensitive" in the API will not
  9170  // be included in the string output. The member name will be present, but the
  9171  // value will be replaced with "sensitive".
  9172  func (s DeleteDBClusterParameterGroupOutput) GoString() string {
  9173  	return s.String()
  9174  }
  9175  
  9176  // Represents the input to DeleteDBClusterSnapshot.
  9177  type DeleteDBClusterSnapshotInput struct {
  9178  	_ struct{} `type:"structure"`
  9179  
  9180  	// The identifier of the cluster snapshot to delete.
  9181  	//
  9182  	// Constraints: Must be the name of an existing cluster snapshot in the available
  9183  	// state.
  9184  	//
  9185  	// DBClusterSnapshotIdentifier is a required field
  9186  	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
  9187  }
  9188  
  9189  // String returns the string representation.
  9190  //
  9191  // API parameter values that are decorated as "sensitive" in the API will not
  9192  // be included in the string output. The member name will be present, but the
  9193  // value will be replaced with "sensitive".
  9194  func (s DeleteDBClusterSnapshotInput) String() string {
  9195  	return awsutil.Prettify(s)
  9196  }
  9197  
  9198  // GoString returns the string representation.
  9199  //
  9200  // API parameter values that are decorated as "sensitive" in the API will not
  9201  // be included in the string output. The member name will be present, but the
  9202  // value will be replaced with "sensitive".
  9203  func (s DeleteDBClusterSnapshotInput) GoString() string {
  9204  	return s.String()
  9205  }
  9206  
  9207  // Validate inspects the fields of the type to determine if they are valid.
  9208  func (s *DeleteDBClusterSnapshotInput) Validate() error {
  9209  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterSnapshotInput"}
  9210  	if s.DBClusterSnapshotIdentifier == nil {
  9211  		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
  9212  	}
  9213  
  9214  	if invalidParams.Len() > 0 {
  9215  		return invalidParams
  9216  	}
  9217  	return nil
  9218  }
  9219  
  9220  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
  9221  func (s *DeleteDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *DeleteDBClusterSnapshotInput {
  9222  	s.DBClusterSnapshotIdentifier = &v
  9223  	return s
  9224  }
  9225  
  9226  type DeleteDBClusterSnapshotOutput struct {
  9227  	_ struct{} `type:"structure"`
  9228  
  9229  	// Detailed information about a cluster snapshot.
  9230  	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
  9231  }
  9232  
  9233  // String 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 DeleteDBClusterSnapshotOutput) String() string {
  9239  	return awsutil.Prettify(s)
  9240  }
  9241  
  9242  // GoString returns the string representation.
  9243  //
  9244  // API parameter values that are decorated as "sensitive" in the API will not
  9245  // be included in the string output. The member name will be present, but the
  9246  // value will be replaced with "sensitive".
  9247  func (s DeleteDBClusterSnapshotOutput) GoString() string {
  9248  	return s.String()
  9249  }
  9250  
  9251  // SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
  9252  func (s *DeleteDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *DeleteDBClusterSnapshotOutput {
  9253  	s.DBClusterSnapshot = v
  9254  	return s
  9255  }
  9256  
  9257  // Represents the input to DeleteDBInstance.
  9258  type DeleteDBInstanceInput struct {
  9259  	_ struct{} `type:"structure"`
  9260  
  9261  	// The instance identifier for the instance to be deleted. This parameter isn't
  9262  	// case sensitive.
  9263  	//
  9264  	// Constraints:
  9265  	//
  9266  	//    * Must match the name of an existing instance.
  9267  	//
  9268  	// DBInstanceIdentifier is a required field
  9269  	DBInstanceIdentifier *string `type:"string" required:"true"`
  9270  }
  9271  
  9272  // String returns the string representation.
  9273  //
  9274  // API parameter values that are decorated as "sensitive" in the API will not
  9275  // be included in the string output. The member name will be present, but the
  9276  // value will be replaced with "sensitive".
  9277  func (s DeleteDBInstanceInput) String() string {
  9278  	return awsutil.Prettify(s)
  9279  }
  9280  
  9281  // GoString returns the string representation.
  9282  //
  9283  // API parameter values that are decorated as "sensitive" in the API will not
  9284  // be included in the string output. The member name will be present, but the
  9285  // value will be replaced with "sensitive".
  9286  func (s DeleteDBInstanceInput) GoString() string {
  9287  	return s.String()
  9288  }
  9289  
  9290  // Validate inspects the fields of the type to determine if they are valid.
  9291  func (s *DeleteDBInstanceInput) Validate() error {
  9292  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceInput"}
  9293  	if s.DBInstanceIdentifier == nil {
  9294  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
  9295  	}
  9296  
  9297  	if invalidParams.Len() > 0 {
  9298  		return invalidParams
  9299  	}
  9300  	return nil
  9301  }
  9302  
  9303  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
  9304  func (s *DeleteDBInstanceInput) SetDBInstanceIdentifier(v string) *DeleteDBInstanceInput {
  9305  	s.DBInstanceIdentifier = &v
  9306  	return s
  9307  }
  9308  
  9309  type DeleteDBInstanceOutput struct {
  9310  	_ struct{} `type:"structure"`
  9311  
  9312  	// Detailed information about an instance.
  9313  	DBInstance *DBInstance `type:"structure"`
  9314  }
  9315  
  9316  // String returns the string representation.
  9317  //
  9318  // API parameter values that are decorated as "sensitive" in the API will not
  9319  // be included in the string output. The member name will be present, but the
  9320  // value will be replaced with "sensitive".
  9321  func (s DeleteDBInstanceOutput) String() string {
  9322  	return awsutil.Prettify(s)
  9323  }
  9324  
  9325  // GoString returns the string representation.
  9326  //
  9327  // API parameter values that are decorated as "sensitive" in the API will not
  9328  // be included in the string output. The member name will be present, but the
  9329  // value will be replaced with "sensitive".
  9330  func (s DeleteDBInstanceOutput) GoString() string {
  9331  	return s.String()
  9332  }
  9333  
  9334  // SetDBInstance sets the DBInstance field's value.
  9335  func (s *DeleteDBInstanceOutput) SetDBInstance(v *DBInstance) *DeleteDBInstanceOutput {
  9336  	s.DBInstance = v
  9337  	return s
  9338  }
  9339  
  9340  // Represents the input to DeleteDBSubnetGroup.
  9341  type DeleteDBSubnetGroupInput struct {
  9342  	_ struct{} `type:"structure"`
  9343  
  9344  	// The name of the database subnet group to delete.
  9345  	//
  9346  	// You can't delete the default subnet group.
  9347  	//
  9348  	// Constraints:
  9349  	//
  9350  	// Must match the name of an existing DBSubnetGroup. Must not be default.
  9351  	//
  9352  	// Example: mySubnetgroup
  9353  	//
  9354  	// DBSubnetGroupName is a required field
  9355  	DBSubnetGroupName *string `type:"string" required:"true"`
  9356  }
  9357  
  9358  // String 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 DeleteDBSubnetGroupInput) String() string {
  9364  	return awsutil.Prettify(s)
  9365  }
  9366  
  9367  // GoString returns the string representation.
  9368  //
  9369  // API parameter values that are decorated as "sensitive" in the API will not
  9370  // be included in the string output. The member name will be present, but the
  9371  // value will be replaced with "sensitive".
  9372  func (s DeleteDBSubnetGroupInput) GoString() string {
  9373  	return s.String()
  9374  }
  9375  
  9376  // Validate inspects the fields of the type to determine if they are valid.
  9377  func (s *DeleteDBSubnetGroupInput) Validate() error {
  9378  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSubnetGroupInput"}
  9379  	if s.DBSubnetGroupName == nil {
  9380  		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
  9381  	}
  9382  
  9383  	if invalidParams.Len() > 0 {
  9384  		return invalidParams
  9385  	}
  9386  	return nil
  9387  }
  9388  
  9389  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
  9390  func (s *DeleteDBSubnetGroupInput) SetDBSubnetGroupName(v string) *DeleteDBSubnetGroupInput {
  9391  	s.DBSubnetGroupName = &v
  9392  	return s
  9393  }
  9394  
  9395  type DeleteDBSubnetGroupOutput struct {
  9396  	_ struct{} `type:"structure"`
  9397  }
  9398  
  9399  // String returns the string representation.
  9400  //
  9401  // API parameter values that are decorated as "sensitive" in the API will not
  9402  // be included in the string output. The member name will be present, but the
  9403  // value will be replaced with "sensitive".
  9404  func (s DeleteDBSubnetGroupOutput) String() string {
  9405  	return awsutil.Prettify(s)
  9406  }
  9407  
  9408  // GoString returns the string representation.
  9409  //
  9410  // API parameter values that are decorated as "sensitive" in the API will not
  9411  // be included in the string output. The member name will be present, but the
  9412  // value will be replaced with "sensitive".
  9413  func (s DeleteDBSubnetGroupOutput) GoString() string {
  9414  	return s.String()
  9415  }
  9416  
  9417  // Represents the input to DeleteEventSubscription.
  9418  type DeleteEventSubscriptionInput struct {
  9419  	_ struct{} `type:"structure"`
  9420  
  9421  	// The name of the Amazon DocumentDB event notification subscription that you
  9422  	// want to delete.
  9423  	//
  9424  	// SubscriptionName is a required field
  9425  	SubscriptionName *string `type:"string" required:"true"`
  9426  }
  9427  
  9428  // String returns the string representation.
  9429  //
  9430  // API parameter values that are decorated as "sensitive" in the API will not
  9431  // be included in the string output. The member name will be present, but the
  9432  // value will be replaced with "sensitive".
  9433  func (s DeleteEventSubscriptionInput) String() string {
  9434  	return awsutil.Prettify(s)
  9435  }
  9436  
  9437  // GoString returns the string representation.
  9438  //
  9439  // API parameter values that are decorated as "sensitive" in the API will not
  9440  // be included in the string output. The member name will be present, but the
  9441  // value will be replaced with "sensitive".
  9442  func (s DeleteEventSubscriptionInput) GoString() string {
  9443  	return s.String()
  9444  }
  9445  
  9446  // Validate inspects the fields of the type to determine if they are valid.
  9447  func (s *DeleteEventSubscriptionInput) Validate() error {
  9448  	invalidParams := request.ErrInvalidParams{Context: "DeleteEventSubscriptionInput"}
  9449  	if s.SubscriptionName == nil {
  9450  		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
  9451  	}
  9452  
  9453  	if invalidParams.Len() > 0 {
  9454  		return invalidParams
  9455  	}
  9456  	return nil
  9457  }
  9458  
  9459  // SetSubscriptionName sets the SubscriptionName field's value.
  9460  func (s *DeleteEventSubscriptionInput) SetSubscriptionName(v string) *DeleteEventSubscriptionInput {
  9461  	s.SubscriptionName = &v
  9462  	return s
  9463  }
  9464  
  9465  type DeleteEventSubscriptionOutput struct {
  9466  	_ struct{} `type:"structure"`
  9467  
  9468  	// Detailed information about an event to which you have subscribed.
  9469  	EventSubscription *EventSubscription `type:"structure"`
  9470  }
  9471  
  9472  // String returns the string representation.
  9473  //
  9474  // API parameter values that are decorated as "sensitive" in the API will not
  9475  // be included in the string output. The member name will be present, but the
  9476  // value will be replaced with "sensitive".
  9477  func (s DeleteEventSubscriptionOutput) String() string {
  9478  	return awsutil.Prettify(s)
  9479  }
  9480  
  9481  // GoString returns the string representation.
  9482  //
  9483  // API parameter values that are decorated as "sensitive" in the API will not
  9484  // be included in the string output. The member name will be present, but the
  9485  // value will be replaced with "sensitive".
  9486  func (s DeleteEventSubscriptionOutput) GoString() string {
  9487  	return s.String()
  9488  }
  9489  
  9490  // SetEventSubscription sets the EventSubscription field's value.
  9491  func (s *DeleteEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *DeleteEventSubscriptionOutput {
  9492  	s.EventSubscription = v
  9493  	return s
  9494  }
  9495  
  9496  // Represents the input to DeleteGlobalCluster.
  9497  type DeleteGlobalClusterInput struct {
  9498  	_ struct{} `type:"structure"`
  9499  
  9500  	// The cluster identifier of the global cluster being deleted.
  9501  	//
  9502  	// GlobalClusterIdentifier is a required field
  9503  	GlobalClusterIdentifier *string `min:"1" type:"string" required:"true"`
  9504  }
  9505  
  9506  // String returns the string representation.
  9507  //
  9508  // API parameter values that are decorated as "sensitive" in the API will not
  9509  // be included in the string output. The member name will be present, but the
  9510  // value will be replaced with "sensitive".
  9511  func (s DeleteGlobalClusterInput) String() string {
  9512  	return awsutil.Prettify(s)
  9513  }
  9514  
  9515  // GoString returns the string representation.
  9516  //
  9517  // API parameter values that are decorated as "sensitive" in the API will not
  9518  // be included in the string output. The member name will be present, but the
  9519  // value will be replaced with "sensitive".
  9520  func (s DeleteGlobalClusterInput) GoString() string {
  9521  	return s.String()
  9522  }
  9523  
  9524  // Validate inspects the fields of the type to determine if they are valid.
  9525  func (s *DeleteGlobalClusterInput) Validate() error {
  9526  	invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalClusterInput"}
  9527  	if s.GlobalClusterIdentifier == nil {
  9528  		invalidParams.Add(request.NewErrParamRequired("GlobalClusterIdentifier"))
  9529  	}
  9530  	if s.GlobalClusterIdentifier != nil && len(*s.GlobalClusterIdentifier) < 1 {
  9531  		invalidParams.Add(request.NewErrParamMinLen("GlobalClusterIdentifier", 1))
  9532  	}
  9533  
  9534  	if invalidParams.Len() > 0 {
  9535  		return invalidParams
  9536  	}
  9537  	return nil
  9538  }
  9539  
  9540  // SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
  9541  func (s *DeleteGlobalClusterInput) SetGlobalClusterIdentifier(v string) *DeleteGlobalClusterInput {
  9542  	s.GlobalClusterIdentifier = &v
  9543  	return s
  9544  }
  9545  
  9546  type DeleteGlobalClusterOutput struct {
  9547  	_ struct{} `type:"structure"`
  9548  
  9549  	// A data type representing an Amazon DocumentDB global cluster.
  9550  	GlobalCluster *GlobalCluster `type:"structure"`
  9551  }
  9552  
  9553  // String 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 DeleteGlobalClusterOutput) String() string {
  9559  	return awsutil.Prettify(s)
  9560  }
  9561  
  9562  // GoString returns the string representation.
  9563  //
  9564  // API parameter values that are decorated as "sensitive" in the API will not
  9565  // be included in the string output. The member name will be present, but the
  9566  // value will be replaced with "sensitive".
  9567  func (s DeleteGlobalClusterOutput) GoString() string {
  9568  	return s.String()
  9569  }
  9570  
  9571  // SetGlobalCluster sets the GlobalCluster field's value.
  9572  func (s *DeleteGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *DeleteGlobalClusterOutput {
  9573  	s.GlobalCluster = v
  9574  	return s
  9575  }
  9576  
  9577  type DescribeCertificatesInput struct {
  9578  	_ struct{} `type:"structure"`
  9579  
  9580  	// The user-supplied certificate identifier. If this parameter is specified,
  9581  	// information for only the specified certificate is returned. If this parameter
  9582  	// is omitted, a list of up to MaxRecords certificates is returned. This parameter
  9583  	// is not case sensitive.
  9584  	//
  9585  	// Constraints
  9586  	//
  9587  	//    * Must match an existing CertificateIdentifier.
  9588  	CertificateIdentifier *string `type:"string"`
  9589  
  9590  	// This parameter is not currently supported.
  9591  	Filters []*Filter `locationNameList:"Filter" type:"list"`
  9592  
  9593  	// An optional pagination token provided by a previous DescribeCertificates
  9594  	// request. If this parameter is specified, the response includes only records
  9595  	// beyond the marker, up to the value specified by MaxRecords.
  9596  	Marker *string `type:"string"`
  9597  
  9598  	// The maximum number of records to include in the response. If more records
  9599  	// exist than the specified MaxRecords value, a pagination token called a marker
  9600  	// is included in the response so that the remaining results can be retrieved.
  9601  	//
  9602  	// Default: 100
  9603  	//
  9604  	// Constraints:
  9605  	//
  9606  	//    * Minimum: 20
  9607  	//
  9608  	//    * Maximum: 100
  9609  	MaxRecords *int64 `type:"integer"`
  9610  }
  9611  
  9612  // String returns the string representation.
  9613  //
  9614  // API parameter values that are decorated as "sensitive" in the API will not
  9615  // be included in the string output. The member name will be present, but the
  9616  // value will be replaced with "sensitive".
  9617  func (s DescribeCertificatesInput) String() string {
  9618  	return awsutil.Prettify(s)
  9619  }
  9620  
  9621  // GoString returns the string representation.
  9622  //
  9623  // API parameter values that are decorated as "sensitive" in the API will not
  9624  // be included in the string output. The member name will be present, but the
  9625  // value will be replaced with "sensitive".
  9626  func (s DescribeCertificatesInput) GoString() string {
  9627  	return s.String()
  9628  }
  9629  
  9630  // Validate inspects the fields of the type to determine if they are valid.
  9631  func (s *DescribeCertificatesInput) Validate() error {
  9632  	invalidParams := request.ErrInvalidParams{Context: "DescribeCertificatesInput"}
  9633  	if s.Filters != nil {
  9634  		for i, v := range s.Filters {
  9635  			if v == nil {
  9636  				continue
  9637  			}
  9638  			if err := v.Validate(); err != nil {
  9639  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
  9640  			}
  9641  		}
  9642  	}
  9643  
  9644  	if invalidParams.Len() > 0 {
  9645  		return invalidParams
  9646  	}
  9647  	return nil
  9648  }
  9649  
  9650  // SetCertificateIdentifier sets the CertificateIdentifier field's value.
  9651  func (s *DescribeCertificatesInput) SetCertificateIdentifier(v string) *DescribeCertificatesInput {
  9652  	s.CertificateIdentifier = &v
  9653  	return s
  9654  }
  9655  
  9656  // SetFilters sets the Filters field's value.
  9657  func (s *DescribeCertificatesInput) SetFilters(v []*Filter) *DescribeCertificatesInput {
  9658  	s.Filters = v
  9659  	return s
  9660  }
  9661  
  9662  // SetMarker sets the Marker field's value.
  9663  func (s *DescribeCertificatesInput) SetMarker(v string) *DescribeCertificatesInput {
  9664  	s.Marker = &v
  9665  	return s
  9666  }
  9667  
  9668  // SetMaxRecords sets the MaxRecords field's value.
  9669  func (s *DescribeCertificatesInput) SetMaxRecords(v int64) *DescribeCertificatesInput {
  9670  	s.MaxRecords = &v
  9671  	return s
  9672  }
  9673  
  9674  type DescribeCertificatesOutput struct {
  9675  	_ struct{} `type:"structure"`
  9676  
  9677  	// A list of certificates for this account.
  9678  	Certificates []*Certificate `locationNameList:"Certificate" type:"list"`
  9679  
  9680  	// An optional pagination token provided if the number of records retrieved
  9681  	// is greater than MaxRecords. If this parameter is specified, the marker specifies
  9682  	// the next record in the list. Including the value of Marker in the next call
  9683  	// to DescribeCertificates results in the next page of certificates.
  9684  	Marker *string `type:"string"`
  9685  }
  9686  
  9687  // String returns the string representation.
  9688  //
  9689  // API parameter values that are decorated as "sensitive" in the API will not
  9690  // be included in the string output. The member name will be present, but the
  9691  // value will be replaced with "sensitive".
  9692  func (s DescribeCertificatesOutput) String() string {
  9693  	return awsutil.Prettify(s)
  9694  }
  9695  
  9696  // GoString returns the string representation.
  9697  //
  9698  // API parameter values that are decorated as "sensitive" in the API will not
  9699  // be included in the string output. The member name will be present, but the
  9700  // value will be replaced with "sensitive".
  9701  func (s DescribeCertificatesOutput) GoString() string {
  9702  	return s.String()
  9703  }
  9704  
  9705  // SetCertificates sets the Certificates field's value.
  9706  func (s *DescribeCertificatesOutput) SetCertificates(v []*Certificate) *DescribeCertificatesOutput {
  9707  	s.Certificates = v
  9708  	return s
  9709  }
  9710  
  9711  // SetMarker sets the Marker field's value.
  9712  func (s *DescribeCertificatesOutput) SetMarker(v string) *DescribeCertificatesOutput {
  9713  	s.Marker = &v
  9714  	return s
  9715  }
  9716  
  9717  // Represents the input to DescribeDBClusterParameterGroups.
  9718  type DescribeDBClusterParameterGroupsInput struct {
  9719  	_ struct{} `type:"structure"`
  9720  
  9721  	// The name of a specific cluster parameter group to return details for.
  9722  	//
  9723  	// Constraints:
  9724  	//
  9725  	//    * If provided, must match the name of an existing DBClusterParameterGroup.
  9726  	DBClusterParameterGroupName *string `type:"string"`
  9727  
  9728  	// This parameter is not currently supported.
  9729  	Filters []*Filter `locationNameList:"Filter" type:"list"`
  9730  
  9731  	// An optional pagination token provided by a previous request. If this parameter
  9732  	// is specified, the response includes only records beyond the marker, up to
  9733  	// the value specified by MaxRecords.
  9734  	Marker *string `type:"string"`
  9735  
  9736  	// The maximum number of records to include in the response. If more records
  9737  	// exist than the specified MaxRecords value, a pagination token (marker) is
  9738  	// included in the response so that the remaining results can be retrieved.
  9739  	//
  9740  	// Default: 100
  9741  	//
  9742  	// Constraints: Minimum 20, maximum 100.
  9743  	MaxRecords *int64 `type:"integer"`
  9744  }
  9745  
  9746  // String returns the string representation.
  9747  //
  9748  // API parameter values that are decorated as "sensitive" in the API will not
  9749  // be included in the string output. The member name will be present, but the
  9750  // value will be replaced with "sensitive".
  9751  func (s DescribeDBClusterParameterGroupsInput) String() string {
  9752  	return awsutil.Prettify(s)
  9753  }
  9754  
  9755  // GoString returns the string representation.
  9756  //
  9757  // API parameter values that are decorated as "sensitive" in the API will not
  9758  // be included in the string output. The member name will be present, but the
  9759  // value will be replaced with "sensitive".
  9760  func (s DescribeDBClusterParameterGroupsInput) GoString() string {
  9761  	return s.String()
  9762  }
  9763  
  9764  // Validate inspects the fields of the type to determine if they are valid.
  9765  func (s *DescribeDBClusterParameterGroupsInput) Validate() error {
  9766  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParameterGroupsInput"}
  9767  	if s.Filters != nil {
  9768  		for i, v := range s.Filters {
  9769  			if v == nil {
  9770  				continue
  9771  			}
  9772  			if err := v.Validate(); err != nil {
  9773  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
  9774  			}
  9775  		}
  9776  	}
  9777  
  9778  	if invalidParams.Len() > 0 {
  9779  		return invalidParams
  9780  	}
  9781  	return nil
  9782  }
  9783  
  9784  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
  9785  func (s *DescribeDBClusterParameterGroupsInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParameterGroupsInput {
  9786  	s.DBClusterParameterGroupName = &v
  9787  	return s
  9788  }
  9789  
  9790  // SetFilters sets the Filters field's value.
  9791  func (s *DescribeDBClusterParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBClusterParameterGroupsInput {
  9792  	s.Filters = v
  9793  	return s
  9794  }
  9795  
  9796  // SetMarker sets the Marker field's value.
  9797  func (s *DescribeDBClusterParameterGroupsInput) SetMarker(v string) *DescribeDBClusterParameterGroupsInput {
  9798  	s.Marker = &v
  9799  	return s
  9800  }
  9801  
  9802  // SetMaxRecords sets the MaxRecords field's value.
  9803  func (s *DescribeDBClusterParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBClusterParameterGroupsInput {
  9804  	s.MaxRecords = &v
  9805  	return s
  9806  }
  9807  
  9808  // Represents the output of DBClusterParameterGroups.
  9809  type DescribeDBClusterParameterGroupsOutput struct {
  9810  	_ struct{} `type:"structure"`
  9811  
  9812  	// A list of cluster parameter groups.
  9813  	DBClusterParameterGroups []*DBClusterParameterGroup `locationNameList:"DBClusterParameterGroup" type:"list"`
  9814  
  9815  	// An optional pagination token provided by a previous request. If this parameter
  9816  	// is specified, the response includes only records beyond the marker, up to
  9817  	// the value specified by MaxRecords.
  9818  	Marker *string `type:"string"`
  9819  }
  9820  
  9821  // String returns the string representation.
  9822  //
  9823  // API parameter values that are decorated as "sensitive" in the API will not
  9824  // be included in the string output. The member name will be present, but the
  9825  // value will be replaced with "sensitive".
  9826  func (s DescribeDBClusterParameterGroupsOutput) String() string {
  9827  	return awsutil.Prettify(s)
  9828  }
  9829  
  9830  // GoString returns the string representation.
  9831  //
  9832  // API parameter values that are decorated as "sensitive" in the API will not
  9833  // be included in the string output. The member name will be present, but the
  9834  // value will be replaced with "sensitive".
  9835  func (s DescribeDBClusterParameterGroupsOutput) GoString() string {
  9836  	return s.String()
  9837  }
  9838  
  9839  // SetDBClusterParameterGroups sets the DBClusterParameterGroups field's value.
  9840  func (s *DescribeDBClusterParameterGroupsOutput) SetDBClusterParameterGroups(v []*DBClusterParameterGroup) *DescribeDBClusterParameterGroupsOutput {
  9841  	s.DBClusterParameterGroups = v
  9842  	return s
  9843  }
  9844  
  9845  // SetMarker sets the Marker field's value.
  9846  func (s *DescribeDBClusterParameterGroupsOutput) SetMarker(v string) *DescribeDBClusterParameterGroupsOutput {
  9847  	s.Marker = &v
  9848  	return s
  9849  }
  9850  
  9851  // Represents the input to DescribeDBClusterParameters.
  9852  type DescribeDBClusterParametersInput struct {
  9853  	_ struct{} `type:"structure"`
  9854  
  9855  	// The name of a specific cluster parameter group to return parameter details
  9856  	// for.
  9857  	//
  9858  	// Constraints:
  9859  	//
  9860  	//    * If provided, must match the name of an existing DBClusterParameterGroup.
  9861  	//
  9862  	// DBClusterParameterGroupName is a required field
  9863  	DBClusterParameterGroupName *string `type:"string" required:"true"`
  9864  
  9865  	// This parameter is not currently supported.
  9866  	Filters []*Filter `locationNameList:"Filter" type:"list"`
  9867  
  9868  	// An optional pagination token provided by a previous request. If this parameter
  9869  	// is specified, the response includes only records beyond the marker, up to
  9870  	// the value specified by MaxRecords.
  9871  	Marker *string `type:"string"`
  9872  
  9873  	// The maximum number of records to include in the response. If more records
  9874  	// exist than the specified MaxRecords value, a pagination token (marker) is
  9875  	// included in the response so that the remaining results can be retrieved.
  9876  	//
  9877  	// Default: 100
  9878  	//
  9879  	// Constraints: Minimum 20, maximum 100.
  9880  	MaxRecords *int64 `type:"integer"`
  9881  
  9882  	// A value that indicates to return only parameters for a specific source. Parameter
  9883  	// sources can be engine, service, or customer.
  9884  	Source *string `type:"string"`
  9885  }
  9886  
  9887  // String returns the string representation.
  9888  //
  9889  // API parameter values that are decorated as "sensitive" in the API will not
  9890  // be included in the string output. The member name will be present, but the
  9891  // value will be replaced with "sensitive".
  9892  func (s DescribeDBClusterParametersInput) String() string {
  9893  	return awsutil.Prettify(s)
  9894  }
  9895  
  9896  // GoString returns the string representation.
  9897  //
  9898  // API parameter values that are decorated as "sensitive" in the API will not
  9899  // be included in the string output. The member name will be present, but the
  9900  // value will be replaced with "sensitive".
  9901  func (s DescribeDBClusterParametersInput) GoString() string {
  9902  	return s.String()
  9903  }
  9904  
  9905  // Validate inspects the fields of the type to determine if they are valid.
  9906  func (s *DescribeDBClusterParametersInput) Validate() error {
  9907  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParametersInput"}
  9908  	if s.DBClusterParameterGroupName == nil {
  9909  		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
  9910  	}
  9911  	if s.Filters != nil {
  9912  		for i, v := range s.Filters {
  9913  			if v == nil {
  9914  				continue
  9915  			}
  9916  			if err := v.Validate(); err != nil {
  9917  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
  9918  			}
  9919  		}
  9920  	}
  9921  
  9922  	if invalidParams.Len() > 0 {
  9923  		return invalidParams
  9924  	}
  9925  	return nil
  9926  }
  9927  
  9928  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
  9929  func (s *DescribeDBClusterParametersInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParametersInput {
  9930  	s.DBClusterParameterGroupName = &v
  9931  	return s
  9932  }
  9933  
  9934  // SetFilters sets the Filters field's value.
  9935  func (s *DescribeDBClusterParametersInput) SetFilters(v []*Filter) *DescribeDBClusterParametersInput {
  9936  	s.Filters = v
  9937  	return s
  9938  }
  9939  
  9940  // SetMarker sets the Marker field's value.
  9941  func (s *DescribeDBClusterParametersInput) SetMarker(v string) *DescribeDBClusterParametersInput {
  9942  	s.Marker = &v
  9943  	return s
  9944  }
  9945  
  9946  // SetMaxRecords sets the MaxRecords field's value.
  9947  func (s *DescribeDBClusterParametersInput) SetMaxRecords(v int64) *DescribeDBClusterParametersInput {
  9948  	s.MaxRecords = &v
  9949  	return s
  9950  }
  9951  
  9952  // SetSource sets the Source field's value.
  9953  func (s *DescribeDBClusterParametersInput) SetSource(v string) *DescribeDBClusterParametersInput {
  9954  	s.Source = &v
  9955  	return s
  9956  }
  9957  
  9958  // Represents the output of DBClusterParameterGroup.
  9959  type DescribeDBClusterParametersOutput struct {
  9960  	_ struct{} `type:"structure"`
  9961  
  9962  	// An optional pagination token provided by a previous request. If this parameter
  9963  	// is specified, the response includes only records beyond the marker, up to
  9964  	// the value specified by MaxRecords.
  9965  	Marker *string `type:"string"`
  9966  
  9967  	// Provides a list of parameters for the cluster parameter group.
  9968  	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
  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 DescribeDBClusterParametersOutput) 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 DescribeDBClusterParametersOutput) GoString() string {
  9986  	return s.String()
  9987  }
  9988  
  9989  // SetMarker sets the Marker field's value.
  9990  func (s *DescribeDBClusterParametersOutput) SetMarker(v string) *DescribeDBClusterParametersOutput {
  9991  	s.Marker = &v
  9992  	return s
  9993  }
  9994  
  9995  // SetParameters sets the Parameters field's value.
  9996  func (s *DescribeDBClusterParametersOutput) SetParameters(v []*Parameter) *DescribeDBClusterParametersOutput {
  9997  	s.Parameters = v
  9998  	return s
  9999  }
 10000  
 10001  // Represents the input to DescribeDBClusterSnapshotAttributes.
 10002  type DescribeDBClusterSnapshotAttributesInput struct {
 10003  	_ struct{} `type:"structure"`
 10004  
 10005  	// The identifier for the cluster snapshot to describe the attributes for.
 10006  	//
 10007  	// DBClusterSnapshotIdentifier is a required field
 10008  	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
 10009  }
 10010  
 10011  // String returns the string representation.
 10012  //
 10013  // API parameter values that are decorated as "sensitive" in the API will not
 10014  // be included in the string output. The member name will be present, but the
 10015  // value will be replaced with "sensitive".
 10016  func (s DescribeDBClusterSnapshotAttributesInput) String() string {
 10017  	return awsutil.Prettify(s)
 10018  }
 10019  
 10020  // GoString returns the string representation.
 10021  //
 10022  // API parameter values that are decorated as "sensitive" in the API will not
 10023  // be included in the string output. The member name will be present, but the
 10024  // value will be replaced with "sensitive".
 10025  func (s DescribeDBClusterSnapshotAttributesInput) GoString() string {
 10026  	return s.String()
 10027  }
 10028  
 10029  // Validate inspects the fields of the type to determine if they are valid.
 10030  func (s *DescribeDBClusterSnapshotAttributesInput) Validate() error {
 10031  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotAttributesInput"}
 10032  	if s.DBClusterSnapshotIdentifier == nil {
 10033  		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
 10034  	}
 10035  
 10036  	if invalidParams.Len() > 0 {
 10037  		return invalidParams
 10038  	}
 10039  	return nil
 10040  }
 10041  
 10042  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
 10043  func (s *DescribeDBClusterSnapshotAttributesInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotAttributesInput {
 10044  	s.DBClusterSnapshotIdentifier = &v
 10045  	return s
 10046  }
 10047  
 10048  type DescribeDBClusterSnapshotAttributesOutput struct {
 10049  	_ struct{} `type:"structure"`
 10050  
 10051  	// Detailed information about the attributes that are associated with a cluster
 10052  	// snapshot.
 10053  	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
 10054  }
 10055  
 10056  // String returns the string representation.
 10057  //
 10058  // API parameter values that are decorated as "sensitive" in the API will not
 10059  // be included in the string output. The member name will be present, but the
 10060  // value will be replaced with "sensitive".
 10061  func (s DescribeDBClusterSnapshotAttributesOutput) String() string {
 10062  	return awsutil.Prettify(s)
 10063  }
 10064  
 10065  // GoString returns the string representation.
 10066  //
 10067  // API parameter values that are decorated as "sensitive" in the API will not
 10068  // be included in the string output. The member name will be present, but the
 10069  // value will be replaced with "sensitive".
 10070  func (s DescribeDBClusterSnapshotAttributesOutput) GoString() string {
 10071  	return s.String()
 10072  }
 10073  
 10074  // SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
 10075  func (s *DescribeDBClusterSnapshotAttributesOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *DescribeDBClusterSnapshotAttributesOutput {
 10076  	s.DBClusterSnapshotAttributesResult = v
 10077  	return s
 10078  }
 10079  
 10080  // Represents the input to DescribeDBClusterSnapshots.
 10081  type DescribeDBClusterSnapshotsInput struct {
 10082  	_ struct{} `type:"structure"`
 10083  
 10084  	// The ID of the cluster to retrieve the list of cluster snapshots for. This
 10085  	// parameter can't be used with the DBClusterSnapshotIdentifier parameter. This
 10086  	// parameter is not case sensitive.
 10087  	//
 10088  	// Constraints:
 10089  	//
 10090  	//    * If provided, must match the identifier of an existing DBCluster.
 10091  	DBClusterIdentifier *string `type:"string"`
 10092  
 10093  	// A specific cluster snapshot identifier to describe. This parameter can't
 10094  	// be used with the DBClusterIdentifier parameter. This value is stored as a
 10095  	// lowercase string.
 10096  	//
 10097  	// Constraints:
 10098  	//
 10099  	//    * If provided, must match the identifier of an existing DBClusterSnapshot.
 10100  	//
 10101  	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
 10102  	//    must also be specified.
 10103  	DBClusterSnapshotIdentifier *string `type:"string"`
 10104  
 10105  	// This parameter is not currently supported.
 10106  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 10107  
 10108  	// Set to true to include manual cluster snapshots that are public and can be
 10109  	// copied or restored by any account, and otherwise false. The default is false.
 10110  	IncludePublic *bool `type:"boolean"`
 10111  
 10112  	// Set to true to include shared manual cluster snapshots from other accounts
 10113  	// that this account has been given permission to copy or restore, and otherwise
 10114  	// false. The default is false.
 10115  	IncludeShared *bool `type:"boolean"`
 10116  
 10117  	// An optional pagination token provided by a previous request. If this parameter
 10118  	// is specified, the response includes only records beyond the marker, up to
 10119  	// the value specified by MaxRecords.
 10120  	Marker *string `type:"string"`
 10121  
 10122  	// The maximum number of records to include in the response. If more records
 10123  	// exist than the specified MaxRecords value, a pagination token (marker) is
 10124  	// included in the response so that the remaining results can be retrieved.
 10125  	//
 10126  	// Default: 100
 10127  	//
 10128  	// Constraints: Minimum 20, maximum 100.
 10129  	MaxRecords *int64 `type:"integer"`
 10130  
 10131  	// The type of cluster snapshots to be returned. You can specify one of the
 10132  	// following values:
 10133  	//
 10134  	//    * automated - Return all cluster snapshots that Amazon DocumentDB has
 10135  	//    automatically created for your account.
 10136  	//
 10137  	//    * manual - Return all cluster snapshots that you have manually created
 10138  	//    for your account.
 10139  	//
 10140  	//    * shared - Return all manual cluster snapshots that have been shared to
 10141  	//    your account.
 10142  	//
 10143  	//    * public - Return all cluster snapshots that have been marked as public.
 10144  	//
 10145  	// If you don't specify a SnapshotType value, then both automated and manual
 10146  	// cluster snapshots are returned. You can include shared cluster snapshots
 10147  	// with these results by setting the IncludeShared parameter to true. You can
 10148  	// include public cluster snapshots with these results by setting theIncludePublic
 10149  	// parameter to true.
 10150  	//
 10151  	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
 10152  	// values of manual or automated. The IncludePublic parameter doesn't apply
 10153  	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
 10154  	// when SnapshotType is set to public.
 10155  	SnapshotType *string `type:"string"`
 10156  }
 10157  
 10158  // String returns the string representation.
 10159  //
 10160  // API parameter values that are decorated as "sensitive" in the API will not
 10161  // be included in the string output. The member name will be present, but the
 10162  // value will be replaced with "sensitive".
 10163  func (s DescribeDBClusterSnapshotsInput) String() string {
 10164  	return awsutil.Prettify(s)
 10165  }
 10166  
 10167  // GoString returns the string representation.
 10168  //
 10169  // API parameter values that are decorated as "sensitive" in the API will not
 10170  // be included in the string output. The member name will be present, but the
 10171  // value will be replaced with "sensitive".
 10172  func (s DescribeDBClusterSnapshotsInput) GoString() string {
 10173  	return s.String()
 10174  }
 10175  
 10176  // Validate inspects the fields of the type to determine if they are valid.
 10177  func (s *DescribeDBClusterSnapshotsInput) Validate() error {
 10178  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotsInput"}
 10179  	if s.Filters != nil {
 10180  		for i, v := range s.Filters {
 10181  			if v == nil {
 10182  				continue
 10183  			}
 10184  			if err := v.Validate(); err != nil {
 10185  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 10186  			}
 10187  		}
 10188  	}
 10189  
 10190  	if invalidParams.Len() > 0 {
 10191  		return invalidParams
 10192  	}
 10193  	return nil
 10194  }
 10195  
 10196  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 10197  func (s *DescribeDBClusterSnapshotsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterSnapshotsInput {
 10198  	s.DBClusterIdentifier = &v
 10199  	return s
 10200  }
 10201  
 10202  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
 10203  func (s *DescribeDBClusterSnapshotsInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotsInput {
 10204  	s.DBClusterSnapshotIdentifier = &v
 10205  	return s
 10206  }
 10207  
 10208  // SetFilters sets the Filters field's value.
 10209  func (s *DescribeDBClusterSnapshotsInput) SetFilters(v []*Filter) *DescribeDBClusterSnapshotsInput {
 10210  	s.Filters = v
 10211  	return s
 10212  }
 10213  
 10214  // SetIncludePublic sets the IncludePublic field's value.
 10215  func (s *DescribeDBClusterSnapshotsInput) SetIncludePublic(v bool) *DescribeDBClusterSnapshotsInput {
 10216  	s.IncludePublic = &v
 10217  	return s
 10218  }
 10219  
 10220  // SetIncludeShared sets the IncludeShared field's value.
 10221  func (s *DescribeDBClusterSnapshotsInput) SetIncludeShared(v bool) *DescribeDBClusterSnapshotsInput {
 10222  	s.IncludeShared = &v
 10223  	return s
 10224  }
 10225  
 10226  // SetMarker sets the Marker field's value.
 10227  func (s *DescribeDBClusterSnapshotsInput) SetMarker(v string) *DescribeDBClusterSnapshotsInput {
 10228  	s.Marker = &v
 10229  	return s
 10230  }
 10231  
 10232  // SetMaxRecords sets the MaxRecords field's value.
 10233  func (s *DescribeDBClusterSnapshotsInput) SetMaxRecords(v int64) *DescribeDBClusterSnapshotsInput {
 10234  	s.MaxRecords = &v
 10235  	return s
 10236  }
 10237  
 10238  // SetSnapshotType sets the SnapshotType field's value.
 10239  func (s *DescribeDBClusterSnapshotsInput) SetSnapshotType(v string) *DescribeDBClusterSnapshotsInput {
 10240  	s.SnapshotType = &v
 10241  	return s
 10242  }
 10243  
 10244  // Represents the output of DescribeDBClusterSnapshots.
 10245  type DescribeDBClusterSnapshotsOutput struct {
 10246  	_ struct{} `type:"structure"`
 10247  
 10248  	// Provides a list of cluster snapshots.
 10249  	DBClusterSnapshots []*DBClusterSnapshot `locationNameList:"DBClusterSnapshot" type:"list"`
 10250  
 10251  	// An optional pagination token provided by a previous request. If this parameter
 10252  	// is specified, the response includes only records beyond the marker, up to
 10253  	// the value specified by MaxRecords.
 10254  	Marker *string `type:"string"`
 10255  }
 10256  
 10257  // String returns the string representation.
 10258  //
 10259  // API parameter values that are decorated as "sensitive" in the API will not
 10260  // be included in the string output. The member name will be present, but the
 10261  // value will be replaced with "sensitive".
 10262  func (s DescribeDBClusterSnapshotsOutput) String() string {
 10263  	return awsutil.Prettify(s)
 10264  }
 10265  
 10266  // GoString returns the string representation.
 10267  //
 10268  // API parameter values that are decorated as "sensitive" in the API will not
 10269  // be included in the string output. The member name will be present, but the
 10270  // value will be replaced with "sensitive".
 10271  func (s DescribeDBClusterSnapshotsOutput) GoString() string {
 10272  	return s.String()
 10273  }
 10274  
 10275  // SetDBClusterSnapshots sets the DBClusterSnapshots field's value.
 10276  func (s *DescribeDBClusterSnapshotsOutput) SetDBClusterSnapshots(v []*DBClusterSnapshot) *DescribeDBClusterSnapshotsOutput {
 10277  	s.DBClusterSnapshots = v
 10278  	return s
 10279  }
 10280  
 10281  // SetMarker sets the Marker field's value.
 10282  func (s *DescribeDBClusterSnapshotsOutput) SetMarker(v string) *DescribeDBClusterSnapshotsOutput {
 10283  	s.Marker = &v
 10284  	return s
 10285  }
 10286  
 10287  // Represents the input to DescribeDBClusters.
 10288  type DescribeDBClustersInput struct {
 10289  	_ struct{} `type:"structure"`
 10290  
 10291  	// The user-provided cluster identifier. If this parameter is specified, information
 10292  	// from only the specific cluster is returned. This parameter isn't case sensitive.
 10293  	//
 10294  	// Constraints:
 10295  	//
 10296  	//    * If provided, must match an existing DBClusterIdentifier.
 10297  	DBClusterIdentifier *string `type:"string"`
 10298  
 10299  	// A filter that specifies one or more clusters to describe.
 10300  	//
 10301  	// Supported filters:
 10302  	//
 10303  	//    * db-cluster-id - Accepts cluster identifiers and cluster Amazon Resource
 10304  	//    Names (ARNs). The results list only includes information about the clusters
 10305  	//    identified by these ARNs.
 10306  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 10307  
 10308  	// An optional pagination token provided by a previous request. If this parameter
 10309  	// is specified, the response includes only records beyond the marker, up to
 10310  	// the value specified by MaxRecords.
 10311  	Marker *string `type:"string"`
 10312  
 10313  	// The maximum number of records to include in the response. If more records
 10314  	// exist than the specified MaxRecords value, a pagination token (marker) is
 10315  	// included in the response so that the remaining results can be retrieved.
 10316  	//
 10317  	// Default: 100
 10318  	//
 10319  	// Constraints: Minimum 20, maximum 100.
 10320  	MaxRecords *int64 `type:"integer"`
 10321  }
 10322  
 10323  // String returns the string representation.
 10324  //
 10325  // API parameter values that are decorated as "sensitive" in the API will not
 10326  // be included in the string output. The member name will be present, but the
 10327  // value will be replaced with "sensitive".
 10328  func (s DescribeDBClustersInput) String() string {
 10329  	return awsutil.Prettify(s)
 10330  }
 10331  
 10332  // GoString returns the string representation.
 10333  //
 10334  // API parameter values that are decorated as "sensitive" in the API will not
 10335  // be included in the string output. The member name will be present, but the
 10336  // value will be replaced with "sensitive".
 10337  func (s DescribeDBClustersInput) GoString() string {
 10338  	return s.String()
 10339  }
 10340  
 10341  // Validate inspects the fields of the type to determine if they are valid.
 10342  func (s *DescribeDBClustersInput) Validate() error {
 10343  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClustersInput"}
 10344  	if s.Filters != nil {
 10345  		for i, v := range s.Filters {
 10346  			if v == nil {
 10347  				continue
 10348  			}
 10349  			if err := v.Validate(); err != nil {
 10350  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 10351  			}
 10352  		}
 10353  	}
 10354  
 10355  	if invalidParams.Len() > 0 {
 10356  		return invalidParams
 10357  	}
 10358  	return nil
 10359  }
 10360  
 10361  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 10362  func (s *DescribeDBClustersInput) SetDBClusterIdentifier(v string) *DescribeDBClustersInput {
 10363  	s.DBClusterIdentifier = &v
 10364  	return s
 10365  }
 10366  
 10367  // SetFilters sets the Filters field's value.
 10368  func (s *DescribeDBClustersInput) SetFilters(v []*Filter) *DescribeDBClustersInput {
 10369  	s.Filters = v
 10370  	return s
 10371  }
 10372  
 10373  // SetMarker sets the Marker field's value.
 10374  func (s *DescribeDBClustersInput) SetMarker(v string) *DescribeDBClustersInput {
 10375  	s.Marker = &v
 10376  	return s
 10377  }
 10378  
 10379  // SetMaxRecords sets the MaxRecords field's value.
 10380  func (s *DescribeDBClustersInput) SetMaxRecords(v int64) *DescribeDBClustersInput {
 10381  	s.MaxRecords = &v
 10382  	return s
 10383  }
 10384  
 10385  // Represents the output of DescribeDBClusters.
 10386  type DescribeDBClustersOutput struct {
 10387  	_ struct{} `type:"structure"`
 10388  
 10389  	// A list of clusters.
 10390  	DBClusters []*DBCluster `locationNameList:"DBCluster" type:"list"`
 10391  
 10392  	// An optional pagination token provided by a previous request. If this parameter
 10393  	// is specified, the response includes only records beyond the marker, up to
 10394  	// the value specified by MaxRecords.
 10395  	Marker *string `type:"string"`
 10396  }
 10397  
 10398  // String returns the string representation.
 10399  //
 10400  // API parameter values that are decorated as "sensitive" in the API will not
 10401  // be included in the string output. The member name will be present, but the
 10402  // value will be replaced with "sensitive".
 10403  func (s DescribeDBClustersOutput) String() string {
 10404  	return awsutil.Prettify(s)
 10405  }
 10406  
 10407  // GoString returns the string representation.
 10408  //
 10409  // API parameter values that are decorated as "sensitive" in the API will not
 10410  // be included in the string output. The member name will be present, but the
 10411  // value will be replaced with "sensitive".
 10412  func (s DescribeDBClustersOutput) GoString() string {
 10413  	return s.String()
 10414  }
 10415  
 10416  // SetDBClusters sets the DBClusters field's value.
 10417  func (s *DescribeDBClustersOutput) SetDBClusters(v []*DBCluster) *DescribeDBClustersOutput {
 10418  	s.DBClusters = v
 10419  	return s
 10420  }
 10421  
 10422  // SetMarker sets the Marker field's value.
 10423  func (s *DescribeDBClustersOutput) SetMarker(v string) *DescribeDBClustersOutput {
 10424  	s.Marker = &v
 10425  	return s
 10426  }
 10427  
 10428  // Represents the input to DescribeDBEngineVersions.
 10429  type DescribeDBEngineVersionsInput struct {
 10430  	_ struct{} `type:"structure"`
 10431  
 10432  	// The name of a specific parameter group family to return details for.
 10433  	//
 10434  	// Constraints:
 10435  	//
 10436  	//    * If provided, must match an existing DBParameterGroupFamily.
 10437  	DBParameterGroupFamily *string `type:"string"`
 10438  
 10439  	// Indicates that only the default version of the specified engine or engine
 10440  	// and major version combination is returned.
 10441  	DefaultOnly *bool `type:"boolean"`
 10442  
 10443  	// The database engine to return.
 10444  	Engine *string `type:"string"`
 10445  
 10446  	// The database engine version to return.
 10447  	//
 10448  	// Example: 3.6.0
 10449  	EngineVersion *string `type:"string"`
 10450  
 10451  	// This parameter is not currently supported.
 10452  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 10453  
 10454  	// If this parameter is specified and the requested engine supports the CharacterSetName
 10455  	// parameter for CreateDBInstance, the response includes a list of supported
 10456  	// character sets for each engine version.
 10457  	ListSupportedCharacterSets *bool `type:"boolean"`
 10458  
 10459  	// If this parameter is specified and the requested engine supports the TimeZone
 10460  	// parameter for CreateDBInstance, the response includes a list of supported
 10461  	// time zones for each engine version.
 10462  	ListSupportedTimezones *bool `type:"boolean"`
 10463  
 10464  	// An optional pagination token provided by a previous request. If this parameter
 10465  	// is specified, the response includes only records beyond the marker, up to
 10466  	// the value specified by MaxRecords.
 10467  	Marker *string `type:"string"`
 10468  
 10469  	// The maximum number of records to include in the response. If more records
 10470  	// exist than the specified MaxRecords value, a pagination token (marker) is
 10471  	// included in the response so that the remaining results can be retrieved.
 10472  	//
 10473  	// Default: 100
 10474  	//
 10475  	// Constraints: Minimum 20, maximum 100.
 10476  	MaxRecords *int64 `type:"integer"`
 10477  }
 10478  
 10479  // String returns the string representation.
 10480  //
 10481  // API parameter values that are decorated as "sensitive" in the API will not
 10482  // be included in the string output. The member name will be present, but the
 10483  // value will be replaced with "sensitive".
 10484  func (s DescribeDBEngineVersionsInput) String() string {
 10485  	return awsutil.Prettify(s)
 10486  }
 10487  
 10488  // GoString returns the string representation.
 10489  //
 10490  // API parameter values that are decorated as "sensitive" in the API will not
 10491  // be included in the string output. The member name will be present, but the
 10492  // value will be replaced with "sensitive".
 10493  func (s DescribeDBEngineVersionsInput) GoString() string {
 10494  	return s.String()
 10495  }
 10496  
 10497  // Validate inspects the fields of the type to determine if they are valid.
 10498  func (s *DescribeDBEngineVersionsInput) Validate() error {
 10499  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBEngineVersionsInput"}
 10500  	if s.Filters != nil {
 10501  		for i, v := range s.Filters {
 10502  			if v == nil {
 10503  				continue
 10504  			}
 10505  			if err := v.Validate(); err != nil {
 10506  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 10507  			}
 10508  		}
 10509  	}
 10510  
 10511  	if invalidParams.Len() > 0 {
 10512  		return invalidParams
 10513  	}
 10514  	return nil
 10515  }
 10516  
 10517  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 10518  func (s *DescribeDBEngineVersionsInput) SetDBParameterGroupFamily(v string) *DescribeDBEngineVersionsInput {
 10519  	s.DBParameterGroupFamily = &v
 10520  	return s
 10521  }
 10522  
 10523  // SetDefaultOnly sets the DefaultOnly field's value.
 10524  func (s *DescribeDBEngineVersionsInput) SetDefaultOnly(v bool) *DescribeDBEngineVersionsInput {
 10525  	s.DefaultOnly = &v
 10526  	return s
 10527  }
 10528  
 10529  // SetEngine sets the Engine field's value.
 10530  func (s *DescribeDBEngineVersionsInput) SetEngine(v string) *DescribeDBEngineVersionsInput {
 10531  	s.Engine = &v
 10532  	return s
 10533  }
 10534  
 10535  // SetEngineVersion sets the EngineVersion field's value.
 10536  func (s *DescribeDBEngineVersionsInput) SetEngineVersion(v string) *DescribeDBEngineVersionsInput {
 10537  	s.EngineVersion = &v
 10538  	return s
 10539  }
 10540  
 10541  // SetFilters sets the Filters field's value.
 10542  func (s *DescribeDBEngineVersionsInput) SetFilters(v []*Filter) *DescribeDBEngineVersionsInput {
 10543  	s.Filters = v
 10544  	return s
 10545  }
 10546  
 10547  // SetListSupportedCharacterSets sets the ListSupportedCharacterSets field's value.
 10548  func (s *DescribeDBEngineVersionsInput) SetListSupportedCharacterSets(v bool) *DescribeDBEngineVersionsInput {
 10549  	s.ListSupportedCharacterSets = &v
 10550  	return s
 10551  }
 10552  
 10553  // SetListSupportedTimezones sets the ListSupportedTimezones field's value.
 10554  func (s *DescribeDBEngineVersionsInput) SetListSupportedTimezones(v bool) *DescribeDBEngineVersionsInput {
 10555  	s.ListSupportedTimezones = &v
 10556  	return s
 10557  }
 10558  
 10559  // SetMarker sets the Marker field's value.
 10560  func (s *DescribeDBEngineVersionsInput) SetMarker(v string) *DescribeDBEngineVersionsInput {
 10561  	s.Marker = &v
 10562  	return s
 10563  }
 10564  
 10565  // SetMaxRecords sets the MaxRecords field's value.
 10566  func (s *DescribeDBEngineVersionsInput) SetMaxRecords(v int64) *DescribeDBEngineVersionsInput {
 10567  	s.MaxRecords = &v
 10568  	return s
 10569  }
 10570  
 10571  // Represents the output of DescribeDBEngineVersions.
 10572  type DescribeDBEngineVersionsOutput struct {
 10573  	_ struct{} `type:"structure"`
 10574  
 10575  	// Detailed information about one or more engine versions.
 10576  	DBEngineVersions []*DBEngineVersion `locationNameList:"DBEngineVersion" type:"list"`
 10577  
 10578  	// An optional pagination token provided by a previous request. If this parameter
 10579  	// is specified, the response includes only records beyond the marker, up to
 10580  	// the value specified by MaxRecords.
 10581  	Marker *string `type:"string"`
 10582  }
 10583  
 10584  // String returns the string representation.
 10585  //
 10586  // API parameter values that are decorated as "sensitive" in the API will not
 10587  // be included in the string output. The member name will be present, but the
 10588  // value will be replaced with "sensitive".
 10589  func (s DescribeDBEngineVersionsOutput) String() string {
 10590  	return awsutil.Prettify(s)
 10591  }
 10592  
 10593  // GoString returns the string representation.
 10594  //
 10595  // API parameter values that are decorated as "sensitive" in the API will not
 10596  // be included in the string output. The member name will be present, but the
 10597  // value will be replaced with "sensitive".
 10598  func (s DescribeDBEngineVersionsOutput) GoString() string {
 10599  	return s.String()
 10600  }
 10601  
 10602  // SetDBEngineVersions sets the DBEngineVersions field's value.
 10603  func (s *DescribeDBEngineVersionsOutput) SetDBEngineVersions(v []*DBEngineVersion) *DescribeDBEngineVersionsOutput {
 10604  	s.DBEngineVersions = v
 10605  	return s
 10606  }
 10607  
 10608  // SetMarker sets the Marker field's value.
 10609  func (s *DescribeDBEngineVersionsOutput) SetMarker(v string) *DescribeDBEngineVersionsOutput {
 10610  	s.Marker = &v
 10611  	return s
 10612  }
 10613  
 10614  // Represents the input to DescribeDBInstances.
 10615  type DescribeDBInstancesInput struct {
 10616  	_ struct{} `type:"structure"`
 10617  
 10618  	// The user-provided instance identifier. If this parameter is specified, information
 10619  	// from only the specific instance is returned. This parameter isn't case sensitive.
 10620  	//
 10621  	// Constraints:
 10622  	//
 10623  	//    * If provided, must match the identifier of an existing DBInstance.
 10624  	DBInstanceIdentifier *string `type:"string"`
 10625  
 10626  	// A filter that specifies one or more instances to describe.
 10627  	//
 10628  	// Supported filters:
 10629  	//
 10630  	//    * db-cluster-id - Accepts cluster identifiers and cluster Amazon Resource
 10631  	//    Names (ARNs). The results list includes only the information about the
 10632  	//    instances that are associated with the clusters that are identified by
 10633  	//    these ARNs.
 10634  	//
 10635  	//    * db-instance-id - Accepts instance identifiers and instance ARNs. The
 10636  	//    results list includes only the information about the instances that are
 10637  	//    identified by these ARNs.
 10638  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 10639  
 10640  	// An optional pagination token provided by a previous request. If this parameter
 10641  	// is specified, the response includes only records beyond the marker, up to
 10642  	// the value specified by MaxRecords.
 10643  	Marker *string `type:"string"`
 10644  
 10645  	// The maximum number of records to include in the response. If more records
 10646  	// exist than the specified MaxRecords value, a pagination token (marker) is
 10647  	// included in the response so that the remaining results can be retrieved.
 10648  	//
 10649  	// Default: 100
 10650  	//
 10651  	// Constraints: Minimum 20, maximum 100.
 10652  	MaxRecords *int64 `type:"integer"`
 10653  }
 10654  
 10655  // String returns the string representation.
 10656  //
 10657  // API parameter values that are decorated as "sensitive" in the API will not
 10658  // be included in the string output. The member name will be present, but the
 10659  // value will be replaced with "sensitive".
 10660  func (s DescribeDBInstancesInput) String() string {
 10661  	return awsutil.Prettify(s)
 10662  }
 10663  
 10664  // GoString returns the string representation.
 10665  //
 10666  // API parameter values that are decorated as "sensitive" in the API will not
 10667  // be included in the string output. The member name will be present, but the
 10668  // value will be replaced with "sensitive".
 10669  func (s DescribeDBInstancesInput) GoString() string {
 10670  	return s.String()
 10671  }
 10672  
 10673  // Validate inspects the fields of the type to determine if they are valid.
 10674  func (s *DescribeDBInstancesInput) Validate() error {
 10675  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstancesInput"}
 10676  	if s.Filters != nil {
 10677  		for i, v := range s.Filters {
 10678  			if v == nil {
 10679  				continue
 10680  			}
 10681  			if err := v.Validate(); err != nil {
 10682  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 10683  			}
 10684  		}
 10685  	}
 10686  
 10687  	if invalidParams.Len() > 0 {
 10688  		return invalidParams
 10689  	}
 10690  	return nil
 10691  }
 10692  
 10693  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 10694  func (s *DescribeDBInstancesInput) SetDBInstanceIdentifier(v string) *DescribeDBInstancesInput {
 10695  	s.DBInstanceIdentifier = &v
 10696  	return s
 10697  }
 10698  
 10699  // SetFilters sets the Filters field's value.
 10700  func (s *DescribeDBInstancesInput) SetFilters(v []*Filter) *DescribeDBInstancesInput {
 10701  	s.Filters = v
 10702  	return s
 10703  }
 10704  
 10705  // SetMarker sets the Marker field's value.
 10706  func (s *DescribeDBInstancesInput) SetMarker(v string) *DescribeDBInstancesInput {
 10707  	s.Marker = &v
 10708  	return s
 10709  }
 10710  
 10711  // SetMaxRecords sets the MaxRecords field's value.
 10712  func (s *DescribeDBInstancesInput) SetMaxRecords(v int64) *DescribeDBInstancesInput {
 10713  	s.MaxRecords = &v
 10714  	return s
 10715  }
 10716  
 10717  // Represents the output of DescribeDBInstances.
 10718  type DescribeDBInstancesOutput struct {
 10719  	_ struct{} `type:"structure"`
 10720  
 10721  	// Detailed information about one or more instances.
 10722  	DBInstances []*DBInstance `locationNameList:"DBInstance" type:"list"`
 10723  
 10724  	// An optional pagination token provided by a previous request. If this parameter
 10725  	// is specified, the response includes only records beyond the marker, up to
 10726  	// the value specified by MaxRecords.
 10727  	Marker *string `type:"string"`
 10728  }
 10729  
 10730  // String returns the string representation.
 10731  //
 10732  // API parameter values that are decorated as "sensitive" in the API will not
 10733  // be included in the string output. The member name will be present, but the
 10734  // value will be replaced with "sensitive".
 10735  func (s DescribeDBInstancesOutput) String() string {
 10736  	return awsutil.Prettify(s)
 10737  }
 10738  
 10739  // GoString returns the string representation.
 10740  //
 10741  // API parameter values that are decorated as "sensitive" in the API will not
 10742  // be included in the string output. The member name will be present, but the
 10743  // value will be replaced with "sensitive".
 10744  func (s DescribeDBInstancesOutput) GoString() string {
 10745  	return s.String()
 10746  }
 10747  
 10748  // SetDBInstances sets the DBInstances field's value.
 10749  func (s *DescribeDBInstancesOutput) SetDBInstances(v []*DBInstance) *DescribeDBInstancesOutput {
 10750  	s.DBInstances = v
 10751  	return s
 10752  }
 10753  
 10754  // SetMarker sets the Marker field's value.
 10755  func (s *DescribeDBInstancesOutput) SetMarker(v string) *DescribeDBInstancesOutput {
 10756  	s.Marker = &v
 10757  	return s
 10758  }
 10759  
 10760  // Represents the input to DescribeDBSubnetGroups.
 10761  type DescribeDBSubnetGroupsInput struct {
 10762  	_ struct{} `type:"structure"`
 10763  
 10764  	// The name of the subnet group to return details for.
 10765  	DBSubnetGroupName *string `type:"string"`
 10766  
 10767  	// This parameter is not currently supported.
 10768  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 10769  
 10770  	// An optional pagination token provided by a previous request. If this parameter
 10771  	// is specified, the response includes only records beyond the marker, up to
 10772  	// the value specified by MaxRecords.
 10773  	Marker *string `type:"string"`
 10774  
 10775  	// The maximum number of records to include in the response. If more records
 10776  	// exist than the specified MaxRecords value, a pagination token (marker) is
 10777  	// included in the response so that the remaining results can be retrieved.
 10778  	//
 10779  	// Default: 100
 10780  	//
 10781  	// Constraints: Minimum 20, maximum 100.
 10782  	MaxRecords *int64 `type:"integer"`
 10783  }
 10784  
 10785  // String returns the string representation.
 10786  //
 10787  // API parameter values that are decorated as "sensitive" in the API will not
 10788  // be included in the string output. The member name will be present, but the
 10789  // value will be replaced with "sensitive".
 10790  func (s DescribeDBSubnetGroupsInput) String() string {
 10791  	return awsutil.Prettify(s)
 10792  }
 10793  
 10794  // GoString returns the string representation.
 10795  //
 10796  // API parameter values that are decorated as "sensitive" in the API will not
 10797  // be included in the string output. The member name will be present, but the
 10798  // value will be replaced with "sensitive".
 10799  func (s DescribeDBSubnetGroupsInput) GoString() string {
 10800  	return s.String()
 10801  }
 10802  
 10803  // Validate inspects the fields of the type to determine if they are valid.
 10804  func (s *DescribeDBSubnetGroupsInput) Validate() error {
 10805  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSubnetGroupsInput"}
 10806  	if s.Filters != nil {
 10807  		for i, v := range s.Filters {
 10808  			if v == nil {
 10809  				continue
 10810  			}
 10811  			if err := v.Validate(); err != nil {
 10812  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 10813  			}
 10814  		}
 10815  	}
 10816  
 10817  	if invalidParams.Len() > 0 {
 10818  		return invalidParams
 10819  	}
 10820  	return nil
 10821  }
 10822  
 10823  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 10824  func (s *DescribeDBSubnetGroupsInput) SetDBSubnetGroupName(v string) *DescribeDBSubnetGroupsInput {
 10825  	s.DBSubnetGroupName = &v
 10826  	return s
 10827  }
 10828  
 10829  // SetFilters sets the Filters field's value.
 10830  func (s *DescribeDBSubnetGroupsInput) SetFilters(v []*Filter) *DescribeDBSubnetGroupsInput {
 10831  	s.Filters = v
 10832  	return s
 10833  }
 10834  
 10835  // SetMarker sets the Marker field's value.
 10836  func (s *DescribeDBSubnetGroupsInput) SetMarker(v string) *DescribeDBSubnetGroupsInput {
 10837  	s.Marker = &v
 10838  	return s
 10839  }
 10840  
 10841  // SetMaxRecords sets the MaxRecords field's value.
 10842  func (s *DescribeDBSubnetGroupsInput) SetMaxRecords(v int64) *DescribeDBSubnetGroupsInput {
 10843  	s.MaxRecords = &v
 10844  	return s
 10845  }
 10846  
 10847  // Represents the output of DescribeDBSubnetGroups.
 10848  type DescribeDBSubnetGroupsOutput struct {
 10849  	_ struct{} `type:"structure"`
 10850  
 10851  	// Detailed information about one or more subnet groups.
 10852  	DBSubnetGroups []*DBSubnetGroup `locationNameList:"DBSubnetGroup" type:"list"`
 10853  
 10854  	// An optional pagination token provided by a previous request. If this parameter
 10855  	// is specified, the response includes only records beyond the marker, up to
 10856  	// the value specified by MaxRecords.
 10857  	Marker *string `type:"string"`
 10858  }
 10859  
 10860  // String returns the string representation.
 10861  //
 10862  // API parameter values that are decorated as "sensitive" in the API will not
 10863  // be included in the string output. The member name will be present, but the
 10864  // value will be replaced with "sensitive".
 10865  func (s DescribeDBSubnetGroupsOutput) String() string {
 10866  	return awsutil.Prettify(s)
 10867  }
 10868  
 10869  // GoString returns the string representation.
 10870  //
 10871  // API parameter values that are decorated as "sensitive" in the API will not
 10872  // be included in the string output. The member name will be present, but the
 10873  // value will be replaced with "sensitive".
 10874  func (s DescribeDBSubnetGroupsOutput) GoString() string {
 10875  	return s.String()
 10876  }
 10877  
 10878  // SetDBSubnetGroups sets the DBSubnetGroups field's value.
 10879  func (s *DescribeDBSubnetGroupsOutput) SetDBSubnetGroups(v []*DBSubnetGroup) *DescribeDBSubnetGroupsOutput {
 10880  	s.DBSubnetGroups = v
 10881  	return s
 10882  }
 10883  
 10884  // SetMarker sets the Marker field's value.
 10885  func (s *DescribeDBSubnetGroupsOutput) SetMarker(v string) *DescribeDBSubnetGroupsOutput {
 10886  	s.Marker = &v
 10887  	return s
 10888  }
 10889  
 10890  // Represents the input to DescribeEngineDefaultClusterParameters.
 10891  type DescribeEngineDefaultClusterParametersInput struct {
 10892  	_ struct{} `type:"structure"`
 10893  
 10894  	// The name of the cluster parameter group family to return the engine parameter
 10895  	// information for.
 10896  	//
 10897  	// DBParameterGroupFamily is a required field
 10898  	DBParameterGroupFamily *string `type:"string" required:"true"`
 10899  
 10900  	// This parameter is not currently supported.
 10901  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 10902  
 10903  	// An optional pagination token provided by a previous request. If this parameter
 10904  	// is specified, the response includes only records beyond the marker, up to
 10905  	// the value specified by MaxRecords.
 10906  	Marker *string `type:"string"`
 10907  
 10908  	// The maximum number of records to include in the response. If more records
 10909  	// exist than the specified MaxRecords value, a pagination token (marker) is
 10910  	// included in the response so that the remaining results can be retrieved.
 10911  	//
 10912  	// Default: 100
 10913  	//
 10914  	// Constraints: Minimum 20, maximum 100.
 10915  	MaxRecords *int64 `type:"integer"`
 10916  }
 10917  
 10918  // String returns the string representation.
 10919  //
 10920  // API parameter values that are decorated as "sensitive" in the API will not
 10921  // be included in the string output. The member name will be present, but the
 10922  // value will be replaced with "sensitive".
 10923  func (s DescribeEngineDefaultClusterParametersInput) String() string {
 10924  	return awsutil.Prettify(s)
 10925  }
 10926  
 10927  // GoString returns the string representation.
 10928  //
 10929  // API parameter values that are decorated as "sensitive" in the API will not
 10930  // be included in the string output. The member name will be present, but the
 10931  // value will be replaced with "sensitive".
 10932  func (s DescribeEngineDefaultClusterParametersInput) GoString() string {
 10933  	return s.String()
 10934  }
 10935  
 10936  // Validate inspects the fields of the type to determine if they are valid.
 10937  func (s *DescribeEngineDefaultClusterParametersInput) Validate() error {
 10938  	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultClusterParametersInput"}
 10939  	if s.DBParameterGroupFamily == nil {
 10940  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
 10941  	}
 10942  	if s.Filters != nil {
 10943  		for i, v := range s.Filters {
 10944  			if v == nil {
 10945  				continue
 10946  			}
 10947  			if err := v.Validate(); err != nil {
 10948  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 10949  			}
 10950  		}
 10951  	}
 10952  
 10953  	if invalidParams.Len() > 0 {
 10954  		return invalidParams
 10955  	}
 10956  	return nil
 10957  }
 10958  
 10959  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 10960  func (s *DescribeEngineDefaultClusterParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultClusterParametersInput {
 10961  	s.DBParameterGroupFamily = &v
 10962  	return s
 10963  }
 10964  
 10965  // SetFilters sets the Filters field's value.
 10966  func (s *DescribeEngineDefaultClusterParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultClusterParametersInput {
 10967  	s.Filters = v
 10968  	return s
 10969  }
 10970  
 10971  // SetMarker sets the Marker field's value.
 10972  func (s *DescribeEngineDefaultClusterParametersInput) SetMarker(v string) *DescribeEngineDefaultClusterParametersInput {
 10973  	s.Marker = &v
 10974  	return s
 10975  }
 10976  
 10977  // SetMaxRecords sets the MaxRecords field's value.
 10978  func (s *DescribeEngineDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultClusterParametersInput {
 10979  	s.MaxRecords = &v
 10980  	return s
 10981  }
 10982  
 10983  type DescribeEngineDefaultClusterParametersOutput struct {
 10984  	_ struct{} `type:"structure"`
 10985  
 10986  	// Contains the result of a successful invocation of the DescribeEngineDefaultClusterParameters
 10987  	// operation.
 10988  	EngineDefaults *EngineDefaults `type:"structure"`
 10989  }
 10990  
 10991  // String returns the string representation.
 10992  //
 10993  // API parameter values that are decorated as "sensitive" in the API will not
 10994  // be included in the string output. The member name will be present, but the
 10995  // value will be replaced with "sensitive".
 10996  func (s DescribeEngineDefaultClusterParametersOutput) String() string {
 10997  	return awsutil.Prettify(s)
 10998  }
 10999  
 11000  // GoString returns the string representation.
 11001  //
 11002  // API parameter values that are decorated as "sensitive" in the API will not
 11003  // be included in the string output. The member name will be present, but the
 11004  // value will be replaced with "sensitive".
 11005  func (s DescribeEngineDefaultClusterParametersOutput) GoString() string {
 11006  	return s.String()
 11007  }
 11008  
 11009  // SetEngineDefaults sets the EngineDefaults field's value.
 11010  func (s *DescribeEngineDefaultClusterParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultClusterParametersOutput {
 11011  	s.EngineDefaults = v
 11012  	return s
 11013  }
 11014  
 11015  // Represents the input to DescribeEventCategories.
 11016  type DescribeEventCategoriesInput struct {
 11017  	_ struct{} `type:"structure"`
 11018  
 11019  	// This parameter is not currently supported.
 11020  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 11021  
 11022  	// The type of source that is generating the events.
 11023  	//
 11024  	// Valid values: db-instance, db-parameter-group, db-security-group
 11025  	SourceType *string `type:"string"`
 11026  }
 11027  
 11028  // String returns the string representation.
 11029  //
 11030  // API parameter values that are decorated as "sensitive" in the API will not
 11031  // be included in the string output. The member name will be present, but the
 11032  // value will be replaced with "sensitive".
 11033  func (s DescribeEventCategoriesInput) String() string {
 11034  	return awsutil.Prettify(s)
 11035  }
 11036  
 11037  // GoString returns the string representation.
 11038  //
 11039  // API parameter values that are decorated as "sensitive" in the API will not
 11040  // be included in the string output. The member name will be present, but the
 11041  // value will be replaced with "sensitive".
 11042  func (s DescribeEventCategoriesInput) GoString() string {
 11043  	return s.String()
 11044  }
 11045  
 11046  // Validate inspects the fields of the type to determine if they are valid.
 11047  func (s *DescribeEventCategoriesInput) Validate() error {
 11048  	invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"}
 11049  	if s.Filters != nil {
 11050  		for i, v := range s.Filters {
 11051  			if v == nil {
 11052  				continue
 11053  			}
 11054  			if err := v.Validate(); err != nil {
 11055  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 11056  			}
 11057  		}
 11058  	}
 11059  
 11060  	if invalidParams.Len() > 0 {
 11061  		return invalidParams
 11062  	}
 11063  	return nil
 11064  }
 11065  
 11066  // SetFilters sets the Filters field's value.
 11067  func (s *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput {
 11068  	s.Filters = v
 11069  	return s
 11070  }
 11071  
 11072  // SetSourceType sets the SourceType field's value.
 11073  func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput {
 11074  	s.SourceType = &v
 11075  	return s
 11076  }
 11077  
 11078  // Represents the output of DescribeEventCategories.
 11079  type DescribeEventCategoriesOutput struct {
 11080  	_ struct{} `type:"structure"`
 11081  
 11082  	// A list of event category maps.
 11083  	EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"`
 11084  }
 11085  
 11086  // String returns the string representation.
 11087  //
 11088  // API parameter values that are decorated as "sensitive" in the API will not
 11089  // be included in the string output. The member name will be present, but the
 11090  // value will be replaced with "sensitive".
 11091  func (s DescribeEventCategoriesOutput) String() string {
 11092  	return awsutil.Prettify(s)
 11093  }
 11094  
 11095  // GoString 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 DescribeEventCategoriesOutput) GoString() string {
 11101  	return s.String()
 11102  }
 11103  
 11104  // SetEventCategoriesMapList sets the EventCategoriesMapList field's value.
 11105  func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput {
 11106  	s.EventCategoriesMapList = v
 11107  	return s
 11108  }
 11109  
 11110  // Represents the input to DescribeEventSubscriptions.
 11111  type DescribeEventSubscriptionsInput struct {
 11112  	_ struct{} `type:"structure"`
 11113  
 11114  	// This parameter is not currently supported.
 11115  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 11116  
 11117  	// An optional pagination token provided by a previous request. If this parameter
 11118  	// is specified, the response includes only records beyond the marker, up to
 11119  	// the value specified by MaxRecords.
 11120  	Marker *string `type:"string"`
 11121  
 11122  	// The maximum number of records to include in the response. If more records
 11123  	// exist than the specified MaxRecords value, a pagination token (marker) is
 11124  	// included in the response so that the remaining results can be retrieved.
 11125  	//
 11126  	// Default: 100
 11127  	//
 11128  	// Constraints: Minimum 20, maximum 100.
 11129  	MaxRecords *int64 `type:"integer"`
 11130  
 11131  	// The name of the Amazon DocumentDB event notification subscription that you
 11132  	// want to describe.
 11133  	SubscriptionName *string `type:"string"`
 11134  }
 11135  
 11136  // String returns the string representation.
 11137  //
 11138  // API parameter values that are decorated as "sensitive" in the API will not
 11139  // be included in the string output. The member name will be present, but the
 11140  // value will be replaced with "sensitive".
 11141  func (s DescribeEventSubscriptionsInput) String() string {
 11142  	return awsutil.Prettify(s)
 11143  }
 11144  
 11145  // GoString returns the string representation.
 11146  //
 11147  // API parameter values that are decorated as "sensitive" in the API will not
 11148  // be included in the string output. The member name will be present, but the
 11149  // value will be replaced with "sensitive".
 11150  func (s DescribeEventSubscriptionsInput) GoString() string {
 11151  	return s.String()
 11152  }
 11153  
 11154  // Validate inspects the fields of the type to determine if they are valid.
 11155  func (s *DescribeEventSubscriptionsInput) Validate() error {
 11156  	invalidParams := request.ErrInvalidParams{Context: "DescribeEventSubscriptionsInput"}
 11157  	if s.Filters != nil {
 11158  		for i, v := range s.Filters {
 11159  			if v == nil {
 11160  				continue
 11161  			}
 11162  			if err := v.Validate(); err != nil {
 11163  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 11164  			}
 11165  		}
 11166  	}
 11167  
 11168  	if invalidParams.Len() > 0 {
 11169  		return invalidParams
 11170  	}
 11171  	return nil
 11172  }
 11173  
 11174  // SetFilters sets the Filters field's value.
 11175  func (s *DescribeEventSubscriptionsInput) SetFilters(v []*Filter) *DescribeEventSubscriptionsInput {
 11176  	s.Filters = v
 11177  	return s
 11178  }
 11179  
 11180  // SetMarker sets the Marker field's value.
 11181  func (s *DescribeEventSubscriptionsInput) SetMarker(v string) *DescribeEventSubscriptionsInput {
 11182  	s.Marker = &v
 11183  	return s
 11184  }
 11185  
 11186  // SetMaxRecords sets the MaxRecords field's value.
 11187  func (s *DescribeEventSubscriptionsInput) SetMaxRecords(v int64) *DescribeEventSubscriptionsInput {
 11188  	s.MaxRecords = &v
 11189  	return s
 11190  }
 11191  
 11192  // SetSubscriptionName sets the SubscriptionName field's value.
 11193  func (s *DescribeEventSubscriptionsInput) SetSubscriptionName(v string) *DescribeEventSubscriptionsInput {
 11194  	s.SubscriptionName = &v
 11195  	return s
 11196  }
 11197  
 11198  // Represents the output of DescribeEventSubscriptions.
 11199  type DescribeEventSubscriptionsOutput struct {
 11200  	_ struct{} `type:"structure"`
 11201  
 11202  	// A list of event subscriptions.
 11203  	EventSubscriptionsList []*EventSubscription `locationNameList:"EventSubscription" type:"list"`
 11204  
 11205  	// An optional pagination token provided by a previous request. If this parameter
 11206  	// is specified, the response includes only records beyond the marker, up to
 11207  	// the value specified by MaxRecords.
 11208  	Marker *string `type:"string"`
 11209  }
 11210  
 11211  // String returns the string representation.
 11212  //
 11213  // API parameter values that are decorated as "sensitive" in the API will not
 11214  // be included in the string output. The member name will be present, but the
 11215  // value will be replaced with "sensitive".
 11216  func (s DescribeEventSubscriptionsOutput) String() string {
 11217  	return awsutil.Prettify(s)
 11218  }
 11219  
 11220  // GoString returns the string representation.
 11221  //
 11222  // API parameter values that are decorated as "sensitive" in the API will not
 11223  // be included in the string output. The member name will be present, but the
 11224  // value will be replaced with "sensitive".
 11225  func (s DescribeEventSubscriptionsOutput) GoString() string {
 11226  	return s.String()
 11227  }
 11228  
 11229  // SetEventSubscriptionsList sets the EventSubscriptionsList field's value.
 11230  func (s *DescribeEventSubscriptionsOutput) SetEventSubscriptionsList(v []*EventSubscription) *DescribeEventSubscriptionsOutput {
 11231  	s.EventSubscriptionsList = v
 11232  	return s
 11233  }
 11234  
 11235  // SetMarker sets the Marker field's value.
 11236  func (s *DescribeEventSubscriptionsOutput) SetMarker(v string) *DescribeEventSubscriptionsOutput {
 11237  	s.Marker = &v
 11238  	return s
 11239  }
 11240  
 11241  // Represents the input to DescribeEvents.
 11242  type DescribeEventsInput struct {
 11243  	_ struct{} `type:"structure"`
 11244  
 11245  	// The number of minutes to retrieve events for.
 11246  	//
 11247  	// Default: 60
 11248  	Duration *int64 `type:"integer"`
 11249  
 11250  	// The end of the time interval for which to retrieve events, specified in ISO
 11251  	// 8601 format.
 11252  	//
 11253  	// Example: 2009-07-08T18:00Z
 11254  	EndTime *time.Time `type:"timestamp"`
 11255  
 11256  	// A list of event categories that trigger notifications for an event notification
 11257  	// subscription.
 11258  	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
 11259  
 11260  	// This parameter is not currently supported.
 11261  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 11262  
 11263  	// An optional pagination token provided by a previous request. If this parameter
 11264  	// is specified, the response includes only records beyond the marker, up to
 11265  	// the value specified by MaxRecords.
 11266  	Marker *string `type:"string"`
 11267  
 11268  	// The maximum number of records to include in the response. If more records
 11269  	// exist than the specified MaxRecords value, a pagination token (marker) is
 11270  	// included in the response so that the remaining results can be retrieved.
 11271  	//
 11272  	// Default: 100
 11273  	//
 11274  	// Constraints: Minimum 20, maximum 100.
 11275  	MaxRecords *int64 `type:"integer"`
 11276  
 11277  	// The identifier of the event source for which events are returned. If not
 11278  	// specified, then all sources are included in the response.
 11279  	//
 11280  	// Constraints:
 11281  	//
 11282  	//    * If SourceIdentifier is provided, SourceType must also be provided.
 11283  	//
 11284  	//    * If the source type is DBInstance, a DBInstanceIdentifier must be provided.
 11285  	//
 11286  	//    * If the source type is DBSecurityGroup, a DBSecurityGroupName must be
 11287  	//    provided.
 11288  	//
 11289  	//    * If the source type is DBParameterGroup, a DBParameterGroupName must
 11290  	//    be provided.
 11291  	//
 11292  	//    * If the source type is DBSnapshot, a DBSnapshotIdentifier must be provided.
 11293  	//
 11294  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
 11295  	SourceIdentifier *string `type:"string"`
 11296  
 11297  	// The event source to retrieve events for. If no value is specified, all events
 11298  	// are returned.
 11299  	SourceType *string `type:"string" enum:"SourceType"`
 11300  
 11301  	// The beginning of the time interval to retrieve events for, specified in ISO
 11302  	// 8601 format.
 11303  	//
 11304  	// Example: 2009-07-08T18:00Z
 11305  	StartTime *time.Time `type:"timestamp"`
 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 DescribeEventsInput) 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 DescribeEventsInput) 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 *DescribeEventsInput) Validate() error {
 11328  	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
 11329  	if s.Filters != nil {
 11330  		for i, v := range s.Filters {
 11331  			if v == nil {
 11332  				continue
 11333  			}
 11334  			if err := v.Validate(); err != nil {
 11335  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 11336  			}
 11337  		}
 11338  	}
 11339  
 11340  	if invalidParams.Len() > 0 {
 11341  		return invalidParams
 11342  	}
 11343  	return nil
 11344  }
 11345  
 11346  // SetDuration sets the Duration field's value.
 11347  func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
 11348  	s.Duration = &v
 11349  	return s
 11350  }
 11351  
 11352  // SetEndTime sets the EndTime field's value.
 11353  func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
 11354  	s.EndTime = &v
 11355  	return s
 11356  }
 11357  
 11358  // SetEventCategories sets the EventCategories field's value.
 11359  func (s *DescribeEventsInput) SetEventCategories(v []*string) *DescribeEventsInput {
 11360  	s.EventCategories = v
 11361  	return s
 11362  }
 11363  
 11364  // SetFilters sets the Filters field's value.
 11365  func (s *DescribeEventsInput) SetFilters(v []*Filter) *DescribeEventsInput {
 11366  	s.Filters = v
 11367  	return s
 11368  }
 11369  
 11370  // SetMarker sets the Marker field's value.
 11371  func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput {
 11372  	s.Marker = &v
 11373  	return s
 11374  }
 11375  
 11376  // SetMaxRecords sets the MaxRecords field's value.
 11377  func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
 11378  	s.MaxRecords = &v
 11379  	return s
 11380  }
 11381  
 11382  // SetSourceIdentifier sets the SourceIdentifier field's value.
 11383  func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput {
 11384  	s.SourceIdentifier = &v
 11385  	return s
 11386  }
 11387  
 11388  // SetSourceType sets the SourceType field's value.
 11389  func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
 11390  	s.SourceType = &v
 11391  	return s
 11392  }
 11393  
 11394  // SetStartTime sets the StartTime field's value.
 11395  func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
 11396  	s.StartTime = &v
 11397  	return s
 11398  }
 11399  
 11400  // Represents the output of DescribeEvents.
 11401  type DescribeEventsOutput struct {
 11402  	_ struct{} `type:"structure"`
 11403  
 11404  	// Detailed information about one or more events.
 11405  	Events []*Event `locationNameList:"Event" type:"list"`
 11406  
 11407  	// An optional pagination token provided by a previous request. If this parameter
 11408  	// is specified, the response includes only records beyond the marker, up to
 11409  	// the value specified by MaxRecords.
 11410  	Marker *string `type:"string"`
 11411  }
 11412  
 11413  // String returns the string representation.
 11414  //
 11415  // API parameter values that are decorated as "sensitive" in the API will not
 11416  // be included in the string output. The member name will be present, but the
 11417  // value will be replaced with "sensitive".
 11418  func (s DescribeEventsOutput) String() string {
 11419  	return awsutil.Prettify(s)
 11420  }
 11421  
 11422  // GoString returns the string representation.
 11423  //
 11424  // API parameter values that are decorated as "sensitive" in the API will not
 11425  // be included in the string output. The member name will be present, but the
 11426  // value will be replaced with "sensitive".
 11427  func (s DescribeEventsOutput) GoString() string {
 11428  	return s.String()
 11429  }
 11430  
 11431  // SetEvents sets the Events field's value.
 11432  func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
 11433  	s.Events = v
 11434  	return s
 11435  }
 11436  
 11437  // SetMarker sets the Marker field's value.
 11438  func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput {
 11439  	s.Marker = &v
 11440  	return s
 11441  }
 11442  
 11443  type DescribeGlobalClustersInput struct {
 11444  	_ struct{} `type:"structure"`
 11445  
 11446  	// A filter that specifies one or more global DB clusters to describe.
 11447  	//
 11448  	// Supported filters: db-cluster-id accepts cluster identifiers and cluster
 11449  	// Amazon Resource Names (ARNs). The results list will only include information
 11450  	// about the clusters identified by these ARNs.
 11451  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 11452  
 11453  	// The user-supplied cluster identifier. If this parameter is specified, information
 11454  	// from only the specific cluster is returned. This parameter isn't case-sensitive.
 11455  	GlobalClusterIdentifier *string `min:"1" type:"string"`
 11456  
 11457  	// An optional pagination token provided by a previous DescribeGlobalClusters
 11458  	// request. If this parameter is specified, the response includes only records
 11459  	// beyond the marker, up to the value specified by MaxRecords.
 11460  	Marker *string `type:"string"`
 11461  
 11462  	// The maximum number of records to include in the response. If more records
 11463  	// exist than the specified MaxRecords value, a pagination token called a marker
 11464  	// is included in the response so that you can retrieve the remaining results.
 11465  	MaxRecords *int64 `type:"integer"`
 11466  }
 11467  
 11468  // String returns the string representation.
 11469  //
 11470  // API parameter values that are decorated as "sensitive" in the API will not
 11471  // be included in the string output. The member name will be present, but the
 11472  // value will be replaced with "sensitive".
 11473  func (s DescribeGlobalClustersInput) String() string {
 11474  	return awsutil.Prettify(s)
 11475  }
 11476  
 11477  // GoString returns the string representation.
 11478  //
 11479  // API parameter values that are decorated as "sensitive" in the API will not
 11480  // be included in the string output. The member name will be present, but the
 11481  // value will be replaced with "sensitive".
 11482  func (s DescribeGlobalClustersInput) GoString() string {
 11483  	return s.String()
 11484  }
 11485  
 11486  // Validate inspects the fields of the type to determine if they are valid.
 11487  func (s *DescribeGlobalClustersInput) Validate() error {
 11488  	invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalClustersInput"}
 11489  	if s.GlobalClusterIdentifier != nil && len(*s.GlobalClusterIdentifier) < 1 {
 11490  		invalidParams.Add(request.NewErrParamMinLen("GlobalClusterIdentifier", 1))
 11491  	}
 11492  	if s.Filters != nil {
 11493  		for i, v := range s.Filters {
 11494  			if v == nil {
 11495  				continue
 11496  			}
 11497  			if err := v.Validate(); err != nil {
 11498  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 11499  			}
 11500  		}
 11501  	}
 11502  
 11503  	if invalidParams.Len() > 0 {
 11504  		return invalidParams
 11505  	}
 11506  	return nil
 11507  }
 11508  
 11509  // SetFilters sets the Filters field's value.
 11510  func (s *DescribeGlobalClustersInput) SetFilters(v []*Filter) *DescribeGlobalClustersInput {
 11511  	s.Filters = v
 11512  	return s
 11513  }
 11514  
 11515  // SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
 11516  func (s *DescribeGlobalClustersInput) SetGlobalClusterIdentifier(v string) *DescribeGlobalClustersInput {
 11517  	s.GlobalClusterIdentifier = &v
 11518  	return s
 11519  }
 11520  
 11521  // SetMarker sets the Marker field's value.
 11522  func (s *DescribeGlobalClustersInput) SetMarker(v string) *DescribeGlobalClustersInput {
 11523  	s.Marker = &v
 11524  	return s
 11525  }
 11526  
 11527  // SetMaxRecords sets the MaxRecords field's value.
 11528  func (s *DescribeGlobalClustersInput) SetMaxRecords(v int64) *DescribeGlobalClustersInput {
 11529  	s.MaxRecords = &v
 11530  	return s
 11531  }
 11532  
 11533  type DescribeGlobalClustersOutput struct {
 11534  	_ struct{} `type:"structure"`
 11535  
 11536  	GlobalClusters []*GlobalCluster `locationNameList:"GlobalClusterMember" type:"list"`
 11537  
 11538  	Marker *string `type:"string"`
 11539  }
 11540  
 11541  // String returns the string representation.
 11542  //
 11543  // API parameter values that are decorated as "sensitive" in the API will not
 11544  // be included in the string output. The member name will be present, but the
 11545  // value will be replaced with "sensitive".
 11546  func (s DescribeGlobalClustersOutput) String() string {
 11547  	return awsutil.Prettify(s)
 11548  }
 11549  
 11550  // GoString returns the string representation.
 11551  //
 11552  // API parameter values that are decorated as "sensitive" in the API will not
 11553  // be included in the string output. The member name will be present, but the
 11554  // value will be replaced with "sensitive".
 11555  func (s DescribeGlobalClustersOutput) GoString() string {
 11556  	return s.String()
 11557  }
 11558  
 11559  // SetGlobalClusters sets the GlobalClusters field's value.
 11560  func (s *DescribeGlobalClustersOutput) SetGlobalClusters(v []*GlobalCluster) *DescribeGlobalClustersOutput {
 11561  	s.GlobalClusters = v
 11562  	return s
 11563  }
 11564  
 11565  // SetMarker sets the Marker field's value.
 11566  func (s *DescribeGlobalClustersOutput) SetMarker(v string) *DescribeGlobalClustersOutput {
 11567  	s.Marker = &v
 11568  	return s
 11569  }
 11570  
 11571  // Represents the input to DescribeOrderableDBInstanceOptions.
 11572  type DescribeOrderableDBInstanceOptionsInput struct {
 11573  	_ struct{} `type:"structure"`
 11574  
 11575  	// The instance class filter value. Specify this parameter to show only the
 11576  	// available offerings that match the specified instance class.
 11577  	DBInstanceClass *string `type:"string"`
 11578  
 11579  	// The name of the engine to retrieve instance options for.
 11580  	//
 11581  	// Engine is a required field
 11582  	Engine *string `type:"string" required:"true"`
 11583  
 11584  	// The engine version filter value. Specify this parameter to show only the
 11585  	// available offerings that match the specified engine version.
 11586  	EngineVersion *string `type:"string"`
 11587  
 11588  	// This parameter is not currently supported.
 11589  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 11590  
 11591  	// The license model filter value. Specify this parameter to show only the available
 11592  	// offerings that match the specified license model.
 11593  	LicenseModel *string `type:"string"`
 11594  
 11595  	// An optional pagination token provided by a previous request. If this parameter
 11596  	// is specified, the response includes only records beyond the marker, up to
 11597  	// the value specified by MaxRecords.
 11598  	Marker *string `type:"string"`
 11599  
 11600  	// The maximum number of records to include in the response. If more records
 11601  	// exist than the specified MaxRecords value, a pagination token (marker) is
 11602  	// included in the response so that the remaining results can be retrieved.
 11603  	//
 11604  	// Default: 100
 11605  	//
 11606  	// Constraints: Minimum 20, maximum 100.
 11607  	MaxRecords *int64 `type:"integer"`
 11608  
 11609  	// The virtual private cloud (VPC) filter value. Specify this parameter to show
 11610  	// only the available VPC or non-VPC offerings.
 11611  	Vpc *bool `type:"boolean"`
 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 DescribeOrderableDBInstanceOptionsInput) 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 DescribeOrderableDBInstanceOptionsInput) 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 *DescribeOrderableDBInstanceOptionsInput) Validate() error {
 11634  	invalidParams := request.ErrInvalidParams{Context: "DescribeOrderableDBInstanceOptionsInput"}
 11635  	if s.Engine == nil {
 11636  		invalidParams.Add(request.NewErrParamRequired("Engine"))
 11637  	}
 11638  	if s.Filters != nil {
 11639  		for i, v := range s.Filters {
 11640  			if v == nil {
 11641  				continue
 11642  			}
 11643  			if err := v.Validate(); err != nil {
 11644  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 11645  			}
 11646  		}
 11647  	}
 11648  
 11649  	if invalidParams.Len() > 0 {
 11650  		return invalidParams
 11651  	}
 11652  	return nil
 11653  }
 11654  
 11655  // SetDBInstanceClass sets the DBInstanceClass field's value.
 11656  func (s *DescribeOrderableDBInstanceOptionsInput) SetDBInstanceClass(v string) *DescribeOrderableDBInstanceOptionsInput {
 11657  	s.DBInstanceClass = &v
 11658  	return s
 11659  }
 11660  
 11661  // SetEngine sets the Engine field's value.
 11662  func (s *DescribeOrderableDBInstanceOptionsInput) SetEngine(v string) *DescribeOrderableDBInstanceOptionsInput {
 11663  	s.Engine = &v
 11664  	return s
 11665  }
 11666  
 11667  // SetEngineVersion sets the EngineVersion field's value.
 11668  func (s *DescribeOrderableDBInstanceOptionsInput) SetEngineVersion(v string) *DescribeOrderableDBInstanceOptionsInput {
 11669  	s.EngineVersion = &v
 11670  	return s
 11671  }
 11672  
 11673  // SetFilters sets the Filters field's value.
 11674  func (s *DescribeOrderableDBInstanceOptionsInput) SetFilters(v []*Filter) *DescribeOrderableDBInstanceOptionsInput {
 11675  	s.Filters = v
 11676  	return s
 11677  }
 11678  
 11679  // SetLicenseModel sets the LicenseModel field's value.
 11680  func (s *DescribeOrderableDBInstanceOptionsInput) SetLicenseModel(v string) *DescribeOrderableDBInstanceOptionsInput {
 11681  	s.LicenseModel = &v
 11682  	return s
 11683  }
 11684  
 11685  // SetMarker sets the Marker field's value.
 11686  func (s *DescribeOrderableDBInstanceOptionsInput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsInput {
 11687  	s.Marker = &v
 11688  	return s
 11689  }
 11690  
 11691  // SetMaxRecords sets the MaxRecords field's value.
 11692  func (s *DescribeOrderableDBInstanceOptionsInput) SetMaxRecords(v int64) *DescribeOrderableDBInstanceOptionsInput {
 11693  	s.MaxRecords = &v
 11694  	return s
 11695  }
 11696  
 11697  // SetVpc sets the Vpc field's value.
 11698  func (s *DescribeOrderableDBInstanceOptionsInput) SetVpc(v bool) *DescribeOrderableDBInstanceOptionsInput {
 11699  	s.Vpc = &v
 11700  	return s
 11701  }
 11702  
 11703  // Represents the output of DescribeOrderableDBInstanceOptions.
 11704  type DescribeOrderableDBInstanceOptionsOutput struct {
 11705  	_ struct{} `type:"structure"`
 11706  
 11707  	// An optional pagination token provided by a previous request. If this parameter
 11708  	// is specified, the response includes only records beyond the marker, up to
 11709  	// the value specified by MaxRecords.
 11710  	Marker *string `type:"string"`
 11711  
 11712  	// The options that are available for a particular orderable instance.
 11713  	OrderableDBInstanceOptions []*OrderableDBInstanceOption `locationNameList:"OrderableDBInstanceOption" type:"list"`
 11714  }
 11715  
 11716  // String returns the string representation.
 11717  //
 11718  // API parameter values that are decorated as "sensitive" in the API will not
 11719  // be included in the string output. The member name will be present, but the
 11720  // value will be replaced with "sensitive".
 11721  func (s DescribeOrderableDBInstanceOptionsOutput) String() string {
 11722  	return awsutil.Prettify(s)
 11723  }
 11724  
 11725  // GoString returns the string representation.
 11726  //
 11727  // API parameter values that are decorated as "sensitive" in the API will not
 11728  // be included in the string output. The member name will be present, but the
 11729  // value will be replaced with "sensitive".
 11730  func (s DescribeOrderableDBInstanceOptionsOutput) GoString() string {
 11731  	return s.String()
 11732  }
 11733  
 11734  // SetMarker sets the Marker field's value.
 11735  func (s *DescribeOrderableDBInstanceOptionsOutput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsOutput {
 11736  	s.Marker = &v
 11737  	return s
 11738  }
 11739  
 11740  // SetOrderableDBInstanceOptions sets the OrderableDBInstanceOptions field's value.
 11741  func (s *DescribeOrderableDBInstanceOptionsOutput) SetOrderableDBInstanceOptions(v []*OrderableDBInstanceOption) *DescribeOrderableDBInstanceOptionsOutput {
 11742  	s.OrderableDBInstanceOptions = v
 11743  	return s
 11744  }
 11745  
 11746  // Represents the input to DescribePendingMaintenanceActions.
 11747  type DescribePendingMaintenanceActionsInput struct {
 11748  	_ struct{} `type:"structure"`
 11749  
 11750  	// A filter that specifies one or more resources to return pending maintenance
 11751  	// actions for.
 11752  	//
 11753  	// Supported filters:
 11754  	//
 11755  	//    * db-cluster-id - Accepts cluster identifiers and cluster Amazon Resource
 11756  	//    Names (ARNs). The results list includes only pending maintenance actions
 11757  	//    for the clusters identified by these ARNs.
 11758  	//
 11759  	//    * db-instance-id - Accepts instance identifiers and instance ARNs. The
 11760  	//    results list includes only pending maintenance actions for the DB instances
 11761  	//    identified by these ARNs.
 11762  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 11763  
 11764  	// An optional pagination token provided by a previous request. If this parameter
 11765  	// is specified, the response includes only records beyond the marker, up to
 11766  	// the value specified by MaxRecords.
 11767  	Marker *string `type:"string"`
 11768  
 11769  	// The maximum number of records to include in the response. If more records
 11770  	// exist than the specified MaxRecords value, a pagination token (marker) is
 11771  	// included in the response so that the remaining results can be retrieved.
 11772  	//
 11773  	// Default: 100
 11774  	//
 11775  	// Constraints: Minimum 20, maximum 100.
 11776  	MaxRecords *int64 `type:"integer"`
 11777  
 11778  	// The ARN of a resource to return pending maintenance actions for.
 11779  	ResourceIdentifier *string `type:"string"`
 11780  }
 11781  
 11782  // String returns the string representation.
 11783  //
 11784  // API parameter values that are decorated as "sensitive" in the API will not
 11785  // be included in the string output. The member name will be present, but the
 11786  // value will be replaced with "sensitive".
 11787  func (s DescribePendingMaintenanceActionsInput) String() string {
 11788  	return awsutil.Prettify(s)
 11789  }
 11790  
 11791  // GoString returns the string representation.
 11792  //
 11793  // API parameter values that are decorated as "sensitive" in the API will not
 11794  // be included in the string output. The member name will be present, but the
 11795  // value will be replaced with "sensitive".
 11796  func (s DescribePendingMaintenanceActionsInput) GoString() string {
 11797  	return s.String()
 11798  }
 11799  
 11800  // Validate inspects the fields of the type to determine if they are valid.
 11801  func (s *DescribePendingMaintenanceActionsInput) Validate() error {
 11802  	invalidParams := request.ErrInvalidParams{Context: "DescribePendingMaintenanceActionsInput"}
 11803  	if s.Filters != nil {
 11804  		for i, v := range s.Filters {
 11805  			if v == nil {
 11806  				continue
 11807  			}
 11808  			if err := v.Validate(); err != nil {
 11809  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 11810  			}
 11811  		}
 11812  	}
 11813  
 11814  	if invalidParams.Len() > 0 {
 11815  		return invalidParams
 11816  	}
 11817  	return nil
 11818  }
 11819  
 11820  // SetFilters sets the Filters field's value.
 11821  func (s *DescribePendingMaintenanceActionsInput) SetFilters(v []*Filter) *DescribePendingMaintenanceActionsInput {
 11822  	s.Filters = v
 11823  	return s
 11824  }
 11825  
 11826  // SetMarker sets the Marker field's value.
 11827  func (s *DescribePendingMaintenanceActionsInput) SetMarker(v string) *DescribePendingMaintenanceActionsInput {
 11828  	s.Marker = &v
 11829  	return s
 11830  }
 11831  
 11832  // SetMaxRecords sets the MaxRecords field's value.
 11833  func (s *DescribePendingMaintenanceActionsInput) SetMaxRecords(v int64) *DescribePendingMaintenanceActionsInput {
 11834  	s.MaxRecords = &v
 11835  	return s
 11836  }
 11837  
 11838  // SetResourceIdentifier sets the ResourceIdentifier field's value.
 11839  func (s *DescribePendingMaintenanceActionsInput) SetResourceIdentifier(v string) *DescribePendingMaintenanceActionsInput {
 11840  	s.ResourceIdentifier = &v
 11841  	return s
 11842  }
 11843  
 11844  // Represents the output of DescribePendingMaintenanceActions.
 11845  type DescribePendingMaintenanceActionsOutput struct {
 11846  	_ struct{} `type:"structure"`
 11847  
 11848  	// An optional pagination token provided by a previous request. If this parameter
 11849  	// is specified, the response includes only records beyond the marker, up to
 11850  	// the value specified by MaxRecords.
 11851  	Marker *string `type:"string"`
 11852  
 11853  	// The maintenance actions to be applied.
 11854  	PendingMaintenanceActions []*ResourcePendingMaintenanceActions `locationNameList:"ResourcePendingMaintenanceActions" type:"list"`
 11855  }
 11856  
 11857  // String returns the string representation.
 11858  //
 11859  // API parameter values that are decorated as "sensitive" in the API will not
 11860  // be included in the string output. The member name will be present, but the
 11861  // value will be replaced with "sensitive".
 11862  func (s DescribePendingMaintenanceActionsOutput) String() string {
 11863  	return awsutil.Prettify(s)
 11864  }
 11865  
 11866  // GoString 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 DescribePendingMaintenanceActionsOutput) GoString() string {
 11872  	return s.String()
 11873  }
 11874  
 11875  // SetMarker sets the Marker field's value.
 11876  func (s *DescribePendingMaintenanceActionsOutput) SetMarker(v string) *DescribePendingMaintenanceActionsOutput {
 11877  	s.Marker = &v
 11878  	return s
 11879  }
 11880  
 11881  // SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
 11882  func (s *DescribePendingMaintenanceActionsOutput) SetPendingMaintenanceActions(v []*ResourcePendingMaintenanceActions) *DescribePendingMaintenanceActionsOutput {
 11883  	s.PendingMaintenanceActions = v
 11884  	return s
 11885  }
 11886  
 11887  // Network information for accessing a cluster or instance. Client programs
 11888  // must specify a valid endpoint to access these Amazon DocumentDB resources.
 11889  type Endpoint struct {
 11890  	_ struct{} `type:"structure"`
 11891  
 11892  	// Specifies the DNS address of the instance.
 11893  	Address *string `type:"string"`
 11894  
 11895  	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
 11896  	HostedZoneId *string `type:"string"`
 11897  
 11898  	// Specifies the port that the database engine is listening on.
 11899  	Port *int64 `type:"integer"`
 11900  }
 11901  
 11902  // String returns the string representation.
 11903  //
 11904  // API parameter values that are decorated as "sensitive" in the API will not
 11905  // be included in the string output. The member name will be present, but the
 11906  // value will be replaced with "sensitive".
 11907  func (s Endpoint) String() string {
 11908  	return awsutil.Prettify(s)
 11909  }
 11910  
 11911  // GoString returns the string representation.
 11912  //
 11913  // API parameter values that are decorated as "sensitive" in the API will not
 11914  // be included in the string output. The member name will be present, but the
 11915  // value will be replaced with "sensitive".
 11916  func (s Endpoint) GoString() string {
 11917  	return s.String()
 11918  }
 11919  
 11920  // SetAddress sets the Address field's value.
 11921  func (s *Endpoint) SetAddress(v string) *Endpoint {
 11922  	s.Address = &v
 11923  	return s
 11924  }
 11925  
 11926  // SetHostedZoneId sets the HostedZoneId field's value.
 11927  func (s *Endpoint) SetHostedZoneId(v string) *Endpoint {
 11928  	s.HostedZoneId = &v
 11929  	return s
 11930  }
 11931  
 11932  // SetPort sets the Port field's value.
 11933  func (s *Endpoint) SetPort(v int64) *Endpoint {
 11934  	s.Port = &v
 11935  	return s
 11936  }
 11937  
 11938  // Contains the result of a successful invocation of the DescribeEngineDefaultClusterParameters
 11939  // operation.
 11940  type EngineDefaults struct {
 11941  	_ struct{} `type:"structure"`
 11942  
 11943  	// The name of the cluster parameter group family to return the engine parameter
 11944  	// information for.
 11945  	DBParameterGroupFamily *string `type:"string"`
 11946  
 11947  	// An optional pagination token provided by a previous request. If this parameter
 11948  	// is specified, the response includes only records beyond the marker, up to
 11949  	// the value specified by MaxRecords.
 11950  	Marker *string `type:"string"`
 11951  
 11952  	// The parameters of a particular cluster parameter group family.
 11953  	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
 11954  }
 11955  
 11956  // String returns the string representation.
 11957  //
 11958  // API parameter values that are decorated as "sensitive" in the API will not
 11959  // be included in the string output. The member name will be present, but the
 11960  // value will be replaced with "sensitive".
 11961  func (s EngineDefaults) String() string {
 11962  	return awsutil.Prettify(s)
 11963  }
 11964  
 11965  // GoString returns the string representation.
 11966  //
 11967  // API parameter values that are decorated as "sensitive" in the API will not
 11968  // be included in the string output. The member name will be present, but the
 11969  // value will be replaced with "sensitive".
 11970  func (s EngineDefaults) GoString() string {
 11971  	return s.String()
 11972  }
 11973  
 11974  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 11975  func (s *EngineDefaults) SetDBParameterGroupFamily(v string) *EngineDefaults {
 11976  	s.DBParameterGroupFamily = &v
 11977  	return s
 11978  }
 11979  
 11980  // SetMarker sets the Marker field's value.
 11981  func (s *EngineDefaults) SetMarker(v string) *EngineDefaults {
 11982  	s.Marker = &v
 11983  	return s
 11984  }
 11985  
 11986  // SetParameters sets the Parameters field's value.
 11987  func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults {
 11988  	s.Parameters = v
 11989  	return s
 11990  }
 11991  
 11992  // Detailed information about an event.
 11993  type Event struct {
 11994  	_ struct{} `type:"structure"`
 11995  
 11996  	// Specifies the date and time of the event.
 11997  	Date *time.Time `type:"timestamp"`
 11998  
 11999  	// Specifies the category for the event.
 12000  	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
 12001  
 12002  	// Provides the text of this event.
 12003  	Message *string `type:"string"`
 12004  
 12005  	// The Amazon Resource Name (ARN) for the event.
 12006  	SourceArn *string `type:"string"`
 12007  
 12008  	// Provides the identifier for the source of the event.
 12009  	SourceIdentifier *string `type:"string"`
 12010  
 12011  	// Specifies the source type for this event.
 12012  	SourceType *string `type:"string" enum:"SourceType"`
 12013  }
 12014  
 12015  // String returns the string representation.
 12016  //
 12017  // API parameter values that are decorated as "sensitive" in the API will not
 12018  // be included in the string output. The member name will be present, but the
 12019  // value will be replaced with "sensitive".
 12020  func (s Event) String() string {
 12021  	return awsutil.Prettify(s)
 12022  }
 12023  
 12024  // GoString returns the string representation.
 12025  //
 12026  // API parameter values that are decorated as "sensitive" in the API will not
 12027  // be included in the string output. The member name will be present, but the
 12028  // value will be replaced with "sensitive".
 12029  func (s Event) GoString() string {
 12030  	return s.String()
 12031  }
 12032  
 12033  // SetDate sets the Date field's value.
 12034  func (s *Event) SetDate(v time.Time) *Event {
 12035  	s.Date = &v
 12036  	return s
 12037  }
 12038  
 12039  // SetEventCategories sets the EventCategories field's value.
 12040  func (s *Event) SetEventCategories(v []*string) *Event {
 12041  	s.EventCategories = v
 12042  	return s
 12043  }
 12044  
 12045  // SetMessage sets the Message field's value.
 12046  func (s *Event) SetMessage(v string) *Event {
 12047  	s.Message = &v
 12048  	return s
 12049  }
 12050  
 12051  // SetSourceArn sets the SourceArn field's value.
 12052  func (s *Event) SetSourceArn(v string) *Event {
 12053  	s.SourceArn = &v
 12054  	return s
 12055  }
 12056  
 12057  // SetSourceIdentifier sets the SourceIdentifier field's value.
 12058  func (s *Event) SetSourceIdentifier(v string) *Event {
 12059  	s.SourceIdentifier = &v
 12060  	return s
 12061  }
 12062  
 12063  // SetSourceType sets the SourceType field's value.
 12064  func (s *Event) SetSourceType(v string) *Event {
 12065  	s.SourceType = &v
 12066  	return s
 12067  }
 12068  
 12069  // An event source type, accompanied by one or more event category names.
 12070  type EventCategoriesMap struct {
 12071  	_ struct{} `type:"structure"`
 12072  
 12073  	// The event categories for the specified source type.
 12074  	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
 12075  
 12076  	// The source type that the returned categories belong to.
 12077  	SourceType *string `type:"string"`
 12078  }
 12079  
 12080  // String returns the string representation.
 12081  //
 12082  // API parameter values that are decorated as "sensitive" in the API will not
 12083  // be included in the string output. The member name will be present, but the
 12084  // value will be replaced with "sensitive".
 12085  func (s EventCategoriesMap) String() string {
 12086  	return awsutil.Prettify(s)
 12087  }
 12088  
 12089  // GoString returns the string representation.
 12090  //
 12091  // API parameter values that are decorated as "sensitive" in the API will not
 12092  // be included in the string output. The member name will be present, but the
 12093  // value will be replaced with "sensitive".
 12094  func (s EventCategoriesMap) GoString() string {
 12095  	return s.String()
 12096  }
 12097  
 12098  // SetEventCategories sets the EventCategories field's value.
 12099  func (s *EventCategoriesMap) SetEventCategories(v []*string) *EventCategoriesMap {
 12100  	s.EventCategories = v
 12101  	return s
 12102  }
 12103  
 12104  // SetSourceType sets the SourceType field's value.
 12105  func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap {
 12106  	s.SourceType = &v
 12107  	return s
 12108  }
 12109  
 12110  // Detailed information about an event to which you have subscribed.
 12111  type EventSubscription struct {
 12112  	_ struct{} `type:"structure"`
 12113  
 12114  	// The Amazon DocumentDB event notification subscription ID.
 12115  	CustSubscriptionId *string `type:"string"`
 12116  
 12117  	// The Amazon Web Services customer account that is associated with the Amazon
 12118  	// DocumentDB event notification subscription.
 12119  	CustomerAwsId *string `type:"string"`
 12120  
 12121  	// A Boolean value indicating whether the subscription is enabled. A value of
 12122  	// true indicates that the subscription is enabled.
 12123  	Enabled *bool `type:"boolean"`
 12124  
 12125  	// A list of event categories for the Amazon DocumentDB event notification subscription.
 12126  	EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"`
 12127  
 12128  	// The Amazon Resource Name (ARN) for the event subscription.
 12129  	EventSubscriptionArn *string `type:"string"`
 12130  
 12131  	// The topic ARN of the Amazon DocumentDB event notification subscription.
 12132  	SnsTopicArn *string `type:"string"`
 12133  
 12134  	// A list of source IDs for the Amazon DocumentDB event notification subscription.
 12135  	SourceIdsList []*string `locationNameList:"SourceId" type:"list"`
 12136  
 12137  	// The source type for the Amazon DocumentDB event notification subscription.
 12138  	SourceType *string `type:"string"`
 12139  
 12140  	// The status of the Amazon DocumentDB event notification subscription.
 12141  	//
 12142  	// Constraints:
 12143  	//
 12144  	// Can be one of the following: creating, modifying, deleting, active, no-permission,
 12145  	// topic-not-exist
 12146  	//
 12147  	// The no-permission status indicates that Amazon DocumentDB no longer has permission
 12148  	// to post to the SNS topic. The topic-not-exist status indicates that the topic
 12149  	// was deleted after the subscription was created.
 12150  	Status *string `type:"string"`
 12151  
 12152  	// The time at which the Amazon DocumentDB event notification subscription was
 12153  	// created.
 12154  	SubscriptionCreationTime *string `type:"string"`
 12155  }
 12156  
 12157  // String returns the string representation.
 12158  //
 12159  // API parameter values that are decorated as "sensitive" in the API will not
 12160  // be included in the string output. The member name will be present, but the
 12161  // value will be replaced with "sensitive".
 12162  func (s EventSubscription) String() string {
 12163  	return awsutil.Prettify(s)
 12164  }
 12165  
 12166  // GoString returns the string representation.
 12167  //
 12168  // API parameter values that are decorated as "sensitive" in the API will not
 12169  // be included in the string output. The member name will be present, but the
 12170  // value will be replaced with "sensitive".
 12171  func (s EventSubscription) GoString() string {
 12172  	return s.String()
 12173  }
 12174  
 12175  // SetCustSubscriptionId sets the CustSubscriptionId field's value.
 12176  func (s *EventSubscription) SetCustSubscriptionId(v string) *EventSubscription {
 12177  	s.CustSubscriptionId = &v
 12178  	return s
 12179  }
 12180  
 12181  // SetCustomerAwsId sets the CustomerAwsId field's value.
 12182  func (s *EventSubscription) SetCustomerAwsId(v string) *EventSubscription {
 12183  	s.CustomerAwsId = &v
 12184  	return s
 12185  }
 12186  
 12187  // SetEnabled sets the Enabled field's value.
 12188  func (s *EventSubscription) SetEnabled(v bool) *EventSubscription {
 12189  	s.Enabled = &v
 12190  	return s
 12191  }
 12192  
 12193  // SetEventCategoriesList sets the EventCategoriesList field's value.
 12194  func (s *EventSubscription) SetEventCategoriesList(v []*string) *EventSubscription {
 12195  	s.EventCategoriesList = v
 12196  	return s
 12197  }
 12198  
 12199  // SetEventSubscriptionArn sets the EventSubscriptionArn field's value.
 12200  func (s *EventSubscription) SetEventSubscriptionArn(v string) *EventSubscription {
 12201  	s.EventSubscriptionArn = &v
 12202  	return s
 12203  }
 12204  
 12205  // SetSnsTopicArn sets the SnsTopicArn field's value.
 12206  func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription {
 12207  	s.SnsTopicArn = &v
 12208  	return s
 12209  }
 12210  
 12211  // SetSourceIdsList sets the SourceIdsList field's value.
 12212  func (s *EventSubscription) SetSourceIdsList(v []*string) *EventSubscription {
 12213  	s.SourceIdsList = v
 12214  	return s
 12215  }
 12216  
 12217  // SetSourceType sets the SourceType field's value.
 12218  func (s *EventSubscription) SetSourceType(v string) *EventSubscription {
 12219  	s.SourceType = &v
 12220  	return s
 12221  }
 12222  
 12223  // SetStatus sets the Status field's value.
 12224  func (s *EventSubscription) SetStatus(v string) *EventSubscription {
 12225  	s.Status = &v
 12226  	return s
 12227  }
 12228  
 12229  // SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
 12230  func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscription {
 12231  	s.SubscriptionCreationTime = &v
 12232  	return s
 12233  }
 12234  
 12235  // Represents the input to FailoverDBCluster.
 12236  type FailoverDBClusterInput struct {
 12237  	_ struct{} `type:"structure"`
 12238  
 12239  	// A cluster identifier to force a failover for. This parameter is not case
 12240  	// sensitive.
 12241  	//
 12242  	// Constraints:
 12243  	//
 12244  	//    * Must match the identifier of an existing DBCluster.
 12245  	DBClusterIdentifier *string `type:"string"`
 12246  
 12247  	// The name of the instance to promote to the primary instance.
 12248  	//
 12249  	// You must specify the instance identifier for an Amazon DocumentDB replica
 12250  	// in the cluster. For example, mydbcluster-replica1.
 12251  	TargetDBInstanceIdentifier *string `type:"string"`
 12252  }
 12253  
 12254  // String returns the string representation.
 12255  //
 12256  // API parameter values that are decorated as "sensitive" in the API will not
 12257  // be included in the string output. The member name will be present, but the
 12258  // value will be replaced with "sensitive".
 12259  func (s FailoverDBClusterInput) String() string {
 12260  	return awsutil.Prettify(s)
 12261  }
 12262  
 12263  // GoString returns the string representation.
 12264  //
 12265  // API parameter values that are decorated as "sensitive" in the API will not
 12266  // be included in the string output. The member name will be present, but the
 12267  // value will be replaced with "sensitive".
 12268  func (s FailoverDBClusterInput) GoString() string {
 12269  	return s.String()
 12270  }
 12271  
 12272  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 12273  func (s *FailoverDBClusterInput) SetDBClusterIdentifier(v string) *FailoverDBClusterInput {
 12274  	s.DBClusterIdentifier = &v
 12275  	return s
 12276  }
 12277  
 12278  // SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
 12279  func (s *FailoverDBClusterInput) SetTargetDBInstanceIdentifier(v string) *FailoverDBClusterInput {
 12280  	s.TargetDBInstanceIdentifier = &v
 12281  	return s
 12282  }
 12283  
 12284  type FailoverDBClusterOutput struct {
 12285  	_ struct{} `type:"structure"`
 12286  
 12287  	// Detailed information about a cluster.
 12288  	DBCluster *DBCluster `type:"structure"`
 12289  }
 12290  
 12291  // String returns the string representation.
 12292  //
 12293  // API parameter values that are decorated as "sensitive" in the API will not
 12294  // be included in the string output. The member name will be present, but the
 12295  // value will be replaced with "sensitive".
 12296  func (s FailoverDBClusterOutput) String() string {
 12297  	return awsutil.Prettify(s)
 12298  }
 12299  
 12300  // GoString returns the string representation.
 12301  //
 12302  // API parameter values that are decorated as "sensitive" in the API will not
 12303  // be included in the string output. The member name will be present, but the
 12304  // value will be replaced with "sensitive".
 12305  func (s FailoverDBClusterOutput) GoString() string {
 12306  	return s.String()
 12307  }
 12308  
 12309  // SetDBCluster sets the DBCluster field's value.
 12310  func (s *FailoverDBClusterOutput) SetDBCluster(v *DBCluster) *FailoverDBClusterOutput {
 12311  	s.DBCluster = v
 12312  	return s
 12313  }
 12314  
 12315  // A named set of filter values, used to return a more specific list of results.
 12316  // You can use a filter to match a set of resources by specific criteria, such
 12317  // as IDs.
 12318  //
 12319  // Wildcards are not supported in filters.
 12320  type Filter struct {
 12321  	_ struct{} `type:"structure"`
 12322  
 12323  	// The name of the filter. Filter names are case sensitive.
 12324  	//
 12325  	// Name is a required field
 12326  	Name *string `type:"string" required:"true"`
 12327  
 12328  	// One or more filter values. Filter values are case sensitive.
 12329  	//
 12330  	// Values is a required field
 12331  	Values []*string `locationNameList:"Value" type:"list" required:"true"`
 12332  }
 12333  
 12334  // String returns the string representation.
 12335  //
 12336  // API parameter values that are decorated as "sensitive" in the API will not
 12337  // be included in the string output. The member name will be present, but the
 12338  // value will be replaced with "sensitive".
 12339  func (s Filter) String() string {
 12340  	return awsutil.Prettify(s)
 12341  }
 12342  
 12343  // GoString returns the string representation.
 12344  //
 12345  // API parameter values that are decorated as "sensitive" in the API will not
 12346  // be included in the string output. The member name will be present, but the
 12347  // value will be replaced with "sensitive".
 12348  func (s Filter) GoString() string {
 12349  	return s.String()
 12350  }
 12351  
 12352  // Validate inspects the fields of the type to determine if they are valid.
 12353  func (s *Filter) Validate() error {
 12354  	invalidParams := request.ErrInvalidParams{Context: "Filter"}
 12355  	if s.Name == nil {
 12356  		invalidParams.Add(request.NewErrParamRequired("Name"))
 12357  	}
 12358  	if s.Values == nil {
 12359  		invalidParams.Add(request.NewErrParamRequired("Values"))
 12360  	}
 12361  
 12362  	if invalidParams.Len() > 0 {
 12363  		return invalidParams
 12364  	}
 12365  	return nil
 12366  }
 12367  
 12368  // SetName sets the Name field's value.
 12369  func (s *Filter) SetName(v string) *Filter {
 12370  	s.Name = &v
 12371  	return s
 12372  }
 12373  
 12374  // SetValues sets the Values field's value.
 12375  func (s *Filter) SetValues(v []*string) *Filter {
 12376  	s.Values = v
 12377  	return s
 12378  }
 12379  
 12380  // A data type representing an Amazon DocumentDB global cluster.
 12381  type GlobalCluster struct {
 12382  	_ struct{} `type:"structure"`
 12383  
 12384  	// The default database name within the new global cluster.
 12385  	DatabaseName *string `type:"string"`
 12386  
 12387  	// The deletion protection setting for the new global cluster.
 12388  	DeletionProtection *bool `type:"boolean"`
 12389  
 12390  	// The Amazon DocumentDB database engine used by the global cluster.
 12391  	Engine *string `type:"string"`
 12392  
 12393  	// Indicates the database engine version.
 12394  	EngineVersion *string `type:"string"`
 12395  
 12396  	// The Amazon Resource Name (ARN) for the global cluster.
 12397  	GlobalClusterArn *string `type:"string"`
 12398  
 12399  	// Contains a user-supplied global cluster identifier. This identifier is the
 12400  	// unique key that identifies a global cluster.
 12401  	GlobalClusterIdentifier *string `min:"1" type:"string"`
 12402  
 12403  	// The list of cluster IDs for secondary clusters within the global cluster.
 12404  	// Currently limited to one item.
 12405  	GlobalClusterMembers []*GlobalClusterMember `locationNameList:"GlobalClusterMember" type:"list"`
 12406  
 12407  	// The Region-unique, immutable identifier for the global database cluster.
 12408  	// This identifier is found in AWS CloudTrail log entries whenever the AWS KMS
 12409  	// customer master key (CMK) for the cluster is accessed.
 12410  	GlobalClusterResourceId *string `type:"string"`
 12411  
 12412  	// Specifies the current state of this global cluster.
 12413  	Status *string `type:"string"`
 12414  
 12415  	// The storage encryption setting for the global cluster.
 12416  	StorageEncrypted *bool `type:"boolean"`
 12417  }
 12418  
 12419  // String returns the string representation.
 12420  //
 12421  // API parameter values that are decorated as "sensitive" in the API will not
 12422  // be included in the string output. The member name will be present, but the
 12423  // value will be replaced with "sensitive".
 12424  func (s GlobalCluster) String() string {
 12425  	return awsutil.Prettify(s)
 12426  }
 12427  
 12428  // GoString returns the string representation.
 12429  //
 12430  // API parameter values that are decorated as "sensitive" in the API will not
 12431  // be included in the string output. The member name will be present, but the
 12432  // value will be replaced with "sensitive".
 12433  func (s GlobalCluster) GoString() string {
 12434  	return s.String()
 12435  }
 12436  
 12437  // SetDatabaseName sets the DatabaseName field's value.
 12438  func (s *GlobalCluster) SetDatabaseName(v string) *GlobalCluster {
 12439  	s.DatabaseName = &v
 12440  	return s
 12441  }
 12442  
 12443  // SetDeletionProtection sets the DeletionProtection field's value.
 12444  func (s *GlobalCluster) SetDeletionProtection(v bool) *GlobalCluster {
 12445  	s.DeletionProtection = &v
 12446  	return s
 12447  }
 12448  
 12449  // SetEngine sets the Engine field's value.
 12450  func (s *GlobalCluster) SetEngine(v string) *GlobalCluster {
 12451  	s.Engine = &v
 12452  	return s
 12453  }
 12454  
 12455  // SetEngineVersion sets the EngineVersion field's value.
 12456  func (s *GlobalCluster) SetEngineVersion(v string) *GlobalCluster {
 12457  	s.EngineVersion = &v
 12458  	return s
 12459  }
 12460  
 12461  // SetGlobalClusterArn sets the GlobalClusterArn field's value.
 12462  func (s *GlobalCluster) SetGlobalClusterArn(v string) *GlobalCluster {
 12463  	s.GlobalClusterArn = &v
 12464  	return s
 12465  }
 12466  
 12467  // SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
 12468  func (s *GlobalCluster) SetGlobalClusterIdentifier(v string) *GlobalCluster {
 12469  	s.GlobalClusterIdentifier = &v
 12470  	return s
 12471  }
 12472  
 12473  // SetGlobalClusterMembers sets the GlobalClusterMembers field's value.
 12474  func (s *GlobalCluster) SetGlobalClusterMembers(v []*GlobalClusterMember) *GlobalCluster {
 12475  	s.GlobalClusterMembers = v
 12476  	return s
 12477  }
 12478  
 12479  // SetGlobalClusterResourceId sets the GlobalClusterResourceId field's value.
 12480  func (s *GlobalCluster) SetGlobalClusterResourceId(v string) *GlobalCluster {
 12481  	s.GlobalClusterResourceId = &v
 12482  	return s
 12483  }
 12484  
 12485  // SetStatus sets the Status field's value.
 12486  func (s *GlobalCluster) SetStatus(v string) *GlobalCluster {
 12487  	s.Status = &v
 12488  	return s
 12489  }
 12490  
 12491  // SetStorageEncrypted sets the StorageEncrypted field's value.
 12492  func (s *GlobalCluster) SetStorageEncrypted(v bool) *GlobalCluster {
 12493  	s.StorageEncrypted = &v
 12494  	return s
 12495  }
 12496  
 12497  // A data structure with information about any primary and secondary clusters
 12498  // associated with an Amazon DocumentDB global clusters.
 12499  type GlobalClusterMember struct {
 12500  	_ struct{} `type:"structure"`
 12501  
 12502  	// The Amazon Resource Name (ARN) for each Amazon DocumentDB cluster.
 12503  	DBClusterArn *string `type:"string"`
 12504  
 12505  	// Specifies whether the Amazon DocumentDB cluster is the primary cluster (that
 12506  	// is, has read-write capability) for the Amazon DocumentDB global cluster with
 12507  	// which it is associated.
 12508  	IsWriter *bool `type:"boolean"`
 12509  
 12510  	// The Amazon Resource Name (ARN) for each read-only secondary cluster associated
 12511  	// with the Aurora global cluster.
 12512  	Readers []*string `type:"list"`
 12513  }
 12514  
 12515  // String returns the string representation.
 12516  //
 12517  // API parameter values that are decorated as "sensitive" in the API will not
 12518  // be included in the string output. The member name will be present, but the
 12519  // value will be replaced with "sensitive".
 12520  func (s GlobalClusterMember) String() string {
 12521  	return awsutil.Prettify(s)
 12522  }
 12523  
 12524  // GoString returns the string representation.
 12525  //
 12526  // API parameter values that are decorated as "sensitive" in the API will not
 12527  // be included in the string output. The member name will be present, but the
 12528  // value will be replaced with "sensitive".
 12529  func (s GlobalClusterMember) GoString() string {
 12530  	return s.String()
 12531  }
 12532  
 12533  // SetDBClusterArn sets the DBClusterArn field's value.
 12534  func (s *GlobalClusterMember) SetDBClusterArn(v string) *GlobalClusterMember {
 12535  	s.DBClusterArn = &v
 12536  	return s
 12537  }
 12538  
 12539  // SetIsWriter sets the IsWriter field's value.
 12540  func (s *GlobalClusterMember) SetIsWriter(v bool) *GlobalClusterMember {
 12541  	s.IsWriter = &v
 12542  	return s
 12543  }
 12544  
 12545  // SetReaders sets the Readers field's value.
 12546  func (s *GlobalClusterMember) SetReaders(v []*string) *GlobalClusterMember {
 12547  	s.Readers = v
 12548  	return s
 12549  }
 12550  
 12551  // Represents the input to ListTagsForResource.
 12552  type ListTagsForResourceInput struct {
 12553  	_ struct{} `type:"structure"`
 12554  
 12555  	// This parameter is not currently supported.
 12556  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 12557  
 12558  	// The Amazon DocumentDB resource with tags to be listed. This value is an Amazon
 12559  	// Resource Name (ARN).
 12560  	//
 12561  	// ResourceName is a required field
 12562  	ResourceName *string `type:"string" required:"true"`
 12563  }
 12564  
 12565  // String returns the string representation.
 12566  //
 12567  // API parameter values that are decorated as "sensitive" in the API will not
 12568  // be included in the string output. The member name will be present, but the
 12569  // value will be replaced with "sensitive".
 12570  func (s ListTagsForResourceInput) String() string {
 12571  	return awsutil.Prettify(s)
 12572  }
 12573  
 12574  // GoString returns the string representation.
 12575  //
 12576  // API parameter values that are decorated as "sensitive" in the API will not
 12577  // be included in the string output. The member name will be present, but the
 12578  // value will be replaced with "sensitive".
 12579  func (s ListTagsForResourceInput) GoString() string {
 12580  	return s.String()
 12581  }
 12582  
 12583  // Validate inspects the fields of the type to determine if they are valid.
 12584  func (s *ListTagsForResourceInput) Validate() error {
 12585  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 12586  	if s.ResourceName == nil {
 12587  		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
 12588  	}
 12589  	if s.Filters != nil {
 12590  		for i, v := range s.Filters {
 12591  			if v == nil {
 12592  				continue
 12593  			}
 12594  			if err := v.Validate(); err != nil {
 12595  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 12596  			}
 12597  		}
 12598  	}
 12599  
 12600  	if invalidParams.Len() > 0 {
 12601  		return invalidParams
 12602  	}
 12603  	return nil
 12604  }
 12605  
 12606  // SetFilters sets the Filters field's value.
 12607  func (s *ListTagsForResourceInput) SetFilters(v []*Filter) *ListTagsForResourceInput {
 12608  	s.Filters = v
 12609  	return s
 12610  }
 12611  
 12612  // SetResourceName sets the ResourceName field's value.
 12613  func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput {
 12614  	s.ResourceName = &v
 12615  	return s
 12616  }
 12617  
 12618  // Represents the output of ListTagsForResource.
 12619  type ListTagsForResourceOutput struct {
 12620  	_ struct{} `type:"structure"`
 12621  
 12622  	// A list of one or more tags.
 12623  	TagList []*Tag `locationNameList:"Tag" type:"list"`
 12624  }
 12625  
 12626  // String returns the string representation.
 12627  //
 12628  // API parameter values that are decorated as "sensitive" in the API will not
 12629  // be included in the string output. The member name will be present, but the
 12630  // value will be replaced with "sensitive".
 12631  func (s ListTagsForResourceOutput) String() string {
 12632  	return awsutil.Prettify(s)
 12633  }
 12634  
 12635  // GoString returns the string representation.
 12636  //
 12637  // API parameter values that are decorated as "sensitive" in the API will not
 12638  // be included in the string output. The member name will be present, but the
 12639  // value will be replaced with "sensitive".
 12640  func (s ListTagsForResourceOutput) GoString() string {
 12641  	return s.String()
 12642  }
 12643  
 12644  // SetTagList sets the TagList field's value.
 12645  func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
 12646  	s.TagList = v
 12647  	return s
 12648  }
 12649  
 12650  // Represents the input to ModifyDBCluster.
 12651  type ModifyDBClusterInput struct {
 12652  	_ struct{} `type:"structure"`
 12653  
 12654  	// A value that specifies whether the changes in this request and any pending
 12655  	// changes are asynchronously applied as soon as possible, regardless of the
 12656  	// PreferredMaintenanceWindow setting for the cluster. If this parameter is
 12657  	// set to false, changes to the cluster are applied during the next maintenance
 12658  	// window.
 12659  	//
 12660  	// The ApplyImmediately parameter affects only the NewDBClusterIdentifier and
 12661  	// MasterUserPassword values. If you set this parameter value to false, the
 12662  	// changes to the NewDBClusterIdentifier and MasterUserPassword values are applied
 12663  	// during the next maintenance window. All other changes are applied immediately,
 12664  	// regardless of the value of the ApplyImmediately parameter.
 12665  	//
 12666  	// Default: false
 12667  	ApplyImmediately *bool `type:"boolean"`
 12668  
 12669  	// The number of days for which automated backups are retained. You must specify
 12670  	// a minimum value of 1.
 12671  	//
 12672  	// Default: 1
 12673  	//
 12674  	// Constraints:
 12675  	//
 12676  	//    * Must be a value from 1 to 35.
 12677  	BackupRetentionPeriod *int64 `type:"integer"`
 12678  
 12679  	// The configuration setting for the log types to be enabled for export to Amazon
 12680  	// CloudWatch Logs for a specific instance or cluster. The EnableLogTypes and
 12681  	// DisableLogTypes arrays determine which logs are exported (or not exported)
 12682  	// to CloudWatch Logs.
 12683  	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
 12684  
 12685  	// The cluster identifier for the cluster that is being modified. This parameter
 12686  	// is not case sensitive.
 12687  	//
 12688  	// Constraints:
 12689  	//
 12690  	//    * Must match the identifier of an existing DBCluster.
 12691  	//
 12692  	// DBClusterIdentifier is a required field
 12693  	DBClusterIdentifier *string `type:"string" required:"true"`
 12694  
 12695  	// The name of the cluster parameter group to use for the cluster.
 12696  	DBClusterParameterGroupName *string `type:"string"`
 12697  
 12698  	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
 12699  	// the cluster cannot be deleted unless it is modified and DeletionProtection
 12700  	// is disabled. DeletionProtection protects clusters from being accidentally
 12701  	// deleted.
 12702  	DeletionProtection *bool `type:"boolean"`
 12703  
 12704  	// The version number of the database engine to which you want to upgrade. Modifying
 12705  	// engine version is not supported on Amazon DocumentDB.
 12706  	EngineVersion *string `type:"string"`
 12707  
 12708  	// The password for the master database user. This password can contain any
 12709  	// printable ASCII character except forward slash (/), double quote ("), or
 12710  	// the "at" symbol (@).
 12711  	//
 12712  	// Constraints: Must contain from 8 to 100 characters.
 12713  	MasterUserPassword *string `type:"string"`
 12714  
 12715  	// The new cluster identifier for the cluster when renaming a cluster. This
 12716  	// value is stored as a lowercase string.
 12717  	//
 12718  	// Constraints:
 12719  	//
 12720  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
 12721  	//
 12722  	//    * The first character must be a letter.
 12723  	//
 12724  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
 12725  	//
 12726  	// Example: my-cluster2
 12727  	NewDBClusterIdentifier *string `type:"string"`
 12728  
 12729  	// The port number on which the cluster accepts connections.
 12730  	//
 12731  	// Constraints: Must be a value from 1150 to 65535.
 12732  	//
 12733  	// Default: The same port as the original cluster.
 12734  	Port *int64 `type:"integer"`
 12735  
 12736  	// The daily time range during which automated backups are created if automated
 12737  	// backups are enabled, using the BackupRetentionPeriod parameter.
 12738  	//
 12739  	// The default is a 30-minute window selected at random from an 8-hour block
 12740  	// of time for each Region.
 12741  	//
 12742  	// Constraints:
 12743  	//
 12744  	//    * Must be in the format hh24:mi-hh24:mi.
 12745  	//
 12746  	//    * Must be in Universal Coordinated Time (UTC).
 12747  	//
 12748  	//    * Must not conflict with the preferred maintenance window.
 12749  	//
 12750  	//    * Must be at least 30 minutes.
 12751  	PreferredBackupWindow *string `type:"string"`
 12752  
 12753  	// The weekly time range during which system maintenance can occur, in Universal
 12754  	// Coordinated Time (UTC).
 12755  	//
 12756  	// Format: ddd:hh24:mi-ddd:hh24:mi
 12757  	//
 12758  	// The default is a 30-minute window selected at random from an 8-hour block
 12759  	// of time for each Region, occurring on a random day of the week.
 12760  	//
 12761  	// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
 12762  	//
 12763  	// Constraints: Minimum 30-minute window.
 12764  	PreferredMaintenanceWindow *string `type:"string"`
 12765  
 12766  	// A list of virtual private cloud (VPC) security groups that the cluster will
 12767  	// belong to.
 12768  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 12769  }
 12770  
 12771  // String returns the string representation.
 12772  //
 12773  // API parameter values that are decorated as "sensitive" in the API will not
 12774  // be included in the string output. The member name will be present, but the
 12775  // value will be replaced with "sensitive".
 12776  func (s ModifyDBClusterInput) String() string {
 12777  	return awsutil.Prettify(s)
 12778  }
 12779  
 12780  // GoString returns the string representation.
 12781  //
 12782  // API parameter values that are decorated as "sensitive" in the API will not
 12783  // be included in the string output. The member name will be present, but the
 12784  // value will be replaced with "sensitive".
 12785  func (s ModifyDBClusterInput) GoString() string {
 12786  	return s.String()
 12787  }
 12788  
 12789  // Validate inspects the fields of the type to determine if they are valid.
 12790  func (s *ModifyDBClusterInput) Validate() error {
 12791  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterInput"}
 12792  	if s.DBClusterIdentifier == nil {
 12793  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 12794  	}
 12795  
 12796  	if invalidParams.Len() > 0 {
 12797  		return invalidParams
 12798  	}
 12799  	return nil
 12800  }
 12801  
 12802  // SetApplyImmediately sets the ApplyImmediately field's value.
 12803  func (s *ModifyDBClusterInput) SetApplyImmediately(v bool) *ModifyDBClusterInput {
 12804  	s.ApplyImmediately = &v
 12805  	return s
 12806  }
 12807  
 12808  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 12809  func (s *ModifyDBClusterInput) SetBackupRetentionPeriod(v int64) *ModifyDBClusterInput {
 12810  	s.BackupRetentionPeriod = &v
 12811  	return s
 12812  }
 12813  
 12814  // SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
 12815  func (s *ModifyDBClusterInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBClusterInput {
 12816  	s.CloudwatchLogsExportConfiguration = v
 12817  	return s
 12818  }
 12819  
 12820  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 12821  func (s *ModifyDBClusterInput) SetDBClusterIdentifier(v string) *ModifyDBClusterInput {
 12822  	s.DBClusterIdentifier = &v
 12823  	return s
 12824  }
 12825  
 12826  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 12827  func (s *ModifyDBClusterInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterInput {
 12828  	s.DBClusterParameterGroupName = &v
 12829  	return s
 12830  }
 12831  
 12832  // SetDeletionProtection sets the DeletionProtection field's value.
 12833  func (s *ModifyDBClusterInput) SetDeletionProtection(v bool) *ModifyDBClusterInput {
 12834  	s.DeletionProtection = &v
 12835  	return s
 12836  }
 12837  
 12838  // SetEngineVersion sets the EngineVersion field's value.
 12839  func (s *ModifyDBClusterInput) SetEngineVersion(v string) *ModifyDBClusterInput {
 12840  	s.EngineVersion = &v
 12841  	return s
 12842  }
 12843  
 12844  // SetMasterUserPassword sets the MasterUserPassword field's value.
 12845  func (s *ModifyDBClusterInput) SetMasterUserPassword(v string) *ModifyDBClusterInput {
 12846  	s.MasterUserPassword = &v
 12847  	return s
 12848  }
 12849  
 12850  // SetNewDBClusterIdentifier sets the NewDBClusterIdentifier field's value.
 12851  func (s *ModifyDBClusterInput) SetNewDBClusterIdentifier(v string) *ModifyDBClusterInput {
 12852  	s.NewDBClusterIdentifier = &v
 12853  	return s
 12854  }
 12855  
 12856  // SetPort sets the Port field's value.
 12857  func (s *ModifyDBClusterInput) SetPort(v int64) *ModifyDBClusterInput {
 12858  	s.Port = &v
 12859  	return s
 12860  }
 12861  
 12862  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
 12863  func (s *ModifyDBClusterInput) SetPreferredBackupWindow(v string) *ModifyDBClusterInput {
 12864  	s.PreferredBackupWindow = &v
 12865  	return s
 12866  }
 12867  
 12868  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 12869  func (s *ModifyDBClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyDBClusterInput {
 12870  	s.PreferredMaintenanceWindow = &v
 12871  	return s
 12872  }
 12873  
 12874  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 12875  func (s *ModifyDBClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBClusterInput {
 12876  	s.VpcSecurityGroupIds = v
 12877  	return s
 12878  }
 12879  
 12880  type ModifyDBClusterOutput struct {
 12881  	_ struct{} `type:"structure"`
 12882  
 12883  	// Detailed information about a cluster.
 12884  	DBCluster *DBCluster `type:"structure"`
 12885  }
 12886  
 12887  // String returns the string representation.
 12888  //
 12889  // API parameter values that are decorated as "sensitive" in the API will not
 12890  // be included in the string output. The member name will be present, but the
 12891  // value will be replaced with "sensitive".
 12892  func (s ModifyDBClusterOutput) String() string {
 12893  	return awsutil.Prettify(s)
 12894  }
 12895  
 12896  // GoString returns the string representation.
 12897  //
 12898  // API parameter values that are decorated as "sensitive" in the API will not
 12899  // be included in the string output. The member name will be present, but the
 12900  // value will be replaced with "sensitive".
 12901  func (s ModifyDBClusterOutput) GoString() string {
 12902  	return s.String()
 12903  }
 12904  
 12905  // SetDBCluster sets the DBCluster field's value.
 12906  func (s *ModifyDBClusterOutput) SetDBCluster(v *DBCluster) *ModifyDBClusterOutput {
 12907  	s.DBCluster = v
 12908  	return s
 12909  }
 12910  
 12911  // Represents the input to ModifyDBClusterParameterGroup.
 12912  type ModifyDBClusterParameterGroupInput struct {
 12913  	_ struct{} `type:"structure"`
 12914  
 12915  	// The name of the cluster parameter group to modify.
 12916  	//
 12917  	// DBClusterParameterGroupName is a required field
 12918  	DBClusterParameterGroupName *string `type:"string" required:"true"`
 12919  
 12920  	// A list of parameters in the cluster parameter group to modify.
 12921  	//
 12922  	// Parameters is a required field
 12923  	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
 12924  }
 12925  
 12926  // String returns the string representation.
 12927  //
 12928  // API parameter values that are decorated as "sensitive" in the API will not
 12929  // be included in the string output. The member name will be present, but the
 12930  // value will be replaced with "sensitive".
 12931  func (s ModifyDBClusterParameterGroupInput) String() string {
 12932  	return awsutil.Prettify(s)
 12933  }
 12934  
 12935  // GoString returns the string representation.
 12936  //
 12937  // API parameter values that are decorated as "sensitive" in the API will not
 12938  // be included in the string output. The member name will be present, but the
 12939  // value will be replaced with "sensitive".
 12940  func (s ModifyDBClusterParameterGroupInput) GoString() string {
 12941  	return s.String()
 12942  }
 12943  
 12944  // Validate inspects the fields of the type to determine if they are valid.
 12945  func (s *ModifyDBClusterParameterGroupInput) Validate() error {
 12946  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterParameterGroupInput"}
 12947  	if s.DBClusterParameterGroupName == nil {
 12948  		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
 12949  	}
 12950  	if s.Parameters == nil {
 12951  		invalidParams.Add(request.NewErrParamRequired("Parameters"))
 12952  	}
 12953  
 12954  	if invalidParams.Len() > 0 {
 12955  		return invalidParams
 12956  	}
 12957  	return nil
 12958  }
 12959  
 12960  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 12961  func (s *ModifyDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupInput {
 12962  	s.DBClusterParameterGroupName = &v
 12963  	return s
 12964  }
 12965  
 12966  // SetParameters sets the Parameters field's value.
 12967  func (s *ModifyDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBClusterParameterGroupInput {
 12968  	s.Parameters = v
 12969  	return s
 12970  }
 12971  
 12972  // Contains the name of a cluster parameter group.
 12973  type ModifyDBClusterParameterGroupOutput struct {
 12974  	_ struct{} `type:"structure"`
 12975  
 12976  	// The name of a cluster parameter group.
 12977  	//
 12978  	// Constraints:
 12979  	//
 12980  	//    * Must be from 1 to 255 letters or numbers.
 12981  	//
 12982  	//    * The first character must be a letter.
 12983  	//
 12984  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
 12985  	//
 12986  	// This value is stored as a lowercase string.
 12987  	DBClusterParameterGroupName *string `type:"string"`
 12988  }
 12989  
 12990  // String returns the string representation.
 12991  //
 12992  // API parameter values that are decorated as "sensitive" in the API will not
 12993  // be included in the string output. The member name will be present, but the
 12994  // value will be replaced with "sensitive".
 12995  func (s ModifyDBClusterParameterGroupOutput) String() string {
 12996  	return awsutil.Prettify(s)
 12997  }
 12998  
 12999  // GoString returns the string representation.
 13000  //
 13001  // API parameter values that are decorated as "sensitive" in the API will not
 13002  // be included in the string output. The member name will be present, but the
 13003  // value will be replaced with "sensitive".
 13004  func (s ModifyDBClusterParameterGroupOutput) GoString() string {
 13005  	return s.String()
 13006  }
 13007  
 13008  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 13009  func (s *ModifyDBClusterParameterGroupOutput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupOutput {
 13010  	s.DBClusterParameterGroupName = &v
 13011  	return s
 13012  }
 13013  
 13014  // Represents the input to ModifyDBClusterSnapshotAttribute.
 13015  type ModifyDBClusterSnapshotAttributeInput struct {
 13016  	_ struct{} `type:"structure"`
 13017  
 13018  	// The name of the cluster snapshot attribute to modify.
 13019  	//
 13020  	// To manage authorization for other accounts to copy or restore a manual cluster
 13021  	// snapshot, set this value to restore.
 13022  	//
 13023  	// AttributeName is a required field
 13024  	AttributeName *string `type:"string" required:"true"`
 13025  
 13026  	// The identifier for the cluster snapshot to modify the attributes for.
 13027  	//
 13028  	// DBClusterSnapshotIdentifier is a required field
 13029  	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
 13030  
 13031  	// A list of cluster snapshot attributes to add to the attribute specified by
 13032  	// AttributeName.
 13033  	//
 13034  	// To authorize other accounts to copy or restore a manual cluster snapshot,
 13035  	// set this list to include one or more account IDs. To make the manual cluster
 13036  	// snapshot restorable by any account, set it to all. Do not add the all value
 13037  	// for any manual cluster snapshots that contain private information that you
 13038  	// don't want to be available to all accounts.
 13039  	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
 13040  
 13041  	// A list of cluster snapshot attributes to remove from the attribute specified
 13042  	// by AttributeName.
 13043  	//
 13044  	// To remove authorization for other accounts to copy or restore a manual cluster
 13045  	// snapshot, set this list to include one or more account identifiers. To remove
 13046  	// authorization for any account to copy or restore the cluster snapshot, set
 13047  	// it to all . If you specify all, an account whose account ID is explicitly
 13048  	// added to the restore attribute can still copy or restore a manual cluster
 13049  	// snapshot.
 13050  	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
 13051  }
 13052  
 13053  // String returns the string representation.
 13054  //
 13055  // API parameter values that are decorated as "sensitive" in the API will not
 13056  // be included in the string output. The member name will be present, but the
 13057  // value will be replaced with "sensitive".
 13058  func (s ModifyDBClusterSnapshotAttributeInput) String() string {
 13059  	return awsutil.Prettify(s)
 13060  }
 13061  
 13062  // GoString returns the string representation.
 13063  //
 13064  // API parameter values that are decorated as "sensitive" in the API will not
 13065  // be included in the string output. The member name will be present, but the
 13066  // value will be replaced with "sensitive".
 13067  func (s ModifyDBClusterSnapshotAttributeInput) GoString() string {
 13068  	return s.String()
 13069  }
 13070  
 13071  // Validate inspects the fields of the type to determine if they are valid.
 13072  func (s *ModifyDBClusterSnapshotAttributeInput) Validate() error {
 13073  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterSnapshotAttributeInput"}
 13074  	if s.AttributeName == nil {
 13075  		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
 13076  	}
 13077  	if s.DBClusterSnapshotIdentifier == nil {
 13078  		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
 13079  	}
 13080  
 13081  	if invalidParams.Len() > 0 {
 13082  		return invalidParams
 13083  	}
 13084  	return nil
 13085  }
 13086  
 13087  // SetAttributeName sets the AttributeName field's value.
 13088  func (s *ModifyDBClusterSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBClusterSnapshotAttributeInput {
 13089  	s.AttributeName = &v
 13090  	return s
 13091  }
 13092  
 13093  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
 13094  func (s *ModifyDBClusterSnapshotAttributeInput) SetDBClusterSnapshotIdentifier(v string) *ModifyDBClusterSnapshotAttributeInput {
 13095  	s.DBClusterSnapshotIdentifier = &v
 13096  	return s
 13097  }
 13098  
 13099  // SetValuesToAdd sets the ValuesToAdd field's value.
 13100  func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBClusterSnapshotAttributeInput {
 13101  	s.ValuesToAdd = v
 13102  	return s
 13103  }
 13104  
 13105  // SetValuesToRemove sets the ValuesToRemove field's value.
 13106  func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBClusterSnapshotAttributeInput {
 13107  	s.ValuesToRemove = v
 13108  	return s
 13109  }
 13110  
 13111  type ModifyDBClusterSnapshotAttributeOutput struct {
 13112  	_ struct{} `type:"structure"`
 13113  
 13114  	// Detailed information about the attributes that are associated with a cluster
 13115  	// snapshot.
 13116  	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
 13117  }
 13118  
 13119  // String returns the string representation.
 13120  //
 13121  // API parameter values that are decorated as "sensitive" in the API will not
 13122  // be included in the string output. The member name will be present, but the
 13123  // value will be replaced with "sensitive".
 13124  func (s ModifyDBClusterSnapshotAttributeOutput) String() string {
 13125  	return awsutil.Prettify(s)
 13126  }
 13127  
 13128  // GoString returns the string representation.
 13129  //
 13130  // API parameter values that are decorated as "sensitive" in the API will not
 13131  // be included in the string output. The member name will be present, but the
 13132  // value will be replaced with "sensitive".
 13133  func (s ModifyDBClusterSnapshotAttributeOutput) GoString() string {
 13134  	return s.String()
 13135  }
 13136  
 13137  // SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
 13138  func (s *ModifyDBClusterSnapshotAttributeOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *ModifyDBClusterSnapshotAttributeOutput {
 13139  	s.DBClusterSnapshotAttributesResult = v
 13140  	return s
 13141  }
 13142  
 13143  // Represents the input to ModifyDBInstance.
 13144  type ModifyDBInstanceInput struct {
 13145  	_ struct{} `type:"structure"`
 13146  
 13147  	// Specifies whether the modifications in this request and any pending modifications
 13148  	// are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow
 13149  	// setting for the instance.
 13150  	//
 13151  	// If this parameter is set to false, changes to the instance are applied during
 13152  	// the next maintenance window. Some parameter changes can cause an outage and
 13153  	// are applied on the next reboot.
 13154  	//
 13155  	// Default: false
 13156  	ApplyImmediately *bool `type:"boolean"`
 13157  
 13158  	// This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does
 13159  	// not perform minor version upgrades regardless of the value set.
 13160  	AutoMinorVersionUpgrade *bool `type:"boolean"`
 13161  
 13162  	// Indicates the certificate that needs to be associated with the instance.
 13163  	CACertificateIdentifier *string `type:"string"`
 13164  
 13165  	// The new compute and memory capacity of the instance; for example, db.r5.large.
 13166  	// Not all instance classes are available in all Regions.
 13167  	//
 13168  	// If you modify the instance class, an outage occurs during the change. The
 13169  	// change is applied during the next maintenance window, unless ApplyImmediately
 13170  	// is specified as true for this request.
 13171  	//
 13172  	// Default: Uses existing setting.
 13173  	DBInstanceClass *string `type:"string"`
 13174  
 13175  	// The instance identifier. This value is stored as a lowercase string.
 13176  	//
 13177  	// Constraints:
 13178  	//
 13179  	//    * Must match the identifier of an existing DBInstance.
 13180  	//
 13181  	// DBInstanceIdentifier is a required field
 13182  	DBInstanceIdentifier *string `type:"string" required:"true"`
 13183  
 13184  	// The new instance identifier for the instance when renaming an instance. When
 13185  	// you change the instance identifier, an instance reboot occurs immediately
 13186  	// if you set Apply Immediately to true. It occurs during the next maintenance
 13187  	// window if you set Apply Immediately to false. This value is stored as a lowercase
 13188  	// string.
 13189  	//
 13190  	// Constraints:
 13191  	//
 13192  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
 13193  	//
 13194  	//    * The first character must be a letter.
 13195  	//
 13196  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
 13197  	//
 13198  	// Example: mydbinstance
 13199  	NewDBInstanceIdentifier *string `type:"string"`
 13200  
 13201  	// The weekly time range (in UTC) during which system maintenance can occur,
 13202  	// which might result in an outage. Changing this parameter doesn't result in
 13203  	// an outage except in the following situation, and the change is asynchronously
 13204  	// applied as soon as possible. If there are pending actions that cause a reboot,
 13205  	// and the maintenance window is changed to include the current time, changing
 13206  	// this parameter causes a reboot of the instance. If you are moving this window
 13207  	// to the current time, there must be at least 30 minutes between the current
 13208  	// time and end of the window to ensure that pending changes are applied.
 13209  	//
 13210  	// Default: Uses existing setting.
 13211  	//
 13212  	// Format: ddd:hh24:mi-ddd:hh24:mi
 13213  	//
 13214  	// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
 13215  	//
 13216  	// Constraints: Must be at least 30 minutes.
 13217  	PreferredMaintenanceWindow *string `type:"string"`
 13218  
 13219  	// A value that specifies the order in which an Amazon DocumentDB replica is
 13220  	// promoted to the primary instance after a failure of the existing primary
 13221  	// instance.
 13222  	//
 13223  	// Default: 1
 13224  	//
 13225  	// Valid values: 0-15
 13226  	PromotionTier *int64 `type:"integer"`
 13227  }
 13228  
 13229  // String returns the string representation.
 13230  //
 13231  // API parameter values that are decorated as "sensitive" in the API will not
 13232  // be included in the string output. The member name will be present, but the
 13233  // value will be replaced with "sensitive".
 13234  func (s ModifyDBInstanceInput) String() string {
 13235  	return awsutil.Prettify(s)
 13236  }
 13237  
 13238  // GoString returns the string representation.
 13239  //
 13240  // API parameter values that are decorated as "sensitive" in the API will not
 13241  // be included in the string output. The member name will be present, but the
 13242  // value will be replaced with "sensitive".
 13243  func (s ModifyDBInstanceInput) GoString() string {
 13244  	return s.String()
 13245  }
 13246  
 13247  // Validate inspects the fields of the type to determine if they are valid.
 13248  func (s *ModifyDBInstanceInput) Validate() error {
 13249  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBInstanceInput"}
 13250  	if s.DBInstanceIdentifier == nil {
 13251  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 13252  	}
 13253  
 13254  	if invalidParams.Len() > 0 {
 13255  		return invalidParams
 13256  	}
 13257  	return nil
 13258  }
 13259  
 13260  // SetApplyImmediately sets the ApplyImmediately field's value.
 13261  func (s *ModifyDBInstanceInput) SetApplyImmediately(v bool) *ModifyDBInstanceInput {
 13262  	s.ApplyImmediately = &v
 13263  	return s
 13264  }
 13265  
 13266  // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
 13267  func (s *ModifyDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *ModifyDBInstanceInput {
 13268  	s.AutoMinorVersionUpgrade = &v
 13269  	return s
 13270  }
 13271  
 13272  // SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
 13273  func (s *ModifyDBInstanceInput) SetCACertificateIdentifier(v string) *ModifyDBInstanceInput {
 13274  	s.CACertificateIdentifier = &v
 13275  	return s
 13276  }
 13277  
 13278  // SetDBInstanceClass sets the DBInstanceClass field's value.
 13279  func (s *ModifyDBInstanceInput) SetDBInstanceClass(v string) *ModifyDBInstanceInput {
 13280  	s.DBInstanceClass = &v
 13281  	return s
 13282  }
 13283  
 13284  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 13285  func (s *ModifyDBInstanceInput) SetDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
 13286  	s.DBInstanceIdentifier = &v
 13287  	return s
 13288  }
 13289  
 13290  // SetNewDBInstanceIdentifier sets the NewDBInstanceIdentifier field's value.
 13291  func (s *ModifyDBInstanceInput) SetNewDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
 13292  	s.NewDBInstanceIdentifier = &v
 13293  	return s
 13294  }
 13295  
 13296  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 13297  func (s *ModifyDBInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyDBInstanceInput {
 13298  	s.PreferredMaintenanceWindow = &v
 13299  	return s
 13300  }
 13301  
 13302  // SetPromotionTier sets the PromotionTier field's value.
 13303  func (s *ModifyDBInstanceInput) SetPromotionTier(v int64) *ModifyDBInstanceInput {
 13304  	s.PromotionTier = &v
 13305  	return s
 13306  }
 13307  
 13308  type ModifyDBInstanceOutput struct {
 13309  	_ struct{} `type:"structure"`
 13310  
 13311  	// Detailed information about an instance.
 13312  	DBInstance *DBInstance `type:"structure"`
 13313  }
 13314  
 13315  // String returns the string representation.
 13316  //
 13317  // API parameter values that are decorated as "sensitive" in the API will not
 13318  // be included in the string output. The member name will be present, but the
 13319  // value will be replaced with "sensitive".
 13320  func (s ModifyDBInstanceOutput) String() string {
 13321  	return awsutil.Prettify(s)
 13322  }
 13323  
 13324  // GoString returns the string representation.
 13325  //
 13326  // API parameter values that are decorated as "sensitive" in the API will not
 13327  // be included in the string output. The member name will be present, but the
 13328  // value will be replaced with "sensitive".
 13329  func (s ModifyDBInstanceOutput) GoString() string {
 13330  	return s.String()
 13331  }
 13332  
 13333  // SetDBInstance sets the DBInstance field's value.
 13334  func (s *ModifyDBInstanceOutput) SetDBInstance(v *DBInstance) *ModifyDBInstanceOutput {
 13335  	s.DBInstance = v
 13336  	return s
 13337  }
 13338  
 13339  // Represents the input to ModifyDBSubnetGroup.
 13340  type ModifyDBSubnetGroupInput struct {
 13341  	_ struct{} `type:"structure"`
 13342  
 13343  	// The description for the subnet group.
 13344  	DBSubnetGroupDescription *string `type:"string"`
 13345  
 13346  	// The name for the subnet group. This value is stored as a lowercase string.
 13347  	// You can't modify the default subnet group.
 13348  	//
 13349  	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
 13350  	// default.
 13351  	//
 13352  	// Example: mySubnetgroup
 13353  	//
 13354  	// DBSubnetGroupName is a required field
 13355  	DBSubnetGroupName *string `type:"string" required:"true"`
 13356  
 13357  	// The Amazon EC2 subnet IDs for the subnet group.
 13358  	//
 13359  	// SubnetIds is a required field
 13360  	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
 13361  }
 13362  
 13363  // String returns the string representation.
 13364  //
 13365  // API parameter values that are decorated as "sensitive" in the API will not
 13366  // be included in the string output. The member name will be present, but the
 13367  // value will be replaced with "sensitive".
 13368  func (s ModifyDBSubnetGroupInput) String() string {
 13369  	return awsutil.Prettify(s)
 13370  }
 13371  
 13372  // GoString returns the string representation.
 13373  //
 13374  // API parameter values that are decorated as "sensitive" in the API will not
 13375  // be included in the string output. The member name will be present, but the
 13376  // value will be replaced with "sensitive".
 13377  func (s ModifyDBSubnetGroupInput) GoString() string {
 13378  	return s.String()
 13379  }
 13380  
 13381  // Validate inspects the fields of the type to determine if they are valid.
 13382  func (s *ModifyDBSubnetGroupInput) Validate() error {
 13383  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSubnetGroupInput"}
 13384  	if s.DBSubnetGroupName == nil {
 13385  		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
 13386  	}
 13387  	if s.SubnetIds == nil {
 13388  		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
 13389  	}
 13390  
 13391  	if invalidParams.Len() > 0 {
 13392  		return invalidParams
 13393  	}
 13394  	return nil
 13395  }
 13396  
 13397  // SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
 13398  func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *ModifyDBSubnetGroupInput {
 13399  	s.DBSubnetGroupDescription = &v
 13400  	return s
 13401  }
 13402  
 13403  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 13404  func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupName(v string) *ModifyDBSubnetGroupInput {
 13405  	s.DBSubnetGroupName = &v
 13406  	return s
 13407  }
 13408  
 13409  // SetSubnetIds sets the SubnetIds field's value.
 13410  func (s *ModifyDBSubnetGroupInput) SetSubnetIds(v []*string) *ModifyDBSubnetGroupInput {
 13411  	s.SubnetIds = v
 13412  	return s
 13413  }
 13414  
 13415  type ModifyDBSubnetGroupOutput struct {
 13416  	_ struct{} `type:"structure"`
 13417  
 13418  	// Detailed information about a subnet group.
 13419  	DBSubnetGroup *DBSubnetGroup `type:"structure"`
 13420  }
 13421  
 13422  // String returns the string representation.
 13423  //
 13424  // API parameter values that are decorated as "sensitive" in the API will not
 13425  // be included in the string output. The member name will be present, but the
 13426  // value will be replaced with "sensitive".
 13427  func (s ModifyDBSubnetGroupOutput) String() string {
 13428  	return awsutil.Prettify(s)
 13429  }
 13430  
 13431  // GoString returns the string representation.
 13432  //
 13433  // API parameter values that are decorated as "sensitive" in the API will not
 13434  // be included in the string output. The member name will be present, but the
 13435  // value will be replaced with "sensitive".
 13436  func (s ModifyDBSubnetGroupOutput) GoString() string {
 13437  	return s.String()
 13438  }
 13439  
 13440  // SetDBSubnetGroup sets the DBSubnetGroup field's value.
 13441  func (s *ModifyDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *ModifyDBSubnetGroupOutput {
 13442  	s.DBSubnetGroup = v
 13443  	return s
 13444  }
 13445  
 13446  // Represents the input to ModifyEventSubscription.
 13447  type ModifyEventSubscriptionInput struct {
 13448  	_ struct{} `type:"structure"`
 13449  
 13450  	// A Boolean value; set to true to activate the subscription.
 13451  	Enabled *bool `type:"boolean"`
 13452  
 13453  	// A list of event categories for a SourceType that you want to subscribe to.
 13454  	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
 13455  
 13456  	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
 13457  	// The ARN is created by Amazon SNS when you create a topic and subscribe to
 13458  	// it.
 13459  	SnsTopicArn *string `type:"string"`
 13460  
 13461  	// The type of source that is generating the events. For example, if you want
 13462  	// to be notified of events generated by an instance, set this parameter to
 13463  	// db-instance. If this value is not specified, all events are returned.
 13464  	//
 13465  	// Valid values: db-instance, db-parameter-group, db-security-group
 13466  	SourceType *string `type:"string"`
 13467  
 13468  	// The name of the Amazon DocumentDB event notification subscription.
 13469  	//
 13470  	// SubscriptionName is a required field
 13471  	SubscriptionName *string `type:"string" required:"true"`
 13472  }
 13473  
 13474  // String returns the string representation.
 13475  //
 13476  // API parameter values that are decorated as "sensitive" in the API will not
 13477  // be included in the string output. The member name will be present, but the
 13478  // value will be replaced with "sensitive".
 13479  func (s ModifyEventSubscriptionInput) String() string {
 13480  	return awsutil.Prettify(s)
 13481  }
 13482  
 13483  // GoString returns the string representation.
 13484  //
 13485  // API parameter values that are decorated as "sensitive" in the API will not
 13486  // be included in the string output. The member name will be present, but the
 13487  // value will be replaced with "sensitive".
 13488  func (s ModifyEventSubscriptionInput) GoString() string {
 13489  	return s.String()
 13490  }
 13491  
 13492  // Validate inspects the fields of the type to determine if they are valid.
 13493  func (s *ModifyEventSubscriptionInput) Validate() error {
 13494  	invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"}
 13495  	if s.SubscriptionName == nil {
 13496  		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
 13497  	}
 13498  
 13499  	if invalidParams.Len() > 0 {
 13500  		return invalidParams
 13501  	}
 13502  	return nil
 13503  }
 13504  
 13505  // SetEnabled sets the Enabled field's value.
 13506  func (s *ModifyEventSubscriptionInput) SetEnabled(v bool) *ModifyEventSubscriptionInput {
 13507  	s.Enabled = &v
 13508  	return s
 13509  }
 13510  
 13511  // SetEventCategories sets the EventCategories field's value.
 13512  func (s *ModifyEventSubscriptionInput) SetEventCategories(v []*string) *ModifyEventSubscriptionInput {
 13513  	s.EventCategories = v
 13514  	return s
 13515  }
 13516  
 13517  // SetSnsTopicArn sets the SnsTopicArn field's value.
 13518  func (s *ModifyEventSubscriptionInput) SetSnsTopicArn(v string) *ModifyEventSubscriptionInput {
 13519  	s.SnsTopicArn = &v
 13520  	return s
 13521  }
 13522  
 13523  // SetSourceType sets the SourceType field's value.
 13524  func (s *ModifyEventSubscriptionInput) SetSourceType(v string) *ModifyEventSubscriptionInput {
 13525  	s.SourceType = &v
 13526  	return s
 13527  }
 13528  
 13529  // SetSubscriptionName sets the SubscriptionName field's value.
 13530  func (s *ModifyEventSubscriptionInput) SetSubscriptionName(v string) *ModifyEventSubscriptionInput {
 13531  	s.SubscriptionName = &v
 13532  	return s
 13533  }
 13534  
 13535  type ModifyEventSubscriptionOutput struct {
 13536  	_ struct{} `type:"structure"`
 13537  
 13538  	// Detailed information about an event to which you have subscribed.
 13539  	EventSubscription *EventSubscription `type:"structure"`
 13540  }
 13541  
 13542  // String returns the string representation.
 13543  //
 13544  // API parameter values that are decorated as "sensitive" in the API will not
 13545  // be included in the string output. The member name will be present, but the
 13546  // value will be replaced with "sensitive".
 13547  func (s ModifyEventSubscriptionOutput) String() string {
 13548  	return awsutil.Prettify(s)
 13549  }
 13550  
 13551  // GoString returns the string representation.
 13552  //
 13553  // API parameter values that are decorated as "sensitive" in the API will not
 13554  // be included in the string output. The member name will be present, but the
 13555  // value will be replaced with "sensitive".
 13556  func (s ModifyEventSubscriptionOutput) GoString() string {
 13557  	return s.String()
 13558  }
 13559  
 13560  // SetEventSubscription sets the EventSubscription field's value.
 13561  func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *ModifyEventSubscriptionOutput {
 13562  	s.EventSubscription = v
 13563  	return s
 13564  }
 13565  
 13566  // Represents the input to ModifyGlobalCluster.
 13567  type ModifyGlobalClusterInput struct {
 13568  	_ struct{} `type:"structure"`
 13569  
 13570  	// Indicates if the global cluster has deletion protection enabled. The global
 13571  	// cluster can't be deleted when deletion protection is enabled.
 13572  	DeletionProtection *bool `type:"boolean"`
 13573  
 13574  	// The identifier for the global cluster being modified. This parameter isn't
 13575  	// case-sensitive.
 13576  	//
 13577  	// Constraints:
 13578  	//
 13579  	//    * Must match the identifier of an existing global cluster.
 13580  	//
 13581  	// GlobalClusterIdentifier is a required field
 13582  	GlobalClusterIdentifier *string `min:"1" type:"string" required:"true"`
 13583  
 13584  	// The new identifier for a global cluster when you modify a global cluster.
 13585  	// This value is stored as a lowercase string.
 13586  	//
 13587  	//    * Must contain from 1 to 63 letters, numbers, or hyphens The first character
 13588  	//    must be a letter Can't end with a hyphen or contain two consecutive hyphens
 13589  	//
 13590  	// Example: my-cluster2
 13591  	NewGlobalClusterIdentifier *string `min:"1" type:"string"`
 13592  }
 13593  
 13594  // String returns the string representation.
 13595  //
 13596  // API parameter values that are decorated as "sensitive" in the API will not
 13597  // be included in the string output. The member name will be present, but the
 13598  // value will be replaced with "sensitive".
 13599  func (s ModifyGlobalClusterInput) String() string {
 13600  	return awsutil.Prettify(s)
 13601  }
 13602  
 13603  // GoString returns the string representation.
 13604  //
 13605  // API parameter values that are decorated as "sensitive" in the API will not
 13606  // be included in the string output. The member name will be present, but the
 13607  // value will be replaced with "sensitive".
 13608  func (s ModifyGlobalClusterInput) GoString() string {
 13609  	return s.String()
 13610  }
 13611  
 13612  // Validate inspects the fields of the type to determine if they are valid.
 13613  func (s *ModifyGlobalClusterInput) Validate() error {
 13614  	invalidParams := request.ErrInvalidParams{Context: "ModifyGlobalClusterInput"}
 13615  	if s.GlobalClusterIdentifier == nil {
 13616  		invalidParams.Add(request.NewErrParamRequired("GlobalClusterIdentifier"))
 13617  	}
 13618  	if s.GlobalClusterIdentifier != nil && len(*s.GlobalClusterIdentifier) < 1 {
 13619  		invalidParams.Add(request.NewErrParamMinLen("GlobalClusterIdentifier", 1))
 13620  	}
 13621  	if s.NewGlobalClusterIdentifier != nil && len(*s.NewGlobalClusterIdentifier) < 1 {
 13622  		invalidParams.Add(request.NewErrParamMinLen("NewGlobalClusterIdentifier", 1))
 13623  	}
 13624  
 13625  	if invalidParams.Len() > 0 {
 13626  		return invalidParams
 13627  	}
 13628  	return nil
 13629  }
 13630  
 13631  // SetDeletionProtection sets the DeletionProtection field's value.
 13632  func (s *ModifyGlobalClusterInput) SetDeletionProtection(v bool) *ModifyGlobalClusterInput {
 13633  	s.DeletionProtection = &v
 13634  	return s
 13635  }
 13636  
 13637  // SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
 13638  func (s *ModifyGlobalClusterInput) SetGlobalClusterIdentifier(v string) *ModifyGlobalClusterInput {
 13639  	s.GlobalClusterIdentifier = &v
 13640  	return s
 13641  }
 13642  
 13643  // SetNewGlobalClusterIdentifier sets the NewGlobalClusterIdentifier field's value.
 13644  func (s *ModifyGlobalClusterInput) SetNewGlobalClusterIdentifier(v string) *ModifyGlobalClusterInput {
 13645  	s.NewGlobalClusterIdentifier = &v
 13646  	return s
 13647  }
 13648  
 13649  type ModifyGlobalClusterOutput struct {
 13650  	_ struct{} `type:"structure"`
 13651  
 13652  	// A data type representing an Amazon DocumentDB global cluster.
 13653  	GlobalCluster *GlobalCluster `type:"structure"`
 13654  }
 13655  
 13656  // String returns the string representation.
 13657  //
 13658  // API parameter values that are decorated as "sensitive" in the API will not
 13659  // be included in the string output. The member name will be present, but the
 13660  // value will be replaced with "sensitive".
 13661  func (s ModifyGlobalClusterOutput) String() string {
 13662  	return awsutil.Prettify(s)
 13663  }
 13664  
 13665  // GoString returns the string representation.
 13666  //
 13667  // API parameter values that are decorated as "sensitive" in the API will not
 13668  // be included in the string output. The member name will be present, but the
 13669  // value will be replaced with "sensitive".
 13670  func (s ModifyGlobalClusterOutput) GoString() string {
 13671  	return s.String()
 13672  }
 13673  
 13674  // SetGlobalCluster sets the GlobalCluster field's value.
 13675  func (s *ModifyGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *ModifyGlobalClusterOutput {
 13676  	s.GlobalCluster = v
 13677  	return s
 13678  }
 13679  
 13680  // The options that are available for an instance.
 13681  type OrderableDBInstanceOption struct {
 13682  	_ struct{} `type:"structure"`
 13683  
 13684  	// A list of Availability Zones for an instance.
 13685  	AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"`
 13686  
 13687  	// The instance class for an instance.
 13688  	DBInstanceClass *string `type:"string"`
 13689  
 13690  	// The engine type of an instance.
 13691  	Engine *string `type:"string"`
 13692  
 13693  	// The engine version of an instance.
 13694  	EngineVersion *string `type:"string"`
 13695  
 13696  	// The license model for an instance.
 13697  	LicenseModel *string `type:"string"`
 13698  
 13699  	// Indicates whether an instance is in a virtual private cloud (VPC).
 13700  	Vpc *bool `type:"boolean"`
 13701  }
 13702  
 13703  // String returns the string representation.
 13704  //
 13705  // API parameter values that are decorated as "sensitive" in the API will not
 13706  // be included in the string output. The member name will be present, but the
 13707  // value will be replaced with "sensitive".
 13708  func (s OrderableDBInstanceOption) String() string {
 13709  	return awsutil.Prettify(s)
 13710  }
 13711  
 13712  // GoString returns the string representation.
 13713  //
 13714  // API parameter values that are decorated as "sensitive" in the API will not
 13715  // be included in the string output. The member name will be present, but the
 13716  // value will be replaced with "sensitive".
 13717  func (s OrderableDBInstanceOption) GoString() string {
 13718  	return s.String()
 13719  }
 13720  
 13721  // SetAvailabilityZones sets the AvailabilityZones field's value.
 13722  func (s *OrderableDBInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableDBInstanceOption {
 13723  	s.AvailabilityZones = v
 13724  	return s
 13725  }
 13726  
 13727  // SetDBInstanceClass sets the DBInstanceClass field's value.
 13728  func (s *OrderableDBInstanceOption) SetDBInstanceClass(v string) *OrderableDBInstanceOption {
 13729  	s.DBInstanceClass = &v
 13730  	return s
 13731  }
 13732  
 13733  // SetEngine sets the Engine field's value.
 13734  func (s *OrderableDBInstanceOption) SetEngine(v string) *OrderableDBInstanceOption {
 13735  	s.Engine = &v
 13736  	return s
 13737  }
 13738  
 13739  // SetEngineVersion sets the EngineVersion field's value.
 13740  func (s *OrderableDBInstanceOption) SetEngineVersion(v string) *OrderableDBInstanceOption {
 13741  	s.EngineVersion = &v
 13742  	return s
 13743  }
 13744  
 13745  // SetLicenseModel sets the LicenseModel field's value.
 13746  func (s *OrderableDBInstanceOption) SetLicenseModel(v string) *OrderableDBInstanceOption {
 13747  	s.LicenseModel = &v
 13748  	return s
 13749  }
 13750  
 13751  // SetVpc sets the Vpc field's value.
 13752  func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption {
 13753  	s.Vpc = &v
 13754  	return s
 13755  }
 13756  
 13757  // Detailed information about an individual parameter.
 13758  type Parameter struct {
 13759  	_ struct{} `type:"structure"`
 13760  
 13761  	// Specifies the valid range of values for the parameter.
 13762  	AllowedValues *string `type:"string"`
 13763  
 13764  	// Indicates when to apply parameter updates.
 13765  	ApplyMethod *string `type:"string" enum:"ApplyMethod"`
 13766  
 13767  	// Specifies the engine-specific parameters type.
 13768  	ApplyType *string `type:"string"`
 13769  
 13770  	// Specifies the valid data type for the parameter.
 13771  	DataType *string `type:"string"`
 13772  
 13773  	// Provides a description of the parameter.
 13774  	Description *string `type:"string"`
 13775  
 13776  	// Indicates whether (true) or not (false) the parameter can be modified. Some
 13777  	// parameters have security or operational implications that prevent them from
 13778  	// being changed.
 13779  	IsModifiable *bool `type:"boolean"`
 13780  
 13781  	// The earliest engine version to which the parameter can apply.
 13782  	MinimumEngineVersion *string `type:"string"`
 13783  
 13784  	// Specifies the name of the parameter.
 13785  	ParameterName *string `type:"string"`
 13786  
 13787  	// Specifies the value of the parameter.
 13788  	ParameterValue *string `type:"string"`
 13789  
 13790  	// Indicates the source of the parameter value.
 13791  	Source *string `type:"string"`
 13792  }
 13793  
 13794  // String returns the string representation.
 13795  //
 13796  // API parameter values that are decorated as "sensitive" in the API will not
 13797  // be included in the string output. The member name will be present, but the
 13798  // value will be replaced with "sensitive".
 13799  func (s Parameter) String() string {
 13800  	return awsutil.Prettify(s)
 13801  }
 13802  
 13803  // GoString returns the string representation.
 13804  //
 13805  // API parameter values that are decorated as "sensitive" in the API will not
 13806  // be included in the string output. The member name will be present, but the
 13807  // value will be replaced with "sensitive".
 13808  func (s Parameter) GoString() string {
 13809  	return s.String()
 13810  }
 13811  
 13812  // SetAllowedValues sets the AllowedValues field's value.
 13813  func (s *Parameter) SetAllowedValues(v string) *Parameter {
 13814  	s.AllowedValues = &v
 13815  	return s
 13816  }
 13817  
 13818  // SetApplyMethod sets the ApplyMethod field's value.
 13819  func (s *Parameter) SetApplyMethod(v string) *Parameter {
 13820  	s.ApplyMethod = &v
 13821  	return s
 13822  }
 13823  
 13824  // SetApplyType sets the ApplyType field's value.
 13825  func (s *Parameter) SetApplyType(v string) *Parameter {
 13826  	s.ApplyType = &v
 13827  	return s
 13828  }
 13829  
 13830  // SetDataType sets the DataType field's value.
 13831  func (s *Parameter) SetDataType(v string) *Parameter {
 13832  	s.DataType = &v
 13833  	return s
 13834  }
 13835  
 13836  // SetDescription sets the Description field's value.
 13837  func (s *Parameter) SetDescription(v string) *Parameter {
 13838  	s.Description = &v
 13839  	return s
 13840  }
 13841  
 13842  // SetIsModifiable sets the IsModifiable field's value.
 13843  func (s *Parameter) SetIsModifiable(v bool) *Parameter {
 13844  	s.IsModifiable = &v
 13845  	return s
 13846  }
 13847  
 13848  // SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
 13849  func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter {
 13850  	s.MinimumEngineVersion = &v
 13851  	return s
 13852  }
 13853  
 13854  // SetParameterName sets the ParameterName field's value.
 13855  func (s *Parameter) SetParameterName(v string) *Parameter {
 13856  	s.ParameterName = &v
 13857  	return s
 13858  }
 13859  
 13860  // SetParameterValue sets the ParameterValue field's value.
 13861  func (s *Parameter) SetParameterValue(v string) *Parameter {
 13862  	s.ParameterValue = &v
 13863  	return s
 13864  }
 13865  
 13866  // SetSource sets the Source field's value.
 13867  func (s *Parameter) SetSource(v string) *Parameter {
 13868  	s.Source = &v
 13869  	return s
 13870  }
 13871  
 13872  // A list of the log types whose configuration is still pending. These log types
 13873  // are in the process of being activated or deactivated.
 13874  type PendingCloudwatchLogsExports struct {
 13875  	_ struct{} `type:"structure"`
 13876  
 13877  	// Log types that are in the process of being enabled. After they are enabled,
 13878  	// these log types are exported to Amazon CloudWatch Logs.
 13879  	LogTypesToDisable []*string `type:"list"`
 13880  
 13881  	// Log types that are in the process of being deactivated. After they are deactivated,
 13882  	// these log types aren't exported to CloudWatch Logs.
 13883  	LogTypesToEnable []*string `type:"list"`
 13884  }
 13885  
 13886  // String returns the string representation.
 13887  //
 13888  // API parameter values that are decorated as "sensitive" in the API will not
 13889  // be included in the string output. The member name will be present, but the
 13890  // value will be replaced with "sensitive".
 13891  func (s PendingCloudwatchLogsExports) String() string {
 13892  	return awsutil.Prettify(s)
 13893  }
 13894  
 13895  // GoString returns the string representation.
 13896  //
 13897  // API parameter values that are decorated as "sensitive" in the API will not
 13898  // be included in the string output. The member name will be present, but the
 13899  // value will be replaced with "sensitive".
 13900  func (s PendingCloudwatchLogsExports) GoString() string {
 13901  	return s.String()
 13902  }
 13903  
 13904  // SetLogTypesToDisable sets the LogTypesToDisable field's value.
 13905  func (s *PendingCloudwatchLogsExports) SetLogTypesToDisable(v []*string) *PendingCloudwatchLogsExports {
 13906  	s.LogTypesToDisable = v
 13907  	return s
 13908  }
 13909  
 13910  // SetLogTypesToEnable sets the LogTypesToEnable field's value.
 13911  func (s *PendingCloudwatchLogsExports) SetLogTypesToEnable(v []*string) *PendingCloudwatchLogsExports {
 13912  	s.LogTypesToEnable = v
 13913  	return s
 13914  }
 13915  
 13916  // Provides information about a pending maintenance action for a resource.
 13917  type PendingMaintenanceAction struct {
 13918  	_ struct{} `type:"structure"`
 13919  
 13920  	// The type of pending maintenance action that is available for the resource.
 13921  	Action *string `type:"string"`
 13922  
 13923  	// The date of the maintenance window when the action is applied. The maintenance
 13924  	// action is applied to the resource during its first maintenance window after
 13925  	// this date. If this date is specified, any next-maintenance opt-in requests
 13926  	// are ignored.
 13927  	AutoAppliedAfterDate *time.Time `type:"timestamp"`
 13928  
 13929  	// The effective date when the pending maintenance action is applied to the
 13930  	// resource.
 13931  	CurrentApplyDate *time.Time `type:"timestamp"`
 13932  
 13933  	// A description providing more detail about the maintenance action.
 13934  	Description *string `type:"string"`
 13935  
 13936  	// The date when the maintenance action is automatically applied. The maintenance
 13937  	// action is applied to the resource on this date regardless of the maintenance
 13938  	// window for the resource. If this date is specified, any immediate opt-in
 13939  	// requests are ignored.
 13940  	ForcedApplyDate *time.Time `type:"timestamp"`
 13941  
 13942  	// Indicates the type of opt-in request that has been received for the resource.
 13943  	OptInStatus *string `type:"string"`
 13944  }
 13945  
 13946  // String returns the string representation.
 13947  //
 13948  // API parameter values that are decorated as "sensitive" in the API will not
 13949  // be included in the string output. The member name will be present, but the
 13950  // value will be replaced with "sensitive".
 13951  func (s PendingMaintenanceAction) String() string {
 13952  	return awsutil.Prettify(s)
 13953  }
 13954  
 13955  // GoString returns the string representation.
 13956  //
 13957  // API parameter values that are decorated as "sensitive" in the API will not
 13958  // be included in the string output. The member name will be present, but the
 13959  // value will be replaced with "sensitive".
 13960  func (s PendingMaintenanceAction) GoString() string {
 13961  	return s.String()
 13962  }
 13963  
 13964  // SetAction sets the Action field's value.
 13965  func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
 13966  	s.Action = &v
 13967  	return s
 13968  }
 13969  
 13970  // SetAutoAppliedAfterDate sets the AutoAppliedAfterDate field's value.
 13971  func (s *PendingMaintenanceAction) SetAutoAppliedAfterDate(v time.Time) *PendingMaintenanceAction {
 13972  	s.AutoAppliedAfterDate = &v
 13973  	return s
 13974  }
 13975  
 13976  // SetCurrentApplyDate sets the CurrentApplyDate field's value.
 13977  func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
 13978  	s.CurrentApplyDate = &v
 13979  	return s
 13980  }
 13981  
 13982  // SetDescription sets the Description field's value.
 13983  func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
 13984  	s.Description = &v
 13985  	return s
 13986  }
 13987  
 13988  // SetForcedApplyDate sets the ForcedApplyDate field's value.
 13989  func (s *PendingMaintenanceAction) SetForcedApplyDate(v time.Time) *PendingMaintenanceAction {
 13990  	s.ForcedApplyDate = &v
 13991  	return s
 13992  }
 13993  
 13994  // SetOptInStatus sets the OptInStatus field's value.
 13995  func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceAction {
 13996  	s.OptInStatus = &v
 13997  	return s
 13998  }
 13999  
 14000  // One or more modified settings for an instance. These modified settings have
 14001  // been requested, but haven't been applied yet.
 14002  type PendingModifiedValues struct {
 14003  	_ struct{} `type:"structure"`
 14004  
 14005  	// Contains the new AllocatedStorage size for then instance that will be applied
 14006  	// or is currently being applied.
 14007  	AllocatedStorage *int64 `type:"integer"`
 14008  
 14009  	// Specifies the pending number of days for which automated backups are retained.
 14010  	BackupRetentionPeriod *int64 `type:"integer"`
 14011  
 14012  	// Specifies the identifier of the certificate authority (CA) certificate for
 14013  	// the DB instance.
 14014  	CACertificateIdentifier *string `type:"string"`
 14015  
 14016  	// Contains the new DBInstanceClass for the instance that will be applied or
 14017  	// is currently being applied.
 14018  	DBInstanceClass *string `type:"string"`
 14019  
 14020  	// Contains the new DBInstanceIdentifier for the instance that will be applied
 14021  	// or is currently being applied.
 14022  	DBInstanceIdentifier *string `type:"string"`
 14023  
 14024  	// The new subnet group for the instance.
 14025  	DBSubnetGroupName *string `type:"string"`
 14026  
 14027  	// Indicates the database engine version.
 14028  	EngineVersion *string `type:"string"`
 14029  
 14030  	// Specifies the new Provisioned IOPS value for the instance that will be applied
 14031  	// or is currently being applied.
 14032  	Iops *int64 `type:"integer"`
 14033  
 14034  	// The license model for the instance.
 14035  	//
 14036  	// Valid values: license-included, bring-your-own-license, general-public-license
 14037  	LicenseModel *string `type:"string"`
 14038  
 14039  	// Contains the pending or currently in-progress change of the master credentials
 14040  	// for the instance.
 14041  	MasterUserPassword *string `type:"string"`
 14042  
 14043  	// Indicates that the Single-AZ instance is to change to a Multi-AZ deployment.
 14044  	MultiAZ *bool `type:"boolean"`
 14045  
 14046  	// A list of the log types whose configuration is still pending. These log types
 14047  	// are in the process of being activated or deactivated.
 14048  	PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"`
 14049  
 14050  	// Specifies the pending port for the instance.
 14051  	Port *int64 `type:"integer"`
 14052  
 14053  	// Specifies the storage type to be associated with the instance.
 14054  	StorageType *string `type:"string"`
 14055  }
 14056  
 14057  // String returns the string representation.
 14058  //
 14059  // API parameter values that are decorated as "sensitive" in the API will not
 14060  // be included in the string output. The member name will be present, but the
 14061  // value will be replaced with "sensitive".
 14062  func (s PendingModifiedValues) String() string {
 14063  	return awsutil.Prettify(s)
 14064  }
 14065  
 14066  // GoString returns the string representation.
 14067  //
 14068  // API parameter values that are decorated as "sensitive" in the API will not
 14069  // be included in the string output. The member name will be present, but the
 14070  // value will be replaced with "sensitive".
 14071  func (s PendingModifiedValues) GoString() string {
 14072  	return s.String()
 14073  }
 14074  
 14075  // SetAllocatedStorage sets the AllocatedStorage field's value.
 14076  func (s *PendingModifiedValues) SetAllocatedStorage(v int64) *PendingModifiedValues {
 14077  	s.AllocatedStorage = &v
 14078  	return s
 14079  }
 14080  
 14081  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 14082  func (s *PendingModifiedValues) SetBackupRetentionPeriod(v int64) *PendingModifiedValues {
 14083  	s.BackupRetentionPeriod = &v
 14084  	return s
 14085  }
 14086  
 14087  // SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
 14088  func (s *PendingModifiedValues) SetCACertificateIdentifier(v string) *PendingModifiedValues {
 14089  	s.CACertificateIdentifier = &v
 14090  	return s
 14091  }
 14092  
 14093  // SetDBInstanceClass sets the DBInstanceClass field's value.
 14094  func (s *PendingModifiedValues) SetDBInstanceClass(v string) *PendingModifiedValues {
 14095  	s.DBInstanceClass = &v
 14096  	return s
 14097  }
 14098  
 14099  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 14100  func (s *PendingModifiedValues) SetDBInstanceIdentifier(v string) *PendingModifiedValues {
 14101  	s.DBInstanceIdentifier = &v
 14102  	return s
 14103  }
 14104  
 14105  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 14106  func (s *PendingModifiedValues) SetDBSubnetGroupName(v string) *PendingModifiedValues {
 14107  	s.DBSubnetGroupName = &v
 14108  	return s
 14109  }
 14110  
 14111  // SetEngineVersion sets the EngineVersion field's value.
 14112  func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues {
 14113  	s.EngineVersion = &v
 14114  	return s
 14115  }
 14116  
 14117  // SetIops sets the Iops field's value.
 14118  func (s *PendingModifiedValues) SetIops(v int64) *PendingModifiedValues {
 14119  	s.Iops = &v
 14120  	return s
 14121  }
 14122  
 14123  // SetLicenseModel sets the LicenseModel field's value.
 14124  func (s *PendingModifiedValues) SetLicenseModel(v string) *PendingModifiedValues {
 14125  	s.LicenseModel = &v
 14126  	return s
 14127  }
 14128  
 14129  // SetMasterUserPassword sets the MasterUserPassword field's value.
 14130  func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues {
 14131  	s.MasterUserPassword = &v
 14132  	return s
 14133  }
 14134  
 14135  // SetMultiAZ sets the MultiAZ field's value.
 14136  func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues {
 14137  	s.MultiAZ = &v
 14138  	return s
 14139  }
 14140  
 14141  // SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value.
 14142  func (s *PendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *PendingModifiedValues {
 14143  	s.PendingCloudwatchLogsExports = v
 14144  	return s
 14145  }
 14146  
 14147  // SetPort sets the Port field's value.
 14148  func (s *PendingModifiedValues) SetPort(v int64) *PendingModifiedValues {
 14149  	s.Port = &v
 14150  	return s
 14151  }
 14152  
 14153  // SetStorageType sets the StorageType field's value.
 14154  func (s *PendingModifiedValues) SetStorageType(v string) *PendingModifiedValues {
 14155  	s.StorageType = &v
 14156  	return s
 14157  }
 14158  
 14159  // Represents the input to RebootDBInstance.
 14160  type RebootDBInstanceInput struct {
 14161  	_ struct{} `type:"structure"`
 14162  
 14163  	// The instance identifier. This parameter is stored as a lowercase string.
 14164  	//
 14165  	// Constraints:
 14166  	//
 14167  	//    * Must match the identifier of an existing DBInstance.
 14168  	//
 14169  	// DBInstanceIdentifier is a required field
 14170  	DBInstanceIdentifier *string `type:"string" required:"true"`
 14171  
 14172  	// When true, the reboot is conducted through a Multi-AZ failover.
 14173  	//
 14174  	// Constraint: You can't specify true if the instance is not configured for
 14175  	// Multi-AZ.
 14176  	ForceFailover *bool `type:"boolean"`
 14177  }
 14178  
 14179  // String returns the string representation.
 14180  //
 14181  // API parameter values that are decorated as "sensitive" in the API will not
 14182  // be included in the string output. The member name will be present, but the
 14183  // value will be replaced with "sensitive".
 14184  func (s RebootDBInstanceInput) String() string {
 14185  	return awsutil.Prettify(s)
 14186  }
 14187  
 14188  // GoString returns the string representation.
 14189  //
 14190  // API parameter values that are decorated as "sensitive" in the API will not
 14191  // be included in the string output. The member name will be present, but the
 14192  // value will be replaced with "sensitive".
 14193  func (s RebootDBInstanceInput) GoString() string {
 14194  	return s.String()
 14195  }
 14196  
 14197  // Validate inspects the fields of the type to determine if they are valid.
 14198  func (s *RebootDBInstanceInput) Validate() error {
 14199  	invalidParams := request.ErrInvalidParams{Context: "RebootDBInstanceInput"}
 14200  	if s.DBInstanceIdentifier == nil {
 14201  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 14202  	}
 14203  
 14204  	if invalidParams.Len() > 0 {
 14205  		return invalidParams
 14206  	}
 14207  	return nil
 14208  }
 14209  
 14210  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 14211  func (s *RebootDBInstanceInput) SetDBInstanceIdentifier(v string) *RebootDBInstanceInput {
 14212  	s.DBInstanceIdentifier = &v
 14213  	return s
 14214  }
 14215  
 14216  // SetForceFailover sets the ForceFailover field's value.
 14217  func (s *RebootDBInstanceInput) SetForceFailover(v bool) *RebootDBInstanceInput {
 14218  	s.ForceFailover = &v
 14219  	return s
 14220  }
 14221  
 14222  type RebootDBInstanceOutput struct {
 14223  	_ struct{} `type:"structure"`
 14224  
 14225  	// Detailed information about an instance.
 14226  	DBInstance *DBInstance `type:"structure"`
 14227  }
 14228  
 14229  // String returns the string representation.
 14230  //
 14231  // API parameter values that are decorated as "sensitive" in the API will not
 14232  // be included in the string output. The member name will be present, but the
 14233  // value will be replaced with "sensitive".
 14234  func (s RebootDBInstanceOutput) String() string {
 14235  	return awsutil.Prettify(s)
 14236  }
 14237  
 14238  // GoString returns the string representation.
 14239  //
 14240  // API parameter values that are decorated as "sensitive" in the API will not
 14241  // be included in the string output. The member name will be present, but the
 14242  // value will be replaced with "sensitive".
 14243  func (s RebootDBInstanceOutput) GoString() string {
 14244  	return s.String()
 14245  }
 14246  
 14247  // SetDBInstance sets the DBInstance field's value.
 14248  func (s *RebootDBInstanceOutput) SetDBInstance(v *DBInstance) *RebootDBInstanceOutput {
 14249  	s.DBInstance = v
 14250  	return s
 14251  }
 14252  
 14253  // Represents the input to RemoveFromGlobalCluster.
 14254  type RemoveFromGlobalClusterInput struct {
 14255  	_ struct{} `type:"structure"`
 14256  
 14257  	// The Amazon Resource Name (ARN) identifying the cluster that was detached
 14258  	// from the Amazon DocumentDB global cluster.
 14259  	//
 14260  	// DbClusterIdentifier is a required field
 14261  	DbClusterIdentifier *string `type:"string" required:"true"`
 14262  
 14263  	// The cluster identifier to detach from the Amazon DocumentDB global cluster.
 14264  	//
 14265  	// GlobalClusterIdentifier is a required field
 14266  	GlobalClusterIdentifier *string `min:"1" type:"string" required:"true"`
 14267  }
 14268  
 14269  // String returns the string representation.
 14270  //
 14271  // API parameter values that are decorated as "sensitive" in the API will not
 14272  // be included in the string output. The member name will be present, but the
 14273  // value will be replaced with "sensitive".
 14274  func (s RemoveFromGlobalClusterInput) String() string {
 14275  	return awsutil.Prettify(s)
 14276  }
 14277  
 14278  // GoString returns the string representation.
 14279  //
 14280  // API parameter values that are decorated as "sensitive" in the API will not
 14281  // be included in the string output. The member name will be present, but the
 14282  // value will be replaced with "sensitive".
 14283  func (s RemoveFromGlobalClusterInput) GoString() string {
 14284  	return s.String()
 14285  }
 14286  
 14287  // Validate inspects the fields of the type to determine if they are valid.
 14288  func (s *RemoveFromGlobalClusterInput) Validate() error {
 14289  	invalidParams := request.ErrInvalidParams{Context: "RemoveFromGlobalClusterInput"}
 14290  	if s.DbClusterIdentifier == nil {
 14291  		invalidParams.Add(request.NewErrParamRequired("DbClusterIdentifier"))
 14292  	}
 14293  	if s.GlobalClusterIdentifier == nil {
 14294  		invalidParams.Add(request.NewErrParamRequired("GlobalClusterIdentifier"))
 14295  	}
 14296  	if s.GlobalClusterIdentifier != nil && len(*s.GlobalClusterIdentifier) < 1 {
 14297  		invalidParams.Add(request.NewErrParamMinLen("GlobalClusterIdentifier", 1))
 14298  	}
 14299  
 14300  	if invalidParams.Len() > 0 {
 14301  		return invalidParams
 14302  	}
 14303  	return nil
 14304  }
 14305  
 14306  // SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
 14307  func (s *RemoveFromGlobalClusterInput) SetDbClusterIdentifier(v string) *RemoveFromGlobalClusterInput {
 14308  	s.DbClusterIdentifier = &v
 14309  	return s
 14310  }
 14311  
 14312  // SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
 14313  func (s *RemoveFromGlobalClusterInput) SetGlobalClusterIdentifier(v string) *RemoveFromGlobalClusterInput {
 14314  	s.GlobalClusterIdentifier = &v
 14315  	return s
 14316  }
 14317  
 14318  type RemoveFromGlobalClusterOutput struct {
 14319  	_ struct{} `type:"structure"`
 14320  
 14321  	// A data type representing an Amazon DocumentDB global cluster.
 14322  	GlobalCluster *GlobalCluster `type:"structure"`
 14323  }
 14324  
 14325  // String returns the string representation.
 14326  //
 14327  // API parameter values that are decorated as "sensitive" in the API will not
 14328  // be included in the string output. The member name will be present, but the
 14329  // value will be replaced with "sensitive".
 14330  func (s RemoveFromGlobalClusterOutput) String() string {
 14331  	return awsutil.Prettify(s)
 14332  }
 14333  
 14334  // GoString returns the string representation.
 14335  //
 14336  // API parameter values that are decorated as "sensitive" in the API will not
 14337  // be included in the string output. The member name will be present, but the
 14338  // value will be replaced with "sensitive".
 14339  func (s RemoveFromGlobalClusterOutput) GoString() string {
 14340  	return s.String()
 14341  }
 14342  
 14343  // SetGlobalCluster sets the GlobalCluster field's value.
 14344  func (s *RemoveFromGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *RemoveFromGlobalClusterOutput {
 14345  	s.GlobalCluster = v
 14346  	return s
 14347  }
 14348  
 14349  // Represents the input to RemoveSourceIdentifierFromSubscription.
 14350  type RemoveSourceIdentifierFromSubscriptionInput struct {
 14351  	_ struct{} `type:"structure"`
 14352  
 14353  	// The source identifier to be removed from the subscription, such as the instance
 14354  	// identifier for an instance, or the name of a security group.
 14355  	//
 14356  	// SourceIdentifier is a required field
 14357  	SourceIdentifier *string `type:"string" required:"true"`
 14358  
 14359  	// The name of the Amazon DocumentDB event notification subscription that you
 14360  	// want to remove a source identifier from.
 14361  	//
 14362  	// SubscriptionName is a required field
 14363  	SubscriptionName *string `type:"string" required:"true"`
 14364  }
 14365  
 14366  // String returns the string representation.
 14367  //
 14368  // API parameter values that are decorated as "sensitive" in the API will not
 14369  // be included in the string output. The member name will be present, but the
 14370  // value will be replaced with "sensitive".
 14371  func (s RemoveSourceIdentifierFromSubscriptionInput) String() string {
 14372  	return awsutil.Prettify(s)
 14373  }
 14374  
 14375  // GoString returns the string representation.
 14376  //
 14377  // API parameter values that are decorated as "sensitive" in the API will not
 14378  // be included in the string output. The member name will be present, but the
 14379  // value will be replaced with "sensitive".
 14380  func (s RemoveSourceIdentifierFromSubscriptionInput) GoString() string {
 14381  	return s.String()
 14382  }
 14383  
 14384  // Validate inspects the fields of the type to determine if they are valid.
 14385  func (s *RemoveSourceIdentifierFromSubscriptionInput) Validate() error {
 14386  	invalidParams := request.ErrInvalidParams{Context: "RemoveSourceIdentifierFromSubscriptionInput"}
 14387  	if s.SourceIdentifier == nil {
 14388  		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
 14389  	}
 14390  	if s.SubscriptionName == nil {
 14391  		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
 14392  	}
 14393  
 14394  	if invalidParams.Len() > 0 {
 14395  		return invalidParams
 14396  	}
 14397  	return nil
 14398  }
 14399  
 14400  // SetSourceIdentifier sets the SourceIdentifier field's value.
 14401  func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSourceIdentifier(v string) *RemoveSourceIdentifierFromSubscriptionInput {
 14402  	s.SourceIdentifier = &v
 14403  	return s
 14404  }
 14405  
 14406  // SetSubscriptionName sets the SubscriptionName field's value.
 14407  func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSubscriptionName(v string) *RemoveSourceIdentifierFromSubscriptionInput {
 14408  	s.SubscriptionName = &v
 14409  	return s
 14410  }
 14411  
 14412  type RemoveSourceIdentifierFromSubscriptionOutput struct {
 14413  	_ struct{} `type:"structure"`
 14414  
 14415  	// Detailed information about an event to which you have subscribed.
 14416  	EventSubscription *EventSubscription `type:"structure"`
 14417  }
 14418  
 14419  // String returns the string representation.
 14420  //
 14421  // API parameter values that are decorated as "sensitive" in the API will not
 14422  // be included in the string output. The member name will be present, but the
 14423  // value will be replaced with "sensitive".
 14424  func (s RemoveSourceIdentifierFromSubscriptionOutput) String() string {
 14425  	return awsutil.Prettify(s)
 14426  }
 14427  
 14428  // GoString returns the string representation.
 14429  //
 14430  // API parameter values that are decorated as "sensitive" in the API will not
 14431  // be included in the string output. The member name will be present, but the
 14432  // value will be replaced with "sensitive".
 14433  func (s RemoveSourceIdentifierFromSubscriptionOutput) GoString() string {
 14434  	return s.String()
 14435  }
 14436  
 14437  // SetEventSubscription sets the EventSubscription field's value.
 14438  func (s *RemoveSourceIdentifierFromSubscriptionOutput) SetEventSubscription(v *EventSubscription) *RemoveSourceIdentifierFromSubscriptionOutput {
 14439  	s.EventSubscription = v
 14440  	return s
 14441  }
 14442  
 14443  // Represents the input to RemoveTagsFromResource.
 14444  type RemoveTagsFromResourceInput struct {
 14445  	_ struct{} `type:"structure"`
 14446  
 14447  	// The Amazon DocumentDB resource that the tags are removed from. This value
 14448  	// is an Amazon Resource Name (ARN).
 14449  	//
 14450  	// ResourceName is a required field
 14451  	ResourceName *string `type:"string" required:"true"`
 14452  
 14453  	// The tag key (name) of the tag to be removed.
 14454  	//
 14455  	// TagKeys is a required field
 14456  	TagKeys []*string `type:"list" required:"true"`
 14457  }
 14458  
 14459  // String returns the string representation.
 14460  //
 14461  // API parameter values that are decorated as "sensitive" in the API will not
 14462  // be included in the string output. The member name will be present, but the
 14463  // value will be replaced with "sensitive".
 14464  func (s RemoveTagsFromResourceInput) String() string {
 14465  	return awsutil.Prettify(s)
 14466  }
 14467  
 14468  // GoString returns the string representation.
 14469  //
 14470  // API parameter values that are decorated as "sensitive" in the API will not
 14471  // be included in the string output. The member name will be present, but the
 14472  // value will be replaced with "sensitive".
 14473  func (s RemoveTagsFromResourceInput) GoString() string {
 14474  	return s.String()
 14475  }
 14476  
 14477  // Validate inspects the fields of the type to determine if they are valid.
 14478  func (s *RemoveTagsFromResourceInput) Validate() error {
 14479  	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
 14480  	if s.ResourceName == nil {
 14481  		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
 14482  	}
 14483  	if s.TagKeys == nil {
 14484  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 14485  	}
 14486  
 14487  	if invalidParams.Len() > 0 {
 14488  		return invalidParams
 14489  	}
 14490  	return nil
 14491  }
 14492  
 14493  // SetResourceName sets the ResourceName field's value.
 14494  func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput {
 14495  	s.ResourceName = &v
 14496  	return s
 14497  }
 14498  
 14499  // SetTagKeys sets the TagKeys field's value.
 14500  func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
 14501  	s.TagKeys = v
 14502  	return s
 14503  }
 14504  
 14505  type RemoveTagsFromResourceOutput struct {
 14506  	_ struct{} `type:"structure"`
 14507  }
 14508  
 14509  // String returns the string representation.
 14510  //
 14511  // API parameter values that are decorated as "sensitive" in the API will not
 14512  // be included in the string output. The member name will be present, but the
 14513  // value will be replaced with "sensitive".
 14514  func (s RemoveTagsFromResourceOutput) String() string {
 14515  	return awsutil.Prettify(s)
 14516  }
 14517  
 14518  // GoString returns the string representation.
 14519  //
 14520  // API parameter values that are decorated as "sensitive" in the API will not
 14521  // be included in the string output. The member name will be present, but the
 14522  // value will be replaced with "sensitive".
 14523  func (s RemoveTagsFromResourceOutput) GoString() string {
 14524  	return s.String()
 14525  }
 14526  
 14527  // Represents the input to ResetDBClusterParameterGroup.
 14528  type ResetDBClusterParameterGroupInput struct {
 14529  	_ struct{} `type:"structure"`
 14530  
 14531  	// The name of the cluster parameter group to reset.
 14532  	//
 14533  	// DBClusterParameterGroupName is a required field
 14534  	DBClusterParameterGroupName *string `type:"string" required:"true"`
 14535  
 14536  	// A list of parameter names in the cluster parameter group to reset to the
 14537  	// default values. You can't use this parameter if the ResetAllParameters parameter
 14538  	// is set to true.
 14539  	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
 14540  
 14541  	// A value that is set to true to reset all parameters in the cluster parameter
 14542  	// group to their default values, and false otherwise. You can't use this parameter
 14543  	// if there is a list of parameter names specified for the Parameters parameter.
 14544  	ResetAllParameters *bool `type:"boolean"`
 14545  }
 14546  
 14547  // String returns the string representation.
 14548  //
 14549  // API parameter values that are decorated as "sensitive" in the API will not
 14550  // be included in the string output. The member name will be present, but the
 14551  // value will be replaced with "sensitive".
 14552  func (s ResetDBClusterParameterGroupInput) String() string {
 14553  	return awsutil.Prettify(s)
 14554  }
 14555  
 14556  // GoString returns the string representation.
 14557  //
 14558  // API parameter values that are decorated as "sensitive" in the API will not
 14559  // be included in the string output. The member name will be present, but the
 14560  // value will be replaced with "sensitive".
 14561  func (s ResetDBClusterParameterGroupInput) GoString() string {
 14562  	return s.String()
 14563  }
 14564  
 14565  // Validate inspects the fields of the type to determine if they are valid.
 14566  func (s *ResetDBClusterParameterGroupInput) Validate() error {
 14567  	invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"}
 14568  	if s.DBClusterParameterGroupName == nil {
 14569  		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
 14570  	}
 14571  
 14572  	if invalidParams.Len() > 0 {
 14573  		return invalidParams
 14574  	}
 14575  	return nil
 14576  }
 14577  
 14578  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 14579  func (s *ResetDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupInput {
 14580  	s.DBClusterParameterGroupName = &v
 14581  	return s
 14582  }
 14583  
 14584  // SetParameters sets the Parameters field's value.
 14585  func (s *ResetDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetDBClusterParameterGroupInput {
 14586  	s.Parameters = v
 14587  	return s
 14588  }
 14589  
 14590  // SetResetAllParameters sets the ResetAllParameters field's value.
 14591  func (s *ResetDBClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetDBClusterParameterGroupInput {
 14592  	s.ResetAllParameters = &v
 14593  	return s
 14594  }
 14595  
 14596  // Contains the name of a cluster parameter group.
 14597  type ResetDBClusterParameterGroupOutput struct {
 14598  	_ struct{} `type:"structure"`
 14599  
 14600  	// The name of a cluster parameter group.
 14601  	//
 14602  	// Constraints:
 14603  	//
 14604  	//    * Must be from 1 to 255 letters or numbers.
 14605  	//
 14606  	//    * The first character must be a letter.
 14607  	//
 14608  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
 14609  	//
 14610  	// This value is stored as a lowercase string.
 14611  	DBClusterParameterGroupName *string `type:"string"`
 14612  }
 14613  
 14614  // String returns the string representation.
 14615  //
 14616  // API parameter values that are decorated as "sensitive" in the API will not
 14617  // be included in the string output. The member name will be present, but the
 14618  // value will be replaced with "sensitive".
 14619  func (s ResetDBClusterParameterGroupOutput) String() string {
 14620  	return awsutil.Prettify(s)
 14621  }
 14622  
 14623  // GoString returns the string representation.
 14624  //
 14625  // API parameter values that are decorated as "sensitive" in the API will not
 14626  // be included in the string output. The member name will be present, but the
 14627  // value will be replaced with "sensitive".
 14628  func (s ResetDBClusterParameterGroupOutput) GoString() string {
 14629  	return s.String()
 14630  }
 14631  
 14632  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 14633  func (s *ResetDBClusterParameterGroupOutput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupOutput {
 14634  	s.DBClusterParameterGroupName = &v
 14635  	return s
 14636  }
 14637  
 14638  // Represents the output of ApplyPendingMaintenanceAction.
 14639  type ResourcePendingMaintenanceActions struct {
 14640  	_ struct{} `type:"structure"`
 14641  
 14642  	// A list that provides details about the pending maintenance actions for the
 14643  	// resource.
 14644  	PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"`
 14645  
 14646  	// The Amazon Resource Name (ARN) of the resource that has pending maintenance
 14647  	// actions.
 14648  	ResourceIdentifier *string `type:"string"`
 14649  }
 14650  
 14651  // String returns the string representation.
 14652  //
 14653  // API parameter values that are decorated as "sensitive" in the API will not
 14654  // be included in the string output. The member name will be present, but the
 14655  // value will be replaced with "sensitive".
 14656  func (s ResourcePendingMaintenanceActions) String() string {
 14657  	return awsutil.Prettify(s)
 14658  }
 14659  
 14660  // GoString returns the string representation.
 14661  //
 14662  // API parameter values that are decorated as "sensitive" in the API will not
 14663  // be included in the string output. The member name will be present, but the
 14664  // value will be replaced with "sensitive".
 14665  func (s ResourcePendingMaintenanceActions) GoString() string {
 14666  	return s.String()
 14667  }
 14668  
 14669  // SetPendingMaintenanceActionDetails sets the PendingMaintenanceActionDetails field's value.
 14670  func (s *ResourcePendingMaintenanceActions) SetPendingMaintenanceActionDetails(v []*PendingMaintenanceAction) *ResourcePendingMaintenanceActions {
 14671  	s.PendingMaintenanceActionDetails = v
 14672  	return s
 14673  }
 14674  
 14675  // SetResourceIdentifier sets the ResourceIdentifier field's value.
 14676  func (s *ResourcePendingMaintenanceActions) SetResourceIdentifier(v string) *ResourcePendingMaintenanceActions {
 14677  	s.ResourceIdentifier = &v
 14678  	return s
 14679  }
 14680  
 14681  // Represents the input to RestoreDBClusterFromSnapshot.
 14682  type RestoreDBClusterFromSnapshotInput struct {
 14683  	_ struct{} `type:"structure"`
 14684  
 14685  	// Provides the list of Amazon EC2 Availability Zones that instances in the
 14686  	// restored DB cluster can be created in.
 14687  	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
 14688  
 14689  	// The name of the cluster to create from the snapshot or cluster snapshot.
 14690  	// This parameter isn't case sensitive.
 14691  	//
 14692  	// Constraints:
 14693  	//
 14694  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
 14695  	//
 14696  	//    * The first character must be a letter.
 14697  	//
 14698  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
 14699  	//
 14700  	// Example: my-snapshot-id
 14701  	//
 14702  	// DBClusterIdentifier is a required field
 14703  	DBClusterIdentifier *string `type:"string" required:"true"`
 14704  
 14705  	// The name of the subnet group to use for the new cluster.
 14706  	//
 14707  	// Constraints: If provided, must match the name of an existing DBSubnetGroup.
 14708  	//
 14709  	// Example: mySubnetgroup
 14710  	DBSubnetGroupName *string `type:"string"`
 14711  
 14712  	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
 14713  	// the cluster cannot be deleted unless it is modified and DeletionProtection
 14714  	// is disabled. DeletionProtection protects clusters from being accidentally
 14715  	// deleted.
 14716  	DeletionProtection *bool `type:"boolean"`
 14717  
 14718  	// A list of log types that must be enabled for exporting to Amazon CloudWatch
 14719  	// Logs.
 14720  	EnableCloudwatchLogsExports []*string `type:"list"`
 14721  
 14722  	// The database engine to use for the new cluster.
 14723  	//
 14724  	// Default: The same as source.
 14725  	//
 14726  	// Constraint: Must be compatible with the engine of the source.
 14727  	//
 14728  	// Engine is a required field
 14729  	Engine *string `type:"string" required:"true"`
 14730  
 14731  	// The version of the database engine to use for the new cluster.
 14732  	EngineVersion *string `type:"string"`
 14733  
 14734  	// The KMS key identifier to use when restoring an encrypted cluster from a
 14735  	// DB snapshot or cluster snapshot.
 14736  	//
 14737  	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
 14738  	// key. If you are restoring a cluster with the same account that owns the KMS
 14739  	// encryption key used to encrypt the new cluster, then you can use the KMS
 14740  	// key alias instead of the ARN for the KMS encryption key.
 14741  	//
 14742  	// If you do not specify a value for the KmsKeyId parameter, then the following
 14743  	// occurs:
 14744  	//
 14745  	//    * If the snapshot or cluster snapshot in SnapshotIdentifier is encrypted,
 14746  	//    then the restored cluster is encrypted using the KMS key that was used
 14747  	//    to encrypt the snapshot or the cluster snapshot.
 14748  	//
 14749  	//    * If the snapshot or the cluster snapshot in SnapshotIdentifier is not
 14750  	//    encrypted, then the restored DB cluster is not encrypted.
 14751  	KmsKeyId *string `type:"string"`
 14752  
 14753  	// The port number on which the new cluster accepts connections.
 14754  	//
 14755  	// Constraints: Must be a value from 1150 to 65535.
 14756  	//
 14757  	// Default: The same port as the original cluster.
 14758  	Port *int64 `type:"integer"`
 14759  
 14760  	// The identifier for the snapshot or cluster snapshot to restore from.
 14761  	//
 14762  	// You can use either the name or the Amazon Resource Name (ARN) to specify
 14763  	// a cluster snapshot. However, you can use only the ARN to specify a snapshot.
 14764  	//
 14765  	// Constraints:
 14766  	//
 14767  	//    * Must match the identifier of an existing snapshot.
 14768  	//
 14769  	// SnapshotIdentifier is a required field
 14770  	SnapshotIdentifier *string `type:"string" required:"true"`
 14771  
 14772  	// The tags to be assigned to the restored cluster.
 14773  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 14774  
 14775  	// A list of virtual private cloud (VPC) security groups that the new cluster
 14776  	// will belong to.
 14777  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 14778  }
 14779  
 14780  // String returns the string representation.
 14781  //
 14782  // API parameter values that are decorated as "sensitive" in the API will not
 14783  // be included in the string output. The member name will be present, but the
 14784  // value will be replaced with "sensitive".
 14785  func (s RestoreDBClusterFromSnapshotInput) String() string {
 14786  	return awsutil.Prettify(s)
 14787  }
 14788  
 14789  // GoString returns the string representation.
 14790  //
 14791  // API parameter values that are decorated as "sensitive" in the API will not
 14792  // be included in the string output. The member name will be present, but the
 14793  // value will be replaced with "sensitive".
 14794  func (s RestoreDBClusterFromSnapshotInput) GoString() string {
 14795  	return s.String()
 14796  }
 14797  
 14798  // Validate inspects the fields of the type to determine if they are valid.
 14799  func (s *RestoreDBClusterFromSnapshotInput) Validate() error {
 14800  	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromSnapshotInput"}
 14801  	if s.DBClusterIdentifier == nil {
 14802  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 14803  	}
 14804  	if s.Engine == nil {
 14805  		invalidParams.Add(request.NewErrParamRequired("Engine"))
 14806  	}
 14807  	if s.SnapshotIdentifier == nil {
 14808  		invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
 14809  	}
 14810  
 14811  	if invalidParams.Len() > 0 {
 14812  		return invalidParams
 14813  	}
 14814  	return nil
 14815  }
 14816  
 14817  // SetAvailabilityZones sets the AvailabilityZones field's value.
 14818  func (s *RestoreDBClusterFromSnapshotInput) SetAvailabilityZones(v []*string) *RestoreDBClusterFromSnapshotInput {
 14819  	s.AvailabilityZones = v
 14820  	return s
 14821  }
 14822  
 14823  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 14824  func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
 14825  	s.DBClusterIdentifier = &v
 14826  	return s
 14827  }
 14828  
 14829  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 14830  func (s *RestoreDBClusterFromSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBClusterFromSnapshotInput {
 14831  	s.DBSubnetGroupName = &v
 14832  	return s
 14833  }
 14834  
 14835  // SetDeletionProtection sets the DeletionProtection field's value.
 14836  func (s *RestoreDBClusterFromSnapshotInput) SetDeletionProtection(v bool) *RestoreDBClusterFromSnapshotInput {
 14837  	s.DeletionProtection = &v
 14838  	return s
 14839  }
 14840  
 14841  // SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
 14842  func (s *RestoreDBClusterFromSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromSnapshotInput {
 14843  	s.EnableCloudwatchLogsExports = v
 14844  	return s
 14845  }
 14846  
 14847  // SetEngine sets the Engine field's value.
 14848  func (s *RestoreDBClusterFromSnapshotInput) SetEngine(v string) *RestoreDBClusterFromSnapshotInput {
 14849  	s.Engine = &v
 14850  	return s
 14851  }
 14852  
 14853  // SetEngineVersion sets the EngineVersion field's value.
 14854  func (s *RestoreDBClusterFromSnapshotInput) SetEngineVersion(v string) *RestoreDBClusterFromSnapshotInput {
 14855  	s.EngineVersion = &v
 14856  	return s
 14857  }
 14858  
 14859  // SetKmsKeyId sets the KmsKeyId field's value.
 14860  func (s *RestoreDBClusterFromSnapshotInput) SetKmsKeyId(v string) *RestoreDBClusterFromSnapshotInput {
 14861  	s.KmsKeyId = &v
 14862  	return s
 14863  }
 14864  
 14865  // SetPort sets the Port field's value.
 14866  func (s *RestoreDBClusterFromSnapshotInput) SetPort(v int64) *RestoreDBClusterFromSnapshotInput {
 14867  	s.Port = &v
 14868  	return s
 14869  }
 14870  
 14871  // SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
 14872  func (s *RestoreDBClusterFromSnapshotInput) SetSnapshotIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
 14873  	s.SnapshotIdentifier = &v
 14874  	return s
 14875  }
 14876  
 14877  // SetTags sets the Tags field's value.
 14878  func (s *RestoreDBClusterFromSnapshotInput) SetTags(v []*Tag) *RestoreDBClusterFromSnapshotInput {
 14879  	s.Tags = v
 14880  	return s
 14881  }
 14882  
 14883  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 14884  func (s *RestoreDBClusterFromSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromSnapshotInput {
 14885  	s.VpcSecurityGroupIds = v
 14886  	return s
 14887  }
 14888  
 14889  type RestoreDBClusterFromSnapshotOutput struct {
 14890  	_ struct{} `type:"structure"`
 14891  
 14892  	// Detailed information about a cluster.
 14893  	DBCluster *DBCluster `type:"structure"`
 14894  }
 14895  
 14896  // String returns the string representation.
 14897  //
 14898  // API parameter values that are decorated as "sensitive" in the API will not
 14899  // be included in the string output. The member name will be present, but the
 14900  // value will be replaced with "sensitive".
 14901  func (s RestoreDBClusterFromSnapshotOutput) String() string {
 14902  	return awsutil.Prettify(s)
 14903  }
 14904  
 14905  // GoString returns the string representation.
 14906  //
 14907  // API parameter values that are decorated as "sensitive" in the API will not
 14908  // be included in the string output. The member name will be present, but the
 14909  // value will be replaced with "sensitive".
 14910  func (s RestoreDBClusterFromSnapshotOutput) GoString() string {
 14911  	return s.String()
 14912  }
 14913  
 14914  // SetDBCluster sets the DBCluster field's value.
 14915  func (s *RestoreDBClusterFromSnapshotOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterFromSnapshotOutput {
 14916  	s.DBCluster = v
 14917  	return s
 14918  }
 14919  
 14920  // Represents the input to RestoreDBClusterToPointInTime.
 14921  type RestoreDBClusterToPointInTimeInput struct {
 14922  	_ struct{} `type:"structure"`
 14923  
 14924  	// The name of the new cluster to be created.
 14925  	//
 14926  	// Constraints:
 14927  	//
 14928  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
 14929  	//
 14930  	//    * The first character must be a letter.
 14931  	//
 14932  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
 14933  	//
 14934  	// DBClusterIdentifier is a required field
 14935  	DBClusterIdentifier *string `type:"string" required:"true"`
 14936  
 14937  	// The subnet group name to use for the new cluster.
 14938  	//
 14939  	// Constraints: If provided, must match the name of an existing DBSubnetGroup.
 14940  	//
 14941  	// Example: mySubnetgroup
 14942  	DBSubnetGroupName *string `type:"string"`
 14943  
 14944  	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
 14945  	// the cluster cannot be deleted unless it is modified and DeletionProtection
 14946  	// is disabled. DeletionProtection protects clusters from being accidentally
 14947  	// deleted.
 14948  	DeletionProtection *bool `type:"boolean"`
 14949  
 14950  	// A list of log types that must be enabled for exporting to Amazon CloudWatch
 14951  	// Logs.
 14952  	EnableCloudwatchLogsExports []*string `type:"list"`
 14953  
 14954  	// The KMS key identifier to use when restoring an encrypted cluster from an
 14955  	// encrypted cluster.
 14956  	//
 14957  	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
 14958  	// key. If you are restoring a cluster with the same account that owns the KMS
 14959  	// encryption key used to encrypt the new cluster, then you can use the KMS
 14960  	// key alias instead of the ARN for the KMS encryption key.
 14961  	//
 14962  	// You can restore to a new cluster and encrypt the new cluster with an KMS
 14963  	// key that is different from the KMS key used to encrypt the source cluster.
 14964  	// The new DB cluster is encrypted with the KMS key identified by the KmsKeyId
 14965  	// parameter.
 14966  	//
 14967  	// If you do not specify a value for the KmsKeyId parameter, then the following
 14968  	// occurs:
 14969  	//
 14970  	//    * If the cluster is encrypted, then the restored cluster is encrypted
 14971  	//    using the KMS key that was used to encrypt the source cluster.
 14972  	//
 14973  	//    * If the cluster is not encrypted, then the restored cluster is not encrypted.
 14974  	//
 14975  	// If DBClusterIdentifier refers to a cluster that is not encrypted, then the
 14976  	// restore request is rejected.
 14977  	KmsKeyId *string `type:"string"`
 14978  
 14979  	// The port number on which the new cluster accepts connections.
 14980  	//
 14981  	// Constraints: Must be a value from 1150 to 65535.
 14982  	//
 14983  	// Default: The default port for the engine.
 14984  	Port *int64 `type:"integer"`
 14985  
 14986  	// The date and time to restore the cluster to.
 14987  	//
 14988  	// Valid values: A time in Universal Coordinated Time (UTC) format.
 14989  	//
 14990  	// Constraints:
 14991  	//
 14992  	//    * Must be before the latest restorable time for the instance.
 14993  	//
 14994  	//    * Must be specified if the UseLatestRestorableTime parameter is not provided.
 14995  	//
 14996  	//    * Cannot be specified if the UseLatestRestorableTime parameter is true.
 14997  	//
 14998  	//    * Cannot be specified if the RestoreType parameter is copy-on-write.
 14999  	//
 15000  	// Example: 2015-03-07T23:45:00Z
 15001  	RestoreToTime *time.Time `type:"timestamp"`
 15002  
 15003  	// The identifier of the source cluster from which to restore.
 15004  	//
 15005  	// Constraints:
 15006  	//
 15007  	//    * Must match the identifier of an existing DBCluster.
 15008  	//
 15009  	// SourceDBClusterIdentifier is a required field
 15010  	SourceDBClusterIdentifier *string `type:"string" required:"true"`
 15011  
 15012  	// The tags to be assigned to the restored cluster.
 15013  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 15014  
 15015  	// A value that is set to true to restore the cluster to the latest restorable
 15016  	// backup time, and false otherwise.
 15017  	//
 15018  	// Default: false
 15019  	//
 15020  	// Constraints: Cannot be specified if the RestoreToTime parameter is provided.
 15021  	UseLatestRestorableTime *bool `type:"boolean"`
 15022  
 15023  	// A list of VPC security groups that the new cluster belongs to.
 15024  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 15025  }
 15026  
 15027  // String returns the string representation.
 15028  //
 15029  // API parameter values that are decorated as "sensitive" in the API will not
 15030  // be included in the string output. The member name will be present, but the
 15031  // value will be replaced with "sensitive".
 15032  func (s RestoreDBClusterToPointInTimeInput) String() string {
 15033  	return awsutil.Prettify(s)
 15034  }
 15035  
 15036  // GoString returns the string representation.
 15037  //
 15038  // API parameter values that are decorated as "sensitive" in the API will not
 15039  // be included in the string output. The member name will be present, but the
 15040  // value will be replaced with "sensitive".
 15041  func (s RestoreDBClusterToPointInTimeInput) GoString() string {
 15042  	return s.String()
 15043  }
 15044  
 15045  // Validate inspects the fields of the type to determine if they are valid.
 15046  func (s *RestoreDBClusterToPointInTimeInput) Validate() error {
 15047  	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterToPointInTimeInput"}
 15048  	if s.DBClusterIdentifier == nil {
 15049  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 15050  	}
 15051  	if s.SourceDBClusterIdentifier == nil {
 15052  		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterIdentifier"))
 15053  	}
 15054  
 15055  	if invalidParams.Len() > 0 {
 15056  		return invalidParams
 15057  	}
 15058  	return nil
 15059  }
 15060  
 15061  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 15062  func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
 15063  	s.DBClusterIdentifier = &v
 15064  	return s
 15065  }
 15066  
 15067  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 15068  func (s *RestoreDBClusterToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBClusterToPointInTimeInput {
 15069  	s.DBSubnetGroupName = &v
 15070  	return s
 15071  }
 15072  
 15073  // SetDeletionProtection sets the DeletionProtection field's value.
 15074  func (s *RestoreDBClusterToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBClusterToPointInTimeInput {
 15075  	s.DeletionProtection = &v
 15076  	return s
 15077  }
 15078  
 15079  // SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
 15080  func (s *RestoreDBClusterToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterToPointInTimeInput {
 15081  	s.EnableCloudwatchLogsExports = v
 15082  	return s
 15083  }
 15084  
 15085  // SetKmsKeyId sets the KmsKeyId field's value.
 15086  func (s *RestoreDBClusterToPointInTimeInput) SetKmsKeyId(v string) *RestoreDBClusterToPointInTimeInput {
 15087  	s.KmsKeyId = &v
 15088  	return s
 15089  }
 15090  
 15091  // SetPort sets the Port field's value.
 15092  func (s *RestoreDBClusterToPointInTimeInput) SetPort(v int64) *RestoreDBClusterToPointInTimeInput {
 15093  	s.Port = &v
 15094  	return s
 15095  }
 15096  
 15097  // SetRestoreToTime sets the RestoreToTime field's value.
 15098  func (s *RestoreDBClusterToPointInTimeInput) SetRestoreToTime(v time.Time) *RestoreDBClusterToPointInTimeInput {
 15099  	s.RestoreToTime = &v
 15100  	return s
 15101  }
 15102  
 15103  // SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
 15104  func (s *RestoreDBClusterToPointInTimeInput) SetSourceDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
 15105  	s.SourceDBClusterIdentifier = &v
 15106  	return s
 15107  }
 15108  
 15109  // SetTags sets the Tags field's value.
 15110  func (s *RestoreDBClusterToPointInTimeInput) SetTags(v []*Tag) *RestoreDBClusterToPointInTimeInput {
 15111  	s.Tags = v
 15112  	return s
 15113  }
 15114  
 15115  // SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
 15116  func (s *RestoreDBClusterToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBClusterToPointInTimeInput {
 15117  	s.UseLatestRestorableTime = &v
 15118  	return s
 15119  }
 15120  
 15121  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 15122  func (s *RestoreDBClusterToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterToPointInTimeInput {
 15123  	s.VpcSecurityGroupIds = v
 15124  	return s
 15125  }
 15126  
 15127  type RestoreDBClusterToPointInTimeOutput struct {
 15128  	_ struct{} `type:"structure"`
 15129  
 15130  	// Detailed information about a cluster.
 15131  	DBCluster *DBCluster `type:"structure"`
 15132  }
 15133  
 15134  // String returns the string representation.
 15135  //
 15136  // API parameter values that are decorated as "sensitive" in the API will not
 15137  // be included in the string output. The member name will be present, but the
 15138  // value will be replaced with "sensitive".
 15139  func (s RestoreDBClusterToPointInTimeOutput) String() string {
 15140  	return awsutil.Prettify(s)
 15141  }
 15142  
 15143  // GoString returns the string representation.
 15144  //
 15145  // API parameter values that are decorated as "sensitive" in the API will not
 15146  // be included in the string output. The member name will be present, but the
 15147  // value will be replaced with "sensitive".
 15148  func (s RestoreDBClusterToPointInTimeOutput) GoString() string {
 15149  	return s.String()
 15150  }
 15151  
 15152  // SetDBCluster sets the DBCluster field's value.
 15153  func (s *RestoreDBClusterToPointInTimeOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterToPointInTimeOutput {
 15154  	s.DBCluster = v
 15155  	return s
 15156  }
 15157  
 15158  type StartDBClusterInput struct {
 15159  	_ struct{} `type:"structure"`
 15160  
 15161  	// The identifier of the cluster to restart. Example: docdb-2019-05-28-15-24-52
 15162  	//
 15163  	// DBClusterIdentifier is a required field
 15164  	DBClusterIdentifier *string `type:"string" required:"true"`
 15165  }
 15166  
 15167  // String returns the string representation.
 15168  //
 15169  // API parameter values that are decorated as "sensitive" in the API will not
 15170  // be included in the string output. The member name will be present, but the
 15171  // value will be replaced with "sensitive".
 15172  func (s StartDBClusterInput) String() string {
 15173  	return awsutil.Prettify(s)
 15174  }
 15175  
 15176  // GoString returns the string representation.
 15177  //
 15178  // API parameter values that are decorated as "sensitive" in the API will not
 15179  // be included in the string output. The member name will be present, but the
 15180  // value will be replaced with "sensitive".
 15181  func (s StartDBClusterInput) GoString() string {
 15182  	return s.String()
 15183  }
 15184  
 15185  // Validate inspects the fields of the type to determine if they are valid.
 15186  func (s *StartDBClusterInput) Validate() error {
 15187  	invalidParams := request.ErrInvalidParams{Context: "StartDBClusterInput"}
 15188  	if s.DBClusterIdentifier == nil {
 15189  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 15190  	}
 15191  
 15192  	if invalidParams.Len() > 0 {
 15193  		return invalidParams
 15194  	}
 15195  	return nil
 15196  }
 15197  
 15198  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 15199  func (s *StartDBClusterInput) SetDBClusterIdentifier(v string) *StartDBClusterInput {
 15200  	s.DBClusterIdentifier = &v
 15201  	return s
 15202  }
 15203  
 15204  type StartDBClusterOutput struct {
 15205  	_ struct{} `type:"structure"`
 15206  
 15207  	// Detailed information about a cluster.
 15208  	DBCluster *DBCluster `type:"structure"`
 15209  }
 15210  
 15211  // String returns the string representation.
 15212  //
 15213  // API parameter values that are decorated as "sensitive" in the API will not
 15214  // be included in the string output. The member name will be present, but the
 15215  // value will be replaced with "sensitive".
 15216  func (s StartDBClusterOutput) String() string {
 15217  	return awsutil.Prettify(s)
 15218  }
 15219  
 15220  // GoString returns the string representation.
 15221  //
 15222  // API parameter values that are decorated as "sensitive" in the API will not
 15223  // be included in the string output. The member name will be present, but the
 15224  // value will be replaced with "sensitive".
 15225  func (s StartDBClusterOutput) GoString() string {
 15226  	return s.String()
 15227  }
 15228  
 15229  // SetDBCluster sets the DBCluster field's value.
 15230  func (s *StartDBClusterOutput) SetDBCluster(v *DBCluster) *StartDBClusterOutput {
 15231  	s.DBCluster = v
 15232  	return s
 15233  }
 15234  
 15235  type StopDBClusterInput struct {
 15236  	_ struct{} `type:"structure"`
 15237  
 15238  	// The identifier of the cluster to stop. Example: docdb-2019-05-28-15-24-52
 15239  	//
 15240  	// DBClusterIdentifier is a required field
 15241  	DBClusterIdentifier *string `type:"string" required:"true"`
 15242  }
 15243  
 15244  // String returns the string representation.
 15245  //
 15246  // API parameter values that are decorated as "sensitive" in the API will not
 15247  // be included in the string output. The member name will be present, but the
 15248  // value will be replaced with "sensitive".
 15249  func (s StopDBClusterInput) String() string {
 15250  	return awsutil.Prettify(s)
 15251  }
 15252  
 15253  // GoString returns the string representation.
 15254  //
 15255  // API parameter values that are decorated as "sensitive" in the API will not
 15256  // be included in the string output. The member name will be present, but the
 15257  // value will be replaced with "sensitive".
 15258  func (s StopDBClusterInput) GoString() string {
 15259  	return s.String()
 15260  }
 15261  
 15262  // Validate inspects the fields of the type to determine if they are valid.
 15263  func (s *StopDBClusterInput) Validate() error {
 15264  	invalidParams := request.ErrInvalidParams{Context: "StopDBClusterInput"}
 15265  	if s.DBClusterIdentifier == nil {
 15266  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 15267  	}
 15268  
 15269  	if invalidParams.Len() > 0 {
 15270  		return invalidParams
 15271  	}
 15272  	return nil
 15273  }
 15274  
 15275  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 15276  func (s *StopDBClusterInput) SetDBClusterIdentifier(v string) *StopDBClusterInput {
 15277  	s.DBClusterIdentifier = &v
 15278  	return s
 15279  }
 15280  
 15281  type StopDBClusterOutput struct {
 15282  	_ struct{} `type:"structure"`
 15283  
 15284  	// Detailed information about a cluster.
 15285  	DBCluster *DBCluster `type:"structure"`
 15286  }
 15287  
 15288  // String returns the string representation.
 15289  //
 15290  // API parameter values that are decorated as "sensitive" in the API will not
 15291  // be included in the string output. The member name will be present, but the
 15292  // value will be replaced with "sensitive".
 15293  func (s StopDBClusterOutput) String() string {
 15294  	return awsutil.Prettify(s)
 15295  }
 15296  
 15297  // GoString returns the string representation.
 15298  //
 15299  // API parameter values that are decorated as "sensitive" in the API will not
 15300  // be included in the string output. The member name will be present, but the
 15301  // value will be replaced with "sensitive".
 15302  func (s StopDBClusterOutput) GoString() string {
 15303  	return s.String()
 15304  }
 15305  
 15306  // SetDBCluster sets the DBCluster field's value.
 15307  func (s *StopDBClusterOutput) SetDBCluster(v *DBCluster) *StopDBClusterOutput {
 15308  	s.DBCluster = v
 15309  	return s
 15310  }
 15311  
 15312  // Detailed information about a subnet.
 15313  type Subnet struct {
 15314  	_ struct{} `type:"structure"`
 15315  
 15316  	// Specifies the Availability Zone for the subnet.
 15317  	SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
 15318  
 15319  	// Specifies the identifier of the subnet.
 15320  	SubnetIdentifier *string `type:"string"`
 15321  
 15322  	// Specifies the status of the subnet.
 15323  	SubnetStatus *string `type:"string"`
 15324  }
 15325  
 15326  // String returns the string representation.
 15327  //
 15328  // API parameter values that are decorated as "sensitive" in the API will not
 15329  // be included in the string output. The member name will be present, but the
 15330  // value will be replaced with "sensitive".
 15331  func (s Subnet) String() string {
 15332  	return awsutil.Prettify(s)
 15333  }
 15334  
 15335  // GoString returns the string representation.
 15336  //
 15337  // API parameter values that are decorated as "sensitive" in the API will not
 15338  // be included in the string output. The member name will be present, but the
 15339  // value will be replaced with "sensitive".
 15340  func (s Subnet) GoString() string {
 15341  	return s.String()
 15342  }
 15343  
 15344  // SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
 15345  func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet {
 15346  	s.SubnetAvailabilityZone = v
 15347  	return s
 15348  }
 15349  
 15350  // SetSubnetIdentifier sets the SubnetIdentifier field's value.
 15351  func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
 15352  	s.SubnetIdentifier = &v
 15353  	return s
 15354  }
 15355  
 15356  // SetSubnetStatus sets the SubnetStatus field's value.
 15357  func (s *Subnet) SetSubnetStatus(v string) *Subnet {
 15358  	s.SubnetStatus = &v
 15359  	return s
 15360  }
 15361  
 15362  // Metadata assigned to an Amazon DocumentDB resource consisting of a key-value
 15363  // pair.
 15364  type Tag struct {
 15365  	_ struct{} `type:"structure"`
 15366  
 15367  	// The required name of the tag. The string value can be from 1 to 128 Unicode
 15368  	// characters in length and can't be prefixed with "aws:" or "rds:". The string
 15369  	// can contain only the set of Unicode letters, digits, white space, '_', '.',
 15370  	// '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
 15371  	Key *string `type:"string"`
 15372  
 15373  	// The optional value of the tag. The string value can be from 1 to 256 Unicode
 15374  	// characters in length and can't be prefixed with "aws:" or "rds:". The string
 15375  	// can contain only the set of Unicode letters, digits, white space, '_', '.',
 15376  	// '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
 15377  	Value *string `type:"string"`
 15378  }
 15379  
 15380  // String returns the string representation.
 15381  //
 15382  // API parameter values that are decorated as "sensitive" in the API will not
 15383  // be included in the string output. The member name will be present, but the
 15384  // value will be replaced with "sensitive".
 15385  func (s Tag) String() string {
 15386  	return awsutil.Prettify(s)
 15387  }
 15388  
 15389  // GoString returns the string representation.
 15390  //
 15391  // API parameter values that are decorated as "sensitive" in the API will not
 15392  // be included in the string output. The member name will be present, but the
 15393  // value will be replaced with "sensitive".
 15394  func (s Tag) GoString() string {
 15395  	return s.String()
 15396  }
 15397  
 15398  // SetKey sets the Key field's value.
 15399  func (s *Tag) SetKey(v string) *Tag {
 15400  	s.Key = &v
 15401  	return s
 15402  }
 15403  
 15404  // SetValue sets the Value field's value.
 15405  func (s *Tag) SetValue(v string) *Tag {
 15406  	s.Value = &v
 15407  	return s
 15408  }
 15409  
 15410  // The version of the database engine that an instance can be upgraded to.
 15411  type UpgradeTarget struct {
 15412  	_ struct{} `type:"structure"`
 15413  
 15414  	// A value that indicates whether the target version is applied to any source
 15415  	// DB instances that have AutoMinorVersionUpgrade set to true.
 15416  	AutoUpgrade *bool `type:"boolean"`
 15417  
 15418  	// The version of the database engine that an instance can be upgraded to.
 15419  	Description *string `type:"string"`
 15420  
 15421  	// The name of the upgrade target database engine.
 15422  	Engine *string `type:"string"`
 15423  
 15424  	// The version number of the upgrade target database engine.
 15425  	EngineVersion *string `type:"string"`
 15426  
 15427  	// A value that indicates whether a database engine is upgraded to a major version.
 15428  	IsMajorVersionUpgrade *bool `type:"boolean"`
 15429  }
 15430  
 15431  // String returns the string representation.
 15432  //
 15433  // API parameter values that are decorated as "sensitive" in the API will not
 15434  // be included in the string output. The member name will be present, but the
 15435  // value will be replaced with "sensitive".
 15436  func (s UpgradeTarget) String() string {
 15437  	return awsutil.Prettify(s)
 15438  }
 15439  
 15440  // GoString returns the string representation.
 15441  //
 15442  // API parameter values that are decorated as "sensitive" in the API will not
 15443  // be included in the string output. The member name will be present, but the
 15444  // value will be replaced with "sensitive".
 15445  func (s UpgradeTarget) GoString() string {
 15446  	return s.String()
 15447  }
 15448  
 15449  // SetAutoUpgrade sets the AutoUpgrade field's value.
 15450  func (s *UpgradeTarget) SetAutoUpgrade(v bool) *UpgradeTarget {
 15451  	s.AutoUpgrade = &v
 15452  	return s
 15453  }
 15454  
 15455  // SetDescription sets the Description field's value.
 15456  func (s *UpgradeTarget) SetDescription(v string) *UpgradeTarget {
 15457  	s.Description = &v
 15458  	return s
 15459  }
 15460  
 15461  // SetEngine sets the Engine field's value.
 15462  func (s *UpgradeTarget) SetEngine(v string) *UpgradeTarget {
 15463  	s.Engine = &v
 15464  	return s
 15465  }
 15466  
 15467  // SetEngineVersion sets the EngineVersion field's value.
 15468  func (s *UpgradeTarget) SetEngineVersion(v string) *UpgradeTarget {
 15469  	s.EngineVersion = &v
 15470  	return s
 15471  }
 15472  
 15473  // SetIsMajorVersionUpgrade sets the IsMajorVersionUpgrade field's value.
 15474  func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget {
 15475  	s.IsMajorVersionUpgrade = &v
 15476  	return s
 15477  }
 15478  
 15479  // Used as a response element for queries on virtual private cloud (VPC) security
 15480  // group membership.
 15481  type VpcSecurityGroupMembership struct {
 15482  	_ struct{} `type:"structure"`
 15483  
 15484  	// The status of the VPC security group.
 15485  	Status *string `type:"string"`
 15486  
 15487  	// The name of the VPC security group.
 15488  	VpcSecurityGroupId *string `type:"string"`
 15489  }
 15490  
 15491  // String returns the string representation.
 15492  //
 15493  // API parameter values that are decorated as "sensitive" in the API will not
 15494  // be included in the string output. The member name will be present, but the
 15495  // value will be replaced with "sensitive".
 15496  func (s VpcSecurityGroupMembership) String() string {
 15497  	return awsutil.Prettify(s)
 15498  }
 15499  
 15500  // GoString returns the string representation.
 15501  //
 15502  // API parameter values that are decorated as "sensitive" in the API will not
 15503  // be included in the string output. The member name will be present, but the
 15504  // value will be replaced with "sensitive".
 15505  func (s VpcSecurityGroupMembership) GoString() string {
 15506  	return s.String()
 15507  }
 15508  
 15509  // SetStatus sets the Status field's value.
 15510  func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership {
 15511  	s.Status = &v
 15512  	return s
 15513  }
 15514  
 15515  // SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
 15516  func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership {
 15517  	s.VpcSecurityGroupId = &v
 15518  	return s
 15519  }
 15520  
 15521  const (
 15522  	// ApplyMethodImmediate is a ApplyMethod enum value
 15523  	ApplyMethodImmediate = "immediate"
 15524  
 15525  	// ApplyMethodPendingReboot is a ApplyMethod enum value
 15526  	ApplyMethodPendingReboot = "pending-reboot"
 15527  )
 15528  
 15529  // ApplyMethod_Values returns all elements of the ApplyMethod enum
 15530  func ApplyMethod_Values() []string {
 15531  	return []string{
 15532  		ApplyMethodImmediate,
 15533  		ApplyMethodPendingReboot,
 15534  	}
 15535  }
 15536  
 15537  const (
 15538  	// SourceTypeDbInstance is a SourceType enum value
 15539  	SourceTypeDbInstance = "db-instance"
 15540  
 15541  	// SourceTypeDbParameterGroup is a SourceType enum value
 15542  	SourceTypeDbParameterGroup = "db-parameter-group"
 15543  
 15544  	// SourceTypeDbSecurityGroup is a SourceType enum value
 15545  	SourceTypeDbSecurityGroup = "db-security-group"
 15546  
 15547  	// SourceTypeDbSnapshot is a SourceType enum value
 15548  	SourceTypeDbSnapshot = "db-snapshot"
 15549  
 15550  	// SourceTypeDbCluster is a SourceType enum value
 15551  	SourceTypeDbCluster = "db-cluster"
 15552  
 15553  	// SourceTypeDbClusterSnapshot is a SourceType enum value
 15554  	SourceTypeDbClusterSnapshot = "db-cluster-snapshot"
 15555  )
 15556  
 15557  // SourceType_Values returns all elements of the SourceType enum
 15558  func SourceType_Values() []string {
 15559  	return []string{
 15560  		SourceTypeDbInstance,
 15561  		SourceTypeDbParameterGroup,
 15562  		SourceTypeDbSecurityGroup,
 15563  		SourceTypeDbSnapshot,
 15564  		SourceTypeDbCluster,
 15565  		SourceTypeDbClusterSnapshot,
 15566  	}
 15567  }