1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package neptune
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/query"
14)
15
16const 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
42func (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 with 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
87func (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.
101func (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
108const 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
134func (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
169func (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.
183func (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
190const 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
216func (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
258func (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.
272func (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
279const 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
305func (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
338func (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.
352func (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
359const 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
385func (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
424func (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.
438func (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
445const 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
471func (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
521func (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.
535func (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
542const 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
568func (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
607func (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.
621func (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
628const 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
654func (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
744func (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.
758func (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
765const 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
791func (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
839func (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.
853func (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
860const 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
886func (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
946func (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.
960func (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
967const 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
993func (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
1037func (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.
1051func (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
1058const 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
1084func (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
1176func (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.
1190func (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
1197const 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
1223func (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
1279func (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.
1293func (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
1300const 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
1326func (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
1374func (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.
1388func (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
1395const 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
1421func (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
1490func (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.
1504func (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
1511const 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
1537func (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
1587func (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.
1601func (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
1608const 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
1634func (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
1673func (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.
1687func (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
1694const 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
1720func (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
1759func (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.
1773func (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
1780const 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
1806func (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
1844func (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.
1858func (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
1865const 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
1891func (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
1950func (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.
1964func (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
1971const 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
1997func (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
2036func (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.
2050func (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
2057const 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
2083func (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
2124func (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.
2138func (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
2145const 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
2171func (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
2206func (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.
2220func (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
2227const 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
2253func (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
2294func (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.
2308func (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//
2332func (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.
2343func (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
2367const 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
2393func (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
2433func (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.
2447func (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//
2471func (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.
2482func (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
2506const 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
2532func (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
2571func (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.
2585func (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//
2609func (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.
2620func (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
2644const 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
2670func (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
2714func (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.
2728func (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
2735const 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
2761func (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
2800func (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.
2814func (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//
2838func (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.
2849func (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
2873const 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
2899func (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
2940func (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.
2954func (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//
2978func (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.
2989func (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
3013const 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
3039func (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
3072func (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.
3086func (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//
3110func (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.
3121func (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
3145const 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
3171func (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
3212func (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.
3226func (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//
3250func (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.
3261func (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
3285const 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
3311func (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
3351func (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.
3365func (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//
3389func (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.
3400func (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
3424const 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
3450func (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
3488func (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.
3502func (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//
3526func (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.
3537func (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
3561const 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
3587func (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
3628func (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.
3642func (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//
3666func (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.
3677func (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
3701const 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
3727func (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
3755func (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.
3769func (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
3776const 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
3802func (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
3836func (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.
3850func (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//
3874func (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.
3885func (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
3909const 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
3935func (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
3963func (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.
3977func (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
3984const 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
4010func (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
4052func (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.
4066func (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//
4090func (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.
4101func (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
4125const 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
4151func (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
4188func (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.
4202func (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//
4226func (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.
4237func (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
4261const 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
4287func (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
4320func (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.
4334func (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//
4358func (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.
4369func (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
4393const 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
4419func (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
4458func (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.
4472func (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//
4496func (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.
4507func (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
4531const 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
4557func (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
4594func (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.
4608func (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
4615const 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
4641func (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
4689func (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.
4703func (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
4710const 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
4736func (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
4774func (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.
4788func (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
4795const 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
4821func (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
4888func (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.
4902func (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
4909const 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
4935func (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
4980func (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.
4994func (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
5001const 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
5027func (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
5081func (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.
5095func (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
5102const 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
5128func (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
5183func (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.
5197func (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
5204const 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
5230func (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
5317func (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.
5331func (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
5338const 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
5364func (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
5418func (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.
5432func (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
5439const 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
5465func (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
5513func (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.
5527func (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
5534const 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
5560func (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
5613func (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.
5627func (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
5634const 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
5660func (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
5695func (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.
5709func (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
5716const 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
5742func (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
5784func (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.
5798func (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
5805const 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
5831func (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
5871func (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.
5885func (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
5892const 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
5918func (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
5953func (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.
5967func (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
5974const 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
6000func (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
6039func (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.
6053func (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
6060const 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
6086func (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
6132func (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.
6146func (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
6153const 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
6179func (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
6222func (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.
6236func (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
6243const 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
6269func (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
6368func (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.
6382func (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
6389const 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
6415func (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
6513func (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.
6527func (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
6534const 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
6560func (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 Amazon 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
6599func (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.
6613func (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
6620const 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
6646func (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
6688func (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.
6702func (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
6709type 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	// (neptune/latest/userguide/api-other-apis.html#DBEngineVersion).
6720	FeatureName *string `type:"string"`
6721
6722	// The Amazon Resource Name (ARN) of the IAM role to associate with the Neptune
6723	// DB cluster, for example arn:aws:iam::123456789012:role/NeptuneAccessRole.
6724	//
6725	// RoleArn is a required field
6726	RoleArn *string `type:"string" required:"true"`
6727}
6728
6729// String returns the string representation.
6730//
6731// API parameter values that are decorated as "sensitive" in the API will not
6732// be included in the string output. The member name will be present, but the
6733// value will be replaced with "sensitive".
6734func (s AddRoleToDBClusterInput) String() string {
6735	return awsutil.Prettify(s)
6736}
6737
6738// GoString returns the string representation.
6739//
6740// API parameter values that are decorated as "sensitive" in the API will not
6741// be included in the string output. The member name will be present, but the
6742// value will be replaced with "sensitive".
6743func (s AddRoleToDBClusterInput) GoString() string {
6744	return s.String()
6745}
6746
6747// Validate inspects the fields of the type to determine if they are valid.
6748func (s *AddRoleToDBClusterInput) Validate() error {
6749	invalidParams := request.ErrInvalidParams{Context: "AddRoleToDBClusterInput"}
6750	if s.DBClusterIdentifier == nil {
6751		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
6752	}
6753	if s.RoleArn == nil {
6754		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
6755	}
6756
6757	if invalidParams.Len() > 0 {
6758		return invalidParams
6759	}
6760	return nil
6761}
6762
6763// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
6764func (s *AddRoleToDBClusterInput) SetDBClusterIdentifier(v string) *AddRoleToDBClusterInput {
6765	s.DBClusterIdentifier = &v
6766	return s
6767}
6768
6769// SetFeatureName sets the FeatureName field's value.
6770func (s *AddRoleToDBClusterInput) SetFeatureName(v string) *AddRoleToDBClusterInput {
6771	s.FeatureName = &v
6772	return s
6773}
6774
6775// SetRoleArn sets the RoleArn field's value.
6776func (s *AddRoleToDBClusterInput) SetRoleArn(v string) *AddRoleToDBClusterInput {
6777	s.RoleArn = &v
6778	return s
6779}
6780
6781type AddRoleToDBClusterOutput struct {
6782	_ struct{} `type:"structure"`
6783}
6784
6785// String returns the string representation.
6786//
6787// API parameter values that are decorated as "sensitive" in the API will not
6788// be included in the string output. The member name will be present, but the
6789// value will be replaced with "sensitive".
6790func (s AddRoleToDBClusterOutput) String() string {
6791	return awsutil.Prettify(s)
6792}
6793
6794// GoString returns the string representation.
6795//
6796// API parameter values that are decorated as "sensitive" in the API will not
6797// be included in the string output. The member name will be present, but the
6798// value will be replaced with "sensitive".
6799func (s AddRoleToDBClusterOutput) GoString() string {
6800	return s.String()
6801}
6802
6803type AddSourceIdentifierToSubscriptionInput struct {
6804	_ struct{} `type:"structure"`
6805
6806	// The identifier of the event source to be added.
6807	//
6808	// Constraints:
6809	//
6810	//    * If the source type is a DB instance, then a DBInstanceIdentifier must
6811	//    be supplied.
6812	//
6813	//    * If the source type is a DB security group, a DBSecurityGroupName must
6814	//    be supplied.
6815	//
6816	//    * If the source type is a DB parameter group, a DBParameterGroupName must
6817	//    be supplied.
6818	//
6819	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier must be
6820	//    supplied.
6821	//
6822	// SourceIdentifier is a required field
6823	SourceIdentifier *string `type:"string" required:"true"`
6824
6825	// The name of the event notification subscription you want to add a source
6826	// identifier to.
6827	//
6828	// SubscriptionName is a required field
6829	SubscriptionName *string `type:"string" required:"true"`
6830}
6831
6832// String returns the string representation.
6833//
6834// API parameter values that are decorated as "sensitive" in the API will not
6835// be included in the string output. The member name will be present, but the
6836// value will be replaced with "sensitive".
6837func (s AddSourceIdentifierToSubscriptionInput) String() string {
6838	return awsutil.Prettify(s)
6839}
6840
6841// GoString returns the string representation.
6842//
6843// API parameter values that are decorated as "sensitive" in the API will not
6844// be included in the string output. The member name will be present, but the
6845// value will be replaced with "sensitive".
6846func (s AddSourceIdentifierToSubscriptionInput) GoString() string {
6847	return s.String()
6848}
6849
6850// Validate inspects the fields of the type to determine if they are valid.
6851func (s *AddSourceIdentifierToSubscriptionInput) Validate() error {
6852	invalidParams := request.ErrInvalidParams{Context: "AddSourceIdentifierToSubscriptionInput"}
6853	if s.SourceIdentifier == nil {
6854		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
6855	}
6856	if s.SubscriptionName == nil {
6857		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
6858	}
6859
6860	if invalidParams.Len() > 0 {
6861		return invalidParams
6862	}
6863	return nil
6864}
6865
6866// SetSourceIdentifier sets the SourceIdentifier field's value.
6867func (s *AddSourceIdentifierToSubscriptionInput) SetSourceIdentifier(v string) *AddSourceIdentifierToSubscriptionInput {
6868	s.SourceIdentifier = &v
6869	return s
6870}
6871
6872// SetSubscriptionName sets the SubscriptionName field's value.
6873func (s *AddSourceIdentifierToSubscriptionInput) SetSubscriptionName(v string) *AddSourceIdentifierToSubscriptionInput {
6874	s.SubscriptionName = &v
6875	return s
6876}
6877
6878type AddSourceIdentifierToSubscriptionOutput struct {
6879	_ struct{} `type:"structure"`
6880
6881	// Contains the results of a successful invocation of the DescribeEventSubscriptions
6882	// action.
6883	EventSubscription *EventSubscription `type:"structure"`
6884}
6885
6886// String returns the string representation.
6887//
6888// API parameter values that are decorated as "sensitive" in the API will not
6889// be included in the string output. The member name will be present, but the
6890// value will be replaced with "sensitive".
6891func (s AddSourceIdentifierToSubscriptionOutput) String() string {
6892	return awsutil.Prettify(s)
6893}
6894
6895// GoString returns the string representation.
6896//
6897// API parameter values that are decorated as "sensitive" in the API will not
6898// be included in the string output. The member name will be present, but the
6899// value will be replaced with "sensitive".
6900func (s AddSourceIdentifierToSubscriptionOutput) GoString() string {
6901	return s.String()
6902}
6903
6904// SetEventSubscription sets the EventSubscription field's value.
6905func (s *AddSourceIdentifierToSubscriptionOutput) SetEventSubscription(v *EventSubscription) *AddSourceIdentifierToSubscriptionOutput {
6906	s.EventSubscription = v
6907	return s
6908}
6909
6910type AddTagsToResourceInput struct {
6911	_ struct{} `type:"structure"`
6912
6913	// The Amazon Neptune resource that the tags are added to. This value is an
6914	// Amazon Resource Name (ARN). For information about creating an ARN, see Constructing
6915	// an Amazon Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
6916	//
6917	// ResourceName is a required field
6918	ResourceName *string `type:"string" required:"true"`
6919
6920	// The tags to be assigned to the Amazon Neptune resource.
6921	//
6922	// Tags is a required field
6923	Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
6924}
6925
6926// String returns the string representation.
6927//
6928// API parameter values that are decorated as "sensitive" in the API will not
6929// be included in the string output. The member name will be present, but the
6930// value will be replaced with "sensitive".
6931func (s AddTagsToResourceInput) String() string {
6932	return awsutil.Prettify(s)
6933}
6934
6935// GoString returns the string representation.
6936//
6937// API parameter values that are decorated as "sensitive" in the API will not
6938// be included in the string output. The member name will be present, but the
6939// value will be replaced with "sensitive".
6940func (s AddTagsToResourceInput) GoString() string {
6941	return s.String()
6942}
6943
6944// Validate inspects the fields of the type to determine if they are valid.
6945func (s *AddTagsToResourceInput) Validate() error {
6946	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
6947	if s.ResourceName == nil {
6948		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
6949	}
6950	if s.Tags == nil {
6951		invalidParams.Add(request.NewErrParamRequired("Tags"))
6952	}
6953
6954	if invalidParams.Len() > 0 {
6955		return invalidParams
6956	}
6957	return nil
6958}
6959
6960// SetResourceName sets the ResourceName field's value.
6961func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput {
6962	s.ResourceName = &v
6963	return s
6964}
6965
6966// SetTags sets the Tags field's value.
6967func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
6968	s.Tags = v
6969	return s
6970}
6971
6972type AddTagsToResourceOutput struct {
6973	_ struct{} `type:"structure"`
6974}
6975
6976// String returns the string representation.
6977//
6978// API parameter values that are decorated as "sensitive" in the API will not
6979// be included in the string output. The member name will be present, but the
6980// value will be replaced with "sensitive".
6981func (s AddTagsToResourceOutput) String() string {
6982	return awsutil.Prettify(s)
6983}
6984
6985// GoString returns the string representation.
6986//
6987// API parameter values that are decorated as "sensitive" in the API will not
6988// be included in the string output. The member name will be present, but the
6989// value will be replaced with "sensitive".
6990func (s AddTagsToResourceOutput) GoString() string {
6991	return s.String()
6992}
6993
6994type ApplyPendingMaintenanceActionInput struct {
6995	_ struct{} `type:"structure"`
6996
6997	// The pending maintenance action to apply to this resource.
6998	//
6999	// Valid values: system-update, db-upgrade
7000	//
7001	// ApplyAction is a required field
7002	ApplyAction *string `type:"string" required:"true"`
7003
7004	// A value that specifies the type of opt-in request, or undoes an opt-in request.
7005	// An opt-in request of type immediate can't be undone.
7006	//
7007	// Valid values:
7008	//
7009	//    * immediate - Apply the maintenance action immediately.
7010	//
7011	//    * next-maintenance - Apply the maintenance action during the next maintenance
7012	//    window for the resource.
7013	//
7014	//    * undo-opt-in - Cancel any existing next-maintenance opt-in requests.
7015	//
7016	// OptInType is a required field
7017	OptInType *string `type:"string" required:"true"`
7018
7019	// The Amazon Resource Name (ARN) of the resource that the pending maintenance
7020	// action applies to. For information about creating an ARN, see Constructing
7021	// an Amazon Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
7022	//
7023	// ResourceIdentifier is a required field
7024	ResourceIdentifier *string `type:"string" required:"true"`
7025}
7026
7027// String returns the string representation.
7028//
7029// API parameter values that are decorated as "sensitive" in the API will not
7030// be included in the string output. The member name will be present, but the
7031// value will be replaced with "sensitive".
7032func (s ApplyPendingMaintenanceActionInput) String() string {
7033	return awsutil.Prettify(s)
7034}
7035
7036// GoString returns the string representation.
7037//
7038// API parameter values that are decorated as "sensitive" in the API will not
7039// be included in the string output. The member name will be present, but the
7040// value will be replaced with "sensitive".
7041func (s ApplyPendingMaintenanceActionInput) GoString() string {
7042	return s.String()
7043}
7044
7045// Validate inspects the fields of the type to determine if they are valid.
7046func (s *ApplyPendingMaintenanceActionInput) Validate() error {
7047	invalidParams := request.ErrInvalidParams{Context: "ApplyPendingMaintenanceActionInput"}
7048	if s.ApplyAction == nil {
7049		invalidParams.Add(request.NewErrParamRequired("ApplyAction"))
7050	}
7051	if s.OptInType == nil {
7052		invalidParams.Add(request.NewErrParamRequired("OptInType"))
7053	}
7054	if s.ResourceIdentifier == nil {
7055		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
7056	}
7057
7058	if invalidParams.Len() > 0 {
7059		return invalidParams
7060	}
7061	return nil
7062}
7063
7064// SetApplyAction sets the ApplyAction field's value.
7065func (s *ApplyPendingMaintenanceActionInput) SetApplyAction(v string) *ApplyPendingMaintenanceActionInput {
7066	s.ApplyAction = &v
7067	return s
7068}
7069
7070// SetOptInType sets the OptInType field's value.
7071func (s *ApplyPendingMaintenanceActionInput) SetOptInType(v string) *ApplyPendingMaintenanceActionInput {
7072	s.OptInType = &v
7073	return s
7074}
7075
7076// SetResourceIdentifier sets the ResourceIdentifier field's value.
7077func (s *ApplyPendingMaintenanceActionInput) SetResourceIdentifier(v string) *ApplyPendingMaintenanceActionInput {
7078	s.ResourceIdentifier = &v
7079	return s
7080}
7081
7082type ApplyPendingMaintenanceActionOutput struct {
7083	_ struct{} `type:"structure"`
7084
7085	// Describes the pending maintenance actions for a resource.
7086	ResourcePendingMaintenanceActions *ResourcePendingMaintenanceActions `type:"structure"`
7087}
7088
7089// String returns the string representation.
7090//
7091// API parameter values that are decorated as "sensitive" in the API will not
7092// be included in the string output. The member name will be present, but the
7093// value will be replaced with "sensitive".
7094func (s ApplyPendingMaintenanceActionOutput) String() string {
7095	return awsutil.Prettify(s)
7096}
7097
7098// GoString returns the string representation.
7099//
7100// API parameter values that are decorated as "sensitive" in the API will not
7101// be included in the string output. The member name will be present, but the
7102// value will be replaced with "sensitive".
7103func (s ApplyPendingMaintenanceActionOutput) GoString() string {
7104	return s.String()
7105}
7106
7107// SetResourcePendingMaintenanceActions sets the ResourcePendingMaintenanceActions field's value.
7108func (s *ApplyPendingMaintenanceActionOutput) SetResourcePendingMaintenanceActions(v *ResourcePendingMaintenanceActions) *ApplyPendingMaintenanceActionOutput {
7109	s.ResourcePendingMaintenanceActions = v
7110	return s
7111}
7112
7113// Specifies an Availability Zone.
7114type AvailabilityZone struct {
7115	_ struct{} `type:"structure"`
7116
7117	// The name of the availability zone.
7118	Name *string `type:"string"`
7119}
7120
7121// String returns the string representation.
7122//
7123// API parameter values that are decorated as "sensitive" in the API will not
7124// be included in the string output. The member name will be present, but the
7125// value will be replaced with "sensitive".
7126func (s AvailabilityZone) String() string {
7127	return awsutil.Prettify(s)
7128}
7129
7130// GoString returns the string representation.
7131//
7132// API parameter values that are decorated as "sensitive" in the API will not
7133// be included in the string output. The member name will be present, but the
7134// value will be replaced with "sensitive".
7135func (s AvailabilityZone) GoString() string {
7136	return s.String()
7137}
7138
7139// SetName sets the Name field's value.
7140func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
7141	s.Name = &v
7142	return s
7143}
7144
7145// Specifies a character set.
7146type CharacterSet struct {
7147	_ struct{} `type:"structure"`
7148
7149	// The description of the character set.
7150	CharacterSetDescription *string `type:"string"`
7151
7152	// The name of the character set.
7153	CharacterSetName *string `type:"string"`
7154}
7155
7156// String returns the string representation.
7157//
7158// API parameter values that are decorated as "sensitive" in the API will not
7159// be included in the string output. The member name will be present, but the
7160// value will be replaced with "sensitive".
7161func (s CharacterSet) String() string {
7162	return awsutil.Prettify(s)
7163}
7164
7165// GoString returns the string representation.
7166//
7167// API parameter values that are decorated as "sensitive" in the API will not
7168// be included in the string output. The member name will be present, but the
7169// value will be replaced with "sensitive".
7170func (s CharacterSet) GoString() string {
7171	return s.String()
7172}
7173
7174// SetCharacterSetDescription sets the CharacterSetDescription field's value.
7175func (s *CharacterSet) SetCharacterSetDescription(v string) *CharacterSet {
7176	s.CharacterSetDescription = &v
7177	return s
7178}
7179
7180// SetCharacterSetName sets the CharacterSetName field's value.
7181func (s *CharacterSet) SetCharacterSetName(v string) *CharacterSet {
7182	s.CharacterSetName = &v
7183	return s
7184}
7185
7186// The configuration setting for the log types to be enabled for export to CloudWatch
7187// Logs for a specific DB instance or DB cluster.
7188//
7189// The EnableLogTypes and DisableLogTypes arrays determine which logs will be
7190// exported (or not exported) to CloudWatch Logs.
7191type CloudwatchLogsExportConfiguration struct {
7192	_ struct{} `type:"structure"`
7193
7194	// The list of log types to disable.
7195	DisableLogTypes []*string `type:"list"`
7196
7197	// The list of log types to enable.
7198	EnableLogTypes []*string `type:"list"`
7199}
7200
7201// String returns the string representation.
7202//
7203// API parameter values that are decorated as "sensitive" in the API will not
7204// be included in the string output. The member name will be present, but the
7205// value will be replaced with "sensitive".
7206func (s CloudwatchLogsExportConfiguration) String() string {
7207	return awsutil.Prettify(s)
7208}
7209
7210// GoString returns the string representation.
7211//
7212// API parameter values that are decorated as "sensitive" in the API will not
7213// be included in the string output. The member name will be present, but the
7214// value will be replaced with "sensitive".
7215func (s CloudwatchLogsExportConfiguration) GoString() string {
7216	return s.String()
7217}
7218
7219// SetDisableLogTypes sets the DisableLogTypes field's value.
7220func (s *CloudwatchLogsExportConfiguration) SetDisableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
7221	s.DisableLogTypes = v
7222	return s
7223}
7224
7225// SetEnableLogTypes sets the EnableLogTypes field's value.
7226func (s *CloudwatchLogsExportConfiguration) SetEnableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
7227	s.EnableLogTypes = v
7228	return s
7229}
7230
7231type CopyDBClusterParameterGroupInput struct {
7232	_ struct{} `type:"structure"`
7233
7234	// The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter
7235	// group. For information about creating an ARN, see Constructing an Amazon
7236	// Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
7237	//
7238	// Constraints:
7239	//
7240	//    * Must specify a valid DB cluster parameter group.
7241	//
7242	//    * If the source DB cluster parameter group is in the same Amazon Region
7243	//    as the copy, specify a valid DB parameter group identifier, for example
7244	//    my-db-cluster-param-group, or a valid ARN.
7245	//
7246	//    * If the source DB parameter group is in a different Amazon Region than
7247	//    the copy, specify a valid DB cluster parameter group ARN, for example
7248	//    arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.
7249	//
7250	// SourceDBClusterParameterGroupIdentifier is a required field
7251	SourceDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
7252
7253	// The tags to be assigned to the copied DB cluster parameter group.
7254	Tags []*Tag `locationNameList:"Tag" type:"list"`
7255
7256	// A description for the copied DB cluster parameter group.
7257	//
7258	// TargetDBClusterParameterGroupDescription is a required field
7259	TargetDBClusterParameterGroupDescription *string `type:"string" required:"true"`
7260
7261	// The identifier for the copied DB cluster parameter group.
7262	//
7263	// Constraints:
7264	//
7265	//    * Cannot be null, empty, or blank
7266	//
7267	//    * Must contain from 1 to 255 letters, numbers, or hyphens
7268	//
7269	//    * First character must be a letter
7270	//
7271	//    * Cannot end with a hyphen or contain two consecutive hyphens
7272	//
7273	// Example: my-cluster-param-group1
7274	//
7275	// TargetDBClusterParameterGroupIdentifier is a required field
7276	TargetDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
7277}
7278
7279// String returns the string representation.
7280//
7281// API parameter values that are decorated as "sensitive" in the API will not
7282// be included in the string output. The member name will be present, but the
7283// value will be replaced with "sensitive".
7284func (s CopyDBClusterParameterGroupInput) String() string {
7285	return awsutil.Prettify(s)
7286}
7287
7288// GoString returns the string representation.
7289//
7290// API parameter values that are decorated as "sensitive" in the API will not
7291// be included in the string output. The member name will be present, but the
7292// value will be replaced with "sensitive".
7293func (s CopyDBClusterParameterGroupInput) GoString() string {
7294	return s.String()
7295}
7296
7297// Validate inspects the fields of the type to determine if they are valid.
7298func (s *CopyDBClusterParameterGroupInput) Validate() error {
7299	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterParameterGroupInput"}
7300	if s.SourceDBClusterParameterGroupIdentifier == nil {
7301		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterParameterGroupIdentifier"))
7302	}
7303	if s.TargetDBClusterParameterGroupDescription == nil {
7304		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupDescription"))
7305	}
7306	if s.TargetDBClusterParameterGroupIdentifier == nil {
7307		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupIdentifier"))
7308	}
7309
7310	if invalidParams.Len() > 0 {
7311		return invalidParams
7312	}
7313	return nil
7314}
7315
7316// SetSourceDBClusterParameterGroupIdentifier sets the SourceDBClusterParameterGroupIdentifier field's value.
7317func (s *CopyDBClusterParameterGroupInput) SetSourceDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
7318	s.SourceDBClusterParameterGroupIdentifier = &v
7319	return s
7320}
7321
7322// SetTags sets the Tags field's value.
7323func (s *CopyDBClusterParameterGroupInput) SetTags(v []*Tag) *CopyDBClusterParameterGroupInput {
7324	s.Tags = v
7325	return s
7326}
7327
7328// SetTargetDBClusterParameterGroupDescription sets the TargetDBClusterParameterGroupDescription field's value.
7329func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupDescription(v string) *CopyDBClusterParameterGroupInput {
7330	s.TargetDBClusterParameterGroupDescription = &v
7331	return s
7332}
7333
7334// SetTargetDBClusterParameterGroupIdentifier sets the TargetDBClusterParameterGroupIdentifier field's value.
7335func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
7336	s.TargetDBClusterParameterGroupIdentifier = &v
7337	return s
7338}
7339
7340type CopyDBClusterParameterGroupOutput struct {
7341	_ struct{} `type:"structure"`
7342
7343	// Contains the details of an Amazon Neptune DB cluster parameter group.
7344	//
7345	// This data type is used as a response element in the DescribeDBClusterParameterGroups
7346	// action.
7347	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
7348}
7349
7350// String returns the string representation.
7351//
7352// API parameter values that are decorated as "sensitive" in the API will not
7353// be included in the string output. The member name will be present, but the
7354// value will be replaced with "sensitive".
7355func (s CopyDBClusterParameterGroupOutput) String() string {
7356	return awsutil.Prettify(s)
7357}
7358
7359// GoString returns the string representation.
7360//
7361// API parameter values that are decorated as "sensitive" in the API will not
7362// be included in the string output. The member name will be present, but the
7363// value will be replaced with "sensitive".
7364func (s CopyDBClusterParameterGroupOutput) GoString() string {
7365	return s.String()
7366}
7367
7368// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
7369func (s *CopyDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CopyDBClusterParameterGroupOutput {
7370	s.DBClusterParameterGroup = v
7371	return s
7372}
7373
7374type CopyDBClusterSnapshotInput struct {
7375	_ struct{} `type:"structure"`
7376
7377	// True to copy all tags from the source DB cluster snapshot to the target DB
7378	// cluster snapshot, and otherwise false. The default is false.
7379	CopyTags *bool `type:"boolean"`
7380
7381	// DestinationRegion is used for presigning the request to a given region.
7382	DestinationRegion *string `type:"string"`
7383
7384	// The Amazon Amazon KMS key ID for an encrypted DB cluster snapshot. The KMS
7385	// key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS
7386	// key alias for the KMS encryption key.
7387	//
7388	// If you copy an encrypted DB cluster snapshot from your Amazon account, you
7389	// can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption
7390	// key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster
7391	// snapshot is encrypted with the same KMS key as the source DB cluster snapshot.
7392	//
7393	// If you copy an encrypted DB cluster snapshot that is shared from another
7394	// Amazon account, then you must specify a value for KmsKeyId.
7395	//
7396	// KMS encryption keys are specific to the Amazon Region that they are created
7397	// in, and you can't use encryption keys from one Amazon Region in another Amazon
7398	// Region.
7399	//
7400	// You cannot encrypt an unencrypted DB cluster snapshot when you copy it. If
7401	// you try to copy an unencrypted DB cluster snapshot and specify a value for
7402	// the KmsKeyId parameter, an error is returned.
7403	KmsKeyId *string `type:"string"`
7404
7405	// Not currently supported.
7406	PreSignedUrl *string `type:"string"`
7407
7408	// The identifier of the DB cluster snapshot to copy. This parameter is not
7409	// case-sensitive.
7410	//
7411	// Constraints:
7412	//
7413	//    * Must specify a valid system snapshot in the "available" state.
7414	//
7415	//    * Specify a valid DB snapshot identifier.
7416	//
7417	// Example: my-cluster-snapshot1
7418	//
7419	// SourceDBClusterSnapshotIdentifier is a required field
7420	SourceDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
7421
7422	// SourceRegion is the source region where the resource exists. This is not
7423	// sent over the wire and is only used for presigning. This value should always
7424	// have the same region as the source ARN.
7425	SourceRegion *string `type:"string" ignore:"true"`
7426
7427	// The tags to assign to the new DB cluster snapshot copy.
7428	Tags []*Tag `locationNameList:"Tag" type:"list"`
7429
7430	// The identifier of the new DB cluster snapshot to create from the source DB
7431	// cluster snapshot. This parameter is not case-sensitive.
7432	//
7433	// Constraints:
7434	//
7435	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
7436	//
7437	//    * First character must be a letter.
7438	//
7439	//    * Cannot end with a hyphen or contain two consecutive hyphens.
7440	//
7441	// Example: my-cluster-snapshot2
7442	//
7443	// TargetDBClusterSnapshotIdentifier is a required field
7444	TargetDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
7445}
7446
7447// String returns the string representation.
7448//
7449// API parameter values that are decorated as "sensitive" in the API will not
7450// be included in the string output. The member name will be present, but the
7451// value will be replaced with "sensitive".
7452func (s CopyDBClusterSnapshotInput) String() string {
7453	return awsutil.Prettify(s)
7454}
7455
7456// GoString returns the string representation.
7457//
7458// API parameter values that are decorated as "sensitive" in the API will not
7459// be included in the string output. The member name will be present, but the
7460// value will be replaced with "sensitive".
7461func (s CopyDBClusterSnapshotInput) GoString() string {
7462	return s.String()
7463}
7464
7465// Validate inspects the fields of the type to determine if they are valid.
7466func (s *CopyDBClusterSnapshotInput) Validate() error {
7467	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterSnapshotInput"}
7468	if s.SourceDBClusterSnapshotIdentifier == nil {
7469		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterSnapshotIdentifier"))
7470	}
7471	if s.TargetDBClusterSnapshotIdentifier == nil {
7472		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterSnapshotIdentifier"))
7473	}
7474
7475	if invalidParams.Len() > 0 {
7476		return invalidParams
7477	}
7478	return nil
7479}
7480
7481// SetCopyTags sets the CopyTags field's value.
7482func (s *CopyDBClusterSnapshotInput) SetCopyTags(v bool) *CopyDBClusterSnapshotInput {
7483	s.CopyTags = &v
7484	return s
7485}
7486
7487// SetDestinationRegion sets the DestinationRegion field's value.
7488func (s *CopyDBClusterSnapshotInput) SetDestinationRegion(v string) *CopyDBClusterSnapshotInput {
7489	s.DestinationRegion = &v
7490	return s
7491}
7492
7493// SetKmsKeyId sets the KmsKeyId field's value.
7494func (s *CopyDBClusterSnapshotInput) SetKmsKeyId(v string) *CopyDBClusterSnapshotInput {
7495	s.KmsKeyId = &v
7496	return s
7497}
7498
7499// SetPreSignedUrl sets the PreSignedUrl field's value.
7500func (s *CopyDBClusterSnapshotInput) SetPreSignedUrl(v string) *CopyDBClusterSnapshotInput {
7501	s.PreSignedUrl = &v
7502	return s
7503}
7504
7505// SetSourceDBClusterSnapshotIdentifier sets the SourceDBClusterSnapshotIdentifier field's value.
7506func (s *CopyDBClusterSnapshotInput) SetSourceDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
7507	s.SourceDBClusterSnapshotIdentifier = &v
7508	return s
7509}
7510
7511// SetSourceRegion sets the SourceRegion field's value.
7512func (s *CopyDBClusterSnapshotInput) SetSourceRegion(v string) *CopyDBClusterSnapshotInput {
7513	s.SourceRegion = &v
7514	return s
7515}
7516
7517// SetTags sets the Tags field's value.
7518func (s *CopyDBClusterSnapshotInput) SetTags(v []*Tag) *CopyDBClusterSnapshotInput {
7519	s.Tags = v
7520	return s
7521}
7522
7523// SetTargetDBClusterSnapshotIdentifier sets the TargetDBClusterSnapshotIdentifier field's value.
7524func (s *CopyDBClusterSnapshotInput) SetTargetDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
7525	s.TargetDBClusterSnapshotIdentifier = &v
7526	return s
7527}
7528
7529type CopyDBClusterSnapshotOutput struct {
7530	_ struct{} `type:"structure"`
7531
7532	// Contains the details for an Amazon Neptune DB cluster snapshot
7533	//
7534	// This data type is used as a response element in the DescribeDBClusterSnapshots
7535	// action.
7536	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
7537}
7538
7539// String returns the string representation.
7540//
7541// API parameter values that are decorated as "sensitive" in the API will not
7542// be included in the string output. The member name will be present, but the
7543// value will be replaced with "sensitive".
7544func (s CopyDBClusterSnapshotOutput) String() string {
7545	return awsutil.Prettify(s)
7546}
7547
7548// GoString returns the string representation.
7549//
7550// API parameter values that are decorated as "sensitive" in the API will not
7551// be included in the string output. The member name will be present, but the
7552// value will be replaced with "sensitive".
7553func (s CopyDBClusterSnapshotOutput) GoString() string {
7554	return s.String()
7555}
7556
7557// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
7558func (s *CopyDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CopyDBClusterSnapshotOutput {
7559	s.DBClusterSnapshot = v
7560	return s
7561}
7562
7563type CopyDBParameterGroupInput struct {
7564	_ struct{} `type:"structure"`
7565
7566	// The identifier or ARN for the source DB parameter group. For information
7567	// 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).
7568	//
7569	// Constraints:
7570	//
7571	//    * Must specify a valid DB parameter group.
7572	//
7573	//    * Must specify a valid DB parameter group identifier, for example my-db-param-group,
7574	//    or a valid ARN.
7575	//
7576	// SourceDBParameterGroupIdentifier is a required field
7577	SourceDBParameterGroupIdentifier *string `type:"string" required:"true"`
7578
7579	// The tags to be assigned to the copied DB parameter group.
7580	Tags []*Tag `locationNameList:"Tag" type:"list"`
7581
7582	// A description for the copied DB parameter group.
7583	//
7584	// TargetDBParameterGroupDescription is a required field
7585	TargetDBParameterGroupDescription *string `type:"string" required:"true"`
7586
7587	// The identifier for the copied DB parameter group.
7588	//
7589	// Constraints:
7590	//
7591	//    * Cannot be null, empty, or blank.
7592	//
7593	//    * Must contain from 1 to 255 letters, numbers, or hyphens.
7594	//
7595	//    * First character must be a letter.
7596	//
7597	//    * Cannot end with a hyphen or contain two consecutive hyphens.
7598	//
7599	// Example: my-db-parameter-group
7600	//
7601	// TargetDBParameterGroupIdentifier is a required field
7602	TargetDBParameterGroupIdentifier *string `type:"string" required:"true"`
7603}
7604
7605// String returns the string representation.
7606//
7607// API parameter values that are decorated as "sensitive" in the API will not
7608// be included in the string output. The member name will be present, but the
7609// value will be replaced with "sensitive".
7610func (s CopyDBParameterGroupInput) String() string {
7611	return awsutil.Prettify(s)
7612}
7613
7614// GoString returns the string representation.
7615//
7616// API parameter values that are decorated as "sensitive" in the API will not
7617// be included in the string output. The member name will be present, but the
7618// value will be replaced with "sensitive".
7619func (s CopyDBParameterGroupInput) GoString() string {
7620	return s.String()
7621}
7622
7623// Validate inspects the fields of the type to determine if they are valid.
7624func (s *CopyDBParameterGroupInput) Validate() error {
7625	invalidParams := request.ErrInvalidParams{Context: "CopyDBParameterGroupInput"}
7626	if s.SourceDBParameterGroupIdentifier == nil {
7627		invalidParams.Add(request.NewErrParamRequired("SourceDBParameterGroupIdentifier"))
7628	}
7629	if s.TargetDBParameterGroupDescription == nil {
7630		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupDescription"))
7631	}
7632	if s.TargetDBParameterGroupIdentifier == nil {
7633		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupIdentifier"))
7634	}
7635
7636	if invalidParams.Len() > 0 {
7637		return invalidParams
7638	}
7639	return nil
7640}
7641
7642// SetSourceDBParameterGroupIdentifier sets the SourceDBParameterGroupIdentifier field's value.
7643func (s *CopyDBParameterGroupInput) SetSourceDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
7644	s.SourceDBParameterGroupIdentifier = &v
7645	return s
7646}
7647
7648// SetTags sets the Tags field's value.
7649func (s *CopyDBParameterGroupInput) SetTags(v []*Tag) *CopyDBParameterGroupInput {
7650	s.Tags = v
7651	return s
7652}
7653
7654// SetTargetDBParameterGroupDescription sets the TargetDBParameterGroupDescription field's value.
7655func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupDescription(v string) *CopyDBParameterGroupInput {
7656	s.TargetDBParameterGroupDescription = &v
7657	return s
7658}
7659
7660// SetTargetDBParameterGroupIdentifier sets the TargetDBParameterGroupIdentifier field's value.
7661func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
7662	s.TargetDBParameterGroupIdentifier = &v
7663	return s
7664}
7665
7666type CopyDBParameterGroupOutput struct {
7667	_ struct{} `type:"structure"`
7668
7669	// Contains the details of an Amazon Neptune DB parameter group.
7670	//
7671	// This data type is used as a response element in the DescribeDBParameterGroups
7672	// action.
7673	DBParameterGroup *DBParameterGroup `type:"structure"`
7674}
7675
7676// String returns the string representation.
7677//
7678// API parameter values that are decorated as "sensitive" in the API will not
7679// be included in the string output. The member name will be present, but the
7680// value will be replaced with "sensitive".
7681func (s CopyDBParameterGroupOutput) String() string {
7682	return awsutil.Prettify(s)
7683}
7684
7685// GoString returns the string representation.
7686//
7687// API parameter values that are decorated as "sensitive" in the API will not
7688// be included in the string output. The member name will be present, but the
7689// value will be replaced with "sensitive".
7690func (s CopyDBParameterGroupOutput) GoString() string {
7691	return s.String()
7692}
7693
7694// SetDBParameterGroup sets the DBParameterGroup field's value.
7695func (s *CopyDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CopyDBParameterGroupOutput {
7696	s.DBParameterGroup = v
7697	return s
7698}
7699
7700type CreateDBClusterEndpointInput struct {
7701	_ struct{} `type:"structure"`
7702
7703	// The identifier to use for the new endpoint. This parameter is stored as a
7704	// lowercase string.
7705	//
7706	// DBClusterEndpointIdentifier is a required field
7707	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
7708
7709	// The DB cluster identifier of the DB cluster associated with the endpoint.
7710	// This parameter is stored as a lowercase string.
7711	//
7712	// DBClusterIdentifier is a required field
7713	DBClusterIdentifier *string `type:"string" required:"true"`
7714
7715	// The type of the endpoint. One of: READER, WRITER, ANY.
7716	//
7717	// EndpointType is a required field
7718	EndpointType *string `type:"string" required:"true"`
7719
7720	// List of DB instance identifiers that aren't part of the custom endpoint group.
7721	// All other eligible instances are reachable through the custom endpoint. Only
7722	// relevant if the list of static members is empty.
7723	ExcludedMembers []*string `type:"list"`
7724
7725	// List of DB instance identifiers that are part of the custom endpoint group.
7726	StaticMembers []*string `type:"list"`
7727
7728	// The tags to be assigned to the Amazon Neptune resource.
7729	Tags []*Tag `locationNameList:"Tag" type:"list"`
7730}
7731
7732// String returns the string representation.
7733//
7734// API parameter values that are decorated as "sensitive" in the API will not
7735// be included in the string output. The member name will be present, but the
7736// value will be replaced with "sensitive".
7737func (s CreateDBClusterEndpointInput) String() string {
7738	return awsutil.Prettify(s)
7739}
7740
7741// GoString returns the string representation.
7742//
7743// API parameter values that are decorated as "sensitive" in the API will not
7744// be included in the string output. The member name will be present, but the
7745// value will be replaced with "sensitive".
7746func (s CreateDBClusterEndpointInput) GoString() string {
7747	return s.String()
7748}
7749
7750// Validate inspects the fields of the type to determine if they are valid.
7751func (s *CreateDBClusterEndpointInput) Validate() error {
7752	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterEndpointInput"}
7753	if s.DBClusterEndpointIdentifier == nil {
7754		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
7755	}
7756	if s.DBClusterIdentifier == nil {
7757		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
7758	}
7759	if s.EndpointType == nil {
7760		invalidParams.Add(request.NewErrParamRequired("EndpointType"))
7761	}
7762
7763	if invalidParams.Len() > 0 {
7764		return invalidParams
7765	}
7766	return nil
7767}
7768
7769// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
7770func (s *CreateDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *CreateDBClusterEndpointInput {
7771	s.DBClusterEndpointIdentifier = &v
7772	return s
7773}
7774
7775// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
7776func (s *CreateDBClusterEndpointInput) SetDBClusterIdentifier(v string) *CreateDBClusterEndpointInput {
7777	s.DBClusterIdentifier = &v
7778	return s
7779}
7780
7781// SetEndpointType sets the EndpointType field's value.
7782func (s *CreateDBClusterEndpointInput) SetEndpointType(v string) *CreateDBClusterEndpointInput {
7783	s.EndpointType = &v
7784	return s
7785}
7786
7787// SetExcludedMembers sets the ExcludedMembers field's value.
7788func (s *CreateDBClusterEndpointInput) SetExcludedMembers(v []*string) *CreateDBClusterEndpointInput {
7789	s.ExcludedMembers = v
7790	return s
7791}
7792
7793// SetStaticMembers sets the StaticMembers field's value.
7794func (s *CreateDBClusterEndpointInput) SetStaticMembers(v []*string) *CreateDBClusterEndpointInput {
7795	s.StaticMembers = v
7796	return s
7797}
7798
7799// SetTags sets the Tags field's value.
7800func (s *CreateDBClusterEndpointInput) SetTags(v []*Tag) *CreateDBClusterEndpointInput {
7801	s.Tags = v
7802	return s
7803}
7804
7805// This data type represents the information you need to connect to an Amazon
7806// Neptune DB cluster. This data type is used as a response element in the following
7807// actions:
7808//
7809//    * CreateDBClusterEndpoint
7810//
7811//    * DescribeDBClusterEndpoints
7812//
7813//    * ModifyDBClusterEndpoint
7814//
7815//    * DeleteDBClusterEndpoint
7816//
7817// For the data structure that represents Amazon Neptune DB instance endpoints,
7818// see Endpoint.
7819type CreateDBClusterEndpointOutput struct {
7820	_ struct{} `type:"structure"`
7821
7822	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
7823	CustomEndpointType *string `type:"string"`
7824
7825	// The Amazon Resource Name (ARN) for the endpoint.
7826	DBClusterEndpointArn *string `type:"string"`
7827
7828	// The identifier associated with the endpoint. This parameter is stored as
7829	// a lowercase string.
7830	DBClusterEndpointIdentifier *string `type:"string"`
7831
7832	// A unique system-generated identifier for an endpoint. It remains the same
7833	// for the whole life of the endpoint.
7834	DBClusterEndpointResourceIdentifier *string `type:"string"`
7835
7836	// The DB cluster identifier of the DB cluster associated with the endpoint.
7837	// This parameter is stored as a lowercase string.
7838	DBClusterIdentifier *string `type:"string"`
7839
7840	// The DNS address of the endpoint.
7841	Endpoint *string `type:"string"`
7842
7843	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
7844	EndpointType *string `type:"string"`
7845
7846	// List of DB instance identifiers that aren't part of the custom endpoint group.
7847	// All other eligible instances are reachable through the custom endpoint. Only
7848	// relevant if the list of static members is empty.
7849	ExcludedMembers []*string `type:"list"`
7850
7851	// List of DB instance identifiers that are part of the custom endpoint group.
7852	StaticMembers []*string `type:"list"`
7853
7854	// The current status of the endpoint. One of: creating, available, deleting,
7855	// inactive, modifying. The inactive state applies to an endpoint that cannot
7856	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
7857	// secondary cluster in a global database.
7858	Status *string `type:"string"`
7859}
7860
7861// String returns the string representation.
7862//
7863// API parameter values that are decorated as "sensitive" in the API will not
7864// be included in the string output. The member name will be present, but the
7865// value will be replaced with "sensitive".
7866func (s CreateDBClusterEndpointOutput) String() string {
7867	return awsutil.Prettify(s)
7868}
7869
7870// GoString returns the string representation.
7871//
7872// API parameter values that are decorated as "sensitive" in the API will not
7873// be included in the string output. The member name will be present, but the
7874// value will be replaced with "sensitive".
7875func (s CreateDBClusterEndpointOutput) GoString() string {
7876	return s.String()
7877}
7878
7879// SetCustomEndpointType sets the CustomEndpointType field's value.
7880func (s *CreateDBClusterEndpointOutput) SetCustomEndpointType(v string) *CreateDBClusterEndpointOutput {
7881	s.CustomEndpointType = &v
7882	return s
7883}
7884
7885// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
7886func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *CreateDBClusterEndpointOutput {
7887	s.DBClusterEndpointArn = &v
7888	return s
7889}
7890
7891// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
7892func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *CreateDBClusterEndpointOutput {
7893	s.DBClusterEndpointIdentifier = &v
7894	return s
7895}
7896
7897// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
7898func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *CreateDBClusterEndpointOutput {
7899	s.DBClusterEndpointResourceIdentifier = &v
7900	return s
7901}
7902
7903// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
7904func (s *CreateDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *CreateDBClusterEndpointOutput {
7905	s.DBClusterIdentifier = &v
7906	return s
7907}
7908
7909// SetEndpoint sets the Endpoint field's value.
7910func (s *CreateDBClusterEndpointOutput) SetEndpoint(v string) *CreateDBClusterEndpointOutput {
7911	s.Endpoint = &v
7912	return s
7913}
7914
7915// SetEndpointType sets the EndpointType field's value.
7916func (s *CreateDBClusterEndpointOutput) SetEndpointType(v string) *CreateDBClusterEndpointOutput {
7917	s.EndpointType = &v
7918	return s
7919}
7920
7921// SetExcludedMembers sets the ExcludedMembers field's value.
7922func (s *CreateDBClusterEndpointOutput) SetExcludedMembers(v []*string) *CreateDBClusterEndpointOutput {
7923	s.ExcludedMembers = v
7924	return s
7925}
7926
7927// SetStaticMembers sets the StaticMembers field's value.
7928func (s *CreateDBClusterEndpointOutput) SetStaticMembers(v []*string) *CreateDBClusterEndpointOutput {
7929	s.StaticMembers = v
7930	return s
7931}
7932
7933// SetStatus sets the Status field's value.
7934func (s *CreateDBClusterEndpointOutput) SetStatus(v string) *CreateDBClusterEndpointOutput {
7935	s.Status = &v
7936	return s
7937}
7938
7939type CreateDBClusterInput struct {
7940	_ struct{} `type:"structure"`
7941
7942	// A list of EC2 Availability Zones that instances in the DB cluster can be
7943	// created in.
7944	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
7945
7946	// The number of days for which automated backups are retained. You must specify
7947	// a minimum value of 1.
7948	//
7949	// Default: 1
7950	//
7951	// Constraints:
7952	//
7953	//    * Must be a value from 1 to 35
7954	BackupRetentionPeriod *int64 `type:"integer"`
7955
7956	// (Not supported by Neptune)
7957	CharacterSetName *string `type:"string"`
7958
7959	// If set to true, tags are copied to any snapshot of the DB cluster that is
7960	// created.
7961	CopyTagsToSnapshot *bool `type:"boolean"`
7962
7963	// The DB cluster identifier. This parameter is stored as a lowercase string.
7964	//
7965	// Constraints:
7966	//
7967	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
7968	//
7969	//    * First character must be a letter.
7970	//
7971	//    * Cannot end with a hyphen or contain two consecutive hyphens.
7972	//
7973	// Example: my-cluster1
7974	//
7975	// DBClusterIdentifier is a required field
7976	DBClusterIdentifier *string `type:"string" required:"true"`
7977
7978	// The name of the DB cluster parameter group to associate with this DB cluster.
7979	// If this argument is omitted, the default is used.
7980	//
7981	// Constraints:
7982	//
7983	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
7984	DBClusterParameterGroupName *string `type:"string"`
7985
7986	// A DB subnet group to associate with this DB cluster.
7987	//
7988	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
7989	// default.
7990	//
7991	// Example: mySubnetgroup
7992	DBSubnetGroupName *string `type:"string"`
7993
7994	// The name for your database of up to 64 alpha-numeric characters. If you do
7995	// not provide a name, Amazon Neptune will not create a database in the DB cluster
7996	// you are creating.
7997	DatabaseName *string `type:"string"`
7998
7999	// A value that indicates whether the DB cluster has deletion protection enabled.
8000	// The database can't be deleted when deletion protection is enabled. By default,
8001	// deletion protection is enabled.
8002	DeletionProtection *bool `type:"boolean"`
8003
8004	// DestinationRegion is used for presigning the request to a given region.
8005	DestinationRegion *string `type:"string"`
8006
8007	// The list of log types that need to be enabled for exporting to CloudWatch
8008	// Logs.
8009	EnableCloudwatchLogsExports []*string `type:"list"`
8010
8011	// If set to true, enables Amazon Identity and Access Management (IAM) authentication
8012	// for the entire DB cluster (this cannot be set at an instance level).
8013	//
8014	// Default: false.
8015	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
8016
8017	// The name of the database engine to be used for this DB cluster.
8018	//
8019	// Valid Values: neptune
8020	//
8021	// Engine is a required field
8022	Engine *string `type:"string" required:"true"`
8023
8024	// The version number of the database engine to use for the new DB cluster.
8025	//
8026	// Example: 1.0.2.1
8027	EngineVersion *string `type:"string"`
8028
8029	// The Amazon KMS key identifier for an encrypted DB cluster.
8030	//
8031	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
8032	// key. If you are creating a DB cluster with the same Amazon account that owns
8033	// the KMS encryption key used to encrypt the new DB cluster, then you can use
8034	// the KMS key alias instead of the ARN for the KMS encryption key.
8035	//
8036	// If an encryption key is not specified in KmsKeyId:
8037	//
8038	//    * If ReplicationSourceIdentifier identifies an encrypted source, then
8039	//    Amazon Neptune will use the encryption key used to encrypt the source.
8040	//    Otherwise, Amazon Neptune will use your default encryption key.
8041	//
8042	//    * If the StorageEncrypted parameter is true and ReplicationSourceIdentifier
8043	//    is not specified, then Amazon Neptune will use your default encryption
8044	//    key.
8045	//
8046	// Amazon KMS creates the default encryption key for your Amazon account. Your
8047	// Amazon account has a different default encryption key for each Amazon Region.
8048	//
8049	// If you create a Read Replica of an encrypted DB cluster in another Amazon
8050	// Region, you must set KmsKeyId to a KMS key ID that is valid in the destination
8051	// Amazon Region. This key is used to encrypt the Read Replica in that Amazon
8052	// Region.
8053	KmsKeyId *string `type:"string"`
8054
8055	// Not supported by Neptune.
8056	MasterUserPassword *string `type:"string"`
8057
8058	// Not supported by Neptune.
8059	MasterUsername *string `type:"string"`
8060
8061	// (Not supported by Neptune)
8062	OptionGroupName *string `type:"string"`
8063
8064	// The port number on which the instances in the DB cluster accept connections.
8065	//
8066	// Default: 8182
8067	Port *int64 `type:"integer"`
8068
8069	// This parameter is not currently supported.
8070	PreSignedUrl *string `type:"string"`
8071
8072	// The daily time range during which automated backups are created if automated
8073	// backups are enabled using the BackupRetentionPeriod parameter.
8074	//
8075	// The default is a 30-minute window selected at random from an 8-hour block
8076	// of time for each Amazon Region. To see the time blocks available, see Adjusting
8077	// the Preferred Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
8078	// in the Amazon Neptune User Guide.
8079	//
8080	// Constraints:
8081	//
8082	//    * Must be in the format hh24:mi-hh24:mi.
8083	//
8084	//    * Must be in Universal Coordinated Time (UTC).
8085	//
8086	//    * Must not conflict with the preferred maintenance window.
8087	//
8088	//    * Must be at least 30 minutes.
8089	PreferredBackupWindow *string `type:"string"`
8090
8091	// The weekly time range during which system maintenance can occur, in Universal
8092	// Coordinated Time (UTC).
8093	//
8094	// Format: ddd:hh24:mi-ddd:hh24:mi
8095	//
8096	// The default is a 30-minute window selected at random from an 8-hour block
8097	// of time for each Amazon Region, occurring on a random day of the week. To
8098	// see the time blocks available, see Adjusting the Preferred Maintenance Window
8099	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
8100	// in the Amazon Neptune User Guide.
8101	//
8102	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
8103	//
8104	// Constraints: Minimum 30-minute window.
8105	PreferredMaintenanceWindow *string `type:"string"`
8106
8107	// The Amazon Resource Name (ARN) of the source DB instance or DB cluster if
8108	// this DB cluster is created as a Read Replica.
8109	ReplicationSourceIdentifier *string `type:"string"`
8110
8111	// SourceRegion is the source region where the resource exists. This is not
8112	// sent over the wire and is only used for presigning. This value should always
8113	// have the same region as the source ARN.
8114	SourceRegion *string `type:"string" ignore:"true"`
8115
8116	// Specifies whether the DB cluster is encrypted.
8117	StorageEncrypted *bool `type:"boolean"`
8118
8119	// The tags to assign to the new DB cluster.
8120	Tags []*Tag `locationNameList:"Tag" type:"list"`
8121
8122	// A list of EC2 VPC security groups to associate with this DB cluster.
8123	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
8124}
8125
8126// String returns the string representation.
8127//
8128// API parameter values that are decorated as "sensitive" in the API will not
8129// be included in the string output. The member name will be present, but the
8130// value will be replaced with "sensitive".
8131func (s CreateDBClusterInput) String() string {
8132	return awsutil.Prettify(s)
8133}
8134
8135// GoString returns the string representation.
8136//
8137// API parameter values that are decorated as "sensitive" in the API will not
8138// be included in the string output. The member name will be present, but the
8139// value will be replaced with "sensitive".
8140func (s CreateDBClusterInput) GoString() string {
8141	return s.String()
8142}
8143
8144// Validate inspects the fields of the type to determine if they are valid.
8145func (s *CreateDBClusterInput) Validate() error {
8146	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterInput"}
8147	if s.DBClusterIdentifier == nil {
8148		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
8149	}
8150	if s.Engine == nil {
8151		invalidParams.Add(request.NewErrParamRequired("Engine"))
8152	}
8153
8154	if invalidParams.Len() > 0 {
8155		return invalidParams
8156	}
8157	return nil
8158}
8159
8160// SetAvailabilityZones sets the AvailabilityZones field's value.
8161func (s *CreateDBClusterInput) SetAvailabilityZones(v []*string) *CreateDBClusterInput {
8162	s.AvailabilityZones = v
8163	return s
8164}
8165
8166// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
8167func (s *CreateDBClusterInput) SetBackupRetentionPeriod(v int64) *CreateDBClusterInput {
8168	s.BackupRetentionPeriod = &v
8169	return s
8170}
8171
8172// SetCharacterSetName sets the CharacterSetName field's value.
8173func (s *CreateDBClusterInput) SetCharacterSetName(v string) *CreateDBClusterInput {
8174	s.CharacterSetName = &v
8175	return s
8176}
8177
8178// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
8179func (s *CreateDBClusterInput) SetCopyTagsToSnapshot(v bool) *CreateDBClusterInput {
8180	s.CopyTagsToSnapshot = &v
8181	return s
8182}
8183
8184// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
8185func (s *CreateDBClusterInput) SetDBClusterIdentifier(v string) *CreateDBClusterInput {
8186	s.DBClusterIdentifier = &v
8187	return s
8188}
8189
8190// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
8191func (s *CreateDBClusterInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterInput {
8192	s.DBClusterParameterGroupName = &v
8193	return s
8194}
8195
8196// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
8197func (s *CreateDBClusterInput) SetDBSubnetGroupName(v string) *CreateDBClusterInput {
8198	s.DBSubnetGroupName = &v
8199	return s
8200}
8201
8202// SetDatabaseName sets the DatabaseName field's value.
8203func (s *CreateDBClusterInput) SetDatabaseName(v string) *CreateDBClusterInput {
8204	s.DatabaseName = &v
8205	return s
8206}
8207
8208// SetDeletionProtection sets the DeletionProtection field's value.
8209func (s *CreateDBClusterInput) SetDeletionProtection(v bool) *CreateDBClusterInput {
8210	s.DeletionProtection = &v
8211	return s
8212}
8213
8214// SetDestinationRegion sets the DestinationRegion field's value.
8215func (s *CreateDBClusterInput) SetDestinationRegion(v string) *CreateDBClusterInput {
8216	s.DestinationRegion = &v
8217	return s
8218}
8219
8220// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
8221func (s *CreateDBClusterInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBClusterInput {
8222	s.EnableCloudwatchLogsExports = v
8223	return s
8224}
8225
8226// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
8227func (s *CreateDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBClusterInput {
8228	s.EnableIAMDatabaseAuthentication = &v
8229	return s
8230}
8231
8232// SetEngine sets the Engine field's value.
8233func (s *CreateDBClusterInput) SetEngine(v string) *CreateDBClusterInput {
8234	s.Engine = &v
8235	return s
8236}
8237
8238// SetEngineVersion sets the EngineVersion field's value.
8239func (s *CreateDBClusterInput) SetEngineVersion(v string) *CreateDBClusterInput {
8240	s.EngineVersion = &v
8241	return s
8242}
8243
8244// SetKmsKeyId sets the KmsKeyId field's value.
8245func (s *CreateDBClusterInput) SetKmsKeyId(v string) *CreateDBClusterInput {
8246	s.KmsKeyId = &v
8247	return s
8248}
8249
8250// SetMasterUserPassword sets the MasterUserPassword field's value.
8251func (s *CreateDBClusterInput) SetMasterUserPassword(v string) *CreateDBClusterInput {
8252	s.MasterUserPassword = &v
8253	return s
8254}
8255
8256// SetMasterUsername sets the MasterUsername field's value.
8257func (s *CreateDBClusterInput) SetMasterUsername(v string) *CreateDBClusterInput {
8258	s.MasterUsername = &v
8259	return s
8260}
8261
8262// SetOptionGroupName sets the OptionGroupName field's value.
8263func (s *CreateDBClusterInput) SetOptionGroupName(v string) *CreateDBClusterInput {
8264	s.OptionGroupName = &v
8265	return s
8266}
8267
8268// SetPort sets the Port field's value.
8269func (s *CreateDBClusterInput) SetPort(v int64) *CreateDBClusterInput {
8270	s.Port = &v
8271	return s
8272}
8273
8274// SetPreSignedUrl sets the PreSignedUrl field's value.
8275func (s *CreateDBClusterInput) SetPreSignedUrl(v string) *CreateDBClusterInput {
8276	s.PreSignedUrl = &v
8277	return s
8278}
8279
8280// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
8281func (s *CreateDBClusterInput) SetPreferredBackupWindow(v string) *CreateDBClusterInput {
8282	s.PreferredBackupWindow = &v
8283	return s
8284}
8285
8286// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
8287func (s *CreateDBClusterInput) SetPreferredMaintenanceWindow(v string) *CreateDBClusterInput {
8288	s.PreferredMaintenanceWindow = &v
8289	return s
8290}
8291
8292// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
8293func (s *CreateDBClusterInput) SetReplicationSourceIdentifier(v string) *CreateDBClusterInput {
8294	s.ReplicationSourceIdentifier = &v
8295	return s
8296}
8297
8298// SetSourceRegion sets the SourceRegion field's value.
8299func (s *CreateDBClusterInput) SetSourceRegion(v string) *CreateDBClusterInput {
8300	s.SourceRegion = &v
8301	return s
8302}
8303
8304// SetStorageEncrypted sets the StorageEncrypted field's value.
8305func (s *CreateDBClusterInput) SetStorageEncrypted(v bool) *CreateDBClusterInput {
8306	s.StorageEncrypted = &v
8307	return s
8308}
8309
8310// SetTags sets the Tags field's value.
8311func (s *CreateDBClusterInput) SetTags(v []*Tag) *CreateDBClusterInput {
8312	s.Tags = v
8313	return s
8314}
8315
8316// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
8317func (s *CreateDBClusterInput) SetVpcSecurityGroupIds(v []*string) *CreateDBClusterInput {
8318	s.VpcSecurityGroupIds = v
8319	return s
8320}
8321
8322type CreateDBClusterOutput struct {
8323	_ struct{} `type:"structure"`
8324
8325	// Contains the details of an Amazon Neptune DB cluster.
8326	//
8327	// This data type is used as a response element in the DescribeDBClusters action.
8328	DBCluster *DBCluster `type:"structure"`
8329}
8330
8331// String returns the string representation.
8332//
8333// API parameter values that are decorated as "sensitive" in the API will not
8334// be included in the string output. The member name will be present, but the
8335// value will be replaced with "sensitive".
8336func (s CreateDBClusterOutput) String() string {
8337	return awsutil.Prettify(s)
8338}
8339
8340// GoString returns the string representation.
8341//
8342// API parameter values that are decorated as "sensitive" in the API will not
8343// be included in the string output. The member name will be present, but the
8344// value will be replaced with "sensitive".
8345func (s CreateDBClusterOutput) GoString() string {
8346	return s.String()
8347}
8348
8349// SetDBCluster sets the DBCluster field's value.
8350func (s *CreateDBClusterOutput) SetDBCluster(v *DBCluster) *CreateDBClusterOutput {
8351	s.DBCluster = v
8352	return s
8353}
8354
8355type CreateDBClusterParameterGroupInput struct {
8356	_ struct{} `type:"structure"`
8357
8358	// The name of the DB cluster parameter group.
8359	//
8360	// Constraints:
8361	//
8362	//    * Must match the name of an existing DBClusterParameterGroup.
8363	//
8364	// This value is stored as a lowercase string.
8365	//
8366	// DBClusterParameterGroupName is a required field
8367	DBClusterParameterGroupName *string `type:"string" required:"true"`
8368
8369	// The DB cluster parameter group family name. A DB cluster parameter group
8370	// can be associated with one and only one DB cluster parameter group family,
8371	// and can be applied only to a DB cluster running a database engine and engine
8372	// version compatible with that DB cluster parameter group family.
8373	//
8374	// DBParameterGroupFamily is a required field
8375	DBParameterGroupFamily *string `type:"string" required:"true"`
8376
8377	// The description for the DB cluster parameter group.
8378	//
8379	// Description is a required field
8380	Description *string `type:"string" required:"true"`
8381
8382	// The tags to be assigned to the new DB cluster parameter group.
8383	Tags []*Tag `locationNameList:"Tag" type:"list"`
8384}
8385
8386// String returns the string representation.
8387//
8388// API parameter values that are decorated as "sensitive" in the API will not
8389// be included in the string output. The member name will be present, but the
8390// value will be replaced with "sensitive".
8391func (s CreateDBClusterParameterGroupInput) String() string {
8392	return awsutil.Prettify(s)
8393}
8394
8395// GoString returns the string representation.
8396//
8397// API parameter values that are decorated as "sensitive" in the API will not
8398// be included in the string output. The member name will be present, but the
8399// value will be replaced with "sensitive".
8400func (s CreateDBClusterParameterGroupInput) GoString() string {
8401	return s.String()
8402}
8403
8404// Validate inspects the fields of the type to determine if they are valid.
8405func (s *CreateDBClusterParameterGroupInput) Validate() error {
8406	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterParameterGroupInput"}
8407	if s.DBClusterParameterGroupName == nil {
8408		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
8409	}
8410	if s.DBParameterGroupFamily == nil {
8411		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
8412	}
8413	if s.Description == nil {
8414		invalidParams.Add(request.NewErrParamRequired("Description"))
8415	}
8416
8417	if invalidParams.Len() > 0 {
8418		return invalidParams
8419	}
8420	return nil
8421}
8422
8423// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
8424func (s *CreateDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterParameterGroupInput {
8425	s.DBClusterParameterGroupName = &v
8426	return s
8427}
8428
8429// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
8430func (s *CreateDBClusterParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBClusterParameterGroupInput {
8431	s.DBParameterGroupFamily = &v
8432	return s
8433}
8434
8435// SetDescription sets the Description field's value.
8436func (s *CreateDBClusterParameterGroupInput) SetDescription(v string) *CreateDBClusterParameterGroupInput {
8437	s.Description = &v
8438	return s
8439}
8440
8441// SetTags sets the Tags field's value.
8442func (s *CreateDBClusterParameterGroupInput) SetTags(v []*Tag) *CreateDBClusterParameterGroupInput {
8443	s.Tags = v
8444	return s
8445}
8446
8447type CreateDBClusterParameterGroupOutput struct {
8448	_ struct{} `type:"structure"`
8449
8450	// Contains the details of an Amazon Neptune DB cluster parameter group.
8451	//
8452	// This data type is used as a response element in the DescribeDBClusterParameterGroups
8453	// action.
8454	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
8455}
8456
8457// String returns the string representation.
8458//
8459// API parameter values that are decorated as "sensitive" in the API will not
8460// be included in the string output. The member name will be present, but the
8461// value will be replaced with "sensitive".
8462func (s CreateDBClusterParameterGroupOutput) String() string {
8463	return awsutil.Prettify(s)
8464}
8465
8466// GoString returns the string representation.
8467//
8468// API parameter values that are decorated as "sensitive" in the API will not
8469// be included in the string output. The member name will be present, but the
8470// value will be replaced with "sensitive".
8471func (s CreateDBClusterParameterGroupOutput) GoString() string {
8472	return s.String()
8473}
8474
8475// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
8476func (s *CreateDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CreateDBClusterParameterGroupOutput {
8477	s.DBClusterParameterGroup = v
8478	return s
8479}
8480
8481type CreateDBClusterSnapshotInput struct {
8482	_ struct{} `type:"structure"`
8483
8484	// The identifier of the DB cluster to create a snapshot for. This parameter
8485	// is not case-sensitive.
8486	//
8487	// Constraints:
8488	//
8489	//    * Must match the identifier of an existing DBCluster.
8490	//
8491	// Example: my-cluster1
8492	//
8493	// DBClusterIdentifier is a required field
8494	DBClusterIdentifier *string `type:"string" required:"true"`
8495
8496	// The identifier of the DB cluster snapshot. This parameter is stored as a
8497	// lowercase string.
8498	//
8499	// Constraints:
8500	//
8501	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
8502	//
8503	//    * First character must be a letter.
8504	//
8505	//    * Cannot end with a hyphen or contain two consecutive hyphens.
8506	//
8507	// Example: my-cluster1-snapshot1
8508	//
8509	// DBClusterSnapshotIdentifier is a required field
8510	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
8511
8512	// The tags to be assigned to the DB cluster snapshot.
8513	Tags []*Tag `locationNameList:"Tag" type:"list"`
8514}
8515
8516// String returns the string representation.
8517//
8518// API parameter values that are decorated as "sensitive" in the API will not
8519// be included in the string output. The member name will be present, but the
8520// value will be replaced with "sensitive".
8521func (s CreateDBClusterSnapshotInput) String() string {
8522	return awsutil.Prettify(s)
8523}
8524
8525// GoString returns the string representation.
8526//
8527// API parameter values that are decorated as "sensitive" in the API will not
8528// be included in the string output. The member name will be present, but the
8529// value will be replaced with "sensitive".
8530func (s CreateDBClusterSnapshotInput) GoString() string {
8531	return s.String()
8532}
8533
8534// Validate inspects the fields of the type to determine if they are valid.
8535func (s *CreateDBClusterSnapshotInput) Validate() error {
8536	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterSnapshotInput"}
8537	if s.DBClusterIdentifier == nil {
8538		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
8539	}
8540	if s.DBClusterSnapshotIdentifier == nil {
8541		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
8542	}
8543
8544	if invalidParams.Len() > 0 {
8545		return invalidParams
8546	}
8547	return nil
8548}
8549
8550// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
8551func (s *CreateDBClusterSnapshotInput) SetDBClusterIdentifier(v string) *CreateDBClusterSnapshotInput {
8552	s.DBClusterIdentifier = &v
8553	return s
8554}
8555
8556// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
8557func (s *CreateDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *CreateDBClusterSnapshotInput {
8558	s.DBClusterSnapshotIdentifier = &v
8559	return s
8560}
8561
8562// SetTags sets the Tags field's value.
8563func (s *CreateDBClusterSnapshotInput) SetTags(v []*Tag) *CreateDBClusterSnapshotInput {
8564	s.Tags = v
8565	return s
8566}
8567
8568type CreateDBClusterSnapshotOutput struct {
8569	_ struct{} `type:"structure"`
8570
8571	// Contains the details for an Amazon Neptune DB cluster snapshot
8572	//
8573	// This data type is used as a response element in the DescribeDBClusterSnapshots
8574	// action.
8575	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
8576}
8577
8578// String returns the string representation.
8579//
8580// API parameter values that are decorated as "sensitive" in the API will not
8581// be included in the string output. The member name will be present, but the
8582// value will be replaced with "sensitive".
8583func (s CreateDBClusterSnapshotOutput) String() string {
8584	return awsutil.Prettify(s)
8585}
8586
8587// GoString returns the string representation.
8588//
8589// API parameter values that are decorated as "sensitive" in the API will not
8590// be included in the string output. The member name will be present, but the
8591// value will be replaced with "sensitive".
8592func (s CreateDBClusterSnapshotOutput) GoString() string {
8593	return s.String()
8594}
8595
8596// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
8597func (s *CreateDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CreateDBClusterSnapshotOutput {
8598	s.DBClusterSnapshot = v
8599	return s
8600}
8601
8602type CreateDBInstanceInput struct {
8603	_ struct{} `type:"structure"`
8604
8605	// Not supported by Neptune.
8606	AllocatedStorage *int64 `type:"integer"`
8607
8608	// Indicates that minor engine upgrades are applied automatically to the DB
8609	// instance during the maintenance window.
8610	//
8611	// Default: true
8612	AutoMinorVersionUpgrade *bool `type:"boolean"`
8613
8614	// The EC2 Availability Zone that the DB instance is created in
8615	//
8616	// Default: A random, system-chosen Availability Zone in the endpoint's Amazon
8617	// Region.
8618	//
8619	// Example: us-east-1d
8620	//
8621	// Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ
8622	// parameter is set to true. The specified Availability Zone must be in the
8623	// same Amazon Region as the current endpoint.
8624	AvailabilityZone *string `type:"string"`
8625
8626	// The number of days for which automated backups are retained.
8627	//
8628	// Not applicable. The retention period for automated backups is managed by
8629	// the DB cluster. For more information, see CreateDBCluster.
8630	//
8631	// Default: 1
8632	//
8633	// Constraints:
8634	//
8635	//    * Must be a value from 0 to 35
8636	//
8637	//    * Cannot be set to 0 if the DB instance is a source to Read Replicas
8638	BackupRetentionPeriod *int64 `type:"integer"`
8639
8640	// (Not supported by Neptune)
8641	CharacterSetName *string `type:"string"`
8642
8643	// True to copy all tags from the DB instance to snapshots of the DB instance,
8644	// and otherwise false. The default is false.
8645	CopyTagsToSnapshot *bool `type:"boolean"`
8646
8647	// The identifier of the DB cluster that the instance will belong to.
8648	//
8649	// For information on creating a DB cluster, see CreateDBCluster.
8650	//
8651	// Type: String
8652	DBClusterIdentifier *string `type:"string"`
8653
8654	// The compute and memory capacity of the DB instance, for example, db.m4.large.
8655	// Not all DB instance classes are available in all Amazon Regions.
8656	//
8657	// DBInstanceClass is a required field
8658	DBInstanceClass *string `type:"string" required:"true"`
8659
8660	// The DB instance identifier. This parameter is stored as a lowercase string.
8661	//
8662	// Constraints:
8663	//
8664	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
8665	//
8666	//    * First character must be a letter.
8667	//
8668	//    * Cannot end with a hyphen or contain two consecutive hyphens.
8669	//
8670	// Example: mydbinstance
8671	//
8672	// DBInstanceIdentifier is a required field
8673	DBInstanceIdentifier *string `type:"string" required:"true"`
8674
8675	// Not supported.
8676	DBName *string `type:"string"`
8677
8678	// The name of the DB parameter group to associate with this DB instance. If
8679	// this argument is omitted, the default DBParameterGroup for the specified
8680	// engine is used.
8681	//
8682	// Constraints:
8683	//
8684	//    * Must be 1 to 255 letters, numbers, or hyphens.
8685	//
8686	//    * First character must be a letter
8687	//
8688	//    * Cannot end with a hyphen or contain two consecutive hyphens
8689	DBParameterGroupName *string `type:"string"`
8690
8691	// A list of DB security groups to associate with this DB instance.
8692	//
8693	// Default: The default DB security group for the database engine.
8694	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
8695
8696	// A DB subnet group to associate with this DB instance.
8697	//
8698	// If there is no DB subnet group, then it is a non-VPC DB instance.
8699	DBSubnetGroupName *string `type:"string"`
8700
8701	// A value that indicates whether the DB instance has deletion protection enabled.
8702	// The database can't be deleted when deletion protection is enabled. By default,
8703	// deletion protection is disabled. See Deleting a DB Instance (https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html).
8704	//
8705	// DB instances in a DB cluster can be deleted even when deletion protection
8706	// is enabled in their parent DB cluster.
8707	DeletionProtection *bool `type:"boolean"`
8708
8709	// Specify the Active Directory Domain to create the instance in.
8710	Domain *string `type:"string"`
8711
8712	// Specify the name of the IAM role to be used when making API calls to the
8713	// Directory Service.
8714	DomainIAMRoleName *string `type:"string"`
8715
8716	// The list of log types that need to be enabled for exporting to CloudWatch
8717	// Logs.
8718	EnableCloudwatchLogsExports []*string `type:"list"`
8719
8720	// Not supported by Neptune (ignored).
8721	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
8722
8723	// (Not supported by Neptune)
8724	EnablePerformanceInsights *bool `type:"boolean"`
8725
8726	// The name of the database engine to be used for this instance.
8727	//
8728	// Valid Values: neptune
8729	//
8730	// Engine is a required field
8731	Engine *string `type:"string" required:"true"`
8732
8733	// The version number of the database engine to use. Currently, setting this
8734	// parameter has no effect.
8735	EngineVersion *string `type:"string"`
8736
8737	// The amount of Provisioned IOPS (input/output operations per second) to be
8738	// initially allocated for the DB instance.
8739	Iops *int64 `type:"integer"`
8740
8741	// The Amazon KMS key identifier for an encrypted DB instance.
8742	//
8743	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
8744	// key. If you are creating a DB instance with the same Amazon account that
8745	// owns the KMS encryption key used to encrypt the new DB instance, then you
8746	// can use the KMS key alias instead of the ARN for the KM encryption key.
8747	//
8748	// Not applicable. The KMS key identifier is managed by the DB cluster. For
8749	// more information, see CreateDBCluster.
8750	//
8751	// If the StorageEncrypted parameter is true, and you do not specify a value
8752	// for the KmsKeyId parameter, then Amazon Neptune will use your default encryption
8753	// key. Amazon KMS creates the default encryption key for your Amazon account.
8754	// Your Amazon account has a different default encryption key for each Amazon
8755	// Region.
8756	KmsKeyId *string `type:"string"`
8757
8758	// License model information for this DB instance.
8759	//
8760	// Valid values: license-included | bring-your-own-license | general-public-license
8761	LicenseModel *string `type:"string"`
8762
8763	// Not supported by Neptune.
8764	MasterUserPassword *string `type:"string"`
8765
8766	// Not supported by Neptune.
8767	MasterUsername *string `type:"string"`
8768
8769	// The interval, in seconds, between points when Enhanced Monitoring metrics
8770	// are collected for the DB instance. To disable collecting Enhanced Monitoring
8771	// metrics, specify 0. The default is 0.
8772	//
8773	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
8774	// to a value other than 0.
8775	//
8776	// Valid Values: 0, 1, 5, 10, 15, 30, 60
8777	MonitoringInterval *int64 `type:"integer"`
8778
8779	// The ARN for the IAM role that permits Neptune to send enhanced monitoring
8780	// metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
8781	//
8782	// If MonitoringInterval is set to a value other than 0, then you must supply
8783	// a MonitoringRoleArn value.
8784	MonitoringRoleArn *string `type:"string"`
8785
8786	// Specifies if the DB instance is a Multi-AZ deployment. You can't set the
8787	// AvailabilityZone parameter if the MultiAZ parameter is set to true.
8788	MultiAZ *bool `type:"boolean"`
8789
8790	// (Not supported by Neptune)
8791	OptionGroupName *string `type:"string"`
8792
8793	// (Not supported by Neptune)
8794	PerformanceInsightsKMSKeyId *string `type:"string"`
8795
8796	// The port number on which the database accepts connections.
8797	//
8798	// Not applicable. The port is managed by the DB cluster. For more information,
8799	// see CreateDBCluster.
8800	//
8801	// Default: 8182
8802	//
8803	// Type: Integer
8804	Port *int64 `type:"integer"`
8805
8806	// The daily time range during which automated backups are created.
8807	//
8808	// Not applicable. The daily time range for creating automated backups is managed
8809	// by the DB cluster. For more information, see CreateDBCluster.
8810	PreferredBackupWindow *string `type:"string"`
8811
8812	// The time range each week during which system maintenance can occur, in Universal
8813	// Coordinated Time (UTC).
8814	//
8815	// Format: ddd:hh24:mi-ddd:hh24:mi
8816	//
8817	// The default is a 30-minute window selected at random from an 8-hour block
8818	// of time for each Amazon Region, occurring on a random day of the week.
8819	//
8820	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
8821	//
8822	// Constraints: Minimum 30-minute window.
8823	PreferredMaintenanceWindow *string `type:"string"`
8824
8825	// A value that specifies the order in which an Read Replica is promoted to
8826	// the primary instance after a failure of the existing primary instance.
8827	//
8828	// Default: 1
8829	//
8830	// Valid Values: 0 - 15
8831	PromotionTier *int64 `type:"integer"`
8832
8833	// This flag should no longer be used.
8834	//
8835	// Deprecated: PubliclyAccessible has been deprecated
8836	PubliclyAccessible *bool `deprecated:"true" type:"boolean"`
8837
8838	// Specifies whether the DB instance is encrypted.
8839	//
8840	// Not applicable. The encryption for DB instances is managed by the DB cluster.
8841	// For more information, see CreateDBCluster.
8842	//
8843	// Default: false
8844	StorageEncrypted *bool `type:"boolean"`
8845
8846	// Specifies the storage type to be associated with the DB instance.
8847	//
8848	// Not applicable. Storage is managed by the DB Cluster.
8849	StorageType *string `type:"string"`
8850
8851	// The tags to assign to the new instance.
8852	Tags []*Tag `locationNameList:"Tag" type:"list"`
8853
8854	// The ARN from the key store with which to associate the instance for TDE encryption.
8855	TdeCredentialArn *string `type:"string"`
8856
8857	// The password for the given ARN from the key store in order to access the
8858	// device.
8859	TdeCredentialPassword *string `type:"string"`
8860
8861	// The time zone of the DB instance.
8862	Timezone *string `type:"string"`
8863
8864	// A list of EC2 VPC security groups to associate with this DB instance.
8865	//
8866	// Not applicable. The associated list of EC2 VPC security groups is managed
8867	// by the DB cluster. For more information, see CreateDBCluster.
8868	//
8869	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
8870	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
8871}
8872
8873// String returns the string representation.
8874//
8875// API parameter values that are decorated as "sensitive" in the API will not
8876// be included in the string output. The member name will be present, but the
8877// value will be replaced with "sensitive".
8878func (s CreateDBInstanceInput) String() string {
8879	return awsutil.Prettify(s)
8880}
8881
8882// GoString returns the string representation.
8883//
8884// API parameter values that are decorated as "sensitive" in the API will not
8885// be included in the string output. The member name will be present, but the
8886// value will be replaced with "sensitive".
8887func (s CreateDBInstanceInput) GoString() string {
8888	return s.String()
8889}
8890
8891// Validate inspects the fields of the type to determine if they are valid.
8892func (s *CreateDBInstanceInput) Validate() error {
8893	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceInput"}
8894	if s.DBInstanceClass == nil {
8895		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
8896	}
8897	if s.DBInstanceIdentifier == nil {
8898		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
8899	}
8900	if s.Engine == nil {
8901		invalidParams.Add(request.NewErrParamRequired("Engine"))
8902	}
8903
8904	if invalidParams.Len() > 0 {
8905		return invalidParams
8906	}
8907	return nil
8908}
8909
8910// SetAllocatedStorage sets the AllocatedStorage field's value.
8911func (s *CreateDBInstanceInput) SetAllocatedStorage(v int64) *CreateDBInstanceInput {
8912	s.AllocatedStorage = &v
8913	return s
8914}
8915
8916// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
8917func (s *CreateDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceInput {
8918	s.AutoMinorVersionUpgrade = &v
8919	return s
8920}
8921
8922// SetAvailabilityZone sets the AvailabilityZone field's value.
8923func (s *CreateDBInstanceInput) SetAvailabilityZone(v string) *CreateDBInstanceInput {
8924	s.AvailabilityZone = &v
8925	return s
8926}
8927
8928// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
8929func (s *CreateDBInstanceInput) SetBackupRetentionPeriod(v int64) *CreateDBInstanceInput {
8930	s.BackupRetentionPeriod = &v
8931	return s
8932}
8933
8934// SetCharacterSetName sets the CharacterSetName field's value.
8935func (s *CreateDBInstanceInput) SetCharacterSetName(v string) *CreateDBInstanceInput {
8936	s.CharacterSetName = &v
8937	return s
8938}
8939
8940// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
8941func (s *CreateDBInstanceInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceInput {
8942	s.CopyTagsToSnapshot = &v
8943	return s
8944}
8945
8946// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
8947func (s *CreateDBInstanceInput) SetDBClusterIdentifier(v string) *CreateDBInstanceInput {
8948	s.DBClusterIdentifier = &v
8949	return s
8950}
8951
8952// SetDBInstanceClass sets the DBInstanceClass field's value.
8953func (s *CreateDBInstanceInput) SetDBInstanceClass(v string) *CreateDBInstanceInput {
8954	s.DBInstanceClass = &v
8955	return s
8956}
8957
8958// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
8959func (s *CreateDBInstanceInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceInput {
8960	s.DBInstanceIdentifier = &v
8961	return s
8962}
8963
8964// SetDBName sets the DBName field's value.
8965func (s *CreateDBInstanceInput) SetDBName(v string) *CreateDBInstanceInput {
8966	s.DBName = &v
8967	return s
8968}
8969
8970// SetDBParameterGroupName sets the DBParameterGroupName field's value.
8971func (s *CreateDBInstanceInput) SetDBParameterGroupName(v string) *CreateDBInstanceInput {
8972	s.DBParameterGroupName = &v
8973	return s
8974}
8975
8976// SetDBSecurityGroups sets the DBSecurityGroups field's value.
8977func (s *CreateDBInstanceInput) SetDBSecurityGroups(v []*string) *CreateDBInstanceInput {
8978	s.DBSecurityGroups = v
8979	return s
8980}
8981
8982// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
8983func (s *CreateDBInstanceInput) SetDBSubnetGroupName(v string) *CreateDBInstanceInput {
8984	s.DBSubnetGroupName = &v
8985	return s
8986}
8987
8988// SetDeletionProtection sets the DeletionProtection field's value.
8989func (s *CreateDBInstanceInput) SetDeletionProtection(v bool) *CreateDBInstanceInput {
8990	s.DeletionProtection = &v
8991	return s
8992}
8993
8994// SetDomain sets the Domain field's value.
8995func (s *CreateDBInstanceInput) SetDomain(v string) *CreateDBInstanceInput {
8996	s.Domain = &v
8997	return s
8998}
8999
9000// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
9001func (s *CreateDBInstanceInput) SetDomainIAMRoleName(v string) *CreateDBInstanceInput {
9002	s.DomainIAMRoleName = &v
9003	return s
9004}
9005
9006// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
9007func (s *CreateDBInstanceInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceInput {
9008	s.EnableCloudwatchLogsExports = v
9009	return s
9010}
9011
9012// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
9013func (s *CreateDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceInput {
9014	s.EnableIAMDatabaseAuthentication = &v
9015	return s
9016}
9017
9018// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
9019func (s *CreateDBInstanceInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceInput {
9020	s.EnablePerformanceInsights = &v
9021	return s
9022}
9023
9024// SetEngine sets the Engine field's value.
9025func (s *CreateDBInstanceInput) SetEngine(v string) *CreateDBInstanceInput {
9026	s.Engine = &v
9027	return s
9028}
9029
9030// SetEngineVersion sets the EngineVersion field's value.
9031func (s *CreateDBInstanceInput) SetEngineVersion(v string) *CreateDBInstanceInput {
9032	s.EngineVersion = &v
9033	return s
9034}
9035
9036// SetIops sets the Iops field's value.
9037func (s *CreateDBInstanceInput) SetIops(v int64) *CreateDBInstanceInput {
9038	s.Iops = &v
9039	return s
9040}
9041
9042// SetKmsKeyId sets the KmsKeyId field's value.
9043func (s *CreateDBInstanceInput) SetKmsKeyId(v string) *CreateDBInstanceInput {
9044	s.KmsKeyId = &v
9045	return s
9046}
9047
9048// SetLicenseModel sets the LicenseModel field's value.
9049func (s *CreateDBInstanceInput) SetLicenseModel(v string) *CreateDBInstanceInput {
9050	s.LicenseModel = &v
9051	return s
9052}
9053
9054// SetMasterUserPassword sets the MasterUserPassword field's value.
9055func (s *CreateDBInstanceInput) SetMasterUserPassword(v string) *CreateDBInstanceInput {
9056	s.MasterUserPassword = &v
9057	return s
9058}
9059
9060// SetMasterUsername sets the MasterUsername field's value.
9061func (s *CreateDBInstanceInput) SetMasterUsername(v string) *CreateDBInstanceInput {
9062	s.MasterUsername = &v
9063	return s
9064}
9065
9066// SetMonitoringInterval sets the MonitoringInterval field's value.
9067func (s *CreateDBInstanceInput) SetMonitoringInterval(v int64) *CreateDBInstanceInput {
9068	s.MonitoringInterval = &v
9069	return s
9070}
9071
9072// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
9073func (s *CreateDBInstanceInput) SetMonitoringRoleArn(v string) *CreateDBInstanceInput {
9074	s.MonitoringRoleArn = &v
9075	return s
9076}
9077
9078// SetMultiAZ sets the MultiAZ field's value.
9079func (s *CreateDBInstanceInput) SetMultiAZ(v bool) *CreateDBInstanceInput {
9080	s.MultiAZ = &v
9081	return s
9082}
9083
9084// SetOptionGroupName sets the OptionGroupName field's value.
9085func (s *CreateDBInstanceInput) SetOptionGroupName(v string) *CreateDBInstanceInput {
9086	s.OptionGroupName = &v
9087	return s
9088}
9089
9090// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
9091func (s *CreateDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceInput {
9092	s.PerformanceInsightsKMSKeyId = &v
9093	return s
9094}
9095
9096// SetPort sets the Port field's value.
9097func (s *CreateDBInstanceInput) SetPort(v int64) *CreateDBInstanceInput {
9098	s.Port = &v
9099	return s
9100}
9101
9102// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
9103func (s *CreateDBInstanceInput) SetPreferredBackupWindow(v string) *CreateDBInstanceInput {
9104	s.PreferredBackupWindow = &v
9105	return s
9106}
9107
9108// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
9109func (s *CreateDBInstanceInput) SetPreferredMaintenanceWindow(v string) *CreateDBInstanceInput {
9110	s.PreferredMaintenanceWindow = &v
9111	return s
9112}
9113
9114// SetPromotionTier sets the PromotionTier field's value.
9115func (s *CreateDBInstanceInput) SetPromotionTier(v int64) *CreateDBInstanceInput {
9116	s.PromotionTier = &v
9117	return s
9118}
9119
9120// SetPubliclyAccessible sets the PubliclyAccessible field's value.
9121func (s *CreateDBInstanceInput) SetPubliclyAccessible(v bool) *CreateDBInstanceInput {
9122	s.PubliclyAccessible = &v
9123	return s
9124}
9125
9126// SetStorageEncrypted sets the StorageEncrypted field's value.
9127func (s *CreateDBInstanceInput) SetStorageEncrypted(v bool) *CreateDBInstanceInput {
9128	s.StorageEncrypted = &v
9129	return s
9130}
9131
9132// SetStorageType sets the StorageType field's value.
9133func (s *CreateDBInstanceInput) SetStorageType(v string) *CreateDBInstanceInput {
9134	s.StorageType = &v
9135	return s
9136}
9137
9138// SetTags sets the Tags field's value.
9139func (s *CreateDBInstanceInput) SetTags(v []*Tag) *CreateDBInstanceInput {
9140	s.Tags = v
9141	return s
9142}
9143
9144// SetTdeCredentialArn sets the TdeCredentialArn field's value.
9145func (s *CreateDBInstanceInput) SetTdeCredentialArn(v string) *CreateDBInstanceInput {
9146	s.TdeCredentialArn = &v
9147	return s
9148}
9149
9150// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
9151func (s *CreateDBInstanceInput) SetTdeCredentialPassword(v string) *CreateDBInstanceInput {
9152	s.TdeCredentialPassword = &v
9153	return s
9154}
9155
9156// SetTimezone sets the Timezone field's value.
9157func (s *CreateDBInstanceInput) SetTimezone(v string) *CreateDBInstanceInput {
9158	s.Timezone = &v
9159	return s
9160}
9161
9162// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
9163func (s *CreateDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *CreateDBInstanceInput {
9164	s.VpcSecurityGroupIds = v
9165	return s
9166}
9167
9168type CreateDBInstanceOutput struct {
9169	_ struct{} `type:"structure"`
9170
9171	// Contains the details of an Amazon Neptune DB instance.
9172	//
9173	// This data type is used as a response element in the DescribeDBInstances action.
9174	DBInstance *DBInstance `type:"structure"`
9175}
9176
9177// String returns the string representation.
9178//
9179// API parameter values that are decorated as "sensitive" in the API will not
9180// be included in the string output. The member name will be present, but the
9181// value will be replaced with "sensitive".
9182func (s CreateDBInstanceOutput) String() string {
9183	return awsutil.Prettify(s)
9184}
9185
9186// GoString returns the string representation.
9187//
9188// API parameter values that are decorated as "sensitive" in the API will not
9189// be included in the string output. The member name will be present, but the
9190// value will be replaced with "sensitive".
9191func (s CreateDBInstanceOutput) GoString() string {
9192	return s.String()
9193}
9194
9195// SetDBInstance sets the DBInstance field's value.
9196func (s *CreateDBInstanceOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceOutput {
9197	s.DBInstance = v
9198	return s
9199}
9200
9201type CreateDBParameterGroupInput struct {
9202	_ struct{} `type:"structure"`
9203
9204	// The DB parameter group family name. A DB parameter group can be associated
9205	// with one and only one DB parameter group family, and can be applied only
9206	// to a DB instance running a database engine and engine version compatible
9207	// with that DB parameter group family.
9208	//
9209	// DBParameterGroupFamily is a required field
9210	DBParameterGroupFamily *string `type:"string" required:"true"`
9211
9212	// The name of the DB parameter group.
9213	//
9214	// Constraints:
9215	//
9216	//    * Must be 1 to 255 letters, numbers, or hyphens.
9217	//
9218	//    * First character must be a letter
9219	//
9220	//    * Cannot end with a hyphen or contain two consecutive hyphens
9221	//
9222	// This value is stored as a lowercase string.
9223	//
9224	// DBParameterGroupName is a required field
9225	DBParameterGroupName *string `type:"string" required:"true"`
9226
9227	// The description for the DB parameter group.
9228	//
9229	// Description is a required field
9230	Description *string `type:"string" required:"true"`
9231
9232	// The tags to be assigned to the new DB parameter group.
9233	Tags []*Tag `locationNameList:"Tag" type:"list"`
9234}
9235
9236// String returns the string representation.
9237//
9238// API parameter values that are decorated as "sensitive" in the API will not
9239// be included in the string output. The member name will be present, but the
9240// value will be replaced with "sensitive".
9241func (s CreateDBParameterGroupInput) String() string {
9242	return awsutil.Prettify(s)
9243}
9244
9245// GoString returns the string representation.
9246//
9247// API parameter values that are decorated as "sensitive" in the API will not
9248// be included in the string output. The member name will be present, but the
9249// value will be replaced with "sensitive".
9250func (s CreateDBParameterGroupInput) GoString() string {
9251	return s.String()
9252}
9253
9254// Validate inspects the fields of the type to determine if they are valid.
9255func (s *CreateDBParameterGroupInput) Validate() error {
9256	invalidParams := request.ErrInvalidParams{Context: "CreateDBParameterGroupInput"}
9257	if s.DBParameterGroupFamily == nil {
9258		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
9259	}
9260	if s.DBParameterGroupName == nil {
9261		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
9262	}
9263	if s.Description == nil {
9264		invalidParams.Add(request.NewErrParamRequired("Description"))
9265	}
9266
9267	if invalidParams.Len() > 0 {
9268		return invalidParams
9269	}
9270	return nil
9271}
9272
9273// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
9274func (s *CreateDBParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBParameterGroupInput {
9275	s.DBParameterGroupFamily = &v
9276	return s
9277}
9278
9279// SetDBParameterGroupName sets the DBParameterGroupName field's value.
9280func (s *CreateDBParameterGroupInput) SetDBParameterGroupName(v string) *CreateDBParameterGroupInput {
9281	s.DBParameterGroupName = &v
9282	return s
9283}
9284
9285// SetDescription sets the Description field's value.
9286func (s *CreateDBParameterGroupInput) SetDescription(v string) *CreateDBParameterGroupInput {
9287	s.Description = &v
9288	return s
9289}
9290
9291// SetTags sets the Tags field's value.
9292func (s *CreateDBParameterGroupInput) SetTags(v []*Tag) *CreateDBParameterGroupInput {
9293	s.Tags = v
9294	return s
9295}
9296
9297type CreateDBParameterGroupOutput struct {
9298	_ struct{} `type:"structure"`
9299
9300	// Contains the details of an Amazon Neptune DB parameter group.
9301	//
9302	// This data type is used as a response element in the DescribeDBParameterGroups
9303	// action.
9304	DBParameterGroup *DBParameterGroup `type:"structure"`
9305}
9306
9307// String returns the string representation.
9308//
9309// API parameter values that are decorated as "sensitive" in the API will not
9310// be included in the string output. The member name will be present, but the
9311// value will be replaced with "sensitive".
9312func (s CreateDBParameterGroupOutput) String() string {
9313	return awsutil.Prettify(s)
9314}
9315
9316// GoString returns the string representation.
9317//
9318// API parameter values that are decorated as "sensitive" in the API will not
9319// be included in the string output. The member name will be present, but the
9320// value will be replaced with "sensitive".
9321func (s CreateDBParameterGroupOutput) GoString() string {
9322	return s.String()
9323}
9324
9325// SetDBParameterGroup sets the DBParameterGroup field's value.
9326func (s *CreateDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CreateDBParameterGroupOutput {
9327	s.DBParameterGroup = v
9328	return s
9329}
9330
9331type CreateDBSubnetGroupInput struct {
9332	_ struct{} `type:"structure"`
9333
9334	// The description for the DB subnet group.
9335	//
9336	// DBSubnetGroupDescription is a required field
9337	DBSubnetGroupDescription *string `type:"string" required:"true"`
9338
9339	// The name for the DB subnet group. This value is stored as a lowercase string.
9340	//
9341	// Constraints: Must contain no more than 255 letters, numbers, periods, underscores,
9342	// spaces, or hyphens. Must not be default.
9343	//
9344	// Example: mySubnetgroup
9345	//
9346	// DBSubnetGroupName is a required field
9347	DBSubnetGroupName *string `type:"string" required:"true"`
9348
9349	// The EC2 Subnet IDs for the DB subnet group.
9350	//
9351	// SubnetIds is a required field
9352	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
9353
9354	// The tags to be assigned to the new DB subnet group.
9355	Tags []*Tag `locationNameList:"Tag" type:"list"`
9356}
9357
9358// String returns the string representation.
9359//
9360// API parameter values that are decorated as "sensitive" in the API will not
9361// be included in the string output. The member name will be present, but the
9362// value will be replaced with "sensitive".
9363func (s CreateDBSubnetGroupInput) String() string {
9364	return awsutil.Prettify(s)
9365}
9366
9367// GoString returns the string representation.
9368//
9369// API parameter values that are decorated as "sensitive" in the API will not
9370// be included in the string output. The member name will be present, but the
9371// value will be replaced with "sensitive".
9372func (s CreateDBSubnetGroupInput) GoString() string {
9373	return s.String()
9374}
9375
9376// Validate inspects the fields of the type to determine if they are valid.
9377func (s *CreateDBSubnetGroupInput) Validate() error {
9378	invalidParams := request.ErrInvalidParams{Context: "CreateDBSubnetGroupInput"}
9379	if s.DBSubnetGroupDescription == nil {
9380		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupDescription"))
9381	}
9382	if s.DBSubnetGroupName == nil {
9383		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
9384	}
9385	if s.SubnetIds == nil {
9386		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
9387	}
9388
9389	if invalidParams.Len() > 0 {
9390		return invalidParams
9391	}
9392	return nil
9393}
9394
9395// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
9396func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *CreateDBSubnetGroupInput {
9397	s.DBSubnetGroupDescription = &v
9398	return s
9399}
9400
9401// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
9402func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupName(v string) *CreateDBSubnetGroupInput {
9403	s.DBSubnetGroupName = &v
9404	return s
9405}
9406
9407// SetSubnetIds sets the SubnetIds field's value.
9408func (s *CreateDBSubnetGroupInput) SetSubnetIds(v []*string) *CreateDBSubnetGroupInput {
9409	s.SubnetIds = v
9410	return s
9411}
9412
9413// SetTags sets the Tags field's value.
9414func (s *CreateDBSubnetGroupInput) SetTags(v []*Tag) *CreateDBSubnetGroupInput {
9415	s.Tags = v
9416	return s
9417}
9418
9419type CreateDBSubnetGroupOutput struct {
9420	_ struct{} `type:"structure"`
9421
9422	// Contains the details of an Amazon Neptune DB subnet group.
9423	//
9424	// This data type is used as a response element in the DescribeDBSubnetGroups
9425	// action.
9426	DBSubnetGroup *DBSubnetGroup `type:"structure"`
9427}
9428
9429// String returns the string representation.
9430//
9431// API parameter values that are decorated as "sensitive" in the API will not
9432// be included in the string output. The member name will be present, but the
9433// value will be replaced with "sensitive".
9434func (s CreateDBSubnetGroupOutput) String() string {
9435	return awsutil.Prettify(s)
9436}
9437
9438// GoString returns the string representation.
9439//
9440// API parameter values that are decorated as "sensitive" in the API will not
9441// be included in the string output. The member name will be present, but the
9442// value will be replaced with "sensitive".
9443func (s CreateDBSubnetGroupOutput) GoString() string {
9444	return s.String()
9445}
9446
9447// SetDBSubnetGroup sets the DBSubnetGroup field's value.
9448func (s *CreateDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *CreateDBSubnetGroupOutput {
9449	s.DBSubnetGroup = v
9450	return s
9451}
9452
9453type CreateEventSubscriptionInput struct {
9454	_ struct{} `type:"structure"`
9455
9456	// A Boolean value; set to true to activate the subscription, set to false to
9457	// create the subscription but not active it.
9458	Enabled *bool `type:"boolean"`
9459
9460	// A list of event categories for a SourceType that you want to subscribe to.
9461	// You can see a list of the categories for a given SourceType by using the
9462	// DescribeEventCategories action.
9463	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
9464
9465	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
9466	// The ARN is created by Amazon SNS when you create a topic and subscribe to
9467	// it.
9468	//
9469	// SnsTopicArn is a required field
9470	SnsTopicArn *string `type:"string" required:"true"`
9471
9472	// The list of identifiers of the event sources for which events are returned.
9473	// If not specified, then all sources are included in the response. An identifier
9474	// must begin with a letter and must contain only ASCII letters, digits, and
9475	// hyphens; it can't end with a hyphen or contain two consecutive hyphens.
9476	//
9477	// Constraints:
9478	//
9479	//    * If SourceIds are supplied, SourceType must also be provided.
9480	//
9481	//    * If the source type is a DB instance, then a DBInstanceIdentifier must
9482	//    be supplied.
9483	//
9484	//    * If the source type is a DB security group, a DBSecurityGroupName must
9485	//    be supplied.
9486	//
9487	//    * If the source type is a DB parameter group, a DBParameterGroupName must
9488	//    be supplied.
9489	//
9490	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier must be
9491	//    supplied.
9492	SourceIds []*string `locationNameList:"SourceId" type:"list"`
9493
9494	// The type of source that is generating the events. For example, if you want
9495	// to be notified of events generated by a DB instance, you would set this parameter
9496	// to db-instance. if this value is not specified, all events are returned.
9497	//
9498	// Valid values: db-instance | db-cluster | db-parameter-group | db-security-group
9499	// | db-snapshot | db-cluster-snapshot
9500	SourceType *string `type:"string"`
9501
9502	// The name of the subscription.
9503	//
9504	// Constraints: The name must be less than 255 characters.
9505	//
9506	// SubscriptionName is a required field
9507	SubscriptionName *string `type:"string" required:"true"`
9508
9509	// The tags to be applied to the new event subscription.
9510	Tags []*Tag `locationNameList:"Tag" type:"list"`
9511}
9512
9513// String returns the string representation.
9514//
9515// API parameter values that are decorated as "sensitive" in the API will not
9516// be included in the string output. The member name will be present, but the
9517// value will be replaced with "sensitive".
9518func (s CreateEventSubscriptionInput) String() string {
9519	return awsutil.Prettify(s)
9520}
9521
9522// GoString returns the string representation.
9523//
9524// API parameter values that are decorated as "sensitive" in the API will not
9525// be included in the string output. The member name will be present, but the
9526// value will be replaced with "sensitive".
9527func (s CreateEventSubscriptionInput) GoString() string {
9528	return s.String()
9529}
9530
9531// Validate inspects the fields of the type to determine if they are valid.
9532func (s *CreateEventSubscriptionInput) Validate() error {
9533	invalidParams := request.ErrInvalidParams{Context: "CreateEventSubscriptionInput"}
9534	if s.SnsTopicArn == nil {
9535		invalidParams.Add(request.NewErrParamRequired("SnsTopicArn"))
9536	}
9537	if s.SubscriptionName == nil {
9538		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
9539	}
9540
9541	if invalidParams.Len() > 0 {
9542		return invalidParams
9543	}
9544	return nil
9545}
9546
9547// SetEnabled sets the Enabled field's value.
9548func (s *CreateEventSubscriptionInput) SetEnabled(v bool) *CreateEventSubscriptionInput {
9549	s.Enabled = &v
9550	return s
9551}
9552
9553// SetEventCategories sets the EventCategories field's value.
9554func (s *CreateEventSubscriptionInput) SetEventCategories(v []*string) *CreateEventSubscriptionInput {
9555	s.EventCategories = v
9556	return s
9557}
9558
9559// SetSnsTopicArn sets the SnsTopicArn field's value.
9560func (s *CreateEventSubscriptionInput) SetSnsTopicArn(v string) *CreateEventSubscriptionInput {
9561	s.SnsTopicArn = &v
9562	return s
9563}
9564
9565// SetSourceIds sets the SourceIds field's value.
9566func (s *CreateEventSubscriptionInput) SetSourceIds(v []*string) *CreateEventSubscriptionInput {
9567	s.SourceIds = v
9568	return s
9569}
9570
9571// SetSourceType sets the SourceType field's value.
9572func (s *CreateEventSubscriptionInput) SetSourceType(v string) *CreateEventSubscriptionInput {
9573	s.SourceType = &v
9574	return s
9575}
9576
9577// SetSubscriptionName sets the SubscriptionName field's value.
9578func (s *CreateEventSubscriptionInput) SetSubscriptionName(v string) *CreateEventSubscriptionInput {
9579	s.SubscriptionName = &v
9580	return s
9581}
9582
9583// SetTags sets the Tags field's value.
9584func (s *CreateEventSubscriptionInput) SetTags(v []*Tag) *CreateEventSubscriptionInput {
9585	s.Tags = v
9586	return s
9587}
9588
9589type CreateEventSubscriptionOutput struct {
9590	_ struct{} `type:"structure"`
9591
9592	// Contains the results of a successful invocation of the DescribeEventSubscriptions
9593	// action.
9594	EventSubscription *EventSubscription `type:"structure"`
9595}
9596
9597// String returns the string representation.
9598//
9599// API parameter values that are decorated as "sensitive" in the API will not
9600// be included in the string output. The member name will be present, but the
9601// value will be replaced with "sensitive".
9602func (s CreateEventSubscriptionOutput) String() string {
9603	return awsutil.Prettify(s)
9604}
9605
9606// GoString returns the string representation.
9607//
9608// API parameter values that are decorated as "sensitive" in the API will not
9609// be included in the string output. The member name will be present, but the
9610// value will be replaced with "sensitive".
9611func (s CreateEventSubscriptionOutput) GoString() string {
9612	return s.String()
9613}
9614
9615// SetEventSubscription sets the EventSubscription field's value.
9616func (s *CreateEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *CreateEventSubscriptionOutput {
9617	s.EventSubscription = v
9618	return s
9619}
9620
9621// Contains the details of an Amazon Neptune DB cluster.
9622//
9623// This data type is used as a response element in the DescribeDBClusters action.
9624type DBCluster struct {
9625	_ struct{} `type:"structure"`
9626
9627	// AllocatedStorage always returns 1, because Neptune DB cluster storage size
9628	// is not fixed, but instead automatically adjusts as needed.
9629	AllocatedStorage *int64 `type:"integer"`
9630
9631	// Provides a list of the Amazon Identity and Access Management (IAM) roles
9632	// that are associated with the DB cluster. IAM roles that are associated with
9633	// a DB cluster grant permission for the DB cluster to access other Amazon services
9634	// on your behalf.
9635	AssociatedRoles []*DBClusterRole `locationNameList:"DBClusterRole" type:"list"`
9636
9637	// Time at which the DB cluster will be automatically restarted.
9638	AutomaticRestartTime *time.Time `type:"timestamp"`
9639
9640	// Provides the list of EC2 Availability Zones that instances in the DB cluster
9641	// can be created in.
9642	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
9643
9644	// Specifies the number of days for which automatic DB snapshots are retained.
9645	BackupRetentionPeriod *int64 `type:"integer"`
9646
9647	// Not supported by Neptune.
9648	CharacterSetName *string `type:"string"`
9649
9650	// Identifies the clone group to which the DB cluster is associated.
9651	CloneGroupId *string `type:"string"`
9652
9653	// Specifies the time when the DB cluster was created, in Universal Coordinated
9654	// Time (UTC).
9655	ClusterCreateTime *time.Time `type:"timestamp"`
9656
9657	// If set to true, tags are copied to any snapshot of the DB cluster that is
9658	// created.
9659	CopyTagsToSnapshot *bool `type:"boolean"`
9660
9661	// If set to true, the DB cluster can be cloned across accounts.
9662	CrossAccountClone *bool `type:"boolean"`
9663
9664	// The Amazon Resource Name (ARN) for the DB cluster.
9665	DBClusterArn *string `type:"string"`
9666
9667	// Contains a user-supplied DB cluster identifier. This identifier is the unique
9668	// key that identifies a DB cluster.
9669	DBClusterIdentifier *string `type:"string"`
9670
9671	// Provides the list of instances that make up the DB cluster.
9672	DBClusterMembers []*DBClusterMember `locationNameList:"DBClusterMember" type:"list"`
9673
9674	// Not supported by Neptune.
9675	DBClusterOptionGroupMemberships []*DBClusterOptionGroupStatus `locationNameList:"DBClusterOptionGroup" type:"list"`
9676
9677	// Specifies the name of the DB cluster parameter group for the DB cluster.
9678	DBClusterParameterGroup *string `type:"string"`
9679
9680	// Specifies information on the subnet group associated with the DB cluster,
9681	// including the name, description, and subnets in the subnet group.
9682	DBSubnetGroup *string `type:"string"`
9683
9684	// Contains the name of the initial database of this DB cluster that was provided
9685	// at create time, if one was specified when the DB cluster was created. This
9686	// same name is returned for the life of the DB cluster.
9687	DatabaseName *string `type:"string"`
9688
9689	// The Amazon Region-unique, immutable identifier for the DB cluster. This identifier
9690	// is found in Amazon CloudTrail log entries whenever the Amazon KMS key for
9691	// the DB cluster is accessed.
9692	DbClusterResourceId *string `type:"string"`
9693
9694	// Indicates whether or not the DB cluster has deletion protection enabled.
9695	// The database can't be deleted when deletion protection is enabled.
9696	DeletionProtection *bool `type:"boolean"`
9697
9698	// Specifies the earliest time to which a database can be restored with point-in-time
9699	// restore.
9700	EarliestRestorableTime *time.Time `type:"timestamp"`
9701
9702	// A list of log types that this DB cluster is configured to export to CloudWatch
9703	// Logs.
9704	EnabledCloudwatchLogsExports []*string `type:"list"`
9705
9706	// Specifies the connection endpoint for the primary instance of the DB cluster.
9707	Endpoint *string `type:"string"`
9708
9709	// Provides the name of the database engine to be used for this DB cluster.
9710	Engine *string `type:"string"`
9711
9712	// Indicates the database engine version.
9713	EngineVersion *string `type:"string"`
9714
9715	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
9716	HostedZoneId *string `type:"string"`
9717
9718	// True if mapping of Amazon Identity and Access Management (IAM) accounts to
9719	// database accounts is enabled, and otherwise false.
9720	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
9721
9722	// If StorageEncrypted is true, the Amazon KMS key identifier for the encrypted
9723	// DB cluster.
9724	KmsKeyId *string `type:"string"`
9725
9726	// Specifies the latest time to which a database can be restored with point-in-time
9727	// restore.
9728	LatestRestorableTime *time.Time `type:"timestamp"`
9729
9730	// Not supported by Neptune.
9731	MasterUsername *string `type:"string"`
9732
9733	// Specifies whether the DB cluster has instances in multiple Availability Zones.
9734	MultiAZ *bool `type:"boolean"`
9735
9736	// Specifies the progress of the operation as a percentage.
9737	PercentProgress *string `type:"string"`
9738
9739	// Specifies the port that the database engine is listening on.
9740	Port *int64 `type:"integer"`
9741
9742	// Specifies the daily time range during which automated backups are created
9743	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
9744	PreferredBackupWindow *string `type:"string"`
9745
9746	// Specifies the weekly time range during which system maintenance can occur,
9747	// in Universal Coordinated Time (UTC).
9748	PreferredMaintenanceWindow *string `type:"string"`
9749
9750	// Contains one or more identifiers of the Read Replicas associated with this
9751	// DB cluster.
9752	ReadReplicaIdentifiers []*string `locationNameList:"ReadReplicaIdentifier" type:"list"`
9753
9754	// The reader endpoint for the DB cluster. The reader endpoint for a DB cluster
9755	// load-balances connections across the Read Replicas that are available in
9756	// a DB cluster. As clients request new connections to the reader endpoint,
9757	// Neptune distributes the connection requests among the Read Replicas in the
9758	// DB cluster. This functionality can help balance your read workload across
9759	// multiple Read Replicas in your DB cluster.
9760	//
9761	// If a failover occurs, and the Read Replica that you are connected to is promoted
9762	// to be the primary instance, your connection is dropped. To continue sending
9763	// your read workload to other Read Replicas in the cluster, you can then reconnect
9764	// to the reader endpoint.
9765	ReaderEndpoint *string `type:"string"`
9766
9767	// Not supported by Neptune.
9768	ReplicationSourceIdentifier *string `type:"string"`
9769
9770	// Specifies the current state of this DB cluster.
9771	Status *string `type:"string"`
9772
9773	// Specifies whether the DB cluster is encrypted.
9774	StorageEncrypted *bool `type:"boolean"`
9775
9776	// Provides a list of VPC security groups that the DB cluster belongs to.
9777	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
9778}
9779
9780// String returns the string representation.
9781//
9782// API parameter values that are decorated as "sensitive" in the API will not
9783// be included in the string output. The member name will be present, but the
9784// value will be replaced with "sensitive".
9785func (s DBCluster) String() string {
9786	return awsutil.Prettify(s)
9787}
9788
9789// GoString returns the string representation.
9790//
9791// API parameter values that are decorated as "sensitive" in the API will not
9792// be included in the string output. The member name will be present, but the
9793// value will be replaced with "sensitive".
9794func (s DBCluster) GoString() string {
9795	return s.String()
9796}
9797
9798// SetAllocatedStorage sets the AllocatedStorage field's value.
9799func (s *DBCluster) SetAllocatedStorage(v int64) *DBCluster {
9800	s.AllocatedStorage = &v
9801	return s
9802}
9803
9804// SetAssociatedRoles sets the AssociatedRoles field's value.
9805func (s *DBCluster) SetAssociatedRoles(v []*DBClusterRole) *DBCluster {
9806	s.AssociatedRoles = v
9807	return s
9808}
9809
9810// SetAutomaticRestartTime sets the AutomaticRestartTime field's value.
9811func (s *DBCluster) SetAutomaticRestartTime(v time.Time) *DBCluster {
9812	s.AutomaticRestartTime = &v
9813	return s
9814}
9815
9816// SetAvailabilityZones sets the AvailabilityZones field's value.
9817func (s *DBCluster) SetAvailabilityZones(v []*string) *DBCluster {
9818	s.AvailabilityZones = v
9819	return s
9820}
9821
9822// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
9823func (s *DBCluster) SetBackupRetentionPeriod(v int64) *DBCluster {
9824	s.BackupRetentionPeriod = &v
9825	return s
9826}
9827
9828// SetCharacterSetName sets the CharacterSetName field's value.
9829func (s *DBCluster) SetCharacterSetName(v string) *DBCluster {
9830	s.CharacterSetName = &v
9831	return s
9832}
9833
9834// SetCloneGroupId sets the CloneGroupId field's value.
9835func (s *DBCluster) SetCloneGroupId(v string) *DBCluster {
9836	s.CloneGroupId = &v
9837	return s
9838}
9839
9840// SetClusterCreateTime sets the ClusterCreateTime field's value.
9841func (s *DBCluster) SetClusterCreateTime(v time.Time) *DBCluster {
9842	s.ClusterCreateTime = &v
9843	return s
9844}
9845
9846// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
9847func (s *DBCluster) SetCopyTagsToSnapshot(v bool) *DBCluster {
9848	s.CopyTagsToSnapshot = &v
9849	return s
9850}
9851
9852// SetCrossAccountClone sets the CrossAccountClone field's value.
9853func (s *DBCluster) SetCrossAccountClone(v bool) *DBCluster {
9854	s.CrossAccountClone = &v
9855	return s
9856}
9857
9858// SetDBClusterArn sets the DBClusterArn field's value.
9859func (s *DBCluster) SetDBClusterArn(v string) *DBCluster {
9860	s.DBClusterArn = &v
9861	return s
9862}
9863
9864// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
9865func (s *DBCluster) SetDBClusterIdentifier(v string) *DBCluster {
9866	s.DBClusterIdentifier = &v
9867	return s
9868}
9869
9870// SetDBClusterMembers sets the DBClusterMembers field's value.
9871func (s *DBCluster) SetDBClusterMembers(v []*DBClusterMember) *DBCluster {
9872	s.DBClusterMembers = v
9873	return s
9874}
9875
9876// SetDBClusterOptionGroupMemberships sets the DBClusterOptionGroupMemberships field's value.
9877func (s *DBCluster) SetDBClusterOptionGroupMemberships(v []*DBClusterOptionGroupStatus) *DBCluster {
9878	s.DBClusterOptionGroupMemberships = v
9879	return s
9880}
9881
9882// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
9883func (s *DBCluster) SetDBClusterParameterGroup(v string) *DBCluster {
9884	s.DBClusterParameterGroup = &v
9885	return s
9886}
9887
9888// SetDBSubnetGroup sets the DBSubnetGroup field's value.
9889func (s *DBCluster) SetDBSubnetGroup(v string) *DBCluster {
9890	s.DBSubnetGroup = &v
9891	return s
9892}
9893
9894// SetDatabaseName sets the DatabaseName field's value.
9895func (s *DBCluster) SetDatabaseName(v string) *DBCluster {
9896	s.DatabaseName = &v
9897	return s
9898}
9899
9900// SetDbClusterResourceId sets the DbClusterResourceId field's value.
9901func (s *DBCluster) SetDbClusterResourceId(v string) *DBCluster {
9902	s.DbClusterResourceId = &v
9903	return s
9904}
9905
9906// SetDeletionProtection sets the DeletionProtection field's value.
9907func (s *DBCluster) SetDeletionProtection(v bool) *DBCluster {
9908	s.DeletionProtection = &v
9909	return s
9910}
9911
9912// SetEarliestRestorableTime sets the EarliestRestorableTime field's value.
9913func (s *DBCluster) SetEarliestRestorableTime(v time.Time) *DBCluster {
9914	s.EarliestRestorableTime = &v
9915	return s
9916}
9917
9918// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
9919func (s *DBCluster) SetEnabledCloudwatchLogsExports(v []*string) *DBCluster {
9920	s.EnabledCloudwatchLogsExports = v
9921	return s
9922}
9923
9924// SetEndpoint sets the Endpoint field's value.
9925func (s *DBCluster) SetEndpoint(v string) *DBCluster {
9926	s.Endpoint = &v
9927	return s
9928}
9929
9930// SetEngine sets the Engine field's value.
9931func (s *DBCluster) SetEngine(v string) *DBCluster {
9932	s.Engine = &v
9933	return s
9934}
9935
9936// SetEngineVersion sets the EngineVersion field's value.
9937func (s *DBCluster) SetEngineVersion(v string) *DBCluster {
9938	s.EngineVersion = &v
9939	return s
9940}
9941
9942// SetHostedZoneId sets the HostedZoneId field's value.
9943func (s *DBCluster) SetHostedZoneId(v string) *DBCluster {
9944	s.HostedZoneId = &v
9945	return s
9946}
9947
9948// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
9949func (s *DBCluster) SetIAMDatabaseAuthenticationEnabled(v bool) *DBCluster {
9950	s.IAMDatabaseAuthenticationEnabled = &v
9951	return s
9952}
9953
9954// SetKmsKeyId sets the KmsKeyId field's value.
9955func (s *DBCluster) SetKmsKeyId(v string) *DBCluster {
9956	s.KmsKeyId = &v
9957	return s
9958}
9959
9960// SetLatestRestorableTime sets the LatestRestorableTime field's value.
9961func (s *DBCluster) SetLatestRestorableTime(v time.Time) *DBCluster {
9962	s.LatestRestorableTime = &v
9963	return s
9964}
9965
9966// SetMasterUsername sets the MasterUsername field's value.
9967func (s *DBCluster) SetMasterUsername(v string) *DBCluster {
9968	s.MasterUsername = &v
9969	return s
9970}
9971
9972// SetMultiAZ sets the MultiAZ field's value.
9973func (s *DBCluster) SetMultiAZ(v bool) *DBCluster {
9974	s.MultiAZ = &v
9975	return s
9976}
9977
9978// SetPercentProgress sets the PercentProgress field's value.
9979func (s *DBCluster) SetPercentProgress(v string) *DBCluster {
9980	s.PercentProgress = &v
9981	return s
9982}
9983
9984// SetPort sets the Port field's value.
9985func (s *DBCluster) SetPort(v int64) *DBCluster {
9986	s.Port = &v
9987	return s
9988}
9989
9990// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
9991func (s *DBCluster) SetPreferredBackupWindow(v string) *DBCluster {
9992	s.PreferredBackupWindow = &v
9993	return s
9994}
9995
9996// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
9997func (s *DBCluster) SetPreferredMaintenanceWindow(v string) *DBCluster {
9998	s.PreferredMaintenanceWindow = &v
9999	return s
10000}
10001
10002// SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
10003func (s *DBCluster) SetReadReplicaIdentifiers(v []*string) *DBCluster {
10004	s.ReadReplicaIdentifiers = v
10005	return s
10006}
10007
10008// SetReaderEndpoint sets the ReaderEndpoint field's value.
10009func (s *DBCluster) SetReaderEndpoint(v string) *DBCluster {
10010	s.ReaderEndpoint = &v
10011	return s
10012}
10013
10014// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
10015func (s *DBCluster) SetReplicationSourceIdentifier(v string) *DBCluster {
10016	s.ReplicationSourceIdentifier = &v
10017	return s
10018}
10019
10020// SetStatus sets the Status field's value.
10021func (s *DBCluster) SetStatus(v string) *DBCluster {
10022	s.Status = &v
10023	return s
10024}
10025
10026// SetStorageEncrypted sets the StorageEncrypted field's value.
10027func (s *DBCluster) SetStorageEncrypted(v bool) *DBCluster {
10028	s.StorageEncrypted = &v
10029	return s
10030}
10031
10032// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
10033func (s *DBCluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBCluster {
10034	s.VpcSecurityGroups = v
10035	return s
10036}
10037
10038// This data type represents the information you need to connect to an Amazon
10039// Neptune DB cluster. This data type is used as a response element in the following
10040// actions:
10041//
10042//    * CreateDBClusterEndpoint
10043//
10044//    * DescribeDBClusterEndpoints
10045//
10046//    * ModifyDBClusterEndpoint
10047//
10048//    * DeleteDBClusterEndpoint
10049//
10050// For the data structure that represents Amazon Neptune DB instance endpoints,
10051// see Endpoint.
10052type DBClusterEndpoint struct {
10053	_ struct{} `type:"structure"`
10054
10055	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
10056	CustomEndpointType *string `type:"string"`
10057
10058	// The Amazon Resource Name (ARN) for the endpoint.
10059	DBClusterEndpointArn *string `type:"string"`
10060
10061	// The identifier associated with the endpoint. This parameter is stored as
10062	// a lowercase string.
10063	DBClusterEndpointIdentifier *string `type:"string"`
10064
10065	// A unique system-generated identifier for an endpoint. It remains the same
10066	// for the whole life of the endpoint.
10067	DBClusterEndpointResourceIdentifier *string `type:"string"`
10068
10069	// The DB cluster identifier of the DB cluster associated with the endpoint.
10070	// This parameter is stored as a lowercase string.
10071	DBClusterIdentifier *string `type:"string"`
10072
10073	// The DNS address of the endpoint.
10074	Endpoint *string `type:"string"`
10075
10076	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
10077	EndpointType *string `type:"string"`
10078
10079	// List of DB instance identifiers that aren't part of the custom endpoint group.
10080	// All other eligible instances are reachable through the custom endpoint. Only
10081	// relevant if the list of static members is empty.
10082	ExcludedMembers []*string `type:"list"`
10083
10084	// List of DB instance identifiers that are part of the custom endpoint group.
10085	StaticMembers []*string `type:"list"`
10086
10087	// The current status of the endpoint. One of: creating, available, deleting,
10088	// inactive, modifying. The inactive state applies to an endpoint that cannot
10089	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
10090	// secondary cluster in a global database.
10091	Status *string `type:"string"`
10092}
10093
10094// String returns the string representation.
10095//
10096// API parameter values that are decorated as "sensitive" in the API will not
10097// be included in the string output. The member name will be present, but the
10098// value will be replaced with "sensitive".
10099func (s DBClusterEndpoint) String() string {
10100	return awsutil.Prettify(s)
10101}
10102
10103// GoString returns the string representation.
10104//
10105// API parameter values that are decorated as "sensitive" in the API will not
10106// be included in the string output. The member name will be present, but the
10107// value will be replaced with "sensitive".
10108func (s DBClusterEndpoint) GoString() string {
10109	return s.String()
10110}
10111
10112// SetCustomEndpointType sets the CustomEndpointType field's value.
10113func (s *DBClusterEndpoint) SetCustomEndpointType(v string) *DBClusterEndpoint {
10114	s.CustomEndpointType = &v
10115	return s
10116}
10117
10118// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
10119func (s *DBClusterEndpoint) SetDBClusterEndpointArn(v string) *DBClusterEndpoint {
10120	s.DBClusterEndpointArn = &v
10121	return s
10122}
10123
10124// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
10125func (s *DBClusterEndpoint) SetDBClusterEndpointIdentifier(v string) *DBClusterEndpoint {
10126	s.DBClusterEndpointIdentifier = &v
10127	return s
10128}
10129
10130// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
10131func (s *DBClusterEndpoint) SetDBClusterEndpointResourceIdentifier(v string) *DBClusterEndpoint {
10132	s.DBClusterEndpointResourceIdentifier = &v
10133	return s
10134}
10135
10136// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
10137func (s *DBClusterEndpoint) SetDBClusterIdentifier(v string) *DBClusterEndpoint {
10138	s.DBClusterIdentifier = &v
10139	return s
10140}
10141
10142// SetEndpoint sets the Endpoint field's value.
10143func (s *DBClusterEndpoint) SetEndpoint(v string) *DBClusterEndpoint {
10144	s.Endpoint = &v
10145	return s
10146}
10147
10148// SetEndpointType sets the EndpointType field's value.
10149func (s *DBClusterEndpoint) SetEndpointType(v string) *DBClusterEndpoint {
10150	s.EndpointType = &v
10151	return s
10152}
10153
10154// SetExcludedMembers sets the ExcludedMembers field's value.
10155func (s *DBClusterEndpoint) SetExcludedMembers(v []*string) *DBClusterEndpoint {
10156	s.ExcludedMembers = v
10157	return s
10158}
10159
10160// SetStaticMembers sets the StaticMembers field's value.
10161func (s *DBClusterEndpoint) SetStaticMembers(v []*string) *DBClusterEndpoint {
10162	s.StaticMembers = v
10163	return s
10164}
10165
10166// SetStatus sets the Status field's value.
10167func (s *DBClusterEndpoint) SetStatus(v string) *DBClusterEndpoint {
10168	s.Status = &v
10169	return s
10170}
10171
10172// Contains information about an instance that is part of a DB cluster.
10173type DBClusterMember struct {
10174	_ struct{} `type:"structure"`
10175
10176	// Specifies the status of the DB cluster parameter group for this member of
10177	// the DB cluster.
10178	DBClusterParameterGroupStatus *string `type:"string"`
10179
10180	// Specifies the instance identifier for this member of the DB cluster.
10181	DBInstanceIdentifier *string `type:"string"`
10182
10183	// Value that is true if the cluster member is the primary instance for the
10184	// DB cluster and false otherwise.
10185	IsClusterWriter *bool `type:"boolean"`
10186
10187	// A value that specifies the order in which a Read Replica is promoted to the
10188	// primary instance after a failure of the existing primary instance.
10189	PromotionTier *int64 `type:"integer"`
10190}
10191
10192// String returns the string representation.
10193//
10194// API parameter values that are decorated as "sensitive" in the API will not
10195// be included in the string output. The member name will be present, but the
10196// value will be replaced with "sensitive".
10197func (s DBClusterMember) String() string {
10198	return awsutil.Prettify(s)
10199}
10200
10201// GoString returns the string representation.
10202//
10203// API parameter values that are decorated as "sensitive" in the API will not
10204// be included in the string output. The member name will be present, but the
10205// value will be replaced with "sensitive".
10206func (s DBClusterMember) GoString() string {
10207	return s.String()
10208}
10209
10210// SetDBClusterParameterGroupStatus sets the DBClusterParameterGroupStatus field's value.
10211func (s *DBClusterMember) SetDBClusterParameterGroupStatus(v string) *DBClusterMember {
10212	s.DBClusterParameterGroupStatus = &v
10213	return s
10214}
10215
10216// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
10217func (s *DBClusterMember) SetDBInstanceIdentifier(v string) *DBClusterMember {
10218	s.DBInstanceIdentifier = &v
10219	return s
10220}
10221
10222// SetIsClusterWriter sets the IsClusterWriter field's value.
10223func (s *DBClusterMember) SetIsClusterWriter(v bool) *DBClusterMember {
10224	s.IsClusterWriter = &v
10225	return s
10226}
10227
10228// SetPromotionTier sets the PromotionTier field's value.
10229func (s *DBClusterMember) SetPromotionTier(v int64) *DBClusterMember {
10230	s.PromotionTier = &v
10231	return s
10232}
10233
10234// Not supported by Neptune.
10235type DBClusterOptionGroupStatus struct {
10236	_ struct{} `type:"structure"`
10237
10238	// Not supported by Neptune.
10239	DBClusterOptionGroupName *string `type:"string"`
10240
10241	// Not supported by Neptune.
10242	Status *string `type:"string"`
10243}
10244
10245// String returns the string representation.
10246//
10247// API parameter values that are decorated as "sensitive" in the API will not
10248// be included in the string output. The member name will be present, but the
10249// value will be replaced with "sensitive".
10250func (s DBClusterOptionGroupStatus) String() string {
10251	return awsutil.Prettify(s)
10252}
10253
10254// GoString returns the string representation.
10255//
10256// API parameter values that are decorated as "sensitive" in the API will not
10257// be included in the string output. The member name will be present, but the
10258// value will be replaced with "sensitive".
10259func (s DBClusterOptionGroupStatus) GoString() string {
10260	return s.String()
10261}
10262
10263// SetDBClusterOptionGroupName sets the DBClusterOptionGroupName field's value.
10264func (s *DBClusterOptionGroupStatus) SetDBClusterOptionGroupName(v string) *DBClusterOptionGroupStatus {
10265	s.DBClusterOptionGroupName = &v
10266	return s
10267}
10268
10269// SetStatus sets the Status field's value.
10270func (s *DBClusterOptionGroupStatus) SetStatus(v string) *DBClusterOptionGroupStatus {
10271	s.Status = &v
10272	return s
10273}
10274
10275// Contains the details of an Amazon Neptune DB cluster parameter group.
10276//
10277// This data type is used as a response element in the DescribeDBClusterParameterGroups
10278// action.
10279type DBClusterParameterGroup struct {
10280	_ struct{} `type:"structure"`
10281
10282	// The Amazon Resource Name (ARN) for the DB cluster parameter group.
10283	DBClusterParameterGroupArn *string `type:"string"`
10284
10285	// Provides the name of the DB cluster parameter group.
10286	DBClusterParameterGroupName *string `type:"string"`
10287
10288	// Provides the name of the DB parameter group family that this DB cluster parameter
10289	// group is compatible with.
10290	DBParameterGroupFamily *string `type:"string"`
10291
10292	// Provides the customer-specified description for this DB cluster parameter
10293	// group.
10294	Description *string `type:"string"`
10295}
10296
10297// String returns the string representation.
10298//
10299// API parameter values that are decorated as "sensitive" in the API will not
10300// be included in the string output. The member name will be present, but the
10301// value will be replaced with "sensitive".
10302func (s DBClusterParameterGroup) String() string {
10303	return awsutil.Prettify(s)
10304}
10305
10306// GoString returns the string representation.
10307//
10308// API parameter values that are decorated as "sensitive" in the API will not
10309// be included in the string output. The member name will be present, but the
10310// value will be replaced with "sensitive".
10311func (s DBClusterParameterGroup) GoString() string {
10312	return s.String()
10313}
10314
10315// SetDBClusterParameterGroupArn sets the DBClusterParameterGroupArn field's value.
10316func (s *DBClusterParameterGroup) SetDBClusterParameterGroupArn(v string) *DBClusterParameterGroup {
10317	s.DBClusterParameterGroupArn = &v
10318	return s
10319}
10320
10321// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
10322func (s *DBClusterParameterGroup) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroup {
10323	s.DBClusterParameterGroupName = &v
10324	return s
10325}
10326
10327// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
10328func (s *DBClusterParameterGroup) SetDBParameterGroupFamily(v string) *DBClusterParameterGroup {
10329	s.DBParameterGroupFamily = &v
10330	return s
10331}
10332
10333// SetDescription sets the Description field's value.
10334func (s *DBClusterParameterGroup) SetDescription(v string) *DBClusterParameterGroup {
10335	s.Description = &v
10336	return s
10337}
10338
10339// Describes an Amazon Identity and Access Management (IAM) role that is associated
10340// with a DB cluster.
10341type DBClusterRole struct {
10342	_ struct{} `type:"structure"`
10343
10344	// The name of the feature associated with the Amazon Identity and Access Management
10345	// (IAM) role. For the list of supported feature names, see DescribeDBEngineVersions
10346	// (https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions).
10347	FeatureName *string `type:"string"`
10348
10349	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
10350	// DB cluster.
10351	RoleArn *string `type:"string"`
10352
10353	// Describes the state of association between the IAM role and the DB cluster.
10354	// The Status property returns one of the following values:
10355	//
10356	//    * ACTIVE - the IAM role ARN is associated with the DB cluster and can
10357	//    be used to access other Amazon services on your behalf.
10358	//
10359	//    * PENDING - the IAM role ARN is being associated with the DB cluster.
10360	//
10361	//    * INVALID - the IAM role ARN is associated with the DB cluster, but the
10362	//    DB cluster is unable to assume the IAM role in order to access other Amazon
10363	//    services on your behalf.
10364	Status *string `type:"string"`
10365}
10366
10367// String returns the string representation.
10368//
10369// API parameter values that are decorated as "sensitive" in the API will not
10370// be included in the string output. The member name will be present, but the
10371// value will be replaced with "sensitive".
10372func (s DBClusterRole) String() string {
10373	return awsutil.Prettify(s)
10374}
10375
10376// GoString returns the string representation.
10377//
10378// API parameter values that are decorated as "sensitive" in the API will not
10379// be included in the string output. The member name will be present, but the
10380// value will be replaced with "sensitive".
10381func (s DBClusterRole) GoString() string {
10382	return s.String()
10383}
10384
10385// SetFeatureName sets the FeatureName field's value.
10386func (s *DBClusterRole) SetFeatureName(v string) *DBClusterRole {
10387	s.FeatureName = &v
10388	return s
10389}
10390
10391// SetRoleArn sets the RoleArn field's value.
10392func (s *DBClusterRole) SetRoleArn(v string) *DBClusterRole {
10393	s.RoleArn = &v
10394	return s
10395}
10396
10397// SetStatus sets the Status field's value.
10398func (s *DBClusterRole) SetStatus(v string) *DBClusterRole {
10399	s.Status = &v
10400	return s
10401}
10402
10403// Contains the details for an Amazon Neptune DB cluster snapshot
10404//
10405// This data type is used as a response element in the DescribeDBClusterSnapshots
10406// action.
10407type DBClusterSnapshot struct {
10408	_ struct{} `type:"structure"`
10409
10410	// Specifies the allocated storage size in gibibytes (GiB).
10411	AllocatedStorage *int64 `type:"integer"`
10412
10413	// Provides the list of EC2 Availability Zones that instances in the DB cluster
10414	// snapshot can be restored in.
10415	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
10416
10417	// Specifies the time when the DB cluster was created, in Universal Coordinated
10418	// Time (UTC).
10419	ClusterCreateTime *time.Time `type:"timestamp"`
10420
10421	// Specifies the DB cluster identifier of the DB cluster that this DB cluster
10422	// snapshot was created from.
10423	DBClusterIdentifier *string `type:"string"`
10424
10425	// The Amazon Resource Name (ARN) for the DB cluster snapshot.
10426	DBClusterSnapshotArn *string `type:"string"`
10427
10428	// Specifies the identifier for a DB cluster snapshot. Must match the identifier
10429	// of an existing snapshot.
10430	//
10431	// After you restore a DB cluster using a DBClusterSnapshotIdentifier, you must
10432	// specify the same DBClusterSnapshotIdentifier for any future updates to the
10433	// DB cluster. When you specify this property for an update, the DB cluster
10434	// is not restored from the snapshot again, and the data in the database is
10435	// not changed.
10436	//
10437	// However, if you don't specify the DBClusterSnapshotIdentifier, an empty DB
10438	// cluster is created, and the original DB cluster is deleted. If you specify
10439	// a property that is different from the previous snapshot restore property,
10440	// the DB cluster is restored from the snapshot specified by the DBClusterSnapshotIdentifier,
10441	// and the original DB cluster is deleted.
10442	DBClusterSnapshotIdentifier *string `type:"string"`
10443
10444	// Specifies the name of the database engine.
10445	Engine *string `type:"string"`
10446
10447	// Provides the version of the database engine for this DB cluster snapshot.
10448	EngineVersion *string `type:"string"`
10449
10450	// True if mapping of Amazon Identity and Access Management (IAM) accounts to
10451	// database accounts is enabled, and otherwise false.
10452	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
10453
10454	// If StorageEncrypted is true, the Amazon KMS key identifier for the encrypted
10455	// DB cluster snapshot.
10456	KmsKeyId *string `type:"string"`
10457
10458	// Provides the license model information for this DB cluster snapshot.
10459	LicenseModel *string `type:"string"`
10460
10461	// Not supported by Neptune.
10462	MasterUsername *string `type:"string"`
10463
10464	// Specifies the percentage of the estimated data that has been transferred.
10465	PercentProgress *int64 `type:"integer"`
10466
10467	// Specifies the port that the DB cluster was listening on at the time of the
10468	// snapshot.
10469	Port *int64 `type:"integer"`
10470
10471	// Provides the time when the snapshot was taken, in Universal Coordinated Time
10472	// (UTC).
10473	SnapshotCreateTime *time.Time `type:"timestamp"`
10474
10475	// Provides the type of the DB cluster snapshot.
10476	SnapshotType *string `type:"string"`
10477
10478	// If the DB cluster snapshot was copied from a source DB cluster snapshot,
10479	// the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise,
10480	// a null value.
10481	SourceDBClusterSnapshotArn *string `type:"string"`
10482
10483	// Specifies the status of this DB cluster snapshot.
10484	Status *string `type:"string"`
10485
10486	// Specifies whether the DB cluster snapshot is encrypted.
10487	StorageEncrypted *bool `type:"boolean"`
10488
10489	// Provides the VPC ID associated with the DB cluster snapshot.
10490	VpcId *string `type:"string"`
10491}
10492
10493// String returns the string representation.
10494//
10495// API parameter values that are decorated as "sensitive" in the API will not
10496// be included in the string output. The member name will be present, but the
10497// value will be replaced with "sensitive".
10498func (s DBClusterSnapshot) String() string {
10499	return awsutil.Prettify(s)
10500}
10501
10502// GoString returns the string representation.
10503//
10504// API parameter values that are decorated as "sensitive" in the API will not
10505// be included in the string output. The member name will be present, but the
10506// value will be replaced with "sensitive".
10507func (s DBClusterSnapshot) GoString() string {
10508	return s.String()
10509}
10510
10511// SetAllocatedStorage sets the AllocatedStorage field's value.
10512func (s *DBClusterSnapshot) SetAllocatedStorage(v int64) *DBClusterSnapshot {
10513	s.AllocatedStorage = &v
10514	return s
10515}
10516
10517// SetAvailabilityZones sets the AvailabilityZones field's value.
10518func (s *DBClusterSnapshot) SetAvailabilityZones(v []*string) *DBClusterSnapshot {
10519	s.AvailabilityZones = v
10520	return s
10521}
10522
10523// SetClusterCreateTime sets the ClusterCreateTime field's value.
10524func (s *DBClusterSnapshot) SetClusterCreateTime(v time.Time) *DBClusterSnapshot {
10525	s.ClusterCreateTime = &v
10526	return s
10527}
10528
10529// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
10530func (s *DBClusterSnapshot) SetDBClusterIdentifier(v string) *DBClusterSnapshot {
10531	s.DBClusterIdentifier = &v
10532	return s
10533}
10534
10535// SetDBClusterSnapshotArn sets the DBClusterSnapshotArn field's value.
10536func (s *DBClusterSnapshot) SetDBClusterSnapshotArn(v string) *DBClusterSnapshot {
10537	s.DBClusterSnapshotArn = &v
10538	return s
10539}
10540
10541// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
10542func (s *DBClusterSnapshot) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshot {
10543	s.DBClusterSnapshotIdentifier = &v
10544	return s
10545}
10546
10547// SetEngine sets the Engine field's value.
10548func (s *DBClusterSnapshot) SetEngine(v string) *DBClusterSnapshot {
10549	s.Engine = &v
10550	return s
10551}
10552
10553// SetEngineVersion sets the EngineVersion field's value.
10554func (s *DBClusterSnapshot) SetEngineVersion(v string) *DBClusterSnapshot {
10555	s.EngineVersion = &v
10556	return s
10557}
10558
10559// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
10560func (s *DBClusterSnapshot) SetIAMDatabaseAuthenticationEnabled(v bool) *DBClusterSnapshot {
10561	s.IAMDatabaseAuthenticationEnabled = &v
10562	return s
10563}
10564
10565// SetKmsKeyId sets the KmsKeyId field's value.
10566func (s *DBClusterSnapshot) SetKmsKeyId(v string) *DBClusterSnapshot {
10567	s.KmsKeyId = &v
10568	return s
10569}
10570
10571// SetLicenseModel sets the LicenseModel field's value.
10572func (s *DBClusterSnapshot) SetLicenseModel(v string) *DBClusterSnapshot {
10573	s.LicenseModel = &v
10574	return s
10575}
10576
10577// SetMasterUsername sets the MasterUsername field's value.
10578func (s *DBClusterSnapshot) SetMasterUsername(v string) *DBClusterSnapshot {
10579	s.MasterUsername = &v
10580	return s
10581}
10582
10583// SetPercentProgress sets the PercentProgress field's value.
10584func (s *DBClusterSnapshot) SetPercentProgress(v int64) *DBClusterSnapshot {
10585	s.PercentProgress = &v
10586	return s
10587}
10588
10589// SetPort sets the Port field's value.
10590func (s *DBClusterSnapshot) SetPort(v int64) *DBClusterSnapshot {
10591	s.Port = &v
10592	return s
10593}
10594
10595// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
10596func (s *DBClusterSnapshot) SetSnapshotCreateTime(v time.Time) *DBClusterSnapshot {
10597	s.SnapshotCreateTime = &v
10598	return s
10599}
10600
10601// SetSnapshotType sets the SnapshotType field's value.
10602func (s *DBClusterSnapshot) SetSnapshotType(v string) *DBClusterSnapshot {
10603	s.SnapshotType = &v
10604	return s
10605}
10606
10607// SetSourceDBClusterSnapshotArn sets the SourceDBClusterSnapshotArn field's value.
10608func (s *DBClusterSnapshot) SetSourceDBClusterSnapshotArn(v string) *DBClusterSnapshot {
10609	s.SourceDBClusterSnapshotArn = &v
10610	return s
10611}
10612
10613// SetStatus sets the Status field's value.
10614func (s *DBClusterSnapshot) SetStatus(v string) *DBClusterSnapshot {
10615	s.Status = &v
10616	return s
10617}
10618
10619// SetStorageEncrypted sets the StorageEncrypted field's value.
10620func (s *DBClusterSnapshot) SetStorageEncrypted(v bool) *DBClusterSnapshot {
10621	s.StorageEncrypted = &v
10622	return s
10623}
10624
10625// SetVpcId sets the VpcId field's value.
10626func (s *DBClusterSnapshot) SetVpcId(v string) *DBClusterSnapshot {
10627	s.VpcId = &v
10628	return s
10629}
10630
10631// Contains the name and values of a manual DB cluster snapshot attribute.
10632//
10633// Manual DB cluster snapshot attributes are used to authorize other Amazon
10634// accounts to restore a manual DB cluster snapshot. For more information, see
10635// the ModifyDBClusterSnapshotAttribute API action.
10636type DBClusterSnapshotAttribute struct {
10637	_ struct{} `type:"structure"`
10638
10639	// The name of the manual DB cluster snapshot attribute.
10640	//
10641	// The attribute named restore refers to the list of Amazon accounts that have
10642	// permission to copy or restore the manual DB cluster snapshot. For more information,
10643	// see the ModifyDBClusterSnapshotAttribute API action.
10644	AttributeName *string `type:"string"`
10645
10646	// The value(s) for the manual DB cluster snapshot attribute.
10647	//
10648	// If the AttributeName field is set to restore, then this element returns a
10649	// list of IDs of the Amazon accounts that are authorized to copy or restore
10650	// the manual DB cluster snapshot. If a value of all is in the list, then the
10651	// manual DB cluster snapshot is public and available for any Amazon account
10652	// to copy or restore.
10653	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
10654}
10655
10656// String returns the string representation.
10657//
10658// API parameter values that are decorated as "sensitive" in the API will not
10659// be included in the string output. The member name will be present, but the
10660// value will be replaced with "sensitive".
10661func (s DBClusterSnapshotAttribute) String() string {
10662	return awsutil.Prettify(s)
10663}
10664
10665// GoString returns the string representation.
10666//
10667// API parameter values that are decorated as "sensitive" in the API will not
10668// be included in the string output. The member name will be present, but the
10669// value will be replaced with "sensitive".
10670func (s DBClusterSnapshotAttribute) GoString() string {
10671	return s.String()
10672}
10673
10674// SetAttributeName sets the AttributeName field's value.
10675func (s *DBClusterSnapshotAttribute) SetAttributeName(v string) *DBClusterSnapshotAttribute {
10676	s.AttributeName = &v
10677	return s
10678}
10679
10680// SetAttributeValues sets the AttributeValues field's value.
10681func (s *DBClusterSnapshotAttribute) SetAttributeValues(v []*string) *DBClusterSnapshotAttribute {
10682	s.AttributeValues = v
10683	return s
10684}
10685
10686// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
10687// API action.
10688//
10689// Manual DB cluster snapshot attributes are used to authorize other Amazon
10690// accounts to copy or restore a manual DB cluster snapshot. For more information,
10691// see the ModifyDBClusterSnapshotAttribute API action.
10692type DBClusterSnapshotAttributesResult struct {
10693	_ struct{} `type:"structure"`
10694
10695	// The list of attributes and values for the manual DB cluster snapshot.
10696	DBClusterSnapshotAttributes []*DBClusterSnapshotAttribute `locationNameList:"DBClusterSnapshotAttribute" type:"list"`
10697
10698	// The identifier of the manual DB cluster snapshot that the attributes apply
10699	// to.
10700	DBClusterSnapshotIdentifier *string `type:"string"`
10701}
10702
10703// String returns the string representation.
10704//
10705// API parameter values that are decorated as "sensitive" in the API will not
10706// be included in the string output. The member name will be present, but the
10707// value will be replaced with "sensitive".
10708func (s DBClusterSnapshotAttributesResult) String() string {
10709	return awsutil.Prettify(s)
10710}
10711
10712// GoString returns the string representation.
10713//
10714// API parameter values that are decorated as "sensitive" in the API will not
10715// be included in the string output. The member name will be present, but the
10716// value will be replaced with "sensitive".
10717func (s DBClusterSnapshotAttributesResult) GoString() string {
10718	return s.String()
10719}
10720
10721// SetDBClusterSnapshotAttributes sets the DBClusterSnapshotAttributes field's value.
10722func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotAttributes(v []*DBClusterSnapshotAttribute) *DBClusterSnapshotAttributesResult {
10723	s.DBClusterSnapshotAttributes = v
10724	return s
10725}
10726
10727// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
10728func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshotAttributesResult {
10729	s.DBClusterSnapshotIdentifier = &v
10730	return s
10731}
10732
10733// This data type is used as a response element in the action DescribeDBEngineVersions.
10734type DBEngineVersion struct {
10735	_ struct{} `type:"structure"`
10736
10737	// The description of the database engine.
10738	DBEngineDescription *string `type:"string"`
10739
10740	// The description of the database engine version.
10741	DBEngineVersionDescription *string `type:"string"`
10742
10743	// The name of the DB parameter group family for the database engine.
10744	DBParameterGroupFamily *string `type:"string"`
10745
10746	// (Not supported by Neptune)
10747	DefaultCharacterSet *CharacterSet `type:"structure"`
10748
10749	// The name of the database engine.
10750	Engine *string `type:"string"`
10751
10752	// The version number of the database engine.
10753	EngineVersion *string `type:"string"`
10754
10755	// The types of logs that the database engine has available for export to CloudWatch
10756	// Logs.
10757	ExportableLogTypes []*string `type:"list"`
10758
10759	// (Not supported by Neptune)
10760	SupportedCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
10761
10762	// A list of the time zones supported by this engine for the Timezone parameter
10763	// of the CreateDBInstance action.
10764	SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"`
10765
10766	// A value that indicates whether the engine version supports exporting the
10767	// log types specified by ExportableLogTypes to CloudWatch Logs.
10768	SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"`
10769
10770	// Indicates whether the database engine version supports read replicas.
10771	SupportsReadReplica *bool `type:"boolean"`
10772
10773	// A list of engine versions that this database engine version can be upgraded
10774	// to.
10775	ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"`
10776}
10777
10778// String returns the string representation.
10779//
10780// API parameter values that are decorated as "sensitive" in the API will not
10781// be included in the string output. The member name will be present, but the
10782// value will be replaced with "sensitive".
10783func (s DBEngineVersion) String() string {
10784	return awsutil.Prettify(s)
10785}
10786
10787// GoString returns the string representation.
10788//
10789// API parameter values that are decorated as "sensitive" in the API will not
10790// be included in the string output. The member name will be present, but the
10791// value will be replaced with "sensitive".
10792func (s DBEngineVersion) GoString() string {
10793	return s.String()
10794}
10795
10796// SetDBEngineDescription sets the DBEngineDescription field's value.
10797func (s *DBEngineVersion) SetDBEngineDescription(v string) *DBEngineVersion {
10798	s.DBEngineDescription = &v
10799	return s
10800}
10801
10802// SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value.
10803func (s *DBEngineVersion) SetDBEngineVersionDescription(v string) *DBEngineVersion {
10804	s.DBEngineVersionDescription = &v
10805	return s
10806}
10807
10808// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
10809func (s *DBEngineVersion) SetDBParameterGroupFamily(v string) *DBEngineVersion {
10810	s.DBParameterGroupFamily = &v
10811	return s
10812}
10813
10814// SetDefaultCharacterSet sets the DefaultCharacterSet field's value.
10815func (s *DBEngineVersion) SetDefaultCharacterSet(v *CharacterSet) *DBEngineVersion {
10816	s.DefaultCharacterSet = v
10817	return s
10818}
10819
10820// SetEngine sets the Engine field's value.
10821func (s *DBEngineVersion) SetEngine(v string) *DBEngineVersion {
10822	s.Engine = &v
10823	return s
10824}
10825
10826// SetEngineVersion sets the EngineVersion field's value.
10827func (s *DBEngineVersion) SetEngineVersion(v string) *DBEngineVersion {
10828	s.EngineVersion = &v
10829	return s
10830}
10831
10832// SetExportableLogTypes sets the ExportableLogTypes field's value.
10833func (s *DBEngineVersion) SetExportableLogTypes(v []*string) *DBEngineVersion {
10834	s.ExportableLogTypes = v
10835	return s
10836}
10837
10838// SetSupportedCharacterSets sets the SupportedCharacterSets field's value.
10839func (s *DBEngineVersion) SetSupportedCharacterSets(v []*CharacterSet) *DBEngineVersion {
10840	s.SupportedCharacterSets = v
10841	return s
10842}
10843
10844// SetSupportedTimezones sets the SupportedTimezones field's value.
10845func (s *DBEngineVersion) SetSupportedTimezones(v []*Timezone) *DBEngineVersion {
10846	s.SupportedTimezones = v
10847	return s
10848}
10849
10850// SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value.
10851func (s *DBEngineVersion) SetSupportsLogExportsToCloudwatchLogs(v bool) *DBEngineVersion {
10852	s.SupportsLogExportsToCloudwatchLogs = &v
10853	return s
10854}
10855
10856// SetSupportsReadReplica sets the SupportsReadReplica field's value.
10857func (s *DBEngineVersion) SetSupportsReadReplica(v bool) *DBEngineVersion {
10858	s.SupportsReadReplica = &v
10859	return s
10860}
10861
10862// SetValidUpgradeTarget sets the ValidUpgradeTarget field's value.
10863func (s *DBEngineVersion) SetValidUpgradeTarget(v []*UpgradeTarget) *DBEngineVersion {
10864	s.ValidUpgradeTarget = v
10865	return s
10866}
10867
10868// Contains the details of an Amazon Neptune DB instance.
10869//
10870// This data type is used as a response element in the DescribeDBInstances action.
10871type DBInstance struct {
10872	_ struct{} `type:"structure"`
10873
10874	// Not supported by Neptune.
10875	AllocatedStorage *int64 `type:"integer"`
10876
10877	// Indicates that minor version patches are applied automatically.
10878	AutoMinorVersionUpgrade *bool `type:"boolean"`
10879
10880	// Specifies the name of the Availability Zone the DB instance is located in.
10881	AvailabilityZone *string `type:"string"`
10882
10883	// Specifies the number of days for which automatic DB snapshots are retained.
10884	BackupRetentionPeriod *int64 `type:"integer"`
10885
10886	// The identifier of the CA certificate for this DB instance.
10887	CACertificateIdentifier *string `type:"string"`
10888
10889	// (Not supported by Neptune)
10890	CharacterSetName *string `type:"string"`
10891
10892	// Specifies whether tags are copied from the DB instance to snapshots of the
10893	// DB instance.
10894	CopyTagsToSnapshot *bool `type:"boolean"`
10895
10896	// If the DB instance is a member of a DB cluster, contains the name of the
10897	// DB cluster that the DB instance is a member of.
10898	DBClusterIdentifier *string `type:"string"`
10899
10900	// The Amazon Resource Name (ARN) for the DB instance.
10901	DBInstanceArn *string `type:"string"`
10902
10903	// Contains the name of the compute and memory capacity class of the DB instance.
10904	DBInstanceClass *string `type:"string"`
10905
10906	// Contains a user-supplied database identifier. This identifier is the unique
10907	// key that identifies a DB instance.
10908	DBInstanceIdentifier *string `type:"string"`
10909
10910	// Specifies the current state of this database.
10911	DBInstanceStatus *string `type:"string"`
10912
10913	// The database name.
10914	DBName *string `type:"string"`
10915
10916	// Provides the list of DB parameter groups applied to this DB instance.
10917	DBParameterGroups []*DBParameterGroupStatus `locationNameList:"DBParameterGroup" type:"list"`
10918
10919	// Provides List of DB security group elements containing only DBSecurityGroup.Name
10920	// and DBSecurityGroup.Status subelements.
10921	DBSecurityGroups []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
10922
10923	// Specifies information on the subnet group associated with the DB instance,
10924	// including the name, description, and subnets in the subnet group.
10925	DBSubnetGroup *DBSubnetGroup `type:"structure"`
10926
10927	// Specifies the port that the DB instance listens on. If the DB instance is
10928	// part of a DB cluster, this can be a different port than the DB cluster port.
10929	DbInstancePort *int64 `type:"integer"`
10930
10931	// The Amazon Region-unique, immutable identifier for the DB instance. This
10932	// identifier is found in Amazon CloudTrail log entries whenever the Amazon
10933	// KMS key for the DB instance is accessed.
10934	DbiResourceId *string `type:"string"`
10935
10936	// Indicates whether or not the DB instance has deletion protection enabled.
10937	// The instance can't be deleted when deletion protection is enabled. See Deleting
10938	// a DB Instance (https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html).
10939	DeletionProtection *bool `type:"boolean"`
10940
10941	// Not supported
10942	DomainMemberships []*DomainMembership `locationNameList:"DomainMembership" type:"list"`
10943
10944	// A list of log types that this DB instance is configured to export to CloudWatch
10945	// Logs.
10946	EnabledCloudwatchLogsExports []*string `type:"list"`
10947
10948	// Specifies the connection endpoint.
10949	Endpoint *Endpoint `type:"structure"`
10950
10951	// Provides the name of the database engine to be used for this DB instance.
10952	Engine *string `type:"string"`
10953
10954	// Indicates the database engine version.
10955	EngineVersion *string `type:"string"`
10956
10957	// The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that
10958	// receives the Enhanced Monitoring metrics data for the DB instance.
10959	EnhancedMonitoringResourceArn *string `type:"string"`
10960
10961	// True if Amazon Identity and Access Management (IAM) authentication is enabled,
10962	// and otherwise false.
10963	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
10964
10965	// Provides the date and time the DB instance was created.
10966	InstanceCreateTime *time.Time `type:"timestamp"`
10967
10968	// Specifies the Provisioned IOPS (I/O operations per second) value.
10969	Iops *int64 `type:"integer"`
10970
10971	// Not supported: The encryption for DB instances is managed by the DB cluster.
10972	KmsKeyId *string `type:"string"`
10973
10974	// Specifies the latest time to which a database can be restored with point-in-time
10975	// restore.
10976	LatestRestorableTime *time.Time `type:"timestamp"`
10977
10978	// License model information for this DB instance.
10979	LicenseModel *string `type:"string"`
10980
10981	// Not supported by Neptune.
10982	MasterUsername *string `type:"string"`
10983
10984	// The interval, in seconds, between points when Enhanced Monitoring metrics
10985	// are collected for the DB instance.
10986	MonitoringInterval *int64 `type:"integer"`
10987
10988	// The ARN for the IAM role that permits Neptune to send Enhanced Monitoring
10989	// metrics to Amazon CloudWatch Logs.
10990	MonitoringRoleArn *string `type:"string"`
10991
10992	// Specifies if the DB instance is a Multi-AZ deployment.
10993	MultiAZ *bool `type:"boolean"`
10994
10995	// (Not supported by Neptune)
10996	OptionGroupMemberships []*OptionGroupMembership `locationNameList:"OptionGroupMembership" type:"list"`
10997
10998	// Specifies that changes to the DB instance are pending. This element is only
10999	// included when changes are pending. Specific changes are identified by subelements.
11000	PendingModifiedValues *PendingModifiedValues `type:"structure"`
11001
11002	// (Not supported by Neptune)
11003	PerformanceInsightsEnabled *bool `type:"boolean"`
11004
11005	// (Not supported by Neptune)
11006	PerformanceInsightsKMSKeyId *string `type:"string"`
11007
11008	// Specifies the daily time range during which automated backups are created
11009	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
11010	PreferredBackupWindow *string `type:"string"`
11011
11012	// Specifies the weekly time range during which system maintenance can occur,
11013	// in Universal Coordinated Time (UTC).
11014	PreferredMaintenanceWindow *string `type:"string"`
11015
11016	// A value that specifies the order in which a Read Replica is promoted to the
11017	// primary instance after a failure of the existing primary instance.
11018	PromotionTier *int64 `type:"integer"`
11019
11020	// This flag should no longer be used.
11021	//
11022	// Deprecated: PubliclyAccessible has been deprecated
11023	PubliclyAccessible *bool `deprecated:"true" type:"boolean"`
11024
11025	// Contains one or more identifiers of DB clusters that are Read Replicas of
11026	// this DB instance.
11027	ReadReplicaDBClusterIdentifiers []*string `locationNameList:"ReadReplicaDBClusterIdentifier" type:"list"`
11028
11029	// Contains one or more identifiers of the Read Replicas associated with this
11030	// DB instance.
11031	ReadReplicaDBInstanceIdentifiers []*string `locationNameList:"ReadReplicaDBInstanceIdentifier" type:"list"`
11032
11033	// Contains the identifier of the source DB instance if this DB instance is
11034	// a Read Replica.
11035	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
11036
11037	// If present, specifies the name of the secondary Availability Zone for a DB
11038	// instance with multi-AZ support.
11039	SecondaryAvailabilityZone *string `type:"string"`
11040
11041	// The status of a Read Replica. If the instance is not a Read Replica, this
11042	// is blank.
11043	StatusInfos []*DBInstanceStatusInfo `locationNameList:"DBInstanceStatusInfo" type:"list"`
11044
11045	// Not supported: The encryption for DB instances is managed by the DB cluster.
11046	StorageEncrypted *bool `type:"boolean"`
11047
11048	// Specifies the storage type associated with DB instance.
11049	StorageType *string `type:"string"`
11050
11051	// The ARN from the key store with which the instance is associated for TDE
11052	// encryption.
11053	TdeCredentialArn *string `type:"string"`
11054
11055	// Not supported.
11056	Timezone *string `type:"string"`
11057
11058	// Provides a list of VPC security group elements that the DB instance belongs
11059	// to.
11060	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
11061}
11062
11063// String returns the string representation.
11064//
11065// API parameter values that are decorated as "sensitive" in the API will not
11066// be included in the string output. The member name will be present, but the
11067// value will be replaced with "sensitive".
11068func (s DBInstance) String() string {
11069	return awsutil.Prettify(s)
11070}
11071
11072// GoString returns the string representation.
11073//
11074// API parameter values that are decorated as "sensitive" in the API will not
11075// be included in the string output. The member name will be present, but the
11076// value will be replaced with "sensitive".
11077func (s DBInstance) GoString() string {
11078	return s.String()
11079}
11080
11081// SetAllocatedStorage sets the AllocatedStorage field's value.
11082func (s *DBInstance) SetAllocatedStorage(v int64) *DBInstance {
11083	s.AllocatedStorage = &v
11084	return s
11085}
11086
11087// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
11088func (s *DBInstance) SetAutoMinorVersionUpgrade(v bool) *DBInstance {
11089	s.AutoMinorVersionUpgrade = &v
11090	return s
11091}
11092
11093// SetAvailabilityZone sets the AvailabilityZone field's value.
11094func (s *DBInstance) SetAvailabilityZone(v string) *DBInstance {
11095	s.AvailabilityZone = &v
11096	return s
11097}
11098
11099// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
11100func (s *DBInstance) SetBackupRetentionPeriod(v int64) *DBInstance {
11101	s.BackupRetentionPeriod = &v
11102	return s
11103}
11104
11105// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
11106func (s *DBInstance) SetCACertificateIdentifier(v string) *DBInstance {
11107	s.CACertificateIdentifier = &v
11108	return s
11109}
11110
11111// SetCharacterSetName sets the CharacterSetName field's value.
11112func (s *DBInstance) SetCharacterSetName(v string) *DBInstance {
11113	s.CharacterSetName = &v
11114	return s
11115}
11116
11117// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
11118func (s *DBInstance) SetCopyTagsToSnapshot(v bool) *DBInstance {
11119	s.CopyTagsToSnapshot = &v
11120	return s
11121}
11122
11123// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
11124func (s *DBInstance) SetDBClusterIdentifier(v string) *DBInstance {
11125	s.DBClusterIdentifier = &v
11126	return s
11127}
11128
11129// SetDBInstanceArn sets the DBInstanceArn field's value.
11130func (s *DBInstance) SetDBInstanceArn(v string) *DBInstance {
11131	s.DBInstanceArn = &v
11132	return s
11133}
11134
11135// SetDBInstanceClass sets the DBInstanceClass field's value.
11136func (s *DBInstance) SetDBInstanceClass(v string) *DBInstance {
11137	s.DBInstanceClass = &v
11138	return s
11139}
11140
11141// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
11142func (s *DBInstance) SetDBInstanceIdentifier(v string) *DBInstance {
11143	s.DBInstanceIdentifier = &v
11144	return s
11145}
11146
11147// SetDBInstanceStatus sets the DBInstanceStatus field's value.
11148func (s *DBInstance) SetDBInstanceStatus(v string) *DBInstance {
11149	s.DBInstanceStatus = &v
11150	return s
11151}
11152
11153// SetDBName sets the DBName field's value.
11154func (s *DBInstance) SetDBName(v string) *DBInstance {
11155	s.DBName = &v
11156	return s
11157}
11158
11159// SetDBParameterGroups sets the DBParameterGroups field's value.
11160func (s *DBInstance) SetDBParameterGroups(v []*DBParameterGroupStatus) *DBInstance {
11161	s.DBParameterGroups = v
11162	return s
11163}
11164
11165// SetDBSecurityGroups sets the DBSecurityGroups field's value.
11166func (s *DBInstance) SetDBSecurityGroups(v []*DBSecurityGroupMembership) *DBInstance {
11167	s.DBSecurityGroups = v
11168	return s
11169}
11170
11171// SetDBSubnetGroup sets the DBSubnetGroup field's value.
11172func (s *DBInstance) SetDBSubnetGroup(v *DBSubnetGroup) *DBInstance {
11173	s.DBSubnetGroup = v
11174	return s
11175}
11176
11177// SetDbInstancePort sets the DbInstancePort field's value.
11178func (s *DBInstance) SetDbInstancePort(v int64) *DBInstance {
11179	s.DbInstancePort = &v
11180	return s
11181}
11182
11183// SetDbiResourceId sets the DbiResourceId field's value.
11184func (s *DBInstance) SetDbiResourceId(v string) *DBInstance {
11185	s.DbiResourceId = &v
11186	return s
11187}
11188
11189// SetDeletionProtection sets the DeletionProtection field's value.
11190func (s *DBInstance) SetDeletionProtection(v bool) *DBInstance {
11191	s.DeletionProtection = &v
11192	return s
11193}
11194
11195// SetDomainMemberships sets the DomainMemberships field's value.
11196func (s *DBInstance) SetDomainMemberships(v []*DomainMembership) *DBInstance {
11197	s.DomainMemberships = v
11198	return s
11199}
11200
11201// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
11202func (s *DBInstance) SetEnabledCloudwatchLogsExports(v []*string) *DBInstance {
11203	s.EnabledCloudwatchLogsExports = v
11204	return s
11205}
11206
11207// SetEndpoint sets the Endpoint field's value.
11208func (s *DBInstance) SetEndpoint(v *Endpoint) *DBInstance {
11209	s.Endpoint = v
11210	return s
11211}
11212
11213// SetEngine sets the Engine field's value.
11214func (s *DBInstance) SetEngine(v string) *DBInstance {
11215	s.Engine = &v
11216	return s
11217}
11218
11219// SetEngineVersion sets the EngineVersion field's value.
11220func (s *DBInstance) SetEngineVersion(v string) *DBInstance {
11221	s.EngineVersion = &v
11222	return s
11223}
11224
11225// SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
11226func (s *DBInstance) SetEnhancedMonitoringResourceArn(v string) *DBInstance {
11227	s.EnhancedMonitoringResourceArn = &v
11228	return s
11229}
11230
11231// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
11232func (s *DBInstance) SetIAMDatabaseAuthenticationEnabled(v bool) *DBInstance {
11233	s.IAMDatabaseAuthenticationEnabled = &v
11234	return s
11235}
11236
11237// SetInstanceCreateTime sets the InstanceCreateTime field's value.
11238func (s *DBInstance) SetInstanceCreateTime(v time.Time) *DBInstance {
11239	s.InstanceCreateTime = &v
11240	return s
11241}
11242
11243// SetIops sets the Iops field's value.
11244func (s *DBInstance) SetIops(v int64) *DBInstance {
11245	s.Iops = &v
11246	return s
11247}
11248
11249// SetKmsKeyId sets the KmsKeyId field's value.
11250func (s *DBInstance) SetKmsKeyId(v string) *DBInstance {
11251	s.KmsKeyId = &v
11252	return s
11253}
11254
11255// SetLatestRestorableTime sets the LatestRestorableTime field's value.
11256func (s *DBInstance) SetLatestRestorableTime(v time.Time) *DBInstance {
11257	s.LatestRestorableTime = &v
11258	return s
11259}
11260
11261// SetLicenseModel sets the LicenseModel field's value.
11262func (s *DBInstance) SetLicenseModel(v string) *DBInstance {
11263	s.LicenseModel = &v
11264	return s
11265}
11266
11267// SetMasterUsername sets the MasterUsername field's value.
11268func (s *DBInstance) SetMasterUsername(v string) *DBInstance {
11269	s.MasterUsername = &v
11270	return s
11271}
11272
11273// SetMonitoringInterval sets the MonitoringInterval field's value.
11274func (s *DBInstance) SetMonitoringInterval(v int64) *DBInstance {
11275	s.MonitoringInterval = &v
11276	return s
11277}
11278
11279// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
11280func (s *DBInstance) SetMonitoringRoleArn(v string) *DBInstance {
11281	s.MonitoringRoleArn = &v
11282	return s
11283}
11284
11285// SetMultiAZ sets the MultiAZ field's value.
11286func (s *DBInstance) SetMultiAZ(v bool) *DBInstance {
11287	s.MultiAZ = &v
11288	return s
11289}
11290
11291// SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
11292func (s *DBInstance) SetOptionGroupMemberships(v []*OptionGroupMembership) *DBInstance {
11293	s.OptionGroupMemberships = v
11294	return s
11295}
11296
11297// SetPendingModifiedValues sets the PendingModifiedValues field's value.
11298func (s *DBInstance) SetPendingModifiedValues(v *PendingModifiedValues) *DBInstance {
11299	s.PendingModifiedValues = v
11300	return s
11301}
11302
11303// SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
11304func (s *DBInstance) SetPerformanceInsightsEnabled(v bool) *DBInstance {
11305	s.PerformanceInsightsEnabled = &v
11306	return s
11307}
11308
11309// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
11310func (s *DBInstance) SetPerformanceInsightsKMSKeyId(v string) *DBInstance {
11311	s.PerformanceInsightsKMSKeyId = &v
11312	return s
11313}
11314
11315// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
11316func (s *DBInstance) SetPreferredBackupWindow(v string) *DBInstance {
11317	s.PreferredBackupWindow = &v
11318	return s
11319}
11320
11321// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
11322func (s *DBInstance) SetPreferredMaintenanceWindow(v string) *DBInstance {
11323	s.PreferredMaintenanceWindow = &v
11324	return s
11325}
11326
11327// SetPromotionTier sets the PromotionTier field's value.
11328func (s *DBInstance) SetPromotionTier(v int64) *DBInstance {
11329	s.PromotionTier = &v
11330	return s
11331}
11332
11333// SetPubliclyAccessible sets the PubliclyAccessible field's value.
11334func (s *DBInstance) SetPubliclyAccessible(v bool) *DBInstance {
11335	s.PubliclyAccessible = &v
11336	return s
11337}
11338
11339// SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
11340func (s *DBInstance) SetReadReplicaDBClusterIdentifiers(v []*string) *DBInstance {
11341	s.ReadReplicaDBClusterIdentifiers = v
11342	return s
11343}
11344
11345// SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
11346func (s *DBInstance) SetReadReplicaDBInstanceIdentifiers(v []*string) *DBInstance {
11347	s.ReadReplicaDBInstanceIdentifiers = v
11348	return s
11349}
11350
11351// SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
11352func (s *DBInstance) SetReadReplicaSourceDBInstanceIdentifier(v string) *DBInstance {
11353	s.ReadReplicaSourceDBInstanceIdentifier = &v
11354	return s
11355}
11356
11357// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
11358func (s *DBInstance) SetSecondaryAvailabilityZone(v string) *DBInstance {
11359	s.SecondaryAvailabilityZone = &v
11360	return s
11361}
11362
11363// SetStatusInfos sets the StatusInfos field's value.
11364func (s *DBInstance) SetStatusInfos(v []*DBInstanceStatusInfo) *DBInstance {
11365	s.StatusInfos = v
11366	return s
11367}
11368
11369// SetStorageEncrypted sets the StorageEncrypted field's value.
11370func (s *DBInstance) SetStorageEncrypted(v bool) *DBInstance {
11371	s.StorageEncrypted = &v
11372	return s
11373}
11374
11375// SetStorageType sets the StorageType field's value.
11376func (s *DBInstance) SetStorageType(v string) *DBInstance {
11377	s.StorageType = &v
11378	return s
11379}
11380
11381// SetTdeCredentialArn sets the TdeCredentialArn field's value.
11382func (s *DBInstance) SetTdeCredentialArn(v string) *DBInstance {
11383	s.TdeCredentialArn = &v
11384	return s
11385}
11386
11387// SetTimezone sets the Timezone field's value.
11388func (s *DBInstance) SetTimezone(v string) *DBInstance {
11389	s.Timezone = &v
11390	return s
11391}
11392
11393// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
11394func (s *DBInstance) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBInstance {
11395	s.VpcSecurityGroups = v
11396	return s
11397}
11398
11399// Provides a list of status information for a DB instance.
11400type DBInstanceStatusInfo struct {
11401	_ struct{} `type:"structure"`
11402
11403	// Details of the error if there is an error for the instance. If the instance
11404	// is not in an error state, this value is blank.
11405	Message *string `type:"string"`
11406
11407	// Boolean value that is true if the instance is operating normally, or false
11408	// if the instance is in an error state.
11409	Normal *bool `type:"boolean"`
11410
11411	// Status of the DB instance. For a StatusType of read replica, the values can
11412	// be replicating, error, stopped, or terminated.
11413	Status *string `type:"string"`
11414
11415	// This value is currently "read replication."
11416	StatusType *string `type:"string"`
11417}
11418
11419// String returns the string representation.
11420//
11421// API parameter values that are decorated as "sensitive" in the API will not
11422// be included in the string output. The member name will be present, but the
11423// value will be replaced with "sensitive".
11424func (s DBInstanceStatusInfo) String() string {
11425	return awsutil.Prettify(s)
11426}
11427
11428// GoString returns the string representation.
11429//
11430// API parameter values that are decorated as "sensitive" in the API will not
11431// be included in the string output. The member name will be present, but the
11432// value will be replaced with "sensitive".
11433func (s DBInstanceStatusInfo) GoString() string {
11434	return s.String()
11435}
11436
11437// SetMessage sets the Message field's value.
11438func (s *DBInstanceStatusInfo) SetMessage(v string) *DBInstanceStatusInfo {
11439	s.Message = &v
11440	return s
11441}
11442
11443// SetNormal sets the Normal field's value.
11444func (s *DBInstanceStatusInfo) SetNormal(v bool) *DBInstanceStatusInfo {
11445	s.Normal = &v
11446	return s
11447}
11448
11449// SetStatus sets the Status field's value.
11450func (s *DBInstanceStatusInfo) SetStatus(v string) *DBInstanceStatusInfo {
11451	s.Status = &v
11452	return s
11453}
11454
11455// SetStatusType sets the StatusType field's value.
11456func (s *DBInstanceStatusInfo) SetStatusType(v string) *DBInstanceStatusInfo {
11457	s.StatusType = &v
11458	return s
11459}
11460
11461// Contains the details of an Amazon Neptune DB parameter group.
11462//
11463// This data type is used as a response element in the DescribeDBParameterGroups
11464// action.
11465type DBParameterGroup struct {
11466	_ struct{} `type:"structure"`
11467
11468	// The Amazon Resource Name (ARN) for the DB parameter group.
11469	DBParameterGroupArn *string `type:"string"`
11470
11471	// Provides the name of the DB parameter group family that this DB parameter
11472	// group is compatible with.
11473	DBParameterGroupFamily *string `type:"string"`
11474
11475	// Provides the name of the DB parameter group.
11476	DBParameterGroupName *string `type:"string"`
11477
11478	// Provides the customer-specified description for this DB parameter group.
11479	Description *string `type:"string"`
11480}
11481
11482// String returns the string representation.
11483//
11484// API parameter values that are decorated as "sensitive" in the API will not
11485// be included in the string output. The member name will be present, but the
11486// value will be replaced with "sensitive".
11487func (s DBParameterGroup) String() string {
11488	return awsutil.Prettify(s)
11489}
11490
11491// GoString returns the string representation.
11492//
11493// API parameter values that are decorated as "sensitive" in the API will not
11494// be included in the string output. The member name will be present, but the
11495// value will be replaced with "sensitive".
11496func (s DBParameterGroup) GoString() string {
11497	return s.String()
11498}
11499
11500// SetDBParameterGroupArn sets the DBParameterGroupArn field's value.
11501func (s *DBParameterGroup) SetDBParameterGroupArn(v string) *DBParameterGroup {
11502	s.DBParameterGroupArn = &v
11503	return s
11504}
11505
11506// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
11507func (s *DBParameterGroup) SetDBParameterGroupFamily(v string) *DBParameterGroup {
11508	s.DBParameterGroupFamily = &v
11509	return s
11510}
11511
11512// SetDBParameterGroupName sets the DBParameterGroupName field's value.
11513func (s *DBParameterGroup) SetDBParameterGroupName(v string) *DBParameterGroup {
11514	s.DBParameterGroupName = &v
11515	return s
11516}
11517
11518// SetDescription sets the Description field's value.
11519func (s *DBParameterGroup) SetDescription(v string) *DBParameterGroup {
11520	s.Description = &v
11521	return s
11522}
11523
11524// The status of the DB parameter group.
11525//
11526// This data type is used as a response element in the following actions:
11527//
11528//    * CreateDBInstance
11529//
11530//    * DeleteDBInstance
11531//
11532//    * ModifyDBInstance
11533//
11534//    * RebootDBInstance
11535type DBParameterGroupStatus struct {
11536	_ struct{} `type:"structure"`
11537
11538	// The name of the DP parameter group.
11539	DBParameterGroupName *string `type:"string"`
11540
11541	// The status of parameter updates.
11542	ParameterApplyStatus *string `type:"string"`
11543}
11544
11545// String returns the string representation.
11546//
11547// API parameter values that are decorated as "sensitive" in the API will not
11548// be included in the string output. The member name will be present, but the
11549// value will be replaced with "sensitive".
11550func (s DBParameterGroupStatus) String() string {
11551	return awsutil.Prettify(s)
11552}
11553
11554// GoString returns the string representation.
11555//
11556// API parameter values that are decorated as "sensitive" in the API will not
11557// be included in the string output. The member name will be present, but the
11558// value will be replaced with "sensitive".
11559func (s DBParameterGroupStatus) GoString() string {
11560	return s.String()
11561}
11562
11563// SetDBParameterGroupName sets the DBParameterGroupName field's value.
11564func (s *DBParameterGroupStatus) SetDBParameterGroupName(v string) *DBParameterGroupStatus {
11565	s.DBParameterGroupName = &v
11566	return s
11567}
11568
11569// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
11570func (s *DBParameterGroupStatus) SetParameterApplyStatus(v string) *DBParameterGroupStatus {
11571	s.ParameterApplyStatus = &v
11572	return s
11573}
11574
11575// Specifies membership in a designated DB security group.
11576type DBSecurityGroupMembership struct {
11577	_ struct{} `type:"structure"`
11578
11579	// The name of the DB security group.
11580	DBSecurityGroupName *string `type:"string"`
11581
11582	// The status of the DB security group.
11583	Status *string `type:"string"`
11584}
11585
11586// String returns the string representation.
11587//
11588// API parameter values that are decorated as "sensitive" in the API will not
11589// be included in the string output. The member name will be present, but the
11590// value will be replaced with "sensitive".
11591func (s DBSecurityGroupMembership) String() string {
11592	return awsutil.Prettify(s)
11593}
11594
11595// GoString returns the string representation.
11596//
11597// API parameter values that are decorated as "sensitive" in the API will not
11598// be included in the string output. The member name will be present, but the
11599// value will be replaced with "sensitive".
11600func (s DBSecurityGroupMembership) GoString() string {
11601	return s.String()
11602}
11603
11604// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
11605func (s *DBSecurityGroupMembership) SetDBSecurityGroupName(v string) *DBSecurityGroupMembership {
11606	s.DBSecurityGroupName = &v
11607	return s
11608}
11609
11610// SetStatus sets the Status field's value.
11611func (s *DBSecurityGroupMembership) SetStatus(v string) *DBSecurityGroupMembership {
11612	s.Status = &v
11613	return s
11614}
11615
11616// Contains the details of an Amazon Neptune DB subnet group.
11617//
11618// This data type is used as a response element in the DescribeDBSubnetGroups
11619// action.
11620type DBSubnetGroup struct {
11621	_ struct{} `type:"structure"`
11622
11623	// The Amazon Resource Name (ARN) for the DB subnet group.
11624	DBSubnetGroupArn *string `type:"string"`
11625
11626	// Provides the description of the DB subnet group.
11627	DBSubnetGroupDescription *string `type:"string"`
11628
11629	// The name of the DB subnet group.
11630	DBSubnetGroupName *string `type:"string"`
11631
11632	// Provides the status of the DB subnet group.
11633	SubnetGroupStatus *string `type:"string"`
11634
11635	// Contains a list of Subnet elements.
11636	Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
11637
11638	// Provides the VpcId of the DB subnet group.
11639	VpcId *string `type:"string"`
11640}
11641
11642// String returns the string representation.
11643//
11644// API parameter values that are decorated as "sensitive" in the API will not
11645// be included in the string output. The member name will be present, but the
11646// value will be replaced with "sensitive".
11647func (s DBSubnetGroup) String() string {
11648	return awsutil.Prettify(s)
11649}
11650
11651// GoString returns the string representation.
11652//
11653// API parameter values that are decorated as "sensitive" in the API will not
11654// be included in the string output. The member name will be present, but the
11655// value will be replaced with "sensitive".
11656func (s DBSubnetGroup) GoString() string {
11657	return s.String()
11658}
11659
11660// SetDBSubnetGroupArn sets the DBSubnetGroupArn field's value.
11661func (s *DBSubnetGroup) SetDBSubnetGroupArn(v string) *DBSubnetGroup {
11662	s.DBSubnetGroupArn = &v
11663	return s
11664}
11665
11666// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
11667func (s *DBSubnetGroup) SetDBSubnetGroupDescription(v string) *DBSubnetGroup {
11668	s.DBSubnetGroupDescription = &v
11669	return s
11670}
11671
11672// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
11673func (s *DBSubnetGroup) SetDBSubnetGroupName(v string) *DBSubnetGroup {
11674	s.DBSubnetGroupName = &v
11675	return s
11676}
11677
11678// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
11679func (s *DBSubnetGroup) SetSubnetGroupStatus(v string) *DBSubnetGroup {
11680	s.SubnetGroupStatus = &v
11681	return s
11682}
11683
11684// SetSubnets sets the Subnets field's value.
11685func (s *DBSubnetGroup) SetSubnets(v []*Subnet) *DBSubnetGroup {
11686	s.Subnets = v
11687	return s
11688}
11689
11690// SetVpcId sets the VpcId field's value.
11691func (s *DBSubnetGroup) SetVpcId(v string) *DBSubnetGroup {
11692	s.VpcId = &v
11693	return s
11694}
11695
11696type DeleteDBClusterEndpointInput struct {
11697	_ struct{} `type:"structure"`
11698
11699	// The identifier associated with the custom endpoint. This parameter is stored
11700	// as a lowercase string.
11701	//
11702	// DBClusterEndpointIdentifier is a required field
11703	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
11704}
11705
11706// String returns the string representation.
11707//
11708// API parameter values that are decorated as "sensitive" in the API will not
11709// be included in the string output. The member name will be present, but the
11710// value will be replaced with "sensitive".
11711func (s DeleteDBClusterEndpointInput) String() string {
11712	return awsutil.Prettify(s)
11713}
11714
11715// GoString returns the string representation.
11716//
11717// API parameter values that are decorated as "sensitive" in the API will not
11718// be included in the string output. The member name will be present, but the
11719// value will be replaced with "sensitive".
11720func (s DeleteDBClusterEndpointInput) GoString() string {
11721	return s.String()
11722}
11723
11724// Validate inspects the fields of the type to determine if they are valid.
11725func (s *DeleteDBClusterEndpointInput) Validate() error {
11726	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterEndpointInput"}
11727	if s.DBClusterEndpointIdentifier == nil {
11728		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
11729	}
11730
11731	if invalidParams.Len() > 0 {
11732		return invalidParams
11733	}
11734	return nil
11735}
11736
11737// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
11738func (s *DeleteDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *DeleteDBClusterEndpointInput {
11739	s.DBClusterEndpointIdentifier = &v
11740	return s
11741}
11742
11743// This data type represents the information you need to connect to an Amazon
11744// Neptune DB cluster. This data type is used as a response element in the following
11745// actions:
11746//
11747//    * CreateDBClusterEndpoint
11748//
11749//    * DescribeDBClusterEndpoints
11750//
11751//    * ModifyDBClusterEndpoint
11752//
11753//    * DeleteDBClusterEndpoint
11754//
11755// For the data structure that represents Amazon RDS DB instance endpoints,
11756// see Endpoint.
11757type DeleteDBClusterEndpointOutput struct {
11758	_ struct{} `type:"structure"`
11759
11760	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
11761	CustomEndpointType *string `type:"string"`
11762
11763	// The Amazon Resource Name (ARN) for the endpoint.
11764	DBClusterEndpointArn *string `type:"string"`
11765
11766	// The identifier associated with the endpoint. This parameter is stored as
11767	// a lowercase string.
11768	DBClusterEndpointIdentifier *string `type:"string"`
11769
11770	// A unique system-generated identifier for an endpoint. It remains the same
11771	// for the whole life of the endpoint.
11772	DBClusterEndpointResourceIdentifier *string `type:"string"`
11773
11774	// The DB cluster identifier of the DB cluster associated with the endpoint.
11775	// This parameter is stored as a lowercase string.
11776	DBClusterIdentifier *string `type:"string"`
11777
11778	// The DNS address of the endpoint.
11779	Endpoint *string `type:"string"`
11780
11781	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
11782	EndpointType *string `type:"string"`
11783
11784	// List of DB instance identifiers that aren't part of the custom endpoint group.
11785	// All other eligible instances are reachable through the custom endpoint. Only
11786	// relevant if the list of static members is empty.
11787	ExcludedMembers []*string `type:"list"`
11788
11789	// List of DB instance identifiers that are part of the custom endpoint group.
11790	StaticMembers []*string `type:"list"`
11791
11792	// The current status of the endpoint. One of: creating, available, deleting,
11793	// inactive, modifying. The inactive state applies to an endpoint that cannot
11794	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
11795	// secondary cluster in a global database.
11796	Status *string `type:"string"`
11797}
11798
11799// String returns the string representation.
11800//
11801// API parameter values that are decorated as "sensitive" in the API will not
11802// be included in the string output. The member name will be present, but the
11803// value will be replaced with "sensitive".
11804func (s DeleteDBClusterEndpointOutput) String() string {
11805	return awsutil.Prettify(s)
11806}
11807
11808// GoString returns the string representation.
11809//
11810// API parameter values that are decorated as "sensitive" in the API will not
11811// be included in the string output. The member name will be present, but the
11812// value will be replaced with "sensitive".
11813func (s DeleteDBClusterEndpointOutput) GoString() string {
11814	return s.String()
11815}
11816
11817// SetCustomEndpointType sets the CustomEndpointType field's value.
11818func (s *DeleteDBClusterEndpointOutput) SetCustomEndpointType(v string) *DeleteDBClusterEndpointOutput {
11819	s.CustomEndpointType = &v
11820	return s
11821}
11822
11823// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
11824func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *DeleteDBClusterEndpointOutput {
11825	s.DBClusterEndpointArn = &v
11826	return s
11827}
11828
11829// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
11830func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *DeleteDBClusterEndpointOutput {
11831	s.DBClusterEndpointIdentifier = &v
11832	return s
11833}
11834
11835// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
11836func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *DeleteDBClusterEndpointOutput {
11837	s.DBClusterEndpointResourceIdentifier = &v
11838	return s
11839}
11840
11841// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
11842func (s *DeleteDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *DeleteDBClusterEndpointOutput {
11843	s.DBClusterIdentifier = &v
11844	return s
11845}
11846
11847// SetEndpoint sets the Endpoint field's value.
11848func (s *DeleteDBClusterEndpointOutput) SetEndpoint(v string) *DeleteDBClusterEndpointOutput {
11849	s.Endpoint = &v
11850	return s
11851}
11852
11853// SetEndpointType sets the EndpointType field's value.
11854func (s *DeleteDBClusterEndpointOutput) SetEndpointType(v string) *DeleteDBClusterEndpointOutput {
11855	s.EndpointType = &v
11856	return s
11857}
11858
11859// SetExcludedMembers sets the ExcludedMembers field's value.
11860func (s *DeleteDBClusterEndpointOutput) SetExcludedMembers(v []*string) *DeleteDBClusterEndpointOutput {
11861	s.ExcludedMembers = v
11862	return s
11863}
11864
11865// SetStaticMembers sets the StaticMembers field's value.
11866func (s *DeleteDBClusterEndpointOutput) SetStaticMembers(v []*string) *DeleteDBClusterEndpointOutput {
11867	s.StaticMembers = v
11868	return s
11869}
11870
11871// SetStatus sets the Status field's value.
11872func (s *DeleteDBClusterEndpointOutput) SetStatus(v string) *DeleteDBClusterEndpointOutput {
11873	s.Status = &v
11874	return s
11875}
11876
11877type DeleteDBClusterInput struct {
11878	_ struct{} `type:"structure"`
11879
11880	// The DB cluster identifier for the DB cluster to be deleted. This parameter
11881	// isn't case-sensitive.
11882	//
11883	// Constraints:
11884	//
11885	//    * Must match an existing DBClusterIdentifier.
11886	//
11887	// DBClusterIdentifier is a required field
11888	DBClusterIdentifier *string `type:"string" required:"true"`
11889
11890	// The DB cluster snapshot identifier of the new DB cluster snapshot created
11891	// when SkipFinalSnapshot is set to false.
11892	//
11893	// Specifying this parameter and also setting the SkipFinalShapshot parameter
11894	// to true results in an error.
11895	//
11896	// Constraints:
11897	//
11898	//    * Must be 1 to 255 letters, numbers, or hyphens.
11899	//
11900	//    * First character must be a letter
11901	//
11902	//    * Cannot end with a hyphen or contain two consecutive hyphens
11903	FinalDBSnapshotIdentifier *string `type:"string"`
11904
11905	// Determines whether a final DB cluster snapshot is created before the DB cluster
11906	// is deleted. If true is specified, no DB cluster snapshot is created. If false
11907	// is specified, a DB cluster snapshot is created before the DB cluster is deleted.
11908	//
11909	// You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot
11910	// is false.
11911	//
11912	// Default: false
11913	SkipFinalSnapshot *bool `type:"boolean"`
11914}
11915
11916// String returns the string representation.
11917//
11918// API parameter values that are decorated as "sensitive" in the API will not
11919// be included in the string output. The member name will be present, but the
11920// value will be replaced with "sensitive".
11921func (s DeleteDBClusterInput) String() string {
11922	return awsutil.Prettify(s)
11923}
11924
11925// GoString returns the string representation.
11926//
11927// API parameter values that are decorated as "sensitive" in the API will not
11928// be included in the string output. The member name will be present, but the
11929// value will be replaced with "sensitive".
11930func (s DeleteDBClusterInput) GoString() string {
11931	return s.String()
11932}
11933
11934// Validate inspects the fields of the type to determine if they are valid.
11935func (s *DeleteDBClusterInput) Validate() error {
11936	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterInput"}
11937	if s.DBClusterIdentifier == nil {
11938		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
11939	}
11940
11941	if invalidParams.Len() > 0 {
11942		return invalidParams
11943	}
11944	return nil
11945}
11946
11947// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
11948func (s *DeleteDBClusterInput) SetDBClusterIdentifier(v string) *DeleteDBClusterInput {
11949	s.DBClusterIdentifier = &v
11950	return s
11951}
11952
11953// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
11954func (s *DeleteDBClusterInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBClusterInput {
11955	s.FinalDBSnapshotIdentifier = &v
11956	return s
11957}
11958
11959// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
11960func (s *DeleteDBClusterInput) SetSkipFinalSnapshot(v bool) *DeleteDBClusterInput {
11961	s.SkipFinalSnapshot = &v
11962	return s
11963}
11964
11965type DeleteDBClusterOutput struct {
11966	_ struct{} `type:"structure"`
11967
11968	// Contains the details of an Amazon Neptune DB cluster.
11969	//
11970	// This data type is used as a response element in the DescribeDBClusters action.
11971	DBCluster *DBCluster `type:"structure"`
11972}
11973
11974// String returns the string representation.
11975//
11976// API parameter values that are decorated as "sensitive" in the API will not
11977// be included in the string output. The member name will be present, but the
11978// value will be replaced with "sensitive".
11979func (s DeleteDBClusterOutput) String() string {
11980	return awsutil.Prettify(s)
11981}
11982
11983// GoString returns the string representation.
11984//
11985// API parameter values that are decorated as "sensitive" in the API will not
11986// be included in the string output. The member name will be present, but the
11987// value will be replaced with "sensitive".
11988func (s DeleteDBClusterOutput) GoString() string {
11989	return s.String()
11990}
11991
11992// SetDBCluster sets the DBCluster field's value.
11993func (s *DeleteDBClusterOutput) SetDBCluster(v *DBCluster) *DeleteDBClusterOutput {
11994	s.DBCluster = v
11995	return s
11996}
11997
11998type DeleteDBClusterParameterGroupInput struct {
11999	_ struct{} `type:"structure"`
12000
12001	// The name of the DB cluster parameter group.
12002	//
12003	// Constraints:
12004	//
12005	//    * Must be the name of an existing DB cluster parameter group.
12006	//
12007	//    * You can't delete a default DB cluster parameter group.
12008	//
12009	//    * Cannot be associated with any DB clusters.
12010	//
12011	// DBClusterParameterGroupName is a required field
12012	DBClusterParameterGroupName *string `type:"string" required:"true"`
12013}
12014
12015// String returns the string representation.
12016//
12017// API parameter values that are decorated as "sensitive" in the API will not
12018// be included in the string output. The member name will be present, but the
12019// value will be replaced with "sensitive".
12020func (s DeleteDBClusterParameterGroupInput) String() string {
12021	return awsutil.Prettify(s)
12022}
12023
12024// GoString returns the string representation.
12025//
12026// API parameter values that are decorated as "sensitive" in the API will not
12027// be included in the string output. The member name will be present, but the
12028// value will be replaced with "sensitive".
12029func (s DeleteDBClusterParameterGroupInput) GoString() string {
12030	return s.String()
12031}
12032
12033// Validate inspects the fields of the type to determine if they are valid.
12034func (s *DeleteDBClusterParameterGroupInput) Validate() error {
12035	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterParameterGroupInput"}
12036	if s.DBClusterParameterGroupName == nil {
12037		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
12038	}
12039
12040	if invalidParams.Len() > 0 {
12041		return invalidParams
12042	}
12043	return nil
12044}
12045
12046// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
12047func (s *DeleteDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *DeleteDBClusterParameterGroupInput {
12048	s.DBClusterParameterGroupName = &v
12049	return s
12050}
12051
12052type DeleteDBClusterParameterGroupOutput struct {
12053	_ struct{} `type:"structure"`
12054}
12055
12056// String returns the string representation.
12057//
12058// API parameter values that are decorated as "sensitive" in the API will not
12059// be included in the string output. The member name will be present, but the
12060// value will be replaced with "sensitive".
12061func (s DeleteDBClusterParameterGroupOutput) String() string {
12062	return awsutil.Prettify(s)
12063}
12064
12065// GoString returns the string representation.
12066//
12067// API parameter values that are decorated as "sensitive" in the API will not
12068// be included in the string output. The member name will be present, but the
12069// value will be replaced with "sensitive".
12070func (s DeleteDBClusterParameterGroupOutput) GoString() string {
12071	return s.String()
12072}
12073
12074type DeleteDBClusterSnapshotInput struct {
12075	_ struct{} `type:"structure"`
12076
12077	// The identifier of the DB cluster snapshot to delete.
12078	//
12079	// Constraints: Must be the name of an existing DB cluster snapshot in the available
12080	// state.
12081	//
12082	// DBClusterSnapshotIdentifier is a required field
12083	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
12084}
12085
12086// String returns the string representation.
12087//
12088// API parameter values that are decorated as "sensitive" in the API will not
12089// be included in the string output. The member name will be present, but the
12090// value will be replaced with "sensitive".
12091func (s DeleteDBClusterSnapshotInput) String() string {
12092	return awsutil.Prettify(s)
12093}
12094
12095// GoString returns the string representation.
12096//
12097// API parameter values that are decorated as "sensitive" in the API will not
12098// be included in the string output. The member name will be present, but the
12099// value will be replaced with "sensitive".
12100func (s DeleteDBClusterSnapshotInput) GoString() string {
12101	return s.String()
12102}
12103
12104// Validate inspects the fields of the type to determine if they are valid.
12105func (s *DeleteDBClusterSnapshotInput) Validate() error {
12106	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterSnapshotInput"}
12107	if s.DBClusterSnapshotIdentifier == nil {
12108		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
12109	}
12110
12111	if invalidParams.Len() > 0 {
12112		return invalidParams
12113	}
12114	return nil
12115}
12116
12117// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
12118func (s *DeleteDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *DeleteDBClusterSnapshotInput {
12119	s.DBClusterSnapshotIdentifier = &v
12120	return s
12121}
12122
12123type DeleteDBClusterSnapshotOutput struct {
12124	_ struct{} `type:"structure"`
12125
12126	// Contains the details for an Amazon Neptune DB cluster snapshot
12127	//
12128	// This data type is used as a response element in the DescribeDBClusterSnapshots
12129	// action.
12130	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
12131}
12132
12133// String returns the string representation.
12134//
12135// API parameter values that are decorated as "sensitive" in the API will not
12136// be included in the string output. The member name will be present, but the
12137// value will be replaced with "sensitive".
12138func (s DeleteDBClusterSnapshotOutput) String() string {
12139	return awsutil.Prettify(s)
12140}
12141
12142// GoString returns the string representation.
12143//
12144// API parameter values that are decorated as "sensitive" in the API will not
12145// be included in the string output. The member name will be present, but the
12146// value will be replaced with "sensitive".
12147func (s DeleteDBClusterSnapshotOutput) GoString() string {
12148	return s.String()
12149}
12150
12151// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
12152func (s *DeleteDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *DeleteDBClusterSnapshotOutput {
12153	s.DBClusterSnapshot = v
12154	return s
12155}
12156
12157type DeleteDBInstanceInput struct {
12158	_ struct{} `type:"structure"`
12159
12160	// The DB instance identifier for the DB instance to be deleted. This parameter
12161	// isn't case-sensitive.
12162	//
12163	// Constraints:
12164	//
12165	//    * Must match the name of an existing DB instance.
12166	//
12167	// DBInstanceIdentifier is a required field
12168	DBInstanceIdentifier *string `type:"string" required:"true"`
12169
12170	// The DBSnapshotIdentifier of the new DBSnapshot created when SkipFinalSnapshot
12171	// is set to false.
12172	//
12173	// Specifying this parameter and also setting the SkipFinalShapshot parameter
12174	// to true results in an error.
12175	//
12176	// Constraints:
12177	//
12178	//    * Must be 1 to 255 letters or numbers.
12179	//
12180	//    * First character must be a letter
12181	//
12182	//    * Cannot end with a hyphen or contain two consecutive hyphens
12183	//
12184	//    * Cannot be specified when deleting a Read Replica.
12185	FinalDBSnapshotIdentifier *string `type:"string"`
12186
12187	// Determines whether a final DB snapshot is created before the DB instance
12188	// is deleted. If true is specified, no DBSnapshot is created. If false is specified,
12189	// a DB snapshot is created before the DB instance is deleted.
12190	//
12191	// Note that when a DB instance is in a failure state and has a status of 'failed',
12192	// 'incompatible-restore', or 'incompatible-network', it can only be deleted
12193	// when the SkipFinalSnapshot parameter is set to "true".
12194	//
12195	// Specify true when deleting a Read Replica.
12196	//
12197	// The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot
12198	// is false.
12199	//
12200	// Default: false
12201	SkipFinalSnapshot *bool `type:"boolean"`
12202}
12203
12204// String returns the string representation.
12205//
12206// API parameter values that are decorated as "sensitive" in the API will not
12207// be included in the string output. The member name will be present, but the
12208// value will be replaced with "sensitive".
12209func (s DeleteDBInstanceInput) String() string {
12210	return awsutil.Prettify(s)
12211}
12212
12213// GoString returns the string representation.
12214//
12215// API parameter values that are decorated as "sensitive" in the API will not
12216// be included in the string output. The member name will be present, but the
12217// value will be replaced with "sensitive".
12218func (s DeleteDBInstanceInput) GoString() string {
12219	return s.String()
12220}
12221
12222// Validate inspects the fields of the type to determine if they are valid.
12223func (s *DeleteDBInstanceInput) Validate() error {
12224	invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceInput"}
12225	if s.DBInstanceIdentifier == nil {
12226		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
12227	}
12228
12229	if invalidParams.Len() > 0 {
12230		return invalidParams
12231	}
12232	return nil
12233}
12234
12235// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
12236func (s *DeleteDBInstanceInput) SetDBInstanceIdentifier(v string) *DeleteDBInstanceInput {
12237	s.DBInstanceIdentifier = &v
12238	return s
12239}
12240
12241// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
12242func (s *DeleteDBInstanceInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBInstanceInput {
12243	s.FinalDBSnapshotIdentifier = &v
12244	return s
12245}
12246
12247// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
12248func (s *DeleteDBInstanceInput) SetSkipFinalSnapshot(v bool) *DeleteDBInstanceInput {
12249	s.SkipFinalSnapshot = &v
12250	return s
12251}
12252
12253type DeleteDBInstanceOutput struct {
12254	_ struct{} `type:"structure"`
12255
12256	// Contains the details of an Amazon Neptune DB instance.
12257	//
12258	// This data type is used as a response element in the DescribeDBInstances action.
12259	DBInstance *DBInstance `type:"structure"`
12260}
12261
12262// String returns the string representation.
12263//
12264// API parameter values that are decorated as "sensitive" in the API will not
12265// be included in the string output. The member name will be present, but the
12266// value will be replaced with "sensitive".
12267func (s DeleteDBInstanceOutput) String() string {
12268	return awsutil.Prettify(s)
12269}
12270
12271// GoString returns the string representation.
12272//
12273// API parameter values that are decorated as "sensitive" in the API will not
12274// be included in the string output. The member name will be present, but the
12275// value will be replaced with "sensitive".
12276func (s DeleteDBInstanceOutput) GoString() string {
12277	return s.String()
12278}
12279
12280// SetDBInstance sets the DBInstance field's value.
12281func (s *DeleteDBInstanceOutput) SetDBInstance(v *DBInstance) *DeleteDBInstanceOutput {
12282	s.DBInstance = v
12283	return s
12284}
12285
12286type DeleteDBParameterGroupInput struct {
12287	_ struct{} `type:"structure"`
12288
12289	// The name of the DB parameter group.
12290	//
12291	// Constraints:
12292	//
12293	//    * Must be the name of an existing DB parameter group
12294	//
12295	//    * You can't delete a default DB parameter group
12296	//
12297	//    * Cannot be associated with any DB instances
12298	//
12299	// DBParameterGroupName is a required field
12300	DBParameterGroupName *string `type:"string" required:"true"`
12301}
12302
12303// String returns the string representation.
12304//
12305// API parameter values that are decorated as "sensitive" in the API will not
12306// be included in the string output. The member name will be present, but the
12307// value will be replaced with "sensitive".
12308func (s DeleteDBParameterGroupInput) String() string {
12309	return awsutil.Prettify(s)
12310}
12311
12312// GoString returns the string representation.
12313//
12314// API parameter values that are decorated as "sensitive" in the API will not
12315// be included in the string output. The member name will be present, but the
12316// value will be replaced with "sensitive".
12317func (s DeleteDBParameterGroupInput) GoString() string {
12318	return s.String()
12319}
12320
12321// Validate inspects the fields of the type to determine if they are valid.
12322func (s *DeleteDBParameterGroupInput) Validate() error {
12323	invalidParams := request.ErrInvalidParams{Context: "DeleteDBParameterGroupInput"}
12324	if s.DBParameterGroupName == nil {
12325		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
12326	}
12327
12328	if invalidParams.Len() > 0 {
12329		return invalidParams
12330	}
12331	return nil
12332}
12333
12334// SetDBParameterGroupName sets the DBParameterGroupName field's value.
12335func (s *DeleteDBParameterGroupInput) SetDBParameterGroupName(v string) *DeleteDBParameterGroupInput {
12336	s.DBParameterGroupName = &v
12337	return s
12338}
12339
12340type DeleteDBParameterGroupOutput struct {
12341	_ struct{} `type:"structure"`
12342}
12343
12344// String returns the string representation.
12345//
12346// API parameter values that are decorated as "sensitive" in the API will not
12347// be included in the string output. The member name will be present, but the
12348// value will be replaced with "sensitive".
12349func (s DeleteDBParameterGroupOutput) String() string {
12350	return awsutil.Prettify(s)
12351}
12352
12353// GoString returns the string representation.
12354//
12355// API parameter values that are decorated as "sensitive" in the API will not
12356// be included in the string output. The member name will be present, but the
12357// value will be replaced with "sensitive".
12358func (s DeleteDBParameterGroupOutput) GoString() string {
12359	return s.String()
12360}
12361
12362type DeleteDBSubnetGroupInput struct {
12363	_ struct{} `type:"structure"`
12364
12365	// The name of the database subnet group to delete.
12366	//
12367	// You can't delete the default subnet group.
12368	//
12369	// Constraints:
12370	//
12371	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
12372	// default.
12373	//
12374	// Example: mySubnetgroup
12375	//
12376	// DBSubnetGroupName is a required field
12377	DBSubnetGroupName *string `type:"string" required:"true"`
12378}
12379
12380// String returns the string representation.
12381//
12382// API parameter values that are decorated as "sensitive" in the API will not
12383// be included in the string output. The member name will be present, but the
12384// value will be replaced with "sensitive".
12385func (s DeleteDBSubnetGroupInput) String() string {
12386	return awsutil.Prettify(s)
12387}
12388
12389// GoString returns the string representation.
12390//
12391// API parameter values that are decorated as "sensitive" in the API will not
12392// be included in the string output. The member name will be present, but the
12393// value will be replaced with "sensitive".
12394func (s DeleteDBSubnetGroupInput) GoString() string {
12395	return s.String()
12396}
12397
12398// Validate inspects the fields of the type to determine if they are valid.
12399func (s *DeleteDBSubnetGroupInput) Validate() error {
12400	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSubnetGroupInput"}
12401	if s.DBSubnetGroupName == nil {
12402		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
12403	}
12404
12405	if invalidParams.Len() > 0 {
12406		return invalidParams
12407	}
12408	return nil
12409}
12410
12411// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
12412func (s *DeleteDBSubnetGroupInput) SetDBSubnetGroupName(v string) *DeleteDBSubnetGroupInput {
12413	s.DBSubnetGroupName = &v
12414	return s
12415}
12416
12417type DeleteDBSubnetGroupOutput struct {
12418	_ struct{} `type:"structure"`
12419}
12420
12421// String returns the string representation.
12422//
12423// API parameter values that are decorated as "sensitive" in the API will not
12424// be included in the string output. The member name will be present, but the
12425// value will be replaced with "sensitive".
12426func (s DeleteDBSubnetGroupOutput) String() string {
12427	return awsutil.Prettify(s)
12428}
12429
12430// GoString returns the string representation.
12431//
12432// API parameter values that are decorated as "sensitive" in the API will not
12433// be included in the string output. The member name will be present, but the
12434// value will be replaced with "sensitive".
12435func (s DeleteDBSubnetGroupOutput) GoString() string {
12436	return s.String()
12437}
12438
12439type DeleteEventSubscriptionInput struct {
12440	_ struct{} `type:"structure"`
12441
12442	// The name of the event notification subscription you want to delete.
12443	//
12444	// SubscriptionName is a required field
12445	SubscriptionName *string `type:"string" required:"true"`
12446}
12447
12448// String returns the string representation.
12449//
12450// API parameter values that are decorated as "sensitive" in the API will not
12451// be included in the string output. The member name will be present, but the
12452// value will be replaced with "sensitive".
12453func (s DeleteEventSubscriptionInput) String() string {
12454	return awsutil.Prettify(s)
12455}
12456
12457// GoString returns the string representation.
12458//
12459// API parameter values that are decorated as "sensitive" in the API will not
12460// be included in the string output. The member name will be present, but the
12461// value will be replaced with "sensitive".
12462func (s DeleteEventSubscriptionInput) GoString() string {
12463	return s.String()
12464}
12465
12466// Validate inspects the fields of the type to determine if they are valid.
12467func (s *DeleteEventSubscriptionInput) Validate() error {
12468	invalidParams := request.ErrInvalidParams{Context: "DeleteEventSubscriptionInput"}
12469	if s.SubscriptionName == nil {
12470		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
12471	}
12472
12473	if invalidParams.Len() > 0 {
12474		return invalidParams
12475	}
12476	return nil
12477}
12478
12479// SetSubscriptionName sets the SubscriptionName field's value.
12480func (s *DeleteEventSubscriptionInput) SetSubscriptionName(v string) *DeleteEventSubscriptionInput {
12481	s.SubscriptionName = &v
12482	return s
12483}
12484
12485type DeleteEventSubscriptionOutput struct {
12486	_ struct{} `type:"structure"`
12487
12488	// Contains the results of a successful invocation of the DescribeEventSubscriptions
12489	// action.
12490	EventSubscription *EventSubscription `type:"structure"`
12491}
12492
12493// String returns the string representation.
12494//
12495// API parameter values that are decorated as "sensitive" in the API will not
12496// be included in the string output. The member name will be present, but the
12497// value will be replaced with "sensitive".
12498func (s DeleteEventSubscriptionOutput) String() string {
12499	return awsutil.Prettify(s)
12500}
12501
12502// GoString returns the string representation.
12503//
12504// API parameter values that are decorated as "sensitive" in the API will not
12505// be included in the string output. The member name will be present, but the
12506// value will be replaced with "sensitive".
12507func (s DeleteEventSubscriptionOutput) GoString() string {
12508	return s.String()
12509}
12510
12511// SetEventSubscription sets the EventSubscription field's value.
12512func (s *DeleteEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *DeleteEventSubscriptionOutput {
12513	s.EventSubscription = v
12514	return s
12515}
12516
12517type DescribeDBClusterEndpointsInput struct {
12518	_ struct{} `type:"structure"`
12519
12520	// The identifier of the endpoint to describe. This parameter is stored as a
12521	// lowercase string.
12522	DBClusterEndpointIdentifier *string `type:"string"`
12523
12524	// The DB cluster identifier of the DB cluster associated with the endpoint.
12525	// This parameter is stored as a lowercase string.
12526	DBClusterIdentifier *string `type:"string"`
12527
12528	// A set of name-value pairs that define which endpoints to include in the output.
12529	// The filters are specified as name-value pairs, in the format Name=endpoint_type,Values=endpoint_type1,endpoint_type2,....
12530	// Name can be one of: db-cluster-endpoint-type, db-cluster-endpoint-custom-type,
12531	// db-cluster-endpoint-id, db-cluster-endpoint-status. Values for the db-cluster-endpoint-type
12532	// filter can be one or more of: reader, writer, custom. Values for the db-cluster-endpoint-custom-type
12533	// filter can be one or more of: reader, any. Values for the db-cluster-endpoint-status
12534	// filter can be one or more of: available, creating, deleting, inactive, modifying.
12535	Filters []*Filter `locationNameList:"Filter" type:"list"`
12536
12537	// An optional pagination token provided by a previous DescribeDBClusterEndpoints
12538	// request. If this parameter is specified, the response includes only records
12539	// beyond the marker, up to the value specified by MaxRecords.
12540	Marker *string `type:"string"`
12541
12542	// The maximum number of records to include in the response. If more records
12543	// exist than the specified MaxRecords value, a pagination token called a marker
12544	// is included in the response so you can retrieve the remaining results.
12545	//
12546	// Default: 100
12547	//
12548	// Constraints: Minimum 20, maximum 100.
12549	MaxRecords *int64 `type:"integer"`
12550}
12551
12552// String returns the string representation.
12553//
12554// API parameter values that are decorated as "sensitive" in the API will not
12555// be included in the string output. The member name will be present, but the
12556// value will be replaced with "sensitive".
12557func (s DescribeDBClusterEndpointsInput) String() string {
12558	return awsutil.Prettify(s)
12559}
12560
12561// GoString returns the string representation.
12562//
12563// API parameter values that are decorated as "sensitive" in the API will not
12564// be included in the string output. The member name will be present, but the
12565// value will be replaced with "sensitive".
12566func (s DescribeDBClusterEndpointsInput) GoString() string {
12567	return s.String()
12568}
12569
12570// Validate inspects the fields of the type to determine if they are valid.
12571func (s *DescribeDBClusterEndpointsInput) Validate() error {
12572	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterEndpointsInput"}
12573	if s.Filters != nil {
12574		for i, v := range s.Filters {
12575			if v == nil {
12576				continue
12577			}
12578			if err := v.Validate(); err != nil {
12579				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12580			}
12581		}
12582	}
12583
12584	if invalidParams.Len() > 0 {
12585		return invalidParams
12586	}
12587	return nil
12588}
12589
12590// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
12591func (s *DescribeDBClusterEndpointsInput) SetDBClusterEndpointIdentifier(v string) *DescribeDBClusterEndpointsInput {
12592	s.DBClusterEndpointIdentifier = &v
12593	return s
12594}
12595
12596// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
12597func (s *DescribeDBClusterEndpointsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterEndpointsInput {
12598	s.DBClusterIdentifier = &v
12599	return s
12600}
12601
12602// SetFilters sets the Filters field's value.
12603func (s *DescribeDBClusterEndpointsInput) SetFilters(v []*Filter) *DescribeDBClusterEndpointsInput {
12604	s.Filters = v
12605	return s
12606}
12607
12608// SetMarker sets the Marker field's value.
12609func (s *DescribeDBClusterEndpointsInput) SetMarker(v string) *DescribeDBClusterEndpointsInput {
12610	s.Marker = &v
12611	return s
12612}
12613
12614// SetMaxRecords sets the MaxRecords field's value.
12615func (s *DescribeDBClusterEndpointsInput) SetMaxRecords(v int64) *DescribeDBClusterEndpointsInput {
12616	s.MaxRecords = &v
12617	return s
12618}
12619
12620type DescribeDBClusterEndpointsOutput struct {
12621	_ struct{} `type:"structure"`
12622
12623	// Contains the details of the endpoints associated with the cluster and matching
12624	// any filter conditions.
12625	DBClusterEndpoints []*DBClusterEndpoint `locationNameList:"DBClusterEndpointList" type:"list"`
12626
12627	// An optional pagination token provided by a previous DescribeDBClusterEndpoints
12628	// request. If this parameter is specified, the response includes only records
12629	// beyond the marker, up to the value specified by MaxRecords.
12630	Marker *string `type:"string"`
12631}
12632
12633// String returns the string representation.
12634//
12635// API parameter values that are decorated as "sensitive" in the API will not
12636// be included in the string output. The member name will be present, but the
12637// value will be replaced with "sensitive".
12638func (s DescribeDBClusterEndpointsOutput) String() string {
12639	return awsutil.Prettify(s)
12640}
12641
12642// GoString returns the string representation.
12643//
12644// API parameter values that are decorated as "sensitive" in the API will not
12645// be included in the string output. The member name will be present, but the
12646// value will be replaced with "sensitive".
12647func (s DescribeDBClusterEndpointsOutput) GoString() string {
12648	return s.String()
12649}
12650
12651// SetDBClusterEndpoints sets the DBClusterEndpoints field's value.
12652func (s *DescribeDBClusterEndpointsOutput) SetDBClusterEndpoints(v []*DBClusterEndpoint) *DescribeDBClusterEndpointsOutput {
12653	s.DBClusterEndpoints = v
12654	return s
12655}
12656
12657// SetMarker sets the Marker field's value.
12658func (s *DescribeDBClusterEndpointsOutput) SetMarker(v string) *DescribeDBClusterEndpointsOutput {
12659	s.Marker = &v
12660	return s
12661}
12662
12663type DescribeDBClusterParameterGroupsInput struct {
12664	_ struct{} `type:"structure"`
12665
12666	// The name of a specific DB cluster parameter group to return details for.
12667	//
12668	// Constraints:
12669	//
12670	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
12671	DBClusterParameterGroupName *string `type:"string"`
12672
12673	// This parameter is not currently supported.
12674	Filters []*Filter `locationNameList:"Filter" type:"list"`
12675
12676	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
12677	// request. If this parameter is specified, the response includes only records
12678	// beyond the marker, up to the value specified by MaxRecords.
12679	Marker *string `type:"string"`
12680
12681	// The maximum number of records to include in the response. If more records
12682	// exist than the specified MaxRecords value, a pagination token called a marker
12683	// is included in the response so that the remaining results can be retrieved.
12684	//
12685	// Default: 100
12686	//
12687	// Constraints: Minimum 20, maximum 100.
12688	MaxRecords *int64 `type:"integer"`
12689}
12690
12691// String returns the string representation.
12692//
12693// API parameter values that are decorated as "sensitive" in the API will not
12694// be included in the string output. The member name will be present, but the
12695// value will be replaced with "sensitive".
12696func (s DescribeDBClusterParameterGroupsInput) String() string {
12697	return awsutil.Prettify(s)
12698}
12699
12700// GoString returns the string representation.
12701//
12702// API parameter values that are decorated as "sensitive" in the API will not
12703// be included in the string output. The member name will be present, but the
12704// value will be replaced with "sensitive".
12705func (s DescribeDBClusterParameterGroupsInput) GoString() string {
12706	return s.String()
12707}
12708
12709// Validate inspects the fields of the type to determine if they are valid.
12710func (s *DescribeDBClusterParameterGroupsInput) Validate() error {
12711	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParameterGroupsInput"}
12712	if s.Filters != nil {
12713		for i, v := range s.Filters {
12714			if v == nil {
12715				continue
12716			}
12717			if err := v.Validate(); err != nil {
12718				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12719			}
12720		}
12721	}
12722
12723	if invalidParams.Len() > 0 {
12724		return invalidParams
12725	}
12726	return nil
12727}
12728
12729// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
12730func (s *DescribeDBClusterParameterGroupsInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParameterGroupsInput {
12731	s.DBClusterParameterGroupName = &v
12732	return s
12733}
12734
12735// SetFilters sets the Filters field's value.
12736func (s *DescribeDBClusterParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBClusterParameterGroupsInput {
12737	s.Filters = v
12738	return s
12739}
12740
12741// SetMarker sets the Marker field's value.
12742func (s *DescribeDBClusterParameterGroupsInput) SetMarker(v string) *DescribeDBClusterParameterGroupsInput {
12743	s.Marker = &v
12744	return s
12745}
12746
12747// SetMaxRecords sets the MaxRecords field's value.
12748func (s *DescribeDBClusterParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBClusterParameterGroupsInput {
12749	s.MaxRecords = &v
12750	return s
12751}
12752
12753type DescribeDBClusterParameterGroupsOutput struct {
12754	_ struct{} `type:"structure"`
12755
12756	// A list of DB cluster parameter groups.
12757	DBClusterParameterGroups []*DBClusterParameterGroup `locationNameList:"DBClusterParameterGroup" type:"list"`
12758
12759	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
12760	// request. If this parameter is specified, the response includes only records
12761	// beyond the marker, up to the value specified by MaxRecords.
12762	Marker *string `type:"string"`
12763}
12764
12765// String returns the string representation.
12766//
12767// API parameter values that are decorated as "sensitive" in the API will not
12768// be included in the string output. The member name will be present, but the
12769// value will be replaced with "sensitive".
12770func (s DescribeDBClusterParameterGroupsOutput) String() string {
12771	return awsutil.Prettify(s)
12772}
12773
12774// GoString returns the string representation.
12775//
12776// API parameter values that are decorated as "sensitive" in the API will not
12777// be included in the string output. The member name will be present, but the
12778// value will be replaced with "sensitive".
12779func (s DescribeDBClusterParameterGroupsOutput) GoString() string {
12780	return s.String()
12781}
12782
12783// SetDBClusterParameterGroups sets the DBClusterParameterGroups field's value.
12784func (s *DescribeDBClusterParameterGroupsOutput) SetDBClusterParameterGroups(v []*DBClusterParameterGroup) *DescribeDBClusterParameterGroupsOutput {
12785	s.DBClusterParameterGroups = v
12786	return s
12787}
12788
12789// SetMarker sets the Marker field's value.
12790func (s *DescribeDBClusterParameterGroupsOutput) SetMarker(v string) *DescribeDBClusterParameterGroupsOutput {
12791	s.Marker = &v
12792	return s
12793}
12794
12795type DescribeDBClusterParametersInput struct {
12796	_ struct{} `type:"structure"`
12797
12798	// The name of a specific DB cluster parameter group to return parameter details
12799	// for.
12800	//
12801	// Constraints:
12802	//
12803	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
12804	//
12805	// DBClusterParameterGroupName is a required field
12806	DBClusterParameterGroupName *string `type:"string" required:"true"`
12807
12808	// This parameter is not currently supported.
12809	Filters []*Filter `locationNameList:"Filter" type:"list"`
12810
12811	// An optional pagination token provided by a previous DescribeDBClusterParameters
12812	// request. If this parameter is specified, the response includes only records
12813	// beyond the marker, up to the value specified by MaxRecords.
12814	Marker *string `type:"string"`
12815
12816	// The maximum number of records to include in the response. If more records
12817	// exist than the specified MaxRecords value, a pagination token called a marker
12818	// is included in the response so that the remaining results can be retrieved.
12819	//
12820	// Default: 100
12821	//
12822	// Constraints: Minimum 20, maximum 100.
12823	MaxRecords *int64 `type:"integer"`
12824
12825	// A value that indicates to return only parameters for a specific source. Parameter
12826	// sources can be engine, service, or customer.
12827	Source *string `type:"string"`
12828}
12829
12830// String returns the string representation.
12831//
12832// API parameter values that are decorated as "sensitive" in the API will not
12833// be included in the string output. The member name will be present, but the
12834// value will be replaced with "sensitive".
12835func (s DescribeDBClusterParametersInput) String() string {
12836	return awsutil.Prettify(s)
12837}
12838
12839// GoString returns the string representation.
12840//
12841// API parameter values that are decorated as "sensitive" in the API will not
12842// be included in the string output. The member name will be present, but the
12843// value will be replaced with "sensitive".
12844func (s DescribeDBClusterParametersInput) GoString() string {
12845	return s.String()
12846}
12847
12848// Validate inspects the fields of the type to determine if they are valid.
12849func (s *DescribeDBClusterParametersInput) Validate() error {
12850	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParametersInput"}
12851	if s.DBClusterParameterGroupName == nil {
12852		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
12853	}
12854	if s.Filters != nil {
12855		for i, v := range s.Filters {
12856			if v == nil {
12857				continue
12858			}
12859			if err := v.Validate(); err != nil {
12860				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12861			}
12862		}
12863	}
12864
12865	if invalidParams.Len() > 0 {
12866		return invalidParams
12867	}
12868	return nil
12869}
12870
12871// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
12872func (s *DescribeDBClusterParametersInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParametersInput {
12873	s.DBClusterParameterGroupName = &v
12874	return s
12875}
12876
12877// SetFilters sets the Filters field's value.
12878func (s *DescribeDBClusterParametersInput) SetFilters(v []*Filter) *DescribeDBClusterParametersInput {
12879	s.Filters = v
12880	return s
12881}
12882
12883// SetMarker sets the Marker field's value.
12884func (s *DescribeDBClusterParametersInput) SetMarker(v string) *DescribeDBClusterParametersInput {
12885	s.Marker = &v
12886	return s
12887}
12888
12889// SetMaxRecords sets the MaxRecords field's value.
12890func (s *DescribeDBClusterParametersInput) SetMaxRecords(v int64) *DescribeDBClusterParametersInput {
12891	s.MaxRecords = &v
12892	return s
12893}
12894
12895// SetSource sets the Source field's value.
12896func (s *DescribeDBClusterParametersInput) SetSource(v string) *DescribeDBClusterParametersInput {
12897	s.Source = &v
12898	return s
12899}
12900
12901type DescribeDBClusterParametersOutput struct {
12902	_ struct{} `type:"structure"`
12903
12904	// An optional pagination token provided by a previous DescribeDBClusterParameters
12905	// request. If this parameter is specified, the response includes only records
12906	// beyond the marker, up to the value specified by MaxRecords .
12907	Marker *string `type:"string"`
12908
12909	// Provides a list of parameters for the DB cluster parameter group.
12910	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
12911}
12912
12913// String returns the string representation.
12914//
12915// API parameter values that are decorated as "sensitive" in the API will not
12916// be included in the string output. The member name will be present, but the
12917// value will be replaced with "sensitive".
12918func (s DescribeDBClusterParametersOutput) String() string {
12919	return awsutil.Prettify(s)
12920}
12921
12922// GoString returns the string representation.
12923//
12924// API parameter values that are decorated as "sensitive" in the API will not
12925// be included in the string output. The member name will be present, but the
12926// value will be replaced with "sensitive".
12927func (s DescribeDBClusterParametersOutput) GoString() string {
12928	return s.String()
12929}
12930
12931// SetMarker sets the Marker field's value.
12932func (s *DescribeDBClusterParametersOutput) SetMarker(v string) *DescribeDBClusterParametersOutput {
12933	s.Marker = &v
12934	return s
12935}
12936
12937// SetParameters sets the Parameters field's value.
12938func (s *DescribeDBClusterParametersOutput) SetParameters(v []*Parameter) *DescribeDBClusterParametersOutput {
12939	s.Parameters = v
12940	return s
12941}
12942
12943type DescribeDBClusterSnapshotAttributesInput struct {
12944	_ struct{} `type:"structure"`
12945
12946	// The identifier for the DB cluster snapshot to describe the attributes for.
12947	//
12948	// DBClusterSnapshotIdentifier is a required field
12949	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
12950}
12951
12952// String returns the string representation.
12953//
12954// API parameter values that are decorated as "sensitive" in the API will not
12955// be included in the string output. The member name will be present, but the
12956// value will be replaced with "sensitive".
12957func (s DescribeDBClusterSnapshotAttributesInput) String() string {
12958	return awsutil.Prettify(s)
12959}
12960
12961// GoString returns the string representation.
12962//
12963// API parameter values that are decorated as "sensitive" in the API will not
12964// be included in the string output. The member name will be present, but the
12965// value will be replaced with "sensitive".
12966func (s DescribeDBClusterSnapshotAttributesInput) GoString() string {
12967	return s.String()
12968}
12969
12970// Validate inspects the fields of the type to determine if they are valid.
12971func (s *DescribeDBClusterSnapshotAttributesInput) Validate() error {
12972	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotAttributesInput"}
12973	if s.DBClusterSnapshotIdentifier == nil {
12974		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
12975	}
12976
12977	if invalidParams.Len() > 0 {
12978		return invalidParams
12979	}
12980	return nil
12981}
12982
12983// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
12984func (s *DescribeDBClusterSnapshotAttributesInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotAttributesInput {
12985	s.DBClusterSnapshotIdentifier = &v
12986	return s
12987}
12988
12989type DescribeDBClusterSnapshotAttributesOutput struct {
12990	_ struct{} `type:"structure"`
12991
12992	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
12993	// API action.
12994	//
12995	// Manual DB cluster snapshot attributes are used to authorize other Amazon
12996	// accounts to copy or restore a manual DB cluster snapshot. For more information,
12997	// see the ModifyDBClusterSnapshotAttribute API action.
12998	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
12999}
13000
13001// String returns the string representation.
13002//
13003// API parameter values that are decorated as "sensitive" in the API will not
13004// be included in the string output. The member name will be present, but the
13005// value will be replaced with "sensitive".
13006func (s DescribeDBClusterSnapshotAttributesOutput) String() string {
13007	return awsutil.Prettify(s)
13008}
13009
13010// GoString returns the string representation.
13011//
13012// API parameter values that are decorated as "sensitive" in the API will not
13013// be included in the string output. The member name will be present, but the
13014// value will be replaced with "sensitive".
13015func (s DescribeDBClusterSnapshotAttributesOutput) GoString() string {
13016	return s.String()
13017}
13018
13019// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
13020func (s *DescribeDBClusterSnapshotAttributesOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *DescribeDBClusterSnapshotAttributesOutput {
13021	s.DBClusterSnapshotAttributesResult = v
13022	return s
13023}
13024
13025type DescribeDBClusterSnapshotsInput struct {
13026	_ struct{} `type:"structure"`
13027
13028	// The ID of the DB cluster to retrieve the list of DB cluster snapshots for.
13029	// This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier
13030	// parameter. This parameter is not case-sensitive.
13031	//
13032	// Constraints:
13033	//
13034	//    * If supplied, must match the identifier of an existing DBCluster.
13035	DBClusterIdentifier *string `type:"string"`
13036
13037	// A specific DB cluster snapshot identifier to describe. This parameter can't
13038	// be used in conjunction with the DBClusterIdentifier parameter. This value
13039	// is stored as a lowercase string.
13040	//
13041	// Constraints:
13042	//
13043	//    * If supplied, must match the identifier of an existing DBClusterSnapshot.
13044	//
13045	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
13046	//    must also be specified.
13047	DBClusterSnapshotIdentifier *string `type:"string"`
13048
13049	// This parameter is not currently supported.
13050	Filters []*Filter `locationNameList:"Filter" type:"list"`
13051
13052	// True to include manual DB cluster snapshots that are public and can be copied
13053	// or restored by any Amazon account, and otherwise false. The default is false.
13054	// The default is false.
13055	//
13056	// You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute
13057	// API action.
13058	IncludePublic *bool `type:"boolean"`
13059
13060	// True to include shared manual DB cluster snapshots from other Amazon accounts
13061	// that this Amazon account has been given permission to copy or restore, and
13062	// otherwise false. The default is false.
13063	//
13064	// You can give an Amazon account permission to restore a manual DB cluster
13065	// snapshot from another Amazon account by the ModifyDBClusterSnapshotAttribute
13066	// API action.
13067	IncludeShared *bool `type:"boolean"`
13068
13069	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
13070	// request. If this parameter is specified, the response includes only records
13071	// beyond the marker, up to the value specified by MaxRecords.
13072	Marker *string `type:"string"`
13073
13074	// The maximum number of records to include in the response. If more records
13075	// exist than the specified MaxRecords value, a pagination token called a marker
13076	// is included in the response so that the remaining results can be retrieved.
13077	//
13078	// Default: 100
13079	//
13080	// Constraints: Minimum 20, maximum 100.
13081	MaxRecords *int64 `type:"integer"`
13082
13083	// The type of DB cluster snapshots to be returned. You can specify one of the
13084	// following values:
13085	//
13086	//    * automated - Return all DB cluster snapshots that have been automatically
13087	//    taken by Amazon Neptune for my Amazon account.
13088	//
13089	//    * manual - Return all DB cluster snapshots that have been taken by my
13090	//    Amazon account.
13091	//
13092	//    * shared - Return all manual DB cluster snapshots that have been shared
13093	//    to my Amazon account.
13094	//
13095	//    * public - Return all DB cluster snapshots that have been marked as public.
13096	//
13097	// If you don't specify a SnapshotType value, then both automated and manual
13098	// DB cluster snapshots are returned. You can include shared DB cluster snapshots
13099	// with these results by setting the IncludeShared parameter to true. You can
13100	// include public DB cluster snapshots with these results by setting the IncludePublic
13101	// parameter to true.
13102	//
13103	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
13104	// values of manual or automated. The IncludePublic parameter doesn't apply
13105	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
13106	// when SnapshotType is set to public.
13107	SnapshotType *string `type:"string"`
13108}
13109
13110// String returns the string representation.
13111//
13112// API parameter values that are decorated as "sensitive" in the API will not
13113// be included in the string output. The member name will be present, but the
13114// value will be replaced with "sensitive".
13115func (s DescribeDBClusterSnapshotsInput) String() string {
13116	return awsutil.Prettify(s)
13117}
13118
13119// GoString returns the string representation.
13120//
13121// API parameter values that are decorated as "sensitive" in the API will not
13122// be included in the string output. The member name will be present, but the
13123// value will be replaced with "sensitive".
13124func (s DescribeDBClusterSnapshotsInput) GoString() string {
13125	return s.String()
13126}
13127
13128// Validate inspects the fields of the type to determine if they are valid.
13129func (s *DescribeDBClusterSnapshotsInput) Validate() error {
13130	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotsInput"}
13131	if s.Filters != nil {
13132		for i, v := range s.Filters {
13133			if v == nil {
13134				continue
13135			}
13136			if err := v.Validate(); err != nil {
13137				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13138			}
13139		}
13140	}
13141
13142	if invalidParams.Len() > 0 {
13143		return invalidParams
13144	}
13145	return nil
13146}
13147
13148// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
13149func (s *DescribeDBClusterSnapshotsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterSnapshotsInput {
13150	s.DBClusterIdentifier = &v
13151	return s
13152}
13153
13154// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
13155func (s *DescribeDBClusterSnapshotsInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotsInput {
13156	s.DBClusterSnapshotIdentifier = &v
13157	return s
13158}
13159
13160// SetFilters sets the Filters field's value.
13161func (s *DescribeDBClusterSnapshotsInput) SetFilters(v []*Filter) *DescribeDBClusterSnapshotsInput {
13162	s.Filters = v
13163	return s
13164}
13165
13166// SetIncludePublic sets the IncludePublic field's value.
13167func (s *DescribeDBClusterSnapshotsInput) SetIncludePublic(v bool) *DescribeDBClusterSnapshotsInput {
13168	s.IncludePublic = &v
13169	return s
13170}
13171
13172// SetIncludeShared sets the IncludeShared field's value.
13173func (s *DescribeDBClusterSnapshotsInput) SetIncludeShared(v bool) *DescribeDBClusterSnapshotsInput {
13174	s.IncludeShared = &v
13175	return s
13176}
13177
13178// SetMarker sets the Marker field's value.
13179func (s *DescribeDBClusterSnapshotsInput) SetMarker(v string) *DescribeDBClusterSnapshotsInput {
13180	s.Marker = &v
13181	return s
13182}
13183
13184// SetMaxRecords sets the MaxRecords field's value.
13185func (s *DescribeDBClusterSnapshotsInput) SetMaxRecords(v int64) *DescribeDBClusterSnapshotsInput {
13186	s.MaxRecords = &v
13187	return s
13188}
13189
13190// SetSnapshotType sets the SnapshotType field's value.
13191func (s *DescribeDBClusterSnapshotsInput) SetSnapshotType(v string) *DescribeDBClusterSnapshotsInput {
13192	s.SnapshotType = &v
13193	return s
13194}
13195
13196type DescribeDBClusterSnapshotsOutput struct {
13197	_ struct{} `type:"structure"`
13198
13199	// Provides a list of DB cluster snapshots for the user.
13200	DBClusterSnapshots []*DBClusterSnapshot `locationNameList:"DBClusterSnapshot" type:"list"`
13201
13202	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
13203	// request. If this parameter is specified, the response includes only records
13204	// beyond the marker, up to the value specified by MaxRecords.
13205	Marker *string `type:"string"`
13206}
13207
13208// String returns the string representation.
13209//
13210// API parameter values that are decorated as "sensitive" in the API will not
13211// be included in the string output. The member name will be present, but the
13212// value will be replaced with "sensitive".
13213func (s DescribeDBClusterSnapshotsOutput) String() string {
13214	return awsutil.Prettify(s)
13215}
13216
13217// GoString returns the string representation.
13218//
13219// API parameter values that are decorated as "sensitive" in the API will not
13220// be included in the string output. The member name will be present, but the
13221// value will be replaced with "sensitive".
13222func (s DescribeDBClusterSnapshotsOutput) GoString() string {
13223	return s.String()
13224}
13225
13226// SetDBClusterSnapshots sets the DBClusterSnapshots field's value.
13227func (s *DescribeDBClusterSnapshotsOutput) SetDBClusterSnapshots(v []*DBClusterSnapshot) *DescribeDBClusterSnapshotsOutput {
13228	s.DBClusterSnapshots = v
13229	return s
13230}
13231
13232// SetMarker sets the Marker field's value.
13233func (s *DescribeDBClusterSnapshotsOutput) SetMarker(v string) *DescribeDBClusterSnapshotsOutput {
13234	s.Marker = &v
13235	return s
13236}
13237
13238type DescribeDBClustersInput struct {
13239	_ struct{} `type:"structure"`
13240
13241	// The user-supplied DB cluster identifier. If this parameter is specified,
13242	// information from only the specific DB cluster is returned. This parameter
13243	// isn't case-sensitive.
13244	//
13245	// Constraints:
13246	//
13247	//    * If supplied, must match an existing DBClusterIdentifier.
13248	DBClusterIdentifier *string `type:"string"`
13249
13250	// A filter that specifies one or more DB clusters to describe.
13251	//
13252	// Supported filters:
13253	//
13254	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
13255	//    Resource Names (ARNs). The results list will only include information
13256	//    about the DB clusters identified by these ARNs.
13257	//
13258	//    * engine - Accepts an engine name (such as neptune), and restricts the
13259	//    results list to DB clusters created by that engine.
13260	//
13261	// For example, to invoke this API from the Amazon CLI and filter so that only
13262	// Neptune DB clusters are returned, you could use the following command:
13263	Filters []*Filter `locationNameList:"Filter" type:"list"`
13264
13265	// An optional pagination token provided by a previous DescribeDBClusters request.
13266	// If this parameter is specified, the response includes only records beyond
13267	// the marker, up to the value specified by MaxRecords.
13268	Marker *string `type:"string"`
13269
13270	// The maximum number of records to include in the response. If more records
13271	// exist than the specified MaxRecords value, a pagination token called a marker
13272	// is included in the response so that the remaining results can be retrieved.
13273	//
13274	// Default: 100
13275	//
13276	// Constraints: Minimum 20, maximum 100.
13277	MaxRecords *int64 `type:"integer"`
13278}
13279
13280// String returns the string representation.
13281//
13282// API parameter values that are decorated as "sensitive" in the API will not
13283// be included in the string output. The member name will be present, but the
13284// value will be replaced with "sensitive".
13285func (s DescribeDBClustersInput) String() string {
13286	return awsutil.Prettify(s)
13287}
13288
13289// GoString returns the string representation.
13290//
13291// API parameter values that are decorated as "sensitive" in the API will not
13292// be included in the string output. The member name will be present, but the
13293// value will be replaced with "sensitive".
13294func (s DescribeDBClustersInput) GoString() string {
13295	return s.String()
13296}
13297
13298// Validate inspects the fields of the type to determine if they are valid.
13299func (s *DescribeDBClustersInput) Validate() error {
13300	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClustersInput"}
13301	if s.Filters != nil {
13302		for i, v := range s.Filters {
13303			if v == nil {
13304				continue
13305			}
13306			if err := v.Validate(); err != nil {
13307				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13308			}
13309		}
13310	}
13311
13312	if invalidParams.Len() > 0 {
13313		return invalidParams
13314	}
13315	return nil
13316}
13317
13318// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
13319func (s *DescribeDBClustersInput) SetDBClusterIdentifier(v string) *DescribeDBClustersInput {
13320	s.DBClusterIdentifier = &v
13321	return s
13322}
13323
13324// SetFilters sets the Filters field's value.
13325func (s *DescribeDBClustersInput) SetFilters(v []*Filter) *DescribeDBClustersInput {
13326	s.Filters = v
13327	return s
13328}
13329
13330// SetMarker sets the Marker field's value.
13331func (s *DescribeDBClustersInput) SetMarker(v string) *DescribeDBClustersInput {
13332	s.Marker = &v
13333	return s
13334}
13335
13336// SetMaxRecords sets the MaxRecords field's value.
13337func (s *DescribeDBClustersInput) SetMaxRecords(v int64) *DescribeDBClustersInput {
13338	s.MaxRecords = &v
13339	return s
13340}
13341
13342type DescribeDBClustersOutput struct {
13343	_ struct{} `type:"structure"`
13344
13345	// Contains a list of DB clusters for the user.
13346	DBClusters []*DBCluster `locationNameList:"DBCluster" type:"list"`
13347
13348	// A pagination token that can be used in a subsequent DescribeDBClusters request.
13349	Marker *string `type:"string"`
13350}
13351
13352// String returns the string representation.
13353//
13354// API parameter values that are decorated as "sensitive" in the API will not
13355// be included in the string output. The member name will be present, but the
13356// value will be replaced with "sensitive".
13357func (s DescribeDBClustersOutput) String() string {
13358	return awsutil.Prettify(s)
13359}
13360
13361// GoString returns the string representation.
13362//
13363// API parameter values that are decorated as "sensitive" in the API will not
13364// be included in the string output. The member name will be present, but the
13365// value will be replaced with "sensitive".
13366func (s DescribeDBClustersOutput) GoString() string {
13367	return s.String()
13368}
13369
13370// SetDBClusters sets the DBClusters field's value.
13371func (s *DescribeDBClustersOutput) SetDBClusters(v []*DBCluster) *DescribeDBClustersOutput {
13372	s.DBClusters = v
13373	return s
13374}
13375
13376// SetMarker sets the Marker field's value.
13377func (s *DescribeDBClustersOutput) SetMarker(v string) *DescribeDBClustersOutput {
13378	s.Marker = &v
13379	return s
13380}
13381
13382type DescribeDBEngineVersionsInput struct {
13383	_ struct{} `type:"structure"`
13384
13385	// The name of a specific DB parameter group family to return details for.
13386	//
13387	// Constraints:
13388	//
13389	//    * If supplied, must match an existing DBParameterGroupFamily.
13390	DBParameterGroupFamily *string `type:"string"`
13391
13392	// Indicates that only the default version of the specified engine or engine
13393	// and major version combination is returned.
13394	DefaultOnly *bool `type:"boolean"`
13395
13396	// The database engine to return.
13397	Engine *string `type:"string"`
13398
13399	// The database engine version to return.
13400	//
13401	// Example: 5.1.49
13402	EngineVersion *string `type:"string"`
13403
13404	// Not currently supported.
13405	Filters []*Filter `locationNameList:"Filter" type:"list"`
13406
13407	// If this parameter is specified and the requested engine supports the CharacterSetName
13408	// parameter for CreateDBInstance, the response includes a list of supported
13409	// character sets for each engine version.
13410	ListSupportedCharacterSets *bool `type:"boolean"`
13411
13412	// If this parameter is specified and the requested engine supports the TimeZone
13413	// parameter for CreateDBInstance, the response includes a list of supported
13414	// time zones for each engine version.
13415	ListSupportedTimezones *bool `type:"boolean"`
13416
13417	// An optional pagination token provided by a previous request. If this parameter
13418	// is specified, the response includes only records beyond the marker, up to
13419	// the value specified by MaxRecords.
13420	Marker *string `type:"string"`
13421
13422	// The maximum number of records to include in the response. If more than the
13423	// MaxRecords value is available, a pagination token called a marker is included
13424	// in the response so that the following results can be retrieved.
13425	//
13426	// Default: 100
13427	//
13428	// Constraints: Minimum 20, maximum 100.
13429	MaxRecords *int64 `type:"integer"`
13430}
13431
13432// String returns the string representation.
13433//
13434// API parameter values that are decorated as "sensitive" in the API will not
13435// be included in the string output. The member name will be present, but the
13436// value will be replaced with "sensitive".
13437func (s DescribeDBEngineVersionsInput) String() string {
13438	return awsutil.Prettify(s)
13439}
13440
13441// GoString returns the string representation.
13442//
13443// API parameter values that are decorated as "sensitive" in the API will not
13444// be included in the string output. The member name will be present, but the
13445// value will be replaced with "sensitive".
13446func (s DescribeDBEngineVersionsInput) GoString() string {
13447	return s.String()
13448}
13449
13450// Validate inspects the fields of the type to determine if they are valid.
13451func (s *DescribeDBEngineVersionsInput) Validate() error {
13452	invalidParams := request.ErrInvalidParams{Context: "DescribeDBEngineVersionsInput"}
13453	if s.Filters != nil {
13454		for i, v := range s.Filters {
13455			if v == nil {
13456				continue
13457			}
13458			if err := v.Validate(); err != nil {
13459				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13460			}
13461		}
13462	}
13463
13464	if invalidParams.Len() > 0 {
13465		return invalidParams
13466	}
13467	return nil
13468}
13469
13470// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
13471func (s *DescribeDBEngineVersionsInput) SetDBParameterGroupFamily(v string) *DescribeDBEngineVersionsInput {
13472	s.DBParameterGroupFamily = &v
13473	return s
13474}
13475
13476// SetDefaultOnly sets the DefaultOnly field's value.
13477func (s *DescribeDBEngineVersionsInput) SetDefaultOnly(v bool) *DescribeDBEngineVersionsInput {
13478	s.DefaultOnly = &v
13479	return s
13480}
13481
13482// SetEngine sets the Engine field's value.
13483func (s *DescribeDBEngineVersionsInput) SetEngine(v string) *DescribeDBEngineVersionsInput {
13484	s.Engine = &v
13485	return s
13486}
13487
13488// SetEngineVersion sets the EngineVersion field's value.
13489func (s *DescribeDBEngineVersionsInput) SetEngineVersion(v string) *DescribeDBEngineVersionsInput {
13490	s.EngineVersion = &v
13491	return s
13492}
13493
13494// SetFilters sets the Filters field's value.
13495func (s *DescribeDBEngineVersionsInput) SetFilters(v []*Filter) *DescribeDBEngineVersionsInput {
13496	s.Filters = v
13497	return s
13498}
13499
13500// SetListSupportedCharacterSets sets the ListSupportedCharacterSets field's value.
13501func (s *DescribeDBEngineVersionsInput) SetListSupportedCharacterSets(v bool) *DescribeDBEngineVersionsInput {
13502	s.ListSupportedCharacterSets = &v
13503	return s
13504}
13505
13506// SetListSupportedTimezones sets the ListSupportedTimezones field's value.
13507func (s *DescribeDBEngineVersionsInput) SetListSupportedTimezones(v bool) *DescribeDBEngineVersionsInput {
13508	s.ListSupportedTimezones = &v
13509	return s
13510}
13511
13512// SetMarker sets the Marker field's value.
13513func (s *DescribeDBEngineVersionsInput) SetMarker(v string) *DescribeDBEngineVersionsInput {
13514	s.Marker = &v
13515	return s
13516}
13517
13518// SetMaxRecords sets the MaxRecords field's value.
13519func (s *DescribeDBEngineVersionsInput) SetMaxRecords(v int64) *DescribeDBEngineVersionsInput {
13520	s.MaxRecords = &v
13521	return s
13522}
13523
13524type DescribeDBEngineVersionsOutput struct {
13525	_ struct{} `type:"structure"`
13526
13527	// A list of DBEngineVersion elements.
13528	DBEngineVersions []*DBEngineVersion `locationNameList:"DBEngineVersion" type:"list"`
13529
13530	// An optional pagination token provided by a previous request. If this parameter
13531	// is specified, the response includes only records beyond the marker, up to
13532	// the value specified by MaxRecords.
13533	Marker *string `type:"string"`
13534}
13535
13536// String returns the string representation.
13537//
13538// API parameter values that are decorated as "sensitive" in the API will not
13539// be included in the string output. The member name will be present, but the
13540// value will be replaced with "sensitive".
13541func (s DescribeDBEngineVersionsOutput) String() string {
13542	return awsutil.Prettify(s)
13543}
13544
13545// GoString returns the string representation.
13546//
13547// API parameter values that are decorated as "sensitive" in the API will not
13548// be included in the string output. The member name will be present, but the
13549// value will be replaced with "sensitive".
13550func (s DescribeDBEngineVersionsOutput) GoString() string {
13551	return s.String()
13552}
13553
13554// SetDBEngineVersions sets the DBEngineVersions field's value.
13555func (s *DescribeDBEngineVersionsOutput) SetDBEngineVersions(v []*DBEngineVersion) *DescribeDBEngineVersionsOutput {
13556	s.DBEngineVersions = v
13557	return s
13558}
13559
13560// SetMarker sets the Marker field's value.
13561func (s *DescribeDBEngineVersionsOutput) SetMarker(v string) *DescribeDBEngineVersionsOutput {
13562	s.Marker = &v
13563	return s
13564}
13565
13566type DescribeDBInstancesInput struct {
13567	_ struct{} `type:"structure"`
13568
13569	// The user-supplied instance identifier. If this parameter is specified, information
13570	// from only the specific DB instance is returned. This parameter isn't case-sensitive.
13571	//
13572	// Constraints:
13573	//
13574	//    * If supplied, must match the identifier of an existing DBInstance.
13575	DBInstanceIdentifier *string `type:"string"`
13576
13577	// A filter that specifies one or more DB instances to describe.
13578	//
13579	// Supported filters:
13580	//
13581	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
13582	//    Resource Names (ARNs). The results list will only include information
13583	//    about the DB instances associated with the DB clusters identified by these
13584	//    ARNs.
13585	//
13586	//    * engine - Accepts an engine name (such as neptune), and restricts the
13587	//    results list to DB instances created by that engine.
13588	//
13589	// For example, to invoke this API from the Amazon CLI and filter so that only
13590	// Neptune DB instances are returned, you could use the following command:
13591	Filters []*Filter `locationNameList:"Filter" type:"list"`
13592
13593	// An optional pagination token provided by a previous DescribeDBInstances request.
13594	// If this parameter is specified, the response includes only records beyond
13595	// the marker, up to the value specified by MaxRecords.
13596	Marker *string `type:"string"`
13597
13598	// The maximum number of records to include in the response. If more records
13599	// exist than the specified MaxRecords value, a pagination token called a marker
13600	// is included in the response so that the remaining results can be retrieved.
13601	//
13602	// Default: 100
13603	//
13604	// Constraints: Minimum 20, maximum 100.
13605	MaxRecords *int64 `type:"integer"`
13606}
13607
13608// String returns the string representation.
13609//
13610// API parameter values that are decorated as "sensitive" in the API will not
13611// be included in the string output. The member name will be present, but the
13612// value will be replaced with "sensitive".
13613func (s DescribeDBInstancesInput) String() string {
13614	return awsutil.Prettify(s)
13615}
13616
13617// GoString returns the string representation.
13618//
13619// API parameter values that are decorated as "sensitive" in the API will not
13620// be included in the string output. The member name will be present, but the
13621// value will be replaced with "sensitive".
13622func (s DescribeDBInstancesInput) GoString() string {
13623	return s.String()
13624}
13625
13626// Validate inspects the fields of the type to determine if they are valid.
13627func (s *DescribeDBInstancesInput) Validate() error {
13628	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstancesInput"}
13629	if s.Filters != nil {
13630		for i, v := range s.Filters {
13631			if v == nil {
13632				continue
13633			}
13634			if err := v.Validate(); err != nil {
13635				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13636			}
13637		}
13638	}
13639
13640	if invalidParams.Len() > 0 {
13641		return invalidParams
13642	}
13643	return nil
13644}
13645
13646// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
13647func (s *DescribeDBInstancesInput) SetDBInstanceIdentifier(v string) *DescribeDBInstancesInput {
13648	s.DBInstanceIdentifier = &v
13649	return s
13650}
13651
13652// SetFilters sets the Filters field's value.
13653func (s *DescribeDBInstancesInput) SetFilters(v []*Filter) *DescribeDBInstancesInput {
13654	s.Filters = v
13655	return s
13656}
13657
13658// SetMarker sets the Marker field's value.
13659func (s *DescribeDBInstancesInput) SetMarker(v string) *DescribeDBInstancesInput {
13660	s.Marker = &v
13661	return s
13662}
13663
13664// SetMaxRecords sets the MaxRecords field's value.
13665func (s *DescribeDBInstancesInput) SetMaxRecords(v int64) *DescribeDBInstancesInput {
13666	s.MaxRecords = &v
13667	return s
13668}
13669
13670type DescribeDBInstancesOutput struct {
13671	_ struct{} `type:"structure"`
13672
13673	// A list of DBInstance instances.
13674	DBInstances []*DBInstance `locationNameList:"DBInstance" type:"list"`
13675
13676	// An optional pagination token provided by a previous request. If this parameter
13677	// is specified, the response includes only records beyond the marker, up to
13678	// the value specified by MaxRecords .
13679	Marker *string `type:"string"`
13680}
13681
13682// String returns the string representation.
13683//
13684// API parameter values that are decorated as "sensitive" in the API will not
13685// be included in the string output. The member name will be present, but the
13686// value will be replaced with "sensitive".
13687func (s DescribeDBInstancesOutput) String() string {
13688	return awsutil.Prettify(s)
13689}
13690
13691// GoString returns the string representation.
13692//
13693// API parameter values that are decorated as "sensitive" in the API will not
13694// be included in the string output. The member name will be present, but the
13695// value will be replaced with "sensitive".
13696func (s DescribeDBInstancesOutput) GoString() string {
13697	return s.String()
13698}
13699
13700// SetDBInstances sets the DBInstances field's value.
13701func (s *DescribeDBInstancesOutput) SetDBInstances(v []*DBInstance) *DescribeDBInstancesOutput {
13702	s.DBInstances = v
13703	return s
13704}
13705
13706// SetMarker sets the Marker field's value.
13707func (s *DescribeDBInstancesOutput) SetMarker(v string) *DescribeDBInstancesOutput {
13708	s.Marker = &v
13709	return s
13710}
13711
13712type DescribeDBParameterGroupsInput struct {
13713	_ struct{} `type:"structure"`
13714
13715	// The name of a specific DB parameter group to return details for.
13716	//
13717	// Constraints:
13718	//
13719	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
13720	DBParameterGroupName *string `type:"string"`
13721
13722	// This parameter is not currently supported.
13723	Filters []*Filter `locationNameList:"Filter" type:"list"`
13724
13725	// An optional pagination token provided by a previous DescribeDBParameterGroups
13726	// request. If this parameter is specified, the response includes only records
13727	// beyond the marker, up to the value specified by MaxRecords.
13728	Marker *string `type:"string"`
13729
13730	// The maximum number of records to include in the response. If more records
13731	// exist than the specified MaxRecords value, a pagination token called a marker
13732	// is included in the response so that the remaining results can be retrieved.
13733	//
13734	// Default: 100
13735	//
13736	// Constraints: Minimum 20, maximum 100.
13737	MaxRecords *int64 `type:"integer"`
13738}
13739
13740// String returns the string representation.
13741//
13742// API parameter values that are decorated as "sensitive" in the API will not
13743// be included in the string output. The member name will be present, but the
13744// value will be replaced with "sensitive".
13745func (s DescribeDBParameterGroupsInput) String() string {
13746	return awsutil.Prettify(s)
13747}
13748
13749// GoString returns the string representation.
13750//
13751// API parameter values that are decorated as "sensitive" in the API will not
13752// be included in the string output. The member name will be present, but the
13753// value will be replaced with "sensitive".
13754func (s DescribeDBParameterGroupsInput) GoString() string {
13755	return s.String()
13756}
13757
13758// Validate inspects the fields of the type to determine if they are valid.
13759func (s *DescribeDBParameterGroupsInput) Validate() error {
13760	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParameterGroupsInput"}
13761	if s.Filters != nil {
13762		for i, v := range s.Filters {
13763			if v == nil {
13764				continue
13765			}
13766			if err := v.Validate(); err != nil {
13767				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13768			}
13769		}
13770	}
13771
13772	if invalidParams.Len() > 0 {
13773		return invalidParams
13774	}
13775	return nil
13776}
13777
13778// SetDBParameterGroupName sets the DBParameterGroupName field's value.
13779func (s *DescribeDBParameterGroupsInput) SetDBParameterGroupName(v string) *DescribeDBParameterGroupsInput {
13780	s.DBParameterGroupName = &v
13781	return s
13782}
13783
13784// SetFilters sets the Filters field's value.
13785func (s *DescribeDBParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBParameterGroupsInput {
13786	s.Filters = v
13787	return s
13788}
13789
13790// SetMarker sets the Marker field's value.
13791func (s *DescribeDBParameterGroupsInput) SetMarker(v string) *DescribeDBParameterGroupsInput {
13792	s.Marker = &v
13793	return s
13794}
13795
13796// SetMaxRecords sets the MaxRecords field's value.
13797func (s *DescribeDBParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBParameterGroupsInput {
13798	s.MaxRecords = &v
13799	return s
13800}
13801
13802type DescribeDBParameterGroupsOutput struct {
13803	_ struct{} `type:"structure"`
13804
13805	// A list of DBParameterGroup instances.
13806	DBParameterGroups []*DBParameterGroup `locationNameList:"DBParameterGroup" type:"list"`
13807
13808	// An optional pagination token provided by a previous request. If this parameter
13809	// is specified, the response includes only records beyond the marker, up to
13810	// the value specified by MaxRecords.
13811	Marker *string `type:"string"`
13812}
13813
13814// String returns the string representation.
13815//
13816// API parameter values that are decorated as "sensitive" in the API will not
13817// be included in the string output. The member name will be present, but the
13818// value will be replaced with "sensitive".
13819func (s DescribeDBParameterGroupsOutput) String() string {
13820	return awsutil.Prettify(s)
13821}
13822
13823// GoString returns the string representation.
13824//
13825// API parameter values that are decorated as "sensitive" in the API will not
13826// be included in the string output. The member name will be present, but the
13827// value will be replaced with "sensitive".
13828func (s DescribeDBParameterGroupsOutput) GoString() string {
13829	return s.String()
13830}
13831
13832// SetDBParameterGroups sets the DBParameterGroups field's value.
13833func (s *DescribeDBParameterGroupsOutput) SetDBParameterGroups(v []*DBParameterGroup) *DescribeDBParameterGroupsOutput {
13834	s.DBParameterGroups = v
13835	return s
13836}
13837
13838// SetMarker sets the Marker field's value.
13839func (s *DescribeDBParameterGroupsOutput) SetMarker(v string) *DescribeDBParameterGroupsOutput {
13840	s.Marker = &v
13841	return s
13842}
13843
13844type DescribeDBParametersInput struct {
13845	_ struct{} `type:"structure"`
13846
13847	// The name of a specific DB parameter group to return details for.
13848	//
13849	// Constraints:
13850	//
13851	//    * If supplied, must match the name of an existing DBParameterGroup.
13852	//
13853	// DBParameterGroupName is a required field
13854	DBParameterGroupName *string `type:"string" required:"true"`
13855
13856	// This parameter is not currently supported.
13857	Filters []*Filter `locationNameList:"Filter" type:"list"`
13858
13859	// An optional pagination token provided by a previous DescribeDBParameters
13860	// request. If this parameter is specified, the response includes only records
13861	// beyond the marker, up to the value specified by MaxRecords.
13862	Marker *string `type:"string"`
13863
13864	// The maximum number of records to include in the response. If more records
13865	// exist than the specified MaxRecords value, a pagination token called a marker
13866	// is included in the response so that the remaining results can be retrieved.
13867	//
13868	// Default: 100
13869	//
13870	// Constraints: Minimum 20, maximum 100.
13871	MaxRecords *int64 `type:"integer"`
13872
13873	// The parameter types to return.
13874	//
13875	// Default: All parameter types returned
13876	//
13877	// Valid Values: user | system | engine-default
13878	Source *string `type:"string"`
13879}
13880
13881// String returns the string representation.
13882//
13883// API parameter values that are decorated as "sensitive" in the API will not
13884// be included in the string output. The member name will be present, but the
13885// value will be replaced with "sensitive".
13886func (s DescribeDBParametersInput) String() string {
13887	return awsutil.Prettify(s)
13888}
13889
13890// GoString returns the string representation.
13891//
13892// API parameter values that are decorated as "sensitive" in the API will not
13893// be included in the string output. The member name will be present, but the
13894// value will be replaced with "sensitive".
13895func (s DescribeDBParametersInput) GoString() string {
13896	return s.String()
13897}
13898
13899// Validate inspects the fields of the type to determine if they are valid.
13900func (s *DescribeDBParametersInput) Validate() error {
13901	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParametersInput"}
13902	if s.DBParameterGroupName == nil {
13903		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
13904	}
13905	if s.Filters != nil {
13906		for i, v := range s.Filters {
13907			if v == nil {
13908				continue
13909			}
13910			if err := v.Validate(); err != nil {
13911				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13912			}
13913		}
13914	}
13915
13916	if invalidParams.Len() > 0 {
13917		return invalidParams
13918	}
13919	return nil
13920}
13921
13922// SetDBParameterGroupName sets the DBParameterGroupName field's value.
13923func (s *DescribeDBParametersInput) SetDBParameterGroupName(v string) *DescribeDBParametersInput {
13924	s.DBParameterGroupName = &v
13925	return s
13926}
13927
13928// SetFilters sets the Filters field's value.
13929func (s *DescribeDBParametersInput) SetFilters(v []*Filter) *DescribeDBParametersInput {
13930	s.Filters = v
13931	return s
13932}
13933
13934// SetMarker sets the Marker field's value.
13935func (s *DescribeDBParametersInput) SetMarker(v string) *DescribeDBParametersInput {
13936	s.Marker = &v
13937	return s
13938}
13939
13940// SetMaxRecords sets the MaxRecords field's value.
13941func (s *DescribeDBParametersInput) SetMaxRecords(v int64) *DescribeDBParametersInput {
13942	s.MaxRecords = &v
13943	return s
13944}
13945
13946// SetSource sets the Source field's value.
13947func (s *DescribeDBParametersInput) SetSource(v string) *DescribeDBParametersInput {
13948	s.Source = &v
13949	return s
13950}
13951
13952type DescribeDBParametersOutput struct {
13953	_ struct{} `type:"structure"`
13954
13955	// An optional pagination token provided by a previous request. If this parameter
13956	// is specified, the response includes only records beyond the marker, up to
13957	// the value specified by MaxRecords.
13958	Marker *string `type:"string"`
13959
13960	// A list of Parameter values.
13961	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
13962}
13963
13964// String returns the string representation.
13965//
13966// API parameter values that are decorated as "sensitive" in the API will not
13967// be included in the string output. The member name will be present, but the
13968// value will be replaced with "sensitive".
13969func (s DescribeDBParametersOutput) String() string {
13970	return awsutil.Prettify(s)
13971}
13972
13973// GoString returns the string representation.
13974//
13975// API parameter values that are decorated as "sensitive" in the API will not
13976// be included in the string output. The member name will be present, but the
13977// value will be replaced with "sensitive".
13978func (s DescribeDBParametersOutput) GoString() string {
13979	return s.String()
13980}
13981
13982// SetMarker sets the Marker field's value.
13983func (s *DescribeDBParametersOutput) SetMarker(v string) *DescribeDBParametersOutput {
13984	s.Marker = &v
13985	return s
13986}
13987
13988// SetParameters sets the Parameters field's value.
13989func (s *DescribeDBParametersOutput) SetParameters(v []*Parameter) *DescribeDBParametersOutput {
13990	s.Parameters = v
13991	return s
13992}
13993
13994type DescribeDBSubnetGroupsInput struct {
13995	_ struct{} `type:"structure"`
13996
13997	// The name of the DB subnet group to return details for.
13998	DBSubnetGroupName *string `type:"string"`
13999
14000	// This parameter is not currently supported.
14001	Filters []*Filter `locationNameList:"Filter" type:"list"`
14002
14003	// An optional pagination token provided by a previous DescribeDBSubnetGroups
14004	// request. If this parameter is specified, the response includes only records
14005	// beyond the marker, up to the value specified by MaxRecords.
14006	Marker *string `type:"string"`
14007
14008	// The maximum number of records to include in the response. If more records
14009	// exist than the specified MaxRecords value, a pagination token called a marker
14010	// is included in the response so that the remaining results can be retrieved.
14011	//
14012	// Default: 100
14013	//
14014	// Constraints: Minimum 20, maximum 100.
14015	MaxRecords *int64 `type:"integer"`
14016}
14017
14018// String returns the string representation.
14019//
14020// API parameter values that are decorated as "sensitive" in the API will not
14021// be included in the string output. The member name will be present, but the
14022// value will be replaced with "sensitive".
14023func (s DescribeDBSubnetGroupsInput) String() string {
14024	return awsutil.Prettify(s)
14025}
14026
14027// GoString returns the string representation.
14028//
14029// API parameter values that are decorated as "sensitive" in the API will not
14030// be included in the string output. The member name will be present, but the
14031// value will be replaced with "sensitive".
14032func (s DescribeDBSubnetGroupsInput) GoString() string {
14033	return s.String()
14034}
14035
14036// Validate inspects the fields of the type to determine if they are valid.
14037func (s *DescribeDBSubnetGroupsInput) Validate() error {
14038	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSubnetGroupsInput"}
14039	if s.Filters != nil {
14040		for i, v := range s.Filters {
14041			if v == nil {
14042				continue
14043			}
14044			if err := v.Validate(); err != nil {
14045				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
14046			}
14047		}
14048	}
14049
14050	if invalidParams.Len() > 0 {
14051		return invalidParams
14052	}
14053	return nil
14054}
14055
14056// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
14057func (s *DescribeDBSubnetGroupsInput) SetDBSubnetGroupName(v string) *DescribeDBSubnetGroupsInput {
14058	s.DBSubnetGroupName = &v
14059	return s
14060}
14061
14062// SetFilters sets the Filters field's value.
14063func (s *DescribeDBSubnetGroupsInput) SetFilters(v []*Filter) *DescribeDBSubnetGroupsInput {
14064	s.Filters = v
14065	return s
14066}
14067
14068// SetMarker sets the Marker field's value.
14069func (s *DescribeDBSubnetGroupsInput) SetMarker(v string) *DescribeDBSubnetGroupsInput {
14070	s.Marker = &v
14071	return s
14072}
14073
14074// SetMaxRecords sets the MaxRecords field's value.
14075func (s *DescribeDBSubnetGroupsInput) SetMaxRecords(v int64) *DescribeDBSubnetGroupsInput {
14076	s.MaxRecords = &v
14077	return s
14078}
14079
14080type DescribeDBSubnetGroupsOutput struct {
14081	_ struct{} `type:"structure"`
14082
14083	// A list of DBSubnetGroup instances.
14084	DBSubnetGroups []*DBSubnetGroup `locationNameList:"DBSubnetGroup" type:"list"`
14085
14086	// An optional pagination token provided by a previous request. If this parameter
14087	// is specified, the response includes only records beyond the marker, up to
14088	// the value specified by MaxRecords.
14089	Marker *string `type:"string"`
14090}
14091
14092// String returns the string representation.
14093//
14094// API parameter values that are decorated as "sensitive" in the API will not
14095// be included in the string output. The member name will be present, but the
14096// value will be replaced with "sensitive".
14097func (s DescribeDBSubnetGroupsOutput) String() string {
14098	return awsutil.Prettify(s)
14099}
14100
14101// GoString returns the string representation.
14102//
14103// API parameter values that are decorated as "sensitive" in the API will not
14104// be included in the string output. The member name will be present, but the
14105// value will be replaced with "sensitive".
14106func (s DescribeDBSubnetGroupsOutput) GoString() string {
14107	return s.String()
14108}
14109
14110// SetDBSubnetGroups sets the DBSubnetGroups field's value.
14111func (s *DescribeDBSubnetGroupsOutput) SetDBSubnetGroups(v []*DBSubnetGroup) *DescribeDBSubnetGroupsOutput {
14112	s.DBSubnetGroups = v
14113	return s
14114}
14115
14116// SetMarker sets the Marker field's value.
14117func (s *DescribeDBSubnetGroupsOutput) SetMarker(v string) *DescribeDBSubnetGroupsOutput {
14118	s.Marker = &v
14119	return s
14120}
14121
14122type DescribeEngineDefaultClusterParametersInput struct {
14123	_ struct{} `type:"structure"`
14124
14125	// The name of the DB cluster parameter group family to return engine parameter
14126	// information for.
14127	//
14128	// DBParameterGroupFamily is a required field
14129	DBParameterGroupFamily *string `type:"string" required:"true"`
14130
14131	// This parameter is not currently supported.
14132	Filters []*Filter `locationNameList:"Filter" type:"list"`
14133
14134	// An optional pagination token provided by a previous DescribeEngineDefaultClusterParameters
14135	// request. If this parameter is specified, the response includes only records
14136	// beyond the marker, up to the value specified by MaxRecords.
14137	Marker *string `type:"string"`
14138
14139	// The maximum number of records to include in the response. If more records
14140	// exist than the specified MaxRecords value, a pagination token called a marker
14141	// is included in the response so that the remaining results can be retrieved.
14142	//
14143	// Default: 100
14144	//
14145	// Constraints: Minimum 20, maximum 100.
14146	MaxRecords *int64 `type:"integer"`
14147}
14148
14149// String returns the string representation.
14150//
14151// API parameter values that are decorated as "sensitive" in the API will not
14152// be included in the string output. The member name will be present, but the
14153// value will be replaced with "sensitive".
14154func (s DescribeEngineDefaultClusterParametersInput) String() string {
14155	return awsutil.Prettify(s)
14156}
14157
14158// GoString returns the string representation.
14159//
14160// API parameter values that are decorated as "sensitive" in the API will not
14161// be included in the string output. The member name will be present, but the
14162// value will be replaced with "sensitive".
14163func (s DescribeEngineDefaultClusterParametersInput) GoString() string {
14164	return s.String()
14165}
14166
14167// Validate inspects the fields of the type to determine if they are valid.
14168func (s *DescribeEngineDefaultClusterParametersInput) Validate() error {
14169	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultClusterParametersInput"}
14170	if s.DBParameterGroupFamily == nil {
14171		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
14172	}
14173	if s.Filters != nil {
14174		for i, v := range s.Filters {
14175			if v == nil {
14176				continue
14177			}
14178			if err := v.Validate(); err != nil {
14179				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
14180			}
14181		}
14182	}
14183
14184	if invalidParams.Len() > 0 {
14185		return invalidParams
14186	}
14187	return nil
14188}
14189
14190// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
14191func (s *DescribeEngineDefaultClusterParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultClusterParametersInput {
14192	s.DBParameterGroupFamily = &v
14193	return s
14194}
14195
14196// SetFilters sets the Filters field's value.
14197func (s *DescribeEngineDefaultClusterParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultClusterParametersInput {
14198	s.Filters = v
14199	return s
14200}
14201
14202// SetMarker sets the Marker field's value.
14203func (s *DescribeEngineDefaultClusterParametersInput) SetMarker(v string) *DescribeEngineDefaultClusterParametersInput {
14204	s.Marker = &v
14205	return s
14206}
14207
14208// SetMaxRecords sets the MaxRecords field's value.
14209func (s *DescribeEngineDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultClusterParametersInput {
14210	s.MaxRecords = &v
14211	return s
14212}
14213
14214type DescribeEngineDefaultClusterParametersOutput struct {
14215	_ struct{} `type:"structure"`
14216
14217	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
14218	// action.
14219	EngineDefaults *EngineDefaults `type:"structure"`
14220}
14221
14222// String returns the string representation.
14223//
14224// API parameter values that are decorated as "sensitive" in the API will not
14225// be included in the string output. The member name will be present, but the
14226// value will be replaced with "sensitive".
14227func (s DescribeEngineDefaultClusterParametersOutput) String() string {
14228	return awsutil.Prettify(s)
14229}
14230
14231// GoString returns the string representation.
14232//
14233// API parameter values that are decorated as "sensitive" in the API will not
14234// be included in the string output. The member name will be present, but the
14235// value will be replaced with "sensitive".
14236func (s DescribeEngineDefaultClusterParametersOutput) GoString() string {
14237	return s.String()
14238}
14239
14240// SetEngineDefaults sets the EngineDefaults field's value.
14241func (s *DescribeEngineDefaultClusterParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultClusterParametersOutput {
14242	s.EngineDefaults = v
14243	return s
14244}
14245
14246type DescribeEngineDefaultParametersInput struct {
14247	_ struct{} `type:"structure"`
14248
14249	// The name of the DB parameter group family.
14250	//
14251	// DBParameterGroupFamily is a required field
14252	DBParameterGroupFamily *string `type:"string" required:"true"`
14253
14254	// Not currently supported.
14255	Filters []*Filter `locationNameList:"Filter" type:"list"`
14256
14257	// An optional pagination token provided by a previous DescribeEngineDefaultParameters
14258	// request. If this parameter is specified, the response includes only records
14259	// beyond the marker, up to the value specified by MaxRecords.
14260	Marker *string `type:"string"`
14261
14262	// The maximum number of records to include in the response. If more records
14263	// exist than the specified MaxRecords value, a pagination token called a marker
14264	// is included in the response so that the remaining results can be retrieved.
14265	//
14266	// Default: 100
14267	//
14268	// Constraints: Minimum 20, maximum 100.
14269	MaxRecords *int64 `type:"integer"`
14270}
14271
14272// String returns the string representation.
14273//
14274// API parameter values that are decorated as "sensitive" in the API will not
14275// be included in the string output. The member name will be present, but the
14276// value will be replaced with "sensitive".
14277func (s DescribeEngineDefaultParametersInput) String() string {
14278	return awsutil.Prettify(s)
14279}
14280
14281// GoString returns the string representation.
14282//
14283// API parameter values that are decorated as "sensitive" in the API will not
14284// be included in the string output. The member name will be present, but the
14285// value will be replaced with "sensitive".
14286func (s DescribeEngineDefaultParametersInput) GoString() string {
14287	return s.String()
14288}
14289
14290// Validate inspects the fields of the type to determine if they are valid.
14291func (s *DescribeEngineDefaultParametersInput) Validate() error {
14292	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"}
14293	if s.DBParameterGroupFamily == nil {
14294		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
14295	}
14296	if s.Filters != nil {
14297		for i, v := range s.Filters {
14298			if v == nil {
14299				continue
14300			}
14301			if err := v.Validate(); err != nil {
14302				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
14303			}
14304		}
14305	}
14306
14307	if invalidParams.Len() > 0 {
14308		return invalidParams
14309	}
14310	return nil
14311}
14312
14313// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
14314func (s *DescribeEngineDefaultParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultParametersInput {
14315	s.DBParameterGroupFamily = &v
14316	return s
14317}
14318
14319// SetFilters sets the Filters field's value.
14320func (s *DescribeEngineDefaultParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultParametersInput {
14321	s.Filters = v
14322	return s
14323}
14324
14325// SetMarker sets the Marker field's value.
14326func (s *DescribeEngineDefaultParametersInput) SetMarker(v string) *DescribeEngineDefaultParametersInput {
14327	s.Marker = &v
14328	return s
14329}
14330
14331// SetMaxRecords sets the MaxRecords field's value.
14332func (s *DescribeEngineDefaultParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultParametersInput {
14333	s.MaxRecords = &v
14334	return s
14335}
14336
14337type DescribeEngineDefaultParametersOutput struct {
14338	_ struct{} `type:"structure"`
14339
14340	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
14341	// action.
14342	EngineDefaults *EngineDefaults `type:"structure"`
14343}
14344
14345// String returns the string representation.
14346//
14347// API parameter values that are decorated as "sensitive" in the API will not
14348// be included in the string output. The member name will be present, but the
14349// value will be replaced with "sensitive".
14350func (s DescribeEngineDefaultParametersOutput) String() string {
14351	return awsutil.Prettify(s)
14352}
14353
14354// GoString returns the string representation.
14355//
14356// API parameter values that are decorated as "sensitive" in the API will not
14357// be included in the string output. The member name will be present, but the
14358// value will be replaced with "sensitive".
14359func (s DescribeEngineDefaultParametersOutput) GoString() string {
14360	return s.String()
14361}
14362
14363// SetEngineDefaults sets the EngineDefaults field's value.
14364func (s *DescribeEngineDefaultParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultParametersOutput {
14365	s.EngineDefaults = v
14366	return s
14367}
14368
14369type DescribeEventCategoriesInput struct {
14370	_ struct{} `type:"structure"`
14371
14372	// This parameter is not currently supported.
14373	Filters []*Filter `locationNameList:"Filter" type:"list"`
14374
14375	// The type of source that is generating the events.
14376	//
14377	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
14378	SourceType *string `type:"string"`
14379}
14380
14381// String returns the string representation.
14382//
14383// API parameter values that are decorated as "sensitive" in the API will not
14384// be included in the string output. The member name will be present, but the
14385// value will be replaced with "sensitive".
14386func (s DescribeEventCategoriesInput) String() string {
14387	return awsutil.Prettify(s)
14388}
14389
14390// GoString returns the string representation.
14391//
14392// API parameter values that are decorated as "sensitive" in the API will not
14393// be included in the string output. The member name will be present, but the
14394// value will be replaced with "sensitive".
14395func (s DescribeEventCategoriesInput) GoString() string {
14396	return s.String()
14397}
14398
14399// Validate inspects the fields of the type to determine if they are valid.
14400func (s *DescribeEventCategoriesInput) Validate() error {
14401	invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"}
14402	if s.Filters != nil {
14403		for i, v := range s.Filters {
14404			if v == nil {
14405				continue
14406			}
14407			if err := v.Validate(); err != nil {
14408				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
14409			}
14410		}
14411	}
14412
14413	if invalidParams.Len() > 0 {
14414		return invalidParams
14415	}
14416	return nil
14417}
14418
14419// SetFilters sets the Filters field's value.
14420func (s *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput {
14421	s.Filters = v
14422	return s
14423}
14424
14425// SetSourceType sets the SourceType field's value.
14426func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput {
14427	s.SourceType = &v
14428	return s
14429}
14430
14431type DescribeEventCategoriesOutput struct {
14432	_ struct{} `type:"structure"`
14433
14434	// A list of EventCategoriesMap data types.
14435	EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"`
14436}
14437
14438// String returns the string representation.
14439//
14440// API parameter values that are decorated as "sensitive" in the API will not
14441// be included in the string output. The member name will be present, but the
14442// value will be replaced with "sensitive".
14443func (s DescribeEventCategoriesOutput) String() string {
14444	return awsutil.Prettify(s)
14445}
14446
14447// GoString returns the string representation.
14448//
14449// API parameter values that are decorated as "sensitive" in the API will not
14450// be included in the string output. The member name will be present, but the
14451// value will be replaced with "sensitive".
14452func (s DescribeEventCategoriesOutput) GoString() string {
14453	return s.String()
14454}
14455
14456// SetEventCategoriesMapList sets the EventCategoriesMapList field's value.
14457func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput {
14458	s.EventCategoriesMapList = v
14459	return s
14460}
14461
14462type DescribeEventSubscriptionsInput struct {
14463	_ struct{} `type:"structure"`
14464
14465	// This parameter is not currently supported.
14466	Filters []*Filter `locationNameList:"Filter" type:"list"`
14467
14468	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
14469	// request. If this parameter is specified, the response includes only records
14470	// beyond the marker, up to the value specified by MaxRecords .
14471	Marker *string `type:"string"`
14472
14473	// The maximum number of records to include in the response. If more records
14474	// exist than the specified MaxRecords value, a pagination token called a marker
14475	// is included in the response so that the remaining results can be retrieved.
14476	//
14477	// Default: 100
14478	//
14479	// Constraints: Minimum 20, maximum 100.
14480	MaxRecords *int64 `type:"integer"`
14481
14482	// The name of the event notification subscription you want to describe.
14483	SubscriptionName *string `type:"string"`
14484}
14485
14486// String returns the string representation.
14487//
14488// API parameter values that are decorated as "sensitive" in the API will not
14489// be included in the string output. The member name will be present, but the
14490// value will be replaced with "sensitive".
14491func (s DescribeEventSubscriptionsInput) String() string {
14492	return awsutil.Prettify(s)
14493}
14494
14495// GoString returns the string representation.
14496//
14497// API parameter values that are decorated as "sensitive" in the API will not
14498// be included in the string output. The member name will be present, but the
14499// value will be replaced with "sensitive".
14500func (s DescribeEventSubscriptionsInput) GoString() string {
14501	return s.String()
14502}
14503
14504// Validate inspects the fields of the type to determine if they are valid.
14505func (s *DescribeEventSubscriptionsInput) Validate() error {
14506	invalidParams := request.ErrInvalidParams{Context: "DescribeEventSubscriptionsInput"}
14507	if s.Filters != nil {
14508		for i, v := range s.Filters {
14509			if v == nil {
14510				continue
14511			}
14512			if err := v.Validate(); err != nil {
14513				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
14514			}
14515		}
14516	}
14517
14518	if invalidParams.Len() > 0 {
14519		return invalidParams
14520	}
14521	return nil
14522}
14523
14524// SetFilters sets the Filters field's value.
14525func (s *DescribeEventSubscriptionsInput) SetFilters(v []*Filter) *DescribeEventSubscriptionsInput {
14526	s.Filters = v
14527	return s
14528}
14529
14530// SetMarker sets the Marker field's value.
14531func (s *DescribeEventSubscriptionsInput) SetMarker(v string) *DescribeEventSubscriptionsInput {
14532	s.Marker = &v
14533	return s
14534}
14535
14536// SetMaxRecords sets the MaxRecords field's value.
14537func (s *DescribeEventSubscriptionsInput) SetMaxRecords(v int64) *DescribeEventSubscriptionsInput {
14538	s.MaxRecords = &v
14539	return s
14540}
14541
14542// SetSubscriptionName sets the SubscriptionName field's value.
14543func (s *DescribeEventSubscriptionsInput) SetSubscriptionName(v string) *DescribeEventSubscriptionsInput {
14544	s.SubscriptionName = &v
14545	return s
14546}
14547
14548type DescribeEventSubscriptionsOutput struct {
14549	_ struct{} `type:"structure"`
14550
14551	// A list of EventSubscriptions data types.
14552	EventSubscriptionsList []*EventSubscription `locationNameList:"EventSubscription" type:"list"`
14553
14554	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
14555	// request. If this parameter is specified, the response includes only records
14556	// beyond the marker, up to the value specified by MaxRecords.
14557	Marker *string `type:"string"`
14558}
14559
14560// String returns the string representation.
14561//
14562// API parameter values that are decorated as "sensitive" in the API will not
14563// be included in the string output. The member name will be present, but the
14564// value will be replaced with "sensitive".
14565func (s DescribeEventSubscriptionsOutput) String() string {
14566	return awsutil.Prettify(s)
14567}
14568
14569// GoString returns the string representation.
14570//
14571// API parameter values that are decorated as "sensitive" in the API will not
14572// be included in the string output. The member name will be present, but the
14573// value will be replaced with "sensitive".
14574func (s DescribeEventSubscriptionsOutput) GoString() string {
14575	return s.String()
14576}
14577
14578// SetEventSubscriptionsList sets the EventSubscriptionsList field's value.
14579func (s *DescribeEventSubscriptionsOutput) SetEventSubscriptionsList(v []*EventSubscription) *DescribeEventSubscriptionsOutput {
14580	s.EventSubscriptionsList = v
14581	return s
14582}
14583
14584// SetMarker sets the Marker field's value.
14585func (s *DescribeEventSubscriptionsOutput) SetMarker(v string) *DescribeEventSubscriptionsOutput {
14586	s.Marker = &v
14587	return s
14588}
14589
14590type DescribeEventsInput struct {
14591	_ struct{} `type:"structure"`
14592
14593	// The number of minutes to retrieve events for.
14594	//
14595	// Default: 60
14596	Duration *int64 `type:"integer"`
14597
14598	// The end of the time interval for which to retrieve events, specified in ISO
14599	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
14600	// page. (http://en.wikipedia.org/wiki/ISO_8601)
14601	//
14602	// Example: 2009-07-08T18:00Z
14603	EndTime *time.Time `type:"timestamp"`
14604
14605	// A list of event categories that trigger notifications for a event notification
14606	// subscription.
14607	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
14608
14609	// This parameter is not currently supported.
14610	Filters []*Filter `locationNameList:"Filter" type:"list"`
14611
14612	// An optional pagination token provided by a previous DescribeEvents request.
14613	// If this parameter is specified, the response includes only records beyond
14614	// the marker, up to the value specified by MaxRecords.
14615	Marker *string `type:"string"`
14616
14617	// The maximum number of records to include in the response. If more records
14618	// exist than the specified MaxRecords value, a pagination token called a marker
14619	// is included in the response so that the remaining results can be retrieved.
14620	//
14621	// Default: 100
14622	//
14623	// Constraints: Minimum 20, maximum 100.
14624	MaxRecords *int64 `type:"integer"`
14625
14626	// The identifier of the event source for which events are returned. If not
14627	// specified, then all sources are included in the response.
14628	//
14629	// Constraints:
14630	//
14631	//    * If SourceIdentifier is supplied, SourceType must also be provided.
14632	//
14633	//    * If the source type is DBInstance, then a DBInstanceIdentifier must be
14634	//    supplied.
14635	//
14636	//    * If the source type is DBSecurityGroup, a DBSecurityGroupName must be
14637	//    supplied.
14638	//
14639	//    * If the source type is DBParameterGroup, a DBParameterGroupName must
14640	//    be supplied.
14641	//
14642	//    * If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied.
14643	//
14644	//    * Cannot end with a hyphen or contain two consecutive hyphens.
14645	SourceIdentifier *string `type:"string"`
14646
14647	// The event source to retrieve events for. If no value is specified, all events
14648	// are returned.
14649	SourceType *string `type:"string" enum:"SourceType"`
14650
14651	// The beginning of the time interval to retrieve events for, specified in ISO
14652	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
14653	// page. (http://en.wikipedia.org/wiki/ISO_8601)
14654	//
14655	// Example: 2009-07-08T18:00Z
14656	StartTime *time.Time `type:"timestamp"`
14657}
14658
14659// String returns the string representation.
14660//
14661// API parameter values that are decorated as "sensitive" in the API will not
14662// be included in the string output. The member name will be present, but the
14663// value will be replaced with "sensitive".
14664func (s DescribeEventsInput) String() string {
14665	return awsutil.Prettify(s)
14666}
14667
14668// GoString returns the string representation.
14669//
14670// API parameter values that are decorated as "sensitive" in the API will not
14671// be included in the string output. The member name will be present, but the
14672// value will be replaced with "sensitive".
14673func (s DescribeEventsInput) GoString() string {
14674	return s.String()
14675}
14676
14677// Validate inspects the fields of the type to determine if they are valid.
14678func (s *DescribeEventsInput) Validate() error {
14679	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
14680	if s.Filters != nil {
14681		for i, v := range s.Filters {
14682			if v == nil {
14683				continue
14684			}
14685			if err := v.Validate(); err != nil {
14686				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
14687			}
14688		}
14689	}
14690
14691	if invalidParams.Len() > 0 {
14692		return invalidParams
14693	}
14694	return nil
14695}
14696
14697// SetDuration sets the Duration field's value.
14698func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
14699	s.Duration = &v
14700	return s
14701}
14702
14703// SetEndTime sets the EndTime field's value.
14704func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
14705	s.EndTime = &v
14706	return s
14707}
14708
14709// SetEventCategories sets the EventCategories field's value.
14710func (s *DescribeEventsInput) SetEventCategories(v []*string) *DescribeEventsInput {
14711	s.EventCategories = v
14712	return s
14713}
14714
14715// SetFilters sets the Filters field's value.
14716func (s *DescribeEventsInput) SetFilters(v []*Filter) *DescribeEventsInput {
14717	s.Filters = v
14718	return s
14719}
14720
14721// SetMarker sets the Marker field's value.
14722func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput {
14723	s.Marker = &v
14724	return s
14725}
14726
14727// SetMaxRecords sets the MaxRecords field's value.
14728func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
14729	s.MaxRecords = &v
14730	return s
14731}
14732
14733// SetSourceIdentifier sets the SourceIdentifier field's value.
14734func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput {
14735	s.SourceIdentifier = &v
14736	return s
14737}
14738
14739// SetSourceType sets the SourceType field's value.
14740func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
14741	s.SourceType = &v
14742	return s
14743}
14744
14745// SetStartTime sets the StartTime field's value.
14746func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
14747	s.StartTime = &v
14748	return s
14749}
14750
14751type DescribeEventsOutput struct {
14752	_ struct{} `type:"structure"`
14753
14754	// A list of Event instances.
14755	Events []*Event `locationNameList:"Event" type:"list"`
14756
14757	// An optional pagination token provided by a previous Events request. If this
14758	// parameter is specified, the response includes only records beyond the marker,
14759	// up to the value specified by MaxRecords .
14760	Marker *string `type:"string"`
14761}
14762
14763// String returns the string representation.
14764//
14765// API parameter values that are decorated as "sensitive" in the API will not
14766// be included in the string output. The member name will be present, but the
14767// value will be replaced with "sensitive".
14768func (s DescribeEventsOutput) String() string {
14769	return awsutil.Prettify(s)
14770}
14771
14772// GoString returns the string representation.
14773//
14774// API parameter values that are decorated as "sensitive" in the API will not
14775// be included in the string output. The member name will be present, but the
14776// value will be replaced with "sensitive".
14777func (s DescribeEventsOutput) GoString() string {
14778	return s.String()
14779}
14780
14781// SetEvents sets the Events field's value.
14782func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
14783	s.Events = v
14784	return s
14785}
14786
14787// SetMarker sets the Marker field's value.
14788func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput {
14789	s.Marker = &v
14790	return s
14791}
14792
14793type DescribeOrderableDBInstanceOptionsInput struct {
14794	_ struct{} `type:"structure"`
14795
14796	// The DB instance class filter value. Specify this parameter to show only the
14797	// available offerings matching the specified DB instance class.
14798	DBInstanceClass *string `type:"string"`
14799
14800	// The name of the engine to retrieve DB instance options for.
14801	//
14802	// Engine is a required field
14803	Engine *string `type:"string" required:"true"`
14804
14805	// The engine version filter value. Specify this parameter to show only the
14806	// available offerings matching the specified engine version.
14807	EngineVersion *string `type:"string"`
14808
14809	// This parameter is not currently supported.
14810	Filters []*Filter `locationNameList:"Filter" type:"list"`
14811
14812	// The license model filter value. Specify this parameter to show only the available
14813	// offerings matching the specified license model.
14814	LicenseModel *string `type:"string"`
14815
14816	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
14817	// request. If this parameter is specified, the response includes only records
14818	// beyond the marker, up to the value specified by MaxRecords .
14819	Marker *string `type:"string"`
14820
14821	// The maximum number of records to include in the response. If more records
14822	// exist than the specified MaxRecords value, a pagination token called a marker
14823	// is included in the response so that the remaining results can be retrieved.
14824	//
14825	// Default: 100
14826	//
14827	// Constraints: Minimum 20, maximum 100.
14828	MaxRecords *int64 `type:"integer"`
14829
14830	// The VPC filter value. Specify this parameter to show only the available VPC
14831	// or non-VPC offerings.
14832	Vpc *bool `type:"boolean"`
14833}
14834
14835// String returns the string representation.
14836//
14837// API parameter values that are decorated as "sensitive" in the API will not
14838// be included in the string output. The member name will be present, but the
14839// value will be replaced with "sensitive".
14840func (s DescribeOrderableDBInstanceOptionsInput) String() string {
14841	return awsutil.Prettify(s)
14842}
14843
14844// GoString returns the string representation.
14845//
14846// API parameter values that are decorated as "sensitive" in the API will not
14847// be included in the string output. The member name will be present, but the
14848// value will be replaced with "sensitive".
14849func (s DescribeOrderableDBInstanceOptionsInput) GoString() string {
14850	return s.String()
14851}
14852
14853// Validate inspects the fields of the type to determine if they are valid.
14854func (s *DescribeOrderableDBInstanceOptionsInput) Validate() error {
14855	invalidParams := request.ErrInvalidParams{Context: "DescribeOrderableDBInstanceOptionsInput"}
14856	if s.Engine == nil {
14857		invalidParams.Add(request.NewErrParamRequired("Engine"))
14858	}
14859	if s.Filters != nil {
14860		for i, v := range s.Filters {
14861			if v == nil {
14862				continue
14863			}
14864			if err := v.Validate(); err != nil {
14865				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
14866			}
14867		}
14868	}
14869
14870	if invalidParams.Len() > 0 {
14871		return invalidParams
14872	}
14873	return nil
14874}
14875
14876// SetDBInstanceClass sets the DBInstanceClass field's value.
14877func (s *DescribeOrderableDBInstanceOptionsInput) SetDBInstanceClass(v string) *DescribeOrderableDBInstanceOptionsInput {
14878	s.DBInstanceClass = &v
14879	return s
14880}
14881
14882// SetEngine sets the Engine field's value.
14883func (s *DescribeOrderableDBInstanceOptionsInput) SetEngine(v string) *DescribeOrderableDBInstanceOptionsInput {
14884	s.Engine = &v
14885	return s
14886}
14887
14888// SetEngineVersion sets the EngineVersion field's value.
14889func (s *DescribeOrderableDBInstanceOptionsInput) SetEngineVersion(v string) *DescribeOrderableDBInstanceOptionsInput {
14890	s.EngineVersion = &v
14891	return s
14892}
14893
14894// SetFilters sets the Filters field's value.
14895func (s *DescribeOrderableDBInstanceOptionsInput) SetFilters(v []*Filter) *DescribeOrderableDBInstanceOptionsInput {
14896	s.Filters = v
14897	return s
14898}
14899
14900// SetLicenseModel sets the LicenseModel field's value.
14901func (s *DescribeOrderableDBInstanceOptionsInput) SetLicenseModel(v string) *DescribeOrderableDBInstanceOptionsInput {
14902	s.LicenseModel = &v
14903	return s
14904}
14905
14906// SetMarker sets the Marker field's value.
14907func (s *DescribeOrderableDBInstanceOptionsInput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsInput {
14908	s.Marker = &v
14909	return s
14910}
14911
14912// SetMaxRecords sets the MaxRecords field's value.
14913func (s *DescribeOrderableDBInstanceOptionsInput) SetMaxRecords(v int64) *DescribeOrderableDBInstanceOptionsInput {
14914	s.MaxRecords = &v
14915	return s
14916}
14917
14918// SetVpc sets the Vpc field's value.
14919func (s *DescribeOrderableDBInstanceOptionsInput) SetVpc(v bool) *DescribeOrderableDBInstanceOptionsInput {
14920	s.Vpc = &v
14921	return s
14922}
14923
14924type DescribeOrderableDBInstanceOptionsOutput struct {
14925	_ struct{} `type:"structure"`
14926
14927	// An optional pagination token provided by a previous OrderableDBInstanceOptions
14928	// request. If this parameter is specified, the response includes only records
14929	// beyond the marker, up to the value specified by MaxRecords .
14930	Marker *string `type:"string"`
14931
14932	// An OrderableDBInstanceOption structure containing information about orderable
14933	// options for the DB instance.
14934	OrderableDBInstanceOptions []*OrderableDBInstanceOption `locationNameList:"OrderableDBInstanceOption" type:"list"`
14935}
14936
14937// String returns the string representation.
14938//
14939// API parameter values that are decorated as "sensitive" in the API will not
14940// be included in the string output. The member name will be present, but the
14941// value will be replaced with "sensitive".
14942func (s DescribeOrderableDBInstanceOptionsOutput) String() string {
14943	return awsutil.Prettify(s)
14944}
14945
14946// GoString returns the string representation.
14947//
14948// API parameter values that are decorated as "sensitive" in the API will not
14949// be included in the string output. The member name will be present, but the
14950// value will be replaced with "sensitive".
14951func (s DescribeOrderableDBInstanceOptionsOutput) GoString() string {
14952	return s.String()
14953}
14954
14955// SetMarker sets the Marker field's value.
14956func (s *DescribeOrderableDBInstanceOptionsOutput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsOutput {
14957	s.Marker = &v
14958	return s
14959}
14960
14961// SetOrderableDBInstanceOptions sets the OrderableDBInstanceOptions field's value.
14962func (s *DescribeOrderableDBInstanceOptionsOutput) SetOrderableDBInstanceOptions(v []*OrderableDBInstanceOption) *DescribeOrderableDBInstanceOptionsOutput {
14963	s.OrderableDBInstanceOptions = v
14964	return s
14965}
14966
14967type DescribePendingMaintenanceActionsInput struct {
14968	_ struct{} `type:"structure"`
14969
14970	// A filter that specifies one or more resources to return pending maintenance
14971	// actions for.
14972	//
14973	// Supported filters:
14974	//
14975	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
14976	//    Resource Names (ARNs). The results list will only include pending maintenance
14977	//    actions for the DB clusters identified by these ARNs.
14978	//
14979	//    * db-instance-id - Accepts DB instance identifiers and DB instance ARNs.
14980	//    The results list will only include pending maintenance actions for the
14981	//    DB instances identified by these ARNs.
14982	Filters []*Filter `locationNameList:"Filter" type:"list"`
14983
14984	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
14985	// request. If this parameter is specified, the response includes only records
14986	// beyond the marker, up to a number of records specified by MaxRecords.
14987	Marker *string `type:"string"`
14988
14989	// The maximum number of records to include in the response. If more records
14990	// exist than the specified MaxRecords value, a pagination token called a marker
14991	// is included in the response so that the remaining results can be retrieved.
14992	//
14993	// Default: 100
14994	//
14995	// Constraints: Minimum 20, maximum 100.
14996	MaxRecords *int64 `type:"integer"`
14997
14998	// The ARN of a resource to return pending maintenance actions for.
14999	ResourceIdentifier *string `type:"string"`
15000}
15001
15002// String returns the string representation.
15003//
15004// API parameter values that are decorated as "sensitive" in the API will not
15005// be included in the string output. The member name will be present, but the
15006// value will be replaced with "sensitive".
15007func (s DescribePendingMaintenanceActionsInput) String() string {
15008	return awsutil.Prettify(s)
15009}
15010
15011// GoString returns the string representation.
15012//
15013// API parameter values that are decorated as "sensitive" in the API will not
15014// be included in the string output. The member name will be present, but the
15015// value will be replaced with "sensitive".
15016func (s DescribePendingMaintenanceActionsInput) GoString() string {
15017	return s.String()
15018}
15019
15020// Validate inspects the fields of the type to determine if they are valid.
15021func (s *DescribePendingMaintenanceActionsInput) Validate() error {
15022	invalidParams := request.ErrInvalidParams{Context: "DescribePendingMaintenanceActionsInput"}
15023	if s.Filters != nil {
15024		for i, v := range s.Filters {
15025			if v == nil {
15026				continue
15027			}
15028			if err := v.Validate(); err != nil {
15029				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
15030			}
15031		}
15032	}
15033
15034	if invalidParams.Len() > 0 {
15035		return invalidParams
15036	}
15037	return nil
15038}
15039
15040// SetFilters sets the Filters field's value.
15041func (s *DescribePendingMaintenanceActionsInput) SetFilters(v []*Filter) *DescribePendingMaintenanceActionsInput {
15042	s.Filters = v
15043	return s
15044}
15045
15046// SetMarker sets the Marker field's value.
15047func (s *DescribePendingMaintenanceActionsInput) SetMarker(v string) *DescribePendingMaintenanceActionsInput {
15048	s.Marker = &v
15049	return s
15050}
15051
15052// SetMaxRecords sets the MaxRecords field's value.
15053func (s *DescribePendingMaintenanceActionsInput) SetMaxRecords(v int64) *DescribePendingMaintenanceActionsInput {
15054	s.MaxRecords = &v
15055	return s
15056}
15057
15058// SetResourceIdentifier sets the ResourceIdentifier field's value.
15059func (s *DescribePendingMaintenanceActionsInput) SetResourceIdentifier(v string) *DescribePendingMaintenanceActionsInput {
15060	s.ResourceIdentifier = &v
15061	return s
15062}
15063
15064type DescribePendingMaintenanceActionsOutput struct {
15065	_ struct{} `type:"structure"`
15066
15067	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
15068	// request. If this parameter is specified, the response includes only records
15069	// beyond the marker, up to a number of records specified by MaxRecords.
15070	Marker *string `type:"string"`
15071
15072	// A list of the pending maintenance actions for the resource.
15073	PendingMaintenanceActions []*ResourcePendingMaintenanceActions `locationNameList:"ResourcePendingMaintenanceActions" type:"list"`
15074}
15075
15076// String returns the string representation.
15077//
15078// API parameter values that are decorated as "sensitive" in the API will not
15079// be included in the string output. The member name will be present, but the
15080// value will be replaced with "sensitive".
15081func (s DescribePendingMaintenanceActionsOutput) String() string {
15082	return awsutil.Prettify(s)
15083}
15084
15085// GoString returns the string representation.
15086//
15087// API parameter values that are decorated as "sensitive" in the API will not
15088// be included in the string output. The member name will be present, but the
15089// value will be replaced with "sensitive".
15090func (s DescribePendingMaintenanceActionsOutput) GoString() string {
15091	return s.String()
15092}
15093
15094// SetMarker sets the Marker field's value.
15095func (s *DescribePendingMaintenanceActionsOutput) SetMarker(v string) *DescribePendingMaintenanceActionsOutput {
15096	s.Marker = &v
15097	return s
15098}
15099
15100// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
15101func (s *DescribePendingMaintenanceActionsOutput) SetPendingMaintenanceActions(v []*ResourcePendingMaintenanceActions) *DescribePendingMaintenanceActionsOutput {
15102	s.PendingMaintenanceActions = v
15103	return s
15104}
15105
15106type DescribeValidDBInstanceModificationsInput struct {
15107	_ struct{} `type:"structure"`
15108
15109	// The customer identifier or the ARN of your DB instance.
15110	//
15111	// DBInstanceIdentifier is a required field
15112	DBInstanceIdentifier *string `type:"string" required:"true"`
15113}
15114
15115// String returns the string representation.
15116//
15117// API parameter values that are decorated as "sensitive" in the API will not
15118// be included in the string output. The member name will be present, but the
15119// value will be replaced with "sensitive".
15120func (s DescribeValidDBInstanceModificationsInput) String() string {
15121	return awsutil.Prettify(s)
15122}
15123
15124// GoString returns the string representation.
15125//
15126// API parameter values that are decorated as "sensitive" in the API will not
15127// be included in the string output. The member name will be present, but the
15128// value will be replaced with "sensitive".
15129func (s DescribeValidDBInstanceModificationsInput) GoString() string {
15130	return s.String()
15131}
15132
15133// Validate inspects the fields of the type to determine if they are valid.
15134func (s *DescribeValidDBInstanceModificationsInput) Validate() error {
15135	invalidParams := request.ErrInvalidParams{Context: "DescribeValidDBInstanceModificationsInput"}
15136	if s.DBInstanceIdentifier == nil {
15137		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
15138	}
15139
15140	if invalidParams.Len() > 0 {
15141		return invalidParams
15142	}
15143	return nil
15144}
15145
15146// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
15147func (s *DescribeValidDBInstanceModificationsInput) SetDBInstanceIdentifier(v string) *DescribeValidDBInstanceModificationsInput {
15148	s.DBInstanceIdentifier = &v
15149	return s
15150}
15151
15152type DescribeValidDBInstanceModificationsOutput struct {
15153	_ struct{} `type:"structure"`
15154
15155	// Information about valid modifications that you can make to your DB instance.
15156	// Contains the result of a successful call to the DescribeValidDBInstanceModifications
15157	// action. You can use this information when you call ModifyDBInstance.
15158	ValidDBInstanceModificationsMessage *ValidDBInstanceModificationsMessage `type:"structure"`
15159}
15160
15161// String returns the string representation.
15162//
15163// API parameter values that are decorated as "sensitive" in the API will not
15164// be included in the string output. The member name will be present, but the
15165// value will be replaced with "sensitive".
15166func (s DescribeValidDBInstanceModificationsOutput) String() string {
15167	return awsutil.Prettify(s)
15168}
15169
15170// GoString returns the string representation.
15171//
15172// API parameter values that are decorated as "sensitive" in the API will not
15173// be included in the string output. The member name will be present, but the
15174// value will be replaced with "sensitive".
15175func (s DescribeValidDBInstanceModificationsOutput) GoString() string {
15176	return s.String()
15177}
15178
15179// SetValidDBInstanceModificationsMessage sets the ValidDBInstanceModificationsMessage field's value.
15180func (s *DescribeValidDBInstanceModificationsOutput) SetValidDBInstanceModificationsMessage(v *ValidDBInstanceModificationsMessage) *DescribeValidDBInstanceModificationsOutput {
15181	s.ValidDBInstanceModificationsMessage = v
15182	return s
15183}
15184
15185// An Active Directory Domain membership record associated with a DB instance.
15186type DomainMembership struct {
15187	_ struct{} `type:"structure"`
15188
15189	// The identifier of the Active Directory Domain.
15190	Domain *string `type:"string"`
15191
15192	// The fully qualified domain name of the Active Directory Domain.
15193	FQDN *string `type:"string"`
15194
15195	// The name of the IAM role to be used when making API calls to the Directory
15196	// Service.
15197	IAMRoleName *string `type:"string"`
15198
15199	// The status of the DB instance's Active Directory Domain membership, such
15200	// as joined, pending-join, failed etc).
15201	Status *string `type:"string"`
15202}
15203
15204// String returns the string representation.
15205//
15206// API parameter values that are decorated as "sensitive" in the API will not
15207// be included in the string output. The member name will be present, but the
15208// value will be replaced with "sensitive".
15209func (s DomainMembership) String() string {
15210	return awsutil.Prettify(s)
15211}
15212
15213// GoString returns the string representation.
15214//
15215// API parameter values that are decorated as "sensitive" in the API will not
15216// be included in the string output. The member name will be present, but the
15217// value will be replaced with "sensitive".
15218func (s DomainMembership) GoString() string {
15219	return s.String()
15220}
15221
15222// SetDomain sets the Domain field's value.
15223func (s *DomainMembership) SetDomain(v string) *DomainMembership {
15224	s.Domain = &v
15225	return s
15226}
15227
15228// SetFQDN sets the FQDN field's value.
15229func (s *DomainMembership) SetFQDN(v string) *DomainMembership {
15230	s.FQDN = &v
15231	return s
15232}
15233
15234// SetIAMRoleName sets the IAMRoleName field's value.
15235func (s *DomainMembership) SetIAMRoleName(v string) *DomainMembership {
15236	s.IAMRoleName = &v
15237	return s
15238}
15239
15240// SetStatus sets the Status field's value.
15241func (s *DomainMembership) SetStatus(v string) *DomainMembership {
15242	s.Status = &v
15243	return s
15244}
15245
15246// A range of double values.
15247type DoubleRange struct {
15248	_ struct{} `type:"structure"`
15249
15250	// The minimum value in the range.
15251	From *float64 `type:"double"`
15252
15253	// The maximum value in the range.
15254	To *float64 `type:"double"`
15255}
15256
15257// String returns the string representation.
15258//
15259// API parameter values that are decorated as "sensitive" in the API will not
15260// be included in the string output. The member name will be present, but the
15261// value will be replaced with "sensitive".
15262func (s DoubleRange) String() string {
15263	return awsutil.Prettify(s)
15264}
15265
15266// GoString returns the string representation.
15267//
15268// API parameter values that are decorated as "sensitive" in the API will not
15269// be included in the string output. The member name will be present, but the
15270// value will be replaced with "sensitive".
15271func (s DoubleRange) GoString() string {
15272	return s.String()
15273}
15274
15275// SetFrom sets the From field's value.
15276func (s *DoubleRange) SetFrom(v float64) *DoubleRange {
15277	s.From = &v
15278	return s
15279}
15280
15281// SetTo sets the To field's value.
15282func (s *DoubleRange) SetTo(v float64) *DoubleRange {
15283	s.To = &v
15284	return s
15285}
15286
15287// Specifies a connection endpoint.
15288//
15289// For the data structure that represents Amazon Neptune DB cluster endpoints,
15290// see DBClusterEndpoint.
15291type Endpoint struct {
15292	_ struct{} `type:"structure"`
15293
15294	// Specifies the DNS address of the DB instance.
15295	Address *string `type:"string"`
15296
15297	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
15298	HostedZoneId *string `type:"string"`
15299
15300	// Specifies the port that the database engine is listening on.
15301	Port *int64 `type:"integer"`
15302}
15303
15304// String returns the string representation.
15305//
15306// API parameter values that are decorated as "sensitive" in the API will not
15307// be included in the string output. The member name will be present, but the
15308// value will be replaced with "sensitive".
15309func (s Endpoint) String() string {
15310	return awsutil.Prettify(s)
15311}
15312
15313// GoString returns the string representation.
15314//
15315// API parameter values that are decorated as "sensitive" in the API will not
15316// be included in the string output. The member name will be present, but the
15317// value will be replaced with "sensitive".
15318func (s Endpoint) GoString() string {
15319	return s.String()
15320}
15321
15322// SetAddress sets the Address field's value.
15323func (s *Endpoint) SetAddress(v string) *Endpoint {
15324	s.Address = &v
15325	return s
15326}
15327
15328// SetHostedZoneId sets the HostedZoneId field's value.
15329func (s *Endpoint) SetHostedZoneId(v string) *Endpoint {
15330	s.HostedZoneId = &v
15331	return s
15332}
15333
15334// SetPort sets the Port field's value.
15335func (s *Endpoint) SetPort(v int64) *Endpoint {
15336	s.Port = &v
15337	return s
15338}
15339
15340// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
15341// action.
15342type EngineDefaults struct {
15343	_ struct{} `type:"structure"`
15344
15345	// Specifies the name of the DB parameter group family that the engine default
15346	// parameters apply to.
15347	DBParameterGroupFamily *string `type:"string"`
15348
15349	// An optional pagination token provided by a previous EngineDefaults request.
15350	// If this parameter is specified, the response includes only records beyond
15351	// the marker, up to the value specified by MaxRecords .
15352	Marker *string `type:"string"`
15353
15354	// Contains a list of engine default parameters.
15355	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
15356}
15357
15358// String returns the string representation.
15359//
15360// API parameter values that are decorated as "sensitive" in the API will not
15361// be included in the string output. The member name will be present, but the
15362// value will be replaced with "sensitive".
15363func (s EngineDefaults) String() string {
15364	return awsutil.Prettify(s)
15365}
15366
15367// GoString returns the string representation.
15368//
15369// API parameter values that are decorated as "sensitive" in the API will not
15370// be included in the string output. The member name will be present, but the
15371// value will be replaced with "sensitive".
15372func (s EngineDefaults) GoString() string {
15373	return s.String()
15374}
15375
15376// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
15377func (s *EngineDefaults) SetDBParameterGroupFamily(v string) *EngineDefaults {
15378	s.DBParameterGroupFamily = &v
15379	return s
15380}
15381
15382// SetMarker sets the Marker field's value.
15383func (s *EngineDefaults) SetMarker(v string) *EngineDefaults {
15384	s.Marker = &v
15385	return s
15386}
15387
15388// SetParameters sets the Parameters field's value.
15389func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults {
15390	s.Parameters = v
15391	return s
15392}
15393
15394// This data type is used as a response element in the DescribeEvents action.
15395type Event struct {
15396	_ struct{} `type:"structure"`
15397
15398	// Specifies the date and time of the event.
15399	Date *time.Time `type:"timestamp"`
15400
15401	// Specifies the category for the event.
15402	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
15403
15404	// Provides the text of this event.
15405	Message *string `type:"string"`
15406
15407	// The Amazon Resource Name (ARN) for the event.
15408	SourceArn *string `type:"string"`
15409
15410	// Provides the identifier for the source of the event.
15411	SourceIdentifier *string `type:"string"`
15412
15413	// Specifies the source type for this event.
15414	SourceType *string `type:"string" enum:"SourceType"`
15415}
15416
15417// String returns the string representation.
15418//
15419// API parameter values that are decorated as "sensitive" in the API will not
15420// be included in the string output. The member name will be present, but the
15421// value will be replaced with "sensitive".
15422func (s Event) String() string {
15423	return awsutil.Prettify(s)
15424}
15425
15426// GoString returns the string representation.
15427//
15428// API parameter values that are decorated as "sensitive" in the API will not
15429// be included in the string output. The member name will be present, but the
15430// value will be replaced with "sensitive".
15431func (s Event) GoString() string {
15432	return s.String()
15433}
15434
15435// SetDate sets the Date field's value.
15436func (s *Event) SetDate(v time.Time) *Event {
15437	s.Date = &v
15438	return s
15439}
15440
15441// SetEventCategories sets the EventCategories field's value.
15442func (s *Event) SetEventCategories(v []*string) *Event {
15443	s.EventCategories = v
15444	return s
15445}
15446
15447// SetMessage sets the Message field's value.
15448func (s *Event) SetMessage(v string) *Event {
15449	s.Message = &v
15450	return s
15451}
15452
15453// SetSourceArn sets the SourceArn field's value.
15454func (s *Event) SetSourceArn(v string) *Event {
15455	s.SourceArn = &v
15456	return s
15457}
15458
15459// SetSourceIdentifier sets the SourceIdentifier field's value.
15460func (s *Event) SetSourceIdentifier(v string) *Event {
15461	s.SourceIdentifier = &v
15462	return s
15463}
15464
15465// SetSourceType sets the SourceType field's value.
15466func (s *Event) SetSourceType(v string) *Event {
15467	s.SourceType = &v
15468	return s
15469}
15470
15471// Contains the results of a successful invocation of the DescribeEventCategories
15472// action.
15473type EventCategoriesMap struct {
15474	_ struct{} `type:"structure"`
15475
15476	// The event categories for the specified source type
15477	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
15478
15479	// The source type that the returned categories belong to
15480	SourceType *string `type:"string"`
15481}
15482
15483// String returns the string representation.
15484//
15485// API parameter values that are decorated as "sensitive" in the API will not
15486// be included in the string output. The member name will be present, but the
15487// value will be replaced with "sensitive".
15488func (s EventCategoriesMap) String() string {
15489	return awsutil.Prettify(s)
15490}
15491
15492// GoString returns the string representation.
15493//
15494// API parameter values that are decorated as "sensitive" in the API will not
15495// be included in the string output. The member name will be present, but the
15496// value will be replaced with "sensitive".
15497func (s EventCategoriesMap) GoString() string {
15498	return s.String()
15499}
15500
15501// SetEventCategories sets the EventCategories field's value.
15502func (s *EventCategoriesMap) SetEventCategories(v []*string) *EventCategoriesMap {
15503	s.EventCategories = v
15504	return s
15505}
15506
15507// SetSourceType sets the SourceType field's value.
15508func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap {
15509	s.SourceType = &v
15510	return s
15511}
15512
15513// Contains the results of a successful invocation of the DescribeEventSubscriptions
15514// action.
15515type EventSubscription struct {
15516	_ struct{} `type:"structure"`
15517
15518	// The event notification subscription Id.
15519	CustSubscriptionId *string `type:"string"`
15520
15521	// The Amazon customer account associated with the event notification subscription.
15522	CustomerAwsId *string `type:"string"`
15523
15524	// A Boolean value indicating if the subscription is enabled. True indicates
15525	// the subscription is enabled.
15526	Enabled *bool `type:"boolean"`
15527
15528	// A list of event categories for the event notification subscription.
15529	EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"`
15530
15531	// The Amazon Resource Name (ARN) for the event subscription.
15532	EventSubscriptionArn *string `type:"string"`
15533
15534	// The topic ARN of the event notification subscription.
15535	SnsTopicArn *string `type:"string"`
15536
15537	// A list of source IDs for the event notification subscription.
15538	SourceIdsList []*string `locationNameList:"SourceId" type:"list"`
15539
15540	// The source type for the event notification subscription.
15541	SourceType *string `type:"string"`
15542
15543	// The status of the event notification subscription.
15544	//
15545	// Constraints:
15546	//
15547	// Can be one of the following: creating | modifying | deleting | active | no-permission
15548	// | topic-not-exist
15549	//
15550	// The status "no-permission" indicates that Neptune no longer has permission
15551	// to post to the SNS topic. The status "topic-not-exist" indicates that the
15552	// topic was deleted after the subscription was created.
15553	Status *string `type:"string"`
15554
15555	// The time the event notification subscription was created.
15556	SubscriptionCreationTime *string `type:"string"`
15557}
15558
15559// String returns the string representation.
15560//
15561// API parameter values that are decorated as "sensitive" in the API will not
15562// be included in the string output. The member name will be present, but the
15563// value will be replaced with "sensitive".
15564func (s EventSubscription) String() string {
15565	return awsutil.Prettify(s)
15566}
15567
15568// GoString returns the string representation.
15569//
15570// API parameter values that are decorated as "sensitive" in the API will not
15571// be included in the string output. The member name will be present, but the
15572// value will be replaced with "sensitive".
15573func (s EventSubscription) GoString() string {
15574	return s.String()
15575}
15576
15577// SetCustSubscriptionId sets the CustSubscriptionId field's value.
15578func (s *EventSubscription) SetCustSubscriptionId(v string) *EventSubscription {
15579	s.CustSubscriptionId = &v
15580	return s
15581}
15582
15583// SetCustomerAwsId sets the CustomerAwsId field's value.
15584func (s *EventSubscription) SetCustomerAwsId(v string) *EventSubscription {
15585	s.CustomerAwsId = &v
15586	return s
15587}
15588
15589// SetEnabled sets the Enabled field's value.
15590func (s *EventSubscription) SetEnabled(v bool) *EventSubscription {
15591	s.Enabled = &v
15592	return s
15593}
15594
15595// SetEventCategoriesList sets the EventCategoriesList field's value.
15596func (s *EventSubscription) SetEventCategoriesList(v []*string) *EventSubscription {
15597	s.EventCategoriesList = v
15598	return s
15599}
15600
15601// SetEventSubscriptionArn sets the EventSubscriptionArn field's value.
15602func (s *EventSubscription) SetEventSubscriptionArn(v string) *EventSubscription {
15603	s.EventSubscriptionArn = &v
15604	return s
15605}
15606
15607// SetSnsTopicArn sets the SnsTopicArn field's value.
15608func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription {
15609	s.SnsTopicArn = &v
15610	return s
15611}
15612
15613// SetSourceIdsList sets the SourceIdsList field's value.
15614func (s *EventSubscription) SetSourceIdsList(v []*string) *EventSubscription {
15615	s.SourceIdsList = v
15616	return s
15617}
15618
15619// SetSourceType sets the SourceType field's value.
15620func (s *EventSubscription) SetSourceType(v string) *EventSubscription {
15621	s.SourceType = &v
15622	return s
15623}
15624
15625// SetStatus sets the Status field's value.
15626func (s *EventSubscription) SetStatus(v string) *EventSubscription {
15627	s.Status = &v
15628	return s
15629}
15630
15631// SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
15632func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscription {
15633	s.SubscriptionCreationTime = &v
15634	return s
15635}
15636
15637type FailoverDBClusterInput struct {
15638	_ struct{} `type:"structure"`
15639
15640	// A DB cluster identifier to force a failover for. This parameter is not case-sensitive.
15641	//
15642	// Constraints:
15643	//
15644	//    * Must match the identifier of an existing DBCluster.
15645	DBClusterIdentifier *string `type:"string"`
15646
15647	// The name of the instance to promote to the primary instance.
15648	//
15649	// You must specify the instance identifier for an Read Replica in the DB cluster.
15650	// For example, mydbcluster-replica1.
15651	TargetDBInstanceIdentifier *string `type:"string"`
15652}
15653
15654// String returns the string representation.
15655//
15656// API parameter values that are decorated as "sensitive" in the API will not
15657// be included in the string output. The member name will be present, but the
15658// value will be replaced with "sensitive".
15659func (s FailoverDBClusterInput) String() string {
15660	return awsutil.Prettify(s)
15661}
15662
15663// GoString returns the string representation.
15664//
15665// API parameter values that are decorated as "sensitive" in the API will not
15666// be included in the string output. The member name will be present, but the
15667// value will be replaced with "sensitive".
15668func (s FailoverDBClusterInput) GoString() string {
15669	return s.String()
15670}
15671
15672// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
15673func (s *FailoverDBClusterInput) SetDBClusterIdentifier(v string) *FailoverDBClusterInput {
15674	s.DBClusterIdentifier = &v
15675	return s
15676}
15677
15678// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
15679func (s *FailoverDBClusterInput) SetTargetDBInstanceIdentifier(v string) *FailoverDBClusterInput {
15680	s.TargetDBInstanceIdentifier = &v
15681	return s
15682}
15683
15684type FailoverDBClusterOutput struct {
15685	_ struct{} `type:"structure"`
15686
15687	// Contains the details of an Amazon Neptune DB cluster.
15688	//
15689	// This data type is used as a response element in the DescribeDBClusters action.
15690	DBCluster *DBCluster `type:"structure"`
15691}
15692
15693// String returns the string representation.
15694//
15695// API parameter values that are decorated as "sensitive" in the API will not
15696// be included in the string output. The member name will be present, but the
15697// value will be replaced with "sensitive".
15698func (s FailoverDBClusterOutput) String() string {
15699	return awsutil.Prettify(s)
15700}
15701
15702// GoString returns the string representation.
15703//
15704// API parameter values that are decorated as "sensitive" in the API will not
15705// be included in the string output. The member name will be present, but the
15706// value will be replaced with "sensitive".
15707func (s FailoverDBClusterOutput) GoString() string {
15708	return s.String()
15709}
15710
15711// SetDBCluster sets the DBCluster field's value.
15712func (s *FailoverDBClusterOutput) SetDBCluster(v *DBCluster) *FailoverDBClusterOutput {
15713	s.DBCluster = v
15714	return s
15715}
15716
15717// This type is not currently supported.
15718type Filter struct {
15719	_ struct{} `type:"structure"`
15720
15721	// This parameter is not currently supported.
15722	//
15723	// Name is a required field
15724	Name *string `type:"string" required:"true"`
15725
15726	// This parameter is not currently supported.
15727	//
15728	// Values is a required field
15729	Values []*string `locationNameList:"Value" type:"list" required:"true"`
15730}
15731
15732// String returns the string representation.
15733//
15734// API parameter values that are decorated as "sensitive" in the API will not
15735// be included in the string output. The member name will be present, but the
15736// value will be replaced with "sensitive".
15737func (s Filter) String() string {
15738	return awsutil.Prettify(s)
15739}
15740
15741// GoString returns the string representation.
15742//
15743// API parameter values that are decorated as "sensitive" in the API will not
15744// be included in the string output. The member name will be present, but the
15745// value will be replaced with "sensitive".
15746func (s Filter) GoString() string {
15747	return s.String()
15748}
15749
15750// Validate inspects the fields of the type to determine if they are valid.
15751func (s *Filter) Validate() error {
15752	invalidParams := request.ErrInvalidParams{Context: "Filter"}
15753	if s.Name == nil {
15754		invalidParams.Add(request.NewErrParamRequired("Name"))
15755	}
15756	if s.Values == nil {
15757		invalidParams.Add(request.NewErrParamRequired("Values"))
15758	}
15759
15760	if invalidParams.Len() > 0 {
15761		return invalidParams
15762	}
15763	return nil
15764}
15765
15766// SetName sets the Name field's value.
15767func (s *Filter) SetName(v string) *Filter {
15768	s.Name = &v
15769	return s
15770}
15771
15772// SetValues sets the Values field's value.
15773func (s *Filter) SetValues(v []*string) *Filter {
15774	s.Values = v
15775	return s
15776}
15777
15778type ListTagsForResourceInput struct {
15779	_ struct{} `type:"structure"`
15780
15781	// This parameter is not currently supported.
15782	Filters []*Filter `locationNameList:"Filter" type:"list"`
15783
15784	// The Amazon Neptune resource with tags to be listed. This value is an Amazon
15785	// Resource Name (ARN). For information about creating an ARN, see Constructing
15786	// an Amazon Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
15787	//
15788	// ResourceName is a required field
15789	ResourceName *string `type:"string" required:"true"`
15790}
15791
15792// String returns the string representation.
15793//
15794// API parameter values that are decorated as "sensitive" in the API will not
15795// be included in the string output. The member name will be present, but the
15796// value will be replaced with "sensitive".
15797func (s ListTagsForResourceInput) String() string {
15798	return awsutil.Prettify(s)
15799}
15800
15801// GoString returns the string representation.
15802//
15803// API parameter values that are decorated as "sensitive" in the API will not
15804// be included in the string output. The member name will be present, but the
15805// value will be replaced with "sensitive".
15806func (s ListTagsForResourceInput) GoString() string {
15807	return s.String()
15808}
15809
15810// Validate inspects the fields of the type to determine if they are valid.
15811func (s *ListTagsForResourceInput) Validate() error {
15812	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
15813	if s.ResourceName == nil {
15814		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
15815	}
15816	if s.Filters != nil {
15817		for i, v := range s.Filters {
15818			if v == nil {
15819				continue
15820			}
15821			if err := v.Validate(); err != nil {
15822				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
15823			}
15824		}
15825	}
15826
15827	if invalidParams.Len() > 0 {
15828		return invalidParams
15829	}
15830	return nil
15831}
15832
15833// SetFilters sets the Filters field's value.
15834func (s *ListTagsForResourceInput) SetFilters(v []*Filter) *ListTagsForResourceInput {
15835	s.Filters = v
15836	return s
15837}
15838
15839// SetResourceName sets the ResourceName field's value.
15840func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput {
15841	s.ResourceName = &v
15842	return s
15843}
15844
15845type ListTagsForResourceOutput struct {
15846	_ struct{} `type:"structure"`
15847
15848	// List of tags returned by the ListTagsForResource operation.
15849	TagList []*Tag `locationNameList:"Tag" type:"list"`
15850}
15851
15852// String returns the string representation.
15853//
15854// API parameter values that are decorated as "sensitive" in the API will not
15855// be included in the string output. The member name will be present, but the
15856// value will be replaced with "sensitive".
15857func (s ListTagsForResourceOutput) String() string {
15858	return awsutil.Prettify(s)
15859}
15860
15861// GoString returns the string representation.
15862//
15863// API parameter values that are decorated as "sensitive" in the API will not
15864// be included in the string output. The member name will be present, but the
15865// value will be replaced with "sensitive".
15866func (s ListTagsForResourceOutput) GoString() string {
15867	return s.String()
15868}
15869
15870// SetTagList sets the TagList field's value.
15871func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
15872	s.TagList = v
15873	return s
15874}
15875
15876type ModifyDBClusterEndpointInput struct {
15877	_ struct{} `type:"structure"`
15878
15879	// The identifier of the endpoint to modify. This parameter is stored as a lowercase
15880	// string.
15881	//
15882	// DBClusterEndpointIdentifier is a required field
15883	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
15884
15885	// The type of the endpoint. One of: READER, WRITER, ANY.
15886	EndpointType *string `type:"string"`
15887
15888	// List of DB instance identifiers that aren't part of the custom endpoint group.
15889	// All other eligible instances are reachable through the custom endpoint. Only
15890	// relevant if the list of static members is empty.
15891	ExcludedMembers []*string `type:"list"`
15892
15893	// List of DB instance identifiers that are part of the custom endpoint group.
15894	StaticMembers []*string `type:"list"`
15895}
15896
15897// String returns the string representation.
15898//
15899// API parameter values that are decorated as "sensitive" in the API will not
15900// be included in the string output. The member name will be present, but the
15901// value will be replaced with "sensitive".
15902func (s ModifyDBClusterEndpointInput) String() string {
15903	return awsutil.Prettify(s)
15904}
15905
15906// GoString returns the string representation.
15907//
15908// API parameter values that are decorated as "sensitive" in the API will not
15909// be included in the string output. The member name will be present, but the
15910// value will be replaced with "sensitive".
15911func (s ModifyDBClusterEndpointInput) GoString() string {
15912	return s.String()
15913}
15914
15915// Validate inspects the fields of the type to determine if they are valid.
15916func (s *ModifyDBClusterEndpointInput) Validate() error {
15917	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterEndpointInput"}
15918	if s.DBClusterEndpointIdentifier == nil {
15919		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
15920	}
15921
15922	if invalidParams.Len() > 0 {
15923		return invalidParams
15924	}
15925	return nil
15926}
15927
15928// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
15929func (s *ModifyDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *ModifyDBClusterEndpointInput {
15930	s.DBClusterEndpointIdentifier = &v
15931	return s
15932}
15933
15934// SetEndpointType sets the EndpointType field's value.
15935func (s *ModifyDBClusterEndpointInput) SetEndpointType(v string) *ModifyDBClusterEndpointInput {
15936	s.EndpointType = &v
15937	return s
15938}
15939
15940// SetExcludedMembers sets the ExcludedMembers field's value.
15941func (s *ModifyDBClusterEndpointInput) SetExcludedMembers(v []*string) *ModifyDBClusterEndpointInput {
15942	s.ExcludedMembers = v
15943	return s
15944}
15945
15946// SetStaticMembers sets the StaticMembers field's value.
15947func (s *ModifyDBClusterEndpointInput) SetStaticMembers(v []*string) *ModifyDBClusterEndpointInput {
15948	s.StaticMembers = v
15949	return s
15950}
15951
15952// This data type represents the information you need to connect to an Amazon
15953// Aurora DB cluster. This data type is used as a response element in the following
15954// actions:
15955//
15956//    * CreateDBClusterEndpoint
15957//
15958//    * DescribeDBClusterEndpoints
15959//
15960//    * ModifyDBClusterEndpoint
15961//
15962//    * DeleteDBClusterEndpoint
15963//
15964// For the data structure that represents Amazon RDS DB instance endpoints,
15965// see Endpoint.
15966type ModifyDBClusterEndpointOutput struct {
15967	_ struct{} `type:"structure"`
15968
15969	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
15970	CustomEndpointType *string `type:"string"`
15971
15972	// The Amazon Resource Name (ARN) for the endpoint.
15973	DBClusterEndpointArn *string `type:"string"`
15974
15975	// The identifier associated with the endpoint. This parameter is stored as
15976	// a lowercase string.
15977	DBClusterEndpointIdentifier *string `type:"string"`
15978
15979	// A unique system-generated identifier for an endpoint. It remains the same
15980	// for the whole life of the endpoint.
15981	DBClusterEndpointResourceIdentifier *string `type:"string"`
15982
15983	// The DB cluster identifier of the DB cluster associated with the endpoint.
15984	// This parameter is stored as a lowercase string.
15985	DBClusterIdentifier *string `type:"string"`
15986
15987	// The DNS address of the endpoint.
15988	Endpoint *string `type:"string"`
15989
15990	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
15991	EndpointType *string `type:"string"`
15992
15993	// List of DB instance identifiers that aren't part of the custom endpoint group.
15994	// All other eligible instances are reachable through the custom endpoint. Only
15995	// relevant if the list of static members is empty.
15996	ExcludedMembers []*string `type:"list"`
15997
15998	// List of DB instance identifiers that are part of the custom endpoint group.
15999	StaticMembers []*string `type:"list"`
16000
16001	// The current status of the endpoint. One of: creating, available, deleting,
16002	// inactive, modifying. The inactive state applies to an endpoint that cannot
16003	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
16004	// secondary cluster in a global database.
16005	Status *string `type:"string"`
16006}
16007
16008// String returns the string representation.
16009//
16010// API parameter values that are decorated as "sensitive" in the API will not
16011// be included in the string output. The member name will be present, but the
16012// value will be replaced with "sensitive".
16013func (s ModifyDBClusterEndpointOutput) String() string {
16014	return awsutil.Prettify(s)
16015}
16016
16017// GoString returns the string representation.
16018//
16019// API parameter values that are decorated as "sensitive" in the API will not
16020// be included in the string output. The member name will be present, but the
16021// value will be replaced with "sensitive".
16022func (s ModifyDBClusterEndpointOutput) GoString() string {
16023	return s.String()
16024}
16025
16026// SetCustomEndpointType sets the CustomEndpointType field's value.
16027func (s *ModifyDBClusterEndpointOutput) SetCustomEndpointType(v string) *ModifyDBClusterEndpointOutput {
16028	s.CustomEndpointType = &v
16029	return s
16030}
16031
16032// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
16033func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *ModifyDBClusterEndpointOutput {
16034	s.DBClusterEndpointArn = &v
16035	return s
16036}
16037
16038// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
16039func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *ModifyDBClusterEndpointOutput {
16040	s.DBClusterEndpointIdentifier = &v
16041	return s
16042}
16043
16044// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
16045func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *ModifyDBClusterEndpointOutput {
16046	s.DBClusterEndpointResourceIdentifier = &v
16047	return s
16048}
16049
16050// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16051func (s *ModifyDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *ModifyDBClusterEndpointOutput {
16052	s.DBClusterIdentifier = &v
16053	return s
16054}
16055
16056// SetEndpoint sets the Endpoint field's value.
16057func (s *ModifyDBClusterEndpointOutput) SetEndpoint(v string) *ModifyDBClusterEndpointOutput {
16058	s.Endpoint = &v
16059	return s
16060}
16061
16062// SetEndpointType sets the EndpointType field's value.
16063func (s *ModifyDBClusterEndpointOutput) SetEndpointType(v string) *ModifyDBClusterEndpointOutput {
16064	s.EndpointType = &v
16065	return s
16066}
16067
16068// SetExcludedMembers sets the ExcludedMembers field's value.
16069func (s *ModifyDBClusterEndpointOutput) SetExcludedMembers(v []*string) *ModifyDBClusterEndpointOutput {
16070	s.ExcludedMembers = v
16071	return s
16072}
16073
16074// SetStaticMembers sets the StaticMembers field's value.
16075func (s *ModifyDBClusterEndpointOutput) SetStaticMembers(v []*string) *ModifyDBClusterEndpointOutput {
16076	s.StaticMembers = v
16077	return s
16078}
16079
16080// SetStatus sets the Status field's value.
16081func (s *ModifyDBClusterEndpointOutput) SetStatus(v string) *ModifyDBClusterEndpointOutput {
16082	s.Status = &v
16083	return s
16084}
16085
16086type ModifyDBClusterInput struct {
16087	_ struct{} `type:"structure"`
16088
16089	// A value that indicates whether upgrades between different major versions
16090	// are allowed.
16091	//
16092	// Constraints: You must set the allow-major-version-upgrade flag when providing
16093	// an EngineVersion parameter that uses a different major version than the DB
16094	// cluster's current version.
16095	AllowMajorVersionUpgrade *bool `type:"boolean"`
16096
16097	// A value that specifies whether the modifications in this request and any
16098	// pending modifications are asynchronously applied as soon as possible, regardless
16099	// of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter
16100	// is set to false, changes to the DB cluster are applied during the next maintenance
16101	// window.
16102	//
16103	// The ApplyImmediately parameter only affects NewDBClusterIdentifier values.
16104	// If you set the ApplyImmediately parameter value to false, then changes to
16105	// NewDBClusterIdentifier values are applied during the next maintenance window.
16106	// All other changes are applied immediately, regardless of the value of the
16107	// ApplyImmediately parameter.
16108	//
16109	// Default: false
16110	ApplyImmediately *bool `type:"boolean"`
16111
16112	// The number of days for which automated backups are retained. You must specify
16113	// a minimum value of 1.
16114	//
16115	// Default: 1
16116	//
16117	// Constraints:
16118	//
16119	//    * Must be a value from 1 to 35
16120	BackupRetentionPeriod *int64 `type:"integer"`
16121
16122	// The configuration setting for the log types to be enabled for export to CloudWatch
16123	// Logs for a specific DB cluster.
16124	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
16125
16126	// If set to true, tags are copied to any snapshot of the DB cluster that is
16127	// created.
16128	CopyTagsToSnapshot *bool `type:"boolean"`
16129
16130	// The DB cluster identifier for the cluster being modified. This parameter
16131	// is not case-sensitive.
16132	//
16133	// Constraints:
16134	//
16135	//    * Must match the identifier of an existing DBCluster.
16136	//
16137	// DBClusterIdentifier is a required field
16138	DBClusterIdentifier *string `type:"string" required:"true"`
16139
16140	// The name of the DB cluster parameter group to use for the DB cluster.
16141	DBClusterParameterGroupName *string `type:"string"`
16142
16143	// The name of the DB parameter group to apply to all instances of the DB cluster.
16144	//
16145	// When you apply a parameter group using DBInstanceParameterGroupName, parameter
16146	// changes aren't applied during the next maintenance window but instead are
16147	// applied immediately.
16148	//
16149	// Default: The existing name setting
16150	//
16151	// Constraints:
16152	//
16153	//    * The DB parameter group must be in the same DB parameter group family
16154	//    as the target DB cluster version.
16155	//
16156	//    * The DBInstanceParameterGroupName parameter is only valid in combination
16157	//    with the AllowMajorVersionUpgrade parameter.
16158	DBInstanceParameterGroupName *string `type:"string"`
16159
16160	// A value that indicates whether the DB cluster has deletion protection enabled.
16161	// The database can't be deleted when deletion protection is enabled. By default,
16162	// deletion protection is disabled.
16163	DeletionProtection *bool `type:"boolean"`
16164
16165	// True to enable mapping of Amazon Identity and Access Management (IAM) accounts
16166	// to database accounts, and otherwise false.
16167	//
16168	// Default: false
16169	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
16170
16171	// The version number of the database engine to which you want to upgrade. Changing
16172	// this parameter results in an outage. The change is applied during the next
16173	// maintenance window unless the ApplyImmediately parameter is set to true.
16174	//
16175	// For a list of valid engine versions, see Engine Releases for Amazon Neptune
16176	// (https://docs.aws.amazon.com/neptune/latest/userguide/engine-releases.html),
16177	// or call DescribeDBEngineVersions (https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions).
16178	EngineVersion *string `type:"string"`
16179
16180	// Not supported by Neptune.
16181	MasterUserPassword *string `type:"string"`
16182
16183	// The new DB cluster identifier for the DB cluster when renaming a DB cluster.
16184	// This value is stored as a lowercase string.
16185	//
16186	// Constraints:
16187	//
16188	//    * Must contain from 1 to 63 letters, numbers, or hyphens
16189	//
16190	//    * The first character must be a letter
16191	//
16192	//    * Cannot end with a hyphen or contain two consecutive hyphens
16193	//
16194	// Example: my-cluster2
16195	NewDBClusterIdentifier *string `type:"string"`
16196
16197	// Not supported by Neptune.
16198	OptionGroupName *string `type:"string"`
16199
16200	// The port number on which the DB cluster accepts connections.
16201	//
16202	// Constraints: Value must be 1150-65535
16203	//
16204	// Default: The same port as the original DB cluster.
16205	Port *int64 `type:"integer"`
16206
16207	// The daily time range during which automated backups are created if automated
16208	// backups are enabled, using the BackupRetentionPeriod parameter.
16209	//
16210	// The default is a 30-minute window selected at random from an 8-hour block
16211	// of time for each Amazon Region.
16212	//
16213	// Constraints:
16214	//
16215	//    * Must be in the format hh24:mi-hh24:mi.
16216	//
16217	//    * Must be in Universal Coordinated Time (UTC).
16218	//
16219	//    * Must not conflict with the preferred maintenance window.
16220	//
16221	//    * Must be at least 30 minutes.
16222	PreferredBackupWindow *string `type:"string"`
16223
16224	// The weekly time range during which system maintenance can occur, in Universal
16225	// Coordinated Time (UTC).
16226	//
16227	// Format: ddd:hh24:mi-ddd:hh24:mi
16228	//
16229	// The default is a 30-minute window selected at random from an 8-hour block
16230	// of time for each Amazon Region, occurring on a random day of the week.
16231	//
16232	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
16233	//
16234	// Constraints: Minimum 30-minute window.
16235	PreferredMaintenanceWindow *string `type:"string"`
16236
16237	// A list of VPC security groups that the DB cluster will belong to.
16238	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
16239}
16240
16241// String returns the string representation.
16242//
16243// API parameter values that are decorated as "sensitive" in the API will not
16244// be included in the string output. The member name will be present, but the
16245// value will be replaced with "sensitive".
16246func (s ModifyDBClusterInput) String() string {
16247	return awsutil.Prettify(s)
16248}
16249
16250// GoString returns the string representation.
16251//
16252// API parameter values that are decorated as "sensitive" in the API will not
16253// be included in the string output. The member name will be present, but the
16254// value will be replaced with "sensitive".
16255func (s ModifyDBClusterInput) GoString() string {
16256	return s.String()
16257}
16258
16259// Validate inspects the fields of the type to determine if they are valid.
16260func (s *ModifyDBClusterInput) Validate() error {
16261	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterInput"}
16262	if s.DBClusterIdentifier == nil {
16263		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
16264	}
16265
16266	if invalidParams.Len() > 0 {
16267		return invalidParams
16268	}
16269	return nil
16270}
16271
16272// SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
16273func (s *ModifyDBClusterInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBClusterInput {
16274	s.AllowMajorVersionUpgrade = &v
16275	return s
16276}
16277
16278// SetApplyImmediately sets the ApplyImmediately field's value.
16279func (s *ModifyDBClusterInput) SetApplyImmediately(v bool) *ModifyDBClusterInput {
16280	s.ApplyImmediately = &v
16281	return s
16282}
16283
16284// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
16285func (s *ModifyDBClusterInput) SetBackupRetentionPeriod(v int64) *ModifyDBClusterInput {
16286	s.BackupRetentionPeriod = &v
16287	return s
16288}
16289
16290// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
16291func (s *ModifyDBClusterInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBClusterInput {
16292	s.CloudwatchLogsExportConfiguration = v
16293	return s
16294}
16295
16296// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
16297func (s *ModifyDBClusterInput) SetCopyTagsToSnapshot(v bool) *ModifyDBClusterInput {
16298	s.CopyTagsToSnapshot = &v
16299	return s
16300}
16301
16302// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16303func (s *ModifyDBClusterInput) SetDBClusterIdentifier(v string) *ModifyDBClusterInput {
16304	s.DBClusterIdentifier = &v
16305	return s
16306}
16307
16308// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
16309func (s *ModifyDBClusterInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterInput {
16310	s.DBClusterParameterGroupName = &v
16311	return s
16312}
16313
16314// SetDBInstanceParameterGroupName sets the DBInstanceParameterGroupName field's value.
16315func (s *ModifyDBClusterInput) SetDBInstanceParameterGroupName(v string) *ModifyDBClusterInput {
16316	s.DBInstanceParameterGroupName = &v
16317	return s
16318}
16319
16320// SetDeletionProtection sets the DeletionProtection field's value.
16321func (s *ModifyDBClusterInput) SetDeletionProtection(v bool) *ModifyDBClusterInput {
16322	s.DeletionProtection = &v
16323	return s
16324}
16325
16326// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
16327func (s *ModifyDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBClusterInput {
16328	s.EnableIAMDatabaseAuthentication = &v
16329	return s
16330}
16331
16332// SetEngineVersion sets the EngineVersion field's value.
16333func (s *ModifyDBClusterInput) SetEngineVersion(v string) *ModifyDBClusterInput {
16334	s.EngineVersion = &v
16335	return s
16336}
16337
16338// SetMasterUserPassword sets the MasterUserPassword field's value.
16339func (s *ModifyDBClusterInput) SetMasterUserPassword(v string) *ModifyDBClusterInput {
16340	s.MasterUserPassword = &v
16341	return s
16342}
16343
16344// SetNewDBClusterIdentifier sets the NewDBClusterIdentifier field's value.
16345func (s *ModifyDBClusterInput) SetNewDBClusterIdentifier(v string) *ModifyDBClusterInput {
16346	s.NewDBClusterIdentifier = &v
16347	return s
16348}
16349
16350// SetOptionGroupName sets the OptionGroupName field's value.
16351func (s *ModifyDBClusterInput) SetOptionGroupName(v string) *ModifyDBClusterInput {
16352	s.OptionGroupName = &v
16353	return s
16354}
16355
16356// SetPort sets the Port field's value.
16357func (s *ModifyDBClusterInput) SetPort(v int64) *ModifyDBClusterInput {
16358	s.Port = &v
16359	return s
16360}
16361
16362// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
16363func (s *ModifyDBClusterInput) SetPreferredBackupWindow(v string) *ModifyDBClusterInput {
16364	s.PreferredBackupWindow = &v
16365	return s
16366}
16367
16368// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
16369func (s *ModifyDBClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyDBClusterInput {
16370	s.PreferredMaintenanceWindow = &v
16371	return s
16372}
16373
16374// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
16375func (s *ModifyDBClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBClusterInput {
16376	s.VpcSecurityGroupIds = v
16377	return s
16378}
16379
16380type ModifyDBClusterOutput struct {
16381	_ struct{} `type:"structure"`
16382
16383	// Contains the details of an Amazon Neptune DB cluster.
16384	//
16385	// This data type is used as a response element in the DescribeDBClusters action.
16386	DBCluster *DBCluster `type:"structure"`
16387}
16388
16389// String returns the string representation.
16390//
16391// API parameter values that are decorated as "sensitive" in the API will not
16392// be included in the string output. The member name will be present, but the
16393// value will be replaced with "sensitive".
16394func (s ModifyDBClusterOutput) String() string {
16395	return awsutil.Prettify(s)
16396}
16397
16398// GoString returns the string representation.
16399//
16400// API parameter values that are decorated as "sensitive" in the API will not
16401// be included in the string output. The member name will be present, but the
16402// value will be replaced with "sensitive".
16403func (s ModifyDBClusterOutput) GoString() string {
16404	return s.String()
16405}
16406
16407// SetDBCluster sets the DBCluster field's value.
16408func (s *ModifyDBClusterOutput) SetDBCluster(v *DBCluster) *ModifyDBClusterOutput {
16409	s.DBCluster = v
16410	return s
16411}
16412
16413type ModifyDBClusterParameterGroupInput struct {
16414	_ struct{} `type:"structure"`
16415
16416	// The name of the DB cluster parameter group to modify.
16417	//
16418	// DBClusterParameterGroupName is a required field
16419	DBClusterParameterGroupName *string `type:"string" required:"true"`
16420
16421	// A list of parameters in the DB cluster parameter group to modify.
16422	//
16423	// Parameters is a required field
16424	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
16425}
16426
16427// String returns the string representation.
16428//
16429// API parameter values that are decorated as "sensitive" in the API will not
16430// be included in the string output. The member name will be present, but the
16431// value will be replaced with "sensitive".
16432func (s ModifyDBClusterParameterGroupInput) String() string {
16433	return awsutil.Prettify(s)
16434}
16435
16436// GoString returns the string representation.
16437//
16438// API parameter values that are decorated as "sensitive" in the API will not
16439// be included in the string output. The member name will be present, but the
16440// value will be replaced with "sensitive".
16441func (s ModifyDBClusterParameterGroupInput) GoString() string {
16442	return s.String()
16443}
16444
16445// Validate inspects the fields of the type to determine if they are valid.
16446func (s *ModifyDBClusterParameterGroupInput) Validate() error {
16447	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterParameterGroupInput"}
16448	if s.DBClusterParameterGroupName == nil {
16449		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
16450	}
16451	if s.Parameters == nil {
16452		invalidParams.Add(request.NewErrParamRequired("Parameters"))
16453	}
16454
16455	if invalidParams.Len() > 0 {
16456		return invalidParams
16457	}
16458	return nil
16459}
16460
16461// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
16462func (s *ModifyDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupInput {
16463	s.DBClusterParameterGroupName = &v
16464	return s
16465}
16466
16467// SetParameters sets the Parameters field's value.
16468func (s *ModifyDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBClusterParameterGroupInput {
16469	s.Parameters = v
16470	return s
16471}
16472
16473type ModifyDBClusterSnapshotAttributeInput struct {
16474	_ struct{} `type:"structure"`
16475
16476	// The name of the DB cluster snapshot attribute to modify.
16477	//
16478	// To manage authorization for other Amazon accounts to copy or restore a manual
16479	// DB cluster snapshot, set this value to restore.
16480	//
16481	// AttributeName is a required field
16482	AttributeName *string `type:"string" required:"true"`
16483
16484	// The identifier for the DB cluster snapshot to modify the attributes for.
16485	//
16486	// DBClusterSnapshotIdentifier is a required field
16487	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
16488
16489	// A list of DB cluster snapshot attributes to add to the attribute specified
16490	// by AttributeName.
16491	//
16492	// To authorize other Amazon accounts to copy or restore a manual DB cluster
16493	// snapshot, set this list to include one or more Amazon account IDs, or all
16494	// to make the manual DB cluster snapshot restorable by any Amazon account.
16495	// Do not add the all value for any manual DB cluster snapshots that contain
16496	// private information that you don't want available to all Amazon accounts.
16497	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
16498
16499	// A list of DB cluster snapshot attributes to remove from the attribute specified
16500	// by AttributeName.
16501	//
16502	// To remove authorization for other Amazon accounts to copy or restore a manual
16503	// DB cluster snapshot, set this list to include one or more Amazon account
16504	// identifiers, or all to remove authorization for any Amazon account to copy
16505	// or restore the DB cluster snapshot. If you specify all, an Amazon account
16506	// whose account ID is explicitly added to the restore attribute can still copy
16507	// or restore a manual DB cluster snapshot.
16508	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
16509}
16510
16511// String returns the string representation.
16512//
16513// API parameter values that are decorated as "sensitive" in the API will not
16514// be included in the string output. The member name will be present, but the
16515// value will be replaced with "sensitive".
16516func (s ModifyDBClusterSnapshotAttributeInput) String() string {
16517	return awsutil.Prettify(s)
16518}
16519
16520// GoString returns the string representation.
16521//
16522// API parameter values that are decorated as "sensitive" in the API will not
16523// be included in the string output. The member name will be present, but the
16524// value will be replaced with "sensitive".
16525func (s ModifyDBClusterSnapshotAttributeInput) GoString() string {
16526	return s.String()
16527}
16528
16529// Validate inspects the fields of the type to determine if they are valid.
16530func (s *ModifyDBClusterSnapshotAttributeInput) Validate() error {
16531	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterSnapshotAttributeInput"}
16532	if s.AttributeName == nil {
16533		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
16534	}
16535	if s.DBClusterSnapshotIdentifier == nil {
16536		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
16537	}
16538
16539	if invalidParams.Len() > 0 {
16540		return invalidParams
16541	}
16542	return nil
16543}
16544
16545// SetAttributeName sets the AttributeName field's value.
16546func (s *ModifyDBClusterSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBClusterSnapshotAttributeInput {
16547	s.AttributeName = &v
16548	return s
16549}
16550
16551// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
16552func (s *ModifyDBClusterSnapshotAttributeInput) SetDBClusterSnapshotIdentifier(v string) *ModifyDBClusterSnapshotAttributeInput {
16553	s.DBClusterSnapshotIdentifier = &v
16554	return s
16555}
16556
16557// SetValuesToAdd sets the ValuesToAdd field's value.
16558func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBClusterSnapshotAttributeInput {
16559	s.ValuesToAdd = v
16560	return s
16561}
16562
16563// SetValuesToRemove sets the ValuesToRemove field's value.
16564func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBClusterSnapshotAttributeInput {
16565	s.ValuesToRemove = v
16566	return s
16567}
16568
16569type ModifyDBClusterSnapshotAttributeOutput struct {
16570	_ struct{} `type:"structure"`
16571
16572	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
16573	// API action.
16574	//
16575	// Manual DB cluster snapshot attributes are used to authorize other Amazon
16576	// accounts to copy or restore a manual DB cluster snapshot. For more information,
16577	// see the ModifyDBClusterSnapshotAttribute API action.
16578	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
16579}
16580
16581// String returns the string representation.
16582//
16583// API parameter values that are decorated as "sensitive" in the API will not
16584// be included in the string output. The member name will be present, but the
16585// value will be replaced with "sensitive".
16586func (s ModifyDBClusterSnapshotAttributeOutput) String() string {
16587	return awsutil.Prettify(s)
16588}
16589
16590// GoString returns the string representation.
16591//
16592// API parameter values that are decorated as "sensitive" in the API will not
16593// be included in the string output. The member name will be present, but the
16594// value will be replaced with "sensitive".
16595func (s ModifyDBClusterSnapshotAttributeOutput) GoString() string {
16596	return s.String()
16597}
16598
16599// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
16600func (s *ModifyDBClusterSnapshotAttributeOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *ModifyDBClusterSnapshotAttributeOutput {
16601	s.DBClusterSnapshotAttributesResult = v
16602	return s
16603}
16604
16605type ModifyDBInstanceInput struct {
16606	_ struct{} `type:"structure"`
16607
16608	// Not supported by Neptune.
16609	AllocatedStorage *int64 `type:"integer"`
16610
16611	// Indicates that major version upgrades are allowed. Changing this parameter
16612	// doesn't result in an outage and the change is asynchronously applied as soon
16613	// as possible.
16614	AllowMajorVersionUpgrade *bool `type:"boolean"`
16615
16616	// Specifies whether the modifications in this request and any pending modifications
16617	// are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow
16618	// setting for the DB instance.
16619	//
16620	// If this parameter is set to false, changes to the DB instance are applied
16621	// during the next maintenance window. Some parameter changes can cause an outage
16622	// and are applied on the next call to RebootDBInstance, or the next failure
16623	// reboot.
16624	//
16625	// Default: false
16626	ApplyImmediately *bool `type:"boolean"`
16627
16628	// Indicates that minor version upgrades are applied automatically to the DB
16629	// instance during the maintenance window. Changing this parameter doesn't result
16630	// in an outage except in the following case and the change is asynchronously
16631	// applied as soon as possible. An outage will result if this parameter is set
16632	// to true during the maintenance window, and a newer minor version is available,
16633	// and Neptune has enabled auto patching for that engine version.
16634	AutoMinorVersionUpgrade *bool `type:"boolean"`
16635
16636	// Not applicable. The retention period for automated backups is managed by
16637	// the DB cluster. For more information, see ModifyDBCluster.
16638	//
16639	// Default: Uses existing setting
16640	BackupRetentionPeriod *int64 `type:"integer"`
16641
16642	// Indicates the certificate that needs to be associated with the instance.
16643	CACertificateIdentifier *string `type:"string"`
16644
16645	// The configuration setting for the log types to be enabled for export to CloudWatch
16646	// Logs for a specific DB instance or DB cluster.
16647	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
16648
16649	// True to copy all tags from the DB instance to snapshots of the DB instance,
16650	// and otherwise false. The default is false.
16651	CopyTagsToSnapshot *bool `type:"boolean"`
16652
16653	// The new compute and memory capacity of the DB instance, for example, db.m4.large.
16654	// Not all DB instance classes are available in all Amazon Regions.
16655	//
16656	// If you modify the DB instance class, an outage occurs during the change.
16657	// The change is applied during the next maintenance window, unless ApplyImmediately
16658	// is specified as true for this request.
16659	//
16660	// Default: Uses existing setting
16661	DBInstanceClass *string `type:"string"`
16662
16663	// The DB instance identifier. This value is stored as a lowercase string.
16664	//
16665	// Constraints:
16666	//
16667	//    * Must match the identifier of an existing DBInstance.
16668	//
16669	// DBInstanceIdentifier is a required field
16670	DBInstanceIdentifier *string `type:"string" required:"true"`
16671
16672	// The name of the DB parameter group to apply to the DB instance. Changing
16673	// this setting doesn't result in an outage. The parameter group name itself
16674	// is changed immediately, but the actual parameter changes are not applied
16675	// until you reboot the instance without failover. The db instance will NOT
16676	// be rebooted automatically and the parameter changes will NOT be applied during
16677	// the next maintenance window.
16678	//
16679	// Default: Uses existing setting
16680	//
16681	// Constraints: The DB parameter group must be in the same DB parameter group
16682	// family as this DB instance.
16683	DBParameterGroupName *string `type:"string"`
16684
16685	// The port number on which the database accepts connections.
16686	//
16687	// The value of the DBPortNumber parameter must not match any of the port values
16688	// specified for options in the option group for the DB instance.
16689	//
16690	// Your database will restart when you change the DBPortNumber value regardless
16691	// of the value of the ApplyImmediately parameter.
16692	//
16693	// Default: 8182
16694	DBPortNumber *int64 `type:"integer"`
16695
16696	// A list of DB security groups to authorize on this DB instance. Changing this
16697	// setting doesn't result in an outage and the change is asynchronously applied
16698	// as soon as possible.
16699	//
16700	// Constraints:
16701	//
16702	//    * If supplied, must match existing DBSecurityGroups.
16703	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
16704
16705	// The new DB subnet group for the DB instance. You can use this parameter to
16706	// move your DB instance to a different VPC.
16707	//
16708	// Changing the subnet group causes an outage during the change. The change
16709	// is applied during the next maintenance window, unless you specify true for
16710	// the ApplyImmediately parameter.
16711	//
16712	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
16713	//
16714	// Example: mySubnetGroup
16715	DBSubnetGroupName *string `type:"string"`
16716
16717	// A value that indicates whether the DB instance has deletion protection enabled.
16718	// The database can't be deleted when deletion protection is enabled. By default,
16719	// deletion protection is disabled. See Deleting a DB Instance (https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html).
16720	DeletionProtection *bool `type:"boolean"`
16721
16722	// Not supported.
16723	Domain *string `type:"string"`
16724
16725	// Not supported
16726	DomainIAMRoleName *string `type:"string"`
16727
16728	// True to enable mapping of Amazon Identity and Access Management (IAM) accounts
16729	// to database accounts, and otherwise false.
16730	//
16731	// You can enable IAM database authentication for the following database engines
16732	//
16733	// Not applicable. Mapping Amazon IAM accounts to database accounts is managed
16734	// by the DB cluster. For more information, see ModifyDBCluster.
16735	//
16736	// Default: false
16737	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
16738
16739	// (Not supported by Neptune)
16740	EnablePerformanceInsights *bool `type:"boolean"`
16741
16742	// The version number of the database engine to upgrade to. Currently, setting
16743	// this parameter has no effect. To upgrade your database engine to the most
16744	// recent release, use the ApplyPendingMaintenanceAction API.
16745	EngineVersion *string `type:"string"`
16746
16747	// The new Provisioned IOPS (I/O operations per second) value for the instance.
16748	//
16749	// Changing this setting doesn't result in an outage and the change is applied
16750	// during the next maintenance window unless the ApplyImmediately parameter
16751	// is set to true for this request.
16752	//
16753	// Default: Uses existing setting
16754	Iops *int64 `type:"integer"`
16755
16756	// Not supported by Neptune.
16757	LicenseModel *string `type:"string"`
16758
16759	// Not supported by Neptune.
16760	MasterUserPassword *string `type:"string"`
16761
16762	// The interval, in seconds, between points when Enhanced Monitoring metrics
16763	// are collected for the DB instance. To disable collecting Enhanced Monitoring
16764	// metrics, specify 0. The default is 0.
16765	//
16766	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
16767	// to a value other than 0.
16768	//
16769	// Valid Values: 0, 1, 5, 10, 15, 30, 60
16770	MonitoringInterval *int64 `type:"integer"`
16771
16772	// The ARN for the IAM role that permits Neptune to send enhanced monitoring
16773	// metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
16774	//
16775	// If MonitoringInterval is set to a value other than 0, then you must supply
16776	// a MonitoringRoleArn value.
16777	MonitoringRoleArn *string `type:"string"`
16778
16779	// Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter
16780	// doesn't result in an outage and the change is applied during the next maintenance
16781	// window unless the ApplyImmediately parameter is set to true for this request.
16782	MultiAZ *bool `type:"boolean"`
16783
16784	// The new DB instance identifier for the DB instance when renaming a DB instance.
16785	// When you change the DB instance identifier, an instance reboot will occur
16786	// immediately if you set Apply Immediately to true, or will occur during the
16787	// next maintenance window if Apply Immediately to false. This value is stored
16788	// as a lowercase string.
16789	//
16790	// Constraints:
16791	//
16792	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
16793	//
16794	//    * The first character must be a letter.
16795	//
16796	//    * Cannot end with a hyphen or contain two consecutive hyphens.
16797	//
16798	// Example: mydbinstance
16799	NewDBInstanceIdentifier *string `type:"string"`
16800
16801	// (Not supported by Neptune)
16802	OptionGroupName *string `type:"string"`
16803
16804	// (Not supported by Neptune)
16805	PerformanceInsightsKMSKeyId *string `type:"string"`
16806
16807	// The daily time range during which automated backups are created if automated
16808	// backups are enabled.
16809	//
16810	// Not applicable. The daily time range for creating automated backups is managed
16811	// by the DB cluster. For more information, see ModifyDBCluster.
16812	//
16813	// Constraints:
16814	//
16815	//    * Must be in the format hh24:mi-hh24:mi
16816	//
16817	//    * Must be in Universal Time Coordinated (UTC)
16818	//
16819	//    * Must not conflict with the preferred maintenance window
16820	//
16821	//    * Must be at least 30 minutes
16822	PreferredBackupWindow *string `type:"string"`
16823
16824	// The weekly time range (in UTC) during which system maintenance can occur,
16825	// which might result in an outage. Changing this parameter doesn't result in
16826	// an outage, except in the following situation, and the change is asynchronously
16827	// applied as soon as possible. If there are pending actions that cause a reboot,
16828	// and the maintenance window is changed to include the current time, then changing
16829	// this parameter will cause a reboot of the DB instance. If moving this window
16830	// to the current time, there must be at least 30 minutes between the current
16831	// time and end of the window to ensure pending changes are applied.
16832	//
16833	// Default: Uses existing setting
16834	//
16835	// Format: ddd:hh24:mi-ddd:hh24:mi
16836	//
16837	// Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
16838	//
16839	// Constraints: Must be at least 30 minutes
16840	PreferredMaintenanceWindow *string `type:"string"`
16841
16842	// A value that specifies the order in which a Read Replica is promoted to the
16843	// primary instance after a failure of the existing primary instance.
16844	//
16845	// Default: 1
16846	//
16847	// Valid Values: 0 - 15
16848	PromotionTier *int64 `type:"integer"`
16849
16850	// This flag should no longer be used.
16851	//
16852	// Deprecated: PubliclyAccessible has been deprecated
16853	PubliclyAccessible *bool `deprecated:"true" type:"boolean"`
16854
16855	// Not supported.
16856	StorageType *string `type:"string"`
16857
16858	// The ARN from the key store with which to associate the instance for TDE encryption.
16859	TdeCredentialArn *string `type:"string"`
16860
16861	// The password for the given ARN from the key store in order to access the
16862	// device.
16863	TdeCredentialPassword *string `type:"string"`
16864
16865	// A list of EC2 VPC security groups to authorize on this DB instance. This
16866	// change is asynchronously applied as soon as possible.
16867	//
16868	// Not applicable. The associated list of EC2 VPC security groups is managed
16869	// by the DB cluster. For more information, see ModifyDBCluster.
16870	//
16871	// Constraints:
16872	//
16873	//    * If supplied, must match existing VpcSecurityGroupIds.
16874	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
16875}
16876
16877// String returns the string representation.
16878//
16879// API parameter values that are decorated as "sensitive" in the API will not
16880// be included in the string output. The member name will be present, but the
16881// value will be replaced with "sensitive".
16882func (s ModifyDBInstanceInput) String() string {
16883	return awsutil.Prettify(s)
16884}
16885
16886// GoString returns the string representation.
16887//
16888// API parameter values that are decorated as "sensitive" in the API will not
16889// be included in the string output. The member name will be present, but the
16890// value will be replaced with "sensitive".
16891func (s ModifyDBInstanceInput) GoString() string {
16892	return s.String()
16893}
16894
16895// Validate inspects the fields of the type to determine if they are valid.
16896func (s *ModifyDBInstanceInput) Validate() error {
16897	invalidParams := request.ErrInvalidParams{Context: "ModifyDBInstanceInput"}
16898	if s.DBInstanceIdentifier == nil {
16899		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
16900	}
16901
16902	if invalidParams.Len() > 0 {
16903		return invalidParams
16904	}
16905	return nil
16906}
16907
16908// SetAllocatedStorage sets the AllocatedStorage field's value.
16909func (s *ModifyDBInstanceInput) SetAllocatedStorage(v int64) *ModifyDBInstanceInput {
16910	s.AllocatedStorage = &v
16911	return s
16912}
16913
16914// SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
16915func (s *ModifyDBInstanceInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBInstanceInput {
16916	s.AllowMajorVersionUpgrade = &v
16917	return s
16918}
16919
16920// SetApplyImmediately sets the ApplyImmediately field's value.
16921func (s *ModifyDBInstanceInput) SetApplyImmediately(v bool) *ModifyDBInstanceInput {
16922	s.ApplyImmediately = &v
16923	return s
16924}
16925
16926// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
16927func (s *ModifyDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *ModifyDBInstanceInput {
16928	s.AutoMinorVersionUpgrade = &v
16929	return s
16930}
16931
16932// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
16933func (s *ModifyDBInstanceInput) SetBackupRetentionPeriod(v int64) *ModifyDBInstanceInput {
16934	s.BackupRetentionPeriod = &v
16935	return s
16936}
16937
16938// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
16939func (s *ModifyDBInstanceInput) SetCACertificateIdentifier(v string) *ModifyDBInstanceInput {
16940	s.CACertificateIdentifier = &v
16941	return s
16942}
16943
16944// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
16945func (s *ModifyDBInstanceInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBInstanceInput {
16946	s.CloudwatchLogsExportConfiguration = v
16947	return s
16948}
16949
16950// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
16951func (s *ModifyDBInstanceInput) SetCopyTagsToSnapshot(v bool) *ModifyDBInstanceInput {
16952	s.CopyTagsToSnapshot = &v
16953	return s
16954}
16955
16956// SetDBInstanceClass sets the DBInstanceClass field's value.
16957func (s *ModifyDBInstanceInput) SetDBInstanceClass(v string) *ModifyDBInstanceInput {
16958	s.DBInstanceClass = &v
16959	return s
16960}
16961
16962// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
16963func (s *ModifyDBInstanceInput) SetDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
16964	s.DBInstanceIdentifier = &v
16965	return s
16966}
16967
16968// SetDBParameterGroupName sets the DBParameterGroupName field's value.
16969func (s *ModifyDBInstanceInput) SetDBParameterGroupName(v string) *ModifyDBInstanceInput {
16970	s.DBParameterGroupName = &v
16971	return s
16972}
16973
16974// SetDBPortNumber sets the DBPortNumber field's value.
16975func (s *ModifyDBInstanceInput) SetDBPortNumber(v int64) *ModifyDBInstanceInput {
16976	s.DBPortNumber = &v
16977	return s
16978}
16979
16980// SetDBSecurityGroups sets the DBSecurityGroups field's value.
16981func (s *ModifyDBInstanceInput) SetDBSecurityGroups(v []*string) *ModifyDBInstanceInput {
16982	s.DBSecurityGroups = v
16983	return s
16984}
16985
16986// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
16987func (s *ModifyDBInstanceInput) SetDBSubnetGroupName(v string) *ModifyDBInstanceInput {
16988	s.DBSubnetGroupName = &v
16989	return s
16990}
16991
16992// SetDeletionProtection sets the DeletionProtection field's value.
16993func (s *ModifyDBInstanceInput) SetDeletionProtection(v bool) *ModifyDBInstanceInput {
16994	s.DeletionProtection = &v
16995	return s
16996}
16997
16998// SetDomain sets the Domain field's value.
16999func (s *ModifyDBInstanceInput) SetDomain(v string) *ModifyDBInstanceInput {
17000	s.Domain = &v
17001	return s
17002}
17003
17004// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
17005func (s *ModifyDBInstanceInput) SetDomainIAMRoleName(v string) *ModifyDBInstanceInput {
17006	s.DomainIAMRoleName = &v
17007	return s
17008}
17009
17010// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
17011func (s *ModifyDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBInstanceInput {
17012	s.EnableIAMDatabaseAuthentication = &v
17013	return s
17014}
17015
17016// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
17017func (s *ModifyDBInstanceInput) SetEnablePerformanceInsights(v bool) *ModifyDBInstanceInput {
17018	s.EnablePerformanceInsights = &v
17019	return s
17020}
17021
17022// SetEngineVersion sets the EngineVersion field's value.
17023func (s *ModifyDBInstanceInput) SetEngineVersion(v string) *ModifyDBInstanceInput {
17024	s.EngineVersion = &v
17025	return s
17026}
17027
17028// SetIops sets the Iops field's value.
17029func (s *ModifyDBInstanceInput) SetIops(v int64) *ModifyDBInstanceInput {
17030	s.Iops = &v
17031	return s
17032}
17033
17034// SetLicenseModel sets the LicenseModel field's value.
17035func (s *ModifyDBInstanceInput) SetLicenseModel(v string) *ModifyDBInstanceInput {
17036	s.LicenseModel = &v
17037	return s
17038}
17039
17040// SetMasterUserPassword sets the MasterUserPassword field's value.
17041func (s *ModifyDBInstanceInput) SetMasterUserPassword(v string) *ModifyDBInstanceInput {
17042	s.MasterUserPassword = &v
17043	return s
17044}
17045
17046// SetMonitoringInterval sets the MonitoringInterval field's value.
17047func (s *ModifyDBInstanceInput) SetMonitoringInterval(v int64) *ModifyDBInstanceInput {
17048	s.MonitoringInterval = &v
17049	return s
17050}
17051
17052// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
17053func (s *ModifyDBInstanceInput) SetMonitoringRoleArn(v string) *ModifyDBInstanceInput {
17054	s.MonitoringRoleArn = &v
17055	return s
17056}
17057
17058// SetMultiAZ sets the MultiAZ field's value.
17059func (s *ModifyDBInstanceInput) SetMultiAZ(v bool) *ModifyDBInstanceInput {
17060	s.MultiAZ = &v
17061	return s
17062}
17063
17064// SetNewDBInstanceIdentifier sets the NewDBInstanceIdentifier field's value.
17065func (s *ModifyDBInstanceInput) SetNewDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
17066	s.NewDBInstanceIdentifier = &v
17067	return s
17068}
17069
17070// SetOptionGroupName sets the OptionGroupName field's value.
17071func (s *ModifyDBInstanceInput) SetOptionGroupName(v string) *ModifyDBInstanceInput {
17072	s.OptionGroupName = &v
17073	return s
17074}
17075
17076// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
17077func (s *ModifyDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *ModifyDBInstanceInput {
17078	s.PerformanceInsightsKMSKeyId = &v
17079	return s
17080}
17081
17082// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
17083func (s *ModifyDBInstanceInput) SetPreferredBackupWindow(v string) *ModifyDBInstanceInput {
17084	s.PreferredBackupWindow = &v
17085	return s
17086}
17087
17088// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
17089func (s *ModifyDBInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyDBInstanceInput {
17090	s.PreferredMaintenanceWindow = &v
17091	return s
17092}
17093
17094// SetPromotionTier sets the PromotionTier field's value.
17095func (s *ModifyDBInstanceInput) SetPromotionTier(v int64) *ModifyDBInstanceInput {
17096	s.PromotionTier = &v
17097	return s
17098}
17099
17100// SetPubliclyAccessible sets the PubliclyAccessible field's value.
17101func (s *ModifyDBInstanceInput) SetPubliclyAccessible(v bool) *ModifyDBInstanceInput {
17102	s.PubliclyAccessible = &v
17103	return s
17104}
17105
17106// SetStorageType sets the StorageType field's value.
17107func (s *ModifyDBInstanceInput) SetStorageType(v string) *ModifyDBInstanceInput {
17108	s.StorageType = &v
17109	return s
17110}
17111
17112// SetTdeCredentialArn sets the TdeCredentialArn field's value.
17113func (s *ModifyDBInstanceInput) SetTdeCredentialArn(v string) *ModifyDBInstanceInput {
17114	s.TdeCredentialArn = &v
17115	return s
17116}
17117
17118// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
17119func (s *ModifyDBInstanceInput) SetTdeCredentialPassword(v string) *ModifyDBInstanceInput {
17120	s.TdeCredentialPassword = &v
17121	return s
17122}
17123
17124// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
17125func (s *ModifyDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBInstanceInput {
17126	s.VpcSecurityGroupIds = v
17127	return s
17128}
17129
17130type ModifyDBInstanceOutput struct {
17131	_ struct{} `type:"structure"`
17132
17133	// Contains the details of an Amazon Neptune DB instance.
17134	//
17135	// This data type is used as a response element in the DescribeDBInstances action.
17136	DBInstance *DBInstance `type:"structure"`
17137}
17138
17139// String returns the string representation.
17140//
17141// API parameter values that are decorated as "sensitive" in the API will not
17142// be included in the string output. The member name will be present, but the
17143// value will be replaced with "sensitive".
17144func (s ModifyDBInstanceOutput) String() string {
17145	return awsutil.Prettify(s)
17146}
17147
17148// GoString returns the string representation.
17149//
17150// API parameter values that are decorated as "sensitive" in the API will not
17151// be included in the string output. The member name will be present, but the
17152// value will be replaced with "sensitive".
17153func (s ModifyDBInstanceOutput) GoString() string {
17154	return s.String()
17155}
17156
17157// SetDBInstance sets the DBInstance field's value.
17158func (s *ModifyDBInstanceOutput) SetDBInstance(v *DBInstance) *ModifyDBInstanceOutput {
17159	s.DBInstance = v
17160	return s
17161}
17162
17163type ModifyDBParameterGroupInput struct {
17164	_ struct{} `type:"structure"`
17165
17166	// The name of the DB parameter group.
17167	//
17168	// Constraints:
17169	//
17170	//    * If supplied, must match the name of an existing DBParameterGroup.
17171	//
17172	// DBParameterGroupName is a required field
17173	DBParameterGroupName *string `type:"string" required:"true"`
17174
17175	// An array of parameter names, values, and the apply method for the parameter
17176	// update. At least one parameter name, value, and apply method must be supplied;
17177	// subsequent arguments are optional. A maximum of 20 parameters can be modified
17178	// in a single request.
17179	//
17180	// Valid Values (for the application method): immediate | pending-reboot
17181	//
17182	// You can use the immediate value with dynamic parameters only. You can use
17183	// the pending-reboot value for both dynamic and static parameters, and changes
17184	// are applied when you reboot the DB instance without failover.
17185	//
17186	// Parameters is a required field
17187	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
17188}
17189
17190// String returns the string representation.
17191//
17192// API parameter values that are decorated as "sensitive" in the API will not
17193// be included in the string output. The member name will be present, but the
17194// value will be replaced with "sensitive".
17195func (s ModifyDBParameterGroupInput) String() string {
17196	return awsutil.Prettify(s)
17197}
17198
17199// GoString returns the string representation.
17200//
17201// API parameter values that are decorated as "sensitive" in the API will not
17202// be included in the string output. The member name will be present, but the
17203// value will be replaced with "sensitive".
17204func (s ModifyDBParameterGroupInput) GoString() string {
17205	return s.String()
17206}
17207
17208// Validate inspects the fields of the type to determine if they are valid.
17209func (s *ModifyDBParameterGroupInput) Validate() error {
17210	invalidParams := request.ErrInvalidParams{Context: "ModifyDBParameterGroupInput"}
17211	if s.DBParameterGroupName == nil {
17212		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
17213	}
17214	if s.Parameters == nil {
17215		invalidParams.Add(request.NewErrParamRequired("Parameters"))
17216	}
17217
17218	if invalidParams.Len() > 0 {
17219		return invalidParams
17220	}
17221	return nil
17222}
17223
17224// SetDBParameterGroupName sets the DBParameterGroupName field's value.
17225func (s *ModifyDBParameterGroupInput) SetDBParameterGroupName(v string) *ModifyDBParameterGroupInput {
17226	s.DBParameterGroupName = &v
17227	return s
17228}
17229
17230// SetParameters sets the Parameters field's value.
17231func (s *ModifyDBParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBParameterGroupInput {
17232	s.Parameters = v
17233	return s
17234}
17235
17236type ModifyDBSubnetGroupInput struct {
17237	_ struct{} `type:"structure"`
17238
17239	// The description for the DB subnet group.
17240	DBSubnetGroupDescription *string `type:"string"`
17241
17242	// The name for the DB subnet group. This value is stored as a lowercase string.
17243	// You can't modify the default subnet group.
17244	//
17245	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
17246	// default.
17247	//
17248	// Example: mySubnetgroup
17249	//
17250	// DBSubnetGroupName is a required field
17251	DBSubnetGroupName *string `type:"string" required:"true"`
17252
17253	// The EC2 subnet IDs for the DB subnet group.
17254	//
17255	// SubnetIds is a required field
17256	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
17257}
17258
17259// String returns the string representation.
17260//
17261// API parameter values that are decorated as "sensitive" in the API will not
17262// be included in the string output. The member name will be present, but the
17263// value will be replaced with "sensitive".
17264func (s ModifyDBSubnetGroupInput) String() string {
17265	return awsutil.Prettify(s)
17266}
17267
17268// GoString returns the string representation.
17269//
17270// API parameter values that are decorated as "sensitive" in the API will not
17271// be included in the string output. The member name will be present, but the
17272// value will be replaced with "sensitive".
17273func (s ModifyDBSubnetGroupInput) GoString() string {
17274	return s.String()
17275}
17276
17277// Validate inspects the fields of the type to determine if they are valid.
17278func (s *ModifyDBSubnetGroupInput) Validate() error {
17279	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSubnetGroupInput"}
17280	if s.DBSubnetGroupName == nil {
17281		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
17282	}
17283	if s.SubnetIds == nil {
17284		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
17285	}
17286
17287	if invalidParams.Len() > 0 {
17288		return invalidParams
17289	}
17290	return nil
17291}
17292
17293// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
17294func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *ModifyDBSubnetGroupInput {
17295	s.DBSubnetGroupDescription = &v
17296	return s
17297}
17298
17299// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
17300func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupName(v string) *ModifyDBSubnetGroupInput {
17301	s.DBSubnetGroupName = &v
17302	return s
17303}
17304
17305// SetSubnetIds sets the SubnetIds field's value.
17306func (s *ModifyDBSubnetGroupInput) SetSubnetIds(v []*string) *ModifyDBSubnetGroupInput {
17307	s.SubnetIds = v
17308	return s
17309}
17310
17311type ModifyDBSubnetGroupOutput struct {
17312	_ struct{} `type:"structure"`
17313
17314	// Contains the details of an Amazon Neptune DB subnet group.
17315	//
17316	// This data type is used as a response element in the DescribeDBSubnetGroups
17317	// action.
17318	DBSubnetGroup *DBSubnetGroup `type:"structure"`
17319}
17320
17321// String returns the string representation.
17322//
17323// API parameter values that are decorated as "sensitive" in the API will not
17324// be included in the string output. The member name will be present, but the
17325// value will be replaced with "sensitive".
17326func (s ModifyDBSubnetGroupOutput) String() string {
17327	return awsutil.Prettify(s)
17328}
17329
17330// GoString returns the string representation.
17331//
17332// API parameter values that are decorated as "sensitive" in the API will not
17333// be included in the string output. The member name will be present, but the
17334// value will be replaced with "sensitive".
17335func (s ModifyDBSubnetGroupOutput) GoString() string {
17336	return s.String()
17337}
17338
17339// SetDBSubnetGroup sets the DBSubnetGroup field's value.
17340func (s *ModifyDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *ModifyDBSubnetGroupOutput {
17341	s.DBSubnetGroup = v
17342	return s
17343}
17344
17345type ModifyEventSubscriptionInput struct {
17346	_ struct{} `type:"structure"`
17347
17348	// A Boolean value; set to true to activate the subscription.
17349	Enabled *bool `type:"boolean"`
17350
17351	// A list of event categories for a SourceType that you want to subscribe to.
17352	// You can see a list of the categories for a given SourceType by using the
17353	// DescribeEventCategories action.
17354	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
17355
17356	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
17357	// The ARN is created by Amazon SNS when you create a topic and subscribe to
17358	// it.
17359	SnsTopicArn *string `type:"string"`
17360
17361	// The type of source that is generating the events. For example, if you want
17362	// to be notified of events generated by a DB instance, you would set this parameter
17363	// to db-instance. if this value is not specified, all events are returned.
17364	//
17365	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
17366	SourceType *string `type:"string"`
17367
17368	// The name of the event notification subscription.
17369	//
17370	// SubscriptionName is a required field
17371	SubscriptionName *string `type:"string" required:"true"`
17372}
17373
17374// String returns the string representation.
17375//
17376// API parameter values that are decorated as "sensitive" in the API will not
17377// be included in the string output. The member name will be present, but the
17378// value will be replaced with "sensitive".
17379func (s ModifyEventSubscriptionInput) String() string {
17380	return awsutil.Prettify(s)
17381}
17382
17383// GoString returns the string representation.
17384//
17385// API parameter values that are decorated as "sensitive" in the API will not
17386// be included in the string output. The member name will be present, but the
17387// value will be replaced with "sensitive".
17388func (s ModifyEventSubscriptionInput) GoString() string {
17389	return s.String()
17390}
17391
17392// Validate inspects the fields of the type to determine if they are valid.
17393func (s *ModifyEventSubscriptionInput) Validate() error {
17394	invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"}
17395	if s.SubscriptionName == nil {
17396		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
17397	}
17398
17399	if invalidParams.Len() > 0 {
17400		return invalidParams
17401	}
17402	return nil
17403}
17404
17405// SetEnabled sets the Enabled field's value.
17406func (s *ModifyEventSubscriptionInput) SetEnabled(v bool) *ModifyEventSubscriptionInput {
17407	s.Enabled = &v
17408	return s
17409}
17410
17411// SetEventCategories sets the EventCategories field's value.
17412func (s *ModifyEventSubscriptionInput) SetEventCategories(v []*string) *ModifyEventSubscriptionInput {
17413	s.EventCategories = v
17414	return s
17415}
17416
17417// SetSnsTopicArn sets the SnsTopicArn field's value.
17418func (s *ModifyEventSubscriptionInput) SetSnsTopicArn(v string) *ModifyEventSubscriptionInput {
17419	s.SnsTopicArn = &v
17420	return s
17421}
17422
17423// SetSourceType sets the SourceType field's value.
17424func (s *ModifyEventSubscriptionInput) SetSourceType(v string) *ModifyEventSubscriptionInput {
17425	s.SourceType = &v
17426	return s
17427}
17428
17429// SetSubscriptionName sets the SubscriptionName field's value.
17430func (s *ModifyEventSubscriptionInput) SetSubscriptionName(v string) *ModifyEventSubscriptionInput {
17431	s.SubscriptionName = &v
17432	return s
17433}
17434
17435type ModifyEventSubscriptionOutput struct {
17436	_ struct{} `type:"structure"`
17437
17438	// Contains the results of a successful invocation of the DescribeEventSubscriptions
17439	// action.
17440	EventSubscription *EventSubscription `type:"structure"`
17441}
17442
17443// String returns the string representation.
17444//
17445// API parameter values that are decorated as "sensitive" in the API will not
17446// be included in the string output. The member name will be present, but the
17447// value will be replaced with "sensitive".
17448func (s ModifyEventSubscriptionOutput) String() string {
17449	return awsutil.Prettify(s)
17450}
17451
17452// GoString returns the string representation.
17453//
17454// API parameter values that are decorated as "sensitive" in the API will not
17455// be included in the string output. The member name will be present, but the
17456// value will be replaced with "sensitive".
17457func (s ModifyEventSubscriptionOutput) GoString() string {
17458	return s.String()
17459}
17460
17461// SetEventSubscription sets the EventSubscription field's value.
17462func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *ModifyEventSubscriptionOutput {
17463	s.EventSubscription = v
17464	return s
17465}
17466
17467// Not supported by Neptune.
17468type OptionGroupMembership struct {
17469	_ struct{} `type:"structure"`
17470
17471	// Not supported by Neptune.
17472	OptionGroupName *string `type:"string"`
17473
17474	// Not supported by Neptune.
17475	Status *string `type:"string"`
17476}
17477
17478// String returns the string representation.
17479//
17480// API parameter values that are decorated as "sensitive" in the API will not
17481// be included in the string output. The member name will be present, but the
17482// value will be replaced with "sensitive".
17483func (s OptionGroupMembership) String() string {
17484	return awsutil.Prettify(s)
17485}
17486
17487// GoString returns the string representation.
17488//
17489// API parameter values that are decorated as "sensitive" in the API will not
17490// be included in the string output. The member name will be present, but the
17491// value will be replaced with "sensitive".
17492func (s OptionGroupMembership) GoString() string {
17493	return s.String()
17494}
17495
17496// SetOptionGroupName sets the OptionGroupName field's value.
17497func (s *OptionGroupMembership) SetOptionGroupName(v string) *OptionGroupMembership {
17498	s.OptionGroupName = &v
17499	return s
17500}
17501
17502// SetStatus sets the Status field's value.
17503func (s *OptionGroupMembership) SetStatus(v string) *OptionGroupMembership {
17504	s.Status = &v
17505	return s
17506}
17507
17508// Contains a list of available options for a DB instance.
17509//
17510// This data type is used as a response element in the DescribeOrderableDBInstanceOptions
17511// action.
17512type OrderableDBInstanceOption struct {
17513	_ struct{} `type:"structure"`
17514
17515	// A list of Availability Zones for a DB instance.
17516	AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"`
17517
17518	// The DB instance class for a DB instance.
17519	DBInstanceClass *string `type:"string"`
17520
17521	// The engine type of a DB instance.
17522	Engine *string `type:"string"`
17523
17524	// The engine version of a DB instance.
17525	EngineVersion *string `type:"string"`
17526
17527	// The license model for a DB instance.
17528	LicenseModel *string `type:"string"`
17529
17530	// Maximum total provisioned IOPS for a DB instance.
17531	MaxIopsPerDbInstance *int64 `type:"integer"`
17532
17533	// Maximum provisioned IOPS per GiB for a DB instance.
17534	MaxIopsPerGib *float64 `type:"double"`
17535
17536	// Maximum storage size for a DB instance.
17537	MaxStorageSize *int64 `type:"integer"`
17538
17539	// Minimum total provisioned IOPS for a DB instance.
17540	MinIopsPerDbInstance *int64 `type:"integer"`
17541
17542	// Minimum provisioned IOPS per GiB for a DB instance.
17543	MinIopsPerGib *float64 `type:"double"`
17544
17545	// Minimum storage size for a DB instance.
17546	MinStorageSize *int64 `type:"integer"`
17547
17548	// Indicates whether a DB instance is Multi-AZ capable.
17549	MultiAZCapable *bool `type:"boolean"`
17550
17551	// Indicates whether a DB instance can have a Read Replica.
17552	ReadReplicaCapable *bool `type:"boolean"`
17553
17554	// Indicates the storage type for a DB instance.
17555	StorageType *string `type:"string"`
17556
17557	// Indicates whether a DB instance supports Enhanced Monitoring at intervals
17558	// from 1 to 60 seconds.
17559	SupportsEnhancedMonitoring *bool `type:"boolean"`
17560
17561	// Indicates whether a DB instance supports IAM database authentication.
17562	SupportsIAMDatabaseAuthentication *bool `type:"boolean"`
17563
17564	// Indicates whether a DB instance supports provisioned IOPS.
17565	SupportsIops *bool `type:"boolean"`
17566
17567	// (Not supported by Neptune)
17568	SupportsPerformanceInsights *bool `type:"boolean"`
17569
17570	// Indicates whether a DB instance supports encrypted storage.
17571	SupportsStorageEncryption *bool `type:"boolean"`
17572
17573	// Indicates whether a DB instance is in a VPC.
17574	Vpc *bool `type:"boolean"`
17575}
17576
17577// String returns the string representation.
17578//
17579// API parameter values that are decorated as "sensitive" in the API will not
17580// be included in the string output. The member name will be present, but the
17581// value will be replaced with "sensitive".
17582func (s OrderableDBInstanceOption) String() string {
17583	return awsutil.Prettify(s)
17584}
17585
17586// GoString returns the string representation.
17587//
17588// API parameter values that are decorated as "sensitive" in the API will not
17589// be included in the string output. The member name will be present, but the
17590// value will be replaced with "sensitive".
17591func (s OrderableDBInstanceOption) GoString() string {
17592	return s.String()
17593}
17594
17595// SetAvailabilityZones sets the AvailabilityZones field's value.
17596func (s *OrderableDBInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableDBInstanceOption {
17597	s.AvailabilityZones = v
17598	return s
17599}
17600
17601// SetDBInstanceClass sets the DBInstanceClass field's value.
17602func (s *OrderableDBInstanceOption) SetDBInstanceClass(v string) *OrderableDBInstanceOption {
17603	s.DBInstanceClass = &v
17604	return s
17605}
17606
17607// SetEngine sets the Engine field's value.
17608func (s *OrderableDBInstanceOption) SetEngine(v string) *OrderableDBInstanceOption {
17609	s.Engine = &v
17610	return s
17611}
17612
17613// SetEngineVersion sets the EngineVersion field's value.
17614func (s *OrderableDBInstanceOption) SetEngineVersion(v string) *OrderableDBInstanceOption {
17615	s.EngineVersion = &v
17616	return s
17617}
17618
17619// SetLicenseModel sets the LicenseModel field's value.
17620func (s *OrderableDBInstanceOption) SetLicenseModel(v string) *OrderableDBInstanceOption {
17621	s.LicenseModel = &v
17622	return s
17623}
17624
17625// SetMaxIopsPerDbInstance sets the MaxIopsPerDbInstance field's value.
17626func (s *OrderableDBInstanceOption) SetMaxIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
17627	s.MaxIopsPerDbInstance = &v
17628	return s
17629}
17630
17631// SetMaxIopsPerGib sets the MaxIopsPerGib field's value.
17632func (s *OrderableDBInstanceOption) SetMaxIopsPerGib(v float64) *OrderableDBInstanceOption {
17633	s.MaxIopsPerGib = &v
17634	return s
17635}
17636
17637// SetMaxStorageSize sets the MaxStorageSize field's value.
17638func (s *OrderableDBInstanceOption) SetMaxStorageSize(v int64) *OrderableDBInstanceOption {
17639	s.MaxStorageSize = &v
17640	return s
17641}
17642
17643// SetMinIopsPerDbInstance sets the MinIopsPerDbInstance field's value.
17644func (s *OrderableDBInstanceOption) SetMinIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
17645	s.MinIopsPerDbInstance = &v
17646	return s
17647}
17648
17649// SetMinIopsPerGib sets the MinIopsPerGib field's value.
17650func (s *OrderableDBInstanceOption) SetMinIopsPerGib(v float64) *OrderableDBInstanceOption {
17651	s.MinIopsPerGib = &v
17652	return s
17653}
17654
17655// SetMinStorageSize sets the MinStorageSize field's value.
17656func (s *OrderableDBInstanceOption) SetMinStorageSize(v int64) *OrderableDBInstanceOption {
17657	s.MinStorageSize = &v
17658	return s
17659}
17660
17661// SetMultiAZCapable sets the MultiAZCapable field's value.
17662func (s *OrderableDBInstanceOption) SetMultiAZCapable(v bool) *OrderableDBInstanceOption {
17663	s.MultiAZCapable = &v
17664	return s
17665}
17666
17667// SetReadReplicaCapable sets the ReadReplicaCapable field's value.
17668func (s *OrderableDBInstanceOption) SetReadReplicaCapable(v bool) *OrderableDBInstanceOption {
17669	s.ReadReplicaCapable = &v
17670	return s
17671}
17672
17673// SetStorageType sets the StorageType field's value.
17674func (s *OrderableDBInstanceOption) SetStorageType(v string) *OrderableDBInstanceOption {
17675	s.StorageType = &v
17676	return s
17677}
17678
17679// SetSupportsEnhancedMonitoring sets the SupportsEnhancedMonitoring field's value.
17680func (s *OrderableDBInstanceOption) SetSupportsEnhancedMonitoring(v bool) *OrderableDBInstanceOption {
17681	s.SupportsEnhancedMonitoring = &v
17682	return s
17683}
17684
17685// SetSupportsIAMDatabaseAuthentication sets the SupportsIAMDatabaseAuthentication field's value.
17686func (s *OrderableDBInstanceOption) SetSupportsIAMDatabaseAuthentication(v bool) *OrderableDBInstanceOption {
17687	s.SupportsIAMDatabaseAuthentication = &v
17688	return s
17689}
17690
17691// SetSupportsIops sets the SupportsIops field's value.
17692func (s *OrderableDBInstanceOption) SetSupportsIops(v bool) *OrderableDBInstanceOption {
17693	s.SupportsIops = &v
17694	return s
17695}
17696
17697// SetSupportsPerformanceInsights sets the SupportsPerformanceInsights field's value.
17698func (s *OrderableDBInstanceOption) SetSupportsPerformanceInsights(v bool) *OrderableDBInstanceOption {
17699	s.SupportsPerformanceInsights = &v
17700	return s
17701}
17702
17703// SetSupportsStorageEncryption sets the SupportsStorageEncryption field's value.
17704func (s *OrderableDBInstanceOption) SetSupportsStorageEncryption(v bool) *OrderableDBInstanceOption {
17705	s.SupportsStorageEncryption = &v
17706	return s
17707}
17708
17709// SetVpc sets the Vpc field's value.
17710func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption {
17711	s.Vpc = &v
17712	return s
17713}
17714
17715// Specifies a parameter.
17716type Parameter struct {
17717	_ struct{} `type:"structure"`
17718
17719	// Specifies the valid range of values for the parameter.
17720	AllowedValues *string `type:"string"`
17721
17722	// Indicates when to apply parameter updates.
17723	ApplyMethod *string `type:"string" enum:"ApplyMethod"`
17724
17725	// Specifies the engine specific parameters type.
17726	ApplyType *string `type:"string"`
17727
17728	// Specifies the valid data type for the parameter.
17729	DataType *string `type:"string"`
17730
17731	// Provides a description of the parameter.
17732	Description *string `type:"string"`
17733
17734	// Indicates whether (true) or not (false) the parameter can be modified. Some
17735	// parameters have security or operational implications that prevent them from
17736	// being changed.
17737	IsModifiable *bool `type:"boolean"`
17738
17739	// The earliest engine version to which the parameter can apply.
17740	MinimumEngineVersion *string `type:"string"`
17741
17742	// Specifies the name of the parameter.
17743	ParameterName *string `type:"string"`
17744
17745	// Specifies the value of the parameter.
17746	ParameterValue *string `type:"string"`
17747
17748	// Indicates the source of the parameter value.
17749	Source *string `type:"string"`
17750}
17751
17752// String returns the string representation.
17753//
17754// API parameter values that are decorated as "sensitive" in the API will not
17755// be included in the string output. The member name will be present, but the
17756// value will be replaced with "sensitive".
17757func (s Parameter) String() string {
17758	return awsutil.Prettify(s)
17759}
17760
17761// GoString returns the string representation.
17762//
17763// API parameter values that are decorated as "sensitive" in the API will not
17764// be included in the string output. The member name will be present, but the
17765// value will be replaced with "sensitive".
17766func (s Parameter) GoString() string {
17767	return s.String()
17768}
17769
17770// SetAllowedValues sets the AllowedValues field's value.
17771func (s *Parameter) SetAllowedValues(v string) *Parameter {
17772	s.AllowedValues = &v
17773	return s
17774}
17775
17776// SetApplyMethod sets the ApplyMethod field's value.
17777func (s *Parameter) SetApplyMethod(v string) *Parameter {
17778	s.ApplyMethod = &v
17779	return s
17780}
17781
17782// SetApplyType sets the ApplyType field's value.
17783func (s *Parameter) SetApplyType(v string) *Parameter {
17784	s.ApplyType = &v
17785	return s
17786}
17787
17788// SetDataType sets the DataType field's value.
17789func (s *Parameter) SetDataType(v string) *Parameter {
17790	s.DataType = &v
17791	return s
17792}
17793
17794// SetDescription sets the Description field's value.
17795func (s *Parameter) SetDescription(v string) *Parameter {
17796	s.Description = &v
17797	return s
17798}
17799
17800// SetIsModifiable sets the IsModifiable field's value.
17801func (s *Parameter) SetIsModifiable(v bool) *Parameter {
17802	s.IsModifiable = &v
17803	return s
17804}
17805
17806// SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
17807func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter {
17808	s.MinimumEngineVersion = &v
17809	return s
17810}
17811
17812// SetParameterName sets the ParameterName field's value.
17813func (s *Parameter) SetParameterName(v string) *Parameter {
17814	s.ParameterName = &v
17815	return s
17816}
17817
17818// SetParameterValue sets the ParameterValue field's value.
17819func (s *Parameter) SetParameterValue(v string) *Parameter {
17820	s.ParameterValue = &v
17821	return s
17822}
17823
17824// SetSource sets the Source field's value.
17825func (s *Parameter) SetSource(v string) *Parameter {
17826	s.Source = &v
17827	return s
17828}
17829
17830// A list of the log types whose configuration is still pending. In other words,
17831// these log types are in the process of being activated or deactivated.
17832type PendingCloudwatchLogsExports struct {
17833	_ struct{} `type:"structure"`
17834
17835	// Log types that are in the process of being enabled. After they are enabled,
17836	// these log types are exported to CloudWatch Logs.
17837	LogTypesToDisable []*string `type:"list"`
17838
17839	// Log types that are in the process of being deactivated. After they are deactivated,
17840	// these log types aren't exported to CloudWatch Logs.
17841	LogTypesToEnable []*string `type:"list"`
17842}
17843
17844// String returns the string representation.
17845//
17846// API parameter values that are decorated as "sensitive" in the API will not
17847// be included in the string output. The member name will be present, but the
17848// value will be replaced with "sensitive".
17849func (s PendingCloudwatchLogsExports) String() string {
17850	return awsutil.Prettify(s)
17851}
17852
17853// GoString returns the string representation.
17854//
17855// API parameter values that are decorated as "sensitive" in the API will not
17856// be included in the string output. The member name will be present, but the
17857// value will be replaced with "sensitive".
17858func (s PendingCloudwatchLogsExports) GoString() string {
17859	return s.String()
17860}
17861
17862// SetLogTypesToDisable sets the LogTypesToDisable field's value.
17863func (s *PendingCloudwatchLogsExports) SetLogTypesToDisable(v []*string) *PendingCloudwatchLogsExports {
17864	s.LogTypesToDisable = v
17865	return s
17866}
17867
17868// SetLogTypesToEnable sets the LogTypesToEnable field's value.
17869func (s *PendingCloudwatchLogsExports) SetLogTypesToEnable(v []*string) *PendingCloudwatchLogsExports {
17870	s.LogTypesToEnable = v
17871	return s
17872}
17873
17874// Provides information about a pending maintenance action for a resource.
17875type PendingMaintenanceAction struct {
17876	_ struct{} `type:"structure"`
17877
17878	// The type of pending maintenance action that is available for the resource.
17879	Action *string `type:"string"`
17880
17881	// The date of the maintenance window when the action is applied. The maintenance
17882	// action is applied to the resource during its first maintenance window after
17883	// this date. If this date is specified, any next-maintenance opt-in requests
17884	// are ignored.
17885	AutoAppliedAfterDate *time.Time `type:"timestamp"`
17886
17887	// The effective date when the pending maintenance action is applied to the
17888	// resource. This date takes into account opt-in requests received from the
17889	// ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate.
17890	// This value is blank if an opt-in request has not been received and nothing
17891	// has been specified as AutoAppliedAfterDate or ForcedApplyDate.
17892	CurrentApplyDate *time.Time `type:"timestamp"`
17893
17894	// A description providing more detail about the maintenance action.
17895	Description *string `type:"string"`
17896
17897	// The date when the maintenance action is automatically applied. The maintenance
17898	// action is applied to the resource on this date regardless of the maintenance
17899	// window for the resource. If this date is specified, any immediate opt-in
17900	// requests are ignored.
17901	ForcedApplyDate *time.Time `type:"timestamp"`
17902
17903	// Indicates the type of opt-in request that has been received for the resource.
17904	OptInStatus *string `type:"string"`
17905}
17906
17907// String returns the string representation.
17908//
17909// API parameter values that are decorated as "sensitive" in the API will not
17910// be included in the string output. The member name will be present, but the
17911// value will be replaced with "sensitive".
17912func (s PendingMaintenanceAction) String() string {
17913	return awsutil.Prettify(s)
17914}
17915
17916// GoString returns the string representation.
17917//
17918// API parameter values that are decorated as "sensitive" in the API will not
17919// be included in the string output. The member name will be present, but the
17920// value will be replaced with "sensitive".
17921func (s PendingMaintenanceAction) GoString() string {
17922	return s.String()
17923}
17924
17925// SetAction sets the Action field's value.
17926func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
17927	s.Action = &v
17928	return s
17929}
17930
17931// SetAutoAppliedAfterDate sets the AutoAppliedAfterDate field's value.
17932func (s *PendingMaintenanceAction) SetAutoAppliedAfterDate(v time.Time) *PendingMaintenanceAction {
17933	s.AutoAppliedAfterDate = &v
17934	return s
17935}
17936
17937// SetCurrentApplyDate sets the CurrentApplyDate field's value.
17938func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
17939	s.CurrentApplyDate = &v
17940	return s
17941}
17942
17943// SetDescription sets the Description field's value.
17944func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
17945	s.Description = &v
17946	return s
17947}
17948
17949// SetForcedApplyDate sets the ForcedApplyDate field's value.
17950func (s *PendingMaintenanceAction) SetForcedApplyDate(v time.Time) *PendingMaintenanceAction {
17951	s.ForcedApplyDate = &v
17952	return s
17953}
17954
17955// SetOptInStatus sets the OptInStatus field's value.
17956func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceAction {
17957	s.OptInStatus = &v
17958	return s
17959}
17960
17961// This data type is used as a response element in the ModifyDBInstance action.
17962type PendingModifiedValues struct {
17963	_ struct{} `type:"structure"`
17964
17965	// Contains the new AllocatedStorage size for the DB instance that will be applied
17966	// or is currently being applied.
17967	AllocatedStorage *int64 `type:"integer"`
17968
17969	// Specifies the pending number of days for which automated backups are retained.
17970	BackupRetentionPeriod *int64 `type:"integer"`
17971
17972	// Specifies the identifier of the CA certificate for the DB instance.
17973	CACertificateIdentifier *string `type:"string"`
17974
17975	// Contains the new DBInstanceClass for the DB instance that will be applied
17976	// or is currently being applied.
17977	DBInstanceClass *string `type:"string"`
17978
17979	// Contains the new DBInstanceIdentifier for the DB instance that will be applied
17980	// or is currently being applied.
17981	DBInstanceIdentifier *string `type:"string"`
17982
17983	// The new DB subnet group for the DB instance.
17984	DBSubnetGroupName *string `type:"string"`
17985
17986	// Indicates the database engine version.
17987	EngineVersion *string `type:"string"`
17988
17989	// Specifies the new Provisioned IOPS value for the DB instance that will be
17990	// applied or is currently being applied.
17991	Iops *int64 `type:"integer"`
17992
17993	// Not supported by Neptune.
17994	LicenseModel *string `type:"string"`
17995
17996	// Not supported by Neptune.
17997	MasterUserPassword *string `type:"string"`
17998
17999	// Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.
18000	MultiAZ *bool `type:"boolean"`
18001
18002	// This PendingCloudwatchLogsExports structure specifies pending changes to
18003	// which CloudWatch logs are enabled and which are disabled.
18004	PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"`
18005
18006	// Specifies the pending port for the DB instance.
18007	Port *int64 `type:"integer"`
18008
18009	// Specifies the storage type to be associated with the DB instance.
18010	StorageType *string `type:"string"`
18011}
18012
18013// String returns the string representation.
18014//
18015// API parameter values that are decorated as "sensitive" in the API will not
18016// be included in the string output. The member name will be present, but the
18017// value will be replaced with "sensitive".
18018func (s PendingModifiedValues) String() string {
18019	return awsutil.Prettify(s)
18020}
18021
18022// GoString returns the string representation.
18023//
18024// API parameter values that are decorated as "sensitive" in the API will not
18025// be included in the string output. The member name will be present, but the
18026// value will be replaced with "sensitive".
18027func (s PendingModifiedValues) GoString() string {
18028	return s.String()
18029}
18030
18031// SetAllocatedStorage sets the AllocatedStorage field's value.
18032func (s *PendingModifiedValues) SetAllocatedStorage(v int64) *PendingModifiedValues {
18033	s.AllocatedStorage = &v
18034	return s
18035}
18036
18037// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
18038func (s *PendingModifiedValues) SetBackupRetentionPeriod(v int64) *PendingModifiedValues {
18039	s.BackupRetentionPeriod = &v
18040	return s
18041}
18042
18043// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
18044func (s *PendingModifiedValues) SetCACertificateIdentifier(v string) *PendingModifiedValues {
18045	s.CACertificateIdentifier = &v
18046	return s
18047}
18048
18049// SetDBInstanceClass sets the DBInstanceClass field's value.
18050func (s *PendingModifiedValues) SetDBInstanceClass(v string) *PendingModifiedValues {
18051	s.DBInstanceClass = &v
18052	return s
18053}
18054
18055// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
18056func (s *PendingModifiedValues) SetDBInstanceIdentifier(v string) *PendingModifiedValues {
18057	s.DBInstanceIdentifier = &v
18058	return s
18059}
18060
18061// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
18062func (s *PendingModifiedValues) SetDBSubnetGroupName(v string) *PendingModifiedValues {
18063	s.DBSubnetGroupName = &v
18064	return s
18065}
18066
18067// SetEngineVersion sets the EngineVersion field's value.
18068func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues {
18069	s.EngineVersion = &v
18070	return s
18071}
18072
18073// SetIops sets the Iops field's value.
18074func (s *PendingModifiedValues) SetIops(v int64) *PendingModifiedValues {
18075	s.Iops = &v
18076	return s
18077}
18078
18079// SetLicenseModel sets the LicenseModel field's value.
18080func (s *PendingModifiedValues) SetLicenseModel(v string) *PendingModifiedValues {
18081	s.LicenseModel = &v
18082	return s
18083}
18084
18085// SetMasterUserPassword sets the MasterUserPassword field's value.
18086func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues {
18087	s.MasterUserPassword = &v
18088	return s
18089}
18090
18091// SetMultiAZ sets the MultiAZ field's value.
18092func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues {
18093	s.MultiAZ = &v
18094	return s
18095}
18096
18097// SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value.
18098func (s *PendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *PendingModifiedValues {
18099	s.PendingCloudwatchLogsExports = v
18100	return s
18101}
18102
18103// SetPort sets the Port field's value.
18104func (s *PendingModifiedValues) SetPort(v int64) *PendingModifiedValues {
18105	s.Port = &v
18106	return s
18107}
18108
18109// SetStorageType sets the StorageType field's value.
18110func (s *PendingModifiedValues) SetStorageType(v string) *PendingModifiedValues {
18111	s.StorageType = &v
18112	return s
18113}
18114
18115type PromoteReadReplicaDBClusterInput struct {
18116	_ struct{} `type:"structure"`
18117
18118	// Not supported.
18119	//
18120	// DBClusterIdentifier is a required field
18121	DBClusterIdentifier *string `type:"string" required:"true"`
18122}
18123
18124// String returns the string representation.
18125//
18126// API parameter values that are decorated as "sensitive" in the API will not
18127// be included in the string output. The member name will be present, but the
18128// value will be replaced with "sensitive".
18129func (s PromoteReadReplicaDBClusterInput) String() string {
18130	return awsutil.Prettify(s)
18131}
18132
18133// GoString returns the string representation.
18134//
18135// API parameter values that are decorated as "sensitive" in the API will not
18136// be included in the string output. The member name will be present, but the
18137// value will be replaced with "sensitive".
18138func (s PromoteReadReplicaDBClusterInput) GoString() string {
18139	return s.String()
18140}
18141
18142// Validate inspects the fields of the type to determine if they are valid.
18143func (s *PromoteReadReplicaDBClusterInput) Validate() error {
18144	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaDBClusterInput"}
18145	if s.DBClusterIdentifier == nil {
18146		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
18147	}
18148
18149	if invalidParams.Len() > 0 {
18150		return invalidParams
18151	}
18152	return nil
18153}
18154
18155// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
18156func (s *PromoteReadReplicaDBClusterInput) SetDBClusterIdentifier(v string) *PromoteReadReplicaDBClusterInput {
18157	s.DBClusterIdentifier = &v
18158	return s
18159}
18160
18161type PromoteReadReplicaDBClusterOutput struct {
18162	_ struct{} `type:"structure"`
18163
18164	// Contains the details of an Amazon Neptune DB cluster.
18165	//
18166	// This data type is used as a response element in the DescribeDBClusters action.
18167	DBCluster *DBCluster `type:"structure"`
18168}
18169
18170// String returns the string representation.
18171//
18172// API parameter values that are decorated as "sensitive" in the API will not
18173// be included in the string output. The member name will be present, but the
18174// value will be replaced with "sensitive".
18175func (s PromoteReadReplicaDBClusterOutput) String() string {
18176	return awsutil.Prettify(s)
18177}
18178
18179// GoString returns the string representation.
18180//
18181// API parameter values that are decorated as "sensitive" in the API will not
18182// be included in the string output. The member name will be present, but the
18183// value will be replaced with "sensitive".
18184func (s PromoteReadReplicaDBClusterOutput) GoString() string {
18185	return s.String()
18186}
18187
18188// SetDBCluster sets the DBCluster field's value.
18189func (s *PromoteReadReplicaDBClusterOutput) SetDBCluster(v *DBCluster) *PromoteReadReplicaDBClusterOutput {
18190	s.DBCluster = v
18191	return s
18192}
18193
18194// A range of integer values.
18195type Range struct {
18196	_ struct{} `type:"structure"`
18197
18198	// The minimum value in the range.
18199	From *int64 `type:"integer"`
18200
18201	// The step value for the range. For example, if you have a range of 5,000 to
18202	// 10,000, with a step value of 1,000, the valid values start at 5,000 and step
18203	// up by 1,000. Even though 7,500 is within the range, it isn't a valid value
18204	// for the range. The valid values are 5,000, 6,000, 7,000, 8,000...
18205	Step *int64 `type:"integer"`
18206
18207	// The maximum value in the range.
18208	To *int64 `type:"integer"`
18209}
18210
18211// String returns the string representation.
18212//
18213// API parameter values that are decorated as "sensitive" in the API will not
18214// be included in the string output. The member name will be present, but the
18215// value will be replaced with "sensitive".
18216func (s Range) String() string {
18217	return awsutil.Prettify(s)
18218}
18219
18220// GoString returns the string representation.
18221//
18222// API parameter values that are decorated as "sensitive" in the API will not
18223// be included in the string output. The member name will be present, but the
18224// value will be replaced with "sensitive".
18225func (s Range) GoString() string {
18226	return s.String()
18227}
18228
18229// SetFrom sets the From field's value.
18230func (s *Range) SetFrom(v int64) *Range {
18231	s.From = &v
18232	return s
18233}
18234
18235// SetStep sets the Step field's value.
18236func (s *Range) SetStep(v int64) *Range {
18237	s.Step = &v
18238	return s
18239}
18240
18241// SetTo sets the To field's value.
18242func (s *Range) SetTo(v int64) *Range {
18243	s.To = &v
18244	return s
18245}
18246
18247type RebootDBInstanceInput struct {
18248	_ struct{} `type:"structure"`
18249
18250	// The DB instance identifier. This parameter is stored as a lowercase string.
18251	//
18252	// Constraints:
18253	//
18254	//    * Must match the identifier of an existing DBInstance.
18255	//
18256	// DBInstanceIdentifier is a required field
18257	DBInstanceIdentifier *string `type:"string" required:"true"`
18258
18259	// When true, the reboot is conducted through a MultiAZ failover.
18260	//
18261	// Constraint: You can't specify true if the instance is not configured for
18262	// MultiAZ.
18263	ForceFailover *bool `type:"boolean"`
18264}
18265
18266// String returns the string representation.
18267//
18268// API parameter values that are decorated as "sensitive" in the API will not
18269// be included in the string output. The member name will be present, but the
18270// value will be replaced with "sensitive".
18271func (s RebootDBInstanceInput) String() string {
18272	return awsutil.Prettify(s)
18273}
18274
18275// GoString returns the string representation.
18276//
18277// API parameter values that are decorated as "sensitive" in the API will not
18278// be included in the string output. The member name will be present, but the
18279// value will be replaced with "sensitive".
18280func (s RebootDBInstanceInput) GoString() string {
18281	return s.String()
18282}
18283
18284// Validate inspects the fields of the type to determine if they are valid.
18285func (s *RebootDBInstanceInput) Validate() error {
18286	invalidParams := request.ErrInvalidParams{Context: "RebootDBInstanceInput"}
18287	if s.DBInstanceIdentifier == nil {
18288		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
18289	}
18290
18291	if invalidParams.Len() > 0 {
18292		return invalidParams
18293	}
18294	return nil
18295}
18296
18297// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
18298func (s *RebootDBInstanceInput) SetDBInstanceIdentifier(v string) *RebootDBInstanceInput {
18299	s.DBInstanceIdentifier = &v
18300	return s
18301}
18302
18303// SetForceFailover sets the ForceFailover field's value.
18304func (s *RebootDBInstanceInput) SetForceFailover(v bool) *RebootDBInstanceInput {
18305	s.ForceFailover = &v
18306	return s
18307}
18308
18309type RebootDBInstanceOutput struct {
18310	_ struct{} `type:"structure"`
18311
18312	// Contains the details of an Amazon Neptune DB instance.
18313	//
18314	// This data type is used as a response element in the DescribeDBInstances action.
18315	DBInstance *DBInstance `type:"structure"`
18316}
18317
18318// String returns the string representation.
18319//
18320// API parameter values that are decorated as "sensitive" in the API will not
18321// be included in the string output. The member name will be present, but the
18322// value will be replaced with "sensitive".
18323func (s RebootDBInstanceOutput) String() string {
18324	return awsutil.Prettify(s)
18325}
18326
18327// GoString returns the string representation.
18328//
18329// API parameter values that are decorated as "sensitive" in the API will not
18330// be included in the string output. The member name will be present, but the
18331// value will be replaced with "sensitive".
18332func (s RebootDBInstanceOutput) GoString() string {
18333	return s.String()
18334}
18335
18336// SetDBInstance sets the DBInstance field's value.
18337func (s *RebootDBInstanceOutput) SetDBInstance(v *DBInstance) *RebootDBInstanceOutput {
18338	s.DBInstance = v
18339	return s
18340}
18341
18342type RemoveRoleFromDBClusterInput struct {
18343	_ struct{} `type:"structure"`
18344
18345	// The name of the DB cluster to disassociate the IAM role from.
18346	//
18347	// DBClusterIdentifier is a required field
18348	DBClusterIdentifier *string `type:"string" required:"true"`
18349
18350	// The name of the feature for the DB cluster that the IAM role is to be disassociated
18351	// from. For the list of supported feature names, see DescribeDBEngineVersions
18352	// (https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions).
18353	FeatureName *string `type:"string"`
18354
18355	// The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB
18356	// cluster, for example arn:aws:iam::123456789012:role/NeptuneAccessRole.
18357	//
18358	// RoleArn is a required field
18359	RoleArn *string `type:"string" required:"true"`
18360}
18361
18362// String returns the string representation.
18363//
18364// API parameter values that are decorated as "sensitive" in the API will not
18365// be included in the string output. The member name will be present, but the
18366// value will be replaced with "sensitive".
18367func (s RemoveRoleFromDBClusterInput) String() string {
18368	return awsutil.Prettify(s)
18369}
18370
18371// GoString returns the string representation.
18372//
18373// API parameter values that are decorated as "sensitive" in the API will not
18374// be included in the string output. The member name will be present, but the
18375// value will be replaced with "sensitive".
18376func (s RemoveRoleFromDBClusterInput) GoString() string {
18377	return s.String()
18378}
18379
18380// Validate inspects the fields of the type to determine if they are valid.
18381func (s *RemoveRoleFromDBClusterInput) Validate() error {
18382	invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBClusterInput"}
18383	if s.DBClusterIdentifier == nil {
18384		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
18385	}
18386	if s.RoleArn == nil {
18387		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
18388	}
18389
18390	if invalidParams.Len() > 0 {
18391		return invalidParams
18392	}
18393	return nil
18394}
18395
18396// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
18397func (s *RemoveRoleFromDBClusterInput) SetDBClusterIdentifier(v string) *RemoveRoleFromDBClusterInput {
18398	s.DBClusterIdentifier = &v
18399	return s
18400}
18401
18402// SetFeatureName sets the FeatureName field's value.
18403func (s *RemoveRoleFromDBClusterInput) SetFeatureName(v string) *RemoveRoleFromDBClusterInput {
18404	s.FeatureName = &v
18405	return s
18406}
18407
18408// SetRoleArn sets the RoleArn field's value.
18409func (s *RemoveRoleFromDBClusterInput) SetRoleArn(v string) *RemoveRoleFromDBClusterInput {
18410	s.RoleArn = &v
18411	return s
18412}
18413
18414type RemoveRoleFromDBClusterOutput struct {
18415	_ struct{} `type:"structure"`
18416}
18417
18418// String returns the string representation.
18419//
18420// API parameter values that are decorated as "sensitive" in the API will not
18421// be included in the string output. The member name will be present, but the
18422// value will be replaced with "sensitive".
18423func (s RemoveRoleFromDBClusterOutput) String() string {
18424	return awsutil.Prettify(s)
18425}
18426
18427// GoString returns the string representation.
18428//
18429// API parameter values that are decorated as "sensitive" in the API will not
18430// be included in the string output. The member name will be present, but the
18431// value will be replaced with "sensitive".
18432func (s RemoveRoleFromDBClusterOutput) GoString() string {
18433	return s.String()
18434}
18435
18436type RemoveSourceIdentifierFromSubscriptionInput struct {
18437	_ struct{} `type:"structure"`
18438
18439	// The source identifier to be removed from the subscription, such as the DB
18440	// instance identifier for a DB instance or the name of a security group.
18441	//
18442	// SourceIdentifier is a required field
18443	SourceIdentifier *string `type:"string" required:"true"`
18444
18445	// The name of the event notification subscription you want to remove a source
18446	// identifier from.
18447	//
18448	// SubscriptionName is a required field
18449	SubscriptionName *string `type:"string" required:"true"`
18450}
18451
18452// String returns the string representation.
18453//
18454// API parameter values that are decorated as "sensitive" in the API will not
18455// be included in the string output. The member name will be present, but the
18456// value will be replaced with "sensitive".
18457func (s RemoveSourceIdentifierFromSubscriptionInput) String() string {
18458	return awsutil.Prettify(s)
18459}
18460
18461// GoString returns the string representation.
18462//
18463// API parameter values that are decorated as "sensitive" in the API will not
18464// be included in the string output. The member name will be present, but the
18465// value will be replaced with "sensitive".
18466func (s RemoveSourceIdentifierFromSubscriptionInput) GoString() string {
18467	return s.String()
18468}
18469
18470// Validate inspects the fields of the type to determine if they are valid.
18471func (s *RemoveSourceIdentifierFromSubscriptionInput) Validate() error {
18472	invalidParams := request.ErrInvalidParams{Context: "RemoveSourceIdentifierFromSubscriptionInput"}
18473	if s.SourceIdentifier == nil {
18474		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
18475	}
18476	if s.SubscriptionName == nil {
18477		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
18478	}
18479
18480	if invalidParams.Len() > 0 {
18481		return invalidParams
18482	}
18483	return nil
18484}
18485
18486// SetSourceIdentifier sets the SourceIdentifier field's value.
18487func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSourceIdentifier(v string) *RemoveSourceIdentifierFromSubscriptionInput {
18488	s.SourceIdentifier = &v
18489	return s
18490}
18491
18492// SetSubscriptionName sets the SubscriptionName field's value.
18493func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSubscriptionName(v string) *RemoveSourceIdentifierFromSubscriptionInput {
18494	s.SubscriptionName = &v
18495	return s
18496}
18497
18498type RemoveSourceIdentifierFromSubscriptionOutput struct {
18499	_ struct{} `type:"structure"`
18500
18501	// Contains the results of a successful invocation of the DescribeEventSubscriptions
18502	// action.
18503	EventSubscription *EventSubscription `type:"structure"`
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".
18511func (s RemoveSourceIdentifierFromSubscriptionOutput) 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".
18520func (s RemoveSourceIdentifierFromSubscriptionOutput) GoString() string {
18521	return s.String()
18522}
18523
18524// SetEventSubscription sets the EventSubscription field's value.
18525func (s *RemoveSourceIdentifierFromSubscriptionOutput) SetEventSubscription(v *EventSubscription) *RemoveSourceIdentifierFromSubscriptionOutput {
18526	s.EventSubscription = v
18527	return s
18528}
18529
18530type RemoveTagsFromResourceInput struct {
18531	_ struct{} `type:"structure"`
18532
18533	// The Amazon Neptune resource that the tags are removed from. This value is
18534	// an Amazon Resource Name (ARN). For information about creating an ARN, see
18535	// Constructing an Amazon Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
18536	//
18537	// ResourceName is a required field
18538	ResourceName *string `type:"string" required:"true"`
18539
18540	// The tag key (name) of the tag to be removed.
18541	//
18542	// TagKeys is a required field
18543	TagKeys []*string `type:"list" required:"true"`
18544}
18545
18546// String returns the string representation.
18547//
18548// API parameter values that are decorated as "sensitive" in the API will not
18549// be included in the string output. The member name will be present, but the
18550// value will be replaced with "sensitive".
18551func (s RemoveTagsFromResourceInput) String() string {
18552	return awsutil.Prettify(s)
18553}
18554
18555// GoString returns the string representation.
18556//
18557// API parameter values that are decorated as "sensitive" in the API will not
18558// be included in the string output. The member name will be present, but the
18559// value will be replaced with "sensitive".
18560func (s RemoveTagsFromResourceInput) GoString() string {
18561	return s.String()
18562}
18563
18564// Validate inspects the fields of the type to determine if they are valid.
18565func (s *RemoveTagsFromResourceInput) Validate() error {
18566	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
18567	if s.ResourceName == nil {
18568		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
18569	}
18570	if s.TagKeys == nil {
18571		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
18572	}
18573
18574	if invalidParams.Len() > 0 {
18575		return invalidParams
18576	}
18577	return nil
18578}
18579
18580// SetResourceName sets the ResourceName field's value.
18581func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput {
18582	s.ResourceName = &v
18583	return s
18584}
18585
18586// SetTagKeys sets the TagKeys field's value.
18587func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
18588	s.TagKeys = v
18589	return s
18590}
18591
18592type RemoveTagsFromResourceOutput struct {
18593	_ struct{} `type:"structure"`
18594}
18595
18596// String returns the string representation.
18597//
18598// API parameter values that are decorated as "sensitive" in the API will not
18599// be included in the string output. The member name will be present, but the
18600// value will be replaced with "sensitive".
18601func (s RemoveTagsFromResourceOutput) String() string {
18602	return awsutil.Prettify(s)
18603}
18604
18605// GoString returns the string representation.
18606//
18607// API parameter values that are decorated as "sensitive" in the API will not
18608// be included in the string output. The member name will be present, but the
18609// value will be replaced with "sensitive".
18610func (s RemoveTagsFromResourceOutput) GoString() string {
18611	return s.String()
18612}
18613
18614type ResetDBClusterParameterGroupInput struct {
18615	_ struct{} `type:"structure"`
18616
18617	// The name of the DB cluster parameter group to reset.
18618	//
18619	// DBClusterParameterGroupName is a required field
18620	DBClusterParameterGroupName *string `type:"string" required:"true"`
18621
18622	// A list of parameter names in the DB cluster parameter group to reset to the
18623	// default values. You can't use this parameter if the ResetAllParameters parameter
18624	// is set to true.
18625	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
18626
18627	// A value that is set to true to reset all parameters in the DB cluster parameter
18628	// group to their default values, and false otherwise. You can't use this parameter
18629	// if there is a list of parameter names specified for the Parameters parameter.
18630	ResetAllParameters *bool `type:"boolean"`
18631}
18632
18633// String returns the string representation.
18634//
18635// API parameter values that are decorated as "sensitive" in the API will not
18636// be included in the string output. The member name will be present, but the
18637// value will be replaced with "sensitive".
18638func (s ResetDBClusterParameterGroupInput) String() string {
18639	return awsutil.Prettify(s)
18640}
18641
18642// GoString returns the string representation.
18643//
18644// API parameter values that are decorated as "sensitive" in the API will not
18645// be included in the string output. The member name will be present, but the
18646// value will be replaced with "sensitive".
18647func (s ResetDBClusterParameterGroupInput) GoString() string {
18648	return s.String()
18649}
18650
18651// Validate inspects the fields of the type to determine if they are valid.
18652func (s *ResetDBClusterParameterGroupInput) Validate() error {
18653	invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"}
18654	if s.DBClusterParameterGroupName == nil {
18655		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
18656	}
18657
18658	if invalidParams.Len() > 0 {
18659		return invalidParams
18660	}
18661	return nil
18662}
18663
18664// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
18665func (s *ResetDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupInput {
18666	s.DBClusterParameterGroupName = &v
18667	return s
18668}
18669
18670// SetParameters sets the Parameters field's value.
18671func (s *ResetDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetDBClusterParameterGroupInput {
18672	s.Parameters = v
18673	return s
18674}
18675
18676// SetResetAllParameters sets the ResetAllParameters field's value.
18677func (s *ResetDBClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetDBClusterParameterGroupInput {
18678	s.ResetAllParameters = &v
18679	return s
18680}
18681
18682type ResetDBClusterParameterGroupOutput struct {
18683	_ struct{} `type:"structure"`
18684
18685	// The name of the DB cluster parameter group.
18686	//
18687	// Constraints:
18688	//
18689	//    * Must be 1 to 255 letters or numbers.
18690	//
18691	//    * First character must be a letter
18692	//
18693	//    * Cannot end with a hyphen or contain two consecutive hyphens
18694	//
18695	// This value is stored as a lowercase string.
18696	DBClusterParameterGroupName *string `type:"string"`
18697}
18698
18699// String returns the string representation.
18700//
18701// API parameter values that are decorated as "sensitive" in the API will not
18702// be included in the string output. The member name will be present, but the
18703// value will be replaced with "sensitive".
18704func (s ResetDBClusterParameterGroupOutput) String() string {
18705	return awsutil.Prettify(s)
18706}
18707
18708// GoString returns the string representation.
18709//
18710// API parameter values that are decorated as "sensitive" in the API will not
18711// be included in the string output. The member name will be present, but the
18712// value will be replaced with "sensitive".
18713func (s ResetDBClusterParameterGroupOutput) GoString() string {
18714	return s.String()
18715}
18716
18717// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
18718func (s *ResetDBClusterParameterGroupOutput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupOutput {
18719	s.DBClusterParameterGroupName = &v
18720	return s
18721}
18722
18723type ResetDBParameterGroupInput struct {
18724	_ struct{} `type:"structure"`
18725
18726	// The name of the DB parameter group.
18727	//
18728	// Constraints:
18729	//
18730	//    * Must match the name of an existing DBParameterGroup.
18731	//
18732	// DBParameterGroupName is a required field
18733	DBParameterGroupName *string `type:"string" required:"true"`
18734
18735	// To reset the entire DB parameter group, specify the DBParameterGroup name
18736	// and ResetAllParameters parameters. To reset specific parameters, provide
18737	// a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters
18738	// can be modified in a single request.
18739	//
18740	// Valid Values (for Apply method): pending-reboot
18741	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
18742
18743	// Specifies whether (true) or not (false) to reset all parameters in the DB
18744	// parameter group to default values.
18745	//
18746	// Default: true
18747	ResetAllParameters *bool `type:"boolean"`
18748}
18749
18750// String returns the string representation.
18751//
18752// API parameter values that are decorated as "sensitive" in the API will not
18753// be included in the string output. The member name will be present, but the
18754// value will be replaced with "sensitive".
18755func (s ResetDBParameterGroupInput) String() string {
18756	return awsutil.Prettify(s)
18757}
18758
18759// GoString returns the string representation.
18760//
18761// API parameter values that are decorated as "sensitive" in the API will not
18762// be included in the string output. The member name will be present, but the
18763// value will be replaced with "sensitive".
18764func (s ResetDBParameterGroupInput) GoString() string {
18765	return s.String()
18766}
18767
18768// Validate inspects the fields of the type to determine if they are valid.
18769func (s *ResetDBParameterGroupInput) Validate() error {
18770	invalidParams := request.ErrInvalidParams{Context: "ResetDBParameterGroupInput"}
18771	if s.DBParameterGroupName == nil {
18772		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
18773	}
18774
18775	if invalidParams.Len() > 0 {
18776		return invalidParams
18777	}
18778	return nil
18779}
18780
18781// SetDBParameterGroupName sets the DBParameterGroupName field's value.
18782func (s *ResetDBParameterGroupInput) SetDBParameterGroupName(v string) *ResetDBParameterGroupInput {
18783	s.DBParameterGroupName = &v
18784	return s
18785}
18786
18787// SetParameters sets the Parameters field's value.
18788func (s *ResetDBParameterGroupInput) SetParameters(v []*Parameter) *ResetDBParameterGroupInput {
18789	s.Parameters = v
18790	return s
18791}
18792
18793// SetResetAllParameters sets the ResetAllParameters field's value.
18794func (s *ResetDBParameterGroupInput) SetResetAllParameters(v bool) *ResetDBParameterGroupInput {
18795	s.ResetAllParameters = &v
18796	return s
18797}
18798
18799type ResetDBParameterGroupOutput struct {
18800	_ struct{} `type:"structure"`
18801
18802	// Provides the name of the DB parameter group.
18803	DBParameterGroupName *string `type:"string"`
18804}
18805
18806// String returns the string representation.
18807//
18808// API parameter values that are decorated as "sensitive" in the API will not
18809// be included in the string output. The member name will be present, but the
18810// value will be replaced with "sensitive".
18811func (s ResetDBParameterGroupOutput) String() string {
18812	return awsutil.Prettify(s)
18813}
18814
18815// GoString returns the string representation.
18816//
18817// API parameter values that are decorated as "sensitive" in the API will not
18818// be included in the string output. The member name will be present, but the
18819// value will be replaced with "sensitive".
18820func (s ResetDBParameterGroupOutput) GoString() string {
18821	return s.String()
18822}
18823
18824// SetDBParameterGroupName sets the DBParameterGroupName field's value.
18825func (s *ResetDBParameterGroupOutput) SetDBParameterGroupName(v string) *ResetDBParameterGroupOutput {
18826	s.DBParameterGroupName = &v
18827	return s
18828}
18829
18830// Describes the pending maintenance actions for a resource.
18831type ResourcePendingMaintenanceActions struct {
18832	_ struct{} `type:"structure"`
18833
18834	// A list that provides details about the pending maintenance actions for the
18835	// resource.
18836	PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"`
18837
18838	// The ARN of the resource that has pending maintenance actions.
18839	ResourceIdentifier *string `type:"string"`
18840}
18841
18842// String returns the string representation.
18843//
18844// API parameter values that are decorated as "sensitive" in the API will not
18845// be included in the string output. The member name will be present, but the
18846// value will be replaced with "sensitive".
18847func (s ResourcePendingMaintenanceActions) String() string {
18848	return awsutil.Prettify(s)
18849}
18850
18851// GoString returns the string representation.
18852//
18853// API parameter values that are decorated as "sensitive" in the API will not
18854// be included in the string output. The member name will be present, but the
18855// value will be replaced with "sensitive".
18856func (s ResourcePendingMaintenanceActions) GoString() string {
18857	return s.String()
18858}
18859
18860// SetPendingMaintenanceActionDetails sets the PendingMaintenanceActionDetails field's value.
18861func (s *ResourcePendingMaintenanceActions) SetPendingMaintenanceActionDetails(v []*PendingMaintenanceAction) *ResourcePendingMaintenanceActions {
18862	s.PendingMaintenanceActionDetails = v
18863	return s
18864}
18865
18866// SetResourceIdentifier sets the ResourceIdentifier field's value.
18867func (s *ResourcePendingMaintenanceActions) SetResourceIdentifier(v string) *ResourcePendingMaintenanceActions {
18868	s.ResourceIdentifier = &v
18869	return s
18870}
18871
18872type RestoreDBClusterFromSnapshotInput struct {
18873	_ struct{} `type:"structure"`
18874
18875	// Provides the list of EC2 Availability Zones that instances in the restored
18876	// DB cluster can be created in.
18877	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
18878
18879	// If set to true, tags are copied to any snapshot of the restored DB cluster
18880	// that is created.
18881	CopyTagsToSnapshot *bool `type:"boolean"`
18882
18883	// The name of the DB cluster to create from the DB snapshot or DB cluster snapshot.
18884	// This parameter isn't case-sensitive.
18885	//
18886	// Constraints:
18887	//
18888	//    * Must contain from 1 to 63 letters, numbers, or hyphens
18889	//
18890	//    * First character must be a letter
18891	//
18892	//    * Cannot end with a hyphen or contain two consecutive hyphens
18893	//
18894	// Example: my-snapshot-id
18895	//
18896	// DBClusterIdentifier is a required field
18897	DBClusterIdentifier *string `type:"string" required:"true"`
18898
18899	// The name of the DB cluster parameter group to associate with the new DB cluster.
18900	//
18901	// Constraints:
18902	//
18903	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
18904	DBClusterParameterGroupName *string `type:"string"`
18905
18906	// The name of the DB subnet group to use for the new DB cluster.
18907	//
18908	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
18909	//
18910	// Example: mySubnetgroup
18911	DBSubnetGroupName *string `type:"string"`
18912
18913	// Not supported.
18914	DatabaseName *string `type:"string"`
18915
18916	// A value that indicates whether the DB cluster has deletion protection enabled.
18917	// The database can't be deleted when deletion protection is enabled. By default,
18918	// deletion protection is disabled.
18919	DeletionProtection *bool `type:"boolean"`
18920
18921	// The list of logs that the restored DB cluster is to export to Amazon CloudWatch
18922	// Logs.
18923	EnableCloudwatchLogsExports []*string `type:"list"`
18924
18925	// True to enable mapping of Amazon Identity and Access Management (IAM) accounts
18926	// to database accounts, and otherwise false.
18927	//
18928	// Default: false
18929	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
18930
18931	// The database engine to use for the new DB cluster.
18932	//
18933	// Default: The same as source
18934	//
18935	// Constraint: Must be compatible with the engine of the source
18936	//
18937	// Engine is a required field
18938	Engine *string `type:"string" required:"true"`
18939
18940	// The version of the database engine to use for the new DB cluster.
18941	EngineVersion *string `type:"string"`
18942
18943	// The Amazon KMS key identifier to use when restoring an encrypted DB cluster
18944	// from a DB snapshot or DB cluster snapshot.
18945	//
18946	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
18947	// key. If you are restoring a DB cluster with the same Amazon account that
18948	// owns the KMS encryption key used to encrypt the new DB cluster, then you
18949	// can use the KMS key alias instead of the ARN for the KMS encryption key.
18950	//
18951	// If you do not specify a value for the KmsKeyId parameter, then the following
18952	// will occur:
18953	//
18954	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted,
18955	//    then the restored DB cluster is encrypted using the KMS key that was used
18956	//    to encrypt the DB snapshot or DB cluster snapshot.
18957	//
18958	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is not
18959	//    encrypted, then the restored DB cluster is not encrypted.
18960	KmsKeyId *string `type:"string"`
18961
18962	// (Not supported by Neptune)
18963	OptionGroupName *string `type:"string"`
18964
18965	// The port number on which the new DB cluster accepts connections.
18966	//
18967	// Constraints: Value must be 1150-65535
18968	//
18969	// Default: The same port as the original DB cluster.
18970	Port *int64 `type:"integer"`
18971
18972	// The identifier for the DB snapshot or DB cluster snapshot to restore from.
18973	//
18974	// You can use either the name or the Amazon Resource Name (ARN) to specify
18975	// a DB cluster snapshot. However, you can use only the ARN to specify a DB
18976	// snapshot.
18977	//
18978	// Constraints:
18979	//
18980	//    * Must match the identifier of an existing Snapshot.
18981	//
18982	// SnapshotIdentifier is a required field
18983	SnapshotIdentifier *string `type:"string" required:"true"`
18984
18985	// The tags to be assigned to the restored DB cluster.
18986	Tags []*Tag `locationNameList:"Tag" type:"list"`
18987
18988	// A list of VPC security groups that the new DB cluster will belong to.
18989	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
18990}
18991
18992// String returns the string representation.
18993//
18994// API parameter values that are decorated as "sensitive" in the API will not
18995// be included in the string output. The member name will be present, but the
18996// value will be replaced with "sensitive".
18997func (s RestoreDBClusterFromSnapshotInput) String() string {
18998	return awsutil.Prettify(s)
18999}
19000
19001// GoString returns the string representation.
19002//
19003// API parameter values that are decorated as "sensitive" in the API will not
19004// be included in the string output. The member name will be present, but the
19005// value will be replaced with "sensitive".
19006func (s RestoreDBClusterFromSnapshotInput) GoString() string {
19007	return s.String()
19008}
19009
19010// Validate inspects the fields of the type to determine if they are valid.
19011func (s *RestoreDBClusterFromSnapshotInput) Validate() error {
19012	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromSnapshotInput"}
19013	if s.DBClusterIdentifier == nil {
19014		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
19015	}
19016	if s.Engine == nil {
19017		invalidParams.Add(request.NewErrParamRequired("Engine"))
19018	}
19019	if s.SnapshotIdentifier == nil {
19020		invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
19021	}
19022
19023	if invalidParams.Len() > 0 {
19024		return invalidParams
19025	}
19026	return nil
19027}
19028
19029// SetAvailabilityZones sets the AvailabilityZones field's value.
19030func (s *RestoreDBClusterFromSnapshotInput) SetAvailabilityZones(v []*string) *RestoreDBClusterFromSnapshotInput {
19031	s.AvailabilityZones = v
19032	return s
19033}
19034
19035// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
19036func (s *RestoreDBClusterFromSnapshotInput) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterFromSnapshotInput {
19037	s.CopyTagsToSnapshot = &v
19038	return s
19039}
19040
19041// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
19042func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
19043	s.DBClusterIdentifier = &v
19044	return s
19045}
19046
19047// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
19048func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterFromSnapshotInput {
19049	s.DBClusterParameterGroupName = &v
19050	return s
19051}
19052
19053// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
19054func (s *RestoreDBClusterFromSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBClusterFromSnapshotInput {
19055	s.DBSubnetGroupName = &v
19056	return s
19057}
19058
19059// SetDatabaseName sets the DatabaseName field's value.
19060func (s *RestoreDBClusterFromSnapshotInput) SetDatabaseName(v string) *RestoreDBClusterFromSnapshotInput {
19061	s.DatabaseName = &v
19062	return s
19063}
19064
19065// SetDeletionProtection sets the DeletionProtection field's value.
19066func (s *RestoreDBClusterFromSnapshotInput) SetDeletionProtection(v bool) *RestoreDBClusterFromSnapshotInput {
19067	s.DeletionProtection = &v
19068	return s
19069}
19070
19071// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
19072func (s *RestoreDBClusterFromSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromSnapshotInput {
19073	s.EnableCloudwatchLogsExports = v
19074	return s
19075}
19076
19077// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
19078func (s *RestoreDBClusterFromSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromSnapshotInput {
19079	s.EnableIAMDatabaseAuthentication = &v
19080	return s
19081}
19082
19083// SetEngine sets the Engine field's value.
19084func (s *RestoreDBClusterFromSnapshotInput) SetEngine(v string) *RestoreDBClusterFromSnapshotInput {
19085	s.Engine = &v
19086	return s
19087}
19088
19089// SetEngineVersion sets the EngineVersion field's value.
19090func (s *RestoreDBClusterFromSnapshotInput) SetEngineVersion(v string) *RestoreDBClusterFromSnapshotInput {
19091	s.EngineVersion = &v
19092	return s
19093}
19094
19095// SetKmsKeyId sets the KmsKeyId field's value.
19096func (s *RestoreDBClusterFromSnapshotInput) SetKmsKeyId(v string) *RestoreDBClusterFromSnapshotInput {
19097	s.KmsKeyId = &v
19098	return s
19099}
19100
19101// SetOptionGroupName sets the OptionGroupName field's value.
19102func (s *RestoreDBClusterFromSnapshotInput) SetOptionGroupName(v string) *RestoreDBClusterFromSnapshotInput {
19103	s.OptionGroupName = &v
19104	return s
19105}
19106
19107// SetPort sets the Port field's value.
19108func (s *RestoreDBClusterFromSnapshotInput) SetPort(v int64) *RestoreDBClusterFromSnapshotInput {
19109	s.Port = &v
19110	return s
19111}
19112
19113// SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
19114func (s *RestoreDBClusterFromSnapshotInput) SetSnapshotIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
19115	s.SnapshotIdentifier = &v
19116	return s
19117}
19118
19119// SetTags sets the Tags field's value.
19120func (s *RestoreDBClusterFromSnapshotInput) SetTags(v []*Tag) *RestoreDBClusterFromSnapshotInput {
19121	s.Tags = v
19122	return s
19123}
19124
19125// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
19126func (s *RestoreDBClusterFromSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromSnapshotInput {
19127	s.VpcSecurityGroupIds = v
19128	return s
19129}
19130
19131type RestoreDBClusterFromSnapshotOutput struct {
19132	_ struct{} `type:"structure"`
19133
19134	// Contains the details of an Amazon Neptune DB cluster.
19135	//
19136	// This data type is used as a response element in the DescribeDBClusters action.
19137	DBCluster *DBCluster `type:"structure"`
19138}
19139
19140// String returns the string representation.
19141//
19142// API parameter values that are decorated as "sensitive" in the API will not
19143// be included in the string output. The member name will be present, but the
19144// value will be replaced with "sensitive".
19145func (s RestoreDBClusterFromSnapshotOutput) String() string {
19146	return awsutil.Prettify(s)
19147}
19148
19149// GoString returns the string representation.
19150//
19151// API parameter values that are decorated as "sensitive" in the API will not
19152// be included in the string output. The member name will be present, but the
19153// value will be replaced with "sensitive".
19154func (s RestoreDBClusterFromSnapshotOutput) GoString() string {
19155	return s.String()
19156}
19157
19158// SetDBCluster sets the DBCluster field's value.
19159func (s *RestoreDBClusterFromSnapshotOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterFromSnapshotOutput {
19160	s.DBCluster = v
19161	return s
19162}
19163
19164type RestoreDBClusterToPointInTimeInput struct {
19165	_ struct{} `type:"structure"`
19166
19167	// The name of the new DB cluster to be created.
19168	//
19169	// Constraints:
19170	//
19171	//    * Must contain from 1 to 63 letters, numbers, or hyphens
19172	//
19173	//    * First character must be a letter
19174	//
19175	//    * Cannot end with a hyphen or contain two consecutive hyphens
19176	//
19177	// DBClusterIdentifier is a required field
19178	DBClusterIdentifier *string `type:"string" required:"true"`
19179
19180	// The name of the DB cluster parameter group to associate with the new DB cluster.
19181	//
19182	// Constraints:
19183	//
19184	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
19185	DBClusterParameterGroupName *string `type:"string"`
19186
19187	// The DB subnet group name to use for the new DB cluster.
19188	//
19189	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
19190	//
19191	// Example: mySubnetgroup
19192	DBSubnetGroupName *string `type:"string"`
19193
19194	// A value that indicates whether the DB cluster has deletion protection enabled.
19195	// The database can't be deleted when deletion protection is enabled. By default,
19196	// deletion protection is disabled.
19197	DeletionProtection *bool `type:"boolean"`
19198
19199	// The list of logs that the restored DB cluster is to export to CloudWatch
19200	// Logs.
19201	EnableCloudwatchLogsExports []*string `type:"list"`
19202
19203	// True to enable mapping of Amazon Identity and Access Management (IAM) accounts
19204	// to database accounts, and otherwise false.
19205	//
19206	// Default: false
19207	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
19208
19209	// The Amazon KMS key identifier to use when restoring an encrypted DB cluster
19210	// from an encrypted DB cluster.
19211	//
19212	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
19213	// key. If you are restoring a DB cluster with the same Amazon account that
19214	// owns the KMS encryption key used to encrypt the new DB cluster, then you
19215	// can use the KMS key alias instead of the ARN for the KMS encryption key.
19216	//
19217	// You can restore to a new DB cluster and encrypt the new DB cluster with a
19218	// KMS key that is different than the KMS key used to encrypt the source DB
19219	// cluster. The new DB cluster is encrypted with the KMS key identified by the
19220	// KmsKeyId parameter.
19221	//
19222	// If you do not specify a value for the KmsKeyId parameter, then the following
19223	// will occur:
19224	//
19225	//    * If the DB cluster is encrypted, then the restored DB cluster is encrypted
19226	//    using the KMS key that was used to encrypt the source DB cluster.
19227	//
19228	//    * If the DB cluster is not encrypted, then the restored DB cluster is
19229	//    not encrypted.
19230	//
19231	// If DBClusterIdentifier refers to a DB cluster that is not encrypted, then
19232	// the restore request is rejected.
19233	KmsKeyId *string `type:"string"`
19234
19235	// (Not supported by Neptune)
19236	OptionGroupName *string `type:"string"`
19237
19238	// The port number on which the new DB cluster accepts connections.
19239	//
19240	// Constraints: Value must be 1150-65535
19241	//
19242	// Default: The same port as the original DB cluster.
19243	Port *int64 `type:"integer"`
19244
19245	// The date and time to restore the DB cluster to.
19246	//
19247	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
19248	//
19249	// Constraints:
19250	//
19251	//    * Must be before the latest restorable time for the DB instance
19252	//
19253	//    * Must be specified if UseLatestRestorableTime parameter is not provided
19254	//
19255	//    * Cannot be specified if UseLatestRestorableTime parameter is true
19256	//
19257	//    * Cannot be specified if RestoreType parameter is copy-on-write
19258	//
19259	// Example: 2015-03-07T23:45:00Z
19260	RestoreToTime *time.Time `type:"timestamp"`
19261
19262	// The type of restore to be performed. You can specify one of the following
19263	// values:
19264	//
19265	//    * full-copy - The new DB cluster is restored as a full copy of the source
19266	//    DB cluster.
19267	//
19268	//    * copy-on-write - The new DB cluster is restored as a clone of the source
19269	//    DB cluster.
19270	//
19271	// If you don't specify a RestoreType value, then the new DB cluster is restored
19272	// as a full copy of the source DB cluster.
19273	RestoreType *string `type:"string"`
19274
19275	// The identifier of the source DB cluster from which to restore.
19276	//
19277	// Constraints:
19278	//
19279	//    * Must match the identifier of an existing DBCluster.
19280	//
19281	// SourceDBClusterIdentifier is a required field
19282	SourceDBClusterIdentifier *string `type:"string" required:"true"`
19283
19284	// The tags to be applied to the restored DB cluster.
19285	Tags []*Tag `locationNameList:"Tag" type:"list"`
19286
19287	// A value that is set to true to restore the DB cluster to the latest restorable
19288	// backup time, and false otherwise.
19289	//
19290	// Default: false
19291	//
19292	// Constraints: Cannot be specified if RestoreToTime parameter is provided.
19293	UseLatestRestorableTime *bool `type:"boolean"`
19294
19295	// A list of VPC security groups that the new DB cluster belongs to.
19296	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
19297}
19298
19299// String returns the string representation.
19300//
19301// API parameter values that are decorated as "sensitive" in the API will not
19302// be included in the string output. The member name will be present, but the
19303// value will be replaced with "sensitive".
19304func (s RestoreDBClusterToPointInTimeInput) String() string {
19305	return awsutil.Prettify(s)
19306}
19307
19308// GoString returns the string representation.
19309//
19310// API parameter values that are decorated as "sensitive" in the API will not
19311// be included in the string output. The member name will be present, but the
19312// value will be replaced with "sensitive".
19313func (s RestoreDBClusterToPointInTimeInput) GoString() string {
19314	return s.String()
19315}
19316
19317// Validate inspects the fields of the type to determine if they are valid.
19318func (s *RestoreDBClusterToPointInTimeInput) Validate() error {
19319	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterToPointInTimeInput"}
19320	if s.DBClusterIdentifier == nil {
19321		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
19322	}
19323	if s.SourceDBClusterIdentifier == nil {
19324		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterIdentifier"))
19325	}
19326
19327	if invalidParams.Len() > 0 {
19328		return invalidParams
19329	}
19330	return nil
19331}
19332
19333// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
19334func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
19335	s.DBClusterIdentifier = &v
19336	return s
19337}
19338
19339// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
19340func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterToPointInTimeInput {
19341	s.DBClusterParameterGroupName = &v
19342	return s
19343}
19344
19345// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
19346func (s *RestoreDBClusterToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBClusterToPointInTimeInput {
19347	s.DBSubnetGroupName = &v
19348	return s
19349}
19350
19351// SetDeletionProtection sets the DeletionProtection field's value.
19352func (s *RestoreDBClusterToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBClusterToPointInTimeInput {
19353	s.DeletionProtection = &v
19354	return s
19355}
19356
19357// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
19358func (s *RestoreDBClusterToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterToPointInTimeInput {
19359	s.EnableCloudwatchLogsExports = v
19360	return s
19361}
19362
19363// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
19364func (s *RestoreDBClusterToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterToPointInTimeInput {
19365	s.EnableIAMDatabaseAuthentication = &v
19366	return s
19367}
19368
19369// SetKmsKeyId sets the KmsKeyId field's value.
19370func (s *RestoreDBClusterToPointInTimeInput) SetKmsKeyId(v string) *RestoreDBClusterToPointInTimeInput {
19371	s.KmsKeyId = &v
19372	return s
19373}
19374
19375// SetOptionGroupName sets the OptionGroupName field's value.
19376func (s *RestoreDBClusterToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBClusterToPointInTimeInput {
19377	s.OptionGroupName = &v
19378	return s
19379}
19380
19381// SetPort sets the Port field's value.
19382func (s *RestoreDBClusterToPointInTimeInput) SetPort(v int64) *RestoreDBClusterToPointInTimeInput {
19383	s.Port = &v
19384	return s
19385}
19386
19387// SetRestoreToTime sets the RestoreToTime field's value.
19388func (s *RestoreDBClusterToPointInTimeInput) SetRestoreToTime(v time.Time) *RestoreDBClusterToPointInTimeInput {
19389	s.RestoreToTime = &v
19390	return s
19391}
19392
19393// SetRestoreType sets the RestoreType field's value.
19394func (s *RestoreDBClusterToPointInTimeInput) SetRestoreType(v string) *RestoreDBClusterToPointInTimeInput {
19395	s.RestoreType = &v
19396	return s
19397}
19398
19399// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
19400func (s *RestoreDBClusterToPointInTimeInput) SetSourceDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
19401	s.SourceDBClusterIdentifier = &v
19402	return s
19403}
19404
19405// SetTags sets the Tags field's value.
19406func (s *RestoreDBClusterToPointInTimeInput) SetTags(v []*Tag) *RestoreDBClusterToPointInTimeInput {
19407	s.Tags = v
19408	return s
19409}
19410
19411// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
19412func (s *RestoreDBClusterToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBClusterToPointInTimeInput {
19413	s.UseLatestRestorableTime = &v
19414	return s
19415}
19416
19417// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
19418func (s *RestoreDBClusterToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterToPointInTimeInput {
19419	s.VpcSecurityGroupIds = v
19420	return s
19421}
19422
19423type RestoreDBClusterToPointInTimeOutput struct {
19424	_ struct{} `type:"structure"`
19425
19426	// Contains the details of an Amazon Neptune DB cluster.
19427	//
19428	// This data type is used as a response element in the DescribeDBClusters action.
19429	DBCluster *DBCluster `type:"structure"`
19430}
19431
19432// String returns the string representation.
19433//
19434// API parameter values that are decorated as "sensitive" in the API will not
19435// be included in the string output. The member name will be present, but the
19436// value will be replaced with "sensitive".
19437func (s RestoreDBClusterToPointInTimeOutput) String() string {
19438	return awsutil.Prettify(s)
19439}
19440
19441// GoString returns the string representation.
19442//
19443// API parameter values that are decorated as "sensitive" in the API will not
19444// be included in the string output. The member name will be present, but the
19445// value will be replaced with "sensitive".
19446func (s RestoreDBClusterToPointInTimeOutput) GoString() string {
19447	return s.String()
19448}
19449
19450// SetDBCluster sets the DBCluster field's value.
19451func (s *RestoreDBClusterToPointInTimeOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterToPointInTimeOutput {
19452	s.DBCluster = v
19453	return s
19454}
19455
19456type StartDBClusterInput struct {
19457	_ struct{} `type:"structure"`
19458
19459	// The DB cluster identifier of the Neptune DB cluster to be started. This parameter
19460	// is stored as a lowercase string.
19461	//
19462	// DBClusterIdentifier is a required field
19463	DBClusterIdentifier *string `type:"string" required:"true"`
19464}
19465
19466// String returns the string representation.
19467//
19468// API parameter values that are decorated as "sensitive" in the API will not
19469// be included in the string output. The member name will be present, but the
19470// value will be replaced with "sensitive".
19471func (s StartDBClusterInput) String() string {
19472	return awsutil.Prettify(s)
19473}
19474
19475// GoString returns the string representation.
19476//
19477// API parameter values that are decorated as "sensitive" in the API will not
19478// be included in the string output. The member name will be present, but the
19479// value will be replaced with "sensitive".
19480func (s StartDBClusterInput) GoString() string {
19481	return s.String()
19482}
19483
19484// Validate inspects the fields of the type to determine if they are valid.
19485func (s *StartDBClusterInput) Validate() error {
19486	invalidParams := request.ErrInvalidParams{Context: "StartDBClusterInput"}
19487	if s.DBClusterIdentifier == nil {
19488		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
19489	}
19490
19491	if invalidParams.Len() > 0 {
19492		return invalidParams
19493	}
19494	return nil
19495}
19496
19497// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
19498func (s *StartDBClusterInput) SetDBClusterIdentifier(v string) *StartDBClusterInput {
19499	s.DBClusterIdentifier = &v
19500	return s
19501}
19502
19503type StartDBClusterOutput struct {
19504	_ struct{} `type:"structure"`
19505
19506	// Contains the details of an Amazon Neptune DB cluster.
19507	//
19508	// This data type is used as a response element in the DescribeDBClusters action.
19509	DBCluster *DBCluster `type:"structure"`
19510}
19511
19512// String returns the string representation.
19513//
19514// API parameter values that are decorated as "sensitive" in the API will not
19515// be included in the string output. The member name will be present, but the
19516// value will be replaced with "sensitive".
19517func (s StartDBClusterOutput) String() string {
19518	return awsutil.Prettify(s)
19519}
19520
19521// GoString returns the string representation.
19522//
19523// API parameter values that are decorated as "sensitive" in the API will not
19524// be included in the string output. The member name will be present, but the
19525// value will be replaced with "sensitive".
19526func (s StartDBClusterOutput) GoString() string {
19527	return s.String()
19528}
19529
19530// SetDBCluster sets the DBCluster field's value.
19531func (s *StartDBClusterOutput) SetDBCluster(v *DBCluster) *StartDBClusterOutput {
19532	s.DBCluster = v
19533	return s
19534}
19535
19536type StopDBClusterInput struct {
19537	_ struct{} `type:"structure"`
19538
19539	// The DB cluster identifier of the Neptune DB cluster to be stopped. This parameter
19540	// is stored as a lowercase string.
19541	//
19542	// DBClusterIdentifier is a required field
19543	DBClusterIdentifier *string `type:"string" required:"true"`
19544}
19545
19546// String returns the string representation.
19547//
19548// API parameter values that are decorated as "sensitive" in the API will not
19549// be included in the string output. The member name will be present, but the
19550// value will be replaced with "sensitive".
19551func (s StopDBClusterInput) String() string {
19552	return awsutil.Prettify(s)
19553}
19554
19555// GoString returns the string representation.
19556//
19557// API parameter values that are decorated as "sensitive" in the API will not
19558// be included in the string output. The member name will be present, but the
19559// value will be replaced with "sensitive".
19560func (s StopDBClusterInput) GoString() string {
19561	return s.String()
19562}
19563
19564// Validate inspects the fields of the type to determine if they are valid.
19565func (s *StopDBClusterInput) Validate() error {
19566	invalidParams := request.ErrInvalidParams{Context: "StopDBClusterInput"}
19567	if s.DBClusterIdentifier == nil {
19568		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
19569	}
19570
19571	if invalidParams.Len() > 0 {
19572		return invalidParams
19573	}
19574	return nil
19575}
19576
19577// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
19578func (s *StopDBClusterInput) SetDBClusterIdentifier(v string) *StopDBClusterInput {
19579	s.DBClusterIdentifier = &v
19580	return s
19581}
19582
19583type StopDBClusterOutput struct {
19584	_ struct{} `type:"structure"`
19585
19586	// Contains the details of an Amazon Neptune DB cluster.
19587	//
19588	// This data type is used as a response element in the DescribeDBClusters action.
19589	DBCluster *DBCluster `type:"structure"`
19590}
19591
19592// String returns the string representation.
19593//
19594// API parameter values that are decorated as "sensitive" in the API will not
19595// be included in the string output. The member name will be present, but the
19596// value will be replaced with "sensitive".
19597func (s StopDBClusterOutput) String() string {
19598	return awsutil.Prettify(s)
19599}
19600
19601// GoString returns the string representation.
19602//
19603// API parameter values that are decorated as "sensitive" in the API will not
19604// be included in the string output. The member name will be present, but the
19605// value will be replaced with "sensitive".
19606func (s StopDBClusterOutput) GoString() string {
19607	return s.String()
19608}
19609
19610// SetDBCluster sets the DBCluster field's value.
19611func (s *StopDBClusterOutput) SetDBCluster(v *DBCluster) *StopDBClusterOutput {
19612	s.DBCluster = v
19613	return s
19614}
19615
19616// Specifies a subnet.
19617//
19618// This data type is used as a response element in the DescribeDBSubnetGroups
19619// action.
19620type Subnet struct {
19621	_ struct{} `type:"structure"`
19622
19623	// Specifies the EC2 Availability Zone that the subnet is in.
19624	SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
19625
19626	// Specifies the identifier of the subnet.
19627	SubnetIdentifier *string `type:"string"`
19628
19629	// Specifies the status of the subnet.
19630	SubnetStatus *string `type:"string"`
19631}
19632
19633// String returns the string representation.
19634//
19635// API parameter values that are decorated as "sensitive" in the API will not
19636// be included in the string output. The member name will be present, but the
19637// value will be replaced with "sensitive".
19638func (s Subnet) String() string {
19639	return awsutil.Prettify(s)
19640}
19641
19642// GoString returns the string representation.
19643//
19644// API parameter values that are decorated as "sensitive" in the API will not
19645// be included in the string output. The member name will be present, but the
19646// value will be replaced with "sensitive".
19647func (s Subnet) GoString() string {
19648	return s.String()
19649}
19650
19651// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
19652func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet {
19653	s.SubnetAvailabilityZone = v
19654	return s
19655}
19656
19657// SetSubnetIdentifier sets the SubnetIdentifier field's value.
19658func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
19659	s.SubnetIdentifier = &v
19660	return s
19661}
19662
19663// SetSubnetStatus sets the SubnetStatus field's value.
19664func (s *Subnet) SetSubnetStatus(v string) *Subnet {
19665	s.SubnetStatus = &v
19666	return s
19667}
19668
19669// Metadata assigned to an Amazon Neptune resource consisting of a key-value
19670// pair.
19671type Tag struct {
19672	_ struct{} `type:"structure"`
19673
19674	// A key is the required name of the tag. The string value can be from 1 to
19675	// 128 Unicode characters in length and can't be prefixed with aws: or rds:.
19676	// The string can only contain the set of Unicode letters, digits, white-space,
19677	// '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
19678	Key *string `type:"string"`
19679
19680	// A value is the optional value of the tag. The string value can be from 1
19681	// to 256 Unicode characters in length and can't be prefixed with aws: or rds:.
19682	// The string can only contain the set of Unicode letters, digits, white-space,
19683	// '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
19684	Value *string `type:"string"`
19685}
19686
19687// String returns the string representation.
19688//
19689// API parameter values that are decorated as "sensitive" in the API will not
19690// be included in the string output. The member name will be present, but the
19691// value will be replaced with "sensitive".
19692func (s Tag) String() string {
19693	return awsutil.Prettify(s)
19694}
19695
19696// GoString returns the string representation.
19697//
19698// API parameter values that are decorated as "sensitive" in the API will not
19699// be included in the string output. The member name will be present, but the
19700// value will be replaced with "sensitive".
19701func (s Tag) GoString() string {
19702	return s.String()
19703}
19704
19705// SetKey sets the Key field's value.
19706func (s *Tag) SetKey(v string) *Tag {
19707	s.Key = &v
19708	return s
19709}
19710
19711// SetValue sets the Value field's value.
19712func (s *Tag) SetValue(v string) *Tag {
19713	s.Value = &v
19714	return s
19715}
19716
19717// A time zone associated with a DBInstance.
19718type Timezone struct {
19719	_ struct{} `type:"structure"`
19720
19721	// The name of the time zone.
19722	TimezoneName *string `type:"string"`
19723}
19724
19725// String returns the string representation.
19726//
19727// API parameter values that are decorated as "sensitive" in the API will not
19728// be included in the string output. The member name will be present, but the
19729// value will be replaced with "sensitive".
19730func (s Timezone) String() string {
19731	return awsutil.Prettify(s)
19732}
19733
19734// GoString returns the string representation.
19735//
19736// API parameter values that are decorated as "sensitive" in the API will not
19737// be included in the string output. The member name will be present, but the
19738// value will be replaced with "sensitive".
19739func (s Timezone) GoString() string {
19740	return s.String()
19741}
19742
19743// SetTimezoneName sets the TimezoneName field's value.
19744func (s *Timezone) SetTimezoneName(v string) *Timezone {
19745	s.TimezoneName = &v
19746	return s
19747}
19748
19749// The version of the database engine that a DB instance can be upgraded to.
19750type UpgradeTarget struct {
19751	_ struct{} `type:"structure"`
19752
19753	// A value that indicates whether the target version is applied to any source
19754	// DB instances that have AutoMinorVersionUpgrade set to true.
19755	AutoUpgrade *bool `type:"boolean"`
19756
19757	// The version of the database engine that a DB instance can be upgraded to.
19758	Description *string `type:"string"`
19759
19760	// The name of the upgrade target database engine.
19761	Engine *string `type:"string"`
19762
19763	// The version number of the upgrade target database engine.
19764	EngineVersion *string `type:"string"`
19765
19766	// A value that indicates whether a database engine is upgraded to a major version.
19767	IsMajorVersionUpgrade *bool `type:"boolean"`
19768}
19769
19770// String returns the string representation.
19771//
19772// API parameter values that are decorated as "sensitive" in the API will not
19773// be included in the string output. The member name will be present, but the
19774// value will be replaced with "sensitive".
19775func (s UpgradeTarget) String() string {
19776	return awsutil.Prettify(s)
19777}
19778
19779// GoString returns the string representation.
19780//
19781// API parameter values that are decorated as "sensitive" in the API will not
19782// be included in the string output. The member name will be present, but the
19783// value will be replaced with "sensitive".
19784func (s UpgradeTarget) GoString() string {
19785	return s.String()
19786}
19787
19788// SetAutoUpgrade sets the AutoUpgrade field's value.
19789func (s *UpgradeTarget) SetAutoUpgrade(v bool) *UpgradeTarget {
19790	s.AutoUpgrade = &v
19791	return s
19792}
19793
19794// SetDescription sets the Description field's value.
19795func (s *UpgradeTarget) SetDescription(v string) *UpgradeTarget {
19796	s.Description = &v
19797	return s
19798}
19799
19800// SetEngine sets the Engine field's value.
19801func (s *UpgradeTarget) SetEngine(v string) *UpgradeTarget {
19802	s.Engine = &v
19803	return s
19804}
19805
19806// SetEngineVersion sets the EngineVersion field's value.
19807func (s *UpgradeTarget) SetEngineVersion(v string) *UpgradeTarget {
19808	s.EngineVersion = &v
19809	return s
19810}
19811
19812// SetIsMajorVersionUpgrade sets the IsMajorVersionUpgrade field's value.
19813func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget {
19814	s.IsMajorVersionUpgrade = &v
19815	return s
19816}
19817
19818// Information about valid modifications that you can make to your DB instance.
19819// Contains the result of a successful call to the DescribeValidDBInstanceModifications
19820// action. You can use this information when you call ModifyDBInstance.
19821type ValidDBInstanceModificationsMessage struct {
19822	_ struct{} `type:"structure"`
19823
19824	// Valid storage options for your DB instance.
19825	Storage []*ValidStorageOptions `locationNameList:"ValidStorageOptions" type:"list"`
19826}
19827
19828// String returns the string representation.
19829//
19830// API parameter values that are decorated as "sensitive" in the API will not
19831// be included in the string output. The member name will be present, but the
19832// value will be replaced with "sensitive".
19833func (s ValidDBInstanceModificationsMessage) String() string {
19834	return awsutil.Prettify(s)
19835}
19836
19837// GoString returns the string representation.
19838//
19839// API parameter values that are decorated as "sensitive" in the API will not
19840// be included in the string output. The member name will be present, but the
19841// value will be replaced with "sensitive".
19842func (s ValidDBInstanceModificationsMessage) GoString() string {
19843	return s.String()
19844}
19845
19846// SetStorage sets the Storage field's value.
19847func (s *ValidDBInstanceModificationsMessage) SetStorage(v []*ValidStorageOptions) *ValidDBInstanceModificationsMessage {
19848	s.Storage = v
19849	return s
19850}
19851
19852// Information about valid modifications that you can make to your DB instance.
19853//
19854// Contains the result of a successful call to the DescribeValidDBInstanceModifications
19855// action.
19856type ValidStorageOptions struct {
19857	_ struct{} `type:"structure"`
19858
19859	// The valid range of Provisioned IOPS to gibibytes of storage multiplier. For
19860	// example, 3-10, which means that provisioned IOPS can be between 3 and 10
19861	// times storage.
19862	IopsToStorageRatio []*DoubleRange `locationNameList:"DoubleRange" type:"list"`
19863
19864	// The valid range of provisioned IOPS. For example, 1000-20000.
19865	ProvisionedIops []*Range `locationNameList:"Range" type:"list"`
19866
19867	// The valid range of storage in gibibytes. For example, 100 to 16384.
19868	StorageSize []*Range `locationNameList:"Range" type:"list"`
19869
19870	// The valid storage types for your DB instance. For example, gp2, io1.
19871	StorageType *string `type:"string"`
19872}
19873
19874// String returns the string representation.
19875//
19876// API parameter values that are decorated as "sensitive" in the API will not
19877// be included in the string output. The member name will be present, but the
19878// value will be replaced with "sensitive".
19879func (s ValidStorageOptions) String() string {
19880	return awsutil.Prettify(s)
19881}
19882
19883// GoString returns the string representation.
19884//
19885// API parameter values that are decorated as "sensitive" in the API will not
19886// be included in the string output. The member name will be present, but the
19887// value will be replaced with "sensitive".
19888func (s ValidStorageOptions) GoString() string {
19889	return s.String()
19890}
19891
19892// SetIopsToStorageRatio sets the IopsToStorageRatio field's value.
19893func (s *ValidStorageOptions) SetIopsToStorageRatio(v []*DoubleRange) *ValidStorageOptions {
19894	s.IopsToStorageRatio = v
19895	return s
19896}
19897
19898// SetProvisionedIops sets the ProvisionedIops field's value.
19899func (s *ValidStorageOptions) SetProvisionedIops(v []*Range) *ValidStorageOptions {
19900	s.ProvisionedIops = v
19901	return s
19902}
19903
19904// SetStorageSize sets the StorageSize field's value.
19905func (s *ValidStorageOptions) SetStorageSize(v []*Range) *ValidStorageOptions {
19906	s.StorageSize = v
19907	return s
19908}
19909
19910// SetStorageType sets the StorageType field's value.
19911func (s *ValidStorageOptions) SetStorageType(v string) *ValidStorageOptions {
19912	s.StorageType = &v
19913	return s
19914}
19915
19916// This data type is used as a response element for queries on VPC security
19917// group membership.
19918type VpcSecurityGroupMembership struct {
19919	_ struct{} `type:"structure"`
19920
19921	// The status of the VPC security group.
19922	Status *string `type:"string"`
19923
19924	// The name of the VPC security group.
19925	VpcSecurityGroupId *string `type:"string"`
19926}
19927
19928// String returns the string representation.
19929//
19930// API parameter values that are decorated as "sensitive" in the API will not
19931// be included in the string output. The member name will be present, but the
19932// value will be replaced with "sensitive".
19933func (s VpcSecurityGroupMembership) String() string {
19934	return awsutil.Prettify(s)
19935}
19936
19937// GoString returns the string representation.
19938//
19939// API parameter values that are decorated as "sensitive" in the API will not
19940// be included in the string output. The member name will be present, but the
19941// value will be replaced with "sensitive".
19942func (s VpcSecurityGroupMembership) GoString() string {
19943	return s.String()
19944}
19945
19946// SetStatus sets the Status field's value.
19947func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership {
19948	s.Status = &v
19949	return s
19950}
19951
19952// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
19953func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership {
19954	s.VpcSecurityGroupId = &v
19955	return s
19956}
19957
19958const (
19959	// ApplyMethodImmediate is a ApplyMethod enum value
19960	ApplyMethodImmediate = "immediate"
19961
19962	// ApplyMethodPendingReboot is a ApplyMethod enum value
19963	ApplyMethodPendingReboot = "pending-reboot"
19964)
19965
19966// ApplyMethod_Values returns all elements of the ApplyMethod enum
19967func ApplyMethod_Values() []string {
19968	return []string{
19969		ApplyMethodImmediate,
19970		ApplyMethodPendingReboot,
19971	}
19972}
19973
19974const (
19975	// SourceTypeDbInstance is a SourceType enum value
19976	SourceTypeDbInstance = "db-instance"
19977
19978	// SourceTypeDbParameterGroup is a SourceType enum value
19979	SourceTypeDbParameterGroup = "db-parameter-group"
19980
19981	// SourceTypeDbSecurityGroup is a SourceType enum value
19982	SourceTypeDbSecurityGroup = "db-security-group"
19983
19984	// SourceTypeDbSnapshot is a SourceType enum value
19985	SourceTypeDbSnapshot = "db-snapshot"
19986
19987	// SourceTypeDbCluster is a SourceType enum value
19988	SourceTypeDbCluster = "db-cluster"
19989
19990	// SourceTypeDbClusterSnapshot is a SourceType enum value
19991	SourceTypeDbClusterSnapshot = "db-cluster-snapshot"
19992)
19993
19994// SourceType_Values returns all elements of the SourceType enum
19995func SourceType_Values() []string {
19996	return []string{
19997		SourceTypeDbInstance,
19998		SourceTypeDbParameterGroup,
19999		SourceTypeDbSecurityGroup,
20000		SourceTypeDbSnapshot,
20001		SourceTypeDbCluster,
20002		SourceTypeDbClusterSnapshot,
20003	}
20004}
20005