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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package neptune
     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 opAddRoleToDBCluster = "AddRoleToDBCluster"
    17  
    18  // AddRoleToDBClusterRequest generates a "aws/request.Request" representing the
    19  // client's request for the AddRoleToDBCluster 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 AddRoleToDBCluster for more information on using the AddRoleToDBCluster
    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 AddRoleToDBClusterRequest method.
    34  //    req, resp := client.AddRoleToDBClusterRequest(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/neptune-2014-10-31/AddRoleToDBCluster
    42  func (c *Neptune) AddRoleToDBClusterRequest(input *AddRoleToDBClusterInput) (req *request.Request, output *AddRoleToDBClusterOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAddRoleToDBCluster,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AddRoleToDBClusterInput{}
    51  	}
    52  
    53  	output = &AddRoleToDBClusterOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    56  	return
    57  }
    58  
    59  // AddRoleToDBCluster API operation for Amazon Neptune.
    60  //
    61  // Associates an Identity and Access Management (IAM) role from an Neptune DB
    62  // cluster.
    63  //
    64  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    65  // with awserr.Error's Code and Message methods to get detailed information about
    66  // the error.
    67  //
    68  // See the AWS API reference guide for Amazon Neptune's
    69  // API operation AddRoleToDBCluster for usage and error information.
    70  //
    71  // Returned Error Codes:
    72  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
    73  //   DBClusterIdentifier does not refer to an existing DB cluster.
    74  //
    75  //   * ErrCodeDBClusterRoleAlreadyExistsFault "DBClusterRoleAlreadyExists"
    76  //   The specified IAM role Amazon Resource Name (ARN) is already associated with
    77  //   the specified DB cluster.
    78  //
    79  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
    80  //   The DB cluster is not in a valid state.
    81  //
    82  //   * ErrCodeDBClusterRoleQuotaExceededFault "DBClusterRoleQuotaExceeded"
    83  //   You have exceeded the maximum number of IAM roles that can be associated
    84  //   with the specified DB cluster.
    85  //
    86  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/AddRoleToDBCluster
    87  func (c *Neptune) AddRoleToDBCluster(input *AddRoleToDBClusterInput) (*AddRoleToDBClusterOutput, error) {
    88  	req, out := c.AddRoleToDBClusterRequest(input)
    89  	return out, req.Send()
    90  }
    91  
    92  // AddRoleToDBClusterWithContext is the same as AddRoleToDBCluster with the addition of
    93  // the ability to pass a context and additional request options.
    94  //
    95  // See AddRoleToDBCluster for details on how to use this API operation.
    96  //
    97  // The context must be non-nil and will be used for request cancellation. If
    98  // the context is nil a panic will occur. In the future the SDK may create
    99  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   100  // for more information on using Contexts.
   101  func (c *Neptune) AddRoleToDBClusterWithContext(ctx aws.Context, input *AddRoleToDBClusterInput, opts ...request.Option) (*AddRoleToDBClusterOutput, error) {
   102  	req, out := c.AddRoleToDBClusterRequest(input)
   103  	req.SetContext(ctx)
   104  	req.ApplyOptions(opts...)
   105  	return out, req.Send()
   106  }
   107  
   108  const opAddSourceIdentifierToSubscription = "AddSourceIdentifierToSubscription"
   109  
   110  // AddSourceIdentifierToSubscriptionRequest generates a "aws/request.Request" representing the
   111  // client's request for the AddSourceIdentifierToSubscription operation. The "output" return
   112  // value will be populated with the request's response once the request completes
   113  // successfully.
   114  //
   115  // Use "Send" method on the returned Request to send the API call to the service.
   116  // the "output" return value is not valid until after Send returns without error.
   117  //
   118  // See AddSourceIdentifierToSubscription for more information on using the AddSourceIdentifierToSubscription
   119  // API call, and error handling.
   120  //
   121  // This method is useful when you want to inject custom logic or configuration
   122  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   123  //
   124  //
   125  //    // Example sending a request using the AddSourceIdentifierToSubscriptionRequest method.
   126  //    req, resp := client.AddSourceIdentifierToSubscriptionRequest(params)
   127  //
   128  //    err := req.Send()
   129  //    if err == nil { // resp is now filled
   130  //        fmt.Println(resp)
   131  //    }
   132  //
   133  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/AddSourceIdentifierToSubscription
   134  func (c *Neptune) AddSourceIdentifierToSubscriptionRequest(input *AddSourceIdentifierToSubscriptionInput) (req *request.Request, output *AddSourceIdentifierToSubscriptionOutput) {
   135  	op := &request.Operation{
   136  		Name:       opAddSourceIdentifierToSubscription,
   137  		HTTPMethod: "POST",
   138  		HTTPPath:   "/",
   139  	}
   140  
   141  	if input == nil {
   142  		input = &AddSourceIdentifierToSubscriptionInput{}
   143  	}
   144  
   145  	output = &AddSourceIdentifierToSubscriptionOutput{}
   146  	req = c.newRequest(op, input, output)
   147  	return
   148  }
   149  
   150  // AddSourceIdentifierToSubscription API operation for Amazon Neptune.
   151  //
   152  // Adds a source identifier to an existing event notification subscription.
   153  //
   154  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   155  // with awserr.Error's Code and Message methods to get detailed information about
   156  // the error.
   157  //
   158  // See the AWS API reference guide for Amazon Neptune's
   159  // API operation AddSourceIdentifierToSubscription for usage and error information.
   160  //
   161  // Returned Error Codes:
   162  //   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
   163  //   The designated subscription could not be found.
   164  //
   165  //   * ErrCodeSourceNotFoundFault "SourceNotFound"
   166  //   The source could not be found.
   167  //
   168  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/AddSourceIdentifierToSubscription
   169  func (c *Neptune) AddSourceIdentifierToSubscription(input *AddSourceIdentifierToSubscriptionInput) (*AddSourceIdentifierToSubscriptionOutput, error) {
   170  	req, out := c.AddSourceIdentifierToSubscriptionRequest(input)
   171  	return out, req.Send()
   172  }
   173  
   174  // AddSourceIdentifierToSubscriptionWithContext is the same as AddSourceIdentifierToSubscription with the addition of
   175  // the ability to pass a context and additional request options.
   176  //
   177  // See AddSourceIdentifierToSubscription for details on how to use this API operation.
   178  //
   179  // The context must be non-nil and will be used for request cancellation. If
   180  // the context is nil a panic will occur. In the future the SDK may create
   181  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   182  // for more information on using Contexts.
   183  func (c *Neptune) AddSourceIdentifierToSubscriptionWithContext(ctx aws.Context, input *AddSourceIdentifierToSubscriptionInput, opts ...request.Option) (*AddSourceIdentifierToSubscriptionOutput, error) {
   184  	req, out := c.AddSourceIdentifierToSubscriptionRequest(input)
   185  	req.SetContext(ctx)
   186  	req.ApplyOptions(opts...)
   187  	return out, req.Send()
   188  }
   189  
   190  const opAddTagsToResource = "AddTagsToResource"
   191  
   192  // AddTagsToResourceRequest generates a "aws/request.Request" representing the
   193  // client's request for the AddTagsToResource operation. The "output" return
   194  // value will be populated with the request's response once the request completes
   195  // successfully.
   196  //
   197  // Use "Send" method on the returned Request to send the API call to the service.
   198  // the "output" return value is not valid until after Send returns without error.
   199  //
   200  // See AddTagsToResource for more information on using the AddTagsToResource
   201  // API call, and error handling.
   202  //
   203  // This method is useful when you want to inject custom logic or configuration
   204  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   205  //
   206  //
   207  //    // Example sending a request using the AddTagsToResourceRequest method.
   208  //    req, resp := client.AddTagsToResourceRequest(params)
   209  //
   210  //    err := req.Send()
   211  //    if err == nil { // resp is now filled
   212  //        fmt.Println(resp)
   213  //    }
   214  //
   215  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/AddTagsToResource
   216  func (c *Neptune) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
   217  	op := &request.Operation{
   218  		Name:       opAddTagsToResource,
   219  		HTTPMethod: "POST",
   220  		HTTPPath:   "/",
   221  	}
   222  
   223  	if input == nil {
   224  		input = &AddTagsToResourceInput{}
   225  	}
   226  
   227  	output = &AddTagsToResourceOutput{}
   228  	req = c.newRequest(op, input, output)
   229  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   230  	return
   231  }
   232  
   233  // AddTagsToResource API operation for Amazon Neptune.
   234  //
   235  // Adds metadata tags to an Amazon Neptune resource. These tags can also be
   236  // used with cost allocation reporting to track cost associated with Amazon
   237  // Neptune resources, or used in a Condition statement in an IAM policy for
   238  // Amazon Neptune.
   239  //
   240  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   241  // with awserr.Error's Code and Message methods to get detailed information about
   242  // the error.
   243  //
   244  // See the AWS API reference guide for Amazon Neptune's
   245  // API operation AddTagsToResource for usage and error information.
   246  //
   247  // Returned Error Codes:
   248  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
   249  //   DBInstanceIdentifier does not refer to an existing DB instance.
   250  //
   251  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
   252  //   DBSnapshotIdentifier does not refer to an existing DB snapshot.
   253  //
   254  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
   255  //   DBClusterIdentifier does not refer to an existing DB cluster.
   256  //
   257  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/AddTagsToResource
   258  func (c *Neptune) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
   259  	req, out := c.AddTagsToResourceRequest(input)
   260  	return out, req.Send()
   261  }
   262  
   263  // AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of
   264  // the ability to pass a context and additional request options.
   265  //
   266  // See AddTagsToResource for details on how to use this API operation.
   267  //
   268  // The context must be non-nil and will be used for request cancellation. If
   269  // the context is nil a panic will occur. In the future the SDK may create
   270  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   271  // for more information on using Contexts.
   272  func (c *Neptune) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) {
   273  	req, out := c.AddTagsToResourceRequest(input)
   274  	req.SetContext(ctx)
   275  	req.ApplyOptions(opts...)
   276  	return out, req.Send()
   277  }
   278  
   279  const opApplyPendingMaintenanceAction = "ApplyPendingMaintenanceAction"
   280  
   281  // ApplyPendingMaintenanceActionRequest generates a "aws/request.Request" representing the
   282  // client's request for the ApplyPendingMaintenanceAction operation. The "output" return
   283  // value will be populated with the request's response once the request completes
   284  // successfully.
   285  //
   286  // Use "Send" method on the returned Request to send the API call to the service.
   287  // the "output" return value is not valid until after Send returns without error.
   288  //
   289  // See ApplyPendingMaintenanceAction for more information on using the ApplyPendingMaintenanceAction
   290  // API call, and error handling.
   291  //
   292  // This method is useful when you want to inject custom logic or configuration
   293  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   294  //
   295  //
   296  //    // Example sending a request using the ApplyPendingMaintenanceActionRequest method.
   297  //    req, resp := client.ApplyPendingMaintenanceActionRequest(params)
   298  //
   299  //    err := req.Send()
   300  //    if err == nil { // resp is now filled
   301  //        fmt.Println(resp)
   302  //    }
   303  //
   304  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ApplyPendingMaintenanceAction
   305  func (c *Neptune) ApplyPendingMaintenanceActionRequest(input *ApplyPendingMaintenanceActionInput) (req *request.Request, output *ApplyPendingMaintenanceActionOutput) {
   306  	op := &request.Operation{
   307  		Name:       opApplyPendingMaintenanceAction,
   308  		HTTPMethod: "POST",
   309  		HTTPPath:   "/",
   310  	}
   311  
   312  	if input == nil {
   313  		input = &ApplyPendingMaintenanceActionInput{}
   314  	}
   315  
   316  	output = &ApplyPendingMaintenanceActionOutput{}
   317  	req = c.newRequest(op, input, output)
   318  	return
   319  }
   320  
   321  // ApplyPendingMaintenanceAction API operation for Amazon Neptune.
   322  //
   323  // Applies a pending maintenance action to a resource (for example, to a DB
   324  // instance).
   325  //
   326  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   327  // with awserr.Error's Code and Message methods to get detailed information about
   328  // the error.
   329  //
   330  // See the AWS API reference guide for Amazon Neptune's
   331  // API operation ApplyPendingMaintenanceAction for usage and error information.
   332  //
   333  // Returned Error Codes:
   334  //   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
   335  //   The specified resource ID was not found.
   336  //
   337  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ApplyPendingMaintenanceAction
   338  func (c *Neptune) ApplyPendingMaintenanceAction(input *ApplyPendingMaintenanceActionInput) (*ApplyPendingMaintenanceActionOutput, error) {
   339  	req, out := c.ApplyPendingMaintenanceActionRequest(input)
   340  	return out, req.Send()
   341  }
   342  
   343  // ApplyPendingMaintenanceActionWithContext is the same as ApplyPendingMaintenanceAction with the addition of
   344  // the ability to pass a context and additional request options.
   345  //
   346  // See ApplyPendingMaintenanceAction for details on how to use this API operation.
   347  //
   348  // The context must be non-nil and will be used for request cancellation. If
   349  // the context is nil a panic will occur. In the future the SDK may create
   350  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   351  // for more information on using Contexts.
   352  func (c *Neptune) ApplyPendingMaintenanceActionWithContext(ctx aws.Context, input *ApplyPendingMaintenanceActionInput, opts ...request.Option) (*ApplyPendingMaintenanceActionOutput, error) {
   353  	req, out := c.ApplyPendingMaintenanceActionRequest(input)
   354  	req.SetContext(ctx)
   355  	req.ApplyOptions(opts...)
   356  	return out, req.Send()
   357  }
   358  
   359  const opCopyDBClusterParameterGroup = "CopyDBClusterParameterGroup"
   360  
   361  // CopyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
   362  // client's request for the CopyDBClusterParameterGroup operation. The "output" return
   363  // value will be populated with the request's response once the request completes
   364  // successfully.
   365  //
   366  // Use "Send" method on the returned Request to send the API call to the service.
   367  // the "output" return value is not valid until after Send returns without error.
   368  //
   369  // See CopyDBClusterParameterGroup for more information on using the CopyDBClusterParameterGroup
   370  // API call, and error handling.
   371  //
   372  // This method is useful when you want to inject custom logic or configuration
   373  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   374  //
   375  //
   376  //    // Example sending a request using the CopyDBClusterParameterGroupRequest method.
   377  //    req, resp := client.CopyDBClusterParameterGroupRequest(params)
   378  //
   379  //    err := req.Send()
   380  //    if err == nil { // resp is now filled
   381  //        fmt.Println(resp)
   382  //    }
   383  //
   384  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CopyDBClusterParameterGroup
   385  func (c *Neptune) CopyDBClusterParameterGroupRequest(input *CopyDBClusterParameterGroupInput) (req *request.Request, output *CopyDBClusterParameterGroupOutput) {
   386  	op := &request.Operation{
   387  		Name:       opCopyDBClusterParameterGroup,
   388  		HTTPMethod: "POST",
   389  		HTTPPath:   "/",
   390  	}
   391  
   392  	if input == nil {
   393  		input = &CopyDBClusterParameterGroupInput{}
   394  	}
   395  
   396  	output = &CopyDBClusterParameterGroupOutput{}
   397  	req = c.newRequest(op, input, output)
   398  	return
   399  }
   400  
   401  // CopyDBClusterParameterGroup API operation for Amazon Neptune.
   402  //
   403  // Copies the specified DB cluster parameter group.
   404  //
   405  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   406  // with awserr.Error's Code and Message methods to get detailed information about
   407  // the error.
   408  //
   409  // See the AWS API reference guide for Amazon Neptune's
   410  // API operation CopyDBClusterParameterGroup for usage and error information.
   411  //
   412  // Returned Error Codes:
   413  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
   414  //   DBParameterGroupName does not refer to an existing DB parameter group.
   415  //
   416  //   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
   417  //   Request would result in user exceeding the allowed number of DB parameter
   418  //   groups.
   419  //
   420  //   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
   421  //   A DB parameter group with the same name exists.
   422  //
   423  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CopyDBClusterParameterGroup
   424  func (c *Neptune) CopyDBClusterParameterGroup(input *CopyDBClusterParameterGroupInput) (*CopyDBClusterParameterGroupOutput, error) {
   425  	req, out := c.CopyDBClusterParameterGroupRequest(input)
   426  	return out, req.Send()
   427  }
   428  
   429  // CopyDBClusterParameterGroupWithContext is the same as CopyDBClusterParameterGroup with the addition of
   430  // the ability to pass a context and additional request options.
   431  //
   432  // See CopyDBClusterParameterGroup for details on how to use this API operation.
   433  //
   434  // The context must be non-nil and will be used for request cancellation. If
   435  // the context is nil a panic will occur. In the future the SDK may create
   436  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   437  // for more information on using Contexts.
   438  func (c *Neptune) CopyDBClusterParameterGroupWithContext(ctx aws.Context, input *CopyDBClusterParameterGroupInput, opts ...request.Option) (*CopyDBClusterParameterGroupOutput, error) {
   439  	req, out := c.CopyDBClusterParameterGroupRequest(input)
   440  	req.SetContext(ctx)
   441  	req.ApplyOptions(opts...)
   442  	return out, req.Send()
   443  }
   444  
   445  const opCopyDBClusterSnapshot = "CopyDBClusterSnapshot"
   446  
   447  // CopyDBClusterSnapshotRequest generates a "aws/request.Request" representing the
   448  // client's request for the CopyDBClusterSnapshot operation. The "output" return
   449  // value will be populated with the request's response once the request completes
   450  // successfully.
   451  //
   452  // Use "Send" method on the returned Request to send the API call to the service.
   453  // the "output" return value is not valid until after Send returns without error.
   454  //
   455  // See CopyDBClusterSnapshot for more information on using the CopyDBClusterSnapshot
   456  // API call, and error handling.
   457  //
   458  // This method is useful when you want to inject custom logic or configuration
   459  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   460  //
   461  //
   462  //    // Example sending a request using the CopyDBClusterSnapshotRequest method.
   463  //    req, resp := client.CopyDBClusterSnapshotRequest(params)
   464  //
   465  //    err := req.Send()
   466  //    if err == nil { // resp is now filled
   467  //        fmt.Println(resp)
   468  //    }
   469  //
   470  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CopyDBClusterSnapshot
   471  func (c *Neptune) CopyDBClusterSnapshotRequest(input *CopyDBClusterSnapshotInput) (req *request.Request, output *CopyDBClusterSnapshotOutput) {
   472  	op := &request.Operation{
   473  		Name:       opCopyDBClusterSnapshot,
   474  		HTTPMethod: "POST",
   475  		HTTPPath:   "/",
   476  	}
   477  
   478  	if input == nil {
   479  		input = &CopyDBClusterSnapshotInput{}
   480  	}
   481  
   482  	output = &CopyDBClusterSnapshotOutput{}
   483  	req = c.newRequest(op, input, output)
   484  	return
   485  }
   486  
   487  // CopyDBClusterSnapshot API operation for Amazon Neptune.
   488  //
   489  // Copies a snapshot of a DB cluster.
   490  //
   491  // To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier
   492  // must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.
   493  //
   494  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   495  // with awserr.Error's Code and Message methods to get detailed information about
   496  // the error.
   497  //
   498  // See the AWS API reference guide for Amazon Neptune's
   499  // API operation CopyDBClusterSnapshot for usage and error information.
   500  //
   501  // Returned Error Codes:
   502  //   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
   503  //   User already has a DB cluster snapshot with the given identifier.
   504  //
   505  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
   506  //   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
   507  //
   508  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
   509  //   The DB cluster is not in a valid state.
   510  //
   511  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
   512  //   The supplied value is not a valid DB cluster snapshot state.
   513  //
   514  //   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
   515  //   Request would result in user exceeding the allowed number of DB snapshots.
   516  //
   517  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
   518  //   Error accessing KMS key.
   519  //
   520  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CopyDBClusterSnapshot
   521  func (c *Neptune) CopyDBClusterSnapshot(input *CopyDBClusterSnapshotInput) (*CopyDBClusterSnapshotOutput, error) {
   522  	req, out := c.CopyDBClusterSnapshotRequest(input)
   523  	return out, req.Send()
   524  }
   525  
   526  // CopyDBClusterSnapshotWithContext is the same as CopyDBClusterSnapshot with the addition of
   527  // the ability to pass a context and additional request options.
   528  //
   529  // See CopyDBClusterSnapshot for details on how to use this API operation.
   530  //
   531  // The context must be non-nil and will be used for request cancellation. If
   532  // the context is nil a panic will occur. In the future the SDK may create
   533  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   534  // for more information on using Contexts.
   535  func (c *Neptune) CopyDBClusterSnapshotWithContext(ctx aws.Context, input *CopyDBClusterSnapshotInput, opts ...request.Option) (*CopyDBClusterSnapshotOutput, error) {
   536  	req, out := c.CopyDBClusterSnapshotRequest(input)
   537  	req.SetContext(ctx)
   538  	req.ApplyOptions(opts...)
   539  	return out, req.Send()
   540  }
   541  
   542  const opCopyDBParameterGroup = "CopyDBParameterGroup"
   543  
   544  // CopyDBParameterGroupRequest generates a "aws/request.Request" representing the
   545  // client's request for the CopyDBParameterGroup operation. The "output" return
   546  // value will be populated with the request's response once the request completes
   547  // successfully.
   548  //
   549  // Use "Send" method on the returned Request to send the API call to the service.
   550  // the "output" return value is not valid until after Send returns without error.
   551  //
   552  // See CopyDBParameterGroup for more information on using the CopyDBParameterGroup
   553  // API call, and error handling.
   554  //
   555  // This method is useful when you want to inject custom logic or configuration
   556  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   557  //
   558  //
   559  //    // Example sending a request using the CopyDBParameterGroupRequest method.
   560  //    req, resp := client.CopyDBParameterGroupRequest(params)
   561  //
   562  //    err := req.Send()
   563  //    if err == nil { // resp is now filled
   564  //        fmt.Println(resp)
   565  //    }
   566  //
   567  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CopyDBParameterGroup
   568  func (c *Neptune) CopyDBParameterGroupRequest(input *CopyDBParameterGroupInput) (req *request.Request, output *CopyDBParameterGroupOutput) {
   569  	op := &request.Operation{
   570  		Name:       opCopyDBParameterGroup,
   571  		HTTPMethod: "POST",
   572  		HTTPPath:   "/",
   573  	}
   574  
   575  	if input == nil {
   576  		input = &CopyDBParameterGroupInput{}
   577  	}
   578  
   579  	output = &CopyDBParameterGroupOutput{}
   580  	req = c.newRequest(op, input, output)
   581  	return
   582  }
   583  
   584  // CopyDBParameterGroup API operation for Amazon Neptune.
   585  //
   586  // Copies the specified DB parameter group.
   587  //
   588  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   589  // with awserr.Error's Code and Message methods to get detailed information about
   590  // the error.
   591  //
   592  // See the AWS API reference guide for Amazon Neptune's
   593  // API operation CopyDBParameterGroup for usage and error information.
   594  //
   595  // Returned Error Codes:
   596  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
   597  //   DBParameterGroupName does not refer to an existing DB parameter group.
   598  //
   599  //   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
   600  //   A DB parameter group with the same name exists.
   601  //
   602  //   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
   603  //   Request would result in user exceeding the allowed number of DB parameter
   604  //   groups.
   605  //
   606  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CopyDBParameterGroup
   607  func (c *Neptune) CopyDBParameterGroup(input *CopyDBParameterGroupInput) (*CopyDBParameterGroupOutput, error) {
   608  	req, out := c.CopyDBParameterGroupRequest(input)
   609  	return out, req.Send()
   610  }
   611  
   612  // CopyDBParameterGroupWithContext is the same as CopyDBParameterGroup with the addition of
   613  // the ability to pass a context and additional request options.
   614  //
   615  // See CopyDBParameterGroup for details on how to use this API operation.
   616  //
   617  // The context must be non-nil and will be used for request cancellation. If
   618  // the context is nil a panic will occur. In the future the SDK may create
   619  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   620  // for more information on using Contexts.
   621  func (c *Neptune) CopyDBParameterGroupWithContext(ctx aws.Context, input *CopyDBParameterGroupInput, opts ...request.Option) (*CopyDBParameterGroupOutput, error) {
   622  	req, out := c.CopyDBParameterGroupRequest(input)
   623  	req.SetContext(ctx)
   624  	req.ApplyOptions(opts...)
   625  	return out, req.Send()
   626  }
   627  
   628  const opCreateDBCluster = "CreateDBCluster"
   629  
   630  // CreateDBClusterRequest generates a "aws/request.Request" representing the
   631  // client's request for the CreateDBCluster operation. The "output" return
   632  // value will be populated with the request's response once the request completes
   633  // successfully.
   634  //
   635  // Use "Send" method on the returned Request to send the API call to the service.
   636  // the "output" return value is not valid until after Send returns without error.
   637  //
   638  // See CreateDBCluster for more information on using the CreateDBCluster
   639  // API call, and error handling.
   640  //
   641  // This method is useful when you want to inject custom logic or configuration
   642  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   643  //
   644  //
   645  //    // Example sending a request using the CreateDBClusterRequest method.
   646  //    req, resp := client.CreateDBClusterRequest(params)
   647  //
   648  //    err := req.Send()
   649  //    if err == nil { // resp is now filled
   650  //        fmt.Println(resp)
   651  //    }
   652  //
   653  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBCluster
   654  func (c *Neptune) CreateDBClusterRequest(input *CreateDBClusterInput) (req *request.Request, output *CreateDBClusterOutput) {
   655  	op := &request.Operation{
   656  		Name:       opCreateDBCluster,
   657  		HTTPMethod: "POST",
   658  		HTTPPath:   "/",
   659  	}
   660  
   661  	if input == nil {
   662  		input = &CreateDBClusterInput{}
   663  	}
   664  
   665  	output = &CreateDBClusterOutput{}
   666  	req = c.newRequest(op, input, output)
   667  	return
   668  }
   669  
   670  // CreateDBCluster API operation for Amazon Neptune.
   671  //
   672  // Creates a new Amazon Neptune DB cluster.
   673  //
   674  // You can use the ReplicationSourceIdentifier parameter to create the DB cluster
   675  // as a Read Replica of another DB cluster or Amazon Neptune DB instance.
   676  //
   677  // Note that when you create a new cluster using CreateDBCluster directly, deletion
   678  // protection is disabled by default (when you create a new production cluster
   679  // in the console, deletion protection is enabled by default). You can only
   680  // delete a DB cluster if its DeletionProtection field is set to false.
   681  //
   682  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   683  // with awserr.Error's Code and Message methods to get detailed information about
   684  // the error.
   685  //
   686  // See the AWS API reference guide for Amazon Neptune's
   687  // API operation CreateDBCluster for usage and error information.
   688  //
   689  // Returned Error Codes:
   690  //   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
   691  //   User already has a DB cluster with the given identifier.
   692  //
   693  //   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
   694  //   There is insufficient storage available for the current action. You may be
   695  //   able to resolve this error by updating your subnet group to use different
   696  //   Availability Zones that have more storage available.
   697  //
   698  //   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
   699  //   User attempted to create a new DB cluster and the user has already reached
   700  //   the maximum allowed DB cluster quota.
   701  //
   702  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
   703  //   Request would result in user exceeding the allowed amount of storage available
   704  //   across all DB instances.
   705  //
   706  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
   707  //   DBSubnetGroupName does not refer to an existing DB subnet group.
   708  //
   709  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
   710  //   DB subnet group does not cover all Availability Zones after it is created
   711  //   because users' change.
   712  //
   713  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
   714  //   The DB cluster is not in a valid state.
   715  //
   716  //   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
   717  //   The DB subnet group cannot be deleted because it is in use.
   718  //
   719  //   * ErrCodeInvalidSubnet "InvalidSubnet"
   720  //   The requested subnet is invalid, or multiple subnets were requested that
   721  //   are not all in a common VPC.
   722  //
   723  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
   724  //   The specified DB instance is not in the available state.
   725  //
   726  //   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
   727  //   DBClusterParameterGroupName does not refer to an existing DB Cluster parameter
   728  //   group.
   729  //
   730  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
   731  //   Error accessing KMS key.
   732  //
   733  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
   734  //   DBClusterIdentifier does not refer to an existing DB cluster.
   735  //
   736  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
   737  //   DBInstanceIdentifier does not refer to an existing DB instance.
   738  //
   739  //   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
   740  //   Subnets in the DB subnet group should cover at least two Availability Zones
   741  //   unless there is only one Availability Zone.
   742  //
   743  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBCluster
   744  func (c *Neptune) CreateDBCluster(input *CreateDBClusterInput) (*CreateDBClusterOutput, error) {
   745  	req, out := c.CreateDBClusterRequest(input)
   746  	return out, req.Send()
   747  }
   748  
   749  // CreateDBClusterWithContext is the same as CreateDBCluster with the addition of
   750  // the ability to pass a context and additional request options.
   751  //
   752  // See CreateDBCluster for details on how to use this API operation.
   753  //
   754  // The context must be non-nil and will be used for request cancellation. If
   755  // the context is nil a panic will occur. In the future the SDK may create
   756  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   757  // for more information on using Contexts.
   758  func (c *Neptune) CreateDBClusterWithContext(ctx aws.Context, input *CreateDBClusterInput, opts ...request.Option) (*CreateDBClusterOutput, error) {
   759  	req, out := c.CreateDBClusterRequest(input)
   760  	req.SetContext(ctx)
   761  	req.ApplyOptions(opts...)
   762  	return out, req.Send()
   763  }
   764  
   765  const opCreateDBClusterEndpoint = "CreateDBClusterEndpoint"
   766  
   767  // CreateDBClusterEndpointRequest generates a "aws/request.Request" representing the
   768  // client's request for the CreateDBClusterEndpoint operation. The "output" return
   769  // value will be populated with the request's response once the request completes
   770  // successfully.
   771  //
   772  // Use "Send" method on the returned Request to send the API call to the service.
   773  // the "output" return value is not valid until after Send returns without error.
   774  //
   775  // See CreateDBClusterEndpoint for more information on using the CreateDBClusterEndpoint
   776  // API call, and error handling.
   777  //
   778  // This method is useful when you want to inject custom logic or configuration
   779  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   780  //
   781  //
   782  //    // Example sending a request using the CreateDBClusterEndpointRequest method.
   783  //    req, resp := client.CreateDBClusterEndpointRequest(params)
   784  //
   785  //    err := req.Send()
   786  //    if err == nil { // resp is now filled
   787  //        fmt.Println(resp)
   788  //    }
   789  //
   790  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBClusterEndpoint
   791  func (c *Neptune) CreateDBClusterEndpointRequest(input *CreateDBClusterEndpointInput) (req *request.Request, output *CreateDBClusterEndpointOutput) {
   792  	op := &request.Operation{
   793  		Name:       opCreateDBClusterEndpoint,
   794  		HTTPMethod: "POST",
   795  		HTTPPath:   "/",
   796  	}
   797  
   798  	if input == nil {
   799  		input = &CreateDBClusterEndpointInput{}
   800  	}
   801  
   802  	output = &CreateDBClusterEndpointOutput{}
   803  	req = c.newRequest(op, input, output)
   804  	return
   805  }
   806  
   807  // CreateDBClusterEndpoint API operation for Amazon Neptune.
   808  //
   809  // Creates a new custom endpoint and associates it with an Amazon Neptune DB
   810  // cluster.
   811  //
   812  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   813  // with awserr.Error's Code and Message methods to get detailed information about
   814  // the error.
   815  //
   816  // See the AWS API reference guide for Amazon Neptune's
   817  // API operation CreateDBClusterEndpoint for usage and error information.
   818  //
   819  // Returned Error Codes:
   820  //   * ErrCodeDBClusterEndpointQuotaExceededFault "DBClusterEndpointQuotaExceededFault"
   821  //   The cluster already has the maximum number of custom endpoints.
   822  //
   823  //   * ErrCodeDBClusterEndpointAlreadyExistsFault "DBClusterEndpointAlreadyExistsFault"
   824  //   The specified custom endpoint cannot be created because it already exists.
   825  //
   826  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
   827  //   DBClusterIdentifier does not refer to an existing DB cluster.
   828  //
   829  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
   830  //   The DB cluster is not in a valid state.
   831  //
   832  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
   833  //   DBInstanceIdentifier does not refer to an existing DB instance.
   834  //
   835  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
   836  //   The specified DB instance is not in the available state.
   837  //
   838  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBClusterEndpoint
   839  func (c *Neptune) CreateDBClusterEndpoint(input *CreateDBClusterEndpointInput) (*CreateDBClusterEndpointOutput, error) {
   840  	req, out := c.CreateDBClusterEndpointRequest(input)
   841  	return out, req.Send()
   842  }
   843  
   844  // CreateDBClusterEndpointWithContext is the same as CreateDBClusterEndpoint with the addition of
   845  // the ability to pass a context and additional request options.
   846  //
   847  // See CreateDBClusterEndpoint for details on how to use this API operation.
   848  //
   849  // The context must be non-nil and will be used for request cancellation. If
   850  // the context is nil a panic will occur. In the future the SDK may create
   851  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   852  // for more information on using Contexts.
   853  func (c *Neptune) CreateDBClusterEndpointWithContext(ctx aws.Context, input *CreateDBClusterEndpointInput, opts ...request.Option) (*CreateDBClusterEndpointOutput, error) {
   854  	req, out := c.CreateDBClusterEndpointRequest(input)
   855  	req.SetContext(ctx)
   856  	req.ApplyOptions(opts...)
   857  	return out, req.Send()
   858  }
   859  
   860  const opCreateDBClusterParameterGroup = "CreateDBClusterParameterGroup"
   861  
   862  // CreateDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
   863  // client's request for the CreateDBClusterParameterGroup operation. The "output" return
   864  // value will be populated with the request's response once the request completes
   865  // successfully.
   866  //
   867  // Use "Send" method on the returned Request to send the API call to the service.
   868  // the "output" return value is not valid until after Send returns without error.
   869  //
   870  // See CreateDBClusterParameterGroup for more information on using the CreateDBClusterParameterGroup
   871  // API call, and error handling.
   872  //
   873  // This method is useful when you want to inject custom logic or configuration
   874  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   875  //
   876  //
   877  //    // Example sending a request using the CreateDBClusterParameterGroupRequest method.
   878  //    req, resp := client.CreateDBClusterParameterGroupRequest(params)
   879  //
   880  //    err := req.Send()
   881  //    if err == nil { // resp is now filled
   882  //        fmt.Println(resp)
   883  //    }
   884  //
   885  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBClusterParameterGroup
   886  func (c *Neptune) CreateDBClusterParameterGroupRequest(input *CreateDBClusterParameterGroupInput) (req *request.Request, output *CreateDBClusterParameterGroupOutput) {
   887  	op := &request.Operation{
   888  		Name:       opCreateDBClusterParameterGroup,
   889  		HTTPMethod: "POST",
   890  		HTTPPath:   "/",
   891  	}
   892  
   893  	if input == nil {
   894  		input = &CreateDBClusterParameterGroupInput{}
   895  	}
   896  
   897  	output = &CreateDBClusterParameterGroupOutput{}
   898  	req = c.newRequest(op, input, output)
   899  	return
   900  }
   901  
   902  // CreateDBClusterParameterGroup API operation for Amazon Neptune.
   903  //
   904  // Creates a new DB cluster parameter group.
   905  //
   906  // Parameters in a DB cluster parameter group apply to all of the instances
   907  // in a DB cluster.
   908  //
   909  // A DB cluster parameter group is initially created with the default parameters
   910  // for the database engine used by instances in the DB cluster. To provide custom
   911  // values for any of the parameters, you must modify the group after creating
   912  // it using ModifyDBClusterParameterGroup. Once you've created a DB cluster
   913  // parameter group, you need to associate it with your DB cluster using ModifyDBCluster.
   914  // When you associate a new DB cluster parameter group with a running DB cluster,
   915  // you need to reboot the DB instances in the DB cluster without failover for
   916  // the new DB cluster parameter group and associated settings to take effect.
   917  //
   918  // After you create a DB cluster parameter group, you should wait at least 5
   919  // minutes before creating your first DB cluster that uses that DB cluster parameter
   920  // group as the default parameter group. This allows Amazon Neptune to fully
   921  // complete the create action before the DB cluster parameter group is used
   922  // as the default for a new DB cluster. This is especially important for parameters
   923  // that are critical when creating the default database for a DB cluster, such
   924  // as the character set for the default database defined by the character_set_database
   925  // parameter. You can use the Parameter Groups option of the Amazon Neptune
   926  // console (https://console.aws.amazon.com/rds/) or the DescribeDBClusterParameters
   927  // command to verify that your DB cluster parameter group has been created or
   928  // modified.
   929  //
   930  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   931  // with awserr.Error's Code and Message methods to get detailed information about
   932  // the error.
   933  //
   934  // See the AWS API reference guide for Amazon Neptune's
   935  // API operation CreateDBClusterParameterGroup for usage and error information.
   936  //
   937  // Returned Error Codes:
   938  //   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
   939  //   Request would result in user exceeding the allowed number of DB parameter
   940  //   groups.
   941  //
   942  //   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
   943  //   A DB parameter group with the same name exists.
   944  //
   945  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBClusterParameterGroup
   946  func (c *Neptune) CreateDBClusterParameterGroup(input *CreateDBClusterParameterGroupInput) (*CreateDBClusterParameterGroupOutput, error) {
   947  	req, out := c.CreateDBClusterParameterGroupRequest(input)
   948  	return out, req.Send()
   949  }
   950  
   951  // CreateDBClusterParameterGroupWithContext is the same as CreateDBClusterParameterGroup with the addition of
   952  // the ability to pass a context and additional request options.
   953  //
   954  // See CreateDBClusterParameterGroup for details on how to use this API operation.
   955  //
   956  // The context must be non-nil and will be used for request cancellation. If
   957  // the context is nil a panic will occur. In the future the SDK may create
   958  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   959  // for more information on using Contexts.
   960  func (c *Neptune) CreateDBClusterParameterGroupWithContext(ctx aws.Context, input *CreateDBClusterParameterGroupInput, opts ...request.Option) (*CreateDBClusterParameterGroupOutput, error) {
   961  	req, out := c.CreateDBClusterParameterGroupRequest(input)
   962  	req.SetContext(ctx)
   963  	req.ApplyOptions(opts...)
   964  	return out, req.Send()
   965  }
   966  
   967  const opCreateDBClusterSnapshot = "CreateDBClusterSnapshot"
   968  
   969  // CreateDBClusterSnapshotRequest generates a "aws/request.Request" representing the
   970  // client's request for the CreateDBClusterSnapshot operation. The "output" return
   971  // value will be populated with the request's response once the request completes
   972  // successfully.
   973  //
   974  // Use "Send" method on the returned Request to send the API call to the service.
   975  // the "output" return value is not valid until after Send returns without error.
   976  //
   977  // See CreateDBClusterSnapshot for more information on using the CreateDBClusterSnapshot
   978  // API call, and error handling.
   979  //
   980  // This method is useful when you want to inject custom logic or configuration
   981  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   982  //
   983  //
   984  //    // Example sending a request using the CreateDBClusterSnapshotRequest method.
   985  //    req, resp := client.CreateDBClusterSnapshotRequest(params)
   986  //
   987  //    err := req.Send()
   988  //    if err == nil { // resp is now filled
   989  //        fmt.Println(resp)
   990  //    }
   991  //
   992  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBClusterSnapshot
   993  func (c *Neptune) CreateDBClusterSnapshotRequest(input *CreateDBClusterSnapshotInput) (req *request.Request, output *CreateDBClusterSnapshotOutput) {
   994  	op := &request.Operation{
   995  		Name:       opCreateDBClusterSnapshot,
   996  		HTTPMethod: "POST",
   997  		HTTPPath:   "/",
   998  	}
   999  
  1000  	if input == nil {
  1001  		input = &CreateDBClusterSnapshotInput{}
  1002  	}
  1003  
  1004  	output = &CreateDBClusterSnapshotOutput{}
  1005  	req = c.newRequest(op, input, output)
  1006  	return
  1007  }
  1008  
  1009  // CreateDBClusterSnapshot API operation for Amazon Neptune.
  1010  //
  1011  // Creates a snapshot of a DB cluster.
  1012  //
  1013  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1014  // with awserr.Error's Code and Message methods to get detailed information about
  1015  // the error.
  1016  //
  1017  // See the AWS API reference guide for Amazon Neptune's
  1018  // API operation CreateDBClusterSnapshot for usage and error information.
  1019  //
  1020  // Returned Error Codes:
  1021  //   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
  1022  //   User already has a DB cluster snapshot with the given identifier.
  1023  //
  1024  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  1025  //   The DB cluster is not in a valid state.
  1026  //
  1027  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  1028  //   DBClusterIdentifier does not refer to an existing DB cluster.
  1029  //
  1030  //   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
  1031  //   Request would result in user exceeding the allowed number of DB snapshots.
  1032  //
  1033  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
  1034  //   The supplied value is not a valid DB cluster snapshot state.
  1035  //
  1036  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBClusterSnapshot
  1037  func (c *Neptune) CreateDBClusterSnapshot(input *CreateDBClusterSnapshotInput) (*CreateDBClusterSnapshotOutput, error) {
  1038  	req, out := c.CreateDBClusterSnapshotRequest(input)
  1039  	return out, req.Send()
  1040  }
  1041  
  1042  // CreateDBClusterSnapshotWithContext is the same as CreateDBClusterSnapshot with the addition of
  1043  // the ability to pass a context and additional request options.
  1044  //
  1045  // See CreateDBClusterSnapshot for details on how to use this API operation.
  1046  //
  1047  // The context must be non-nil and will be used for request cancellation. If
  1048  // the context is nil a panic will occur. In the future the SDK may create
  1049  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1050  // for more information on using Contexts.
  1051  func (c *Neptune) CreateDBClusterSnapshotWithContext(ctx aws.Context, input *CreateDBClusterSnapshotInput, opts ...request.Option) (*CreateDBClusterSnapshotOutput, error) {
  1052  	req, out := c.CreateDBClusterSnapshotRequest(input)
  1053  	req.SetContext(ctx)
  1054  	req.ApplyOptions(opts...)
  1055  	return out, req.Send()
  1056  }
  1057  
  1058  const opCreateDBInstance = "CreateDBInstance"
  1059  
  1060  // CreateDBInstanceRequest generates a "aws/request.Request" representing the
  1061  // client's request for the CreateDBInstance operation. The "output" return
  1062  // value will be populated with the request's response once the request completes
  1063  // successfully.
  1064  //
  1065  // Use "Send" method on the returned Request to send the API call to the service.
  1066  // the "output" return value is not valid until after Send returns without error.
  1067  //
  1068  // See CreateDBInstance for more information on using the CreateDBInstance
  1069  // API call, and error handling.
  1070  //
  1071  // This method is useful when you want to inject custom logic or configuration
  1072  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1073  //
  1074  //
  1075  //    // Example sending a request using the CreateDBInstanceRequest method.
  1076  //    req, resp := client.CreateDBInstanceRequest(params)
  1077  //
  1078  //    err := req.Send()
  1079  //    if err == nil { // resp is now filled
  1080  //        fmt.Println(resp)
  1081  //    }
  1082  //
  1083  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBInstance
  1084  func (c *Neptune) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *request.Request, output *CreateDBInstanceOutput) {
  1085  	op := &request.Operation{
  1086  		Name:       opCreateDBInstance,
  1087  		HTTPMethod: "POST",
  1088  		HTTPPath:   "/",
  1089  	}
  1090  
  1091  	if input == nil {
  1092  		input = &CreateDBInstanceInput{}
  1093  	}
  1094  
  1095  	output = &CreateDBInstanceOutput{}
  1096  	req = c.newRequest(op, input, output)
  1097  	return
  1098  }
  1099  
  1100  // CreateDBInstance API operation for Amazon Neptune.
  1101  //
  1102  // Creates a new DB instance.
  1103  //
  1104  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1105  // with awserr.Error's Code and Message methods to get detailed information about
  1106  // the error.
  1107  //
  1108  // See the AWS API reference guide for Amazon Neptune's
  1109  // API operation CreateDBInstance for usage and error information.
  1110  //
  1111  // Returned Error Codes:
  1112  //   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
  1113  //   User already has a DB instance with the given identifier.
  1114  //
  1115  //   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
  1116  //   Specified DB instance class is not available in the specified Availability
  1117  //   Zone.
  1118  //
  1119  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  1120  //   DBParameterGroupName does not refer to an existing DB parameter group.
  1121  //
  1122  //   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
  1123  //   DBSecurityGroupName does not refer to an existing DB security group.
  1124  //
  1125  //   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
  1126  //   Request would result in user exceeding the allowed number of DB instances.
  1127  //
  1128  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
  1129  //   Request would result in user exceeding the allowed amount of storage available
  1130  //   across all DB instances.
  1131  //
  1132  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  1133  //   DBSubnetGroupName does not refer to an existing DB subnet group.
  1134  //
  1135  //   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
  1136  //   Subnets in the DB subnet group should cover at least two Availability Zones
  1137  //   unless there is only one Availability Zone.
  1138  //
  1139  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  1140  //   The DB cluster is not in a valid state.
  1141  //
  1142  //   * ErrCodeInvalidSubnet "InvalidSubnet"
  1143  //   The requested subnet is invalid, or multiple subnets were requested that
  1144  //   are not all in a common VPC.
  1145  //
  1146  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
  1147  //   DB subnet group does not cover all Availability Zones after it is created
  1148  //   because users' change.
  1149  //
  1150  //   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
  1151  //   Provisioned IOPS not available in the specified Availability Zone.
  1152  //
  1153  //   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
  1154  //   The designated option group could not be found.
  1155  //
  1156  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  1157  //   DBClusterIdentifier does not refer to an existing DB cluster.
  1158  //
  1159  //   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
  1160  //   StorageType specified cannot be associated with the DB Instance.
  1161  //
  1162  //   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
  1163  //   Specified CIDRIP or EC2 security group is not authorized for the specified
  1164  //   DB security group.
  1165  //
  1166  //   Neptune may not also be authorized via IAM to perform necessary actions on
  1167  //   your behalf.
  1168  //
  1169  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
  1170  //   Error accessing KMS key.
  1171  //
  1172  //   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
  1173  //   Domain does not refer to an existing Active Directory Domain.
  1174  //
  1175  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBInstance
  1176  func (c *Neptune) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceOutput, error) {
  1177  	req, out := c.CreateDBInstanceRequest(input)
  1178  	return out, req.Send()
  1179  }
  1180  
  1181  // CreateDBInstanceWithContext is the same as CreateDBInstance with the addition of
  1182  // the ability to pass a context and additional request options.
  1183  //
  1184  // See CreateDBInstance for details on how to use this API operation.
  1185  //
  1186  // The context must be non-nil and will be used for request cancellation. If
  1187  // the context is nil a panic will occur. In the future the SDK may create
  1188  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1189  // for more information on using Contexts.
  1190  func (c *Neptune) CreateDBInstanceWithContext(ctx aws.Context, input *CreateDBInstanceInput, opts ...request.Option) (*CreateDBInstanceOutput, error) {
  1191  	req, out := c.CreateDBInstanceRequest(input)
  1192  	req.SetContext(ctx)
  1193  	req.ApplyOptions(opts...)
  1194  	return out, req.Send()
  1195  }
  1196  
  1197  const opCreateDBParameterGroup = "CreateDBParameterGroup"
  1198  
  1199  // CreateDBParameterGroupRequest generates a "aws/request.Request" representing the
  1200  // client's request for the CreateDBParameterGroup operation. The "output" return
  1201  // value will be populated with the request's response once the request completes
  1202  // successfully.
  1203  //
  1204  // Use "Send" method on the returned Request to send the API call to the service.
  1205  // the "output" return value is not valid until after Send returns without error.
  1206  //
  1207  // See CreateDBParameterGroup for more information on using the CreateDBParameterGroup
  1208  // API call, and error handling.
  1209  //
  1210  // This method is useful when you want to inject custom logic or configuration
  1211  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1212  //
  1213  //
  1214  //    // Example sending a request using the CreateDBParameterGroupRequest method.
  1215  //    req, resp := client.CreateDBParameterGroupRequest(params)
  1216  //
  1217  //    err := req.Send()
  1218  //    if err == nil { // resp is now filled
  1219  //        fmt.Println(resp)
  1220  //    }
  1221  //
  1222  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBParameterGroup
  1223  func (c *Neptune) CreateDBParameterGroupRequest(input *CreateDBParameterGroupInput) (req *request.Request, output *CreateDBParameterGroupOutput) {
  1224  	op := &request.Operation{
  1225  		Name:       opCreateDBParameterGroup,
  1226  		HTTPMethod: "POST",
  1227  		HTTPPath:   "/",
  1228  	}
  1229  
  1230  	if input == nil {
  1231  		input = &CreateDBParameterGroupInput{}
  1232  	}
  1233  
  1234  	output = &CreateDBParameterGroupOutput{}
  1235  	req = c.newRequest(op, input, output)
  1236  	return
  1237  }
  1238  
  1239  // CreateDBParameterGroup API operation for Amazon Neptune.
  1240  //
  1241  // Creates a new DB parameter group.
  1242  //
  1243  // A DB parameter group is initially created with the default parameters for
  1244  // the database engine used by the DB instance. To provide custom values for
  1245  // any of the parameters, you must modify the group after creating it using
  1246  // ModifyDBParameterGroup. Once you've created a DB parameter group, you need
  1247  // to associate it with your DB instance using ModifyDBInstance. When you associate
  1248  // a new DB parameter group with a running DB instance, you need to reboot the
  1249  // DB instance without failover for the new DB parameter group and associated
  1250  // settings to take effect.
  1251  //
  1252  // After you create a DB parameter group, you should wait at least 5 minutes
  1253  // before creating your first DB instance that uses that DB parameter group
  1254  // as the default parameter group. This allows Amazon Neptune to fully complete
  1255  // the create action before the parameter group is used as the default for a
  1256  // new DB instance. This is especially important for parameters that are critical
  1257  // when creating the default database for a DB instance, such as the character
  1258  // set for the default database defined by the character_set_database parameter.
  1259  // You can use the Parameter Groups option of the Amazon Neptune console or
  1260  // the DescribeDBParameters command to verify that your DB parameter group has
  1261  // been created or modified.
  1262  //
  1263  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1264  // with awserr.Error's Code and Message methods to get detailed information about
  1265  // the error.
  1266  //
  1267  // See the AWS API reference guide for Amazon Neptune's
  1268  // API operation CreateDBParameterGroup for usage and error information.
  1269  //
  1270  // Returned Error Codes:
  1271  //   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
  1272  //   Request would result in user exceeding the allowed number of DB parameter
  1273  //   groups.
  1274  //
  1275  //   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
  1276  //   A DB parameter group with the same name exists.
  1277  //
  1278  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBParameterGroup
  1279  func (c *Neptune) CreateDBParameterGroup(input *CreateDBParameterGroupInput) (*CreateDBParameterGroupOutput, error) {
  1280  	req, out := c.CreateDBParameterGroupRequest(input)
  1281  	return out, req.Send()
  1282  }
  1283  
  1284  // CreateDBParameterGroupWithContext is the same as CreateDBParameterGroup with the addition of
  1285  // the ability to pass a context and additional request options.
  1286  //
  1287  // See CreateDBParameterGroup for details on how to use this API operation.
  1288  //
  1289  // The context must be non-nil and will be used for request cancellation. If
  1290  // the context is nil a panic will occur. In the future the SDK may create
  1291  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1292  // for more information on using Contexts.
  1293  func (c *Neptune) CreateDBParameterGroupWithContext(ctx aws.Context, input *CreateDBParameterGroupInput, opts ...request.Option) (*CreateDBParameterGroupOutput, error) {
  1294  	req, out := c.CreateDBParameterGroupRequest(input)
  1295  	req.SetContext(ctx)
  1296  	req.ApplyOptions(opts...)
  1297  	return out, req.Send()
  1298  }
  1299  
  1300  const opCreateDBSubnetGroup = "CreateDBSubnetGroup"
  1301  
  1302  // CreateDBSubnetGroupRequest generates a "aws/request.Request" representing the
  1303  // client's request for the CreateDBSubnetGroup operation. The "output" return
  1304  // value will be populated with the request's response once the request completes
  1305  // successfully.
  1306  //
  1307  // Use "Send" method on the returned Request to send the API call to the service.
  1308  // the "output" return value is not valid until after Send returns without error.
  1309  //
  1310  // See CreateDBSubnetGroup for more information on using the CreateDBSubnetGroup
  1311  // API call, and error handling.
  1312  //
  1313  // This method is useful when you want to inject custom logic or configuration
  1314  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1315  //
  1316  //
  1317  //    // Example sending a request using the CreateDBSubnetGroupRequest method.
  1318  //    req, resp := client.CreateDBSubnetGroupRequest(params)
  1319  //
  1320  //    err := req.Send()
  1321  //    if err == nil { // resp is now filled
  1322  //        fmt.Println(resp)
  1323  //    }
  1324  //
  1325  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBSubnetGroup
  1326  func (c *Neptune) CreateDBSubnetGroupRequest(input *CreateDBSubnetGroupInput) (req *request.Request, output *CreateDBSubnetGroupOutput) {
  1327  	op := &request.Operation{
  1328  		Name:       opCreateDBSubnetGroup,
  1329  		HTTPMethod: "POST",
  1330  		HTTPPath:   "/",
  1331  	}
  1332  
  1333  	if input == nil {
  1334  		input = &CreateDBSubnetGroupInput{}
  1335  	}
  1336  
  1337  	output = &CreateDBSubnetGroupOutput{}
  1338  	req = c.newRequest(op, input, output)
  1339  	return
  1340  }
  1341  
  1342  // CreateDBSubnetGroup API operation for Amazon Neptune.
  1343  //
  1344  // Creates a new DB subnet group. DB subnet groups must contain at least one
  1345  // subnet in at least two AZs in the Amazon Region.
  1346  //
  1347  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1348  // with awserr.Error's Code and Message methods to get detailed information about
  1349  // the error.
  1350  //
  1351  // See the AWS API reference guide for Amazon Neptune's
  1352  // API operation CreateDBSubnetGroup for usage and error information.
  1353  //
  1354  // Returned Error Codes:
  1355  //   * ErrCodeDBSubnetGroupAlreadyExistsFault "DBSubnetGroupAlreadyExists"
  1356  //   DBSubnetGroupName is already used by an existing DB subnet group.
  1357  //
  1358  //   * ErrCodeDBSubnetGroupQuotaExceededFault "DBSubnetGroupQuotaExceeded"
  1359  //   Request would result in user exceeding the allowed number of DB subnet groups.
  1360  //
  1361  //   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
  1362  //   Request would result in user exceeding the allowed number of subnets in a
  1363  //   DB subnet groups.
  1364  //
  1365  //   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
  1366  //   Subnets in the DB subnet group should cover at least two Availability Zones
  1367  //   unless there is only one Availability Zone.
  1368  //
  1369  //   * ErrCodeInvalidSubnet "InvalidSubnet"
  1370  //   The requested subnet is invalid, or multiple subnets were requested that
  1371  //   are not all in a common VPC.
  1372  //
  1373  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBSubnetGroup
  1374  func (c *Neptune) CreateDBSubnetGroup(input *CreateDBSubnetGroupInput) (*CreateDBSubnetGroupOutput, error) {
  1375  	req, out := c.CreateDBSubnetGroupRequest(input)
  1376  	return out, req.Send()
  1377  }
  1378  
  1379  // CreateDBSubnetGroupWithContext is the same as CreateDBSubnetGroup with the addition of
  1380  // the ability to pass a context and additional request options.
  1381  //
  1382  // See CreateDBSubnetGroup for details on how to use this API operation.
  1383  //
  1384  // The context must be non-nil and will be used for request cancellation. If
  1385  // the context is nil a panic will occur. In the future the SDK may create
  1386  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1387  // for more information on using Contexts.
  1388  func (c *Neptune) CreateDBSubnetGroupWithContext(ctx aws.Context, input *CreateDBSubnetGroupInput, opts ...request.Option) (*CreateDBSubnetGroupOutput, error) {
  1389  	req, out := c.CreateDBSubnetGroupRequest(input)
  1390  	req.SetContext(ctx)
  1391  	req.ApplyOptions(opts...)
  1392  	return out, req.Send()
  1393  }
  1394  
  1395  const opCreateEventSubscription = "CreateEventSubscription"
  1396  
  1397  // CreateEventSubscriptionRequest generates a "aws/request.Request" representing the
  1398  // client's request for the CreateEventSubscription operation. The "output" return
  1399  // value will be populated with the request's response once the request completes
  1400  // successfully.
  1401  //
  1402  // Use "Send" method on the returned Request to send the API call to the service.
  1403  // the "output" return value is not valid until after Send returns without error.
  1404  //
  1405  // See CreateEventSubscription for more information on using the CreateEventSubscription
  1406  // API call, and error handling.
  1407  //
  1408  // This method is useful when you want to inject custom logic or configuration
  1409  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1410  //
  1411  //
  1412  //    // Example sending a request using the CreateEventSubscriptionRequest method.
  1413  //    req, resp := client.CreateEventSubscriptionRequest(params)
  1414  //
  1415  //    err := req.Send()
  1416  //    if err == nil { // resp is now filled
  1417  //        fmt.Println(resp)
  1418  //    }
  1419  //
  1420  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateEventSubscription
  1421  func (c *Neptune) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) {
  1422  	op := &request.Operation{
  1423  		Name:       opCreateEventSubscription,
  1424  		HTTPMethod: "POST",
  1425  		HTTPPath:   "/",
  1426  	}
  1427  
  1428  	if input == nil {
  1429  		input = &CreateEventSubscriptionInput{}
  1430  	}
  1431  
  1432  	output = &CreateEventSubscriptionOutput{}
  1433  	req = c.newRequest(op, input, output)
  1434  	return
  1435  }
  1436  
  1437  // CreateEventSubscription API operation for Amazon Neptune.
  1438  //
  1439  // Creates an event notification subscription. This action requires a topic
  1440  // ARN (Amazon Resource Name) created by either the Neptune console, the SNS
  1441  // console, or the SNS API. To obtain an ARN with SNS, you must create a topic
  1442  // in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS
  1443  // console.
  1444  //
  1445  // You can specify the type of source (SourceType) you want to be notified of,
  1446  // provide a list of Neptune sources (SourceIds) that triggers the events, and
  1447  // provide a list of event categories (EventCategories) for events you want
  1448  // to be notified of. For example, you can specify SourceType = db-instance,
  1449  // SourceIds = mydbinstance1, mydbinstance2 and EventCategories = Availability,
  1450  // Backup.
  1451  //
  1452  // If you specify both the SourceType and SourceIds, such as SourceType = db-instance
  1453  // and SourceIdentifier = myDBInstance1, you are notified of all the db-instance
  1454  // events for the specified source. If you specify a SourceType but do not specify
  1455  // a SourceIdentifier, you receive notice of the events for that source type
  1456  // for all your Neptune sources. If you do not specify either the SourceType
  1457  // nor the SourceIdentifier, you are notified of events generated from all Neptune
  1458  // sources belonging to your customer account.
  1459  //
  1460  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1461  // with awserr.Error's Code and Message methods to get detailed information about
  1462  // the error.
  1463  //
  1464  // See the AWS API reference guide for Amazon Neptune's
  1465  // API operation CreateEventSubscription for usage and error information.
  1466  //
  1467  // Returned Error Codes:
  1468  //   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
  1469  //   You have exceeded the number of events you can subscribe to.
  1470  //
  1471  //   * ErrCodeSubscriptionAlreadyExistFault "SubscriptionAlreadyExist"
  1472  //   This subscription already exists.
  1473  //
  1474  //   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
  1475  //   The SNS topic is invalid.
  1476  //
  1477  //   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
  1478  //   There is no SNS authorization.
  1479  //
  1480  //   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
  1481  //   The ARN of the SNS topic could not be found.
  1482  //
  1483  //   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
  1484  //   The designated subscription category could not be found.
  1485  //
  1486  //   * ErrCodeSourceNotFoundFault "SourceNotFound"
  1487  //   The source could not be found.
  1488  //
  1489  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateEventSubscription
  1490  func (c *Neptune) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) {
  1491  	req, out := c.CreateEventSubscriptionRequest(input)
  1492  	return out, req.Send()
  1493  }
  1494  
  1495  // CreateEventSubscriptionWithContext is the same as CreateEventSubscription with the addition of
  1496  // the ability to pass a context and additional request options.
  1497  //
  1498  // See CreateEventSubscription for details on how to use this API operation.
  1499  //
  1500  // The context must be non-nil and will be used for request cancellation. If
  1501  // the context is nil a panic will occur. In the future the SDK may create
  1502  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1503  // for more information on using Contexts.
  1504  func (c *Neptune) CreateEventSubscriptionWithContext(ctx aws.Context, input *CreateEventSubscriptionInput, opts ...request.Option) (*CreateEventSubscriptionOutput, error) {
  1505  	req, out := c.CreateEventSubscriptionRequest(input)
  1506  	req.SetContext(ctx)
  1507  	req.ApplyOptions(opts...)
  1508  	return out, req.Send()
  1509  }
  1510  
  1511  const opDeleteDBCluster = "DeleteDBCluster"
  1512  
  1513  // DeleteDBClusterRequest generates a "aws/request.Request" representing the
  1514  // client's request for the DeleteDBCluster operation. The "output" return
  1515  // value will be populated with the request's response once the request completes
  1516  // successfully.
  1517  //
  1518  // Use "Send" method on the returned Request to send the API call to the service.
  1519  // the "output" return value is not valid until after Send returns without error.
  1520  //
  1521  // See DeleteDBCluster for more information on using the DeleteDBCluster
  1522  // API call, and error handling.
  1523  //
  1524  // This method is useful when you want to inject custom logic or configuration
  1525  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1526  //
  1527  //
  1528  //    // Example sending a request using the DeleteDBClusterRequest method.
  1529  //    req, resp := client.DeleteDBClusterRequest(params)
  1530  //
  1531  //    err := req.Send()
  1532  //    if err == nil { // resp is now filled
  1533  //        fmt.Println(resp)
  1534  //    }
  1535  //
  1536  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBCluster
  1537  func (c *Neptune) DeleteDBClusterRequest(input *DeleteDBClusterInput) (req *request.Request, output *DeleteDBClusterOutput) {
  1538  	op := &request.Operation{
  1539  		Name:       opDeleteDBCluster,
  1540  		HTTPMethod: "POST",
  1541  		HTTPPath:   "/",
  1542  	}
  1543  
  1544  	if input == nil {
  1545  		input = &DeleteDBClusterInput{}
  1546  	}
  1547  
  1548  	output = &DeleteDBClusterOutput{}
  1549  	req = c.newRequest(op, input, output)
  1550  	return
  1551  }
  1552  
  1553  // DeleteDBCluster API operation for Amazon Neptune.
  1554  //
  1555  // The DeleteDBCluster action deletes a previously provisioned DB cluster. When
  1556  // you delete a DB cluster, all automated backups for that DB cluster are deleted
  1557  // and can't be recovered. Manual DB cluster snapshots of the specified DB cluster
  1558  // are not deleted.
  1559  //
  1560  // Note that the DB Cluster cannot be deleted if deletion protection is enabled.
  1561  // To delete it, you must first set its DeletionProtection field to False.
  1562  //
  1563  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1564  // with awserr.Error's Code and Message methods to get detailed information about
  1565  // the error.
  1566  //
  1567  // See the AWS API reference guide for Amazon Neptune's
  1568  // API operation DeleteDBCluster for usage and error information.
  1569  //
  1570  // Returned Error Codes:
  1571  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  1572  //   DBClusterIdentifier does not refer to an existing DB cluster.
  1573  //
  1574  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  1575  //   The DB cluster is not in a valid state.
  1576  //
  1577  //   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
  1578  //   User already has a DB cluster snapshot with the given identifier.
  1579  //
  1580  //   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
  1581  //   Request would result in user exceeding the allowed number of DB snapshots.
  1582  //
  1583  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
  1584  //   The supplied value is not a valid DB cluster snapshot state.
  1585  //
  1586  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBCluster
  1587  func (c *Neptune) DeleteDBCluster(input *DeleteDBClusterInput) (*DeleteDBClusterOutput, error) {
  1588  	req, out := c.DeleteDBClusterRequest(input)
  1589  	return out, req.Send()
  1590  }
  1591  
  1592  // DeleteDBClusterWithContext is the same as DeleteDBCluster with the addition of
  1593  // the ability to pass a context and additional request options.
  1594  //
  1595  // See DeleteDBCluster for details on how to use this API operation.
  1596  //
  1597  // The context must be non-nil and will be used for request cancellation. If
  1598  // the context is nil a panic will occur. In the future the SDK may create
  1599  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1600  // for more information on using Contexts.
  1601  func (c *Neptune) DeleteDBClusterWithContext(ctx aws.Context, input *DeleteDBClusterInput, opts ...request.Option) (*DeleteDBClusterOutput, error) {
  1602  	req, out := c.DeleteDBClusterRequest(input)
  1603  	req.SetContext(ctx)
  1604  	req.ApplyOptions(opts...)
  1605  	return out, req.Send()
  1606  }
  1607  
  1608  const opDeleteDBClusterEndpoint = "DeleteDBClusterEndpoint"
  1609  
  1610  // DeleteDBClusterEndpointRequest generates a "aws/request.Request" representing the
  1611  // client's request for the DeleteDBClusterEndpoint operation. The "output" return
  1612  // value will be populated with the request's response once the request completes
  1613  // successfully.
  1614  //
  1615  // Use "Send" method on the returned Request to send the API call to the service.
  1616  // the "output" return value is not valid until after Send returns without error.
  1617  //
  1618  // See DeleteDBClusterEndpoint for more information on using the DeleteDBClusterEndpoint
  1619  // API call, and error handling.
  1620  //
  1621  // This method is useful when you want to inject custom logic or configuration
  1622  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1623  //
  1624  //
  1625  //    // Example sending a request using the DeleteDBClusterEndpointRequest method.
  1626  //    req, resp := client.DeleteDBClusterEndpointRequest(params)
  1627  //
  1628  //    err := req.Send()
  1629  //    if err == nil { // resp is now filled
  1630  //        fmt.Println(resp)
  1631  //    }
  1632  //
  1633  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBClusterEndpoint
  1634  func (c *Neptune) DeleteDBClusterEndpointRequest(input *DeleteDBClusterEndpointInput) (req *request.Request, output *DeleteDBClusterEndpointOutput) {
  1635  	op := &request.Operation{
  1636  		Name:       opDeleteDBClusterEndpoint,
  1637  		HTTPMethod: "POST",
  1638  		HTTPPath:   "/",
  1639  	}
  1640  
  1641  	if input == nil {
  1642  		input = &DeleteDBClusterEndpointInput{}
  1643  	}
  1644  
  1645  	output = &DeleteDBClusterEndpointOutput{}
  1646  	req = c.newRequest(op, input, output)
  1647  	return
  1648  }
  1649  
  1650  // DeleteDBClusterEndpoint API operation for Amazon Neptune.
  1651  //
  1652  // Deletes a custom endpoint and removes it from an Amazon Neptune DB cluster.
  1653  //
  1654  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1655  // with awserr.Error's Code and Message methods to get detailed information about
  1656  // the error.
  1657  //
  1658  // See the AWS API reference guide for Amazon Neptune's
  1659  // API operation DeleteDBClusterEndpoint for usage and error information.
  1660  //
  1661  // Returned Error Codes:
  1662  //   * ErrCodeInvalidDBClusterEndpointStateFault "InvalidDBClusterEndpointStateFault"
  1663  //   The requested operation cannot be performed on the endpoint while the endpoint
  1664  //   is in this state.
  1665  //
  1666  //   * ErrCodeDBClusterEndpointNotFoundFault "DBClusterEndpointNotFoundFault"
  1667  //   The specified custom endpoint doesn't exist.
  1668  //
  1669  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  1670  //   The DB cluster is not in a valid state.
  1671  //
  1672  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBClusterEndpoint
  1673  func (c *Neptune) DeleteDBClusterEndpoint(input *DeleteDBClusterEndpointInput) (*DeleteDBClusterEndpointOutput, error) {
  1674  	req, out := c.DeleteDBClusterEndpointRequest(input)
  1675  	return out, req.Send()
  1676  }
  1677  
  1678  // DeleteDBClusterEndpointWithContext is the same as DeleteDBClusterEndpoint with the addition of
  1679  // the ability to pass a context and additional request options.
  1680  //
  1681  // See DeleteDBClusterEndpoint for details on how to use this API operation.
  1682  //
  1683  // The context must be non-nil and will be used for request cancellation. If
  1684  // the context is nil a panic will occur. In the future the SDK may create
  1685  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1686  // for more information on using Contexts.
  1687  func (c *Neptune) DeleteDBClusterEndpointWithContext(ctx aws.Context, input *DeleteDBClusterEndpointInput, opts ...request.Option) (*DeleteDBClusterEndpointOutput, error) {
  1688  	req, out := c.DeleteDBClusterEndpointRequest(input)
  1689  	req.SetContext(ctx)
  1690  	req.ApplyOptions(opts...)
  1691  	return out, req.Send()
  1692  }
  1693  
  1694  const opDeleteDBClusterParameterGroup = "DeleteDBClusterParameterGroup"
  1695  
  1696  // DeleteDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
  1697  // client's request for the DeleteDBClusterParameterGroup operation. The "output" return
  1698  // value will be populated with the request's response once the request completes
  1699  // successfully.
  1700  //
  1701  // Use "Send" method on the returned Request to send the API call to the service.
  1702  // the "output" return value is not valid until after Send returns without error.
  1703  //
  1704  // See DeleteDBClusterParameterGroup for more information on using the DeleteDBClusterParameterGroup
  1705  // API call, and error handling.
  1706  //
  1707  // This method is useful when you want to inject custom logic or configuration
  1708  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1709  //
  1710  //
  1711  //    // Example sending a request using the DeleteDBClusterParameterGroupRequest method.
  1712  //    req, resp := client.DeleteDBClusterParameterGroupRequest(params)
  1713  //
  1714  //    err := req.Send()
  1715  //    if err == nil { // resp is now filled
  1716  //        fmt.Println(resp)
  1717  //    }
  1718  //
  1719  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBClusterParameterGroup
  1720  func (c *Neptune) DeleteDBClusterParameterGroupRequest(input *DeleteDBClusterParameterGroupInput) (req *request.Request, output *DeleteDBClusterParameterGroupOutput) {
  1721  	op := &request.Operation{
  1722  		Name:       opDeleteDBClusterParameterGroup,
  1723  		HTTPMethod: "POST",
  1724  		HTTPPath:   "/",
  1725  	}
  1726  
  1727  	if input == nil {
  1728  		input = &DeleteDBClusterParameterGroupInput{}
  1729  	}
  1730  
  1731  	output = &DeleteDBClusterParameterGroupOutput{}
  1732  	req = c.newRequest(op, input, output)
  1733  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1734  	return
  1735  }
  1736  
  1737  // DeleteDBClusterParameterGroup API operation for Amazon Neptune.
  1738  //
  1739  // Deletes a specified DB cluster parameter group. The DB cluster parameter
  1740  // group to be deleted can't be associated with any DB clusters.
  1741  //
  1742  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1743  // with awserr.Error's Code and Message methods to get detailed information about
  1744  // the error.
  1745  //
  1746  // See the AWS API reference guide for Amazon Neptune's
  1747  // API operation DeleteDBClusterParameterGroup for usage and error information.
  1748  //
  1749  // Returned Error Codes:
  1750  //   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
  1751  //   The DB parameter group is in use or is in an invalid state. If you are attempting
  1752  //   to delete the parameter group, you cannot delete it when the parameter group
  1753  //   is in this state.
  1754  //
  1755  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  1756  //   DBParameterGroupName does not refer to an existing DB parameter group.
  1757  //
  1758  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBClusterParameterGroup
  1759  func (c *Neptune) DeleteDBClusterParameterGroup(input *DeleteDBClusterParameterGroupInput) (*DeleteDBClusterParameterGroupOutput, error) {
  1760  	req, out := c.DeleteDBClusterParameterGroupRequest(input)
  1761  	return out, req.Send()
  1762  }
  1763  
  1764  // DeleteDBClusterParameterGroupWithContext is the same as DeleteDBClusterParameterGroup with the addition of
  1765  // the ability to pass a context and additional request options.
  1766  //
  1767  // See DeleteDBClusterParameterGroup for details on how to use this API operation.
  1768  //
  1769  // The context must be non-nil and will be used for request cancellation. If
  1770  // the context is nil a panic will occur. In the future the SDK may create
  1771  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1772  // for more information on using Contexts.
  1773  func (c *Neptune) DeleteDBClusterParameterGroupWithContext(ctx aws.Context, input *DeleteDBClusterParameterGroupInput, opts ...request.Option) (*DeleteDBClusterParameterGroupOutput, error) {
  1774  	req, out := c.DeleteDBClusterParameterGroupRequest(input)
  1775  	req.SetContext(ctx)
  1776  	req.ApplyOptions(opts...)
  1777  	return out, req.Send()
  1778  }
  1779  
  1780  const opDeleteDBClusterSnapshot = "DeleteDBClusterSnapshot"
  1781  
  1782  // DeleteDBClusterSnapshotRequest generates a "aws/request.Request" representing the
  1783  // client's request for the DeleteDBClusterSnapshot operation. The "output" return
  1784  // value will be populated with the request's response once the request completes
  1785  // successfully.
  1786  //
  1787  // Use "Send" method on the returned Request to send the API call to the service.
  1788  // the "output" return value is not valid until after Send returns without error.
  1789  //
  1790  // See DeleteDBClusterSnapshot for more information on using the DeleteDBClusterSnapshot
  1791  // API call, and error handling.
  1792  //
  1793  // This method is useful when you want to inject custom logic or configuration
  1794  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1795  //
  1796  //
  1797  //    // Example sending a request using the DeleteDBClusterSnapshotRequest method.
  1798  //    req, resp := client.DeleteDBClusterSnapshotRequest(params)
  1799  //
  1800  //    err := req.Send()
  1801  //    if err == nil { // resp is now filled
  1802  //        fmt.Println(resp)
  1803  //    }
  1804  //
  1805  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBClusterSnapshot
  1806  func (c *Neptune) DeleteDBClusterSnapshotRequest(input *DeleteDBClusterSnapshotInput) (req *request.Request, output *DeleteDBClusterSnapshotOutput) {
  1807  	op := &request.Operation{
  1808  		Name:       opDeleteDBClusterSnapshot,
  1809  		HTTPMethod: "POST",
  1810  		HTTPPath:   "/",
  1811  	}
  1812  
  1813  	if input == nil {
  1814  		input = &DeleteDBClusterSnapshotInput{}
  1815  	}
  1816  
  1817  	output = &DeleteDBClusterSnapshotOutput{}
  1818  	req = c.newRequest(op, input, output)
  1819  	return
  1820  }
  1821  
  1822  // DeleteDBClusterSnapshot API operation for Amazon Neptune.
  1823  //
  1824  // Deletes a DB cluster snapshot. If the snapshot is being copied, the copy
  1825  // operation is terminated.
  1826  //
  1827  // The DB cluster snapshot must be in the available state to be deleted.
  1828  //
  1829  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1830  // with awserr.Error's Code and Message methods to get detailed information about
  1831  // the error.
  1832  //
  1833  // See the AWS API reference guide for Amazon Neptune's
  1834  // API operation DeleteDBClusterSnapshot for usage and error information.
  1835  //
  1836  // Returned Error Codes:
  1837  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
  1838  //   The supplied value is not a valid DB cluster snapshot state.
  1839  //
  1840  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
  1841  //   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
  1842  //
  1843  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBClusterSnapshot
  1844  func (c *Neptune) DeleteDBClusterSnapshot(input *DeleteDBClusterSnapshotInput) (*DeleteDBClusterSnapshotOutput, error) {
  1845  	req, out := c.DeleteDBClusterSnapshotRequest(input)
  1846  	return out, req.Send()
  1847  }
  1848  
  1849  // DeleteDBClusterSnapshotWithContext is the same as DeleteDBClusterSnapshot with the addition of
  1850  // the ability to pass a context and additional request options.
  1851  //
  1852  // See DeleteDBClusterSnapshot for details on how to use this API operation.
  1853  //
  1854  // The context must be non-nil and will be used for request cancellation. If
  1855  // the context is nil a panic will occur. In the future the SDK may create
  1856  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1857  // for more information on using Contexts.
  1858  func (c *Neptune) DeleteDBClusterSnapshotWithContext(ctx aws.Context, input *DeleteDBClusterSnapshotInput, opts ...request.Option) (*DeleteDBClusterSnapshotOutput, error) {
  1859  	req, out := c.DeleteDBClusterSnapshotRequest(input)
  1860  	req.SetContext(ctx)
  1861  	req.ApplyOptions(opts...)
  1862  	return out, req.Send()
  1863  }
  1864  
  1865  const opDeleteDBInstance = "DeleteDBInstance"
  1866  
  1867  // DeleteDBInstanceRequest generates a "aws/request.Request" representing the
  1868  // client's request for the DeleteDBInstance operation. The "output" return
  1869  // value will be populated with the request's response once the request completes
  1870  // successfully.
  1871  //
  1872  // Use "Send" method on the returned Request to send the API call to the service.
  1873  // the "output" return value is not valid until after Send returns without error.
  1874  //
  1875  // See DeleteDBInstance for more information on using the DeleteDBInstance
  1876  // API call, and error handling.
  1877  //
  1878  // This method is useful when you want to inject custom logic or configuration
  1879  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1880  //
  1881  //
  1882  //    // Example sending a request using the DeleteDBInstanceRequest method.
  1883  //    req, resp := client.DeleteDBInstanceRequest(params)
  1884  //
  1885  //    err := req.Send()
  1886  //    if err == nil { // resp is now filled
  1887  //        fmt.Println(resp)
  1888  //    }
  1889  //
  1890  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBInstance
  1891  func (c *Neptune) DeleteDBInstanceRequest(input *DeleteDBInstanceInput) (req *request.Request, output *DeleteDBInstanceOutput) {
  1892  	op := &request.Operation{
  1893  		Name:       opDeleteDBInstance,
  1894  		HTTPMethod: "POST",
  1895  		HTTPPath:   "/",
  1896  	}
  1897  
  1898  	if input == nil {
  1899  		input = &DeleteDBInstanceInput{}
  1900  	}
  1901  
  1902  	output = &DeleteDBInstanceOutput{}
  1903  	req = c.newRequest(op, input, output)
  1904  	return
  1905  }
  1906  
  1907  // DeleteDBInstance API operation for Amazon Neptune.
  1908  //
  1909  // The DeleteDBInstance action deletes a previously provisioned DB instance.
  1910  // When you delete a DB instance, all automated backups for that instance are
  1911  // deleted and can't be recovered. Manual DB snapshots of the DB instance to
  1912  // be deleted by DeleteDBInstance are not deleted.
  1913  //
  1914  // If you request a final DB snapshot the status of the Amazon Neptune DB instance
  1915  // is deleting until the DB snapshot is created. The API action DescribeDBInstance
  1916  // is used to monitor the status of this operation. The action can't be canceled
  1917  // or reverted once submitted.
  1918  //
  1919  // Note that when a DB instance is in a failure state and has a status of failed,
  1920  // incompatible-restore, or incompatible-network, you can only delete it when
  1921  // the SkipFinalSnapshot parameter is set to true.
  1922  //
  1923  // You can't delete a DB instance if it is the only instance in the DB cluster,
  1924  // or if it has deletion protection enabled.
  1925  //
  1926  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1927  // with awserr.Error's Code and Message methods to get detailed information about
  1928  // the error.
  1929  //
  1930  // See the AWS API reference guide for Amazon Neptune's
  1931  // API operation DeleteDBInstance for usage and error information.
  1932  //
  1933  // Returned Error Codes:
  1934  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  1935  //   DBInstanceIdentifier does not refer to an existing DB instance.
  1936  //
  1937  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  1938  //   The specified DB instance is not in the available state.
  1939  //
  1940  //   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
  1941  //   DBSnapshotIdentifier is already used by an existing snapshot.
  1942  //
  1943  //   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
  1944  //   Request would result in user exceeding the allowed number of DB snapshots.
  1945  //
  1946  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  1947  //   The DB cluster is not in a valid state.
  1948  //
  1949  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBInstance
  1950  func (c *Neptune) DeleteDBInstance(input *DeleteDBInstanceInput) (*DeleteDBInstanceOutput, error) {
  1951  	req, out := c.DeleteDBInstanceRequest(input)
  1952  	return out, req.Send()
  1953  }
  1954  
  1955  // DeleteDBInstanceWithContext is the same as DeleteDBInstance with the addition of
  1956  // the ability to pass a context and additional request options.
  1957  //
  1958  // See DeleteDBInstance for details on how to use this API operation.
  1959  //
  1960  // The context must be non-nil and will be used for request cancellation. If
  1961  // the context is nil a panic will occur. In the future the SDK may create
  1962  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1963  // for more information on using Contexts.
  1964  func (c *Neptune) DeleteDBInstanceWithContext(ctx aws.Context, input *DeleteDBInstanceInput, opts ...request.Option) (*DeleteDBInstanceOutput, error) {
  1965  	req, out := c.DeleteDBInstanceRequest(input)
  1966  	req.SetContext(ctx)
  1967  	req.ApplyOptions(opts...)
  1968  	return out, req.Send()
  1969  }
  1970  
  1971  const opDeleteDBParameterGroup = "DeleteDBParameterGroup"
  1972  
  1973  // DeleteDBParameterGroupRequest generates a "aws/request.Request" representing the
  1974  // client's request for the DeleteDBParameterGroup operation. The "output" return
  1975  // value will be populated with the request's response once the request completes
  1976  // successfully.
  1977  //
  1978  // Use "Send" method on the returned Request to send the API call to the service.
  1979  // the "output" return value is not valid until after Send returns without error.
  1980  //
  1981  // See DeleteDBParameterGroup for more information on using the DeleteDBParameterGroup
  1982  // API call, and error handling.
  1983  //
  1984  // This method is useful when you want to inject custom logic or configuration
  1985  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1986  //
  1987  //
  1988  //    // Example sending a request using the DeleteDBParameterGroupRequest method.
  1989  //    req, resp := client.DeleteDBParameterGroupRequest(params)
  1990  //
  1991  //    err := req.Send()
  1992  //    if err == nil { // resp is now filled
  1993  //        fmt.Println(resp)
  1994  //    }
  1995  //
  1996  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBParameterGroup
  1997  func (c *Neptune) DeleteDBParameterGroupRequest(input *DeleteDBParameterGroupInput) (req *request.Request, output *DeleteDBParameterGroupOutput) {
  1998  	op := &request.Operation{
  1999  		Name:       opDeleteDBParameterGroup,
  2000  		HTTPMethod: "POST",
  2001  		HTTPPath:   "/",
  2002  	}
  2003  
  2004  	if input == nil {
  2005  		input = &DeleteDBParameterGroupInput{}
  2006  	}
  2007  
  2008  	output = &DeleteDBParameterGroupOutput{}
  2009  	req = c.newRequest(op, input, output)
  2010  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2011  	return
  2012  }
  2013  
  2014  // DeleteDBParameterGroup API operation for Amazon Neptune.
  2015  //
  2016  // Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted
  2017  // can't be associated with any DB instances.
  2018  //
  2019  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2020  // with awserr.Error's Code and Message methods to get detailed information about
  2021  // the error.
  2022  //
  2023  // See the AWS API reference guide for Amazon Neptune's
  2024  // API operation DeleteDBParameterGroup for usage and error information.
  2025  //
  2026  // Returned Error Codes:
  2027  //   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
  2028  //   The DB parameter group is in use or is in an invalid state. If you are attempting
  2029  //   to delete the parameter group, you cannot delete it when the parameter group
  2030  //   is in this state.
  2031  //
  2032  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  2033  //   DBParameterGroupName does not refer to an existing DB parameter group.
  2034  //
  2035  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBParameterGroup
  2036  func (c *Neptune) DeleteDBParameterGroup(input *DeleteDBParameterGroupInput) (*DeleteDBParameterGroupOutput, error) {
  2037  	req, out := c.DeleteDBParameterGroupRequest(input)
  2038  	return out, req.Send()
  2039  }
  2040  
  2041  // DeleteDBParameterGroupWithContext is the same as DeleteDBParameterGroup with the addition of
  2042  // the ability to pass a context and additional request options.
  2043  //
  2044  // See DeleteDBParameterGroup for details on how to use this API operation.
  2045  //
  2046  // The context must be non-nil and will be used for request cancellation. If
  2047  // the context is nil a panic will occur. In the future the SDK may create
  2048  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2049  // for more information on using Contexts.
  2050  func (c *Neptune) DeleteDBParameterGroupWithContext(ctx aws.Context, input *DeleteDBParameterGroupInput, opts ...request.Option) (*DeleteDBParameterGroupOutput, error) {
  2051  	req, out := c.DeleteDBParameterGroupRequest(input)
  2052  	req.SetContext(ctx)
  2053  	req.ApplyOptions(opts...)
  2054  	return out, req.Send()
  2055  }
  2056  
  2057  const opDeleteDBSubnetGroup = "DeleteDBSubnetGroup"
  2058  
  2059  // DeleteDBSubnetGroupRequest generates a "aws/request.Request" representing the
  2060  // client's request for the DeleteDBSubnetGroup operation. The "output" return
  2061  // value will be populated with the request's response once the request completes
  2062  // successfully.
  2063  //
  2064  // Use "Send" method on the returned Request to send the API call to the service.
  2065  // the "output" return value is not valid until after Send returns without error.
  2066  //
  2067  // See DeleteDBSubnetGroup for more information on using the DeleteDBSubnetGroup
  2068  // API call, and error handling.
  2069  //
  2070  // This method is useful when you want to inject custom logic or configuration
  2071  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2072  //
  2073  //
  2074  //    // Example sending a request using the DeleteDBSubnetGroupRequest method.
  2075  //    req, resp := client.DeleteDBSubnetGroupRequest(params)
  2076  //
  2077  //    err := req.Send()
  2078  //    if err == nil { // resp is now filled
  2079  //        fmt.Println(resp)
  2080  //    }
  2081  //
  2082  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBSubnetGroup
  2083  func (c *Neptune) DeleteDBSubnetGroupRequest(input *DeleteDBSubnetGroupInput) (req *request.Request, output *DeleteDBSubnetGroupOutput) {
  2084  	op := &request.Operation{
  2085  		Name:       opDeleteDBSubnetGroup,
  2086  		HTTPMethod: "POST",
  2087  		HTTPPath:   "/",
  2088  	}
  2089  
  2090  	if input == nil {
  2091  		input = &DeleteDBSubnetGroupInput{}
  2092  	}
  2093  
  2094  	output = &DeleteDBSubnetGroupOutput{}
  2095  	req = c.newRequest(op, input, output)
  2096  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2097  	return
  2098  }
  2099  
  2100  // DeleteDBSubnetGroup API operation for Amazon Neptune.
  2101  //
  2102  // Deletes a DB subnet group.
  2103  //
  2104  // The specified database subnet group must not be associated with any DB instances.
  2105  //
  2106  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2107  // with awserr.Error's Code and Message methods to get detailed information about
  2108  // the error.
  2109  //
  2110  // See the AWS API reference guide for Amazon Neptune's
  2111  // API operation DeleteDBSubnetGroup for usage and error information.
  2112  //
  2113  // Returned Error Codes:
  2114  //   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
  2115  //   The DB subnet group cannot be deleted because it is in use.
  2116  //
  2117  //   * ErrCodeInvalidDBSubnetStateFault "InvalidDBSubnetStateFault"
  2118  //   The DB subnet is not in the available state.
  2119  //
  2120  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  2121  //   DBSubnetGroupName does not refer to an existing DB subnet group.
  2122  //
  2123  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBSubnetGroup
  2124  func (c *Neptune) DeleteDBSubnetGroup(input *DeleteDBSubnetGroupInput) (*DeleteDBSubnetGroupOutput, error) {
  2125  	req, out := c.DeleteDBSubnetGroupRequest(input)
  2126  	return out, req.Send()
  2127  }
  2128  
  2129  // DeleteDBSubnetGroupWithContext is the same as DeleteDBSubnetGroup with the addition of
  2130  // the ability to pass a context and additional request options.
  2131  //
  2132  // See DeleteDBSubnetGroup for details on how to use this API operation.
  2133  //
  2134  // The context must be non-nil and will be used for request cancellation. If
  2135  // the context is nil a panic will occur. In the future the SDK may create
  2136  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2137  // for more information on using Contexts.
  2138  func (c *Neptune) DeleteDBSubnetGroupWithContext(ctx aws.Context, input *DeleteDBSubnetGroupInput, opts ...request.Option) (*DeleteDBSubnetGroupOutput, error) {
  2139  	req, out := c.DeleteDBSubnetGroupRequest(input)
  2140  	req.SetContext(ctx)
  2141  	req.ApplyOptions(opts...)
  2142  	return out, req.Send()
  2143  }
  2144  
  2145  const opDeleteEventSubscription = "DeleteEventSubscription"
  2146  
  2147  // DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the
  2148  // client's request for the DeleteEventSubscription operation. The "output" return
  2149  // value will be populated with the request's response once the request completes
  2150  // successfully.
  2151  //
  2152  // Use "Send" method on the returned Request to send the API call to the service.
  2153  // the "output" return value is not valid until after Send returns without error.
  2154  //
  2155  // See DeleteEventSubscription for more information on using the DeleteEventSubscription
  2156  // API call, and error handling.
  2157  //
  2158  // This method is useful when you want to inject custom logic or configuration
  2159  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2160  //
  2161  //
  2162  //    // Example sending a request using the DeleteEventSubscriptionRequest method.
  2163  //    req, resp := client.DeleteEventSubscriptionRequest(params)
  2164  //
  2165  //    err := req.Send()
  2166  //    if err == nil { // resp is now filled
  2167  //        fmt.Println(resp)
  2168  //    }
  2169  //
  2170  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteEventSubscription
  2171  func (c *Neptune) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) {
  2172  	op := &request.Operation{
  2173  		Name:       opDeleteEventSubscription,
  2174  		HTTPMethod: "POST",
  2175  		HTTPPath:   "/",
  2176  	}
  2177  
  2178  	if input == nil {
  2179  		input = &DeleteEventSubscriptionInput{}
  2180  	}
  2181  
  2182  	output = &DeleteEventSubscriptionOutput{}
  2183  	req = c.newRequest(op, input, output)
  2184  	return
  2185  }
  2186  
  2187  // DeleteEventSubscription API operation for Amazon Neptune.
  2188  //
  2189  // Deletes an event notification subscription.
  2190  //
  2191  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2192  // with awserr.Error's Code and Message methods to get detailed information about
  2193  // the error.
  2194  //
  2195  // See the AWS API reference guide for Amazon Neptune's
  2196  // API operation DeleteEventSubscription for usage and error information.
  2197  //
  2198  // Returned Error Codes:
  2199  //   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
  2200  //   The designated subscription could not be found.
  2201  //
  2202  //   * ErrCodeInvalidEventSubscriptionStateFault "InvalidEventSubscriptionState"
  2203  //   The event subscription is in an invalid state.
  2204  //
  2205  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteEventSubscription
  2206  func (c *Neptune) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) {
  2207  	req, out := c.DeleteEventSubscriptionRequest(input)
  2208  	return out, req.Send()
  2209  }
  2210  
  2211  // DeleteEventSubscriptionWithContext is the same as DeleteEventSubscription with the addition of
  2212  // the ability to pass a context and additional request options.
  2213  //
  2214  // See DeleteEventSubscription for details on how to use this API operation.
  2215  //
  2216  // The context must be non-nil and will be used for request cancellation. If
  2217  // the context is nil a panic will occur. In the future the SDK may create
  2218  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2219  // for more information on using Contexts.
  2220  func (c *Neptune) DeleteEventSubscriptionWithContext(ctx aws.Context, input *DeleteEventSubscriptionInput, opts ...request.Option) (*DeleteEventSubscriptionOutput, error) {
  2221  	req, out := c.DeleteEventSubscriptionRequest(input)
  2222  	req.SetContext(ctx)
  2223  	req.ApplyOptions(opts...)
  2224  	return out, req.Send()
  2225  }
  2226  
  2227  const opDescribeDBClusterEndpoints = "DescribeDBClusterEndpoints"
  2228  
  2229  // DescribeDBClusterEndpointsRequest generates a "aws/request.Request" representing the
  2230  // client's request for the DescribeDBClusterEndpoints operation. The "output" return
  2231  // value will be populated with the request's response once the request completes
  2232  // successfully.
  2233  //
  2234  // Use "Send" method on the returned Request to send the API call to the service.
  2235  // the "output" return value is not valid until after Send returns without error.
  2236  //
  2237  // See DescribeDBClusterEndpoints for more information on using the DescribeDBClusterEndpoints
  2238  // API call, and error handling.
  2239  //
  2240  // This method is useful when you want to inject custom logic or configuration
  2241  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2242  //
  2243  //
  2244  //    // Example sending a request using the DescribeDBClusterEndpointsRequest method.
  2245  //    req, resp := client.DescribeDBClusterEndpointsRequest(params)
  2246  //
  2247  //    err := req.Send()
  2248  //    if err == nil { // resp is now filled
  2249  //        fmt.Println(resp)
  2250  //    }
  2251  //
  2252  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterEndpoints
  2253  func (c *Neptune) DescribeDBClusterEndpointsRequest(input *DescribeDBClusterEndpointsInput) (req *request.Request, output *DescribeDBClusterEndpointsOutput) {
  2254  	op := &request.Operation{
  2255  		Name:       opDescribeDBClusterEndpoints,
  2256  		HTTPMethod: "POST",
  2257  		HTTPPath:   "/",
  2258  		Paginator: &request.Paginator{
  2259  			InputTokens:     []string{"Marker"},
  2260  			OutputTokens:    []string{"Marker"},
  2261  			LimitToken:      "MaxRecords",
  2262  			TruncationToken: "",
  2263  		},
  2264  	}
  2265  
  2266  	if input == nil {
  2267  		input = &DescribeDBClusterEndpointsInput{}
  2268  	}
  2269  
  2270  	output = &DescribeDBClusterEndpointsOutput{}
  2271  	req = c.newRequest(op, input, output)
  2272  	return
  2273  }
  2274  
  2275  // DescribeDBClusterEndpoints API operation for Amazon Neptune.
  2276  //
  2277  // Returns information about endpoints for an Amazon Neptune DB cluster.
  2278  //
  2279  // This operation can also return information for Amazon RDS clusters and Amazon
  2280  // DocDB clusters.
  2281  //
  2282  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2283  // with awserr.Error's Code and Message methods to get detailed information about
  2284  // the error.
  2285  //
  2286  // See the AWS API reference guide for Amazon Neptune's
  2287  // API operation DescribeDBClusterEndpoints for usage and error information.
  2288  //
  2289  // Returned Error Codes:
  2290  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  2291  //   DBClusterIdentifier does not refer to an existing DB cluster.
  2292  //
  2293  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterEndpoints
  2294  func (c *Neptune) DescribeDBClusterEndpoints(input *DescribeDBClusterEndpointsInput) (*DescribeDBClusterEndpointsOutput, error) {
  2295  	req, out := c.DescribeDBClusterEndpointsRequest(input)
  2296  	return out, req.Send()
  2297  }
  2298  
  2299  // DescribeDBClusterEndpointsWithContext is the same as DescribeDBClusterEndpoints with the addition of
  2300  // the ability to pass a context and additional request options.
  2301  //
  2302  // See DescribeDBClusterEndpoints for details on how to use this API operation.
  2303  //
  2304  // The context must be non-nil and will be used for request cancellation. If
  2305  // the context is nil a panic will occur. In the future the SDK may create
  2306  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2307  // for more information on using Contexts.
  2308  func (c *Neptune) DescribeDBClusterEndpointsWithContext(ctx aws.Context, input *DescribeDBClusterEndpointsInput, opts ...request.Option) (*DescribeDBClusterEndpointsOutput, error) {
  2309  	req, out := c.DescribeDBClusterEndpointsRequest(input)
  2310  	req.SetContext(ctx)
  2311  	req.ApplyOptions(opts...)
  2312  	return out, req.Send()
  2313  }
  2314  
  2315  // DescribeDBClusterEndpointsPages iterates over the pages of a DescribeDBClusterEndpoints operation,
  2316  // calling the "fn" function with the response data for each page. To stop
  2317  // iterating, return false from the fn function.
  2318  //
  2319  // See DescribeDBClusterEndpoints method for more information on how to use this operation.
  2320  //
  2321  // Note: This operation can generate multiple requests to a service.
  2322  //
  2323  //    // Example iterating over at most 3 pages of a DescribeDBClusterEndpoints operation.
  2324  //    pageNum := 0
  2325  //    err := client.DescribeDBClusterEndpointsPages(params,
  2326  //        func(page *neptune.DescribeDBClusterEndpointsOutput, lastPage bool) bool {
  2327  //            pageNum++
  2328  //            fmt.Println(page)
  2329  //            return pageNum <= 3
  2330  //        })
  2331  //
  2332  func (c *Neptune) DescribeDBClusterEndpointsPages(input *DescribeDBClusterEndpointsInput, fn func(*DescribeDBClusterEndpointsOutput, bool) bool) error {
  2333  	return c.DescribeDBClusterEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
  2334  }
  2335  
  2336  // DescribeDBClusterEndpointsPagesWithContext same as DescribeDBClusterEndpointsPages except
  2337  // it takes a Context and allows setting request options on the pages.
  2338  //
  2339  // The context must be non-nil and will be used for request cancellation. If
  2340  // the context is nil a panic will occur. In the future the SDK may create
  2341  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2342  // for more information on using Contexts.
  2343  func (c *Neptune) DescribeDBClusterEndpointsPagesWithContext(ctx aws.Context, input *DescribeDBClusterEndpointsInput, fn func(*DescribeDBClusterEndpointsOutput, bool) bool, opts ...request.Option) error {
  2344  	p := request.Pagination{
  2345  		NewRequest: func() (*request.Request, error) {
  2346  			var inCpy *DescribeDBClusterEndpointsInput
  2347  			if input != nil {
  2348  				tmp := *input
  2349  				inCpy = &tmp
  2350  			}
  2351  			req, _ := c.DescribeDBClusterEndpointsRequest(inCpy)
  2352  			req.SetContext(ctx)
  2353  			req.ApplyOptions(opts...)
  2354  			return req, nil
  2355  		},
  2356  	}
  2357  
  2358  	for p.Next() {
  2359  		if !fn(p.Page().(*DescribeDBClusterEndpointsOutput), !p.HasNextPage()) {
  2360  			break
  2361  		}
  2362  	}
  2363  
  2364  	return p.Err()
  2365  }
  2366  
  2367  const opDescribeDBClusterParameterGroups = "DescribeDBClusterParameterGroups"
  2368  
  2369  // DescribeDBClusterParameterGroupsRequest generates a "aws/request.Request" representing the
  2370  // client's request for the DescribeDBClusterParameterGroups operation. The "output" return
  2371  // value will be populated with the request's response once the request completes
  2372  // successfully.
  2373  //
  2374  // Use "Send" method on the returned Request to send the API call to the service.
  2375  // the "output" return value is not valid until after Send returns without error.
  2376  //
  2377  // See DescribeDBClusterParameterGroups for more information on using the DescribeDBClusterParameterGroups
  2378  // API call, and error handling.
  2379  //
  2380  // This method is useful when you want to inject custom logic or configuration
  2381  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2382  //
  2383  //
  2384  //    // Example sending a request using the DescribeDBClusterParameterGroupsRequest method.
  2385  //    req, resp := client.DescribeDBClusterParameterGroupsRequest(params)
  2386  //
  2387  //    err := req.Send()
  2388  //    if err == nil { // resp is now filled
  2389  //        fmt.Println(resp)
  2390  //    }
  2391  //
  2392  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterParameterGroups
  2393  func (c *Neptune) DescribeDBClusterParameterGroupsRequest(input *DescribeDBClusterParameterGroupsInput) (req *request.Request, output *DescribeDBClusterParameterGroupsOutput) {
  2394  	op := &request.Operation{
  2395  		Name:       opDescribeDBClusterParameterGroups,
  2396  		HTTPMethod: "POST",
  2397  		HTTPPath:   "/",
  2398  		Paginator: &request.Paginator{
  2399  			InputTokens:     []string{"Marker"},
  2400  			OutputTokens:    []string{"Marker"},
  2401  			LimitToken:      "MaxRecords",
  2402  			TruncationToken: "",
  2403  		},
  2404  	}
  2405  
  2406  	if input == nil {
  2407  		input = &DescribeDBClusterParameterGroupsInput{}
  2408  	}
  2409  
  2410  	output = &DescribeDBClusterParameterGroupsOutput{}
  2411  	req = c.newRequest(op, input, output)
  2412  	return
  2413  }
  2414  
  2415  // DescribeDBClusterParameterGroups API operation for Amazon Neptune.
  2416  //
  2417  // Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName
  2418  // parameter is specified, the list will contain only the description of the
  2419  // specified DB cluster parameter group.
  2420  //
  2421  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2422  // with awserr.Error's Code and Message methods to get detailed information about
  2423  // the error.
  2424  //
  2425  // See the AWS API reference guide for Amazon Neptune's
  2426  // API operation DescribeDBClusterParameterGroups for usage and error information.
  2427  //
  2428  // Returned Error Codes:
  2429  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  2430  //   DBParameterGroupName does not refer to an existing DB parameter group.
  2431  //
  2432  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterParameterGroups
  2433  func (c *Neptune) DescribeDBClusterParameterGroups(input *DescribeDBClusterParameterGroupsInput) (*DescribeDBClusterParameterGroupsOutput, error) {
  2434  	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
  2435  	return out, req.Send()
  2436  }
  2437  
  2438  // DescribeDBClusterParameterGroupsWithContext is the same as DescribeDBClusterParameterGroups with the addition of
  2439  // the ability to pass a context and additional request options.
  2440  //
  2441  // See DescribeDBClusterParameterGroups for details on how to use this API operation.
  2442  //
  2443  // The context must be non-nil and will be used for request cancellation. If
  2444  // the context is nil a panic will occur. In the future the SDK may create
  2445  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2446  // for more information on using Contexts.
  2447  func (c *Neptune) DescribeDBClusterParameterGroupsWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, opts ...request.Option) (*DescribeDBClusterParameterGroupsOutput, error) {
  2448  	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
  2449  	req.SetContext(ctx)
  2450  	req.ApplyOptions(opts...)
  2451  	return out, req.Send()
  2452  }
  2453  
  2454  // DescribeDBClusterParameterGroupsPages iterates over the pages of a DescribeDBClusterParameterGroups operation,
  2455  // calling the "fn" function with the response data for each page. To stop
  2456  // iterating, return false from the fn function.
  2457  //
  2458  // See DescribeDBClusterParameterGroups method for more information on how to use this operation.
  2459  //
  2460  // Note: This operation can generate multiple requests to a service.
  2461  //
  2462  //    // Example iterating over at most 3 pages of a DescribeDBClusterParameterGroups operation.
  2463  //    pageNum := 0
  2464  //    err := client.DescribeDBClusterParameterGroupsPages(params,
  2465  //        func(page *neptune.DescribeDBClusterParameterGroupsOutput, lastPage bool) bool {
  2466  //            pageNum++
  2467  //            fmt.Println(page)
  2468  //            return pageNum <= 3
  2469  //        })
  2470  //
  2471  func (c *Neptune) DescribeDBClusterParameterGroupsPages(input *DescribeDBClusterParameterGroupsInput, fn func(*DescribeDBClusterParameterGroupsOutput, bool) bool) error {
  2472  	return c.DescribeDBClusterParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  2473  }
  2474  
  2475  // DescribeDBClusterParameterGroupsPagesWithContext same as DescribeDBClusterParameterGroupsPages except
  2476  // it takes a Context and allows setting request options on the pages.
  2477  //
  2478  // The context must be non-nil and will be used for request cancellation. If
  2479  // the context is nil a panic will occur. In the future the SDK may create
  2480  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2481  // for more information on using Contexts.
  2482  func (c *Neptune) DescribeDBClusterParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, fn func(*DescribeDBClusterParameterGroupsOutput, bool) bool, opts ...request.Option) error {
  2483  	p := request.Pagination{
  2484  		NewRequest: func() (*request.Request, error) {
  2485  			var inCpy *DescribeDBClusterParameterGroupsInput
  2486  			if input != nil {
  2487  				tmp := *input
  2488  				inCpy = &tmp
  2489  			}
  2490  			req, _ := c.DescribeDBClusterParameterGroupsRequest(inCpy)
  2491  			req.SetContext(ctx)
  2492  			req.ApplyOptions(opts...)
  2493  			return req, nil
  2494  		},
  2495  	}
  2496  
  2497  	for p.Next() {
  2498  		if !fn(p.Page().(*DescribeDBClusterParameterGroupsOutput), !p.HasNextPage()) {
  2499  			break
  2500  		}
  2501  	}
  2502  
  2503  	return p.Err()
  2504  }
  2505  
  2506  const opDescribeDBClusterParameters = "DescribeDBClusterParameters"
  2507  
  2508  // DescribeDBClusterParametersRequest generates a "aws/request.Request" representing the
  2509  // client's request for the DescribeDBClusterParameters operation. The "output" return
  2510  // value will be populated with the request's response once the request completes
  2511  // successfully.
  2512  //
  2513  // Use "Send" method on the returned Request to send the API call to the service.
  2514  // the "output" return value is not valid until after Send returns without error.
  2515  //
  2516  // See DescribeDBClusterParameters for more information on using the DescribeDBClusterParameters
  2517  // API call, and error handling.
  2518  //
  2519  // This method is useful when you want to inject custom logic or configuration
  2520  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2521  //
  2522  //
  2523  //    // Example sending a request using the DescribeDBClusterParametersRequest method.
  2524  //    req, resp := client.DescribeDBClusterParametersRequest(params)
  2525  //
  2526  //    err := req.Send()
  2527  //    if err == nil { // resp is now filled
  2528  //        fmt.Println(resp)
  2529  //    }
  2530  //
  2531  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterParameters
  2532  func (c *Neptune) DescribeDBClusterParametersRequest(input *DescribeDBClusterParametersInput) (req *request.Request, output *DescribeDBClusterParametersOutput) {
  2533  	op := &request.Operation{
  2534  		Name:       opDescribeDBClusterParameters,
  2535  		HTTPMethod: "POST",
  2536  		HTTPPath:   "/",
  2537  		Paginator: &request.Paginator{
  2538  			InputTokens:     []string{"Marker"},
  2539  			OutputTokens:    []string{"Marker"},
  2540  			LimitToken:      "MaxRecords",
  2541  			TruncationToken: "",
  2542  		},
  2543  	}
  2544  
  2545  	if input == nil {
  2546  		input = &DescribeDBClusterParametersInput{}
  2547  	}
  2548  
  2549  	output = &DescribeDBClusterParametersOutput{}
  2550  	req = c.newRequest(op, input, output)
  2551  	return
  2552  }
  2553  
  2554  // DescribeDBClusterParameters API operation for Amazon Neptune.
  2555  //
  2556  // Returns the detailed parameter list for a particular DB cluster parameter
  2557  // group.
  2558  //
  2559  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2560  // with awserr.Error's Code and Message methods to get detailed information about
  2561  // the error.
  2562  //
  2563  // See the AWS API reference guide for Amazon Neptune's
  2564  // API operation DescribeDBClusterParameters for usage and error information.
  2565  //
  2566  // Returned Error Codes:
  2567  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  2568  //   DBParameterGroupName does not refer to an existing DB parameter group.
  2569  //
  2570  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterParameters
  2571  func (c *Neptune) DescribeDBClusterParameters(input *DescribeDBClusterParametersInput) (*DescribeDBClusterParametersOutput, error) {
  2572  	req, out := c.DescribeDBClusterParametersRequest(input)
  2573  	return out, req.Send()
  2574  }
  2575  
  2576  // DescribeDBClusterParametersWithContext is the same as DescribeDBClusterParameters with the addition of
  2577  // the ability to pass a context and additional request options.
  2578  //
  2579  // See DescribeDBClusterParameters for details on how to use this API operation.
  2580  //
  2581  // The context must be non-nil and will be used for request cancellation. If
  2582  // the context is nil a panic will occur. In the future the SDK may create
  2583  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2584  // for more information on using Contexts.
  2585  func (c *Neptune) DescribeDBClusterParametersWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, opts ...request.Option) (*DescribeDBClusterParametersOutput, error) {
  2586  	req, out := c.DescribeDBClusterParametersRequest(input)
  2587  	req.SetContext(ctx)
  2588  	req.ApplyOptions(opts...)
  2589  	return out, req.Send()
  2590  }
  2591  
  2592  // DescribeDBClusterParametersPages iterates over the pages of a DescribeDBClusterParameters operation,
  2593  // calling the "fn" function with the response data for each page. To stop
  2594  // iterating, return false from the fn function.
  2595  //
  2596  // See DescribeDBClusterParameters method for more information on how to use this operation.
  2597  //
  2598  // Note: This operation can generate multiple requests to a service.
  2599  //
  2600  //    // Example iterating over at most 3 pages of a DescribeDBClusterParameters operation.
  2601  //    pageNum := 0
  2602  //    err := client.DescribeDBClusterParametersPages(params,
  2603  //        func(page *neptune.DescribeDBClusterParametersOutput, lastPage bool) bool {
  2604  //            pageNum++
  2605  //            fmt.Println(page)
  2606  //            return pageNum <= 3
  2607  //        })
  2608  //
  2609  func (c *Neptune) DescribeDBClusterParametersPages(input *DescribeDBClusterParametersInput, fn func(*DescribeDBClusterParametersOutput, bool) bool) error {
  2610  	return c.DescribeDBClusterParametersPagesWithContext(aws.BackgroundContext(), input, fn)
  2611  }
  2612  
  2613  // DescribeDBClusterParametersPagesWithContext same as DescribeDBClusterParametersPages except
  2614  // it takes a Context and allows setting request options on the pages.
  2615  //
  2616  // The context must be non-nil and will be used for request cancellation. If
  2617  // the context is nil a panic will occur. In the future the SDK may create
  2618  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2619  // for more information on using Contexts.
  2620  func (c *Neptune) DescribeDBClusterParametersPagesWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, fn func(*DescribeDBClusterParametersOutput, bool) bool, opts ...request.Option) error {
  2621  	p := request.Pagination{
  2622  		NewRequest: func() (*request.Request, error) {
  2623  			var inCpy *DescribeDBClusterParametersInput
  2624  			if input != nil {
  2625  				tmp := *input
  2626  				inCpy = &tmp
  2627  			}
  2628  			req, _ := c.DescribeDBClusterParametersRequest(inCpy)
  2629  			req.SetContext(ctx)
  2630  			req.ApplyOptions(opts...)
  2631  			return req, nil
  2632  		},
  2633  	}
  2634  
  2635  	for p.Next() {
  2636  		if !fn(p.Page().(*DescribeDBClusterParametersOutput), !p.HasNextPage()) {
  2637  			break
  2638  		}
  2639  	}
  2640  
  2641  	return p.Err()
  2642  }
  2643  
  2644  const opDescribeDBClusterSnapshotAttributes = "DescribeDBClusterSnapshotAttributes"
  2645  
  2646  // DescribeDBClusterSnapshotAttributesRequest generates a "aws/request.Request" representing the
  2647  // client's request for the DescribeDBClusterSnapshotAttributes operation. The "output" return
  2648  // value will be populated with the request's response once the request completes
  2649  // successfully.
  2650  //
  2651  // Use "Send" method on the returned Request to send the API call to the service.
  2652  // the "output" return value is not valid until after Send returns without error.
  2653  //
  2654  // See DescribeDBClusterSnapshotAttributes for more information on using the DescribeDBClusterSnapshotAttributes
  2655  // API call, and error handling.
  2656  //
  2657  // This method is useful when you want to inject custom logic or configuration
  2658  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2659  //
  2660  //
  2661  //    // Example sending a request using the DescribeDBClusterSnapshotAttributesRequest method.
  2662  //    req, resp := client.DescribeDBClusterSnapshotAttributesRequest(params)
  2663  //
  2664  //    err := req.Send()
  2665  //    if err == nil { // resp is now filled
  2666  //        fmt.Println(resp)
  2667  //    }
  2668  //
  2669  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterSnapshotAttributes
  2670  func (c *Neptune) DescribeDBClusterSnapshotAttributesRequest(input *DescribeDBClusterSnapshotAttributesInput) (req *request.Request, output *DescribeDBClusterSnapshotAttributesOutput) {
  2671  	op := &request.Operation{
  2672  		Name:       opDescribeDBClusterSnapshotAttributes,
  2673  		HTTPMethod: "POST",
  2674  		HTTPPath:   "/",
  2675  	}
  2676  
  2677  	if input == nil {
  2678  		input = &DescribeDBClusterSnapshotAttributesInput{}
  2679  	}
  2680  
  2681  	output = &DescribeDBClusterSnapshotAttributesOutput{}
  2682  	req = c.newRequest(op, input, output)
  2683  	return
  2684  }
  2685  
  2686  // DescribeDBClusterSnapshotAttributes API operation for Amazon Neptune.
  2687  //
  2688  // Returns a list of DB cluster snapshot attribute names and values for a manual
  2689  // DB cluster snapshot.
  2690  //
  2691  // When sharing snapshots with other Amazon accounts, DescribeDBClusterSnapshotAttributes
  2692  // returns the restore attribute and a list of IDs for the Amazon accounts that
  2693  // are authorized to copy or restore the manual DB cluster snapshot. If all
  2694  // is included in the list of values for the restore attribute, then the manual
  2695  // DB cluster snapshot is public and can be copied or restored by all Amazon
  2696  // accounts.
  2697  //
  2698  // To add or remove access for an Amazon account to copy or restore a manual
  2699  // DB cluster snapshot, or to make the manual DB cluster snapshot public or
  2700  // private, use the ModifyDBClusterSnapshotAttribute API action.
  2701  //
  2702  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2703  // with awserr.Error's Code and Message methods to get detailed information about
  2704  // the error.
  2705  //
  2706  // See the AWS API reference guide for Amazon Neptune's
  2707  // API operation DescribeDBClusterSnapshotAttributes for usage and error information.
  2708  //
  2709  // Returned Error Codes:
  2710  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
  2711  //   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
  2712  //
  2713  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterSnapshotAttributes
  2714  func (c *Neptune) DescribeDBClusterSnapshotAttributes(input *DescribeDBClusterSnapshotAttributesInput) (*DescribeDBClusterSnapshotAttributesOutput, error) {
  2715  	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
  2716  	return out, req.Send()
  2717  }
  2718  
  2719  // DescribeDBClusterSnapshotAttributesWithContext is the same as DescribeDBClusterSnapshotAttributes with the addition of
  2720  // the ability to pass a context and additional request options.
  2721  //
  2722  // See DescribeDBClusterSnapshotAttributes for details on how to use this API operation.
  2723  //
  2724  // The context must be non-nil and will be used for request cancellation. If
  2725  // the context is nil a panic will occur. In the future the SDK may create
  2726  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2727  // for more information on using Contexts.
  2728  func (c *Neptune) DescribeDBClusterSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotAttributesInput, opts ...request.Option) (*DescribeDBClusterSnapshotAttributesOutput, error) {
  2729  	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
  2730  	req.SetContext(ctx)
  2731  	req.ApplyOptions(opts...)
  2732  	return out, req.Send()
  2733  }
  2734  
  2735  const opDescribeDBClusterSnapshots = "DescribeDBClusterSnapshots"
  2736  
  2737  // DescribeDBClusterSnapshotsRequest generates a "aws/request.Request" representing the
  2738  // client's request for the DescribeDBClusterSnapshots operation. The "output" return
  2739  // value will be populated with the request's response once the request completes
  2740  // successfully.
  2741  //
  2742  // Use "Send" method on the returned Request to send the API call to the service.
  2743  // the "output" return value is not valid until after Send returns without error.
  2744  //
  2745  // See DescribeDBClusterSnapshots for more information on using the DescribeDBClusterSnapshots
  2746  // API call, and error handling.
  2747  //
  2748  // This method is useful when you want to inject custom logic or configuration
  2749  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2750  //
  2751  //
  2752  //    // Example sending a request using the DescribeDBClusterSnapshotsRequest method.
  2753  //    req, resp := client.DescribeDBClusterSnapshotsRequest(params)
  2754  //
  2755  //    err := req.Send()
  2756  //    if err == nil { // resp is now filled
  2757  //        fmt.Println(resp)
  2758  //    }
  2759  //
  2760  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterSnapshots
  2761  func (c *Neptune) DescribeDBClusterSnapshotsRequest(input *DescribeDBClusterSnapshotsInput) (req *request.Request, output *DescribeDBClusterSnapshotsOutput) {
  2762  	op := &request.Operation{
  2763  		Name:       opDescribeDBClusterSnapshots,
  2764  		HTTPMethod: "POST",
  2765  		HTTPPath:   "/",
  2766  		Paginator: &request.Paginator{
  2767  			InputTokens:     []string{"Marker"},
  2768  			OutputTokens:    []string{"Marker"},
  2769  			LimitToken:      "MaxRecords",
  2770  			TruncationToken: "",
  2771  		},
  2772  	}
  2773  
  2774  	if input == nil {
  2775  		input = &DescribeDBClusterSnapshotsInput{}
  2776  	}
  2777  
  2778  	output = &DescribeDBClusterSnapshotsOutput{}
  2779  	req = c.newRequest(op, input, output)
  2780  	return
  2781  }
  2782  
  2783  // DescribeDBClusterSnapshots API operation for Amazon Neptune.
  2784  //
  2785  // Returns information about DB cluster snapshots. This API action supports
  2786  // pagination.
  2787  //
  2788  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2789  // with awserr.Error's Code and Message methods to get detailed information about
  2790  // the error.
  2791  //
  2792  // See the AWS API reference guide for Amazon Neptune's
  2793  // API operation DescribeDBClusterSnapshots for usage and error information.
  2794  //
  2795  // Returned Error Codes:
  2796  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
  2797  //   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
  2798  //
  2799  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterSnapshots
  2800  func (c *Neptune) DescribeDBClusterSnapshots(input *DescribeDBClusterSnapshotsInput) (*DescribeDBClusterSnapshotsOutput, error) {
  2801  	req, out := c.DescribeDBClusterSnapshotsRequest(input)
  2802  	return out, req.Send()
  2803  }
  2804  
  2805  // DescribeDBClusterSnapshotsWithContext is the same as DescribeDBClusterSnapshots with the addition of
  2806  // the ability to pass a context and additional request options.
  2807  //
  2808  // See DescribeDBClusterSnapshots for details on how to use this API operation.
  2809  //
  2810  // The context must be non-nil and will be used for request cancellation. If
  2811  // the context is nil a panic will occur. In the future the SDK may create
  2812  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2813  // for more information on using Contexts.
  2814  func (c *Neptune) DescribeDBClusterSnapshotsWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, opts ...request.Option) (*DescribeDBClusterSnapshotsOutput, error) {
  2815  	req, out := c.DescribeDBClusterSnapshotsRequest(input)
  2816  	req.SetContext(ctx)
  2817  	req.ApplyOptions(opts...)
  2818  	return out, req.Send()
  2819  }
  2820  
  2821  // DescribeDBClusterSnapshotsPages iterates over the pages of a DescribeDBClusterSnapshots operation,
  2822  // calling the "fn" function with the response data for each page. To stop
  2823  // iterating, return false from the fn function.
  2824  //
  2825  // See DescribeDBClusterSnapshots method for more information on how to use this operation.
  2826  //
  2827  // Note: This operation can generate multiple requests to a service.
  2828  //
  2829  //    // Example iterating over at most 3 pages of a DescribeDBClusterSnapshots operation.
  2830  //    pageNum := 0
  2831  //    err := client.DescribeDBClusterSnapshotsPages(params,
  2832  //        func(page *neptune.DescribeDBClusterSnapshotsOutput, lastPage bool) bool {
  2833  //            pageNum++
  2834  //            fmt.Println(page)
  2835  //            return pageNum <= 3
  2836  //        })
  2837  //
  2838  func (c *Neptune) DescribeDBClusterSnapshotsPages(input *DescribeDBClusterSnapshotsInput, fn func(*DescribeDBClusterSnapshotsOutput, bool) bool) error {
  2839  	return c.DescribeDBClusterSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
  2840  }
  2841  
  2842  // DescribeDBClusterSnapshotsPagesWithContext same as DescribeDBClusterSnapshotsPages except
  2843  // it takes a Context and allows setting request options on the pages.
  2844  //
  2845  // The context must be non-nil and will be used for request cancellation. If
  2846  // the context is nil a panic will occur. In the future the SDK may create
  2847  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2848  // for more information on using Contexts.
  2849  func (c *Neptune) DescribeDBClusterSnapshotsPagesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, fn func(*DescribeDBClusterSnapshotsOutput, bool) bool, opts ...request.Option) error {
  2850  	p := request.Pagination{
  2851  		NewRequest: func() (*request.Request, error) {
  2852  			var inCpy *DescribeDBClusterSnapshotsInput
  2853  			if input != nil {
  2854  				tmp := *input
  2855  				inCpy = &tmp
  2856  			}
  2857  			req, _ := c.DescribeDBClusterSnapshotsRequest(inCpy)
  2858  			req.SetContext(ctx)
  2859  			req.ApplyOptions(opts...)
  2860  			return req, nil
  2861  		},
  2862  	}
  2863  
  2864  	for p.Next() {
  2865  		if !fn(p.Page().(*DescribeDBClusterSnapshotsOutput), !p.HasNextPage()) {
  2866  			break
  2867  		}
  2868  	}
  2869  
  2870  	return p.Err()
  2871  }
  2872  
  2873  const opDescribeDBClusters = "DescribeDBClusters"
  2874  
  2875  // DescribeDBClustersRequest generates a "aws/request.Request" representing the
  2876  // client's request for the DescribeDBClusters operation. The "output" return
  2877  // value will be populated with the request's response once the request completes
  2878  // successfully.
  2879  //
  2880  // Use "Send" method on the returned Request to send the API call to the service.
  2881  // the "output" return value is not valid until after Send returns without error.
  2882  //
  2883  // See DescribeDBClusters for more information on using the DescribeDBClusters
  2884  // API call, and error handling.
  2885  //
  2886  // This method is useful when you want to inject custom logic or configuration
  2887  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2888  //
  2889  //
  2890  //    // Example sending a request using the DescribeDBClustersRequest method.
  2891  //    req, resp := client.DescribeDBClustersRequest(params)
  2892  //
  2893  //    err := req.Send()
  2894  //    if err == nil { // resp is now filled
  2895  //        fmt.Println(resp)
  2896  //    }
  2897  //
  2898  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusters
  2899  func (c *Neptune) DescribeDBClustersRequest(input *DescribeDBClustersInput) (req *request.Request, output *DescribeDBClustersOutput) {
  2900  	op := &request.Operation{
  2901  		Name:       opDescribeDBClusters,
  2902  		HTTPMethod: "POST",
  2903  		HTTPPath:   "/",
  2904  		Paginator: &request.Paginator{
  2905  			InputTokens:     []string{"Marker"},
  2906  			OutputTokens:    []string{"Marker"},
  2907  			LimitToken:      "MaxRecords",
  2908  			TruncationToken: "",
  2909  		},
  2910  	}
  2911  
  2912  	if input == nil {
  2913  		input = &DescribeDBClustersInput{}
  2914  	}
  2915  
  2916  	output = &DescribeDBClustersOutput{}
  2917  	req = c.newRequest(op, input, output)
  2918  	return
  2919  }
  2920  
  2921  // DescribeDBClusters API operation for Amazon Neptune.
  2922  //
  2923  // Returns information about provisioned DB clusters, and supports pagination.
  2924  //
  2925  // This operation can also return information for Amazon RDS clusters and Amazon
  2926  // DocDB clusters.
  2927  //
  2928  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2929  // with awserr.Error's Code and Message methods to get detailed information about
  2930  // the error.
  2931  //
  2932  // See the AWS API reference guide for Amazon Neptune's
  2933  // API operation DescribeDBClusters for usage and error information.
  2934  //
  2935  // Returned Error Codes:
  2936  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  2937  //   DBClusterIdentifier does not refer to an existing DB cluster.
  2938  //
  2939  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusters
  2940  func (c *Neptune) DescribeDBClusters(input *DescribeDBClustersInput) (*DescribeDBClustersOutput, error) {
  2941  	req, out := c.DescribeDBClustersRequest(input)
  2942  	return out, req.Send()
  2943  }
  2944  
  2945  // DescribeDBClustersWithContext is the same as DescribeDBClusters with the addition of
  2946  // the ability to pass a context and additional request options.
  2947  //
  2948  // See DescribeDBClusters for details on how to use this API operation.
  2949  //
  2950  // The context must be non-nil and will be used for request cancellation. If
  2951  // the context is nil a panic will occur. In the future the SDK may create
  2952  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2953  // for more information on using Contexts.
  2954  func (c *Neptune) DescribeDBClustersWithContext(ctx aws.Context, input *DescribeDBClustersInput, opts ...request.Option) (*DescribeDBClustersOutput, error) {
  2955  	req, out := c.DescribeDBClustersRequest(input)
  2956  	req.SetContext(ctx)
  2957  	req.ApplyOptions(opts...)
  2958  	return out, req.Send()
  2959  }
  2960  
  2961  // DescribeDBClustersPages iterates over the pages of a DescribeDBClusters operation,
  2962  // calling the "fn" function with the response data for each page. To stop
  2963  // iterating, return false from the fn function.
  2964  //
  2965  // See DescribeDBClusters method for more information on how to use this operation.
  2966  //
  2967  // Note: This operation can generate multiple requests to a service.
  2968  //
  2969  //    // Example iterating over at most 3 pages of a DescribeDBClusters operation.
  2970  //    pageNum := 0
  2971  //    err := client.DescribeDBClustersPages(params,
  2972  //        func(page *neptune.DescribeDBClustersOutput, lastPage bool) bool {
  2973  //            pageNum++
  2974  //            fmt.Println(page)
  2975  //            return pageNum <= 3
  2976  //        })
  2977  //
  2978  func (c *Neptune) DescribeDBClustersPages(input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool) error {
  2979  	return c.DescribeDBClustersPagesWithContext(aws.BackgroundContext(), input, fn)
  2980  }
  2981  
  2982  // DescribeDBClustersPagesWithContext same as DescribeDBClustersPages except
  2983  // it takes a Context and allows setting request options on the pages.
  2984  //
  2985  // The context must be non-nil and will be used for request cancellation. If
  2986  // the context is nil a panic will occur. In the future the SDK may create
  2987  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2988  // for more information on using Contexts.
  2989  func (c *Neptune) DescribeDBClustersPagesWithContext(ctx aws.Context, input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool, opts ...request.Option) error {
  2990  	p := request.Pagination{
  2991  		NewRequest: func() (*request.Request, error) {
  2992  			var inCpy *DescribeDBClustersInput
  2993  			if input != nil {
  2994  				tmp := *input
  2995  				inCpy = &tmp
  2996  			}
  2997  			req, _ := c.DescribeDBClustersRequest(inCpy)
  2998  			req.SetContext(ctx)
  2999  			req.ApplyOptions(opts...)
  3000  			return req, nil
  3001  		},
  3002  	}
  3003  
  3004  	for p.Next() {
  3005  		if !fn(p.Page().(*DescribeDBClustersOutput), !p.HasNextPage()) {
  3006  			break
  3007  		}
  3008  	}
  3009  
  3010  	return p.Err()
  3011  }
  3012  
  3013  const opDescribeDBEngineVersions = "DescribeDBEngineVersions"
  3014  
  3015  // DescribeDBEngineVersionsRequest generates a "aws/request.Request" representing the
  3016  // client's request for the DescribeDBEngineVersions operation. The "output" return
  3017  // value will be populated with the request's response once the request completes
  3018  // successfully.
  3019  //
  3020  // Use "Send" method on the returned Request to send the API call to the service.
  3021  // the "output" return value is not valid until after Send returns without error.
  3022  //
  3023  // See DescribeDBEngineVersions for more information on using the DescribeDBEngineVersions
  3024  // API call, and error handling.
  3025  //
  3026  // This method is useful when you want to inject custom logic or configuration
  3027  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3028  //
  3029  //
  3030  //    // Example sending a request using the DescribeDBEngineVersionsRequest method.
  3031  //    req, resp := client.DescribeDBEngineVersionsRequest(params)
  3032  //
  3033  //    err := req.Send()
  3034  //    if err == nil { // resp is now filled
  3035  //        fmt.Println(resp)
  3036  //    }
  3037  //
  3038  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBEngineVersions
  3039  func (c *Neptune) DescribeDBEngineVersionsRequest(input *DescribeDBEngineVersionsInput) (req *request.Request, output *DescribeDBEngineVersionsOutput) {
  3040  	op := &request.Operation{
  3041  		Name:       opDescribeDBEngineVersions,
  3042  		HTTPMethod: "POST",
  3043  		HTTPPath:   "/",
  3044  		Paginator: &request.Paginator{
  3045  			InputTokens:     []string{"Marker"},
  3046  			OutputTokens:    []string{"Marker"},
  3047  			LimitToken:      "MaxRecords",
  3048  			TruncationToken: "",
  3049  		},
  3050  	}
  3051  
  3052  	if input == nil {
  3053  		input = &DescribeDBEngineVersionsInput{}
  3054  	}
  3055  
  3056  	output = &DescribeDBEngineVersionsOutput{}
  3057  	req = c.newRequest(op, input, output)
  3058  	return
  3059  }
  3060  
  3061  // DescribeDBEngineVersions API operation for Amazon Neptune.
  3062  //
  3063  // Returns a list of the available DB engines.
  3064  //
  3065  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3066  // with awserr.Error's Code and Message methods to get detailed information about
  3067  // the error.
  3068  //
  3069  // See the AWS API reference guide for Amazon Neptune's
  3070  // API operation DescribeDBEngineVersions for usage and error information.
  3071  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBEngineVersions
  3072  func (c *Neptune) DescribeDBEngineVersions(input *DescribeDBEngineVersionsInput) (*DescribeDBEngineVersionsOutput, error) {
  3073  	req, out := c.DescribeDBEngineVersionsRequest(input)
  3074  	return out, req.Send()
  3075  }
  3076  
  3077  // DescribeDBEngineVersionsWithContext is the same as DescribeDBEngineVersions with the addition of
  3078  // the ability to pass a context and additional request options.
  3079  //
  3080  // See DescribeDBEngineVersions for details on how to use this API operation.
  3081  //
  3082  // The context must be non-nil and will be used for request cancellation. If
  3083  // the context is nil a panic will occur. In the future the SDK may create
  3084  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3085  // for more information on using Contexts.
  3086  func (c *Neptune) DescribeDBEngineVersionsWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, opts ...request.Option) (*DescribeDBEngineVersionsOutput, error) {
  3087  	req, out := c.DescribeDBEngineVersionsRequest(input)
  3088  	req.SetContext(ctx)
  3089  	req.ApplyOptions(opts...)
  3090  	return out, req.Send()
  3091  }
  3092  
  3093  // DescribeDBEngineVersionsPages iterates over the pages of a DescribeDBEngineVersions operation,
  3094  // calling the "fn" function with the response data for each page. To stop
  3095  // iterating, return false from the fn function.
  3096  //
  3097  // See DescribeDBEngineVersions method for more information on how to use this operation.
  3098  //
  3099  // Note: This operation can generate multiple requests to a service.
  3100  //
  3101  //    // Example iterating over at most 3 pages of a DescribeDBEngineVersions operation.
  3102  //    pageNum := 0
  3103  //    err := client.DescribeDBEngineVersionsPages(params,
  3104  //        func(page *neptune.DescribeDBEngineVersionsOutput, lastPage bool) bool {
  3105  //            pageNum++
  3106  //            fmt.Println(page)
  3107  //            return pageNum <= 3
  3108  //        })
  3109  //
  3110  func (c *Neptune) DescribeDBEngineVersionsPages(input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool) error {
  3111  	return c.DescribeDBEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
  3112  }
  3113  
  3114  // DescribeDBEngineVersionsPagesWithContext same as DescribeDBEngineVersionsPages except
  3115  // it takes a Context and allows setting request options on the pages.
  3116  //
  3117  // The context must be non-nil and will be used for request cancellation. If
  3118  // the context is nil a panic will occur. In the future the SDK may create
  3119  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3120  // for more information on using Contexts.
  3121  func (c *Neptune) DescribeDBEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool, opts ...request.Option) error {
  3122  	p := request.Pagination{
  3123  		NewRequest: func() (*request.Request, error) {
  3124  			var inCpy *DescribeDBEngineVersionsInput
  3125  			if input != nil {
  3126  				tmp := *input
  3127  				inCpy = &tmp
  3128  			}
  3129  			req, _ := c.DescribeDBEngineVersionsRequest(inCpy)
  3130  			req.SetContext(ctx)
  3131  			req.ApplyOptions(opts...)
  3132  			return req, nil
  3133  		},
  3134  	}
  3135  
  3136  	for p.Next() {
  3137  		if !fn(p.Page().(*DescribeDBEngineVersionsOutput), !p.HasNextPage()) {
  3138  			break
  3139  		}
  3140  	}
  3141  
  3142  	return p.Err()
  3143  }
  3144  
  3145  const opDescribeDBInstances = "DescribeDBInstances"
  3146  
  3147  // DescribeDBInstancesRequest generates a "aws/request.Request" representing the
  3148  // client's request for the DescribeDBInstances operation. The "output" return
  3149  // value will be populated with the request's response once the request completes
  3150  // successfully.
  3151  //
  3152  // Use "Send" method on the returned Request to send the API call to the service.
  3153  // the "output" return value is not valid until after Send returns without error.
  3154  //
  3155  // See DescribeDBInstances for more information on using the DescribeDBInstances
  3156  // API call, and error handling.
  3157  //
  3158  // This method is useful when you want to inject custom logic or configuration
  3159  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3160  //
  3161  //
  3162  //    // Example sending a request using the DescribeDBInstancesRequest method.
  3163  //    req, resp := client.DescribeDBInstancesRequest(params)
  3164  //
  3165  //    err := req.Send()
  3166  //    if err == nil { // resp is now filled
  3167  //        fmt.Println(resp)
  3168  //    }
  3169  //
  3170  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBInstances
  3171  func (c *Neptune) DescribeDBInstancesRequest(input *DescribeDBInstancesInput) (req *request.Request, output *DescribeDBInstancesOutput) {
  3172  	op := &request.Operation{
  3173  		Name:       opDescribeDBInstances,
  3174  		HTTPMethod: "POST",
  3175  		HTTPPath:   "/",
  3176  		Paginator: &request.Paginator{
  3177  			InputTokens:     []string{"Marker"},
  3178  			OutputTokens:    []string{"Marker"},
  3179  			LimitToken:      "MaxRecords",
  3180  			TruncationToken: "",
  3181  		},
  3182  	}
  3183  
  3184  	if input == nil {
  3185  		input = &DescribeDBInstancesInput{}
  3186  	}
  3187  
  3188  	output = &DescribeDBInstancesOutput{}
  3189  	req = c.newRequest(op, input, output)
  3190  	return
  3191  }
  3192  
  3193  // DescribeDBInstances API operation for Amazon Neptune.
  3194  //
  3195  // Returns information about provisioned instances, and supports pagination.
  3196  //
  3197  // This operation can also return information for Amazon RDS instances and Amazon
  3198  // DocDB instances.
  3199  //
  3200  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3201  // with awserr.Error's Code and Message methods to get detailed information about
  3202  // the error.
  3203  //
  3204  // See the AWS API reference guide for Amazon Neptune's
  3205  // API operation DescribeDBInstances for usage and error information.
  3206  //
  3207  // Returned Error Codes:
  3208  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  3209  //   DBInstanceIdentifier does not refer to an existing DB instance.
  3210  //
  3211  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBInstances
  3212  func (c *Neptune) DescribeDBInstances(input *DescribeDBInstancesInput) (*DescribeDBInstancesOutput, error) {
  3213  	req, out := c.DescribeDBInstancesRequest(input)
  3214  	return out, req.Send()
  3215  }
  3216  
  3217  // DescribeDBInstancesWithContext is the same as DescribeDBInstances with the addition of
  3218  // the ability to pass a context and additional request options.
  3219  //
  3220  // See DescribeDBInstances for details on how to use this API operation.
  3221  //
  3222  // The context must be non-nil and will be used for request cancellation. If
  3223  // the context is nil a panic will occur. In the future the SDK may create
  3224  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3225  // for more information on using Contexts.
  3226  func (c *Neptune) DescribeDBInstancesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.Option) (*DescribeDBInstancesOutput, error) {
  3227  	req, out := c.DescribeDBInstancesRequest(input)
  3228  	req.SetContext(ctx)
  3229  	req.ApplyOptions(opts...)
  3230  	return out, req.Send()
  3231  }
  3232  
  3233  // DescribeDBInstancesPages iterates over the pages of a DescribeDBInstances operation,
  3234  // calling the "fn" function with the response data for each page. To stop
  3235  // iterating, return false from the fn function.
  3236  //
  3237  // See DescribeDBInstances method for more information on how to use this operation.
  3238  //
  3239  // Note: This operation can generate multiple requests to a service.
  3240  //
  3241  //    // Example iterating over at most 3 pages of a DescribeDBInstances operation.
  3242  //    pageNum := 0
  3243  //    err := client.DescribeDBInstancesPages(params,
  3244  //        func(page *neptune.DescribeDBInstancesOutput, lastPage bool) bool {
  3245  //            pageNum++
  3246  //            fmt.Println(page)
  3247  //            return pageNum <= 3
  3248  //        })
  3249  //
  3250  func (c *Neptune) DescribeDBInstancesPages(input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool) error {
  3251  	return c.DescribeDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  3252  }
  3253  
  3254  // DescribeDBInstancesPagesWithContext same as DescribeDBInstancesPages except
  3255  // it takes a Context and allows setting request options on the pages.
  3256  //
  3257  // The context must be non-nil and will be used for request cancellation. If
  3258  // the context is nil a panic will occur. In the future the SDK may create
  3259  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3260  // for more information on using Contexts.
  3261  func (c *Neptune) DescribeDBInstancesPagesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool, opts ...request.Option) error {
  3262  	p := request.Pagination{
  3263  		NewRequest: func() (*request.Request, error) {
  3264  			var inCpy *DescribeDBInstancesInput
  3265  			if input != nil {
  3266  				tmp := *input
  3267  				inCpy = &tmp
  3268  			}
  3269  			req, _ := c.DescribeDBInstancesRequest(inCpy)
  3270  			req.SetContext(ctx)
  3271  			req.ApplyOptions(opts...)
  3272  			return req, nil
  3273  		},
  3274  	}
  3275  
  3276  	for p.Next() {
  3277  		if !fn(p.Page().(*DescribeDBInstancesOutput), !p.HasNextPage()) {
  3278  			break
  3279  		}
  3280  	}
  3281  
  3282  	return p.Err()
  3283  }
  3284  
  3285  const opDescribeDBParameterGroups = "DescribeDBParameterGroups"
  3286  
  3287  // DescribeDBParameterGroupsRequest generates a "aws/request.Request" representing the
  3288  // client's request for the DescribeDBParameterGroups operation. The "output" return
  3289  // value will be populated with the request's response once the request completes
  3290  // successfully.
  3291  //
  3292  // Use "Send" method on the returned Request to send the API call to the service.
  3293  // the "output" return value is not valid until after Send returns without error.
  3294  //
  3295  // See DescribeDBParameterGroups for more information on using the DescribeDBParameterGroups
  3296  // API call, and error handling.
  3297  //
  3298  // This method is useful when you want to inject custom logic or configuration
  3299  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3300  //
  3301  //
  3302  //    // Example sending a request using the DescribeDBParameterGroupsRequest method.
  3303  //    req, resp := client.DescribeDBParameterGroupsRequest(params)
  3304  //
  3305  //    err := req.Send()
  3306  //    if err == nil { // resp is now filled
  3307  //        fmt.Println(resp)
  3308  //    }
  3309  //
  3310  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBParameterGroups
  3311  func (c *Neptune) DescribeDBParameterGroupsRequest(input *DescribeDBParameterGroupsInput) (req *request.Request, output *DescribeDBParameterGroupsOutput) {
  3312  	op := &request.Operation{
  3313  		Name:       opDescribeDBParameterGroups,
  3314  		HTTPMethod: "POST",
  3315  		HTTPPath:   "/",
  3316  		Paginator: &request.Paginator{
  3317  			InputTokens:     []string{"Marker"},
  3318  			OutputTokens:    []string{"Marker"},
  3319  			LimitToken:      "MaxRecords",
  3320  			TruncationToken: "",
  3321  		},
  3322  	}
  3323  
  3324  	if input == nil {
  3325  		input = &DescribeDBParameterGroupsInput{}
  3326  	}
  3327  
  3328  	output = &DescribeDBParameterGroupsOutput{}
  3329  	req = c.newRequest(op, input, output)
  3330  	return
  3331  }
  3332  
  3333  // DescribeDBParameterGroups API operation for Amazon Neptune.
  3334  //
  3335  // Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName
  3336  // is specified, the list will contain only the description of the specified
  3337  // DB parameter group.
  3338  //
  3339  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3340  // with awserr.Error's Code and Message methods to get detailed information about
  3341  // the error.
  3342  //
  3343  // See the AWS API reference guide for Amazon Neptune's
  3344  // API operation DescribeDBParameterGroups for usage and error information.
  3345  //
  3346  // Returned Error Codes:
  3347  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  3348  //   DBParameterGroupName does not refer to an existing DB parameter group.
  3349  //
  3350  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBParameterGroups
  3351  func (c *Neptune) DescribeDBParameterGroups(input *DescribeDBParameterGroupsInput) (*DescribeDBParameterGroupsOutput, error) {
  3352  	req, out := c.DescribeDBParameterGroupsRequest(input)
  3353  	return out, req.Send()
  3354  }
  3355  
  3356  // DescribeDBParameterGroupsWithContext is the same as DescribeDBParameterGroups with the addition of
  3357  // the ability to pass a context and additional request options.
  3358  //
  3359  // See DescribeDBParameterGroups for details on how to use this API operation.
  3360  //
  3361  // The context must be non-nil and will be used for request cancellation. If
  3362  // the context is nil a panic will occur. In the future the SDK may create
  3363  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3364  // for more information on using Contexts.
  3365  func (c *Neptune) DescribeDBParameterGroupsWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, opts ...request.Option) (*DescribeDBParameterGroupsOutput, error) {
  3366  	req, out := c.DescribeDBParameterGroupsRequest(input)
  3367  	req.SetContext(ctx)
  3368  	req.ApplyOptions(opts...)
  3369  	return out, req.Send()
  3370  }
  3371  
  3372  // DescribeDBParameterGroupsPages iterates over the pages of a DescribeDBParameterGroups operation,
  3373  // calling the "fn" function with the response data for each page. To stop
  3374  // iterating, return false from the fn function.
  3375  //
  3376  // See DescribeDBParameterGroups method for more information on how to use this operation.
  3377  //
  3378  // Note: This operation can generate multiple requests to a service.
  3379  //
  3380  //    // Example iterating over at most 3 pages of a DescribeDBParameterGroups operation.
  3381  //    pageNum := 0
  3382  //    err := client.DescribeDBParameterGroupsPages(params,
  3383  //        func(page *neptune.DescribeDBParameterGroupsOutput, lastPage bool) bool {
  3384  //            pageNum++
  3385  //            fmt.Println(page)
  3386  //            return pageNum <= 3
  3387  //        })
  3388  //
  3389  func (c *Neptune) DescribeDBParameterGroupsPages(input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool) error {
  3390  	return c.DescribeDBParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  3391  }
  3392  
  3393  // DescribeDBParameterGroupsPagesWithContext same as DescribeDBParameterGroupsPages except
  3394  // it takes a Context and allows setting request options on the pages.
  3395  //
  3396  // The context must be non-nil and will be used for request cancellation. If
  3397  // the context is nil a panic will occur. In the future the SDK may create
  3398  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3399  // for more information on using Contexts.
  3400  func (c *Neptune) DescribeDBParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool, opts ...request.Option) error {
  3401  	p := request.Pagination{
  3402  		NewRequest: func() (*request.Request, error) {
  3403  			var inCpy *DescribeDBParameterGroupsInput
  3404  			if input != nil {
  3405  				tmp := *input
  3406  				inCpy = &tmp
  3407  			}
  3408  			req, _ := c.DescribeDBParameterGroupsRequest(inCpy)
  3409  			req.SetContext(ctx)
  3410  			req.ApplyOptions(opts...)
  3411  			return req, nil
  3412  		},
  3413  	}
  3414  
  3415  	for p.Next() {
  3416  		if !fn(p.Page().(*DescribeDBParameterGroupsOutput), !p.HasNextPage()) {
  3417  			break
  3418  		}
  3419  	}
  3420  
  3421  	return p.Err()
  3422  }
  3423  
  3424  const opDescribeDBParameters = "DescribeDBParameters"
  3425  
  3426  // DescribeDBParametersRequest generates a "aws/request.Request" representing the
  3427  // client's request for the DescribeDBParameters operation. The "output" return
  3428  // value will be populated with the request's response once the request completes
  3429  // successfully.
  3430  //
  3431  // Use "Send" method on the returned Request to send the API call to the service.
  3432  // the "output" return value is not valid until after Send returns without error.
  3433  //
  3434  // See DescribeDBParameters for more information on using the DescribeDBParameters
  3435  // API call, and error handling.
  3436  //
  3437  // This method is useful when you want to inject custom logic or configuration
  3438  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3439  //
  3440  //
  3441  //    // Example sending a request using the DescribeDBParametersRequest method.
  3442  //    req, resp := client.DescribeDBParametersRequest(params)
  3443  //
  3444  //    err := req.Send()
  3445  //    if err == nil { // resp is now filled
  3446  //        fmt.Println(resp)
  3447  //    }
  3448  //
  3449  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBParameters
  3450  func (c *Neptune) DescribeDBParametersRequest(input *DescribeDBParametersInput) (req *request.Request, output *DescribeDBParametersOutput) {
  3451  	op := &request.Operation{
  3452  		Name:       opDescribeDBParameters,
  3453  		HTTPMethod: "POST",
  3454  		HTTPPath:   "/",
  3455  		Paginator: &request.Paginator{
  3456  			InputTokens:     []string{"Marker"},
  3457  			OutputTokens:    []string{"Marker"},
  3458  			LimitToken:      "MaxRecords",
  3459  			TruncationToken: "",
  3460  		},
  3461  	}
  3462  
  3463  	if input == nil {
  3464  		input = &DescribeDBParametersInput{}
  3465  	}
  3466  
  3467  	output = &DescribeDBParametersOutput{}
  3468  	req = c.newRequest(op, input, output)
  3469  	return
  3470  }
  3471  
  3472  // DescribeDBParameters API operation for Amazon Neptune.
  3473  //
  3474  // Returns the detailed parameter list for a particular DB parameter group.
  3475  //
  3476  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3477  // with awserr.Error's Code and Message methods to get detailed information about
  3478  // the error.
  3479  //
  3480  // See the AWS API reference guide for Amazon Neptune's
  3481  // API operation DescribeDBParameters for usage and error information.
  3482  //
  3483  // Returned Error Codes:
  3484  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  3485  //   DBParameterGroupName does not refer to an existing DB parameter group.
  3486  //
  3487  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBParameters
  3488  func (c *Neptune) DescribeDBParameters(input *DescribeDBParametersInput) (*DescribeDBParametersOutput, error) {
  3489  	req, out := c.DescribeDBParametersRequest(input)
  3490  	return out, req.Send()
  3491  }
  3492  
  3493  // DescribeDBParametersWithContext is the same as DescribeDBParameters with the addition of
  3494  // the ability to pass a context and additional request options.
  3495  //
  3496  // See DescribeDBParameters for details on how to use this API operation.
  3497  //
  3498  // The context must be non-nil and will be used for request cancellation. If
  3499  // the context is nil a panic will occur. In the future the SDK may create
  3500  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3501  // for more information on using Contexts.
  3502  func (c *Neptune) DescribeDBParametersWithContext(ctx aws.Context, input *DescribeDBParametersInput, opts ...request.Option) (*DescribeDBParametersOutput, error) {
  3503  	req, out := c.DescribeDBParametersRequest(input)
  3504  	req.SetContext(ctx)
  3505  	req.ApplyOptions(opts...)
  3506  	return out, req.Send()
  3507  }
  3508  
  3509  // DescribeDBParametersPages iterates over the pages of a DescribeDBParameters operation,
  3510  // calling the "fn" function with the response data for each page. To stop
  3511  // iterating, return false from the fn function.
  3512  //
  3513  // See DescribeDBParameters method for more information on how to use this operation.
  3514  //
  3515  // Note: This operation can generate multiple requests to a service.
  3516  //
  3517  //    // Example iterating over at most 3 pages of a DescribeDBParameters operation.
  3518  //    pageNum := 0
  3519  //    err := client.DescribeDBParametersPages(params,
  3520  //        func(page *neptune.DescribeDBParametersOutput, lastPage bool) bool {
  3521  //            pageNum++
  3522  //            fmt.Println(page)
  3523  //            return pageNum <= 3
  3524  //        })
  3525  //
  3526  func (c *Neptune) DescribeDBParametersPages(input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool) error {
  3527  	return c.DescribeDBParametersPagesWithContext(aws.BackgroundContext(), input, fn)
  3528  }
  3529  
  3530  // DescribeDBParametersPagesWithContext same as DescribeDBParametersPages except
  3531  // it takes a Context and allows setting request options on the pages.
  3532  //
  3533  // The context must be non-nil and will be used for request cancellation. If
  3534  // the context is nil a panic will occur. In the future the SDK may create
  3535  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3536  // for more information on using Contexts.
  3537  func (c *Neptune) DescribeDBParametersPagesWithContext(ctx aws.Context, input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool, opts ...request.Option) error {
  3538  	p := request.Pagination{
  3539  		NewRequest: func() (*request.Request, error) {
  3540  			var inCpy *DescribeDBParametersInput
  3541  			if input != nil {
  3542  				tmp := *input
  3543  				inCpy = &tmp
  3544  			}
  3545  			req, _ := c.DescribeDBParametersRequest(inCpy)
  3546  			req.SetContext(ctx)
  3547  			req.ApplyOptions(opts...)
  3548  			return req, nil
  3549  		},
  3550  	}
  3551  
  3552  	for p.Next() {
  3553  		if !fn(p.Page().(*DescribeDBParametersOutput), !p.HasNextPage()) {
  3554  			break
  3555  		}
  3556  	}
  3557  
  3558  	return p.Err()
  3559  }
  3560  
  3561  const opDescribeDBSubnetGroups = "DescribeDBSubnetGroups"
  3562  
  3563  // DescribeDBSubnetGroupsRequest generates a "aws/request.Request" representing the
  3564  // client's request for the DescribeDBSubnetGroups operation. The "output" return
  3565  // value will be populated with the request's response once the request completes
  3566  // successfully.
  3567  //
  3568  // Use "Send" method on the returned Request to send the API call to the service.
  3569  // the "output" return value is not valid until after Send returns without error.
  3570  //
  3571  // See DescribeDBSubnetGroups for more information on using the DescribeDBSubnetGroups
  3572  // API call, and error handling.
  3573  //
  3574  // This method is useful when you want to inject custom logic or configuration
  3575  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3576  //
  3577  //
  3578  //    // Example sending a request using the DescribeDBSubnetGroupsRequest method.
  3579  //    req, resp := client.DescribeDBSubnetGroupsRequest(params)
  3580  //
  3581  //    err := req.Send()
  3582  //    if err == nil { // resp is now filled
  3583  //        fmt.Println(resp)
  3584  //    }
  3585  //
  3586  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBSubnetGroups
  3587  func (c *Neptune) DescribeDBSubnetGroupsRequest(input *DescribeDBSubnetGroupsInput) (req *request.Request, output *DescribeDBSubnetGroupsOutput) {
  3588  	op := &request.Operation{
  3589  		Name:       opDescribeDBSubnetGroups,
  3590  		HTTPMethod: "POST",
  3591  		HTTPPath:   "/",
  3592  		Paginator: &request.Paginator{
  3593  			InputTokens:     []string{"Marker"},
  3594  			OutputTokens:    []string{"Marker"},
  3595  			LimitToken:      "MaxRecords",
  3596  			TruncationToken: "",
  3597  		},
  3598  	}
  3599  
  3600  	if input == nil {
  3601  		input = &DescribeDBSubnetGroupsInput{}
  3602  	}
  3603  
  3604  	output = &DescribeDBSubnetGroupsOutput{}
  3605  	req = c.newRequest(op, input, output)
  3606  	return
  3607  }
  3608  
  3609  // DescribeDBSubnetGroups API operation for Amazon Neptune.
  3610  //
  3611  // Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified,
  3612  // the list will contain only the descriptions of the specified DBSubnetGroup.
  3613  //
  3614  // For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
  3615  //
  3616  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3617  // with awserr.Error's Code and Message methods to get detailed information about
  3618  // the error.
  3619  //
  3620  // See the AWS API reference guide for Amazon Neptune's
  3621  // API operation DescribeDBSubnetGroups for usage and error information.
  3622  //
  3623  // Returned Error Codes:
  3624  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  3625  //   DBSubnetGroupName does not refer to an existing DB subnet group.
  3626  //
  3627  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBSubnetGroups
  3628  func (c *Neptune) DescribeDBSubnetGroups(input *DescribeDBSubnetGroupsInput) (*DescribeDBSubnetGroupsOutput, error) {
  3629  	req, out := c.DescribeDBSubnetGroupsRequest(input)
  3630  	return out, req.Send()
  3631  }
  3632  
  3633  // DescribeDBSubnetGroupsWithContext is the same as DescribeDBSubnetGroups with the addition of
  3634  // the ability to pass a context and additional request options.
  3635  //
  3636  // See DescribeDBSubnetGroups for details on how to use this API operation.
  3637  //
  3638  // The context must be non-nil and will be used for request cancellation. If
  3639  // the context is nil a panic will occur. In the future the SDK may create
  3640  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3641  // for more information on using Contexts.
  3642  func (c *Neptune) DescribeDBSubnetGroupsWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, opts ...request.Option) (*DescribeDBSubnetGroupsOutput, error) {
  3643  	req, out := c.DescribeDBSubnetGroupsRequest(input)
  3644  	req.SetContext(ctx)
  3645  	req.ApplyOptions(opts...)
  3646  	return out, req.Send()
  3647  }
  3648  
  3649  // DescribeDBSubnetGroupsPages iterates over the pages of a DescribeDBSubnetGroups operation,
  3650  // calling the "fn" function with the response data for each page. To stop
  3651  // iterating, return false from the fn function.
  3652  //
  3653  // See DescribeDBSubnetGroups method for more information on how to use this operation.
  3654  //
  3655  // Note: This operation can generate multiple requests to a service.
  3656  //
  3657  //    // Example iterating over at most 3 pages of a DescribeDBSubnetGroups operation.
  3658  //    pageNum := 0
  3659  //    err := client.DescribeDBSubnetGroupsPages(params,
  3660  //        func(page *neptune.DescribeDBSubnetGroupsOutput, lastPage bool) bool {
  3661  //            pageNum++
  3662  //            fmt.Println(page)
  3663  //            return pageNum <= 3
  3664  //        })
  3665  //
  3666  func (c *Neptune) DescribeDBSubnetGroupsPages(input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool) error {
  3667  	return c.DescribeDBSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  3668  }
  3669  
  3670  // DescribeDBSubnetGroupsPagesWithContext same as DescribeDBSubnetGroupsPages except
  3671  // it takes a Context and allows setting request options on the pages.
  3672  //
  3673  // The context must be non-nil and will be used for request cancellation. If
  3674  // the context is nil a panic will occur. In the future the SDK may create
  3675  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3676  // for more information on using Contexts.
  3677  func (c *Neptune) DescribeDBSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool, opts ...request.Option) error {
  3678  	p := request.Pagination{
  3679  		NewRequest: func() (*request.Request, error) {
  3680  			var inCpy *DescribeDBSubnetGroupsInput
  3681  			if input != nil {
  3682  				tmp := *input
  3683  				inCpy = &tmp
  3684  			}
  3685  			req, _ := c.DescribeDBSubnetGroupsRequest(inCpy)
  3686  			req.SetContext(ctx)
  3687  			req.ApplyOptions(opts...)
  3688  			return req, nil
  3689  		},
  3690  	}
  3691  
  3692  	for p.Next() {
  3693  		if !fn(p.Page().(*DescribeDBSubnetGroupsOutput), !p.HasNextPage()) {
  3694  			break
  3695  		}
  3696  	}
  3697  
  3698  	return p.Err()
  3699  }
  3700  
  3701  const opDescribeEngineDefaultClusterParameters = "DescribeEngineDefaultClusterParameters"
  3702  
  3703  // DescribeEngineDefaultClusterParametersRequest generates a "aws/request.Request" representing the
  3704  // client's request for the DescribeEngineDefaultClusterParameters operation. The "output" return
  3705  // value will be populated with the request's response once the request completes
  3706  // successfully.
  3707  //
  3708  // Use "Send" method on the returned Request to send the API call to the service.
  3709  // the "output" return value is not valid until after Send returns without error.
  3710  //
  3711  // See DescribeEngineDefaultClusterParameters for more information on using the DescribeEngineDefaultClusterParameters
  3712  // API call, and error handling.
  3713  //
  3714  // This method is useful when you want to inject custom logic or configuration
  3715  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3716  //
  3717  //
  3718  //    // Example sending a request using the DescribeEngineDefaultClusterParametersRequest method.
  3719  //    req, resp := client.DescribeEngineDefaultClusterParametersRequest(params)
  3720  //
  3721  //    err := req.Send()
  3722  //    if err == nil { // resp is now filled
  3723  //        fmt.Println(resp)
  3724  //    }
  3725  //
  3726  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEngineDefaultClusterParameters
  3727  func (c *Neptune) DescribeEngineDefaultClusterParametersRequest(input *DescribeEngineDefaultClusterParametersInput) (req *request.Request, output *DescribeEngineDefaultClusterParametersOutput) {
  3728  	op := &request.Operation{
  3729  		Name:       opDescribeEngineDefaultClusterParameters,
  3730  		HTTPMethod: "POST",
  3731  		HTTPPath:   "/",
  3732  	}
  3733  
  3734  	if input == nil {
  3735  		input = &DescribeEngineDefaultClusterParametersInput{}
  3736  	}
  3737  
  3738  	output = &DescribeEngineDefaultClusterParametersOutput{}
  3739  	req = c.newRequest(op, input, output)
  3740  	return
  3741  }
  3742  
  3743  // DescribeEngineDefaultClusterParameters API operation for Amazon Neptune.
  3744  //
  3745  // Returns the default engine and system parameter information for the cluster
  3746  // database engine.
  3747  //
  3748  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3749  // with awserr.Error's Code and Message methods to get detailed information about
  3750  // the error.
  3751  //
  3752  // See the AWS API reference guide for Amazon Neptune's
  3753  // API operation DescribeEngineDefaultClusterParameters for usage and error information.
  3754  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEngineDefaultClusterParameters
  3755  func (c *Neptune) DescribeEngineDefaultClusterParameters(input *DescribeEngineDefaultClusterParametersInput) (*DescribeEngineDefaultClusterParametersOutput, error) {
  3756  	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
  3757  	return out, req.Send()
  3758  }
  3759  
  3760  // DescribeEngineDefaultClusterParametersWithContext is the same as DescribeEngineDefaultClusterParameters with the addition of
  3761  // the ability to pass a context and additional request options.
  3762  //
  3763  // See DescribeEngineDefaultClusterParameters for details on how to use this API operation.
  3764  //
  3765  // The context must be non-nil and will be used for request cancellation. If
  3766  // the context is nil a panic will occur. In the future the SDK may create
  3767  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3768  // for more information on using Contexts.
  3769  func (c *Neptune) DescribeEngineDefaultClusterParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultClusterParametersInput, opts ...request.Option) (*DescribeEngineDefaultClusterParametersOutput, error) {
  3770  	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
  3771  	req.SetContext(ctx)
  3772  	req.ApplyOptions(opts...)
  3773  	return out, req.Send()
  3774  }
  3775  
  3776  const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters"
  3777  
  3778  // DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the
  3779  // client's request for the DescribeEngineDefaultParameters operation. The "output" return
  3780  // value will be populated with the request's response once the request completes
  3781  // successfully.
  3782  //
  3783  // Use "Send" method on the returned Request to send the API call to the service.
  3784  // the "output" return value is not valid until after Send returns without error.
  3785  //
  3786  // See DescribeEngineDefaultParameters for more information on using the DescribeEngineDefaultParameters
  3787  // API call, and error handling.
  3788  //
  3789  // This method is useful when you want to inject custom logic or configuration
  3790  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3791  //
  3792  //
  3793  //    // Example sending a request using the DescribeEngineDefaultParametersRequest method.
  3794  //    req, resp := client.DescribeEngineDefaultParametersRequest(params)
  3795  //
  3796  //    err := req.Send()
  3797  //    if err == nil { // resp is now filled
  3798  //        fmt.Println(resp)
  3799  //    }
  3800  //
  3801  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEngineDefaultParameters
  3802  func (c *Neptune) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) {
  3803  	op := &request.Operation{
  3804  		Name:       opDescribeEngineDefaultParameters,
  3805  		HTTPMethod: "POST",
  3806  		HTTPPath:   "/",
  3807  		Paginator: &request.Paginator{
  3808  			InputTokens:     []string{"Marker"},
  3809  			OutputTokens:    []string{"EngineDefaults.Marker"},
  3810  			LimitToken:      "MaxRecords",
  3811  			TruncationToken: "",
  3812  		},
  3813  	}
  3814  
  3815  	if input == nil {
  3816  		input = &DescribeEngineDefaultParametersInput{}
  3817  	}
  3818  
  3819  	output = &DescribeEngineDefaultParametersOutput{}
  3820  	req = c.newRequest(op, input, output)
  3821  	return
  3822  }
  3823  
  3824  // DescribeEngineDefaultParameters API operation for Amazon Neptune.
  3825  //
  3826  // Returns the default engine and system parameter information for the specified
  3827  // database engine.
  3828  //
  3829  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3830  // with awserr.Error's Code and Message methods to get detailed information about
  3831  // the error.
  3832  //
  3833  // See the AWS API reference guide for Amazon Neptune's
  3834  // API operation DescribeEngineDefaultParameters for usage and error information.
  3835  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEngineDefaultParameters
  3836  func (c *Neptune) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) {
  3837  	req, out := c.DescribeEngineDefaultParametersRequest(input)
  3838  	return out, req.Send()
  3839  }
  3840  
  3841  // DescribeEngineDefaultParametersWithContext is the same as DescribeEngineDefaultParameters with the addition of
  3842  // the ability to pass a context and additional request options.
  3843  //
  3844  // See DescribeEngineDefaultParameters for details on how to use this API operation.
  3845  //
  3846  // The context must be non-nil and will be used for request cancellation. If
  3847  // the context is nil a panic will occur. In the future the SDK may create
  3848  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3849  // for more information on using Contexts.
  3850  func (c *Neptune) DescribeEngineDefaultParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, opts ...request.Option) (*DescribeEngineDefaultParametersOutput, error) {
  3851  	req, out := c.DescribeEngineDefaultParametersRequest(input)
  3852  	req.SetContext(ctx)
  3853  	req.ApplyOptions(opts...)
  3854  	return out, req.Send()
  3855  }
  3856  
  3857  // DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation,
  3858  // calling the "fn" function with the response data for each page. To stop
  3859  // iterating, return false from the fn function.
  3860  //
  3861  // See DescribeEngineDefaultParameters method for more information on how to use this operation.
  3862  //
  3863  // Note: This operation can generate multiple requests to a service.
  3864  //
  3865  //    // Example iterating over at most 3 pages of a DescribeEngineDefaultParameters operation.
  3866  //    pageNum := 0
  3867  //    err := client.DescribeEngineDefaultParametersPages(params,
  3868  //        func(page *neptune.DescribeEngineDefaultParametersOutput, lastPage bool) bool {
  3869  //            pageNum++
  3870  //            fmt.Println(page)
  3871  //            return pageNum <= 3
  3872  //        })
  3873  //
  3874  func (c *Neptune) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool) error {
  3875  	return c.DescribeEngineDefaultParametersPagesWithContext(aws.BackgroundContext(), input, fn)
  3876  }
  3877  
  3878  // DescribeEngineDefaultParametersPagesWithContext same as DescribeEngineDefaultParametersPages except
  3879  // it takes a Context and allows setting request options on the pages.
  3880  //
  3881  // The context must be non-nil and will be used for request cancellation. If
  3882  // the context is nil a panic will occur. In the future the SDK may create
  3883  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3884  // for more information on using Contexts.
  3885  func (c *Neptune) DescribeEngineDefaultParametersPagesWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool, opts ...request.Option) error {
  3886  	p := request.Pagination{
  3887  		NewRequest: func() (*request.Request, error) {
  3888  			var inCpy *DescribeEngineDefaultParametersInput
  3889  			if input != nil {
  3890  				tmp := *input
  3891  				inCpy = &tmp
  3892  			}
  3893  			req, _ := c.DescribeEngineDefaultParametersRequest(inCpy)
  3894  			req.SetContext(ctx)
  3895  			req.ApplyOptions(opts...)
  3896  			return req, nil
  3897  		},
  3898  	}
  3899  
  3900  	for p.Next() {
  3901  		if !fn(p.Page().(*DescribeEngineDefaultParametersOutput), !p.HasNextPage()) {
  3902  			break
  3903  		}
  3904  	}
  3905  
  3906  	return p.Err()
  3907  }
  3908  
  3909  const opDescribeEventCategories = "DescribeEventCategories"
  3910  
  3911  // DescribeEventCategoriesRequest generates a "aws/request.Request" representing the
  3912  // client's request for the DescribeEventCategories operation. The "output" return
  3913  // value will be populated with the request's response once the request completes
  3914  // successfully.
  3915  //
  3916  // Use "Send" method on the returned Request to send the API call to the service.
  3917  // the "output" return value is not valid until after Send returns without error.
  3918  //
  3919  // See DescribeEventCategories for more information on using the DescribeEventCategories
  3920  // API call, and error handling.
  3921  //
  3922  // This method is useful when you want to inject custom logic or configuration
  3923  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3924  //
  3925  //
  3926  //    // Example sending a request using the DescribeEventCategoriesRequest method.
  3927  //    req, resp := client.DescribeEventCategoriesRequest(params)
  3928  //
  3929  //    err := req.Send()
  3930  //    if err == nil { // resp is now filled
  3931  //        fmt.Println(resp)
  3932  //    }
  3933  //
  3934  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEventCategories
  3935  func (c *Neptune) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) {
  3936  	op := &request.Operation{
  3937  		Name:       opDescribeEventCategories,
  3938  		HTTPMethod: "POST",
  3939  		HTTPPath:   "/",
  3940  	}
  3941  
  3942  	if input == nil {
  3943  		input = &DescribeEventCategoriesInput{}
  3944  	}
  3945  
  3946  	output = &DescribeEventCategoriesOutput{}
  3947  	req = c.newRequest(op, input, output)
  3948  	return
  3949  }
  3950  
  3951  // DescribeEventCategories API operation for Amazon Neptune.
  3952  //
  3953  // Displays a list of categories for all event source types, or, if specified,
  3954  // for a specified source type.
  3955  //
  3956  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3957  // with awserr.Error's Code and Message methods to get detailed information about
  3958  // the error.
  3959  //
  3960  // See the AWS API reference guide for Amazon Neptune's
  3961  // API operation DescribeEventCategories for usage and error information.
  3962  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEventCategories
  3963  func (c *Neptune) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) {
  3964  	req, out := c.DescribeEventCategoriesRequest(input)
  3965  	return out, req.Send()
  3966  }
  3967  
  3968  // DescribeEventCategoriesWithContext is the same as DescribeEventCategories with the addition of
  3969  // the ability to pass a context and additional request options.
  3970  //
  3971  // See DescribeEventCategories for details on how to use this API operation.
  3972  //
  3973  // The context must be non-nil and will be used for request cancellation. If
  3974  // the context is nil a panic will occur. In the future the SDK may create
  3975  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3976  // for more information on using Contexts.
  3977  func (c *Neptune) DescribeEventCategoriesWithContext(ctx aws.Context, input *DescribeEventCategoriesInput, opts ...request.Option) (*DescribeEventCategoriesOutput, error) {
  3978  	req, out := c.DescribeEventCategoriesRequest(input)
  3979  	req.SetContext(ctx)
  3980  	req.ApplyOptions(opts...)
  3981  	return out, req.Send()
  3982  }
  3983  
  3984  const opDescribeEventSubscriptions = "DescribeEventSubscriptions"
  3985  
  3986  // DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the
  3987  // client's request for the DescribeEventSubscriptions operation. The "output" return
  3988  // value will be populated with the request's response once the request completes
  3989  // successfully.
  3990  //
  3991  // Use "Send" method on the returned Request to send the API call to the service.
  3992  // the "output" return value is not valid until after Send returns without error.
  3993  //
  3994  // See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions
  3995  // API call, and error handling.
  3996  //
  3997  // This method is useful when you want to inject custom logic or configuration
  3998  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3999  //
  4000  //
  4001  //    // Example sending a request using the DescribeEventSubscriptionsRequest method.
  4002  //    req, resp := client.DescribeEventSubscriptionsRequest(params)
  4003  //
  4004  //    err := req.Send()
  4005  //    if err == nil { // resp is now filled
  4006  //        fmt.Println(resp)
  4007  //    }
  4008  //
  4009  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEventSubscriptions
  4010  func (c *Neptune) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) {
  4011  	op := &request.Operation{
  4012  		Name:       opDescribeEventSubscriptions,
  4013  		HTTPMethod: "POST",
  4014  		HTTPPath:   "/",
  4015  		Paginator: &request.Paginator{
  4016  			InputTokens:     []string{"Marker"},
  4017  			OutputTokens:    []string{"Marker"},
  4018  			LimitToken:      "MaxRecords",
  4019  			TruncationToken: "",
  4020  		},
  4021  	}
  4022  
  4023  	if input == nil {
  4024  		input = &DescribeEventSubscriptionsInput{}
  4025  	}
  4026  
  4027  	output = &DescribeEventSubscriptionsOutput{}
  4028  	req = c.newRequest(op, input, output)
  4029  	return
  4030  }
  4031  
  4032  // DescribeEventSubscriptions API operation for Amazon Neptune.
  4033  //
  4034  // Lists all the subscription descriptions for a customer account. The description
  4035  // for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType,
  4036  // SourceID, CreationTime, and Status.
  4037  //
  4038  // If you specify a SubscriptionName, lists the description for that subscription.
  4039  //
  4040  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4041  // with awserr.Error's Code and Message methods to get detailed information about
  4042  // the error.
  4043  //
  4044  // See the AWS API reference guide for Amazon Neptune's
  4045  // API operation DescribeEventSubscriptions for usage and error information.
  4046  //
  4047  // Returned Error Codes:
  4048  //   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
  4049  //   The designated subscription could not be found.
  4050  //
  4051  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEventSubscriptions
  4052  func (c *Neptune) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) {
  4053  	req, out := c.DescribeEventSubscriptionsRequest(input)
  4054  	return out, req.Send()
  4055  }
  4056  
  4057  // DescribeEventSubscriptionsWithContext is the same as DescribeEventSubscriptions with the addition of
  4058  // the ability to pass a context and additional request options.
  4059  //
  4060  // See DescribeEventSubscriptions for details on how to use this API operation.
  4061  //
  4062  // The context must be non-nil and will be used for request cancellation. If
  4063  // the context is nil a panic will occur. In the future the SDK may create
  4064  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4065  // for more information on using Contexts.
  4066  func (c *Neptune) DescribeEventSubscriptionsWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, opts ...request.Option) (*DescribeEventSubscriptionsOutput, error) {
  4067  	req, out := c.DescribeEventSubscriptionsRequest(input)
  4068  	req.SetContext(ctx)
  4069  	req.ApplyOptions(opts...)
  4070  	return out, req.Send()
  4071  }
  4072  
  4073  // DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation,
  4074  // calling the "fn" function with the response data for each page. To stop
  4075  // iterating, return false from the fn function.
  4076  //
  4077  // See DescribeEventSubscriptions method for more information on how to use this operation.
  4078  //
  4079  // Note: This operation can generate multiple requests to a service.
  4080  //
  4081  //    // Example iterating over at most 3 pages of a DescribeEventSubscriptions operation.
  4082  //    pageNum := 0
  4083  //    err := client.DescribeEventSubscriptionsPages(params,
  4084  //        func(page *neptune.DescribeEventSubscriptionsOutput, lastPage bool) bool {
  4085  //            pageNum++
  4086  //            fmt.Println(page)
  4087  //            return pageNum <= 3
  4088  //        })
  4089  //
  4090  func (c *Neptune) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool) error {
  4091  	return c.DescribeEventSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn)
  4092  }
  4093  
  4094  // DescribeEventSubscriptionsPagesWithContext same as DescribeEventSubscriptionsPages except
  4095  // it takes a Context and allows setting request options on the pages.
  4096  //
  4097  // The context must be non-nil and will be used for request cancellation. If
  4098  // the context is nil a panic will occur. In the future the SDK may create
  4099  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4100  // for more information on using Contexts.
  4101  func (c *Neptune) DescribeEventSubscriptionsPagesWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool, opts ...request.Option) error {
  4102  	p := request.Pagination{
  4103  		NewRequest: func() (*request.Request, error) {
  4104  			var inCpy *DescribeEventSubscriptionsInput
  4105  			if input != nil {
  4106  				tmp := *input
  4107  				inCpy = &tmp
  4108  			}
  4109  			req, _ := c.DescribeEventSubscriptionsRequest(inCpy)
  4110  			req.SetContext(ctx)
  4111  			req.ApplyOptions(opts...)
  4112  			return req, nil
  4113  		},
  4114  	}
  4115  
  4116  	for p.Next() {
  4117  		if !fn(p.Page().(*DescribeEventSubscriptionsOutput), !p.HasNextPage()) {
  4118  			break
  4119  		}
  4120  	}
  4121  
  4122  	return p.Err()
  4123  }
  4124  
  4125  const opDescribeEvents = "DescribeEvents"
  4126  
  4127  // DescribeEventsRequest generates a "aws/request.Request" representing the
  4128  // client's request for the DescribeEvents operation. The "output" return
  4129  // value will be populated with the request's response once the request completes
  4130  // successfully.
  4131  //
  4132  // Use "Send" method on the returned Request to send the API call to the service.
  4133  // the "output" return value is not valid until after Send returns without error.
  4134  //
  4135  // See DescribeEvents for more information on using the DescribeEvents
  4136  // API call, and error handling.
  4137  //
  4138  // This method is useful when you want to inject custom logic or configuration
  4139  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4140  //
  4141  //
  4142  //    // Example sending a request using the DescribeEventsRequest method.
  4143  //    req, resp := client.DescribeEventsRequest(params)
  4144  //
  4145  //    err := req.Send()
  4146  //    if err == nil { // resp is now filled
  4147  //        fmt.Println(resp)
  4148  //    }
  4149  //
  4150  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEvents
  4151  func (c *Neptune) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
  4152  	op := &request.Operation{
  4153  		Name:       opDescribeEvents,
  4154  		HTTPMethod: "POST",
  4155  		HTTPPath:   "/",
  4156  		Paginator: &request.Paginator{
  4157  			InputTokens:     []string{"Marker"},
  4158  			OutputTokens:    []string{"Marker"},
  4159  			LimitToken:      "MaxRecords",
  4160  			TruncationToken: "",
  4161  		},
  4162  	}
  4163  
  4164  	if input == nil {
  4165  		input = &DescribeEventsInput{}
  4166  	}
  4167  
  4168  	output = &DescribeEventsOutput{}
  4169  	req = c.newRequest(op, input, output)
  4170  	return
  4171  }
  4172  
  4173  // DescribeEvents API operation for Amazon Neptune.
  4174  //
  4175  // Returns events related to DB instances, DB security groups, DB snapshots,
  4176  // and DB parameter groups for the past 14 days. Events specific to a particular
  4177  // DB instance, DB security group, database snapshot, or DB parameter group
  4178  // can be obtained by providing the name as a parameter. By default, the past
  4179  // hour of events are returned.
  4180  //
  4181  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4182  // with awserr.Error's Code and Message methods to get detailed information about
  4183  // the error.
  4184  //
  4185  // See the AWS API reference guide for Amazon Neptune's
  4186  // API operation DescribeEvents for usage and error information.
  4187  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEvents
  4188  func (c *Neptune) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
  4189  	req, out := c.DescribeEventsRequest(input)
  4190  	return out, req.Send()
  4191  }
  4192  
  4193  // DescribeEventsWithContext is the same as DescribeEvents with the addition of
  4194  // the ability to pass a context and additional request options.
  4195  //
  4196  // See DescribeEvents for details on how to use this API operation.
  4197  //
  4198  // The context must be non-nil and will be used for request cancellation. If
  4199  // the context is nil a panic will occur. In the future the SDK may create
  4200  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4201  // for more information on using Contexts.
  4202  func (c *Neptune) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
  4203  	req, out := c.DescribeEventsRequest(input)
  4204  	req.SetContext(ctx)
  4205  	req.ApplyOptions(opts...)
  4206  	return out, req.Send()
  4207  }
  4208  
  4209  // DescribeEventsPages iterates over the pages of a DescribeEvents operation,
  4210  // calling the "fn" function with the response data for each page. To stop
  4211  // iterating, return false from the fn function.
  4212  //
  4213  // See DescribeEvents method for more information on how to use this operation.
  4214  //
  4215  // Note: This operation can generate multiple requests to a service.
  4216  //
  4217  //    // Example iterating over at most 3 pages of a DescribeEvents operation.
  4218  //    pageNum := 0
  4219  //    err := client.DescribeEventsPages(params,
  4220  //        func(page *neptune.DescribeEventsOutput, lastPage bool) bool {
  4221  //            pageNum++
  4222  //            fmt.Println(page)
  4223  //            return pageNum <= 3
  4224  //        })
  4225  //
  4226  func (c *Neptune) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
  4227  	return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
  4228  }
  4229  
  4230  // DescribeEventsPagesWithContext same as DescribeEventsPages except
  4231  // it takes a Context and allows setting request options on the pages.
  4232  //
  4233  // The context must be non-nil and will be used for request cancellation. If
  4234  // the context is nil a panic will occur. In the future the SDK may create
  4235  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4236  // for more information on using Contexts.
  4237  func (c *Neptune) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
  4238  	p := request.Pagination{
  4239  		NewRequest: func() (*request.Request, error) {
  4240  			var inCpy *DescribeEventsInput
  4241  			if input != nil {
  4242  				tmp := *input
  4243  				inCpy = &tmp
  4244  			}
  4245  			req, _ := c.DescribeEventsRequest(inCpy)
  4246  			req.SetContext(ctx)
  4247  			req.ApplyOptions(opts...)
  4248  			return req, nil
  4249  		},
  4250  	}
  4251  
  4252  	for p.Next() {
  4253  		if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) {
  4254  			break
  4255  		}
  4256  	}
  4257  
  4258  	return p.Err()
  4259  }
  4260  
  4261  const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions"
  4262  
  4263  // DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the
  4264  // client's request for the DescribeOrderableDBInstanceOptions operation. The "output" return
  4265  // value will be populated with the request's response once the request completes
  4266  // successfully.
  4267  //
  4268  // Use "Send" method on the returned Request to send the API call to the service.
  4269  // the "output" return value is not valid until after Send returns without error.
  4270  //
  4271  // See DescribeOrderableDBInstanceOptions for more information on using the DescribeOrderableDBInstanceOptions
  4272  // API call, and error handling.
  4273  //
  4274  // This method is useful when you want to inject custom logic or configuration
  4275  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4276  //
  4277  //
  4278  //    // Example sending a request using the DescribeOrderableDBInstanceOptionsRequest method.
  4279  //    req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params)
  4280  //
  4281  //    err := req.Send()
  4282  //    if err == nil { // resp is now filled
  4283  //        fmt.Println(resp)
  4284  //    }
  4285  //
  4286  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeOrderableDBInstanceOptions
  4287  func (c *Neptune) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderableDBInstanceOptionsInput) (req *request.Request, output *DescribeOrderableDBInstanceOptionsOutput) {
  4288  	op := &request.Operation{
  4289  		Name:       opDescribeOrderableDBInstanceOptions,
  4290  		HTTPMethod: "POST",
  4291  		HTTPPath:   "/",
  4292  		Paginator: &request.Paginator{
  4293  			InputTokens:     []string{"Marker"},
  4294  			OutputTokens:    []string{"Marker"},
  4295  			LimitToken:      "MaxRecords",
  4296  			TruncationToken: "",
  4297  		},
  4298  	}
  4299  
  4300  	if input == nil {
  4301  		input = &DescribeOrderableDBInstanceOptionsInput{}
  4302  	}
  4303  
  4304  	output = &DescribeOrderableDBInstanceOptionsOutput{}
  4305  	req = c.newRequest(op, input, output)
  4306  	return
  4307  }
  4308  
  4309  // DescribeOrderableDBInstanceOptions API operation for Amazon Neptune.
  4310  //
  4311  // Returns a list of orderable DB instance options for the specified engine.
  4312  //
  4313  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4314  // with awserr.Error's Code and Message methods to get detailed information about
  4315  // the error.
  4316  //
  4317  // See the AWS API reference guide for Amazon Neptune's
  4318  // API operation DescribeOrderableDBInstanceOptions for usage and error information.
  4319  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeOrderableDBInstanceOptions
  4320  func (c *Neptune) DescribeOrderableDBInstanceOptions(input *DescribeOrderableDBInstanceOptionsInput) (*DescribeOrderableDBInstanceOptionsOutput, error) {
  4321  	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
  4322  	return out, req.Send()
  4323  }
  4324  
  4325  // DescribeOrderableDBInstanceOptionsWithContext is the same as DescribeOrderableDBInstanceOptions with the addition of
  4326  // the ability to pass a context and additional request options.
  4327  //
  4328  // See DescribeOrderableDBInstanceOptions for details on how to use this API operation.
  4329  //
  4330  // The context must be non-nil and will be used for request cancellation. If
  4331  // the context is nil a panic will occur. In the future the SDK may create
  4332  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4333  // for more information on using Contexts.
  4334  func (c *Neptune) DescribeOrderableDBInstanceOptionsWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, opts ...request.Option) (*DescribeOrderableDBInstanceOptionsOutput, error) {
  4335  	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
  4336  	req.SetContext(ctx)
  4337  	req.ApplyOptions(opts...)
  4338  	return out, req.Send()
  4339  }
  4340  
  4341  // DescribeOrderableDBInstanceOptionsPages iterates over the pages of a DescribeOrderableDBInstanceOptions operation,
  4342  // calling the "fn" function with the response data for each page. To stop
  4343  // iterating, return false from the fn function.
  4344  //
  4345  // See DescribeOrderableDBInstanceOptions method for more information on how to use this operation.
  4346  //
  4347  // Note: This operation can generate multiple requests to a service.
  4348  //
  4349  //    // Example iterating over at most 3 pages of a DescribeOrderableDBInstanceOptions operation.
  4350  //    pageNum := 0
  4351  //    err := client.DescribeOrderableDBInstanceOptionsPages(params,
  4352  //        func(page *neptune.DescribeOrderableDBInstanceOptionsOutput, lastPage bool) bool {
  4353  //            pageNum++
  4354  //            fmt.Println(page)
  4355  //            return pageNum <= 3
  4356  //        })
  4357  //
  4358  func (c *Neptune) DescribeOrderableDBInstanceOptionsPages(input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool) error {
  4359  	return c.DescribeOrderableDBInstanceOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
  4360  }
  4361  
  4362  // DescribeOrderableDBInstanceOptionsPagesWithContext same as DescribeOrderableDBInstanceOptionsPages except
  4363  // it takes a Context and allows setting request options on the pages.
  4364  //
  4365  // The context must be non-nil and will be used for request cancellation. If
  4366  // the context is nil a panic will occur. In the future the SDK may create
  4367  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4368  // for more information on using Contexts.
  4369  func (c *Neptune) DescribeOrderableDBInstanceOptionsPagesWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool, opts ...request.Option) error {
  4370  	p := request.Pagination{
  4371  		NewRequest: func() (*request.Request, error) {
  4372  			var inCpy *DescribeOrderableDBInstanceOptionsInput
  4373  			if input != nil {
  4374  				tmp := *input
  4375  				inCpy = &tmp
  4376  			}
  4377  			req, _ := c.DescribeOrderableDBInstanceOptionsRequest(inCpy)
  4378  			req.SetContext(ctx)
  4379  			req.ApplyOptions(opts...)
  4380  			return req, nil
  4381  		},
  4382  	}
  4383  
  4384  	for p.Next() {
  4385  		if !fn(p.Page().(*DescribeOrderableDBInstanceOptionsOutput), !p.HasNextPage()) {
  4386  			break
  4387  		}
  4388  	}
  4389  
  4390  	return p.Err()
  4391  }
  4392  
  4393  const opDescribePendingMaintenanceActions = "DescribePendingMaintenanceActions"
  4394  
  4395  // DescribePendingMaintenanceActionsRequest generates a "aws/request.Request" representing the
  4396  // client's request for the DescribePendingMaintenanceActions operation. The "output" return
  4397  // value will be populated with the request's response once the request completes
  4398  // successfully.
  4399  //
  4400  // Use "Send" method on the returned Request to send the API call to the service.
  4401  // the "output" return value is not valid until after Send returns without error.
  4402  //
  4403  // See DescribePendingMaintenanceActions for more information on using the DescribePendingMaintenanceActions
  4404  // API call, and error handling.
  4405  //
  4406  // This method is useful when you want to inject custom logic or configuration
  4407  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4408  //
  4409  //
  4410  //    // Example sending a request using the DescribePendingMaintenanceActionsRequest method.
  4411  //    req, resp := client.DescribePendingMaintenanceActionsRequest(params)
  4412  //
  4413  //    err := req.Send()
  4414  //    if err == nil { // resp is now filled
  4415  //        fmt.Println(resp)
  4416  //    }
  4417  //
  4418  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribePendingMaintenanceActions
  4419  func (c *Neptune) DescribePendingMaintenanceActionsRequest(input *DescribePendingMaintenanceActionsInput) (req *request.Request, output *DescribePendingMaintenanceActionsOutput) {
  4420  	op := &request.Operation{
  4421  		Name:       opDescribePendingMaintenanceActions,
  4422  		HTTPMethod: "POST",
  4423  		HTTPPath:   "/",
  4424  		Paginator: &request.Paginator{
  4425  			InputTokens:     []string{"Marker"},
  4426  			OutputTokens:    []string{"Marker"},
  4427  			LimitToken:      "MaxRecords",
  4428  			TruncationToken: "",
  4429  		},
  4430  	}
  4431  
  4432  	if input == nil {
  4433  		input = &DescribePendingMaintenanceActionsInput{}
  4434  	}
  4435  
  4436  	output = &DescribePendingMaintenanceActionsOutput{}
  4437  	req = c.newRequest(op, input, output)
  4438  	return
  4439  }
  4440  
  4441  // DescribePendingMaintenanceActions API operation for Amazon Neptune.
  4442  //
  4443  // Returns a list of resources (for example, DB instances) that have at least
  4444  // one pending maintenance action.
  4445  //
  4446  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4447  // with awserr.Error's Code and Message methods to get detailed information about
  4448  // the error.
  4449  //
  4450  // See the AWS API reference guide for Amazon Neptune's
  4451  // API operation DescribePendingMaintenanceActions for usage and error information.
  4452  //
  4453  // Returned Error Codes:
  4454  //   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
  4455  //   The specified resource ID was not found.
  4456  //
  4457  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribePendingMaintenanceActions
  4458  func (c *Neptune) DescribePendingMaintenanceActions(input *DescribePendingMaintenanceActionsInput) (*DescribePendingMaintenanceActionsOutput, error) {
  4459  	req, out := c.DescribePendingMaintenanceActionsRequest(input)
  4460  	return out, req.Send()
  4461  }
  4462  
  4463  // DescribePendingMaintenanceActionsWithContext is the same as DescribePendingMaintenanceActions with the addition of
  4464  // the ability to pass a context and additional request options.
  4465  //
  4466  // See DescribePendingMaintenanceActions for details on how to use this API operation.
  4467  //
  4468  // The context must be non-nil and will be used for request cancellation. If
  4469  // the context is nil a panic will occur. In the future the SDK may create
  4470  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4471  // for more information on using Contexts.
  4472  func (c *Neptune) DescribePendingMaintenanceActionsWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, opts ...request.Option) (*DescribePendingMaintenanceActionsOutput, error) {
  4473  	req, out := c.DescribePendingMaintenanceActionsRequest(input)
  4474  	req.SetContext(ctx)
  4475  	req.ApplyOptions(opts...)
  4476  	return out, req.Send()
  4477  }
  4478  
  4479  // DescribePendingMaintenanceActionsPages iterates over the pages of a DescribePendingMaintenanceActions operation,
  4480  // calling the "fn" function with the response data for each page. To stop
  4481  // iterating, return false from the fn function.
  4482  //
  4483  // See DescribePendingMaintenanceActions method for more information on how to use this operation.
  4484  //
  4485  // Note: This operation can generate multiple requests to a service.
  4486  //
  4487  //    // Example iterating over at most 3 pages of a DescribePendingMaintenanceActions operation.
  4488  //    pageNum := 0
  4489  //    err := client.DescribePendingMaintenanceActionsPages(params,
  4490  //        func(page *neptune.DescribePendingMaintenanceActionsOutput, lastPage bool) bool {
  4491  //            pageNum++
  4492  //            fmt.Println(page)
  4493  //            return pageNum <= 3
  4494  //        })
  4495  //
  4496  func (c *Neptune) DescribePendingMaintenanceActionsPages(input *DescribePendingMaintenanceActionsInput, fn func(*DescribePendingMaintenanceActionsOutput, bool) bool) error {
  4497  	return c.DescribePendingMaintenanceActionsPagesWithContext(aws.BackgroundContext(), input, fn)
  4498  }
  4499  
  4500  // DescribePendingMaintenanceActionsPagesWithContext same as DescribePendingMaintenanceActionsPages except
  4501  // it takes a Context and allows setting request options on the pages.
  4502  //
  4503  // The context must be non-nil and will be used for request cancellation. If
  4504  // the context is nil a panic will occur. In the future the SDK may create
  4505  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4506  // for more information on using Contexts.
  4507  func (c *Neptune) DescribePendingMaintenanceActionsPagesWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, fn func(*DescribePendingMaintenanceActionsOutput, bool) bool, opts ...request.Option) error {
  4508  	p := request.Pagination{
  4509  		NewRequest: func() (*request.Request, error) {
  4510  			var inCpy *DescribePendingMaintenanceActionsInput
  4511  			if input != nil {
  4512  				tmp := *input
  4513  				inCpy = &tmp
  4514  			}
  4515  			req, _ := c.DescribePendingMaintenanceActionsRequest(inCpy)
  4516  			req.SetContext(ctx)
  4517  			req.ApplyOptions(opts...)
  4518  			return req, nil
  4519  		},
  4520  	}
  4521  
  4522  	for p.Next() {
  4523  		if !fn(p.Page().(*DescribePendingMaintenanceActionsOutput), !p.HasNextPage()) {
  4524  			break
  4525  		}
  4526  	}
  4527  
  4528  	return p.Err()
  4529  }
  4530  
  4531  const opDescribeValidDBInstanceModifications = "DescribeValidDBInstanceModifications"
  4532  
  4533  // DescribeValidDBInstanceModificationsRequest generates a "aws/request.Request" representing the
  4534  // client's request for the DescribeValidDBInstanceModifications operation. The "output" return
  4535  // value will be populated with the request's response once the request completes
  4536  // successfully.
  4537  //
  4538  // Use "Send" method on the returned Request to send the API call to the service.
  4539  // the "output" return value is not valid until after Send returns without error.
  4540  //
  4541  // See DescribeValidDBInstanceModifications for more information on using the DescribeValidDBInstanceModifications
  4542  // API call, and error handling.
  4543  //
  4544  // This method is useful when you want to inject custom logic or configuration
  4545  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4546  //
  4547  //
  4548  //    // Example sending a request using the DescribeValidDBInstanceModificationsRequest method.
  4549  //    req, resp := client.DescribeValidDBInstanceModificationsRequest(params)
  4550  //
  4551  //    err := req.Send()
  4552  //    if err == nil { // resp is now filled
  4553  //        fmt.Println(resp)
  4554  //    }
  4555  //
  4556  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeValidDBInstanceModifications
  4557  func (c *Neptune) DescribeValidDBInstanceModificationsRequest(input *DescribeValidDBInstanceModificationsInput) (req *request.Request, output *DescribeValidDBInstanceModificationsOutput) {
  4558  	op := &request.Operation{
  4559  		Name:       opDescribeValidDBInstanceModifications,
  4560  		HTTPMethod: "POST",
  4561  		HTTPPath:   "/",
  4562  	}
  4563  
  4564  	if input == nil {
  4565  		input = &DescribeValidDBInstanceModificationsInput{}
  4566  	}
  4567  
  4568  	output = &DescribeValidDBInstanceModificationsOutput{}
  4569  	req = c.newRequest(op, input, output)
  4570  	return
  4571  }
  4572  
  4573  // DescribeValidDBInstanceModifications API operation for Amazon Neptune.
  4574  //
  4575  // You can call DescribeValidDBInstanceModifications to learn what modifications
  4576  // you can make to your DB instance. You can use this information when you call
  4577  // ModifyDBInstance.
  4578  //
  4579  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4580  // with awserr.Error's Code and Message methods to get detailed information about
  4581  // the error.
  4582  //
  4583  // See the AWS API reference guide for Amazon Neptune's
  4584  // API operation DescribeValidDBInstanceModifications for usage and error information.
  4585  //
  4586  // Returned Error Codes:
  4587  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  4588  //   DBInstanceIdentifier does not refer to an existing DB instance.
  4589  //
  4590  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  4591  //   The specified DB instance is not in the available state.
  4592  //
  4593  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeValidDBInstanceModifications
  4594  func (c *Neptune) DescribeValidDBInstanceModifications(input *DescribeValidDBInstanceModificationsInput) (*DescribeValidDBInstanceModificationsOutput, error) {
  4595  	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
  4596  	return out, req.Send()
  4597  }
  4598  
  4599  // DescribeValidDBInstanceModificationsWithContext is the same as DescribeValidDBInstanceModifications with the addition of
  4600  // the ability to pass a context and additional request options.
  4601  //
  4602  // See DescribeValidDBInstanceModifications for details on how to use this API operation.
  4603  //
  4604  // The context must be non-nil and will be used for request cancellation. If
  4605  // the context is nil a panic will occur. In the future the SDK may create
  4606  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4607  // for more information on using Contexts.
  4608  func (c *Neptune) DescribeValidDBInstanceModificationsWithContext(ctx aws.Context, input *DescribeValidDBInstanceModificationsInput, opts ...request.Option) (*DescribeValidDBInstanceModificationsOutput, error) {
  4609  	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
  4610  	req.SetContext(ctx)
  4611  	req.ApplyOptions(opts...)
  4612  	return out, req.Send()
  4613  }
  4614  
  4615  const opFailoverDBCluster = "FailoverDBCluster"
  4616  
  4617  // FailoverDBClusterRequest generates a "aws/request.Request" representing the
  4618  // client's request for the FailoverDBCluster operation. The "output" return
  4619  // value will be populated with the request's response once the request completes
  4620  // successfully.
  4621  //
  4622  // Use "Send" method on the returned Request to send the API call to the service.
  4623  // the "output" return value is not valid until after Send returns without error.
  4624  //
  4625  // See FailoverDBCluster for more information on using the FailoverDBCluster
  4626  // API call, and error handling.
  4627  //
  4628  // This method is useful when you want to inject custom logic or configuration
  4629  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4630  //
  4631  //
  4632  //    // Example sending a request using the FailoverDBClusterRequest method.
  4633  //    req, resp := client.FailoverDBClusterRequest(params)
  4634  //
  4635  //    err := req.Send()
  4636  //    if err == nil { // resp is now filled
  4637  //        fmt.Println(resp)
  4638  //    }
  4639  //
  4640  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/FailoverDBCluster
  4641  func (c *Neptune) FailoverDBClusterRequest(input *FailoverDBClusterInput) (req *request.Request, output *FailoverDBClusterOutput) {
  4642  	op := &request.Operation{
  4643  		Name:       opFailoverDBCluster,
  4644  		HTTPMethod: "POST",
  4645  		HTTPPath:   "/",
  4646  	}
  4647  
  4648  	if input == nil {
  4649  		input = &FailoverDBClusterInput{}
  4650  	}
  4651  
  4652  	output = &FailoverDBClusterOutput{}
  4653  	req = c.newRequest(op, input, output)
  4654  	return
  4655  }
  4656  
  4657  // FailoverDBCluster API operation for Amazon Neptune.
  4658  //
  4659  // Forces a failover for a DB cluster.
  4660  //
  4661  // A failover for a DB cluster promotes one of the Read Replicas (read-only
  4662  // instances) in the DB cluster to be the primary instance (the cluster writer).
  4663  //
  4664  // Amazon Neptune will automatically fail over to a Read Replica, if one exists,
  4665  // when the primary instance fails. You can force a failover when you want to
  4666  // simulate a failure of a primary instance for testing. Because each instance
  4667  // in a DB cluster has its own endpoint address, you will need to clean up and
  4668  // re-establish any existing connections that use those endpoint addresses when
  4669  // the failover is complete.
  4670  //
  4671  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4672  // with awserr.Error's Code and Message methods to get detailed information about
  4673  // the error.
  4674  //
  4675  // See the AWS API reference guide for Amazon Neptune's
  4676  // API operation FailoverDBCluster for usage and error information.
  4677  //
  4678  // Returned Error Codes:
  4679  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  4680  //   DBClusterIdentifier does not refer to an existing DB cluster.
  4681  //
  4682  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  4683  //   The DB cluster is not in a valid state.
  4684  //
  4685  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  4686  //   The specified DB instance is not in the available state.
  4687  //
  4688  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/FailoverDBCluster
  4689  func (c *Neptune) FailoverDBCluster(input *FailoverDBClusterInput) (*FailoverDBClusterOutput, error) {
  4690  	req, out := c.FailoverDBClusterRequest(input)
  4691  	return out, req.Send()
  4692  }
  4693  
  4694  // FailoverDBClusterWithContext is the same as FailoverDBCluster with the addition of
  4695  // the ability to pass a context and additional request options.
  4696  //
  4697  // See FailoverDBCluster for details on how to use this API operation.
  4698  //
  4699  // The context must be non-nil and will be used for request cancellation. If
  4700  // the context is nil a panic will occur. In the future the SDK may create
  4701  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4702  // for more information on using Contexts.
  4703  func (c *Neptune) FailoverDBClusterWithContext(ctx aws.Context, input *FailoverDBClusterInput, opts ...request.Option) (*FailoverDBClusterOutput, error) {
  4704  	req, out := c.FailoverDBClusterRequest(input)
  4705  	req.SetContext(ctx)
  4706  	req.ApplyOptions(opts...)
  4707  	return out, req.Send()
  4708  }
  4709  
  4710  const opListTagsForResource = "ListTagsForResource"
  4711  
  4712  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  4713  // client's request for the ListTagsForResource operation. The "output" return
  4714  // value will be populated with the request's response once the request completes
  4715  // successfully.
  4716  //
  4717  // Use "Send" method on the returned Request to send the API call to the service.
  4718  // the "output" return value is not valid until after Send returns without error.
  4719  //
  4720  // See ListTagsForResource for more information on using the ListTagsForResource
  4721  // API call, and error handling.
  4722  //
  4723  // This method is useful when you want to inject custom logic or configuration
  4724  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4725  //
  4726  //
  4727  //    // Example sending a request using the ListTagsForResourceRequest method.
  4728  //    req, resp := client.ListTagsForResourceRequest(params)
  4729  //
  4730  //    err := req.Send()
  4731  //    if err == nil { // resp is now filled
  4732  //        fmt.Println(resp)
  4733  //    }
  4734  //
  4735  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ListTagsForResource
  4736  func (c *Neptune) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  4737  	op := &request.Operation{
  4738  		Name:       opListTagsForResource,
  4739  		HTTPMethod: "POST",
  4740  		HTTPPath:   "/",
  4741  	}
  4742  
  4743  	if input == nil {
  4744  		input = &ListTagsForResourceInput{}
  4745  	}
  4746  
  4747  	output = &ListTagsForResourceOutput{}
  4748  	req = c.newRequest(op, input, output)
  4749  	return
  4750  }
  4751  
  4752  // ListTagsForResource API operation for Amazon Neptune.
  4753  //
  4754  // Lists all tags on an Amazon Neptune resource.
  4755  //
  4756  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4757  // with awserr.Error's Code and Message methods to get detailed information about
  4758  // the error.
  4759  //
  4760  // See the AWS API reference guide for Amazon Neptune's
  4761  // API operation ListTagsForResource for usage and error information.
  4762  //
  4763  // Returned Error Codes:
  4764  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  4765  //   DBInstanceIdentifier does not refer to an existing DB instance.
  4766  //
  4767  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
  4768  //   DBSnapshotIdentifier does not refer to an existing DB snapshot.
  4769  //
  4770  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  4771  //   DBClusterIdentifier does not refer to an existing DB cluster.
  4772  //
  4773  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ListTagsForResource
  4774  func (c *Neptune) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  4775  	req, out := c.ListTagsForResourceRequest(input)
  4776  	return out, req.Send()
  4777  }
  4778  
  4779  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  4780  // the ability to pass a context and additional request options.
  4781  //
  4782  // See ListTagsForResource for details on how to use this API operation.
  4783  //
  4784  // The context must be non-nil and will be used for request cancellation. If
  4785  // the context is nil a panic will occur. In the future the SDK may create
  4786  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4787  // for more information on using Contexts.
  4788  func (c *Neptune) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  4789  	req, out := c.ListTagsForResourceRequest(input)
  4790  	req.SetContext(ctx)
  4791  	req.ApplyOptions(opts...)
  4792  	return out, req.Send()
  4793  }
  4794  
  4795  const opModifyDBCluster = "ModifyDBCluster"
  4796  
  4797  // ModifyDBClusterRequest generates a "aws/request.Request" representing the
  4798  // client's request for the ModifyDBCluster operation. The "output" return
  4799  // value will be populated with the request's response once the request completes
  4800  // successfully.
  4801  //
  4802  // Use "Send" method on the returned Request to send the API call to the service.
  4803  // the "output" return value is not valid until after Send returns without error.
  4804  //
  4805  // See ModifyDBCluster for more information on using the ModifyDBCluster
  4806  // API call, and error handling.
  4807  //
  4808  // This method is useful when you want to inject custom logic or configuration
  4809  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4810  //
  4811  //
  4812  //    // Example sending a request using the ModifyDBClusterRequest method.
  4813  //    req, resp := client.ModifyDBClusterRequest(params)
  4814  //
  4815  //    err := req.Send()
  4816  //    if err == nil { // resp is now filled
  4817  //        fmt.Println(resp)
  4818  //    }
  4819  //
  4820  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBCluster
  4821  func (c *Neptune) ModifyDBClusterRequest(input *ModifyDBClusterInput) (req *request.Request, output *ModifyDBClusterOutput) {
  4822  	op := &request.Operation{
  4823  		Name:       opModifyDBCluster,
  4824  		HTTPMethod: "POST",
  4825  		HTTPPath:   "/",
  4826  	}
  4827  
  4828  	if input == nil {
  4829  		input = &ModifyDBClusterInput{}
  4830  	}
  4831  
  4832  	output = &ModifyDBClusterOutput{}
  4833  	req = c.newRequest(op, input, output)
  4834  	return
  4835  }
  4836  
  4837  // ModifyDBCluster API operation for Amazon Neptune.
  4838  //
  4839  // Modify a setting for a DB cluster. You can change one or more database configuration
  4840  // parameters by specifying these parameters and the new values in the request.
  4841  //
  4842  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4843  // with awserr.Error's Code and Message methods to get detailed information about
  4844  // the error.
  4845  //
  4846  // See the AWS API reference guide for Amazon Neptune's
  4847  // API operation ModifyDBCluster for usage and error information.
  4848  //
  4849  // Returned Error Codes:
  4850  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  4851  //   DBClusterIdentifier does not refer to an existing DB cluster.
  4852  //
  4853  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  4854  //   The DB cluster is not in a valid state.
  4855  //
  4856  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
  4857  //   Request would result in user exceeding the allowed amount of storage available
  4858  //   across all DB instances.
  4859  //
  4860  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  4861  //   DBSubnetGroupName does not refer to an existing DB subnet group.
  4862  //
  4863  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
  4864  //   DB subnet group does not cover all Availability Zones after it is created
  4865  //   because users' change.
  4866  //
  4867  //   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
  4868  //   The DB subnet group cannot be deleted because it is in use.
  4869  //
  4870  //   * ErrCodeInvalidSubnet "InvalidSubnet"
  4871  //   The requested subnet is invalid, or multiple subnets were requested that
  4872  //   are not all in a common VPC.
  4873  //
  4874  //   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
  4875  //   DBClusterParameterGroupName does not refer to an existing DB Cluster parameter
  4876  //   group.
  4877  //
  4878  //   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
  4879  //   The state of the DB security group does not allow deletion.
  4880  //
  4881  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  4882  //   The specified DB instance is not in the available state.
  4883  //
  4884  //   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
  4885  //   User already has a DB cluster with the given identifier.
  4886  //
  4887  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBCluster
  4888  func (c *Neptune) ModifyDBCluster(input *ModifyDBClusterInput) (*ModifyDBClusterOutput, error) {
  4889  	req, out := c.ModifyDBClusterRequest(input)
  4890  	return out, req.Send()
  4891  }
  4892  
  4893  // ModifyDBClusterWithContext is the same as ModifyDBCluster with the addition of
  4894  // the ability to pass a context and additional request options.
  4895  //
  4896  // See ModifyDBCluster for details on how to use this API operation.
  4897  //
  4898  // The context must be non-nil and will be used for request cancellation. If
  4899  // the context is nil a panic will occur. In the future the SDK may create
  4900  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4901  // for more information on using Contexts.
  4902  func (c *Neptune) ModifyDBClusterWithContext(ctx aws.Context, input *ModifyDBClusterInput, opts ...request.Option) (*ModifyDBClusterOutput, error) {
  4903  	req, out := c.ModifyDBClusterRequest(input)
  4904  	req.SetContext(ctx)
  4905  	req.ApplyOptions(opts...)
  4906  	return out, req.Send()
  4907  }
  4908  
  4909  const opModifyDBClusterEndpoint = "ModifyDBClusterEndpoint"
  4910  
  4911  // ModifyDBClusterEndpointRequest generates a "aws/request.Request" representing the
  4912  // client's request for the ModifyDBClusterEndpoint operation. The "output" return
  4913  // value will be populated with the request's response once the request completes
  4914  // successfully.
  4915  //
  4916  // Use "Send" method on the returned Request to send the API call to the service.
  4917  // the "output" return value is not valid until after Send returns without error.
  4918  //
  4919  // See ModifyDBClusterEndpoint for more information on using the ModifyDBClusterEndpoint
  4920  // API call, and error handling.
  4921  //
  4922  // This method is useful when you want to inject custom logic or configuration
  4923  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4924  //
  4925  //
  4926  //    // Example sending a request using the ModifyDBClusterEndpointRequest method.
  4927  //    req, resp := client.ModifyDBClusterEndpointRequest(params)
  4928  //
  4929  //    err := req.Send()
  4930  //    if err == nil { // resp is now filled
  4931  //        fmt.Println(resp)
  4932  //    }
  4933  //
  4934  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBClusterEndpoint
  4935  func (c *Neptune) ModifyDBClusterEndpointRequest(input *ModifyDBClusterEndpointInput) (req *request.Request, output *ModifyDBClusterEndpointOutput) {
  4936  	op := &request.Operation{
  4937  		Name:       opModifyDBClusterEndpoint,
  4938  		HTTPMethod: "POST",
  4939  		HTTPPath:   "/",
  4940  	}
  4941  
  4942  	if input == nil {
  4943  		input = &ModifyDBClusterEndpointInput{}
  4944  	}
  4945  
  4946  	output = &ModifyDBClusterEndpointOutput{}
  4947  	req = c.newRequest(op, input, output)
  4948  	return
  4949  }
  4950  
  4951  // ModifyDBClusterEndpoint API operation for Amazon Neptune.
  4952  //
  4953  // Modifies the properties of an endpoint in an Amazon Neptune DB cluster.
  4954  //
  4955  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4956  // with awserr.Error's Code and Message methods to get detailed information about
  4957  // the error.
  4958  //
  4959  // See the AWS API reference guide for Amazon Neptune's
  4960  // API operation ModifyDBClusterEndpoint for usage and error information.
  4961  //
  4962  // Returned Error Codes:
  4963  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  4964  //   The DB cluster is not in a valid state.
  4965  //
  4966  //   * ErrCodeInvalidDBClusterEndpointStateFault "InvalidDBClusterEndpointStateFault"
  4967  //   The requested operation cannot be performed on the endpoint while the endpoint
  4968  //   is in this state.
  4969  //
  4970  //   * ErrCodeDBClusterEndpointNotFoundFault "DBClusterEndpointNotFoundFault"
  4971  //   The specified custom endpoint doesn't exist.
  4972  //
  4973  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  4974  //   DBInstanceIdentifier does not refer to an existing DB instance.
  4975  //
  4976  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  4977  //   The specified DB instance is not in the available state.
  4978  //
  4979  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBClusterEndpoint
  4980  func (c *Neptune) ModifyDBClusterEndpoint(input *ModifyDBClusterEndpointInput) (*ModifyDBClusterEndpointOutput, error) {
  4981  	req, out := c.ModifyDBClusterEndpointRequest(input)
  4982  	return out, req.Send()
  4983  }
  4984  
  4985  // ModifyDBClusterEndpointWithContext is the same as ModifyDBClusterEndpoint with the addition of
  4986  // the ability to pass a context and additional request options.
  4987  //
  4988  // See ModifyDBClusterEndpoint for details on how to use this API operation.
  4989  //
  4990  // The context must be non-nil and will be used for request cancellation. If
  4991  // the context is nil a panic will occur. In the future the SDK may create
  4992  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4993  // for more information on using Contexts.
  4994  func (c *Neptune) ModifyDBClusterEndpointWithContext(ctx aws.Context, input *ModifyDBClusterEndpointInput, opts ...request.Option) (*ModifyDBClusterEndpointOutput, error) {
  4995  	req, out := c.ModifyDBClusterEndpointRequest(input)
  4996  	req.SetContext(ctx)
  4997  	req.ApplyOptions(opts...)
  4998  	return out, req.Send()
  4999  }
  5000  
  5001  const opModifyDBClusterParameterGroup = "ModifyDBClusterParameterGroup"
  5002  
  5003  // ModifyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
  5004  // client's request for the ModifyDBClusterParameterGroup operation. The "output" return
  5005  // value will be populated with the request's response once the request completes
  5006  // successfully.
  5007  //
  5008  // Use "Send" method on the returned Request to send the API call to the service.
  5009  // the "output" return value is not valid until after Send returns without error.
  5010  //
  5011  // See ModifyDBClusterParameterGroup for more information on using the ModifyDBClusterParameterGroup
  5012  // API call, and error handling.
  5013  //
  5014  // This method is useful when you want to inject custom logic or configuration
  5015  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5016  //
  5017  //
  5018  //    // Example sending a request using the ModifyDBClusterParameterGroupRequest method.
  5019  //    req, resp := client.ModifyDBClusterParameterGroupRequest(params)
  5020  //
  5021  //    err := req.Send()
  5022  //    if err == nil { // resp is now filled
  5023  //        fmt.Println(resp)
  5024  //    }
  5025  //
  5026  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBClusterParameterGroup
  5027  func (c *Neptune) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParameterGroupInput) (req *request.Request, output *ResetDBClusterParameterGroupOutput) {
  5028  	op := &request.Operation{
  5029  		Name:       opModifyDBClusterParameterGroup,
  5030  		HTTPMethod: "POST",
  5031  		HTTPPath:   "/",
  5032  	}
  5033  
  5034  	if input == nil {
  5035  		input = &ModifyDBClusterParameterGroupInput{}
  5036  	}
  5037  
  5038  	output = &ResetDBClusterParameterGroupOutput{}
  5039  	req = c.newRequest(op, input, output)
  5040  	return
  5041  }
  5042  
  5043  // ModifyDBClusterParameterGroup API operation for Amazon Neptune.
  5044  //
  5045  // Modifies the parameters of a DB cluster parameter group. To modify more than
  5046  // one parameter, submit a list of the following: ParameterName, ParameterValue,
  5047  // and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
  5048  //
  5049  // Changes to dynamic parameters are applied immediately. Changes to static
  5050  // parameters require a reboot without failover to the DB cluster associated
  5051  // with the parameter group before the change can take effect.
  5052  //
  5053  // After you create a DB cluster parameter group, you should wait at least 5
  5054  // minutes before creating your first DB cluster that uses that DB cluster parameter
  5055  // group as the default parameter group. This allows Amazon Neptune to fully
  5056  // complete the create action before the parameter group is used as the default
  5057  // for a new DB cluster. This is especially important for parameters that are
  5058  // critical when creating the default database for a DB cluster, such as the
  5059  // character set for the default database defined by the character_set_database
  5060  // parameter. You can use the Parameter Groups option of the Amazon Neptune
  5061  // console or the DescribeDBClusterParameters command to verify that your DB
  5062  // cluster parameter group has been created or modified.
  5063  //
  5064  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5065  // with awserr.Error's Code and Message methods to get detailed information about
  5066  // the error.
  5067  //
  5068  // See the AWS API reference guide for Amazon Neptune's
  5069  // API operation ModifyDBClusterParameterGroup for usage and error information.
  5070  //
  5071  // Returned Error Codes:
  5072  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  5073  //   DBParameterGroupName does not refer to an existing DB parameter group.
  5074  //
  5075  //   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
  5076  //   The DB parameter group is in use or is in an invalid state. If you are attempting
  5077  //   to delete the parameter group, you cannot delete it when the parameter group
  5078  //   is in this state.
  5079  //
  5080  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBClusterParameterGroup
  5081  func (c *Neptune) ModifyDBClusterParameterGroup(input *ModifyDBClusterParameterGroupInput) (*ResetDBClusterParameterGroupOutput, error) {
  5082  	req, out := c.ModifyDBClusterParameterGroupRequest(input)
  5083  	return out, req.Send()
  5084  }
  5085  
  5086  // ModifyDBClusterParameterGroupWithContext is the same as ModifyDBClusterParameterGroup with the addition of
  5087  // the ability to pass a context and additional request options.
  5088  //
  5089  // See ModifyDBClusterParameterGroup for details on how to use this API operation.
  5090  //
  5091  // The context must be non-nil and will be used for request cancellation. If
  5092  // the context is nil a panic will occur. In the future the SDK may create
  5093  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5094  // for more information on using Contexts.
  5095  func (c *Neptune) ModifyDBClusterParameterGroupWithContext(ctx aws.Context, input *ModifyDBClusterParameterGroupInput, opts ...request.Option) (*ResetDBClusterParameterGroupOutput, error) {
  5096  	req, out := c.ModifyDBClusterParameterGroupRequest(input)
  5097  	req.SetContext(ctx)
  5098  	req.ApplyOptions(opts...)
  5099  	return out, req.Send()
  5100  }
  5101  
  5102  const opModifyDBClusterSnapshotAttribute = "ModifyDBClusterSnapshotAttribute"
  5103  
  5104  // ModifyDBClusterSnapshotAttributeRequest generates a "aws/request.Request" representing the
  5105  // client's request for the ModifyDBClusterSnapshotAttribute operation. The "output" return
  5106  // value will be populated with the request's response once the request completes
  5107  // successfully.
  5108  //
  5109  // Use "Send" method on the returned Request to send the API call to the service.
  5110  // the "output" return value is not valid until after Send returns without error.
  5111  //
  5112  // See ModifyDBClusterSnapshotAttribute for more information on using the ModifyDBClusterSnapshotAttribute
  5113  // API call, and error handling.
  5114  //
  5115  // This method is useful when you want to inject custom logic or configuration
  5116  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5117  //
  5118  //
  5119  //    // Example sending a request using the ModifyDBClusterSnapshotAttributeRequest method.
  5120  //    req, resp := client.ModifyDBClusterSnapshotAttributeRequest(params)
  5121  //
  5122  //    err := req.Send()
  5123  //    if err == nil { // resp is now filled
  5124  //        fmt.Println(resp)
  5125  //    }
  5126  //
  5127  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBClusterSnapshotAttribute
  5128  func (c *Neptune) ModifyDBClusterSnapshotAttributeRequest(input *ModifyDBClusterSnapshotAttributeInput) (req *request.Request, output *ModifyDBClusterSnapshotAttributeOutput) {
  5129  	op := &request.Operation{
  5130  		Name:       opModifyDBClusterSnapshotAttribute,
  5131  		HTTPMethod: "POST",
  5132  		HTTPPath:   "/",
  5133  	}
  5134  
  5135  	if input == nil {
  5136  		input = &ModifyDBClusterSnapshotAttributeInput{}
  5137  	}
  5138  
  5139  	output = &ModifyDBClusterSnapshotAttributeOutput{}
  5140  	req = c.newRequest(op, input, output)
  5141  	return
  5142  }
  5143  
  5144  // ModifyDBClusterSnapshotAttribute API operation for Amazon Neptune.
  5145  //
  5146  // Adds an attribute and values to, or removes an attribute and values from,
  5147  // a manual DB cluster snapshot.
  5148  //
  5149  // To share a manual DB cluster snapshot with other Amazon accounts, specify
  5150  // restore as the AttributeName and use the ValuesToAdd parameter to add a list
  5151  // of IDs of the Amazon accounts that are authorized to restore the manual DB
  5152  // cluster snapshot. Use the value all to make the manual DB cluster snapshot
  5153  // public, which means that it can be copied or restored by all Amazon accounts.
  5154  // Do not add the all value for any manual DB cluster snapshots that contain
  5155  // private information that you don't want available to all Amazon accounts.
  5156  // If a manual DB cluster snapshot is encrypted, it can be shared, but only
  5157  // by specifying a list of authorized Amazon account IDs for the ValuesToAdd
  5158  // parameter. You can't use all as a value for that parameter in this case.
  5159  //
  5160  // To view which Amazon accounts have access to copy or restore a manual DB
  5161  // cluster snapshot, or whether a manual DB cluster snapshot public or private,
  5162  // use the DescribeDBClusterSnapshotAttributes API action.
  5163  //
  5164  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5165  // with awserr.Error's Code and Message methods to get detailed information about
  5166  // the error.
  5167  //
  5168  // See the AWS API reference guide for Amazon Neptune's
  5169  // API operation ModifyDBClusterSnapshotAttribute for usage and error information.
  5170  //
  5171  // Returned Error Codes:
  5172  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
  5173  //   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
  5174  //
  5175  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
  5176  //   The supplied value is not a valid DB cluster snapshot state.
  5177  //
  5178  //   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
  5179  //   You have exceeded the maximum number of accounts that you can share a manual
  5180  //   DB snapshot with.
  5181  //
  5182  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBClusterSnapshotAttribute
  5183  func (c *Neptune) ModifyDBClusterSnapshotAttribute(input *ModifyDBClusterSnapshotAttributeInput) (*ModifyDBClusterSnapshotAttributeOutput, error) {
  5184  	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
  5185  	return out, req.Send()
  5186  }
  5187  
  5188  // ModifyDBClusterSnapshotAttributeWithContext is the same as ModifyDBClusterSnapshotAttribute with the addition of
  5189  // the ability to pass a context and additional request options.
  5190  //
  5191  // See ModifyDBClusterSnapshotAttribute for details on how to use this API operation.
  5192  //
  5193  // The context must be non-nil and will be used for request cancellation. If
  5194  // the context is nil a panic will occur. In the future the SDK may create
  5195  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5196  // for more information on using Contexts.
  5197  func (c *Neptune) ModifyDBClusterSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBClusterSnapshotAttributeInput, opts ...request.Option) (*ModifyDBClusterSnapshotAttributeOutput, error) {
  5198  	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
  5199  	req.SetContext(ctx)
  5200  	req.ApplyOptions(opts...)
  5201  	return out, req.Send()
  5202  }
  5203  
  5204  const opModifyDBInstance = "ModifyDBInstance"
  5205  
  5206  // ModifyDBInstanceRequest generates a "aws/request.Request" representing the
  5207  // client's request for the ModifyDBInstance operation. The "output" return
  5208  // value will be populated with the request's response once the request completes
  5209  // successfully.
  5210  //
  5211  // Use "Send" method on the returned Request to send the API call to the service.
  5212  // the "output" return value is not valid until after Send returns without error.
  5213  //
  5214  // See ModifyDBInstance for more information on using the ModifyDBInstance
  5215  // API call, and error handling.
  5216  //
  5217  // This method is useful when you want to inject custom logic or configuration
  5218  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5219  //
  5220  //
  5221  //    // Example sending a request using the ModifyDBInstanceRequest method.
  5222  //    req, resp := client.ModifyDBInstanceRequest(params)
  5223  //
  5224  //    err := req.Send()
  5225  //    if err == nil { // resp is now filled
  5226  //        fmt.Println(resp)
  5227  //    }
  5228  //
  5229  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBInstance
  5230  func (c *Neptune) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *request.Request, output *ModifyDBInstanceOutput) {
  5231  	op := &request.Operation{
  5232  		Name:       opModifyDBInstance,
  5233  		HTTPMethod: "POST",
  5234  		HTTPPath:   "/",
  5235  	}
  5236  
  5237  	if input == nil {
  5238  		input = &ModifyDBInstanceInput{}
  5239  	}
  5240  
  5241  	output = &ModifyDBInstanceOutput{}
  5242  	req = c.newRequest(op, input, output)
  5243  	return
  5244  }
  5245  
  5246  // ModifyDBInstance API operation for Amazon Neptune.
  5247  //
  5248  // Modifies settings for a DB instance. You can change one or more database
  5249  // configuration parameters by specifying these parameters and the new values
  5250  // in the request. To learn what modifications you can make to your DB instance,
  5251  // call DescribeValidDBInstanceModifications before you call ModifyDBInstance.
  5252  //
  5253  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5254  // with awserr.Error's Code and Message methods to get detailed information about
  5255  // the error.
  5256  //
  5257  // See the AWS API reference guide for Amazon Neptune's
  5258  // API operation ModifyDBInstance for usage and error information.
  5259  //
  5260  // Returned Error Codes:
  5261  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  5262  //   The specified DB instance is not in the available state.
  5263  //
  5264  //   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
  5265  //   The state of the DB security group does not allow deletion.
  5266  //
  5267  //   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
  5268  //   User already has a DB instance with the given identifier.
  5269  //
  5270  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  5271  //   DBInstanceIdentifier does not refer to an existing DB instance.
  5272  //
  5273  //   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
  5274  //   DBSecurityGroupName does not refer to an existing DB security group.
  5275  //
  5276  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  5277  //   DBParameterGroupName does not refer to an existing DB parameter group.
  5278  //
  5279  //   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
  5280  //   Specified DB instance class is not available in the specified Availability
  5281  //   Zone.
  5282  //
  5283  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
  5284  //   Request would result in user exceeding the allowed amount of storage available
  5285  //   across all DB instances.
  5286  //
  5287  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
  5288  //   DB subnet group does not cover all Availability Zones after it is created
  5289  //   because users' change.
  5290  //
  5291  //   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
  5292  //   Provisioned IOPS not available in the specified Availability Zone.
  5293  //
  5294  //   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
  5295  //   The designated option group could not be found.
  5296  //
  5297  //   * ErrCodeDBUpgradeDependencyFailureFault "DBUpgradeDependencyFailure"
  5298  //   The DB upgrade failed because a resource the DB depends on could not be modified.
  5299  //
  5300  //   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
  5301  //   StorageType specified cannot be associated with the DB Instance.
  5302  //
  5303  //   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
  5304  //   Specified CIDRIP or EC2 security group is not authorized for the specified
  5305  //   DB security group.
  5306  //
  5307  //   Neptune may not also be authorized via IAM to perform necessary actions on
  5308  //   your behalf.
  5309  //
  5310  //   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
  5311  //   CertificateIdentifier does not refer to an existing certificate.
  5312  //
  5313  //   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
  5314  //   Domain does not refer to an existing Active Directory Domain.
  5315  //
  5316  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBInstance
  5317  func (c *Neptune) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) {
  5318  	req, out := c.ModifyDBInstanceRequest(input)
  5319  	return out, req.Send()
  5320  }
  5321  
  5322  // ModifyDBInstanceWithContext is the same as ModifyDBInstance with the addition of
  5323  // the ability to pass a context and additional request options.
  5324  //
  5325  // See ModifyDBInstance for details on how to use this API operation.
  5326  //
  5327  // The context must be non-nil and will be used for request cancellation. If
  5328  // the context is nil a panic will occur. In the future the SDK may create
  5329  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5330  // for more information on using Contexts.
  5331  func (c *Neptune) ModifyDBInstanceWithContext(ctx aws.Context, input *ModifyDBInstanceInput, opts ...request.Option) (*ModifyDBInstanceOutput, error) {
  5332  	req, out := c.ModifyDBInstanceRequest(input)
  5333  	req.SetContext(ctx)
  5334  	req.ApplyOptions(opts...)
  5335  	return out, req.Send()
  5336  }
  5337  
  5338  const opModifyDBParameterGroup = "ModifyDBParameterGroup"
  5339  
  5340  // ModifyDBParameterGroupRequest generates a "aws/request.Request" representing the
  5341  // client's request for the ModifyDBParameterGroup operation. The "output" return
  5342  // value will be populated with the request's response once the request completes
  5343  // successfully.
  5344  //
  5345  // Use "Send" method on the returned Request to send the API call to the service.
  5346  // the "output" return value is not valid until after Send returns without error.
  5347  //
  5348  // See ModifyDBParameterGroup for more information on using the ModifyDBParameterGroup
  5349  // API call, and error handling.
  5350  //
  5351  // This method is useful when you want to inject custom logic or configuration
  5352  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5353  //
  5354  //
  5355  //    // Example sending a request using the ModifyDBParameterGroupRequest method.
  5356  //    req, resp := client.ModifyDBParameterGroupRequest(params)
  5357  //
  5358  //    err := req.Send()
  5359  //    if err == nil { // resp is now filled
  5360  //        fmt.Println(resp)
  5361  //    }
  5362  //
  5363  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBParameterGroup
  5364  func (c *Neptune) ModifyDBParameterGroupRequest(input *ModifyDBParameterGroupInput) (req *request.Request, output *ResetDBParameterGroupOutput) {
  5365  	op := &request.Operation{
  5366  		Name:       opModifyDBParameterGroup,
  5367  		HTTPMethod: "POST",
  5368  		HTTPPath:   "/",
  5369  	}
  5370  
  5371  	if input == nil {
  5372  		input = &ModifyDBParameterGroupInput{}
  5373  	}
  5374  
  5375  	output = &ResetDBParameterGroupOutput{}
  5376  	req = c.newRequest(op, input, output)
  5377  	return
  5378  }
  5379  
  5380  // ModifyDBParameterGroup API operation for Amazon Neptune.
  5381  //
  5382  // Modifies the parameters of a DB parameter group. To modify more than one
  5383  // parameter, submit a list of the following: ParameterName, ParameterValue,
  5384  // and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
  5385  //
  5386  // Changes to dynamic parameters are applied immediately. Changes to static
  5387  // parameters require a reboot without failover to the DB instance associated
  5388  // with the parameter group before the change can take effect.
  5389  //
  5390  // After you modify a DB parameter group, you should wait at least 5 minutes
  5391  // before creating your first DB instance that uses that DB parameter group
  5392  // as the default parameter group. This allows Amazon Neptune to fully complete
  5393  // the modify action before the parameter group is used as the default for a
  5394  // new DB instance. This is especially important for parameters that are critical
  5395  // when creating the default database for a DB instance, such as the character
  5396  // set for the default database defined by the character_set_database parameter.
  5397  // You can use the Parameter Groups option of the Amazon Neptune console or
  5398  // the DescribeDBParameters command to verify that your DB parameter group has
  5399  // been created or modified.
  5400  //
  5401  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5402  // with awserr.Error's Code and Message methods to get detailed information about
  5403  // the error.
  5404  //
  5405  // See the AWS API reference guide for Amazon Neptune's
  5406  // API operation ModifyDBParameterGroup for usage and error information.
  5407  //
  5408  // Returned Error Codes:
  5409  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  5410  //   DBParameterGroupName does not refer to an existing DB parameter group.
  5411  //
  5412  //   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
  5413  //   The DB parameter group is in use or is in an invalid state. If you are attempting
  5414  //   to delete the parameter group, you cannot delete it when the parameter group
  5415  //   is in this state.
  5416  //
  5417  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBParameterGroup
  5418  func (c *Neptune) ModifyDBParameterGroup(input *ModifyDBParameterGroupInput) (*ResetDBParameterGroupOutput, error) {
  5419  	req, out := c.ModifyDBParameterGroupRequest(input)
  5420  	return out, req.Send()
  5421  }
  5422  
  5423  // ModifyDBParameterGroupWithContext is the same as ModifyDBParameterGroup with the addition of
  5424  // the ability to pass a context and additional request options.
  5425  //
  5426  // See ModifyDBParameterGroup for details on how to use this API operation.
  5427  //
  5428  // The context must be non-nil and will be used for request cancellation. If
  5429  // the context is nil a panic will occur. In the future the SDK may create
  5430  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5431  // for more information on using Contexts.
  5432  func (c *Neptune) ModifyDBParameterGroupWithContext(ctx aws.Context, input *ModifyDBParameterGroupInput, opts ...request.Option) (*ResetDBParameterGroupOutput, error) {
  5433  	req, out := c.ModifyDBParameterGroupRequest(input)
  5434  	req.SetContext(ctx)
  5435  	req.ApplyOptions(opts...)
  5436  	return out, req.Send()
  5437  }
  5438  
  5439  const opModifyDBSubnetGroup = "ModifyDBSubnetGroup"
  5440  
  5441  // ModifyDBSubnetGroupRequest generates a "aws/request.Request" representing the
  5442  // client's request for the ModifyDBSubnetGroup operation. The "output" return
  5443  // value will be populated with the request's response once the request completes
  5444  // successfully.
  5445  //
  5446  // Use "Send" method on the returned Request to send the API call to the service.
  5447  // the "output" return value is not valid until after Send returns without error.
  5448  //
  5449  // See ModifyDBSubnetGroup for more information on using the ModifyDBSubnetGroup
  5450  // API call, and error handling.
  5451  //
  5452  // This method is useful when you want to inject custom logic or configuration
  5453  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5454  //
  5455  //
  5456  //    // Example sending a request using the ModifyDBSubnetGroupRequest method.
  5457  //    req, resp := client.ModifyDBSubnetGroupRequest(params)
  5458  //
  5459  //    err := req.Send()
  5460  //    if err == nil { // resp is now filled
  5461  //        fmt.Println(resp)
  5462  //    }
  5463  //
  5464  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBSubnetGroup
  5465  func (c *Neptune) ModifyDBSubnetGroupRequest(input *ModifyDBSubnetGroupInput) (req *request.Request, output *ModifyDBSubnetGroupOutput) {
  5466  	op := &request.Operation{
  5467  		Name:       opModifyDBSubnetGroup,
  5468  		HTTPMethod: "POST",
  5469  		HTTPPath:   "/",
  5470  	}
  5471  
  5472  	if input == nil {
  5473  		input = &ModifyDBSubnetGroupInput{}
  5474  	}
  5475  
  5476  	output = &ModifyDBSubnetGroupOutput{}
  5477  	req = c.newRequest(op, input, output)
  5478  	return
  5479  }
  5480  
  5481  // ModifyDBSubnetGroup API operation for Amazon Neptune.
  5482  //
  5483  // Modifies an existing DB subnet group. DB subnet groups must contain at least
  5484  // one subnet in at least two AZs in the Amazon Region.
  5485  //
  5486  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5487  // with awserr.Error's Code and Message methods to get detailed information about
  5488  // the error.
  5489  //
  5490  // See the AWS API reference guide for Amazon Neptune's
  5491  // API operation ModifyDBSubnetGroup for usage and error information.
  5492  //
  5493  // Returned Error Codes:
  5494  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  5495  //   DBSubnetGroupName does not refer to an existing DB subnet group.
  5496  //
  5497  //   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
  5498  //   Request would result in user exceeding the allowed number of subnets in a
  5499  //   DB subnet groups.
  5500  //
  5501  //   * ErrCodeSubnetAlreadyInUse "SubnetAlreadyInUse"
  5502  //   The DB subnet is already in use in the Availability Zone.
  5503  //
  5504  //   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
  5505  //   Subnets in the DB subnet group should cover at least two Availability Zones
  5506  //   unless there is only one Availability Zone.
  5507  //
  5508  //   * ErrCodeInvalidSubnet "InvalidSubnet"
  5509  //   The requested subnet is invalid, or multiple subnets were requested that
  5510  //   are not all in a common VPC.
  5511  //
  5512  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBSubnetGroup
  5513  func (c *Neptune) ModifyDBSubnetGroup(input *ModifyDBSubnetGroupInput) (*ModifyDBSubnetGroupOutput, error) {
  5514  	req, out := c.ModifyDBSubnetGroupRequest(input)
  5515  	return out, req.Send()
  5516  }
  5517  
  5518  // ModifyDBSubnetGroupWithContext is the same as ModifyDBSubnetGroup with the addition of
  5519  // the ability to pass a context and additional request options.
  5520  //
  5521  // See ModifyDBSubnetGroup for details on how to use this API operation.
  5522  //
  5523  // The context must be non-nil and will be used for request cancellation. If
  5524  // the context is nil a panic will occur. In the future the SDK may create
  5525  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5526  // for more information on using Contexts.
  5527  func (c *Neptune) ModifyDBSubnetGroupWithContext(ctx aws.Context, input *ModifyDBSubnetGroupInput, opts ...request.Option) (*ModifyDBSubnetGroupOutput, error) {
  5528  	req, out := c.ModifyDBSubnetGroupRequest(input)
  5529  	req.SetContext(ctx)
  5530  	req.ApplyOptions(opts...)
  5531  	return out, req.Send()
  5532  }
  5533  
  5534  const opModifyEventSubscription = "ModifyEventSubscription"
  5535  
  5536  // ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the
  5537  // client's request for the ModifyEventSubscription operation. The "output" return
  5538  // value will be populated with the request's response once the request completes
  5539  // successfully.
  5540  //
  5541  // Use "Send" method on the returned Request to send the API call to the service.
  5542  // the "output" return value is not valid until after Send returns without error.
  5543  //
  5544  // See ModifyEventSubscription for more information on using the ModifyEventSubscription
  5545  // API call, and error handling.
  5546  //
  5547  // This method is useful when you want to inject custom logic or configuration
  5548  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5549  //
  5550  //
  5551  //    // Example sending a request using the ModifyEventSubscriptionRequest method.
  5552  //    req, resp := client.ModifyEventSubscriptionRequest(params)
  5553  //
  5554  //    err := req.Send()
  5555  //    if err == nil { // resp is now filled
  5556  //        fmt.Println(resp)
  5557  //    }
  5558  //
  5559  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyEventSubscription
  5560  func (c *Neptune) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) {
  5561  	op := &request.Operation{
  5562  		Name:       opModifyEventSubscription,
  5563  		HTTPMethod: "POST",
  5564  		HTTPPath:   "/",
  5565  	}
  5566  
  5567  	if input == nil {
  5568  		input = &ModifyEventSubscriptionInput{}
  5569  	}
  5570  
  5571  	output = &ModifyEventSubscriptionOutput{}
  5572  	req = c.newRequest(op, input, output)
  5573  	return
  5574  }
  5575  
  5576  // ModifyEventSubscription API operation for Amazon Neptune.
  5577  //
  5578  // Modifies an existing event notification subscription. Note that you can't
  5579  // modify the source identifiers using this call; to change source identifiers
  5580  // for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription
  5581  // calls.
  5582  //
  5583  // You can see a list of the event categories for a given SourceType by using
  5584  // the DescribeEventCategories action.
  5585  //
  5586  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5587  // with awserr.Error's Code and Message methods to get detailed information about
  5588  // the error.
  5589  //
  5590  // See the AWS API reference guide for Amazon Neptune's
  5591  // API operation ModifyEventSubscription for usage and error information.
  5592  //
  5593  // Returned Error Codes:
  5594  //   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
  5595  //   You have exceeded the number of events you can subscribe to.
  5596  //
  5597  //   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
  5598  //   The designated subscription could not be found.
  5599  //
  5600  //   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
  5601  //   The SNS topic is invalid.
  5602  //
  5603  //   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
  5604  //   There is no SNS authorization.
  5605  //
  5606  //   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
  5607  //   The ARN of the SNS topic could not be found.
  5608  //
  5609  //   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
  5610  //   The designated subscription category could not be found.
  5611  //
  5612  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyEventSubscription
  5613  func (c *Neptune) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) {
  5614  	req, out := c.ModifyEventSubscriptionRequest(input)
  5615  	return out, req.Send()
  5616  }
  5617  
  5618  // ModifyEventSubscriptionWithContext is the same as ModifyEventSubscription with the addition of
  5619  // the ability to pass a context and additional request options.
  5620  //
  5621  // See ModifyEventSubscription for details on how to use this API operation.
  5622  //
  5623  // The context must be non-nil and will be used for request cancellation. If
  5624  // the context is nil a panic will occur. In the future the SDK may create
  5625  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5626  // for more information on using Contexts.
  5627  func (c *Neptune) ModifyEventSubscriptionWithContext(ctx aws.Context, input *ModifyEventSubscriptionInput, opts ...request.Option) (*ModifyEventSubscriptionOutput, error) {
  5628  	req, out := c.ModifyEventSubscriptionRequest(input)
  5629  	req.SetContext(ctx)
  5630  	req.ApplyOptions(opts...)
  5631  	return out, req.Send()
  5632  }
  5633  
  5634  const opPromoteReadReplicaDBCluster = "PromoteReadReplicaDBCluster"
  5635  
  5636  // PromoteReadReplicaDBClusterRequest generates a "aws/request.Request" representing the
  5637  // client's request for the PromoteReadReplicaDBCluster operation. The "output" return
  5638  // value will be populated with the request's response once the request completes
  5639  // successfully.
  5640  //
  5641  // Use "Send" method on the returned Request to send the API call to the service.
  5642  // the "output" return value is not valid until after Send returns without error.
  5643  //
  5644  // See PromoteReadReplicaDBCluster for more information on using the PromoteReadReplicaDBCluster
  5645  // API call, and error handling.
  5646  //
  5647  // This method is useful when you want to inject custom logic or configuration
  5648  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5649  //
  5650  //
  5651  //    // Example sending a request using the PromoteReadReplicaDBClusterRequest method.
  5652  //    req, resp := client.PromoteReadReplicaDBClusterRequest(params)
  5653  //
  5654  //    err := req.Send()
  5655  //    if err == nil { // resp is now filled
  5656  //        fmt.Println(resp)
  5657  //    }
  5658  //
  5659  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/PromoteReadReplicaDBCluster
  5660  func (c *Neptune) PromoteReadReplicaDBClusterRequest(input *PromoteReadReplicaDBClusterInput) (req *request.Request, output *PromoteReadReplicaDBClusterOutput) {
  5661  	op := &request.Operation{
  5662  		Name:       opPromoteReadReplicaDBCluster,
  5663  		HTTPMethod: "POST",
  5664  		HTTPPath:   "/",
  5665  	}
  5666  
  5667  	if input == nil {
  5668  		input = &PromoteReadReplicaDBClusterInput{}
  5669  	}
  5670  
  5671  	output = &PromoteReadReplicaDBClusterOutput{}
  5672  	req = c.newRequest(op, input, output)
  5673  	return
  5674  }
  5675  
  5676  // PromoteReadReplicaDBCluster API operation for Amazon Neptune.
  5677  //
  5678  // Not supported.
  5679  //
  5680  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5681  // with awserr.Error's Code and Message methods to get detailed information about
  5682  // the error.
  5683  //
  5684  // See the AWS API reference guide for Amazon Neptune's
  5685  // API operation PromoteReadReplicaDBCluster for usage and error information.
  5686  //
  5687  // Returned Error Codes:
  5688  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  5689  //   DBClusterIdentifier does not refer to an existing DB cluster.
  5690  //
  5691  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  5692  //   The DB cluster is not in a valid state.
  5693  //
  5694  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/PromoteReadReplicaDBCluster
  5695  func (c *Neptune) PromoteReadReplicaDBCluster(input *PromoteReadReplicaDBClusterInput) (*PromoteReadReplicaDBClusterOutput, error) {
  5696  	req, out := c.PromoteReadReplicaDBClusterRequest(input)
  5697  	return out, req.Send()
  5698  }
  5699  
  5700  // PromoteReadReplicaDBClusterWithContext is the same as PromoteReadReplicaDBCluster with the addition of
  5701  // the ability to pass a context and additional request options.
  5702  //
  5703  // See PromoteReadReplicaDBCluster for details on how to use this API operation.
  5704  //
  5705  // The context must be non-nil and will be used for request cancellation. If
  5706  // the context is nil a panic will occur. In the future the SDK may create
  5707  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5708  // for more information on using Contexts.
  5709  func (c *Neptune) PromoteReadReplicaDBClusterWithContext(ctx aws.Context, input *PromoteReadReplicaDBClusterInput, opts ...request.Option) (*PromoteReadReplicaDBClusterOutput, error) {
  5710  	req, out := c.PromoteReadReplicaDBClusterRequest(input)
  5711  	req.SetContext(ctx)
  5712  	req.ApplyOptions(opts...)
  5713  	return out, req.Send()
  5714  }
  5715  
  5716  const opRebootDBInstance = "RebootDBInstance"
  5717  
  5718  // RebootDBInstanceRequest generates a "aws/request.Request" representing the
  5719  // client's request for the RebootDBInstance operation. The "output" return
  5720  // value will be populated with the request's response once the request completes
  5721  // successfully.
  5722  //
  5723  // Use "Send" method on the returned Request to send the API call to the service.
  5724  // the "output" return value is not valid until after Send returns without error.
  5725  //
  5726  // See RebootDBInstance for more information on using the RebootDBInstance
  5727  // API call, and error handling.
  5728  //
  5729  // This method is useful when you want to inject custom logic or configuration
  5730  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5731  //
  5732  //
  5733  //    // Example sending a request using the RebootDBInstanceRequest method.
  5734  //    req, resp := client.RebootDBInstanceRequest(params)
  5735  //
  5736  //    err := req.Send()
  5737  //    if err == nil { // resp is now filled
  5738  //        fmt.Println(resp)
  5739  //    }
  5740  //
  5741  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RebootDBInstance
  5742  func (c *Neptune) RebootDBInstanceRequest(input *RebootDBInstanceInput) (req *request.Request, output *RebootDBInstanceOutput) {
  5743  	op := &request.Operation{
  5744  		Name:       opRebootDBInstance,
  5745  		HTTPMethod: "POST",
  5746  		HTTPPath:   "/",
  5747  	}
  5748  
  5749  	if input == nil {
  5750  		input = &RebootDBInstanceInput{}
  5751  	}
  5752  
  5753  	output = &RebootDBInstanceOutput{}
  5754  	req = c.newRequest(op, input, output)
  5755  	return
  5756  }
  5757  
  5758  // RebootDBInstance API operation for Amazon Neptune.
  5759  //
  5760  // You might need to reboot your DB instance, usually for maintenance reasons.
  5761  // For example, if you make certain modifications, or if you change the DB parameter
  5762  // group associated with the DB instance, you must reboot the instance for the
  5763  // changes to take effect.
  5764  //
  5765  // Rebooting a DB instance restarts the database engine service. Rebooting a
  5766  // DB instance results in a momentary outage, during which the DB instance status
  5767  // is set to rebooting.
  5768  //
  5769  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5770  // with awserr.Error's Code and Message methods to get detailed information about
  5771  // the error.
  5772  //
  5773  // See the AWS API reference guide for Amazon Neptune's
  5774  // API operation RebootDBInstance for usage and error information.
  5775  //
  5776  // Returned Error Codes:
  5777  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  5778  //   The specified DB instance is not in the available state.
  5779  //
  5780  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  5781  //   DBInstanceIdentifier does not refer to an existing DB instance.
  5782  //
  5783  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RebootDBInstance
  5784  func (c *Neptune) RebootDBInstance(input *RebootDBInstanceInput) (*RebootDBInstanceOutput, error) {
  5785  	req, out := c.RebootDBInstanceRequest(input)
  5786  	return out, req.Send()
  5787  }
  5788  
  5789  // RebootDBInstanceWithContext is the same as RebootDBInstance with the addition of
  5790  // the ability to pass a context and additional request options.
  5791  //
  5792  // See RebootDBInstance for details on how to use this API operation.
  5793  //
  5794  // The context must be non-nil and will be used for request cancellation. If
  5795  // the context is nil a panic will occur. In the future the SDK may create
  5796  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5797  // for more information on using Contexts.
  5798  func (c *Neptune) RebootDBInstanceWithContext(ctx aws.Context, input *RebootDBInstanceInput, opts ...request.Option) (*RebootDBInstanceOutput, error) {
  5799  	req, out := c.RebootDBInstanceRequest(input)
  5800  	req.SetContext(ctx)
  5801  	req.ApplyOptions(opts...)
  5802  	return out, req.Send()
  5803  }
  5804  
  5805  const opRemoveRoleFromDBCluster = "RemoveRoleFromDBCluster"
  5806  
  5807  // RemoveRoleFromDBClusterRequest generates a "aws/request.Request" representing the
  5808  // client's request for the RemoveRoleFromDBCluster operation. The "output" return
  5809  // value will be populated with the request's response once the request completes
  5810  // successfully.
  5811  //
  5812  // Use "Send" method on the returned Request to send the API call to the service.
  5813  // the "output" return value is not valid until after Send returns without error.
  5814  //
  5815  // See RemoveRoleFromDBCluster for more information on using the RemoveRoleFromDBCluster
  5816  // API call, and error handling.
  5817  //
  5818  // This method is useful when you want to inject custom logic or configuration
  5819  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5820  //
  5821  //
  5822  //    // Example sending a request using the RemoveRoleFromDBClusterRequest method.
  5823  //    req, resp := client.RemoveRoleFromDBClusterRequest(params)
  5824  //
  5825  //    err := req.Send()
  5826  //    if err == nil { // resp is now filled
  5827  //        fmt.Println(resp)
  5828  //    }
  5829  //
  5830  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RemoveRoleFromDBCluster
  5831  func (c *Neptune) RemoveRoleFromDBClusterRequest(input *RemoveRoleFromDBClusterInput) (req *request.Request, output *RemoveRoleFromDBClusterOutput) {
  5832  	op := &request.Operation{
  5833  		Name:       opRemoveRoleFromDBCluster,
  5834  		HTTPMethod: "POST",
  5835  		HTTPPath:   "/",
  5836  	}
  5837  
  5838  	if input == nil {
  5839  		input = &RemoveRoleFromDBClusterInput{}
  5840  	}
  5841  
  5842  	output = &RemoveRoleFromDBClusterOutput{}
  5843  	req = c.newRequest(op, input, output)
  5844  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5845  	return
  5846  }
  5847  
  5848  // RemoveRoleFromDBCluster API operation for Amazon Neptune.
  5849  //
  5850  // Disassociates an Identity and Access Management (IAM) role from a DB cluster.
  5851  //
  5852  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5853  // with awserr.Error's Code and Message methods to get detailed information about
  5854  // the error.
  5855  //
  5856  // See the AWS API reference guide for Amazon Neptune's
  5857  // API operation RemoveRoleFromDBCluster for usage and error information.
  5858  //
  5859  // Returned Error Codes:
  5860  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  5861  //   DBClusterIdentifier does not refer to an existing DB cluster.
  5862  //
  5863  //   * ErrCodeDBClusterRoleNotFoundFault "DBClusterRoleNotFound"
  5864  //   The specified IAM role Amazon Resource Name (ARN) is not associated with
  5865  //   the specified DB cluster.
  5866  //
  5867  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  5868  //   The DB cluster is not in a valid state.
  5869  //
  5870  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RemoveRoleFromDBCluster
  5871  func (c *Neptune) RemoveRoleFromDBCluster(input *RemoveRoleFromDBClusterInput) (*RemoveRoleFromDBClusterOutput, error) {
  5872  	req, out := c.RemoveRoleFromDBClusterRequest(input)
  5873  	return out, req.Send()
  5874  }
  5875  
  5876  // RemoveRoleFromDBClusterWithContext is the same as RemoveRoleFromDBCluster with the addition of
  5877  // the ability to pass a context and additional request options.
  5878  //
  5879  // See RemoveRoleFromDBCluster for details on how to use this API operation.
  5880  //
  5881  // The context must be non-nil and will be used for request cancellation. If
  5882  // the context is nil a panic will occur. In the future the SDK may create
  5883  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5884  // for more information on using Contexts.
  5885  func (c *Neptune) RemoveRoleFromDBClusterWithContext(ctx aws.Context, input *RemoveRoleFromDBClusterInput, opts ...request.Option) (*RemoveRoleFromDBClusterOutput, error) {
  5886  	req, out := c.RemoveRoleFromDBClusterRequest(input)
  5887  	req.SetContext(ctx)
  5888  	req.ApplyOptions(opts...)
  5889  	return out, req.Send()
  5890  }
  5891  
  5892  const opRemoveSourceIdentifierFromSubscription = "RemoveSourceIdentifierFromSubscription"
  5893  
  5894  // RemoveSourceIdentifierFromSubscriptionRequest generates a "aws/request.Request" representing the
  5895  // client's request for the RemoveSourceIdentifierFromSubscription operation. The "output" return
  5896  // value will be populated with the request's response once the request completes
  5897  // successfully.
  5898  //
  5899  // Use "Send" method on the returned Request to send the API call to the service.
  5900  // the "output" return value is not valid until after Send returns without error.
  5901  //
  5902  // See RemoveSourceIdentifierFromSubscription for more information on using the RemoveSourceIdentifierFromSubscription
  5903  // API call, and error handling.
  5904  //
  5905  // This method is useful when you want to inject custom logic or configuration
  5906  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5907  //
  5908  //
  5909  //    // Example sending a request using the RemoveSourceIdentifierFromSubscriptionRequest method.
  5910  //    req, resp := client.RemoveSourceIdentifierFromSubscriptionRequest(params)
  5911  //
  5912  //    err := req.Send()
  5913  //    if err == nil { // resp is now filled
  5914  //        fmt.Println(resp)
  5915  //    }
  5916  //
  5917  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RemoveSourceIdentifierFromSubscription
  5918  func (c *Neptune) RemoveSourceIdentifierFromSubscriptionRequest(input *RemoveSourceIdentifierFromSubscriptionInput) (req *request.Request, output *RemoveSourceIdentifierFromSubscriptionOutput) {
  5919  	op := &request.Operation{
  5920  		Name:       opRemoveSourceIdentifierFromSubscription,
  5921  		HTTPMethod: "POST",
  5922  		HTTPPath:   "/",
  5923  	}
  5924  
  5925  	if input == nil {
  5926  		input = &RemoveSourceIdentifierFromSubscriptionInput{}
  5927  	}
  5928  
  5929  	output = &RemoveSourceIdentifierFromSubscriptionOutput{}
  5930  	req = c.newRequest(op, input, output)
  5931  	return
  5932  }
  5933  
  5934  // RemoveSourceIdentifierFromSubscription API operation for Amazon Neptune.
  5935  //
  5936  // Removes a source identifier from an existing event notification subscription.
  5937  //
  5938  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5939  // with awserr.Error's Code and Message methods to get detailed information about
  5940  // the error.
  5941  //
  5942  // See the AWS API reference guide for Amazon Neptune's
  5943  // API operation RemoveSourceIdentifierFromSubscription for usage and error information.
  5944  //
  5945  // Returned Error Codes:
  5946  //   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
  5947  //   The designated subscription could not be found.
  5948  //
  5949  //   * ErrCodeSourceNotFoundFault "SourceNotFound"
  5950  //   The source could not be found.
  5951  //
  5952  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RemoveSourceIdentifierFromSubscription
  5953  func (c *Neptune) RemoveSourceIdentifierFromSubscription(input *RemoveSourceIdentifierFromSubscriptionInput) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
  5954  	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
  5955  	return out, req.Send()
  5956  }
  5957  
  5958  // RemoveSourceIdentifierFromSubscriptionWithContext is the same as RemoveSourceIdentifierFromSubscription with the addition of
  5959  // the ability to pass a context and additional request options.
  5960  //
  5961  // See RemoveSourceIdentifierFromSubscription for details on how to use this API operation.
  5962  //
  5963  // The context must be non-nil and will be used for request cancellation. If
  5964  // the context is nil a panic will occur. In the future the SDK may create
  5965  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5966  // for more information on using Contexts.
  5967  func (c *Neptune) RemoveSourceIdentifierFromSubscriptionWithContext(ctx aws.Context, input *RemoveSourceIdentifierFromSubscriptionInput, opts ...request.Option) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
  5968  	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
  5969  	req.SetContext(ctx)
  5970  	req.ApplyOptions(opts...)
  5971  	return out, req.Send()
  5972  }
  5973  
  5974  const opRemoveTagsFromResource = "RemoveTagsFromResource"
  5975  
  5976  // RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
  5977  // client's request for the RemoveTagsFromResource operation. The "output" return
  5978  // value will be populated with the request's response once the request completes
  5979  // successfully.
  5980  //
  5981  // Use "Send" method on the returned Request to send the API call to the service.
  5982  // the "output" return value is not valid until after Send returns without error.
  5983  //
  5984  // See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
  5985  // API call, and error handling.
  5986  //
  5987  // This method is useful when you want to inject custom logic or configuration
  5988  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5989  //
  5990  //
  5991  //    // Example sending a request using the RemoveTagsFromResourceRequest method.
  5992  //    req, resp := client.RemoveTagsFromResourceRequest(params)
  5993  //
  5994  //    err := req.Send()
  5995  //    if err == nil { // resp is now filled
  5996  //        fmt.Println(resp)
  5997  //    }
  5998  //
  5999  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RemoveTagsFromResource
  6000  func (c *Neptune) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
  6001  	op := &request.Operation{
  6002  		Name:       opRemoveTagsFromResource,
  6003  		HTTPMethod: "POST",
  6004  		HTTPPath:   "/",
  6005  	}
  6006  
  6007  	if input == nil {
  6008  		input = &RemoveTagsFromResourceInput{}
  6009  	}
  6010  
  6011  	output = &RemoveTagsFromResourceOutput{}
  6012  	req = c.newRequest(op, input, output)
  6013  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6014  	return
  6015  }
  6016  
  6017  // RemoveTagsFromResource API operation for Amazon Neptune.
  6018  //
  6019  // Removes metadata tags from an Amazon Neptune resource.
  6020  //
  6021  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6022  // with awserr.Error's Code and Message methods to get detailed information about
  6023  // the error.
  6024  //
  6025  // See the AWS API reference guide for Amazon Neptune's
  6026  // API operation RemoveTagsFromResource for usage and error information.
  6027  //
  6028  // Returned Error Codes:
  6029  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  6030  //   DBInstanceIdentifier does not refer to an existing DB instance.
  6031  //
  6032  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
  6033  //   DBSnapshotIdentifier does not refer to an existing DB snapshot.
  6034  //
  6035  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  6036  //   DBClusterIdentifier does not refer to an existing DB cluster.
  6037  //
  6038  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RemoveTagsFromResource
  6039  func (c *Neptune) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
  6040  	req, out := c.RemoveTagsFromResourceRequest(input)
  6041  	return out, req.Send()
  6042  }
  6043  
  6044  // RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
  6045  // the ability to pass a context and additional request options.
  6046  //
  6047  // See RemoveTagsFromResource for details on how to use this API operation.
  6048  //
  6049  // The context must be non-nil and will be used for request cancellation. If
  6050  // the context is nil a panic will occur. In the future the SDK may create
  6051  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6052  // for more information on using Contexts.
  6053  func (c *Neptune) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
  6054  	req, out := c.RemoveTagsFromResourceRequest(input)
  6055  	req.SetContext(ctx)
  6056  	req.ApplyOptions(opts...)
  6057  	return out, req.Send()
  6058  }
  6059  
  6060  const opResetDBClusterParameterGroup = "ResetDBClusterParameterGroup"
  6061  
  6062  // ResetDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
  6063  // client's request for the ResetDBClusterParameterGroup operation. The "output" return
  6064  // value will be populated with the request's response once the request completes
  6065  // successfully.
  6066  //
  6067  // Use "Send" method on the returned Request to send the API call to the service.
  6068  // the "output" return value is not valid until after Send returns without error.
  6069  //
  6070  // See ResetDBClusterParameterGroup for more information on using the ResetDBClusterParameterGroup
  6071  // API call, and error handling.
  6072  //
  6073  // This method is useful when you want to inject custom logic or configuration
  6074  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6075  //
  6076  //
  6077  //    // Example sending a request using the ResetDBClusterParameterGroupRequest method.
  6078  //    req, resp := client.ResetDBClusterParameterGroupRequest(params)
  6079  //
  6080  //    err := req.Send()
  6081  //    if err == nil { // resp is now filled
  6082  //        fmt.Println(resp)
  6083  //    }
  6084  //
  6085  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ResetDBClusterParameterGroup
  6086  func (c *Neptune) ResetDBClusterParameterGroupRequest(input *ResetDBClusterParameterGroupInput) (req *request.Request, output *ResetDBClusterParameterGroupOutput) {
  6087  	op := &request.Operation{
  6088  		Name:       opResetDBClusterParameterGroup,
  6089  		HTTPMethod: "POST",
  6090  		HTTPPath:   "/",
  6091  	}
  6092  
  6093  	if input == nil {
  6094  		input = &ResetDBClusterParameterGroupInput{}
  6095  	}
  6096  
  6097  	output = &ResetDBClusterParameterGroupOutput{}
  6098  	req = c.newRequest(op, input, output)
  6099  	return
  6100  }
  6101  
  6102  // ResetDBClusterParameterGroup API operation for Amazon Neptune.
  6103  //
  6104  // Modifies the parameters of a DB cluster parameter group to the default value.
  6105  // To reset specific parameters submit a list of the following: ParameterName
  6106  // and ApplyMethod. To reset the entire DB cluster parameter group, specify
  6107  // the DBClusterParameterGroupName and ResetAllParameters parameters.
  6108  //
  6109  // When resetting the entire group, dynamic parameters are updated immediately
  6110  // and static parameters are set to pending-reboot to take effect on the next
  6111  // DB instance restart or RebootDBInstance request. You must call RebootDBInstance
  6112  // for every DB instance in your DB cluster that you want the updated static
  6113  // parameter to apply to.
  6114  //
  6115  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6116  // with awserr.Error's Code and Message methods to get detailed information about
  6117  // the error.
  6118  //
  6119  // See the AWS API reference guide for Amazon Neptune's
  6120  // API operation ResetDBClusterParameterGroup for usage and error information.
  6121  //
  6122  // Returned Error Codes:
  6123  //   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
  6124  //   The DB parameter group is in use or is in an invalid state. If you are attempting
  6125  //   to delete the parameter group, you cannot delete it when the parameter group
  6126  //   is in this state.
  6127  //
  6128  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  6129  //   DBParameterGroupName does not refer to an existing DB parameter group.
  6130  //
  6131  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ResetDBClusterParameterGroup
  6132  func (c *Neptune) ResetDBClusterParameterGroup(input *ResetDBClusterParameterGroupInput) (*ResetDBClusterParameterGroupOutput, error) {
  6133  	req, out := c.ResetDBClusterParameterGroupRequest(input)
  6134  	return out, req.Send()
  6135  }
  6136  
  6137  // ResetDBClusterParameterGroupWithContext is the same as ResetDBClusterParameterGroup with the addition of
  6138  // the ability to pass a context and additional request options.
  6139  //
  6140  // See ResetDBClusterParameterGroup for details on how to use this API operation.
  6141  //
  6142  // The context must be non-nil and will be used for request cancellation. If
  6143  // the context is nil a panic will occur. In the future the SDK may create
  6144  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6145  // for more information on using Contexts.
  6146  func (c *Neptune) ResetDBClusterParameterGroupWithContext(ctx aws.Context, input *ResetDBClusterParameterGroupInput, opts ...request.Option) (*ResetDBClusterParameterGroupOutput, error) {
  6147  	req, out := c.ResetDBClusterParameterGroupRequest(input)
  6148  	req.SetContext(ctx)
  6149  	req.ApplyOptions(opts...)
  6150  	return out, req.Send()
  6151  }
  6152  
  6153  const opResetDBParameterGroup = "ResetDBParameterGroup"
  6154  
  6155  // ResetDBParameterGroupRequest generates a "aws/request.Request" representing the
  6156  // client's request for the ResetDBParameterGroup operation. The "output" return
  6157  // value will be populated with the request's response once the request completes
  6158  // successfully.
  6159  //
  6160  // Use "Send" method on the returned Request to send the API call to the service.
  6161  // the "output" return value is not valid until after Send returns without error.
  6162  //
  6163  // See ResetDBParameterGroup for more information on using the ResetDBParameterGroup
  6164  // API call, and error handling.
  6165  //
  6166  // This method is useful when you want to inject custom logic or configuration
  6167  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6168  //
  6169  //
  6170  //    // Example sending a request using the ResetDBParameterGroupRequest method.
  6171  //    req, resp := client.ResetDBParameterGroupRequest(params)
  6172  //
  6173  //    err := req.Send()
  6174  //    if err == nil { // resp is now filled
  6175  //        fmt.Println(resp)
  6176  //    }
  6177  //
  6178  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ResetDBParameterGroup
  6179  func (c *Neptune) ResetDBParameterGroupRequest(input *ResetDBParameterGroupInput) (req *request.Request, output *ResetDBParameterGroupOutput) {
  6180  	op := &request.Operation{
  6181  		Name:       opResetDBParameterGroup,
  6182  		HTTPMethod: "POST",
  6183  		HTTPPath:   "/",
  6184  	}
  6185  
  6186  	if input == nil {
  6187  		input = &ResetDBParameterGroupInput{}
  6188  	}
  6189  
  6190  	output = &ResetDBParameterGroupOutput{}
  6191  	req = c.newRequest(op, input, output)
  6192  	return
  6193  }
  6194  
  6195  // ResetDBParameterGroup API operation for Amazon Neptune.
  6196  //
  6197  // Modifies the parameters of a DB parameter group to the engine/system default
  6198  // value. To reset specific parameters, provide a list of the following: ParameterName
  6199  // and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup
  6200  // name and ResetAllParameters parameters. When resetting the entire group,
  6201  // dynamic parameters are updated immediately and static parameters are set
  6202  // to pending-reboot to take effect on the next DB instance restart or RebootDBInstance
  6203  // request.
  6204  //
  6205  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6206  // with awserr.Error's Code and Message methods to get detailed information about
  6207  // the error.
  6208  //
  6209  // See the AWS API reference guide for Amazon Neptune's
  6210  // API operation ResetDBParameterGroup for usage and error information.
  6211  //
  6212  // Returned Error Codes:
  6213  //   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
  6214  //   The DB parameter group is in use or is in an invalid state. If you are attempting
  6215  //   to delete the parameter group, you cannot delete it when the parameter group
  6216  //   is in this state.
  6217  //
  6218  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  6219  //   DBParameterGroupName does not refer to an existing DB parameter group.
  6220  //
  6221  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ResetDBParameterGroup
  6222  func (c *Neptune) ResetDBParameterGroup(input *ResetDBParameterGroupInput) (*ResetDBParameterGroupOutput, error) {
  6223  	req, out := c.ResetDBParameterGroupRequest(input)
  6224  	return out, req.Send()
  6225  }
  6226  
  6227  // ResetDBParameterGroupWithContext is the same as ResetDBParameterGroup with the addition of
  6228  // the ability to pass a context and additional request options.
  6229  //
  6230  // See ResetDBParameterGroup for details on how to use this API operation.
  6231  //
  6232  // The context must be non-nil and will be used for request cancellation. If
  6233  // the context is nil a panic will occur. In the future the SDK may create
  6234  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6235  // for more information on using Contexts.
  6236  func (c *Neptune) ResetDBParameterGroupWithContext(ctx aws.Context, input *ResetDBParameterGroupInput, opts ...request.Option) (*ResetDBParameterGroupOutput, error) {
  6237  	req, out := c.ResetDBParameterGroupRequest(input)
  6238  	req.SetContext(ctx)
  6239  	req.ApplyOptions(opts...)
  6240  	return out, req.Send()
  6241  }
  6242  
  6243  const opRestoreDBClusterFromSnapshot = "RestoreDBClusterFromSnapshot"
  6244  
  6245  // RestoreDBClusterFromSnapshotRequest generates a "aws/request.Request" representing the
  6246  // client's request for the RestoreDBClusterFromSnapshot operation. The "output" return
  6247  // value will be populated with the request's response once the request completes
  6248  // successfully.
  6249  //
  6250  // Use "Send" method on the returned Request to send the API call to the service.
  6251  // the "output" return value is not valid until after Send returns without error.
  6252  //
  6253  // See RestoreDBClusterFromSnapshot for more information on using the RestoreDBClusterFromSnapshot
  6254  // API call, and error handling.
  6255  //
  6256  // This method is useful when you want to inject custom logic or configuration
  6257  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6258  //
  6259  //
  6260  //    // Example sending a request using the RestoreDBClusterFromSnapshotRequest method.
  6261  //    req, resp := client.RestoreDBClusterFromSnapshotRequest(params)
  6262  //
  6263  //    err := req.Send()
  6264  //    if err == nil { // resp is now filled
  6265  //        fmt.Println(resp)
  6266  //    }
  6267  //
  6268  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RestoreDBClusterFromSnapshot
  6269  func (c *Neptune) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSnapshotInput) (req *request.Request, output *RestoreDBClusterFromSnapshotOutput) {
  6270  	op := &request.Operation{
  6271  		Name:       opRestoreDBClusterFromSnapshot,
  6272  		HTTPMethod: "POST",
  6273  		HTTPPath:   "/",
  6274  	}
  6275  
  6276  	if input == nil {
  6277  		input = &RestoreDBClusterFromSnapshotInput{}
  6278  	}
  6279  
  6280  	output = &RestoreDBClusterFromSnapshotOutput{}
  6281  	req = c.newRequest(op, input, output)
  6282  	return
  6283  }
  6284  
  6285  // RestoreDBClusterFromSnapshot API operation for Amazon Neptune.
  6286  //
  6287  // Creates a new DB cluster from a DB snapshot or DB cluster snapshot.
  6288  //
  6289  // If a DB snapshot is specified, the target DB cluster is created from the
  6290  // source DB snapshot with a default configuration and default security group.
  6291  //
  6292  // If a DB cluster snapshot is specified, the target DB cluster is created from
  6293  // the source DB cluster restore point with the same configuration as the original
  6294  // source DB cluster, except that the new DB cluster is created with the default
  6295  // security group.
  6296  //
  6297  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6298  // with awserr.Error's Code and Message methods to get detailed information about
  6299  // the error.
  6300  //
  6301  // See the AWS API reference guide for Amazon Neptune's
  6302  // API operation RestoreDBClusterFromSnapshot for usage and error information.
  6303  //
  6304  // Returned Error Codes:
  6305  //   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
  6306  //   User already has a DB cluster with the given identifier.
  6307  //
  6308  //   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
  6309  //   User attempted to create a new DB cluster and the user has already reached
  6310  //   the maximum allowed DB cluster quota.
  6311  //
  6312  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
  6313  //   Request would result in user exceeding the allowed amount of storage available
  6314  //   across all DB instances.
  6315  //
  6316  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  6317  //   DBSubnetGroupName does not refer to an existing DB subnet group.
  6318  //
  6319  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
  6320  //   DBSnapshotIdentifier does not refer to an existing DB snapshot.
  6321  //
  6322  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
  6323  //   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
  6324  //
  6325  //   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
  6326  //   The DB cluster does not have enough capacity for the current operation.
  6327  //
  6328  //   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
  6329  //   There is insufficient storage available for the current action. You may be
  6330  //   able to resolve this error by updating your subnet group to use different
  6331  //   Availability Zones that have more storage available.
  6332  //
  6333  //   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
  6334  //   The state of the DB snapshot does not allow deletion.
  6335  //
  6336  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
  6337  //   The supplied value is not a valid DB cluster snapshot state.
  6338  //
  6339  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
  6340  //   Request would result in user exceeding the allowed amount of storage available
  6341  //   across all DB instances.
  6342  //
  6343  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
  6344  //   DB subnet group does not cover all Availability Zones after it is created
  6345  //   because users' change.
  6346  //
  6347  //   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
  6348  //   Cannot restore from vpc backup to non-vpc DB instance.
  6349  //
  6350  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  6351  //   DBSubnetGroupName does not refer to an existing DB subnet group.
  6352  //
  6353  //   * ErrCodeInvalidSubnet "InvalidSubnet"
  6354  //   The requested subnet is invalid, or multiple subnets were requested that
  6355  //   are not all in a common VPC.
  6356  //
  6357  //   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
  6358  //   The designated option group could not be found.
  6359  //
  6360  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
  6361  //   Error accessing KMS key.
  6362  //
  6363  //   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
  6364  //   DBClusterParameterGroupName does not refer to an existing DB Cluster parameter
  6365  //   group.
  6366  //
  6367  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RestoreDBClusterFromSnapshot
  6368  func (c *Neptune) RestoreDBClusterFromSnapshot(input *RestoreDBClusterFromSnapshotInput) (*RestoreDBClusterFromSnapshotOutput, error) {
  6369  	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
  6370  	return out, req.Send()
  6371  }
  6372  
  6373  // RestoreDBClusterFromSnapshotWithContext is the same as RestoreDBClusterFromSnapshot with the addition of
  6374  // the ability to pass a context and additional request options.
  6375  //
  6376  // See RestoreDBClusterFromSnapshot for details on how to use this API operation.
  6377  //
  6378  // The context must be non-nil and will be used for request cancellation. If
  6379  // the context is nil a panic will occur. In the future the SDK may create
  6380  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6381  // for more information on using Contexts.
  6382  func (c *Neptune) RestoreDBClusterFromSnapshotWithContext(ctx aws.Context, input *RestoreDBClusterFromSnapshotInput, opts ...request.Option) (*RestoreDBClusterFromSnapshotOutput, error) {
  6383  	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
  6384  	req.SetContext(ctx)
  6385  	req.ApplyOptions(opts...)
  6386  	return out, req.Send()
  6387  }
  6388  
  6389  const opRestoreDBClusterToPointInTime = "RestoreDBClusterToPointInTime"
  6390  
  6391  // RestoreDBClusterToPointInTimeRequest generates a "aws/request.Request" representing the
  6392  // client's request for the RestoreDBClusterToPointInTime operation. The "output" return
  6393  // value will be populated with the request's response once the request completes
  6394  // successfully.
  6395  //
  6396  // Use "Send" method on the returned Request to send the API call to the service.
  6397  // the "output" return value is not valid until after Send returns without error.
  6398  //
  6399  // See RestoreDBClusterToPointInTime for more information on using the RestoreDBClusterToPointInTime
  6400  // API call, and error handling.
  6401  //
  6402  // This method is useful when you want to inject custom logic or configuration
  6403  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6404  //
  6405  //
  6406  //    // Example sending a request using the RestoreDBClusterToPointInTimeRequest method.
  6407  //    req, resp := client.RestoreDBClusterToPointInTimeRequest(params)
  6408  //
  6409  //    err := req.Send()
  6410  //    if err == nil { // resp is now filled
  6411  //        fmt.Println(resp)
  6412  //    }
  6413  //
  6414  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RestoreDBClusterToPointInTime
  6415  func (c *Neptune) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPointInTimeInput) (req *request.Request, output *RestoreDBClusterToPointInTimeOutput) {
  6416  	op := &request.Operation{
  6417  		Name:       opRestoreDBClusterToPointInTime,
  6418  		HTTPMethod: "POST",
  6419  		HTTPPath:   "/",
  6420  	}
  6421  
  6422  	if input == nil {
  6423  		input = &RestoreDBClusterToPointInTimeInput{}
  6424  	}
  6425  
  6426  	output = &RestoreDBClusterToPointInTimeOutput{}
  6427  	req = c.newRequest(op, input, output)
  6428  	return
  6429  }
  6430  
  6431  // RestoreDBClusterToPointInTime API operation for Amazon Neptune.
  6432  //
  6433  // Restores a DB cluster to an arbitrary point in time. Users can restore to
  6434  // any point in time before LatestRestorableTime for up to BackupRetentionPeriod
  6435  // days. The target DB cluster is created from the source DB cluster with the
  6436  // same configuration as the original DB cluster, except that the new DB cluster
  6437  // is created with the default DB security group.
  6438  //
  6439  // This action only restores the DB cluster, not the DB instances for that DB
  6440  // cluster. You must invoke the CreateDBInstance action to create DB instances
  6441  // for the restored DB cluster, specifying the identifier of the restored DB
  6442  // cluster in DBClusterIdentifier. You can create DB instances only after the
  6443  // RestoreDBClusterToPointInTime action has completed and the DB cluster is
  6444  // available.
  6445  //
  6446  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6447  // with awserr.Error's Code and Message methods to get detailed information about
  6448  // the error.
  6449  //
  6450  // See the AWS API reference guide for Amazon Neptune's
  6451  // API operation RestoreDBClusterToPointInTime for usage and error information.
  6452  //
  6453  // Returned Error Codes:
  6454  //   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
  6455  //   User already has a DB cluster with the given identifier.
  6456  //
  6457  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  6458  //   DBClusterIdentifier does not refer to an existing DB cluster.
  6459  //
  6460  //   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
  6461  //   User attempted to create a new DB cluster and the user has already reached
  6462  //   the maximum allowed DB cluster quota.
  6463  //
  6464  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
  6465  //   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
  6466  //
  6467  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  6468  //   DBSubnetGroupName does not refer to an existing DB subnet group.
  6469  //
  6470  //   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
  6471  //   The DB cluster does not have enough capacity for the current operation.
  6472  //
  6473  //   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
  6474  //   There is insufficient storage available for the current action. You may be
  6475  //   able to resolve this error by updating your subnet group to use different
  6476  //   Availability Zones that have more storage available.
  6477  //
  6478  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
  6479  //   The supplied value is not a valid DB cluster snapshot state.
  6480  //
  6481  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  6482  //   The DB cluster is not in a valid state.
  6483  //
  6484  //   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
  6485  //   The state of the DB snapshot does not allow deletion.
  6486  //
  6487  //   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
  6488  //   Cannot restore from vpc backup to non-vpc DB instance.
  6489  //
  6490  //   * ErrCodeInvalidSubnet "InvalidSubnet"
  6491  //   The requested subnet is invalid, or multiple subnets were requested that
  6492  //   are not all in a common VPC.
  6493  //
  6494  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
  6495  //   DB subnet group does not cover all Availability Zones after it is created
  6496  //   because users' change.
  6497  //
  6498  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
  6499  //   Error accessing KMS key.
  6500  //
  6501  //   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
  6502  //   The designated option group could not be found.
  6503  //
  6504  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
  6505  //   Request would result in user exceeding the allowed amount of storage available
  6506  //   across all DB instances.
  6507  //
  6508  //   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
  6509  //   DBClusterParameterGroupName does not refer to an existing DB Cluster parameter
  6510  //   group.
  6511  //
  6512  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RestoreDBClusterToPointInTime
  6513  func (c *Neptune) RestoreDBClusterToPointInTime(input *RestoreDBClusterToPointInTimeInput) (*RestoreDBClusterToPointInTimeOutput, error) {
  6514  	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
  6515  	return out, req.Send()
  6516  }
  6517  
  6518  // RestoreDBClusterToPointInTimeWithContext is the same as RestoreDBClusterToPointInTime with the addition of
  6519  // the ability to pass a context and additional request options.
  6520  //
  6521  // See RestoreDBClusterToPointInTime for details on how to use this API operation.
  6522  //
  6523  // The context must be non-nil and will be used for request cancellation. If
  6524  // the context is nil a panic will occur. In the future the SDK may create
  6525  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6526  // for more information on using Contexts.
  6527  func (c *Neptune) RestoreDBClusterToPointInTimeWithContext(ctx aws.Context, input *RestoreDBClusterToPointInTimeInput, opts ...request.Option) (*RestoreDBClusterToPointInTimeOutput, error) {
  6528  	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
  6529  	req.SetContext(ctx)
  6530  	req.ApplyOptions(opts...)
  6531  	return out, req.Send()
  6532  }
  6533  
  6534  const opStartDBCluster = "StartDBCluster"
  6535  
  6536  // StartDBClusterRequest generates a "aws/request.Request" representing the
  6537  // client's request for the StartDBCluster operation. The "output" return
  6538  // value will be populated with the request's response once the request completes
  6539  // successfully.
  6540  //
  6541  // Use "Send" method on the returned Request to send the API call to the service.
  6542  // the "output" return value is not valid until after Send returns without error.
  6543  //
  6544  // See StartDBCluster for more information on using the StartDBCluster
  6545  // API call, and error handling.
  6546  //
  6547  // This method is useful when you want to inject custom logic or configuration
  6548  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6549  //
  6550  //
  6551  //    // Example sending a request using the StartDBClusterRequest method.
  6552  //    req, resp := client.StartDBClusterRequest(params)
  6553  //
  6554  //    err := req.Send()
  6555  //    if err == nil { // resp is now filled
  6556  //        fmt.Println(resp)
  6557  //    }
  6558  //
  6559  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/StartDBCluster
  6560  func (c *Neptune) StartDBClusterRequest(input *StartDBClusterInput) (req *request.Request, output *StartDBClusterOutput) {
  6561  	op := &request.Operation{
  6562  		Name:       opStartDBCluster,
  6563  		HTTPMethod: "POST",
  6564  		HTTPPath:   "/",
  6565  	}
  6566  
  6567  	if input == nil {
  6568  		input = &StartDBClusterInput{}
  6569  	}
  6570  
  6571  	output = &StartDBClusterOutput{}
  6572  	req = c.newRequest(op, input, output)
  6573  	return
  6574  }
  6575  
  6576  // StartDBCluster API operation for Amazon Neptune.
  6577  //
  6578  // Starts an Amazon Neptune DB cluster that was stopped using the AWS console,
  6579  // the Amazon CLI stop-db-cluster command, or the StopDBCluster API.
  6580  //
  6581  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6582  // with awserr.Error's Code and Message methods to get detailed information about
  6583  // the error.
  6584  //
  6585  // See the AWS API reference guide for Amazon Neptune's
  6586  // API operation StartDBCluster for usage and error information.
  6587  //
  6588  // Returned Error Codes:
  6589  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  6590  //   DBClusterIdentifier does not refer to an existing DB cluster.
  6591  //
  6592  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  6593  //   The DB cluster is not in a valid state.
  6594  //
  6595  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  6596  //   The specified DB instance is not in the available state.
  6597  //
  6598  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/StartDBCluster
  6599  func (c *Neptune) StartDBCluster(input *StartDBClusterInput) (*StartDBClusterOutput, error) {
  6600  	req, out := c.StartDBClusterRequest(input)
  6601  	return out, req.Send()
  6602  }
  6603  
  6604  // StartDBClusterWithContext is the same as StartDBCluster with the addition of
  6605  // the ability to pass a context and additional request options.
  6606  //
  6607  // See StartDBCluster for details on how to use this API operation.
  6608  //
  6609  // The context must be non-nil and will be used for request cancellation. If
  6610  // the context is nil a panic will occur. In the future the SDK may create
  6611  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6612  // for more information on using Contexts.
  6613  func (c *Neptune) StartDBClusterWithContext(ctx aws.Context, input *StartDBClusterInput, opts ...request.Option) (*StartDBClusterOutput, error) {
  6614  	req, out := c.StartDBClusterRequest(input)
  6615  	req.SetContext(ctx)
  6616  	req.ApplyOptions(opts...)
  6617  	return out, req.Send()
  6618  }
  6619  
  6620  const opStopDBCluster = "StopDBCluster"
  6621  
  6622  // StopDBClusterRequest generates a "aws/request.Request" representing the
  6623  // client's request for the StopDBCluster operation. The "output" return
  6624  // value will be populated with the request's response once the request completes
  6625  // successfully.
  6626  //
  6627  // Use "Send" method on the returned Request to send the API call to the service.
  6628  // the "output" return value is not valid until after Send returns without error.
  6629  //
  6630  // See StopDBCluster for more information on using the StopDBCluster
  6631  // API call, and error handling.
  6632  //
  6633  // This method is useful when you want to inject custom logic or configuration
  6634  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6635  //
  6636  //
  6637  //    // Example sending a request using the StopDBClusterRequest method.
  6638  //    req, resp := client.StopDBClusterRequest(params)
  6639  //
  6640  //    err := req.Send()
  6641  //    if err == nil { // resp is now filled
  6642  //        fmt.Println(resp)
  6643  //    }
  6644  //
  6645  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/StopDBCluster
  6646  func (c *Neptune) StopDBClusterRequest(input *StopDBClusterInput) (req *request.Request, output *StopDBClusterOutput) {
  6647  	op := &request.Operation{
  6648  		Name:       opStopDBCluster,
  6649  		HTTPMethod: "POST",
  6650  		HTTPPath:   "/",
  6651  	}
  6652  
  6653  	if input == nil {
  6654  		input = &StopDBClusterInput{}
  6655  	}
  6656  
  6657  	output = &StopDBClusterOutput{}
  6658  	req = c.newRequest(op, input, output)
  6659  	return
  6660  }
  6661  
  6662  // StopDBCluster API operation for Amazon Neptune.
  6663  //
  6664  // Stops an Amazon Neptune DB cluster. When you stop a DB cluster, Neptune retains
  6665  // the DB cluster's metadata, including its endpoints and DB parameter groups.
  6666  //
  6667  // Neptune also retains the transaction logs so you can do a point-in-time restore
  6668  // if necessary.
  6669  //
  6670  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6671  // with awserr.Error's Code and Message methods to get detailed information about
  6672  // the error.
  6673  //
  6674  // See the AWS API reference guide for Amazon Neptune's
  6675  // API operation StopDBCluster for usage and error information.
  6676  //
  6677  // Returned Error Codes:
  6678  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  6679  //   DBClusterIdentifier does not refer to an existing DB cluster.
  6680  //
  6681  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  6682  //   The DB cluster is not in a valid state.
  6683  //
  6684  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  6685  //   The specified DB instance is not in the available state.
  6686  //
  6687  // See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/StopDBCluster
  6688  func (c *Neptune) StopDBCluster(input *StopDBClusterInput) (*StopDBClusterOutput, error) {
  6689  	req, out := c.StopDBClusterRequest(input)
  6690  	return out, req.Send()
  6691  }
  6692  
  6693  // StopDBClusterWithContext is the same as StopDBCluster with the addition of
  6694  // the ability to pass a context and additional request options.
  6695  //
  6696  // See StopDBCluster for details on how to use this API operation.
  6697  //
  6698  // The context must be non-nil and will be used for request cancellation. If
  6699  // the context is nil a panic will occur. In the future the SDK may create
  6700  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6701  // for more information on using Contexts.
  6702  func (c *Neptune) StopDBClusterWithContext(ctx aws.Context, input *StopDBClusterInput, opts ...request.Option) (*StopDBClusterOutput, error) {
  6703  	req, out := c.StopDBClusterRequest(input)
  6704  	req.SetContext(ctx)
  6705  	req.ApplyOptions(opts...)
  6706  	return out, req.Send()
  6707  }
  6708  
  6709  type AddRoleToDBClusterInput struct {
  6710  	_ struct{} `type:"structure"`
  6711  
  6712  	// The name of the DB cluster to associate the IAM role with.
  6713  	//
  6714  	// DBClusterIdentifier is a required field
  6715  	DBClusterIdentifier *string `type:"string" required:"true"`
  6716  
  6717  	// The name of the feature for the Neptune DB cluster that the IAM role is to
  6718  	// be associated with. For the list of supported feature names, see DBEngineVersion.
  6719  	FeatureName *string `type:"string"`
  6720  
  6721  	// The Amazon Resource Name (ARN) of the IAM role to associate with the Neptune
  6722  	// DB cluster, for example arn:aws:iam::123456789012:role/NeptuneAccessRole.
  6723  	//
  6724  	// RoleArn is a required field
  6725  	RoleArn *string `type:"string" required:"true"`
  6726  }
  6727  
  6728  // String returns the string representation.
  6729  //
  6730  // API parameter values that are decorated as "sensitive" in the API will not
  6731  // be included in the string output. The member name will be present, but the
  6732  // value will be replaced with "sensitive".
  6733  func (s AddRoleToDBClusterInput) String() string {
  6734  	return awsutil.Prettify(s)
  6735  }
  6736  
  6737  // GoString returns the string representation.
  6738  //
  6739  // API parameter values that are decorated as "sensitive" in the API will not
  6740  // be included in the string output. The member name will be present, but the
  6741  // value will be replaced with "sensitive".
  6742  func (s AddRoleToDBClusterInput) GoString() string {
  6743  	return s.String()
  6744  }
  6745  
  6746  // Validate inspects the fields of the type to determine if they are valid.
  6747  func (s *AddRoleToDBClusterInput) Validate() error {
  6748  	invalidParams := request.ErrInvalidParams{Context: "AddRoleToDBClusterInput"}
  6749  	if s.DBClusterIdentifier == nil {
  6750  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
  6751  	}
  6752  	if s.RoleArn == nil {
  6753  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  6754  	}
  6755  
  6756  	if invalidParams.Len() > 0 {
  6757  		return invalidParams
  6758  	}
  6759  	return nil
  6760  }
  6761  
  6762  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
  6763  func (s *AddRoleToDBClusterInput) SetDBClusterIdentifier(v string) *AddRoleToDBClusterInput {
  6764  	s.DBClusterIdentifier = &v
  6765  	return s
  6766  }
  6767  
  6768  // SetFeatureName sets the FeatureName field's value.
  6769  func (s *AddRoleToDBClusterInput) SetFeatureName(v string) *AddRoleToDBClusterInput {
  6770  	s.FeatureName = &v
  6771  	return s
  6772  }
  6773  
  6774  // SetRoleArn sets the RoleArn field's value.
  6775  func (s *AddRoleToDBClusterInput) SetRoleArn(v string) *AddRoleToDBClusterInput {
  6776  	s.RoleArn = &v
  6777  	return s
  6778  }
  6779  
  6780  type AddRoleToDBClusterOutput struct {
  6781  	_ struct{} `type:"structure"`
  6782  }
  6783  
  6784  // String returns the string representation.
  6785  //
  6786  // API parameter values that are decorated as "sensitive" in the API will not
  6787  // be included in the string output. The member name will be present, but the
  6788  // value will be replaced with "sensitive".
  6789  func (s AddRoleToDBClusterOutput) String() string {
  6790  	return awsutil.Prettify(s)
  6791  }
  6792  
  6793  // GoString returns the string representation.
  6794  //
  6795  // API parameter values that are decorated as "sensitive" in the API will not
  6796  // be included in the string output. The member name will be present, but the
  6797  // value will be replaced with "sensitive".
  6798  func (s AddRoleToDBClusterOutput) GoString() string {
  6799  	return s.String()
  6800  }
  6801  
  6802  type AddSourceIdentifierToSubscriptionInput struct {
  6803  	_ struct{} `type:"structure"`
  6804  
  6805  	// The identifier of the event source to be added.
  6806  	//
  6807  	// Constraints:
  6808  	//
  6809  	//    * If the source type is a DB instance, then a DBInstanceIdentifier must
  6810  	//    be supplied.
  6811  	//
  6812  	//    * If the source type is a DB security group, a DBSecurityGroupName must
  6813  	//    be supplied.
  6814  	//
  6815  	//    * If the source type is a DB parameter group, a DBParameterGroupName must
  6816  	//    be supplied.
  6817  	//
  6818  	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier must be
  6819  	//    supplied.
  6820  	//
  6821  	// SourceIdentifier is a required field
  6822  	SourceIdentifier *string `type:"string" required:"true"`
  6823  
  6824  	// The name of the event notification subscription you want to add a source
  6825  	// identifier to.
  6826  	//
  6827  	// SubscriptionName is a required field
  6828  	SubscriptionName *string `type:"string" required:"true"`
  6829  }
  6830  
  6831  // String returns the string representation.
  6832  //
  6833  // API parameter values that are decorated as "sensitive" in the API will not
  6834  // be included in the string output. The member name will be present, but the
  6835  // value will be replaced with "sensitive".
  6836  func (s AddSourceIdentifierToSubscriptionInput) String() string {
  6837  	return awsutil.Prettify(s)
  6838  }
  6839  
  6840  // GoString returns the string representation.
  6841  //
  6842  // API parameter values that are decorated as "sensitive" in the API will not
  6843  // be included in the string output. The member name will be present, but the
  6844  // value will be replaced with "sensitive".
  6845  func (s AddSourceIdentifierToSubscriptionInput) GoString() string {
  6846  	return s.String()
  6847  }
  6848  
  6849  // Validate inspects the fields of the type to determine if they are valid.
  6850  func (s *AddSourceIdentifierToSubscriptionInput) Validate() error {
  6851  	invalidParams := request.ErrInvalidParams{Context: "AddSourceIdentifierToSubscriptionInput"}
  6852  	if s.SourceIdentifier == nil {
  6853  		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
  6854  	}
  6855  	if s.SubscriptionName == nil {
  6856  		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
  6857  	}
  6858  
  6859  	if invalidParams.Len() > 0 {
  6860  		return invalidParams
  6861  	}
  6862  	return nil
  6863  }
  6864  
  6865  // SetSourceIdentifier sets the SourceIdentifier field's value.
  6866  func (s *AddSourceIdentifierToSubscriptionInput) SetSourceIdentifier(v string) *AddSourceIdentifierToSubscriptionInput {
  6867  	s.SourceIdentifier = &v
  6868  	return s
  6869  }
  6870  
  6871  // SetSubscriptionName sets the SubscriptionName field's value.
  6872  func (s *AddSourceIdentifierToSubscriptionInput) SetSubscriptionName(v string) *AddSourceIdentifierToSubscriptionInput {
  6873  	s.SubscriptionName = &v
  6874  	return s
  6875  }
  6876  
  6877  type AddSourceIdentifierToSubscriptionOutput struct {
  6878  	_ struct{} `type:"structure"`
  6879  
  6880  	// Contains the results of a successful invocation of the DescribeEventSubscriptions
  6881  	// action.
  6882  	EventSubscription *EventSubscription `type:"structure"`
  6883  }
  6884  
  6885  // String returns the string representation.
  6886  //
  6887  // API parameter values that are decorated as "sensitive" in the API will not
  6888  // be included in the string output. The member name will be present, but the
  6889  // value will be replaced with "sensitive".
  6890  func (s AddSourceIdentifierToSubscriptionOutput) String() string {
  6891  	return awsutil.Prettify(s)
  6892  }
  6893  
  6894  // GoString returns the string representation.
  6895  //
  6896  // API parameter values that are decorated as "sensitive" in the API will not
  6897  // be included in the string output. The member name will be present, but the
  6898  // value will be replaced with "sensitive".
  6899  func (s AddSourceIdentifierToSubscriptionOutput) GoString() string {
  6900  	return s.String()
  6901  }
  6902  
  6903  // SetEventSubscription sets the EventSubscription field's value.
  6904  func (s *AddSourceIdentifierToSubscriptionOutput) SetEventSubscription(v *EventSubscription) *AddSourceIdentifierToSubscriptionOutput {
  6905  	s.EventSubscription = v
  6906  	return s
  6907  }
  6908  
  6909  type AddTagsToResourceInput struct {
  6910  	_ struct{} `type:"structure"`
  6911  
  6912  	// The Amazon Neptune resource that the tags are added to. This value is an
  6913  	// Amazon Resource Name (ARN). For information about creating an ARN, see Constructing
  6914  	// an Amazon Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
  6915  	//
  6916  	// ResourceName is a required field
  6917  	ResourceName *string `type:"string" required:"true"`
  6918  
  6919  	// The tags to be assigned to the Amazon Neptune resource.
  6920  	//
  6921  	// Tags is a required field
  6922  	Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
  6923  }
  6924  
  6925  // String returns the string representation.
  6926  //
  6927  // API parameter values that are decorated as "sensitive" in the API will not
  6928  // be included in the string output. The member name will be present, but the
  6929  // value will be replaced with "sensitive".
  6930  func (s AddTagsToResourceInput) String() string {
  6931  	return awsutil.Prettify(s)
  6932  }
  6933  
  6934  // GoString returns the string representation.
  6935  //
  6936  // API parameter values that are decorated as "sensitive" in the API will not
  6937  // be included in the string output. The member name will be present, but the
  6938  // value will be replaced with "sensitive".
  6939  func (s AddTagsToResourceInput) GoString() string {
  6940  	return s.String()
  6941  }
  6942  
  6943  // Validate inspects the fields of the type to determine if they are valid.
  6944  func (s *AddTagsToResourceInput) Validate() error {
  6945  	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
  6946  	if s.ResourceName == nil {
  6947  		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
  6948  	}
  6949  	if s.Tags == nil {
  6950  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  6951  	}
  6952  
  6953  	if invalidParams.Len() > 0 {
  6954  		return invalidParams
  6955  	}
  6956  	return nil
  6957  }
  6958  
  6959  // SetResourceName sets the ResourceName field's value.
  6960  func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput {
  6961  	s.ResourceName = &v
  6962  	return s
  6963  }
  6964  
  6965  // SetTags sets the Tags field's value.
  6966  func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
  6967  	s.Tags = v
  6968  	return s
  6969  }
  6970  
  6971  type AddTagsToResourceOutput struct {
  6972  	_ struct{} `type:"structure"`
  6973  }
  6974  
  6975  // String returns the string representation.
  6976  //
  6977  // API parameter values that are decorated as "sensitive" in the API will not
  6978  // be included in the string output. The member name will be present, but the
  6979  // value will be replaced with "sensitive".
  6980  func (s AddTagsToResourceOutput) String() string {
  6981  	return awsutil.Prettify(s)
  6982  }
  6983  
  6984  // GoString returns the string representation.
  6985  //
  6986  // API parameter values that are decorated as "sensitive" in the API will not
  6987  // be included in the string output. The member name will be present, but the
  6988  // value will be replaced with "sensitive".
  6989  func (s AddTagsToResourceOutput) GoString() string {
  6990  	return s.String()
  6991  }
  6992  
  6993  type ApplyPendingMaintenanceActionInput struct {
  6994  	_ struct{} `type:"structure"`
  6995  
  6996  	// The pending maintenance action to apply to this resource.
  6997  	//
  6998  	// Valid values: system-update, db-upgrade
  6999  	//
  7000  	// ApplyAction is a required field
  7001  	ApplyAction *string `type:"string" required:"true"`
  7002  
  7003  	// A value that specifies the type of opt-in request, or undoes an opt-in request.
  7004  	// An opt-in request of type immediate can't be undone.
  7005  	//
  7006  	// Valid values:
  7007  	//
  7008  	//    * immediate - Apply the maintenance action immediately.
  7009  	//
  7010  	//    * next-maintenance - Apply the maintenance action during the next maintenance
  7011  	//    window for the resource.
  7012  	//
  7013  	//    * undo-opt-in - Cancel any existing next-maintenance opt-in requests.
  7014  	//
  7015  	// OptInType is a required field
  7016  	OptInType *string `type:"string" required:"true"`
  7017  
  7018  	// The Amazon Resource Name (ARN) of the resource that the pending maintenance
  7019  	// action applies to. For information about creating an ARN, see Constructing
  7020  	// an Amazon Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
  7021  	//
  7022  	// ResourceIdentifier is a required field
  7023  	ResourceIdentifier *string `type:"string" required:"true"`
  7024  }
  7025  
  7026  // String returns the string representation.
  7027  //
  7028  // API parameter values that are decorated as "sensitive" in the API will not
  7029  // be included in the string output. The member name will be present, but the
  7030  // value will be replaced with "sensitive".
  7031  func (s ApplyPendingMaintenanceActionInput) String() string {
  7032  	return awsutil.Prettify(s)
  7033  }
  7034  
  7035  // GoString returns the string representation.
  7036  //
  7037  // API parameter values that are decorated as "sensitive" in the API will not
  7038  // be included in the string output. The member name will be present, but the
  7039  // value will be replaced with "sensitive".
  7040  func (s ApplyPendingMaintenanceActionInput) GoString() string {
  7041  	return s.String()
  7042  }
  7043  
  7044  // Validate inspects the fields of the type to determine if they are valid.
  7045  func (s *ApplyPendingMaintenanceActionInput) Validate() error {
  7046  	invalidParams := request.ErrInvalidParams{Context: "ApplyPendingMaintenanceActionInput"}
  7047  	if s.ApplyAction == nil {
  7048  		invalidParams.Add(request.NewErrParamRequired("ApplyAction"))
  7049  	}
  7050  	if s.OptInType == nil {
  7051  		invalidParams.Add(request.NewErrParamRequired("OptInType"))
  7052  	}
  7053  	if s.ResourceIdentifier == nil {
  7054  		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
  7055  	}
  7056  
  7057  	if invalidParams.Len() > 0 {
  7058  		return invalidParams
  7059  	}
  7060  	return nil
  7061  }
  7062  
  7063  // SetApplyAction sets the ApplyAction field's value.
  7064  func (s *ApplyPendingMaintenanceActionInput) SetApplyAction(v string) *ApplyPendingMaintenanceActionInput {
  7065  	s.ApplyAction = &v
  7066  	return s
  7067  }
  7068  
  7069  // SetOptInType sets the OptInType field's value.
  7070  func (s *ApplyPendingMaintenanceActionInput) SetOptInType(v string) *ApplyPendingMaintenanceActionInput {
  7071  	s.OptInType = &v
  7072  	return s
  7073  }
  7074  
  7075  // SetResourceIdentifier sets the ResourceIdentifier field's value.
  7076  func (s *ApplyPendingMaintenanceActionInput) SetResourceIdentifier(v string) *ApplyPendingMaintenanceActionInput {
  7077  	s.ResourceIdentifier = &v
  7078  	return s
  7079  }
  7080  
  7081  type ApplyPendingMaintenanceActionOutput struct {
  7082  	_ struct{} `type:"structure"`
  7083  
  7084  	// Describes the pending maintenance actions for a resource.
  7085  	ResourcePendingMaintenanceActions *ResourcePendingMaintenanceActions `type:"structure"`
  7086  }
  7087  
  7088  // String returns the string representation.
  7089  //
  7090  // API parameter values that are decorated as "sensitive" in the API will not
  7091  // be included in the string output. The member name will be present, but the
  7092  // value will be replaced with "sensitive".
  7093  func (s ApplyPendingMaintenanceActionOutput) String() string {
  7094  	return awsutil.Prettify(s)
  7095  }
  7096  
  7097  // GoString returns the string representation.
  7098  //
  7099  // API parameter values that are decorated as "sensitive" in the API will not
  7100  // be included in the string output. The member name will be present, but the
  7101  // value will be replaced with "sensitive".
  7102  func (s ApplyPendingMaintenanceActionOutput) GoString() string {
  7103  	return s.String()
  7104  }
  7105  
  7106  // SetResourcePendingMaintenanceActions sets the ResourcePendingMaintenanceActions field's value.
  7107  func (s *ApplyPendingMaintenanceActionOutput) SetResourcePendingMaintenanceActions(v *ResourcePendingMaintenanceActions) *ApplyPendingMaintenanceActionOutput {
  7108  	s.ResourcePendingMaintenanceActions = v
  7109  	return s
  7110  }
  7111  
  7112  // Specifies an Availability Zone.
  7113  type AvailabilityZone struct {
  7114  	_ struct{} `type:"structure"`
  7115  
  7116  	// The name of the availability zone.
  7117  	Name *string `type:"string"`
  7118  }
  7119  
  7120  // String returns the string representation.
  7121  //
  7122  // API parameter values that are decorated as "sensitive" in the API will not
  7123  // be included in the string output. The member name will be present, but the
  7124  // value will be replaced with "sensitive".
  7125  func (s AvailabilityZone) String() string {
  7126  	return awsutil.Prettify(s)
  7127  }
  7128  
  7129  // GoString returns the string representation.
  7130  //
  7131  // API parameter values that are decorated as "sensitive" in the API will not
  7132  // be included in the string output. The member name will be present, but the
  7133  // value will be replaced with "sensitive".
  7134  func (s AvailabilityZone) GoString() string {
  7135  	return s.String()
  7136  }
  7137  
  7138  // SetName sets the Name field's value.
  7139  func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
  7140  	s.Name = &v
  7141  	return s
  7142  }
  7143  
  7144  // Specifies a character set.
  7145  type CharacterSet struct {
  7146  	_ struct{} `type:"structure"`
  7147  
  7148  	// The description of the character set.
  7149  	CharacterSetDescription *string `type:"string"`
  7150  
  7151  	// The name of the character set.
  7152  	CharacterSetName *string `type:"string"`
  7153  }
  7154  
  7155  // String returns the string representation.
  7156  //
  7157  // API parameter values that are decorated as "sensitive" in the API will not
  7158  // be included in the string output. The member name will be present, but the
  7159  // value will be replaced with "sensitive".
  7160  func (s CharacterSet) String() string {
  7161  	return awsutil.Prettify(s)
  7162  }
  7163  
  7164  // GoString returns the string representation.
  7165  //
  7166  // API parameter values that are decorated as "sensitive" in the API will not
  7167  // be included in the string output. The member name will be present, but the
  7168  // value will be replaced with "sensitive".
  7169  func (s CharacterSet) GoString() string {
  7170  	return s.String()
  7171  }
  7172  
  7173  // SetCharacterSetDescription sets the CharacterSetDescription field's value.
  7174  func (s *CharacterSet) SetCharacterSetDescription(v string) *CharacterSet {
  7175  	s.CharacterSetDescription = &v
  7176  	return s
  7177  }
  7178  
  7179  // SetCharacterSetName sets the CharacterSetName field's value.
  7180  func (s *CharacterSet) SetCharacterSetName(v string) *CharacterSet {
  7181  	s.CharacterSetName = &v
  7182  	return s
  7183  }
  7184  
  7185  // The configuration setting for the log types to be enabled for export to CloudWatch
  7186  // Logs for a specific DB instance or DB cluster.
  7187  //
  7188  // The EnableLogTypes and DisableLogTypes arrays determine which logs will be
  7189  // exported (or not exported) to CloudWatch Logs.
  7190  type CloudwatchLogsExportConfiguration struct {
  7191  	_ struct{} `type:"structure"`
  7192  
  7193  	// The list of log types to disable.
  7194  	DisableLogTypes []*string `type:"list"`
  7195  
  7196  	// The list of log types to enable.
  7197  	EnableLogTypes []*string `type:"list"`
  7198  }
  7199  
  7200  // String returns the string representation.
  7201  //
  7202  // API parameter values that are decorated as "sensitive" in the API will not
  7203  // be included in the string output. The member name will be present, but the
  7204  // value will be replaced with "sensitive".
  7205  func (s CloudwatchLogsExportConfiguration) String() string {
  7206  	return awsutil.Prettify(s)
  7207  }
  7208  
  7209  // GoString returns the string representation.
  7210  //
  7211  // API parameter values that are decorated as "sensitive" in the API will not
  7212  // be included in the string output. The member name will be present, but the
  7213  // value will be replaced with "sensitive".
  7214  func (s CloudwatchLogsExportConfiguration) GoString() string {
  7215  	return s.String()
  7216  }
  7217  
  7218  // SetDisableLogTypes sets the DisableLogTypes field's value.
  7219  func (s *CloudwatchLogsExportConfiguration) SetDisableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
  7220  	s.DisableLogTypes = v
  7221  	return s
  7222  }
  7223  
  7224  // SetEnableLogTypes sets the EnableLogTypes field's value.
  7225  func (s *CloudwatchLogsExportConfiguration) SetEnableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
  7226  	s.EnableLogTypes = v
  7227  	return s
  7228  }
  7229  
  7230  type CopyDBClusterParameterGroupInput struct {
  7231  	_ struct{} `type:"structure"`
  7232  
  7233  	// The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter
  7234  	// group. For information about creating an ARN, see Constructing an Amazon
  7235  	// Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
  7236  	//
  7237  	// Constraints:
  7238  	//
  7239  	//    * Must specify a valid DB cluster parameter group.
  7240  	//
  7241  	//    * If the source DB cluster parameter group is in the same Amazon Region
  7242  	//    as the copy, specify a valid DB parameter group identifier, for example
  7243  	//    my-db-cluster-param-group, or a valid ARN.
  7244  	//
  7245  	//    * If the source DB parameter group is in a different Amazon Region than
  7246  	//    the copy, specify a valid DB cluster parameter group ARN, for example
  7247  	//    arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.
  7248  	//
  7249  	// SourceDBClusterParameterGroupIdentifier is a required field
  7250  	SourceDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
  7251  
  7252  	// The tags to be assigned to the copied DB cluster parameter group.
  7253  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  7254  
  7255  	// A description for the copied DB cluster parameter group.
  7256  	//
  7257  	// TargetDBClusterParameterGroupDescription is a required field
  7258  	TargetDBClusterParameterGroupDescription *string `type:"string" required:"true"`
  7259  
  7260  	// The identifier for the copied DB cluster parameter group.
  7261  	//
  7262  	// Constraints:
  7263  	//
  7264  	//    * Cannot be null, empty, or blank
  7265  	//
  7266  	//    * Must contain from 1 to 255 letters, numbers, or hyphens
  7267  	//
  7268  	//    * First character must be a letter
  7269  	//
  7270  	//    * Cannot end with a hyphen or contain two consecutive hyphens
  7271  	//
  7272  	// Example: my-cluster-param-group1
  7273  	//
  7274  	// TargetDBClusterParameterGroupIdentifier is a required field
  7275  	TargetDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
  7276  }
  7277  
  7278  // String returns the string representation.
  7279  //
  7280  // API parameter values that are decorated as "sensitive" in the API will not
  7281  // be included in the string output. The member name will be present, but the
  7282  // value will be replaced with "sensitive".
  7283  func (s CopyDBClusterParameterGroupInput) String() string {
  7284  	return awsutil.Prettify(s)
  7285  }
  7286  
  7287  // GoString returns the string representation.
  7288  //
  7289  // API parameter values that are decorated as "sensitive" in the API will not
  7290  // be included in the string output. The member name will be present, but the
  7291  // value will be replaced with "sensitive".
  7292  func (s CopyDBClusterParameterGroupInput) GoString() string {
  7293  	return s.String()
  7294  }
  7295  
  7296  // Validate inspects the fields of the type to determine if they are valid.
  7297  func (s *CopyDBClusterParameterGroupInput) Validate() error {
  7298  	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterParameterGroupInput"}
  7299  	if s.SourceDBClusterParameterGroupIdentifier == nil {
  7300  		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterParameterGroupIdentifier"))
  7301  	}
  7302  	if s.TargetDBClusterParameterGroupDescription == nil {
  7303  		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupDescription"))
  7304  	}
  7305  	if s.TargetDBClusterParameterGroupIdentifier == nil {
  7306  		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupIdentifier"))
  7307  	}
  7308  
  7309  	if invalidParams.Len() > 0 {
  7310  		return invalidParams
  7311  	}
  7312  	return nil
  7313  }
  7314  
  7315  // SetSourceDBClusterParameterGroupIdentifier sets the SourceDBClusterParameterGroupIdentifier field's value.
  7316  func (s *CopyDBClusterParameterGroupInput) SetSourceDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
  7317  	s.SourceDBClusterParameterGroupIdentifier = &v
  7318  	return s
  7319  }
  7320  
  7321  // SetTags sets the Tags field's value.
  7322  func (s *CopyDBClusterParameterGroupInput) SetTags(v []*Tag) *CopyDBClusterParameterGroupInput {
  7323  	s.Tags = v
  7324  	return s
  7325  }
  7326  
  7327  // SetTargetDBClusterParameterGroupDescription sets the TargetDBClusterParameterGroupDescription field's value.
  7328  func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupDescription(v string) *CopyDBClusterParameterGroupInput {
  7329  	s.TargetDBClusterParameterGroupDescription = &v
  7330  	return s
  7331  }
  7332  
  7333  // SetTargetDBClusterParameterGroupIdentifier sets the TargetDBClusterParameterGroupIdentifier field's value.
  7334  func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
  7335  	s.TargetDBClusterParameterGroupIdentifier = &v
  7336  	return s
  7337  }
  7338  
  7339  type CopyDBClusterParameterGroupOutput struct {
  7340  	_ struct{} `type:"structure"`
  7341  
  7342  	// Contains the details of an Amazon Neptune DB cluster parameter group.
  7343  	//
  7344  	// This data type is used as a response element in the DescribeDBClusterParameterGroups
  7345  	// action.
  7346  	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
  7347  }
  7348  
  7349  // String returns the string representation.
  7350  //
  7351  // API parameter values that are decorated as "sensitive" in the API will not
  7352  // be included in the string output. The member name will be present, but the
  7353  // value will be replaced with "sensitive".
  7354  func (s CopyDBClusterParameterGroupOutput) String() string {
  7355  	return awsutil.Prettify(s)
  7356  }
  7357  
  7358  // GoString returns the string representation.
  7359  //
  7360  // API parameter values that are decorated as "sensitive" in the API will not
  7361  // be included in the string output. The member name will be present, but the
  7362  // value will be replaced with "sensitive".
  7363  func (s CopyDBClusterParameterGroupOutput) GoString() string {
  7364  	return s.String()
  7365  }
  7366  
  7367  // SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
  7368  func (s *CopyDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CopyDBClusterParameterGroupOutput {
  7369  	s.DBClusterParameterGroup = v
  7370  	return s
  7371  }
  7372  
  7373  type CopyDBClusterSnapshotInput struct {
  7374  	_ struct{} `type:"structure"`
  7375  
  7376  	// True to copy all tags from the source DB cluster snapshot to the target DB
  7377  	// cluster snapshot, and otherwise false. The default is false.
  7378  	CopyTags *bool `type:"boolean"`
  7379  
  7380  	// DestinationRegion is used for presigning the request to a given region.
  7381  	DestinationRegion *string `type:"string"`
  7382  
  7383  	// The Amazon Amazon KMS key ID for an encrypted DB cluster snapshot. The KMS
  7384  	// key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS
  7385  	// key alias for the KMS encryption key.
  7386  	//
  7387  	// If you copy an encrypted DB cluster snapshot from your Amazon account, you
  7388  	// can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption
  7389  	// key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster
  7390  	// snapshot is encrypted with the same KMS key as the source DB cluster snapshot.
  7391  	//
  7392  	// If you copy an encrypted DB cluster snapshot that is shared from another
  7393  	// Amazon account, then you must specify a value for KmsKeyId.
  7394  	//
  7395  	// KMS encryption keys are specific to the Amazon Region that they are created
  7396  	// in, and you can't use encryption keys from one Amazon Region in another Amazon
  7397  	// Region.
  7398  	//
  7399  	// You cannot encrypt an unencrypted DB cluster snapshot when you copy it. If
  7400  	// you try to copy an unencrypted DB cluster snapshot and specify a value for
  7401  	// the KmsKeyId parameter, an error is returned.
  7402  	KmsKeyId *string `type:"string"`
  7403  
  7404  	// Not currently supported.
  7405  	PreSignedUrl *string `type:"string"`
  7406  
  7407  	// The identifier of the DB cluster snapshot to copy. This parameter is not
  7408  	// case-sensitive.
  7409  	//
  7410  	// Constraints:
  7411  	//
  7412  	//    * Must specify a valid system snapshot in the "available" state.
  7413  	//
  7414  	//    * Specify a valid DB snapshot identifier.
  7415  	//
  7416  	// Example: my-cluster-snapshot1
  7417  	//
  7418  	// SourceDBClusterSnapshotIdentifier is a required field
  7419  	SourceDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
  7420  
  7421  	// SourceRegion is the source region where the resource exists. This is not
  7422  	// sent over the wire and is only used for presigning. This value should always
  7423  	// have the same region as the source ARN.
  7424  	SourceRegion *string `type:"string" ignore:"true"`
  7425  
  7426  	// The tags to assign to the new DB cluster snapshot copy.
  7427  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  7428  
  7429  	// The identifier of the new DB cluster snapshot to create from the source DB
  7430  	// cluster snapshot. This parameter is not case-sensitive.
  7431  	//
  7432  	// Constraints:
  7433  	//
  7434  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
  7435  	//
  7436  	//    * First character must be a letter.
  7437  	//
  7438  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
  7439  	//
  7440  	// Example: my-cluster-snapshot2
  7441  	//
  7442  	// TargetDBClusterSnapshotIdentifier is a required field
  7443  	TargetDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
  7444  }
  7445  
  7446  // String 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 CopyDBClusterSnapshotInput) String() string {
  7452  	return awsutil.Prettify(s)
  7453  }
  7454  
  7455  // GoString returns the string representation.
  7456  //
  7457  // API parameter values that are decorated as "sensitive" in the API will not
  7458  // be included in the string output. The member name will be present, but the
  7459  // value will be replaced with "sensitive".
  7460  func (s CopyDBClusterSnapshotInput) GoString() string {
  7461  	return s.String()
  7462  }
  7463  
  7464  // Validate inspects the fields of the type to determine if they are valid.
  7465  func (s *CopyDBClusterSnapshotInput) Validate() error {
  7466  	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterSnapshotInput"}
  7467  	if s.SourceDBClusterSnapshotIdentifier == nil {
  7468  		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterSnapshotIdentifier"))
  7469  	}
  7470  	if s.TargetDBClusterSnapshotIdentifier == nil {
  7471  		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterSnapshotIdentifier"))
  7472  	}
  7473  
  7474  	if invalidParams.Len() > 0 {
  7475  		return invalidParams
  7476  	}
  7477  	return nil
  7478  }
  7479  
  7480  // SetCopyTags sets the CopyTags field's value.
  7481  func (s *CopyDBClusterSnapshotInput) SetCopyTags(v bool) *CopyDBClusterSnapshotInput {
  7482  	s.CopyTags = &v
  7483  	return s
  7484  }
  7485  
  7486  // SetDestinationRegion sets the DestinationRegion field's value.
  7487  func (s *CopyDBClusterSnapshotInput) SetDestinationRegion(v string) *CopyDBClusterSnapshotInput {
  7488  	s.DestinationRegion = &v
  7489  	return s
  7490  }
  7491  
  7492  // SetKmsKeyId sets the KmsKeyId field's value.
  7493  func (s *CopyDBClusterSnapshotInput) SetKmsKeyId(v string) *CopyDBClusterSnapshotInput {
  7494  	s.KmsKeyId = &v
  7495  	return s
  7496  }
  7497  
  7498  // SetPreSignedUrl sets the PreSignedUrl field's value.
  7499  func (s *CopyDBClusterSnapshotInput) SetPreSignedUrl(v string) *CopyDBClusterSnapshotInput {
  7500  	s.PreSignedUrl = &v
  7501  	return s
  7502  }
  7503  
  7504  // SetSourceDBClusterSnapshotIdentifier sets the SourceDBClusterSnapshotIdentifier field's value.
  7505  func (s *CopyDBClusterSnapshotInput) SetSourceDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
  7506  	s.SourceDBClusterSnapshotIdentifier = &v
  7507  	return s
  7508  }
  7509  
  7510  // SetSourceRegion sets the SourceRegion field's value.
  7511  func (s *CopyDBClusterSnapshotInput) SetSourceRegion(v string) *CopyDBClusterSnapshotInput {
  7512  	s.SourceRegion = &v
  7513  	return s
  7514  }
  7515  
  7516  // SetTags sets the Tags field's value.
  7517  func (s *CopyDBClusterSnapshotInput) SetTags(v []*Tag) *CopyDBClusterSnapshotInput {
  7518  	s.Tags = v
  7519  	return s
  7520  }
  7521  
  7522  // SetTargetDBClusterSnapshotIdentifier sets the TargetDBClusterSnapshotIdentifier field's value.
  7523  func (s *CopyDBClusterSnapshotInput) SetTargetDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
  7524  	s.TargetDBClusterSnapshotIdentifier = &v
  7525  	return s
  7526  }
  7527  
  7528  type CopyDBClusterSnapshotOutput struct {
  7529  	_ struct{} `type:"structure"`
  7530  
  7531  	// Contains the details for an Amazon Neptune DB cluster snapshot
  7532  	//
  7533  	// This data type is used as a response element in the DescribeDBClusterSnapshots
  7534  	// action.
  7535  	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
  7536  }
  7537  
  7538  // String returns the string representation.
  7539  //
  7540  // API parameter values that are decorated as "sensitive" in the API will not
  7541  // be included in the string output. The member name will be present, but the
  7542  // value will be replaced with "sensitive".
  7543  func (s CopyDBClusterSnapshotOutput) String() string {
  7544  	return awsutil.Prettify(s)
  7545  }
  7546  
  7547  // GoString returns the string representation.
  7548  //
  7549  // API parameter values that are decorated as "sensitive" in the API will not
  7550  // be included in the string output. The member name will be present, but the
  7551  // value will be replaced with "sensitive".
  7552  func (s CopyDBClusterSnapshotOutput) GoString() string {
  7553  	return s.String()
  7554  }
  7555  
  7556  // SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
  7557  func (s *CopyDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CopyDBClusterSnapshotOutput {
  7558  	s.DBClusterSnapshot = v
  7559  	return s
  7560  }
  7561  
  7562  type CopyDBParameterGroupInput struct {
  7563  	_ struct{} `type:"structure"`
  7564  
  7565  	// The identifier or ARN for the source DB parameter group. For information
  7566  	// about creating an ARN, see Constructing an Amazon Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
  7567  	//
  7568  	// Constraints:
  7569  	//
  7570  	//    * Must specify a valid DB parameter group.
  7571  	//
  7572  	//    * Must specify a valid DB parameter group identifier, for example my-db-param-group,
  7573  	//    or a valid ARN.
  7574  	//
  7575  	// SourceDBParameterGroupIdentifier is a required field
  7576  	SourceDBParameterGroupIdentifier *string `type:"string" required:"true"`
  7577  
  7578  	// The tags to be assigned to the copied DB parameter group.
  7579  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  7580  
  7581  	// A description for the copied DB parameter group.
  7582  	//
  7583  	// TargetDBParameterGroupDescription is a required field
  7584  	TargetDBParameterGroupDescription *string `type:"string" required:"true"`
  7585  
  7586  	// The identifier for the copied DB parameter group.
  7587  	//
  7588  	// Constraints:
  7589  	//
  7590  	//    * Cannot be null, empty, or blank.
  7591  	//
  7592  	//    * Must contain from 1 to 255 letters, numbers, or hyphens.
  7593  	//
  7594  	//    * First character must be a letter.
  7595  	//
  7596  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
  7597  	//
  7598  	// Example: my-db-parameter-group
  7599  	//
  7600  	// TargetDBParameterGroupIdentifier is a required field
  7601  	TargetDBParameterGroupIdentifier *string `type:"string" required:"true"`
  7602  }
  7603  
  7604  // String returns the string representation.
  7605  //
  7606  // API parameter values that are decorated as "sensitive" in the API will not
  7607  // be included in the string output. The member name will be present, but the
  7608  // value will be replaced with "sensitive".
  7609  func (s CopyDBParameterGroupInput) String() string {
  7610  	return awsutil.Prettify(s)
  7611  }
  7612  
  7613  // GoString returns the string representation.
  7614  //
  7615  // API parameter values that are decorated as "sensitive" in the API will not
  7616  // be included in the string output. The member name will be present, but the
  7617  // value will be replaced with "sensitive".
  7618  func (s CopyDBParameterGroupInput) GoString() string {
  7619  	return s.String()
  7620  }
  7621  
  7622  // Validate inspects the fields of the type to determine if they are valid.
  7623  func (s *CopyDBParameterGroupInput) Validate() error {
  7624  	invalidParams := request.ErrInvalidParams{Context: "CopyDBParameterGroupInput"}
  7625  	if s.SourceDBParameterGroupIdentifier == nil {
  7626  		invalidParams.Add(request.NewErrParamRequired("SourceDBParameterGroupIdentifier"))
  7627  	}
  7628  	if s.TargetDBParameterGroupDescription == nil {
  7629  		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupDescription"))
  7630  	}
  7631  	if s.TargetDBParameterGroupIdentifier == nil {
  7632  		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupIdentifier"))
  7633  	}
  7634  
  7635  	if invalidParams.Len() > 0 {
  7636  		return invalidParams
  7637  	}
  7638  	return nil
  7639  }
  7640  
  7641  // SetSourceDBParameterGroupIdentifier sets the SourceDBParameterGroupIdentifier field's value.
  7642  func (s *CopyDBParameterGroupInput) SetSourceDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
  7643  	s.SourceDBParameterGroupIdentifier = &v
  7644  	return s
  7645  }
  7646  
  7647  // SetTags sets the Tags field's value.
  7648  func (s *CopyDBParameterGroupInput) SetTags(v []*Tag) *CopyDBParameterGroupInput {
  7649  	s.Tags = v
  7650  	return s
  7651  }
  7652  
  7653  // SetTargetDBParameterGroupDescription sets the TargetDBParameterGroupDescription field's value.
  7654  func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupDescription(v string) *CopyDBParameterGroupInput {
  7655  	s.TargetDBParameterGroupDescription = &v
  7656  	return s
  7657  }
  7658  
  7659  // SetTargetDBParameterGroupIdentifier sets the TargetDBParameterGroupIdentifier field's value.
  7660  func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
  7661  	s.TargetDBParameterGroupIdentifier = &v
  7662  	return s
  7663  }
  7664  
  7665  type CopyDBParameterGroupOutput struct {
  7666  	_ struct{} `type:"structure"`
  7667  
  7668  	// Contains the details of an Amazon Neptune DB parameter group.
  7669  	//
  7670  	// This data type is used as a response element in the DescribeDBParameterGroups
  7671  	// action.
  7672  	DBParameterGroup *DBParameterGroup `type:"structure"`
  7673  }
  7674  
  7675  // String returns the string representation.
  7676  //
  7677  // API parameter values that are decorated as "sensitive" in the API will not
  7678  // be included in the string output. The member name will be present, but the
  7679  // value will be replaced with "sensitive".
  7680  func (s CopyDBParameterGroupOutput) String() string {
  7681  	return awsutil.Prettify(s)
  7682  }
  7683  
  7684  // GoString returns the string representation.
  7685  //
  7686  // API parameter values that are decorated as "sensitive" in the API will not
  7687  // be included in the string output. The member name will be present, but the
  7688  // value will be replaced with "sensitive".
  7689  func (s CopyDBParameterGroupOutput) GoString() string {
  7690  	return s.String()
  7691  }
  7692  
  7693  // SetDBParameterGroup sets the DBParameterGroup field's value.
  7694  func (s *CopyDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CopyDBParameterGroupOutput {
  7695  	s.DBParameterGroup = v
  7696  	return s
  7697  }
  7698  
  7699  type CreateDBClusterEndpointInput struct {
  7700  	_ struct{} `type:"structure"`
  7701  
  7702  	// The identifier to use for the new endpoint. This parameter is stored as a
  7703  	// lowercase string.
  7704  	//
  7705  	// DBClusterEndpointIdentifier is a required field
  7706  	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
  7707  
  7708  	// The DB cluster identifier of the DB cluster associated with the endpoint.
  7709  	// This parameter is stored as a lowercase string.
  7710  	//
  7711  	// DBClusterIdentifier is a required field
  7712  	DBClusterIdentifier *string `type:"string" required:"true"`
  7713  
  7714  	// The type of the endpoint. One of: READER, WRITER, ANY.
  7715  	//
  7716  	// EndpointType is a required field
  7717  	EndpointType *string `type:"string" required:"true"`
  7718  
  7719  	// List of DB instance identifiers that aren't part of the custom endpoint group.
  7720  	// All other eligible instances are reachable through the custom endpoint. Only
  7721  	// relevant if the list of static members is empty.
  7722  	ExcludedMembers []*string `type:"list"`
  7723  
  7724  	// List of DB instance identifiers that are part of the custom endpoint group.
  7725  	StaticMembers []*string `type:"list"`
  7726  
  7727  	// The tags to be assigned to the Amazon Neptune resource.
  7728  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  7729  }
  7730  
  7731  // String returns the string representation.
  7732  //
  7733  // API parameter values that are decorated as "sensitive" in the API will not
  7734  // be included in the string output. The member name will be present, but the
  7735  // value will be replaced with "sensitive".
  7736  func (s CreateDBClusterEndpointInput) String() string {
  7737  	return awsutil.Prettify(s)
  7738  }
  7739  
  7740  // GoString returns the string representation.
  7741  //
  7742  // API parameter values that are decorated as "sensitive" in the API will not
  7743  // be included in the string output. The member name will be present, but the
  7744  // value will be replaced with "sensitive".
  7745  func (s CreateDBClusterEndpointInput) GoString() string {
  7746  	return s.String()
  7747  }
  7748  
  7749  // Validate inspects the fields of the type to determine if they are valid.
  7750  func (s *CreateDBClusterEndpointInput) Validate() error {
  7751  	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterEndpointInput"}
  7752  	if s.DBClusterEndpointIdentifier == nil {
  7753  		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
  7754  	}
  7755  	if s.DBClusterIdentifier == nil {
  7756  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
  7757  	}
  7758  	if s.EndpointType == nil {
  7759  		invalidParams.Add(request.NewErrParamRequired("EndpointType"))
  7760  	}
  7761  
  7762  	if invalidParams.Len() > 0 {
  7763  		return invalidParams
  7764  	}
  7765  	return nil
  7766  }
  7767  
  7768  // SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
  7769  func (s *CreateDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *CreateDBClusterEndpointInput {
  7770  	s.DBClusterEndpointIdentifier = &v
  7771  	return s
  7772  }
  7773  
  7774  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
  7775  func (s *CreateDBClusterEndpointInput) SetDBClusterIdentifier(v string) *CreateDBClusterEndpointInput {
  7776  	s.DBClusterIdentifier = &v
  7777  	return s
  7778  }
  7779  
  7780  // SetEndpointType sets the EndpointType field's value.
  7781  func (s *CreateDBClusterEndpointInput) SetEndpointType(v string) *CreateDBClusterEndpointInput {
  7782  	s.EndpointType = &v
  7783  	return s
  7784  }
  7785  
  7786  // SetExcludedMembers sets the ExcludedMembers field's value.
  7787  func (s *CreateDBClusterEndpointInput) SetExcludedMembers(v []*string) *CreateDBClusterEndpointInput {
  7788  	s.ExcludedMembers = v
  7789  	return s
  7790  }
  7791  
  7792  // SetStaticMembers sets the StaticMembers field's value.
  7793  func (s *CreateDBClusterEndpointInput) SetStaticMembers(v []*string) *CreateDBClusterEndpointInput {
  7794  	s.StaticMembers = v
  7795  	return s
  7796  }
  7797  
  7798  // SetTags sets the Tags field's value.
  7799  func (s *CreateDBClusterEndpointInput) SetTags(v []*Tag) *CreateDBClusterEndpointInput {
  7800  	s.Tags = v
  7801  	return s
  7802  }
  7803  
  7804  // This data type represents the information you need to connect to an Amazon
  7805  // Neptune DB cluster. This data type is used as a response element in the following
  7806  // actions:
  7807  //
  7808  //    * CreateDBClusterEndpoint
  7809  //
  7810  //    * DescribeDBClusterEndpoints
  7811  //
  7812  //    * ModifyDBClusterEndpoint
  7813  //
  7814  //    * DeleteDBClusterEndpoint
  7815  //
  7816  // For the data structure that represents Amazon Neptune DB instance endpoints,
  7817  // see Endpoint.
  7818  type CreateDBClusterEndpointOutput struct {
  7819  	_ struct{} `type:"structure"`
  7820  
  7821  	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
  7822  	CustomEndpointType *string `type:"string"`
  7823  
  7824  	// The Amazon Resource Name (ARN) for the endpoint.
  7825  	DBClusterEndpointArn *string `type:"string"`
  7826  
  7827  	// The identifier associated with the endpoint. This parameter is stored as
  7828  	// a lowercase string.
  7829  	DBClusterEndpointIdentifier *string `type:"string"`
  7830  
  7831  	// A unique system-generated identifier for an endpoint. It remains the same
  7832  	// for the whole life of the endpoint.
  7833  	DBClusterEndpointResourceIdentifier *string `type:"string"`
  7834  
  7835  	// The DB cluster identifier of the DB cluster associated with the endpoint.
  7836  	// This parameter is stored as a lowercase string.
  7837  	DBClusterIdentifier *string `type:"string"`
  7838  
  7839  	// The DNS address of the endpoint.
  7840  	Endpoint *string `type:"string"`
  7841  
  7842  	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
  7843  	EndpointType *string `type:"string"`
  7844  
  7845  	// List of DB instance identifiers that aren't part of the custom endpoint group.
  7846  	// All other eligible instances are reachable through the custom endpoint. Only
  7847  	// relevant if the list of static members is empty.
  7848  	ExcludedMembers []*string `type:"list"`
  7849  
  7850  	// List of DB instance identifiers that are part of the custom endpoint group.
  7851  	StaticMembers []*string `type:"list"`
  7852  
  7853  	// The current status of the endpoint. One of: creating, available, deleting,
  7854  	// inactive, modifying. The inactive state applies to an endpoint that cannot
  7855  	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
  7856  	// secondary cluster in a global database.
  7857  	Status *string `type:"string"`
  7858  }
  7859  
  7860  // String returns the string representation.
  7861  //
  7862  // API parameter values that are decorated as "sensitive" in the API will not
  7863  // be included in the string output. The member name will be present, but the
  7864  // value will be replaced with "sensitive".
  7865  func (s CreateDBClusterEndpointOutput) String() string {
  7866  	return awsutil.Prettify(s)
  7867  }
  7868  
  7869  // GoString returns the string representation.
  7870  //
  7871  // API parameter values that are decorated as "sensitive" in the API will not
  7872  // be included in the string output. The member name will be present, but the
  7873  // value will be replaced with "sensitive".
  7874  func (s CreateDBClusterEndpointOutput) GoString() string {
  7875  	return s.String()
  7876  }
  7877  
  7878  // SetCustomEndpointType sets the CustomEndpointType field's value.
  7879  func (s *CreateDBClusterEndpointOutput) SetCustomEndpointType(v string) *CreateDBClusterEndpointOutput {
  7880  	s.CustomEndpointType = &v
  7881  	return s
  7882  }
  7883  
  7884  // SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
  7885  func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *CreateDBClusterEndpointOutput {
  7886  	s.DBClusterEndpointArn = &v
  7887  	return s
  7888  }
  7889  
  7890  // SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
  7891  func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *CreateDBClusterEndpointOutput {
  7892  	s.DBClusterEndpointIdentifier = &v
  7893  	return s
  7894  }
  7895  
  7896  // SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
  7897  func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *CreateDBClusterEndpointOutput {
  7898  	s.DBClusterEndpointResourceIdentifier = &v
  7899  	return s
  7900  }
  7901  
  7902  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
  7903  func (s *CreateDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *CreateDBClusterEndpointOutput {
  7904  	s.DBClusterIdentifier = &v
  7905  	return s
  7906  }
  7907  
  7908  // SetEndpoint sets the Endpoint field's value.
  7909  func (s *CreateDBClusterEndpointOutput) SetEndpoint(v string) *CreateDBClusterEndpointOutput {
  7910  	s.Endpoint = &v
  7911  	return s
  7912  }
  7913  
  7914  // SetEndpointType sets the EndpointType field's value.
  7915  func (s *CreateDBClusterEndpointOutput) SetEndpointType(v string) *CreateDBClusterEndpointOutput {
  7916  	s.EndpointType = &v
  7917  	return s
  7918  }
  7919  
  7920  // SetExcludedMembers sets the ExcludedMembers field's value.
  7921  func (s *CreateDBClusterEndpointOutput) SetExcludedMembers(v []*string) *CreateDBClusterEndpointOutput {
  7922  	s.ExcludedMembers = v
  7923  	return s
  7924  }
  7925  
  7926  // SetStaticMembers sets the StaticMembers field's value.
  7927  func (s *CreateDBClusterEndpointOutput) SetStaticMembers(v []*string) *CreateDBClusterEndpointOutput {
  7928  	s.StaticMembers = v
  7929  	return s
  7930  }
  7931  
  7932  // SetStatus sets the Status field's value.
  7933  func (s *CreateDBClusterEndpointOutput) SetStatus(v string) *CreateDBClusterEndpointOutput {
  7934  	s.Status = &v
  7935  	return s
  7936  }
  7937  
  7938  type CreateDBClusterInput struct {
  7939  	_ struct{} `type:"structure"`
  7940  
  7941  	// A list of EC2 Availability Zones that instances in the DB cluster can be
  7942  	// created in.
  7943  	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
  7944  
  7945  	// The number of days for which automated backups are retained. You must specify
  7946  	// a minimum value of 1.
  7947  	//
  7948  	// Default: 1
  7949  	//
  7950  	// Constraints:
  7951  	//
  7952  	//    * Must be a value from 1 to 35
  7953  	BackupRetentionPeriod *int64 `type:"integer"`
  7954  
  7955  	// (Not supported by Neptune)
  7956  	CharacterSetName *string `type:"string"`
  7957  
  7958  	// If set to true, tags are copied to any snapshot of the DB cluster that is
  7959  	// created.
  7960  	CopyTagsToSnapshot *bool `type:"boolean"`
  7961  
  7962  	// The DB cluster identifier. This parameter is stored as a lowercase string.
  7963  	//
  7964  	// Constraints:
  7965  	//
  7966  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
  7967  	//
  7968  	//    * First character must be a letter.
  7969  	//
  7970  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
  7971  	//
  7972  	// Example: my-cluster1
  7973  	//
  7974  	// DBClusterIdentifier is a required field
  7975  	DBClusterIdentifier *string `type:"string" required:"true"`
  7976  
  7977  	// The name of the DB cluster parameter group to associate with this DB cluster.
  7978  	// If this argument is omitted, the default is used.
  7979  	//
  7980  	// Constraints:
  7981  	//
  7982  	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
  7983  	DBClusterParameterGroupName *string `type:"string"`
  7984  
  7985  	// A DB subnet group to associate with this DB cluster.
  7986  	//
  7987  	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
  7988  	// default.
  7989  	//
  7990  	// Example: mySubnetgroup
  7991  	DBSubnetGroupName *string `type:"string"`
  7992  
  7993  	// The name for your database of up to 64 alpha-numeric characters. If you do
  7994  	// not provide a name, Amazon Neptune will not create a database in the DB cluster
  7995  	// you are creating.
  7996  	DatabaseName *string `type:"string"`
  7997  
  7998  	// A value that indicates whether the DB cluster has deletion protection enabled.
  7999  	// The database can't be deleted when deletion protection is enabled. By default,
  8000  	// deletion protection is enabled.
  8001  	DeletionProtection *bool `type:"boolean"`
  8002  
  8003  	// DestinationRegion is used for presigning the request to a given region.
  8004  	DestinationRegion *string `type:"string"`
  8005  
  8006  	// The list of log types that need to be enabled for exporting to CloudWatch
  8007  	// Logs.
  8008  	EnableCloudwatchLogsExports []*string `type:"list"`
  8009  
  8010  	// If set to true, enables Amazon Identity and Access Management (IAM) authentication
  8011  	// for the entire DB cluster (this cannot be set at an instance level).
  8012  	//
  8013  	// Default: false.
  8014  	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
  8015  
  8016  	// The name of the database engine to be used for this DB cluster.
  8017  	//
  8018  	// Valid Values: neptune
  8019  	//
  8020  	// Engine is a required field
  8021  	Engine *string `type:"string" required:"true"`
  8022  
  8023  	// The version number of the database engine to use for the new DB cluster.
  8024  	//
  8025  	// Example: 1.0.2.1
  8026  	EngineVersion *string `type:"string"`
  8027  
  8028  	// The Amazon KMS key identifier for an encrypted DB cluster.
  8029  	//
  8030  	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
  8031  	// key. If you are creating a DB cluster with the same Amazon account that owns
  8032  	// the KMS encryption key used to encrypt the new DB cluster, then you can use
  8033  	// the KMS key alias instead of the ARN for the KMS encryption key.
  8034  	//
  8035  	// If an encryption key is not specified in KmsKeyId:
  8036  	//
  8037  	//    * If ReplicationSourceIdentifier identifies an encrypted source, then
  8038  	//    Amazon Neptune will use the encryption key used to encrypt the source.
  8039  	//    Otherwise, Amazon Neptune will use your default encryption key.
  8040  	//
  8041  	//    * If the StorageEncrypted parameter is true and ReplicationSourceIdentifier
  8042  	//    is not specified, then Amazon Neptune will use your default encryption
  8043  	//    key.
  8044  	//
  8045  	// Amazon KMS creates the default encryption key for your Amazon account. Your
  8046  	// Amazon account has a different default encryption key for each Amazon Region.
  8047  	//
  8048  	// If you create a Read Replica of an encrypted DB cluster in another Amazon
  8049  	// Region, you must set KmsKeyId to a KMS key ID that is valid in the destination
  8050  	// Amazon Region. This key is used to encrypt the Read Replica in that Amazon
  8051  	// Region.
  8052  	KmsKeyId *string `type:"string"`
  8053  
  8054  	// Not supported by Neptune.
  8055  	MasterUserPassword *string `type:"string"`
  8056  
  8057  	// Not supported by Neptune.
  8058  	MasterUsername *string `type:"string"`
  8059  
  8060  	// (Not supported by Neptune)
  8061  	OptionGroupName *string `type:"string"`
  8062  
  8063  	// The port number on which the instances in the DB cluster accept connections.
  8064  	//
  8065  	// Default: 8182
  8066  	Port *int64 `type:"integer"`
  8067  
  8068  	// This parameter is not currently supported.
  8069  	PreSignedUrl *string `type:"string"`
  8070  
  8071  	// The daily time range during which automated backups are created if automated
  8072  	// backups are enabled using the BackupRetentionPeriod parameter.
  8073  	//
  8074  	// The default is a 30-minute window selected at random from an 8-hour block
  8075  	// of time for each Amazon Region. To see the time blocks available, see Adjusting
  8076  	// the Preferred Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
  8077  	// in the Amazon Neptune User Guide.
  8078  	//
  8079  	// Constraints:
  8080  	//
  8081  	//    * Must be in the format hh24:mi-hh24:mi.
  8082  	//
  8083  	//    * Must be in Universal Coordinated Time (UTC).
  8084  	//
  8085  	//    * Must not conflict with the preferred maintenance window.
  8086  	//
  8087  	//    * Must be at least 30 minutes.
  8088  	PreferredBackupWindow *string `type:"string"`
  8089  
  8090  	// The weekly time range during which system maintenance can occur, in Universal
  8091  	// Coordinated Time (UTC).
  8092  	//
  8093  	// Format: ddd:hh24:mi-ddd:hh24:mi
  8094  	//
  8095  	// The default is a 30-minute window selected at random from an 8-hour block
  8096  	// of time for each Amazon Region, occurring on a random day of the week. To
  8097  	// see the time blocks available, see Adjusting the Preferred Maintenance Window
  8098  	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
  8099  	// in the Amazon Neptune User Guide.
  8100  	//
  8101  	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
  8102  	//
  8103  	// Constraints: Minimum 30-minute window.
  8104  	PreferredMaintenanceWindow *string `type:"string"`
  8105  
  8106  	// The Amazon Resource Name (ARN) of the source DB instance or DB cluster if
  8107  	// this DB cluster is created as a Read Replica.
  8108  	ReplicationSourceIdentifier *string `type:"string"`
  8109  
  8110  	// SourceRegion is the source region where the resource exists. This is not
  8111  	// sent over the wire and is only used for presigning. This value should always
  8112  	// have the same region as the source ARN.
  8113  	SourceRegion *string `type:"string" ignore:"true"`
  8114  
  8115  	// Specifies whether the DB cluster is encrypted.
  8116  	StorageEncrypted *bool `type:"boolean"`
  8117  
  8118  	// The tags to assign to the new DB cluster.
  8119  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  8120  
  8121  	// A list of EC2 VPC security groups to associate with this DB cluster.
  8122  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
  8123  }
  8124  
  8125  // String returns the string representation.
  8126  //
  8127  // API parameter values that are decorated as "sensitive" in the API will not
  8128  // be included in the string output. The member name will be present, but the
  8129  // value will be replaced with "sensitive".
  8130  func (s CreateDBClusterInput) String() string {
  8131  	return awsutil.Prettify(s)
  8132  }
  8133  
  8134  // GoString returns the string representation.
  8135  //
  8136  // API parameter values that are decorated as "sensitive" in the API will not
  8137  // be included in the string output. The member name will be present, but the
  8138  // value will be replaced with "sensitive".
  8139  func (s CreateDBClusterInput) GoString() string {
  8140  	return s.String()
  8141  }
  8142  
  8143  // Validate inspects the fields of the type to determine if they are valid.
  8144  func (s *CreateDBClusterInput) Validate() error {
  8145  	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterInput"}
  8146  	if s.DBClusterIdentifier == nil {
  8147  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
  8148  	}
  8149  	if s.Engine == nil {
  8150  		invalidParams.Add(request.NewErrParamRequired("Engine"))
  8151  	}
  8152  
  8153  	if invalidParams.Len() > 0 {
  8154  		return invalidParams
  8155  	}
  8156  	return nil
  8157  }
  8158  
  8159  // SetAvailabilityZones sets the AvailabilityZones field's value.
  8160  func (s *CreateDBClusterInput) SetAvailabilityZones(v []*string) *CreateDBClusterInput {
  8161  	s.AvailabilityZones = v
  8162  	return s
  8163  }
  8164  
  8165  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
  8166  func (s *CreateDBClusterInput) SetBackupRetentionPeriod(v int64) *CreateDBClusterInput {
  8167  	s.BackupRetentionPeriod = &v
  8168  	return s
  8169  }
  8170  
  8171  // SetCharacterSetName sets the CharacterSetName field's value.
  8172  func (s *CreateDBClusterInput) SetCharacterSetName(v string) *CreateDBClusterInput {
  8173  	s.CharacterSetName = &v
  8174  	return s
  8175  }
  8176  
  8177  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
  8178  func (s *CreateDBClusterInput) SetCopyTagsToSnapshot(v bool) *CreateDBClusterInput {
  8179  	s.CopyTagsToSnapshot = &v
  8180  	return s
  8181  }
  8182  
  8183  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
  8184  func (s *CreateDBClusterInput) SetDBClusterIdentifier(v string) *CreateDBClusterInput {
  8185  	s.DBClusterIdentifier = &v
  8186  	return s
  8187  }
  8188  
  8189  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
  8190  func (s *CreateDBClusterInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterInput {
  8191  	s.DBClusterParameterGroupName = &v
  8192  	return s
  8193  }
  8194  
  8195  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
  8196  func (s *CreateDBClusterInput) SetDBSubnetGroupName(v string) *CreateDBClusterInput {
  8197  	s.DBSubnetGroupName = &v
  8198  	return s
  8199  }
  8200  
  8201  // SetDatabaseName sets the DatabaseName field's value.
  8202  func (s *CreateDBClusterInput) SetDatabaseName(v string) *CreateDBClusterInput {
  8203  	s.DatabaseName = &v
  8204  	return s
  8205  }
  8206  
  8207  // SetDeletionProtection sets the DeletionProtection field's value.
  8208  func (s *CreateDBClusterInput) SetDeletionProtection(v bool) *CreateDBClusterInput {
  8209  	s.DeletionProtection = &v
  8210  	return s
  8211  }
  8212  
  8213  // SetDestinationRegion sets the DestinationRegion field's value.
  8214  func (s *CreateDBClusterInput) SetDestinationRegion(v string) *CreateDBClusterInput {
  8215  	s.DestinationRegion = &v
  8216  	return s
  8217  }
  8218  
  8219  // SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
  8220  func (s *CreateDBClusterInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBClusterInput {
  8221  	s.EnableCloudwatchLogsExports = v
  8222  	return s
  8223  }
  8224  
  8225  // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
  8226  func (s *CreateDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBClusterInput {
  8227  	s.EnableIAMDatabaseAuthentication = &v
  8228  	return s
  8229  }
  8230  
  8231  // SetEngine sets the Engine field's value.
  8232  func (s *CreateDBClusterInput) SetEngine(v string) *CreateDBClusterInput {
  8233  	s.Engine = &v
  8234  	return s
  8235  }
  8236  
  8237  // SetEngineVersion sets the EngineVersion field's value.
  8238  func (s *CreateDBClusterInput) SetEngineVersion(v string) *CreateDBClusterInput {
  8239  	s.EngineVersion = &v
  8240  	return s
  8241  }
  8242  
  8243  // SetKmsKeyId sets the KmsKeyId field's value.
  8244  func (s *CreateDBClusterInput) SetKmsKeyId(v string) *CreateDBClusterInput {
  8245  	s.KmsKeyId = &v
  8246  	return s
  8247  }
  8248  
  8249  // SetMasterUserPassword sets the MasterUserPassword field's value.
  8250  func (s *CreateDBClusterInput) SetMasterUserPassword(v string) *CreateDBClusterInput {
  8251  	s.MasterUserPassword = &v
  8252  	return s
  8253  }
  8254  
  8255  // SetMasterUsername sets the MasterUsername field's value.
  8256  func (s *CreateDBClusterInput) SetMasterUsername(v string) *CreateDBClusterInput {
  8257  	s.MasterUsername = &v
  8258  	return s
  8259  }
  8260  
  8261  // SetOptionGroupName sets the OptionGroupName field's value.
  8262  func (s *CreateDBClusterInput) SetOptionGroupName(v string) *CreateDBClusterInput {
  8263  	s.OptionGroupName = &v
  8264  	return s
  8265  }
  8266  
  8267  // SetPort sets the Port field's value.
  8268  func (s *CreateDBClusterInput) SetPort(v int64) *CreateDBClusterInput {
  8269  	s.Port = &v
  8270  	return s
  8271  }
  8272  
  8273  // SetPreSignedUrl sets the PreSignedUrl field's value.
  8274  func (s *CreateDBClusterInput) SetPreSignedUrl(v string) *CreateDBClusterInput {
  8275  	s.PreSignedUrl = &v
  8276  	return s
  8277  }
  8278  
  8279  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
  8280  func (s *CreateDBClusterInput) SetPreferredBackupWindow(v string) *CreateDBClusterInput {
  8281  	s.PreferredBackupWindow = &v
  8282  	return s
  8283  }
  8284  
  8285  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
  8286  func (s *CreateDBClusterInput) SetPreferredMaintenanceWindow(v string) *CreateDBClusterInput {
  8287  	s.PreferredMaintenanceWindow = &v
  8288  	return s
  8289  }
  8290  
  8291  // SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
  8292  func (s *CreateDBClusterInput) SetReplicationSourceIdentifier(v string) *CreateDBClusterInput {
  8293  	s.ReplicationSourceIdentifier = &v
  8294  	return s
  8295  }
  8296  
  8297  // SetSourceRegion sets the SourceRegion field's value.
  8298  func (s *CreateDBClusterInput) SetSourceRegion(v string) *CreateDBClusterInput {
  8299  	s.SourceRegion = &v
  8300  	return s
  8301  }
  8302  
  8303  // SetStorageEncrypted sets the StorageEncrypted field's value.
  8304  func (s *CreateDBClusterInput) SetStorageEncrypted(v bool) *CreateDBClusterInput {
  8305  	s.StorageEncrypted = &v
  8306  	return s
  8307  }
  8308  
  8309  // SetTags sets the Tags field's value.
  8310  func (s *CreateDBClusterInput) SetTags(v []*Tag) *CreateDBClusterInput {
  8311  	s.Tags = v
  8312  	return s
  8313  }
  8314  
  8315  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
  8316  func (s *CreateDBClusterInput) SetVpcSecurityGroupIds(v []*string) *CreateDBClusterInput {
  8317  	s.VpcSecurityGroupIds = v
  8318  	return s
  8319  }
  8320  
  8321  type CreateDBClusterOutput struct {
  8322  	_ struct{} `type:"structure"`
  8323  
  8324  	// Contains the details of an Amazon Neptune DB cluster.
  8325  	//
  8326  	// This data type is used as a response element in the DescribeDBClusters action.
  8327  	DBCluster *DBCluster `type:"structure"`
  8328  }
  8329  
  8330  // String returns the string representation.
  8331  //
  8332  // API parameter values that are decorated as "sensitive" in the API will not
  8333  // be included in the string output. The member name will be present, but the
  8334  // value will be replaced with "sensitive".
  8335  func (s CreateDBClusterOutput) String() string {
  8336  	return awsutil.Prettify(s)
  8337  }
  8338  
  8339  // GoString returns the string representation.
  8340  //
  8341  // API parameter values that are decorated as "sensitive" in the API will not
  8342  // be included in the string output. The member name will be present, but the
  8343  // value will be replaced with "sensitive".
  8344  func (s CreateDBClusterOutput) GoString() string {
  8345  	return s.String()
  8346  }
  8347  
  8348  // SetDBCluster sets the DBCluster field's value.
  8349  func (s *CreateDBClusterOutput) SetDBCluster(v *DBCluster) *CreateDBClusterOutput {
  8350  	s.DBCluster = v
  8351  	return s
  8352  }
  8353  
  8354  type CreateDBClusterParameterGroupInput struct {
  8355  	_ struct{} `type:"structure"`
  8356  
  8357  	// The name of the DB cluster parameter group.
  8358  	//
  8359  	// Constraints:
  8360  	//
  8361  	//    * Must match the name of an existing DBClusterParameterGroup.
  8362  	//
  8363  	// This value is stored as a lowercase string.
  8364  	//
  8365  	// DBClusterParameterGroupName is a required field
  8366  	DBClusterParameterGroupName *string `type:"string" required:"true"`
  8367  
  8368  	// The DB cluster parameter group family name. A DB cluster parameter group
  8369  	// can be associated with one and only one DB cluster parameter group family,
  8370  	// and can be applied only to a DB cluster running a database engine and engine
  8371  	// version compatible with that DB cluster parameter group family.
  8372  	//
  8373  	// DBParameterGroupFamily is a required field
  8374  	DBParameterGroupFamily *string `type:"string" required:"true"`
  8375  
  8376  	// The description for the DB cluster parameter group.
  8377  	//
  8378  	// Description is a required field
  8379  	Description *string `type:"string" required:"true"`
  8380  
  8381  	// The tags to be assigned to the new DB cluster parameter group.
  8382  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  8383  }
  8384  
  8385  // String returns the string representation.
  8386  //
  8387  // API parameter values that are decorated as "sensitive" in the API will not
  8388  // be included in the string output. The member name will be present, but the
  8389  // value will be replaced with "sensitive".
  8390  func (s CreateDBClusterParameterGroupInput) String() string {
  8391  	return awsutil.Prettify(s)
  8392  }
  8393  
  8394  // GoString returns the string representation.
  8395  //
  8396  // API parameter values that are decorated as "sensitive" in the API will not
  8397  // be included in the string output. The member name will be present, but the
  8398  // value will be replaced with "sensitive".
  8399  func (s CreateDBClusterParameterGroupInput) GoString() string {
  8400  	return s.String()
  8401  }
  8402  
  8403  // Validate inspects the fields of the type to determine if they are valid.
  8404  func (s *CreateDBClusterParameterGroupInput) Validate() error {
  8405  	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterParameterGroupInput"}
  8406  	if s.DBClusterParameterGroupName == nil {
  8407  		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
  8408  	}
  8409  	if s.DBParameterGroupFamily == nil {
  8410  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
  8411  	}
  8412  	if s.Description == nil {
  8413  		invalidParams.Add(request.NewErrParamRequired("Description"))
  8414  	}
  8415  
  8416  	if invalidParams.Len() > 0 {
  8417  		return invalidParams
  8418  	}
  8419  	return nil
  8420  }
  8421  
  8422  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
  8423  func (s *CreateDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterParameterGroupInput {
  8424  	s.DBClusterParameterGroupName = &v
  8425  	return s
  8426  }
  8427  
  8428  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
  8429  func (s *CreateDBClusterParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBClusterParameterGroupInput {
  8430  	s.DBParameterGroupFamily = &v
  8431  	return s
  8432  }
  8433  
  8434  // SetDescription sets the Description field's value.
  8435  func (s *CreateDBClusterParameterGroupInput) SetDescription(v string) *CreateDBClusterParameterGroupInput {
  8436  	s.Description = &v
  8437  	return s
  8438  }
  8439  
  8440  // SetTags sets the Tags field's value.
  8441  func (s *CreateDBClusterParameterGroupInput) SetTags(v []*Tag) *CreateDBClusterParameterGroupInput {
  8442  	s.Tags = v
  8443  	return s
  8444  }
  8445  
  8446  type CreateDBClusterParameterGroupOutput struct {
  8447  	_ struct{} `type:"structure"`
  8448  
  8449  	// Contains the details of an Amazon Neptune DB cluster parameter group.
  8450  	//
  8451  	// This data type is used as a response element in the DescribeDBClusterParameterGroups
  8452  	// action.
  8453  	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
  8454  }
  8455  
  8456  // String returns the string representation.
  8457  //
  8458  // API parameter values that are decorated as "sensitive" in the API will not
  8459  // be included in the string output. The member name will be present, but the
  8460  // value will be replaced with "sensitive".
  8461  func (s CreateDBClusterParameterGroupOutput) String() string {
  8462  	return awsutil.Prettify(s)
  8463  }
  8464  
  8465  // GoString returns the string representation.
  8466  //
  8467  // API parameter values that are decorated as "sensitive" in the API will not
  8468  // be included in the string output. The member name will be present, but the
  8469  // value will be replaced with "sensitive".
  8470  func (s CreateDBClusterParameterGroupOutput) GoString() string {
  8471  	return s.String()
  8472  }
  8473  
  8474  // SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
  8475  func (s *CreateDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CreateDBClusterParameterGroupOutput {
  8476  	s.DBClusterParameterGroup = v
  8477  	return s
  8478  }
  8479  
  8480  type CreateDBClusterSnapshotInput struct {
  8481  	_ struct{} `type:"structure"`
  8482  
  8483  	// The identifier of the DB cluster to create a snapshot for. This parameter
  8484  	// is not case-sensitive.
  8485  	//
  8486  	// Constraints:
  8487  	//
  8488  	//    * Must match the identifier of an existing DBCluster.
  8489  	//
  8490  	// Example: my-cluster1
  8491  	//
  8492  	// DBClusterIdentifier is a required field
  8493  	DBClusterIdentifier *string `type:"string" required:"true"`
  8494  
  8495  	// The identifier of the DB cluster snapshot. This parameter is stored as a
  8496  	// lowercase string.
  8497  	//
  8498  	// Constraints:
  8499  	//
  8500  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
  8501  	//
  8502  	//    * First character must be a letter.
  8503  	//
  8504  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
  8505  	//
  8506  	// Example: my-cluster1-snapshot1
  8507  	//
  8508  	// DBClusterSnapshotIdentifier is a required field
  8509  	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
  8510  
  8511  	// The tags to be assigned to the DB cluster snapshot.
  8512  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  8513  }
  8514  
  8515  // String returns the string representation.
  8516  //
  8517  // API parameter values that are decorated as "sensitive" in the API will not
  8518  // be included in the string output. The member name will be present, but the
  8519  // value will be replaced with "sensitive".
  8520  func (s CreateDBClusterSnapshotInput) String() string {
  8521  	return awsutil.Prettify(s)
  8522  }
  8523  
  8524  // GoString returns the string representation.
  8525  //
  8526  // API parameter values that are decorated as "sensitive" in the API will not
  8527  // be included in the string output. The member name will be present, but the
  8528  // value will be replaced with "sensitive".
  8529  func (s CreateDBClusterSnapshotInput) GoString() string {
  8530  	return s.String()
  8531  }
  8532  
  8533  // Validate inspects the fields of the type to determine if they are valid.
  8534  func (s *CreateDBClusterSnapshotInput) Validate() error {
  8535  	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterSnapshotInput"}
  8536  	if s.DBClusterIdentifier == nil {
  8537  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
  8538  	}
  8539  	if s.DBClusterSnapshotIdentifier == nil {
  8540  		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
  8541  	}
  8542  
  8543  	if invalidParams.Len() > 0 {
  8544  		return invalidParams
  8545  	}
  8546  	return nil
  8547  }
  8548  
  8549  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
  8550  func (s *CreateDBClusterSnapshotInput) SetDBClusterIdentifier(v string) *CreateDBClusterSnapshotInput {
  8551  	s.DBClusterIdentifier = &v
  8552  	return s
  8553  }
  8554  
  8555  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
  8556  func (s *CreateDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *CreateDBClusterSnapshotInput {
  8557  	s.DBClusterSnapshotIdentifier = &v
  8558  	return s
  8559  }
  8560  
  8561  // SetTags sets the Tags field's value.
  8562  func (s *CreateDBClusterSnapshotInput) SetTags(v []*Tag) *CreateDBClusterSnapshotInput {
  8563  	s.Tags = v
  8564  	return s
  8565  }
  8566  
  8567  type CreateDBClusterSnapshotOutput struct {
  8568  	_ struct{} `type:"structure"`
  8569  
  8570  	// Contains the details for an Amazon Neptune DB cluster snapshot
  8571  	//
  8572  	// This data type is used as a response element in the DescribeDBClusterSnapshots
  8573  	// action.
  8574  	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
  8575  }
  8576  
  8577  // String returns the string representation.
  8578  //
  8579  // API parameter values that are decorated as "sensitive" in the API will not
  8580  // be included in the string output. The member name will be present, but the
  8581  // value will be replaced with "sensitive".
  8582  func (s CreateDBClusterSnapshotOutput) String() string {
  8583  	return awsutil.Prettify(s)
  8584  }
  8585  
  8586  // GoString returns the string representation.
  8587  //
  8588  // API parameter values that are decorated as "sensitive" in the API will not
  8589  // be included in the string output. The member name will be present, but the
  8590  // value will be replaced with "sensitive".
  8591  func (s CreateDBClusterSnapshotOutput) GoString() string {
  8592  	return s.String()
  8593  }
  8594  
  8595  // SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
  8596  func (s *CreateDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CreateDBClusterSnapshotOutput {
  8597  	s.DBClusterSnapshot = v
  8598  	return s
  8599  }
  8600  
  8601  type CreateDBInstanceInput struct {
  8602  	_ struct{} `type:"structure"`
  8603  
  8604  	// Not supported by Neptune.
  8605  	AllocatedStorage *int64 `type:"integer"`
  8606  
  8607  	// Indicates that minor engine upgrades are applied automatically to the DB
  8608  	// instance during the maintenance window.
  8609  	//
  8610  	// Default: true
  8611  	AutoMinorVersionUpgrade *bool `type:"boolean"`
  8612  
  8613  	// The EC2 Availability Zone that the DB instance is created in
  8614  	//
  8615  	// Default: A random, system-chosen Availability Zone in the endpoint's Amazon
  8616  	// Region.
  8617  	//
  8618  	// Example: us-east-1d
  8619  	//
  8620  	// Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ
  8621  	// parameter is set to true. The specified Availability Zone must be in the
  8622  	// same Amazon Region as the current endpoint.
  8623  	AvailabilityZone *string `type:"string"`
  8624  
  8625  	// The number of days for which automated backups are retained.
  8626  	//
  8627  	// Not applicable. The retention period for automated backups is managed by
  8628  	// the DB cluster. For more information, see CreateDBCluster.
  8629  	//
  8630  	// Default: 1
  8631  	//
  8632  	// Constraints:
  8633  	//
  8634  	//    * Must be a value from 0 to 35
  8635  	//
  8636  	//    * Cannot be set to 0 if the DB instance is a source to Read Replicas
  8637  	BackupRetentionPeriod *int64 `type:"integer"`
  8638  
  8639  	// (Not supported by Neptune)
  8640  	CharacterSetName *string `type:"string"`
  8641  
  8642  	// True to copy all tags from the DB instance to snapshots of the DB instance,
  8643  	// and otherwise false. The default is false.
  8644  	CopyTagsToSnapshot *bool `type:"boolean"`
  8645  
  8646  	// The identifier of the DB cluster that the instance will belong to.
  8647  	//
  8648  	// For information on creating a DB cluster, see CreateDBCluster.
  8649  	//
  8650  	// Type: String
  8651  	DBClusterIdentifier *string `type:"string"`
  8652  
  8653  	// The compute and memory capacity of the DB instance, for example, db.m4.large.
  8654  	// Not all DB instance classes are available in all Amazon Regions.
  8655  	//
  8656  	// DBInstanceClass is a required field
  8657  	DBInstanceClass *string `type:"string" required:"true"`
  8658  
  8659  	// The DB instance identifier. This parameter is stored as a lowercase string.
  8660  	//
  8661  	// Constraints:
  8662  	//
  8663  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
  8664  	//
  8665  	//    * First character must be a letter.
  8666  	//
  8667  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
  8668  	//
  8669  	// Example: mydbinstance
  8670  	//
  8671  	// DBInstanceIdentifier is a required field
  8672  	DBInstanceIdentifier *string `type:"string" required:"true"`
  8673  
  8674  	// Not supported.
  8675  	DBName *string `type:"string"`
  8676  
  8677  	// The name of the DB parameter group to associate with this DB instance. If
  8678  	// this argument is omitted, the default DBParameterGroup for the specified
  8679  	// engine is used.
  8680  	//
  8681  	// Constraints:
  8682  	//
  8683  	//    * Must be 1 to 255 letters, numbers, or hyphens.
  8684  	//
  8685  	//    * First character must be a letter
  8686  	//
  8687  	//    * Cannot end with a hyphen or contain two consecutive hyphens
  8688  	DBParameterGroupName *string `type:"string"`
  8689  
  8690  	// A list of DB security groups to associate with this DB instance.
  8691  	//
  8692  	// Default: The default DB security group for the database engine.
  8693  	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
  8694  
  8695  	// A DB subnet group to associate with this DB instance.
  8696  	//
  8697  	// If there is no DB subnet group, then it is a non-VPC DB instance.
  8698  	DBSubnetGroupName *string `type:"string"`
  8699  
  8700  	// A value that indicates whether the DB instance has deletion protection enabled.
  8701  	// The database can't be deleted when deletion protection is enabled. By default,
  8702  	// deletion protection is disabled. See Deleting a DB Instance (https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html).
  8703  	//
  8704  	// DB instances in a DB cluster can be deleted even when deletion protection
  8705  	// is enabled in their parent DB cluster.
  8706  	DeletionProtection *bool `type:"boolean"`
  8707  
  8708  	// Specify the Active Directory Domain to create the instance in.
  8709  	Domain *string `type:"string"`
  8710  
  8711  	// Specify the name of the IAM role to be used when making API calls to the
  8712  	// Directory Service.
  8713  	DomainIAMRoleName *string `type:"string"`
  8714  
  8715  	// The list of log types that need to be enabled for exporting to CloudWatch
  8716  	// Logs.
  8717  	EnableCloudwatchLogsExports []*string `type:"list"`
  8718  
  8719  	// Not supported by Neptune (ignored).
  8720  	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
  8721  
  8722  	// (Not supported by Neptune)
  8723  	EnablePerformanceInsights *bool `type:"boolean"`
  8724  
  8725  	// The name of the database engine to be used for this instance.
  8726  	//
  8727  	// Valid Values: neptune
  8728  	//
  8729  	// Engine is a required field
  8730  	Engine *string `type:"string" required:"true"`
  8731  
  8732  	// The version number of the database engine to use. Currently, setting this
  8733  	// parameter has no effect.
  8734  	EngineVersion *string `type:"string"`
  8735  
  8736  	// The amount of Provisioned IOPS (input/output operations per second) to be
  8737  	// initially allocated for the DB instance.
  8738  	Iops *int64 `type:"integer"`
  8739  
  8740  	// The Amazon KMS key identifier for an encrypted DB instance.
  8741  	//
  8742  	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
  8743  	// key. If you are creating a DB instance with the same Amazon account that
  8744  	// owns the KMS encryption key used to encrypt the new DB instance, then you
  8745  	// can use the KMS key alias instead of the ARN for the KM encryption key.
  8746  	//
  8747  	// Not applicable. The KMS key identifier is managed by the DB cluster. For
  8748  	// more information, see CreateDBCluster.
  8749  	//
  8750  	// If the StorageEncrypted parameter is true, and you do not specify a value
  8751  	// for the KmsKeyId parameter, then Amazon Neptune will use your default encryption
  8752  	// key. Amazon KMS creates the default encryption key for your Amazon account.
  8753  	// Your Amazon account has a different default encryption key for each Amazon
  8754  	// Region.
  8755  	KmsKeyId *string `type:"string"`
  8756  
  8757  	// License model information for this DB instance.
  8758  	//
  8759  	// Valid values: license-included | bring-your-own-license | general-public-license
  8760  	LicenseModel *string `type:"string"`
  8761  
  8762  	// Not supported by Neptune.
  8763  	MasterUserPassword *string `type:"string"`
  8764  
  8765  	// Not supported by Neptune.
  8766  	MasterUsername *string `type:"string"`
  8767  
  8768  	// The interval, in seconds, between points when Enhanced Monitoring metrics
  8769  	// are collected for the DB instance. To disable collecting Enhanced Monitoring
  8770  	// metrics, specify 0. The default is 0.
  8771  	//
  8772  	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
  8773  	// to a value other than 0.
  8774  	//
  8775  	// Valid Values: 0, 1, 5, 10, 15, 30, 60
  8776  	MonitoringInterval *int64 `type:"integer"`
  8777  
  8778  	// The ARN for the IAM role that permits Neptune to send enhanced monitoring
  8779  	// metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
  8780  	//
  8781  	// If MonitoringInterval is set to a value other than 0, then you must supply
  8782  	// a MonitoringRoleArn value.
  8783  	MonitoringRoleArn *string `type:"string"`
  8784  
  8785  	// Specifies if the DB instance is a Multi-AZ deployment. You can't set the
  8786  	// AvailabilityZone parameter if the MultiAZ parameter is set to true.
  8787  	MultiAZ *bool `type:"boolean"`
  8788  
  8789  	// (Not supported by Neptune)
  8790  	OptionGroupName *string `type:"string"`
  8791  
  8792  	// (Not supported by Neptune)
  8793  	PerformanceInsightsKMSKeyId *string `type:"string"`
  8794  
  8795  	// The port number on which the database accepts connections.
  8796  	//
  8797  	// Not applicable. The port is managed by the DB cluster. For more information,
  8798  	// see CreateDBCluster.
  8799  	//
  8800  	// Default: 8182
  8801  	//
  8802  	// Type: Integer
  8803  	Port *int64 `type:"integer"`
  8804  
  8805  	// The daily time range during which automated backups are created.
  8806  	//
  8807  	// Not applicable. The daily time range for creating automated backups is managed
  8808  	// by the DB cluster. For more information, see CreateDBCluster.
  8809  	PreferredBackupWindow *string `type:"string"`
  8810  
  8811  	// The time range each week during which system maintenance can occur, in Universal
  8812  	// Coordinated Time (UTC).
  8813  	//
  8814  	// Format: ddd:hh24:mi-ddd:hh24:mi
  8815  	//
  8816  	// The default is a 30-minute window selected at random from an 8-hour block
  8817  	// of time for each Amazon Region, occurring on a random day of the week.
  8818  	//
  8819  	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
  8820  	//
  8821  	// Constraints: Minimum 30-minute window.
  8822  	PreferredMaintenanceWindow *string `type:"string"`
  8823  
  8824  	// A value that specifies the order in which an Read Replica is promoted to
  8825  	// the primary instance after a failure of the existing primary instance.
  8826  	//
  8827  	// Default: 1
  8828  	//
  8829  	// Valid Values: 0 - 15
  8830  	PromotionTier *int64 `type:"integer"`
  8831  
  8832  	// This flag should no longer be used.
  8833  	//
  8834  	// Deprecated: PubliclyAccessible has been deprecated
  8835  	PubliclyAccessible *bool `deprecated:"true" type:"boolean"`
  8836  
  8837  	// Specifies whether the DB instance is encrypted.
  8838  	//
  8839  	// Not applicable. The encryption for DB instances is managed by the DB cluster.
  8840  	// For more information, see CreateDBCluster.
  8841  	//
  8842  	// Default: false
  8843  	StorageEncrypted *bool `type:"boolean"`
  8844  
  8845  	// Specifies the storage type to be associated with the DB instance.
  8846  	//
  8847  	// Not applicable. Storage is managed by the DB Cluster.
  8848  	StorageType *string `type:"string"`
  8849  
  8850  	// The tags to assign to the new instance.
  8851  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  8852  
  8853  	// The ARN from the key store with which to associate the instance for TDE encryption.
  8854  	TdeCredentialArn *string `type:"string"`
  8855  
  8856  	// The password for the given ARN from the key store in order to access the
  8857  	// device.
  8858  	TdeCredentialPassword *string `type:"string"`
  8859  
  8860  	// The time zone of the DB instance.
  8861  	Timezone *string `type:"string"`
  8862  
  8863  	// A list of EC2 VPC security groups to associate with this DB instance.
  8864  	//
  8865  	// Not applicable. The associated list of EC2 VPC security groups is managed
  8866  	// by the DB cluster. For more information, see CreateDBCluster.
  8867  	//
  8868  	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
  8869  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
  8870  }
  8871  
  8872  // String returns the string representation.
  8873  //
  8874  // API parameter values that are decorated as "sensitive" in the API will not
  8875  // be included in the string output. The member name will be present, but the
  8876  // value will be replaced with "sensitive".
  8877  func (s CreateDBInstanceInput) String() string {
  8878  	return awsutil.Prettify(s)
  8879  }
  8880  
  8881  // GoString returns the string representation.
  8882  //
  8883  // API parameter values that are decorated as "sensitive" in the API will not
  8884  // be included in the string output. The member name will be present, but the
  8885  // value will be replaced with "sensitive".
  8886  func (s CreateDBInstanceInput) GoString() string {
  8887  	return s.String()
  8888  }
  8889  
  8890  // Validate inspects the fields of the type to determine if they are valid.
  8891  func (s *CreateDBInstanceInput) Validate() error {
  8892  	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceInput"}
  8893  	if s.DBInstanceClass == nil {
  8894  		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
  8895  	}
  8896  	if s.DBInstanceIdentifier == nil {
  8897  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
  8898  	}
  8899  	if s.Engine == nil {
  8900  		invalidParams.Add(request.NewErrParamRequired("Engine"))
  8901  	}
  8902  
  8903  	if invalidParams.Len() > 0 {
  8904  		return invalidParams
  8905  	}
  8906  	return nil
  8907  }
  8908  
  8909  // SetAllocatedStorage sets the AllocatedStorage field's value.
  8910  func (s *CreateDBInstanceInput) SetAllocatedStorage(v int64) *CreateDBInstanceInput {
  8911  	s.AllocatedStorage = &v
  8912  	return s
  8913  }
  8914  
  8915  // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
  8916  func (s *CreateDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceInput {
  8917  	s.AutoMinorVersionUpgrade = &v
  8918  	return s
  8919  }
  8920  
  8921  // SetAvailabilityZone sets the AvailabilityZone field's value.
  8922  func (s *CreateDBInstanceInput) SetAvailabilityZone(v string) *CreateDBInstanceInput {
  8923  	s.AvailabilityZone = &v
  8924  	return s
  8925  }
  8926  
  8927  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
  8928  func (s *CreateDBInstanceInput) SetBackupRetentionPeriod(v int64) *CreateDBInstanceInput {
  8929  	s.BackupRetentionPeriod = &v
  8930  	return s
  8931  }
  8932  
  8933  // SetCharacterSetName sets the CharacterSetName field's value.
  8934  func (s *CreateDBInstanceInput) SetCharacterSetName(v string) *CreateDBInstanceInput {
  8935  	s.CharacterSetName = &v
  8936  	return s
  8937  }
  8938  
  8939  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
  8940  func (s *CreateDBInstanceInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceInput {
  8941  	s.CopyTagsToSnapshot = &v
  8942  	return s
  8943  }
  8944  
  8945  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
  8946  func (s *CreateDBInstanceInput) SetDBClusterIdentifier(v string) *CreateDBInstanceInput {
  8947  	s.DBClusterIdentifier = &v
  8948  	return s
  8949  }
  8950  
  8951  // SetDBInstanceClass sets the DBInstanceClass field's value.
  8952  func (s *CreateDBInstanceInput) SetDBInstanceClass(v string) *CreateDBInstanceInput {
  8953  	s.DBInstanceClass = &v
  8954  	return s
  8955  }
  8956  
  8957  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
  8958  func (s *CreateDBInstanceInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceInput {
  8959  	s.DBInstanceIdentifier = &v
  8960  	return s
  8961  }
  8962  
  8963  // SetDBName sets the DBName field's value.
  8964  func (s *CreateDBInstanceInput) SetDBName(v string) *CreateDBInstanceInput {
  8965  	s.DBName = &v
  8966  	return s
  8967  }
  8968  
  8969  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
  8970  func (s *CreateDBInstanceInput) SetDBParameterGroupName(v string) *CreateDBInstanceInput {
  8971  	s.DBParameterGroupName = &v
  8972  	return s
  8973  }
  8974  
  8975  // SetDBSecurityGroups sets the DBSecurityGroups field's value.
  8976  func (s *CreateDBInstanceInput) SetDBSecurityGroups(v []*string) *CreateDBInstanceInput {
  8977  	s.DBSecurityGroups = v
  8978  	return s
  8979  }
  8980  
  8981  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
  8982  func (s *CreateDBInstanceInput) SetDBSubnetGroupName(v string) *CreateDBInstanceInput {
  8983  	s.DBSubnetGroupName = &v
  8984  	return s
  8985  }
  8986  
  8987  // SetDeletionProtection sets the DeletionProtection field's value.
  8988  func (s *CreateDBInstanceInput) SetDeletionProtection(v bool) *CreateDBInstanceInput {
  8989  	s.DeletionProtection = &v
  8990  	return s
  8991  }
  8992  
  8993  // SetDomain sets the Domain field's value.
  8994  func (s *CreateDBInstanceInput) SetDomain(v string) *CreateDBInstanceInput {
  8995  	s.Domain = &v
  8996  	return s
  8997  }
  8998  
  8999  // SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
  9000  func (s *CreateDBInstanceInput) SetDomainIAMRoleName(v string) *CreateDBInstanceInput {
  9001  	s.DomainIAMRoleName = &v
  9002  	return s
  9003  }
  9004  
  9005  // SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
  9006  func (s *CreateDBInstanceInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceInput {
  9007  	s.EnableCloudwatchLogsExports = v
  9008  	return s
  9009  }
  9010  
  9011  // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
  9012  func (s *CreateDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceInput {
  9013  	s.EnableIAMDatabaseAuthentication = &v
  9014  	return s
  9015  }
  9016  
  9017  // SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
  9018  func (s *CreateDBInstanceInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceInput {
  9019  	s.EnablePerformanceInsights = &v
  9020  	return s
  9021  }
  9022  
  9023  // SetEngine sets the Engine field's value.
  9024  func (s *CreateDBInstanceInput) SetEngine(v string) *CreateDBInstanceInput {
  9025  	s.Engine = &v
  9026  	return s
  9027  }
  9028  
  9029  // SetEngineVersion sets the EngineVersion field's value.
  9030  func (s *CreateDBInstanceInput) SetEngineVersion(v string) *CreateDBInstanceInput {
  9031  	s.EngineVersion = &v
  9032  	return s
  9033  }
  9034  
  9035  // SetIops sets the Iops field's value.
  9036  func (s *CreateDBInstanceInput) SetIops(v int64) *CreateDBInstanceInput {
  9037  	s.Iops = &v
  9038  	return s
  9039  }
  9040  
  9041  // SetKmsKeyId sets the KmsKeyId field's value.
  9042  func (s *CreateDBInstanceInput) SetKmsKeyId(v string) *CreateDBInstanceInput {
  9043  	s.KmsKeyId = &v
  9044  	return s
  9045  }
  9046  
  9047  // SetLicenseModel sets the LicenseModel field's value.
  9048  func (s *CreateDBInstanceInput) SetLicenseModel(v string) *CreateDBInstanceInput {
  9049  	s.LicenseModel = &v
  9050  	return s
  9051  }
  9052  
  9053  // SetMasterUserPassword sets the MasterUserPassword field's value.
  9054  func (s *CreateDBInstanceInput) SetMasterUserPassword(v string) *CreateDBInstanceInput {
  9055  	s.MasterUserPassword = &v
  9056  	return s
  9057  }
  9058  
  9059  // SetMasterUsername sets the MasterUsername field's value.
  9060  func (s *CreateDBInstanceInput) SetMasterUsername(v string) *CreateDBInstanceInput {
  9061  	s.MasterUsername = &v
  9062  	return s
  9063  }
  9064  
  9065  // SetMonitoringInterval sets the MonitoringInterval field's value.
  9066  func (s *CreateDBInstanceInput) SetMonitoringInterval(v int64) *CreateDBInstanceInput {
  9067  	s.MonitoringInterval = &v
  9068  	return s
  9069  }
  9070  
  9071  // SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
  9072  func (s *CreateDBInstanceInput) SetMonitoringRoleArn(v string) *CreateDBInstanceInput {
  9073  	s.MonitoringRoleArn = &v
  9074  	return s
  9075  }
  9076  
  9077  // SetMultiAZ sets the MultiAZ field's value.
  9078  func (s *CreateDBInstanceInput) SetMultiAZ(v bool) *CreateDBInstanceInput {
  9079  	s.MultiAZ = &v
  9080  	return s
  9081  }
  9082  
  9083  // SetOptionGroupName sets the OptionGroupName field's value.
  9084  func (s *CreateDBInstanceInput) SetOptionGroupName(v string) *CreateDBInstanceInput {
  9085  	s.OptionGroupName = &v
  9086  	return s
  9087  }
  9088  
  9089  // SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
  9090  func (s *CreateDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceInput {
  9091  	s.PerformanceInsightsKMSKeyId = &v
  9092  	return s
  9093  }
  9094  
  9095  // SetPort sets the Port field's value.
  9096  func (s *CreateDBInstanceInput) SetPort(v int64) *CreateDBInstanceInput {
  9097  	s.Port = &v
  9098  	return s
  9099  }
  9100  
  9101  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
  9102  func (s *CreateDBInstanceInput) SetPreferredBackupWindow(v string) *CreateDBInstanceInput {
  9103  	s.PreferredBackupWindow = &v
  9104  	return s
  9105  }
  9106  
  9107  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
  9108  func (s *CreateDBInstanceInput) SetPreferredMaintenanceWindow(v string) *CreateDBInstanceInput {
  9109  	s.PreferredMaintenanceWindow = &v
  9110  	return s
  9111  }
  9112  
  9113  // SetPromotionTier sets the PromotionTier field's value.
  9114  func (s *CreateDBInstanceInput) SetPromotionTier(v int64) *CreateDBInstanceInput {
  9115  	s.PromotionTier = &v
  9116  	return s
  9117  }
  9118  
  9119  // SetPubliclyAccessible sets the PubliclyAccessible field's value.
  9120  func (s *CreateDBInstanceInput) SetPubliclyAccessible(v bool) *CreateDBInstanceInput {
  9121  	s.PubliclyAccessible = &v
  9122  	return s
  9123  }
  9124  
  9125  // SetStorageEncrypted sets the StorageEncrypted field's value.
  9126  func (s *CreateDBInstanceInput) SetStorageEncrypted(v bool) *CreateDBInstanceInput {
  9127  	s.StorageEncrypted = &v
  9128  	return s
  9129  }
  9130  
  9131  // SetStorageType sets the StorageType field's value.
  9132  func (s *CreateDBInstanceInput) SetStorageType(v string) *CreateDBInstanceInput {
  9133  	s.StorageType = &v
  9134  	return s
  9135  }
  9136  
  9137  // SetTags sets the Tags field's value.
  9138  func (s *CreateDBInstanceInput) SetTags(v []*Tag) *CreateDBInstanceInput {
  9139  	s.Tags = v
  9140  	return s
  9141  }
  9142  
  9143  // SetTdeCredentialArn sets the TdeCredentialArn field's value.
  9144  func (s *CreateDBInstanceInput) SetTdeCredentialArn(v string) *CreateDBInstanceInput {
  9145  	s.TdeCredentialArn = &v
  9146  	return s
  9147  }
  9148  
  9149  // SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
  9150  func (s *CreateDBInstanceInput) SetTdeCredentialPassword(v string) *CreateDBInstanceInput {
  9151  	s.TdeCredentialPassword = &v
  9152  	return s
  9153  }
  9154  
  9155  // SetTimezone sets the Timezone field's value.
  9156  func (s *CreateDBInstanceInput) SetTimezone(v string) *CreateDBInstanceInput {
  9157  	s.Timezone = &v
  9158  	return s
  9159  }
  9160  
  9161  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
  9162  func (s *CreateDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *CreateDBInstanceInput {
  9163  	s.VpcSecurityGroupIds = v
  9164  	return s
  9165  }
  9166  
  9167  type CreateDBInstanceOutput struct {
  9168  	_ struct{} `type:"structure"`
  9169  
  9170  	// Contains the details of an Amazon Neptune DB instance.
  9171  	//
  9172  	// This data type is used as a response element in the DescribeDBInstances action.
  9173  	DBInstance *DBInstance `type:"structure"`
  9174  }
  9175  
  9176  // String returns the string representation.
  9177  //
  9178  // API parameter values that are decorated as "sensitive" in the API will not
  9179  // be included in the string output. The member name will be present, but the
  9180  // value will be replaced with "sensitive".
  9181  func (s CreateDBInstanceOutput) String() string {
  9182  	return awsutil.Prettify(s)
  9183  }
  9184  
  9185  // GoString returns the string representation.
  9186  //
  9187  // API parameter values that are decorated as "sensitive" in the API will not
  9188  // be included in the string output. The member name will be present, but the
  9189  // value will be replaced with "sensitive".
  9190  func (s CreateDBInstanceOutput) GoString() string {
  9191  	return s.String()
  9192  }
  9193  
  9194  // SetDBInstance sets the DBInstance field's value.
  9195  func (s *CreateDBInstanceOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceOutput {
  9196  	s.DBInstance = v
  9197  	return s
  9198  }
  9199  
  9200  type CreateDBParameterGroupInput struct {
  9201  	_ struct{} `type:"structure"`
  9202  
  9203  	// The DB parameter group family name. A DB parameter group can be associated
  9204  	// with one and only one DB parameter group family, and can be applied only
  9205  	// to a DB instance running a database engine and engine version compatible
  9206  	// with that DB parameter group family.
  9207  	//
  9208  	// DBParameterGroupFamily is a required field
  9209  	DBParameterGroupFamily *string `type:"string" required:"true"`
  9210  
  9211  	// The name of the DB parameter group.
  9212  	//
  9213  	// Constraints:
  9214  	//
  9215  	//    * Must be 1 to 255 letters, numbers, or hyphens.
  9216  	//
  9217  	//    * First character must be a letter
  9218  	//
  9219  	//    * Cannot end with a hyphen or contain two consecutive hyphens
  9220  	//
  9221  	// This value is stored as a lowercase string.
  9222  	//
  9223  	// DBParameterGroupName is a required field
  9224  	DBParameterGroupName *string `type:"string" required:"true"`
  9225  
  9226  	// The description for the DB parameter group.
  9227  	//
  9228  	// Description is a required field
  9229  	Description *string `type:"string" required:"true"`
  9230  
  9231  	// The tags to be assigned to the new DB parameter group.
  9232  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  9233  }
  9234  
  9235  // String returns the string representation.
  9236  //
  9237  // API parameter values that are decorated as "sensitive" in the API will not
  9238  // be included in the string output. The member name will be present, but the
  9239  // value will be replaced with "sensitive".
  9240  func (s CreateDBParameterGroupInput) String() string {
  9241  	return awsutil.Prettify(s)
  9242  }
  9243  
  9244  // GoString returns the string representation.
  9245  //
  9246  // API parameter values that are decorated as "sensitive" in the API will not
  9247  // be included in the string output. The member name will be present, but the
  9248  // value will be replaced with "sensitive".
  9249  func (s CreateDBParameterGroupInput) GoString() string {
  9250  	return s.String()
  9251  }
  9252  
  9253  // Validate inspects the fields of the type to determine if they are valid.
  9254  func (s *CreateDBParameterGroupInput) Validate() error {
  9255  	invalidParams := request.ErrInvalidParams{Context: "CreateDBParameterGroupInput"}
  9256  	if s.DBParameterGroupFamily == nil {
  9257  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
  9258  	}
  9259  	if s.DBParameterGroupName == nil {
  9260  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
  9261  	}
  9262  	if s.Description == nil {
  9263  		invalidParams.Add(request.NewErrParamRequired("Description"))
  9264  	}
  9265  
  9266  	if invalidParams.Len() > 0 {
  9267  		return invalidParams
  9268  	}
  9269  	return nil
  9270  }
  9271  
  9272  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
  9273  func (s *CreateDBParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBParameterGroupInput {
  9274  	s.DBParameterGroupFamily = &v
  9275  	return s
  9276  }
  9277  
  9278  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
  9279  func (s *CreateDBParameterGroupInput) SetDBParameterGroupName(v string) *CreateDBParameterGroupInput {
  9280  	s.DBParameterGroupName = &v
  9281  	return s
  9282  }
  9283  
  9284  // SetDescription sets the Description field's value.
  9285  func (s *CreateDBParameterGroupInput) SetDescription(v string) *CreateDBParameterGroupInput {
  9286  	s.Description = &v
  9287  	return s
  9288  }
  9289  
  9290  // SetTags sets the Tags field's value.
  9291  func (s *CreateDBParameterGroupInput) SetTags(v []*Tag) *CreateDBParameterGroupInput {
  9292  	s.Tags = v
  9293  	return s
  9294  }
  9295  
  9296  type CreateDBParameterGroupOutput struct {
  9297  	_ struct{} `type:"structure"`
  9298  
  9299  	// Contains the details of an Amazon Neptune DB parameter group.
  9300  	//
  9301  	// This data type is used as a response element in the DescribeDBParameterGroups
  9302  	// action.
  9303  	DBParameterGroup *DBParameterGroup `type:"structure"`
  9304  }
  9305  
  9306  // String returns the string representation.
  9307  //
  9308  // API parameter values that are decorated as "sensitive" in the API will not
  9309  // be included in the string output. The member name will be present, but the
  9310  // value will be replaced with "sensitive".
  9311  func (s CreateDBParameterGroupOutput) String() string {
  9312  	return awsutil.Prettify(s)
  9313  }
  9314  
  9315  // GoString returns the string representation.
  9316  //
  9317  // API parameter values that are decorated as "sensitive" in the API will not
  9318  // be included in the string output. The member name will be present, but the
  9319  // value will be replaced with "sensitive".
  9320  func (s CreateDBParameterGroupOutput) GoString() string {
  9321  	return s.String()
  9322  }
  9323  
  9324  // SetDBParameterGroup sets the DBParameterGroup field's value.
  9325  func (s *CreateDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CreateDBParameterGroupOutput {
  9326  	s.DBParameterGroup = v
  9327  	return s
  9328  }
  9329  
  9330  type CreateDBSubnetGroupInput struct {
  9331  	_ struct{} `type:"structure"`
  9332  
  9333  	// The description for the DB subnet group.
  9334  	//
  9335  	// DBSubnetGroupDescription is a required field
  9336  	DBSubnetGroupDescription *string `type:"string" required:"true"`
  9337  
  9338  	// The name for the DB subnet group. This value is stored as a lowercase string.
  9339  	//
  9340  	// Constraints: Must contain no more than 255 letters, numbers, periods, underscores,
  9341  	// spaces, or hyphens. Must not be default.
  9342  	//
  9343  	// Example: mySubnetgroup
  9344  	//
  9345  	// DBSubnetGroupName is a required field
  9346  	DBSubnetGroupName *string `type:"string" required:"true"`
  9347  
  9348  	// The EC2 Subnet IDs for the DB subnet group.
  9349  	//
  9350  	// SubnetIds is a required field
  9351  	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
  9352  
  9353  	// The tags to be assigned to the new DB subnet group.
  9354  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  9355  }
  9356  
  9357  // String returns the string representation.
  9358  //
  9359  // API parameter values that are decorated as "sensitive" in the API will not
  9360  // be included in the string output. The member name will be present, but the
  9361  // value will be replaced with "sensitive".
  9362  func (s CreateDBSubnetGroupInput) String() string {
  9363  	return awsutil.Prettify(s)
  9364  }
  9365  
  9366  // GoString returns the string representation.
  9367  //
  9368  // API parameter values that are decorated as "sensitive" in the API will not
  9369  // be included in the string output. The member name will be present, but the
  9370  // value will be replaced with "sensitive".
  9371  func (s CreateDBSubnetGroupInput) GoString() string {
  9372  	return s.String()
  9373  }
  9374  
  9375  // Validate inspects the fields of the type to determine if they are valid.
  9376  func (s *CreateDBSubnetGroupInput) Validate() error {
  9377  	invalidParams := request.ErrInvalidParams{Context: "CreateDBSubnetGroupInput"}
  9378  	if s.DBSubnetGroupDescription == nil {
  9379  		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupDescription"))
  9380  	}
  9381  	if s.DBSubnetGroupName == nil {
  9382  		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
  9383  	}
  9384  	if s.SubnetIds == nil {
  9385  		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
  9386  	}
  9387  
  9388  	if invalidParams.Len() > 0 {
  9389  		return invalidParams
  9390  	}
  9391  	return nil
  9392  }
  9393  
  9394  // SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
  9395  func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *CreateDBSubnetGroupInput {
  9396  	s.DBSubnetGroupDescription = &v
  9397  	return s
  9398  }
  9399  
  9400  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
  9401  func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupName(v string) *CreateDBSubnetGroupInput {
  9402  	s.DBSubnetGroupName = &v
  9403  	return s
  9404  }
  9405  
  9406  // SetSubnetIds sets the SubnetIds field's value.
  9407  func (s *CreateDBSubnetGroupInput) SetSubnetIds(v []*string) *CreateDBSubnetGroupInput {
  9408  	s.SubnetIds = v
  9409  	return s
  9410  }
  9411  
  9412  // SetTags sets the Tags field's value.
  9413  func (s *CreateDBSubnetGroupInput) SetTags(v []*Tag) *CreateDBSubnetGroupInput {
  9414  	s.Tags = v
  9415  	return s
  9416  }
  9417  
  9418  type CreateDBSubnetGroupOutput struct {
  9419  	_ struct{} `type:"structure"`
  9420  
  9421  	// Contains the details of an Amazon Neptune DB subnet group.
  9422  	//
  9423  	// This data type is used as a response element in the DescribeDBSubnetGroups
  9424  	// action.
  9425  	DBSubnetGroup *DBSubnetGroup `type:"structure"`
  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 CreateDBSubnetGroupOutput) 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 CreateDBSubnetGroupOutput) GoString() string {
  9443  	return s.String()
  9444  }
  9445  
  9446  // SetDBSubnetGroup sets the DBSubnetGroup field's value.
  9447  func (s *CreateDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *CreateDBSubnetGroupOutput {
  9448  	s.DBSubnetGroup = v
  9449  	return s
  9450  }
  9451  
  9452  type CreateEventSubscriptionInput struct {
  9453  	_ struct{} `type:"structure"`
  9454  
  9455  	// A Boolean value; set to true to activate the subscription, set to false to
  9456  	// create the subscription but not active it.
  9457  	Enabled *bool `type:"boolean"`
  9458  
  9459  	// A list of event categories for a SourceType that you want to subscribe to.
  9460  	// You can see a list of the categories for a given SourceType by using the
  9461  	// DescribeEventCategories action.
  9462  	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
  9463  
  9464  	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
  9465  	// The ARN is created by Amazon SNS when you create a topic and subscribe to
  9466  	// it.
  9467  	//
  9468  	// SnsTopicArn is a required field
  9469  	SnsTopicArn *string `type:"string" required:"true"`
  9470  
  9471  	// The list of identifiers of the event sources for which events are returned.
  9472  	// If not specified, then all sources are included in the response. An identifier
  9473  	// must begin with a letter and must contain only ASCII letters, digits, and
  9474  	// hyphens; it can't end with a hyphen or contain two consecutive hyphens.
  9475  	//
  9476  	// Constraints:
  9477  	//
  9478  	//    * If SourceIds are supplied, SourceType must also be provided.
  9479  	//
  9480  	//    * If the source type is a DB instance, then a DBInstanceIdentifier must
  9481  	//    be supplied.
  9482  	//
  9483  	//    * If the source type is a DB security group, a DBSecurityGroupName must
  9484  	//    be supplied.
  9485  	//
  9486  	//    * If the source type is a DB parameter group, a DBParameterGroupName must
  9487  	//    be supplied.
  9488  	//
  9489  	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier must be
  9490  	//    supplied.
  9491  	SourceIds []*string `locationNameList:"SourceId" type:"list"`
  9492  
  9493  	// The type of source that is generating the events. For example, if you want
  9494  	// to be notified of events generated by a DB instance, you would set this parameter
  9495  	// to db-instance. if this value is not specified, all events are returned.
  9496  	//
  9497  	// Valid values: db-instance | db-cluster | db-parameter-group | db-security-group
  9498  	// | db-snapshot | db-cluster-snapshot
  9499  	SourceType *string `type:"string"`
  9500  
  9501  	// The name of the subscription.
  9502  	//
  9503  	// Constraints: The name must be less than 255 characters.
  9504  	//
  9505  	// SubscriptionName is a required field
  9506  	SubscriptionName *string `type:"string" required:"true"`
  9507  
  9508  	// The tags to be applied to the new event subscription.
  9509  	Tags []*Tag `locationNameList:"Tag" type:"list"`
  9510  }
  9511  
  9512  // String returns the string representation.
  9513  //
  9514  // API parameter values that are decorated as "sensitive" in the API will not
  9515  // be included in the string output. The member name will be present, but the
  9516  // value will be replaced with "sensitive".
  9517  func (s CreateEventSubscriptionInput) String() string {
  9518  	return awsutil.Prettify(s)
  9519  }
  9520  
  9521  // GoString returns the string representation.
  9522  //
  9523  // API parameter values that are decorated as "sensitive" in the API will not
  9524  // be included in the string output. The member name will be present, but the
  9525  // value will be replaced with "sensitive".
  9526  func (s CreateEventSubscriptionInput) GoString() string {
  9527  	return s.String()
  9528  }
  9529  
  9530  // Validate inspects the fields of the type to determine if they are valid.
  9531  func (s *CreateEventSubscriptionInput) Validate() error {
  9532  	invalidParams := request.ErrInvalidParams{Context: "CreateEventSubscriptionInput"}
  9533  	if s.SnsTopicArn == nil {
  9534  		invalidParams.Add(request.NewErrParamRequired("SnsTopicArn"))
  9535  	}
  9536  	if s.SubscriptionName == nil {
  9537  		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
  9538  	}
  9539  
  9540  	if invalidParams.Len() > 0 {
  9541  		return invalidParams
  9542  	}
  9543  	return nil
  9544  }
  9545  
  9546  // SetEnabled sets the Enabled field's value.
  9547  func (s *CreateEventSubscriptionInput) SetEnabled(v bool) *CreateEventSubscriptionInput {
  9548  	s.Enabled = &v
  9549  	return s
  9550  }
  9551  
  9552  // SetEventCategories sets the EventCategories field's value.
  9553  func (s *CreateEventSubscriptionInput) SetEventCategories(v []*string) *CreateEventSubscriptionInput {
  9554  	s.EventCategories = v
  9555  	return s
  9556  }
  9557  
  9558  // SetSnsTopicArn sets the SnsTopicArn field's value.
  9559  func (s *CreateEventSubscriptionInput) SetSnsTopicArn(v string) *CreateEventSubscriptionInput {
  9560  	s.SnsTopicArn = &v
  9561  	return s
  9562  }
  9563  
  9564  // SetSourceIds sets the SourceIds field's value.
  9565  func (s *CreateEventSubscriptionInput) SetSourceIds(v []*string) *CreateEventSubscriptionInput {
  9566  	s.SourceIds = v
  9567  	return s
  9568  }
  9569  
  9570  // SetSourceType sets the SourceType field's value.
  9571  func (s *CreateEventSubscriptionInput) SetSourceType(v string) *CreateEventSubscriptionInput {
  9572  	s.SourceType = &v
  9573  	return s
  9574  }
  9575  
  9576  // SetSubscriptionName sets the SubscriptionName field's value.
  9577  func (s *CreateEventSubscriptionInput) SetSubscriptionName(v string) *CreateEventSubscriptionInput {
  9578  	s.SubscriptionName = &v
  9579  	return s
  9580  }
  9581  
  9582  // SetTags sets the Tags field's value.
  9583  func (s *CreateEventSubscriptionInput) SetTags(v []*Tag) *CreateEventSubscriptionInput {
  9584  	s.Tags = v
  9585  	return s
  9586  }
  9587  
  9588  type CreateEventSubscriptionOutput struct {
  9589  	_ struct{} `type:"structure"`
  9590  
  9591  	// Contains the results of a successful invocation of the DescribeEventSubscriptions
  9592  	// action.
  9593  	EventSubscription *EventSubscription `type:"structure"`
  9594  }
  9595  
  9596  // String returns the string representation.
  9597  //
  9598  // API parameter values that are decorated as "sensitive" in the API will not
  9599  // be included in the string output. The member name will be present, but the
  9600  // value will be replaced with "sensitive".
  9601  func (s CreateEventSubscriptionOutput) String() string {
  9602  	return awsutil.Prettify(s)
  9603  }
  9604  
  9605  // GoString returns the string representation.
  9606  //
  9607  // API parameter values that are decorated as "sensitive" in the API will not
  9608  // be included in the string output. The member name will be present, but the
  9609  // value will be replaced with "sensitive".
  9610  func (s CreateEventSubscriptionOutput) GoString() string {
  9611  	return s.String()
  9612  }
  9613  
  9614  // SetEventSubscription sets the EventSubscription field's value.
  9615  func (s *CreateEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *CreateEventSubscriptionOutput {
  9616  	s.EventSubscription = v
  9617  	return s
  9618  }
  9619  
  9620  // Contains the details of an Amazon Neptune DB cluster.
  9621  //
  9622  // This data type is used as a response element in the DescribeDBClusters action.
  9623  type DBCluster struct {
  9624  	_ struct{} `type:"structure"`
  9625  
  9626  	// AllocatedStorage always returns 1, because Neptune DB cluster storage size
  9627  	// is not fixed, but instead automatically adjusts as needed.
  9628  	AllocatedStorage *int64 `type:"integer"`
  9629  
  9630  	// Provides a list of the Amazon Identity and Access Management (IAM) roles
  9631  	// that are associated with the DB cluster. IAM roles that are associated with
  9632  	// a DB cluster grant permission for the DB cluster to access other Amazon services
  9633  	// on your behalf.
  9634  	AssociatedRoles []*DBClusterRole `locationNameList:"DBClusterRole" type:"list"`
  9635  
  9636  	// Time at which the DB cluster will be automatically restarted.
  9637  	AutomaticRestartTime *time.Time `type:"timestamp"`
  9638  
  9639  	// Provides the list of EC2 Availability Zones that instances in the DB cluster
  9640  	// can be created in.
  9641  	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
  9642  
  9643  	// Specifies the number of days for which automatic DB snapshots are retained.
  9644  	BackupRetentionPeriod *int64 `type:"integer"`
  9645  
  9646  	// Not supported by Neptune.
  9647  	CharacterSetName *string `type:"string"`
  9648  
  9649  	// Identifies the clone group to which the DB cluster is associated.
  9650  	CloneGroupId *string `type:"string"`
  9651  
  9652  	// Specifies the time when the DB cluster was created, in Universal Coordinated
  9653  	// Time (UTC).
  9654  	ClusterCreateTime *time.Time `type:"timestamp"`
  9655  
  9656  	// If set to true, tags are copied to any snapshot of the DB cluster that is
  9657  	// created.
  9658  	CopyTagsToSnapshot *bool `type:"boolean"`
  9659  
  9660  	// If set to true, the DB cluster can be cloned across accounts.
  9661  	CrossAccountClone *bool `type:"boolean"`
  9662  
  9663  	// The Amazon Resource Name (ARN) for the DB cluster.
  9664  	DBClusterArn *string `type:"string"`
  9665  
  9666  	// Contains a user-supplied DB cluster identifier. This identifier is the unique
  9667  	// key that identifies a DB cluster.
  9668  	DBClusterIdentifier *string `type:"string"`
  9669  
  9670  	// Provides the list of instances that make up the DB cluster.
  9671  	DBClusterMembers []*DBClusterMember `locationNameList:"DBClusterMember" type:"list"`
  9672  
  9673  	// Not supported by Neptune.
  9674  	DBClusterOptionGroupMemberships []*DBClusterOptionGroupStatus `locationNameList:"DBClusterOptionGroup" type:"list"`
  9675  
  9676  	// Specifies the name of the DB cluster parameter group for the DB cluster.
  9677  	DBClusterParameterGroup *string `type:"string"`
  9678  
  9679  	// Specifies information on the subnet group associated with the DB cluster,
  9680  	// including the name, description, and subnets in the subnet group.
  9681  	DBSubnetGroup *string `type:"string"`
  9682  
  9683  	// Contains the name of the initial database of this DB cluster that was provided
  9684  	// at create time, if one was specified when the DB cluster was created. This
  9685  	// same name is returned for the life of the DB cluster.
  9686  	DatabaseName *string `type:"string"`
  9687  
  9688  	// The Amazon Region-unique, immutable identifier for the DB cluster. This identifier
  9689  	// is found in Amazon CloudTrail log entries whenever the Amazon KMS key for
  9690  	// the DB cluster is accessed.
  9691  	DbClusterResourceId *string `type:"string"`
  9692  
  9693  	// Indicates whether or not the DB cluster has deletion protection enabled.
  9694  	// The database can't be deleted when deletion protection is enabled.
  9695  	DeletionProtection *bool `type:"boolean"`
  9696  
  9697  	// Specifies the earliest time to which a database can be restored with point-in-time
  9698  	// restore.
  9699  	EarliestRestorableTime *time.Time `type:"timestamp"`
  9700  
  9701  	// A list of log types that this DB cluster is configured to export to CloudWatch
  9702  	// Logs.
  9703  	EnabledCloudwatchLogsExports []*string `type:"list"`
  9704  
  9705  	// Specifies the connection endpoint for the primary instance of the DB cluster.
  9706  	Endpoint *string `type:"string"`
  9707  
  9708  	// Provides the name of the database engine to be used for this DB cluster.
  9709  	Engine *string `type:"string"`
  9710  
  9711  	// Indicates the database engine version.
  9712  	EngineVersion *string `type:"string"`
  9713  
  9714  	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
  9715  	HostedZoneId *string `type:"string"`
  9716  
  9717  	// True if mapping of Amazon Identity and Access Management (IAM) accounts to
  9718  	// database accounts is enabled, and otherwise false.
  9719  	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
  9720  
  9721  	// If StorageEncrypted is true, the Amazon KMS key identifier for the encrypted
  9722  	// DB cluster.
  9723  	KmsKeyId *string `type:"string"`
  9724  
  9725  	// Specifies the latest time to which a database can be restored with point-in-time
  9726  	// restore.
  9727  	LatestRestorableTime *time.Time `type:"timestamp"`
  9728  
  9729  	// Not supported by Neptune.
  9730  	MasterUsername *string `type:"string"`
  9731  
  9732  	// Specifies whether the DB cluster has instances in multiple Availability Zones.
  9733  	MultiAZ *bool `type:"boolean"`
  9734  
  9735  	// Specifies the progress of the operation as a percentage.
  9736  	PercentProgress *string `type:"string"`
  9737  
  9738  	// Specifies the port that the database engine is listening on.
  9739  	Port *int64 `type:"integer"`
  9740  
  9741  	// Specifies the daily time range during which automated backups are created
  9742  	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
  9743  	PreferredBackupWindow *string `type:"string"`
  9744  
  9745  	// Specifies the weekly time range during which system maintenance can occur,
  9746  	// in Universal Coordinated Time (UTC).
  9747  	PreferredMaintenanceWindow *string `type:"string"`
  9748  
  9749  	// Contains one or more identifiers of the Read Replicas associated with this
  9750  	// DB cluster.
  9751  	ReadReplicaIdentifiers []*string `locationNameList:"ReadReplicaIdentifier" type:"list"`
  9752  
  9753  	// The reader endpoint for the DB cluster. The reader endpoint for a DB cluster
  9754  	// load-balances connections across the Read Replicas that are available in
  9755  	// a DB cluster. As clients request new connections to the reader endpoint,
  9756  	// Neptune distributes the connection requests among the Read Replicas in the
  9757  	// DB cluster. This functionality can help balance your read workload across
  9758  	// multiple Read Replicas in your DB cluster.
  9759  	//
  9760  	// If a failover occurs, and the Read Replica that you are connected to is promoted
  9761  	// to be the primary instance, your connection is dropped. To continue sending
  9762  	// your read workload to other Read Replicas in the cluster, you can then reconnect
  9763  	// to the reader endpoint.
  9764  	ReaderEndpoint *string `type:"string"`
  9765  
  9766  	// Not supported by Neptune.
  9767  	ReplicationSourceIdentifier *string `type:"string"`
  9768  
  9769  	// Specifies the current state of this DB cluster.
  9770  	Status *string `type:"string"`
  9771  
  9772  	// Specifies whether the DB cluster is encrypted.
  9773  	StorageEncrypted *bool `type:"boolean"`
  9774  
  9775  	// Provides a list of VPC security groups that the DB cluster belongs to.
  9776  	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
  9777  }
  9778  
  9779  // String returns the string representation.
  9780  //
  9781  // API parameter values that are decorated as "sensitive" in the API will not
  9782  // be included in the string output. The member name will be present, but the
  9783  // value will be replaced with "sensitive".
  9784  func (s DBCluster) String() string {
  9785  	return awsutil.Prettify(s)
  9786  }
  9787  
  9788  // GoString returns the string representation.
  9789  //
  9790  // API parameter values that are decorated as "sensitive" in the API will not
  9791  // be included in the string output. The member name will be present, but the
  9792  // value will be replaced with "sensitive".
  9793  func (s DBCluster) GoString() string {
  9794  	return s.String()
  9795  }
  9796  
  9797  // SetAllocatedStorage sets the AllocatedStorage field's value.
  9798  func (s *DBCluster) SetAllocatedStorage(v int64) *DBCluster {
  9799  	s.AllocatedStorage = &v
  9800  	return s
  9801  }
  9802  
  9803  // SetAssociatedRoles sets the AssociatedRoles field's value.
  9804  func (s *DBCluster) SetAssociatedRoles(v []*DBClusterRole) *DBCluster {
  9805  	s.AssociatedRoles = v
  9806  	return s
  9807  }
  9808  
  9809  // SetAutomaticRestartTime sets the AutomaticRestartTime field's value.
  9810  func (s *DBCluster) SetAutomaticRestartTime(v time.Time) *DBCluster {
  9811  	s.AutomaticRestartTime = &v
  9812  	return s
  9813  }
  9814  
  9815  // SetAvailabilityZones sets the AvailabilityZones field's value.
  9816  func (s *DBCluster) SetAvailabilityZones(v []*string) *DBCluster {
  9817  	s.AvailabilityZones = v
  9818  	return s
  9819  }
  9820  
  9821  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
  9822  func (s *DBCluster) SetBackupRetentionPeriod(v int64) *DBCluster {
  9823  	s.BackupRetentionPeriod = &v
  9824  	return s
  9825  }
  9826  
  9827  // SetCharacterSetName sets the CharacterSetName field's value.
  9828  func (s *DBCluster) SetCharacterSetName(v string) *DBCluster {
  9829  	s.CharacterSetName = &v
  9830  	return s
  9831  }
  9832  
  9833  // SetCloneGroupId sets the CloneGroupId field's value.
  9834  func (s *DBCluster) SetCloneGroupId(v string) *DBCluster {
  9835  	s.CloneGroupId = &v
  9836  	return s
  9837  }
  9838  
  9839  // SetClusterCreateTime sets the ClusterCreateTime field's value.
  9840  func (s *DBCluster) SetClusterCreateTime(v time.Time) *DBCluster {
  9841  	s.ClusterCreateTime = &v
  9842  	return s
  9843  }
  9844  
  9845  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
  9846  func (s *DBCluster) SetCopyTagsToSnapshot(v bool) *DBCluster {
  9847  	s.CopyTagsToSnapshot = &v
  9848  	return s
  9849  }
  9850  
  9851  // SetCrossAccountClone sets the CrossAccountClone field's value.
  9852  func (s *DBCluster) SetCrossAccountClone(v bool) *DBCluster {
  9853  	s.CrossAccountClone = &v
  9854  	return s
  9855  }
  9856  
  9857  // SetDBClusterArn sets the DBClusterArn field's value.
  9858  func (s *DBCluster) SetDBClusterArn(v string) *DBCluster {
  9859  	s.DBClusterArn = &v
  9860  	return s
  9861  }
  9862  
  9863  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
  9864  func (s *DBCluster) SetDBClusterIdentifier(v string) *DBCluster {
  9865  	s.DBClusterIdentifier = &v
  9866  	return s
  9867  }
  9868  
  9869  // SetDBClusterMembers sets the DBClusterMembers field's value.
  9870  func (s *DBCluster) SetDBClusterMembers(v []*DBClusterMember) *DBCluster {
  9871  	s.DBClusterMembers = v
  9872  	return s
  9873  }
  9874  
  9875  // SetDBClusterOptionGroupMemberships sets the DBClusterOptionGroupMemberships field's value.
  9876  func (s *DBCluster) SetDBClusterOptionGroupMemberships(v []*DBClusterOptionGroupStatus) *DBCluster {
  9877  	s.DBClusterOptionGroupMemberships = v
  9878  	return s
  9879  }
  9880  
  9881  // SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
  9882  func (s *DBCluster) SetDBClusterParameterGroup(v string) *DBCluster {
  9883  	s.DBClusterParameterGroup = &v
  9884  	return s
  9885  }
  9886  
  9887  // SetDBSubnetGroup sets the DBSubnetGroup field's value.
  9888  func (s *DBCluster) SetDBSubnetGroup(v string) *DBCluster {
  9889  	s.DBSubnetGroup = &v
  9890  	return s
  9891  }
  9892  
  9893  // SetDatabaseName sets the DatabaseName field's value.
  9894  func (s *DBCluster) SetDatabaseName(v string) *DBCluster {
  9895  	s.DatabaseName = &v
  9896  	return s
  9897  }
  9898  
  9899  // SetDbClusterResourceId sets the DbClusterResourceId field's value.
  9900  func (s *DBCluster) SetDbClusterResourceId(v string) *DBCluster {
  9901  	s.DbClusterResourceId = &v
  9902  	return s
  9903  }
  9904  
  9905  // SetDeletionProtection sets the DeletionProtection field's value.
  9906  func (s *DBCluster) SetDeletionProtection(v bool) *DBCluster {
  9907  	s.DeletionProtection = &v
  9908  	return s
  9909  }
  9910  
  9911  // SetEarliestRestorableTime sets the EarliestRestorableTime field's value.
  9912  func (s *DBCluster) SetEarliestRestorableTime(v time.Time) *DBCluster {
  9913  	s.EarliestRestorableTime = &v
  9914  	return s
  9915  }
  9916  
  9917  // SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
  9918  func (s *DBCluster) SetEnabledCloudwatchLogsExports(v []*string) *DBCluster {
  9919  	s.EnabledCloudwatchLogsExports = v
  9920  	return s
  9921  }
  9922  
  9923  // SetEndpoint sets the Endpoint field's value.
  9924  func (s *DBCluster) SetEndpoint(v string) *DBCluster {
  9925  	s.Endpoint = &v
  9926  	return s
  9927  }
  9928  
  9929  // SetEngine sets the Engine field's value.
  9930  func (s *DBCluster) SetEngine(v string) *DBCluster {
  9931  	s.Engine = &v
  9932  	return s
  9933  }
  9934  
  9935  // SetEngineVersion sets the EngineVersion field's value.
  9936  func (s *DBCluster) SetEngineVersion(v string) *DBCluster {
  9937  	s.EngineVersion = &v
  9938  	return s
  9939  }
  9940  
  9941  // SetHostedZoneId sets the HostedZoneId field's value.
  9942  func (s *DBCluster) SetHostedZoneId(v string) *DBCluster {
  9943  	s.HostedZoneId = &v
  9944  	return s
  9945  }
  9946  
  9947  // SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
  9948  func (s *DBCluster) SetIAMDatabaseAuthenticationEnabled(v bool) *DBCluster {
  9949  	s.IAMDatabaseAuthenticationEnabled = &v
  9950  	return s
  9951  }
  9952  
  9953  // SetKmsKeyId sets the KmsKeyId field's value.
  9954  func (s *DBCluster) SetKmsKeyId(v string) *DBCluster {
  9955  	s.KmsKeyId = &v
  9956  	return s
  9957  }
  9958  
  9959  // SetLatestRestorableTime sets the LatestRestorableTime field's value.
  9960  func (s *DBCluster) SetLatestRestorableTime(v time.Time) *DBCluster {
  9961  	s.LatestRestorableTime = &v
  9962  	return s
  9963  }
  9964  
  9965  // SetMasterUsername sets the MasterUsername field's value.
  9966  func (s *DBCluster) SetMasterUsername(v string) *DBCluster {
  9967  	s.MasterUsername = &v
  9968  	return s
  9969  }
  9970  
  9971  // SetMultiAZ sets the MultiAZ field's value.
  9972  func (s *DBCluster) SetMultiAZ(v bool) *DBCluster {
  9973  	s.MultiAZ = &v
  9974  	return s
  9975  }
  9976  
  9977  // SetPercentProgress sets the PercentProgress field's value.
  9978  func (s *DBCluster) SetPercentProgress(v string) *DBCluster {
  9979  	s.PercentProgress = &v
  9980  	return s
  9981  }
  9982  
  9983  // SetPort sets the Port field's value.
  9984  func (s *DBCluster) SetPort(v int64) *DBCluster {
  9985  	s.Port = &v
  9986  	return s
  9987  }
  9988  
  9989  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
  9990  func (s *DBCluster) SetPreferredBackupWindow(v string) *DBCluster {
  9991  	s.PreferredBackupWindow = &v
  9992  	return s
  9993  }
  9994  
  9995  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
  9996  func (s *DBCluster) SetPreferredMaintenanceWindow(v string) *DBCluster {
  9997  	s.PreferredMaintenanceWindow = &v
  9998  	return s
  9999  }
 10000  
 10001  // SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
 10002  func (s *DBCluster) SetReadReplicaIdentifiers(v []*string) *DBCluster {
 10003  	s.ReadReplicaIdentifiers = v
 10004  	return s
 10005  }
 10006  
 10007  // SetReaderEndpoint sets the ReaderEndpoint field's value.
 10008  func (s *DBCluster) SetReaderEndpoint(v string) *DBCluster {
 10009  	s.ReaderEndpoint = &v
 10010  	return s
 10011  }
 10012  
 10013  // SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
 10014  func (s *DBCluster) SetReplicationSourceIdentifier(v string) *DBCluster {
 10015  	s.ReplicationSourceIdentifier = &v
 10016  	return s
 10017  }
 10018  
 10019  // SetStatus sets the Status field's value.
 10020  func (s *DBCluster) SetStatus(v string) *DBCluster {
 10021  	s.Status = &v
 10022  	return s
 10023  }
 10024  
 10025  // SetStorageEncrypted sets the StorageEncrypted field's value.
 10026  func (s *DBCluster) SetStorageEncrypted(v bool) *DBCluster {
 10027  	s.StorageEncrypted = &v
 10028  	return s
 10029  }
 10030  
 10031  // SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
 10032  func (s *DBCluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBCluster {
 10033  	s.VpcSecurityGroups = v
 10034  	return s
 10035  }
 10036  
 10037  // This data type represents the information you need to connect to an Amazon
 10038  // Neptune DB cluster. This data type is used as a response element in the following
 10039  // actions:
 10040  //
 10041  //    * CreateDBClusterEndpoint
 10042  //
 10043  //    * DescribeDBClusterEndpoints
 10044  //
 10045  //    * ModifyDBClusterEndpoint
 10046  //
 10047  //    * DeleteDBClusterEndpoint
 10048  //
 10049  // For the data structure that represents Amazon Neptune DB instance endpoints,
 10050  // see Endpoint.
 10051  type DBClusterEndpoint struct {
 10052  	_ struct{} `type:"structure"`
 10053  
 10054  	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
 10055  	CustomEndpointType *string `type:"string"`
 10056  
 10057  	// The Amazon Resource Name (ARN) for the endpoint.
 10058  	DBClusterEndpointArn *string `type:"string"`
 10059  
 10060  	// The identifier associated with the endpoint. This parameter is stored as
 10061  	// a lowercase string.
 10062  	DBClusterEndpointIdentifier *string `type:"string"`
 10063  
 10064  	// A unique system-generated identifier for an endpoint. It remains the same
 10065  	// for the whole life of the endpoint.
 10066  	DBClusterEndpointResourceIdentifier *string `type:"string"`
 10067  
 10068  	// The DB cluster identifier of the DB cluster associated with the endpoint.
 10069  	// This parameter is stored as a lowercase string.
 10070  	DBClusterIdentifier *string `type:"string"`
 10071  
 10072  	// The DNS address of the endpoint.
 10073  	Endpoint *string `type:"string"`
 10074  
 10075  	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
 10076  	EndpointType *string `type:"string"`
 10077  
 10078  	// List of DB instance identifiers that aren't part of the custom endpoint group.
 10079  	// All other eligible instances are reachable through the custom endpoint. Only
 10080  	// relevant if the list of static members is empty.
 10081  	ExcludedMembers []*string `type:"list"`
 10082  
 10083  	// List of DB instance identifiers that are part of the custom endpoint group.
 10084  	StaticMembers []*string `type:"list"`
 10085  
 10086  	// The current status of the endpoint. One of: creating, available, deleting,
 10087  	// inactive, modifying. The inactive state applies to an endpoint that cannot
 10088  	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
 10089  	// secondary cluster in a global database.
 10090  	Status *string `type:"string"`
 10091  }
 10092  
 10093  // String returns the string representation.
 10094  //
 10095  // API parameter values that are decorated as "sensitive" in the API will not
 10096  // be included in the string output. The member name will be present, but the
 10097  // value will be replaced with "sensitive".
 10098  func (s DBClusterEndpoint) String() string {
 10099  	return awsutil.Prettify(s)
 10100  }
 10101  
 10102  // GoString returns the string representation.
 10103  //
 10104  // API parameter values that are decorated as "sensitive" in the API will not
 10105  // be included in the string output. The member name will be present, but the
 10106  // value will be replaced with "sensitive".
 10107  func (s DBClusterEndpoint) GoString() string {
 10108  	return s.String()
 10109  }
 10110  
 10111  // SetCustomEndpointType sets the CustomEndpointType field's value.
 10112  func (s *DBClusterEndpoint) SetCustomEndpointType(v string) *DBClusterEndpoint {
 10113  	s.CustomEndpointType = &v
 10114  	return s
 10115  }
 10116  
 10117  // SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
 10118  func (s *DBClusterEndpoint) SetDBClusterEndpointArn(v string) *DBClusterEndpoint {
 10119  	s.DBClusterEndpointArn = &v
 10120  	return s
 10121  }
 10122  
 10123  // SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
 10124  func (s *DBClusterEndpoint) SetDBClusterEndpointIdentifier(v string) *DBClusterEndpoint {
 10125  	s.DBClusterEndpointIdentifier = &v
 10126  	return s
 10127  }
 10128  
 10129  // SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
 10130  func (s *DBClusterEndpoint) SetDBClusterEndpointResourceIdentifier(v string) *DBClusterEndpoint {
 10131  	s.DBClusterEndpointResourceIdentifier = &v
 10132  	return s
 10133  }
 10134  
 10135  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 10136  func (s *DBClusterEndpoint) SetDBClusterIdentifier(v string) *DBClusterEndpoint {
 10137  	s.DBClusterIdentifier = &v
 10138  	return s
 10139  }
 10140  
 10141  // SetEndpoint sets the Endpoint field's value.
 10142  func (s *DBClusterEndpoint) SetEndpoint(v string) *DBClusterEndpoint {
 10143  	s.Endpoint = &v
 10144  	return s
 10145  }
 10146  
 10147  // SetEndpointType sets the EndpointType field's value.
 10148  func (s *DBClusterEndpoint) SetEndpointType(v string) *DBClusterEndpoint {
 10149  	s.EndpointType = &v
 10150  	return s
 10151  }
 10152  
 10153  // SetExcludedMembers sets the ExcludedMembers field's value.
 10154  func (s *DBClusterEndpoint) SetExcludedMembers(v []*string) *DBClusterEndpoint {
 10155  	s.ExcludedMembers = v
 10156  	return s
 10157  }
 10158  
 10159  // SetStaticMembers sets the StaticMembers field's value.
 10160  func (s *DBClusterEndpoint) SetStaticMembers(v []*string) *DBClusterEndpoint {
 10161  	s.StaticMembers = v
 10162  	return s
 10163  }
 10164  
 10165  // SetStatus sets the Status field's value.
 10166  func (s *DBClusterEndpoint) SetStatus(v string) *DBClusterEndpoint {
 10167  	s.Status = &v
 10168  	return s
 10169  }
 10170  
 10171  // Contains information about an instance that is part of a DB cluster.
 10172  type DBClusterMember struct {
 10173  	_ struct{} `type:"structure"`
 10174  
 10175  	// Specifies the status of the DB cluster parameter group for this member of
 10176  	// the DB cluster.
 10177  	DBClusterParameterGroupStatus *string `type:"string"`
 10178  
 10179  	// Specifies the instance identifier for this member of the DB cluster.
 10180  	DBInstanceIdentifier *string `type:"string"`
 10181  
 10182  	// Value that is true if the cluster member is the primary instance for the
 10183  	// DB cluster and false otherwise.
 10184  	IsClusterWriter *bool `type:"boolean"`
 10185  
 10186  	// A value that specifies the order in which a Read Replica is promoted to the
 10187  	// primary instance after a failure of the existing primary instance.
 10188  	PromotionTier *int64 `type:"integer"`
 10189  }
 10190  
 10191  // String returns the string representation.
 10192  //
 10193  // API parameter values that are decorated as "sensitive" in the API will not
 10194  // be included in the string output. The member name will be present, but the
 10195  // value will be replaced with "sensitive".
 10196  func (s DBClusterMember) String() string {
 10197  	return awsutil.Prettify(s)
 10198  }
 10199  
 10200  // GoString returns the string representation.
 10201  //
 10202  // API parameter values that are decorated as "sensitive" in the API will not
 10203  // be included in the string output. The member name will be present, but the
 10204  // value will be replaced with "sensitive".
 10205  func (s DBClusterMember) GoString() string {
 10206  	return s.String()
 10207  }
 10208  
 10209  // SetDBClusterParameterGroupStatus sets the DBClusterParameterGroupStatus field's value.
 10210  func (s *DBClusterMember) SetDBClusterParameterGroupStatus(v string) *DBClusterMember {
 10211  	s.DBClusterParameterGroupStatus = &v
 10212  	return s
 10213  }
 10214  
 10215  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 10216  func (s *DBClusterMember) SetDBInstanceIdentifier(v string) *DBClusterMember {
 10217  	s.DBInstanceIdentifier = &v
 10218  	return s
 10219  }
 10220  
 10221  // SetIsClusterWriter sets the IsClusterWriter field's value.
 10222  func (s *DBClusterMember) SetIsClusterWriter(v bool) *DBClusterMember {
 10223  	s.IsClusterWriter = &v
 10224  	return s
 10225  }
 10226  
 10227  // SetPromotionTier sets the PromotionTier field's value.
 10228  func (s *DBClusterMember) SetPromotionTier(v int64) *DBClusterMember {
 10229  	s.PromotionTier = &v
 10230  	return s
 10231  }
 10232  
 10233  // Not supported by Neptune.
 10234  type DBClusterOptionGroupStatus struct {
 10235  	_ struct{} `type:"structure"`
 10236  
 10237  	// Not supported by Neptune.
 10238  	DBClusterOptionGroupName *string `type:"string"`
 10239  
 10240  	// Not supported by Neptune.
 10241  	Status *string `type:"string"`
 10242  }
 10243  
 10244  // String returns the string representation.
 10245  //
 10246  // API parameter values that are decorated as "sensitive" in the API will not
 10247  // be included in the string output. The member name will be present, but the
 10248  // value will be replaced with "sensitive".
 10249  func (s DBClusterOptionGroupStatus) String() string {
 10250  	return awsutil.Prettify(s)
 10251  }
 10252  
 10253  // GoString returns the string representation.
 10254  //
 10255  // API parameter values that are decorated as "sensitive" in the API will not
 10256  // be included in the string output. The member name will be present, but the
 10257  // value will be replaced with "sensitive".
 10258  func (s DBClusterOptionGroupStatus) GoString() string {
 10259  	return s.String()
 10260  }
 10261  
 10262  // SetDBClusterOptionGroupName sets the DBClusterOptionGroupName field's value.
 10263  func (s *DBClusterOptionGroupStatus) SetDBClusterOptionGroupName(v string) *DBClusterOptionGroupStatus {
 10264  	s.DBClusterOptionGroupName = &v
 10265  	return s
 10266  }
 10267  
 10268  // SetStatus sets the Status field's value.
 10269  func (s *DBClusterOptionGroupStatus) SetStatus(v string) *DBClusterOptionGroupStatus {
 10270  	s.Status = &v
 10271  	return s
 10272  }
 10273  
 10274  // Contains the details of an Amazon Neptune DB cluster parameter group.
 10275  //
 10276  // This data type is used as a response element in the DescribeDBClusterParameterGroups
 10277  // action.
 10278  type DBClusterParameterGroup struct {
 10279  	_ struct{} `type:"structure"`
 10280  
 10281  	// The Amazon Resource Name (ARN) for the DB cluster parameter group.
 10282  	DBClusterParameterGroupArn *string `type:"string"`
 10283  
 10284  	// Provides the name of the DB cluster parameter group.
 10285  	DBClusterParameterGroupName *string `type:"string"`
 10286  
 10287  	// Provides the name of the DB parameter group family that this DB cluster parameter
 10288  	// group is compatible with.
 10289  	DBParameterGroupFamily *string `type:"string"`
 10290  
 10291  	// Provides the customer-specified description for this DB cluster parameter
 10292  	// group.
 10293  	Description *string `type:"string"`
 10294  }
 10295  
 10296  // String returns the string representation.
 10297  //
 10298  // API parameter values that are decorated as "sensitive" in the API will not
 10299  // be included in the string output. The member name will be present, but the
 10300  // value will be replaced with "sensitive".
 10301  func (s DBClusterParameterGroup) String() string {
 10302  	return awsutil.Prettify(s)
 10303  }
 10304  
 10305  // GoString returns the string representation.
 10306  //
 10307  // API parameter values that are decorated as "sensitive" in the API will not
 10308  // be included in the string output. The member name will be present, but the
 10309  // value will be replaced with "sensitive".
 10310  func (s DBClusterParameterGroup) GoString() string {
 10311  	return s.String()
 10312  }
 10313  
 10314  // SetDBClusterParameterGroupArn sets the DBClusterParameterGroupArn field's value.
 10315  func (s *DBClusterParameterGroup) SetDBClusterParameterGroupArn(v string) *DBClusterParameterGroup {
 10316  	s.DBClusterParameterGroupArn = &v
 10317  	return s
 10318  }
 10319  
 10320  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 10321  func (s *DBClusterParameterGroup) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroup {
 10322  	s.DBClusterParameterGroupName = &v
 10323  	return s
 10324  }
 10325  
 10326  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 10327  func (s *DBClusterParameterGroup) SetDBParameterGroupFamily(v string) *DBClusterParameterGroup {
 10328  	s.DBParameterGroupFamily = &v
 10329  	return s
 10330  }
 10331  
 10332  // SetDescription sets the Description field's value.
 10333  func (s *DBClusterParameterGroup) SetDescription(v string) *DBClusterParameterGroup {
 10334  	s.Description = &v
 10335  	return s
 10336  }
 10337  
 10338  // Describes an Amazon Identity and Access Management (IAM) role that is associated
 10339  // with a DB cluster.
 10340  type DBClusterRole struct {
 10341  	_ struct{} `type:"structure"`
 10342  
 10343  	// The name of the feature associated with the Amazon Identity and Access Management
 10344  	// (IAM) role. For the list of supported feature names, see DBEngineVersion.
 10345  	FeatureName *string `type:"string"`
 10346  
 10347  	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
 10348  	// DB cluster.
 10349  	RoleArn *string `type:"string"`
 10350  
 10351  	// Describes the state of association between the IAM role and the DB cluster.
 10352  	// The Status property returns one of the following values:
 10353  	//
 10354  	//    * ACTIVE - the IAM role ARN is associated with the DB cluster and can
 10355  	//    be used to access other Amazon services on your behalf.
 10356  	//
 10357  	//    * PENDING - the IAM role ARN is being associated with the DB cluster.
 10358  	//
 10359  	//    * INVALID - the IAM role ARN is associated with the DB cluster, but the
 10360  	//    DB cluster is unable to assume the IAM role in order to access other Amazon
 10361  	//    services on your behalf.
 10362  	Status *string `type:"string"`
 10363  }
 10364  
 10365  // String returns the string representation.
 10366  //
 10367  // API parameter values that are decorated as "sensitive" in the API will not
 10368  // be included in the string output. The member name will be present, but the
 10369  // value will be replaced with "sensitive".
 10370  func (s DBClusterRole) String() string {
 10371  	return awsutil.Prettify(s)
 10372  }
 10373  
 10374  // GoString returns the string representation.
 10375  //
 10376  // API parameter values that are decorated as "sensitive" in the API will not
 10377  // be included in the string output. The member name will be present, but the
 10378  // value will be replaced with "sensitive".
 10379  func (s DBClusterRole) GoString() string {
 10380  	return s.String()
 10381  }
 10382  
 10383  // SetFeatureName sets the FeatureName field's value.
 10384  func (s *DBClusterRole) SetFeatureName(v string) *DBClusterRole {
 10385  	s.FeatureName = &v
 10386  	return s
 10387  }
 10388  
 10389  // SetRoleArn sets the RoleArn field's value.
 10390  func (s *DBClusterRole) SetRoleArn(v string) *DBClusterRole {
 10391  	s.RoleArn = &v
 10392  	return s
 10393  }
 10394  
 10395  // SetStatus sets the Status field's value.
 10396  func (s *DBClusterRole) SetStatus(v string) *DBClusterRole {
 10397  	s.Status = &v
 10398  	return s
 10399  }
 10400  
 10401  // Contains the details for an Amazon Neptune DB cluster snapshot
 10402  //
 10403  // This data type is used as a response element in the DescribeDBClusterSnapshots
 10404  // action.
 10405  type DBClusterSnapshot struct {
 10406  	_ struct{} `type:"structure"`
 10407  
 10408  	// Specifies the allocated storage size in gibibytes (GiB).
 10409  	AllocatedStorage *int64 `type:"integer"`
 10410  
 10411  	// Provides the list of EC2 Availability Zones that instances in the DB cluster
 10412  	// snapshot can be restored in.
 10413  	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
 10414  
 10415  	// Specifies the time when the DB cluster was created, in Universal Coordinated
 10416  	// Time (UTC).
 10417  	ClusterCreateTime *time.Time `type:"timestamp"`
 10418  
 10419  	// Specifies the DB cluster identifier of the DB cluster that this DB cluster
 10420  	// snapshot was created from.
 10421  	DBClusterIdentifier *string `type:"string"`
 10422  
 10423  	// The Amazon Resource Name (ARN) for the DB cluster snapshot.
 10424  	DBClusterSnapshotArn *string `type:"string"`
 10425  
 10426  	// Specifies the identifier for a DB cluster snapshot. Must match the identifier
 10427  	// of an existing snapshot.
 10428  	//
 10429  	// After you restore a DB cluster using a DBClusterSnapshotIdentifier, you must
 10430  	// specify the same DBClusterSnapshotIdentifier for any future updates to the
 10431  	// DB cluster. When you specify this property for an update, the DB cluster
 10432  	// is not restored from the snapshot again, and the data in the database is
 10433  	// not changed.
 10434  	//
 10435  	// However, if you don't specify the DBClusterSnapshotIdentifier, an empty DB
 10436  	// cluster is created, and the original DB cluster is deleted. If you specify
 10437  	// a property that is different from the previous snapshot restore property,
 10438  	// the DB cluster is restored from the snapshot specified by the DBClusterSnapshotIdentifier,
 10439  	// and the original DB cluster is deleted.
 10440  	DBClusterSnapshotIdentifier *string `type:"string"`
 10441  
 10442  	// Specifies the name of the database engine.
 10443  	Engine *string `type:"string"`
 10444  
 10445  	// Provides the version of the database engine for this DB cluster snapshot.
 10446  	EngineVersion *string `type:"string"`
 10447  
 10448  	// True if mapping of Amazon Identity and Access Management (IAM) accounts to
 10449  	// database accounts is enabled, and otherwise false.
 10450  	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
 10451  
 10452  	// If StorageEncrypted is true, the Amazon KMS key identifier for the encrypted
 10453  	// DB cluster snapshot.
 10454  	KmsKeyId *string `type:"string"`
 10455  
 10456  	// Provides the license model information for this DB cluster snapshot.
 10457  	LicenseModel *string `type:"string"`
 10458  
 10459  	// Not supported by Neptune.
 10460  	MasterUsername *string `type:"string"`
 10461  
 10462  	// Specifies the percentage of the estimated data that has been transferred.
 10463  	PercentProgress *int64 `type:"integer"`
 10464  
 10465  	// Specifies the port that the DB cluster was listening on at the time of the
 10466  	// snapshot.
 10467  	Port *int64 `type:"integer"`
 10468  
 10469  	// Provides the time when the snapshot was taken, in Universal Coordinated Time
 10470  	// (UTC).
 10471  	SnapshotCreateTime *time.Time `type:"timestamp"`
 10472  
 10473  	// Provides the type of the DB cluster snapshot.
 10474  	SnapshotType *string `type:"string"`
 10475  
 10476  	// If the DB cluster snapshot was copied from a source DB cluster snapshot,
 10477  	// the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise,
 10478  	// a null value.
 10479  	SourceDBClusterSnapshotArn *string `type:"string"`
 10480  
 10481  	// Specifies the status of this DB cluster snapshot.
 10482  	Status *string `type:"string"`
 10483  
 10484  	// Specifies whether the DB cluster snapshot is encrypted.
 10485  	StorageEncrypted *bool `type:"boolean"`
 10486  
 10487  	// Provides the VPC ID associated with the DB cluster snapshot.
 10488  	VpcId *string `type:"string"`
 10489  }
 10490  
 10491  // String returns the string representation.
 10492  //
 10493  // API parameter values that are decorated as "sensitive" in the API will not
 10494  // be included in the string output. The member name will be present, but the
 10495  // value will be replaced with "sensitive".
 10496  func (s DBClusterSnapshot) String() string {
 10497  	return awsutil.Prettify(s)
 10498  }
 10499  
 10500  // GoString returns the string representation.
 10501  //
 10502  // API parameter values that are decorated as "sensitive" in the API will not
 10503  // be included in the string output. The member name will be present, but the
 10504  // value will be replaced with "sensitive".
 10505  func (s DBClusterSnapshot) GoString() string {
 10506  	return s.String()
 10507  }
 10508  
 10509  // SetAllocatedStorage sets the AllocatedStorage field's value.
 10510  func (s *DBClusterSnapshot) SetAllocatedStorage(v int64) *DBClusterSnapshot {
 10511  	s.AllocatedStorage = &v
 10512  	return s
 10513  }
 10514  
 10515  // SetAvailabilityZones sets the AvailabilityZones field's value.
 10516  func (s *DBClusterSnapshot) SetAvailabilityZones(v []*string) *DBClusterSnapshot {
 10517  	s.AvailabilityZones = v
 10518  	return s
 10519  }
 10520  
 10521  // SetClusterCreateTime sets the ClusterCreateTime field's value.
 10522  func (s *DBClusterSnapshot) SetClusterCreateTime(v time.Time) *DBClusterSnapshot {
 10523  	s.ClusterCreateTime = &v
 10524  	return s
 10525  }
 10526  
 10527  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 10528  func (s *DBClusterSnapshot) SetDBClusterIdentifier(v string) *DBClusterSnapshot {
 10529  	s.DBClusterIdentifier = &v
 10530  	return s
 10531  }
 10532  
 10533  // SetDBClusterSnapshotArn sets the DBClusterSnapshotArn field's value.
 10534  func (s *DBClusterSnapshot) SetDBClusterSnapshotArn(v string) *DBClusterSnapshot {
 10535  	s.DBClusterSnapshotArn = &v
 10536  	return s
 10537  }
 10538  
 10539  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
 10540  func (s *DBClusterSnapshot) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshot {
 10541  	s.DBClusterSnapshotIdentifier = &v
 10542  	return s
 10543  }
 10544  
 10545  // SetEngine sets the Engine field's value.
 10546  func (s *DBClusterSnapshot) SetEngine(v string) *DBClusterSnapshot {
 10547  	s.Engine = &v
 10548  	return s
 10549  }
 10550  
 10551  // SetEngineVersion sets the EngineVersion field's value.
 10552  func (s *DBClusterSnapshot) SetEngineVersion(v string) *DBClusterSnapshot {
 10553  	s.EngineVersion = &v
 10554  	return s
 10555  }
 10556  
 10557  // SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
 10558  func (s *DBClusterSnapshot) SetIAMDatabaseAuthenticationEnabled(v bool) *DBClusterSnapshot {
 10559  	s.IAMDatabaseAuthenticationEnabled = &v
 10560  	return s
 10561  }
 10562  
 10563  // SetKmsKeyId sets the KmsKeyId field's value.
 10564  func (s *DBClusterSnapshot) SetKmsKeyId(v string) *DBClusterSnapshot {
 10565  	s.KmsKeyId = &v
 10566  	return s
 10567  }
 10568  
 10569  // SetLicenseModel sets the LicenseModel field's value.
 10570  func (s *DBClusterSnapshot) SetLicenseModel(v string) *DBClusterSnapshot {
 10571  	s.LicenseModel = &v
 10572  	return s
 10573  }
 10574  
 10575  // SetMasterUsername sets the MasterUsername field's value.
 10576  func (s *DBClusterSnapshot) SetMasterUsername(v string) *DBClusterSnapshot {
 10577  	s.MasterUsername = &v
 10578  	return s
 10579  }
 10580  
 10581  // SetPercentProgress sets the PercentProgress field's value.
 10582  func (s *DBClusterSnapshot) SetPercentProgress(v int64) *DBClusterSnapshot {
 10583  	s.PercentProgress = &v
 10584  	return s
 10585  }
 10586  
 10587  // SetPort sets the Port field's value.
 10588  func (s *DBClusterSnapshot) SetPort(v int64) *DBClusterSnapshot {
 10589  	s.Port = &v
 10590  	return s
 10591  }
 10592  
 10593  // SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
 10594  func (s *DBClusterSnapshot) SetSnapshotCreateTime(v time.Time) *DBClusterSnapshot {
 10595  	s.SnapshotCreateTime = &v
 10596  	return s
 10597  }
 10598  
 10599  // SetSnapshotType sets the SnapshotType field's value.
 10600  func (s *DBClusterSnapshot) SetSnapshotType(v string) *DBClusterSnapshot {
 10601  	s.SnapshotType = &v
 10602  	return s
 10603  }
 10604  
 10605  // SetSourceDBClusterSnapshotArn sets the SourceDBClusterSnapshotArn field's value.
 10606  func (s *DBClusterSnapshot) SetSourceDBClusterSnapshotArn(v string) *DBClusterSnapshot {
 10607  	s.SourceDBClusterSnapshotArn = &v
 10608  	return s
 10609  }
 10610  
 10611  // SetStatus sets the Status field's value.
 10612  func (s *DBClusterSnapshot) SetStatus(v string) *DBClusterSnapshot {
 10613  	s.Status = &v
 10614  	return s
 10615  }
 10616  
 10617  // SetStorageEncrypted sets the StorageEncrypted field's value.
 10618  func (s *DBClusterSnapshot) SetStorageEncrypted(v bool) *DBClusterSnapshot {
 10619  	s.StorageEncrypted = &v
 10620  	return s
 10621  }
 10622  
 10623  // SetVpcId sets the VpcId field's value.
 10624  func (s *DBClusterSnapshot) SetVpcId(v string) *DBClusterSnapshot {
 10625  	s.VpcId = &v
 10626  	return s
 10627  }
 10628  
 10629  // Contains the name and values of a manual DB cluster snapshot attribute.
 10630  //
 10631  // Manual DB cluster snapshot attributes are used to authorize other Amazon
 10632  // accounts to restore a manual DB cluster snapshot. For more information, see
 10633  // the ModifyDBClusterSnapshotAttribute API action.
 10634  type DBClusterSnapshotAttribute struct {
 10635  	_ struct{} `type:"structure"`
 10636  
 10637  	// The name of the manual DB cluster snapshot attribute.
 10638  	//
 10639  	// The attribute named restore refers to the list of Amazon accounts that have
 10640  	// permission to copy or restore the manual DB cluster snapshot. For more information,
 10641  	// see the ModifyDBClusterSnapshotAttribute API action.
 10642  	AttributeName *string `type:"string"`
 10643  
 10644  	// The value(s) for the manual DB cluster snapshot attribute.
 10645  	//
 10646  	// If the AttributeName field is set to restore, then this element returns a
 10647  	// list of IDs of the Amazon accounts that are authorized to copy or restore
 10648  	// the manual DB cluster snapshot. If a value of all is in the list, then the
 10649  	// manual DB cluster snapshot is public and available for any Amazon account
 10650  	// to copy or restore.
 10651  	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
 10652  }
 10653  
 10654  // String returns the string representation.
 10655  //
 10656  // API parameter values that are decorated as "sensitive" in the API will not
 10657  // be included in the string output. The member name will be present, but the
 10658  // value will be replaced with "sensitive".
 10659  func (s DBClusterSnapshotAttribute) String() string {
 10660  	return awsutil.Prettify(s)
 10661  }
 10662  
 10663  // GoString returns the string representation.
 10664  //
 10665  // API parameter values that are decorated as "sensitive" in the API will not
 10666  // be included in the string output. The member name will be present, but the
 10667  // value will be replaced with "sensitive".
 10668  func (s DBClusterSnapshotAttribute) GoString() string {
 10669  	return s.String()
 10670  }
 10671  
 10672  // SetAttributeName sets the AttributeName field's value.
 10673  func (s *DBClusterSnapshotAttribute) SetAttributeName(v string) *DBClusterSnapshotAttribute {
 10674  	s.AttributeName = &v
 10675  	return s
 10676  }
 10677  
 10678  // SetAttributeValues sets the AttributeValues field's value.
 10679  func (s *DBClusterSnapshotAttribute) SetAttributeValues(v []*string) *DBClusterSnapshotAttribute {
 10680  	s.AttributeValues = v
 10681  	return s
 10682  }
 10683  
 10684  // Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
 10685  // API action.
 10686  //
 10687  // Manual DB cluster snapshot attributes are used to authorize other Amazon
 10688  // accounts to copy or restore a manual DB cluster snapshot. For more information,
 10689  // see the ModifyDBClusterSnapshotAttribute API action.
 10690  type DBClusterSnapshotAttributesResult struct {
 10691  	_ struct{} `type:"structure"`
 10692  
 10693  	// The list of attributes and values for the manual DB cluster snapshot.
 10694  	DBClusterSnapshotAttributes []*DBClusterSnapshotAttribute `locationNameList:"DBClusterSnapshotAttribute" type:"list"`
 10695  
 10696  	// The identifier of the manual DB cluster snapshot that the attributes apply
 10697  	// to.
 10698  	DBClusterSnapshotIdentifier *string `type:"string"`
 10699  }
 10700  
 10701  // String returns the string representation.
 10702  //
 10703  // API parameter values that are decorated as "sensitive" in the API will not
 10704  // be included in the string output. The member name will be present, but the
 10705  // value will be replaced with "sensitive".
 10706  func (s DBClusterSnapshotAttributesResult) String() string {
 10707  	return awsutil.Prettify(s)
 10708  }
 10709  
 10710  // GoString returns the string representation.
 10711  //
 10712  // API parameter values that are decorated as "sensitive" in the API will not
 10713  // be included in the string output. The member name will be present, but the
 10714  // value will be replaced with "sensitive".
 10715  func (s DBClusterSnapshotAttributesResult) GoString() string {
 10716  	return s.String()
 10717  }
 10718  
 10719  // SetDBClusterSnapshotAttributes sets the DBClusterSnapshotAttributes field's value.
 10720  func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotAttributes(v []*DBClusterSnapshotAttribute) *DBClusterSnapshotAttributesResult {
 10721  	s.DBClusterSnapshotAttributes = v
 10722  	return s
 10723  }
 10724  
 10725  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
 10726  func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshotAttributesResult {
 10727  	s.DBClusterSnapshotIdentifier = &v
 10728  	return s
 10729  }
 10730  
 10731  // This data type is used as a response element in the action DescribeDBEngineVersions.
 10732  type DBEngineVersion struct {
 10733  	_ struct{} `type:"structure"`
 10734  
 10735  	// The description of the database engine.
 10736  	DBEngineDescription *string `type:"string"`
 10737  
 10738  	// The description of the database engine version.
 10739  	DBEngineVersionDescription *string `type:"string"`
 10740  
 10741  	// The name of the DB parameter group family for the database engine.
 10742  	DBParameterGroupFamily *string `type:"string"`
 10743  
 10744  	// (Not supported by Neptune)
 10745  	DefaultCharacterSet *CharacterSet `type:"structure"`
 10746  
 10747  	// The name of the database engine.
 10748  	Engine *string `type:"string"`
 10749  
 10750  	// The version number of the database engine.
 10751  	EngineVersion *string `type:"string"`
 10752  
 10753  	// The types of logs that the database engine has available for export to CloudWatch
 10754  	// Logs.
 10755  	ExportableLogTypes []*string `type:"list"`
 10756  
 10757  	// (Not supported by Neptune)
 10758  	SupportedCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
 10759  
 10760  	// A list of the time zones supported by this engine for the Timezone parameter
 10761  	// of the CreateDBInstance action.
 10762  	SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"`
 10763  
 10764  	// A value that indicates whether the engine version supports exporting the
 10765  	// log types specified by ExportableLogTypes to CloudWatch Logs.
 10766  	SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"`
 10767  
 10768  	// Indicates whether the database engine version supports read replicas.
 10769  	SupportsReadReplica *bool `type:"boolean"`
 10770  
 10771  	// A list of engine versions that this database engine version can be upgraded
 10772  	// to.
 10773  	ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"`
 10774  }
 10775  
 10776  // String returns the string representation.
 10777  //
 10778  // API parameter values that are decorated as "sensitive" in the API will not
 10779  // be included in the string output. The member name will be present, but the
 10780  // value will be replaced with "sensitive".
 10781  func (s DBEngineVersion) String() string {
 10782  	return awsutil.Prettify(s)
 10783  }
 10784  
 10785  // GoString 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 DBEngineVersion) GoString() string {
 10791  	return s.String()
 10792  }
 10793  
 10794  // SetDBEngineDescription sets the DBEngineDescription field's value.
 10795  func (s *DBEngineVersion) SetDBEngineDescription(v string) *DBEngineVersion {
 10796  	s.DBEngineDescription = &v
 10797  	return s
 10798  }
 10799  
 10800  // SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value.
 10801  func (s *DBEngineVersion) SetDBEngineVersionDescription(v string) *DBEngineVersion {
 10802  	s.DBEngineVersionDescription = &v
 10803  	return s
 10804  }
 10805  
 10806  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 10807  func (s *DBEngineVersion) SetDBParameterGroupFamily(v string) *DBEngineVersion {
 10808  	s.DBParameterGroupFamily = &v
 10809  	return s
 10810  }
 10811  
 10812  // SetDefaultCharacterSet sets the DefaultCharacterSet field's value.
 10813  func (s *DBEngineVersion) SetDefaultCharacterSet(v *CharacterSet) *DBEngineVersion {
 10814  	s.DefaultCharacterSet = v
 10815  	return s
 10816  }
 10817  
 10818  // SetEngine sets the Engine field's value.
 10819  func (s *DBEngineVersion) SetEngine(v string) *DBEngineVersion {
 10820  	s.Engine = &v
 10821  	return s
 10822  }
 10823  
 10824  // SetEngineVersion sets the EngineVersion field's value.
 10825  func (s *DBEngineVersion) SetEngineVersion(v string) *DBEngineVersion {
 10826  	s.EngineVersion = &v
 10827  	return s
 10828  }
 10829  
 10830  // SetExportableLogTypes sets the ExportableLogTypes field's value.
 10831  func (s *DBEngineVersion) SetExportableLogTypes(v []*string) *DBEngineVersion {
 10832  	s.ExportableLogTypes = v
 10833  	return s
 10834  }
 10835  
 10836  // SetSupportedCharacterSets sets the SupportedCharacterSets field's value.
 10837  func (s *DBEngineVersion) SetSupportedCharacterSets(v []*CharacterSet) *DBEngineVersion {
 10838  	s.SupportedCharacterSets = v
 10839  	return s
 10840  }
 10841  
 10842  // SetSupportedTimezones sets the SupportedTimezones field's value.
 10843  func (s *DBEngineVersion) SetSupportedTimezones(v []*Timezone) *DBEngineVersion {
 10844  	s.SupportedTimezones = v
 10845  	return s
 10846  }
 10847  
 10848  // SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value.
 10849  func (s *DBEngineVersion) SetSupportsLogExportsToCloudwatchLogs(v bool) *DBEngineVersion {
 10850  	s.SupportsLogExportsToCloudwatchLogs = &v
 10851  	return s
 10852  }
 10853  
 10854  // SetSupportsReadReplica sets the SupportsReadReplica field's value.
 10855  func (s *DBEngineVersion) SetSupportsReadReplica(v bool) *DBEngineVersion {
 10856  	s.SupportsReadReplica = &v
 10857  	return s
 10858  }
 10859  
 10860  // SetValidUpgradeTarget sets the ValidUpgradeTarget field's value.
 10861  func (s *DBEngineVersion) SetValidUpgradeTarget(v []*UpgradeTarget) *DBEngineVersion {
 10862  	s.ValidUpgradeTarget = v
 10863  	return s
 10864  }
 10865  
 10866  // Contains the details of an Amazon Neptune DB instance.
 10867  //
 10868  // This data type is used as a response element in the DescribeDBInstances action.
 10869  type DBInstance struct {
 10870  	_ struct{} `type:"structure"`
 10871  
 10872  	// Not supported by Neptune.
 10873  	AllocatedStorage *int64 `type:"integer"`
 10874  
 10875  	// Indicates that minor version patches are applied automatically.
 10876  	AutoMinorVersionUpgrade *bool `type:"boolean"`
 10877  
 10878  	// Specifies the name of the Availability Zone the DB instance is located in.
 10879  	AvailabilityZone *string `type:"string"`
 10880  
 10881  	// Specifies the number of days for which automatic DB snapshots are retained.
 10882  	BackupRetentionPeriod *int64 `type:"integer"`
 10883  
 10884  	// The identifier of the CA certificate for this DB instance.
 10885  	CACertificateIdentifier *string `type:"string"`
 10886  
 10887  	// (Not supported by Neptune)
 10888  	CharacterSetName *string `type:"string"`
 10889  
 10890  	// Specifies whether tags are copied from the DB instance to snapshots of the
 10891  	// DB instance.
 10892  	CopyTagsToSnapshot *bool `type:"boolean"`
 10893  
 10894  	// If the DB instance is a member of a DB cluster, contains the name of the
 10895  	// DB cluster that the DB instance is a member of.
 10896  	DBClusterIdentifier *string `type:"string"`
 10897  
 10898  	// The Amazon Resource Name (ARN) for the DB instance.
 10899  	DBInstanceArn *string `type:"string"`
 10900  
 10901  	// Contains the name of the compute and memory capacity class of the DB instance.
 10902  	DBInstanceClass *string `type:"string"`
 10903  
 10904  	// Contains a user-supplied database identifier. This identifier is the unique
 10905  	// key that identifies a DB instance.
 10906  	DBInstanceIdentifier *string `type:"string"`
 10907  
 10908  	// Specifies the current state of this database.
 10909  	DBInstanceStatus *string `type:"string"`
 10910  
 10911  	// The database name.
 10912  	DBName *string `type:"string"`
 10913  
 10914  	// Provides the list of DB parameter groups applied to this DB instance.
 10915  	DBParameterGroups []*DBParameterGroupStatus `locationNameList:"DBParameterGroup" type:"list"`
 10916  
 10917  	// Provides List of DB security group elements containing only DBSecurityGroup.Name
 10918  	// and DBSecurityGroup.Status subelements.
 10919  	DBSecurityGroups []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
 10920  
 10921  	// Specifies information on the subnet group associated with the DB instance,
 10922  	// including the name, description, and subnets in the subnet group.
 10923  	DBSubnetGroup *DBSubnetGroup `type:"structure"`
 10924  
 10925  	// Specifies the port that the DB instance listens on. If the DB instance is
 10926  	// part of a DB cluster, this can be a different port than the DB cluster port.
 10927  	DbInstancePort *int64 `type:"integer"`
 10928  
 10929  	// The Amazon Region-unique, immutable identifier for the DB instance. This
 10930  	// identifier is found in Amazon CloudTrail log entries whenever the Amazon
 10931  	// KMS key for the DB instance is accessed.
 10932  	DbiResourceId *string `type:"string"`
 10933  
 10934  	// Indicates whether or not the DB instance has deletion protection enabled.
 10935  	// The instance can't be deleted when deletion protection is enabled. See Deleting
 10936  	// a DB Instance (https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html).
 10937  	DeletionProtection *bool `type:"boolean"`
 10938  
 10939  	// Not supported
 10940  	DomainMemberships []*DomainMembership `locationNameList:"DomainMembership" type:"list"`
 10941  
 10942  	// A list of log types that this DB instance is configured to export to CloudWatch
 10943  	// Logs.
 10944  	EnabledCloudwatchLogsExports []*string `type:"list"`
 10945  
 10946  	// Specifies the connection endpoint.
 10947  	Endpoint *Endpoint `type:"structure"`
 10948  
 10949  	// Provides the name of the database engine to be used for this DB instance.
 10950  	Engine *string `type:"string"`
 10951  
 10952  	// Indicates the database engine version.
 10953  	EngineVersion *string `type:"string"`
 10954  
 10955  	// The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that
 10956  	// receives the Enhanced Monitoring metrics data for the DB instance.
 10957  	EnhancedMonitoringResourceArn *string `type:"string"`
 10958  
 10959  	// True if Amazon Identity and Access Management (IAM) authentication is enabled,
 10960  	// and otherwise false.
 10961  	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
 10962  
 10963  	// Provides the date and time the DB instance was created.
 10964  	InstanceCreateTime *time.Time `type:"timestamp"`
 10965  
 10966  	// Specifies the Provisioned IOPS (I/O operations per second) value.
 10967  	Iops *int64 `type:"integer"`
 10968  
 10969  	// Not supported: The encryption for DB instances is managed by the DB cluster.
 10970  	KmsKeyId *string `type:"string"`
 10971  
 10972  	// Specifies the latest time to which a database can be restored with point-in-time
 10973  	// restore.
 10974  	LatestRestorableTime *time.Time `type:"timestamp"`
 10975  
 10976  	// License model information for this DB instance.
 10977  	LicenseModel *string `type:"string"`
 10978  
 10979  	// Not supported by Neptune.
 10980  	MasterUsername *string `type:"string"`
 10981  
 10982  	// The interval, in seconds, between points when Enhanced Monitoring metrics
 10983  	// are collected for the DB instance.
 10984  	MonitoringInterval *int64 `type:"integer"`
 10985  
 10986  	// The ARN for the IAM role that permits Neptune to send Enhanced Monitoring
 10987  	// metrics to Amazon CloudWatch Logs.
 10988  	MonitoringRoleArn *string `type:"string"`
 10989  
 10990  	// Specifies if the DB instance is a Multi-AZ deployment.
 10991  	MultiAZ *bool `type:"boolean"`
 10992  
 10993  	// (Not supported by Neptune)
 10994  	OptionGroupMemberships []*OptionGroupMembership `locationNameList:"OptionGroupMembership" type:"list"`
 10995  
 10996  	// Specifies that changes to the DB instance are pending. This element is only
 10997  	// included when changes are pending. Specific changes are identified by subelements.
 10998  	PendingModifiedValues *PendingModifiedValues `type:"structure"`
 10999  
 11000  	// (Not supported by Neptune)
 11001  	PerformanceInsightsEnabled *bool `type:"boolean"`
 11002  
 11003  	// (Not supported by Neptune)
 11004  	PerformanceInsightsKMSKeyId *string `type:"string"`
 11005  
 11006  	// Specifies the daily time range during which automated backups are created
 11007  	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
 11008  	PreferredBackupWindow *string `type:"string"`
 11009  
 11010  	// Specifies the weekly time range during which system maintenance can occur,
 11011  	// in Universal Coordinated Time (UTC).
 11012  	PreferredMaintenanceWindow *string `type:"string"`
 11013  
 11014  	// A value that specifies the order in which a Read Replica is promoted to the
 11015  	// primary instance after a failure of the existing primary instance.
 11016  	PromotionTier *int64 `type:"integer"`
 11017  
 11018  	// This flag should no longer be used.
 11019  	//
 11020  	// Deprecated: PubliclyAccessible has been deprecated
 11021  	PubliclyAccessible *bool `deprecated:"true" type:"boolean"`
 11022  
 11023  	// Contains one or more identifiers of DB clusters that are Read Replicas of
 11024  	// this DB instance.
 11025  	ReadReplicaDBClusterIdentifiers []*string `locationNameList:"ReadReplicaDBClusterIdentifier" type:"list"`
 11026  
 11027  	// Contains one or more identifiers of the Read Replicas associated with this
 11028  	// DB instance.
 11029  	ReadReplicaDBInstanceIdentifiers []*string `locationNameList:"ReadReplicaDBInstanceIdentifier" type:"list"`
 11030  
 11031  	// Contains the identifier of the source DB instance if this DB instance is
 11032  	// a Read Replica.
 11033  	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
 11034  
 11035  	// If present, specifies the name of the secondary Availability Zone for a DB
 11036  	// instance with multi-AZ support.
 11037  	SecondaryAvailabilityZone *string `type:"string"`
 11038  
 11039  	// The status of a Read Replica. If the instance is not a Read Replica, this
 11040  	// is blank.
 11041  	StatusInfos []*DBInstanceStatusInfo `locationNameList:"DBInstanceStatusInfo" type:"list"`
 11042  
 11043  	// Not supported: The encryption for DB instances is managed by the DB cluster.
 11044  	StorageEncrypted *bool `type:"boolean"`
 11045  
 11046  	// Specifies the storage type associated with DB instance.
 11047  	StorageType *string `type:"string"`
 11048  
 11049  	// The ARN from the key store with which the instance is associated for TDE
 11050  	// encryption.
 11051  	TdeCredentialArn *string `type:"string"`
 11052  
 11053  	// Not supported.
 11054  	Timezone *string `type:"string"`
 11055  
 11056  	// Provides a list of VPC security group elements that the DB instance belongs
 11057  	// to.
 11058  	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
 11059  }
 11060  
 11061  // String returns the string representation.
 11062  //
 11063  // API parameter values that are decorated as "sensitive" in the API will not
 11064  // be included in the string output. The member name will be present, but the
 11065  // value will be replaced with "sensitive".
 11066  func (s DBInstance) String() string {
 11067  	return awsutil.Prettify(s)
 11068  }
 11069  
 11070  // GoString returns the string representation.
 11071  //
 11072  // API parameter values that are decorated as "sensitive" in the API will not
 11073  // be included in the string output. The member name will be present, but the
 11074  // value will be replaced with "sensitive".
 11075  func (s DBInstance) GoString() string {
 11076  	return s.String()
 11077  }
 11078  
 11079  // SetAllocatedStorage sets the AllocatedStorage field's value.
 11080  func (s *DBInstance) SetAllocatedStorage(v int64) *DBInstance {
 11081  	s.AllocatedStorage = &v
 11082  	return s
 11083  }
 11084  
 11085  // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
 11086  func (s *DBInstance) SetAutoMinorVersionUpgrade(v bool) *DBInstance {
 11087  	s.AutoMinorVersionUpgrade = &v
 11088  	return s
 11089  }
 11090  
 11091  // SetAvailabilityZone sets the AvailabilityZone field's value.
 11092  func (s *DBInstance) SetAvailabilityZone(v string) *DBInstance {
 11093  	s.AvailabilityZone = &v
 11094  	return s
 11095  }
 11096  
 11097  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 11098  func (s *DBInstance) SetBackupRetentionPeriod(v int64) *DBInstance {
 11099  	s.BackupRetentionPeriod = &v
 11100  	return s
 11101  }
 11102  
 11103  // SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
 11104  func (s *DBInstance) SetCACertificateIdentifier(v string) *DBInstance {
 11105  	s.CACertificateIdentifier = &v
 11106  	return s
 11107  }
 11108  
 11109  // SetCharacterSetName sets the CharacterSetName field's value.
 11110  func (s *DBInstance) SetCharacterSetName(v string) *DBInstance {
 11111  	s.CharacterSetName = &v
 11112  	return s
 11113  }
 11114  
 11115  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 11116  func (s *DBInstance) SetCopyTagsToSnapshot(v bool) *DBInstance {
 11117  	s.CopyTagsToSnapshot = &v
 11118  	return s
 11119  }
 11120  
 11121  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 11122  func (s *DBInstance) SetDBClusterIdentifier(v string) *DBInstance {
 11123  	s.DBClusterIdentifier = &v
 11124  	return s
 11125  }
 11126  
 11127  // SetDBInstanceArn sets the DBInstanceArn field's value.
 11128  func (s *DBInstance) SetDBInstanceArn(v string) *DBInstance {
 11129  	s.DBInstanceArn = &v
 11130  	return s
 11131  }
 11132  
 11133  // SetDBInstanceClass sets the DBInstanceClass field's value.
 11134  func (s *DBInstance) SetDBInstanceClass(v string) *DBInstance {
 11135  	s.DBInstanceClass = &v
 11136  	return s
 11137  }
 11138  
 11139  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 11140  func (s *DBInstance) SetDBInstanceIdentifier(v string) *DBInstance {
 11141  	s.DBInstanceIdentifier = &v
 11142  	return s
 11143  }
 11144  
 11145  // SetDBInstanceStatus sets the DBInstanceStatus field's value.
 11146  func (s *DBInstance) SetDBInstanceStatus(v string) *DBInstance {
 11147  	s.DBInstanceStatus = &v
 11148  	return s
 11149  }
 11150  
 11151  // SetDBName sets the DBName field's value.
 11152  func (s *DBInstance) SetDBName(v string) *DBInstance {
 11153  	s.DBName = &v
 11154  	return s
 11155  }
 11156  
 11157  // SetDBParameterGroups sets the DBParameterGroups field's value.
 11158  func (s *DBInstance) SetDBParameterGroups(v []*DBParameterGroupStatus) *DBInstance {
 11159  	s.DBParameterGroups = v
 11160  	return s
 11161  }
 11162  
 11163  // SetDBSecurityGroups sets the DBSecurityGroups field's value.
 11164  func (s *DBInstance) SetDBSecurityGroups(v []*DBSecurityGroupMembership) *DBInstance {
 11165  	s.DBSecurityGroups = v
 11166  	return s
 11167  }
 11168  
 11169  // SetDBSubnetGroup sets the DBSubnetGroup field's value.
 11170  func (s *DBInstance) SetDBSubnetGroup(v *DBSubnetGroup) *DBInstance {
 11171  	s.DBSubnetGroup = v
 11172  	return s
 11173  }
 11174  
 11175  // SetDbInstancePort sets the DbInstancePort field's value.
 11176  func (s *DBInstance) SetDbInstancePort(v int64) *DBInstance {
 11177  	s.DbInstancePort = &v
 11178  	return s
 11179  }
 11180  
 11181  // SetDbiResourceId sets the DbiResourceId field's value.
 11182  func (s *DBInstance) SetDbiResourceId(v string) *DBInstance {
 11183  	s.DbiResourceId = &v
 11184  	return s
 11185  }
 11186  
 11187  // SetDeletionProtection sets the DeletionProtection field's value.
 11188  func (s *DBInstance) SetDeletionProtection(v bool) *DBInstance {
 11189  	s.DeletionProtection = &v
 11190  	return s
 11191  }
 11192  
 11193  // SetDomainMemberships sets the DomainMemberships field's value.
 11194  func (s *DBInstance) SetDomainMemberships(v []*DomainMembership) *DBInstance {
 11195  	s.DomainMemberships = v
 11196  	return s
 11197  }
 11198  
 11199  // SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
 11200  func (s *DBInstance) SetEnabledCloudwatchLogsExports(v []*string) *DBInstance {
 11201  	s.EnabledCloudwatchLogsExports = v
 11202  	return s
 11203  }
 11204  
 11205  // SetEndpoint sets the Endpoint field's value.
 11206  func (s *DBInstance) SetEndpoint(v *Endpoint) *DBInstance {
 11207  	s.Endpoint = v
 11208  	return s
 11209  }
 11210  
 11211  // SetEngine sets the Engine field's value.
 11212  func (s *DBInstance) SetEngine(v string) *DBInstance {
 11213  	s.Engine = &v
 11214  	return s
 11215  }
 11216  
 11217  // SetEngineVersion sets the EngineVersion field's value.
 11218  func (s *DBInstance) SetEngineVersion(v string) *DBInstance {
 11219  	s.EngineVersion = &v
 11220  	return s
 11221  }
 11222  
 11223  // SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
 11224  func (s *DBInstance) SetEnhancedMonitoringResourceArn(v string) *DBInstance {
 11225  	s.EnhancedMonitoringResourceArn = &v
 11226  	return s
 11227  }
 11228  
 11229  // SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
 11230  func (s *DBInstance) SetIAMDatabaseAuthenticationEnabled(v bool) *DBInstance {
 11231  	s.IAMDatabaseAuthenticationEnabled = &v
 11232  	return s
 11233  }
 11234  
 11235  // SetInstanceCreateTime sets the InstanceCreateTime field's value.
 11236  func (s *DBInstance) SetInstanceCreateTime(v time.Time) *DBInstance {
 11237  	s.InstanceCreateTime = &v
 11238  	return s
 11239  }
 11240  
 11241  // SetIops sets the Iops field's value.
 11242  func (s *DBInstance) SetIops(v int64) *DBInstance {
 11243  	s.Iops = &v
 11244  	return s
 11245  }
 11246  
 11247  // SetKmsKeyId sets the KmsKeyId field's value.
 11248  func (s *DBInstance) SetKmsKeyId(v string) *DBInstance {
 11249  	s.KmsKeyId = &v
 11250  	return s
 11251  }
 11252  
 11253  // SetLatestRestorableTime sets the LatestRestorableTime field's value.
 11254  func (s *DBInstance) SetLatestRestorableTime(v time.Time) *DBInstance {
 11255  	s.LatestRestorableTime = &v
 11256  	return s
 11257  }
 11258  
 11259  // SetLicenseModel sets the LicenseModel field's value.
 11260  func (s *DBInstance) SetLicenseModel(v string) *DBInstance {
 11261  	s.LicenseModel = &v
 11262  	return s
 11263  }
 11264  
 11265  // SetMasterUsername sets the MasterUsername field's value.
 11266  func (s *DBInstance) SetMasterUsername(v string) *DBInstance {
 11267  	s.MasterUsername = &v
 11268  	return s
 11269  }
 11270  
 11271  // SetMonitoringInterval sets the MonitoringInterval field's value.
 11272  func (s *DBInstance) SetMonitoringInterval(v int64) *DBInstance {
 11273  	s.MonitoringInterval = &v
 11274  	return s
 11275  }
 11276  
 11277  // SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
 11278  func (s *DBInstance) SetMonitoringRoleArn(v string) *DBInstance {
 11279  	s.MonitoringRoleArn = &v
 11280  	return s
 11281  }
 11282  
 11283  // SetMultiAZ sets the MultiAZ field's value.
 11284  func (s *DBInstance) SetMultiAZ(v bool) *DBInstance {
 11285  	s.MultiAZ = &v
 11286  	return s
 11287  }
 11288  
 11289  // SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
 11290  func (s *DBInstance) SetOptionGroupMemberships(v []*OptionGroupMembership) *DBInstance {
 11291  	s.OptionGroupMemberships = v
 11292  	return s
 11293  }
 11294  
 11295  // SetPendingModifiedValues sets the PendingModifiedValues field's value.
 11296  func (s *DBInstance) SetPendingModifiedValues(v *PendingModifiedValues) *DBInstance {
 11297  	s.PendingModifiedValues = v
 11298  	return s
 11299  }
 11300  
 11301  // SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
 11302  func (s *DBInstance) SetPerformanceInsightsEnabled(v bool) *DBInstance {
 11303  	s.PerformanceInsightsEnabled = &v
 11304  	return s
 11305  }
 11306  
 11307  // SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
 11308  func (s *DBInstance) SetPerformanceInsightsKMSKeyId(v string) *DBInstance {
 11309  	s.PerformanceInsightsKMSKeyId = &v
 11310  	return s
 11311  }
 11312  
 11313  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
 11314  func (s *DBInstance) SetPreferredBackupWindow(v string) *DBInstance {
 11315  	s.PreferredBackupWindow = &v
 11316  	return s
 11317  }
 11318  
 11319  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 11320  func (s *DBInstance) SetPreferredMaintenanceWindow(v string) *DBInstance {
 11321  	s.PreferredMaintenanceWindow = &v
 11322  	return s
 11323  }
 11324  
 11325  // SetPromotionTier sets the PromotionTier field's value.
 11326  func (s *DBInstance) SetPromotionTier(v int64) *DBInstance {
 11327  	s.PromotionTier = &v
 11328  	return s
 11329  }
 11330  
 11331  // SetPubliclyAccessible sets the PubliclyAccessible field's value.
 11332  func (s *DBInstance) SetPubliclyAccessible(v bool) *DBInstance {
 11333  	s.PubliclyAccessible = &v
 11334  	return s
 11335  }
 11336  
 11337  // SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
 11338  func (s *DBInstance) SetReadReplicaDBClusterIdentifiers(v []*string) *DBInstance {
 11339  	s.ReadReplicaDBClusterIdentifiers = v
 11340  	return s
 11341  }
 11342  
 11343  // SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
 11344  func (s *DBInstance) SetReadReplicaDBInstanceIdentifiers(v []*string) *DBInstance {
 11345  	s.ReadReplicaDBInstanceIdentifiers = v
 11346  	return s
 11347  }
 11348  
 11349  // SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
 11350  func (s *DBInstance) SetReadReplicaSourceDBInstanceIdentifier(v string) *DBInstance {
 11351  	s.ReadReplicaSourceDBInstanceIdentifier = &v
 11352  	return s
 11353  }
 11354  
 11355  // SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
 11356  func (s *DBInstance) SetSecondaryAvailabilityZone(v string) *DBInstance {
 11357  	s.SecondaryAvailabilityZone = &v
 11358  	return s
 11359  }
 11360  
 11361  // SetStatusInfos sets the StatusInfos field's value.
 11362  func (s *DBInstance) SetStatusInfos(v []*DBInstanceStatusInfo) *DBInstance {
 11363  	s.StatusInfos = v
 11364  	return s
 11365  }
 11366  
 11367  // SetStorageEncrypted sets the StorageEncrypted field's value.
 11368  func (s *DBInstance) SetStorageEncrypted(v bool) *DBInstance {
 11369  	s.StorageEncrypted = &v
 11370  	return s
 11371  }
 11372  
 11373  // SetStorageType sets the StorageType field's value.
 11374  func (s *DBInstance) SetStorageType(v string) *DBInstance {
 11375  	s.StorageType = &v
 11376  	return s
 11377  }
 11378  
 11379  // SetTdeCredentialArn sets the TdeCredentialArn field's value.
 11380  func (s *DBInstance) SetTdeCredentialArn(v string) *DBInstance {
 11381  	s.TdeCredentialArn = &v
 11382  	return s
 11383  }
 11384  
 11385  // SetTimezone sets the Timezone field's value.
 11386  func (s *DBInstance) SetTimezone(v string) *DBInstance {
 11387  	s.Timezone = &v
 11388  	return s
 11389  }
 11390  
 11391  // SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
 11392  func (s *DBInstance) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBInstance {
 11393  	s.VpcSecurityGroups = v
 11394  	return s
 11395  }
 11396  
 11397  // Provides a list of status information for a DB instance.
 11398  type DBInstanceStatusInfo struct {
 11399  	_ struct{} `type:"structure"`
 11400  
 11401  	// Details of the error if there is an error for the instance. If the instance
 11402  	// is not in an error state, this value is blank.
 11403  	Message *string `type:"string"`
 11404  
 11405  	// Boolean value that is true if the instance is operating normally, or false
 11406  	// if the instance is in an error state.
 11407  	Normal *bool `type:"boolean"`
 11408  
 11409  	// Status of the DB instance. For a StatusType of read replica, the values can
 11410  	// be replicating, error, stopped, or terminated.
 11411  	Status *string `type:"string"`
 11412  
 11413  	// This value is currently "read replication."
 11414  	StatusType *string `type:"string"`
 11415  }
 11416  
 11417  // String returns the string representation.
 11418  //
 11419  // API parameter values that are decorated as "sensitive" in the API will not
 11420  // be included in the string output. The member name will be present, but the
 11421  // value will be replaced with "sensitive".
 11422  func (s DBInstanceStatusInfo) String() string {
 11423  	return awsutil.Prettify(s)
 11424  }
 11425  
 11426  // GoString returns the string representation.
 11427  //
 11428  // API parameter values that are decorated as "sensitive" in the API will not
 11429  // be included in the string output. The member name will be present, but the
 11430  // value will be replaced with "sensitive".
 11431  func (s DBInstanceStatusInfo) GoString() string {
 11432  	return s.String()
 11433  }
 11434  
 11435  // SetMessage sets the Message field's value.
 11436  func (s *DBInstanceStatusInfo) SetMessage(v string) *DBInstanceStatusInfo {
 11437  	s.Message = &v
 11438  	return s
 11439  }
 11440  
 11441  // SetNormal sets the Normal field's value.
 11442  func (s *DBInstanceStatusInfo) SetNormal(v bool) *DBInstanceStatusInfo {
 11443  	s.Normal = &v
 11444  	return s
 11445  }
 11446  
 11447  // SetStatus sets the Status field's value.
 11448  func (s *DBInstanceStatusInfo) SetStatus(v string) *DBInstanceStatusInfo {
 11449  	s.Status = &v
 11450  	return s
 11451  }
 11452  
 11453  // SetStatusType sets the StatusType field's value.
 11454  func (s *DBInstanceStatusInfo) SetStatusType(v string) *DBInstanceStatusInfo {
 11455  	s.StatusType = &v
 11456  	return s
 11457  }
 11458  
 11459  // Contains the details of an Amazon Neptune DB parameter group.
 11460  //
 11461  // This data type is used as a response element in the DescribeDBParameterGroups
 11462  // action.
 11463  type DBParameterGroup struct {
 11464  	_ struct{} `type:"structure"`
 11465  
 11466  	// The Amazon Resource Name (ARN) for the DB parameter group.
 11467  	DBParameterGroupArn *string `type:"string"`
 11468  
 11469  	// Provides the name of the DB parameter group family that this DB parameter
 11470  	// group is compatible with.
 11471  	DBParameterGroupFamily *string `type:"string"`
 11472  
 11473  	// Provides the name of the DB parameter group.
 11474  	DBParameterGroupName *string `type:"string"`
 11475  
 11476  	// Provides the customer-specified description for this DB parameter group.
 11477  	Description *string `type:"string"`
 11478  }
 11479  
 11480  // String returns the string representation.
 11481  //
 11482  // API parameter values that are decorated as "sensitive" in the API will not
 11483  // be included in the string output. The member name will be present, but the
 11484  // value will be replaced with "sensitive".
 11485  func (s DBParameterGroup) String() string {
 11486  	return awsutil.Prettify(s)
 11487  }
 11488  
 11489  // GoString returns the string representation.
 11490  //
 11491  // API parameter values that are decorated as "sensitive" in the API will not
 11492  // be included in the string output. The member name will be present, but the
 11493  // value will be replaced with "sensitive".
 11494  func (s DBParameterGroup) GoString() string {
 11495  	return s.String()
 11496  }
 11497  
 11498  // SetDBParameterGroupArn sets the DBParameterGroupArn field's value.
 11499  func (s *DBParameterGroup) SetDBParameterGroupArn(v string) *DBParameterGroup {
 11500  	s.DBParameterGroupArn = &v
 11501  	return s
 11502  }
 11503  
 11504  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 11505  func (s *DBParameterGroup) SetDBParameterGroupFamily(v string) *DBParameterGroup {
 11506  	s.DBParameterGroupFamily = &v
 11507  	return s
 11508  }
 11509  
 11510  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 11511  func (s *DBParameterGroup) SetDBParameterGroupName(v string) *DBParameterGroup {
 11512  	s.DBParameterGroupName = &v
 11513  	return s
 11514  }
 11515  
 11516  // SetDescription sets the Description field's value.
 11517  func (s *DBParameterGroup) SetDescription(v string) *DBParameterGroup {
 11518  	s.Description = &v
 11519  	return s
 11520  }
 11521  
 11522  // The status of the DB parameter group.
 11523  //
 11524  // This data type is used as a response element in the following actions:
 11525  //
 11526  //    * CreateDBInstance
 11527  //
 11528  //    * DeleteDBInstance
 11529  //
 11530  //    * ModifyDBInstance
 11531  //
 11532  //    * RebootDBInstance
 11533  type DBParameterGroupStatus struct {
 11534  	_ struct{} `type:"structure"`
 11535  
 11536  	// The name of the DP parameter group.
 11537  	DBParameterGroupName *string `type:"string"`
 11538  
 11539  	// The status of parameter updates.
 11540  	ParameterApplyStatus *string `type:"string"`
 11541  }
 11542  
 11543  // String returns the string representation.
 11544  //
 11545  // API parameter values that are decorated as "sensitive" in the API will not
 11546  // be included in the string output. The member name will be present, but the
 11547  // value will be replaced with "sensitive".
 11548  func (s DBParameterGroupStatus) String() string {
 11549  	return awsutil.Prettify(s)
 11550  }
 11551  
 11552  // GoString returns the string representation.
 11553  //
 11554  // API parameter values that are decorated as "sensitive" in the API will not
 11555  // be included in the string output. The member name will be present, but the
 11556  // value will be replaced with "sensitive".
 11557  func (s DBParameterGroupStatus) GoString() string {
 11558  	return s.String()
 11559  }
 11560  
 11561  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 11562  func (s *DBParameterGroupStatus) SetDBParameterGroupName(v string) *DBParameterGroupStatus {
 11563  	s.DBParameterGroupName = &v
 11564  	return s
 11565  }
 11566  
 11567  // SetParameterApplyStatus sets the ParameterApplyStatus field's value.
 11568  func (s *DBParameterGroupStatus) SetParameterApplyStatus(v string) *DBParameterGroupStatus {
 11569  	s.ParameterApplyStatus = &v
 11570  	return s
 11571  }
 11572  
 11573  // Specifies membership in a designated DB security group.
 11574  type DBSecurityGroupMembership struct {
 11575  	_ struct{} `type:"structure"`
 11576  
 11577  	// The name of the DB security group.
 11578  	DBSecurityGroupName *string `type:"string"`
 11579  
 11580  	// The status of the DB security group.
 11581  	Status *string `type:"string"`
 11582  }
 11583  
 11584  // String returns the string representation.
 11585  //
 11586  // API parameter values that are decorated as "sensitive" in the API will not
 11587  // be included in the string output. The member name will be present, but the
 11588  // value will be replaced with "sensitive".
 11589  func (s DBSecurityGroupMembership) String() string {
 11590  	return awsutil.Prettify(s)
 11591  }
 11592  
 11593  // GoString returns the string representation.
 11594  //
 11595  // API parameter values that are decorated as "sensitive" in the API will not
 11596  // be included in the string output. The member name will be present, but the
 11597  // value will be replaced with "sensitive".
 11598  func (s DBSecurityGroupMembership) GoString() string {
 11599  	return s.String()
 11600  }
 11601  
 11602  // SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
 11603  func (s *DBSecurityGroupMembership) SetDBSecurityGroupName(v string) *DBSecurityGroupMembership {
 11604  	s.DBSecurityGroupName = &v
 11605  	return s
 11606  }
 11607  
 11608  // SetStatus sets the Status field's value.
 11609  func (s *DBSecurityGroupMembership) SetStatus(v string) *DBSecurityGroupMembership {
 11610  	s.Status = &v
 11611  	return s
 11612  }
 11613  
 11614  // Contains the details of an Amazon Neptune DB subnet group.
 11615  //
 11616  // This data type is used as a response element in the DescribeDBSubnetGroups
 11617  // action.
 11618  type DBSubnetGroup struct {
 11619  	_ struct{} `type:"structure"`
 11620  
 11621  	// The Amazon Resource Name (ARN) for the DB subnet group.
 11622  	DBSubnetGroupArn *string `type:"string"`
 11623  
 11624  	// Provides the description of the DB subnet group.
 11625  	DBSubnetGroupDescription *string `type:"string"`
 11626  
 11627  	// The name of the DB subnet group.
 11628  	DBSubnetGroupName *string `type:"string"`
 11629  
 11630  	// Provides the status of the DB subnet group.
 11631  	SubnetGroupStatus *string `type:"string"`
 11632  
 11633  	// Contains a list of Subnet elements.
 11634  	Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
 11635  
 11636  	// Provides the VpcId of the DB subnet group.
 11637  	VpcId *string `type:"string"`
 11638  }
 11639  
 11640  // String returns the string representation.
 11641  //
 11642  // API parameter values that are decorated as "sensitive" in the API will not
 11643  // be included in the string output. The member name will be present, but the
 11644  // value will be replaced with "sensitive".
 11645  func (s DBSubnetGroup) String() string {
 11646  	return awsutil.Prettify(s)
 11647  }
 11648  
 11649  // GoString returns the string representation.
 11650  //
 11651  // API parameter values that are decorated as "sensitive" in the API will not
 11652  // be included in the string output. The member name will be present, but the
 11653  // value will be replaced with "sensitive".
 11654  func (s DBSubnetGroup) GoString() string {
 11655  	return s.String()
 11656  }
 11657  
 11658  // SetDBSubnetGroupArn sets the DBSubnetGroupArn field's value.
 11659  func (s *DBSubnetGroup) SetDBSubnetGroupArn(v string) *DBSubnetGroup {
 11660  	s.DBSubnetGroupArn = &v
 11661  	return s
 11662  }
 11663  
 11664  // SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
 11665  func (s *DBSubnetGroup) SetDBSubnetGroupDescription(v string) *DBSubnetGroup {
 11666  	s.DBSubnetGroupDescription = &v
 11667  	return s
 11668  }
 11669  
 11670  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 11671  func (s *DBSubnetGroup) SetDBSubnetGroupName(v string) *DBSubnetGroup {
 11672  	s.DBSubnetGroupName = &v
 11673  	return s
 11674  }
 11675  
 11676  // SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
 11677  func (s *DBSubnetGroup) SetSubnetGroupStatus(v string) *DBSubnetGroup {
 11678  	s.SubnetGroupStatus = &v
 11679  	return s
 11680  }
 11681  
 11682  // SetSubnets sets the Subnets field's value.
 11683  func (s *DBSubnetGroup) SetSubnets(v []*Subnet) *DBSubnetGroup {
 11684  	s.Subnets = v
 11685  	return s
 11686  }
 11687  
 11688  // SetVpcId sets the VpcId field's value.
 11689  func (s *DBSubnetGroup) SetVpcId(v string) *DBSubnetGroup {
 11690  	s.VpcId = &v
 11691  	return s
 11692  }
 11693  
 11694  type DeleteDBClusterEndpointInput struct {
 11695  	_ struct{} `type:"structure"`
 11696  
 11697  	// The identifier associated with the custom endpoint. This parameter is stored
 11698  	// as a lowercase string.
 11699  	//
 11700  	// DBClusterEndpointIdentifier is a required field
 11701  	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
 11702  }
 11703  
 11704  // String returns the string representation.
 11705  //
 11706  // API parameter values that are decorated as "sensitive" in the API will not
 11707  // be included in the string output. The member name will be present, but the
 11708  // value will be replaced with "sensitive".
 11709  func (s DeleteDBClusterEndpointInput) String() string {
 11710  	return awsutil.Prettify(s)
 11711  }
 11712  
 11713  // GoString returns the string representation.
 11714  //
 11715  // API parameter values that are decorated as "sensitive" in the API will not
 11716  // be included in the string output. The member name will be present, but the
 11717  // value will be replaced with "sensitive".
 11718  func (s DeleteDBClusterEndpointInput) GoString() string {
 11719  	return s.String()
 11720  }
 11721  
 11722  // Validate inspects the fields of the type to determine if they are valid.
 11723  func (s *DeleteDBClusterEndpointInput) Validate() error {
 11724  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterEndpointInput"}
 11725  	if s.DBClusterEndpointIdentifier == nil {
 11726  		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
 11727  	}
 11728  
 11729  	if invalidParams.Len() > 0 {
 11730  		return invalidParams
 11731  	}
 11732  	return nil
 11733  }
 11734  
 11735  // SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
 11736  func (s *DeleteDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *DeleteDBClusterEndpointInput {
 11737  	s.DBClusterEndpointIdentifier = &v
 11738  	return s
 11739  }
 11740  
 11741  // This data type represents the information you need to connect to an Amazon
 11742  // Neptune DB cluster. This data type is used as a response element in the following
 11743  // actions:
 11744  //
 11745  //    * CreateDBClusterEndpoint
 11746  //
 11747  //    * DescribeDBClusterEndpoints
 11748  //
 11749  //    * ModifyDBClusterEndpoint
 11750  //
 11751  //    * DeleteDBClusterEndpoint
 11752  //
 11753  // For the data structure that represents Amazon RDS DB instance endpoints,
 11754  // see Endpoint.
 11755  type DeleteDBClusterEndpointOutput struct {
 11756  	_ struct{} `type:"structure"`
 11757  
 11758  	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
 11759  	CustomEndpointType *string `type:"string"`
 11760  
 11761  	// The Amazon Resource Name (ARN) for the endpoint.
 11762  	DBClusterEndpointArn *string `type:"string"`
 11763  
 11764  	// The identifier associated with the endpoint. This parameter is stored as
 11765  	// a lowercase string.
 11766  	DBClusterEndpointIdentifier *string `type:"string"`
 11767  
 11768  	// A unique system-generated identifier for an endpoint. It remains the same
 11769  	// for the whole life of the endpoint.
 11770  	DBClusterEndpointResourceIdentifier *string `type:"string"`
 11771  
 11772  	// The DB cluster identifier of the DB cluster associated with the endpoint.
 11773  	// This parameter is stored as a lowercase string.
 11774  	DBClusterIdentifier *string `type:"string"`
 11775  
 11776  	// The DNS address of the endpoint.
 11777  	Endpoint *string `type:"string"`
 11778  
 11779  	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
 11780  	EndpointType *string `type:"string"`
 11781  
 11782  	// List of DB instance identifiers that aren't part of the custom endpoint group.
 11783  	// All other eligible instances are reachable through the custom endpoint. Only
 11784  	// relevant if the list of static members is empty.
 11785  	ExcludedMembers []*string `type:"list"`
 11786  
 11787  	// List of DB instance identifiers that are part of the custom endpoint group.
 11788  	StaticMembers []*string `type:"list"`
 11789  
 11790  	// The current status of the endpoint. One of: creating, available, deleting,
 11791  	// inactive, modifying. The inactive state applies to an endpoint that cannot
 11792  	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
 11793  	// secondary cluster in a global database.
 11794  	Status *string `type:"string"`
 11795  }
 11796  
 11797  // String returns the string representation.
 11798  //
 11799  // API parameter values that are decorated as "sensitive" in the API will not
 11800  // be included in the string output. The member name will be present, but the
 11801  // value will be replaced with "sensitive".
 11802  func (s DeleteDBClusterEndpointOutput) String() string {
 11803  	return awsutil.Prettify(s)
 11804  }
 11805  
 11806  // GoString returns the string representation.
 11807  //
 11808  // API parameter values that are decorated as "sensitive" in the API will not
 11809  // be included in the string output. The member name will be present, but the
 11810  // value will be replaced with "sensitive".
 11811  func (s DeleteDBClusterEndpointOutput) GoString() string {
 11812  	return s.String()
 11813  }
 11814  
 11815  // SetCustomEndpointType sets the CustomEndpointType field's value.
 11816  func (s *DeleteDBClusterEndpointOutput) SetCustomEndpointType(v string) *DeleteDBClusterEndpointOutput {
 11817  	s.CustomEndpointType = &v
 11818  	return s
 11819  }
 11820  
 11821  // SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
 11822  func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *DeleteDBClusterEndpointOutput {
 11823  	s.DBClusterEndpointArn = &v
 11824  	return s
 11825  }
 11826  
 11827  // SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
 11828  func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *DeleteDBClusterEndpointOutput {
 11829  	s.DBClusterEndpointIdentifier = &v
 11830  	return s
 11831  }
 11832  
 11833  // SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
 11834  func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *DeleteDBClusterEndpointOutput {
 11835  	s.DBClusterEndpointResourceIdentifier = &v
 11836  	return s
 11837  }
 11838  
 11839  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 11840  func (s *DeleteDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *DeleteDBClusterEndpointOutput {
 11841  	s.DBClusterIdentifier = &v
 11842  	return s
 11843  }
 11844  
 11845  // SetEndpoint sets the Endpoint field's value.
 11846  func (s *DeleteDBClusterEndpointOutput) SetEndpoint(v string) *DeleteDBClusterEndpointOutput {
 11847  	s.Endpoint = &v
 11848  	return s
 11849  }
 11850  
 11851  // SetEndpointType sets the EndpointType field's value.
 11852  func (s *DeleteDBClusterEndpointOutput) SetEndpointType(v string) *DeleteDBClusterEndpointOutput {
 11853  	s.EndpointType = &v
 11854  	return s
 11855  }
 11856  
 11857  // SetExcludedMembers sets the ExcludedMembers field's value.
 11858  func (s *DeleteDBClusterEndpointOutput) SetExcludedMembers(v []*string) *DeleteDBClusterEndpointOutput {
 11859  	s.ExcludedMembers = v
 11860  	return s
 11861  }
 11862  
 11863  // SetStaticMembers sets the StaticMembers field's value.
 11864  func (s *DeleteDBClusterEndpointOutput) SetStaticMembers(v []*string) *DeleteDBClusterEndpointOutput {
 11865  	s.StaticMembers = v
 11866  	return s
 11867  }
 11868  
 11869  // SetStatus sets the Status field's value.
 11870  func (s *DeleteDBClusterEndpointOutput) SetStatus(v string) *DeleteDBClusterEndpointOutput {
 11871  	s.Status = &v
 11872  	return s
 11873  }
 11874  
 11875  type DeleteDBClusterInput struct {
 11876  	_ struct{} `type:"structure"`
 11877  
 11878  	// The DB cluster identifier for the DB cluster to be deleted. This parameter
 11879  	// isn't case-sensitive.
 11880  	//
 11881  	// Constraints:
 11882  	//
 11883  	//    * Must match an existing DBClusterIdentifier.
 11884  	//
 11885  	// DBClusterIdentifier is a required field
 11886  	DBClusterIdentifier *string `type:"string" required:"true"`
 11887  
 11888  	// The DB cluster snapshot identifier of the new DB cluster snapshot created
 11889  	// when SkipFinalSnapshot is set to false.
 11890  	//
 11891  	// Specifying this parameter and also setting the SkipFinalShapshot parameter
 11892  	// to true results in an error.
 11893  	//
 11894  	// Constraints:
 11895  	//
 11896  	//    * Must be 1 to 255 letters, numbers, or hyphens.
 11897  	//
 11898  	//    * First character must be a letter
 11899  	//
 11900  	//    * Cannot end with a hyphen or contain two consecutive hyphens
 11901  	FinalDBSnapshotIdentifier *string `type:"string"`
 11902  
 11903  	// Determines whether a final DB cluster snapshot is created before the DB cluster
 11904  	// is deleted. If true is specified, no DB cluster snapshot is created. If false
 11905  	// is specified, a DB cluster snapshot is created before the DB cluster is deleted.
 11906  	//
 11907  	// You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot
 11908  	// is false.
 11909  	//
 11910  	// Default: false
 11911  	SkipFinalSnapshot *bool `type:"boolean"`
 11912  }
 11913  
 11914  // String returns the string representation.
 11915  //
 11916  // API parameter values that are decorated as "sensitive" in the API will not
 11917  // be included in the string output. The member name will be present, but the
 11918  // value will be replaced with "sensitive".
 11919  func (s DeleteDBClusterInput) String() string {
 11920  	return awsutil.Prettify(s)
 11921  }
 11922  
 11923  // GoString returns the string representation.
 11924  //
 11925  // API parameter values that are decorated as "sensitive" in the API will not
 11926  // be included in the string output. The member name will be present, but the
 11927  // value will be replaced with "sensitive".
 11928  func (s DeleteDBClusterInput) GoString() string {
 11929  	return s.String()
 11930  }
 11931  
 11932  // Validate inspects the fields of the type to determine if they are valid.
 11933  func (s *DeleteDBClusterInput) Validate() error {
 11934  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterInput"}
 11935  	if s.DBClusterIdentifier == nil {
 11936  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 11937  	}
 11938  
 11939  	if invalidParams.Len() > 0 {
 11940  		return invalidParams
 11941  	}
 11942  	return nil
 11943  }
 11944  
 11945  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 11946  func (s *DeleteDBClusterInput) SetDBClusterIdentifier(v string) *DeleteDBClusterInput {
 11947  	s.DBClusterIdentifier = &v
 11948  	return s
 11949  }
 11950  
 11951  // SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
 11952  func (s *DeleteDBClusterInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBClusterInput {
 11953  	s.FinalDBSnapshotIdentifier = &v
 11954  	return s
 11955  }
 11956  
 11957  // SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
 11958  func (s *DeleteDBClusterInput) SetSkipFinalSnapshot(v bool) *DeleteDBClusterInput {
 11959  	s.SkipFinalSnapshot = &v
 11960  	return s
 11961  }
 11962  
 11963  type DeleteDBClusterOutput struct {
 11964  	_ struct{} `type:"structure"`
 11965  
 11966  	// Contains the details of an Amazon Neptune DB cluster.
 11967  	//
 11968  	// This data type is used as a response element in the DescribeDBClusters action.
 11969  	DBCluster *DBCluster `type:"structure"`
 11970  }
 11971  
 11972  // String returns the string representation.
 11973  //
 11974  // API parameter values that are decorated as "sensitive" in the API will not
 11975  // be included in the string output. The member name will be present, but the
 11976  // value will be replaced with "sensitive".
 11977  func (s DeleteDBClusterOutput) String() string {
 11978  	return awsutil.Prettify(s)
 11979  }
 11980  
 11981  // GoString returns the string representation.
 11982  //
 11983  // API parameter values that are decorated as "sensitive" in the API will not
 11984  // be included in the string output. The member name will be present, but the
 11985  // value will be replaced with "sensitive".
 11986  func (s DeleteDBClusterOutput) GoString() string {
 11987  	return s.String()
 11988  }
 11989  
 11990  // SetDBCluster sets the DBCluster field's value.
 11991  func (s *DeleteDBClusterOutput) SetDBCluster(v *DBCluster) *DeleteDBClusterOutput {
 11992  	s.DBCluster = v
 11993  	return s
 11994  }
 11995  
 11996  type DeleteDBClusterParameterGroupInput struct {
 11997  	_ struct{} `type:"structure"`
 11998  
 11999  	// The name of the DB cluster parameter group.
 12000  	//
 12001  	// Constraints:
 12002  	//
 12003  	//    * Must be the name of an existing DB cluster parameter group.
 12004  	//
 12005  	//    * You can't delete a default DB cluster parameter group.
 12006  	//
 12007  	//    * Cannot be associated with any DB clusters.
 12008  	//
 12009  	// DBClusterParameterGroupName is a required field
 12010  	DBClusterParameterGroupName *string `type:"string" required:"true"`
 12011  }
 12012  
 12013  // String returns the string representation.
 12014  //
 12015  // API parameter values that are decorated as "sensitive" in the API will not
 12016  // be included in the string output. The member name will be present, but the
 12017  // value will be replaced with "sensitive".
 12018  func (s DeleteDBClusterParameterGroupInput) String() string {
 12019  	return awsutil.Prettify(s)
 12020  }
 12021  
 12022  // GoString returns the string representation.
 12023  //
 12024  // API parameter values that are decorated as "sensitive" in the API will not
 12025  // be included in the string output. The member name will be present, but the
 12026  // value will be replaced with "sensitive".
 12027  func (s DeleteDBClusterParameterGroupInput) GoString() string {
 12028  	return s.String()
 12029  }
 12030  
 12031  // Validate inspects the fields of the type to determine if they are valid.
 12032  func (s *DeleteDBClusterParameterGroupInput) Validate() error {
 12033  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterParameterGroupInput"}
 12034  	if s.DBClusterParameterGroupName == nil {
 12035  		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
 12036  	}
 12037  
 12038  	if invalidParams.Len() > 0 {
 12039  		return invalidParams
 12040  	}
 12041  	return nil
 12042  }
 12043  
 12044  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 12045  func (s *DeleteDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *DeleteDBClusterParameterGroupInput {
 12046  	s.DBClusterParameterGroupName = &v
 12047  	return s
 12048  }
 12049  
 12050  type DeleteDBClusterParameterGroupOutput struct {
 12051  	_ struct{} `type:"structure"`
 12052  }
 12053  
 12054  // String returns the string representation.
 12055  //
 12056  // API parameter values that are decorated as "sensitive" in the API will not
 12057  // be included in the string output. The member name will be present, but the
 12058  // value will be replaced with "sensitive".
 12059  func (s DeleteDBClusterParameterGroupOutput) String() string {
 12060  	return awsutil.Prettify(s)
 12061  }
 12062  
 12063  // GoString returns the string representation.
 12064  //
 12065  // API parameter values that are decorated as "sensitive" in the API will not
 12066  // be included in the string output. The member name will be present, but the
 12067  // value will be replaced with "sensitive".
 12068  func (s DeleteDBClusterParameterGroupOutput) GoString() string {
 12069  	return s.String()
 12070  }
 12071  
 12072  type DeleteDBClusterSnapshotInput struct {
 12073  	_ struct{} `type:"structure"`
 12074  
 12075  	// The identifier of the DB cluster snapshot to delete.
 12076  	//
 12077  	// Constraints: Must be the name of an existing DB cluster snapshot in the available
 12078  	// state.
 12079  	//
 12080  	// DBClusterSnapshotIdentifier is a required field
 12081  	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
 12082  }
 12083  
 12084  // String returns the string representation.
 12085  //
 12086  // API parameter values that are decorated as "sensitive" in the API will not
 12087  // be included in the string output. The member name will be present, but the
 12088  // value will be replaced with "sensitive".
 12089  func (s DeleteDBClusterSnapshotInput) String() string {
 12090  	return awsutil.Prettify(s)
 12091  }
 12092  
 12093  // GoString returns the string representation.
 12094  //
 12095  // API parameter values that are decorated as "sensitive" in the API will not
 12096  // be included in the string output. The member name will be present, but the
 12097  // value will be replaced with "sensitive".
 12098  func (s DeleteDBClusterSnapshotInput) GoString() string {
 12099  	return s.String()
 12100  }
 12101  
 12102  // Validate inspects the fields of the type to determine if they are valid.
 12103  func (s *DeleteDBClusterSnapshotInput) Validate() error {
 12104  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterSnapshotInput"}
 12105  	if s.DBClusterSnapshotIdentifier == nil {
 12106  		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
 12107  	}
 12108  
 12109  	if invalidParams.Len() > 0 {
 12110  		return invalidParams
 12111  	}
 12112  	return nil
 12113  }
 12114  
 12115  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
 12116  func (s *DeleteDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *DeleteDBClusterSnapshotInput {
 12117  	s.DBClusterSnapshotIdentifier = &v
 12118  	return s
 12119  }
 12120  
 12121  type DeleteDBClusterSnapshotOutput struct {
 12122  	_ struct{} `type:"structure"`
 12123  
 12124  	// Contains the details for an Amazon Neptune DB cluster snapshot
 12125  	//
 12126  	// This data type is used as a response element in the DescribeDBClusterSnapshots
 12127  	// action.
 12128  	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
 12129  }
 12130  
 12131  // String returns the string representation.
 12132  //
 12133  // API parameter values that are decorated as "sensitive" in the API will not
 12134  // be included in the string output. The member name will be present, but the
 12135  // value will be replaced with "sensitive".
 12136  func (s DeleteDBClusterSnapshotOutput) String() string {
 12137  	return awsutil.Prettify(s)
 12138  }
 12139  
 12140  // GoString returns the string representation.
 12141  //
 12142  // API parameter values that are decorated as "sensitive" in the API will not
 12143  // be included in the string output. The member name will be present, but the
 12144  // value will be replaced with "sensitive".
 12145  func (s DeleteDBClusterSnapshotOutput) GoString() string {
 12146  	return s.String()
 12147  }
 12148  
 12149  // SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
 12150  func (s *DeleteDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *DeleteDBClusterSnapshotOutput {
 12151  	s.DBClusterSnapshot = v
 12152  	return s
 12153  }
 12154  
 12155  type DeleteDBInstanceInput struct {
 12156  	_ struct{} `type:"structure"`
 12157  
 12158  	// The DB instance identifier for the DB instance to be deleted. This parameter
 12159  	// isn't case-sensitive.
 12160  	//
 12161  	// Constraints:
 12162  	//
 12163  	//    * Must match the name of an existing DB instance.
 12164  	//
 12165  	// DBInstanceIdentifier is a required field
 12166  	DBInstanceIdentifier *string `type:"string" required:"true"`
 12167  
 12168  	// The DBSnapshotIdentifier of the new DBSnapshot created when SkipFinalSnapshot
 12169  	// is set to false.
 12170  	//
 12171  	// Specifying this parameter and also setting the SkipFinalShapshot parameter
 12172  	// to true results in an error.
 12173  	//
 12174  	// Constraints:
 12175  	//
 12176  	//    * Must be 1 to 255 letters or numbers.
 12177  	//
 12178  	//    * First character must be a letter
 12179  	//
 12180  	//    * Cannot end with a hyphen or contain two consecutive hyphens
 12181  	//
 12182  	//    * Cannot be specified when deleting a Read Replica.
 12183  	FinalDBSnapshotIdentifier *string `type:"string"`
 12184  
 12185  	// Determines whether a final DB snapshot is created before the DB instance
 12186  	// is deleted. If true is specified, no DBSnapshot is created. If false is specified,
 12187  	// a DB snapshot is created before the DB instance is deleted.
 12188  	//
 12189  	// Note that when a DB instance is in a failure state and has a status of 'failed',
 12190  	// 'incompatible-restore', or 'incompatible-network', it can only be deleted
 12191  	// when the SkipFinalSnapshot parameter is set to "true".
 12192  	//
 12193  	// Specify true when deleting a Read Replica.
 12194  	//
 12195  	// The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot
 12196  	// is false.
 12197  	//
 12198  	// Default: false
 12199  	SkipFinalSnapshot *bool `type:"boolean"`
 12200  }
 12201  
 12202  // String returns the string representation.
 12203  //
 12204  // API parameter values that are decorated as "sensitive" in the API will not
 12205  // be included in the string output. The member name will be present, but the
 12206  // value will be replaced with "sensitive".
 12207  func (s DeleteDBInstanceInput) String() string {
 12208  	return awsutil.Prettify(s)
 12209  }
 12210  
 12211  // GoString returns the string representation.
 12212  //
 12213  // API parameter values that are decorated as "sensitive" in the API will not
 12214  // be included in the string output. The member name will be present, but the
 12215  // value will be replaced with "sensitive".
 12216  func (s DeleteDBInstanceInput) GoString() string {
 12217  	return s.String()
 12218  }
 12219  
 12220  // Validate inspects the fields of the type to determine if they are valid.
 12221  func (s *DeleteDBInstanceInput) Validate() error {
 12222  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceInput"}
 12223  	if s.DBInstanceIdentifier == nil {
 12224  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 12225  	}
 12226  
 12227  	if invalidParams.Len() > 0 {
 12228  		return invalidParams
 12229  	}
 12230  	return nil
 12231  }
 12232  
 12233  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 12234  func (s *DeleteDBInstanceInput) SetDBInstanceIdentifier(v string) *DeleteDBInstanceInput {
 12235  	s.DBInstanceIdentifier = &v
 12236  	return s
 12237  }
 12238  
 12239  // SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
 12240  func (s *DeleteDBInstanceInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBInstanceInput {
 12241  	s.FinalDBSnapshotIdentifier = &v
 12242  	return s
 12243  }
 12244  
 12245  // SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
 12246  func (s *DeleteDBInstanceInput) SetSkipFinalSnapshot(v bool) *DeleteDBInstanceInput {
 12247  	s.SkipFinalSnapshot = &v
 12248  	return s
 12249  }
 12250  
 12251  type DeleteDBInstanceOutput struct {
 12252  	_ struct{} `type:"structure"`
 12253  
 12254  	// Contains the details of an Amazon Neptune DB instance.
 12255  	//
 12256  	// This data type is used as a response element in the DescribeDBInstances action.
 12257  	DBInstance *DBInstance `type:"structure"`
 12258  }
 12259  
 12260  // String returns the string representation.
 12261  //
 12262  // API parameter values that are decorated as "sensitive" in the API will not
 12263  // be included in the string output. The member name will be present, but the
 12264  // value will be replaced with "sensitive".
 12265  func (s DeleteDBInstanceOutput) String() string {
 12266  	return awsutil.Prettify(s)
 12267  }
 12268  
 12269  // GoString returns the string representation.
 12270  //
 12271  // API parameter values that are decorated as "sensitive" in the API will not
 12272  // be included in the string output. The member name will be present, but the
 12273  // value will be replaced with "sensitive".
 12274  func (s DeleteDBInstanceOutput) GoString() string {
 12275  	return s.String()
 12276  }
 12277  
 12278  // SetDBInstance sets the DBInstance field's value.
 12279  func (s *DeleteDBInstanceOutput) SetDBInstance(v *DBInstance) *DeleteDBInstanceOutput {
 12280  	s.DBInstance = v
 12281  	return s
 12282  }
 12283  
 12284  type DeleteDBParameterGroupInput struct {
 12285  	_ struct{} `type:"structure"`
 12286  
 12287  	// The name of the DB parameter group.
 12288  	//
 12289  	// Constraints:
 12290  	//
 12291  	//    * Must be the name of an existing DB parameter group
 12292  	//
 12293  	//    * You can't delete a default DB parameter group
 12294  	//
 12295  	//    * Cannot be associated with any DB instances
 12296  	//
 12297  	// DBParameterGroupName is a required field
 12298  	DBParameterGroupName *string `type:"string" required:"true"`
 12299  }
 12300  
 12301  // String returns the string representation.
 12302  //
 12303  // API parameter values that are decorated as "sensitive" in the API will not
 12304  // be included in the string output. The member name will be present, but the
 12305  // value will be replaced with "sensitive".
 12306  func (s DeleteDBParameterGroupInput) String() string {
 12307  	return awsutil.Prettify(s)
 12308  }
 12309  
 12310  // GoString returns the string representation.
 12311  //
 12312  // API parameter values that are decorated as "sensitive" in the API will not
 12313  // be included in the string output. The member name will be present, but the
 12314  // value will be replaced with "sensitive".
 12315  func (s DeleteDBParameterGroupInput) GoString() string {
 12316  	return s.String()
 12317  }
 12318  
 12319  // Validate inspects the fields of the type to determine if they are valid.
 12320  func (s *DeleteDBParameterGroupInput) Validate() error {
 12321  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBParameterGroupInput"}
 12322  	if s.DBParameterGroupName == nil {
 12323  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
 12324  	}
 12325  
 12326  	if invalidParams.Len() > 0 {
 12327  		return invalidParams
 12328  	}
 12329  	return nil
 12330  }
 12331  
 12332  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 12333  func (s *DeleteDBParameterGroupInput) SetDBParameterGroupName(v string) *DeleteDBParameterGroupInput {
 12334  	s.DBParameterGroupName = &v
 12335  	return s
 12336  }
 12337  
 12338  type DeleteDBParameterGroupOutput struct {
 12339  	_ struct{} `type:"structure"`
 12340  }
 12341  
 12342  // String returns the string representation.
 12343  //
 12344  // API parameter values that are decorated as "sensitive" in the API will not
 12345  // be included in the string output. The member name will be present, but the
 12346  // value will be replaced with "sensitive".
 12347  func (s DeleteDBParameterGroupOutput) String() string {
 12348  	return awsutil.Prettify(s)
 12349  }
 12350  
 12351  // GoString returns the string representation.
 12352  //
 12353  // API parameter values that are decorated as "sensitive" in the API will not
 12354  // be included in the string output. The member name will be present, but the
 12355  // value will be replaced with "sensitive".
 12356  func (s DeleteDBParameterGroupOutput) GoString() string {
 12357  	return s.String()
 12358  }
 12359  
 12360  type DeleteDBSubnetGroupInput struct {
 12361  	_ struct{} `type:"structure"`
 12362  
 12363  	// The name of the database subnet group to delete.
 12364  	//
 12365  	// You can't delete the default subnet group.
 12366  	//
 12367  	// Constraints:
 12368  	//
 12369  	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
 12370  	// default.
 12371  	//
 12372  	// Example: mySubnetgroup
 12373  	//
 12374  	// DBSubnetGroupName is a required field
 12375  	DBSubnetGroupName *string `type:"string" required:"true"`
 12376  }
 12377  
 12378  // String returns the string representation.
 12379  //
 12380  // API parameter values that are decorated as "sensitive" in the API will not
 12381  // be included in the string output. The member name will be present, but the
 12382  // value will be replaced with "sensitive".
 12383  func (s DeleteDBSubnetGroupInput) String() string {
 12384  	return awsutil.Prettify(s)
 12385  }
 12386  
 12387  // GoString returns the string representation.
 12388  //
 12389  // API parameter values that are decorated as "sensitive" in the API will not
 12390  // be included in the string output. The member name will be present, but the
 12391  // value will be replaced with "sensitive".
 12392  func (s DeleteDBSubnetGroupInput) GoString() string {
 12393  	return s.String()
 12394  }
 12395  
 12396  // Validate inspects the fields of the type to determine if they are valid.
 12397  func (s *DeleteDBSubnetGroupInput) Validate() error {
 12398  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSubnetGroupInput"}
 12399  	if s.DBSubnetGroupName == nil {
 12400  		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
 12401  	}
 12402  
 12403  	if invalidParams.Len() > 0 {
 12404  		return invalidParams
 12405  	}
 12406  	return nil
 12407  }
 12408  
 12409  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 12410  func (s *DeleteDBSubnetGroupInput) SetDBSubnetGroupName(v string) *DeleteDBSubnetGroupInput {
 12411  	s.DBSubnetGroupName = &v
 12412  	return s
 12413  }
 12414  
 12415  type DeleteDBSubnetGroupOutput struct {
 12416  	_ struct{} `type:"structure"`
 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 DeleteDBSubnetGroupOutput) 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 DeleteDBSubnetGroupOutput) GoString() string {
 12434  	return s.String()
 12435  }
 12436  
 12437  type DeleteEventSubscriptionInput struct {
 12438  	_ struct{} `type:"structure"`
 12439  
 12440  	// The name of the event notification subscription you want to delete.
 12441  	//
 12442  	// SubscriptionName is a required field
 12443  	SubscriptionName *string `type:"string" required:"true"`
 12444  }
 12445  
 12446  // String returns the string representation.
 12447  //
 12448  // API parameter values that are decorated as "sensitive" in the API will not
 12449  // be included in the string output. The member name will be present, but the
 12450  // value will be replaced with "sensitive".
 12451  func (s DeleteEventSubscriptionInput) String() string {
 12452  	return awsutil.Prettify(s)
 12453  }
 12454  
 12455  // GoString returns the string representation.
 12456  //
 12457  // API parameter values that are decorated as "sensitive" in the API will not
 12458  // be included in the string output. The member name will be present, but the
 12459  // value will be replaced with "sensitive".
 12460  func (s DeleteEventSubscriptionInput) GoString() string {
 12461  	return s.String()
 12462  }
 12463  
 12464  // Validate inspects the fields of the type to determine if they are valid.
 12465  func (s *DeleteEventSubscriptionInput) Validate() error {
 12466  	invalidParams := request.ErrInvalidParams{Context: "DeleteEventSubscriptionInput"}
 12467  	if s.SubscriptionName == nil {
 12468  		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
 12469  	}
 12470  
 12471  	if invalidParams.Len() > 0 {
 12472  		return invalidParams
 12473  	}
 12474  	return nil
 12475  }
 12476  
 12477  // SetSubscriptionName sets the SubscriptionName field's value.
 12478  func (s *DeleteEventSubscriptionInput) SetSubscriptionName(v string) *DeleteEventSubscriptionInput {
 12479  	s.SubscriptionName = &v
 12480  	return s
 12481  }
 12482  
 12483  type DeleteEventSubscriptionOutput struct {
 12484  	_ struct{} `type:"structure"`
 12485  
 12486  	// Contains the results of a successful invocation of the DescribeEventSubscriptions
 12487  	// action.
 12488  	EventSubscription *EventSubscription `type:"structure"`
 12489  }
 12490  
 12491  // String returns the string representation.
 12492  //
 12493  // API parameter values that are decorated as "sensitive" in the API will not
 12494  // be included in the string output. The member name will be present, but the
 12495  // value will be replaced with "sensitive".
 12496  func (s DeleteEventSubscriptionOutput) String() string {
 12497  	return awsutil.Prettify(s)
 12498  }
 12499  
 12500  // GoString returns the string representation.
 12501  //
 12502  // API parameter values that are decorated as "sensitive" in the API will not
 12503  // be included in the string output. The member name will be present, but the
 12504  // value will be replaced with "sensitive".
 12505  func (s DeleteEventSubscriptionOutput) GoString() string {
 12506  	return s.String()
 12507  }
 12508  
 12509  // SetEventSubscription sets the EventSubscription field's value.
 12510  func (s *DeleteEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *DeleteEventSubscriptionOutput {
 12511  	s.EventSubscription = v
 12512  	return s
 12513  }
 12514  
 12515  type DescribeDBClusterEndpointsInput struct {
 12516  	_ struct{} `type:"structure"`
 12517  
 12518  	// The identifier of the endpoint to describe. This parameter is stored as a
 12519  	// lowercase string.
 12520  	DBClusterEndpointIdentifier *string `type:"string"`
 12521  
 12522  	// The DB cluster identifier of the DB cluster associated with the endpoint.
 12523  	// This parameter is stored as a lowercase string.
 12524  	DBClusterIdentifier *string `type:"string"`
 12525  
 12526  	// A set of name-value pairs that define which endpoints to include in the output.
 12527  	// The filters are specified as name-value pairs, in the format Name=endpoint_type,Values=endpoint_type1,endpoint_type2,....
 12528  	// Name can be one of: db-cluster-endpoint-type, db-cluster-endpoint-custom-type,
 12529  	// db-cluster-endpoint-id, db-cluster-endpoint-status. Values for the db-cluster-endpoint-type
 12530  	// filter can be one or more of: reader, writer, custom. Values for the db-cluster-endpoint-custom-type
 12531  	// filter can be one or more of: reader, any. Values for the db-cluster-endpoint-status
 12532  	// filter can be one or more of: available, creating, deleting, inactive, modifying.
 12533  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 12534  
 12535  	// An optional pagination token provided by a previous DescribeDBClusterEndpoints
 12536  	// request. If this parameter is specified, the response includes only records
 12537  	// beyond the marker, up to the value specified by MaxRecords.
 12538  	Marker *string `type:"string"`
 12539  
 12540  	// The maximum number of records to include in the response. If more records
 12541  	// exist than the specified MaxRecords value, a pagination token called a marker
 12542  	// is included in the response so you can retrieve the remaining results.
 12543  	//
 12544  	// Default: 100
 12545  	//
 12546  	// Constraints: Minimum 20, maximum 100.
 12547  	MaxRecords *int64 `type:"integer"`
 12548  }
 12549  
 12550  // String returns the string representation.
 12551  //
 12552  // API parameter values that are decorated as "sensitive" in the API will not
 12553  // be included in the string output. The member name will be present, but the
 12554  // value will be replaced with "sensitive".
 12555  func (s DescribeDBClusterEndpointsInput) String() string {
 12556  	return awsutil.Prettify(s)
 12557  }
 12558  
 12559  // GoString returns the string representation.
 12560  //
 12561  // API parameter values that are decorated as "sensitive" in the API will not
 12562  // be included in the string output. The member name will be present, but the
 12563  // value will be replaced with "sensitive".
 12564  func (s DescribeDBClusterEndpointsInput) GoString() string {
 12565  	return s.String()
 12566  }
 12567  
 12568  // Validate inspects the fields of the type to determine if they are valid.
 12569  func (s *DescribeDBClusterEndpointsInput) Validate() error {
 12570  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterEndpointsInput"}
 12571  	if s.Filters != nil {
 12572  		for i, v := range s.Filters {
 12573  			if v == nil {
 12574  				continue
 12575  			}
 12576  			if err := v.Validate(); err != nil {
 12577  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 12578  			}
 12579  		}
 12580  	}
 12581  
 12582  	if invalidParams.Len() > 0 {
 12583  		return invalidParams
 12584  	}
 12585  	return nil
 12586  }
 12587  
 12588  // SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
 12589  func (s *DescribeDBClusterEndpointsInput) SetDBClusterEndpointIdentifier(v string) *DescribeDBClusterEndpointsInput {
 12590  	s.DBClusterEndpointIdentifier = &v
 12591  	return s
 12592  }
 12593  
 12594  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 12595  func (s *DescribeDBClusterEndpointsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterEndpointsInput {
 12596  	s.DBClusterIdentifier = &v
 12597  	return s
 12598  }
 12599  
 12600  // SetFilters sets the Filters field's value.
 12601  func (s *DescribeDBClusterEndpointsInput) SetFilters(v []*Filter) *DescribeDBClusterEndpointsInput {
 12602  	s.Filters = v
 12603  	return s
 12604  }
 12605  
 12606  // SetMarker sets the Marker field's value.
 12607  func (s *DescribeDBClusterEndpointsInput) SetMarker(v string) *DescribeDBClusterEndpointsInput {
 12608  	s.Marker = &v
 12609  	return s
 12610  }
 12611  
 12612  // SetMaxRecords sets the MaxRecords field's value.
 12613  func (s *DescribeDBClusterEndpointsInput) SetMaxRecords(v int64) *DescribeDBClusterEndpointsInput {
 12614  	s.MaxRecords = &v
 12615  	return s
 12616  }
 12617  
 12618  type DescribeDBClusterEndpointsOutput struct {
 12619  	_ struct{} `type:"structure"`
 12620  
 12621  	// Contains the details of the endpoints associated with the cluster and matching
 12622  	// any filter conditions.
 12623  	DBClusterEndpoints []*DBClusterEndpoint `locationNameList:"DBClusterEndpointList" type:"list"`
 12624  
 12625  	// An optional pagination token provided by a previous DescribeDBClusterEndpoints
 12626  	// request. If this parameter is specified, the response includes only records
 12627  	// beyond the marker, up to the value specified by MaxRecords.
 12628  	Marker *string `type:"string"`
 12629  }
 12630  
 12631  // String returns the string representation.
 12632  //
 12633  // API parameter values that are decorated as "sensitive" in the API will not
 12634  // be included in the string output. The member name will be present, but the
 12635  // value will be replaced with "sensitive".
 12636  func (s DescribeDBClusterEndpointsOutput) String() string {
 12637  	return awsutil.Prettify(s)
 12638  }
 12639  
 12640  // GoString returns the string representation.
 12641  //
 12642  // API parameter values that are decorated as "sensitive" in the API will not
 12643  // be included in the string output. The member name will be present, but the
 12644  // value will be replaced with "sensitive".
 12645  func (s DescribeDBClusterEndpointsOutput) GoString() string {
 12646  	return s.String()
 12647  }
 12648  
 12649  // SetDBClusterEndpoints sets the DBClusterEndpoints field's value.
 12650  func (s *DescribeDBClusterEndpointsOutput) SetDBClusterEndpoints(v []*DBClusterEndpoint) *DescribeDBClusterEndpointsOutput {
 12651  	s.DBClusterEndpoints = v
 12652  	return s
 12653  }
 12654  
 12655  // SetMarker sets the Marker field's value.
 12656  func (s *DescribeDBClusterEndpointsOutput) SetMarker(v string) *DescribeDBClusterEndpointsOutput {
 12657  	s.Marker = &v
 12658  	return s
 12659  }
 12660  
 12661  type DescribeDBClusterParameterGroupsInput struct {
 12662  	_ struct{} `type:"structure"`
 12663  
 12664  	// The name of a specific DB cluster parameter group to return details for.
 12665  	//
 12666  	// Constraints:
 12667  	//
 12668  	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
 12669  	DBClusterParameterGroupName *string `type:"string"`
 12670  
 12671  	// This parameter is not currently supported.
 12672  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 12673  
 12674  	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
 12675  	// request. If this parameter is specified, the response includes only records
 12676  	// beyond the marker, up to the value specified by MaxRecords.
 12677  	Marker *string `type:"string"`
 12678  
 12679  	// The maximum number of records to include in the response. If more records
 12680  	// exist than the specified MaxRecords value, a pagination token called a marker
 12681  	// is included in the response so that the remaining results can be retrieved.
 12682  	//
 12683  	// Default: 100
 12684  	//
 12685  	// Constraints: Minimum 20, maximum 100.
 12686  	MaxRecords *int64 `type:"integer"`
 12687  }
 12688  
 12689  // String returns the string representation.
 12690  //
 12691  // API parameter values that are decorated as "sensitive" in the API will not
 12692  // be included in the string output. The member name will be present, but the
 12693  // value will be replaced with "sensitive".
 12694  func (s DescribeDBClusterParameterGroupsInput) String() string {
 12695  	return awsutil.Prettify(s)
 12696  }
 12697  
 12698  // GoString returns the string representation.
 12699  //
 12700  // API parameter values that are decorated as "sensitive" in the API will not
 12701  // be included in the string output. The member name will be present, but the
 12702  // value will be replaced with "sensitive".
 12703  func (s DescribeDBClusterParameterGroupsInput) GoString() string {
 12704  	return s.String()
 12705  }
 12706  
 12707  // Validate inspects the fields of the type to determine if they are valid.
 12708  func (s *DescribeDBClusterParameterGroupsInput) Validate() error {
 12709  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParameterGroupsInput"}
 12710  	if s.Filters != nil {
 12711  		for i, v := range s.Filters {
 12712  			if v == nil {
 12713  				continue
 12714  			}
 12715  			if err := v.Validate(); err != nil {
 12716  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 12717  			}
 12718  		}
 12719  	}
 12720  
 12721  	if invalidParams.Len() > 0 {
 12722  		return invalidParams
 12723  	}
 12724  	return nil
 12725  }
 12726  
 12727  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 12728  func (s *DescribeDBClusterParameterGroupsInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParameterGroupsInput {
 12729  	s.DBClusterParameterGroupName = &v
 12730  	return s
 12731  }
 12732  
 12733  // SetFilters sets the Filters field's value.
 12734  func (s *DescribeDBClusterParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBClusterParameterGroupsInput {
 12735  	s.Filters = v
 12736  	return s
 12737  }
 12738  
 12739  // SetMarker sets the Marker field's value.
 12740  func (s *DescribeDBClusterParameterGroupsInput) SetMarker(v string) *DescribeDBClusterParameterGroupsInput {
 12741  	s.Marker = &v
 12742  	return s
 12743  }
 12744  
 12745  // SetMaxRecords sets the MaxRecords field's value.
 12746  func (s *DescribeDBClusterParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBClusterParameterGroupsInput {
 12747  	s.MaxRecords = &v
 12748  	return s
 12749  }
 12750  
 12751  type DescribeDBClusterParameterGroupsOutput struct {
 12752  	_ struct{} `type:"structure"`
 12753  
 12754  	// A list of DB cluster parameter groups.
 12755  	DBClusterParameterGroups []*DBClusterParameterGroup `locationNameList:"DBClusterParameterGroup" type:"list"`
 12756  
 12757  	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
 12758  	// request. If this parameter is specified, the response includes only records
 12759  	// beyond the marker, up to the value specified by MaxRecords.
 12760  	Marker *string `type:"string"`
 12761  }
 12762  
 12763  // String returns the string representation.
 12764  //
 12765  // API parameter values that are decorated as "sensitive" in the API will not
 12766  // be included in the string output. The member name will be present, but the
 12767  // value will be replaced with "sensitive".
 12768  func (s DescribeDBClusterParameterGroupsOutput) String() string {
 12769  	return awsutil.Prettify(s)
 12770  }
 12771  
 12772  // GoString returns the string representation.
 12773  //
 12774  // API parameter values that are decorated as "sensitive" in the API will not
 12775  // be included in the string output. The member name will be present, but the
 12776  // value will be replaced with "sensitive".
 12777  func (s DescribeDBClusterParameterGroupsOutput) GoString() string {
 12778  	return s.String()
 12779  }
 12780  
 12781  // SetDBClusterParameterGroups sets the DBClusterParameterGroups field's value.
 12782  func (s *DescribeDBClusterParameterGroupsOutput) SetDBClusterParameterGroups(v []*DBClusterParameterGroup) *DescribeDBClusterParameterGroupsOutput {
 12783  	s.DBClusterParameterGroups = v
 12784  	return s
 12785  }
 12786  
 12787  // SetMarker sets the Marker field's value.
 12788  func (s *DescribeDBClusterParameterGroupsOutput) SetMarker(v string) *DescribeDBClusterParameterGroupsOutput {
 12789  	s.Marker = &v
 12790  	return s
 12791  }
 12792  
 12793  type DescribeDBClusterParametersInput struct {
 12794  	_ struct{} `type:"structure"`
 12795  
 12796  	// The name of a specific DB cluster parameter group to return parameter details
 12797  	// for.
 12798  	//
 12799  	// Constraints:
 12800  	//
 12801  	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
 12802  	//
 12803  	// DBClusterParameterGroupName is a required field
 12804  	DBClusterParameterGroupName *string `type:"string" required:"true"`
 12805  
 12806  	// This parameter is not currently supported.
 12807  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 12808  
 12809  	// An optional pagination token provided by a previous DescribeDBClusterParameters
 12810  	// request. If this parameter is specified, the response includes only records
 12811  	// beyond the marker, up to the value specified by MaxRecords.
 12812  	Marker *string `type:"string"`
 12813  
 12814  	// The maximum number of records to include in the response. If more records
 12815  	// exist than the specified MaxRecords value, a pagination token called a marker
 12816  	// is included in the response so that the remaining results can be retrieved.
 12817  	//
 12818  	// Default: 100
 12819  	//
 12820  	// Constraints: Minimum 20, maximum 100.
 12821  	MaxRecords *int64 `type:"integer"`
 12822  
 12823  	// A value that indicates to return only parameters for a specific source. Parameter
 12824  	// sources can be engine, service, or customer.
 12825  	Source *string `type:"string"`
 12826  }
 12827  
 12828  // String returns the string representation.
 12829  //
 12830  // API parameter values that are decorated as "sensitive" in the API will not
 12831  // be included in the string output. The member name will be present, but the
 12832  // value will be replaced with "sensitive".
 12833  func (s DescribeDBClusterParametersInput) String() string {
 12834  	return awsutil.Prettify(s)
 12835  }
 12836  
 12837  // GoString returns the string representation.
 12838  //
 12839  // API parameter values that are decorated as "sensitive" in the API will not
 12840  // be included in the string output. The member name will be present, but the
 12841  // value will be replaced with "sensitive".
 12842  func (s DescribeDBClusterParametersInput) GoString() string {
 12843  	return s.String()
 12844  }
 12845  
 12846  // Validate inspects the fields of the type to determine if they are valid.
 12847  func (s *DescribeDBClusterParametersInput) Validate() error {
 12848  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParametersInput"}
 12849  	if s.DBClusterParameterGroupName == nil {
 12850  		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
 12851  	}
 12852  	if s.Filters != nil {
 12853  		for i, v := range s.Filters {
 12854  			if v == nil {
 12855  				continue
 12856  			}
 12857  			if err := v.Validate(); err != nil {
 12858  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 12859  			}
 12860  		}
 12861  	}
 12862  
 12863  	if invalidParams.Len() > 0 {
 12864  		return invalidParams
 12865  	}
 12866  	return nil
 12867  }
 12868  
 12869  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 12870  func (s *DescribeDBClusterParametersInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParametersInput {
 12871  	s.DBClusterParameterGroupName = &v
 12872  	return s
 12873  }
 12874  
 12875  // SetFilters sets the Filters field's value.
 12876  func (s *DescribeDBClusterParametersInput) SetFilters(v []*Filter) *DescribeDBClusterParametersInput {
 12877  	s.Filters = v
 12878  	return s
 12879  }
 12880  
 12881  // SetMarker sets the Marker field's value.
 12882  func (s *DescribeDBClusterParametersInput) SetMarker(v string) *DescribeDBClusterParametersInput {
 12883  	s.Marker = &v
 12884  	return s
 12885  }
 12886  
 12887  // SetMaxRecords sets the MaxRecords field's value.
 12888  func (s *DescribeDBClusterParametersInput) SetMaxRecords(v int64) *DescribeDBClusterParametersInput {
 12889  	s.MaxRecords = &v
 12890  	return s
 12891  }
 12892  
 12893  // SetSource sets the Source field's value.
 12894  func (s *DescribeDBClusterParametersInput) SetSource(v string) *DescribeDBClusterParametersInput {
 12895  	s.Source = &v
 12896  	return s
 12897  }
 12898  
 12899  type DescribeDBClusterParametersOutput struct {
 12900  	_ struct{} `type:"structure"`
 12901  
 12902  	// An optional pagination token provided by a previous DescribeDBClusterParameters
 12903  	// request. If this parameter is specified, the response includes only records
 12904  	// beyond the marker, up to the value specified by MaxRecords .
 12905  	Marker *string `type:"string"`
 12906  
 12907  	// Provides a list of parameters for the DB cluster parameter group.
 12908  	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
 12909  }
 12910  
 12911  // String returns the string representation.
 12912  //
 12913  // API parameter values that are decorated as "sensitive" in the API will not
 12914  // be included in the string output. The member name will be present, but the
 12915  // value will be replaced with "sensitive".
 12916  func (s DescribeDBClusterParametersOutput) String() string {
 12917  	return awsutil.Prettify(s)
 12918  }
 12919  
 12920  // GoString returns the string representation.
 12921  //
 12922  // API parameter values that are decorated as "sensitive" in the API will not
 12923  // be included in the string output. The member name will be present, but the
 12924  // value will be replaced with "sensitive".
 12925  func (s DescribeDBClusterParametersOutput) GoString() string {
 12926  	return s.String()
 12927  }
 12928  
 12929  // SetMarker sets the Marker field's value.
 12930  func (s *DescribeDBClusterParametersOutput) SetMarker(v string) *DescribeDBClusterParametersOutput {
 12931  	s.Marker = &v
 12932  	return s
 12933  }
 12934  
 12935  // SetParameters sets the Parameters field's value.
 12936  func (s *DescribeDBClusterParametersOutput) SetParameters(v []*Parameter) *DescribeDBClusterParametersOutput {
 12937  	s.Parameters = v
 12938  	return s
 12939  }
 12940  
 12941  type DescribeDBClusterSnapshotAttributesInput struct {
 12942  	_ struct{} `type:"structure"`
 12943  
 12944  	// The identifier for the DB cluster snapshot to describe the attributes for.
 12945  	//
 12946  	// DBClusterSnapshotIdentifier is a required field
 12947  	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
 12948  }
 12949  
 12950  // String returns the string representation.
 12951  //
 12952  // API parameter values that are decorated as "sensitive" in the API will not
 12953  // be included in the string output. The member name will be present, but the
 12954  // value will be replaced with "sensitive".
 12955  func (s DescribeDBClusterSnapshotAttributesInput) String() string {
 12956  	return awsutil.Prettify(s)
 12957  }
 12958  
 12959  // GoString returns the string representation.
 12960  //
 12961  // API parameter values that are decorated as "sensitive" in the API will not
 12962  // be included in the string output. The member name will be present, but the
 12963  // value will be replaced with "sensitive".
 12964  func (s DescribeDBClusterSnapshotAttributesInput) GoString() string {
 12965  	return s.String()
 12966  }
 12967  
 12968  // Validate inspects the fields of the type to determine if they are valid.
 12969  func (s *DescribeDBClusterSnapshotAttributesInput) Validate() error {
 12970  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotAttributesInput"}
 12971  	if s.DBClusterSnapshotIdentifier == nil {
 12972  		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
 12973  	}
 12974  
 12975  	if invalidParams.Len() > 0 {
 12976  		return invalidParams
 12977  	}
 12978  	return nil
 12979  }
 12980  
 12981  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
 12982  func (s *DescribeDBClusterSnapshotAttributesInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotAttributesInput {
 12983  	s.DBClusterSnapshotIdentifier = &v
 12984  	return s
 12985  }
 12986  
 12987  type DescribeDBClusterSnapshotAttributesOutput struct {
 12988  	_ struct{} `type:"structure"`
 12989  
 12990  	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
 12991  	// API action.
 12992  	//
 12993  	// Manual DB cluster snapshot attributes are used to authorize other Amazon
 12994  	// accounts to copy or restore a manual DB cluster snapshot. For more information,
 12995  	// see the ModifyDBClusterSnapshotAttribute API action.
 12996  	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
 12997  }
 12998  
 12999  // String 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 DescribeDBClusterSnapshotAttributesOutput) String() string {
 13005  	return awsutil.Prettify(s)
 13006  }
 13007  
 13008  // GoString returns the string representation.
 13009  //
 13010  // API parameter values that are decorated as "sensitive" in the API will not
 13011  // be included in the string output. The member name will be present, but the
 13012  // value will be replaced with "sensitive".
 13013  func (s DescribeDBClusterSnapshotAttributesOutput) GoString() string {
 13014  	return s.String()
 13015  }
 13016  
 13017  // SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
 13018  func (s *DescribeDBClusterSnapshotAttributesOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *DescribeDBClusterSnapshotAttributesOutput {
 13019  	s.DBClusterSnapshotAttributesResult = v
 13020  	return s
 13021  }
 13022  
 13023  type DescribeDBClusterSnapshotsInput struct {
 13024  	_ struct{} `type:"structure"`
 13025  
 13026  	// The ID of the DB cluster to retrieve the list of DB cluster snapshots for.
 13027  	// This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier
 13028  	// parameter. This parameter is not case-sensitive.
 13029  	//
 13030  	// Constraints:
 13031  	//
 13032  	//    * If supplied, must match the identifier of an existing DBCluster.
 13033  	DBClusterIdentifier *string `type:"string"`
 13034  
 13035  	// A specific DB cluster snapshot identifier to describe. This parameter can't
 13036  	// be used in conjunction with the DBClusterIdentifier parameter. This value
 13037  	// is stored as a lowercase string.
 13038  	//
 13039  	// Constraints:
 13040  	//
 13041  	//    * If supplied, must match the identifier of an existing DBClusterSnapshot.
 13042  	//
 13043  	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
 13044  	//    must also be specified.
 13045  	DBClusterSnapshotIdentifier *string `type:"string"`
 13046  
 13047  	// This parameter is not currently supported.
 13048  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 13049  
 13050  	// True to include manual DB cluster snapshots that are public and can be copied
 13051  	// or restored by any Amazon account, and otherwise false. The default is false.
 13052  	// The default is false.
 13053  	//
 13054  	// You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute
 13055  	// API action.
 13056  	IncludePublic *bool `type:"boolean"`
 13057  
 13058  	// True to include shared manual DB cluster snapshots from other Amazon accounts
 13059  	// that this AWS account has been given permission to copy or restore, and otherwise
 13060  	// false. The default is false.
 13061  	//
 13062  	// You can give an Amazon account permission to restore a manual DB cluster
 13063  	// snapshot from another Amazon account by the ModifyDBClusterSnapshotAttribute
 13064  	// API action.
 13065  	IncludeShared *bool `type:"boolean"`
 13066  
 13067  	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
 13068  	// request. If this parameter is specified, the response includes only records
 13069  	// beyond the marker, up to the value specified by MaxRecords.
 13070  	Marker *string `type:"string"`
 13071  
 13072  	// The maximum number of records to include in the response. If more records
 13073  	// exist than the specified MaxRecords value, a pagination token called a marker
 13074  	// is included in the response so that the remaining results can be retrieved.
 13075  	//
 13076  	// Default: 100
 13077  	//
 13078  	// Constraints: Minimum 20, maximum 100.
 13079  	MaxRecords *int64 `type:"integer"`
 13080  
 13081  	// The type of DB cluster snapshots to be returned. You can specify one of the
 13082  	// following values:
 13083  	//
 13084  	//    * automated - Return all DB cluster snapshots that have been automatically
 13085  	//    taken by Amazon Neptune for my Amazon account.
 13086  	//
 13087  	//    * manual - Return all DB cluster snapshots that have been taken by my
 13088  	//    AWS account.
 13089  	//
 13090  	//    * shared - Return all manual DB cluster snapshots that have been shared
 13091  	//    to my Amazon account.
 13092  	//
 13093  	//    * public - Return all DB cluster snapshots that have been marked as public.
 13094  	//
 13095  	// If you don't specify a SnapshotType value, then both automated and manual
 13096  	// DB cluster snapshots are returned. You can include shared DB cluster snapshots
 13097  	// with these results by setting the IncludeShared parameter to true. You can
 13098  	// include public DB cluster snapshots with these results by setting the IncludePublic
 13099  	// parameter to true.
 13100  	//
 13101  	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
 13102  	// values of manual or automated. The IncludePublic parameter doesn't apply
 13103  	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
 13104  	// when SnapshotType is set to public.
 13105  	SnapshotType *string `type:"string"`
 13106  }
 13107  
 13108  // String returns the string representation.
 13109  //
 13110  // API parameter values that are decorated as "sensitive" in the API will not
 13111  // be included in the string output. The member name will be present, but the
 13112  // value will be replaced with "sensitive".
 13113  func (s DescribeDBClusterSnapshotsInput) String() string {
 13114  	return awsutil.Prettify(s)
 13115  }
 13116  
 13117  // GoString returns the string representation.
 13118  //
 13119  // API parameter values that are decorated as "sensitive" in the API will not
 13120  // be included in the string output. The member name will be present, but the
 13121  // value will be replaced with "sensitive".
 13122  func (s DescribeDBClusterSnapshotsInput) GoString() string {
 13123  	return s.String()
 13124  }
 13125  
 13126  // Validate inspects the fields of the type to determine if they are valid.
 13127  func (s *DescribeDBClusterSnapshotsInput) Validate() error {
 13128  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotsInput"}
 13129  	if s.Filters != nil {
 13130  		for i, v := range s.Filters {
 13131  			if v == nil {
 13132  				continue
 13133  			}
 13134  			if err := v.Validate(); err != nil {
 13135  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 13136  			}
 13137  		}
 13138  	}
 13139  
 13140  	if invalidParams.Len() > 0 {
 13141  		return invalidParams
 13142  	}
 13143  	return nil
 13144  }
 13145  
 13146  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 13147  func (s *DescribeDBClusterSnapshotsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterSnapshotsInput {
 13148  	s.DBClusterIdentifier = &v
 13149  	return s
 13150  }
 13151  
 13152  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
 13153  func (s *DescribeDBClusterSnapshotsInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotsInput {
 13154  	s.DBClusterSnapshotIdentifier = &v
 13155  	return s
 13156  }
 13157  
 13158  // SetFilters sets the Filters field's value.
 13159  func (s *DescribeDBClusterSnapshotsInput) SetFilters(v []*Filter) *DescribeDBClusterSnapshotsInput {
 13160  	s.Filters = v
 13161  	return s
 13162  }
 13163  
 13164  // SetIncludePublic sets the IncludePublic field's value.
 13165  func (s *DescribeDBClusterSnapshotsInput) SetIncludePublic(v bool) *DescribeDBClusterSnapshotsInput {
 13166  	s.IncludePublic = &v
 13167  	return s
 13168  }
 13169  
 13170  // SetIncludeShared sets the IncludeShared field's value.
 13171  func (s *DescribeDBClusterSnapshotsInput) SetIncludeShared(v bool) *DescribeDBClusterSnapshotsInput {
 13172  	s.IncludeShared = &v
 13173  	return s
 13174  }
 13175  
 13176  // SetMarker sets the Marker field's value.
 13177  func (s *DescribeDBClusterSnapshotsInput) SetMarker(v string) *DescribeDBClusterSnapshotsInput {
 13178  	s.Marker = &v
 13179  	return s
 13180  }
 13181  
 13182  // SetMaxRecords sets the MaxRecords field's value.
 13183  func (s *DescribeDBClusterSnapshotsInput) SetMaxRecords(v int64) *DescribeDBClusterSnapshotsInput {
 13184  	s.MaxRecords = &v
 13185  	return s
 13186  }
 13187  
 13188  // SetSnapshotType sets the SnapshotType field's value.
 13189  func (s *DescribeDBClusterSnapshotsInput) SetSnapshotType(v string) *DescribeDBClusterSnapshotsInput {
 13190  	s.SnapshotType = &v
 13191  	return s
 13192  }
 13193  
 13194  type DescribeDBClusterSnapshotsOutput struct {
 13195  	_ struct{} `type:"structure"`
 13196  
 13197  	// Provides a list of DB cluster snapshots for the user.
 13198  	DBClusterSnapshots []*DBClusterSnapshot `locationNameList:"DBClusterSnapshot" type:"list"`
 13199  
 13200  	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
 13201  	// request. If this parameter is specified, the response includes only records
 13202  	// beyond the marker, up to the value specified by MaxRecords.
 13203  	Marker *string `type:"string"`
 13204  }
 13205  
 13206  // String returns the string representation.
 13207  //
 13208  // API parameter values that are decorated as "sensitive" in the API will not
 13209  // be included in the string output. The member name will be present, but the
 13210  // value will be replaced with "sensitive".
 13211  func (s DescribeDBClusterSnapshotsOutput) String() string {
 13212  	return awsutil.Prettify(s)
 13213  }
 13214  
 13215  // GoString returns the string representation.
 13216  //
 13217  // API parameter values that are decorated as "sensitive" in the API will not
 13218  // be included in the string output. The member name will be present, but the
 13219  // value will be replaced with "sensitive".
 13220  func (s DescribeDBClusterSnapshotsOutput) GoString() string {
 13221  	return s.String()
 13222  }
 13223  
 13224  // SetDBClusterSnapshots sets the DBClusterSnapshots field's value.
 13225  func (s *DescribeDBClusterSnapshotsOutput) SetDBClusterSnapshots(v []*DBClusterSnapshot) *DescribeDBClusterSnapshotsOutput {
 13226  	s.DBClusterSnapshots = v
 13227  	return s
 13228  }
 13229  
 13230  // SetMarker sets the Marker field's value.
 13231  func (s *DescribeDBClusterSnapshotsOutput) SetMarker(v string) *DescribeDBClusterSnapshotsOutput {
 13232  	s.Marker = &v
 13233  	return s
 13234  }
 13235  
 13236  type DescribeDBClustersInput struct {
 13237  	_ struct{} `type:"structure"`
 13238  
 13239  	// The user-supplied DB cluster identifier. If this parameter is specified,
 13240  	// information from only the specific DB cluster is returned. This parameter
 13241  	// isn't case-sensitive.
 13242  	//
 13243  	// Constraints:
 13244  	//
 13245  	//    * If supplied, must match an existing DBClusterIdentifier.
 13246  	DBClusterIdentifier *string `type:"string"`
 13247  
 13248  	// A filter that specifies one or more DB clusters to describe.
 13249  	//
 13250  	// Supported filters:
 13251  	//
 13252  	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
 13253  	//    Resource Names (ARNs). The results list will only include information
 13254  	//    about the DB clusters identified by these ARNs.
 13255  	//
 13256  	//    * engine - Accepts an engine name (such as neptune), and restricts the
 13257  	//    results list to DB clusters created by that engine.
 13258  	//
 13259  	// For example, to invoke this API from the Amazon CLI and filter so that only
 13260  	// Neptune DB clusters are returned, you could use the following command:
 13261  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 13262  
 13263  	// An optional pagination token provided by a previous DescribeDBClusters request.
 13264  	// If this parameter is specified, the response includes only records beyond
 13265  	// the marker, up to the value specified by MaxRecords.
 13266  	Marker *string `type:"string"`
 13267  
 13268  	// The maximum number of records to include in the response. If more records
 13269  	// exist than the specified MaxRecords value, a pagination token called a marker
 13270  	// is included in the response so that the remaining results can be retrieved.
 13271  	//
 13272  	// Default: 100
 13273  	//
 13274  	// Constraints: Minimum 20, maximum 100.
 13275  	MaxRecords *int64 `type:"integer"`
 13276  }
 13277  
 13278  // String returns the string representation.
 13279  //
 13280  // API parameter values that are decorated as "sensitive" in the API will not
 13281  // be included in the string output. The member name will be present, but the
 13282  // value will be replaced with "sensitive".
 13283  func (s DescribeDBClustersInput) String() string {
 13284  	return awsutil.Prettify(s)
 13285  }
 13286  
 13287  // GoString returns the string representation.
 13288  //
 13289  // API parameter values that are decorated as "sensitive" in the API will not
 13290  // be included in the string output. The member name will be present, but the
 13291  // value will be replaced with "sensitive".
 13292  func (s DescribeDBClustersInput) GoString() string {
 13293  	return s.String()
 13294  }
 13295  
 13296  // Validate inspects the fields of the type to determine if they are valid.
 13297  func (s *DescribeDBClustersInput) Validate() error {
 13298  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClustersInput"}
 13299  	if s.Filters != nil {
 13300  		for i, v := range s.Filters {
 13301  			if v == nil {
 13302  				continue
 13303  			}
 13304  			if err := v.Validate(); err != nil {
 13305  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 13306  			}
 13307  		}
 13308  	}
 13309  
 13310  	if invalidParams.Len() > 0 {
 13311  		return invalidParams
 13312  	}
 13313  	return nil
 13314  }
 13315  
 13316  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 13317  func (s *DescribeDBClustersInput) SetDBClusterIdentifier(v string) *DescribeDBClustersInput {
 13318  	s.DBClusterIdentifier = &v
 13319  	return s
 13320  }
 13321  
 13322  // SetFilters sets the Filters field's value.
 13323  func (s *DescribeDBClustersInput) SetFilters(v []*Filter) *DescribeDBClustersInput {
 13324  	s.Filters = v
 13325  	return s
 13326  }
 13327  
 13328  // SetMarker sets the Marker field's value.
 13329  func (s *DescribeDBClustersInput) SetMarker(v string) *DescribeDBClustersInput {
 13330  	s.Marker = &v
 13331  	return s
 13332  }
 13333  
 13334  // SetMaxRecords sets the MaxRecords field's value.
 13335  func (s *DescribeDBClustersInput) SetMaxRecords(v int64) *DescribeDBClustersInput {
 13336  	s.MaxRecords = &v
 13337  	return s
 13338  }
 13339  
 13340  type DescribeDBClustersOutput struct {
 13341  	_ struct{} `type:"structure"`
 13342  
 13343  	// Contains a list of DB clusters for the user.
 13344  	DBClusters []*DBCluster `locationNameList:"DBCluster" type:"list"`
 13345  
 13346  	// A pagination token that can be used in a subsequent DescribeDBClusters request.
 13347  	Marker *string `type:"string"`
 13348  }
 13349  
 13350  // String returns the string representation.
 13351  //
 13352  // API parameter values that are decorated as "sensitive" in the API will not
 13353  // be included in the string output. The member name will be present, but the
 13354  // value will be replaced with "sensitive".
 13355  func (s DescribeDBClustersOutput) String() string {
 13356  	return awsutil.Prettify(s)
 13357  }
 13358  
 13359  // GoString returns the string representation.
 13360  //
 13361  // API parameter values that are decorated as "sensitive" in the API will not
 13362  // be included in the string output. The member name will be present, but the
 13363  // value will be replaced with "sensitive".
 13364  func (s DescribeDBClustersOutput) GoString() string {
 13365  	return s.String()
 13366  }
 13367  
 13368  // SetDBClusters sets the DBClusters field's value.
 13369  func (s *DescribeDBClustersOutput) SetDBClusters(v []*DBCluster) *DescribeDBClustersOutput {
 13370  	s.DBClusters = v
 13371  	return s
 13372  }
 13373  
 13374  // SetMarker sets the Marker field's value.
 13375  func (s *DescribeDBClustersOutput) SetMarker(v string) *DescribeDBClustersOutput {
 13376  	s.Marker = &v
 13377  	return s
 13378  }
 13379  
 13380  type DescribeDBEngineVersionsInput struct {
 13381  	_ struct{} `type:"structure"`
 13382  
 13383  	// The name of a specific DB parameter group family to return details for.
 13384  	//
 13385  	// Constraints:
 13386  	//
 13387  	//    * If supplied, must match an existing DBParameterGroupFamily.
 13388  	DBParameterGroupFamily *string `type:"string"`
 13389  
 13390  	// Indicates that only the default version of the specified engine or engine
 13391  	// and major version combination is returned.
 13392  	DefaultOnly *bool `type:"boolean"`
 13393  
 13394  	// The database engine to return.
 13395  	Engine *string `type:"string"`
 13396  
 13397  	// The database engine version to return.
 13398  	//
 13399  	// Example: 5.1.49
 13400  	EngineVersion *string `type:"string"`
 13401  
 13402  	// Not currently supported.
 13403  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 13404  
 13405  	// If this parameter is specified and the requested engine supports the CharacterSetName
 13406  	// parameter for CreateDBInstance, the response includes a list of supported
 13407  	// character sets for each engine version.
 13408  	ListSupportedCharacterSets *bool `type:"boolean"`
 13409  
 13410  	// If this parameter is specified and the requested engine supports the TimeZone
 13411  	// parameter for CreateDBInstance, the response includes a list of supported
 13412  	// time zones for each engine version.
 13413  	ListSupportedTimezones *bool `type:"boolean"`
 13414  
 13415  	// An optional pagination token provided by a previous request. If this parameter
 13416  	// is specified, the response includes only records beyond the marker, up to
 13417  	// the value specified by MaxRecords.
 13418  	Marker *string `type:"string"`
 13419  
 13420  	// The maximum number of records to include in the response. If more than the
 13421  	// MaxRecords value is available, a pagination token called a marker is included
 13422  	// in the response so that the following results can be retrieved.
 13423  	//
 13424  	// Default: 100
 13425  	//
 13426  	// Constraints: Minimum 20, maximum 100.
 13427  	MaxRecords *int64 `type:"integer"`
 13428  }
 13429  
 13430  // String returns the string representation.
 13431  //
 13432  // API parameter values that are decorated as "sensitive" in the API will not
 13433  // be included in the string output. The member name will be present, but the
 13434  // value will be replaced with "sensitive".
 13435  func (s DescribeDBEngineVersionsInput) String() string {
 13436  	return awsutil.Prettify(s)
 13437  }
 13438  
 13439  // GoString returns the string representation.
 13440  //
 13441  // API parameter values that are decorated as "sensitive" in the API will not
 13442  // be included in the string output. The member name will be present, but the
 13443  // value will be replaced with "sensitive".
 13444  func (s DescribeDBEngineVersionsInput) GoString() string {
 13445  	return s.String()
 13446  }
 13447  
 13448  // Validate inspects the fields of the type to determine if they are valid.
 13449  func (s *DescribeDBEngineVersionsInput) Validate() error {
 13450  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBEngineVersionsInput"}
 13451  	if s.Filters != nil {
 13452  		for i, v := range s.Filters {
 13453  			if v == nil {
 13454  				continue
 13455  			}
 13456  			if err := v.Validate(); err != nil {
 13457  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 13458  			}
 13459  		}
 13460  	}
 13461  
 13462  	if invalidParams.Len() > 0 {
 13463  		return invalidParams
 13464  	}
 13465  	return nil
 13466  }
 13467  
 13468  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 13469  func (s *DescribeDBEngineVersionsInput) SetDBParameterGroupFamily(v string) *DescribeDBEngineVersionsInput {
 13470  	s.DBParameterGroupFamily = &v
 13471  	return s
 13472  }
 13473  
 13474  // SetDefaultOnly sets the DefaultOnly field's value.
 13475  func (s *DescribeDBEngineVersionsInput) SetDefaultOnly(v bool) *DescribeDBEngineVersionsInput {
 13476  	s.DefaultOnly = &v
 13477  	return s
 13478  }
 13479  
 13480  // SetEngine sets the Engine field's value.
 13481  func (s *DescribeDBEngineVersionsInput) SetEngine(v string) *DescribeDBEngineVersionsInput {
 13482  	s.Engine = &v
 13483  	return s
 13484  }
 13485  
 13486  // SetEngineVersion sets the EngineVersion field's value.
 13487  func (s *DescribeDBEngineVersionsInput) SetEngineVersion(v string) *DescribeDBEngineVersionsInput {
 13488  	s.EngineVersion = &v
 13489  	return s
 13490  }
 13491  
 13492  // SetFilters sets the Filters field's value.
 13493  func (s *DescribeDBEngineVersionsInput) SetFilters(v []*Filter) *DescribeDBEngineVersionsInput {
 13494  	s.Filters = v
 13495  	return s
 13496  }
 13497  
 13498  // SetListSupportedCharacterSets sets the ListSupportedCharacterSets field's value.
 13499  func (s *DescribeDBEngineVersionsInput) SetListSupportedCharacterSets(v bool) *DescribeDBEngineVersionsInput {
 13500  	s.ListSupportedCharacterSets = &v
 13501  	return s
 13502  }
 13503  
 13504  // SetListSupportedTimezones sets the ListSupportedTimezones field's value.
 13505  func (s *DescribeDBEngineVersionsInput) SetListSupportedTimezones(v bool) *DescribeDBEngineVersionsInput {
 13506  	s.ListSupportedTimezones = &v
 13507  	return s
 13508  }
 13509  
 13510  // SetMarker sets the Marker field's value.
 13511  func (s *DescribeDBEngineVersionsInput) SetMarker(v string) *DescribeDBEngineVersionsInput {
 13512  	s.Marker = &v
 13513  	return s
 13514  }
 13515  
 13516  // SetMaxRecords sets the MaxRecords field's value.
 13517  func (s *DescribeDBEngineVersionsInput) SetMaxRecords(v int64) *DescribeDBEngineVersionsInput {
 13518  	s.MaxRecords = &v
 13519  	return s
 13520  }
 13521  
 13522  type DescribeDBEngineVersionsOutput struct {
 13523  	_ struct{} `type:"structure"`
 13524  
 13525  	// A list of DBEngineVersion elements.
 13526  	DBEngineVersions []*DBEngineVersion `locationNameList:"DBEngineVersion" type:"list"`
 13527  
 13528  	// An optional pagination token provided by a previous request. If this parameter
 13529  	// is specified, the response includes only records beyond the marker, up to
 13530  	// the value specified by MaxRecords.
 13531  	Marker *string `type:"string"`
 13532  }
 13533  
 13534  // String returns the string representation.
 13535  //
 13536  // API parameter values that are decorated as "sensitive" in the API will not
 13537  // be included in the string output. The member name will be present, but the
 13538  // value will be replaced with "sensitive".
 13539  func (s DescribeDBEngineVersionsOutput) String() string {
 13540  	return awsutil.Prettify(s)
 13541  }
 13542  
 13543  // GoString returns the string representation.
 13544  //
 13545  // API parameter values that are decorated as "sensitive" in the API will not
 13546  // be included in the string output. The member name will be present, but the
 13547  // value will be replaced with "sensitive".
 13548  func (s DescribeDBEngineVersionsOutput) GoString() string {
 13549  	return s.String()
 13550  }
 13551  
 13552  // SetDBEngineVersions sets the DBEngineVersions field's value.
 13553  func (s *DescribeDBEngineVersionsOutput) SetDBEngineVersions(v []*DBEngineVersion) *DescribeDBEngineVersionsOutput {
 13554  	s.DBEngineVersions = v
 13555  	return s
 13556  }
 13557  
 13558  // SetMarker sets the Marker field's value.
 13559  func (s *DescribeDBEngineVersionsOutput) SetMarker(v string) *DescribeDBEngineVersionsOutput {
 13560  	s.Marker = &v
 13561  	return s
 13562  }
 13563  
 13564  type DescribeDBInstancesInput struct {
 13565  	_ struct{} `type:"structure"`
 13566  
 13567  	// The user-supplied instance identifier. If this parameter is specified, information
 13568  	// from only the specific DB instance is returned. This parameter isn't case-sensitive.
 13569  	//
 13570  	// Constraints:
 13571  	//
 13572  	//    * If supplied, must match the identifier of an existing DBInstance.
 13573  	DBInstanceIdentifier *string `type:"string"`
 13574  
 13575  	// A filter that specifies one or more DB instances to describe.
 13576  	//
 13577  	// Supported filters:
 13578  	//
 13579  	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
 13580  	//    Resource Names (ARNs). The results list will only include information
 13581  	//    about the DB instances associated with the DB clusters identified by these
 13582  	//    ARNs.
 13583  	//
 13584  	//    * engine - Accepts an engine name (such as neptune), and restricts the
 13585  	//    results list to DB instances created by that engine.
 13586  	//
 13587  	// For example, to invoke this API from the Amazon CLI and filter so that only
 13588  	// Neptune DB instances are returned, you could use the following command:
 13589  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 13590  
 13591  	// An optional pagination token provided by a previous DescribeDBInstances request.
 13592  	// If this parameter is specified, the response includes only records beyond
 13593  	// the marker, up to the value specified by MaxRecords.
 13594  	Marker *string `type:"string"`
 13595  
 13596  	// The maximum number of records to include in the response. If more records
 13597  	// exist than the specified MaxRecords value, a pagination token called a marker
 13598  	// is included in the response so that the remaining results can be retrieved.
 13599  	//
 13600  	// Default: 100
 13601  	//
 13602  	// Constraints: Minimum 20, maximum 100.
 13603  	MaxRecords *int64 `type:"integer"`
 13604  }
 13605  
 13606  // String returns the string representation.
 13607  //
 13608  // API parameter values that are decorated as "sensitive" in the API will not
 13609  // be included in the string output. The member name will be present, but the
 13610  // value will be replaced with "sensitive".
 13611  func (s DescribeDBInstancesInput) String() string {
 13612  	return awsutil.Prettify(s)
 13613  }
 13614  
 13615  // GoString returns the string representation.
 13616  //
 13617  // API parameter values that are decorated as "sensitive" in the API will not
 13618  // be included in the string output. The member name will be present, but the
 13619  // value will be replaced with "sensitive".
 13620  func (s DescribeDBInstancesInput) GoString() string {
 13621  	return s.String()
 13622  }
 13623  
 13624  // Validate inspects the fields of the type to determine if they are valid.
 13625  func (s *DescribeDBInstancesInput) Validate() error {
 13626  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstancesInput"}
 13627  	if s.Filters != nil {
 13628  		for i, v := range s.Filters {
 13629  			if v == nil {
 13630  				continue
 13631  			}
 13632  			if err := v.Validate(); err != nil {
 13633  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 13634  			}
 13635  		}
 13636  	}
 13637  
 13638  	if invalidParams.Len() > 0 {
 13639  		return invalidParams
 13640  	}
 13641  	return nil
 13642  }
 13643  
 13644  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 13645  func (s *DescribeDBInstancesInput) SetDBInstanceIdentifier(v string) *DescribeDBInstancesInput {
 13646  	s.DBInstanceIdentifier = &v
 13647  	return s
 13648  }
 13649  
 13650  // SetFilters sets the Filters field's value.
 13651  func (s *DescribeDBInstancesInput) SetFilters(v []*Filter) *DescribeDBInstancesInput {
 13652  	s.Filters = v
 13653  	return s
 13654  }
 13655  
 13656  // SetMarker sets the Marker field's value.
 13657  func (s *DescribeDBInstancesInput) SetMarker(v string) *DescribeDBInstancesInput {
 13658  	s.Marker = &v
 13659  	return s
 13660  }
 13661  
 13662  // SetMaxRecords sets the MaxRecords field's value.
 13663  func (s *DescribeDBInstancesInput) SetMaxRecords(v int64) *DescribeDBInstancesInput {
 13664  	s.MaxRecords = &v
 13665  	return s
 13666  }
 13667  
 13668  type DescribeDBInstancesOutput struct {
 13669  	_ struct{} `type:"structure"`
 13670  
 13671  	// A list of DBInstance instances.
 13672  	DBInstances []*DBInstance `locationNameList:"DBInstance" type:"list"`
 13673  
 13674  	// An optional pagination token provided by a previous request. If this parameter
 13675  	// is specified, the response includes only records beyond the marker, up to
 13676  	// the value specified by MaxRecords .
 13677  	Marker *string `type:"string"`
 13678  }
 13679  
 13680  // String returns the string representation.
 13681  //
 13682  // API parameter values that are decorated as "sensitive" in the API will not
 13683  // be included in the string output. The member name will be present, but the
 13684  // value will be replaced with "sensitive".
 13685  func (s DescribeDBInstancesOutput) String() string {
 13686  	return awsutil.Prettify(s)
 13687  }
 13688  
 13689  // GoString returns the string representation.
 13690  //
 13691  // API parameter values that are decorated as "sensitive" in the API will not
 13692  // be included in the string output. The member name will be present, but the
 13693  // value will be replaced with "sensitive".
 13694  func (s DescribeDBInstancesOutput) GoString() string {
 13695  	return s.String()
 13696  }
 13697  
 13698  // SetDBInstances sets the DBInstances field's value.
 13699  func (s *DescribeDBInstancesOutput) SetDBInstances(v []*DBInstance) *DescribeDBInstancesOutput {
 13700  	s.DBInstances = v
 13701  	return s
 13702  }
 13703  
 13704  // SetMarker sets the Marker field's value.
 13705  func (s *DescribeDBInstancesOutput) SetMarker(v string) *DescribeDBInstancesOutput {
 13706  	s.Marker = &v
 13707  	return s
 13708  }
 13709  
 13710  type DescribeDBParameterGroupsInput struct {
 13711  	_ struct{} `type:"structure"`
 13712  
 13713  	// The name of a specific DB parameter group to return details for.
 13714  	//
 13715  	// Constraints:
 13716  	//
 13717  	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
 13718  	DBParameterGroupName *string `type:"string"`
 13719  
 13720  	// This parameter is not currently supported.
 13721  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 13722  
 13723  	// An optional pagination token provided by a previous DescribeDBParameterGroups
 13724  	// request. If this parameter is specified, the response includes only records
 13725  	// beyond the marker, up to the value specified by MaxRecords.
 13726  	Marker *string `type:"string"`
 13727  
 13728  	// The maximum number of records to include in the response. If more records
 13729  	// exist than the specified MaxRecords value, a pagination token called a marker
 13730  	// is included in the response so that the remaining results can be retrieved.
 13731  	//
 13732  	// Default: 100
 13733  	//
 13734  	// Constraints: Minimum 20, maximum 100.
 13735  	MaxRecords *int64 `type:"integer"`
 13736  }
 13737  
 13738  // String returns the string representation.
 13739  //
 13740  // API parameter values that are decorated as "sensitive" in the API will not
 13741  // be included in the string output. The member name will be present, but the
 13742  // value will be replaced with "sensitive".
 13743  func (s DescribeDBParameterGroupsInput) String() string {
 13744  	return awsutil.Prettify(s)
 13745  }
 13746  
 13747  // GoString returns the string representation.
 13748  //
 13749  // API parameter values that are decorated as "sensitive" in the API will not
 13750  // be included in the string output. The member name will be present, but the
 13751  // value will be replaced with "sensitive".
 13752  func (s DescribeDBParameterGroupsInput) GoString() string {
 13753  	return s.String()
 13754  }
 13755  
 13756  // Validate inspects the fields of the type to determine if they are valid.
 13757  func (s *DescribeDBParameterGroupsInput) Validate() error {
 13758  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParameterGroupsInput"}
 13759  	if s.Filters != nil {
 13760  		for i, v := range s.Filters {
 13761  			if v == nil {
 13762  				continue
 13763  			}
 13764  			if err := v.Validate(); err != nil {
 13765  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 13766  			}
 13767  		}
 13768  	}
 13769  
 13770  	if invalidParams.Len() > 0 {
 13771  		return invalidParams
 13772  	}
 13773  	return nil
 13774  }
 13775  
 13776  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 13777  func (s *DescribeDBParameterGroupsInput) SetDBParameterGroupName(v string) *DescribeDBParameterGroupsInput {
 13778  	s.DBParameterGroupName = &v
 13779  	return s
 13780  }
 13781  
 13782  // SetFilters sets the Filters field's value.
 13783  func (s *DescribeDBParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBParameterGroupsInput {
 13784  	s.Filters = v
 13785  	return s
 13786  }
 13787  
 13788  // SetMarker sets the Marker field's value.
 13789  func (s *DescribeDBParameterGroupsInput) SetMarker(v string) *DescribeDBParameterGroupsInput {
 13790  	s.Marker = &v
 13791  	return s
 13792  }
 13793  
 13794  // SetMaxRecords sets the MaxRecords field's value.
 13795  func (s *DescribeDBParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBParameterGroupsInput {
 13796  	s.MaxRecords = &v
 13797  	return s
 13798  }
 13799  
 13800  type DescribeDBParameterGroupsOutput struct {
 13801  	_ struct{} `type:"structure"`
 13802  
 13803  	// A list of DBParameterGroup instances.
 13804  	DBParameterGroups []*DBParameterGroup `locationNameList:"DBParameterGroup" type:"list"`
 13805  
 13806  	// An optional pagination token provided by a previous request. If this parameter
 13807  	// is specified, the response includes only records beyond the marker, up to
 13808  	// the value specified by MaxRecords.
 13809  	Marker *string `type:"string"`
 13810  }
 13811  
 13812  // String returns the string representation.
 13813  //
 13814  // API parameter values that are decorated as "sensitive" in the API will not
 13815  // be included in the string output. The member name will be present, but the
 13816  // value will be replaced with "sensitive".
 13817  func (s DescribeDBParameterGroupsOutput) String() string {
 13818  	return awsutil.Prettify(s)
 13819  }
 13820  
 13821  // GoString returns the string representation.
 13822  //
 13823  // API parameter values that are decorated as "sensitive" in the API will not
 13824  // be included in the string output. The member name will be present, but the
 13825  // value will be replaced with "sensitive".
 13826  func (s DescribeDBParameterGroupsOutput) GoString() string {
 13827  	return s.String()
 13828  }
 13829  
 13830  // SetDBParameterGroups sets the DBParameterGroups field's value.
 13831  func (s *DescribeDBParameterGroupsOutput) SetDBParameterGroups(v []*DBParameterGroup) *DescribeDBParameterGroupsOutput {
 13832  	s.DBParameterGroups = v
 13833  	return s
 13834  }
 13835  
 13836  // SetMarker sets the Marker field's value.
 13837  func (s *DescribeDBParameterGroupsOutput) SetMarker(v string) *DescribeDBParameterGroupsOutput {
 13838  	s.Marker = &v
 13839  	return s
 13840  }
 13841  
 13842  type DescribeDBParametersInput struct {
 13843  	_ struct{} `type:"structure"`
 13844  
 13845  	// The name of a specific DB parameter group to return details for.
 13846  	//
 13847  	// Constraints:
 13848  	//
 13849  	//    * If supplied, must match the name of an existing DBParameterGroup.
 13850  	//
 13851  	// DBParameterGroupName is a required field
 13852  	DBParameterGroupName *string `type:"string" required:"true"`
 13853  
 13854  	// This parameter is not currently supported.
 13855  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 13856  
 13857  	// An optional pagination token provided by a previous DescribeDBParameters
 13858  	// request. If this parameter is specified, the response includes only records
 13859  	// beyond the marker, up to the value specified by MaxRecords.
 13860  	Marker *string `type:"string"`
 13861  
 13862  	// The maximum number of records to include in the response. If more records
 13863  	// exist than the specified MaxRecords value, a pagination token called a marker
 13864  	// is included in the response so that the remaining results can be retrieved.
 13865  	//
 13866  	// Default: 100
 13867  	//
 13868  	// Constraints: Minimum 20, maximum 100.
 13869  	MaxRecords *int64 `type:"integer"`
 13870  
 13871  	// The parameter types to return.
 13872  	//
 13873  	// Default: All parameter types returned
 13874  	//
 13875  	// Valid Values: user | system | engine-default
 13876  	Source *string `type:"string"`
 13877  }
 13878  
 13879  // String returns the string representation.
 13880  //
 13881  // API parameter values that are decorated as "sensitive" in the API will not
 13882  // be included in the string output. The member name will be present, but the
 13883  // value will be replaced with "sensitive".
 13884  func (s DescribeDBParametersInput) String() string {
 13885  	return awsutil.Prettify(s)
 13886  }
 13887  
 13888  // GoString returns the string representation.
 13889  //
 13890  // API parameter values that are decorated as "sensitive" in the API will not
 13891  // be included in the string output. The member name will be present, but the
 13892  // value will be replaced with "sensitive".
 13893  func (s DescribeDBParametersInput) GoString() string {
 13894  	return s.String()
 13895  }
 13896  
 13897  // Validate inspects the fields of the type to determine if they are valid.
 13898  func (s *DescribeDBParametersInput) Validate() error {
 13899  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParametersInput"}
 13900  	if s.DBParameterGroupName == nil {
 13901  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
 13902  	}
 13903  	if s.Filters != nil {
 13904  		for i, v := range s.Filters {
 13905  			if v == nil {
 13906  				continue
 13907  			}
 13908  			if err := v.Validate(); err != nil {
 13909  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 13910  			}
 13911  		}
 13912  	}
 13913  
 13914  	if invalidParams.Len() > 0 {
 13915  		return invalidParams
 13916  	}
 13917  	return nil
 13918  }
 13919  
 13920  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 13921  func (s *DescribeDBParametersInput) SetDBParameterGroupName(v string) *DescribeDBParametersInput {
 13922  	s.DBParameterGroupName = &v
 13923  	return s
 13924  }
 13925  
 13926  // SetFilters sets the Filters field's value.
 13927  func (s *DescribeDBParametersInput) SetFilters(v []*Filter) *DescribeDBParametersInput {
 13928  	s.Filters = v
 13929  	return s
 13930  }
 13931  
 13932  // SetMarker sets the Marker field's value.
 13933  func (s *DescribeDBParametersInput) SetMarker(v string) *DescribeDBParametersInput {
 13934  	s.Marker = &v
 13935  	return s
 13936  }
 13937  
 13938  // SetMaxRecords sets the MaxRecords field's value.
 13939  func (s *DescribeDBParametersInput) SetMaxRecords(v int64) *DescribeDBParametersInput {
 13940  	s.MaxRecords = &v
 13941  	return s
 13942  }
 13943  
 13944  // SetSource sets the Source field's value.
 13945  func (s *DescribeDBParametersInput) SetSource(v string) *DescribeDBParametersInput {
 13946  	s.Source = &v
 13947  	return s
 13948  }
 13949  
 13950  type DescribeDBParametersOutput struct {
 13951  	_ struct{} `type:"structure"`
 13952  
 13953  	// An optional pagination token provided by a previous request. If this parameter
 13954  	// is specified, the response includes only records beyond the marker, up to
 13955  	// the value specified by MaxRecords.
 13956  	Marker *string `type:"string"`
 13957  
 13958  	// A list of Parameter values.
 13959  	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
 13960  }
 13961  
 13962  // String returns the string representation.
 13963  //
 13964  // API parameter values that are decorated as "sensitive" in the API will not
 13965  // be included in the string output. The member name will be present, but the
 13966  // value will be replaced with "sensitive".
 13967  func (s DescribeDBParametersOutput) String() string {
 13968  	return awsutil.Prettify(s)
 13969  }
 13970  
 13971  // GoString returns the string representation.
 13972  //
 13973  // API parameter values that are decorated as "sensitive" in the API will not
 13974  // be included in the string output. The member name will be present, but the
 13975  // value will be replaced with "sensitive".
 13976  func (s DescribeDBParametersOutput) GoString() string {
 13977  	return s.String()
 13978  }
 13979  
 13980  // SetMarker sets the Marker field's value.
 13981  func (s *DescribeDBParametersOutput) SetMarker(v string) *DescribeDBParametersOutput {
 13982  	s.Marker = &v
 13983  	return s
 13984  }
 13985  
 13986  // SetParameters sets the Parameters field's value.
 13987  func (s *DescribeDBParametersOutput) SetParameters(v []*Parameter) *DescribeDBParametersOutput {
 13988  	s.Parameters = v
 13989  	return s
 13990  }
 13991  
 13992  type DescribeDBSubnetGroupsInput struct {
 13993  	_ struct{} `type:"structure"`
 13994  
 13995  	// The name of the DB subnet group to return details for.
 13996  	DBSubnetGroupName *string `type:"string"`
 13997  
 13998  	// This parameter is not currently supported.
 13999  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 14000  
 14001  	// An optional pagination token provided by a previous DescribeDBSubnetGroups
 14002  	// request. If this parameter is specified, the response includes only records
 14003  	// beyond the marker, up to the value specified by MaxRecords.
 14004  	Marker *string `type:"string"`
 14005  
 14006  	// The maximum number of records to include in the response. If more records
 14007  	// exist than the specified MaxRecords value, a pagination token called a marker
 14008  	// is included in the response so that the remaining results can be retrieved.
 14009  	//
 14010  	// Default: 100
 14011  	//
 14012  	// Constraints: Minimum 20, maximum 100.
 14013  	MaxRecords *int64 `type:"integer"`
 14014  }
 14015  
 14016  // String returns the string representation.
 14017  //
 14018  // API parameter values that are decorated as "sensitive" in the API will not
 14019  // be included in the string output. The member name will be present, but the
 14020  // value will be replaced with "sensitive".
 14021  func (s DescribeDBSubnetGroupsInput) String() string {
 14022  	return awsutil.Prettify(s)
 14023  }
 14024  
 14025  // GoString returns the string representation.
 14026  //
 14027  // API parameter values that are decorated as "sensitive" in the API will not
 14028  // be included in the string output. The member name will be present, but the
 14029  // value will be replaced with "sensitive".
 14030  func (s DescribeDBSubnetGroupsInput) GoString() string {
 14031  	return s.String()
 14032  }
 14033  
 14034  // Validate inspects the fields of the type to determine if they are valid.
 14035  func (s *DescribeDBSubnetGroupsInput) Validate() error {
 14036  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSubnetGroupsInput"}
 14037  	if s.Filters != nil {
 14038  		for i, v := range s.Filters {
 14039  			if v == nil {
 14040  				continue
 14041  			}
 14042  			if err := v.Validate(); err != nil {
 14043  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 14044  			}
 14045  		}
 14046  	}
 14047  
 14048  	if invalidParams.Len() > 0 {
 14049  		return invalidParams
 14050  	}
 14051  	return nil
 14052  }
 14053  
 14054  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 14055  func (s *DescribeDBSubnetGroupsInput) SetDBSubnetGroupName(v string) *DescribeDBSubnetGroupsInput {
 14056  	s.DBSubnetGroupName = &v
 14057  	return s
 14058  }
 14059  
 14060  // SetFilters sets the Filters field's value.
 14061  func (s *DescribeDBSubnetGroupsInput) SetFilters(v []*Filter) *DescribeDBSubnetGroupsInput {
 14062  	s.Filters = v
 14063  	return s
 14064  }
 14065  
 14066  // SetMarker sets the Marker field's value.
 14067  func (s *DescribeDBSubnetGroupsInput) SetMarker(v string) *DescribeDBSubnetGroupsInput {
 14068  	s.Marker = &v
 14069  	return s
 14070  }
 14071  
 14072  // SetMaxRecords sets the MaxRecords field's value.
 14073  func (s *DescribeDBSubnetGroupsInput) SetMaxRecords(v int64) *DescribeDBSubnetGroupsInput {
 14074  	s.MaxRecords = &v
 14075  	return s
 14076  }
 14077  
 14078  type DescribeDBSubnetGroupsOutput struct {
 14079  	_ struct{} `type:"structure"`
 14080  
 14081  	// A list of DBSubnetGroup instances.
 14082  	DBSubnetGroups []*DBSubnetGroup `locationNameList:"DBSubnetGroup" type:"list"`
 14083  
 14084  	// An optional pagination token provided by a previous request. If this parameter
 14085  	// is specified, the response includes only records beyond the marker, up to
 14086  	// the value specified by MaxRecords.
 14087  	Marker *string `type:"string"`
 14088  }
 14089  
 14090  // String returns the string representation.
 14091  //
 14092  // API parameter values that are decorated as "sensitive" in the API will not
 14093  // be included in the string output. The member name will be present, but the
 14094  // value will be replaced with "sensitive".
 14095  func (s DescribeDBSubnetGroupsOutput) String() string {
 14096  	return awsutil.Prettify(s)
 14097  }
 14098  
 14099  // GoString returns the string representation.
 14100  //
 14101  // API parameter values that are decorated as "sensitive" in the API will not
 14102  // be included in the string output. The member name will be present, but the
 14103  // value will be replaced with "sensitive".
 14104  func (s DescribeDBSubnetGroupsOutput) GoString() string {
 14105  	return s.String()
 14106  }
 14107  
 14108  // SetDBSubnetGroups sets the DBSubnetGroups field's value.
 14109  func (s *DescribeDBSubnetGroupsOutput) SetDBSubnetGroups(v []*DBSubnetGroup) *DescribeDBSubnetGroupsOutput {
 14110  	s.DBSubnetGroups = v
 14111  	return s
 14112  }
 14113  
 14114  // SetMarker sets the Marker field's value.
 14115  func (s *DescribeDBSubnetGroupsOutput) SetMarker(v string) *DescribeDBSubnetGroupsOutput {
 14116  	s.Marker = &v
 14117  	return s
 14118  }
 14119  
 14120  type DescribeEngineDefaultClusterParametersInput struct {
 14121  	_ struct{} `type:"structure"`
 14122  
 14123  	// The name of the DB cluster parameter group family to return engine parameter
 14124  	// information for.
 14125  	//
 14126  	// DBParameterGroupFamily is a required field
 14127  	DBParameterGroupFamily *string `type:"string" required:"true"`
 14128  
 14129  	// This parameter is not currently supported.
 14130  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 14131  
 14132  	// An optional pagination token provided by a previous DescribeEngineDefaultClusterParameters
 14133  	// request. If this parameter is specified, the response includes only records
 14134  	// beyond the marker, up to the value specified by MaxRecords.
 14135  	Marker *string `type:"string"`
 14136  
 14137  	// The maximum number of records to include in the response. If more records
 14138  	// exist than the specified MaxRecords value, a pagination token called a marker
 14139  	// is included in the response so that the remaining results can be retrieved.
 14140  	//
 14141  	// Default: 100
 14142  	//
 14143  	// Constraints: Minimum 20, maximum 100.
 14144  	MaxRecords *int64 `type:"integer"`
 14145  }
 14146  
 14147  // String returns the string representation.
 14148  //
 14149  // API parameter values that are decorated as "sensitive" in the API will not
 14150  // be included in the string output. The member name will be present, but the
 14151  // value will be replaced with "sensitive".
 14152  func (s DescribeEngineDefaultClusterParametersInput) String() string {
 14153  	return awsutil.Prettify(s)
 14154  }
 14155  
 14156  // GoString returns the string representation.
 14157  //
 14158  // API parameter values that are decorated as "sensitive" in the API will not
 14159  // be included in the string output. The member name will be present, but the
 14160  // value will be replaced with "sensitive".
 14161  func (s DescribeEngineDefaultClusterParametersInput) GoString() string {
 14162  	return s.String()
 14163  }
 14164  
 14165  // Validate inspects the fields of the type to determine if they are valid.
 14166  func (s *DescribeEngineDefaultClusterParametersInput) Validate() error {
 14167  	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultClusterParametersInput"}
 14168  	if s.DBParameterGroupFamily == nil {
 14169  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
 14170  	}
 14171  	if s.Filters != nil {
 14172  		for i, v := range s.Filters {
 14173  			if v == nil {
 14174  				continue
 14175  			}
 14176  			if err := v.Validate(); err != nil {
 14177  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 14178  			}
 14179  		}
 14180  	}
 14181  
 14182  	if invalidParams.Len() > 0 {
 14183  		return invalidParams
 14184  	}
 14185  	return nil
 14186  }
 14187  
 14188  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 14189  func (s *DescribeEngineDefaultClusterParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultClusterParametersInput {
 14190  	s.DBParameterGroupFamily = &v
 14191  	return s
 14192  }
 14193  
 14194  // SetFilters sets the Filters field's value.
 14195  func (s *DescribeEngineDefaultClusterParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultClusterParametersInput {
 14196  	s.Filters = v
 14197  	return s
 14198  }
 14199  
 14200  // SetMarker sets the Marker field's value.
 14201  func (s *DescribeEngineDefaultClusterParametersInput) SetMarker(v string) *DescribeEngineDefaultClusterParametersInput {
 14202  	s.Marker = &v
 14203  	return s
 14204  }
 14205  
 14206  // SetMaxRecords sets the MaxRecords field's value.
 14207  func (s *DescribeEngineDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultClusterParametersInput {
 14208  	s.MaxRecords = &v
 14209  	return s
 14210  }
 14211  
 14212  type DescribeEngineDefaultClusterParametersOutput struct {
 14213  	_ struct{} `type:"structure"`
 14214  
 14215  	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
 14216  	// action.
 14217  	EngineDefaults *EngineDefaults `type:"structure"`
 14218  }
 14219  
 14220  // String returns the string representation.
 14221  //
 14222  // API parameter values that are decorated as "sensitive" in the API will not
 14223  // be included in the string output. The member name will be present, but the
 14224  // value will be replaced with "sensitive".
 14225  func (s DescribeEngineDefaultClusterParametersOutput) String() string {
 14226  	return awsutil.Prettify(s)
 14227  }
 14228  
 14229  // GoString 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 DescribeEngineDefaultClusterParametersOutput) GoString() string {
 14235  	return s.String()
 14236  }
 14237  
 14238  // SetEngineDefaults sets the EngineDefaults field's value.
 14239  func (s *DescribeEngineDefaultClusterParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultClusterParametersOutput {
 14240  	s.EngineDefaults = v
 14241  	return s
 14242  }
 14243  
 14244  type DescribeEngineDefaultParametersInput struct {
 14245  	_ struct{} `type:"structure"`
 14246  
 14247  	// The name of the DB parameter group family.
 14248  	//
 14249  	// DBParameterGroupFamily is a required field
 14250  	DBParameterGroupFamily *string `type:"string" required:"true"`
 14251  
 14252  	// Not currently supported.
 14253  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 14254  
 14255  	// An optional pagination token provided by a previous DescribeEngineDefaultParameters
 14256  	// request. If this parameter is specified, the response includes only records
 14257  	// beyond the marker, up to the value specified by MaxRecords.
 14258  	Marker *string `type:"string"`
 14259  
 14260  	// The maximum number of records to include in the response. If more records
 14261  	// exist than the specified MaxRecords value, a pagination token called a marker
 14262  	// is included in the response so that the remaining results can be retrieved.
 14263  	//
 14264  	// Default: 100
 14265  	//
 14266  	// Constraints: Minimum 20, maximum 100.
 14267  	MaxRecords *int64 `type:"integer"`
 14268  }
 14269  
 14270  // String returns the string representation.
 14271  //
 14272  // API parameter values that are decorated as "sensitive" in the API will not
 14273  // be included in the string output. The member name will be present, but the
 14274  // value will be replaced with "sensitive".
 14275  func (s DescribeEngineDefaultParametersInput) String() string {
 14276  	return awsutil.Prettify(s)
 14277  }
 14278  
 14279  // GoString returns the string representation.
 14280  //
 14281  // API parameter values that are decorated as "sensitive" in the API will not
 14282  // be included in the string output. The member name will be present, but the
 14283  // value will be replaced with "sensitive".
 14284  func (s DescribeEngineDefaultParametersInput) GoString() string {
 14285  	return s.String()
 14286  }
 14287  
 14288  // Validate inspects the fields of the type to determine if they are valid.
 14289  func (s *DescribeEngineDefaultParametersInput) Validate() error {
 14290  	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"}
 14291  	if s.DBParameterGroupFamily == nil {
 14292  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
 14293  	}
 14294  	if s.Filters != nil {
 14295  		for i, v := range s.Filters {
 14296  			if v == nil {
 14297  				continue
 14298  			}
 14299  			if err := v.Validate(); err != nil {
 14300  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 14301  			}
 14302  		}
 14303  	}
 14304  
 14305  	if invalidParams.Len() > 0 {
 14306  		return invalidParams
 14307  	}
 14308  	return nil
 14309  }
 14310  
 14311  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 14312  func (s *DescribeEngineDefaultParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultParametersInput {
 14313  	s.DBParameterGroupFamily = &v
 14314  	return s
 14315  }
 14316  
 14317  // SetFilters sets the Filters field's value.
 14318  func (s *DescribeEngineDefaultParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultParametersInput {
 14319  	s.Filters = v
 14320  	return s
 14321  }
 14322  
 14323  // SetMarker sets the Marker field's value.
 14324  func (s *DescribeEngineDefaultParametersInput) SetMarker(v string) *DescribeEngineDefaultParametersInput {
 14325  	s.Marker = &v
 14326  	return s
 14327  }
 14328  
 14329  // SetMaxRecords sets the MaxRecords field's value.
 14330  func (s *DescribeEngineDefaultParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultParametersInput {
 14331  	s.MaxRecords = &v
 14332  	return s
 14333  }
 14334  
 14335  type DescribeEngineDefaultParametersOutput struct {
 14336  	_ struct{} `type:"structure"`
 14337  
 14338  	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
 14339  	// action.
 14340  	EngineDefaults *EngineDefaults `type:"structure"`
 14341  }
 14342  
 14343  // String returns the string representation.
 14344  //
 14345  // API parameter values that are decorated as "sensitive" in the API will not
 14346  // be included in the string output. The member name will be present, but the
 14347  // value will be replaced with "sensitive".
 14348  func (s DescribeEngineDefaultParametersOutput) String() string {
 14349  	return awsutil.Prettify(s)
 14350  }
 14351  
 14352  // GoString returns the string representation.
 14353  //
 14354  // API parameter values that are decorated as "sensitive" in the API will not
 14355  // be included in the string output. The member name will be present, but the
 14356  // value will be replaced with "sensitive".
 14357  func (s DescribeEngineDefaultParametersOutput) GoString() string {
 14358  	return s.String()
 14359  }
 14360  
 14361  // SetEngineDefaults sets the EngineDefaults field's value.
 14362  func (s *DescribeEngineDefaultParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultParametersOutput {
 14363  	s.EngineDefaults = v
 14364  	return s
 14365  }
 14366  
 14367  type DescribeEventCategoriesInput struct {
 14368  	_ struct{} `type:"structure"`
 14369  
 14370  	// This parameter is not currently supported.
 14371  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 14372  
 14373  	// The type of source that is generating the events.
 14374  	//
 14375  	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
 14376  	SourceType *string `type:"string"`
 14377  }
 14378  
 14379  // String returns the string representation.
 14380  //
 14381  // API parameter values that are decorated as "sensitive" in the API will not
 14382  // be included in the string output. The member name will be present, but the
 14383  // value will be replaced with "sensitive".
 14384  func (s DescribeEventCategoriesInput) String() string {
 14385  	return awsutil.Prettify(s)
 14386  }
 14387  
 14388  // GoString returns the string representation.
 14389  //
 14390  // API parameter values that are decorated as "sensitive" in the API will not
 14391  // be included in the string output. The member name will be present, but the
 14392  // value will be replaced with "sensitive".
 14393  func (s DescribeEventCategoriesInput) GoString() string {
 14394  	return s.String()
 14395  }
 14396  
 14397  // Validate inspects the fields of the type to determine if they are valid.
 14398  func (s *DescribeEventCategoriesInput) Validate() error {
 14399  	invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"}
 14400  	if s.Filters != nil {
 14401  		for i, v := range s.Filters {
 14402  			if v == nil {
 14403  				continue
 14404  			}
 14405  			if err := v.Validate(); err != nil {
 14406  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 14407  			}
 14408  		}
 14409  	}
 14410  
 14411  	if invalidParams.Len() > 0 {
 14412  		return invalidParams
 14413  	}
 14414  	return nil
 14415  }
 14416  
 14417  // SetFilters sets the Filters field's value.
 14418  func (s *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput {
 14419  	s.Filters = v
 14420  	return s
 14421  }
 14422  
 14423  // SetSourceType sets the SourceType field's value.
 14424  func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput {
 14425  	s.SourceType = &v
 14426  	return s
 14427  }
 14428  
 14429  type DescribeEventCategoriesOutput struct {
 14430  	_ struct{} `type:"structure"`
 14431  
 14432  	// A list of EventCategoriesMap data types.
 14433  	EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"`
 14434  }
 14435  
 14436  // String returns the string representation.
 14437  //
 14438  // API parameter values that are decorated as "sensitive" in the API will not
 14439  // be included in the string output. The member name will be present, but the
 14440  // value will be replaced with "sensitive".
 14441  func (s DescribeEventCategoriesOutput) String() string {
 14442  	return awsutil.Prettify(s)
 14443  }
 14444  
 14445  // GoString returns the string representation.
 14446  //
 14447  // API parameter values that are decorated as "sensitive" in the API will not
 14448  // be included in the string output. The member name will be present, but the
 14449  // value will be replaced with "sensitive".
 14450  func (s DescribeEventCategoriesOutput) GoString() string {
 14451  	return s.String()
 14452  }
 14453  
 14454  // SetEventCategoriesMapList sets the EventCategoriesMapList field's value.
 14455  func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput {
 14456  	s.EventCategoriesMapList = v
 14457  	return s
 14458  }
 14459  
 14460  type DescribeEventSubscriptionsInput struct {
 14461  	_ struct{} `type:"structure"`
 14462  
 14463  	// This parameter is not currently supported.
 14464  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 14465  
 14466  	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
 14467  	// request. If this parameter is specified, the response includes only records
 14468  	// beyond the marker, up to the value specified by MaxRecords .
 14469  	Marker *string `type:"string"`
 14470  
 14471  	// The maximum number of records to include in the response. If more records
 14472  	// exist than the specified MaxRecords value, a pagination token called a marker
 14473  	// is included in the response so that the remaining results can be retrieved.
 14474  	//
 14475  	// Default: 100
 14476  	//
 14477  	// Constraints: Minimum 20, maximum 100.
 14478  	MaxRecords *int64 `type:"integer"`
 14479  
 14480  	// The name of the event notification subscription you want to describe.
 14481  	SubscriptionName *string `type:"string"`
 14482  }
 14483  
 14484  // String returns the string representation.
 14485  //
 14486  // API parameter values that are decorated as "sensitive" in the API will not
 14487  // be included in the string output. The member name will be present, but the
 14488  // value will be replaced with "sensitive".
 14489  func (s DescribeEventSubscriptionsInput) String() string {
 14490  	return awsutil.Prettify(s)
 14491  }
 14492  
 14493  // GoString returns the string representation.
 14494  //
 14495  // API parameter values that are decorated as "sensitive" in the API will not
 14496  // be included in the string output. The member name will be present, but the
 14497  // value will be replaced with "sensitive".
 14498  func (s DescribeEventSubscriptionsInput) GoString() string {
 14499  	return s.String()
 14500  }
 14501  
 14502  // Validate inspects the fields of the type to determine if they are valid.
 14503  func (s *DescribeEventSubscriptionsInput) Validate() error {
 14504  	invalidParams := request.ErrInvalidParams{Context: "DescribeEventSubscriptionsInput"}
 14505  	if s.Filters != nil {
 14506  		for i, v := range s.Filters {
 14507  			if v == nil {
 14508  				continue
 14509  			}
 14510  			if err := v.Validate(); err != nil {
 14511  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 14512  			}
 14513  		}
 14514  	}
 14515  
 14516  	if invalidParams.Len() > 0 {
 14517  		return invalidParams
 14518  	}
 14519  	return nil
 14520  }
 14521  
 14522  // SetFilters sets the Filters field's value.
 14523  func (s *DescribeEventSubscriptionsInput) SetFilters(v []*Filter) *DescribeEventSubscriptionsInput {
 14524  	s.Filters = v
 14525  	return s
 14526  }
 14527  
 14528  // SetMarker sets the Marker field's value.
 14529  func (s *DescribeEventSubscriptionsInput) SetMarker(v string) *DescribeEventSubscriptionsInput {
 14530  	s.Marker = &v
 14531  	return s
 14532  }
 14533  
 14534  // SetMaxRecords sets the MaxRecords field's value.
 14535  func (s *DescribeEventSubscriptionsInput) SetMaxRecords(v int64) *DescribeEventSubscriptionsInput {
 14536  	s.MaxRecords = &v
 14537  	return s
 14538  }
 14539  
 14540  // SetSubscriptionName sets the SubscriptionName field's value.
 14541  func (s *DescribeEventSubscriptionsInput) SetSubscriptionName(v string) *DescribeEventSubscriptionsInput {
 14542  	s.SubscriptionName = &v
 14543  	return s
 14544  }
 14545  
 14546  type DescribeEventSubscriptionsOutput struct {
 14547  	_ struct{} `type:"structure"`
 14548  
 14549  	// A list of EventSubscriptions data types.
 14550  	EventSubscriptionsList []*EventSubscription `locationNameList:"EventSubscription" type:"list"`
 14551  
 14552  	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
 14553  	// request. If this parameter is specified, the response includes only records
 14554  	// beyond the marker, up to the value specified by MaxRecords.
 14555  	Marker *string `type:"string"`
 14556  }
 14557  
 14558  // String returns the string representation.
 14559  //
 14560  // API parameter values that are decorated as "sensitive" in the API will not
 14561  // be included in the string output. The member name will be present, but the
 14562  // value will be replaced with "sensitive".
 14563  func (s DescribeEventSubscriptionsOutput) String() string {
 14564  	return awsutil.Prettify(s)
 14565  }
 14566  
 14567  // GoString returns the string representation.
 14568  //
 14569  // API parameter values that are decorated as "sensitive" in the API will not
 14570  // be included in the string output. The member name will be present, but the
 14571  // value will be replaced with "sensitive".
 14572  func (s DescribeEventSubscriptionsOutput) GoString() string {
 14573  	return s.String()
 14574  }
 14575  
 14576  // SetEventSubscriptionsList sets the EventSubscriptionsList field's value.
 14577  func (s *DescribeEventSubscriptionsOutput) SetEventSubscriptionsList(v []*EventSubscription) *DescribeEventSubscriptionsOutput {
 14578  	s.EventSubscriptionsList = v
 14579  	return s
 14580  }
 14581  
 14582  // SetMarker sets the Marker field's value.
 14583  func (s *DescribeEventSubscriptionsOutput) SetMarker(v string) *DescribeEventSubscriptionsOutput {
 14584  	s.Marker = &v
 14585  	return s
 14586  }
 14587  
 14588  type DescribeEventsInput struct {
 14589  	_ struct{} `type:"structure"`
 14590  
 14591  	// The number of minutes to retrieve events for.
 14592  	//
 14593  	// Default: 60
 14594  	Duration *int64 `type:"integer"`
 14595  
 14596  	// The end of the time interval for which to retrieve events, specified in ISO
 14597  	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
 14598  	// page. (http://en.wikipedia.org/wiki/ISO_8601)
 14599  	//
 14600  	// Example: 2009-07-08T18:00Z
 14601  	EndTime *time.Time `type:"timestamp"`
 14602  
 14603  	// A list of event categories that trigger notifications for a event notification
 14604  	// subscription.
 14605  	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
 14606  
 14607  	// This parameter is not currently supported.
 14608  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 14609  
 14610  	// An optional pagination token provided by a previous DescribeEvents request.
 14611  	// If this parameter is specified, the response includes only records beyond
 14612  	// the marker, up to the value specified by MaxRecords.
 14613  	Marker *string `type:"string"`
 14614  
 14615  	// The maximum number of records to include in the response. If more records
 14616  	// exist than the specified MaxRecords value, a pagination token called a marker
 14617  	// is included in the response so that the remaining results can be retrieved.
 14618  	//
 14619  	// Default: 100
 14620  	//
 14621  	// Constraints: Minimum 20, maximum 100.
 14622  	MaxRecords *int64 `type:"integer"`
 14623  
 14624  	// The identifier of the event source for which events are returned. If not
 14625  	// specified, then all sources are included in the response.
 14626  	//
 14627  	// Constraints:
 14628  	//
 14629  	//    * If SourceIdentifier is supplied, SourceType must also be provided.
 14630  	//
 14631  	//    * If the source type is DBInstance, then a DBInstanceIdentifier must be
 14632  	//    supplied.
 14633  	//
 14634  	//    * If the source type is DBSecurityGroup, a DBSecurityGroupName must be
 14635  	//    supplied.
 14636  	//
 14637  	//    * If the source type is DBParameterGroup, a DBParameterGroupName must
 14638  	//    be supplied.
 14639  	//
 14640  	//    * If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied.
 14641  	//
 14642  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
 14643  	SourceIdentifier *string `type:"string"`
 14644  
 14645  	// The event source to retrieve events for. If no value is specified, all events
 14646  	// are returned.
 14647  	SourceType *string `type:"string" enum:"SourceType"`
 14648  
 14649  	// The beginning of the time interval to retrieve events for, specified in ISO
 14650  	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
 14651  	// page. (http://en.wikipedia.org/wiki/ISO_8601)
 14652  	//
 14653  	// Example: 2009-07-08T18:00Z
 14654  	StartTime *time.Time `type:"timestamp"`
 14655  }
 14656  
 14657  // String returns the string representation.
 14658  //
 14659  // API parameter values that are decorated as "sensitive" in the API will not
 14660  // be included in the string output. The member name will be present, but the
 14661  // value will be replaced with "sensitive".
 14662  func (s DescribeEventsInput) String() string {
 14663  	return awsutil.Prettify(s)
 14664  }
 14665  
 14666  // GoString returns the string representation.
 14667  //
 14668  // API parameter values that are decorated as "sensitive" in the API will not
 14669  // be included in the string output. The member name will be present, but the
 14670  // value will be replaced with "sensitive".
 14671  func (s DescribeEventsInput) GoString() string {
 14672  	return s.String()
 14673  }
 14674  
 14675  // Validate inspects the fields of the type to determine if they are valid.
 14676  func (s *DescribeEventsInput) Validate() error {
 14677  	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
 14678  	if s.Filters != nil {
 14679  		for i, v := range s.Filters {
 14680  			if v == nil {
 14681  				continue
 14682  			}
 14683  			if err := v.Validate(); err != nil {
 14684  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 14685  			}
 14686  		}
 14687  	}
 14688  
 14689  	if invalidParams.Len() > 0 {
 14690  		return invalidParams
 14691  	}
 14692  	return nil
 14693  }
 14694  
 14695  // SetDuration sets the Duration field's value.
 14696  func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
 14697  	s.Duration = &v
 14698  	return s
 14699  }
 14700  
 14701  // SetEndTime sets the EndTime field's value.
 14702  func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
 14703  	s.EndTime = &v
 14704  	return s
 14705  }
 14706  
 14707  // SetEventCategories sets the EventCategories field's value.
 14708  func (s *DescribeEventsInput) SetEventCategories(v []*string) *DescribeEventsInput {
 14709  	s.EventCategories = v
 14710  	return s
 14711  }
 14712  
 14713  // SetFilters sets the Filters field's value.
 14714  func (s *DescribeEventsInput) SetFilters(v []*Filter) *DescribeEventsInput {
 14715  	s.Filters = v
 14716  	return s
 14717  }
 14718  
 14719  // SetMarker sets the Marker field's value.
 14720  func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput {
 14721  	s.Marker = &v
 14722  	return s
 14723  }
 14724  
 14725  // SetMaxRecords sets the MaxRecords field's value.
 14726  func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
 14727  	s.MaxRecords = &v
 14728  	return s
 14729  }
 14730  
 14731  // SetSourceIdentifier sets the SourceIdentifier field's value.
 14732  func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput {
 14733  	s.SourceIdentifier = &v
 14734  	return s
 14735  }
 14736  
 14737  // SetSourceType sets the SourceType field's value.
 14738  func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
 14739  	s.SourceType = &v
 14740  	return s
 14741  }
 14742  
 14743  // SetStartTime sets the StartTime field's value.
 14744  func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
 14745  	s.StartTime = &v
 14746  	return s
 14747  }
 14748  
 14749  type DescribeEventsOutput struct {
 14750  	_ struct{} `type:"structure"`
 14751  
 14752  	// A list of Event instances.
 14753  	Events []*Event `locationNameList:"Event" type:"list"`
 14754  
 14755  	// An optional pagination token provided by a previous Events request. If this
 14756  	// parameter is specified, the response includes only records beyond the marker,
 14757  	// up to the value specified by MaxRecords .
 14758  	Marker *string `type:"string"`
 14759  }
 14760  
 14761  // String returns the string representation.
 14762  //
 14763  // API parameter values that are decorated as "sensitive" in the API will not
 14764  // be included in the string output. The member name will be present, but the
 14765  // value will be replaced with "sensitive".
 14766  func (s DescribeEventsOutput) String() string {
 14767  	return awsutil.Prettify(s)
 14768  }
 14769  
 14770  // GoString returns the string representation.
 14771  //
 14772  // API parameter values that are decorated as "sensitive" in the API will not
 14773  // be included in the string output. The member name will be present, but the
 14774  // value will be replaced with "sensitive".
 14775  func (s DescribeEventsOutput) GoString() string {
 14776  	return s.String()
 14777  }
 14778  
 14779  // SetEvents sets the Events field's value.
 14780  func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
 14781  	s.Events = v
 14782  	return s
 14783  }
 14784  
 14785  // SetMarker sets the Marker field's value.
 14786  func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput {
 14787  	s.Marker = &v
 14788  	return s
 14789  }
 14790  
 14791  type DescribeOrderableDBInstanceOptionsInput struct {
 14792  	_ struct{} `type:"structure"`
 14793  
 14794  	// The DB instance class filter value. Specify this parameter to show only the
 14795  	// available offerings matching the specified DB instance class.
 14796  	DBInstanceClass *string `type:"string"`
 14797  
 14798  	// The name of the engine to retrieve DB instance options for.
 14799  	//
 14800  	// Engine is a required field
 14801  	Engine *string `type:"string" required:"true"`
 14802  
 14803  	// The engine version filter value. Specify this parameter to show only the
 14804  	// available offerings matching the specified engine version.
 14805  	EngineVersion *string `type:"string"`
 14806  
 14807  	// This parameter is not currently supported.
 14808  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 14809  
 14810  	// The license model filter value. Specify this parameter to show only the available
 14811  	// offerings matching the specified license model.
 14812  	LicenseModel *string `type:"string"`
 14813  
 14814  	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
 14815  	// request. If this parameter is specified, the response includes only records
 14816  	// beyond the marker, up to the value specified by MaxRecords .
 14817  	Marker *string `type:"string"`
 14818  
 14819  	// The maximum number of records to include in the response. If more records
 14820  	// exist than the specified MaxRecords value, a pagination token called a marker
 14821  	// is included in the response so that the remaining results can be retrieved.
 14822  	//
 14823  	// Default: 100
 14824  	//
 14825  	// Constraints: Minimum 20, maximum 100.
 14826  	MaxRecords *int64 `type:"integer"`
 14827  
 14828  	// The VPC filter value. Specify this parameter to show only the available VPC
 14829  	// or non-VPC offerings.
 14830  	Vpc *bool `type:"boolean"`
 14831  }
 14832  
 14833  // String returns the string representation.
 14834  //
 14835  // API parameter values that are decorated as "sensitive" in the API will not
 14836  // be included in the string output. The member name will be present, but the
 14837  // value will be replaced with "sensitive".
 14838  func (s DescribeOrderableDBInstanceOptionsInput) String() string {
 14839  	return awsutil.Prettify(s)
 14840  }
 14841  
 14842  // GoString returns the string representation.
 14843  //
 14844  // API parameter values that are decorated as "sensitive" in the API will not
 14845  // be included in the string output. The member name will be present, but the
 14846  // value will be replaced with "sensitive".
 14847  func (s DescribeOrderableDBInstanceOptionsInput) GoString() string {
 14848  	return s.String()
 14849  }
 14850  
 14851  // Validate inspects the fields of the type to determine if they are valid.
 14852  func (s *DescribeOrderableDBInstanceOptionsInput) Validate() error {
 14853  	invalidParams := request.ErrInvalidParams{Context: "DescribeOrderableDBInstanceOptionsInput"}
 14854  	if s.Engine == nil {
 14855  		invalidParams.Add(request.NewErrParamRequired("Engine"))
 14856  	}
 14857  	if s.Filters != nil {
 14858  		for i, v := range s.Filters {
 14859  			if v == nil {
 14860  				continue
 14861  			}
 14862  			if err := v.Validate(); err != nil {
 14863  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 14864  			}
 14865  		}
 14866  	}
 14867  
 14868  	if invalidParams.Len() > 0 {
 14869  		return invalidParams
 14870  	}
 14871  	return nil
 14872  }
 14873  
 14874  // SetDBInstanceClass sets the DBInstanceClass field's value.
 14875  func (s *DescribeOrderableDBInstanceOptionsInput) SetDBInstanceClass(v string) *DescribeOrderableDBInstanceOptionsInput {
 14876  	s.DBInstanceClass = &v
 14877  	return s
 14878  }
 14879  
 14880  // SetEngine sets the Engine field's value.
 14881  func (s *DescribeOrderableDBInstanceOptionsInput) SetEngine(v string) *DescribeOrderableDBInstanceOptionsInput {
 14882  	s.Engine = &v
 14883  	return s
 14884  }
 14885  
 14886  // SetEngineVersion sets the EngineVersion field's value.
 14887  func (s *DescribeOrderableDBInstanceOptionsInput) SetEngineVersion(v string) *DescribeOrderableDBInstanceOptionsInput {
 14888  	s.EngineVersion = &v
 14889  	return s
 14890  }
 14891  
 14892  // SetFilters sets the Filters field's value.
 14893  func (s *DescribeOrderableDBInstanceOptionsInput) SetFilters(v []*Filter) *DescribeOrderableDBInstanceOptionsInput {
 14894  	s.Filters = v
 14895  	return s
 14896  }
 14897  
 14898  // SetLicenseModel sets the LicenseModel field's value.
 14899  func (s *DescribeOrderableDBInstanceOptionsInput) SetLicenseModel(v string) *DescribeOrderableDBInstanceOptionsInput {
 14900  	s.LicenseModel = &v
 14901  	return s
 14902  }
 14903  
 14904  // SetMarker sets the Marker field's value.
 14905  func (s *DescribeOrderableDBInstanceOptionsInput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsInput {
 14906  	s.Marker = &v
 14907  	return s
 14908  }
 14909  
 14910  // SetMaxRecords sets the MaxRecords field's value.
 14911  func (s *DescribeOrderableDBInstanceOptionsInput) SetMaxRecords(v int64) *DescribeOrderableDBInstanceOptionsInput {
 14912  	s.MaxRecords = &v
 14913  	return s
 14914  }
 14915  
 14916  // SetVpc sets the Vpc field's value.
 14917  func (s *DescribeOrderableDBInstanceOptionsInput) SetVpc(v bool) *DescribeOrderableDBInstanceOptionsInput {
 14918  	s.Vpc = &v
 14919  	return s
 14920  }
 14921  
 14922  type DescribeOrderableDBInstanceOptionsOutput struct {
 14923  	_ struct{} `type:"structure"`
 14924  
 14925  	// An optional pagination token provided by a previous OrderableDBInstanceOptions
 14926  	// request. If this parameter is specified, the response includes only records
 14927  	// beyond the marker, up to the value specified by MaxRecords .
 14928  	Marker *string `type:"string"`
 14929  
 14930  	// An OrderableDBInstanceOption structure containing information about orderable
 14931  	// options for the DB instance.
 14932  	OrderableDBInstanceOptions []*OrderableDBInstanceOption `locationNameList:"OrderableDBInstanceOption" type:"list"`
 14933  }
 14934  
 14935  // String returns the string representation.
 14936  //
 14937  // API parameter values that are decorated as "sensitive" in the API will not
 14938  // be included in the string output. The member name will be present, but the
 14939  // value will be replaced with "sensitive".
 14940  func (s DescribeOrderableDBInstanceOptionsOutput) String() string {
 14941  	return awsutil.Prettify(s)
 14942  }
 14943  
 14944  // GoString returns the string representation.
 14945  //
 14946  // API parameter values that are decorated as "sensitive" in the API will not
 14947  // be included in the string output. The member name will be present, but the
 14948  // value will be replaced with "sensitive".
 14949  func (s DescribeOrderableDBInstanceOptionsOutput) GoString() string {
 14950  	return s.String()
 14951  }
 14952  
 14953  // SetMarker sets the Marker field's value.
 14954  func (s *DescribeOrderableDBInstanceOptionsOutput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsOutput {
 14955  	s.Marker = &v
 14956  	return s
 14957  }
 14958  
 14959  // SetOrderableDBInstanceOptions sets the OrderableDBInstanceOptions field's value.
 14960  func (s *DescribeOrderableDBInstanceOptionsOutput) SetOrderableDBInstanceOptions(v []*OrderableDBInstanceOption) *DescribeOrderableDBInstanceOptionsOutput {
 14961  	s.OrderableDBInstanceOptions = v
 14962  	return s
 14963  }
 14964  
 14965  type DescribePendingMaintenanceActionsInput struct {
 14966  	_ struct{} `type:"structure"`
 14967  
 14968  	// A filter that specifies one or more resources to return pending maintenance
 14969  	// actions for.
 14970  	//
 14971  	// Supported filters:
 14972  	//
 14973  	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
 14974  	//    Resource Names (ARNs). The results list will only include pending maintenance
 14975  	//    actions for the DB clusters identified by these ARNs.
 14976  	//
 14977  	//    * db-instance-id - Accepts DB instance identifiers and DB instance ARNs.
 14978  	//    The results list will only include pending maintenance actions for the
 14979  	//    DB instances identified by these ARNs.
 14980  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 14981  
 14982  	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
 14983  	// request. If this parameter is specified, the response includes only records
 14984  	// beyond the marker, up to a number of records specified by MaxRecords.
 14985  	Marker *string `type:"string"`
 14986  
 14987  	// The maximum number of records to include in the response. If more records
 14988  	// exist than the specified MaxRecords value, a pagination token called a marker
 14989  	// is included in the response so that the remaining results can be retrieved.
 14990  	//
 14991  	// Default: 100
 14992  	//
 14993  	// Constraints: Minimum 20, maximum 100.
 14994  	MaxRecords *int64 `type:"integer"`
 14995  
 14996  	// The ARN of a resource to return pending maintenance actions for.
 14997  	ResourceIdentifier *string `type:"string"`
 14998  }
 14999  
 15000  // String returns the string representation.
 15001  //
 15002  // API parameter values that are decorated as "sensitive" in the API will not
 15003  // be included in the string output. The member name will be present, but the
 15004  // value will be replaced with "sensitive".
 15005  func (s DescribePendingMaintenanceActionsInput) String() string {
 15006  	return awsutil.Prettify(s)
 15007  }
 15008  
 15009  // GoString returns the string representation.
 15010  //
 15011  // API parameter values that are decorated as "sensitive" in the API will not
 15012  // be included in the string output. The member name will be present, but the
 15013  // value will be replaced with "sensitive".
 15014  func (s DescribePendingMaintenanceActionsInput) GoString() string {
 15015  	return s.String()
 15016  }
 15017  
 15018  // Validate inspects the fields of the type to determine if they are valid.
 15019  func (s *DescribePendingMaintenanceActionsInput) Validate() error {
 15020  	invalidParams := request.ErrInvalidParams{Context: "DescribePendingMaintenanceActionsInput"}
 15021  	if s.Filters != nil {
 15022  		for i, v := range s.Filters {
 15023  			if v == nil {
 15024  				continue
 15025  			}
 15026  			if err := v.Validate(); err != nil {
 15027  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 15028  			}
 15029  		}
 15030  	}
 15031  
 15032  	if invalidParams.Len() > 0 {
 15033  		return invalidParams
 15034  	}
 15035  	return nil
 15036  }
 15037  
 15038  // SetFilters sets the Filters field's value.
 15039  func (s *DescribePendingMaintenanceActionsInput) SetFilters(v []*Filter) *DescribePendingMaintenanceActionsInput {
 15040  	s.Filters = v
 15041  	return s
 15042  }
 15043  
 15044  // SetMarker sets the Marker field's value.
 15045  func (s *DescribePendingMaintenanceActionsInput) SetMarker(v string) *DescribePendingMaintenanceActionsInput {
 15046  	s.Marker = &v
 15047  	return s
 15048  }
 15049  
 15050  // SetMaxRecords sets the MaxRecords field's value.
 15051  func (s *DescribePendingMaintenanceActionsInput) SetMaxRecords(v int64) *DescribePendingMaintenanceActionsInput {
 15052  	s.MaxRecords = &v
 15053  	return s
 15054  }
 15055  
 15056  // SetResourceIdentifier sets the ResourceIdentifier field's value.
 15057  func (s *DescribePendingMaintenanceActionsInput) SetResourceIdentifier(v string) *DescribePendingMaintenanceActionsInput {
 15058  	s.ResourceIdentifier = &v
 15059  	return s
 15060  }
 15061  
 15062  type DescribePendingMaintenanceActionsOutput struct {
 15063  	_ struct{} `type:"structure"`
 15064  
 15065  	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
 15066  	// request. If this parameter is specified, the response includes only records
 15067  	// beyond the marker, up to a number of records specified by MaxRecords.
 15068  	Marker *string `type:"string"`
 15069  
 15070  	// A list of the pending maintenance actions for the resource.
 15071  	PendingMaintenanceActions []*ResourcePendingMaintenanceActions `locationNameList:"ResourcePendingMaintenanceActions" type:"list"`
 15072  }
 15073  
 15074  // String returns the string representation.
 15075  //
 15076  // API parameter values that are decorated as "sensitive" in the API will not
 15077  // be included in the string output. The member name will be present, but the
 15078  // value will be replaced with "sensitive".
 15079  func (s DescribePendingMaintenanceActionsOutput) String() string {
 15080  	return awsutil.Prettify(s)
 15081  }
 15082  
 15083  // GoString returns the string representation.
 15084  //
 15085  // API parameter values that are decorated as "sensitive" in the API will not
 15086  // be included in the string output. The member name will be present, but the
 15087  // value will be replaced with "sensitive".
 15088  func (s DescribePendingMaintenanceActionsOutput) GoString() string {
 15089  	return s.String()
 15090  }
 15091  
 15092  // SetMarker sets the Marker field's value.
 15093  func (s *DescribePendingMaintenanceActionsOutput) SetMarker(v string) *DescribePendingMaintenanceActionsOutput {
 15094  	s.Marker = &v
 15095  	return s
 15096  }
 15097  
 15098  // SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
 15099  func (s *DescribePendingMaintenanceActionsOutput) SetPendingMaintenanceActions(v []*ResourcePendingMaintenanceActions) *DescribePendingMaintenanceActionsOutput {
 15100  	s.PendingMaintenanceActions = v
 15101  	return s
 15102  }
 15103  
 15104  type DescribeValidDBInstanceModificationsInput struct {
 15105  	_ struct{} `type:"structure"`
 15106  
 15107  	// The customer identifier or the ARN of your DB instance.
 15108  	//
 15109  	// DBInstanceIdentifier is a required field
 15110  	DBInstanceIdentifier *string `type:"string" required:"true"`
 15111  }
 15112  
 15113  // String returns the string representation.
 15114  //
 15115  // API parameter values that are decorated as "sensitive" in the API will not
 15116  // be included in the string output. The member name will be present, but the
 15117  // value will be replaced with "sensitive".
 15118  func (s DescribeValidDBInstanceModificationsInput) String() string {
 15119  	return awsutil.Prettify(s)
 15120  }
 15121  
 15122  // GoString returns the string representation.
 15123  //
 15124  // API parameter values that are decorated as "sensitive" in the API will not
 15125  // be included in the string output. The member name will be present, but the
 15126  // value will be replaced with "sensitive".
 15127  func (s DescribeValidDBInstanceModificationsInput) GoString() string {
 15128  	return s.String()
 15129  }
 15130  
 15131  // Validate inspects the fields of the type to determine if they are valid.
 15132  func (s *DescribeValidDBInstanceModificationsInput) Validate() error {
 15133  	invalidParams := request.ErrInvalidParams{Context: "DescribeValidDBInstanceModificationsInput"}
 15134  	if s.DBInstanceIdentifier == nil {
 15135  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 15136  	}
 15137  
 15138  	if invalidParams.Len() > 0 {
 15139  		return invalidParams
 15140  	}
 15141  	return nil
 15142  }
 15143  
 15144  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 15145  func (s *DescribeValidDBInstanceModificationsInput) SetDBInstanceIdentifier(v string) *DescribeValidDBInstanceModificationsInput {
 15146  	s.DBInstanceIdentifier = &v
 15147  	return s
 15148  }
 15149  
 15150  type DescribeValidDBInstanceModificationsOutput struct {
 15151  	_ struct{} `type:"structure"`
 15152  
 15153  	// Information about valid modifications that you can make to your DB instance.
 15154  	// Contains the result of a successful call to the DescribeValidDBInstanceModifications
 15155  	// action. You can use this information when you call ModifyDBInstance.
 15156  	ValidDBInstanceModificationsMessage *ValidDBInstanceModificationsMessage `type:"structure"`
 15157  }
 15158  
 15159  // String returns the string representation.
 15160  //
 15161  // API parameter values that are decorated as "sensitive" in the API will not
 15162  // be included in the string output. The member name will be present, but the
 15163  // value will be replaced with "sensitive".
 15164  func (s DescribeValidDBInstanceModificationsOutput) String() string {
 15165  	return awsutil.Prettify(s)
 15166  }
 15167  
 15168  // GoString returns the string representation.
 15169  //
 15170  // API parameter values that are decorated as "sensitive" in the API will not
 15171  // be included in the string output. The member name will be present, but the
 15172  // value will be replaced with "sensitive".
 15173  func (s DescribeValidDBInstanceModificationsOutput) GoString() string {
 15174  	return s.String()
 15175  }
 15176  
 15177  // SetValidDBInstanceModificationsMessage sets the ValidDBInstanceModificationsMessage field's value.
 15178  func (s *DescribeValidDBInstanceModificationsOutput) SetValidDBInstanceModificationsMessage(v *ValidDBInstanceModificationsMessage) *DescribeValidDBInstanceModificationsOutput {
 15179  	s.ValidDBInstanceModificationsMessage = v
 15180  	return s
 15181  }
 15182  
 15183  // An Active Directory Domain membership record associated with a DB instance.
 15184  type DomainMembership struct {
 15185  	_ struct{} `type:"structure"`
 15186  
 15187  	// The identifier of the Active Directory Domain.
 15188  	Domain *string `type:"string"`
 15189  
 15190  	// The fully qualified domain name of the Active Directory Domain.
 15191  	FQDN *string `type:"string"`
 15192  
 15193  	// The name of the IAM role to be used when making API calls to the Directory
 15194  	// Service.
 15195  	IAMRoleName *string `type:"string"`
 15196  
 15197  	// The status of the DB instance's Active Directory Domain membership, such
 15198  	// as joined, pending-join, failed etc).
 15199  	Status *string `type:"string"`
 15200  }
 15201  
 15202  // String returns the string representation.
 15203  //
 15204  // API parameter values that are decorated as "sensitive" in the API will not
 15205  // be included in the string output. The member name will be present, but the
 15206  // value will be replaced with "sensitive".
 15207  func (s DomainMembership) String() string {
 15208  	return awsutil.Prettify(s)
 15209  }
 15210  
 15211  // GoString 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 DomainMembership) GoString() string {
 15217  	return s.String()
 15218  }
 15219  
 15220  // SetDomain sets the Domain field's value.
 15221  func (s *DomainMembership) SetDomain(v string) *DomainMembership {
 15222  	s.Domain = &v
 15223  	return s
 15224  }
 15225  
 15226  // SetFQDN sets the FQDN field's value.
 15227  func (s *DomainMembership) SetFQDN(v string) *DomainMembership {
 15228  	s.FQDN = &v
 15229  	return s
 15230  }
 15231  
 15232  // SetIAMRoleName sets the IAMRoleName field's value.
 15233  func (s *DomainMembership) SetIAMRoleName(v string) *DomainMembership {
 15234  	s.IAMRoleName = &v
 15235  	return s
 15236  }
 15237  
 15238  // SetStatus sets the Status field's value.
 15239  func (s *DomainMembership) SetStatus(v string) *DomainMembership {
 15240  	s.Status = &v
 15241  	return s
 15242  }
 15243  
 15244  // A range of double values.
 15245  type DoubleRange struct {
 15246  	_ struct{} `type:"structure"`
 15247  
 15248  	// The minimum value in the range.
 15249  	From *float64 `type:"double"`
 15250  
 15251  	// The maximum value in the range.
 15252  	To *float64 `type:"double"`
 15253  }
 15254  
 15255  // String returns the string representation.
 15256  //
 15257  // API parameter values that are decorated as "sensitive" in the API will not
 15258  // be included in the string output. The member name will be present, but the
 15259  // value will be replaced with "sensitive".
 15260  func (s DoubleRange) String() string {
 15261  	return awsutil.Prettify(s)
 15262  }
 15263  
 15264  // GoString returns the string representation.
 15265  //
 15266  // API parameter values that are decorated as "sensitive" in the API will not
 15267  // be included in the string output. The member name will be present, but the
 15268  // value will be replaced with "sensitive".
 15269  func (s DoubleRange) GoString() string {
 15270  	return s.String()
 15271  }
 15272  
 15273  // SetFrom sets the From field's value.
 15274  func (s *DoubleRange) SetFrom(v float64) *DoubleRange {
 15275  	s.From = &v
 15276  	return s
 15277  }
 15278  
 15279  // SetTo sets the To field's value.
 15280  func (s *DoubleRange) SetTo(v float64) *DoubleRange {
 15281  	s.To = &v
 15282  	return s
 15283  }
 15284  
 15285  // Specifies a connection endpoint.
 15286  //
 15287  // For the data structure that represents Amazon Neptune DB cluster endpoints,
 15288  // see DBClusterEndpoint.
 15289  type Endpoint struct {
 15290  	_ struct{} `type:"structure"`
 15291  
 15292  	// Specifies the DNS address of the DB instance.
 15293  	Address *string `type:"string"`
 15294  
 15295  	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
 15296  	HostedZoneId *string `type:"string"`
 15297  
 15298  	// Specifies the port that the database engine is listening on.
 15299  	Port *int64 `type:"integer"`
 15300  }
 15301  
 15302  // String returns the string representation.
 15303  //
 15304  // API parameter values that are decorated as "sensitive" in the API will not
 15305  // be included in the string output. The member name will be present, but the
 15306  // value will be replaced with "sensitive".
 15307  func (s Endpoint) String() string {
 15308  	return awsutil.Prettify(s)
 15309  }
 15310  
 15311  // GoString returns the string representation.
 15312  //
 15313  // API parameter values that are decorated as "sensitive" in the API will not
 15314  // be included in the string output. The member name will be present, but the
 15315  // value will be replaced with "sensitive".
 15316  func (s Endpoint) GoString() string {
 15317  	return s.String()
 15318  }
 15319  
 15320  // SetAddress sets the Address field's value.
 15321  func (s *Endpoint) SetAddress(v string) *Endpoint {
 15322  	s.Address = &v
 15323  	return s
 15324  }
 15325  
 15326  // SetHostedZoneId sets the HostedZoneId field's value.
 15327  func (s *Endpoint) SetHostedZoneId(v string) *Endpoint {
 15328  	s.HostedZoneId = &v
 15329  	return s
 15330  }
 15331  
 15332  // SetPort sets the Port field's value.
 15333  func (s *Endpoint) SetPort(v int64) *Endpoint {
 15334  	s.Port = &v
 15335  	return s
 15336  }
 15337  
 15338  // Contains the result of a successful invocation of the DescribeEngineDefaultParameters
 15339  // action.
 15340  type EngineDefaults struct {
 15341  	_ struct{} `type:"structure"`
 15342  
 15343  	// Specifies the name of the DB parameter group family that the engine default
 15344  	// parameters apply to.
 15345  	DBParameterGroupFamily *string `type:"string"`
 15346  
 15347  	// An optional pagination token provided by a previous EngineDefaults request.
 15348  	// If this parameter is specified, the response includes only records beyond
 15349  	// the marker, up to the value specified by MaxRecords .
 15350  	Marker *string `type:"string"`
 15351  
 15352  	// Contains a list of engine default parameters.
 15353  	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
 15354  }
 15355  
 15356  // String returns the string representation.
 15357  //
 15358  // API parameter values that are decorated as "sensitive" in the API will not
 15359  // be included in the string output. The member name will be present, but the
 15360  // value will be replaced with "sensitive".
 15361  func (s EngineDefaults) String() string {
 15362  	return awsutil.Prettify(s)
 15363  }
 15364  
 15365  // GoString returns the string representation.
 15366  //
 15367  // API parameter values that are decorated as "sensitive" in the API will not
 15368  // be included in the string output. The member name will be present, but the
 15369  // value will be replaced with "sensitive".
 15370  func (s EngineDefaults) GoString() string {
 15371  	return s.String()
 15372  }
 15373  
 15374  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 15375  func (s *EngineDefaults) SetDBParameterGroupFamily(v string) *EngineDefaults {
 15376  	s.DBParameterGroupFamily = &v
 15377  	return s
 15378  }
 15379  
 15380  // SetMarker sets the Marker field's value.
 15381  func (s *EngineDefaults) SetMarker(v string) *EngineDefaults {
 15382  	s.Marker = &v
 15383  	return s
 15384  }
 15385  
 15386  // SetParameters sets the Parameters field's value.
 15387  func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults {
 15388  	s.Parameters = v
 15389  	return s
 15390  }
 15391  
 15392  // This data type is used as a response element in the DescribeEvents action.
 15393  type Event struct {
 15394  	_ struct{} `type:"structure"`
 15395  
 15396  	// Specifies the date and time of the event.
 15397  	Date *time.Time `type:"timestamp"`
 15398  
 15399  	// Specifies the category for the event.
 15400  	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
 15401  
 15402  	// Provides the text of this event.
 15403  	Message *string `type:"string"`
 15404  
 15405  	// The Amazon Resource Name (ARN) for the event.
 15406  	SourceArn *string `type:"string"`
 15407  
 15408  	// Provides the identifier for the source of the event.
 15409  	SourceIdentifier *string `type:"string"`
 15410  
 15411  	// Specifies the source type for this event.
 15412  	SourceType *string `type:"string" enum:"SourceType"`
 15413  }
 15414  
 15415  // String returns the string representation.
 15416  //
 15417  // API parameter values that are decorated as "sensitive" in the API will not
 15418  // be included in the string output. The member name will be present, but the
 15419  // value will be replaced with "sensitive".
 15420  func (s Event) String() string {
 15421  	return awsutil.Prettify(s)
 15422  }
 15423  
 15424  // GoString returns the string representation.
 15425  //
 15426  // API parameter values that are decorated as "sensitive" in the API will not
 15427  // be included in the string output. The member name will be present, but the
 15428  // value will be replaced with "sensitive".
 15429  func (s Event) GoString() string {
 15430  	return s.String()
 15431  }
 15432  
 15433  // SetDate sets the Date field's value.
 15434  func (s *Event) SetDate(v time.Time) *Event {
 15435  	s.Date = &v
 15436  	return s
 15437  }
 15438  
 15439  // SetEventCategories sets the EventCategories field's value.
 15440  func (s *Event) SetEventCategories(v []*string) *Event {
 15441  	s.EventCategories = v
 15442  	return s
 15443  }
 15444  
 15445  // SetMessage sets the Message field's value.
 15446  func (s *Event) SetMessage(v string) *Event {
 15447  	s.Message = &v
 15448  	return s
 15449  }
 15450  
 15451  // SetSourceArn sets the SourceArn field's value.
 15452  func (s *Event) SetSourceArn(v string) *Event {
 15453  	s.SourceArn = &v
 15454  	return s
 15455  }
 15456  
 15457  // SetSourceIdentifier sets the SourceIdentifier field's value.
 15458  func (s *Event) SetSourceIdentifier(v string) *Event {
 15459  	s.SourceIdentifier = &v
 15460  	return s
 15461  }
 15462  
 15463  // SetSourceType sets the SourceType field's value.
 15464  func (s *Event) SetSourceType(v string) *Event {
 15465  	s.SourceType = &v
 15466  	return s
 15467  }
 15468  
 15469  // Contains the results of a successful invocation of the DescribeEventCategories
 15470  // action.
 15471  type EventCategoriesMap struct {
 15472  	_ struct{} `type:"structure"`
 15473  
 15474  	// The event categories for the specified source type
 15475  	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
 15476  
 15477  	// The source type that the returned categories belong to
 15478  	SourceType *string `type:"string"`
 15479  }
 15480  
 15481  // String returns the string representation.
 15482  //
 15483  // API parameter values that are decorated as "sensitive" in the API will not
 15484  // be included in the string output. The member name will be present, but the
 15485  // value will be replaced with "sensitive".
 15486  func (s EventCategoriesMap) String() string {
 15487  	return awsutil.Prettify(s)
 15488  }
 15489  
 15490  // GoString returns the string representation.
 15491  //
 15492  // API parameter values that are decorated as "sensitive" in the API will not
 15493  // be included in the string output. The member name will be present, but the
 15494  // value will be replaced with "sensitive".
 15495  func (s EventCategoriesMap) GoString() string {
 15496  	return s.String()
 15497  }
 15498  
 15499  // SetEventCategories sets the EventCategories field's value.
 15500  func (s *EventCategoriesMap) SetEventCategories(v []*string) *EventCategoriesMap {
 15501  	s.EventCategories = v
 15502  	return s
 15503  }
 15504  
 15505  // SetSourceType sets the SourceType field's value.
 15506  func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap {
 15507  	s.SourceType = &v
 15508  	return s
 15509  }
 15510  
 15511  // Contains the results of a successful invocation of the DescribeEventSubscriptions
 15512  // action.
 15513  type EventSubscription struct {
 15514  	_ struct{} `type:"structure"`
 15515  
 15516  	// The event notification subscription Id.
 15517  	CustSubscriptionId *string `type:"string"`
 15518  
 15519  	// The Amazon customer account associated with the event notification subscription.
 15520  	CustomerAwsId *string `type:"string"`
 15521  
 15522  	// A Boolean value indicating if the subscription is enabled. True indicates
 15523  	// the subscription is enabled.
 15524  	Enabled *bool `type:"boolean"`
 15525  
 15526  	// A list of event categories for the event notification subscription.
 15527  	EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"`
 15528  
 15529  	// The Amazon Resource Name (ARN) for the event subscription.
 15530  	EventSubscriptionArn *string `type:"string"`
 15531  
 15532  	// The topic ARN of the event notification subscription.
 15533  	SnsTopicArn *string `type:"string"`
 15534  
 15535  	// A list of source IDs for the event notification subscription.
 15536  	SourceIdsList []*string `locationNameList:"SourceId" type:"list"`
 15537  
 15538  	// The source type for the event notification subscription.
 15539  	SourceType *string `type:"string"`
 15540  
 15541  	// The status of the event notification subscription.
 15542  	//
 15543  	// Constraints:
 15544  	//
 15545  	// Can be one of the following: creating | modifying | deleting | active | no-permission
 15546  	// | topic-not-exist
 15547  	//
 15548  	// The status "no-permission" indicates that Neptune no longer has permission
 15549  	// to post to the SNS topic. The status "topic-not-exist" indicates that the
 15550  	// topic was deleted after the subscription was created.
 15551  	Status *string `type:"string"`
 15552  
 15553  	// The time the event notification subscription was created.
 15554  	SubscriptionCreationTime *string `type:"string"`
 15555  }
 15556  
 15557  // String returns the string representation.
 15558  //
 15559  // API parameter values that are decorated as "sensitive" in the API will not
 15560  // be included in the string output. The member name will be present, but the
 15561  // value will be replaced with "sensitive".
 15562  func (s EventSubscription) String() string {
 15563  	return awsutil.Prettify(s)
 15564  }
 15565  
 15566  // GoString returns the string representation.
 15567  //
 15568  // API parameter values that are decorated as "sensitive" in the API will not
 15569  // be included in the string output. The member name will be present, but the
 15570  // value will be replaced with "sensitive".
 15571  func (s EventSubscription) GoString() string {
 15572  	return s.String()
 15573  }
 15574  
 15575  // SetCustSubscriptionId sets the CustSubscriptionId field's value.
 15576  func (s *EventSubscription) SetCustSubscriptionId(v string) *EventSubscription {
 15577  	s.CustSubscriptionId = &v
 15578  	return s
 15579  }
 15580  
 15581  // SetCustomerAwsId sets the CustomerAwsId field's value.
 15582  func (s *EventSubscription) SetCustomerAwsId(v string) *EventSubscription {
 15583  	s.CustomerAwsId = &v
 15584  	return s
 15585  }
 15586  
 15587  // SetEnabled sets the Enabled field's value.
 15588  func (s *EventSubscription) SetEnabled(v bool) *EventSubscription {
 15589  	s.Enabled = &v
 15590  	return s
 15591  }
 15592  
 15593  // SetEventCategoriesList sets the EventCategoriesList field's value.
 15594  func (s *EventSubscription) SetEventCategoriesList(v []*string) *EventSubscription {
 15595  	s.EventCategoriesList = v
 15596  	return s
 15597  }
 15598  
 15599  // SetEventSubscriptionArn sets the EventSubscriptionArn field's value.
 15600  func (s *EventSubscription) SetEventSubscriptionArn(v string) *EventSubscription {
 15601  	s.EventSubscriptionArn = &v
 15602  	return s
 15603  }
 15604  
 15605  // SetSnsTopicArn sets the SnsTopicArn field's value.
 15606  func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription {
 15607  	s.SnsTopicArn = &v
 15608  	return s
 15609  }
 15610  
 15611  // SetSourceIdsList sets the SourceIdsList field's value.
 15612  func (s *EventSubscription) SetSourceIdsList(v []*string) *EventSubscription {
 15613  	s.SourceIdsList = v
 15614  	return s
 15615  }
 15616  
 15617  // SetSourceType sets the SourceType field's value.
 15618  func (s *EventSubscription) SetSourceType(v string) *EventSubscription {
 15619  	s.SourceType = &v
 15620  	return s
 15621  }
 15622  
 15623  // SetStatus sets the Status field's value.
 15624  func (s *EventSubscription) SetStatus(v string) *EventSubscription {
 15625  	s.Status = &v
 15626  	return s
 15627  }
 15628  
 15629  // SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
 15630  func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscription {
 15631  	s.SubscriptionCreationTime = &v
 15632  	return s
 15633  }
 15634  
 15635  type FailoverDBClusterInput struct {
 15636  	_ struct{} `type:"structure"`
 15637  
 15638  	// A DB cluster identifier to force a failover for. This parameter is not case-sensitive.
 15639  	//
 15640  	// Constraints:
 15641  	//
 15642  	//    * Must match the identifier of an existing DBCluster.
 15643  	DBClusterIdentifier *string `type:"string"`
 15644  
 15645  	// The name of the instance to promote to the primary instance.
 15646  	//
 15647  	// You must specify the instance identifier for an Read Replica in the DB cluster.
 15648  	// For example, mydbcluster-replica1.
 15649  	TargetDBInstanceIdentifier *string `type:"string"`
 15650  }
 15651  
 15652  // String returns the string representation.
 15653  //
 15654  // API parameter values that are decorated as "sensitive" in the API will not
 15655  // be included in the string output. The member name will be present, but the
 15656  // value will be replaced with "sensitive".
 15657  func (s FailoverDBClusterInput) String() string {
 15658  	return awsutil.Prettify(s)
 15659  }
 15660  
 15661  // GoString returns the string representation.
 15662  //
 15663  // API parameter values that are decorated as "sensitive" in the API will not
 15664  // be included in the string output. The member name will be present, but the
 15665  // value will be replaced with "sensitive".
 15666  func (s FailoverDBClusterInput) GoString() string {
 15667  	return s.String()
 15668  }
 15669  
 15670  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 15671  func (s *FailoverDBClusterInput) SetDBClusterIdentifier(v string) *FailoverDBClusterInput {
 15672  	s.DBClusterIdentifier = &v
 15673  	return s
 15674  }
 15675  
 15676  // SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
 15677  func (s *FailoverDBClusterInput) SetTargetDBInstanceIdentifier(v string) *FailoverDBClusterInput {
 15678  	s.TargetDBInstanceIdentifier = &v
 15679  	return s
 15680  }
 15681  
 15682  type FailoverDBClusterOutput struct {
 15683  	_ struct{} `type:"structure"`
 15684  
 15685  	// Contains the details of an Amazon Neptune DB cluster.
 15686  	//
 15687  	// This data type is used as a response element in the DescribeDBClusters action.
 15688  	DBCluster *DBCluster `type:"structure"`
 15689  }
 15690  
 15691  // String returns the string representation.
 15692  //
 15693  // API parameter values that are decorated as "sensitive" in the API will not
 15694  // be included in the string output. The member name will be present, but the
 15695  // value will be replaced with "sensitive".
 15696  func (s FailoverDBClusterOutput) String() string {
 15697  	return awsutil.Prettify(s)
 15698  }
 15699  
 15700  // GoString returns the string representation.
 15701  //
 15702  // API parameter values that are decorated as "sensitive" in the API will not
 15703  // be included in the string output. The member name will be present, but the
 15704  // value will be replaced with "sensitive".
 15705  func (s FailoverDBClusterOutput) GoString() string {
 15706  	return s.String()
 15707  }
 15708  
 15709  // SetDBCluster sets the DBCluster field's value.
 15710  func (s *FailoverDBClusterOutput) SetDBCluster(v *DBCluster) *FailoverDBClusterOutput {
 15711  	s.DBCluster = v
 15712  	return s
 15713  }
 15714  
 15715  // This type is not currently supported.
 15716  type Filter struct {
 15717  	_ struct{} `type:"structure"`
 15718  
 15719  	// This parameter is not currently supported.
 15720  	//
 15721  	// Name is a required field
 15722  	Name *string `type:"string" required:"true"`
 15723  
 15724  	// This parameter is not currently supported.
 15725  	//
 15726  	// Values is a required field
 15727  	Values []*string `locationNameList:"Value" type:"list" required:"true"`
 15728  }
 15729  
 15730  // String returns the string representation.
 15731  //
 15732  // API parameter values that are decorated as "sensitive" in the API will not
 15733  // be included in the string output. The member name will be present, but the
 15734  // value will be replaced with "sensitive".
 15735  func (s Filter) String() string {
 15736  	return awsutil.Prettify(s)
 15737  }
 15738  
 15739  // GoString returns the string representation.
 15740  //
 15741  // API parameter values that are decorated as "sensitive" in the API will not
 15742  // be included in the string output. The member name will be present, but the
 15743  // value will be replaced with "sensitive".
 15744  func (s Filter) GoString() string {
 15745  	return s.String()
 15746  }
 15747  
 15748  // Validate inspects the fields of the type to determine if they are valid.
 15749  func (s *Filter) Validate() error {
 15750  	invalidParams := request.ErrInvalidParams{Context: "Filter"}
 15751  	if s.Name == nil {
 15752  		invalidParams.Add(request.NewErrParamRequired("Name"))
 15753  	}
 15754  	if s.Values == nil {
 15755  		invalidParams.Add(request.NewErrParamRequired("Values"))
 15756  	}
 15757  
 15758  	if invalidParams.Len() > 0 {
 15759  		return invalidParams
 15760  	}
 15761  	return nil
 15762  }
 15763  
 15764  // SetName sets the Name field's value.
 15765  func (s *Filter) SetName(v string) *Filter {
 15766  	s.Name = &v
 15767  	return s
 15768  }
 15769  
 15770  // SetValues sets the Values field's value.
 15771  func (s *Filter) SetValues(v []*string) *Filter {
 15772  	s.Values = v
 15773  	return s
 15774  }
 15775  
 15776  type ListTagsForResourceInput struct {
 15777  	_ struct{} `type:"structure"`
 15778  
 15779  	// This parameter is not currently supported.
 15780  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 15781  
 15782  	// The Amazon Neptune resource with tags to be listed. This value is an Amazon
 15783  	// Resource Name (ARN). For information about creating an ARN, see Constructing
 15784  	// an Amazon Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
 15785  	//
 15786  	// ResourceName is a required field
 15787  	ResourceName *string `type:"string" required:"true"`
 15788  }
 15789  
 15790  // String returns the string representation.
 15791  //
 15792  // API parameter values that are decorated as "sensitive" in the API will not
 15793  // be included in the string output. The member name will be present, but the
 15794  // value will be replaced with "sensitive".
 15795  func (s ListTagsForResourceInput) String() string {
 15796  	return awsutil.Prettify(s)
 15797  }
 15798  
 15799  // GoString returns the string representation.
 15800  //
 15801  // API parameter values that are decorated as "sensitive" in the API will not
 15802  // be included in the string output. The member name will be present, but the
 15803  // value will be replaced with "sensitive".
 15804  func (s ListTagsForResourceInput) GoString() string {
 15805  	return s.String()
 15806  }
 15807  
 15808  // Validate inspects the fields of the type to determine if they are valid.
 15809  func (s *ListTagsForResourceInput) Validate() error {
 15810  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 15811  	if s.ResourceName == nil {
 15812  		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
 15813  	}
 15814  	if s.Filters != nil {
 15815  		for i, v := range s.Filters {
 15816  			if v == nil {
 15817  				continue
 15818  			}
 15819  			if err := v.Validate(); err != nil {
 15820  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 15821  			}
 15822  		}
 15823  	}
 15824  
 15825  	if invalidParams.Len() > 0 {
 15826  		return invalidParams
 15827  	}
 15828  	return nil
 15829  }
 15830  
 15831  // SetFilters sets the Filters field's value.
 15832  func (s *ListTagsForResourceInput) SetFilters(v []*Filter) *ListTagsForResourceInput {
 15833  	s.Filters = v
 15834  	return s
 15835  }
 15836  
 15837  // SetResourceName sets the ResourceName field's value.
 15838  func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput {
 15839  	s.ResourceName = &v
 15840  	return s
 15841  }
 15842  
 15843  type ListTagsForResourceOutput struct {
 15844  	_ struct{} `type:"structure"`
 15845  
 15846  	// List of tags returned by the ListTagsForResource operation.
 15847  	TagList []*Tag `locationNameList:"Tag" type:"list"`
 15848  }
 15849  
 15850  // String returns the string representation.
 15851  //
 15852  // API parameter values that are decorated as "sensitive" in the API will not
 15853  // be included in the string output. The member name will be present, but the
 15854  // value will be replaced with "sensitive".
 15855  func (s ListTagsForResourceOutput) String() string {
 15856  	return awsutil.Prettify(s)
 15857  }
 15858  
 15859  // GoString returns the string representation.
 15860  //
 15861  // API parameter values that are decorated as "sensitive" in the API will not
 15862  // be included in the string output. The member name will be present, but the
 15863  // value will be replaced with "sensitive".
 15864  func (s ListTagsForResourceOutput) GoString() string {
 15865  	return s.String()
 15866  }
 15867  
 15868  // SetTagList sets the TagList field's value.
 15869  func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
 15870  	s.TagList = v
 15871  	return s
 15872  }
 15873  
 15874  type ModifyDBClusterEndpointInput struct {
 15875  	_ struct{} `type:"structure"`
 15876  
 15877  	// The identifier of the endpoint to modify. This parameter is stored as a lowercase
 15878  	// string.
 15879  	//
 15880  	// DBClusterEndpointIdentifier is a required field
 15881  	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
 15882  
 15883  	// The type of the endpoint. One of: READER, WRITER, ANY.
 15884  	EndpointType *string `type:"string"`
 15885  
 15886  	// List of DB instance identifiers that aren't part of the custom endpoint group.
 15887  	// All other eligible instances are reachable through the custom endpoint. Only
 15888  	// relevant if the list of static members is empty.
 15889  	ExcludedMembers []*string `type:"list"`
 15890  
 15891  	// List of DB instance identifiers that are part of the custom endpoint group.
 15892  	StaticMembers []*string `type:"list"`
 15893  }
 15894  
 15895  // String returns the string representation.
 15896  //
 15897  // API parameter values that are decorated as "sensitive" in the API will not
 15898  // be included in the string output. The member name will be present, but the
 15899  // value will be replaced with "sensitive".
 15900  func (s ModifyDBClusterEndpointInput) String() string {
 15901  	return awsutil.Prettify(s)
 15902  }
 15903  
 15904  // GoString returns the string representation.
 15905  //
 15906  // API parameter values that are decorated as "sensitive" in the API will not
 15907  // be included in the string output. The member name will be present, but the
 15908  // value will be replaced with "sensitive".
 15909  func (s ModifyDBClusterEndpointInput) GoString() string {
 15910  	return s.String()
 15911  }
 15912  
 15913  // Validate inspects the fields of the type to determine if they are valid.
 15914  func (s *ModifyDBClusterEndpointInput) Validate() error {
 15915  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterEndpointInput"}
 15916  	if s.DBClusterEndpointIdentifier == nil {
 15917  		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
 15918  	}
 15919  
 15920  	if invalidParams.Len() > 0 {
 15921  		return invalidParams
 15922  	}
 15923  	return nil
 15924  }
 15925  
 15926  // SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
 15927  func (s *ModifyDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *ModifyDBClusterEndpointInput {
 15928  	s.DBClusterEndpointIdentifier = &v
 15929  	return s
 15930  }
 15931  
 15932  // SetEndpointType sets the EndpointType field's value.
 15933  func (s *ModifyDBClusterEndpointInput) SetEndpointType(v string) *ModifyDBClusterEndpointInput {
 15934  	s.EndpointType = &v
 15935  	return s
 15936  }
 15937  
 15938  // SetExcludedMembers sets the ExcludedMembers field's value.
 15939  func (s *ModifyDBClusterEndpointInput) SetExcludedMembers(v []*string) *ModifyDBClusterEndpointInput {
 15940  	s.ExcludedMembers = v
 15941  	return s
 15942  }
 15943  
 15944  // SetStaticMembers sets the StaticMembers field's value.
 15945  func (s *ModifyDBClusterEndpointInput) SetStaticMembers(v []*string) *ModifyDBClusterEndpointInput {
 15946  	s.StaticMembers = v
 15947  	return s
 15948  }
 15949  
 15950  // This data type represents the information you need to connect to an Amazon
 15951  // Aurora DB cluster. This data type is used as a response element in the following
 15952  // actions:
 15953  //
 15954  //    * CreateDBClusterEndpoint
 15955  //
 15956  //    * DescribeDBClusterEndpoints
 15957  //
 15958  //    * ModifyDBClusterEndpoint
 15959  //
 15960  //    * DeleteDBClusterEndpoint
 15961  //
 15962  // For the data structure that represents Amazon RDS DB instance endpoints,
 15963  // see Endpoint.
 15964  type ModifyDBClusterEndpointOutput struct {
 15965  	_ struct{} `type:"structure"`
 15966  
 15967  	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
 15968  	CustomEndpointType *string `type:"string"`
 15969  
 15970  	// The Amazon Resource Name (ARN) for the endpoint.
 15971  	DBClusterEndpointArn *string `type:"string"`
 15972  
 15973  	// The identifier associated with the endpoint. This parameter is stored as
 15974  	// a lowercase string.
 15975  	DBClusterEndpointIdentifier *string `type:"string"`
 15976  
 15977  	// A unique system-generated identifier for an endpoint. It remains the same
 15978  	// for the whole life of the endpoint.
 15979  	DBClusterEndpointResourceIdentifier *string `type:"string"`
 15980  
 15981  	// The DB cluster identifier of the DB cluster associated with the endpoint.
 15982  	// This parameter is stored as a lowercase string.
 15983  	DBClusterIdentifier *string `type:"string"`
 15984  
 15985  	// The DNS address of the endpoint.
 15986  	Endpoint *string `type:"string"`
 15987  
 15988  	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
 15989  	EndpointType *string `type:"string"`
 15990  
 15991  	// List of DB instance identifiers that aren't part of the custom endpoint group.
 15992  	// All other eligible instances are reachable through the custom endpoint. Only
 15993  	// relevant if the list of static members is empty.
 15994  	ExcludedMembers []*string `type:"list"`
 15995  
 15996  	// List of DB instance identifiers that are part of the custom endpoint group.
 15997  	StaticMembers []*string `type:"list"`
 15998  
 15999  	// The current status of the endpoint. One of: creating, available, deleting,
 16000  	// inactive, modifying. The inactive state applies to an endpoint that cannot
 16001  	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
 16002  	// secondary cluster in a global database.
 16003  	Status *string `type:"string"`
 16004  }
 16005  
 16006  // String returns the string representation.
 16007  //
 16008  // API parameter values that are decorated as "sensitive" in the API will not
 16009  // be included in the string output. The member name will be present, but the
 16010  // value will be replaced with "sensitive".
 16011  func (s ModifyDBClusterEndpointOutput) String() string {
 16012  	return awsutil.Prettify(s)
 16013  }
 16014  
 16015  // GoString returns the string representation.
 16016  //
 16017  // API parameter values that are decorated as "sensitive" in the API will not
 16018  // be included in the string output. The member name will be present, but the
 16019  // value will be replaced with "sensitive".
 16020  func (s ModifyDBClusterEndpointOutput) GoString() string {
 16021  	return s.String()
 16022  }
 16023  
 16024  // SetCustomEndpointType sets the CustomEndpointType field's value.
 16025  func (s *ModifyDBClusterEndpointOutput) SetCustomEndpointType(v string) *ModifyDBClusterEndpointOutput {
 16026  	s.CustomEndpointType = &v
 16027  	return s
 16028  }
 16029  
 16030  // SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
 16031  func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *ModifyDBClusterEndpointOutput {
 16032  	s.DBClusterEndpointArn = &v
 16033  	return s
 16034  }
 16035  
 16036  // SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
 16037  func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *ModifyDBClusterEndpointOutput {
 16038  	s.DBClusterEndpointIdentifier = &v
 16039  	return s
 16040  }
 16041  
 16042  // SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
 16043  func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *ModifyDBClusterEndpointOutput {
 16044  	s.DBClusterEndpointResourceIdentifier = &v
 16045  	return s
 16046  }
 16047  
 16048  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 16049  func (s *ModifyDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *ModifyDBClusterEndpointOutput {
 16050  	s.DBClusterIdentifier = &v
 16051  	return s
 16052  }
 16053  
 16054  // SetEndpoint sets the Endpoint field's value.
 16055  func (s *ModifyDBClusterEndpointOutput) SetEndpoint(v string) *ModifyDBClusterEndpointOutput {
 16056  	s.Endpoint = &v
 16057  	return s
 16058  }
 16059  
 16060  // SetEndpointType sets the EndpointType field's value.
 16061  func (s *ModifyDBClusterEndpointOutput) SetEndpointType(v string) *ModifyDBClusterEndpointOutput {
 16062  	s.EndpointType = &v
 16063  	return s
 16064  }
 16065  
 16066  // SetExcludedMembers sets the ExcludedMembers field's value.
 16067  func (s *ModifyDBClusterEndpointOutput) SetExcludedMembers(v []*string) *ModifyDBClusterEndpointOutput {
 16068  	s.ExcludedMembers = v
 16069  	return s
 16070  }
 16071  
 16072  // SetStaticMembers sets the StaticMembers field's value.
 16073  func (s *ModifyDBClusterEndpointOutput) SetStaticMembers(v []*string) *ModifyDBClusterEndpointOutput {
 16074  	s.StaticMembers = v
 16075  	return s
 16076  }
 16077  
 16078  // SetStatus sets the Status field's value.
 16079  func (s *ModifyDBClusterEndpointOutput) SetStatus(v string) *ModifyDBClusterEndpointOutput {
 16080  	s.Status = &v
 16081  	return s
 16082  }
 16083  
 16084  type ModifyDBClusterInput struct {
 16085  	_ struct{} `type:"structure"`
 16086  
 16087  	// A value that specifies whether the modifications in this request and any
 16088  	// pending modifications are asynchronously applied as soon as possible, regardless
 16089  	// of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter
 16090  	// is set to false, changes to the DB cluster are applied during the next maintenance
 16091  	// window.
 16092  	//
 16093  	// The ApplyImmediately parameter only affects NewDBClusterIdentifier values.
 16094  	// If you set the ApplyImmediately parameter value to false, then changes to
 16095  	// NewDBClusterIdentifier values are applied during the next maintenance window.
 16096  	// All other changes are applied immediately, regardless of the value of the
 16097  	// ApplyImmediately parameter.
 16098  	//
 16099  	// Default: false
 16100  	ApplyImmediately *bool `type:"boolean"`
 16101  
 16102  	// The number of days for which automated backups are retained. You must specify
 16103  	// a minimum value of 1.
 16104  	//
 16105  	// Default: 1
 16106  	//
 16107  	// Constraints:
 16108  	//
 16109  	//    * Must be a value from 1 to 35
 16110  	BackupRetentionPeriod *int64 `type:"integer"`
 16111  
 16112  	// The configuration setting for the log types to be enabled for export to CloudWatch
 16113  	// Logs for a specific DB cluster.
 16114  	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
 16115  
 16116  	// If set to true, tags are copied to any snapshot of the DB cluster that is
 16117  	// created.
 16118  	CopyTagsToSnapshot *bool `type:"boolean"`
 16119  
 16120  	// The DB cluster identifier for the cluster being modified. This parameter
 16121  	// is not case-sensitive.
 16122  	//
 16123  	// Constraints:
 16124  	//
 16125  	//    * Must match the identifier of an existing DBCluster.
 16126  	//
 16127  	// DBClusterIdentifier is a required field
 16128  	DBClusterIdentifier *string `type:"string" required:"true"`
 16129  
 16130  	// The name of the DB cluster parameter group to use for the DB cluster.
 16131  	DBClusterParameterGroupName *string `type:"string"`
 16132  
 16133  	// A value that indicates whether the DB cluster has deletion protection enabled.
 16134  	// The database can't be deleted when deletion protection is enabled. By default,
 16135  	// deletion protection is disabled.
 16136  	DeletionProtection *bool `type:"boolean"`
 16137  
 16138  	// True to enable mapping of Amazon Identity and Access Management (IAM) accounts
 16139  	// to database accounts, and otherwise false.
 16140  	//
 16141  	// Default: false
 16142  	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
 16143  
 16144  	// The version number of the database engine to which you want to upgrade. Changing
 16145  	// this parameter results in an outage. The change is applied during the next
 16146  	// maintenance window unless the ApplyImmediately parameter is set to true.
 16147  	//
 16148  	// For a list of valid engine versions, see Engine Releases for Amazon Neptune
 16149  	// (https://docs.aws.amazon.com/neptune/latest/userguide/engine-releases.html),
 16150  	// or call DescribeDBEngineVersions (https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions).
 16151  	EngineVersion *string `type:"string"`
 16152  
 16153  	// Not supported by Neptune.
 16154  	MasterUserPassword *string `type:"string"`
 16155  
 16156  	// The new DB cluster identifier for the DB cluster when renaming a DB cluster.
 16157  	// This value is stored as a lowercase string.
 16158  	//
 16159  	// Constraints:
 16160  	//
 16161  	//    * Must contain from 1 to 63 letters, numbers, or hyphens
 16162  	//
 16163  	//    * The first character must be a letter
 16164  	//
 16165  	//    * Cannot end with a hyphen or contain two consecutive hyphens
 16166  	//
 16167  	// Example: my-cluster2
 16168  	NewDBClusterIdentifier *string `type:"string"`
 16169  
 16170  	// Not supported by Neptune.
 16171  	OptionGroupName *string `type:"string"`
 16172  
 16173  	// The port number on which the DB cluster accepts connections.
 16174  	//
 16175  	// Constraints: Value must be 1150-65535
 16176  	//
 16177  	// Default: The same port as the original DB cluster.
 16178  	Port *int64 `type:"integer"`
 16179  
 16180  	// The daily time range during which automated backups are created if automated
 16181  	// backups are enabled, using the BackupRetentionPeriod parameter.
 16182  	//
 16183  	// The default is a 30-minute window selected at random from an 8-hour block
 16184  	// of time for each Amazon Region.
 16185  	//
 16186  	// Constraints:
 16187  	//
 16188  	//    * Must be in the format hh24:mi-hh24:mi.
 16189  	//
 16190  	//    * Must be in Universal Coordinated Time (UTC).
 16191  	//
 16192  	//    * Must not conflict with the preferred maintenance window.
 16193  	//
 16194  	//    * Must be at least 30 minutes.
 16195  	PreferredBackupWindow *string `type:"string"`
 16196  
 16197  	// The weekly time range during which system maintenance can occur, in Universal
 16198  	// Coordinated Time (UTC).
 16199  	//
 16200  	// Format: ddd:hh24:mi-ddd:hh24:mi
 16201  	//
 16202  	// The default is a 30-minute window selected at random from an 8-hour block
 16203  	// of time for each Amazon Region, occurring on a random day of the week.
 16204  	//
 16205  	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
 16206  	//
 16207  	// Constraints: Minimum 30-minute window.
 16208  	PreferredMaintenanceWindow *string `type:"string"`
 16209  
 16210  	// A list of VPC security groups that the DB cluster will belong to.
 16211  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 16212  }
 16213  
 16214  // String returns the string representation.
 16215  //
 16216  // API parameter values that are decorated as "sensitive" in the API will not
 16217  // be included in the string output. The member name will be present, but the
 16218  // value will be replaced with "sensitive".
 16219  func (s ModifyDBClusterInput) String() string {
 16220  	return awsutil.Prettify(s)
 16221  }
 16222  
 16223  // GoString returns the string representation.
 16224  //
 16225  // API parameter values that are decorated as "sensitive" in the API will not
 16226  // be included in the string output. The member name will be present, but the
 16227  // value will be replaced with "sensitive".
 16228  func (s ModifyDBClusterInput) GoString() string {
 16229  	return s.String()
 16230  }
 16231  
 16232  // Validate inspects the fields of the type to determine if they are valid.
 16233  func (s *ModifyDBClusterInput) Validate() error {
 16234  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterInput"}
 16235  	if s.DBClusterIdentifier == nil {
 16236  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 16237  	}
 16238  
 16239  	if invalidParams.Len() > 0 {
 16240  		return invalidParams
 16241  	}
 16242  	return nil
 16243  }
 16244  
 16245  // SetApplyImmediately sets the ApplyImmediately field's value.
 16246  func (s *ModifyDBClusterInput) SetApplyImmediately(v bool) *ModifyDBClusterInput {
 16247  	s.ApplyImmediately = &v
 16248  	return s
 16249  }
 16250  
 16251  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 16252  func (s *ModifyDBClusterInput) SetBackupRetentionPeriod(v int64) *ModifyDBClusterInput {
 16253  	s.BackupRetentionPeriod = &v
 16254  	return s
 16255  }
 16256  
 16257  // SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
 16258  func (s *ModifyDBClusterInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBClusterInput {
 16259  	s.CloudwatchLogsExportConfiguration = v
 16260  	return s
 16261  }
 16262  
 16263  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 16264  func (s *ModifyDBClusterInput) SetCopyTagsToSnapshot(v bool) *ModifyDBClusterInput {
 16265  	s.CopyTagsToSnapshot = &v
 16266  	return s
 16267  }
 16268  
 16269  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 16270  func (s *ModifyDBClusterInput) SetDBClusterIdentifier(v string) *ModifyDBClusterInput {
 16271  	s.DBClusterIdentifier = &v
 16272  	return s
 16273  }
 16274  
 16275  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 16276  func (s *ModifyDBClusterInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterInput {
 16277  	s.DBClusterParameterGroupName = &v
 16278  	return s
 16279  }
 16280  
 16281  // SetDeletionProtection sets the DeletionProtection field's value.
 16282  func (s *ModifyDBClusterInput) SetDeletionProtection(v bool) *ModifyDBClusterInput {
 16283  	s.DeletionProtection = &v
 16284  	return s
 16285  }
 16286  
 16287  // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
 16288  func (s *ModifyDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBClusterInput {
 16289  	s.EnableIAMDatabaseAuthentication = &v
 16290  	return s
 16291  }
 16292  
 16293  // SetEngineVersion sets the EngineVersion field's value.
 16294  func (s *ModifyDBClusterInput) SetEngineVersion(v string) *ModifyDBClusterInput {
 16295  	s.EngineVersion = &v
 16296  	return s
 16297  }
 16298  
 16299  // SetMasterUserPassword sets the MasterUserPassword field's value.
 16300  func (s *ModifyDBClusterInput) SetMasterUserPassword(v string) *ModifyDBClusterInput {
 16301  	s.MasterUserPassword = &v
 16302  	return s
 16303  }
 16304  
 16305  // SetNewDBClusterIdentifier sets the NewDBClusterIdentifier field's value.
 16306  func (s *ModifyDBClusterInput) SetNewDBClusterIdentifier(v string) *ModifyDBClusterInput {
 16307  	s.NewDBClusterIdentifier = &v
 16308  	return s
 16309  }
 16310  
 16311  // SetOptionGroupName sets the OptionGroupName field's value.
 16312  func (s *ModifyDBClusterInput) SetOptionGroupName(v string) *ModifyDBClusterInput {
 16313  	s.OptionGroupName = &v
 16314  	return s
 16315  }
 16316  
 16317  // SetPort sets the Port field's value.
 16318  func (s *ModifyDBClusterInput) SetPort(v int64) *ModifyDBClusterInput {
 16319  	s.Port = &v
 16320  	return s
 16321  }
 16322  
 16323  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
 16324  func (s *ModifyDBClusterInput) SetPreferredBackupWindow(v string) *ModifyDBClusterInput {
 16325  	s.PreferredBackupWindow = &v
 16326  	return s
 16327  }
 16328  
 16329  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 16330  func (s *ModifyDBClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyDBClusterInput {
 16331  	s.PreferredMaintenanceWindow = &v
 16332  	return s
 16333  }
 16334  
 16335  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 16336  func (s *ModifyDBClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBClusterInput {
 16337  	s.VpcSecurityGroupIds = v
 16338  	return s
 16339  }
 16340  
 16341  type ModifyDBClusterOutput struct {
 16342  	_ struct{} `type:"structure"`
 16343  
 16344  	// Contains the details of an Amazon Neptune DB cluster.
 16345  	//
 16346  	// This data type is used as a response element in the DescribeDBClusters action.
 16347  	DBCluster *DBCluster `type:"structure"`
 16348  }
 16349  
 16350  // String returns the string representation.
 16351  //
 16352  // API parameter values that are decorated as "sensitive" in the API will not
 16353  // be included in the string output. The member name will be present, but the
 16354  // value will be replaced with "sensitive".
 16355  func (s ModifyDBClusterOutput) String() string {
 16356  	return awsutil.Prettify(s)
 16357  }
 16358  
 16359  // GoString returns the string representation.
 16360  //
 16361  // API parameter values that are decorated as "sensitive" in the API will not
 16362  // be included in the string output. The member name will be present, but the
 16363  // value will be replaced with "sensitive".
 16364  func (s ModifyDBClusterOutput) GoString() string {
 16365  	return s.String()
 16366  }
 16367  
 16368  // SetDBCluster sets the DBCluster field's value.
 16369  func (s *ModifyDBClusterOutput) SetDBCluster(v *DBCluster) *ModifyDBClusterOutput {
 16370  	s.DBCluster = v
 16371  	return s
 16372  }
 16373  
 16374  type ModifyDBClusterParameterGroupInput struct {
 16375  	_ struct{} `type:"structure"`
 16376  
 16377  	// The name of the DB cluster parameter group to modify.
 16378  	//
 16379  	// DBClusterParameterGroupName is a required field
 16380  	DBClusterParameterGroupName *string `type:"string" required:"true"`
 16381  
 16382  	// A list of parameters in the DB cluster parameter group to modify.
 16383  	//
 16384  	// Parameters is a required field
 16385  	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
 16386  }
 16387  
 16388  // String returns the string representation.
 16389  //
 16390  // API parameter values that are decorated as "sensitive" in the API will not
 16391  // be included in the string output. The member name will be present, but the
 16392  // value will be replaced with "sensitive".
 16393  func (s ModifyDBClusterParameterGroupInput) String() string {
 16394  	return awsutil.Prettify(s)
 16395  }
 16396  
 16397  // GoString returns the string representation.
 16398  //
 16399  // API parameter values that are decorated as "sensitive" in the API will not
 16400  // be included in the string output. The member name will be present, but the
 16401  // value will be replaced with "sensitive".
 16402  func (s ModifyDBClusterParameterGroupInput) GoString() string {
 16403  	return s.String()
 16404  }
 16405  
 16406  // Validate inspects the fields of the type to determine if they are valid.
 16407  func (s *ModifyDBClusterParameterGroupInput) Validate() error {
 16408  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterParameterGroupInput"}
 16409  	if s.DBClusterParameterGroupName == nil {
 16410  		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
 16411  	}
 16412  	if s.Parameters == nil {
 16413  		invalidParams.Add(request.NewErrParamRequired("Parameters"))
 16414  	}
 16415  
 16416  	if invalidParams.Len() > 0 {
 16417  		return invalidParams
 16418  	}
 16419  	return nil
 16420  }
 16421  
 16422  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 16423  func (s *ModifyDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupInput {
 16424  	s.DBClusterParameterGroupName = &v
 16425  	return s
 16426  }
 16427  
 16428  // SetParameters sets the Parameters field's value.
 16429  func (s *ModifyDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBClusterParameterGroupInput {
 16430  	s.Parameters = v
 16431  	return s
 16432  }
 16433  
 16434  type ModifyDBClusterSnapshotAttributeInput struct {
 16435  	_ struct{} `type:"structure"`
 16436  
 16437  	// The name of the DB cluster snapshot attribute to modify.
 16438  	//
 16439  	// To manage authorization for other Amazon accounts to copy or restore a manual
 16440  	// DB cluster snapshot, set this value to restore.
 16441  	//
 16442  	// AttributeName is a required field
 16443  	AttributeName *string `type:"string" required:"true"`
 16444  
 16445  	// The identifier for the DB cluster snapshot to modify the attributes for.
 16446  	//
 16447  	// DBClusterSnapshotIdentifier is a required field
 16448  	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
 16449  
 16450  	// A list of DB cluster snapshot attributes to add to the attribute specified
 16451  	// by AttributeName.
 16452  	//
 16453  	// To authorize other Amazon accounts to copy or restore a manual DB cluster
 16454  	// snapshot, set this list to include one or more Amazon account IDs, or all
 16455  	// to make the manual DB cluster snapshot restorable by any Amazon account.
 16456  	// Do not add the all value for any manual DB cluster snapshots that contain
 16457  	// private information that you don't want available to all AWS accounts.
 16458  	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
 16459  
 16460  	// A list of DB cluster snapshot attributes to remove from the attribute specified
 16461  	// by AttributeName.
 16462  	//
 16463  	// To remove authorization for other Amazon accounts to copy or restore a manual
 16464  	// DB cluster snapshot, set this list to include one or more Amazon account
 16465  	// identifiers, or all to remove authorization for any Amazon account to copy
 16466  	// or restore the DB cluster snapshot. If you specify all, an Amazon account
 16467  	// whose account ID is explicitly added to the restore attribute can still copy
 16468  	// or restore a manual DB cluster snapshot.
 16469  	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
 16470  }
 16471  
 16472  // String returns the string representation.
 16473  //
 16474  // API parameter values that are decorated as "sensitive" in the API will not
 16475  // be included in the string output. The member name will be present, but the
 16476  // value will be replaced with "sensitive".
 16477  func (s ModifyDBClusterSnapshotAttributeInput) String() string {
 16478  	return awsutil.Prettify(s)
 16479  }
 16480  
 16481  // GoString returns the string representation.
 16482  //
 16483  // API parameter values that are decorated as "sensitive" in the API will not
 16484  // be included in the string output. The member name will be present, but the
 16485  // value will be replaced with "sensitive".
 16486  func (s ModifyDBClusterSnapshotAttributeInput) GoString() string {
 16487  	return s.String()
 16488  }
 16489  
 16490  // Validate inspects the fields of the type to determine if they are valid.
 16491  func (s *ModifyDBClusterSnapshotAttributeInput) Validate() error {
 16492  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterSnapshotAttributeInput"}
 16493  	if s.AttributeName == nil {
 16494  		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
 16495  	}
 16496  	if s.DBClusterSnapshotIdentifier == nil {
 16497  		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
 16498  	}
 16499  
 16500  	if invalidParams.Len() > 0 {
 16501  		return invalidParams
 16502  	}
 16503  	return nil
 16504  }
 16505  
 16506  // SetAttributeName sets the AttributeName field's value.
 16507  func (s *ModifyDBClusterSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBClusterSnapshotAttributeInput {
 16508  	s.AttributeName = &v
 16509  	return s
 16510  }
 16511  
 16512  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
 16513  func (s *ModifyDBClusterSnapshotAttributeInput) SetDBClusterSnapshotIdentifier(v string) *ModifyDBClusterSnapshotAttributeInput {
 16514  	s.DBClusterSnapshotIdentifier = &v
 16515  	return s
 16516  }
 16517  
 16518  // SetValuesToAdd sets the ValuesToAdd field's value.
 16519  func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBClusterSnapshotAttributeInput {
 16520  	s.ValuesToAdd = v
 16521  	return s
 16522  }
 16523  
 16524  // SetValuesToRemove sets the ValuesToRemove field's value.
 16525  func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBClusterSnapshotAttributeInput {
 16526  	s.ValuesToRemove = v
 16527  	return s
 16528  }
 16529  
 16530  type ModifyDBClusterSnapshotAttributeOutput struct {
 16531  	_ struct{} `type:"structure"`
 16532  
 16533  	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
 16534  	// API action.
 16535  	//
 16536  	// Manual DB cluster snapshot attributes are used to authorize other Amazon
 16537  	// accounts to copy or restore a manual DB cluster snapshot. For more information,
 16538  	// see the ModifyDBClusterSnapshotAttribute API action.
 16539  	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
 16540  }
 16541  
 16542  // String returns the string representation.
 16543  //
 16544  // API parameter values that are decorated as "sensitive" in the API will not
 16545  // be included in the string output. The member name will be present, but the
 16546  // value will be replaced with "sensitive".
 16547  func (s ModifyDBClusterSnapshotAttributeOutput) String() string {
 16548  	return awsutil.Prettify(s)
 16549  }
 16550  
 16551  // GoString returns the string representation.
 16552  //
 16553  // API parameter values that are decorated as "sensitive" in the API will not
 16554  // be included in the string output. The member name will be present, but the
 16555  // value will be replaced with "sensitive".
 16556  func (s ModifyDBClusterSnapshotAttributeOutput) GoString() string {
 16557  	return s.String()
 16558  }
 16559  
 16560  // SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
 16561  func (s *ModifyDBClusterSnapshotAttributeOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *ModifyDBClusterSnapshotAttributeOutput {
 16562  	s.DBClusterSnapshotAttributesResult = v
 16563  	return s
 16564  }
 16565  
 16566  type ModifyDBInstanceInput struct {
 16567  	_ struct{} `type:"structure"`
 16568  
 16569  	// Not supported by Neptune.
 16570  	AllocatedStorage *int64 `type:"integer"`
 16571  
 16572  	// Indicates that major version upgrades are allowed. Changing this parameter
 16573  	// doesn't result in an outage and the change is asynchronously applied as soon
 16574  	// as possible.
 16575  	AllowMajorVersionUpgrade *bool `type:"boolean"`
 16576  
 16577  	// Specifies whether the modifications in this request and any pending modifications
 16578  	// are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow
 16579  	// setting for the DB instance.
 16580  	//
 16581  	// If this parameter is set to false, changes to the DB instance are applied
 16582  	// during the next maintenance window. Some parameter changes can cause an outage
 16583  	// and are applied on the next call to RebootDBInstance, or the next failure
 16584  	// reboot.
 16585  	//
 16586  	// Default: false
 16587  	ApplyImmediately *bool `type:"boolean"`
 16588  
 16589  	// Indicates that minor version upgrades are applied automatically to the DB
 16590  	// instance during the maintenance window. Changing this parameter doesn't result
 16591  	// in an outage except in the following case and the change is asynchronously
 16592  	// applied as soon as possible. An outage will result if this parameter is set
 16593  	// to true during the maintenance window, and a newer minor version is available,
 16594  	// and Neptune has enabled auto patching for that engine version.
 16595  	AutoMinorVersionUpgrade *bool `type:"boolean"`
 16596  
 16597  	// Not applicable. The retention period for automated backups is managed by
 16598  	// the DB cluster. For more information, see ModifyDBCluster.
 16599  	//
 16600  	// Default: Uses existing setting
 16601  	BackupRetentionPeriod *int64 `type:"integer"`
 16602  
 16603  	// Indicates the certificate that needs to be associated with the instance.
 16604  	CACertificateIdentifier *string `type:"string"`
 16605  
 16606  	// The configuration setting for the log types to be enabled for export to CloudWatch
 16607  	// Logs for a specific DB instance or DB cluster.
 16608  	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
 16609  
 16610  	// True to copy all tags from the DB instance to snapshots of the DB instance,
 16611  	// and otherwise false. The default is false.
 16612  	CopyTagsToSnapshot *bool `type:"boolean"`
 16613  
 16614  	// The new compute and memory capacity of the DB instance, for example, db.m4.large.
 16615  	// Not all DB instance classes are available in all AWS Regions.
 16616  	//
 16617  	// If you modify the DB instance class, an outage occurs during the change.
 16618  	// The change is applied during the next maintenance window, unless ApplyImmediately
 16619  	// is specified as true for this request.
 16620  	//
 16621  	// Default: Uses existing setting
 16622  	DBInstanceClass *string `type:"string"`
 16623  
 16624  	// The DB instance identifier. This value is stored as a lowercase string.
 16625  	//
 16626  	// Constraints:
 16627  	//
 16628  	//    * Must match the identifier of an existing DBInstance.
 16629  	//
 16630  	// DBInstanceIdentifier is a required field
 16631  	DBInstanceIdentifier *string `type:"string" required:"true"`
 16632  
 16633  	// The name of the DB parameter group to apply to the DB instance. Changing
 16634  	// this setting doesn't result in an outage. The parameter group name itself
 16635  	// is changed immediately, but the actual parameter changes are not applied
 16636  	// until you reboot the instance without failover. The db instance will NOT
 16637  	// be rebooted automatically and the parameter changes will NOT be applied during
 16638  	// the next maintenance window.
 16639  	//
 16640  	// Default: Uses existing setting
 16641  	//
 16642  	// Constraints: The DB parameter group must be in the same DB parameter group
 16643  	// family as this DB instance.
 16644  	DBParameterGroupName *string `type:"string"`
 16645  
 16646  	// The port number on which the database accepts connections.
 16647  	//
 16648  	// The value of the DBPortNumber parameter must not match any of the port values
 16649  	// specified for options in the option group for the DB instance.
 16650  	//
 16651  	// Your database will restart when you change the DBPortNumber value regardless
 16652  	// of the value of the ApplyImmediately parameter.
 16653  	//
 16654  	// Default: 8182
 16655  	DBPortNumber *int64 `type:"integer"`
 16656  
 16657  	// A list of DB security groups to authorize on this DB instance. Changing this
 16658  	// setting doesn't result in an outage and the change is asynchronously applied
 16659  	// as soon as possible.
 16660  	//
 16661  	// Constraints:
 16662  	//
 16663  	//    * If supplied, must match existing DBSecurityGroups.
 16664  	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
 16665  
 16666  	// The new DB subnet group for the DB instance. You can use this parameter to
 16667  	// move your DB instance to a different VPC.
 16668  	//
 16669  	// Changing the subnet group causes an outage during the change. The change
 16670  	// is applied during the next maintenance window, unless you specify true for
 16671  	// the ApplyImmediately parameter.
 16672  	//
 16673  	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
 16674  	//
 16675  	// Example: mySubnetGroup
 16676  	DBSubnetGroupName *string `type:"string"`
 16677  
 16678  	// A value that indicates whether the DB instance has deletion protection enabled.
 16679  	// The database can't be deleted when deletion protection is enabled. By default,
 16680  	// deletion protection is disabled. See Deleting a DB Instance (https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html).
 16681  	DeletionProtection *bool `type:"boolean"`
 16682  
 16683  	// Not supported.
 16684  	Domain *string `type:"string"`
 16685  
 16686  	// Not supported
 16687  	DomainIAMRoleName *string `type:"string"`
 16688  
 16689  	// True to enable mapping of Amazon Identity and Access Management (IAM) accounts
 16690  	// to database accounts, and otherwise false.
 16691  	//
 16692  	// You can enable IAM database authentication for the following database engines
 16693  	//
 16694  	// Not applicable. Mapping Amazon IAM accounts to database accounts is managed
 16695  	// by the DB cluster. For more information, see ModifyDBCluster.
 16696  	//
 16697  	// Default: false
 16698  	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
 16699  
 16700  	// (Not supported by Neptune)
 16701  	EnablePerformanceInsights *bool `type:"boolean"`
 16702  
 16703  	// The version number of the database engine to upgrade to. Currently, setting
 16704  	// this parameter has no effect. To upgrade your database engine to the most
 16705  	// recent release, use the ApplyPendingMaintenanceAction API.
 16706  	EngineVersion *string `type:"string"`
 16707  
 16708  	// The new Provisioned IOPS (I/O operations per second) value for the instance.
 16709  	//
 16710  	// Changing this setting doesn't result in an outage and the change is applied
 16711  	// during the next maintenance window unless the ApplyImmediately parameter
 16712  	// is set to true for this request.
 16713  	//
 16714  	// Default: Uses existing setting
 16715  	Iops *int64 `type:"integer"`
 16716  
 16717  	// Not supported by Neptune.
 16718  	LicenseModel *string `type:"string"`
 16719  
 16720  	// Not supported by Neptune.
 16721  	MasterUserPassword *string `type:"string"`
 16722  
 16723  	// The interval, in seconds, between points when Enhanced Monitoring metrics
 16724  	// are collected for the DB instance. To disable collecting Enhanced Monitoring
 16725  	// metrics, specify 0. The default is 0.
 16726  	//
 16727  	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
 16728  	// to a value other than 0.
 16729  	//
 16730  	// Valid Values: 0, 1, 5, 10, 15, 30, 60
 16731  	MonitoringInterval *int64 `type:"integer"`
 16732  
 16733  	// The ARN for the IAM role that permits Neptune to send enhanced monitoring
 16734  	// metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
 16735  	//
 16736  	// If MonitoringInterval is set to a value other than 0, then you must supply
 16737  	// a MonitoringRoleArn value.
 16738  	MonitoringRoleArn *string `type:"string"`
 16739  
 16740  	// Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter
 16741  	// doesn't result in an outage and the change is applied during the next maintenance
 16742  	// window unless the ApplyImmediately parameter is set to true for this request.
 16743  	MultiAZ *bool `type:"boolean"`
 16744  
 16745  	// The new DB instance identifier for the DB instance when renaming a DB instance.
 16746  	// When you change the DB instance identifier, an instance reboot will occur
 16747  	// immediately if you set Apply Immediately to true, or will occur during the
 16748  	// next maintenance window if Apply Immediately to false. This value is stored
 16749  	// as a lowercase string.
 16750  	//
 16751  	// Constraints:
 16752  	//
 16753  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
 16754  	//
 16755  	//    * The first character must be a letter.
 16756  	//
 16757  	//    * Cannot end with a hyphen or contain two consecutive hyphens.
 16758  	//
 16759  	// Example: mydbinstance
 16760  	NewDBInstanceIdentifier *string `type:"string"`
 16761  
 16762  	// (Not supported by Neptune)
 16763  	OptionGroupName *string `type:"string"`
 16764  
 16765  	// (Not supported by Neptune)
 16766  	PerformanceInsightsKMSKeyId *string `type:"string"`
 16767  
 16768  	// The daily time range during which automated backups are created if automated
 16769  	// backups are enabled.
 16770  	//
 16771  	// Not applicable. The daily time range for creating automated backups is managed
 16772  	// by the DB cluster. For more information, see ModifyDBCluster.
 16773  	//
 16774  	// Constraints:
 16775  	//
 16776  	//    * Must be in the format hh24:mi-hh24:mi
 16777  	//
 16778  	//    * Must be in Universal Time Coordinated (UTC)
 16779  	//
 16780  	//    * Must not conflict with the preferred maintenance window
 16781  	//
 16782  	//    * Must be at least 30 minutes
 16783  	PreferredBackupWindow *string `type:"string"`
 16784  
 16785  	// The weekly time range (in UTC) during which system maintenance can occur,
 16786  	// which might result in an outage. Changing this parameter doesn't result in
 16787  	// an outage, except in the following situation, and the change is asynchronously
 16788  	// applied as soon as possible. If there are pending actions that cause a reboot,
 16789  	// and the maintenance window is changed to include the current time, then changing
 16790  	// this parameter will cause a reboot of the DB instance. If moving this window
 16791  	// to the current time, there must be at least 30 minutes between the current
 16792  	// time and end of the window to ensure pending changes are applied.
 16793  	//
 16794  	// Default: Uses existing setting
 16795  	//
 16796  	// Format: ddd:hh24:mi-ddd:hh24:mi
 16797  	//
 16798  	// Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
 16799  	//
 16800  	// Constraints: Must be at least 30 minutes
 16801  	PreferredMaintenanceWindow *string `type:"string"`
 16802  
 16803  	// A value that specifies the order in which a Read Replica is promoted to the
 16804  	// primary instance after a failure of the existing primary instance.
 16805  	//
 16806  	// Default: 1
 16807  	//
 16808  	// Valid Values: 0 - 15
 16809  	PromotionTier *int64 `type:"integer"`
 16810  
 16811  	// This flag should no longer be used.
 16812  	//
 16813  	// Deprecated: PubliclyAccessible has been deprecated
 16814  	PubliclyAccessible *bool `deprecated:"true" type:"boolean"`
 16815  
 16816  	// Not supported.
 16817  	StorageType *string `type:"string"`
 16818  
 16819  	// The ARN from the key store with which to associate the instance for TDE encryption.
 16820  	TdeCredentialArn *string `type:"string"`
 16821  
 16822  	// The password for the given ARN from the key store in order to access the
 16823  	// device.
 16824  	TdeCredentialPassword *string `type:"string"`
 16825  
 16826  	// A list of EC2 VPC security groups to authorize on this DB instance. This
 16827  	// change is asynchronously applied as soon as possible.
 16828  	//
 16829  	// Not applicable. The associated list of EC2 VPC security groups is managed
 16830  	// by the DB cluster. For more information, see ModifyDBCluster.
 16831  	//
 16832  	// Constraints:
 16833  	//
 16834  	//    * If supplied, must match existing VpcSecurityGroupIds.
 16835  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 16836  }
 16837  
 16838  // String returns the string representation.
 16839  //
 16840  // API parameter values that are decorated as "sensitive" in the API will not
 16841  // be included in the string output. The member name will be present, but the
 16842  // value will be replaced with "sensitive".
 16843  func (s ModifyDBInstanceInput) String() string {
 16844  	return awsutil.Prettify(s)
 16845  }
 16846  
 16847  // GoString returns the string representation.
 16848  //
 16849  // API parameter values that are decorated as "sensitive" in the API will not
 16850  // be included in the string output. The member name will be present, but the
 16851  // value will be replaced with "sensitive".
 16852  func (s ModifyDBInstanceInput) GoString() string {
 16853  	return s.String()
 16854  }
 16855  
 16856  // Validate inspects the fields of the type to determine if they are valid.
 16857  func (s *ModifyDBInstanceInput) Validate() error {
 16858  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBInstanceInput"}
 16859  	if s.DBInstanceIdentifier == nil {
 16860  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 16861  	}
 16862  
 16863  	if invalidParams.Len() > 0 {
 16864  		return invalidParams
 16865  	}
 16866  	return nil
 16867  }
 16868  
 16869  // SetAllocatedStorage sets the AllocatedStorage field's value.
 16870  func (s *ModifyDBInstanceInput) SetAllocatedStorage(v int64) *ModifyDBInstanceInput {
 16871  	s.AllocatedStorage = &v
 16872  	return s
 16873  }
 16874  
 16875  // SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
 16876  func (s *ModifyDBInstanceInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBInstanceInput {
 16877  	s.AllowMajorVersionUpgrade = &v
 16878  	return s
 16879  }
 16880  
 16881  // SetApplyImmediately sets the ApplyImmediately field's value.
 16882  func (s *ModifyDBInstanceInput) SetApplyImmediately(v bool) *ModifyDBInstanceInput {
 16883  	s.ApplyImmediately = &v
 16884  	return s
 16885  }
 16886  
 16887  // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
 16888  func (s *ModifyDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *ModifyDBInstanceInput {
 16889  	s.AutoMinorVersionUpgrade = &v
 16890  	return s
 16891  }
 16892  
 16893  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 16894  func (s *ModifyDBInstanceInput) SetBackupRetentionPeriod(v int64) *ModifyDBInstanceInput {
 16895  	s.BackupRetentionPeriod = &v
 16896  	return s
 16897  }
 16898  
 16899  // SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
 16900  func (s *ModifyDBInstanceInput) SetCACertificateIdentifier(v string) *ModifyDBInstanceInput {
 16901  	s.CACertificateIdentifier = &v
 16902  	return s
 16903  }
 16904  
 16905  // SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
 16906  func (s *ModifyDBInstanceInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBInstanceInput {
 16907  	s.CloudwatchLogsExportConfiguration = v
 16908  	return s
 16909  }
 16910  
 16911  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 16912  func (s *ModifyDBInstanceInput) SetCopyTagsToSnapshot(v bool) *ModifyDBInstanceInput {
 16913  	s.CopyTagsToSnapshot = &v
 16914  	return s
 16915  }
 16916  
 16917  // SetDBInstanceClass sets the DBInstanceClass field's value.
 16918  func (s *ModifyDBInstanceInput) SetDBInstanceClass(v string) *ModifyDBInstanceInput {
 16919  	s.DBInstanceClass = &v
 16920  	return s
 16921  }
 16922  
 16923  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 16924  func (s *ModifyDBInstanceInput) SetDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
 16925  	s.DBInstanceIdentifier = &v
 16926  	return s
 16927  }
 16928  
 16929  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 16930  func (s *ModifyDBInstanceInput) SetDBParameterGroupName(v string) *ModifyDBInstanceInput {
 16931  	s.DBParameterGroupName = &v
 16932  	return s
 16933  }
 16934  
 16935  // SetDBPortNumber sets the DBPortNumber field's value.
 16936  func (s *ModifyDBInstanceInput) SetDBPortNumber(v int64) *ModifyDBInstanceInput {
 16937  	s.DBPortNumber = &v
 16938  	return s
 16939  }
 16940  
 16941  // SetDBSecurityGroups sets the DBSecurityGroups field's value.
 16942  func (s *ModifyDBInstanceInput) SetDBSecurityGroups(v []*string) *ModifyDBInstanceInput {
 16943  	s.DBSecurityGroups = v
 16944  	return s
 16945  }
 16946  
 16947  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 16948  func (s *ModifyDBInstanceInput) SetDBSubnetGroupName(v string) *ModifyDBInstanceInput {
 16949  	s.DBSubnetGroupName = &v
 16950  	return s
 16951  }
 16952  
 16953  // SetDeletionProtection sets the DeletionProtection field's value.
 16954  func (s *ModifyDBInstanceInput) SetDeletionProtection(v bool) *ModifyDBInstanceInput {
 16955  	s.DeletionProtection = &v
 16956  	return s
 16957  }
 16958  
 16959  // SetDomain sets the Domain field's value.
 16960  func (s *ModifyDBInstanceInput) SetDomain(v string) *ModifyDBInstanceInput {
 16961  	s.Domain = &v
 16962  	return s
 16963  }
 16964  
 16965  // SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
 16966  func (s *ModifyDBInstanceInput) SetDomainIAMRoleName(v string) *ModifyDBInstanceInput {
 16967  	s.DomainIAMRoleName = &v
 16968  	return s
 16969  }
 16970  
 16971  // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
 16972  func (s *ModifyDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBInstanceInput {
 16973  	s.EnableIAMDatabaseAuthentication = &v
 16974  	return s
 16975  }
 16976  
 16977  // SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
 16978  func (s *ModifyDBInstanceInput) SetEnablePerformanceInsights(v bool) *ModifyDBInstanceInput {
 16979  	s.EnablePerformanceInsights = &v
 16980  	return s
 16981  }
 16982  
 16983  // SetEngineVersion sets the EngineVersion field's value.
 16984  func (s *ModifyDBInstanceInput) SetEngineVersion(v string) *ModifyDBInstanceInput {
 16985  	s.EngineVersion = &v
 16986  	return s
 16987  }
 16988  
 16989  // SetIops sets the Iops field's value.
 16990  func (s *ModifyDBInstanceInput) SetIops(v int64) *ModifyDBInstanceInput {
 16991  	s.Iops = &v
 16992  	return s
 16993  }
 16994  
 16995  // SetLicenseModel sets the LicenseModel field's value.
 16996  func (s *ModifyDBInstanceInput) SetLicenseModel(v string) *ModifyDBInstanceInput {
 16997  	s.LicenseModel = &v
 16998  	return s
 16999  }
 17000  
 17001  // SetMasterUserPassword sets the MasterUserPassword field's value.
 17002  func (s *ModifyDBInstanceInput) SetMasterUserPassword(v string) *ModifyDBInstanceInput {
 17003  	s.MasterUserPassword = &v
 17004  	return s
 17005  }
 17006  
 17007  // SetMonitoringInterval sets the MonitoringInterval field's value.
 17008  func (s *ModifyDBInstanceInput) SetMonitoringInterval(v int64) *ModifyDBInstanceInput {
 17009  	s.MonitoringInterval = &v
 17010  	return s
 17011  }
 17012  
 17013  // SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
 17014  func (s *ModifyDBInstanceInput) SetMonitoringRoleArn(v string) *ModifyDBInstanceInput {
 17015  	s.MonitoringRoleArn = &v
 17016  	return s
 17017  }
 17018  
 17019  // SetMultiAZ sets the MultiAZ field's value.
 17020  func (s *ModifyDBInstanceInput) SetMultiAZ(v bool) *ModifyDBInstanceInput {
 17021  	s.MultiAZ = &v
 17022  	return s
 17023  }
 17024  
 17025  // SetNewDBInstanceIdentifier sets the NewDBInstanceIdentifier field's value.
 17026  func (s *ModifyDBInstanceInput) SetNewDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
 17027  	s.NewDBInstanceIdentifier = &v
 17028  	return s
 17029  }
 17030  
 17031  // SetOptionGroupName sets the OptionGroupName field's value.
 17032  func (s *ModifyDBInstanceInput) SetOptionGroupName(v string) *ModifyDBInstanceInput {
 17033  	s.OptionGroupName = &v
 17034  	return s
 17035  }
 17036  
 17037  // SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
 17038  func (s *ModifyDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *ModifyDBInstanceInput {
 17039  	s.PerformanceInsightsKMSKeyId = &v
 17040  	return s
 17041  }
 17042  
 17043  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
 17044  func (s *ModifyDBInstanceInput) SetPreferredBackupWindow(v string) *ModifyDBInstanceInput {
 17045  	s.PreferredBackupWindow = &v
 17046  	return s
 17047  }
 17048  
 17049  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 17050  func (s *ModifyDBInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyDBInstanceInput {
 17051  	s.PreferredMaintenanceWindow = &v
 17052  	return s
 17053  }
 17054  
 17055  // SetPromotionTier sets the PromotionTier field's value.
 17056  func (s *ModifyDBInstanceInput) SetPromotionTier(v int64) *ModifyDBInstanceInput {
 17057  	s.PromotionTier = &v
 17058  	return s
 17059  }
 17060  
 17061  // SetPubliclyAccessible sets the PubliclyAccessible field's value.
 17062  func (s *ModifyDBInstanceInput) SetPubliclyAccessible(v bool) *ModifyDBInstanceInput {
 17063  	s.PubliclyAccessible = &v
 17064  	return s
 17065  }
 17066  
 17067  // SetStorageType sets the StorageType field's value.
 17068  func (s *ModifyDBInstanceInput) SetStorageType(v string) *ModifyDBInstanceInput {
 17069  	s.StorageType = &v
 17070  	return s
 17071  }
 17072  
 17073  // SetTdeCredentialArn sets the TdeCredentialArn field's value.
 17074  func (s *ModifyDBInstanceInput) SetTdeCredentialArn(v string) *ModifyDBInstanceInput {
 17075  	s.TdeCredentialArn = &v
 17076  	return s
 17077  }
 17078  
 17079  // SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
 17080  func (s *ModifyDBInstanceInput) SetTdeCredentialPassword(v string) *ModifyDBInstanceInput {
 17081  	s.TdeCredentialPassword = &v
 17082  	return s
 17083  }
 17084  
 17085  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 17086  func (s *ModifyDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBInstanceInput {
 17087  	s.VpcSecurityGroupIds = v
 17088  	return s
 17089  }
 17090  
 17091  type ModifyDBInstanceOutput struct {
 17092  	_ struct{} `type:"structure"`
 17093  
 17094  	// Contains the details of an Amazon Neptune DB instance.
 17095  	//
 17096  	// This data type is used as a response element in the DescribeDBInstances action.
 17097  	DBInstance *DBInstance `type:"structure"`
 17098  }
 17099  
 17100  // String returns the string representation.
 17101  //
 17102  // API parameter values that are decorated as "sensitive" in the API will not
 17103  // be included in the string output. The member name will be present, but the
 17104  // value will be replaced with "sensitive".
 17105  func (s ModifyDBInstanceOutput) String() string {
 17106  	return awsutil.Prettify(s)
 17107  }
 17108  
 17109  // GoString returns the string representation.
 17110  //
 17111  // API parameter values that are decorated as "sensitive" in the API will not
 17112  // be included in the string output. The member name will be present, but the
 17113  // value will be replaced with "sensitive".
 17114  func (s ModifyDBInstanceOutput) GoString() string {
 17115  	return s.String()
 17116  }
 17117  
 17118  // SetDBInstance sets the DBInstance field's value.
 17119  func (s *ModifyDBInstanceOutput) SetDBInstance(v *DBInstance) *ModifyDBInstanceOutput {
 17120  	s.DBInstance = v
 17121  	return s
 17122  }
 17123  
 17124  type ModifyDBParameterGroupInput struct {
 17125  	_ struct{} `type:"structure"`
 17126  
 17127  	// The name of the DB parameter group.
 17128  	//
 17129  	// Constraints:
 17130  	//
 17131  	//    * If supplied, must match the name of an existing DBParameterGroup.
 17132  	//
 17133  	// DBParameterGroupName is a required field
 17134  	DBParameterGroupName *string `type:"string" required:"true"`
 17135  
 17136  	// An array of parameter names, values, and the apply method for the parameter
 17137  	// update. At least one parameter name, value, and apply method must be supplied;
 17138  	// subsequent arguments are optional. A maximum of 20 parameters can be modified
 17139  	// in a single request.
 17140  	//
 17141  	// Valid Values (for the application method): immediate | pending-reboot
 17142  	//
 17143  	// You can use the immediate value with dynamic parameters only. You can use
 17144  	// the pending-reboot value for both dynamic and static parameters, and changes
 17145  	// are applied when you reboot the DB instance without failover.
 17146  	//
 17147  	// Parameters is a required field
 17148  	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
 17149  }
 17150  
 17151  // String returns the string representation.
 17152  //
 17153  // API parameter values that are decorated as "sensitive" in the API will not
 17154  // be included in the string output. The member name will be present, but the
 17155  // value will be replaced with "sensitive".
 17156  func (s ModifyDBParameterGroupInput) String() string {
 17157  	return awsutil.Prettify(s)
 17158  }
 17159  
 17160  // GoString returns the string representation.
 17161  //
 17162  // API parameter values that are decorated as "sensitive" in the API will not
 17163  // be included in the string output. The member name will be present, but the
 17164  // value will be replaced with "sensitive".
 17165  func (s ModifyDBParameterGroupInput) GoString() string {
 17166  	return s.String()
 17167  }
 17168  
 17169  // Validate inspects the fields of the type to determine if they are valid.
 17170  func (s *ModifyDBParameterGroupInput) Validate() error {
 17171  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBParameterGroupInput"}
 17172  	if s.DBParameterGroupName == nil {
 17173  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
 17174  	}
 17175  	if s.Parameters == nil {
 17176  		invalidParams.Add(request.NewErrParamRequired("Parameters"))
 17177  	}
 17178  
 17179  	if invalidParams.Len() > 0 {
 17180  		return invalidParams
 17181  	}
 17182  	return nil
 17183  }
 17184  
 17185  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 17186  func (s *ModifyDBParameterGroupInput) SetDBParameterGroupName(v string) *ModifyDBParameterGroupInput {
 17187  	s.DBParameterGroupName = &v
 17188  	return s
 17189  }
 17190  
 17191  // SetParameters sets the Parameters field's value.
 17192  func (s *ModifyDBParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBParameterGroupInput {
 17193  	s.Parameters = v
 17194  	return s
 17195  }
 17196  
 17197  type ModifyDBSubnetGroupInput struct {
 17198  	_ struct{} `type:"structure"`
 17199  
 17200  	// The description for the DB subnet group.
 17201  	DBSubnetGroupDescription *string `type:"string"`
 17202  
 17203  	// The name for the DB subnet group. This value is stored as a lowercase string.
 17204  	// You can't modify the default subnet group.
 17205  	//
 17206  	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
 17207  	// default.
 17208  	//
 17209  	// Example: mySubnetgroup
 17210  	//
 17211  	// DBSubnetGroupName is a required field
 17212  	DBSubnetGroupName *string `type:"string" required:"true"`
 17213  
 17214  	// The EC2 subnet IDs for the DB subnet group.
 17215  	//
 17216  	// SubnetIds is a required field
 17217  	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
 17218  }
 17219  
 17220  // String returns the string representation.
 17221  //
 17222  // API parameter values that are decorated as "sensitive" in the API will not
 17223  // be included in the string output. The member name will be present, but the
 17224  // value will be replaced with "sensitive".
 17225  func (s ModifyDBSubnetGroupInput) String() string {
 17226  	return awsutil.Prettify(s)
 17227  }
 17228  
 17229  // GoString returns the string representation.
 17230  //
 17231  // API parameter values that are decorated as "sensitive" in the API will not
 17232  // be included in the string output. The member name will be present, but the
 17233  // value will be replaced with "sensitive".
 17234  func (s ModifyDBSubnetGroupInput) GoString() string {
 17235  	return s.String()
 17236  }
 17237  
 17238  // Validate inspects the fields of the type to determine if they are valid.
 17239  func (s *ModifyDBSubnetGroupInput) Validate() error {
 17240  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSubnetGroupInput"}
 17241  	if s.DBSubnetGroupName == nil {
 17242  		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
 17243  	}
 17244  	if s.SubnetIds == nil {
 17245  		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
 17246  	}
 17247  
 17248  	if invalidParams.Len() > 0 {
 17249  		return invalidParams
 17250  	}
 17251  	return nil
 17252  }
 17253  
 17254  // SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
 17255  func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *ModifyDBSubnetGroupInput {
 17256  	s.DBSubnetGroupDescription = &v
 17257  	return s
 17258  }
 17259  
 17260  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 17261  func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupName(v string) *ModifyDBSubnetGroupInput {
 17262  	s.DBSubnetGroupName = &v
 17263  	return s
 17264  }
 17265  
 17266  // SetSubnetIds sets the SubnetIds field's value.
 17267  func (s *ModifyDBSubnetGroupInput) SetSubnetIds(v []*string) *ModifyDBSubnetGroupInput {
 17268  	s.SubnetIds = v
 17269  	return s
 17270  }
 17271  
 17272  type ModifyDBSubnetGroupOutput struct {
 17273  	_ struct{} `type:"structure"`
 17274  
 17275  	// Contains the details of an Amazon Neptune DB subnet group.
 17276  	//
 17277  	// This data type is used as a response element in the DescribeDBSubnetGroups
 17278  	// action.
 17279  	DBSubnetGroup *DBSubnetGroup `type:"structure"`
 17280  }
 17281  
 17282  // String returns the string representation.
 17283  //
 17284  // API parameter values that are decorated as "sensitive" in the API will not
 17285  // be included in the string output. The member name will be present, but the
 17286  // value will be replaced with "sensitive".
 17287  func (s ModifyDBSubnetGroupOutput) String() string {
 17288  	return awsutil.Prettify(s)
 17289  }
 17290  
 17291  // GoString returns the string representation.
 17292  //
 17293  // API parameter values that are decorated as "sensitive" in the API will not
 17294  // be included in the string output. The member name will be present, but the
 17295  // value will be replaced with "sensitive".
 17296  func (s ModifyDBSubnetGroupOutput) GoString() string {
 17297  	return s.String()
 17298  }
 17299  
 17300  // SetDBSubnetGroup sets the DBSubnetGroup field's value.
 17301  func (s *ModifyDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *ModifyDBSubnetGroupOutput {
 17302  	s.DBSubnetGroup = v
 17303  	return s
 17304  }
 17305  
 17306  type ModifyEventSubscriptionInput struct {
 17307  	_ struct{} `type:"structure"`
 17308  
 17309  	// A Boolean value; set to true to activate the subscription.
 17310  	Enabled *bool `type:"boolean"`
 17311  
 17312  	// A list of event categories for a SourceType that you want to subscribe to.
 17313  	// You can see a list of the categories for a given SourceType by using the
 17314  	// DescribeEventCategories action.
 17315  	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
 17316  
 17317  	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
 17318  	// The ARN is created by Amazon SNS when you create a topic and subscribe to
 17319  	// it.
 17320  	SnsTopicArn *string `type:"string"`
 17321  
 17322  	// The type of source that is generating the events. For example, if you want
 17323  	// to be notified of events generated by a DB instance, you would set this parameter
 17324  	// to db-instance. if this value is not specified, all events are returned.
 17325  	//
 17326  	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
 17327  	SourceType *string `type:"string"`
 17328  
 17329  	// The name of the event notification subscription.
 17330  	//
 17331  	// SubscriptionName is a required field
 17332  	SubscriptionName *string `type:"string" required:"true"`
 17333  }
 17334  
 17335  // String returns the string representation.
 17336  //
 17337  // API parameter values that are decorated as "sensitive" in the API will not
 17338  // be included in the string output. The member name will be present, but the
 17339  // value will be replaced with "sensitive".
 17340  func (s ModifyEventSubscriptionInput) String() string {
 17341  	return awsutil.Prettify(s)
 17342  }
 17343  
 17344  // GoString returns the string representation.
 17345  //
 17346  // API parameter values that are decorated as "sensitive" in the API will not
 17347  // be included in the string output. The member name will be present, but the
 17348  // value will be replaced with "sensitive".
 17349  func (s ModifyEventSubscriptionInput) GoString() string {
 17350  	return s.String()
 17351  }
 17352  
 17353  // Validate inspects the fields of the type to determine if they are valid.
 17354  func (s *ModifyEventSubscriptionInput) Validate() error {
 17355  	invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"}
 17356  	if s.SubscriptionName == nil {
 17357  		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
 17358  	}
 17359  
 17360  	if invalidParams.Len() > 0 {
 17361  		return invalidParams
 17362  	}
 17363  	return nil
 17364  }
 17365  
 17366  // SetEnabled sets the Enabled field's value.
 17367  func (s *ModifyEventSubscriptionInput) SetEnabled(v bool) *ModifyEventSubscriptionInput {
 17368  	s.Enabled = &v
 17369  	return s
 17370  }
 17371  
 17372  // SetEventCategories sets the EventCategories field's value.
 17373  func (s *ModifyEventSubscriptionInput) SetEventCategories(v []*string) *ModifyEventSubscriptionInput {
 17374  	s.EventCategories = v
 17375  	return s
 17376  }
 17377  
 17378  // SetSnsTopicArn sets the SnsTopicArn field's value.
 17379  func (s *ModifyEventSubscriptionInput) SetSnsTopicArn(v string) *ModifyEventSubscriptionInput {
 17380  	s.SnsTopicArn = &v
 17381  	return s
 17382  }
 17383  
 17384  // SetSourceType sets the SourceType field's value.
 17385  func (s *ModifyEventSubscriptionInput) SetSourceType(v string) *ModifyEventSubscriptionInput {
 17386  	s.SourceType = &v
 17387  	return s
 17388  }
 17389  
 17390  // SetSubscriptionName sets the SubscriptionName field's value.
 17391  func (s *ModifyEventSubscriptionInput) SetSubscriptionName(v string) *ModifyEventSubscriptionInput {
 17392  	s.SubscriptionName = &v
 17393  	return s
 17394  }
 17395  
 17396  type ModifyEventSubscriptionOutput struct {
 17397  	_ struct{} `type:"structure"`
 17398  
 17399  	// Contains the results of a successful invocation of the DescribeEventSubscriptions
 17400  	// action.
 17401  	EventSubscription *EventSubscription `type:"structure"`
 17402  }
 17403  
 17404  // String returns the string representation.
 17405  //
 17406  // API parameter values that are decorated as "sensitive" in the API will not
 17407  // be included in the string output. The member name will be present, but the
 17408  // value will be replaced with "sensitive".
 17409  func (s ModifyEventSubscriptionOutput) String() string {
 17410  	return awsutil.Prettify(s)
 17411  }
 17412  
 17413  // GoString returns the string representation.
 17414  //
 17415  // API parameter values that are decorated as "sensitive" in the API will not
 17416  // be included in the string output. The member name will be present, but the
 17417  // value will be replaced with "sensitive".
 17418  func (s ModifyEventSubscriptionOutput) GoString() string {
 17419  	return s.String()
 17420  }
 17421  
 17422  // SetEventSubscription sets the EventSubscription field's value.
 17423  func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *ModifyEventSubscriptionOutput {
 17424  	s.EventSubscription = v
 17425  	return s
 17426  }
 17427  
 17428  // Not supported by Neptune.
 17429  type OptionGroupMembership struct {
 17430  	_ struct{} `type:"structure"`
 17431  
 17432  	// Not supported by Neptune.
 17433  	OptionGroupName *string `type:"string"`
 17434  
 17435  	// Not supported by Neptune.
 17436  	Status *string `type:"string"`
 17437  }
 17438  
 17439  // String returns the string representation.
 17440  //
 17441  // API parameter values that are decorated as "sensitive" in the API will not
 17442  // be included in the string output. The member name will be present, but the
 17443  // value will be replaced with "sensitive".
 17444  func (s OptionGroupMembership) String() string {
 17445  	return awsutil.Prettify(s)
 17446  }
 17447  
 17448  // GoString returns the string representation.
 17449  //
 17450  // API parameter values that are decorated as "sensitive" in the API will not
 17451  // be included in the string output. The member name will be present, but the
 17452  // value will be replaced with "sensitive".
 17453  func (s OptionGroupMembership) GoString() string {
 17454  	return s.String()
 17455  }
 17456  
 17457  // SetOptionGroupName sets the OptionGroupName field's value.
 17458  func (s *OptionGroupMembership) SetOptionGroupName(v string) *OptionGroupMembership {
 17459  	s.OptionGroupName = &v
 17460  	return s
 17461  }
 17462  
 17463  // SetStatus sets the Status field's value.
 17464  func (s *OptionGroupMembership) SetStatus(v string) *OptionGroupMembership {
 17465  	s.Status = &v
 17466  	return s
 17467  }
 17468  
 17469  // Contains a list of available options for a DB instance.
 17470  //
 17471  // This data type is used as a response element in the DescribeOrderableDBInstanceOptions
 17472  // action.
 17473  type OrderableDBInstanceOption struct {
 17474  	_ struct{} `type:"structure"`
 17475  
 17476  	// A list of Availability Zones for a DB instance.
 17477  	AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"`
 17478  
 17479  	// The DB instance class for a DB instance.
 17480  	DBInstanceClass *string `type:"string"`
 17481  
 17482  	// The engine type of a DB instance.
 17483  	Engine *string `type:"string"`
 17484  
 17485  	// The engine version of a DB instance.
 17486  	EngineVersion *string `type:"string"`
 17487  
 17488  	// The license model for a DB instance.
 17489  	LicenseModel *string `type:"string"`
 17490  
 17491  	// Maximum total provisioned IOPS for a DB instance.
 17492  	MaxIopsPerDbInstance *int64 `type:"integer"`
 17493  
 17494  	// Maximum provisioned IOPS per GiB for a DB instance.
 17495  	MaxIopsPerGib *float64 `type:"double"`
 17496  
 17497  	// Maximum storage size for a DB instance.
 17498  	MaxStorageSize *int64 `type:"integer"`
 17499  
 17500  	// Minimum total provisioned IOPS for a DB instance.
 17501  	MinIopsPerDbInstance *int64 `type:"integer"`
 17502  
 17503  	// Minimum provisioned IOPS per GiB for a DB instance.
 17504  	MinIopsPerGib *float64 `type:"double"`
 17505  
 17506  	// Minimum storage size for a DB instance.
 17507  	MinStorageSize *int64 `type:"integer"`
 17508  
 17509  	// Indicates whether a DB instance is Multi-AZ capable.
 17510  	MultiAZCapable *bool `type:"boolean"`
 17511  
 17512  	// Indicates whether a DB instance can have a Read Replica.
 17513  	ReadReplicaCapable *bool `type:"boolean"`
 17514  
 17515  	// Indicates the storage type for a DB instance.
 17516  	StorageType *string `type:"string"`
 17517  
 17518  	// Indicates whether a DB instance supports Enhanced Monitoring at intervals
 17519  	// from 1 to 60 seconds.
 17520  	SupportsEnhancedMonitoring *bool `type:"boolean"`
 17521  
 17522  	// Indicates whether a DB instance supports IAM database authentication.
 17523  	SupportsIAMDatabaseAuthentication *bool `type:"boolean"`
 17524  
 17525  	// Indicates whether a DB instance supports provisioned IOPS.
 17526  	SupportsIops *bool `type:"boolean"`
 17527  
 17528  	// (Not supported by Neptune)
 17529  	SupportsPerformanceInsights *bool `type:"boolean"`
 17530  
 17531  	// Indicates whether a DB instance supports encrypted storage.
 17532  	SupportsStorageEncryption *bool `type:"boolean"`
 17533  
 17534  	// Indicates whether a DB instance is in a VPC.
 17535  	Vpc *bool `type:"boolean"`
 17536  }
 17537  
 17538  // String returns the string representation.
 17539  //
 17540  // API parameter values that are decorated as "sensitive" in the API will not
 17541  // be included in the string output. The member name will be present, but the
 17542  // value will be replaced with "sensitive".
 17543  func (s OrderableDBInstanceOption) String() string {
 17544  	return awsutil.Prettify(s)
 17545  }
 17546  
 17547  // GoString returns the string representation.
 17548  //
 17549  // API parameter values that are decorated as "sensitive" in the API will not
 17550  // be included in the string output. The member name will be present, but the
 17551  // value will be replaced with "sensitive".
 17552  func (s OrderableDBInstanceOption) GoString() string {
 17553  	return s.String()
 17554  }
 17555  
 17556  // SetAvailabilityZones sets the AvailabilityZones field's value.
 17557  func (s *OrderableDBInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableDBInstanceOption {
 17558  	s.AvailabilityZones = v
 17559  	return s
 17560  }
 17561  
 17562  // SetDBInstanceClass sets the DBInstanceClass field's value.
 17563  func (s *OrderableDBInstanceOption) SetDBInstanceClass(v string) *OrderableDBInstanceOption {
 17564  	s.DBInstanceClass = &v
 17565  	return s
 17566  }
 17567  
 17568  // SetEngine sets the Engine field's value.
 17569  func (s *OrderableDBInstanceOption) SetEngine(v string) *OrderableDBInstanceOption {
 17570  	s.Engine = &v
 17571  	return s
 17572  }
 17573  
 17574  // SetEngineVersion sets the EngineVersion field's value.
 17575  func (s *OrderableDBInstanceOption) SetEngineVersion(v string) *OrderableDBInstanceOption {
 17576  	s.EngineVersion = &v
 17577  	return s
 17578  }
 17579  
 17580  // SetLicenseModel sets the LicenseModel field's value.
 17581  func (s *OrderableDBInstanceOption) SetLicenseModel(v string) *OrderableDBInstanceOption {
 17582  	s.LicenseModel = &v
 17583  	return s
 17584  }
 17585  
 17586  // SetMaxIopsPerDbInstance sets the MaxIopsPerDbInstance field's value.
 17587  func (s *OrderableDBInstanceOption) SetMaxIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
 17588  	s.MaxIopsPerDbInstance = &v
 17589  	return s
 17590  }
 17591  
 17592  // SetMaxIopsPerGib sets the MaxIopsPerGib field's value.
 17593  func (s *OrderableDBInstanceOption) SetMaxIopsPerGib(v float64) *OrderableDBInstanceOption {
 17594  	s.MaxIopsPerGib = &v
 17595  	return s
 17596  }
 17597  
 17598  // SetMaxStorageSize sets the MaxStorageSize field's value.
 17599  func (s *OrderableDBInstanceOption) SetMaxStorageSize(v int64) *OrderableDBInstanceOption {
 17600  	s.MaxStorageSize = &v
 17601  	return s
 17602  }
 17603  
 17604  // SetMinIopsPerDbInstance sets the MinIopsPerDbInstance field's value.
 17605  func (s *OrderableDBInstanceOption) SetMinIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
 17606  	s.MinIopsPerDbInstance = &v
 17607  	return s
 17608  }
 17609  
 17610  // SetMinIopsPerGib sets the MinIopsPerGib field's value.
 17611  func (s *OrderableDBInstanceOption) SetMinIopsPerGib(v float64) *OrderableDBInstanceOption {
 17612  	s.MinIopsPerGib = &v
 17613  	return s
 17614  }
 17615  
 17616  // SetMinStorageSize sets the MinStorageSize field's value.
 17617  func (s *OrderableDBInstanceOption) SetMinStorageSize(v int64) *OrderableDBInstanceOption {
 17618  	s.MinStorageSize = &v
 17619  	return s
 17620  }
 17621  
 17622  // SetMultiAZCapable sets the MultiAZCapable field's value.
 17623  func (s *OrderableDBInstanceOption) SetMultiAZCapable(v bool) *OrderableDBInstanceOption {
 17624  	s.MultiAZCapable = &v
 17625  	return s
 17626  }
 17627  
 17628  // SetReadReplicaCapable sets the ReadReplicaCapable field's value.
 17629  func (s *OrderableDBInstanceOption) SetReadReplicaCapable(v bool) *OrderableDBInstanceOption {
 17630  	s.ReadReplicaCapable = &v
 17631  	return s
 17632  }
 17633  
 17634  // SetStorageType sets the StorageType field's value.
 17635  func (s *OrderableDBInstanceOption) SetStorageType(v string) *OrderableDBInstanceOption {
 17636  	s.StorageType = &v
 17637  	return s
 17638  }
 17639  
 17640  // SetSupportsEnhancedMonitoring sets the SupportsEnhancedMonitoring field's value.
 17641  func (s *OrderableDBInstanceOption) SetSupportsEnhancedMonitoring(v bool) *OrderableDBInstanceOption {
 17642  	s.SupportsEnhancedMonitoring = &v
 17643  	return s
 17644  }
 17645  
 17646  // SetSupportsIAMDatabaseAuthentication sets the SupportsIAMDatabaseAuthentication field's value.
 17647  func (s *OrderableDBInstanceOption) SetSupportsIAMDatabaseAuthentication(v bool) *OrderableDBInstanceOption {
 17648  	s.SupportsIAMDatabaseAuthentication = &v
 17649  	return s
 17650  }
 17651  
 17652  // SetSupportsIops sets the SupportsIops field's value.
 17653  func (s *OrderableDBInstanceOption) SetSupportsIops(v bool) *OrderableDBInstanceOption {
 17654  	s.SupportsIops = &v
 17655  	return s
 17656  }
 17657  
 17658  // SetSupportsPerformanceInsights sets the SupportsPerformanceInsights field's value.
 17659  func (s *OrderableDBInstanceOption) SetSupportsPerformanceInsights(v bool) *OrderableDBInstanceOption {
 17660  	s.SupportsPerformanceInsights = &v
 17661  	return s
 17662  }
 17663  
 17664  // SetSupportsStorageEncryption sets the SupportsStorageEncryption field's value.
 17665  func (s *OrderableDBInstanceOption) SetSupportsStorageEncryption(v bool) *OrderableDBInstanceOption {
 17666  	s.SupportsStorageEncryption = &v
 17667  	return s
 17668  }
 17669  
 17670  // SetVpc sets the Vpc field's value.
 17671  func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption {
 17672  	s.Vpc = &v
 17673  	return s
 17674  }
 17675  
 17676  // Specifies a parameter.
 17677  type Parameter struct {
 17678  	_ struct{} `type:"structure"`
 17679  
 17680  	// Specifies the valid range of values for the parameter.
 17681  	AllowedValues *string `type:"string"`
 17682  
 17683  	// Indicates when to apply parameter updates.
 17684  	ApplyMethod *string `type:"string" enum:"ApplyMethod"`
 17685  
 17686  	// Specifies the engine specific parameters type.
 17687  	ApplyType *string `type:"string"`
 17688  
 17689  	// Specifies the valid data type for the parameter.
 17690  	DataType *string `type:"string"`
 17691  
 17692  	// Provides a description of the parameter.
 17693  	Description *string `type:"string"`
 17694  
 17695  	// Indicates whether (true) or not (false) the parameter can be modified. Some
 17696  	// parameters have security or operational implications that prevent them from
 17697  	// being changed.
 17698  	IsModifiable *bool `type:"boolean"`
 17699  
 17700  	// The earliest engine version to which the parameter can apply.
 17701  	MinimumEngineVersion *string `type:"string"`
 17702  
 17703  	// Specifies the name of the parameter.
 17704  	ParameterName *string `type:"string"`
 17705  
 17706  	// Specifies the value of the parameter.
 17707  	ParameterValue *string `type:"string"`
 17708  
 17709  	// Indicates the source of the parameter value.
 17710  	Source *string `type:"string"`
 17711  }
 17712  
 17713  // String returns the string representation.
 17714  //
 17715  // API parameter values that are decorated as "sensitive" in the API will not
 17716  // be included in the string output. The member name will be present, but the
 17717  // value will be replaced with "sensitive".
 17718  func (s Parameter) String() string {
 17719  	return awsutil.Prettify(s)
 17720  }
 17721  
 17722  // GoString returns the string representation.
 17723  //
 17724  // API parameter values that are decorated as "sensitive" in the API will not
 17725  // be included in the string output. The member name will be present, but the
 17726  // value will be replaced with "sensitive".
 17727  func (s Parameter) GoString() string {
 17728  	return s.String()
 17729  }
 17730  
 17731  // SetAllowedValues sets the AllowedValues field's value.
 17732  func (s *Parameter) SetAllowedValues(v string) *Parameter {
 17733  	s.AllowedValues = &v
 17734  	return s
 17735  }
 17736  
 17737  // SetApplyMethod sets the ApplyMethod field's value.
 17738  func (s *Parameter) SetApplyMethod(v string) *Parameter {
 17739  	s.ApplyMethod = &v
 17740  	return s
 17741  }
 17742  
 17743  // SetApplyType sets the ApplyType field's value.
 17744  func (s *Parameter) SetApplyType(v string) *Parameter {
 17745  	s.ApplyType = &v
 17746  	return s
 17747  }
 17748  
 17749  // SetDataType sets the DataType field's value.
 17750  func (s *Parameter) SetDataType(v string) *Parameter {
 17751  	s.DataType = &v
 17752  	return s
 17753  }
 17754  
 17755  // SetDescription sets the Description field's value.
 17756  func (s *Parameter) SetDescription(v string) *Parameter {
 17757  	s.Description = &v
 17758  	return s
 17759  }
 17760  
 17761  // SetIsModifiable sets the IsModifiable field's value.
 17762  func (s *Parameter) SetIsModifiable(v bool) *Parameter {
 17763  	s.IsModifiable = &v
 17764  	return s
 17765  }
 17766  
 17767  // SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
 17768  func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter {
 17769  	s.MinimumEngineVersion = &v
 17770  	return s
 17771  }
 17772  
 17773  // SetParameterName sets the ParameterName field's value.
 17774  func (s *Parameter) SetParameterName(v string) *Parameter {
 17775  	s.ParameterName = &v
 17776  	return s
 17777  }
 17778  
 17779  // SetParameterValue sets the ParameterValue field's value.
 17780  func (s *Parameter) SetParameterValue(v string) *Parameter {
 17781  	s.ParameterValue = &v
 17782  	return s
 17783  }
 17784  
 17785  // SetSource sets the Source field's value.
 17786  func (s *Parameter) SetSource(v string) *Parameter {
 17787  	s.Source = &v
 17788  	return s
 17789  }
 17790  
 17791  // A list of the log types whose configuration is still pending. In other words,
 17792  // these log types are in the process of being activated or deactivated.
 17793  type PendingCloudwatchLogsExports struct {
 17794  	_ struct{} `type:"structure"`
 17795  
 17796  	// Log types that are in the process of being enabled. After they are enabled,
 17797  	// these log types are exported to CloudWatch Logs.
 17798  	LogTypesToDisable []*string `type:"list"`
 17799  
 17800  	// Log types that are in the process of being deactivated. After they are deactivated,
 17801  	// these log types aren't exported to CloudWatch Logs.
 17802  	LogTypesToEnable []*string `type:"list"`
 17803  }
 17804  
 17805  // String returns the string representation.
 17806  //
 17807  // API parameter values that are decorated as "sensitive" in the API will not
 17808  // be included in the string output. The member name will be present, but the
 17809  // value will be replaced with "sensitive".
 17810  func (s PendingCloudwatchLogsExports) String() string {
 17811  	return awsutil.Prettify(s)
 17812  }
 17813  
 17814  // GoString returns the string representation.
 17815  //
 17816  // API parameter values that are decorated as "sensitive" in the API will not
 17817  // be included in the string output. The member name will be present, but the
 17818  // value will be replaced with "sensitive".
 17819  func (s PendingCloudwatchLogsExports) GoString() string {
 17820  	return s.String()
 17821  }
 17822  
 17823  // SetLogTypesToDisable sets the LogTypesToDisable field's value.
 17824  func (s *PendingCloudwatchLogsExports) SetLogTypesToDisable(v []*string) *PendingCloudwatchLogsExports {
 17825  	s.LogTypesToDisable = v
 17826  	return s
 17827  }
 17828  
 17829  // SetLogTypesToEnable sets the LogTypesToEnable field's value.
 17830  func (s *PendingCloudwatchLogsExports) SetLogTypesToEnable(v []*string) *PendingCloudwatchLogsExports {
 17831  	s.LogTypesToEnable = v
 17832  	return s
 17833  }
 17834  
 17835  // Provides information about a pending maintenance action for a resource.
 17836  type PendingMaintenanceAction struct {
 17837  	_ struct{} `type:"structure"`
 17838  
 17839  	// The type of pending maintenance action that is available for the resource.
 17840  	Action *string `type:"string"`
 17841  
 17842  	// The date of the maintenance window when the action is applied. The maintenance
 17843  	// action is applied to the resource during its first maintenance window after
 17844  	// this date. If this date is specified, any next-maintenance opt-in requests
 17845  	// are ignored.
 17846  	AutoAppliedAfterDate *time.Time `type:"timestamp"`
 17847  
 17848  	// The effective date when the pending maintenance action is applied to the
 17849  	// resource. This date takes into account opt-in requests received from the
 17850  	// ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate.
 17851  	// This value is blank if an opt-in request has not been received and nothing
 17852  	// has been specified as AutoAppliedAfterDate or ForcedApplyDate.
 17853  	CurrentApplyDate *time.Time `type:"timestamp"`
 17854  
 17855  	// A description providing more detail about the maintenance action.
 17856  	Description *string `type:"string"`
 17857  
 17858  	// The date when the maintenance action is automatically applied. The maintenance
 17859  	// action is applied to the resource on this date regardless of the maintenance
 17860  	// window for the resource. If this date is specified, any immediate opt-in
 17861  	// requests are ignored.
 17862  	ForcedApplyDate *time.Time `type:"timestamp"`
 17863  
 17864  	// Indicates the type of opt-in request that has been received for the resource.
 17865  	OptInStatus *string `type:"string"`
 17866  }
 17867  
 17868  // String returns the string representation.
 17869  //
 17870  // API parameter values that are decorated as "sensitive" in the API will not
 17871  // be included in the string output. The member name will be present, but the
 17872  // value will be replaced with "sensitive".
 17873  func (s PendingMaintenanceAction) String() string {
 17874  	return awsutil.Prettify(s)
 17875  }
 17876  
 17877  // GoString returns the string representation.
 17878  //
 17879  // API parameter values that are decorated as "sensitive" in the API will not
 17880  // be included in the string output. The member name will be present, but the
 17881  // value will be replaced with "sensitive".
 17882  func (s PendingMaintenanceAction) GoString() string {
 17883  	return s.String()
 17884  }
 17885  
 17886  // SetAction sets the Action field's value.
 17887  func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
 17888  	s.Action = &v
 17889  	return s
 17890  }
 17891  
 17892  // SetAutoAppliedAfterDate sets the AutoAppliedAfterDate field's value.
 17893  func (s *PendingMaintenanceAction) SetAutoAppliedAfterDate(v time.Time) *PendingMaintenanceAction {
 17894  	s.AutoAppliedAfterDate = &v
 17895  	return s
 17896  }
 17897  
 17898  // SetCurrentApplyDate sets the CurrentApplyDate field's value.
 17899  func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
 17900  	s.CurrentApplyDate = &v
 17901  	return s
 17902  }
 17903  
 17904  // SetDescription sets the Description field's value.
 17905  func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
 17906  	s.Description = &v
 17907  	return s
 17908  }
 17909  
 17910  // SetForcedApplyDate sets the ForcedApplyDate field's value.
 17911  func (s *PendingMaintenanceAction) SetForcedApplyDate(v time.Time) *PendingMaintenanceAction {
 17912  	s.ForcedApplyDate = &v
 17913  	return s
 17914  }
 17915  
 17916  // SetOptInStatus sets the OptInStatus field's value.
 17917  func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceAction {
 17918  	s.OptInStatus = &v
 17919  	return s
 17920  }
 17921  
 17922  // This data type is used as a response element in the ModifyDBInstance action.
 17923  type PendingModifiedValues struct {
 17924  	_ struct{} `type:"structure"`
 17925  
 17926  	// Contains the new AllocatedStorage size for the DB instance that will be applied
 17927  	// or is currently being applied.
 17928  	AllocatedStorage *int64 `type:"integer"`
 17929  
 17930  	// Specifies the pending number of days for which automated backups are retained.
 17931  	BackupRetentionPeriod *int64 `type:"integer"`
 17932  
 17933  	// Specifies the identifier of the CA certificate for the DB instance.
 17934  	CACertificateIdentifier *string `type:"string"`
 17935  
 17936  	// Contains the new DBInstanceClass for the DB instance that will be applied
 17937  	// or is currently being applied.
 17938  	DBInstanceClass *string `type:"string"`
 17939  
 17940  	// Contains the new DBInstanceIdentifier for the DB instance that will be applied
 17941  	// or is currently being applied.
 17942  	DBInstanceIdentifier *string `type:"string"`
 17943  
 17944  	// The new DB subnet group for the DB instance.
 17945  	DBSubnetGroupName *string `type:"string"`
 17946  
 17947  	// Indicates the database engine version.
 17948  	EngineVersion *string `type:"string"`
 17949  
 17950  	// Specifies the new Provisioned IOPS value for the DB instance that will be
 17951  	// applied or is currently being applied.
 17952  	Iops *int64 `type:"integer"`
 17953  
 17954  	// Not supported by Neptune.
 17955  	LicenseModel *string `type:"string"`
 17956  
 17957  	// Not supported by Neptune.
 17958  	MasterUserPassword *string `type:"string"`
 17959  
 17960  	// Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.
 17961  	MultiAZ *bool `type:"boolean"`
 17962  
 17963  	// This PendingCloudwatchLogsExports structure specifies pending changes to
 17964  	// which CloudWatch logs are enabled and which are disabled.
 17965  	PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"`
 17966  
 17967  	// Specifies the pending port for the DB instance.
 17968  	Port *int64 `type:"integer"`
 17969  
 17970  	// Specifies the storage type to be associated with the DB instance.
 17971  	StorageType *string `type:"string"`
 17972  }
 17973  
 17974  // String returns the string representation.
 17975  //
 17976  // API parameter values that are decorated as "sensitive" in the API will not
 17977  // be included in the string output. The member name will be present, but the
 17978  // value will be replaced with "sensitive".
 17979  func (s PendingModifiedValues) String() string {
 17980  	return awsutil.Prettify(s)
 17981  }
 17982  
 17983  // GoString returns the string representation.
 17984  //
 17985  // API parameter values that are decorated as "sensitive" in the API will not
 17986  // be included in the string output. The member name will be present, but the
 17987  // value will be replaced with "sensitive".
 17988  func (s PendingModifiedValues) GoString() string {
 17989  	return s.String()
 17990  }
 17991  
 17992  // SetAllocatedStorage sets the AllocatedStorage field's value.
 17993  func (s *PendingModifiedValues) SetAllocatedStorage(v int64) *PendingModifiedValues {
 17994  	s.AllocatedStorage = &v
 17995  	return s
 17996  }
 17997  
 17998  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 17999  func (s *PendingModifiedValues) SetBackupRetentionPeriod(v int64) *PendingModifiedValues {
 18000  	s.BackupRetentionPeriod = &v
 18001  	return s
 18002  }
 18003  
 18004  // SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
 18005  func (s *PendingModifiedValues) SetCACertificateIdentifier(v string) *PendingModifiedValues {
 18006  	s.CACertificateIdentifier = &v
 18007  	return s
 18008  }
 18009  
 18010  // SetDBInstanceClass sets the DBInstanceClass field's value.
 18011  func (s *PendingModifiedValues) SetDBInstanceClass(v string) *PendingModifiedValues {
 18012  	s.DBInstanceClass = &v
 18013  	return s
 18014  }
 18015  
 18016  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 18017  func (s *PendingModifiedValues) SetDBInstanceIdentifier(v string) *PendingModifiedValues {
 18018  	s.DBInstanceIdentifier = &v
 18019  	return s
 18020  }
 18021  
 18022  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 18023  func (s *PendingModifiedValues) SetDBSubnetGroupName(v string) *PendingModifiedValues {
 18024  	s.DBSubnetGroupName = &v
 18025  	return s
 18026  }
 18027  
 18028  // SetEngineVersion sets the EngineVersion field's value.
 18029  func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues {
 18030  	s.EngineVersion = &v
 18031  	return s
 18032  }
 18033  
 18034  // SetIops sets the Iops field's value.
 18035  func (s *PendingModifiedValues) SetIops(v int64) *PendingModifiedValues {
 18036  	s.Iops = &v
 18037  	return s
 18038  }
 18039  
 18040  // SetLicenseModel sets the LicenseModel field's value.
 18041  func (s *PendingModifiedValues) SetLicenseModel(v string) *PendingModifiedValues {
 18042  	s.LicenseModel = &v
 18043  	return s
 18044  }
 18045  
 18046  // SetMasterUserPassword sets the MasterUserPassword field's value.
 18047  func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues {
 18048  	s.MasterUserPassword = &v
 18049  	return s
 18050  }
 18051  
 18052  // SetMultiAZ sets the MultiAZ field's value.
 18053  func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues {
 18054  	s.MultiAZ = &v
 18055  	return s
 18056  }
 18057  
 18058  // SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value.
 18059  func (s *PendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *PendingModifiedValues {
 18060  	s.PendingCloudwatchLogsExports = v
 18061  	return s
 18062  }
 18063  
 18064  // SetPort sets the Port field's value.
 18065  func (s *PendingModifiedValues) SetPort(v int64) *PendingModifiedValues {
 18066  	s.Port = &v
 18067  	return s
 18068  }
 18069  
 18070  // SetStorageType sets the StorageType field's value.
 18071  func (s *PendingModifiedValues) SetStorageType(v string) *PendingModifiedValues {
 18072  	s.StorageType = &v
 18073  	return s
 18074  }
 18075  
 18076  type PromoteReadReplicaDBClusterInput struct {
 18077  	_ struct{} `type:"structure"`
 18078  
 18079  	// Not supported.
 18080  	//
 18081  	// DBClusterIdentifier is a required field
 18082  	DBClusterIdentifier *string `type:"string" required:"true"`
 18083  }
 18084  
 18085  // String returns the string representation.
 18086  //
 18087  // API parameter values that are decorated as "sensitive" in the API will not
 18088  // be included in the string output. The member name will be present, but the
 18089  // value will be replaced with "sensitive".
 18090  func (s PromoteReadReplicaDBClusterInput) String() string {
 18091  	return awsutil.Prettify(s)
 18092  }
 18093  
 18094  // GoString returns the string representation.
 18095  //
 18096  // API parameter values that are decorated as "sensitive" in the API will not
 18097  // be included in the string output. The member name will be present, but the
 18098  // value will be replaced with "sensitive".
 18099  func (s PromoteReadReplicaDBClusterInput) GoString() string {
 18100  	return s.String()
 18101  }
 18102  
 18103  // Validate inspects the fields of the type to determine if they are valid.
 18104  func (s *PromoteReadReplicaDBClusterInput) Validate() error {
 18105  	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaDBClusterInput"}
 18106  	if s.DBClusterIdentifier == nil {
 18107  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 18108  	}
 18109  
 18110  	if invalidParams.Len() > 0 {
 18111  		return invalidParams
 18112  	}
 18113  	return nil
 18114  }
 18115  
 18116  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 18117  func (s *PromoteReadReplicaDBClusterInput) SetDBClusterIdentifier(v string) *PromoteReadReplicaDBClusterInput {
 18118  	s.DBClusterIdentifier = &v
 18119  	return s
 18120  }
 18121  
 18122  type PromoteReadReplicaDBClusterOutput struct {
 18123  	_ struct{} `type:"structure"`
 18124  
 18125  	// Contains the details of an Amazon Neptune DB cluster.
 18126  	//
 18127  	// This data type is used as a response element in the DescribeDBClusters action.
 18128  	DBCluster *DBCluster `type:"structure"`
 18129  }
 18130  
 18131  // String returns the string representation.
 18132  //
 18133  // API parameter values that are decorated as "sensitive" in the API will not
 18134  // be included in the string output. The member name will be present, but the
 18135  // value will be replaced with "sensitive".
 18136  func (s PromoteReadReplicaDBClusterOutput) String() string {
 18137  	return awsutil.Prettify(s)
 18138  }
 18139  
 18140  // GoString returns the string representation.
 18141  //
 18142  // API parameter values that are decorated as "sensitive" in the API will not
 18143  // be included in the string output. The member name will be present, but the
 18144  // value will be replaced with "sensitive".
 18145  func (s PromoteReadReplicaDBClusterOutput) GoString() string {
 18146  	return s.String()
 18147  }
 18148  
 18149  // SetDBCluster sets the DBCluster field's value.
 18150  func (s *PromoteReadReplicaDBClusterOutput) SetDBCluster(v *DBCluster) *PromoteReadReplicaDBClusterOutput {
 18151  	s.DBCluster = v
 18152  	return s
 18153  }
 18154  
 18155  // A range of integer values.
 18156  type Range struct {
 18157  	_ struct{} `type:"structure"`
 18158  
 18159  	// The minimum value in the range.
 18160  	From *int64 `type:"integer"`
 18161  
 18162  	// The step value for the range. For example, if you have a range of 5,000 to
 18163  	// 10,000, with a step value of 1,000, the valid values start at 5,000 and step
 18164  	// up by 1,000. Even though 7,500 is within the range, it isn't a valid value
 18165  	// for the range. The valid values are 5,000, 6,000, 7,000, 8,000...
 18166  	Step *int64 `type:"integer"`
 18167  
 18168  	// The maximum value in the range.
 18169  	To *int64 `type:"integer"`
 18170  }
 18171  
 18172  // String returns the string representation.
 18173  //
 18174  // API parameter values that are decorated as "sensitive" in the API will not
 18175  // be included in the string output. The member name will be present, but the
 18176  // value will be replaced with "sensitive".
 18177  func (s Range) String() string {
 18178  	return awsutil.Prettify(s)
 18179  }
 18180  
 18181  // GoString returns the string representation.
 18182  //
 18183  // API parameter values that are decorated as "sensitive" in the API will not
 18184  // be included in the string output. The member name will be present, but the
 18185  // value will be replaced with "sensitive".
 18186  func (s Range) GoString() string {
 18187  	return s.String()
 18188  }
 18189  
 18190  // SetFrom sets the From field's value.
 18191  func (s *Range) SetFrom(v int64) *Range {
 18192  	s.From = &v
 18193  	return s
 18194  }
 18195  
 18196  // SetStep sets the Step field's value.
 18197  func (s *Range) SetStep(v int64) *Range {
 18198  	s.Step = &v
 18199  	return s
 18200  }
 18201  
 18202  // SetTo sets the To field's value.
 18203  func (s *Range) SetTo(v int64) *Range {
 18204  	s.To = &v
 18205  	return s
 18206  }
 18207  
 18208  type RebootDBInstanceInput struct {
 18209  	_ struct{} `type:"structure"`
 18210  
 18211  	// The DB instance identifier. This parameter is stored as a lowercase string.
 18212  	//
 18213  	// Constraints:
 18214  	//
 18215  	//    * Must match the identifier of an existing DBInstance.
 18216  	//
 18217  	// DBInstanceIdentifier is a required field
 18218  	DBInstanceIdentifier *string `type:"string" required:"true"`
 18219  
 18220  	// When true, the reboot is conducted through a MultiAZ failover.
 18221  	//
 18222  	// Constraint: You can't specify true if the instance is not configured for
 18223  	// MultiAZ.
 18224  	ForceFailover *bool `type:"boolean"`
 18225  }
 18226  
 18227  // String returns the string representation.
 18228  //
 18229  // API parameter values that are decorated as "sensitive" in the API will not
 18230  // be included in the string output. The member name will be present, but the
 18231  // value will be replaced with "sensitive".
 18232  func (s RebootDBInstanceInput) String() string {
 18233  	return awsutil.Prettify(s)
 18234  }
 18235  
 18236  // GoString returns the string representation.
 18237  //
 18238  // API parameter values that are decorated as "sensitive" in the API will not
 18239  // be included in the string output. The member name will be present, but the
 18240  // value will be replaced with "sensitive".
 18241  func (s RebootDBInstanceInput) GoString() string {
 18242  	return s.String()
 18243  }
 18244  
 18245  // Validate inspects the fields of the type to determine if they are valid.
 18246  func (s *RebootDBInstanceInput) Validate() error {
 18247  	invalidParams := request.ErrInvalidParams{Context: "RebootDBInstanceInput"}
 18248  	if s.DBInstanceIdentifier == nil {
 18249  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 18250  	}
 18251  
 18252  	if invalidParams.Len() > 0 {
 18253  		return invalidParams
 18254  	}
 18255  	return nil
 18256  }
 18257  
 18258  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 18259  func (s *RebootDBInstanceInput) SetDBInstanceIdentifier(v string) *RebootDBInstanceInput {
 18260  	s.DBInstanceIdentifier = &v
 18261  	return s
 18262  }
 18263  
 18264  // SetForceFailover sets the ForceFailover field's value.
 18265  func (s *RebootDBInstanceInput) SetForceFailover(v bool) *RebootDBInstanceInput {
 18266  	s.ForceFailover = &v
 18267  	return s
 18268  }
 18269  
 18270  type RebootDBInstanceOutput struct {
 18271  	_ struct{} `type:"structure"`
 18272  
 18273  	// Contains the details of an Amazon Neptune DB instance.
 18274  	//
 18275  	// This data type is used as a response element in the DescribeDBInstances action.
 18276  	DBInstance *DBInstance `type:"structure"`
 18277  }
 18278  
 18279  // String returns the string representation.
 18280  //
 18281  // API parameter values that are decorated as "sensitive" in the API will not
 18282  // be included in the string output. The member name will be present, but the
 18283  // value will be replaced with "sensitive".
 18284  func (s RebootDBInstanceOutput) String() string {
 18285  	return awsutil.Prettify(s)
 18286  }
 18287  
 18288  // GoString returns the string representation.
 18289  //
 18290  // API parameter values that are decorated as "sensitive" in the API will not
 18291  // be included in the string output. The member name will be present, but the
 18292  // value will be replaced with "sensitive".
 18293  func (s RebootDBInstanceOutput) GoString() string {
 18294  	return s.String()
 18295  }
 18296  
 18297  // SetDBInstance sets the DBInstance field's value.
 18298  func (s *RebootDBInstanceOutput) SetDBInstance(v *DBInstance) *RebootDBInstanceOutput {
 18299  	s.DBInstance = v
 18300  	return s
 18301  }
 18302  
 18303  type RemoveRoleFromDBClusterInput struct {
 18304  	_ struct{} `type:"structure"`
 18305  
 18306  	// The name of the DB cluster to disassociate the IAM role from.
 18307  	//
 18308  	// DBClusterIdentifier is a required field
 18309  	DBClusterIdentifier *string `type:"string" required:"true"`
 18310  
 18311  	// The name of the feature for the DB cluster that the IAM role is to be disassociated
 18312  	// from. For the list of supported feature names, see DBEngineVersion.
 18313  	FeatureName *string `type:"string"`
 18314  
 18315  	// The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB
 18316  	// cluster, for example arn:aws:iam::123456789012:role/NeptuneAccessRole.
 18317  	//
 18318  	// RoleArn is a required field
 18319  	RoleArn *string `type:"string" required:"true"`
 18320  }
 18321  
 18322  // String returns the string representation.
 18323  //
 18324  // API parameter values that are decorated as "sensitive" in the API will not
 18325  // be included in the string output. The member name will be present, but the
 18326  // value will be replaced with "sensitive".
 18327  func (s RemoveRoleFromDBClusterInput) String() string {
 18328  	return awsutil.Prettify(s)
 18329  }
 18330  
 18331  // GoString returns the string representation.
 18332  //
 18333  // API parameter values that are decorated as "sensitive" in the API will not
 18334  // be included in the string output. The member name will be present, but the
 18335  // value will be replaced with "sensitive".
 18336  func (s RemoveRoleFromDBClusterInput) GoString() string {
 18337  	return s.String()
 18338  }
 18339  
 18340  // Validate inspects the fields of the type to determine if they are valid.
 18341  func (s *RemoveRoleFromDBClusterInput) Validate() error {
 18342  	invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBClusterInput"}
 18343  	if s.DBClusterIdentifier == nil {
 18344  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 18345  	}
 18346  	if s.RoleArn == nil {
 18347  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 18348  	}
 18349  
 18350  	if invalidParams.Len() > 0 {
 18351  		return invalidParams
 18352  	}
 18353  	return nil
 18354  }
 18355  
 18356  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 18357  func (s *RemoveRoleFromDBClusterInput) SetDBClusterIdentifier(v string) *RemoveRoleFromDBClusterInput {
 18358  	s.DBClusterIdentifier = &v
 18359  	return s
 18360  }
 18361  
 18362  // SetFeatureName sets the FeatureName field's value.
 18363  func (s *RemoveRoleFromDBClusterInput) SetFeatureName(v string) *RemoveRoleFromDBClusterInput {
 18364  	s.FeatureName = &v
 18365  	return s
 18366  }
 18367  
 18368  // SetRoleArn sets the RoleArn field's value.
 18369  func (s *RemoveRoleFromDBClusterInput) SetRoleArn(v string) *RemoveRoleFromDBClusterInput {
 18370  	s.RoleArn = &v
 18371  	return s
 18372  }
 18373  
 18374  type RemoveRoleFromDBClusterOutput struct {
 18375  	_ struct{} `type:"structure"`
 18376  }
 18377  
 18378  // String returns the string representation.
 18379  //
 18380  // API parameter values that are decorated as "sensitive" in the API will not
 18381  // be included in the string output. The member name will be present, but the
 18382  // value will be replaced with "sensitive".
 18383  func (s RemoveRoleFromDBClusterOutput) String() string {
 18384  	return awsutil.Prettify(s)
 18385  }
 18386  
 18387  // GoString returns the string representation.
 18388  //
 18389  // API parameter values that are decorated as "sensitive" in the API will not
 18390  // be included in the string output. The member name will be present, but the
 18391  // value will be replaced with "sensitive".
 18392  func (s RemoveRoleFromDBClusterOutput) GoString() string {
 18393  	return s.String()
 18394  }
 18395  
 18396  type RemoveSourceIdentifierFromSubscriptionInput struct {
 18397  	_ struct{} `type:"structure"`
 18398  
 18399  	// The source identifier to be removed from the subscription, such as the DB
 18400  	// instance identifier for a DB instance or the name of a security group.
 18401  	//
 18402  	// SourceIdentifier is a required field
 18403  	SourceIdentifier *string `type:"string" required:"true"`
 18404  
 18405  	// The name of the event notification subscription you want to remove a source
 18406  	// identifier from.
 18407  	//
 18408  	// SubscriptionName is a required field
 18409  	SubscriptionName *string `type:"string" required:"true"`
 18410  }
 18411  
 18412  // String returns the string representation.
 18413  //
 18414  // API parameter values that are decorated as "sensitive" in the API will not
 18415  // be included in the string output. The member name will be present, but the
 18416  // value will be replaced with "sensitive".
 18417  func (s RemoveSourceIdentifierFromSubscriptionInput) String() string {
 18418  	return awsutil.Prettify(s)
 18419  }
 18420  
 18421  // GoString returns the string representation.
 18422  //
 18423  // API parameter values that are decorated as "sensitive" in the API will not
 18424  // be included in the string output. The member name will be present, but the
 18425  // value will be replaced with "sensitive".
 18426  func (s RemoveSourceIdentifierFromSubscriptionInput) GoString() string {
 18427  	return s.String()
 18428  }
 18429  
 18430  // Validate inspects the fields of the type to determine if they are valid.
 18431  func (s *RemoveSourceIdentifierFromSubscriptionInput) Validate() error {
 18432  	invalidParams := request.ErrInvalidParams{Context: "RemoveSourceIdentifierFromSubscriptionInput"}
 18433  	if s.SourceIdentifier == nil {
 18434  		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
 18435  	}
 18436  	if s.SubscriptionName == nil {
 18437  		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
 18438  	}
 18439  
 18440  	if invalidParams.Len() > 0 {
 18441  		return invalidParams
 18442  	}
 18443  	return nil
 18444  }
 18445  
 18446  // SetSourceIdentifier sets the SourceIdentifier field's value.
 18447  func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSourceIdentifier(v string) *RemoveSourceIdentifierFromSubscriptionInput {
 18448  	s.SourceIdentifier = &v
 18449  	return s
 18450  }
 18451  
 18452  // SetSubscriptionName sets the SubscriptionName field's value.
 18453  func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSubscriptionName(v string) *RemoveSourceIdentifierFromSubscriptionInput {
 18454  	s.SubscriptionName = &v
 18455  	return s
 18456  }
 18457  
 18458  type RemoveSourceIdentifierFromSubscriptionOutput struct {
 18459  	_ struct{} `type:"structure"`
 18460  
 18461  	// Contains the results of a successful invocation of the DescribeEventSubscriptions
 18462  	// action.
 18463  	EventSubscription *EventSubscription `type:"structure"`
 18464  }
 18465  
 18466  // String returns the string representation.
 18467  //
 18468  // API parameter values that are decorated as "sensitive" in the API will not
 18469  // be included in the string output. The member name will be present, but the
 18470  // value will be replaced with "sensitive".
 18471  func (s RemoveSourceIdentifierFromSubscriptionOutput) String() string {
 18472  	return awsutil.Prettify(s)
 18473  }
 18474  
 18475  // GoString returns the string representation.
 18476  //
 18477  // API parameter values that are decorated as "sensitive" in the API will not
 18478  // be included in the string output. The member name will be present, but the
 18479  // value will be replaced with "sensitive".
 18480  func (s RemoveSourceIdentifierFromSubscriptionOutput) GoString() string {
 18481  	return s.String()
 18482  }
 18483  
 18484  // SetEventSubscription sets the EventSubscription field's value.
 18485  func (s *RemoveSourceIdentifierFromSubscriptionOutput) SetEventSubscription(v *EventSubscription) *RemoveSourceIdentifierFromSubscriptionOutput {
 18486  	s.EventSubscription = v
 18487  	return s
 18488  }
 18489  
 18490  type RemoveTagsFromResourceInput struct {
 18491  	_ struct{} `type:"structure"`
 18492  
 18493  	// The Amazon Neptune resource that the tags are removed from. This value is
 18494  	// an Amazon Resource Name (ARN). For information about creating an ARN, see
 18495  	// Constructing an Amazon Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
 18496  	//
 18497  	// ResourceName is a required field
 18498  	ResourceName *string `type:"string" required:"true"`
 18499  
 18500  	// The tag key (name) of the tag to be removed.
 18501  	//
 18502  	// TagKeys is a required field
 18503  	TagKeys []*string `type:"list" required:"true"`
 18504  }
 18505  
 18506  // String returns the string representation.
 18507  //
 18508  // API parameter values that are decorated as "sensitive" in the API will not
 18509  // be included in the string output. The member name will be present, but the
 18510  // value will be replaced with "sensitive".
 18511  func (s RemoveTagsFromResourceInput) String() string {
 18512  	return awsutil.Prettify(s)
 18513  }
 18514  
 18515  // GoString returns the string representation.
 18516  //
 18517  // API parameter values that are decorated as "sensitive" in the API will not
 18518  // be included in the string output. The member name will be present, but the
 18519  // value will be replaced with "sensitive".
 18520  func (s RemoveTagsFromResourceInput) GoString() string {
 18521  	return s.String()
 18522  }
 18523  
 18524  // Validate inspects the fields of the type to determine if they are valid.
 18525  func (s *RemoveTagsFromResourceInput) Validate() error {
 18526  	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
 18527  	if s.ResourceName == nil {
 18528  		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
 18529  	}
 18530  	if s.TagKeys == nil {
 18531  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 18532  	}
 18533  
 18534  	if invalidParams.Len() > 0 {
 18535  		return invalidParams
 18536  	}
 18537  	return nil
 18538  }
 18539  
 18540  // SetResourceName sets the ResourceName field's value.
 18541  func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput {
 18542  	s.ResourceName = &v
 18543  	return s
 18544  }
 18545  
 18546  // SetTagKeys sets the TagKeys field's value.
 18547  func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
 18548  	s.TagKeys = v
 18549  	return s
 18550  }
 18551  
 18552  type RemoveTagsFromResourceOutput struct {
 18553  	_ struct{} `type:"structure"`
 18554  }
 18555  
 18556  // String returns the string representation.
 18557  //
 18558  // API parameter values that are decorated as "sensitive" in the API will not
 18559  // be included in the string output. The member name will be present, but the
 18560  // value will be replaced with "sensitive".
 18561  func (s RemoveTagsFromResourceOutput) String() string {
 18562  	return awsutil.Prettify(s)
 18563  }
 18564  
 18565  // GoString returns the string representation.
 18566  //
 18567  // API parameter values that are decorated as "sensitive" in the API will not
 18568  // be included in the string output. The member name will be present, but the
 18569  // value will be replaced with "sensitive".
 18570  func (s RemoveTagsFromResourceOutput) GoString() string {
 18571  	return s.String()
 18572  }
 18573  
 18574  type ResetDBClusterParameterGroupInput struct {
 18575  	_ struct{} `type:"structure"`
 18576  
 18577  	// The name of the DB cluster parameter group to reset.
 18578  	//
 18579  	// DBClusterParameterGroupName is a required field
 18580  	DBClusterParameterGroupName *string `type:"string" required:"true"`
 18581  
 18582  	// A list of parameter names in the DB cluster parameter group to reset to the
 18583  	// default values. You can't use this parameter if the ResetAllParameters parameter
 18584  	// is set to true.
 18585  	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
 18586  
 18587  	// A value that is set to true to reset all parameters in the DB cluster parameter
 18588  	// group to their default values, and false otherwise. You can't use this parameter
 18589  	// if there is a list of parameter names specified for the Parameters parameter.
 18590  	ResetAllParameters *bool `type:"boolean"`
 18591  }
 18592  
 18593  // String returns the string representation.
 18594  //
 18595  // API parameter values that are decorated as "sensitive" in the API will not
 18596  // be included in the string output. The member name will be present, but the
 18597  // value will be replaced with "sensitive".
 18598  func (s ResetDBClusterParameterGroupInput) String() string {
 18599  	return awsutil.Prettify(s)
 18600  }
 18601  
 18602  // GoString returns the string representation.
 18603  //
 18604  // API parameter values that are decorated as "sensitive" in the API will not
 18605  // be included in the string output. The member name will be present, but the
 18606  // value will be replaced with "sensitive".
 18607  func (s ResetDBClusterParameterGroupInput) GoString() string {
 18608  	return s.String()
 18609  }
 18610  
 18611  // Validate inspects the fields of the type to determine if they are valid.
 18612  func (s *ResetDBClusterParameterGroupInput) Validate() error {
 18613  	invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"}
 18614  	if s.DBClusterParameterGroupName == nil {
 18615  		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
 18616  	}
 18617  
 18618  	if invalidParams.Len() > 0 {
 18619  		return invalidParams
 18620  	}
 18621  	return nil
 18622  }
 18623  
 18624  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 18625  func (s *ResetDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupInput {
 18626  	s.DBClusterParameterGroupName = &v
 18627  	return s
 18628  }
 18629  
 18630  // SetParameters sets the Parameters field's value.
 18631  func (s *ResetDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetDBClusterParameterGroupInput {
 18632  	s.Parameters = v
 18633  	return s
 18634  }
 18635  
 18636  // SetResetAllParameters sets the ResetAllParameters field's value.
 18637  func (s *ResetDBClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetDBClusterParameterGroupInput {
 18638  	s.ResetAllParameters = &v
 18639  	return s
 18640  }
 18641  
 18642  type ResetDBClusterParameterGroupOutput struct {
 18643  	_ struct{} `type:"structure"`
 18644  
 18645  	// The name of the DB cluster parameter group.
 18646  	//
 18647  	// Constraints:
 18648  	//
 18649  	//    * Must be 1 to 255 letters or numbers.
 18650  	//
 18651  	//    * First character must be a letter
 18652  	//
 18653  	//    * Cannot end with a hyphen or contain two consecutive hyphens
 18654  	//
 18655  	// This value is stored as a lowercase string.
 18656  	DBClusterParameterGroupName *string `type:"string"`
 18657  }
 18658  
 18659  // String returns the string representation.
 18660  //
 18661  // API parameter values that are decorated as "sensitive" in the API will not
 18662  // be included in the string output. The member name will be present, but the
 18663  // value will be replaced with "sensitive".
 18664  func (s ResetDBClusterParameterGroupOutput) String() string {
 18665  	return awsutil.Prettify(s)
 18666  }
 18667  
 18668  // GoString returns the string representation.
 18669  //
 18670  // API parameter values that are decorated as "sensitive" in the API will not
 18671  // be included in the string output. The member name will be present, but the
 18672  // value will be replaced with "sensitive".
 18673  func (s ResetDBClusterParameterGroupOutput) GoString() string {
 18674  	return s.String()
 18675  }
 18676  
 18677  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 18678  func (s *ResetDBClusterParameterGroupOutput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupOutput {
 18679  	s.DBClusterParameterGroupName = &v
 18680  	return s
 18681  }
 18682  
 18683  type ResetDBParameterGroupInput struct {
 18684  	_ struct{} `type:"structure"`
 18685  
 18686  	// The name of the DB parameter group.
 18687  	//
 18688  	// Constraints:
 18689  	//
 18690  	//    * Must match the name of an existing DBParameterGroup.
 18691  	//
 18692  	// DBParameterGroupName is a required field
 18693  	DBParameterGroupName *string `type:"string" required:"true"`
 18694  
 18695  	// To reset the entire DB parameter group, specify the DBParameterGroup name
 18696  	// and ResetAllParameters parameters. To reset specific parameters, provide
 18697  	// a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters
 18698  	// can be modified in a single request.
 18699  	//
 18700  	// Valid Values (for Apply method): pending-reboot
 18701  	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
 18702  
 18703  	// Specifies whether (true) or not (false) to reset all parameters in the DB
 18704  	// parameter group to default values.
 18705  	//
 18706  	// Default: true
 18707  	ResetAllParameters *bool `type:"boolean"`
 18708  }
 18709  
 18710  // String returns the string representation.
 18711  //
 18712  // API parameter values that are decorated as "sensitive" in the API will not
 18713  // be included in the string output. The member name will be present, but the
 18714  // value will be replaced with "sensitive".
 18715  func (s ResetDBParameterGroupInput) String() string {
 18716  	return awsutil.Prettify(s)
 18717  }
 18718  
 18719  // GoString returns the string representation.
 18720  //
 18721  // API parameter values that are decorated as "sensitive" in the API will not
 18722  // be included in the string output. The member name will be present, but the
 18723  // value will be replaced with "sensitive".
 18724  func (s ResetDBParameterGroupInput) GoString() string {
 18725  	return s.String()
 18726  }
 18727  
 18728  // Validate inspects the fields of the type to determine if they are valid.
 18729  func (s *ResetDBParameterGroupInput) Validate() error {
 18730  	invalidParams := request.ErrInvalidParams{Context: "ResetDBParameterGroupInput"}
 18731  	if s.DBParameterGroupName == nil {
 18732  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
 18733  	}
 18734  
 18735  	if invalidParams.Len() > 0 {
 18736  		return invalidParams
 18737  	}
 18738  	return nil
 18739  }
 18740  
 18741  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 18742  func (s *ResetDBParameterGroupInput) SetDBParameterGroupName(v string) *ResetDBParameterGroupInput {
 18743  	s.DBParameterGroupName = &v
 18744  	return s
 18745  }
 18746  
 18747  // SetParameters sets the Parameters field's value.
 18748  func (s *ResetDBParameterGroupInput) SetParameters(v []*Parameter) *ResetDBParameterGroupInput {
 18749  	s.Parameters = v
 18750  	return s
 18751  }
 18752  
 18753  // SetResetAllParameters sets the ResetAllParameters field's value.
 18754  func (s *ResetDBParameterGroupInput) SetResetAllParameters(v bool) *ResetDBParameterGroupInput {
 18755  	s.ResetAllParameters = &v
 18756  	return s
 18757  }
 18758  
 18759  type ResetDBParameterGroupOutput struct {
 18760  	_ struct{} `type:"structure"`
 18761  
 18762  	// Provides the name of the DB parameter group.
 18763  	DBParameterGroupName *string `type:"string"`
 18764  }
 18765  
 18766  // String returns the string representation.
 18767  //
 18768  // API parameter values that are decorated as "sensitive" in the API will not
 18769  // be included in the string output. The member name will be present, but the
 18770  // value will be replaced with "sensitive".
 18771  func (s ResetDBParameterGroupOutput) String() string {
 18772  	return awsutil.Prettify(s)
 18773  }
 18774  
 18775  // GoString returns the string representation.
 18776  //
 18777  // API parameter values that are decorated as "sensitive" in the API will not
 18778  // be included in the string output. The member name will be present, but the
 18779  // value will be replaced with "sensitive".
 18780  func (s ResetDBParameterGroupOutput) GoString() string {
 18781  	return s.String()
 18782  }
 18783  
 18784  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 18785  func (s *ResetDBParameterGroupOutput) SetDBParameterGroupName(v string) *ResetDBParameterGroupOutput {
 18786  	s.DBParameterGroupName = &v
 18787  	return s
 18788  }
 18789  
 18790  // Describes the pending maintenance actions for a resource.
 18791  type ResourcePendingMaintenanceActions struct {
 18792  	_ struct{} `type:"structure"`
 18793  
 18794  	// A list that provides details about the pending maintenance actions for the
 18795  	// resource.
 18796  	PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"`
 18797  
 18798  	// The ARN of the resource that has pending maintenance actions.
 18799  	ResourceIdentifier *string `type:"string"`
 18800  }
 18801  
 18802  // String returns the string representation.
 18803  //
 18804  // API parameter values that are decorated as "sensitive" in the API will not
 18805  // be included in the string output. The member name will be present, but the
 18806  // value will be replaced with "sensitive".
 18807  func (s ResourcePendingMaintenanceActions) String() string {
 18808  	return awsutil.Prettify(s)
 18809  }
 18810  
 18811  // GoString returns the string representation.
 18812  //
 18813  // API parameter values that are decorated as "sensitive" in the API will not
 18814  // be included in the string output. The member name will be present, but the
 18815  // value will be replaced with "sensitive".
 18816  func (s ResourcePendingMaintenanceActions) GoString() string {
 18817  	return s.String()
 18818  }
 18819  
 18820  // SetPendingMaintenanceActionDetails sets the PendingMaintenanceActionDetails field's value.
 18821  func (s *ResourcePendingMaintenanceActions) SetPendingMaintenanceActionDetails(v []*PendingMaintenanceAction) *ResourcePendingMaintenanceActions {
 18822  	s.PendingMaintenanceActionDetails = v
 18823  	return s
 18824  }
 18825  
 18826  // SetResourceIdentifier sets the ResourceIdentifier field's value.
 18827  func (s *ResourcePendingMaintenanceActions) SetResourceIdentifier(v string) *ResourcePendingMaintenanceActions {
 18828  	s.ResourceIdentifier = &v
 18829  	return s
 18830  }
 18831  
 18832  type RestoreDBClusterFromSnapshotInput struct {
 18833  	_ struct{} `type:"structure"`
 18834  
 18835  	// Provides the list of EC2 Availability Zones that instances in the restored
 18836  	// DB cluster can be created in.
 18837  	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
 18838  
 18839  	// If set to true, tags are copied to any snapshot of the restored DB cluster
 18840  	// that is created.
 18841  	CopyTagsToSnapshot *bool `type:"boolean"`
 18842  
 18843  	// The name of the DB cluster to create from the DB snapshot or DB cluster snapshot.
 18844  	// This parameter isn't case-sensitive.
 18845  	//
 18846  	// Constraints:
 18847  	//
 18848  	//    * Must contain from 1 to 63 letters, numbers, or hyphens
 18849  	//
 18850  	//    * First character must be a letter
 18851  	//
 18852  	//    * Cannot end with a hyphen or contain two consecutive hyphens
 18853  	//
 18854  	// Example: my-snapshot-id
 18855  	//
 18856  	// DBClusterIdentifier is a required field
 18857  	DBClusterIdentifier *string `type:"string" required:"true"`
 18858  
 18859  	// The name of the DB cluster parameter group to associate with the new DB cluster.
 18860  	//
 18861  	// Constraints:
 18862  	//
 18863  	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
 18864  	DBClusterParameterGroupName *string `type:"string"`
 18865  
 18866  	// The name of the DB subnet group to use for the new DB cluster.
 18867  	//
 18868  	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
 18869  	//
 18870  	// Example: mySubnetgroup
 18871  	DBSubnetGroupName *string `type:"string"`
 18872  
 18873  	// Not supported.
 18874  	DatabaseName *string `type:"string"`
 18875  
 18876  	// A value that indicates whether the DB cluster has deletion protection enabled.
 18877  	// The database can't be deleted when deletion protection is enabled. By default,
 18878  	// deletion protection is disabled.
 18879  	DeletionProtection *bool `type:"boolean"`
 18880  
 18881  	// The list of logs that the restored DB cluster is to export to Amazon CloudWatch
 18882  	// Logs.
 18883  	EnableCloudwatchLogsExports []*string `type:"list"`
 18884  
 18885  	// True to enable mapping of Amazon Identity and Access Management (IAM) accounts
 18886  	// to database accounts, and otherwise false.
 18887  	//
 18888  	// Default: false
 18889  	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
 18890  
 18891  	// The database engine to use for the new DB cluster.
 18892  	//
 18893  	// Default: The same as source
 18894  	//
 18895  	// Constraint: Must be compatible with the engine of the source
 18896  	//
 18897  	// Engine is a required field
 18898  	Engine *string `type:"string" required:"true"`
 18899  
 18900  	// The version of the database engine to use for the new DB cluster.
 18901  	EngineVersion *string `type:"string"`
 18902  
 18903  	// The Amazon KMS key identifier to use when restoring an encrypted DB cluster
 18904  	// from a DB snapshot or DB cluster snapshot.
 18905  	//
 18906  	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
 18907  	// key. If you are restoring a DB cluster with the same Amazon account that
 18908  	// owns the KMS encryption key used to encrypt the new DB cluster, then you
 18909  	// can use the KMS key alias instead of the ARN for the KMS encryption key.
 18910  	//
 18911  	// If you do not specify a value for the KmsKeyId parameter, then the following
 18912  	// will occur:
 18913  	//
 18914  	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted,
 18915  	//    then the restored DB cluster is encrypted using the KMS key that was used
 18916  	//    to encrypt the DB snapshot or DB cluster snapshot.
 18917  	//
 18918  	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is not
 18919  	//    encrypted, then the restored DB cluster is not encrypted.
 18920  	KmsKeyId *string `type:"string"`
 18921  
 18922  	// (Not supported by Neptune)
 18923  	OptionGroupName *string `type:"string"`
 18924  
 18925  	// The port number on which the new DB cluster accepts connections.
 18926  	//
 18927  	// Constraints: Value must be 1150-65535
 18928  	//
 18929  	// Default: The same port as the original DB cluster.
 18930  	Port *int64 `type:"integer"`
 18931  
 18932  	// The identifier for the DB snapshot or DB cluster snapshot to restore from.
 18933  	//
 18934  	// You can use either the name or the Amazon Resource Name (ARN) to specify
 18935  	// a DB cluster snapshot. However, you can use only the ARN to specify a DB
 18936  	// snapshot.
 18937  	//
 18938  	// Constraints:
 18939  	//
 18940  	//    * Must match the identifier of an existing Snapshot.
 18941  	//
 18942  	// SnapshotIdentifier is a required field
 18943  	SnapshotIdentifier *string `type:"string" required:"true"`
 18944  
 18945  	// The tags to be assigned to the restored DB cluster.
 18946  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 18947  
 18948  	// A list of VPC security groups that the new DB cluster will belong to.
 18949  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 18950  }
 18951  
 18952  // String returns the string representation.
 18953  //
 18954  // API parameter values that are decorated as "sensitive" in the API will not
 18955  // be included in the string output. The member name will be present, but the
 18956  // value will be replaced with "sensitive".
 18957  func (s RestoreDBClusterFromSnapshotInput) String() string {
 18958  	return awsutil.Prettify(s)
 18959  }
 18960  
 18961  // GoString returns the string representation.
 18962  //
 18963  // API parameter values that are decorated as "sensitive" in the API will not
 18964  // be included in the string output. The member name will be present, but the
 18965  // value will be replaced with "sensitive".
 18966  func (s RestoreDBClusterFromSnapshotInput) GoString() string {
 18967  	return s.String()
 18968  }
 18969  
 18970  // Validate inspects the fields of the type to determine if they are valid.
 18971  func (s *RestoreDBClusterFromSnapshotInput) Validate() error {
 18972  	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromSnapshotInput"}
 18973  	if s.DBClusterIdentifier == nil {
 18974  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 18975  	}
 18976  	if s.Engine == nil {
 18977  		invalidParams.Add(request.NewErrParamRequired("Engine"))
 18978  	}
 18979  	if s.SnapshotIdentifier == nil {
 18980  		invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
 18981  	}
 18982  
 18983  	if invalidParams.Len() > 0 {
 18984  		return invalidParams
 18985  	}
 18986  	return nil
 18987  }
 18988  
 18989  // SetAvailabilityZones sets the AvailabilityZones field's value.
 18990  func (s *RestoreDBClusterFromSnapshotInput) SetAvailabilityZones(v []*string) *RestoreDBClusterFromSnapshotInput {
 18991  	s.AvailabilityZones = v
 18992  	return s
 18993  }
 18994  
 18995  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 18996  func (s *RestoreDBClusterFromSnapshotInput) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterFromSnapshotInput {
 18997  	s.CopyTagsToSnapshot = &v
 18998  	return s
 18999  }
 19000  
 19001  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 19002  func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
 19003  	s.DBClusterIdentifier = &v
 19004  	return s
 19005  }
 19006  
 19007  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 19008  func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterFromSnapshotInput {
 19009  	s.DBClusterParameterGroupName = &v
 19010  	return s
 19011  }
 19012  
 19013  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 19014  func (s *RestoreDBClusterFromSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBClusterFromSnapshotInput {
 19015  	s.DBSubnetGroupName = &v
 19016  	return s
 19017  }
 19018  
 19019  // SetDatabaseName sets the DatabaseName field's value.
 19020  func (s *RestoreDBClusterFromSnapshotInput) SetDatabaseName(v string) *RestoreDBClusterFromSnapshotInput {
 19021  	s.DatabaseName = &v
 19022  	return s
 19023  }
 19024  
 19025  // SetDeletionProtection sets the DeletionProtection field's value.
 19026  func (s *RestoreDBClusterFromSnapshotInput) SetDeletionProtection(v bool) *RestoreDBClusterFromSnapshotInput {
 19027  	s.DeletionProtection = &v
 19028  	return s
 19029  }
 19030  
 19031  // SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
 19032  func (s *RestoreDBClusterFromSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromSnapshotInput {
 19033  	s.EnableCloudwatchLogsExports = v
 19034  	return s
 19035  }
 19036  
 19037  // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
 19038  func (s *RestoreDBClusterFromSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromSnapshotInput {
 19039  	s.EnableIAMDatabaseAuthentication = &v
 19040  	return s
 19041  }
 19042  
 19043  // SetEngine sets the Engine field's value.
 19044  func (s *RestoreDBClusterFromSnapshotInput) SetEngine(v string) *RestoreDBClusterFromSnapshotInput {
 19045  	s.Engine = &v
 19046  	return s
 19047  }
 19048  
 19049  // SetEngineVersion sets the EngineVersion field's value.
 19050  func (s *RestoreDBClusterFromSnapshotInput) SetEngineVersion(v string) *RestoreDBClusterFromSnapshotInput {
 19051  	s.EngineVersion = &v
 19052  	return s
 19053  }
 19054  
 19055  // SetKmsKeyId sets the KmsKeyId field's value.
 19056  func (s *RestoreDBClusterFromSnapshotInput) SetKmsKeyId(v string) *RestoreDBClusterFromSnapshotInput {
 19057  	s.KmsKeyId = &v
 19058  	return s
 19059  }
 19060  
 19061  // SetOptionGroupName sets the OptionGroupName field's value.
 19062  func (s *RestoreDBClusterFromSnapshotInput) SetOptionGroupName(v string) *RestoreDBClusterFromSnapshotInput {
 19063  	s.OptionGroupName = &v
 19064  	return s
 19065  }
 19066  
 19067  // SetPort sets the Port field's value.
 19068  func (s *RestoreDBClusterFromSnapshotInput) SetPort(v int64) *RestoreDBClusterFromSnapshotInput {
 19069  	s.Port = &v
 19070  	return s
 19071  }
 19072  
 19073  // SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
 19074  func (s *RestoreDBClusterFromSnapshotInput) SetSnapshotIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
 19075  	s.SnapshotIdentifier = &v
 19076  	return s
 19077  }
 19078  
 19079  // SetTags sets the Tags field's value.
 19080  func (s *RestoreDBClusterFromSnapshotInput) SetTags(v []*Tag) *RestoreDBClusterFromSnapshotInput {
 19081  	s.Tags = v
 19082  	return s
 19083  }
 19084  
 19085  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 19086  func (s *RestoreDBClusterFromSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromSnapshotInput {
 19087  	s.VpcSecurityGroupIds = v
 19088  	return s
 19089  }
 19090  
 19091  type RestoreDBClusterFromSnapshotOutput struct {
 19092  	_ struct{} `type:"structure"`
 19093  
 19094  	// Contains the details of an Amazon Neptune DB cluster.
 19095  	//
 19096  	// This data type is used as a response element in the DescribeDBClusters action.
 19097  	DBCluster *DBCluster `type:"structure"`
 19098  }
 19099  
 19100  // String returns the string representation.
 19101  //
 19102  // API parameter values that are decorated as "sensitive" in the API will not
 19103  // be included in the string output. The member name will be present, but the
 19104  // value will be replaced with "sensitive".
 19105  func (s RestoreDBClusterFromSnapshotOutput) String() string {
 19106  	return awsutil.Prettify(s)
 19107  }
 19108  
 19109  // GoString returns the string representation.
 19110  //
 19111  // API parameter values that are decorated as "sensitive" in the API will not
 19112  // be included in the string output. The member name will be present, but the
 19113  // value will be replaced with "sensitive".
 19114  func (s RestoreDBClusterFromSnapshotOutput) GoString() string {
 19115  	return s.String()
 19116  }
 19117  
 19118  // SetDBCluster sets the DBCluster field's value.
 19119  func (s *RestoreDBClusterFromSnapshotOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterFromSnapshotOutput {
 19120  	s.DBCluster = v
 19121  	return s
 19122  }
 19123  
 19124  type RestoreDBClusterToPointInTimeInput struct {
 19125  	_ struct{} `type:"structure"`
 19126  
 19127  	// The name of the new DB cluster to be created.
 19128  	//
 19129  	// Constraints:
 19130  	//
 19131  	//    * Must contain from 1 to 63 letters, numbers, or hyphens
 19132  	//
 19133  	//    * First character must be a letter
 19134  	//
 19135  	//    * Cannot end with a hyphen or contain two consecutive hyphens
 19136  	//
 19137  	// DBClusterIdentifier is a required field
 19138  	DBClusterIdentifier *string `type:"string" required:"true"`
 19139  
 19140  	// The name of the DB cluster parameter group to associate with the new DB cluster.
 19141  	//
 19142  	// Constraints:
 19143  	//
 19144  	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
 19145  	DBClusterParameterGroupName *string `type:"string"`
 19146  
 19147  	// The DB subnet group name to use for the new DB cluster.
 19148  	//
 19149  	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
 19150  	//
 19151  	// Example: mySubnetgroup
 19152  	DBSubnetGroupName *string `type:"string"`
 19153  
 19154  	// A value that indicates whether the DB cluster has deletion protection enabled.
 19155  	// The database can't be deleted when deletion protection is enabled. By default,
 19156  	// deletion protection is disabled.
 19157  	DeletionProtection *bool `type:"boolean"`
 19158  
 19159  	// The list of logs that the restored DB cluster is to export to CloudWatch
 19160  	// Logs.
 19161  	EnableCloudwatchLogsExports []*string `type:"list"`
 19162  
 19163  	// True to enable mapping of Amazon Identity and Access Management (IAM) accounts
 19164  	// to database accounts, and otherwise false.
 19165  	//
 19166  	// Default: false
 19167  	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
 19168  
 19169  	// The Amazon KMS key identifier to use when restoring an encrypted DB cluster
 19170  	// from an encrypted DB cluster.
 19171  	//
 19172  	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
 19173  	// key. If you are restoring a DB cluster with the same Amazon account that
 19174  	// owns the KMS encryption key used to encrypt the new DB cluster, then you
 19175  	// can use the KMS key alias instead of the ARN for the KMS encryption key.
 19176  	//
 19177  	// You can restore to a new DB cluster and encrypt the new DB cluster with a
 19178  	// KMS key that is different than the KMS key used to encrypt the source DB
 19179  	// cluster. The new DB cluster is encrypted with the KMS key identified by the
 19180  	// KmsKeyId parameter.
 19181  	//
 19182  	// If you do not specify a value for the KmsKeyId parameter, then the following
 19183  	// will occur:
 19184  	//
 19185  	//    * If the DB cluster is encrypted, then the restored DB cluster is encrypted
 19186  	//    using the KMS key that was used to encrypt the source DB cluster.
 19187  	//
 19188  	//    * If the DB cluster is not encrypted, then the restored DB cluster is
 19189  	//    not encrypted.
 19190  	//
 19191  	// If DBClusterIdentifier refers to a DB cluster that is not encrypted, then
 19192  	// the restore request is rejected.
 19193  	KmsKeyId *string `type:"string"`
 19194  
 19195  	// (Not supported by Neptune)
 19196  	OptionGroupName *string `type:"string"`
 19197  
 19198  	// The port number on which the new DB cluster accepts connections.
 19199  	//
 19200  	// Constraints: Value must be 1150-65535
 19201  	//
 19202  	// Default: The same port as the original DB cluster.
 19203  	Port *int64 `type:"integer"`
 19204  
 19205  	// The date and time to restore the DB cluster to.
 19206  	//
 19207  	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
 19208  	//
 19209  	// Constraints:
 19210  	//
 19211  	//    * Must be before the latest restorable time for the DB instance
 19212  	//
 19213  	//    * Must be specified if UseLatestRestorableTime parameter is not provided
 19214  	//
 19215  	//    * Cannot be specified if UseLatestRestorableTime parameter is true
 19216  	//
 19217  	//    * Cannot be specified if RestoreType parameter is copy-on-write
 19218  	//
 19219  	// Example: 2015-03-07T23:45:00Z
 19220  	RestoreToTime *time.Time `type:"timestamp"`
 19221  
 19222  	// The type of restore to be performed. You can specify one of the following
 19223  	// values:
 19224  	//
 19225  	//    * full-copy - The new DB cluster is restored as a full copy of the source
 19226  	//    DB cluster.
 19227  	//
 19228  	//    * copy-on-write - The new DB cluster is restored as a clone of the source
 19229  	//    DB cluster.
 19230  	//
 19231  	// If you don't specify a RestoreType value, then the new DB cluster is restored
 19232  	// as a full copy of the source DB cluster.
 19233  	RestoreType *string `type:"string"`
 19234  
 19235  	// The identifier of the source DB cluster from which to restore.
 19236  	//
 19237  	// Constraints:
 19238  	//
 19239  	//    * Must match the identifier of an existing DBCluster.
 19240  	//
 19241  	// SourceDBClusterIdentifier is a required field
 19242  	SourceDBClusterIdentifier *string `type:"string" required:"true"`
 19243  
 19244  	// The tags to be applied to the restored DB cluster.
 19245  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 19246  
 19247  	// A value that is set to true to restore the DB cluster to the latest restorable
 19248  	// backup time, and false otherwise.
 19249  	//
 19250  	// Default: false
 19251  	//
 19252  	// Constraints: Cannot be specified if RestoreToTime parameter is provided.
 19253  	UseLatestRestorableTime *bool `type:"boolean"`
 19254  
 19255  	// A list of VPC security groups that the new DB cluster belongs to.
 19256  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 19257  }
 19258  
 19259  // String returns the string representation.
 19260  //
 19261  // API parameter values that are decorated as "sensitive" in the API will not
 19262  // be included in the string output. The member name will be present, but the
 19263  // value will be replaced with "sensitive".
 19264  func (s RestoreDBClusterToPointInTimeInput) String() string {
 19265  	return awsutil.Prettify(s)
 19266  }
 19267  
 19268  // GoString returns the string representation.
 19269  //
 19270  // API parameter values that are decorated as "sensitive" in the API will not
 19271  // be included in the string output. The member name will be present, but the
 19272  // value will be replaced with "sensitive".
 19273  func (s RestoreDBClusterToPointInTimeInput) GoString() string {
 19274  	return s.String()
 19275  }
 19276  
 19277  // Validate inspects the fields of the type to determine if they are valid.
 19278  func (s *RestoreDBClusterToPointInTimeInput) Validate() error {
 19279  	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterToPointInTimeInput"}
 19280  	if s.DBClusterIdentifier == nil {
 19281  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 19282  	}
 19283  	if s.SourceDBClusterIdentifier == nil {
 19284  		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterIdentifier"))
 19285  	}
 19286  
 19287  	if invalidParams.Len() > 0 {
 19288  		return invalidParams
 19289  	}
 19290  	return nil
 19291  }
 19292  
 19293  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 19294  func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
 19295  	s.DBClusterIdentifier = &v
 19296  	return s
 19297  }
 19298  
 19299  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 19300  func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterToPointInTimeInput {
 19301  	s.DBClusterParameterGroupName = &v
 19302  	return s
 19303  }
 19304  
 19305  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 19306  func (s *RestoreDBClusterToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBClusterToPointInTimeInput {
 19307  	s.DBSubnetGroupName = &v
 19308  	return s
 19309  }
 19310  
 19311  // SetDeletionProtection sets the DeletionProtection field's value.
 19312  func (s *RestoreDBClusterToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBClusterToPointInTimeInput {
 19313  	s.DeletionProtection = &v
 19314  	return s
 19315  }
 19316  
 19317  // SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
 19318  func (s *RestoreDBClusterToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterToPointInTimeInput {
 19319  	s.EnableCloudwatchLogsExports = v
 19320  	return s
 19321  }
 19322  
 19323  // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
 19324  func (s *RestoreDBClusterToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterToPointInTimeInput {
 19325  	s.EnableIAMDatabaseAuthentication = &v
 19326  	return s
 19327  }
 19328  
 19329  // SetKmsKeyId sets the KmsKeyId field's value.
 19330  func (s *RestoreDBClusterToPointInTimeInput) SetKmsKeyId(v string) *RestoreDBClusterToPointInTimeInput {
 19331  	s.KmsKeyId = &v
 19332  	return s
 19333  }
 19334  
 19335  // SetOptionGroupName sets the OptionGroupName field's value.
 19336  func (s *RestoreDBClusterToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBClusterToPointInTimeInput {
 19337  	s.OptionGroupName = &v
 19338  	return s
 19339  }
 19340  
 19341  // SetPort sets the Port field's value.
 19342  func (s *RestoreDBClusterToPointInTimeInput) SetPort(v int64) *RestoreDBClusterToPointInTimeInput {
 19343  	s.Port = &v
 19344  	return s
 19345  }
 19346  
 19347  // SetRestoreToTime sets the RestoreToTime field's value.
 19348  func (s *RestoreDBClusterToPointInTimeInput) SetRestoreToTime(v time.Time) *RestoreDBClusterToPointInTimeInput {
 19349  	s.RestoreToTime = &v
 19350  	return s
 19351  }
 19352  
 19353  // SetRestoreType sets the RestoreType field's value.
 19354  func (s *RestoreDBClusterToPointInTimeInput) SetRestoreType(v string) *RestoreDBClusterToPointInTimeInput {
 19355  	s.RestoreType = &v
 19356  	return s
 19357  }
 19358  
 19359  // SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
 19360  func (s *RestoreDBClusterToPointInTimeInput) SetSourceDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
 19361  	s.SourceDBClusterIdentifier = &v
 19362  	return s
 19363  }
 19364  
 19365  // SetTags sets the Tags field's value.
 19366  func (s *RestoreDBClusterToPointInTimeInput) SetTags(v []*Tag) *RestoreDBClusterToPointInTimeInput {
 19367  	s.Tags = v
 19368  	return s
 19369  }
 19370  
 19371  // SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
 19372  func (s *RestoreDBClusterToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBClusterToPointInTimeInput {
 19373  	s.UseLatestRestorableTime = &v
 19374  	return s
 19375  }
 19376  
 19377  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 19378  func (s *RestoreDBClusterToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterToPointInTimeInput {
 19379  	s.VpcSecurityGroupIds = v
 19380  	return s
 19381  }
 19382  
 19383  type RestoreDBClusterToPointInTimeOutput struct {
 19384  	_ struct{} `type:"structure"`
 19385  
 19386  	// Contains the details of an Amazon Neptune DB cluster.
 19387  	//
 19388  	// This data type is used as a response element in the DescribeDBClusters action.
 19389  	DBCluster *DBCluster `type:"structure"`
 19390  }
 19391  
 19392  // String returns the string representation.
 19393  //
 19394  // API parameter values that are decorated as "sensitive" in the API will not
 19395  // be included in the string output. The member name will be present, but the
 19396  // value will be replaced with "sensitive".
 19397  func (s RestoreDBClusterToPointInTimeOutput) String() string {
 19398  	return awsutil.Prettify(s)
 19399  }
 19400  
 19401  // GoString returns the string representation.
 19402  //
 19403  // API parameter values that are decorated as "sensitive" in the API will not
 19404  // be included in the string output. The member name will be present, but the
 19405  // value will be replaced with "sensitive".
 19406  func (s RestoreDBClusterToPointInTimeOutput) GoString() string {
 19407  	return s.String()
 19408  }
 19409  
 19410  // SetDBCluster sets the DBCluster field's value.
 19411  func (s *RestoreDBClusterToPointInTimeOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterToPointInTimeOutput {
 19412  	s.DBCluster = v
 19413  	return s
 19414  }
 19415  
 19416  type StartDBClusterInput struct {
 19417  	_ struct{} `type:"structure"`
 19418  
 19419  	// The DB cluster identifier of the Neptune DB cluster to be started. This parameter
 19420  	// is stored as a lowercase string.
 19421  	//
 19422  	// DBClusterIdentifier is a required field
 19423  	DBClusterIdentifier *string `type:"string" required:"true"`
 19424  }
 19425  
 19426  // String returns the string representation.
 19427  //
 19428  // API parameter values that are decorated as "sensitive" in the API will not
 19429  // be included in the string output. The member name will be present, but the
 19430  // value will be replaced with "sensitive".
 19431  func (s StartDBClusterInput) String() string {
 19432  	return awsutil.Prettify(s)
 19433  }
 19434  
 19435  // GoString returns the string representation.
 19436  //
 19437  // API parameter values that are decorated as "sensitive" in the API will not
 19438  // be included in the string output. The member name will be present, but the
 19439  // value will be replaced with "sensitive".
 19440  func (s StartDBClusterInput) GoString() string {
 19441  	return s.String()
 19442  }
 19443  
 19444  // Validate inspects the fields of the type to determine if they are valid.
 19445  func (s *StartDBClusterInput) Validate() error {
 19446  	invalidParams := request.ErrInvalidParams{Context: "StartDBClusterInput"}
 19447  	if s.DBClusterIdentifier == nil {
 19448  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 19449  	}
 19450  
 19451  	if invalidParams.Len() > 0 {
 19452  		return invalidParams
 19453  	}
 19454  	return nil
 19455  }
 19456  
 19457  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 19458  func (s *StartDBClusterInput) SetDBClusterIdentifier(v string) *StartDBClusterInput {
 19459  	s.DBClusterIdentifier = &v
 19460  	return s
 19461  }
 19462  
 19463  type StartDBClusterOutput struct {
 19464  	_ struct{} `type:"structure"`
 19465  
 19466  	// Contains the details of an Amazon Neptune DB cluster.
 19467  	//
 19468  	// This data type is used as a response element in the DescribeDBClusters action.
 19469  	DBCluster *DBCluster `type:"structure"`
 19470  }
 19471  
 19472  // String returns the string representation.
 19473  //
 19474  // API parameter values that are decorated as "sensitive" in the API will not
 19475  // be included in the string output. The member name will be present, but the
 19476  // value will be replaced with "sensitive".
 19477  func (s StartDBClusterOutput) String() string {
 19478  	return awsutil.Prettify(s)
 19479  }
 19480  
 19481  // GoString returns the string representation.
 19482  //
 19483  // API parameter values that are decorated as "sensitive" in the API will not
 19484  // be included in the string output. The member name will be present, but the
 19485  // value will be replaced with "sensitive".
 19486  func (s StartDBClusterOutput) GoString() string {
 19487  	return s.String()
 19488  }
 19489  
 19490  // SetDBCluster sets the DBCluster field's value.
 19491  func (s *StartDBClusterOutput) SetDBCluster(v *DBCluster) *StartDBClusterOutput {
 19492  	s.DBCluster = v
 19493  	return s
 19494  }
 19495  
 19496  type StopDBClusterInput struct {
 19497  	_ struct{} `type:"structure"`
 19498  
 19499  	// The DB cluster identifier of the Neptune DB cluster to be stopped. This parameter
 19500  	// is stored as a lowercase string.
 19501  	//
 19502  	// DBClusterIdentifier is a required field
 19503  	DBClusterIdentifier *string `type:"string" required:"true"`
 19504  }
 19505  
 19506  // String returns the string representation.
 19507  //
 19508  // API parameter values that are decorated as "sensitive" in the API will not
 19509  // be included in the string output. The member name will be present, but the
 19510  // value will be replaced with "sensitive".
 19511  func (s StopDBClusterInput) String() string {
 19512  	return awsutil.Prettify(s)
 19513  }
 19514  
 19515  // GoString returns the string representation.
 19516  //
 19517  // API parameter values that are decorated as "sensitive" in the API will not
 19518  // be included in the string output. The member name will be present, but the
 19519  // value will be replaced with "sensitive".
 19520  func (s StopDBClusterInput) GoString() string {
 19521  	return s.String()
 19522  }
 19523  
 19524  // Validate inspects the fields of the type to determine if they are valid.
 19525  func (s *StopDBClusterInput) Validate() error {
 19526  	invalidParams := request.ErrInvalidParams{Context: "StopDBClusterInput"}
 19527  	if s.DBClusterIdentifier == nil {
 19528  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 19529  	}
 19530  
 19531  	if invalidParams.Len() > 0 {
 19532  		return invalidParams
 19533  	}
 19534  	return nil
 19535  }
 19536  
 19537  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 19538  func (s *StopDBClusterInput) SetDBClusterIdentifier(v string) *StopDBClusterInput {
 19539  	s.DBClusterIdentifier = &v
 19540  	return s
 19541  }
 19542  
 19543  type StopDBClusterOutput struct {
 19544  	_ struct{} `type:"structure"`
 19545  
 19546  	// Contains the details of an Amazon Neptune DB cluster.
 19547  	//
 19548  	// This data type is used as a response element in the DescribeDBClusters action.
 19549  	DBCluster *DBCluster `type:"structure"`
 19550  }
 19551  
 19552  // String returns the string representation.
 19553  //
 19554  // API parameter values that are decorated as "sensitive" in the API will not
 19555  // be included in the string output. The member name will be present, but the
 19556  // value will be replaced with "sensitive".
 19557  func (s StopDBClusterOutput) String() string {
 19558  	return awsutil.Prettify(s)
 19559  }
 19560  
 19561  // GoString returns the string representation.
 19562  //
 19563  // API parameter values that are decorated as "sensitive" in the API will not
 19564  // be included in the string output. The member name will be present, but the
 19565  // value will be replaced with "sensitive".
 19566  func (s StopDBClusterOutput) GoString() string {
 19567  	return s.String()
 19568  }
 19569  
 19570  // SetDBCluster sets the DBCluster field's value.
 19571  func (s *StopDBClusterOutput) SetDBCluster(v *DBCluster) *StopDBClusterOutput {
 19572  	s.DBCluster = v
 19573  	return s
 19574  }
 19575  
 19576  // Specifies a subnet.
 19577  //
 19578  // This data type is used as a response element in the DescribeDBSubnetGroups
 19579  // action.
 19580  type Subnet struct {
 19581  	_ struct{} `type:"structure"`
 19582  
 19583  	// Specifies the EC2 Availability Zone that the subnet is in.
 19584  	SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
 19585  
 19586  	// Specifies the identifier of the subnet.
 19587  	SubnetIdentifier *string `type:"string"`
 19588  
 19589  	// Specifies the status of the subnet.
 19590  	SubnetStatus *string `type:"string"`
 19591  }
 19592  
 19593  // String returns the string representation.
 19594  //
 19595  // API parameter values that are decorated as "sensitive" in the API will not
 19596  // be included in the string output. The member name will be present, but the
 19597  // value will be replaced with "sensitive".
 19598  func (s Subnet) String() string {
 19599  	return awsutil.Prettify(s)
 19600  }
 19601  
 19602  // GoString returns the string representation.
 19603  //
 19604  // API parameter values that are decorated as "sensitive" in the API will not
 19605  // be included in the string output. The member name will be present, but the
 19606  // value will be replaced with "sensitive".
 19607  func (s Subnet) GoString() string {
 19608  	return s.String()
 19609  }
 19610  
 19611  // SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
 19612  func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet {
 19613  	s.SubnetAvailabilityZone = v
 19614  	return s
 19615  }
 19616  
 19617  // SetSubnetIdentifier sets the SubnetIdentifier field's value.
 19618  func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
 19619  	s.SubnetIdentifier = &v
 19620  	return s
 19621  }
 19622  
 19623  // SetSubnetStatus sets the SubnetStatus field's value.
 19624  func (s *Subnet) SetSubnetStatus(v string) *Subnet {
 19625  	s.SubnetStatus = &v
 19626  	return s
 19627  }
 19628  
 19629  // Metadata assigned to an Amazon Neptune resource consisting of a key-value
 19630  // pair.
 19631  type Tag struct {
 19632  	_ struct{} `type:"structure"`
 19633  
 19634  	// A key is the required name of the tag. The string value can be from 1 to
 19635  	// 128 Unicode characters in length and can't be prefixed with "aws:" or "rds:".
 19636  	// The string can only contain only the set of Unicode letters, digits, white-space,
 19637  	// '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
 19638  	Key *string `type:"string"`
 19639  
 19640  	// A value is the optional value of the tag. The string value can be from 1
 19641  	// to 256 Unicode characters in length and can't be prefixed with "aws:" or
 19642  	// "rds:". The string can only contain only the set of Unicode letters, digits,
 19643  	// white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
 19644  	Value *string `type:"string"`
 19645  }
 19646  
 19647  // String returns the string representation.
 19648  //
 19649  // API parameter values that are decorated as "sensitive" in the API will not
 19650  // be included in the string output. The member name will be present, but the
 19651  // value will be replaced with "sensitive".
 19652  func (s Tag) String() string {
 19653  	return awsutil.Prettify(s)
 19654  }
 19655  
 19656  // GoString returns the string representation.
 19657  //
 19658  // API parameter values that are decorated as "sensitive" in the API will not
 19659  // be included in the string output. The member name will be present, but the
 19660  // value will be replaced with "sensitive".
 19661  func (s Tag) GoString() string {
 19662  	return s.String()
 19663  }
 19664  
 19665  // SetKey sets the Key field's value.
 19666  func (s *Tag) SetKey(v string) *Tag {
 19667  	s.Key = &v
 19668  	return s
 19669  }
 19670  
 19671  // SetValue sets the Value field's value.
 19672  func (s *Tag) SetValue(v string) *Tag {
 19673  	s.Value = &v
 19674  	return s
 19675  }
 19676  
 19677  // A time zone associated with a DBInstance.
 19678  type Timezone struct {
 19679  	_ struct{} `type:"structure"`
 19680  
 19681  	// The name of the time zone.
 19682  	TimezoneName *string `type:"string"`
 19683  }
 19684  
 19685  // String returns the string representation.
 19686  //
 19687  // API parameter values that are decorated as "sensitive" in the API will not
 19688  // be included in the string output. The member name will be present, but the
 19689  // value will be replaced with "sensitive".
 19690  func (s Timezone) String() string {
 19691  	return awsutil.Prettify(s)
 19692  }
 19693  
 19694  // GoString returns the string representation.
 19695  //
 19696  // API parameter values that are decorated as "sensitive" in the API will not
 19697  // be included in the string output. The member name will be present, but the
 19698  // value will be replaced with "sensitive".
 19699  func (s Timezone) GoString() string {
 19700  	return s.String()
 19701  }
 19702  
 19703  // SetTimezoneName sets the TimezoneName field's value.
 19704  func (s *Timezone) SetTimezoneName(v string) *Timezone {
 19705  	s.TimezoneName = &v
 19706  	return s
 19707  }
 19708  
 19709  // The version of the database engine that a DB instance can be upgraded to.
 19710  type UpgradeTarget struct {
 19711  	_ struct{} `type:"structure"`
 19712  
 19713  	// A value that indicates whether the target version is applied to any source
 19714  	// DB instances that have AutoMinorVersionUpgrade set to true.
 19715  	AutoUpgrade *bool `type:"boolean"`
 19716  
 19717  	// The version of the database engine that a DB instance can be upgraded to.
 19718  	Description *string `type:"string"`
 19719  
 19720  	// The name of the upgrade target database engine.
 19721  	Engine *string `type:"string"`
 19722  
 19723  	// The version number of the upgrade target database engine.
 19724  	EngineVersion *string `type:"string"`
 19725  
 19726  	// A value that indicates whether a database engine is upgraded to a major version.
 19727  	IsMajorVersionUpgrade *bool `type:"boolean"`
 19728  }
 19729  
 19730  // String returns the string representation.
 19731  //
 19732  // API parameter values that are decorated as "sensitive" in the API will not
 19733  // be included in the string output. The member name will be present, but the
 19734  // value will be replaced with "sensitive".
 19735  func (s UpgradeTarget) String() string {
 19736  	return awsutil.Prettify(s)
 19737  }
 19738  
 19739  // GoString returns the string representation.
 19740  //
 19741  // API parameter values that are decorated as "sensitive" in the API will not
 19742  // be included in the string output. The member name will be present, but the
 19743  // value will be replaced with "sensitive".
 19744  func (s UpgradeTarget) GoString() string {
 19745  	return s.String()
 19746  }
 19747  
 19748  // SetAutoUpgrade sets the AutoUpgrade field's value.
 19749  func (s *UpgradeTarget) SetAutoUpgrade(v bool) *UpgradeTarget {
 19750  	s.AutoUpgrade = &v
 19751  	return s
 19752  }
 19753  
 19754  // SetDescription sets the Description field's value.
 19755  func (s *UpgradeTarget) SetDescription(v string) *UpgradeTarget {
 19756  	s.Description = &v
 19757  	return s
 19758  }
 19759  
 19760  // SetEngine sets the Engine field's value.
 19761  func (s *UpgradeTarget) SetEngine(v string) *UpgradeTarget {
 19762  	s.Engine = &v
 19763  	return s
 19764  }
 19765  
 19766  // SetEngineVersion sets the EngineVersion field's value.
 19767  func (s *UpgradeTarget) SetEngineVersion(v string) *UpgradeTarget {
 19768  	s.EngineVersion = &v
 19769  	return s
 19770  }
 19771  
 19772  // SetIsMajorVersionUpgrade sets the IsMajorVersionUpgrade field's value.
 19773  func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget {
 19774  	s.IsMajorVersionUpgrade = &v
 19775  	return s
 19776  }
 19777  
 19778  // Information about valid modifications that you can make to your DB instance.
 19779  // Contains the result of a successful call to the DescribeValidDBInstanceModifications
 19780  // action. You can use this information when you call ModifyDBInstance.
 19781  type ValidDBInstanceModificationsMessage struct {
 19782  	_ struct{} `type:"structure"`
 19783  
 19784  	// Valid storage options for your DB instance.
 19785  	Storage []*ValidStorageOptions `locationNameList:"ValidStorageOptions" type:"list"`
 19786  }
 19787  
 19788  // String returns the string representation.
 19789  //
 19790  // API parameter values that are decorated as "sensitive" in the API will not
 19791  // be included in the string output. The member name will be present, but the
 19792  // value will be replaced with "sensitive".
 19793  func (s ValidDBInstanceModificationsMessage) String() string {
 19794  	return awsutil.Prettify(s)
 19795  }
 19796  
 19797  // GoString returns the string representation.
 19798  //
 19799  // API parameter values that are decorated as "sensitive" in the API will not
 19800  // be included in the string output. The member name will be present, but the
 19801  // value will be replaced with "sensitive".
 19802  func (s ValidDBInstanceModificationsMessage) GoString() string {
 19803  	return s.String()
 19804  }
 19805  
 19806  // SetStorage sets the Storage field's value.
 19807  func (s *ValidDBInstanceModificationsMessage) SetStorage(v []*ValidStorageOptions) *ValidDBInstanceModificationsMessage {
 19808  	s.Storage = v
 19809  	return s
 19810  }
 19811  
 19812  // Information about valid modifications that you can make to your DB instance.
 19813  //
 19814  // Contains the result of a successful call to the DescribeValidDBInstanceModifications
 19815  // action.
 19816  type ValidStorageOptions struct {
 19817  	_ struct{} `type:"structure"`
 19818  
 19819  	// The valid range of Provisioned IOPS to gibibytes of storage multiplier. For
 19820  	// example, 3-10, which means that provisioned IOPS can be between 3 and 10
 19821  	// times storage.
 19822  	IopsToStorageRatio []*DoubleRange `locationNameList:"DoubleRange" type:"list"`
 19823  
 19824  	// The valid range of provisioned IOPS. For example, 1000-20000.
 19825  	ProvisionedIops []*Range `locationNameList:"Range" type:"list"`
 19826  
 19827  	// The valid range of storage in gibibytes. For example, 100 to 16384.
 19828  	StorageSize []*Range `locationNameList:"Range" type:"list"`
 19829  
 19830  	// The valid storage types for your DB instance. For example, gp2, io1.
 19831  	StorageType *string `type:"string"`
 19832  }
 19833  
 19834  // String returns the string representation.
 19835  //
 19836  // API parameter values that are decorated as "sensitive" in the API will not
 19837  // be included in the string output. The member name will be present, but the
 19838  // value will be replaced with "sensitive".
 19839  func (s ValidStorageOptions) String() string {
 19840  	return awsutil.Prettify(s)
 19841  }
 19842  
 19843  // GoString returns the string representation.
 19844  //
 19845  // API parameter values that are decorated as "sensitive" in the API will not
 19846  // be included in the string output. The member name will be present, but the
 19847  // value will be replaced with "sensitive".
 19848  func (s ValidStorageOptions) GoString() string {
 19849  	return s.String()
 19850  }
 19851  
 19852  // SetIopsToStorageRatio sets the IopsToStorageRatio field's value.
 19853  func (s *ValidStorageOptions) SetIopsToStorageRatio(v []*DoubleRange) *ValidStorageOptions {
 19854  	s.IopsToStorageRatio = v
 19855  	return s
 19856  }
 19857  
 19858  // SetProvisionedIops sets the ProvisionedIops field's value.
 19859  func (s *ValidStorageOptions) SetProvisionedIops(v []*Range) *ValidStorageOptions {
 19860  	s.ProvisionedIops = v
 19861  	return s
 19862  }
 19863  
 19864  // SetStorageSize sets the StorageSize field's value.
 19865  func (s *ValidStorageOptions) SetStorageSize(v []*Range) *ValidStorageOptions {
 19866  	s.StorageSize = v
 19867  	return s
 19868  }
 19869  
 19870  // SetStorageType sets the StorageType field's value.
 19871  func (s *ValidStorageOptions) SetStorageType(v string) *ValidStorageOptions {
 19872  	s.StorageType = &v
 19873  	return s
 19874  }
 19875  
 19876  // This data type is used as a response element for queries on VPC security
 19877  // group membership.
 19878  type VpcSecurityGroupMembership struct {
 19879  	_ struct{} `type:"structure"`
 19880  
 19881  	// The status of the VPC security group.
 19882  	Status *string `type:"string"`
 19883  
 19884  	// The name of the VPC security group.
 19885  	VpcSecurityGroupId *string `type:"string"`
 19886  }
 19887  
 19888  // String returns the string representation.
 19889  //
 19890  // API parameter values that are decorated as "sensitive" in the API will not
 19891  // be included in the string output. The member name will be present, but the
 19892  // value will be replaced with "sensitive".
 19893  func (s VpcSecurityGroupMembership) String() string {
 19894  	return awsutil.Prettify(s)
 19895  }
 19896  
 19897  // GoString returns the string representation.
 19898  //
 19899  // API parameter values that are decorated as "sensitive" in the API will not
 19900  // be included in the string output. The member name will be present, but the
 19901  // value will be replaced with "sensitive".
 19902  func (s VpcSecurityGroupMembership) GoString() string {
 19903  	return s.String()
 19904  }
 19905  
 19906  // SetStatus sets the Status field's value.
 19907  func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership {
 19908  	s.Status = &v
 19909  	return s
 19910  }
 19911  
 19912  // SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
 19913  func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership {
 19914  	s.VpcSecurityGroupId = &v
 19915  	return s
 19916  }
 19917  
 19918  const (
 19919  	// ApplyMethodImmediate is a ApplyMethod enum value
 19920  	ApplyMethodImmediate = "immediate"
 19921  
 19922  	// ApplyMethodPendingReboot is a ApplyMethod enum value
 19923  	ApplyMethodPendingReboot = "pending-reboot"
 19924  )
 19925  
 19926  // ApplyMethod_Values returns all elements of the ApplyMethod enum
 19927  func ApplyMethod_Values() []string {
 19928  	return []string{
 19929  		ApplyMethodImmediate,
 19930  		ApplyMethodPendingReboot,
 19931  	}
 19932  }
 19933  
 19934  const (
 19935  	// SourceTypeDbInstance is a SourceType enum value
 19936  	SourceTypeDbInstance = "db-instance"
 19937  
 19938  	// SourceTypeDbParameterGroup is a SourceType enum value
 19939  	SourceTypeDbParameterGroup = "db-parameter-group"
 19940  
 19941  	// SourceTypeDbSecurityGroup is a SourceType enum value
 19942  	SourceTypeDbSecurityGroup = "db-security-group"
 19943  
 19944  	// SourceTypeDbSnapshot is a SourceType enum value
 19945  	SourceTypeDbSnapshot = "db-snapshot"
 19946  
 19947  	// SourceTypeDbCluster is a SourceType enum value
 19948  	SourceTypeDbCluster = "db-cluster"
 19949  
 19950  	// SourceTypeDbClusterSnapshot is a SourceType enum value
 19951  	SourceTypeDbClusterSnapshot = "db-cluster-snapshot"
 19952  )
 19953  
 19954  // SourceType_Values returns all elements of the SourceType enum
 19955  func SourceType_Values() []string {
 19956  	return []string{
 19957  		SourceTypeDbInstance,
 19958  		SourceTypeDbParameterGroup,
 19959  		SourceTypeDbSecurityGroup,
 19960  		SourceTypeDbSnapshot,
 19961  		SourceTypeDbCluster,
 19962  		SourceTypeDbClusterSnapshot,
 19963  	}
 19964  }