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 from an Neptune DB
62// cluster.
63//
64// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
65// with awserr.Error's Code and Message methods to get detailed information about
66// the error.
67//
68// See the AWS API reference guide for Amazon Neptune's
69// API operation AddRoleToDBCluster for usage and error information.
70//
71// Returned Error Codes:
72//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
73//   DBClusterIdentifier does not refer to an existing DB cluster.
74//
75//   * ErrCodeDBClusterRoleAlreadyExistsFault "DBClusterRoleAlreadyExists"
76//   The specified IAM role Amazon Resource Name (ARN) is already associated with
77//   the specified DB cluster.
78//
79//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
80//   The DB cluster is not in a valid state.
81//
82//   * ErrCodeDBClusterRoleQuotaExceededFault "DBClusterRoleQuotaExceeded"
83//   You have exceeded the maximum number of IAM roles that can be associated
84//   with the specified DB cluster.
85//
86// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/AddRoleToDBCluster
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 opCreateDBClusterParameterGroup = "CreateDBClusterParameterGroup"
766
767// CreateDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
768// client's request for the CreateDBClusterParameterGroup 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 CreateDBClusterParameterGroup for more information on using the CreateDBClusterParameterGroup
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 CreateDBClusterParameterGroupRequest method.
783//    req, resp := client.CreateDBClusterParameterGroupRequest(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/CreateDBClusterParameterGroup
791func (c *Neptune) CreateDBClusterParameterGroupRequest(input *CreateDBClusterParameterGroupInput) (req *request.Request, output *CreateDBClusterParameterGroupOutput) {
792	op := &request.Operation{
793		Name:       opCreateDBClusterParameterGroup,
794		HTTPMethod: "POST",
795		HTTPPath:   "/",
796	}
797
798	if input == nil {
799		input = &CreateDBClusterParameterGroupInput{}
800	}
801
802	output = &CreateDBClusterParameterGroupOutput{}
803	req = c.newRequest(op, input, output)
804	return
805}
806
807// CreateDBClusterParameterGroup API operation for Amazon Neptune.
808//
809// Creates a new DB cluster parameter group.
810//
811// Parameters in a DB cluster parameter group apply to all of the instances
812// in a DB cluster.
813//
814// A DB cluster parameter group is initially created with the default parameters
815// for the database engine used by instances in the DB cluster. To provide custom
816// values for any of the parameters, you must modify the group after creating
817// it using ModifyDBClusterParameterGroup. Once you've created a DB cluster
818// parameter group, you need to associate it with your DB cluster using ModifyDBCluster.
819// When you associate a new DB cluster parameter group with a running DB cluster,
820// you need to reboot the DB instances in the DB cluster without failover for
821// the new DB cluster parameter group and associated settings to take effect.
822//
823// After you create a DB cluster parameter group, you should wait at least 5
824// minutes before creating your first DB cluster that uses that DB cluster parameter
825// group as the default parameter group. This allows Amazon Neptune to fully
826// complete the create action before the DB cluster parameter group is used
827// as the default for a new DB cluster. This is especially important for parameters
828// that are critical when creating the default database for a DB cluster, such
829// as the character set for the default database defined by the character_set_database
830// parameter. You can use the Parameter Groups option of the Amazon Neptune
831// console (https://console.aws.amazon.com/rds/) or the DescribeDBClusterParameters
832// command to verify that your DB cluster parameter group has been created or
833// modified.
834//
835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
836// with awserr.Error's Code and Message methods to get detailed information about
837// the error.
838//
839// See the AWS API reference guide for Amazon Neptune's
840// API operation CreateDBClusterParameterGroup for usage and error information.
841//
842// Returned Error Codes:
843//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
844//   Request would result in user exceeding the allowed number of DB parameter
845//   groups.
846//
847//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
848//   A DB parameter group with the same name exists.
849//
850// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBClusterParameterGroup
851func (c *Neptune) CreateDBClusterParameterGroup(input *CreateDBClusterParameterGroupInput) (*CreateDBClusterParameterGroupOutput, error) {
852	req, out := c.CreateDBClusterParameterGroupRequest(input)
853	return out, req.Send()
854}
855
856// CreateDBClusterParameterGroupWithContext is the same as CreateDBClusterParameterGroup with the addition of
857// the ability to pass a context and additional request options.
858//
859// See CreateDBClusterParameterGroup for details on how to use this API operation.
860//
861// The context must be non-nil and will be used for request cancellation. If
862// the context is nil a panic will occur. In the future the SDK may create
863// sub-contexts for http.Requests. See https://golang.org/pkg/context/
864// for more information on using Contexts.
865func (c *Neptune) CreateDBClusterParameterGroupWithContext(ctx aws.Context, input *CreateDBClusterParameterGroupInput, opts ...request.Option) (*CreateDBClusterParameterGroupOutput, error) {
866	req, out := c.CreateDBClusterParameterGroupRequest(input)
867	req.SetContext(ctx)
868	req.ApplyOptions(opts...)
869	return out, req.Send()
870}
871
872const opCreateDBClusterSnapshot = "CreateDBClusterSnapshot"
873
874// CreateDBClusterSnapshotRequest generates a "aws/request.Request" representing the
875// client's request for the CreateDBClusterSnapshot operation. The "output" return
876// value will be populated with the request's response once the request completes
877// successfully.
878//
879// Use "Send" method on the returned Request to send the API call to the service.
880// the "output" return value is not valid until after Send returns without error.
881//
882// See CreateDBClusterSnapshot for more information on using the CreateDBClusterSnapshot
883// API call, and error handling.
884//
885// This method is useful when you want to inject custom logic or configuration
886// into the SDK's request lifecycle. Such as custom headers, or retry logic.
887//
888//
889//    // Example sending a request using the CreateDBClusterSnapshotRequest method.
890//    req, resp := client.CreateDBClusterSnapshotRequest(params)
891//
892//    err := req.Send()
893//    if err == nil { // resp is now filled
894//        fmt.Println(resp)
895//    }
896//
897// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBClusterSnapshot
898func (c *Neptune) CreateDBClusterSnapshotRequest(input *CreateDBClusterSnapshotInput) (req *request.Request, output *CreateDBClusterSnapshotOutput) {
899	op := &request.Operation{
900		Name:       opCreateDBClusterSnapshot,
901		HTTPMethod: "POST",
902		HTTPPath:   "/",
903	}
904
905	if input == nil {
906		input = &CreateDBClusterSnapshotInput{}
907	}
908
909	output = &CreateDBClusterSnapshotOutput{}
910	req = c.newRequest(op, input, output)
911	return
912}
913
914// CreateDBClusterSnapshot API operation for Amazon Neptune.
915//
916// Creates a snapshot of a DB cluster.
917//
918// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
919// with awserr.Error's Code and Message methods to get detailed information about
920// the error.
921//
922// See the AWS API reference guide for Amazon Neptune's
923// API operation CreateDBClusterSnapshot for usage and error information.
924//
925// Returned Error Codes:
926//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
927//   User already has a DB cluster snapshot with the given identifier.
928//
929//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
930//   The DB cluster is not in a valid state.
931//
932//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
933//   DBClusterIdentifier does not refer to an existing DB cluster.
934//
935//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
936//   Request would result in user exceeding the allowed number of DB snapshots.
937//
938//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
939//   The supplied value is not a valid DB cluster snapshot state.
940//
941// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBClusterSnapshot
942func (c *Neptune) CreateDBClusterSnapshot(input *CreateDBClusterSnapshotInput) (*CreateDBClusterSnapshotOutput, error) {
943	req, out := c.CreateDBClusterSnapshotRequest(input)
944	return out, req.Send()
945}
946
947// CreateDBClusterSnapshotWithContext is the same as CreateDBClusterSnapshot with the addition of
948// the ability to pass a context and additional request options.
949//
950// See CreateDBClusterSnapshot for details on how to use this API operation.
951//
952// The context must be non-nil and will be used for request cancellation. If
953// the context is nil a panic will occur. In the future the SDK may create
954// sub-contexts for http.Requests. See https://golang.org/pkg/context/
955// for more information on using Contexts.
956func (c *Neptune) CreateDBClusterSnapshotWithContext(ctx aws.Context, input *CreateDBClusterSnapshotInput, opts ...request.Option) (*CreateDBClusterSnapshotOutput, error) {
957	req, out := c.CreateDBClusterSnapshotRequest(input)
958	req.SetContext(ctx)
959	req.ApplyOptions(opts...)
960	return out, req.Send()
961}
962
963const opCreateDBInstance = "CreateDBInstance"
964
965// CreateDBInstanceRequest generates a "aws/request.Request" representing the
966// client's request for the CreateDBInstance operation. The "output" return
967// value will be populated with the request's response once the request completes
968// successfully.
969//
970// Use "Send" method on the returned Request to send the API call to the service.
971// the "output" return value is not valid until after Send returns without error.
972//
973// See CreateDBInstance for more information on using the CreateDBInstance
974// API call, and error handling.
975//
976// This method is useful when you want to inject custom logic or configuration
977// into the SDK's request lifecycle. Such as custom headers, or retry logic.
978//
979//
980//    // Example sending a request using the CreateDBInstanceRequest method.
981//    req, resp := client.CreateDBInstanceRequest(params)
982//
983//    err := req.Send()
984//    if err == nil { // resp is now filled
985//        fmt.Println(resp)
986//    }
987//
988// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBInstance
989func (c *Neptune) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *request.Request, output *CreateDBInstanceOutput) {
990	op := &request.Operation{
991		Name:       opCreateDBInstance,
992		HTTPMethod: "POST",
993		HTTPPath:   "/",
994	}
995
996	if input == nil {
997		input = &CreateDBInstanceInput{}
998	}
999
1000	output = &CreateDBInstanceOutput{}
1001	req = c.newRequest(op, input, output)
1002	return
1003}
1004
1005// CreateDBInstance API operation for Amazon Neptune.
1006//
1007// Creates a new DB instance.
1008//
1009// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1010// with awserr.Error's Code and Message methods to get detailed information about
1011// the error.
1012//
1013// See the AWS API reference guide for Amazon Neptune's
1014// API operation CreateDBInstance for usage and error information.
1015//
1016// Returned Error Codes:
1017//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
1018//   User already has a DB instance with the given identifier.
1019//
1020//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
1021//   Specified DB instance class is not available in the specified Availability
1022//   Zone.
1023//
1024//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1025//   DBParameterGroupName does not refer to an existing DB parameter group.
1026//
1027//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
1028//   DBSecurityGroupName does not refer to an existing DB security group.
1029//
1030//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
1031//   Request would result in user exceeding the allowed number of DB instances.
1032//
1033//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
1034//   Request would result in user exceeding the allowed amount of storage available
1035//   across all DB instances.
1036//
1037//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1038//   DBSubnetGroupName does not refer to an existing DB subnet group.
1039//
1040//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1041//   Subnets in the DB subnet group should cover at least two Availability Zones
1042//   unless there is only one Availability Zone.
1043//
1044//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1045//   The DB cluster is not in a valid state.
1046//
1047//   * ErrCodeInvalidSubnet "InvalidSubnet"
1048//   The requested subnet is invalid, or multiple subnets were requested that
1049//   are not all in a common VPC.
1050//
1051//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
1052//   DB subnet group does not cover all Availability Zones after it is created
1053//   because users' change.
1054//
1055//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
1056//   Provisioned IOPS not available in the specified Availability Zone.
1057//
1058//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
1059//   The designated option group could not be found.
1060//
1061//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1062//   DBClusterIdentifier does not refer to an existing DB cluster.
1063//
1064//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
1065//   StorageType specified cannot be associated with the DB Instance.
1066//
1067//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
1068//   Specified CIDRIP or EC2 security group is not authorized for the specified
1069//   DB security group.
1070//
1071//   Neptune may not also be authorized via IAM to perform necessary actions on
1072//   your behalf.
1073//
1074//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1075//   Error accessing KMS key.
1076//
1077//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
1078//   Domain does not refer to an existing Active Directory Domain.
1079//
1080// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBInstance
1081func (c *Neptune) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceOutput, error) {
1082	req, out := c.CreateDBInstanceRequest(input)
1083	return out, req.Send()
1084}
1085
1086// CreateDBInstanceWithContext is the same as CreateDBInstance with the addition of
1087// the ability to pass a context and additional request options.
1088//
1089// See CreateDBInstance for details on how to use this API operation.
1090//
1091// The context must be non-nil and will be used for request cancellation. If
1092// the context is nil a panic will occur. In the future the SDK may create
1093// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1094// for more information on using Contexts.
1095func (c *Neptune) CreateDBInstanceWithContext(ctx aws.Context, input *CreateDBInstanceInput, opts ...request.Option) (*CreateDBInstanceOutput, error) {
1096	req, out := c.CreateDBInstanceRequest(input)
1097	req.SetContext(ctx)
1098	req.ApplyOptions(opts...)
1099	return out, req.Send()
1100}
1101
1102const opCreateDBParameterGroup = "CreateDBParameterGroup"
1103
1104// CreateDBParameterGroupRequest generates a "aws/request.Request" representing the
1105// client's request for the CreateDBParameterGroup operation. The "output" return
1106// value will be populated with the request's response once the request completes
1107// successfully.
1108//
1109// Use "Send" method on the returned Request to send the API call to the service.
1110// the "output" return value is not valid until after Send returns without error.
1111//
1112// See CreateDBParameterGroup for more information on using the CreateDBParameterGroup
1113// API call, and error handling.
1114//
1115// This method is useful when you want to inject custom logic or configuration
1116// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1117//
1118//
1119//    // Example sending a request using the CreateDBParameterGroupRequest method.
1120//    req, resp := client.CreateDBParameterGroupRequest(params)
1121//
1122//    err := req.Send()
1123//    if err == nil { // resp is now filled
1124//        fmt.Println(resp)
1125//    }
1126//
1127// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBParameterGroup
1128func (c *Neptune) CreateDBParameterGroupRequest(input *CreateDBParameterGroupInput) (req *request.Request, output *CreateDBParameterGroupOutput) {
1129	op := &request.Operation{
1130		Name:       opCreateDBParameterGroup,
1131		HTTPMethod: "POST",
1132		HTTPPath:   "/",
1133	}
1134
1135	if input == nil {
1136		input = &CreateDBParameterGroupInput{}
1137	}
1138
1139	output = &CreateDBParameterGroupOutput{}
1140	req = c.newRequest(op, input, output)
1141	return
1142}
1143
1144// CreateDBParameterGroup API operation for Amazon Neptune.
1145//
1146// Creates a new DB parameter group.
1147//
1148// A DB parameter group is initially created with the default parameters for
1149// the database engine used by the DB instance. To provide custom values for
1150// any of the parameters, you must modify the group after creating it using
1151// ModifyDBParameterGroup. Once you've created a DB parameter group, you need
1152// to associate it with your DB instance using ModifyDBInstance. When you associate
1153// a new DB parameter group with a running DB instance, you need to reboot the
1154// DB instance without failover for the new DB parameter group and associated
1155// settings to take effect.
1156//
1157// After you create a DB parameter group, you should wait at least 5 minutes
1158// before creating your first DB instance that uses that DB parameter group
1159// as the default parameter group. This allows Amazon Neptune to fully complete
1160// the create action before the parameter group is used as the default for a
1161// new DB instance. This is especially important for parameters that are critical
1162// when creating the default database for a DB instance, such as the character
1163// set for the default database defined by the character_set_database parameter.
1164// You can use the Parameter Groups option of the Amazon Neptune console or
1165// the DescribeDBParameters command to verify that your DB parameter group has
1166// been created or modified.
1167//
1168// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1169// with awserr.Error's Code and Message methods to get detailed information about
1170// the error.
1171//
1172// See the AWS API reference guide for Amazon Neptune's
1173// API operation CreateDBParameterGroup for usage and error information.
1174//
1175// Returned Error Codes:
1176//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
1177//   Request would result in user exceeding the allowed number of DB parameter
1178//   groups.
1179//
1180//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
1181//   A DB parameter group with the same name exists.
1182//
1183// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBParameterGroup
1184func (c *Neptune) CreateDBParameterGroup(input *CreateDBParameterGroupInput) (*CreateDBParameterGroupOutput, error) {
1185	req, out := c.CreateDBParameterGroupRequest(input)
1186	return out, req.Send()
1187}
1188
1189// CreateDBParameterGroupWithContext is the same as CreateDBParameterGroup with the addition of
1190// the ability to pass a context and additional request options.
1191//
1192// See CreateDBParameterGroup for details on how to use this API operation.
1193//
1194// The context must be non-nil and will be used for request cancellation. If
1195// the context is nil a panic will occur. In the future the SDK may create
1196// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1197// for more information on using Contexts.
1198func (c *Neptune) CreateDBParameterGroupWithContext(ctx aws.Context, input *CreateDBParameterGroupInput, opts ...request.Option) (*CreateDBParameterGroupOutput, error) {
1199	req, out := c.CreateDBParameterGroupRequest(input)
1200	req.SetContext(ctx)
1201	req.ApplyOptions(opts...)
1202	return out, req.Send()
1203}
1204
1205const opCreateDBSubnetGroup = "CreateDBSubnetGroup"
1206
1207// CreateDBSubnetGroupRequest generates a "aws/request.Request" representing the
1208// client's request for the CreateDBSubnetGroup operation. The "output" return
1209// value will be populated with the request's response once the request completes
1210// successfully.
1211//
1212// Use "Send" method on the returned Request to send the API call to the service.
1213// the "output" return value is not valid until after Send returns without error.
1214//
1215// See CreateDBSubnetGroup for more information on using the CreateDBSubnetGroup
1216// API call, and error handling.
1217//
1218// This method is useful when you want to inject custom logic or configuration
1219// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1220//
1221//
1222//    // Example sending a request using the CreateDBSubnetGroupRequest method.
1223//    req, resp := client.CreateDBSubnetGroupRequest(params)
1224//
1225//    err := req.Send()
1226//    if err == nil { // resp is now filled
1227//        fmt.Println(resp)
1228//    }
1229//
1230// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBSubnetGroup
1231func (c *Neptune) CreateDBSubnetGroupRequest(input *CreateDBSubnetGroupInput) (req *request.Request, output *CreateDBSubnetGroupOutput) {
1232	op := &request.Operation{
1233		Name:       opCreateDBSubnetGroup,
1234		HTTPMethod: "POST",
1235		HTTPPath:   "/",
1236	}
1237
1238	if input == nil {
1239		input = &CreateDBSubnetGroupInput{}
1240	}
1241
1242	output = &CreateDBSubnetGroupOutput{}
1243	req = c.newRequest(op, input, output)
1244	return
1245}
1246
1247// CreateDBSubnetGroup API operation for Amazon Neptune.
1248//
1249// Creates a new DB subnet group. DB subnet groups must contain at least one
1250// subnet in at least two AZs in the AWS Region.
1251//
1252// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1253// with awserr.Error's Code and Message methods to get detailed information about
1254// the error.
1255//
1256// See the AWS API reference guide for Amazon Neptune's
1257// API operation CreateDBSubnetGroup for usage and error information.
1258//
1259// Returned Error Codes:
1260//   * ErrCodeDBSubnetGroupAlreadyExistsFault "DBSubnetGroupAlreadyExists"
1261//   DBSubnetGroupName is already used by an existing DB subnet group.
1262//
1263//   * ErrCodeDBSubnetGroupQuotaExceededFault "DBSubnetGroupQuotaExceeded"
1264//   Request would result in user exceeding the allowed number of DB subnet groups.
1265//
1266//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
1267//   Request would result in user exceeding the allowed number of subnets in a
1268//   DB subnet groups.
1269//
1270//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1271//   Subnets in the DB subnet group should cover at least two Availability Zones
1272//   unless there is only one Availability Zone.
1273//
1274//   * ErrCodeInvalidSubnet "InvalidSubnet"
1275//   The requested subnet is invalid, or multiple subnets were requested that
1276//   are not all in a common VPC.
1277//
1278// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBSubnetGroup
1279func (c *Neptune) CreateDBSubnetGroup(input *CreateDBSubnetGroupInput) (*CreateDBSubnetGroupOutput, error) {
1280	req, out := c.CreateDBSubnetGroupRequest(input)
1281	return out, req.Send()
1282}
1283
1284// CreateDBSubnetGroupWithContext is the same as CreateDBSubnetGroup with the addition of
1285// the ability to pass a context and additional request options.
1286//
1287// See CreateDBSubnetGroup 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) CreateDBSubnetGroupWithContext(ctx aws.Context, input *CreateDBSubnetGroupInput, opts ...request.Option) (*CreateDBSubnetGroupOutput, error) {
1294	req, out := c.CreateDBSubnetGroupRequest(input)
1295	req.SetContext(ctx)
1296	req.ApplyOptions(opts...)
1297	return out, req.Send()
1298}
1299
1300const opCreateEventSubscription = "CreateEventSubscription"
1301
1302// CreateEventSubscriptionRequest generates a "aws/request.Request" representing the
1303// client's request for the CreateEventSubscription 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 CreateEventSubscription for more information on using the CreateEventSubscription
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 CreateEventSubscriptionRequest method.
1318//    req, resp := client.CreateEventSubscriptionRequest(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/CreateEventSubscription
1326func (c *Neptune) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) {
1327	op := &request.Operation{
1328		Name:       opCreateEventSubscription,
1329		HTTPMethod: "POST",
1330		HTTPPath:   "/",
1331	}
1332
1333	if input == nil {
1334		input = &CreateEventSubscriptionInput{}
1335	}
1336
1337	output = &CreateEventSubscriptionOutput{}
1338	req = c.newRequest(op, input, output)
1339	return
1340}
1341
1342// CreateEventSubscription API operation for Amazon Neptune.
1343//
1344// Creates an event notification subscription. This action requires a topic
1345// ARN (Amazon Resource Name) created by either the Neptune console, the SNS
1346// console, or the SNS API. To obtain an ARN with SNS, you must create a topic
1347// in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS
1348// console.
1349//
1350// You can specify the type of source (SourceType) you want to be notified of,
1351// provide a list of Neptune sources (SourceIds) that triggers the events, and
1352// provide a list of event categories (EventCategories) for events you want
1353// to be notified of. For example, you can specify SourceType = db-instance,
1354// SourceIds = mydbinstance1, mydbinstance2 and EventCategories = Availability,
1355// Backup.
1356//
1357// If you specify both the SourceType and SourceIds, such as SourceType = db-instance
1358// and SourceIdentifier = myDBInstance1, you are notified of all the db-instance
1359// events for the specified source. If you specify a SourceType but do not specify
1360// a SourceIdentifier, you receive notice of the events for that source type
1361// for all your Neptune sources. If you do not specify either the SourceType
1362// nor the SourceIdentifier, you are notified of events generated from all Neptune
1363// sources belonging to your customer account.
1364//
1365// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1366// with awserr.Error's Code and Message methods to get detailed information about
1367// the error.
1368//
1369// See the AWS API reference guide for Amazon Neptune's
1370// API operation CreateEventSubscription for usage and error information.
1371//
1372// Returned Error Codes:
1373//   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
1374//   You have exceeded the number of events you can subscribe to.
1375//
1376//   * ErrCodeSubscriptionAlreadyExistFault "SubscriptionAlreadyExist"
1377//   This subscription already exists.
1378//
1379//   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
1380//   The SNS topic is invalid.
1381//
1382//   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
1383//   There is no SNS authorization.
1384//
1385//   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
1386//   The ARN of the SNS topic could not be found.
1387//
1388//   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
1389//   The designated subscription category could not be found.
1390//
1391//   * ErrCodeSourceNotFoundFault "SourceNotFound"
1392//   The source could not be found.
1393//
1394// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateEventSubscription
1395func (c *Neptune) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) {
1396	req, out := c.CreateEventSubscriptionRequest(input)
1397	return out, req.Send()
1398}
1399
1400// CreateEventSubscriptionWithContext is the same as CreateEventSubscription with the addition of
1401// the ability to pass a context and additional request options.
1402//
1403// See CreateEventSubscription for details on how to use this API operation.
1404//
1405// The context must be non-nil and will be used for request cancellation. If
1406// the context is nil a panic will occur. In the future the SDK may create
1407// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1408// for more information on using Contexts.
1409func (c *Neptune) CreateEventSubscriptionWithContext(ctx aws.Context, input *CreateEventSubscriptionInput, opts ...request.Option) (*CreateEventSubscriptionOutput, error) {
1410	req, out := c.CreateEventSubscriptionRequest(input)
1411	req.SetContext(ctx)
1412	req.ApplyOptions(opts...)
1413	return out, req.Send()
1414}
1415
1416const opDeleteDBCluster = "DeleteDBCluster"
1417
1418// DeleteDBClusterRequest generates a "aws/request.Request" representing the
1419// client's request for the DeleteDBCluster operation. The "output" return
1420// value will be populated with the request's response once the request completes
1421// successfully.
1422//
1423// Use "Send" method on the returned Request to send the API call to the service.
1424// the "output" return value is not valid until after Send returns without error.
1425//
1426// See DeleteDBCluster for more information on using the DeleteDBCluster
1427// API call, and error handling.
1428//
1429// This method is useful when you want to inject custom logic or configuration
1430// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1431//
1432//
1433//    // Example sending a request using the DeleteDBClusterRequest method.
1434//    req, resp := client.DeleteDBClusterRequest(params)
1435//
1436//    err := req.Send()
1437//    if err == nil { // resp is now filled
1438//        fmt.Println(resp)
1439//    }
1440//
1441// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBCluster
1442func (c *Neptune) DeleteDBClusterRequest(input *DeleteDBClusterInput) (req *request.Request, output *DeleteDBClusterOutput) {
1443	op := &request.Operation{
1444		Name:       opDeleteDBCluster,
1445		HTTPMethod: "POST",
1446		HTTPPath:   "/",
1447	}
1448
1449	if input == nil {
1450		input = &DeleteDBClusterInput{}
1451	}
1452
1453	output = &DeleteDBClusterOutput{}
1454	req = c.newRequest(op, input, output)
1455	return
1456}
1457
1458// DeleteDBCluster API operation for Amazon Neptune.
1459//
1460// The DeleteDBCluster action deletes a previously provisioned DB cluster. When
1461// you delete a DB cluster, all automated backups for that DB cluster are deleted
1462// and can't be recovered. Manual DB cluster snapshots of the specified DB cluster
1463// are not deleted.
1464//
1465// Note that the DB Cluster cannot be deleted if deletion protection is enabled.
1466// To delete it, you must first set its DeletionProtection field to False.
1467//
1468// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1469// with awserr.Error's Code and Message methods to get detailed information about
1470// the error.
1471//
1472// See the AWS API reference guide for Amazon Neptune's
1473// API operation DeleteDBCluster for usage and error information.
1474//
1475// Returned Error Codes:
1476//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1477//   DBClusterIdentifier does not refer to an existing DB cluster.
1478//
1479//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1480//   The DB cluster is not in a valid state.
1481//
1482//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
1483//   User already has a DB cluster snapshot with the given identifier.
1484//
1485//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1486//   Request would result in user exceeding the allowed number of DB snapshots.
1487//
1488//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
1489//   The supplied value is not a valid DB cluster snapshot state.
1490//
1491// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBCluster
1492func (c *Neptune) DeleteDBCluster(input *DeleteDBClusterInput) (*DeleteDBClusterOutput, error) {
1493	req, out := c.DeleteDBClusterRequest(input)
1494	return out, req.Send()
1495}
1496
1497// DeleteDBClusterWithContext is the same as DeleteDBCluster with the addition of
1498// the ability to pass a context and additional request options.
1499//
1500// See DeleteDBCluster for details on how to use this API operation.
1501//
1502// The context must be non-nil and will be used for request cancellation. If
1503// the context is nil a panic will occur. In the future the SDK may create
1504// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1505// for more information on using Contexts.
1506func (c *Neptune) DeleteDBClusterWithContext(ctx aws.Context, input *DeleteDBClusterInput, opts ...request.Option) (*DeleteDBClusterOutput, error) {
1507	req, out := c.DeleteDBClusterRequest(input)
1508	req.SetContext(ctx)
1509	req.ApplyOptions(opts...)
1510	return out, req.Send()
1511}
1512
1513const opDeleteDBClusterParameterGroup = "DeleteDBClusterParameterGroup"
1514
1515// DeleteDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
1516// client's request for the DeleteDBClusterParameterGroup operation. The "output" return
1517// value will be populated with the request's response once the request completes
1518// successfully.
1519//
1520// Use "Send" method on the returned Request to send the API call to the service.
1521// the "output" return value is not valid until after Send returns without error.
1522//
1523// See DeleteDBClusterParameterGroup for more information on using the DeleteDBClusterParameterGroup
1524// API call, and error handling.
1525//
1526// This method is useful when you want to inject custom logic or configuration
1527// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1528//
1529//
1530//    // Example sending a request using the DeleteDBClusterParameterGroupRequest method.
1531//    req, resp := client.DeleteDBClusterParameterGroupRequest(params)
1532//
1533//    err := req.Send()
1534//    if err == nil { // resp is now filled
1535//        fmt.Println(resp)
1536//    }
1537//
1538// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBClusterParameterGroup
1539func (c *Neptune) DeleteDBClusterParameterGroupRequest(input *DeleteDBClusterParameterGroupInput) (req *request.Request, output *DeleteDBClusterParameterGroupOutput) {
1540	op := &request.Operation{
1541		Name:       opDeleteDBClusterParameterGroup,
1542		HTTPMethod: "POST",
1543		HTTPPath:   "/",
1544	}
1545
1546	if input == nil {
1547		input = &DeleteDBClusterParameterGroupInput{}
1548	}
1549
1550	output = &DeleteDBClusterParameterGroupOutput{}
1551	req = c.newRequest(op, input, output)
1552	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1553	return
1554}
1555
1556// DeleteDBClusterParameterGroup API operation for Amazon Neptune.
1557//
1558// Deletes a specified DB cluster parameter group. The DB cluster parameter
1559// group to be deleted can't be associated with any DB clusters.
1560//
1561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1562// with awserr.Error's Code and Message methods to get detailed information about
1563// the error.
1564//
1565// See the AWS API reference guide for Amazon Neptune's
1566// API operation DeleteDBClusterParameterGroup for usage and error information.
1567//
1568// Returned Error Codes:
1569//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
1570//   The DB parameter group is in use or is in an invalid state. If you are attempting
1571//   to delete the parameter group, you cannot delete it when the parameter group
1572//   is in this state.
1573//
1574//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1575//   DBParameterGroupName does not refer to an existing DB parameter group.
1576//
1577// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBClusterParameterGroup
1578func (c *Neptune) DeleteDBClusterParameterGroup(input *DeleteDBClusterParameterGroupInput) (*DeleteDBClusterParameterGroupOutput, error) {
1579	req, out := c.DeleteDBClusterParameterGroupRequest(input)
1580	return out, req.Send()
1581}
1582
1583// DeleteDBClusterParameterGroupWithContext is the same as DeleteDBClusterParameterGroup with the addition of
1584// the ability to pass a context and additional request options.
1585//
1586// See DeleteDBClusterParameterGroup for details on how to use this API operation.
1587//
1588// The context must be non-nil and will be used for request cancellation. If
1589// the context is nil a panic will occur. In the future the SDK may create
1590// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1591// for more information on using Contexts.
1592func (c *Neptune) DeleteDBClusterParameterGroupWithContext(ctx aws.Context, input *DeleteDBClusterParameterGroupInput, opts ...request.Option) (*DeleteDBClusterParameterGroupOutput, error) {
1593	req, out := c.DeleteDBClusterParameterGroupRequest(input)
1594	req.SetContext(ctx)
1595	req.ApplyOptions(opts...)
1596	return out, req.Send()
1597}
1598
1599const opDeleteDBClusterSnapshot = "DeleteDBClusterSnapshot"
1600
1601// DeleteDBClusterSnapshotRequest generates a "aws/request.Request" representing the
1602// client's request for the DeleteDBClusterSnapshot operation. The "output" return
1603// value will be populated with the request's response once the request completes
1604// successfully.
1605//
1606// Use "Send" method on the returned Request to send the API call to the service.
1607// the "output" return value is not valid until after Send returns without error.
1608//
1609// See DeleteDBClusterSnapshot for more information on using the DeleteDBClusterSnapshot
1610// API call, and error handling.
1611//
1612// This method is useful when you want to inject custom logic or configuration
1613// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1614//
1615//
1616//    // Example sending a request using the DeleteDBClusterSnapshotRequest method.
1617//    req, resp := client.DeleteDBClusterSnapshotRequest(params)
1618//
1619//    err := req.Send()
1620//    if err == nil { // resp is now filled
1621//        fmt.Println(resp)
1622//    }
1623//
1624// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBClusterSnapshot
1625func (c *Neptune) DeleteDBClusterSnapshotRequest(input *DeleteDBClusterSnapshotInput) (req *request.Request, output *DeleteDBClusterSnapshotOutput) {
1626	op := &request.Operation{
1627		Name:       opDeleteDBClusterSnapshot,
1628		HTTPMethod: "POST",
1629		HTTPPath:   "/",
1630	}
1631
1632	if input == nil {
1633		input = &DeleteDBClusterSnapshotInput{}
1634	}
1635
1636	output = &DeleteDBClusterSnapshotOutput{}
1637	req = c.newRequest(op, input, output)
1638	return
1639}
1640
1641// DeleteDBClusterSnapshot API operation for Amazon Neptune.
1642//
1643// Deletes a DB cluster snapshot. If the snapshot is being copied, the copy
1644// operation is terminated.
1645//
1646// The DB cluster snapshot must be in the available state to be deleted.
1647//
1648// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1649// with awserr.Error's Code and Message methods to get detailed information about
1650// the error.
1651//
1652// See the AWS API reference guide for Amazon Neptune's
1653// API operation DeleteDBClusterSnapshot for usage and error information.
1654//
1655// Returned Error Codes:
1656//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
1657//   The supplied value is not a valid DB cluster snapshot state.
1658//
1659//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
1660//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
1661//
1662// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBClusterSnapshot
1663func (c *Neptune) DeleteDBClusterSnapshot(input *DeleteDBClusterSnapshotInput) (*DeleteDBClusterSnapshotOutput, error) {
1664	req, out := c.DeleteDBClusterSnapshotRequest(input)
1665	return out, req.Send()
1666}
1667
1668// DeleteDBClusterSnapshotWithContext is the same as DeleteDBClusterSnapshot with the addition of
1669// the ability to pass a context and additional request options.
1670//
1671// See DeleteDBClusterSnapshot for details on how to use this API operation.
1672//
1673// The context must be non-nil and will be used for request cancellation. If
1674// the context is nil a panic will occur. In the future the SDK may create
1675// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1676// for more information on using Contexts.
1677func (c *Neptune) DeleteDBClusterSnapshotWithContext(ctx aws.Context, input *DeleteDBClusterSnapshotInput, opts ...request.Option) (*DeleteDBClusterSnapshotOutput, error) {
1678	req, out := c.DeleteDBClusterSnapshotRequest(input)
1679	req.SetContext(ctx)
1680	req.ApplyOptions(opts...)
1681	return out, req.Send()
1682}
1683
1684const opDeleteDBInstance = "DeleteDBInstance"
1685
1686// DeleteDBInstanceRequest generates a "aws/request.Request" representing the
1687// client's request for the DeleteDBInstance operation. The "output" return
1688// value will be populated with the request's response once the request completes
1689// successfully.
1690//
1691// Use "Send" method on the returned Request to send the API call to the service.
1692// the "output" return value is not valid until after Send returns without error.
1693//
1694// See DeleteDBInstance for more information on using the DeleteDBInstance
1695// API call, and error handling.
1696//
1697// This method is useful when you want to inject custom logic or configuration
1698// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1699//
1700//
1701//    // Example sending a request using the DeleteDBInstanceRequest method.
1702//    req, resp := client.DeleteDBInstanceRequest(params)
1703//
1704//    err := req.Send()
1705//    if err == nil { // resp is now filled
1706//        fmt.Println(resp)
1707//    }
1708//
1709// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBInstance
1710func (c *Neptune) DeleteDBInstanceRequest(input *DeleteDBInstanceInput) (req *request.Request, output *DeleteDBInstanceOutput) {
1711	op := &request.Operation{
1712		Name:       opDeleteDBInstance,
1713		HTTPMethod: "POST",
1714		HTTPPath:   "/",
1715	}
1716
1717	if input == nil {
1718		input = &DeleteDBInstanceInput{}
1719	}
1720
1721	output = &DeleteDBInstanceOutput{}
1722	req = c.newRequest(op, input, output)
1723	return
1724}
1725
1726// DeleteDBInstance API operation for Amazon Neptune.
1727//
1728// The DeleteDBInstance action deletes a previously provisioned DB instance.
1729// When you delete a DB instance, all automated backups for that instance are
1730// deleted and can't be recovered. Manual DB snapshots of the DB instance to
1731// be deleted by DeleteDBInstance are not deleted.
1732//
1733// If you request a final DB snapshot the status of the Amazon Neptune DB instance
1734// is deleting until the DB snapshot is created. The API action DescribeDBInstance
1735// is used to monitor the status of this operation. The action can't be canceled
1736// or reverted once submitted.
1737//
1738// Note that when a DB instance is in a failure state and has a status of failed,
1739// incompatible-restore, or incompatible-network, you can only delete it when
1740// the SkipFinalSnapshot parameter is set to true.
1741//
1742// You can't delete a DB instance if it is the only instance in the DB cluster,
1743// or if it has deletion protection enabled.
1744//
1745// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1746// with awserr.Error's Code and Message methods to get detailed information about
1747// the error.
1748//
1749// See the AWS API reference guide for Amazon Neptune's
1750// API operation DeleteDBInstance for usage and error information.
1751//
1752// Returned Error Codes:
1753//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1754//   DBInstanceIdentifier does not refer to an existing DB instance.
1755//
1756//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1757//   The specified DB instance is not in the available state.
1758//
1759//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
1760//   DBSnapshotIdentifier is already used by an existing snapshot.
1761//
1762//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1763//   Request would result in user exceeding the allowed number of DB snapshots.
1764//
1765//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1766//   The DB cluster is not in a valid state.
1767//
1768// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBInstance
1769func (c *Neptune) DeleteDBInstance(input *DeleteDBInstanceInput) (*DeleteDBInstanceOutput, error) {
1770	req, out := c.DeleteDBInstanceRequest(input)
1771	return out, req.Send()
1772}
1773
1774// DeleteDBInstanceWithContext is the same as DeleteDBInstance with the addition of
1775// the ability to pass a context and additional request options.
1776//
1777// See DeleteDBInstance for details on how to use this API operation.
1778//
1779// The context must be non-nil and will be used for request cancellation. If
1780// the context is nil a panic will occur. In the future the SDK may create
1781// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1782// for more information on using Contexts.
1783func (c *Neptune) DeleteDBInstanceWithContext(ctx aws.Context, input *DeleteDBInstanceInput, opts ...request.Option) (*DeleteDBInstanceOutput, error) {
1784	req, out := c.DeleteDBInstanceRequest(input)
1785	req.SetContext(ctx)
1786	req.ApplyOptions(opts...)
1787	return out, req.Send()
1788}
1789
1790const opDeleteDBParameterGroup = "DeleteDBParameterGroup"
1791
1792// DeleteDBParameterGroupRequest generates a "aws/request.Request" representing the
1793// client's request for the DeleteDBParameterGroup operation. The "output" return
1794// value will be populated with the request's response once the request completes
1795// successfully.
1796//
1797// Use "Send" method on the returned Request to send the API call to the service.
1798// the "output" return value is not valid until after Send returns without error.
1799//
1800// See DeleteDBParameterGroup for more information on using the DeleteDBParameterGroup
1801// API call, and error handling.
1802//
1803// This method is useful when you want to inject custom logic or configuration
1804// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1805//
1806//
1807//    // Example sending a request using the DeleteDBParameterGroupRequest method.
1808//    req, resp := client.DeleteDBParameterGroupRequest(params)
1809//
1810//    err := req.Send()
1811//    if err == nil { // resp is now filled
1812//        fmt.Println(resp)
1813//    }
1814//
1815// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBParameterGroup
1816func (c *Neptune) DeleteDBParameterGroupRequest(input *DeleteDBParameterGroupInput) (req *request.Request, output *DeleteDBParameterGroupOutput) {
1817	op := &request.Operation{
1818		Name:       opDeleteDBParameterGroup,
1819		HTTPMethod: "POST",
1820		HTTPPath:   "/",
1821	}
1822
1823	if input == nil {
1824		input = &DeleteDBParameterGroupInput{}
1825	}
1826
1827	output = &DeleteDBParameterGroupOutput{}
1828	req = c.newRequest(op, input, output)
1829	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1830	return
1831}
1832
1833// DeleteDBParameterGroup API operation for Amazon Neptune.
1834//
1835// Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted
1836// can't be associated with any DB instances.
1837//
1838// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1839// with awserr.Error's Code and Message methods to get detailed information about
1840// the error.
1841//
1842// See the AWS API reference guide for Amazon Neptune's
1843// API operation DeleteDBParameterGroup for usage and error information.
1844//
1845// Returned Error Codes:
1846//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
1847//   The DB parameter group is in use or is in an invalid state. If you are attempting
1848//   to delete the parameter group, you cannot delete it when the parameter group
1849//   is in this state.
1850//
1851//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1852//   DBParameterGroupName does not refer to an existing DB parameter group.
1853//
1854// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBParameterGroup
1855func (c *Neptune) DeleteDBParameterGroup(input *DeleteDBParameterGroupInput) (*DeleteDBParameterGroupOutput, error) {
1856	req, out := c.DeleteDBParameterGroupRequest(input)
1857	return out, req.Send()
1858}
1859
1860// DeleteDBParameterGroupWithContext is the same as DeleteDBParameterGroup with the addition of
1861// the ability to pass a context and additional request options.
1862//
1863// See DeleteDBParameterGroup for details on how to use this API operation.
1864//
1865// The context must be non-nil and will be used for request cancellation. If
1866// the context is nil a panic will occur. In the future the SDK may create
1867// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1868// for more information on using Contexts.
1869func (c *Neptune) DeleteDBParameterGroupWithContext(ctx aws.Context, input *DeleteDBParameterGroupInput, opts ...request.Option) (*DeleteDBParameterGroupOutput, error) {
1870	req, out := c.DeleteDBParameterGroupRequest(input)
1871	req.SetContext(ctx)
1872	req.ApplyOptions(opts...)
1873	return out, req.Send()
1874}
1875
1876const opDeleteDBSubnetGroup = "DeleteDBSubnetGroup"
1877
1878// DeleteDBSubnetGroupRequest generates a "aws/request.Request" representing the
1879// client's request for the DeleteDBSubnetGroup operation. The "output" return
1880// value will be populated with the request's response once the request completes
1881// successfully.
1882//
1883// Use "Send" method on the returned Request to send the API call to the service.
1884// the "output" return value is not valid until after Send returns without error.
1885//
1886// See DeleteDBSubnetGroup for more information on using the DeleteDBSubnetGroup
1887// API call, and error handling.
1888//
1889// This method is useful when you want to inject custom logic or configuration
1890// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1891//
1892//
1893//    // Example sending a request using the DeleteDBSubnetGroupRequest method.
1894//    req, resp := client.DeleteDBSubnetGroupRequest(params)
1895//
1896//    err := req.Send()
1897//    if err == nil { // resp is now filled
1898//        fmt.Println(resp)
1899//    }
1900//
1901// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBSubnetGroup
1902func (c *Neptune) DeleteDBSubnetGroupRequest(input *DeleteDBSubnetGroupInput) (req *request.Request, output *DeleteDBSubnetGroupOutput) {
1903	op := &request.Operation{
1904		Name:       opDeleteDBSubnetGroup,
1905		HTTPMethod: "POST",
1906		HTTPPath:   "/",
1907	}
1908
1909	if input == nil {
1910		input = &DeleteDBSubnetGroupInput{}
1911	}
1912
1913	output = &DeleteDBSubnetGroupOutput{}
1914	req = c.newRequest(op, input, output)
1915	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1916	return
1917}
1918
1919// DeleteDBSubnetGroup API operation for Amazon Neptune.
1920//
1921// Deletes a DB subnet group.
1922//
1923// The specified database subnet group must not be associated with any DB instances.
1924//
1925// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1926// with awserr.Error's Code and Message methods to get detailed information about
1927// the error.
1928//
1929// See the AWS API reference guide for Amazon Neptune's
1930// API operation DeleteDBSubnetGroup for usage and error information.
1931//
1932// Returned Error Codes:
1933//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
1934//   The DB subnet group cannot be deleted because it is in use.
1935//
1936//   * ErrCodeInvalidDBSubnetStateFault "InvalidDBSubnetStateFault"
1937//   The DB subnet is not in the available state.
1938//
1939//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1940//   DBSubnetGroupName does not refer to an existing DB subnet group.
1941//
1942// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBSubnetGroup
1943func (c *Neptune) DeleteDBSubnetGroup(input *DeleteDBSubnetGroupInput) (*DeleteDBSubnetGroupOutput, error) {
1944	req, out := c.DeleteDBSubnetGroupRequest(input)
1945	return out, req.Send()
1946}
1947
1948// DeleteDBSubnetGroupWithContext is the same as DeleteDBSubnetGroup with the addition of
1949// the ability to pass a context and additional request options.
1950//
1951// See DeleteDBSubnetGroup for details on how to use this API operation.
1952//
1953// The context must be non-nil and will be used for request cancellation. If
1954// the context is nil a panic will occur. In the future the SDK may create
1955// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1956// for more information on using Contexts.
1957func (c *Neptune) DeleteDBSubnetGroupWithContext(ctx aws.Context, input *DeleteDBSubnetGroupInput, opts ...request.Option) (*DeleteDBSubnetGroupOutput, error) {
1958	req, out := c.DeleteDBSubnetGroupRequest(input)
1959	req.SetContext(ctx)
1960	req.ApplyOptions(opts...)
1961	return out, req.Send()
1962}
1963
1964const opDeleteEventSubscription = "DeleteEventSubscription"
1965
1966// DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the
1967// client's request for the DeleteEventSubscription operation. The "output" return
1968// value will be populated with the request's response once the request completes
1969// successfully.
1970//
1971// Use "Send" method on the returned Request to send the API call to the service.
1972// the "output" return value is not valid until after Send returns without error.
1973//
1974// See DeleteEventSubscription for more information on using the DeleteEventSubscription
1975// API call, and error handling.
1976//
1977// This method is useful when you want to inject custom logic or configuration
1978// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1979//
1980//
1981//    // Example sending a request using the DeleteEventSubscriptionRequest method.
1982//    req, resp := client.DeleteEventSubscriptionRequest(params)
1983//
1984//    err := req.Send()
1985//    if err == nil { // resp is now filled
1986//        fmt.Println(resp)
1987//    }
1988//
1989// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteEventSubscription
1990func (c *Neptune) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) {
1991	op := &request.Operation{
1992		Name:       opDeleteEventSubscription,
1993		HTTPMethod: "POST",
1994		HTTPPath:   "/",
1995	}
1996
1997	if input == nil {
1998		input = &DeleteEventSubscriptionInput{}
1999	}
2000
2001	output = &DeleteEventSubscriptionOutput{}
2002	req = c.newRequest(op, input, output)
2003	return
2004}
2005
2006// DeleteEventSubscription API operation for Amazon Neptune.
2007//
2008// Deletes an event notification subscription.
2009//
2010// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2011// with awserr.Error's Code and Message methods to get detailed information about
2012// the error.
2013//
2014// See the AWS API reference guide for Amazon Neptune's
2015// API operation DeleteEventSubscription for usage and error information.
2016//
2017// Returned Error Codes:
2018//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
2019//   The designated subscription could not be found.
2020//
2021//   * ErrCodeInvalidEventSubscriptionStateFault "InvalidEventSubscriptionState"
2022//   The event subscription is in an invalid state.
2023//
2024// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteEventSubscription
2025func (c *Neptune) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) {
2026	req, out := c.DeleteEventSubscriptionRequest(input)
2027	return out, req.Send()
2028}
2029
2030// DeleteEventSubscriptionWithContext is the same as DeleteEventSubscription with the addition of
2031// the ability to pass a context and additional request options.
2032//
2033// See DeleteEventSubscription for details on how to use this API operation.
2034//
2035// The context must be non-nil and will be used for request cancellation. If
2036// the context is nil a panic will occur. In the future the SDK may create
2037// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2038// for more information on using Contexts.
2039func (c *Neptune) DeleteEventSubscriptionWithContext(ctx aws.Context, input *DeleteEventSubscriptionInput, opts ...request.Option) (*DeleteEventSubscriptionOutput, error) {
2040	req, out := c.DeleteEventSubscriptionRequest(input)
2041	req.SetContext(ctx)
2042	req.ApplyOptions(opts...)
2043	return out, req.Send()
2044}
2045
2046const opDescribeDBClusterParameterGroups = "DescribeDBClusterParameterGroups"
2047
2048// DescribeDBClusterParameterGroupsRequest generates a "aws/request.Request" representing the
2049// client's request for the DescribeDBClusterParameterGroups operation. The "output" return
2050// value will be populated with the request's response once the request completes
2051// successfully.
2052//
2053// Use "Send" method on the returned Request to send the API call to the service.
2054// the "output" return value is not valid until after Send returns without error.
2055//
2056// See DescribeDBClusterParameterGroups for more information on using the DescribeDBClusterParameterGroups
2057// API call, and error handling.
2058//
2059// This method is useful when you want to inject custom logic or configuration
2060// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2061//
2062//
2063//    // Example sending a request using the DescribeDBClusterParameterGroupsRequest method.
2064//    req, resp := client.DescribeDBClusterParameterGroupsRequest(params)
2065//
2066//    err := req.Send()
2067//    if err == nil { // resp is now filled
2068//        fmt.Println(resp)
2069//    }
2070//
2071// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterParameterGroups
2072func (c *Neptune) DescribeDBClusterParameterGroupsRequest(input *DescribeDBClusterParameterGroupsInput) (req *request.Request, output *DescribeDBClusterParameterGroupsOutput) {
2073	op := &request.Operation{
2074		Name:       opDescribeDBClusterParameterGroups,
2075		HTTPMethod: "POST",
2076		HTTPPath:   "/",
2077	}
2078
2079	if input == nil {
2080		input = &DescribeDBClusterParameterGroupsInput{}
2081	}
2082
2083	output = &DescribeDBClusterParameterGroupsOutput{}
2084	req = c.newRequest(op, input, output)
2085	return
2086}
2087
2088// DescribeDBClusterParameterGroups API operation for Amazon Neptune.
2089//
2090// Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName
2091// parameter is specified, the list will contain only the description of the
2092// specified DB cluster parameter group.
2093//
2094// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2095// with awserr.Error's Code and Message methods to get detailed information about
2096// the error.
2097//
2098// See the AWS API reference guide for Amazon Neptune's
2099// API operation DescribeDBClusterParameterGroups for usage and error information.
2100//
2101// Returned Error Codes:
2102//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
2103//   DBParameterGroupName does not refer to an existing DB parameter group.
2104//
2105// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterParameterGroups
2106func (c *Neptune) DescribeDBClusterParameterGroups(input *DescribeDBClusterParameterGroupsInput) (*DescribeDBClusterParameterGroupsOutput, error) {
2107	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
2108	return out, req.Send()
2109}
2110
2111// DescribeDBClusterParameterGroupsWithContext is the same as DescribeDBClusterParameterGroups with the addition of
2112// the ability to pass a context and additional request options.
2113//
2114// See DescribeDBClusterParameterGroups for details on how to use this API operation.
2115//
2116// The context must be non-nil and will be used for request cancellation. If
2117// the context is nil a panic will occur. In the future the SDK may create
2118// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2119// for more information on using Contexts.
2120func (c *Neptune) DescribeDBClusterParameterGroupsWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, opts ...request.Option) (*DescribeDBClusterParameterGroupsOutput, error) {
2121	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
2122	req.SetContext(ctx)
2123	req.ApplyOptions(opts...)
2124	return out, req.Send()
2125}
2126
2127const opDescribeDBClusterParameters = "DescribeDBClusterParameters"
2128
2129// DescribeDBClusterParametersRequest generates a "aws/request.Request" representing the
2130// client's request for the DescribeDBClusterParameters operation. The "output" return
2131// value will be populated with the request's response once the request completes
2132// successfully.
2133//
2134// Use "Send" method on the returned Request to send the API call to the service.
2135// the "output" return value is not valid until after Send returns without error.
2136//
2137// See DescribeDBClusterParameters for more information on using the DescribeDBClusterParameters
2138// API call, and error handling.
2139//
2140// This method is useful when you want to inject custom logic or configuration
2141// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2142//
2143//
2144//    // Example sending a request using the DescribeDBClusterParametersRequest method.
2145//    req, resp := client.DescribeDBClusterParametersRequest(params)
2146//
2147//    err := req.Send()
2148//    if err == nil { // resp is now filled
2149//        fmt.Println(resp)
2150//    }
2151//
2152// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterParameters
2153func (c *Neptune) DescribeDBClusterParametersRequest(input *DescribeDBClusterParametersInput) (req *request.Request, output *DescribeDBClusterParametersOutput) {
2154	op := &request.Operation{
2155		Name:       opDescribeDBClusterParameters,
2156		HTTPMethod: "POST",
2157		HTTPPath:   "/",
2158	}
2159
2160	if input == nil {
2161		input = &DescribeDBClusterParametersInput{}
2162	}
2163
2164	output = &DescribeDBClusterParametersOutput{}
2165	req = c.newRequest(op, input, output)
2166	return
2167}
2168
2169// DescribeDBClusterParameters API operation for Amazon Neptune.
2170//
2171// Returns the detailed parameter list for a particular DB cluster parameter
2172// group.
2173//
2174// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2175// with awserr.Error's Code and Message methods to get detailed information about
2176// the error.
2177//
2178// See the AWS API reference guide for Amazon Neptune's
2179// API operation DescribeDBClusterParameters for usage and error information.
2180//
2181// Returned Error Codes:
2182//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
2183//   DBParameterGroupName does not refer to an existing DB parameter group.
2184//
2185// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterParameters
2186func (c *Neptune) DescribeDBClusterParameters(input *DescribeDBClusterParametersInput) (*DescribeDBClusterParametersOutput, error) {
2187	req, out := c.DescribeDBClusterParametersRequest(input)
2188	return out, req.Send()
2189}
2190
2191// DescribeDBClusterParametersWithContext is the same as DescribeDBClusterParameters with the addition of
2192// the ability to pass a context and additional request options.
2193//
2194// See DescribeDBClusterParameters for details on how to use this API operation.
2195//
2196// The context must be non-nil and will be used for request cancellation. If
2197// the context is nil a panic will occur. In the future the SDK may create
2198// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2199// for more information on using Contexts.
2200func (c *Neptune) DescribeDBClusterParametersWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, opts ...request.Option) (*DescribeDBClusterParametersOutput, error) {
2201	req, out := c.DescribeDBClusterParametersRequest(input)
2202	req.SetContext(ctx)
2203	req.ApplyOptions(opts...)
2204	return out, req.Send()
2205}
2206
2207const opDescribeDBClusterSnapshotAttributes = "DescribeDBClusterSnapshotAttributes"
2208
2209// DescribeDBClusterSnapshotAttributesRequest generates a "aws/request.Request" representing the
2210// client's request for the DescribeDBClusterSnapshotAttributes operation. The "output" return
2211// value will be populated with the request's response once the request completes
2212// successfully.
2213//
2214// Use "Send" method on the returned Request to send the API call to the service.
2215// the "output" return value is not valid until after Send returns without error.
2216//
2217// See DescribeDBClusterSnapshotAttributes for more information on using the DescribeDBClusterSnapshotAttributes
2218// API call, and error handling.
2219//
2220// This method is useful when you want to inject custom logic or configuration
2221// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2222//
2223//
2224//    // Example sending a request using the DescribeDBClusterSnapshotAttributesRequest method.
2225//    req, resp := client.DescribeDBClusterSnapshotAttributesRequest(params)
2226//
2227//    err := req.Send()
2228//    if err == nil { // resp is now filled
2229//        fmt.Println(resp)
2230//    }
2231//
2232// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterSnapshotAttributes
2233func (c *Neptune) DescribeDBClusterSnapshotAttributesRequest(input *DescribeDBClusterSnapshotAttributesInput) (req *request.Request, output *DescribeDBClusterSnapshotAttributesOutput) {
2234	op := &request.Operation{
2235		Name:       opDescribeDBClusterSnapshotAttributes,
2236		HTTPMethod: "POST",
2237		HTTPPath:   "/",
2238	}
2239
2240	if input == nil {
2241		input = &DescribeDBClusterSnapshotAttributesInput{}
2242	}
2243
2244	output = &DescribeDBClusterSnapshotAttributesOutput{}
2245	req = c.newRequest(op, input, output)
2246	return
2247}
2248
2249// DescribeDBClusterSnapshotAttributes API operation for Amazon Neptune.
2250//
2251// Returns a list of DB cluster snapshot attribute names and values for a manual
2252// DB cluster snapshot.
2253//
2254// When sharing snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes
2255// returns the restore attribute and a list of IDs for the AWS accounts that
2256// are authorized to copy or restore the manual DB cluster snapshot. If all
2257// is included in the list of values for the restore attribute, then the manual
2258// DB cluster snapshot is public and can be copied or restored by all AWS accounts.
2259//
2260// To add or remove access for an AWS account to copy or restore a manual DB
2261// cluster snapshot, or to make the manual DB cluster snapshot public or private,
2262// use the ModifyDBClusterSnapshotAttribute API action.
2263//
2264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2265// with awserr.Error's Code and Message methods to get detailed information about
2266// the error.
2267//
2268// See the AWS API reference guide for Amazon Neptune's
2269// API operation DescribeDBClusterSnapshotAttributes for usage and error information.
2270//
2271// Returned Error Codes:
2272//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
2273//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
2274//
2275// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterSnapshotAttributes
2276func (c *Neptune) DescribeDBClusterSnapshotAttributes(input *DescribeDBClusterSnapshotAttributesInput) (*DescribeDBClusterSnapshotAttributesOutput, error) {
2277	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
2278	return out, req.Send()
2279}
2280
2281// DescribeDBClusterSnapshotAttributesWithContext is the same as DescribeDBClusterSnapshotAttributes with the addition of
2282// the ability to pass a context and additional request options.
2283//
2284// See DescribeDBClusterSnapshotAttributes for details on how to use this API operation.
2285//
2286// The context must be non-nil and will be used for request cancellation. If
2287// the context is nil a panic will occur. In the future the SDK may create
2288// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2289// for more information on using Contexts.
2290func (c *Neptune) DescribeDBClusterSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotAttributesInput, opts ...request.Option) (*DescribeDBClusterSnapshotAttributesOutput, error) {
2291	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
2292	req.SetContext(ctx)
2293	req.ApplyOptions(opts...)
2294	return out, req.Send()
2295}
2296
2297const opDescribeDBClusterSnapshots = "DescribeDBClusterSnapshots"
2298
2299// DescribeDBClusterSnapshotsRequest generates a "aws/request.Request" representing the
2300// client's request for the DescribeDBClusterSnapshots operation. The "output" return
2301// value will be populated with the request's response once the request completes
2302// successfully.
2303//
2304// Use "Send" method on the returned Request to send the API call to the service.
2305// the "output" return value is not valid until after Send returns without error.
2306//
2307// See DescribeDBClusterSnapshots for more information on using the DescribeDBClusterSnapshots
2308// API call, and error handling.
2309//
2310// This method is useful when you want to inject custom logic or configuration
2311// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2312//
2313//
2314//    // Example sending a request using the DescribeDBClusterSnapshotsRequest method.
2315//    req, resp := client.DescribeDBClusterSnapshotsRequest(params)
2316//
2317//    err := req.Send()
2318//    if err == nil { // resp is now filled
2319//        fmt.Println(resp)
2320//    }
2321//
2322// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterSnapshots
2323func (c *Neptune) DescribeDBClusterSnapshotsRequest(input *DescribeDBClusterSnapshotsInput) (req *request.Request, output *DescribeDBClusterSnapshotsOutput) {
2324	op := &request.Operation{
2325		Name:       opDescribeDBClusterSnapshots,
2326		HTTPMethod: "POST",
2327		HTTPPath:   "/",
2328	}
2329
2330	if input == nil {
2331		input = &DescribeDBClusterSnapshotsInput{}
2332	}
2333
2334	output = &DescribeDBClusterSnapshotsOutput{}
2335	req = c.newRequest(op, input, output)
2336	return
2337}
2338
2339// DescribeDBClusterSnapshots API operation for Amazon Neptune.
2340//
2341// Returns information about DB cluster snapshots. This API action supports
2342// pagination.
2343//
2344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2345// with awserr.Error's Code and Message methods to get detailed information about
2346// the error.
2347//
2348// See the AWS API reference guide for Amazon Neptune's
2349// API operation DescribeDBClusterSnapshots for usage and error information.
2350//
2351// Returned Error Codes:
2352//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
2353//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
2354//
2355// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterSnapshots
2356func (c *Neptune) DescribeDBClusterSnapshots(input *DescribeDBClusterSnapshotsInput) (*DescribeDBClusterSnapshotsOutput, error) {
2357	req, out := c.DescribeDBClusterSnapshotsRequest(input)
2358	return out, req.Send()
2359}
2360
2361// DescribeDBClusterSnapshotsWithContext is the same as DescribeDBClusterSnapshots with the addition of
2362// the ability to pass a context and additional request options.
2363//
2364// See DescribeDBClusterSnapshots for details on how to use this API operation.
2365//
2366// The context must be non-nil and will be used for request cancellation. If
2367// the context is nil a panic will occur. In the future the SDK may create
2368// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2369// for more information on using Contexts.
2370func (c *Neptune) DescribeDBClusterSnapshotsWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, opts ...request.Option) (*DescribeDBClusterSnapshotsOutput, error) {
2371	req, out := c.DescribeDBClusterSnapshotsRequest(input)
2372	req.SetContext(ctx)
2373	req.ApplyOptions(opts...)
2374	return out, req.Send()
2375}
2376
2377const opDescribeDBClusters = "DescribeDBClusters"
2378
2379// DescribeDBClustersRequest generates a "aws/request.Request" representing the
2380// client's request for the DescribeDBClusters operation. The "output" return
2381// value will be populated with the request's response once the request completes
2382// successfully.
2383//
2384// Use "Send" method on the returned Request to send the API call to the service.
2385// the "output" return value is not valid until after Send returns without error.
2386//
2387// See DescribeDBClusters for more information on using the DescribeDBClusters
2388// API call, and error handling.
2389//
2390// This method is useful when you want to inject custom logic or configuration
2391// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2392//
2393//
2394//    // Example sending a request using the DescribeDBClustersRequest method.
2395//    req, resp := client.DescribeDBClustersRequest(params)
2396//
2397//    err := req.Send()
2398//    if err == nil { // resp is now filled
2399//        fmt.Println(resp)
2400//    }
2401//
2402// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusters
2403func (c *Neptune) DescribeDBClustersRequest(input *DescribeDBClustersInput) (req *request.Request, output *DescribeDBClustersOutput) {
2404	op := &request.Operation{
2405		Name:       opDescribeDBClusters,
2406		HTTPMethod: "POST",
2407		HTTPPath:   "/",
2408	}
2409
2410	if input == nil {
2411		input = &DescribeDBClustersInput{}
2412	}
2413
2414	output = &DescribeDBClustersOutput{}
2415	req = c.newRequest(op, input, output)
2416	return
2417}
2418
2419// DescribeDBClusters API operation for Amazon Neptune.
2420//
2421// Returns information about provisioned DB clusters, and supports pagination.
2422//
2423// This operation can also return information for Amazon RDS clusters and Amazon
2424// DocDB clusters.
2425//
2426// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2427// with awserr.Error's Code and Message methods to get detailed information about
2428// the error.
2429//
2430// See the AWS API reference guide for Amazon Neptune's
2431// API operation DescribeDBClusters for usage and error information.
2432//
2433// Returned Error Codes:
2434//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
2435//   DBClusterIdentifier does not refer to an existing DB cluster.
2436//
2437// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusters
2438func (c *Neptune) DescribeDBClusters(input *DescribeDBClustersInput) (*DescribeDBClustersOutput, error) {
2439	req, out := c.DescribeDBClustersRequest(input)
2440	return out, req.Send()
2441}
2442
2443// DescribeDBClustersWithContext is the same as DescribeDBClusters with the addition of
2444// the ability to pass a context and additional request options.
2445//
2446// See DescribeDBClusters for details on how to use this API operation.
2447//
2448// The context must be non-nil and will be used for request cancellation. If
2449// the context is nil a panic will occur. In the future the SDK may create
2450// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2451// for more information on using Contexts.
2452func (c *Neptune) DescribeDBClustersWithContext(ctx aws.Context, input *DescribeDBClustersInput, opts ...request.Option) (*DescribeDBClustersOutput, error) {
2453	req, out := c.DescribeDBClustersRequest(input)
2454	req.SetContext(ctx)
2455	req.ApplyOptions(opts...)
2456	return out, req.Send()
2457}
2458
2459const opDescribeDBEngineVersions = "DescribeDBEngineVersions"
2460
2461// DescribeDBEngineVersionsRequest generates a "aws/request.Request" representing the
2462// client's request for the DescribeDBEngineVersions operation. The "output" return
2463// value will be populated with the request's response once the request completes
2464// successfully.
2465//
2466// Use "Send" method on the returned Request to send the API call to the service.
2467// the "output" return value is not valid until after Send returns without error.
2468//
2469// See DescribeDBEngineVersions for more information on using the DescribeDBEngineVersions
2470// API call, and error handling.
2471//
2472// This method is useful when you want to inject custom logic or configuration
2473// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2474//
2475//
2476//    // Example sending a request using the DescribeDBEngineVersionsRequest method.
2477//    req, resp := client.DescribeDBEngineVersionsRequest(params)
2478//
2479//    err := req.Send()
2480//    if err == nil { // resp is now filled
2481//        fmt.Println(resp)
2482//    }
2483//
2484// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBEngineVersions
2485func (c *Neptune) DescribeDBEngineVersionsRequest(input *DescribeDBEngineVersionsInput) (req *request.Request, output *DescribeDBEngineVersionsOutput) {
2486	op := &request.Operation{
2487		Name:       opDescribeDBEngineVersions,
2488		HTTPMethod: "POST",
2489		HTTPPath:   "/",
2490		Paginator: &request.Paginator{
2491			InputTokens:     []string{"Marker"},
2492			OutputTokens:    []string{"Marker"},
2493			LimitToken:      "MaxRecords",
2494			TruncationToken: "",
2495		},
2496	}
2497
2498	if input == nil {
2499		input = &DescribeDBEngineVersionsInput{}
2500	}
2501
2502	output = &DescribeDBEngineVersionsOutput{}
2503	req = c.newRequest(op, input, output)
2504	return
2505}
2506
2507// DescribeDBEngineVersions API operation for Amazon Neptune.
2508//
2509// Returns a list of the available DB engines.
2510//
2511// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2512// with awserr.Error's Code and Message methods to get detailed information about
2513// the error.
2514//
2515// See the AWS API reference guide for Amazon Neptune's
2516// API operation DescribeDBEngineVersions for usage and error information.
2517// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBEngineVersions
2518func (c *Neptune) DescribeDBEngineVersions(input *DescribeDBEngineVersionsInput) (*DescribeDBEngineVersionsOutput, error) {
2519	req, out := c.DescribeDBEngineVersionsRequest(input)
2520	return out, req.Send()
2521}
2522
2523// DescribeDBEngineVersionsWithContext is the same as DescribeDBEngineVersions with the addition of
2524// the ability to pass a context and additional request options.
2525//
2526// See DescribeDBEngineVersions for details on how to use this API operation.
2527//
2528// The context must be non-nil and will be used for request cancellation. If
2529// the context is nil a panic will occur. In the future the SDK may create
2530// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2531// for more information on using Contexts.
2532func (c *Neptune) DescribeDBEngineVersionsWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, opts ...request.Option) (*DescribeDBEngineVersionsOutput, error) {
2533	req, out := c.DescribeDBEngineVersionsRequest(input)
2534	req.SetContext(ctx)
2535	req.ApplyOptions(opts...)
2536	return out, req.Send()
2537}
2538
2539// DescribeDBEngineVersionsPages iterates over the pages of a DescribeDBEngineVersions operation,
2540// calling the "fn" function with the response data for each page. To stop
2541// iterating, return false from the fn function.
2542//
2543// See DescribeDBEngineVersions method for more information on how to use this operation.
2544//
2545// Note: This operation can generate multiple requests to a service.
2546//
2547//    // Example iterating over at most 3 pages of a DescribeDBEngineVersions operation.
2548//    pageNum := 0
2549//    err := client.DescribeDBEngineVersionsPages(params,
2550//        func(page *neptune.DescribeDBEngineVersionsOutput, lastPage bool) bool {
2551//            pageNum++
2552//            fmt.Println(page)
2553//            return pageNum <= 3
2554//        })
2555//
2556func (c *Neptune) DescribeDBEngineVersionsPages(input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool) error {
2557	return c.DescribeDBEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
2558}
2559
2560// DescribeDBEngineVersionsPagesWithContext same as DescribeDBEngineVersionsPages except
2561// it takes a Context and allows setting request options on the pages.
2562//
2563// The context must be non-nil and will be used for request cancellation. If
2564// the context is nil a panic will occur. In the future the SDK may create
2565// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2566// for more information on using Contexts.
2567func (c *Neptune) DescribeDBEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool, opts ...request.Option) error {
2568	p := request.Pagination{
2569		NewRequest: func() (*request.Request, error) {
2570			var inCpy *DescribeDBEngineVersionsInput
2571			if input != nil {
2572				tmp := *input
2573				inCpy = &tmp
2574			}
2575			req, _ := c.DescribeDBEngineVersionsRequest(inCpy)
2576			req.SetContext(ctx)
2577			req.ApplyOptions(opts...)
2578			return req, nil
2579		},
2580	}
2581
2582	for p.Next() {
2583		if !fn(p.Page().(*DescribeDBEngineVersionsOutput), !p.HasNextPage()) {
2584			break
2585		}
2586	}
2587
2588	return p.Err()
2589}
2590
2591const opDescribeDBInstances = "DescribeDBInstances"
2592
2593// DescribeDBInstancesRequest generates a "aws/request.Request" representing the
2594// client's request for the DescribeDBInstances operation. The "output" return
2595// value will be populated with the request's response once the request completes
2596// successfully.
2597//
2598// Use "Send" method on the returned Request to send the API call to the service.
2599// the "output" return value is not valid until after Send returns without error.
2600//
2601// See DescribeDBInstances for more information on using the DescribeDBInstances
2602// API call, and error handling.
2603//
2604// This method is useful when you want to inject custom logic or configuration
2605// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2606//
2607//
2608//    // Example sending a request using the DescribeDBInstancesRequest method.
2609//    req, resp := client.DescribeDBInstancesRequest(params)
2610//
2611//    err := req.Send()
2612//    if err == nil { // resp is now filled
2613//        fmt.Println(resp)
2614//    }
2615//
2616// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBInstances
2617func (c *Neptune) DescribeDBInstancesRequest(input *DescribeDBInstancesInput) (req *request.Request, output *DescribeDBInstancesOutput) {
2618	op := &request.Operation{
2619		Name:       opDescribeDBInstances,
2620		HTTPMethod: "POST",
2621		HTTPPath:   "/",
2622		Paginator: &request.Paginator{
2623			InputTokens:     []string{"Marker"},
2624			OutputTokens:    []string{"Marker"},
2625			LimitToken:      "MaxRecords",
2626			TruncationToken: "",
2627		},
2628	}
2629
2630	if input == nil {
2631		input = &DescribeDBInstancesInput{}
2632	}
2633
2634	output = &DescribeDBInstancesOutput{}
2635	req = c.newRequest(op, input, output)
2636	return
2637}
2638
2639// DescribeDBInstances API operation for Amazon Neptune.
2640//
2641// Returns information about provisioned instances, and supports pagination.
2642//
2643// This operation can also return information for Amazon RDS instances and Amazon
2644// DocDB instances.
2645//
2646// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2647// with awserr.Error's Code and Message methods to get detailed information about
2648// the error.
2649//
2650// See the AWS API reference guide for Amazon Neptune's
2651// API operation DescribeDBInstances for usage and error information.
2652//
2653// Returned Error Codes:
2654//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
2655//   DBInstanceIdentifier does not refer to an existing DB instance.
2656//
2657// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBInstances
2658func (c *Neptune) DescribeDBInstances(input *DescribeDBInstancesInput) (*DescribeDBInstancesOutput, error) {
2659	req, out := c.DescribeDBInstancesRequest(input)
2660	return out, req.Send()
2661}
2662
2663// DescribeDBInstancesWithContext is the same as DescribeDBInstances with the addition of
2664// the ability to pass a context and additional request options.
2665//
2666// See DescribeDBInstances for details on how to use this API operation.
2667//
2668// The context must be non-nil and will be used for request cancellation. If
2669// the context is nil a panic will occur. In the future the SDK may create
2670// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2671// for more information on using Contexts.
2672func (c *Neptune) DescribeDBInstancesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.Option) (*DescribeDBInstancesOutput, error) {
2673	req, out := c.DescribeDBInstancesRequest(input)
2674	req.SetContext(ctx)
2675	req.ApplyOptions(opts...)
2676	return out, req.Send()
2677}
2678
2679// DescribeDBInstancesPages iterates over the pages of a DescribeDBInstances operation,
2680// calling the "fn" function with the response data for each page. To stop
2681// iterating, return false from the fn function.
2682//
2683// See DescribeDBInstances method for more information on how to use this operation.
2684//
2685// Note: This operation can generate multiple requests to a service.
2686//
2687//    // Example iterating over at most 3 pages of a DescribeDBInstances operation.
2688//    pageNum := 0
2689//    err := client.DescribeDBInstancesPages(params,
2690//        func(page *neptune.DescribeDBInstancesOutput, lastPage bool) bool {
2691//            pageNum++
2692//            fmt.Println(page)
2693//            return pageNum <= 3
2694//        })
2695//
2696func (c *Neptune) DescribeDBInstancesPages(input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool) error {
2697	return c.DescribeDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
2698}
2699
2700// DescribeDBInstancesPagesWithContext same as DescribeDBInstancesPages except
2701// it takes a Context and allows setting request options on the pages.
2702//
2703// The context must be non-nil and will be used for request cancellation. If
2704// the context is nil a panic will occur. In the future the SDK may create
2705// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2706// for more information on using Contexts.
2707func (c *Neptune) DescribeDBInstancesPagesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool, opts ...request.Option) error {
2708	p := request.Pagination{
2709		NewRequest: func() (*request.Request, error) {
2710			var inCpy *DescribeDBInstancesInput
2711			if input != nil {
2712				tmp := *input
2713				inCpy = &tmp
2714			}
2715			req, _ := c.DescribeDBInstancesRequest(inCpy)
2716			req.SetContext(ctx)
2717			req.ApplyOptions(opts...)
2718			return req, nil
2719		},
2720	}
2721
2722	for p.Next() {
2723		if !fn(p.Page().(*DescribeDBInstancesOutput), !p.HasNextPage()) {
2724			break
2725		}
2726	}
2727
2728	return p.Err()
2729}
2730
2731const opDescribeDBParameterGroups = "DescribeDBParameterGroups"
2732
2733// DescribeDBParameterGroupsRequest generates a "aws/request.Request" representing the
2734// client's request for the DescribeDBParameterGroups operation. The "output" return
2735// value will be populated with the request's response once the request completes
2736// successfully.
2737//
2738// Use "Send" method on the returned Request to send the API call to the service.
2739// the "output" return value is not valid until after Send returns without error.
2740//
2741// See DescribeDBParameterGroups for more information on using the DescribeDBParameterGroups
2742// API call, and error handling.
2743//
2744// This method is useful when you want to inject custom logic or configuration
2745// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2746//
2747//
2748//    // Example sending a request using the DescribeDBParameterGroupsRequest method.
2749//    req, resp := client.DescribeDBParameterGroupsRequest(params)
2750//
2751//    err := req.Send()
2752//    if err == nil { // resp is now filled
2753//        fmt.Println(resp)
2754//    }
2755//
2756// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBParameterGroups
2757func (c *Neptune) DescribeDBParameterGroupsRequest(input *DescribeDBParameterGroupsInput) (req *request.Request, output *DescribeDBParameterGroupsOutput) {
2758	op := &request.Operation{
2759		Name:       opDescribeDBParameterGroups,
2760		HTTPMethod: "POST",
2761		HTTPPath:   "/",
2762		Paginator: &request.Paginator{
2763			InputTokens:     []string{"Marker"},
2764			OutputTokens:    []string{"Marker"},
2765			LimitToken:      "MaxRecords",
2766			TruncationToken: "",
2767		},
2768	}
2769
2770	if input == nil {
2771		input = &DescribeDBParameterGroupsInput{}
2772	}
2773
2774	output = &DescribeDBParameterGroupsOutput{}
2775	req = c.newRequest(op, input, output)
2776	return
2777}
2778
2779// DescribeDBParameterGroups API operation for Amazon Neptune.
2780//
2781// Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName
2782// is specified, the list will contain only the description of the specified
2783// DB parameter group.
2784//
2785// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2786// with awserr.Error's Code and Message methods to get detailed information about
2787// the error.
2788//
2789// See the AWS API reference guide for Amazon Neptune's
2790// API operation DescribeDBParameterGroups for usage and error information.
2791//
2792// Returned Error Codes:
2793//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
2794//   DBParameterGroupName does not refer to an existing DB parameter group.
2795//
2796// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBParameterGroups
2797func (c *Neptune) DescribeDBParameterGroups(input *DescribeDBParameterGroupsInput) (*DescribeDBParameterGroupsOutput, error) {
2798	req, out := c.DescribeDBParameterGroupsRequest(input)
2799	return out, req.Send()
2800}
2801
2802// DescribeDBParameterGroupsWithContext is the same as DescribeDBParameterGroups with the addition of
2803// the ability to pass a context and additional request options.
2804//
2805// See DescribeDBParameterGroups for details on how to use this API operation.
2806//
2807// The context must be non-nil and will be used for request cancellation. If
2808// the context is nil a panic will occur. In the future the SDK may create
2809// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2810// for more information on using Contexts.
2811func (c *Neptune) DescribeDBParameterGroupsWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, opts ...request.Option) (*DescribeDBParameterGroupsOutput, error) {
2812	req, out := c.DescribeDBParameterGroupsRequest(input)
2813	req.SetContext(ctx)
2814	req.ApplyOptions(opts...)
2815	return out, req.Send()
2816}
2817
2818// DescribeDBParameterGroupsPages iterates over the pages of a DescribeDBParameterGroups operation,
2819// calling the "fn" function with the response data for each page. To stop
2820// iterating, return false from the fn function.
2821//
2822// See DescribeDBParameterGroups method for more information on how to use this operation.
2823//
2824// Note: This operation can generate multiple requests to a service.
2825//
2826//    // Example iterating over at most 3 pages of a DescribeDBParameterGroups operation.
2827//    pageNum := 0
2828//    err := client.DescribeDBParameterGroupsPages(params,
2829//        func(page *neptune.DescribeDBParameterGroupsOutput, lastPage bool) bool {
2830//            pageNum++
2831//            fmt.Println(page)
2832//            return pageNum <= 3
2833//        })
2834//
2835func (c *Neptune) DescribeDBParameterGroupsPages(input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool) error {
2836	return c.DescribeDBParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
2837}
2838
2839// DescribeDBParameterGroupsPagesWithContext same as DescribeDBParameterGroupsPages except
2840// it takes a Context and allows setting request options on the pages.
2841//
2842// The context must be non-nil and will be used for request cancellation. If
2843// the context is nil a panic will occur. In the future the SDK may create
2844// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2845// for more information on using Contexts.
2846func (c *Neptune) DescribeDBParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool, opts ...request.Option) error {
2847	p := request.Pagination{
2848		NewRequest: func() (*request.Request, error) {
2849			var inCpy *DescribeDBParameterGroupsInput
2850			if input != nil {
2851				tmp := *input
2852				inCpy = &tmp
2853			}
2854			req, _ := c.DescribeDBParameterGroupsRequest(inCpy)
2855			req.SetContext(ctx)
2856			req.ApplyOptions(opts...)
2857			return req, nil
2858		},
2859	}
2860
2861	for p.Next() {
2862		if !fn(p.Page().(*DescribeDBParameterGroupsOutput), !p.HasNextPage()) {
2863			break
2864		}
2865	}
2866
2867	return p.Err()
2868}
2869
2870const opDescribeDBParameters = "DescribeDBParameters"
2871
2872// DescribeDBParametersRequest generates a "aws/request.Request" representing the
2873// client's request for the DescribeDBParameters operation. The "output" return
2874// value will be populated with the request's response once the request completes
2875// successfully.
2876//
2877// Use "Send" method on the returned Request to send the API call to the service.
2878// the "output" return value is not valid until after Send returns without error.
2879//
2880// See DescribeDBParameters for more information on using the DescribeDBParameters
2881// API call, and error handling.
2882//
2883// This method is useful when you want to inject custom logic or configuration
2884// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2885//
2886//
2887//    // Example sending a request using the DescribeDBParametersRequest method.
2888//    req, resp := client.DescribeDBParametersRequest(params)
2889//
2890//    err := req.Send()
2891//    if err == nil { // resp is now filled
2892//        fmt.Println(resp)
2893//    }
2894//
2895// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBParameters
2896func (c *Neptune) DescribeDBParametersRequest(input *DescribeDBParametersInput) (req *request.Request, output *DescribeDBParametersOutput) {
2897	op := &request.Operation{
2898		Name:       opDescribeDBParameters,
2899		HTTPMethod: "POST",
2900		HTTPPath:   "/",
2901		Paginator: &request.Paginator{
2902			InputTokens:     []string{"Marker"},
2903			OutputTokens:    []string{"Marker"},
2904			LimitToken:      "MaxRecords",
2905			TruncationToken: "",
2906		},
2907	}
2908
2909	if input == nil {
2910		input = &DescribeDBParametersInput{}
2911	}
2912
2913	output = &DescribeDBParametersOutput{}
2914	req = c.newRequest(op, input, output)
2915	return
2916}
2917
2918// DescribeDBParameters API operation for Amazon Neptune.
2919//
2920// Returns the detailed parameter list for a particular DB parameter group.
2921//
2922// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2923// with awserr.Error's Code and Message methods to get detailed information about
2924// the error.
2925//
2926// See the AWS API reference guide for Amazon Neptune's
2927// API operation DescribeDBParameters for usage and error information.
2928//
2929// Returned Error Codes:
2930//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
2931//   DBParameterGroupName does not refer to an existing DB parameter group.
2932//
2933// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBParameters
2934func (c *Neptune) DescribeDBParameters(input *DescribeDBParametersInput) (*DescribeDBParametersOutput, error) {
2935	req, out := c.DescribeDBParametersRequest(input)
2936	return out, req.Send()
2937}
2938
2939// DescribeDBParametersWithContext is the same as DescribeDBParameters with the addition of
2940// the ability to pass a context and additional request options.
2941//
2942// See DescribeDBParameters for details on how to use this API operation.
2943//
2944// The context must be non-nil and will be used for request cancellation. If
2945// the context is nil a panic will occur. In the future the SDK may create
2946// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2947// for more information on using Contexts.
2948func (c *Neptune) DescribeDBParametersWithContext(ctx aws.Context, input *DescribeDBParametersInput, opts ...request.Option) (*DescribeDBParametersOutput, error) {
2949	req, out := c.DescribeDBParametersRequest(input)
2950	req.SetContext(ctx)
2951	req.ApplyOptions(opts...)
2952	return out, req.Send()
2953}
2954
2955// DescribeDBParametersPages iterates over the pages of a DescribeDBParameters operation,
2956// calling the "fn" function with the response data for each page. To stop
2957// iterating, return false from the fn function.
2958//
2959// See DescribeDBParameters method for more information on how to use this operation.
2960//
2961// Note: This operation can generate multiple requests to a service.
2962//
2963//    // Example iterating over at most 3 pages of a DescribeDBParameters operation.
2964//    pageNum := 0
2965//    err := client.DescribeDBParametersPages(params,
2966//        func(page *neptune.DescribeDBParametersOutput, lastPage bool) bool {
2967//            pageNum++
2968//            fmt.Println(page)
2969//            return pageNum <= 3
2970//        })
2971//
2972func (c *Neptune) DescribeDBParametersPages(input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool) error {
2973	return c.DescribeDBParametersPagesWithContext(aws.BackgroundContext(), input, fn)
2974}
2975
2976// DescribeDBParametersPagesWithContext same as DescribeDBParametersPages except
2977// it takes a Context and allows setting request options on the pages.
2978//
2979// The context must be non-nil and will be used for request cancellation. If
2980// the context is nil a panic will occur. In the future the SDK may create
2981// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2982// for more information on using Contexts.
2983func (c *Neptune) DescribeDBParametersPagesWithContext(ctx aws.Context, input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool, opts ...request.Option) error {
2984	p := request.Pagination{
2985		NewRequest: func() (*request.Request, error) {
2986			var inCpy *DescribeDBParametersInput
2987			if input != nil {
2988				tmp := *input
2989				inCpy = &tmp
2990			}
2991			req, _ := c.DescribeDBParametersRequest(inCpy)
2992			req.SetContext(ctx)
2993			req.ApplyOptions(opts...)
2994			return req, nil
2995		},
2996	}
2997
2998	for p.Next() {
2999		if !fn(p.Page().(*DescribeDBParametersOutput), !p.HasNextPage()) {
3000			break
3001		}
3002	}
3003
3004	return p.Err()
3005}
3006
3007const opDescribeDBSubnetGroups = "DescribeDBSubnetGroups"
3008
3009// DescribeDBSubnetGroupsRequest generates a "aws/request.Request" representing the
3010// client's request for the DescribeDBSubnetGroups operation. The "output" return
3011// value will be populated with the request's response once the request completes
3012// successfully.
3013//
3014// Use "Send" method on the returned Request to send the API call to the service.
3015// the "output" return value is not valid until after Send returns without error.
3016//
3017// See DescribeDBSubnetGroups for more information on using the DescribeDBSubnetGroups
3018// API call, and error handling.
3019//
3020// This method is useful when you want to inject custom logic or configuration
3021// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3022//
3023//
3024//    // Example sending a request using the DescribeDBSubnetGroupsRequest method.
3025//    req, resp := client.DescribeDBSubnetGroupsRequest(params)
3026//
3027//    err := req.Send()
3028//    if err == nil { // resp is now filled
3029//        fmt.Println(resp)
3030//    }
3031//
3032// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBSubnetGroups
3033func (c *Neptune) DescribeDBSubnetGroupsRequest(input *DescribeDBSubnetGroupsInput) (req *request.Request, output *DescribeDBSubnetGroupsOutput) {
3034	op := &request.Operation{
3035		Name:       opDescribeDBSubnetGroups,
3036		HTTPMethod: "POST",
3037		HTTPPath:   "/",
3038		Paginator: &request.Paginator{
3039			InputTokens:     []string{"Marker"},
3040			OutputTokens:    []string{"Marker"},
3041			LimitToken:      "MaxRecords",
3042			TruncationToken: "",
3043		},
3044	}
3045
3046	if input == nil {
3047		input = &DescribeDBSubnetGroupsInput{}
3048	}
3049
3050	output = &DescribeDBSubnetGroupsOutput{}
3051	req = c.newRequest(op, input, output)
3052	return
3053}
3054
3055// DescribeDBSubnetGroups API operation for Amazon Neptune.
3056//
3057// Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified,
3058// the list will contain only the descriptions of the specified DBSubnetGroup.
3059//
3060// For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
3061//
3062// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3063// with awserr.Error's Code and Message methods to get detailed information about
3064// the error.
3065//
3066// See the AWS API reference guide for Amazon Neptune's
3067// API operation DescribeDBSubnetGroups for usage and error information.
3068//
3069// Returned Error Codes:
3070//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
3071//   DBSubnetGroupName does not refer to an existing DB subnet group.
3072//
3073// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBSubnetGroups
3074func (c *Neptune) DescribeDBSubnetGroups(input *DescribeDBSubnetGroupsInput) (*DescribeDBSubnetGroupsOutput, error) {
3075	req, out := c.DescribeDBSubnetGroupsRequest(input)
3076	return out, req.Send()
3077}
3078
3079// DescribeDBSubnetGroupsWithContext is the same as DescribeDBSubnetGroups with the addition of
3080// the ability to pass a context and additional request options.
3081//
3082// See DescribeDBSubnetGroups for details on how to use this API operation.
3083//
3084// The context must be non-nil and will be used for request cancellation. If
3085// the context is nil a panic will occur. In the future the SDK may create
3086// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3087// for more information on using Contexts.
3088func (c *Neptune) DescribeDBSubnetGroupsWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, opts ...request.Option) (*DescribeDBSubnetGroupsOutput, error) {
3089	req, out := c.DescribeDBSubnetGroupsRequest(input)
3090	req.SetContext(ctx)
3091	req.ApplyOptions(opts...)
3092	return out, req.Send()
3093}
3094
3095// DescribeDBSubnetGroupsPages iterates over the pages of a DescribeDBSubnetGroups operation,
3096// calling the "fn" function with the response data for each page. To stop
3097// iterating, return false from the fn function.
3098//
3099// See DescribeDBSubnetGroups method for more information on how to use this operation.
3100//
3101// Note: This operation can generate multiple requests to a service.
3102//
3103//    // Example iterating over at most 3 pages of a DescribeDBSubnetGroups operation.
3104//    pageNum := 0
3105//    err := client.DescribeDBSubnetGroupsPages(params,
3106//        func(page *neptune.DescribeDBSubnetGroupsOutput, lastPage bool) bool {
3107//            pageNum++
3108//            fmt.Println(page)
3109//            return pageNum <= 3
3110//        })
3111//
3112func (c *Neptune) DescribeDBSubnetGroupsPages(input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool) error {
3113	return c.DescribeDBSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
3114}
3115
3116// DescribeDBSubnetGroupsPagesWithContext same as DescribeDBSubnetGroupsPages except
3117// it takes a Context and allows setting request options on the pages.
3118//
3119// The context must be non-nil and will be used for request cancellation. If
3120// the context is nil a panic will occur. In the future the SDK may create
3121// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3122// for more information on using Contexts.
3123func (c *Neptune) DescribeDBSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool, opts ...request.Option) error {
3124	p := request.Pagination{
3125		NewRequest: func() (*request.Request, error) {
3126			var inCpy *DescribeDBSubnetGroupsInput
3127			if input != nil {
3128				tmp := *input
3129				inCpy = &tmp
3130			}
3131			req, _ := c.DescribeDBSubnetGroupsRequest(inCpy)
3132			req.SetContext(ctx)
3133			req.ApplyOptions(opts...)
3134			return req, nil
3135		},
3136	}
3137
3138	for p.Next() {
3139		if !fn(p.Page().(*DescribeDBSubnetGroupsOutput), !p.HasNextPage()) {
3140			break
3141		}
3142	}
3143
3144	return p.Err()
3145}
3146
3147const opDescribeEngineDefaultClusterParameters = "DescribeEngineDefaultClusterParameters"
3148
3149// DescribeEngineDefaultClusterParametersRequest generates a "aws/request.Request" representing the
3150// client's request for the DescribeEngineDefaultClusterParameters operation. The "output" return
3151// value will be populated with the request's response once the request completes
3152// successfully.
3153//
3154// Use "Send" method on the returned Request to send the API call to the service.
3155// the "output" return value is not valid until after Send returns without error.
3156//
3157// See DescribeEngineDefaultClusterParameters for more information on using the DescribeEngineDefaultClusterParameters
3158// API call, and error handling.
3159//
3160// This method is useful when you want to inject custom logic or configuration
3161// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3162//
3163//
3164//    // Example sending a request using the DescribeEngineDefaultClusterParametersRequest method.
3165//    req, resp := client.DescribeEngineDefaultClusterParametersRequest(params)
3166//
3167//    err := req.Send()
3168//    if err == nil { // resp is now filled
3169//        fmt.Println(resp)
3170//    }
3171//
3172// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEngineDefaultClusterParameters
3173func (c *Neptune) DescribeEngineDefaultClusterParametersRequest(input *DescribeEngineDefaultClusterParametersInput) (req *request.Request, output *DescribeEngineDefaultClusterParametersOutput) {
3174	op := &request.Operation{
3175		Name:       opDescribeEngineDefaultClusterParameters,
3176		HTTPMethod: "POST",
3177		HTTPPath:   "/",
3178	}
3179
3180	if input == nil {
3181		input = &DescribeEngineDefaultClusterParametersInput{}
3182	}
3183
3184	output = &DescribeEngineDefaultClusterParametersOutput{}
3185	req = c.newRequest(op, input, output)
3186	return
3187}
3188
3189// DescribeEngineDefaultClusterParameters API operation for Amazon Neptune.
3190//
3191// Returns the default engine and system parameter information for the cluster
3192// database engine.
3193//
3194// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3195// with awserr.Error's Code and Message methods to get detailed information about
3196// the error.
3197//
3198// See the AWS API reference guide for Amazon Neptune's
3199// API operation DescribeEngineDefaultClusterParameters for usage and error information.
3200// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEngineDefaultClusterParameters
3201func (c *Neptune) DescribeEngineDefaultClusterParameters(input *DescribeEngineDefaultClusterParametersInput) (*DescribeEngineDefaultClusterParametersOutput, error) {
3202	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
3203	return out, req.Send()
3204}
3205
3206// DescribeEngineDefaultClusterParametersWithContext is the same as DescribeEngineDefaultClusterParameters with the addition of
3207// the ability to pass a context and additional request options.
3208//
3209// See DescribeEngineDefaultClusterParameters for details on how to use this API operation.
3210//
3211// The context must be non-nil and will be used for request cancellation. If
3212// the context is nil a panic will occur. In the future the SDK may create
3213// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3214// for more information on using Contexts.
3215func (c *Neptune) DescribeEngineDefaultClusterParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultClusterParametersInput, opts ...request.Option) (*DescribeEngineDefaultClusterParametersOutput, error) {
3216	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
3217	req.SetContext(ctx)
3218	req.ApplyOptions(opts...)
3219	return out, req.Send()
3220}
3221
3222const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters"
3223
3224// DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the
3225// client's request for the DescribeEngineDefaultParameters operation. The "output" return
3226// value will be populated with the request's response once the request completes
3227// successfully.
3228//
3229// Use "Send" method on the returned Request to send the API call to the service.
3230// the "output" return value is not valid until after Send returns without error.
3231//
3232// See DescribeEngineDefaultParameters for more information on using the DescribeEngineDefaultParameters
3233// API call, and error handling.
3234//
3235// This method is useful when you want to inject custom logic or configuration
3236// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3237//
3238//
3239//    // Example sending a request using the DescribeEngineDefaultParametersRequest method.
3240//    req, resp := client.DescribeEngineDefaultParametersRequest(params)
3241//
3242//    err := req.Send()
3243//    if err == nil { // resp is now filled
3244//        fmt.Println(resp)
3245//    }
3246//
3247// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEngineDefaultParameters
3248func (c *Neptune) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) {
3249	op := &request.Operation{
3250		Name:       opDescribeEngineDefaultParameters,
3251		HTTPMethod: "POST",
3252		HTTPPath:   "/",
3253		Paginator: &request.Paginator{
3254			InputTokens:     []string{"Marker"},
3255			OutputTokens:    []string{"EngineDefaults.Marker"},
3256			LimitToken:      "MaxRecords",
3257			TruncationToken: "",
3258		},
3259	}
3260
3261	if input == nil {
3262		input = &DescribeEngineDefaultParametersInput{}
3263	}
3264
3265	output = &DescribeEngineDefaultParametersOutput{}
3266	req = c.newRequest(op, input, output)
3267	return
3268}
3269
3270// DescribeEngineDefaultParameters API operation for Amazon Neptune.
3271//
3272// Returns the default engine and system parameter information for the specified
3273// database engine.
3274//
3275// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3276// with awserr.Error's Code and Message methods to get detailed information about
3277// the error.
3278//
3279// See the AWS API reference guide for Amazon Neptune's
3280// API operation DescribeEngineDefaultParameters for usage and error information.
3281// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEngineDefaultParameters
3282func (c *Neptune) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) {
3283	req, out := c.DescribeEngineDefaultParametersRequest(input)
3284	return out, req.Send()
3285}
3286
3287// DescribeEngineDefaultParametersWithContext is the same as DescribeEngineDefaultParameters with the addition of
3288// the ability to pass a context and additional request options.
3289//
3290// See DescribeEngineDefaultParameters for details on how to use this API operation.
3291//
3292// The context must be non-nil and will be used for request cancellation. If
3293// the context is nil a panic will occur. In the future the SDK may create
3294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3295// for more information on using Contexts.
3296func (c *Neptune) DescribeEngineDefaultParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, opts ...request.Option) (*DescribeEngineDefaultParametersOutput, error) {
3297	req, out := c.DescribeEngineDefaultParametersRequest(input)
3298	req.SetContext(ctx)
3299	req.ApplyOptions(opts...)
3300	return out, req.Send()
3301}
3302
3303// DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation,
3304// calling the "fn" function with the response data for each page. To stop
3305// iterating, return false from the fn function.
3306//
3307// See DescribeEngineDefaultParameters method for more information on how to use this operation.
3308//
3309// Note: This operation can generate multiple requests to a service.
3310//
3311//    // Example iterating over at most 3 pages of a DescribeEngineDefaultParameters operation.
3312//    pageNum := 0
3313//    err := client.DescribeEngineDefaultParametersPages(params,
3314//        func(page *neptune.DescribeEngineDefaultParametersOutput, lastPage bool) bool {
3315//            pageNum++
3316//            fmt.Println(page)
3317//            return pageNum <= 3
3318//        })
3319//
3320func (c *Neptune) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool) error {
3321	return c.DescribeEngineDefaultParametersPagesWithContext(aws.BackgroundContext(), input, fn)
3322}
3323
3324// DescribeEngineDefaultParametersPagesWithContext same as DescribeEngineDefaultParametersPages except
3325// it takes a Context and allows setting request options on the pages.
3326//
3327// The context must be non-nil and will be used for request cancellation. If
3328// the context is nil a panic will occur. In the future the SDK may create
3329// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3330// for more information on using Contexts.
3331func (c *Neptune) DescribeEngineDefaultParametersPagesWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool, opts ...request.Option) error {
3332	p := request.Pagination{
3333		NewRequest: func() (*request.Request, error) {
3334			var inCpy *DescribeEngineDefaultParametersInput
3335			if input != nil {
3336				tmp := *input
3337				inCpy = &tmp
3338			}
3339			req, _ := c.DescribeEngineDefaultParametersRequest(inCpy)
3340			req.SetContext(ctx)
3341			req.ApplyOptions(opts...)
3342			return req, nil
3343		},
3344	}
3345
3346	for p.Next() {
3347		if !fn(p.Page().(*DescribeEngineDefaultParametersOutput), !p.HasNextPage()) {
3348			break
3349		}
3350	}
3351
3352	return p.Err()
3353}
3354
3355const opDescribeEventCategories = "DescribeEventCategories"
3356
3357// DescribeEventCategoriesRequest generates a "aws/request.Request" representing the
3358// client's request for the DescribeEventCategories operation. The "output" return
3359// value will be populated with the request's response once the request completes
3360// successfully.
3361//
3362// Use "Send" method on the returned Request to send the API call to the service.
3363// the "output" return value is not valid until after Send returns without error.
3364//
3365// See DescribeEventCategories for more information on using the DescribeEventCategories
3366// API call, and error handling.
3367//
3368// This method is useful when you want to inject custom logic or configuration
3369// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3370//
3371//
3372//    // Example sending a request using the DescribeEventCategoriesRequest method.
3373//    req, resp := client.DescribeEventCategoriesRequest(params)
3374//
3375//    err := req.Send()
3376//    if err == nil { // resp is now filled
3377//        fmt.Println(resp)
3378//    }
3379//
3380// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEventCategories
3381func (c *Neptune) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) {
3382	op := &request.Operation{
3383		Name:       opDescribeEventCategories,
3384		HTTPMethod: "POST",
3385		HTTPPath:   "/",
3386	}
3387
3388	if input == nil {
3389		input = &DescribeEventCategoriesInput{}
3390	}
3391
3392	output = &DescribeEventCategoriesOutput{}
3393	req = c.newRequest(op, input, output)
3394	return
3395}
3396
3397// DescribeEventCategories API operation for Amazon Neptune.
3398//
3399// Displays a list of categories for all event source types, or, if specified,
3400// for a specified source type.
3401//
3402// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3403// with awserr.Error's Code and Message methods to get detailed information about
3404// the error.
3405//
3406// See the AWS API reference guide for Amazon Neptune's
3407// API operation DescribeEventCategories for usage and error information.
3408// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEventCategories
3409func (c *Neptune) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) {
3410	req, out := c.DescribeEventCategoriesRequest(input)
3411	return out, req.Send()
3412}
3413
3414// DescribeEventCategoriesWithContext is the same as DescribeEventCategories with the addition of
3415// the ability to pass a context and additional request options.
3416//
3417// See DescribeEventCategories for details on how to use this API operation.
3418//
3419// The context must be non-nil and will be used for request cancellation. If
3420// the context is nil a panic will occur. In the future the SDK may create
3421// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3422// for more information on using Contexts.
3423func (c *Neptune) DescribeEventCategoriesWithContext(ctx aws.Context, input *DescribeEventCategoriesInput, opts ...request.Option) (*DescribeEventCategoriesOutput, error) {
3424	req, out := c.DescribeEventCategoriesRequest(input)
3425	req.SetContext(ctx)
3426	req.ApplyOptions(opts...)
3427	return out, req.Send()
3428}
3429
3430const opDescribeEventSubscriptions = "DescribeEventSubscriptions"
3431
3432// DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the
3433// client's request for the DescribeEventSubscriptions operation. The "output" return
3434// value will be populated with the request's response once the request completes
3435// successfully.
3436//
3437// Use "Send" method on the returned Request to send the API call to the service.
3438// the "output" return value is not valid until after Send returns without error.
3439//
3440// See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions
3441// API call, and error handling.
3442//
3443// This method is useful when you want to inject custom logic or configuration
3444// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3445//
3446//
3447//    // Example sending a request using the DescribeEventSubscriptionsRequest method.
3448//    req, resp := client.DescribeEventSubscriptionsRequest(params)
3449//
3450//    err := req.Send()
3451//    if err == nil { // resp is now filled
3452//        fmt.Println(resp)
3453//    }
3454//
3455// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEventSubscriptions
3456func (c *Neptune) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) {
3457	op := &request.Operation{
3458		Name:       opDescribeEventSubscriptions,
3459		HTTPMethod: "POST",
3460		HTTPPath:   "/",
3461		Paginator: &request.Paginator{
3462			InputTokens:     []string{"Marker"},
3463			OutputTokens:    []string{"Marker"},
3464			LimitToken:      "MaxRecords",
3465			TruncationToken: "",
3466		},
3467	}
3468
3469	if input == nil {
3470		input = &DescribeEventSubscriptionsInput{}
3471	}
3472
3473	output = &DescribeEventSubscriptionsOutput{}
3474	req = c.newRequest(op, input, output)
3475	return
3476}
3477
3478// DescribeEventSubscriptions API operation for Amazon Neptune.
3479//
3480// Lists all the subscription descriptions for a customer account. The description
3481// for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType,
3482// SourceID, CreationTime, and Status.
3483//
3484// If you specify a SubscriptionName, lists the description for that subscription.
3485//
3486// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3487// with awserr.Error's Code and Message methods to get detailed information about
3488// the error.
3489//
3490// See the AWS API reference guide for Amazon Neptune's
3491// API operation DescribeEventSubscriptions for usage and error information.
3492//
3493// Returned Error Codes:
3494//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
3495//   The designated subscription could not be found.
3496//
3497// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEventSubscriptions
3498func (c *Neptune) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) {
3499	req, out := c.DescribeEventSubscriptionsRequest(input)
3500	return out, req.Send()
3501}
3502
3503// DescribeEventSubscriptionsWithContext is the same as DescribeEventSubscriptions with the addition of
3504// the ability to pass a context and additional request options.
3505//
3506// See DescribeEventSubscriptions for details on how to use this API operation.
3507//
3508// The context must be non-nil and will be used for request cancellation. If
3509// the context is nil a panic will occur. In the future the SDK may create
3510// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3511// for more information on using Contexts.
3512func (c *Neptune) DescribeEventSubscriptionsWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, opts ...request.Option) (*DescribeEventSubscriptionsOutput, error) {
3513	req, out := c.DescribeEventSubscriptionsRequest(input)
3514	req.SetContext(ctx)
3515	req.ApplyOptions(opts...)
3516	return out, req.Send()
3517}
3518
3519// DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation,
3520// calling the "fn" function with the response data for each page. To stop
3521// iterating, return false from the fn function.
3522//
3523// See DescribeEventSubscriptions method for more information on how to use this operation.
3524//
3525// Note: This operation can generate multiple requests to a service.
3526//
3527//    // Example iterating over at most 3 pages of a DescribeEventSubscriptions operation.
3528//    pageNum := 0
3529//    err := client.DescribeEventSubscriptionsPages(params,
3530//        func(page *neptune.DescribeEventSubscriptionsOutput, lastPage bool) bool {
3531//            pageNum++
3532//            fmt.Println(page)
3533//            return pageNum <= 3
3534//        })
3535//
3536func (c *Neptune) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool) error {
3537	return c.DescribeEventSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn)
3538}
3539
3540// DescribeEventSubscriptionsPagesWithContext same as DescribeEventSubscriptionsPages except
3541// it takes a Context and allows setting request options on the pages.
3542//
3543// The context must be non-nil and will be used for request cancellation. If
3544// the context is nil a panic will occur. In the future the SDK may create
3545// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3546// for more information on using Contexts.
3547func (c *Neptune) DescribeEventSubscriptionsPagesWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool, opts ...request.Option) error {
3548	p := request.Pagination{
3549		NewRequest: func() (*request.Request, error) {
3550			var inCpy *DescribeEventSubscriptionsInput
3551			if input != nil {
3552				tmp := *input
3553				inCpy = &tmp
3554			}
3555			req, _ := c.DescribeEventSubscriptionsRequest(inCpy)
3556			req.SetContext(ctx)
3557			req.ApplyOptions(opts...)
3558			return req, nil
3559		},
3560	}
3561
3562	for p.Next() {
3563		if !fn(p.Page().(*DescribeEventSubscriptionsOutput), !p.HasNextPage()) {
3564			break
3565		}
3566	}
3567
3568	return p.Err()
3569}
3570
3571const opDescribeEvents = "DescribeEvents"
3572
3573// DescribeEventsRequest generates a "aws/request.Request" representing the
3574// client's request for the DescribeEvents operation. The "output" return
3575// value will be populated with the request's response once the request completes
3576// successfully.
3577//
3578// Use "Send" method on the returned Request to send the API call to the service.
3579// the "output" return value is not valid until after Send returns without error.
3580//
3581// See DescribeEvents for more information on using the DescribeEvents
3582// API call, and error handling.
3583//
3584// This method is useful when you want to inject custom logic or configuration
3585// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3586//
3587//
3588//    // Example sending a request using the DescribeEventsRequest method.
3589//    req, resp := client.DescribeEventsRequest(params)
3590//
3591//    err := req.Send()
3592//    if err == nil { // resp is now filled
3593//        fmt.Println(resp)
3594//    }
3595//
3596// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEvents
3597func (c *Neptune) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
3598	op := &request.Operation{
3599		Name:       opDescribeEvents,
3600		HTTPMethod: "POST",
3601		HTTPPath:   "/",
3602		Paginator: &request.Paginator{
3603			InputTokens:     []string{"Marker"},
3604			OutputTokens:    []string{"Marker"},
3605			LimitToken:      "MaxRecords",
3606			TruncationToken: "",
3607		},
3608	}
3609
3610	if input == nil {
3611		input = &DescribeEventsInput{}
3612	}
3613
3614	output = &DescribeEventsOutput{}
3615	req = c.newRequest(op, input, output)
3616	return
3617}
3618
3619// DescribeEvents API operation for Amazon Neptune.
3620//
3621// Returns events related to DB instances, DB security groups, DB snapshots,
3622// and DB parameter groups for the past 14 days. Events specific to a particular
3623// DB instance, DB security group, database snapshot, or DB parameter group
3624// can be obtained by providing the name as a parameter. By default, the past
3625// hour of events are returned.
3626//
3627// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3628// with awserr.Error's Code and Message methods to get detailed information about
3629// the error.
3630//
3631// See the AWS API reference guide for Amazon Neptune's
3632// API operation DescribeEvents for usage and error information.
3633// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEvents
3634func (c *Neptune) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
3635	req, out := c.DescribeEventsRequest(input)
3636	return out, req.Send()
3637}
3638
3639// DescribeEventsWithContext is the same as DescribeEvents with the addition of
3640// the ability to pass a context and additional request options.
3641//
3642// See DescribeEvents for details on how to use this API operation.
3643//
3644// The context must be non-nil and will be used for request cancellation. If
3645// the context is nil a panic will occur. In the future the SDK may create
3646// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3647// for more information on using Contexts.
3648func (c *Neptune) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
3649	req, out := c.DescribeEventsRequest(input)
3650	req.SetContext(ctx)
3651	req.ApplyOptions(opts...)
3652	return out, req.Send()
3653}
3654
3655// DescribeEventsPages iterates over the pages of a DescribeEvents operation,
3656// calling the "fn" function with the response data for each page. To stop
3657// iterating, return false from the fn function.
3658//
3659// See DescribeEvents method for more information on how to use this operation.
3660//
3661// Note: This operation can generate multiple requests to a service.
3662//
3663//    // Example iterating over at most 3 pages of a DescribeEvents operation.
3664//    pageNum := 0
3665//    err := client.DescribeEventsPages(params,
3666//        func(page *neptune.DescribeEventsOutput, lastPage bool) bool {
3667//            pageNum++
3668//            fmt.Println(page)
3669//            return pageNum <= 3
3670//        })
3671//
3672func (c *Neptune) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
3673	return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
3674}
3675
3676// DescribeEventsPagesWithContext same as DescribeEventsPages except
3677// it takes a Context and allows setting request options on the pages.
3678//
3679// The context must be non-nil and will be used for request cancellation. If
3680// the context is nil a panic will occur. In the future the SDK may create
3681// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3682// for more information on using Contexts.
3683func (c *Neptune) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
3684	p := request.Pagination{
3685		NewRequest: func() (*request.Request, error) {
3686			var inCpy *DescribeEventsInput
3687			if input != nil {
3688				tmp := *input
3689				inCpy = &tmp
3690			}
3691			req, _ := c.DescribeEventsRequest(inCpy)
3692			req.SetContext(ctx)
3693			req.ApplyOptions(opts...)
3694			return req, nil
3695		},
3696	}
3697
3698	for p.Next() {
3699		if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) {
3700			break
3701		}
3702	}
3703
3704	return p.Err()
3705}
3706
3707const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions"
3708
3709// DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the
3710// client's request for the DescribeOrderableDBInstanceOptions operation. The "output" return
3711// value will be populated with the request's response once the request completes
3712// successfully.
3713//
3714// Use "Send" method on the returned Request to send the API call to the service.
3715// the "output" return value is not valid until after Send returns without error.
3716//
3717// See DescribeOrderableDBInstanceOptions for more information on using the DescribeOrderableDBInstanceOptions
3718// API call, and error handling.
3719//
3720// This method is useful when you want to inject custom logic or configuration
3721// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3722//
3723//
3724//    // Example sending a request using the DescribeOrderableDBInstanceOptionsRequest method.
3725//    req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params)
3726//
3727//    err := req.Send()
3728//    if err == nil { // resp is now filled
3729//        fmt.Println(resp)
3730//    }
3731//
3732// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeOrderableDBInstanceOptions
3733func (c *Neptune) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderableDBInstanceOptionsInput) (req *request.Request, output *DescribeOrderableDBInstanceOptionsOutput) {
3734	op := &request.Operation{
3735		Name:       opDescribeOrderableDBInstanceOptions,
3736		HTTPMethod: "POST",
3737		HTTPPath:   "/",
3738		Paginator: &request.Paginator{
3739			InputTokens:     []string{"Marker"},
3740			OutputTokens:    []string{"Marker"},
3741			LimitToken:      "MaxRecords",
3742			TruncationToken: "",
3743		},
3744	}
3745
3746	if input == nil {
3747		input = &DescribeOrderableDBInstanceOptionsInput{}
3748	}
3749
3750	output = &DescribeOrderableDBInstanceOptionsOutput{}
3751	req = c.newRequest(op, input, output)
3752	return
3753}
3754
3755// DescribeOrderableDBInstanceOptions API operation for Amazon Neptune.
3756//
3757// Returns a list of orderable DB instance options for the specified engine.
3758//
3759// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3760// with awserr.Error's Code and Message methods to get detailed information about
3761// the error.
3762//
3763// See the AWS API reference guide for Amazon Neptune's
3764// API operation DescribeOrderableDBInstanceOptions for usage and error information.
3765// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeOrderableDBInstanceOptions
3766func (c *Neptune) DescribeOrderableDBInstanceOptions(input *DescribeOrderableDBInstanceOptionsInput) (*DescribeOrderableDBInstanceOptionsOutput, error) {
3767	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
3768	return out, req.Send()
3769}
3770
3771// DescribeOrderableDBInstanceOptionsWithContext is the same as DescribeOrderableDBInstanceOptions with the addition of
3772// the ability to pass a context and additional request options.
3773//
3774// See DescribeOrderableDBInstanceOptions for details on how to use this API operation.
3775//
3776// The context must be non-nil and will be used for request cancellation. If
3777// the context is nil a panic will occur. In the future the SDK may create
3778// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3779// for more information on using Contexts.
3780func (c *Neptune) DescribeOrderableDBInstanceOptionsWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, opts ...request.Option) (*DescribeOrderableDBInstanceOptionsOutput, error) {
3781	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
3782	req.SetContext(ctx)
3783	req.ApplyOptions(opts...)
3784	return out, req.Send()
3785}
3786
3787// DescribeOrderableDBInstanceOptionsPages iterates over the pages of a DescribeOrderableDBInstanceOptions operation,
3788// calling the "fn" function with the response data for each page. To stop
3789// iterating, return false from the fn function.
3790//
3791// See DescribeOrderableDBInstanceOptions method for more information on how to use this operation.
3792//
3793// Note: This operation can generate multiple requests to a service.
3794//
3795//    // Example iterating over at most 3 pages of a DescribeOrderableDBInstanceOptions operation.
3796//    pageNum := 0
3797//    err := client.DescribeOrderableDBInstanceOptionsPages(params,
3798//        func(page *neptune.DescribeOrderableDBInstanceOptionsOutput, lastPage bool) bool {
3799//            pageNum++
3800//            fmt.Println(page)
3801//            return pageNum <= 3
3802//        })
3803//
3804func (c *Neptune) DescribeOrderableDBInstanceOptionsPages(input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool) error {
3805	return c.DescribeOrderableDBInstanceOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
3806}
3807
3808// DescribeOrderableDBInstanceOptionsPagesWithContext same as DescribeOrderableDBInstanceOptionsPages except
3809// it takes a Context and allows setting request options on the pages.
3810//
3811// The context must be non-nil and will be used for request cancellation. If
3812// the context is nil a panic will occur. In the future the SDK may create
3813// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3814// for more information on using Contexts.
3815func (c *Neptune) DescribeOrderableDBInstanceOptionsPagesWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool, opts ...request.Option) error {
3816	p := request.Pagination{
3817		NewRequest: func() (*request.Request, error) {
3818			var inCpy *DescribeOrderableDBInstanceOptionsInput
3819			if input != nil {
3820				tmp := *input
3821				inCpy = &tmp
3822			}
3823			req, _ := c.DescribeOrderableDBInstanceOptionsRequest(inCpy)
3824			req.SetContext(ctx)
3825			req.ApplyOptions(opts...)
3826			return req, nil
3827		},
3828	}
3829
3830	for p.Next() {
3831		if !fn(p.Page().(*DescribeOrderableDBInstanceOptionsOutput), !p.HasNextPage()) {
3832			break
3833		}
3834	}
3835
3836	return p.Err()
3837}
3838
3839const opDescribePendingMaintenanceActions = "DescribePendingMaintenanceActions"
3840
3841// DescribePendingMaintenanceActionsRequest generates a "aws/request.Request" representing the
3842// client's request for the DescribePendingMaintenanceActions operation. The "output" return
3843// value will be populated with the request's response once the request completes
3844// successfully.
3845//
3846// Use "Send" method on the returned Request to send the API call to the service.
3847// the "output" return value is not valid until after Send returns without error.
3848//
3849// See DescribePendingMaintenanceActions for more information on using the DescribePendingMaintenanceActions
3850// API call, and error handling.
3851//
3852// This method is useful when you want to inject custom logic or configuration
3853// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3854//
3855//
3856//    // Example sending a request using the DescribePendingMaintenanceActionsRequest method.
3857//    req, resp := client.DescribePendingMaintenanceActionsRequest(params)
3858//
3859//    err := req.Send()
3860//    if err == nil { // resp is now filled
3861//        fmt.Println(resp)
3862//    }
3863//
3864// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribePendingMaintenanceActions
3865func (c *Neptune) DescribePendingMaintenanceActionsRequest(input *DescribePendingMaintenanceActionsInput) (req *request.Request, output *DescribePendingMaintenanceActionsOutput) {
3866	op := &request.Operation{
3867		Name:       opDescribePendingMaintenanceActions,
3868		HTTPMethod: "POST",
3869		HTTPPath:   "/",
3870	}
3871
3872	if input == nil {
3873		input = &DescribePendingMaintenanceActionsInput{}
3874	}
3875
3876	output = &DescribePendingMaintenanceActionsOutput{}
3877	req = c.newRequest(op, input, output)
3878	return
3879}
3880
3881// DescribePendingMaintenanceActions API operation for Amazon Neptune.
3882//
3883// Returns a list of resources (for example, DB instances) that have at least
3884// one pending maintenance action.
3885//
3886// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3887// with awserr.Error's Code and Message methods to get detailed information about
3888// the error.
3889//
3890// See the AWS API reference guide for Amazon Neptune's
3891// API operation DescribePendingMaintenanceActions for usage and error information.
3892//
3893// Returned Error Codes:
3894//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
3895//   The specified resource ID was not found.
3896//
3897// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribePendingMaintenanceActions
3898func (c *Neptune) DescribePendingMaintenanceActions(input *DescribePendingMaintenanceActionsInput) (*DescribePendingMaintenanceActionsOutput, error) {
3899	req, out := c.DescribePendingMaintenanceActionsRequest(input)
3900	return out, req.Send()
3901}
3902
3903// DescribePendingMaintenanceActionsWithContext is the same as DescribePendingMaintenanceActions with the addition of
3904// the ability to pass a context and additional request options.
3905//
3906// See DescribePendingMaintenanceActions for details on how to use this API operation.
3907//
3908// The context must be non-nil and will be used for request cancellation. If
3909// the context is nil a panic will occur. In the future the SDK may create
3910// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3911// for more information on using Contexts.
3912func (c *Neptune) DescribePendingMaintenanceActionsWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, opts ...request.Option) (*DescribePendingMaintenanceActionsOutput, error) {
3913	req, out := c.DescribePendingMaintenanceActionsRequest(input)
3914	req.SetContext(ctx)
3915	req.ApplyOptions(opts...)
3916	return out, req.Send()
3917}
3918
3919const opDescribeValidDBInstanceModifications = "DescribeValidDBInstanceModifications"
3920
3921// DescribeValidDBInstanceModificationsRequest generates a "aws/request.Request" representing the
3922// client's request for the DescribeValidDBInstanceModifications operation. The "output" return
3923// value will be populated with the request's response once the request completes
3924// successfully.
3925//
3926// Use "Send" method on the returned Request to send the API call to the service.
3927// the "output" return value is not valid until after Send returns without error.
3928//
3929// See DescribeValidDBInstanceModifications for more information on using the DescribeValidDBInstanceModifications
3930// API call, and error handling.
3931//
3932// This method is useful when you want to inject custom logic or configuration
3933// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3934//
3935//
3936//    // Example sending a request using the DescribeValidDBInstanceModificationsRequest method.
3937//    req, resp := client.DescribeValidDBInstanceModificationsRequest(params)
3938//
3939//    err := req.Send()
3940//    if err == nil { // resp is now filled
3941//        fmt.Println(resp)
3942//    }
3943//
3944// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeValidDBInstanceModifications
3945func (c *Neptune) DescribeValidDBInstanceModificationsRequest(input *DescribeValidDBInstanceModificationsInput) (req *request.Request, output *DescribeValidDBInstanceModificationsOutput) {
3946	op := &request.Operation{
3947		Name:       opDescribeValidDBInstanceModifications,
3948		HTTPMethod: "POST",
3949		HTTPPath:   "/",
3950	}
3951
3952	if input == nil {
3953		input = &DescribeValidDBInstanceModificationsInput{}
3954	}
3955
3956	output = &DescribeValidDBInstanceModificationsOutput{}
3957	req = c.newRequest(op, input, output)
3958	return
3959}
3960
3961// DescribeValidDBInstanceModifications API operation for Amazon Neptune.
3962//
3963// You can call DescribeValidDBInstanceModifications to learn what modifications
3964// you can make to your DB instance. You can use this information when you call
3965// ModifyDBInstance.
3966//
3967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3968// with awserr.Error's Code and Message methods to get detailed information about
3969// the error.
3970//
3971// See the AWS API reference guide for Amazon Neptune's
3972// API operation DescribeValidDBInstanceModifications for usage and error information.
3973//
3974// Returned Error Codes:
3975//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
3976//   DBInstanceIdentifier does not refer to an existing DB instance.
3977//
3978//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
3979//   The specified DB instance is not in the available state.
3980//
3981// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeValidDBInstanceModifications
3982func (c *Neptune) DescribeValidDBInstanceModifications(input *DescribeValidDBInstanceModificationsInput) (*DescribeValidDBInstanceModificationsOutput, error) {
3983	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
3984	return out, req.Send()
3985}
3986
3987// DescribeValidDBInstanceModificationsWithContext is the same as DescribeValidDBInstanceModifications with the addition of
3988// the ability to pass a context and additional request options.
3989//
3990// See DescribeValidDBInstanceModifications for details on how to use this API operation.
3991//
3992// The context must be non-nil and will be used for request cancellation. If
3993// the context is nil a panic will occur. In the future the SDK may create
3994// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3995// for more information on using Contexts.
3996func (c *Neptune) DescribeValidDBInstanceModificationsWithContext(ctx aws.Context, input *DescribeValidDBInstanceModificationsInput, opts ...request.Option) (*DescribeValidDBInstanceModificationsOutput, error) {
3997	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
3998	req.SetContext(ctx)
3999	req.ApplyOptions(opts...)
4000	return out, req.Send()
4001}
4002
4003const opFailoverDBCluster = "FailoverDBCluster"
4004
4005// FailoverDBClusterRequest generates a "aws/request.Request" representing the
4006// client's request for the FailoverDBCluster operation. The "output" return
4007// value will be populated with the request's response once the request completes
4008// successfully.
4009//
4010// Use "Send" method on the returned Request to send the API call to the service.
4011// the "output" return value is not valid until after Send returns without error.
4012//
4013// See FailoverDBCluster for more information on using the FailoverDBCluster
4014// API call, and error handling.
4015//
4016// This method is useful when you want to inject custom logic or configuration
4017// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4018//
4019//
4020//    // Example sending a request using the FailoverDBClusterRequest method.
4021//    req, resp := client.FailoverDBClusterRequest(params)
4022//
4023//    err := req.Send()
4024//    if err == nil { // resp is now filled
4025//        fmt.Println(resp)
4026//    }
4027//
4028// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/FailoverDBCluster
4029func (c *Neptune) FailoverDBClusterRequest(input *FailoverDBClusterInput) (req *request.Request, output *FailoverDBClusterOutput) {
4030	op := &request.Operation{
4031		Name:       opFailoverDBCluster,
4032		HTTPMethod: "POST",
4033		HTTPPath:   "/",
4034	}
4035
4036	if input == nil {
4037		input = &FailoverDBClusterInput{}
4038	}
4039
4040	output = &FailoverDBClusterOutput{}
4041	req = c.newRequest(op, input, output)
4042	return
4043}
4044
4045// FailoverDBCluster API operation for Amazon Neptune.
4046//
4047// Forces a failover for a DB cluster.
4048//
4049// A failover for a DB cluster promotes one of the Read Replicas (read-only
4050// instances) in the DB cluster to be the primary instance (the cluster writer).
4051//
4052// Amazon Neptune will automatically fail over to a Read Replica, if one exists,
4053// when the primary instance fails. You can force a failover when you want to
4054// simulate a failure of a primary instance for testing. Because each instance
4055// in a DB cluster has its own endpoint address, you will need to clean up and
4056// re-establish any existing connections that use those endpoint addresses when
4057// the failover is complete.
4058//
4059// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4060// with awserr.Error's Code and Message methods to get detailed information about
4061// the error.
4062//
4063// See the AWS API reference guide for Amazon Neptune's
4064// API operation FailoverDBCluster for usage and error information.
4065//
4066// Returned Error Codes:
4067//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4068//   DBClusterIdentifier does not refer to an existing DB cluster.
4069//
4070//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
4071//   The DB cluster is not in a valid state.
4072//
4073//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
4074//   The specified DB instance is not in the available state.
4075//
4076// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/FailoverDBCluster
4077func (c *Neptune) FailoverDBCluster(input *FailoverDBClusterInput) (*FailoverDBClusterOutput, error) {
4078	req, out := c.FailoverDBClusterRequest(input)
4079	return out, req.Send()
4080}
4081
4082// FailoverDBClusterWithContext is the same as FailoverDBCluster with the addition of
4083// the ability to pass a context and additional request options.
4084//
4085// See FailoverDBCluster for details on how to use this API operation.
4086//
4087// The context must be non-nil and will be used for request cancellation. If
4088// the context is nil a panic will occur. In the future the SDK may create
4089// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4090// for more information on using Contexts.
4091func (c *Neptune) FailoverDBClusterWithContext(ctx aws.Context, input *FailoverDBClusterInput, opts ...request.Option) (*FailoverDBClusterOutput, error) {
4092	req, out := c.FailoverDBClusterRequest(input)
4093	req.SetContext(ctx)
4094	req.ApplyOptions(opts...)
4095	return out, req.Send()
4096}
4097
4098const opListTagsForResource = "ListTagsForResource"
4099
4100// ListTagsForResourceRequest generates a "aws/request.Request" representing the
4101// client's request for the ListTagsForResource operation. The "output" return
4102// value will be populated with the request's response once the request completes
4103// successfully.
4104//
4105// Use "Send" method on the returned Request to send the API call to the service.
4106// the "output" return value is not valid until after Send returns without error.
4107//
4108// See ListTagsForResource for more information on using the ListTagsForResource
4109// API call, and error handling.
4110//
4111// This method is useful when you want to inject custom logic or configuration
4112// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4113//
4114//
4115//    // Example sending a request using the ListTagsForResourceRequest method.
4116//    req, resp := client.ListTagsForResourceRequest(params)
4117//
4118//    err := req.Send()
4119//    if err == nil { // resp is now filled
4120//        fmt.Println(resp)
4121//    }
4122//
4123// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ListTagsForResource
4124func (c *Neptune) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
4125	op := &request.Operation{
4126		Name:       opListTagsForResource,
4127		HTTPMethod: "POST",
4128		HTTPPath:   "/",
4129	}
4130
4131	if input == nil {
4132		input = &ListTagsForResourceInput{}
4133	}
4134
4135	output = &ListTagsForResourceOutput{}
4136	req = c.newRequest(op, input, output)
4137	return
4138}
4139
4140// ListTagsForResource API operation for Amazon Neptune.
4141//
4142// Lists all tags on an Amazon Neptune resource.
4143//
4144// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4145// with awserr.Error's Code and Message methods to get detailed information about
4146// the error.
4147//
4148// See the AWS API reference guide for Amazon Neptune's
4149// API operation ListTagsForResource for usage and error information.
4150//
4151// Returned Error Codes:
4152//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
4153//   DBInstanceIdentifier does not refer to an existing DB instance.
4154//
4155//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
4156//   DBSnapshotIdentifier does not refer to an existing DB snapshot.
4157//
4158//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4159//   DBClusterIdentifier does not refer to an existing DB cluster.
4160//
4161// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ListTagsForResource
4162func (c *Neptune) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4163	req, out := c.ListTagsForResourceRequest(input)
4164	return out, req.Send()
4165}
4166
4167// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4168// the ability to pass a context and additional request options.
4169//
4170// See ListTagsForResource for details on how to use this API operation.
4171//
4172// The context must be non-nil and will be used for request cancellation. If
4173// the context is nil a panic will occur. In the future the SDK may create
4174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4175// for more information on using Contexts.
4176func (c *Neptune) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4177	req, out := c.ListTagsForResourceRequest(input)
4178	req.SetContext(ctx)
4179	req.ApplyOptions(opts...)
4180	return out, req.Send()
4181}
4182
4183const opModifyDBCluster = "ModifyDBCluster"
4184
4185// ModifyDBClusterRequest generates a "aws/request.Request" representing the
4186// client's request for the ModifyDBCluster operation. The "output" return
4187// value will be populated with the request's response once the request completes
4188// successfully.
4189//
4190// Use "Send" method on the returned Request to send the API call to the service.
4191// the "output" return value is not valid until after Send returns without error.
4192//
4193// See ModifyDBCluster for more information on using the ModifyDBCluster
4194// API call, and error handling.
4195//
4196// This method is useful when you want to inject custom logic or configuration
4197// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4198//
4199//
4200//    // Example sending a request using the ModifyDBClusterRequest method.
4201//    req, resp := client.ModifyDBClusterRequest(params)
4202//
4203//    err := req.Send()
4204//    if err == nil { // resp is now filled
4205//        fmt.Println(resp)
4206//    }
4207//
4208// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBCluster
4209func (c *Neptune) ModifyDBClusterRequest(input *ModifyDBClusterInput) (req *request.Request, output *ModifyDBClusterOutput) {
4210	op := &request.Operation{
4211		Name:       opModifyDBCluster,
4212		HTTPMethod: "POST",
4213		HTTPPath:   "/",
4214	}
4215
4216	if input == nil {
4217		input = &ModifyDBClusterInput{}
4218	}
4219
4220	output = &ModifyDBClusterOutput{}
4221	req = c.newRequest(op, input, output)
4222	return
4223}
4224
4225// ModifyDBCluster API operation for Amazon Neptune.
4226//
4227// Modify a setting for a DB cluster. You can change one or more database configuration
4228// parameters by specifying these parameters and the new values in the request.
4229//
4230// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4231// with awserr.Error's Code and Message methods to get detailed information about
4232// the error.
4233//
4234// See the AWS API reference guide for Amazon Neptune's
4235// API operation ModifyDBCluster for usage and error information.
4236//
4237// Returned Error Codes:
4238//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4239//   DBClusterIdentifier does not refer to an existing DB cluster.
4240//
4241//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
4242//   The DB cluster is not in a valid state.
4243//
4244//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
4245//   Request would result in user exceeding the allowed amount of storage available
4246//   across all DB instances.
4247//
4248//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
4249//   DBSubnetGroupName does not refer to an existing DB subnet group.
4250//
4251//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
4252//   DB subnet group does not cover all Availability Zones after it is created
4253//   because users' change.
4254//
4255//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
4256//   The DB subnet group cannot be deleted because it is in use.
4257//
4258//   * ErrCodeInvalidSubnet "InvalidSubnet"
4259//   The requested subnet is invalid, or multiple subnets were requested that
4260//   are not all in a common VPC.
4261//
4262//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
4263//   DBClusterParameterGroupName does not refer to an existing DB Cluster parameter
4264//   group.
4265//
4266//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
4267//   The state of the DB security group does not allow deletion.
4268//
4269//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
4270//   The specified DB instance is not in the available state.
4271//
4272//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
4273//   User already has a DB cluster with the given identifier.
4274//
4275// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBCluster
4276func (c *Neptune) ModifyDBCluster(input *ModifyDBClusterInput) (*ModifyDBClusterOutput, error) {
4277	req, out := c.ModifyDBClusterRequest(input)
4278	return out, req.Send()
4279}
4280
4281// ModifyDBClusterWithContext is the same as ModifyDBCluster with the addition of
4282// the ability to pass a context and additional request options.
4283//
4284// See ModifyDBCluster for details on how to use this API operation.
4285//
4286// The context must be non-nil and will be used for request cancellation. If
4287// the context is nil a panic will occur. In the future the SDK may create
4288// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4289// for more information on using Contexts.
4290func (c *Neptune) ModifyDBClusterWithContext(ctx aws.Context, input *ModifyDBClusterInput, opts ...request.Option) (*ModifyDBClusterOutput, error) {
4291	req, out := c.ModifyDBClusterRequest(input)
4292	req.SetContext(ctx)
4293	req.ApplyOptions(opts...)
4294	return out, req.Send()
4295}
4296
4297const opModifyDBClusterParameterGroup = "ModifyDBClusterParameterGroup"
4298
4299// ModifyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
4300// client's request for the ModifyDBClusterParameterGroup operation. The "output" return
4301// value will be populated with the request's response once the request completes
4302// successfully.
4303//
4304// Use "Send" method on the returned Request to send the API call to the service.
4305// the "output" return value is not valid until after Send returns without error.
4306//
4307// See ModifyDBClusterParameterGroup for more information on using the ModifyDBClusterParameterGroup
4308// API call, and error handling.
4309//
4310// This method is useful when you want to inject custom logic or configuration
4311// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4312//
4313//
4314//    // Example sending a request using the ModifyDBClusterParameterGroupRequest method.
4315//    req, resp := client.ModifyDBClusterParameterGroupRequest(params)
4316//
4317//    err := req.Send()
4318//    if err == nil { // resp is now filled
4319//        fmt.Println(resp)
4320//    }
4321//
4322// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBClusterParameterGroup
4323func (c *Neptune) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParameterGroupInput) (req *request.Request, output *ResetDBClusterParameterGroupOutput) {
4324	op := &request.Operation{
4325		Name:       opModifyDBClusterParameterGroup,
4326		HTTPMethod: "POST",
4327		HTTPPath:   "/",
4328	}
4329
4330	if input == nil {
4331		input = &ModifyDBClusterParameterGroupInput{}
4332	}
4333
4334	output = &ResetDBClusterParameterGroupOutput{}
4335	req = c.newRequest(op, input, output)
4336	return
4337}
4338
4339// ModifyDBClusterParameterGroup API operation for Amazon Neptune.
4340//
4341// Modifies the parameters of a DB cluster parameter group. To modify more than
4342// one parameter, submit a list of the following: ParameterName, ParameterValue,
4343// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
4344//
4345// Changes to dynamic parameters are applied immediately. Changes to static
4346// parameters require a reboot without failover to the DB cluster associated
4347// with the parameter group before the change can take effect.
4348//
4349// After you create a DB cluster parameter group, you should wait at least 5
4350// minutes before creating your first DB cluster that uses that DB cluster parameter
4351// group as the default parameter group. This allows Amazon Neptune to fully
4352// complete the create action before the parameter group is used as the default
4353// for a new DB cluster. This is especially important for parameters that are
4354// critical when creating the default database for a DB cluster, such as the
4355// character set for the default database defined by the character_set_database
4356// parameter. You can use the Parameter Groups option of the Amazon Neptune
4357// console or the DescribeDBClusterParameters command to verify that your DB
4358// cluster parameter group has been created or modified.
4359//
4360// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4361// with awserr.Error's Code and Message methods to get detailed information about
4362// the error.
4363//
4364// See the AWS API reference guide for Amazon Neptune's
4365// API operation ModifyDBClusterParameterGroup for usage and error information.
4366//
4367// Returned Error Codes:
4368//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
4369//   DBParameterGroupName does not refer to an existing DB parameter group.
4370//
4371//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
4372//   The DB parameter group is in use or is in an invalid state. If you are attempting
4373//   to delete the parameter group, you cannot delete it when the parameter group
4374//   is in this state.
4375//
4376// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBClusterParameterGroup
4377func (c *Neptune) ModifyDBClusterParameterGroup(input *ModifyDBClusterParameterGroupInput) (*ResetDBClusterParameterGroupOutput, error) {
4378	req, out := c.ModifyDBClusterParameterGroupRequest(input)
4379	return out, req.Send()
4380}
4381
4382// ModifyDBClusterParameterGroupWithContext is the same as ModifyDBClusterParameterGroup with the addition of
4383// the ability to pass a context and additional request options.
4384//
4385// See ModifyDBClusterParameterGroup for details on how to use this API operation.
4386//
4387// The context must be non-nil and will be used for request cancellation. If
4388// the context is nil a panic will occur. In the future the SDK may create
4389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4390// for more information on using Contexts.
4391func (c *Neptune) ModifyDBClusterParameterGroupWithContext(ctx aws.Context, input *ModifyDBClusterParameterGroupInput, opts ...request.Option) (*ResetDBClusterParameterGroupOutput, error) {
4392	req, out := c.ModifyDBClusterParameterGroupRequest(input)
4393	req.SetContext(ctx)
4394	req.ApplyOptions(opts...)
4395	return out, req.Send()
4396}
4397
4398const opModifyDBClusterSnapshotAttribute = "ModifyDBClusterSnapshotAttribute"
4399
4400// ModifyDBClusterSnapshotAttributeRequest generates a "aws/request.Request" representing the
4401// client's request for the ModifyDBClusterSnapshotAttribute operation. The "output" return
4402// value will be populated with the request's response once the request completes
4403// successfully.
4404//
4405// Use "Send" method on the returned Request to send the API call to the service.
4406// the "output" return value is not valid until after Send returns without error.
4407//
4408// See ModifyDBClusterSnapshotAttribute for more information on using the ModifyDBClusterSnapshotAttribute
4409// API call, and error handling.
4410//
4411// This method is useful when you want to inject custom logic or configuration
4412// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4413//
4414//
4415//    // Example sending a request using the ModifyDBClusterSnapshotAttributeRequest method.
4416//    req, resp := client.ModifyDBClusterSnapshotAttributeRequest(params)
4417//
4418//    err := req.Send()
4419//    if err == nil { // resp is now filled
4420//        fmt.Println(resp)
4421//    }
4422//
4423// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBClusterSnapshotAttribute
4424func (c *Neptune) ModifyDBClusterSnapshotAttributeRequest(input *ModifyDBClusterSnapshotAttributeInput) (req *request.Request, output *ModifyDBClusterSnapshotAttributeOutput) {
4425	op := &request.Operation{
4426		Name:       opModifyDBClusterSnapshotAttribute,
4427		HTTPMethod: "POST",
4428		HTTPPath:   "/",
4429	}
4430
4431	if input == nil {
4432		input = &ModifyDBClusterSnapshotAttributeInput{}
4433	}
4434
4435	output = &ModifyDBClusterSnapshotAttributeOutput{}
4436	req = c.newRequest(op, input, output)
4437	return
4438}
4439
4440// ModifyDBClusterSnapshotAttribute API operation for Amazon Neptune.
4441//
4442// Adds an attribute and values to, or removes an attribute and values from,
4443// a manual DB cluster snapshot.
4444//
4445// To share a manual DB cluster snapshot with other AWS accounts, specify restore
4446// as the AttributeName and use the ValuesToAdd parameter to add a list of IDs
4447// of the AWS accounts that are authorized to restore the manual DB cluster
4448// snapshot. Use the value all to make the manual DB cluster snapshot public,
4449// which means that it can be copied or restored by all AWS accounts. Do not
4450// add the all value for any manual DB cluster snapshots that contain private
4451// information that you don't want available to all AWS accounts. If a manual
4452// DB cluster snapshot is encrypted, it can be shared, but only by specifying
4453// a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't
4454// use all as a value for that parameter in this case.
4455//
4456// To view which AWS accounts have access to copy or restore a manual DB cluster
4457// snapshot, or whether a manual DB cluster snapshot public or private, use
4458// the DescribeDBClusterSnapshotAttributes API action.
4459//
4460// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4461// with awserr.Error's Code and Message methods to get detailed information about
4462// the error.
4463//
4464// See the AWS API reference guide for Amazon Neptune's
4465// API operation ModifyDBClusterSnapshotAttribute for usage and error information.
4466//
4467// Returned Error Codes:
4468//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
4469//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
4470//
4471//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
4472//   The supplied value is not a valid DB cluster snapshot state.
4473//
4474//   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
4475//   You have exceeded the maximum number of accounts that you can share a manual
4476//   DB snapshot with.
4477//
4478// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBClusterSnapshotAttribute
4479func (c *Neptune) ModifyDBClusterSnapshotAttribute(input *ModifyDBClusterSnapshotAttributeInput) (*ModifyDBClusterSnapshotAttributeOutput, error) {
4480	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
4481	return out, req.Send()
4482}
4483
4484// ModifyDBClusterSnapshotAttributeWithContext is the same as ModifyDBClusterSnapshotAttribute with the addition of
4485// the ability to pass a context and additional request options.
4486//
4487// See ModifyDBClusterSnapshotAttribute for details on how to use this API operation.
4488//
4489// The context must be non-nil and will be used for request cancellation. If
4490// the context is nil a panic will occur. In the future the SDK may create
4491// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4492// for more information on using Contexts.
4493func (c *Neptune) ModifyDBClusterSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBClusterSnapshotAttributeInput, opts ...request.Option) (*ModifyDBClusterSnapshotAttributeOutput, error) {
4494	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
4495	req.SetContext(ctx)
4496	req.ApplyOptions(opts...)
4497	return out, req.Send()
4498}
4499
4500const opModifyDBInstance = "ModifyDBInstance"
4501
4502// ModifyDBInstanceRequest generates a "aws/request.Request" representing the
4503// client's request for the ModifyDBInstance operation. The "output" return
4504// value will be populated with the request's response once the request completes
4505// successfully.
4506//
4507// Use "Send" method on the returned Request to send the API call to the service.
4508// the "output" return value is not valid until after Send returns without error.
4509//
4510// See ModifyDBInstance for more information on using the ModifyDBInstance
4511// API call, and error handling.
4512//
4513// This method is useful when you want to inject custom logic or configuration
4514// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4515//
4516//
4517//    // Example sending a request using the ModifyDBInstanceRequest method.
4518//    req, resp := client.ModifyDBInstanceRequest(params)
4519//
4520//    err := req.Send()
4521//    if err == nil { // resp is now filled
4522//        fmt.Println(resp)
4523//    }
4524//
4525// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBInstance
4526func (c *Neptune) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *request.Request, output *ModifyDBInstanceOutput) {
4527	op := &request.Operation{
4528		Name:       opModifyDBInstance,
4529		HTTPMethod: "POST",
4530		HTTPPath:   "/",
4531	}
4532
4533	if input == nil {
4534		input = &ModifyDBInstanceInput{}
4535	}
4536
4537	output = &ModifyDBInstanceOutput{}
4538	req = c.newRequest(op, input, output)
4539	return
4540}
4541
4542// ModifyDBInstance API operation for Amazon Neptune.
4543//
4544// Modifies settings for a DB instance. You can change one or more database
4545// configuration parameters by specifying these parameters and the new values
4546// in the request. To learn what modifications you can make to your DB instance,
4547// call DescribeValidDBInstanceModifications before you call ModifyDBInstance.
4548//
4549// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4550// with awserr.Error's Code and Message methods to get detailed information about
4551// the error.
4552//
4553// See the AWS API reference guide for Amazon Neptune's
4554// API operation ModifyDBInstance for usage and error information.
4555//
4556// Returned Error Codes:
4557//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
4558//   The specified DB instance is not in the available state.
4559//
4560//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
4561//   The state of the DB security group does not allow deletion.
4562//
4563//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
4564//   User already has a DB instance with the given identifier.
4565//
4566//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
4567//   DBInstanceIdentifier does not refer to an existing DB instance.
4568//
4569//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
4570//   DBSecurityGroupName does not refer to an existing DB security group.
4571//
4572//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
4573//   DBParameterGroupName does not refer to an existing DB parameter group.
4574//
4575//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
4576//   Specified DB instance class is not available in the specified Availability
4577//   Zone.
4578//
4579//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
4580//   Request would result in user exceeding the allowed amount of storage available
4581//   across all DB instances.
4582//
4583//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
4584//   DB subnet group does not cover all Availability Zones after it is created
4585//   because users' change.
4586//
4587//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
4588//   Provisioned IOPS not available in the specified Availability Zone.
4589//
4590//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
4591//   The designated option group could not be found.
4592//
4593//   * ErrCodeDBUpgradeDependencyFailureFault "DBUpgradeDependencyFailure"
4594//   The DB upgrade failed because a resource the DB depends on could not be modified.
4595//
4596//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
4597//   StorageType specified cannot be associated with the DB Instance.
4598//
4599//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
4600//   Specified CIDRIP or EC2 security group is not authorized for the specified
4601//   DB security group.
4602//
4603//   Neptune may not also be authorized via IAM to perform necessary actions on
4604//   your behalf.
4605//
4606//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
4607//   CertificateIdentifier does not refer to an existing certificate.
4608//
4609//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
4610//   Domain does not refer to an existing Active Directory Domain.
4611//
4612// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBInstance
4613func (c *Neptune) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) {
4614	req, out := c.ModifyDBInstanceRequest(input)
4615	return out, req.Send()
4616}
4617
4618// ModifyDBInstanceWithContext is the same as ModifyDBInstance with the addition of
4619// the ability to pass a context and additional request options.
4620//
4621// See ModifyDBInstance for details on how to use this API operation.
4622//
4623// The context must be non-nil and will be used for request cancellation. If
4624// the context is nil a panic will occur. In the future the SDK may create
4625// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4626// for more information on using Contexts.
4627func (c *Neptune) ModifyDBInstanceWithContext(ctx aws.Context, input *ModifyDBInstanceInput, opts ...request.Option) (*ModifyDBInstanceOutput, error) {
4628	req, out := c.ModifyDBInstanceRequest(input)
4629	req.SetContext(ctx)
4630	req.ApplyOptions(opts...)
4631	return out, req.Send()
4632}
4633
4634const opModifyDBParameterGroup = "ModifyDBParameterGroup"
4635
4636// ModifyDBParameterGroupRequest generates a "aws/request.Request" representing the
4637// client's request for the ModifyDBParameterGroup operation. The "output" return
4638// value will be populated with the request's response once the request completes
4639// successfully.
4640//
4641// Use "Send" method on the returned Request to send the API call to the service.
4642// the "output" return value is not valid until after Send returns without error.
4643//
4644// See ModifyDBParameterGroup for more information on using the ModifyDBParameterGroup
4645// API call, and error handling.
4646//
4647// This method is useful when you want to inject custom logic or configuration
4648// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4649//
4650//
4651//    // Example sending a request using the ModifyDBParameterGroupRequest method.
4652//    req, resp := client.ModifyDBParameterGroupRequest(params)
4653//
4654//    err := req.Send()
4655//    if err == nil { // resp is now filled
4656//        fmt.Println(resp)
4657//    }
4658//
4659// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBParameterGroup
4660func (c *Neptune) ModifyDBParameterGroupRequest(input *ModifyDBParameterGroupInput) (req *request.Request, output *ResetDBParameterGroupOutput) {
4661	op := &request.Operation{
4662		Name:       opModifyDBParameterGroup,
4663		HTTPMethod: "POST",
4664		HTTPPath:   "/",
4665	}
4666
4667	if input == nil {
4668		input = &ModifyDBParameterGroupInput{}
4669	}
4670
4671	output = &ResetDBParameterGroupOutput{}
4672	req = c.newRequest(op, input, output)
4673	return
4674}
4675
4676// ModifyDBParameterGroup API operation for Amazon Neptune.
4677//
4678// Modifies the parameters of a DB parameter group. To modify more than one
4679// parameter, submit a list of the following: ParameterName, ParameterValue,
4680// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
4681//
4682// Changes to dynamic parameters are applied immediately. Changes to static
4683// parameters require a reboot without failover to the DB instance associated
4684// with the parameter group before the change can take effect.
4685//
4686// After you modify a DB parameter group, you should wait at least 5 minutes
4687// before creating your first DB instance that uses that DB parameter group
4688// as the default parameter group. This allows Amazon Neptune to fully complete
4689// the modify action before the parameter group is used as the default for a
4690// new DB instance. This is especially important for parameters that are critical
4691// when creating the default database for a DB instance, such as the character
4692// set for the default database defined by the character_set_database parameter.
4693// You can use the Parameter Groups option of the Amazon Neptune console or
4694// the DescribeDBParameters command to verify that your DB parameter group has
4695// been created or modified.
4696//
4697// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4698// with awserr.Error's Code and Message methods to get detailed information about
4699// the error.
4700//
4701// See the AWS API reference guide for Amazon Neptune's
4702// API operation ModifyDBParameterGroup for usage and error information.
4703//
4704// Returned Error Codes:
4705//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
4706//   DBParameterGroupName does not refer to an existing DB parameter group.
4707//
4708//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
4709//   The DB parameter group is in use or is in an invalid state. If you are attempting
4710//   to delete the parameter group, you cannot delete it when the parameter group
4711//   is in this state.
4712//
4713// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBParameterGroup
4714func (c *Neptune) ModifyDBParameterGroup(input *ModifyDBParameterGroupInput) (*ResetDBParameterGroupOutput, error) {
4715	req, out := c.ModifyDBParameterGroupRequest(input)
4716	return out, req.Send()
4717}
4718
4719// ModifyDBParameterGroupWithContext is the same as ModifyDBParameterGroup with the addition of
4720// the ability to pass a context and additional request options.
4721//
4722// See ModifyDBParameterGroup for details on how to use this API operation.
4723//
4724// The context must be non-nil and will be used for request cancellation. If
4725// the context is nil a panic will occur. In the future the SDK may create
4726// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4727// for more information on using Contexts.
4728func (c *Neptune) ModifyDBParameterGroupWithContext(ctx aws.Context, input *ModifyDBParameterGroupInput, opts ...request.Option) (*ResetDBParameterGroupOutput, error) {
4729	req, out := c.ModifyDBParameterGroupRequest(input)
4730	req.SetContext(ctx)
4731	req.ApplyOptions(opts...)
4732	return out, req.Send()
4733}
4734
4735const opModifyDBSubnetGroup = "ModifyDBSubnetGroup"
4736
4737// ModifyDBSubnetGroupRequest generates a "aws/request.Request" representing the
4738// client's request for the ModifyDBSubnetGroup operation. The "output" return
4739// value will be populated with the request's response once the request completes
4740// successfully.
4741//
4742// Use "Send" method on the returned Request to send the API call to the service.
4743// the "output" return value is not valid until after Send returns without error.
4744//
4745// See ModifyDBSubnetGroup for more information on using the ModifyDBSubnetGroup
4746// API call, and error handling.
4747//
4748// This method is useful when you want to inject custom logic or configuration
4749// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4750//
4751//
4752//    // Example sending a request using the ModifyDBSubnetGroupRequest method.
4753//    req, resp := client.ModifyDBSubnetGroupRequest(params)
4754//
4755//    err := req.Send()
4756//    if err == nil { // resp is now filled
4757//        fmt.Println(resp)
4758//    }
4759//
4760// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBSubnetGroup
4761func (c *Neptune) ModifyDBSubnetGroupRequest(input *ModifyDBSubnetGroupInput) (req *request.Request, output *ModifyDBSubnetGroupOutput) {
4762	op := &request.Operation{
4763		Name:       opModifyDBSubnetGroup,
4764		HTTPMethod: "POST",
4765		HTTPPath:   "/",
4766	}
4767
4768	if input == nil {
4769		input = &ModifyDBSubnetGroupInput{}
4770	}
4771
4772	output = &ModifyDBSubnetGroupOutput{}
4773	req = c.newRequest(op, input, output)
4774	return
4775}
4776
4777// ModifyDBSubnetGroup API operation for Amazon Neptune.
4778//
4779// Modifies an existing DB subnet group. DB subnet groups must contain at least
4780// one subnet in at least two AZs in the AWS Region.
4781//
4782// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4783// with awserr.Error's Code and Message methods to get detailed information about
4784// the error.
4785//
4786// See the AWS API reference guide for Amazon Neptune's
4787// API operation ModifyDBSubnetGroup for usage and error information.
4788//
4789// Returned Error Codes:
4790//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
4791//   DBSubnetGroupName does not refer to an existing DB subnet group.
4792//
4793//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
4794//   Request would result in user exceeding the allowed number of subnets in a
4795//   DB subnet groups.
4796//
4797//   * ErrCodeSubnetAlreadyInUse "SubnetAlreadyInUse"
4798//   The DB subnet is already in use in the Availability Zone.
4799//
4800//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
4801//   Subnets in the DB subnet group should cover at least two Availability Zones
4802//   unless there is only one Availability Zone.
4803//
4804//   * ErrCodeInvalidSubnet "InvalidSubnet"
4805//   The requested subnet is invalid, or multiple subnets were requested that
4806//   are not all in a common VPC.
4807//
4808// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBSubnetGroup
4809func (c *Neptune) ModifyDBSubnetGroup(input *ModifyDBSubnetGroupInput) (*ModifyDBSubnetGroupOutput, error) {
4810	req, out := c.ModifyDBSubnetGroupRequest(input)
4811	return out, req.Send()
4812}
4813
4814// ModifyDBSubnetGroupWithContext is the same as ModifyDBSubnetGroup with the addition of
4815// the ability to pass a context and additional request options.
4816//
4817// See ModifyDBSubnetGroup for details on how to use this API operation.
4818//
4819// The context must be non-nil and will be used for request cancellation. If
4820// the context is nil a panic will occur. In the future the SDK may create
4821// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4822// for more information on using Contexts.
4823func (c *Neptune) ModifyDBSubnetGroupWithContext(ctx aws.Context, input *ModifyDBSubnetGroupInput, opts ...request.Option) (*ModifyDBSubnetGroupOutput, error) {
4824	req, out := c.ModifyDBSubnetGroupRequest(input)
4825	req.SetContext(ctx)
4826	req.ApplyOptions(opts...)
4827	return out, req.Send()
4828}
4829
4830const opModifyEventSubscription = "ModifyEventSubscription"
4831
4832// ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the
4833// client's request for the ModifyEventSubscription operation. The "output" return
4834// value will be populated with the request's response once the request completes
4835// successfully.
4836//
4837// Use "Send" method on the returned Request to send the API call to the service.
4838// the "output" return value is not valid until after Send returns without error.
4839//
4840// See ModifyEventSubscription for more information on using the ModifyEventSubscription
4841// API call, and error handling.
4842//
4843// This method is useful when you want to inject custom logic or configuration
4844// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4845//
4846//
4847//    // Example sending a request using the ModifyEventSubscriptionRequest method.
4848//    req, resp := client.ModifyEventSubscriptionRequest(params)
4849//
4850//    err := req.Send()
4851//    if err == nil { // resp is now filled
4852//        fmt.Println(resp)
4853//    }
4854//
4855// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyEventSubscription
4856func (c *Neptune) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) {
4857	op := &request.Operation{
4858		Name:       opModifyEventSubscription,
4859		HTTPMethod: "POST",
4860		HTTPPath:   "/",
4861	}
4862
4863	if input == nil {
4864		input = &ModifyEventSubscriptionInput{}
4865	}
4866
4867	output = &ModifyEventSubscriptionOutput{}
4868	req = c.newRequest(op, input, output)
4869	return
4870}
4871
4872// ModifyEventSubscription API operation for Amazon Neptune.
4873//
4874// Modifies an existing event notification subscription. Note that you can't
4875// modify the source identifiers using this call; to change source identifiers
4876// for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription
4877// calls.
4878//
4879// You can see a list of the event categories for a given SourceType by using
4880// the DescribeEventCategories action.
4881//
4882// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4883// with awserr.Error's Code and Message methods to get detailed information about
4884// the error.
4885//
4886// See the AWS API reference guide for Amazon Neptune's
4887// API operation ModifyEventSubscription for usage and error information.
4888//
4889// Returned Error Codes:
4890//   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
4891//   You have exceeded the number of events you can subscribe to.
4892//
4893//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
4894//   The designated subscription could not be found.
4895//
4896//   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
4897//   The SNS topic is invalid.
4898//
4899//   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
4900//   There is no SNS authorization.
4901//
4902//   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
4903//   The ARN of the SNS topic could not be found.
4904//
4905//   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
4906//   The designated subscription category could not be found.
4907//
4908// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyEventSubscription
4909func (c *Neptune) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) {
4910	req, out := c.ModifyEventSubscriptionRequest(input)
4911	return out, req.Send()
4912}
4913
4914// ModifyEventSubscriptionWithContext is the same as ModifyEventSubscription with the addition of
4915// the ability to pass a context and additional request options.
4916//
4917// See ModifyEventSubscription for details on how to use this API operation.
4918//
4919// The context must be non-nil and will be used for request cancellation. If
4920// the context is nil a panic will occur. In the future the SDK may create
4921// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4922// for more information on using Contexts.
4923func (c *Neptune) ModifyEventSubscriptionWithContext(ctx aws.Context, input *ModifyEventSubscriptionInput, opts ...request.Option) (*ModifyEventSubscriptionOutput, error) {
4924	req, out := c.ModifyEventSubscriptionRequest(input)
4925	req.SetContext(ctx)
4926	req.ApplyOptions(opts...)
4927	return out, req.Send()
4928}
4929
4930const opPromoteReadReplicaDBCluster = "PromoteReadReplicaDBCluster"
4931
4932// PromoteReadReplicaDBClusterRequest generates a "aws/request.Request" representing the
4933// client's request for the PromoteReadReplicaDBCluster operation. The "output" return
4934// value will be populated with the request's response once the request completes
4935// successfully.
4936//
4937// Use "Send" method on the returned Request to send the API call to the service.
4938// the "output" return value is not valid until after Send returns without error.
4939//
4940// See PromoteReadReplicaDBCluster for more information on using the PromoteReadReplicaDBCluster
4941// API call, and error handling.
4942//
4943// This method is useful when you want to inject custom logic or configuration
4944// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4945//
4946//
4947//    // Example sending a request using the PromoteReadReplicaDBClusterRequest method.
4948//    req, resp := client.PromoteReadReplicaDBClusterRequest(params)
4949//
4950//    err := req.Send()
4951//    if err == nil { // resp is now filled
4952//        fmt.Println(resp)
4953//    }
4954//
4955// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/PromoteReadReplicaDBCluster
4956func (c *Neptune) PromoteReadReplicaDBClusterRequest(input *PromoteReadReplicaDBClusterInput) (req *request.Request, output *PromoteReadReplicaDBClusterOutput) {
4957	op := &request.Operation{
4958		Name:       opPromoteReadReplicaDBCluster,
4959		HTTPMethod: "POST",
4960		HTTPPath:   "/",
4961	}
4962
4963	if input == nil {
4964		input = &PromoteReadReplicaDBClusterInput{}
4965	}
4966
4967	output = &PromoteReadReplicaDBClusterOutput{}
4968	req = c.newRequest(op, input, output)
4969	return
4970}
4971
4972// PromoteReadReplicaDBCluster API operation for Amazon Neptune.
4973//
4974// Not supported.
4975//
4976// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4977// with awserr.Error's Code and Message methods to get detailed information about
4978// the error.
4979//
4980// See the AWS API reference guide for Amazon Neptune's
4981// API operation PromoteReadReplicaDBCluster for usage and error information.
4982//
4983// Returned Error Codes:
4984//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4985//   DBClusterIdentifier does not refer to an existing DB cluster.
4986//
4987//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
4988//   The DB cluster is not in a valid state.
4989//
4990// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/PromoteReadReplicaDBCluster
4991func (c *Neptune) PromoteReadReplicaDBCluster(input *PromoteReadReplicaDBClusterInput) (*PromoteReadReplicaDBClusterOutput, error) {
4992	req, out := c.PromoteReadReplicaDBClusterRequest(input)
4993	return out, req.Send()
4994}
4995
4996// PromoteReadReplicaDBClusterWithContext is the same as PromoteReadReplicaDBCluster with the addition of
4997// the ability to pass a context and additional request options.
4998//
4999// See PromoteReadReplicaDBCluster for details on how to use this API operation.
5000//
5001// The context must be non-nil and will be used for request cancellation. If
5002// the context is nil a panic will occur. In the future the SDK may create
5003// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5004// for more information on using Contexts.
5005func (c *Neptune) PromoteReadReplicaDBClusterWithContext(ctx aws.Context, input *PromoteReadReplicaDBClusterInput, opts ...request.Option) (*PromoteReadReplicaDBClusterOutput, error) {
5006	req, out := c.PromoteReadReplicaDBClusterRequest(input)
5007	req.SetContext(ctx)
5008	req.ApplyOptions(opts...)
5009	return out, req.Send()
5010}
5011
5012const opRebootDBInstance = "RebootDBInstance"
5013
5014// RebootDBInstanceRequest generates a "aws/request.Request" representing the
5015// client's request for the RebootDBInstance operation. The "output" return
5016// value will be populated with the request's response once the request completes
5017// successfully.
5018//
5019// Use "Send" method on the returned Request to send the API call to the service.
5020// the "output" return value is not valid until after Send returns without error.
5021//
5022// See RebootDBInstance for more information on using the RebootDBInstance
5023// API call, and error handling.
5024//
5025// This method is useful when you want to inject custom logic or configuration
5026// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5027//
5028//
5029//    // Example sending a request using the RebootDBInstanceRequest method.
5030//    req, resp := client.RebootDBInstanceRequest(params)
5031//
5032//    err := req.Send()
5033//    if err == nil { // resp is now filled
5034//        fmt.Println(resp)
5035//    }
5036//
5037// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RebootDBInstance
5038func (c *Neptune) RebootDBInstanceRequest(input *RebootDBInstanceInput) (req *request.Request, output *RebootDBInstanceOutput) {
5039	op := &request.Operation{
5040		Name:       opRebootDBInstance,
5041		HTTPMethod: "POST",
5042		HTTPPath:   "/",
5043	}
5044
5045	if input == nil {
5046		input = &RebootDBInstanceInput{}
5047	}
5048
5049	output = &RebootDBInstanceOutput{}
5050	req = c.newRequest(op, input, output)
5051	return
5052}
5053
5054// RebootDBInstance API operation for Amazon Neptune.
5055//
5056// You might need to reboot your DB instance, usually for maintenance reasons.
5057// For example, if you make certain modifications, or if you change the DB parameter
5058// group associated with the DB instance, you must reboot the instance for the
5059// changes to take effect.
5060//
5061// Rebooting a DB instance restarts the database engine service. Rebooting a
5062// DB instance results in a momentary outage, during which the DB instance status
5063// is set to rebooting.
5064//
5065// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5066// with awserr.Error's Code and Message methods to get detailed information about
5067// the error.
5068//
5069// See the AWS API reference guide for Amazon Neptune's
5070// API operation RebootDBInstance for usage and error information.
5071//
5072// Returned Error Codes:
5073//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
5074//   The specified DB instance is not in the available state.
5075//
5076//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
5077//   DBInstanceIdentifier does not refer to an existing DB instance.
5078//
5079// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RebootDBInstance
5080func (c *Neptune) RebootDBInstance(input *RebootDBInstanceInput) (*RebootDBInstanceOutput, error) {
5081	req, out := c.RebootDBInstanceRequest(input)
5082	return out, req.Send()
5083}
5084
5085// RebootDBInstanceWithContext is the same as RebootDBInstance with the addition of
5086// the ability to pass a context and additional request options.
5087//
5088// See RebootDBInstance for details on how to use this API operation.
5089//
5090// The context must be non-nil and will be used for request cancellation. If
5091// the context is nil a panic will occur. In the future the SDK may create
5092// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5093// for more information on using Contexts.
5094func (c *Neptune) RebootDBInstanceWithContext(ctx aws.Context, input *RebootDBInstanceInput, opts ...request.Option) (*RebootDBInstanceOutput, error) {
5095	req, out := c.RebootDBInstanceRequest(input)
5096	req.SetContext(ctx)
5097	req.ApplyOptions(opts...)
5098	return out, req.Send()
5099}
5100
5101const opRemoveRoleFromDBCluster = "RemoveRoleFromDBCluster"
5102
5103// RemoveRoleFromDBClusterRequest generates a "aws/request.Request" representing the
5104// client's request for the RemoveRoleFromDBCluster operation. The "output" return
5105// value will be populated with the request's response once the request completes
5106// successfully.
5107//
5108// Use "Send" method on the returned Request to send the API call to the service.
5109// the "output" return value is not valid until after Send returns without error.
5110//
5111// See RemoveRoleFromDBCluster for more information on using the RemoveRoleFromDBCluster
5112// API call, and error handling.
5113//
5114// This method is useful when you want to inject custom logic or configuration
5115// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5116//
5117//
5118//    // Example sending a request using the RemoveRoleFromDBClusterRequest method.
5119//    req, resp := client.RemoveRoleFromDBClusterRequest(params)
5120//
5121//    err := req.Send()
5122//    if err == nil { // resp is now filled
5123//        fmt.Println(resp)
5124//    }
5125//
5126// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RemoveRoleFromDBCluster
5127func (c *Neptune) RemoveRoleFromDBClusterRequest(input *RemoveRoleFromDBClusterInput) (req *request.Request, output *RemoveRoleFromDBClusterOutput) {
5128	op := &request.Operation{
5129		Name:       opRemoveRoleFromDBCluster,
5130		HTTPMethod: "POST",
5131		HTTPPath:   "/",
5132	}
5133
5134	if input == nil {
5135		input = &RemoveRoleFromDBClusterInput{}
5136	}
5137
5138	output = &RemoveRoleFromDBClusterOutput{}
5139	req = c.newRequest(op, input, output)
5140	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5141	return
5142}
5143
5144// RemoveRoleFromDBCluster API operation for Amazon Neptune.
5145//
5146// Disassociates an Identity and Access Management (IAM) role from a DB cluster.
5147//
5148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5149// with awserr.Error's Code and Message methods to get detailed information about
5150// the error.
5151//
5152// See the AWS API reference guide for Amazon Neptune's
5153// API operation RemoveRoleFromDBCluster for usage and error information.
5154//
5155// Returned Error Codes:
5156//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
5157//   DBClusterIdentifier does not refer to an existing DB cluster.
5158//
5159//   * ErrCodeDBClusterRoleNotFoundFault "DBClusterRoleNotFound"
5160//   The specified IAM role Amazon Resource Name (ARN) is not associated with
5161//   the specified DB cluster.
5162//
5163//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
5164//   The DB cluster is not in a valid state.
5165//
5166// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RemoveRoleFromDBCluster
5167func (c *Neptune) RemoveRoleFromDBCluster(input *RemoveRoleFromDBClusterInput) (*RemoveRoleFromDBClusterOutput, error) {
5168	req, out := c.RemoveRoleFromDBClusterRequest(input)
5169	return out, req.Send()
5170}
5171
5172// RemoveRoleFromDBClusterWithContext is the same as RemoveRoleFromDBCluster with the addition of
5173// the ability to pass a context and additional request options.
5174//
5175// See RemoveRoleFromDBCluster for details on how to use this API operation.
5176//
5177// The context must be non-nil and will be used for request cancellation. If
5178// the context is nil a panic will occur. In the future the SDK may create
5179// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5180// for more information on using Contexts.
5181func (c *Neptune) RemoveRoleFromDBClusterWithContext(ctx aws.Context, input *RemoveRoleFromDBClusterInput, opts ...request.Option) (*RemoveRoleFromDBClusterOutput, error) {
5182	req, out := c.RemoveRoleFromDBClusterRequest(input)
5183	req.SetContext(ctx)
5184	req.ApplyOptions(opts...)
5185	return out, req.Send()
5186}
5187
5188const opRemoveSourceIdentifierFromSubscription = "RemoveSourceIdentifierFromSubscription"
5189
5190// RemoveSourceIdentifierFromSubscriptionRequest generates a "aws/request.Request" representing the
5191// client's request for the RemoveSourceIdentifierFromSubscription operation. The "output" return
5192// value will be populated with the request's response once the request completes
5193// successfully.
5194//
5195// Use "Send" method on the returned Request to send the API call to the service.
5196// the "output" return value is not valid until after Send returns without error.
5197//
5198// See RemoveSourceIdentifierFromSubscription for more information on using the RemoveSourceIdentifierFromSubscription
5199// API call, and error handling.
5200//
5201// This method is useful when you want to inject custom logic or configuration
5202// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5203//
5204//
5205//    // Example sending a request using the RemoveSourceIdentifierFromSubscriptionRequest method.
5206//    req, resp := client.RemoveSourceIdentifierFromSubscriptionRequest(params)
5207//
5208//    err := req.Send()
5209//    if err == nil { // resp is now filled
5210//        fmt.Println(resp)
5211//    }
5212//
5213// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RemoveSourceIdentifierFromSubscription
5214func (c *Neptune) RemoveSourceIdentifierFromSubscriptionRequest(input *RemoveSourceIdentifierFromSubscriptionInput) (req *request.Request, output *RemoveSourceIdentifierFromSubscriptionOutput) {
5215	op := &request.Operation{
5216		Name:       opRemoveSourceIdentifierFromSubscription,
5217		HTTPMethod: "POST",
5218		HTTPPath:   "/",
5219	}
5220
5221	if input == nil {
5222		input = &RemoveSourceIdentifierFromSubscriptionInput{}
5223	}
5224
5225	output = &RemoveSourceIdentifierFromSubscriptionOutput{}
5226	req = c.newRequest(op, input, output)
5227	return
5228}
5229
5230// RemoveSourceIdentifierFromSubscription API operation for Amazon Neptune.
5231//
5232// Removes a source identifier from an existing event notification subscription.
5233//
5234// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5235// with awserr.Error's Code and Message methods to get detailed information about
5236// the error.
5237//
5238// See the AWS API reference guide for Amazon Neptune's
5239// API operation RemoveSourceIdentifierFromSubscription for usage and error information.
5240//
5241// Returned Error Codes:
5242//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
5243//   The designated subscription could not be found.
5244//
5245//   * ErrCodeSourceNotFoundFault "SourceNotFound"
5246//   The source could not be found.
5247//
5248// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RemoveSourceIdentifierFromSubscription
5249func (c *Neptune) RemoveSourceIdentifierFromSubscription(input *RemoveSourceIdentifierFromSubscriptionInput) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
5250	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
5251	return out, req.Send()
5252}
5253
5254// RemoveSourceIdentifierFromSubscriptionWithContext is the same as RemoveSourceIdentifierFromSubscription with the addition of
5255// the ability to pass a context and additional request options.
5256//
5257// See RemoveSourceIdentifierFromSubscription for details on how to use this API operation.
5258//
5259// The context must be non-nil and will be used for request cancellation. If
5260// the context is nil a panic will occur. In the future the SDK may create
5261// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5262// for more information on using Contexts.
5263func (c *Neptune) RemoveSourceIdentifierFromSubscriptionWithContext(ctx aws.Context, input *RemoveSourceIdentifierFromSubscriptionInput, opts ...request.Option) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
5264	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
5265	req.SetContext(ctx)
5266	req.ApplyOptions(opts...)
5267	return out, req.Send()
5268}
5269
5270const opRemoveTagsFromResource = "RemoveTagsFromResource"
5271
5272// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
5273// client's request for the RemoveTagsFromResource operation. The "output" return
5274// value will be populated with the request's response once the request completes
5275// successfully.
5276//
5277// Use "Send" method on the returned Request to send the API call to the service.
5278// the "output" return value is not valid until after Send returns without error.
5279//
5280// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
5281// API call, and error handling.
5282//
5283// This method is useful when you want to inject custom logic or configuration
5284// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5285//
5286//
5287//    // Example sending a request using the RemoveTagsFromResourceRequest method.
5288//    req, resp := client.RemoveTagsFromResourceRequest(params)
5289//
5290//    err := req.Send()
5291//    if err == nil { // resp is now filled
5292//        fmt.Println(resp)
5293//    }
5294//
5295// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RemoveTagsFromResource
5296func (c *Neptune) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
5297	op := &request.Operation{
5298		Name:       opRemoveTagsFromResource,
5299		HTTPMethod: "POST",
5300		HTTPPath:   "/",
5301	}
5302
5303	if input == nil {
5304		input = &RemoveTagsFromResourceInput{}
5305	}
5306
5307	output = &RemoveTagsFromResourceOutput{}
5308	req = c.newRequest(op, input, output)
5309	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5310	return
5311}
5312
5313// RemoveTagsFromResource API operation for Amazon Neptune.
5314//
5315// Removes metadata tags from an Amazon Neptune resource.
5316//
5317// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5318// with awserr.Error's Code and Message methods to get detailed information about
5319// the error.
5320//
5321// See the AWS API reference guide for Amazon Neptune's
5322// API operation RemoveTagsFromResource for usage and error information.
5323//
5324// Returned Error Codes:
5325//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
5326//   DBInstanceIdentifier does not refer to an existing DB instance.
5327//
5328//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
5329//   DBSnapshotIdentifier does not refer to an existing DB snapshot.
5330//
5331//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
5332//   DBClusterIdentifier does not refer to an existing DB cluster.
5333//
5334// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RemoveTagsFromResource
5335func (c *Neptune) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
5336	req, out := c.RemoveTagsFromResourceRequest(input)
5337	return out, req.Send()
5338}
5339
5340// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
5341// the ability to pass a context and additional request options.
5342//
5343// See RemoveTagsFromResource for details on how to use this API operation.
5344//
5345// The context must be non-nil and will be used for request cancellation. If
5346// the context is nil a panic will occur. In the future the SDK may create
5347// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5348// for more information on using Contexts.
5349func (c *Neptune) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
5350	req, out := c.RemoveTagsFromResourceRequest(input)
5351	req.SetContext(ctx)
5352	req.ApplyOptions(opts...)
5353	return out, req.Send()
5354}
5355
5356const opResetDBClusterParameterGroup = "ResetDBClusterParameterGroup"
5357
5358// ResetDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
5359// client's request for the ResetDBClusterParameterGroup operation. The "output" return
5360// value will be populated with the request's response once the request completes
5361// successfully.
5362//
5363// Use "Send" method on the returned Request to send the API call to the service.
5364// the "output" return value is not valid until after Send returns without error.
5365//
5366// See ResetDBClusterParameterGroup for more information on using the ResetDBClusterParameterGroup
5367// API call, and error handling.
5368//
5369// This method is useful when you want to inject custom logic or configuration
5370// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5371//
5372//
5373//    // Example sending a request using the ResetDBClusterParameterGroupRequest method.
5374//    req, resp := client.ResetDBClusterParameterGroupRequest(params)
5375//
5376//    err := req.Send()
5377//    if err == nil { // resp is now filled
5378//        fmt.Println(resp)
5379//    }
5380//
5381// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ResetDBClusterParameterGroup
5382func (c *Neptune) ResetDBClusterParameterGroupRequest(input *ResetDBClusterParameterGroupInput) (req *request.Request, output *ResetDBClusterParameterGroupOutput) {
5383	op := &request.Operation{
5384		Name:       opResetDBClusterParameterGroup,
5385		HTTPMethod: "POST",
5386		HTTPPath:   "/",
5387	}
5388
5389	if input == nil {
5390		input = &ResetDBClusterParameterGroupInput{}
5391	}
5392
5393	output = &ResetDBClusterParameterGroupOutput{}
5394	req = c.newRequest(op, input, output)
5395	return
5396}
5397
5398// ResetDBClusterParameterGroup API operation for Amazon Neptune.
5399//
5400// Modifies the parameters of a DB cluster parameter group to the default value.
5401// To reset specific parameters submit a list of the following: ParameterName
5402// and ApplyMethod. To reset the entire DB cluster parameter group, specify
5403// the DBClusterParameterGroupName and ResetAllParameters parameters.
5404//
5405// When resetting the entire group, dynamic parameters are updated immediately
5406// and static parameters are set to pending-reboot to take effect on the next
5407// DB instance restart or RebootDBInstance request. You must call RebootDBInstance
5408// for every DB instance in your DB cluster that you want the updated static
5409// parameter to apply to.
5410//
5411// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5412// with awserr.Error's Code and Message methods to get detailed information about
5413// the error.
5414//
5415// See the AWS API reference guide for Amazon Neptune's
5416// API operation ResetDBClusterParameterGroup for usage and error information.
5417//
5418// Returned Error Codes:
5419//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
5420//   The DB parameter group is in use or is in an invalid state. If you are attempting
5421//   to delete the parameter group, you cannot delete it when the parameter group
5422//   is in this state.
5423//
5424//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
5425//   DBParameterGroupName does not refer to an existing DB parameter group.
5426//
5427// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ResetDBClusterParameterGroup
5428func (c *Neptune) ResetDBClusterParameterGroup(input *ResetDBClusterParameterGroupInput) (*ResetDBClusterParameterGroupOutput, error) {
5429	req, out := c.ResetDBClusterParameterGroupRequest(input)
5430	return out, req.Send()
5431}
5432
5433// ResetDBClusterParameterGroupWithContext is the same as ResetDBClusterParameterGroup with the addition of
5434// the ability to pass a context and additional request options.
5435//
5436// See ResetDBClusterParameterGroup for details on how to use this API operation.
5437//
5438// The context must be non-nil and will be used for request cancellation. If
5439// the context is nil a panic will occur. In the future the SDK may create
5440// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5441// for more information on using Contexts.
5442func (c *Neptune) ResetDBClusterParameterGroupWithContext(ctx aws.Context, input *ResetDBClusterParameterGroupInput, opts ...request.Option) (*ResetDBClusterParameterGroupOutput, error) {
5443	req, out := c.ResetDBClusterParameterGroupRequest(input)
5444	req.SetContext(ctx)
5445	req.ApplyOptions(opts...)
5446	return out, req.Send()
5447}
5448
5449const opResetDBParameterGroup = "ResetDBParameterGroup"
5450
5451// ResetDBParameterGroupRequest generates a "aws/request.Request" representing the
5452// client's request for the ResetDBParameterGroup operation. The "output" return
5453// value will be populated with the request's response once the request completes
5454// successfully.
5455//
5456// Use "Send" method on the returned Request to send the API call to the service.
5457// the "output" return value is not valid until after Send returns without error.
5458//
5459// See ResetDBParameterGroup for more information on using the ResetDBParameterGroup
5460// API call, and error handling.
5461//
5462// This method is useful when you want to inject custom logic or configuration
5463// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5464//
5465//
5466//    // Example sending a request using the ResetDBParameterGroupRequest method.
5467//    req, resp := client.ResetDBParameterGroupRequest(params)
5468//
5469//    err := req.Send()
5470//    if err == nil { // resp is now filled
5471//        fmt.Println(resp)
5472//    }
5473//
5474// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ResetDBParameterGroup
5475func (c *Neptune) ResetDBParameterGroupRequest(input *ResetDBParameterGroupInput) (req *request.Request, output *ResetDBParameterGroupOutput) {
5476	op := &request.Operation{
5477		Name:       opResetDBParameterGroup,
5478		HTTPMethod: "POST",
5479		HTTPPath:   "/",
5480	}
5481
5482	if input == nil {
5483		input = &ResetDBParameterGroupInput{}
5484	}
5485
5486	output = &ResetDBParameterGroupOutput{}
5487	req = c.newRequest(op, input, output)
5488	return
5489}
5490
5491// ResetDBParameterGroup API operation for Amazon Neptune.
5492//
5493// Modifies the parameters of a DB parameter group to the engine/system default
5494// value. To reset specific parameters, provide a list of the following: ParameterName
5495// and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup
5496// name and ResetAllParameters parameters. When resetting the entire group,
5497// dynamic parameters are updated immediately and static parameters are set
5498// to pending-reboot to take effect on the next DB instance restart or RebootDBInstance
5499// request.
5500//
5501// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5502// with awserr.Error's Code and Message methods to get detailed information about
5503// the error.
5504//
5505// See the AWS API reference guide for Amazon Neptune's
5506// API operation ResetDBParameterGroup for usage and error information.
5507//
5508// Returned Error Codes:
5509//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
5510//   The DB parameter group is in use or is in an invalid state. If you are attempting
5511//   to delete the parameter group, you cannot delete it when the parameter group
5512//   is in this state.
5513//
5514//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
5515//   DBParameterGroupName does not refer to an existing DB parameter group.
5516//
5517// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ResetDBParameterGroup
5518func (c *Neptune) ResetDBParameterGroup(input *ResetDBParameterGroupInput) (*ResetDBParameterGroupOutput, error) {
5519	req, out := c.ResetDBParameterGroupRequest(input)
5520	return out, req.Send()
5521}
5522
5523// ResetDBParameterGroupWithContext is the same as ResetDBParameterGroup with the addition of
5524// the ability to pass a context and additional request options.
5525//
5526// See ResetDBParameterGroup for details on how to use this API operation.
5527//
5528// The context must be non-nil and will be used for request cancellation. If
5529// the context is nil a panic will occur. In the future the SDK may create
5530// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5531// for more information on using Contexts.
5532func (c *Neptune) ResetDBParameterGroupWithContext(ctx aws.Context, input *ResetDBParameterGroupInput, opts ...request.Option) (*ResetDBParameterGroupOutput, error) {
5533	req, out := c.ResetDBParameterGroupRequest(input)
5534	req.SetContext(ctx)
5535	req.ApplyOptions(opts...)
5536	return out, req.Send()
5537}
5538
5539const opRestoreDBClusterFromSnapshot = "RestoreDBClusterFromSnapshot"
5540
5541// RestoreDBClusterFromSnapshotRequest generates a "aws/request.Request" representing the
5542// client's request for the RestoreDBClusterFromSnapshot operation. The "output" return
5543// value will be populated with the request's response once the request completes
5544// successfully.
5545//
5546// Use "Send" method on the returned Request to send the API call to the service.
5547// the "output" return value is not valid until after Send returns without error.
5548//
5549// See RestoreDBClusterFromSnapshot for more information on using the RestoreDBClusterFromSnapshot
5550// API call, and error handling.
5551//
5552// This method is useful when you want to inject custom logic or configuration
5553// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5554//
5555//
5556//    // Example sending a request using the RestoreDBClusterFromSnapshotRequest method.
5557//    req, resp := client.RestoreDBClusterFromSnapshotRequest(params)
5558//
5559//    err := req.Send()
5560//    if err == nil { // resp is now filled
5561//        fmt.Println(resp)
5562//    }
5563//
5564// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RestoreDBClusterFromSnapshot
5565func (c *Neptune) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSnapshotInput) (req *request.Request, output *RestoreDBClusterFromSnapshotOutput) {
5566	op := &request.Operation{
5567		Name:       opRestoreDBClusterFromSnapshot,
5568		HTTPMethod: "POST",
5569		HTTPPath:   "/",
5570	}
5571
5572	if input == nil {
5573		input = &RestoreDBClusterFromSnapshotInput{}
5574	}
5575
5576	output = &RestoreDBClusterFromSnapshotOutput{}
5577	req = c.newRequest(op, input, output)
5578	return
5579}
5580
5581// RestoreDBClusterFromSnapshot API operation for Amazon Neptune.
5582//
5583// Creates a new DB cluster from a DB snapshot or DB cluster snapshot.
5584//
5585// If a DB snapshot is specified, the target DB cluster is created from the
5586// source DB snapshot with a default configuration and default security group.
5587//
5588// If a DB cluster snapshot is specified, the target DB cluster is created from
5589// the source DB cluster restore point with the same configuration as the original
5590// source DB cluster, except that the new DB cluster is created with the default
5591// security group.
5592//
5593// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5594// with awserr.Error's Code and Message methods to get detailed information about
5595// the error.
5596//
5597// See the AWS API reference guide for Amazon Neptune's
5598// API operation RestoreDBClusterFromSnapshot for usage and error information.
5599//
5600// Returned Error Codes:
5601//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
5602//   User already has a DB cluster with the given identifier.
5603//
5604//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
5605//   User attempted to create a new DB cluster and the user has already reached
5606//   the maximum allowed DB cluster quota.
5607//
5608//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
5609//   Request would result in user exceeding the allowed amount of storage available
5610//   across all DB instances.
5611//
5612//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
5613//   DBSubnetGroupName does not refer to an existing DB subnet group.
5614//
5615//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
5616//   DBSnapshotIdentifier does not refer to an existing DB snapshot.
5617//
5618//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
5619//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
5620//
5621//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
5622//   The DB cluster does not have enough capacity for the current operation.
5623//
5624//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
5625//   There is insufficient storage available for the current action. You may be
5626//   able to resolve this error by updating your subnet group to use different
5627//   Availability Zones that have more storage available.
5628//
5629//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
5630//   The state of the DB snapshot does not allow deletion.
5631//
5632//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
5633//   The supplied value is not a valid DB cluster snapshot state.
5634//
5635//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
5636//   Request would result in user exceeding the allowed amount of storage available
5637//   across all DB instances.
5638//
5639//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
5640//   DB subnet group does not cover all Availability Zones after it is created
5641//   because users' change.
5642//
5643//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
5644//   Cannot restore from vpc backup to non-vpc DB instance.
5645//
5646//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
5647//   DBSubnetGroupName does not refer to an existing DB subnet group.
5648//
5649//   * ErrCodeInvalidSubnet "InvalidSubnet"
5650//   The requested subnet is invalid, or multiple subnets were requested that
5651//   are not all in a common VPC.
5652//
5653//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
5654//   The designated option group could not be found.
5655//
5656//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
5657//   Error accessing KMS key.
5658//
5659//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
5660//   DBClusterParameterGroupName does not refer to an existing DB Cluster parameter
5661//   group.
5662//
5663// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RestoreDBClusterFromSnapshot
5664func (c *Neptune) RestoreDBClusterFromSnapshot(input *RestoreDBClusterFromSnapshotInput) (*RestoreDBClusterFromSnapshotOutput, error) {
5665	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
5666	return out, req.Send()
5667}
5668
5669// RestoreDBClusterFromSnapshotWithContext is the same as RestoreDBClusterFromSnapshot with the addition of
5670// the ability to pass a context and additional request options.
5671//
5672// See RestoreDBClusterFromSnapshot for details on how to use this API operation.
5673//
5674// The context must be non-nil and will be used for request cancellation. If
5675// the context is nil a panic will occur. In the future the SDK may create
5676// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5677// for more information on using Contexts.
5678func (c *Neptune) RestoreDBClusterFromSnapshotWithContext(ctx aws.Context, input *RestoreDBClusterFromSnapshotInput, opts ...request.Option) (*RestoreDBClusterFromSnapshotOutput, error) {
5679	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
5680	req.SetContext(ctx)
5681	req.ApplyOptions(opts...)
5682	return out, req.Send()
5683}
5684
5685const opRestoreDBClusterToPointInTime = "RestoreDBClusterToPointInTime"
5686
5687// RestoreDBClusterToPointInTimeRequest generates a "aws/request.Request" representing the
5688// client's request for the RestoreDBClusterToPointInTime operation. The "output" return
5689// value will be populated with the request's response once the request completes
5690// successfully.
5691//
5692// Use "Send" method on the returned Request to send the API call to the service.
5693// the "output" return value is not valid until after Send returns without error.
5694//
5695// See RestoreDBClusterToPointInTime for more information on using the RestoreDBClusterToPointInTime
5696// API call, and error handling.
5697//
5698// This method is useful when you want to inject custom logic or configuration
5699// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5700//
5701//
5702//    // Example sending a request using the RestoreDBClusterToPointInTimeRequest method.
5703//    req, resp := client.RestoreDBClusterToPointInTimeRequest(params)
5704//
5705//    err := req.Send()
5706//    if err == nil { // resp is now filled
5707//        fmt.Println(resp)
5708//    }
5709//
5710// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RestoreDBClusterToPointInTime
5711func (c *Neptune) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPointInTimeInput) (req *request.Request, output *RestoreDBClusterToPointInTimeOutput) {
5712	op := &request.Operation{
5713		Name:       opRestoreDBClusterToPointInTime,
5714		HTTPMethod: "POST",
5715		HTTPPath:   "/",
5716	}
5717
5718	if input == nil {
5719		input = &RestoreDBClusterToPointInTimeInput{}
5720	}
5721
5722	output = &RestoreDBClusterToPointInTimeOutput{}
5723	req = c.newRequest(op, input, output)
5724	return
5725}
5726
5727// RestoreDBClusterToPointInTime API operation for Amazon Neptune.
5728//
5729// Restores a DB cluster to an arbitrary point in time. Users can restore to
5730// any point in time before LatestRestorableTime for up to BackupRetentionPeriod
5731// days. The target DB cluster is created from the source DB cluster with the
5732// same configuration as the original DB cluster, except that the new DB cluster
5733// is created with the default DB security group.
5734//
5735// This action only restores the DB cluster, not the DB instances for that DB
5736// cluster. You must invoke the CreateDBInstance action to create DB instances
5737// for the restored DB cluster, specifying the identifier of the restored DB
5738// cluster in DBClusterIdentifier. You can create DB instances only after the
5739// RestoreDBClusterToPointInTime action has completed and the DB cluster is
5740// available.
5741//
5742// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5743// with awserr.Error's Code and Message methods to get detailed information about
5744// the error.
5745//
5746// See the AWS API reference guide for Amazon Neptune's
5747// API operation RestoreDBClusterToPointInTime for usage and error information.
5748//
5749// Returned Error Codes:
5750//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
5751//   User already has a DB cluster with the given identifier.
5752//
5753//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
5754//   DBClusterIdentifier does not refer to an existing DB cluster.
5755//
5756//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
5757//   User attempted to create a new DB cluster and the user has already reached
5758//   the maximum allowed DB cluster quota.
5759//
5760//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
5761//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
5762//
5763//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
5764//   DBSubnetGroupName does not refer to an existing DB subnet group.
5765//
5766//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
5767//   The DB cluster does not have enough capacity for the current operation.
5768//
5769//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
5770//   There is insufficient storage available for the current action. You may be
5771//   able to resolve this error by updating your subnet group to use different
5772//   Availability Zones that have more storage available.
5773//
5774//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
5775//   The supplied value is not a valid DB cluster snapshot state.
5776//
5777//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
5778//   The DB cluster is not in a valid state.
5779//
5780//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
5781//   The state of the DB snapshot does not allow deletion.
5782//
5783//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
5784//   Cannot restore from vpc backup to non-vpc DB instance.
5785//
5786//   * ErrCodeInvalidSubnet "InvalidSubnet"
5787//   The requested subnet is invalid, or multiple subnets were requested that
5788//   are not all in a common VPC.
5789//
5790//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
5791//   DB subnet group does not cover all Availability Zones after it is created
5792//   because users' change.
5793//
5794//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
5795//   Error accessing KMS key.
5796//
5797//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
5798//   The designated option group could not be found.
5799//
5800//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
5801//   Request would result in user exceeding the allowed amount of storage available
5802//   across all DB instances.
5803//
5804//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
5805//   DBClusterParameterGroupName does not refer to an existing DB Cluster parameter
5806//   group.
5807//
5808// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RestoreDBClusterToPointInTime
5809func (c *Neptune) RestoreDBClusterToPointInTime(input *RestoreDBClusterToPointInTimeInput) (*RestoreDBClusterToPointInTimeOutput, error) {
5810	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
5811	return out, req.Send()
5812}
5813
5814// RestoreDBClusterToPointInTimeWithContext is the same as RestoreDBClusterToPointInTime with the addition of
5815// the ability to pass a context and additional request options.
5816//
5817// See RestoreDBClusterToPointInTime for details on how to use this API operation.
5818//
5819// The context must be non-nil and will be used for request cancellation. If
5820// the context is nil a panic will occur. In the future the SDK may create
5821// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5822// for more information on using Contexts.
5823func (c *Neptune) RestoreDBClusterToPointInTimeWithContext(ctx aws.Context, input *RestoreDBClusterToPointInTimeInput, opts ...request.Option) (*RestoreDBClusterToPointInTimeOutput, error) {
5824	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
5825	req.SetContext(ctx)
5826	req.ApplyOptions(opts...)
5827	return out, req.Send()
5828}
5829
5830const opStartDBCluster = "StartDBCluster"
5831
5832// StartDBClusterRequest generates a "aws/request.Request" representing the
5833// client's request for the StartDBCluster operation. The "output" return
5834// value will be populated with the request's response once the request completes
5835// successfully.
5836//
5837// Use "Send" method on the returned Request to send the API call to the service.
5838// the "output" return value is not valid until after Send returns without error.
5839//
5840// See StartDBCluster for more information on using the StartDBCluster
5841// API call, and error handling.
5842//
5843// This method is useful when you want to inject custom logic or configuration
5844// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5845//
5846//
5847//    // Example sending a request using the StartDBClusterRequest method.
5848//    req, resp := client.StartDBClusterRequest(params)
5849//
5850//    err := req.Send()
5851//    if err == nil { // resp is now filled
5852//        fmt.Println(resp)
5853//    }
5854//
5855// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/StartDBCluster
5856func (c *Neptune) StartDBClusterRequest(input *StartDBClusterInput) (req *request.Request, output *StartDBClusterOutput) {
5857	op := &request.Operation{
5858		Name:       opStartDBCluster,
5859		HTTPMethod: "POST",
5860		HTTPPath:   "/",
5861	}
5862
5863	if input == nil {
5864		input = &StartDBClusterInput{}
5865	}
5866
5867	output = &StartDBClusterOutput{}
5868	req = c.newRequest(op, input, output)
5869	return
5870}
5871
5872// StartDBCluster API operation for Amazon Neptune.
5873//
5874// Starts an Amazon Neptune DB cluster that was stopped using the AWS console,
5875// the AWS CLI stop-db-cluster command, or the StopDBCluster API.
5876//
5877// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5878// with awserr.Error's Code and Message methods to get detailed information about
5879// the error.
5880//
5881// See the AWS API reference guide for Amazon Neptune's
5882// API operation StartDBCluster for usage and error information.
5883//
5884// Returned Error Codes:
5885//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
5886//   DBClusterIdentifier does not refer to an existing DB cluster.
5887//
5888//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
5889//   The DB cluster is not in a valid state.
5890//
5891//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
5892//   The specified DB instance is not in the available state.
5893//
5894// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/StartDBCluster
5895func (c *Neptune) StartDBCluster(input *StartDBClusterInput) (*StartDBClusterOutput, error) {
5896	req, out := c.StartDBClusterRequest(input)
5897	return out, req.Send()
5898}
5899
5900// StartDBClusterWithContext is the same as StartDBCluster with the addition of
5901// the ability to pass a context and additional request options.
5902//
5903// See StartDBCluster for details on how to use this API operation.
5904//
5905// The context must be non-nil and will be used for request cancellation. If
5906// the context is nil a panic will occur. In the future the SDK may create
5907// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5908// for more information on using Contexts.
5909func (c *Neptune) StartDBClusterWithContext(ctx aws.Context, input *StartDBClusterInput, opts ...request.Option) (*StartDBClusterOutput, error) {
5910	req, out := c.StartDBClusterRequest(input)
5911	req.SetContext(ctx)
5912	req.ApplyOptions(opts...)
5913	return out, req.Send()
5914}
5915
5916const opStopDBCluster = "StopDBCluster"
5917
5918// StopDBClusterRequest generates a "aws/request.Request" representing the
5919// client's request for the StopDBCluster operation. The "output" return
5920// value will be populated with the request's response once the request completes
5921// successfully.
5922//
5923// Use "Send" method on the returned Request to send the API call to the service.
5924// the "output" return value is not valid until after Send returns without error.
5925//
5926// See StopDBCluster for more information on using the StopDBCluster
5927// API call, and error handling.
5928//
5929// This method is useful when you want to inject custom logic or configuration
5930// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5931//
5932//
5933//    // Example sending a request using the StopDBClusterRequest method.
5934//    req, resp := client.StopDBClusterRequest(params)
5935//
5936//    err := req.Send()
5937//    if err == nil { // resp is now filled
5938//        fmt.Println(resp)
5939//    }
5940//
5941// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/StopDBCluster
5942func (c *Neptune) StopDBClusterRequest(input *StopDBClusterInput) (req *request.Request, output *StopDBClusterOutput) {
5943	op := &request.Operation{
5944		Name:       opStopDBCluster,
5945		HTTPMethod: "POST",
5946		HTTPPath:   "/",
5947	}
5948
5949	if input == nil {
5950		input = &StopDBClusterInput{}
5951	}
5952
5953	output = &StopDBClusterOutput{}
5954	req = c.newRequest(op, input, output)
5955	return
5956}
5957
5958// StopDBCluster API operation for Amazon Neptune.
5959//
5960// Stops an Amazon Neptune DB cluster. When you stop a DB cluster, Neptune retains
5961// the DB cluster's metadata, including its endpoints and DB parameter groups.
5962//
5963// Neptune also retains the transaction logs so you can do a point-in-time restore
5964// if necessary.
5965//
5966// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5967// with awserr.Error's Code and Message methods to get detailed information about
5968// the error.
5969//
5970// See the AWS API reference guide for Amazon Neptune's
5971// API operation StopDBCluster for usage and error information.
5972//
5973// Returned Error Codes:
5974//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
5975//   DBClusterIdentifier does not refer to an existing DB cluster.
5976//
5977//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
5978//   The DB cluster is not in a valid state.
5979//
5980//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
5981//   The specified DB instance is not in the available state.
5982//
5983// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/StopDBCluster
5984func (c *Neptune) StopDBCluster(input *StopDBClusterInput) (*StopDBClusterOutput, error) {
5985	req, out := c.StopDBClusterRequest(input)
5986	return out, req.Send()
5987}
5988
5989// StopDBClusterWithContext is the same as StopDBCluster with the addition of
5990// the ability to pass a context and additional request options.
5991//
5992// See StopDBCluster for details on how to use this API operation.
5993//
5994// The context must be non-nil and will be used for request cancellation. If
5995// the context is nil a panic will occur. In the future the SDK may create
5996// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5997// for more information on using Contexts.
5998func (c *Neptune) StopDBClusterWithContext(ctx aws.Context, input *StopDBClusterInput, opts ...request.Option) (*StopDBClusterOutput, error) {
5999	req, out := c.StopDBClusterRequest(input)
6000	req.SetContext(ctx)
6001	req.ApplyOptions(opts...)
6002	return out, req.Send()
6003}
6004
6005type AddRoleToDBClusterInput struct {
6006	_ struct{} `type:"structure"`
6007
6008	// The name of the DB cluster to associate the IAM role with.
6009	//
6010	// DBClusterIdentifier is a required field
6011	DBClusterIdentifier *string `type:"string" required:"true"`
6012
6013	// The Amazon Resource Name (ARN) of the IAM role to associate with the Neptune
6014	// DB cluster, for example arn:aws:iam::123456789012:role/NeptuneAccessRole.
6015	//
6016	// RoleArn is a required field
6017	RoleArn *string `type:"string" required:"true"`
6018}
6019
6020// String returns the string representation
6021func (s AddRoleToDBClusterInput) String() string {
6022	return awsutil.Prettify(s)
6023}
6024
6025// GoString returns the string representation
6026func (s AddRoleToDBClusterInput) GoString() string {
6027	return s.String()
6028}
6029
6030// Validate inspects the fields of the type to determine if they are valid.
6031func (s *AddRoleToDBClusterInput) Validate() error {
6032	invalidParams := request.ErrInvalidParams{Context: "AddRoleToDBClusterInput"}
6033	if s.DBClusterIdentifier == nil {
6034		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
6035	}
6036	if s.RoleArn == nil {
6037		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
6038	}
6039
6040	if invalidParams.Len() > 0 {
6041		return invalidParams
6042	}
6043	return nil
6044}
6045
6046// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
6047func (s *AddRoleToDBClusterInput) SetDBClusterIdentifier(v string) *AddRoleToDBClusterInput {
6048	s.DBClusterIdentifier = &v
6049	return s
6050}
6051
6052// SetRoleArn sets the RoleArn field's value.
6053func (s *AddRoleToDBClusterInput) SetRoleArn(v string) *AddRoleToDBClusterInput {
6054	s.RoleArn = &v
6055	return s
6056}
6057
6058type AddRoleToDBClusterOutput struct {
6059	_ struct{} `type:"structure"`
6060}
6061
6062// String returns the string representation
6063func (s AddRoleToDBClusterOutput) String() string {
6064	return awsutil.Prettify(s)
6065}
6066
6067// GoString returns the string representation
6068func (s AddRoleToDBClusterOutput) GoString() string {
6069	return s.String()
6070}
6071
6072type AddSourceIdentifierToSubscriptionInput struct {
6073	_ struct{} `type:"structure"`
6074
6075	// The identifier of the event source to be added.
6076	//
6077	// Constraints:
6078	//
6079	//    * If the source type is a DB instance, then a DBInstanceIdentifier must
6080	//    be supplied.
6081	//
6082	//    * If the source type is a DB security group, a DBSecurityGroupName must
6083	//    be supplied.
6084	//
6085	//    * If the source type is a DB parameter group, a DBParameterGroupName must
6086	//    be supplied.
6087	//
6088	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier must be
6089	//    supplied.
6090	//
6091	// SourceIdentifier is a required field
6092	SourceIdentifier *string `type:"string" required:"true"`
6093
6094	// The name of the event notification subscription you want to add a source
6095	// identifier to.
6096	//
6097	// SubscriptionName is a required field
6098	SubscriptionName *string `type:"string" required:"true"`
6099}
6100
6101// String returns the string representation
6102func (s AddSourceIdentifierToSubscriptionInput) String() string {
6103	return awsutil.Prettify(s)
6104}
6105
6106// GoString returns the string representation
6107func (s AddSourceIdentifierToSubscriptionInput) GoString() string {
6108	return s.String()
6109}
6110
6111// Validate inspects the fields of the type to determine if they are valid.
6112func (s *AddSourceIdentifierToSubscriptionInput) Validate() error {
6113	invalidParams := request.ErrInvalidParams{Context: "AddSourceIdentifierToSubscriptionInput"}
6114	if s.SourceIdentifier == nil {
6115		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
6116	}
6117	if s.SubscriptionName == nil {
6118		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
6119	}
6120
6121	if invalidParams.Len() > 0 {
6122		return invalidParams
6123	}
6124	return nil
6125}
6126
6127// SetSourceIdentifier sets the SourceIdentifier field's value.
6128func (s *AddSourceIdentifierToSubscriptionInput) SetSourceIdentifier(v string) *AddSourceIdentifierToSubscriptionInput {
6129	s.SourceIdentifier = &v
6130	return s
6131}
6132
6133// SetSubscriptionName sets the SubscriptionName field's value.
6134func (s *AddSourceIdentifierToSubscriptionInput) SetSubscriptionName(v string) *AddSourceIdentifierToSubscriptionInput {
6135	s.SubscriptionName = &v
6136	return s
6137}
6138
6139type AddSourceIdentifierToSubscriptionOutput struct {
6140	_ struct{} `type:"structure"`
6141
6142	// Contains the results of a successful invocation of the DescribeEventSubscriptions
6143	// action.
6144	EventSubscription *EventSubscription `type:"structure"`
6145}
6146
6147// String returns the string representation
6148func (s AddSourceIdentifierToSubscriptionOutput) String() string {
6149	return awsutil.Prettify(s)
6150}
6151
6152// GoString returns the string representation
6153func (s AddSourceIdentifierToSubscriptionOutput) GoString() string {
6154	return s.String()
6155}
6156
6157// SetEventSubscription sets the EventSubscription field's value.
6158func (s *AddSourceIdentifierToSubscriptionOutput) SetEventSubscription(v *EventSubscription) *AddSourceIdentifierToSubscriptionOutput {
6159	s.EventSubscription = v
6160	return s
6161}
6162
6163type AddTagsToResourceInput struct {
6164	_ struct{} `type:"structure"`
6165
6166	// The Amazon Neptune resource that the tags are added to. This value is an
6167	// Amazon Resource Name (ARN). For information about creating an ARN, see Constructing
6168	// an Amazon Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
6169	//
6170	// ResourceName is a required field
6171	ResourceName *string `type:"string" required:"true"`
6172
6173	// The tags to be assigned to the Amazon Neptune resource.
6174	//
6175	// Tags is a required field
6176	Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
6177}
6178
6179// String returns the string representation
6180func (s AddTagsToResourceInput) String() string {
6181	return awsutil.Prettify(s)
6182}
6183
6184// GoString returns the string representation
6185func (s AddTagsToResourceInput) GoString() string {
6186	return s.String()
6187}
6188
6189// Validate inspects the fields of the type to determine if they are valid.
6190func (s *AddTagsToResourceInput) Validate() error {
6191	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
6192	if s.ResourceName == nil {
6193		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
6194	}
6195	if s.Tags == nil {
6196		invalidParams.Add(request.NewErrParamRequired("Tags"))
6197	}
6198
6199	if invalidParams.Len() > 0 {
6200		return invalidParams
6201	}
6202	return nil
6203}
6204
6205// SetResourceName sets the ResourceName field's value.
6206func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput {
6207	s.ResourceName = &v
6208	return s
6209}
6210
6211// SetTags sets the Tags field's value.
6212func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
6213	s.Tags = v
6214	return s
6215}
6216
6217type AddTagsToResourceOutput struct {
6218	_ struct{} `type:"structure"`
6219}
6220
6221// String returns the string representation
6222func (s AddTagsToResourceOutput) String() string {
6223	return awsutil.Prettify(s)
6224}
6225
6226// GoString returns the string representation
6227func (s AddTagsToResourceOutput) GoString() string {
6228	return s.String()
6229}
6230
6231type ApplyPendingMaintenanceActionInput struct {
6232	_ struct{} `type:"structure"`
6233
6234	// The pending maintenance action to apply to this resource.
6235	//
6236	// Valid values: system-update, db-upgrade
6237	//
6238	// ApplyAction is a required field
6239	ApplyAction *string `type:"string" required:"true"`
6240
6241	// A value that specifies the type of opt-in request, or undoes an opt-in request.
6242	// An opt-in request of type immediate can't be undone.
6243	//
6244	// Valid values:
6245	//
6246	//    * immediate - Apply the maintenance action immediately.
6247	//
6248	//    * next-maintenance - Apply the maintenance action during the next maintenance
6249	//    window for the resource.
6250	//
6251	//    * undo-opt-in - Cancel any existing next-maintenance opt-in requests.
6252	//
6253	// OptInType is a required field
6254	OptInType *string `type:"string" required:"true"`
6255
6256	// The Amazon Resource Name (ARN) of the resource that the pending maintenance
6257	// action applies to. For information about creating an ARN, see Constructing
6258	// an Amazon Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
6259	//
6260	// ResourceIdentifier is a required field
6261	ResourceIdentifier *string `type:"string" required:"true"`
6262}
6263
6264// String returns the string representation
6265func (s ApplyPendingMaintenanceActionInput) String() string {
6266	return awsutil.Prettify(s)
6267}
6268
6269// GoString returns the string representation
6270func (s ApplyPendingMaintenanceActionInput) GoString() string {
6271	return s.String()
6272}
6273
6274// Validate inspects the fields of the type to determine if they are valid.
6275func (s *ApplyPendingMaintenanceActionInput) Validate() error {
6276	invalidParams := request.ErrInvalidParams{Context: "ApplyPendingMaintenanceActionInput"}
6277	if s.ApplyAction == nil {
6278		invalidParams.Add(request.NewErrParamRequired("ApplyAction"))
6279	}
6280	if s.OptInType == nil {
6281		invalidParams.Add(request.NewErrParamRequired("OptInType"))
6282	}
6283	if s.ResourceIdentifier == nil {
6284		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
6285	}
6286
6287	if invalidParams.Len() > 0 {
6288		return invalidParams
6289	}
6290	return nil
6291}
6292
6293// SetApplyAction sets the ApplyAction field's value.
6294func (s *ApplyPendingMaintenanceActionInput) SetApplyAction(v string) *ApplyPendingMaintenanceActionInput {
6295	s.ApplyAction = &v
6296	return s
6297}
6298
6299// SetOptInType sets the OptInType field's value.
6300func (s *ApplyPendingMaintenanceActionInput) SetOptInType(v string) *ApplyPendingMaintenanceActionInput {
6301	s.OptInType = &v
6302	return s
6303}
6304
6305// SetResourceIdentifier sets the ResourceIdentifier field's value.
6306func (s *ApplyPendingMaintenanceActionInput) SetResourceIdentifier(v string) *ApplyPendingMaintenanceActionInput {
6307	s.ResourceIdentifier = &v
6308	return s
6309}
6310
6311type ApplyPendingMaintenanceActionOutput struct {
6312	_ struct{} `type:"structure"`
6313
6314	// Describes the pending maintenance actions for a resource.
6315	ResourcePendingMaintenanceActions *ResourcePendingMaintenanceActions `type:"structure"`
6316}
6317
6318// String returns the string representation
6319func (s ApplyPendingMaintenanceActionOutput) String() string {
6320	return awsutil.Prettify(s)
6321}
6322
6323// GoString returns the string representation
6324func (s ApplyPendingMaintenanceActionOutput) GoString() string {
6325	return s.String()
6326}
6327
6328// SetResourcePendingMaintenanceActions sets the ResourcePendingMaintenanceActions field's value.
6329func (s *ApplyPendingMaintenanceActionOutput) SetResourcePendingMaintenanceActions(v *ResourcePendingMaintenanceActions) *ApplyPendingMaintenanceActionOutput {
6330	s.ResourcePendingMaintenanceActions = v
6331	return s
6332}
6333
6334// Specifies an Availability Zone.
6335type AvailabilityZone struct {
6336	_ struct{} `type:"structure"`
6337
6338	// The name of the availability zone.
6339	Name *string `type:"string"`
6340}
6341
6342// String returns the string representation
6343func (s AvailabilityZone) String() string {
6344	return awsutil.Prettify(s)
6345}
6346
6347// GoString returns the string representation
6348func (s AvailabilityZone) GoString() string {
6349	return s.String()
6350}
6351
6352// SetName sets the Name field's value.
6353func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
6354	s.Name = &v
6355	return s
6356}
6357
6358// Specifies a character set.
6359type CharacterSet struct {
6360	_ struct{} `type:"structure"`
6361
6362	// The description of the character set.
6363	CharacterSetDescription *string `type:"string"`
6364
6365	// The name of the character set.
6366	CharacterSetName *string `type:"string"`
6367}
6368
6369// String returns the string representation
6370func (s CharacterSet) String() string {
6371	return awsutil.Prettify(s)
6372}
6373
6374// GoString returns the string representation
6375func (s CharacterSet) GoString() string {
6376	return s.String()
6377}
6378
6379// SetCharacterSetDescription sets the CharacterSetDescription field's value.
6380func (s *CharacterSet) SetCharacterSetDescription(v string) *CharacterSet {
6381	s.CharacterSetDescription = &v
6382	return s
6383}
6384
6385// SetCharacterSetName sets the CharacterSetName field's value.
6386func (s *CharacterSet) SetCharacterSetName(v string) *CharacterSet {
6387	s.CharacterSetName = &v
6388	return s
6389}
6390
6391// The configuration setting for the log types to be enabled for export to CloudWatch
6392// Logs for a specific DB instance or DB cluster.
6393//
6394// The EnableLogTypes and DisableLogTypes arrays determine which logs will be
6395// exported (or not exported) to CloudWatch Logs.
6396type CloudwatchLogsExportConfiguration struct {
6397	_ struct{} `type:"structure"`
6398
6399	// The list of log types to disable.
6400	DisableLogTypes []*string `type:"list"`
6401
6402	// The list of log types to enable.
6403	EnableLogTypes []*string `type:"list"`
6404}
6405
6406// String returns the string representation
6407func (s CloudwatchLogsExportConfiguration) String() string {
6408	return awsutil.Prettify(s)
6409}
6410
6411// GoString returns the string representation
6412func (s CloudwatchLogsExportConfiguration) GoString() string {
6413	return s.String()
6414}
6415
6416// SetDisableLogTypes sets the DisableLogTypes field's value.
6417func (s *CloudwatchLogsExportConfiguration) SetDisableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
6418	s.DisableLogTypes = v
6419	return s
6420}
6421
6422// SetEnableLogTypes sets the EnableLogTypes field's value.
6423func (s *CloudwatchLogsExportConfiguration) SetEnableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
6424	s.EnableLogTypes = v
6425	return s
6426}
6427
6428type CopyDBClusterParameterGroupInput struct {
6429	_ struct{} `type:"structure"`
6430
6431	// The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter
6432	// group. For information about creating an ARN, see Constructing an Amazon
6433	// Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
6434	//
6435	// Constraints:
6436	//
6437	//    * Must specify a valid DB cluster parameter group.
6438	//
6439	//    * If the source DB cluster parameter group is in the same AWS Region as
6440	//    the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group,
6441	//    or a valid ARN.
6442	//
6443	//    * If the source DB parameter group is in a different AWS Region than the
6444	//    copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.
6445	//
6446	// SourceDBClusterParameterGroupIdentifier is a required field
6447	SourceDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
6448
6449	// The tags to be assigned to the copied DB cluster parameter group.
6450	Tags []*Tag `locationNameList:"Tag" type:"list"`
6451
6452	// A description for the copied DB cluster parameter group.
6453	//
6454	// TargetDBClusterParameterGroupDescription is a required field
6455	TargetDBClusterParameterGroupDescription *string `type:"string" required:"true"`
6456
6457	// The identifier for the copied DB cluster parameter group.
6458	//
6459	// Constraints:
6460	//
6461	//    * Cannot be null, empty, or blank
6462	//
6463	//    * Must contain from 1 to 255 letters, numbers, or hyphens
6464	//
6465	//    * First character must be a letter
6466	//
6467	//    * Cannot end with a hyphen or contain two consecutive hyphens
6468	//
6469	// Example: my-cluster-param-group1
6470	//
6471	// TargetDBClusterParameterGroupIdentifier is a required field
6472	TargetDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
6473}
6474
6475// String returns the string representation
6476func (s CopyDBClusterParameterGroupInput) String() string {
6477	return awsutil.Prettify(s)
6478}
6479
6480// GoString returns the string representation
6481func (s CopyDBClusterParameterGroupInput) GoString() string {
6482	return s.String()
6483}
6484
6485// Validate inspects the fields of the type to determine if they are valid.
6486func (s *CopyDBClusterParameterGroupInput) Validate() error {
6487	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterParameterGroupInput"}
6488	if s.SourceDBClusterParameterGroupIdentifier == nil {
6489		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterParameterGroupIdentifier"))
6490	}
6491	if s.TargetDBClusterParameterGroupDescription == nil {
6492		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupDescription"))
6493	}
6494	if s.TargetDBClusterParameterGroupIdentifier == nil {
6495		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupIdentifier"))
6496	}
6497
6498	if invalidParams.Len() > 0 {
6499		return invalidParams
6500	}
6501	return nil
6502}
6503
6504// SetSourceDBClusterParameterGroupIdentifier sets the SourceDBClusterParameterGroupIdentifier field's value.
6505func (s *CopyDBClusterParameterGroupInput) SetSourceDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
6506	s.SourceDBClusterParameterGroupIdentifier = &v
6507	return s
6508}
6509
6510// SetTags sets the Tags field's value.
6511func (s *CopyDBClusterParameterGroupInput) SetTags(v []*Tag) *CopyDBClusterParameterGroupInput {
6512	s.Tags = v
6513	return s
6514}
6515
6516// SetTargetDBClusterParameterGroupDescription sets the TargetDBClusterParameterGroupDescription field's value.
6517func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupDescription(v string) *CopyDBClusterParameterGroupInput {
6518	s.TargetDBClusterParameterGroupDescription = &v
6519	return s
6520}
6521
6522// SetTargetDBClusterParameterGroupIdentifier sets the TargetDBClusterParameterGroupIdentifier field's value.
6523func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
6524	s.TargetDBClusterParameterGroupIdentifier = &v
6525	return s
6526}
6527
6528type CopyDBClusterParameterGroupOutput struct {
6529	_ struct{} `type:"structure"`
6530
6531	// Contains the details of an Amazon Neptune DB cluster parameter group.
6532	//
6533	// This data type is used as a response element in the DescribeDBClusterParameterGroups
6534	// action.
6535	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
6536}
6537
6538// String returns the string representation
6539func (s CopyDBClusterParameterGroupOutput) String() string {
6540	return awsutil.Prettify(s)
6541}
6542
6543// GoString returns the string representation
6544func (s CopyDBClusterParameterGroupOutput) GoString() string {
6545	return s.String()
6546}
6547
6548// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
6549func (s *CopyDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CopyDBClusterParameterGroupOutput {
6550	s.DBClusterParameterGroup = v
6551	return s
6552}
6553
6554type CopyDBClusterSnapshotInput struct {
6555	_ struct{} `type:"structure"`
6556
6557	// True to copy all tags from the source DB cluster snapshot to the target DB
6558	// cluster snapshot, and otherwise false. The default is false.
6559	CopyTags *bool `type:"boolean"`
6560
6561	// The AWS AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key
6562	// ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key
6563	// alias for the KMS encryption key.
6564	//
6565	// If you copy an encrypted DB cluster snapshot from your AWS account, you can
6566	// specify a value for KmsKeyId to encrypt the copy with a new KMS encryption
6567	// key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster
6568	// snapshot is encrypted with the same KMS key as the source DB cluster snapshot.
6569	//
6570	// If you copy an encrypted DB cluster snapshot that is shared from another
6571	// AWS account, then you must specify a value for KmsKeyId.
6572	//
6573	// KMS encryption keys are specific to the AWS Region that they are created
6574	// in, and you can't use encryption keys from one AWS Region in another AWS
6575	// Region.
6576	//
6577	// You cannot encrypt an unencrypted DB cluster snapshot when you copy it. If
6578	// you try to copy an unencrypted DB cluster snapshot and specify a value for
6579	// the KmsKeyId parameter, an error is returned.
6580	KmsKeyId *string `type:"string"`
6581
6582	// Not currently supported.
6583	PreSignedUrl *string `type:"string"`
6584
6585	// The identifier of the DB cluster snapshot to copy. This parameter is not
6586	// case-sensitive.
6587	//
6588	// You can't copy from one AWS Region to another.
6589	//
6590	// Constraints:
6591	//
6592	//    * Must specify a valid system snapshot in the "available" state.
6593	//
6594	//    * Specify a valid DB snapshot identifier.
6595	//
6596	// Example: my-cluster-snapshot1
6597	//
6598	// SourceDBClusterSnapshotIdentifier is a required field
6599	SourceDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
6600
6601	// The tags to assign to the new DB cluster snapshot copy.
6602	Tags []*Tag `locationNameList:"Tag" type:"list"`
6603
6604	// The identifier of the new DB cluster snapshot to create from the source DB
6605	// cluster snapshot. This parameter is not case-sensitive.
6606	//
6607	// Constraints:
6608	//
6609	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
6610	//
6611	//    * First character must be a letter.
6612	//
6613	//    * Cannot end with a hyphen or contain two consecutive hyphens.
6614	//
6615	// Example: my-cluster-snapshot2
6616	//
6617	// TargetDBClusterSnapshotIdentifier is a required field
6618	TargetDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
6619}
6620
6621// String returns the string representation
6622func (s CopyDBClusterSnapshotInput) String() string {
6623	return awsutil.Prettify(s)
6624}
6625
6626// GoString returns the string representation
6627func (s CopyDBClusterSnapshotInput) GoString() string {
6628	return s.String()
6629}
6630
6631// Validate inspects the fields of the type to determine if they are valid.
6632func (s *CopyDBClusterSnapshotInput) Validate() error {
6633	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterSnapshotInput"}
6634	if s.SourceDBClusterSnapshotIdentifier == nil {
6635		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterSnapshotIdentifier"))
6636	}
6637	if s.TargetDBClusterSnapshotIdentifier == nil {
6638		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterSnapshotIdentifier"))
6639	}
6640
6641	if invalidParams.Len() > 0 {
6642		return invalidParams
6643	}
6644	return nil
6645}
6646
6647// SetCopyTags sets the CopyTags field's value.
6648func (s *CopyDBClusterSnapshotInput) SetCopyTags(v bool) *CopyDBClusterSnapshotInput {
6649	s.CopyTags = &v
6650	return s
6651}
6652
6653// SetKmsKeyId sets the KmsKeyId field's value.
6654func (s *CopyDBClusterSnapshotInput) SetKmsKeyId(v string) *CopyDBClusterSnapshotInput {
6655	s.KmsKeyId = &v
6656	return s
6657}
6658
6659// SetPreSignedUrl sets the PreSignedUrl field's value.
6660func (s *CopyDBClusterSnapshotInput) SetPreSignedUrl(v string) *CopyDBClusterSnapshotInput {
6661	s.PreSignedUrl = &v
6662	return s
6663}
6664
6665// SetSourceDBClusterSnapshotIdentifier sets the SourceDBClusterSnapshotIdentifier field's value.
6666func (s *CopyDBClusterSnapshotInput) SetSourceDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
6667	s.SourceDBClusterSnapshotIdentifier = &v
6668	return s
6669}
6670
6671// SetTags sets the Tags field's value.
6672func (s *CopyDBClusterSnapshotInput) SetTags(v []*Tag) *CopyDBClusterSnapshotInput {
6673	s.Tags = v
6674	return s
6675}
6676
6677// SetTargetDBClusterSnapshotIdentifier sets the TargetDBClusterSnapshotIdentifier field's value.
6678func (s *CopyDBClusterSnapshotInput) SetTargetDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
6679	s.TargetDBClusterSnapshotIdentifier = &v
6680	return s
6681}
6682
6683type CopyDBClusterSnapshotOutput struct {
6684	_ struct{} `type:"structure"`
6685
6686	// Contains the details for an Amazon Neptune DB cluster snapshot
6687	//
6688	// This data type is used as a response element in the DescribeDBClusterSnapshots
6689	// action.
6690	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
6691}
6692
6693// String returns the string representation
6694func (s CopyDBClusterSnapshotOutput) String() string {
6695	return awsutil.Prettify(s)
6696}
6697
6698// GoString returns the string representation
6699func (s CopyDBClusterSnapshotOutput) GoString() string {
6700	return s.String()
6701}
6702
6703// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
6704func (s *CopyDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CopyDBClusterSnapshotOutput {
6705	s.DBClusterSnapshot = v
6706	return s
6707}
6708
6709type CopyDBParameterGroupInput struct {
6710	_ struct{} `type:"structure"`
6711
6712	// The identifier or ARN for the source DB parameter group. For information
6713	// 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).
6714	//
6715	// Constraints:
6716	//
6717	//    * Must specify a valid DB parameter group.
6718	//
6719	//    * Must specify a valid DB parameter group identifier, for example my-db-param-group,
6720	//    or a valid ARN.
6721	//
6722	// SourceDBParameterGroupIdentifier is a required field
6723	SourceDBParameterGroupIdentifier *string `type:"string" required:"true"`
6724
6725	// The tags to be assigned to the copied DB parameter group.
6726	Tags []*Tag `locationNameList:"Tag" type:"list"`
6727
6728	// A description for the copied DB parameter group.
6729	//
6730	// TargetDBParameterGroupDescription is a required field
6731	TargetDBParameterGroupDescription *string `type:"string" required:"true"`
6732
6733	// The identifier for the copied DB parameter group.
6734	//
6735	// Constraints:
6736	//
6737	//    * Cannot be null, empty, or blank.
6738	//
6739	//    * Must contain from 1 to 255 letters, numbers, or hyphens.
6740	//
6741	//    * First character must be a letter.
6742	//
6743	//    * Cannot end with a hyphen or contain two consecutive hyphens.
6744	//
6745	// Example: my-db-parameter-group
6746	//
6747	// TargetDBParameterGroupIdentifier is a required field
6748	TargetDBParameterGroupIdentifier *string `type:"string" required:"true"`
6749}
6750
6751// String returns the string representation
6752func (s CopyDBParameterGroupInput) String() string {
6753	return awsutil.Prettify(s)
6754}
6755
6756// GoString returns the string representation
6757func (s CopyDBParameterGroupInput) GoString() string {
6758	return s.String()
6759}
6760
6761// Validate inspects the fields of the type to determine if they are valid.
6762func (s *CopyDBParameterGroupInput) Validate() error {
6763	invalidParams := request.ErrInvalidParams{Context: "CopyDBParameterGroupInput"}
6764	if s.SourceDBParameterGroupIdentifier == nil {
6765		invalidParams.Add(request.NewErrParamRequired("SourceDBParameterGroupIdentifier"))
6766	}
6767	if s.TargetDBParameterGroupDescription == nil {
6768		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupDescription"))
6769	}
6770	if s.TargetDBParameterGroupIdentifier == nil {
6771		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupIdentifier"))
6772	}
6773
6774	if invalidParams.Len() > 0 {
6775		return invalidParams
6776	}
6777	return nil
6778}
6779
6780// SetSourceDBParameterGroupIdentifier sets the SourceDBParameterGroupIdentifier field's value.
6781func (s *CopyDBParameterGroupInput) SetSourceDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
6782	s.SourceDBParameterGroupIdentifier = &v
6783	return s
6784}
6785
6786// SetTags sets the Tags field's value.
6787func (s *CopyDBParameterGroupInput) SetTags(v []*Tag) *CopyDBParameterGroupInput {
6788	s.Tags = v
6789	return s
6790}
6791
6792// SetTargetDBParameterGroupDescription sets the TargetDBParameterGroupDescription field's value.
6793func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupDescription(v string) *CopyDBParameterGroupInput {
6794	s.TargetDBParameterGroupDescription = &v
6795	return s
6796}
6797
6798// SetTargetDBParameterGroupIdentifier sets the TargetDBParameterGroupIdentifier field's value.
6799func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
6800	s.TargetDBParameterGroupIdentifier = &v
6801	return s
6802}
6803
6804type CopyDBParameterGroupOutput struct {
6805	_ struct{} `type:"structure"`
6806
6807	// Contains the details of an Amazon Neptune DB parameter group.
6808	//
6809	// This data type is used as a response element in the DescribeDBParameterGroups
6810	// action.
6811	DBParameterGroup *DBParameterGroup `type:"structure"`
6812}
6813
6814// String returns the string representation
6815func (s CopyDBParameterGroupOutput) String() string {
6816	return awsutil.Prettify(s)
6817}
6818
6819// GoString returns the string representation
6820func (s CopyDBParameterGroupOutput) GoString() string {
6821	return s.String()
6822}
6823
6824// SetDBParameterGroup sets the DBParameterGroup field's value.
6825func (s *CopyDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CopyDBParameterGroupOutput {
6826	s.DBParameterGroup = v
6827	return s
6828}
6829
6830type CreateDBClusterInput struct {
6831	_ struct{} `type:"structure"`
6832
6833	// A list of EC2 Availability Zones that instances in the DB cluster can be
6834	// created in.
6835	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
6836
6837	// The number of days for which automated backups are retained. You must specify
6838	// a minimum value of 1.
6839	//
6840	// Default: 1
6841	//
6842	// Constraints:
6843	//
6844	//    * Must be a value from 1 to 35
6845	BackupRetentionPeriod *int64 `type:"integer"`
6846
6847	// (Not supported by Neptune)
6848	CharacterSetName *string `type:"string"`
6849
6850	// The DB cluster identifier. This parameter is stored as a lowercase string.
6851	//
6852	// Constraints:
6853	//
6854	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
6855	//
6856	//    * First character must be a letter.
6857	//
6858	//    * Cannot end with a hyphen or contain two consecutive hyphens.
6859	//
6860	// Example: my-cluster1
6861	//
6862	// DBClusterIdentifier is a required field
6863	DBClusterIdentifier *string `type:"string" required:"true"`
6864
6865	// The name of the DB cluster parameter group to associate with this DB cluster.
6866	// If this argument is omitted, the default is used.
6867	//
6868	// Constraints:
6869	//
6870	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
6871	DBClusterParameterGroupName *string `type:"string"`
6872
6873	// A DB subnet group to associate with this DB cluster.
6874	//
6875	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
6876	// default.
6877	//
6878	// Example: mySubnetgroup
6879	DBSubnetGroupName *string `type:"string"`
6880
6881	// The name for your database of up to 64 alpha-numeric characters. If you do
6882	// not provide a name, Amazon Neptune will not create a database in the DB cluster
6883	// you are creating.
6884	DatabaseName *string `type:"string"`
6885
6886	// A value that indicates whether the DB cluster has deletion protection enabled.
6887	// The database can't be deleted when deletion protection is enabled. By default,
6888	// deletion protection is enabled.
6889	DeletionProtection *bool `type:"boolean"`
6890
6891	// The list of log types that need to be enabled for exporting to CloudWatch
6892	// Logs.
6893	EnableCloudwatchLogsExports []*string `type:"list"`
6894
6895	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
6896	// to database accounts, and otherwise false.
6897	//
6898	// Default: false
6899	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
6900
6901	// The name of the database engine to be used for this DB cluster.
6902	//
6903	// Valid Values: neptune
6904	//
6905	// Engine is a required field
6906	Engine *string `type:"string" required:"true"`
6907
6908	// The version number of the database engine to use. Currently, setting this
6909	// parameter has no effect.
6910	//
6911	// Example: 1.0.1
6912	EngineVersion *string `type:"string"`
6913
6914	// The AWS KMS key identifier for an encrypted DB cluster.
6915	//
6916	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
6917	// key. If you are creating a DB cluster with the same AWS account that owns
6918	// the KMS encryption key used to encrypt the new DB cluster, then you can use
6919	// the KMS key alias instead of the ARN for the KMS encryption key.
6920	//
6921	// If an encryption key is not specified in KmsKeyId:
6922	//
6923	//    * If ReplicationSourceIdentifier identifies an encrypted source, then
6924	//    Amazon Neptune will use the encryption key used to encrypt the source.
6925	//    Otherwise, Amazon Neptune will use your default encryption key.
6926	//
6927	//    * If the StorageEncrypted parameter is true and ReplicationSourceIdentifier
6928	//    is not specified, then Amazon Neptune will use your default encryption
6929	//    key.
6930	//
6931	// AWS KMS creates the default encryption key for your AWS account. Your AWS
6932	// account has a different default encryption key for each AWS Region.
6933	//
6934	// If you create a Read Replica of an encrypted DB cluster in another AWS Region,
6935	// you must set KmsKeyId to a KMS key ID that is valid in the destination AWS
6936	// Region. This key is used to encrypt the Read Replica in that AWS Region.
6937	KmsKeyId *string `type:"string"`
6938
6939	// The password for the master database user. This password can contain any
6940	// printable ASCII character except "/", """, or "@".
6941	//
6942	// Constraints: Must contain from 8 to 41 characters.
6943	MasterUserPassword *string `type:"string"`
6944
6945	// The name of the master user for the DB cluster.
6946	//
6947	// Constraints:
6948	//
6949	//    * Must be 1 to 16 letters or numbers.
6950	//
6951	//    * First character must be a letter.
6952	//
6953	//    * Cannot be a reserved word for the chosen database engine.
6954	MasterUsername *string `type:"string"`
6955
6956	// (Not supported by Neptune)
6957	OptionGroupName *string `type:"string"`
6958
6959	// The port number on which the instances in the DB cluster accept connections.
6960	//
6961	// Default: 8182
6962	Port *int64 `type:"integer"`
6963
6964	// This parameter is not currently supported.
6965	PreSignedUrl *string `type:"string"`
6966
6967	// The daily time range during which automated backups are created if automated
6968	// backups are enabled using the BackupRetentionPeriod parameter.
6969	//
6970	// The default is a 30-minute window selected at random from an 8-hour block
6971	// of time for each AWS Region. To see the time blocks available, see Adjusting
6972	// the Preferred Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
6973	// in the Amazon Neptune User Guide.
6974	//
6975	// Constraints:
6976	//
6977	//    * Must be in the format hh24:mi-hh24:mi.
6978	//
6979	//    * Must be in Universal Coordinated Time (UTC).
6980	//
6981	//    * Must not conflict with the preferred maintenance window.
6982	//
6983	//    * Must be at least 30 minutes.
6984	PreferredBackupWindow *string `type:"string"`
6985
6986	// The weekly time range during which system maintenance can occur, in Universal
6987	// Coordinated Time (UTC).
6988	//
6989	// Format: ddd:hh24:mi-ddd:hh24:mi
6990	//
6991	// The default is a 30-minute window selected at random from an 8-hour block
6992	// of time for each AWS Region, occurring on a random day of the week. To see
6993	// the time blocks available, see Adjusting the Preferred Maintenance Window
6994	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
6995	// in the Amazon Neptune User Guide.
6996	//
6997	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
6998	//
6999	// Constraints: Minimum 30-minute window.
7000	PreferredMaintenanceWindow *string `type:"string"`
7001
7002	// The Amazon Resource Name (ARN) of the source DB instance or DB cluster if
7003	// this DB cluster is created as a Read Replica.
7004	ReplicationSourceIdentifier *string `type:"string"`
7005
7006	// Specifies whether the DB cluster is encrypted.
7007	StorageEncrypted *bool `type:"boolean"`
7008
7009	// The tags to assign to the new DB cluster.
7010	Tags []*Tag `locationNameList:"Tag" type:"list"`
7011
7012	// A list of EC2 VPC security groups to associate with this DB cluster.
7013	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
7014}
7015
7016// String returns the string representation
7017func (s CreateDBClusterInput) String() string {
7018	return awsutil.Prettify(s)
7019}
7020
7021// GoString returns the string representation
7022func (s CreateDBClusterInput) GoString() string {
7023	return s.String()
7024}
7025
7026// Validate inspects the fields of the type to determine if they are valid.
7027func (s *CreateDBClusterInput) Validate() error {
7028	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterInput"}
7029	if s.DBClusterIdentifier == nil {
7030		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
7031	}
7032	if s.Engine == nil {
7033		invalidParams.Add(request.NewErrParamRequired("Engine"))
7034	}
7035
7036	if invalidParams.Len() > 0 {
7037		return invalidParams
7038	}
7039	return nil
7040}
7041
7042// SetAvailabilityZones sets the AvailabilityZones field's value.
7043func (s *CreateDBClusterInput) SetAvailabilityZones(v []*string) *CreateDBClusterInput {
7044	s.AvailabilityZones = v
7045	return s
7046}
7047
7048// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
7049func (s *CreateDBClusterInput) SetBackupRetentionPeriod(v int64) *CreateDBClusterInput {
7050	s.BackupRetentionPeriod = &v
7051	return s
7052}
7053
7054// SetCharacterSetName sets the CharacterSetName field's value.
7055func (s *CreateDBClusterInput) SetCharacterSetName(v string) *CreateDBClusterInput {
7056	s.CharacterSetName = &v
7057	return s
7058}
7059
7060// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
7061func (s *CreateDBClusterInput) SetDBClusterIdentifier(v string) *CreateDBClusterInput {
7062	s.DBClusterIdentifier = &v
7063	return s
7064}
7065
7066// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
7067func (s *CreateDBClusterInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterInput {
7068	s.DBClusterParameterGroupName = &v
7069	return s
7070}
7071
7072// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
7073func (s *CreateDBClusterInput) SetDBSubnetGroupName(v string) *CreateDBClusterInput {
7074	s.DBSubnetGroupName = &v
7075	return s
7076}
7077
7078// SetDatabaseName sets the DatabaseName field's value.
7079func (s *CreateDBClusterInput) SetDatabaseName(v string) *CreateDBClusterInput {
7080	s.DatabaseName = &v
7081	return s
7082}
7083
7084// SetDeletionProtection sets the DeletionProtection field's value.
7085func (s *CreateDBClusterInput) SetDeletionProtection(v bool) *CreateDBClusterInput {
7086	s.DeletionProtection = &v
7087	return s
7088}
7089
7090// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
7091func (s *CreateDBClusterInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBClusterInput {
7092	s.EnableCloudwatchLogsExports = v
7093	return s
7094}
7095
7096// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
7097func (s *CreateDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBClusterInput {
7098	s.EnableIAMDatabaseAuthentication = &v
7099	return s
7100}
7101
7102// SetEngine sets the Engine field's value.
7103func (s *CreateDBClusterInput) SetEngine(v string) *CreateDBClusterInput {
7104	s.Engine = &v
7105	return s
7106}
7107
7108// SetEngineVersion sets the EngineVersion field's value.
7109func (s *CreateDBClusterInput) SetEngineVersion(v string) *CreateDBClusterInput {
7110	s.EngineVersion = &v
7111	return s
7112}
7113
7114// SetKmsKeyId sets the KmsKeyId field's value.
7115func (s *CreateDBClusterInput) SetKmsKeyId(v string) *CreateDBClusterInput {
7116	s.KmsKeyId = &v
7117	return s
7118}
7119
7120// SetMasterUserPassword sets the MasterUserPassword field's value.
7121func (s *CreateDBClusterInput) SetMasterUserPassword(v string) *CreateDBClusterInput {
7122	s.MasterUserPassword = &v
7123	return s
7124}
7125
7126// SetMasterUsername sets the MasterUsername field's value.
7127func (s *CreateDBClusterInput) SetMasterUsername(v string) *CreateDBClusterInput {
7128	s.MasterUsername = &v
7129	return s
7130}
7131
7132// SetOptionGroupName sets the OptionGroupName field's value.
7133func (s *CreateDBClusterInput) SetOptionGroupName(v string) *CreateDBClusterInput {
7134	s.OptionGroupName = &v
7135	return s
7136}
7137
7138// SetPort sets the Port field's value.
7139func (s *CreateDBClusterInput) SetPort(v int64) *CreateDBClusterInput {
7140	s.Port = &v
7141	return s
7142}
7143
7144// SetPreSignedUrl sets the PreSignedUrl field's value.
7145func (s *CreateDBClusterInput) SetPreSignedUrl(v string) *CreateDBClusterInput {
7146	s.PreSignedUrl = &v
7147	return s
7148}
7149
7150// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
7151func (s *CreateDBClusterInput) SetPreferredBackupWindow(v string) *CreateDBClusterInput {
7152	s.PreferredBackupWindow = &v
7153	return s
7154}
7155
7156// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
7157func (s *CreateDBClusterInput) SetPreferredMaintenanceWindow(v string) *CreateDBClusterInput {
7158	s.PreferredMaintenanceWindow = &v
7159	return s
7160}
7161
7162// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
7163func (s *CreateDBClusterInput) SetReplicationSourceIdentifier(v string) *CreateDBClusterInput {
7164	s.ReplicationSourceIdentifier = &v
7165	return s
7166}
7167
7168// SetStorageEncrypted sets the StorageEncrypted field's value.
7169func (s *CreateDBClusterInput) SetStorageEncrypted(v bool) *CreateDBClusterInput {
7170	s.StorageEncrypted = &v
7171	return s
7172}
7173
7174// SetTags sets the Tags field's value.
7175func (s *CreateDBClusterInput) SetTags(v []*Tag) *CreateDBClusterInput {
7176	s.Tags = v
7177	return s
7178}
7179
7180// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
7181func (s *CreateDBClusterInput) SetVpcSecurityGroupIds(v []*string) *CreateDBClusterInput {
7182	s.VpcSecurityGroupIds = v
7183	return s
7184}
7185
7186type CreateDBClusterOutput struct {
7187	_ struct{} `type:"structure"`
7188
7189	// Contains the details of an Amazon Neptune DB cluster.
7190	//
7191	// This data type is used as a response element in the DescribeDBClusters action.
7192	DBCluster *DBCluster `type:"structure"`
7193}
7194
7195// String returns the string representation
7196func (s CreateDBClusterOutput) String() string {
7197	return awsutil.Prettify(s)
7198}
7199
7200// GoString returns the string representation
7201func (s CreateDBClusterOutput) GoString() string {
7202	return s.String()
7203}
7204
7205// SetDBCluster sets the DBCluster field's value.
7206func (s *CreateDBClusterOutput) SetDBCluster(v *DBCluster) *CreateDBClusterOutput {
7207	s.DBCluster = v
7208	return s
7209}
7210
7211type CreateDBClusterParameterGroupInput struct {
7212	_ struct{} `type:"structure"`
7213
7214	// The name of the DB cluster parameter group.
7215	//
7216	// Constraints:
7217	//
7218	//    * Must match the name of an existing DBClusterParameterGroup.
7219	//
7220	// This value is stored as a lowercase string.
7221	//
7222	// DBClusterParameterGroupName is a required field
7223	DBClusterParameterGroupName *string `type:"string" required:"true"`
7224
7225	// The DB cluster parameter group family name. A DB cluster parameter group
7226	// can be associated with one and only one DB cluster parameter group family,
7227	// and can be applied only to a DB cluster running a database engine and engine
7228	// version compatible with that DB cluster parameter group family.
7229	//
7230	// DBParameterGroupFamily is a required field
7231	DBParameterGroupFamily *string `type:"string" required:"true"`
7232
7233	// The description for the DB cluster parameter group.
7234	//
7235	// Description is a required field
7236	Description *string `type:"string" required:"true"`
7237
7238	// The tags to be assigned to the new DB cluster parameter group.
7239	Tags []*Tag `locationNameList:"Tag" type:"list"`
7240}
7241
7242// String returns the string representation
7243func (s CreateDBClusterParameterGroupInput) String() string {
7244	return awsutil.Prettify(s)
7245}
7246
7247// GoString returns the string representation
7248func (s CreateDBClusterParameterGroupInput) GoString() string {
7249	return s.String()
7250}
7251
7252// Validate inspects the fields of the type to determine if they are valid.
7253func (s *CreateDBClusterParameterGroupInput) Validate() error {
7254	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterParameterGroupInput"}
7255	if s.DBClusterParameterGroupName == nil {
7256		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
7257	}
7258	if s.DBParameterGroupFamily == nil {
7259		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
7260	}
7261	if s.Description == nil {
7262		invalidParams.Add(request.NewErrParamRequired("Description"))
7263	}
7264
7265	if invalidParams.Len() > 0 {
7266		return invalidParams
7267	}
7268	return nil
7269}
7270
7271// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
7272func (s *CreateDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterParameterGroupInput {
7273	s.DBClusterParameterGroupName = &v
7274	return s
7275}
7276
7277// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
7278func (s *CreateDBClusterParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBClusterParameterGroupInput {
7279	s.DBParameterGroupFamily = &v
7280	return s
7281}
7282
7283// SetDescription sets the Description field's value.
7284func (s *CreateDBClusterParameterGroupInput) SetDescription(v string) *CreateDBClusterParameterGroupInput {
7285	s.Description = &v
7286	return s
7287}
7288
7289// SetTags sets the Tags field's value.
7290func (s *CreateDBClusterParameterGroupInput) SetTags(v []*Tag) *CreateDBClusterParameterGroupInput {
7291	s.Tags = v
7292	return s
7293}
7294
7295type CreateDBClusterParameterGroupOutput struct {
7296	_ struct{} `type:"structure"`
7297
7298	// Contains the details of an Amazon Neptune DB cluster parameter group.
7299	//
7300	// This data type is used as a response element in the DescribeDBClusterParameterGroups
7301	// action.
7302	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
7303}
7304
7305// String returns the string representation
7306func (s CreateDBClusterParameterGroupOutput) String() string {
7307	return awsutil.Prettify(s)
7308}
7309
7310// GoString returns the string representation
7311func (s CreateDBClusterParameterGroupOutput) GoString() string {
7312	return s.String()
7313}
7314
7315// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
7316func (s *CreateDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CreateDBClusterParameterGroupOutput {
7317	s.DBClusterParameterGroup = v
7318	return s
7319}
7320
7321type CreateDBClusterSnapshotInput struct {
7322	_ struct{} `type:"structure"`
7323
7324	// The identifier of the DB cluster to create a snapshot for. This parameter
7325	// is not case-sensitive.
7326	//
7327	// Constraints:
7328	//
7329	//    * Must match the identifier of an existing DBCluster.
7330	//
7331	// Example: my-cluster1
7332	//
7333	// DBClusterIdentifier is a required field
7334	DBClusterIdentifier *string `type:"string" required:"true"`
7335
7336	// The identifier of the DB cluster snapshot. This parameter is stored as a
7337	// lowercase string.
7338	//
7339	// Constraints:
7340	//
7341	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
7342	//
7343	//    * First character must be a letter.
7344	//
7345	//    * Cannot end with a hyphen or contain two consecutive hyphens.
7346	//
7347	// Example: my-cluster1-snapshot1
7348	//
7349	// DBClusterSnapshotIdentifier is a required field
7350	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
7351
7352	// The tags to be assigned to the DB cluster snapshot.
7353	Tags []*Tag `locationNameList:"Tag" type:"list"`
7354}
7355
7356// String returns the string representation
7357func (s CreateDBClusterSnapshotInput) String() string {
7358	return awsutil.Prettify(s)
7359}
7360
7361// GoString returns the string representation
7362func (s CreateDBClusterSnapshotInput) GoString() string {
7363	return s.String()
7364}
7365
7366// Validate inspects the fields of the type to determine if they are valid.
7367func (s *CreateDBClusterSnapshotInput) Validate() error {
7368	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterSnapshotInput"}
7369	if s.DBClusterIdentifier == nil {
7370		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
7371	}
7372	if s.DBClusterSnapshotIdentifier == nil {
7373		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
7374	}
7375
7376	if invalidParams.Len() > 0 {
7377		return invalidParams
7378	}
7379	return nil
7380}
7381
7382// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
7383func (s *CreateDBClusterSnapshotInput) SetDBClusterIdentifier(v string) *CreateDBClusterSnapshotInput {
7384	s.DBClusterIdentifier = &v
7385	return s
7386}
7387
7388// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
7389func (s *CreateDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *CreateDBClusterSnapshotInput {
7390	s.DBClusterSnapshotIdentifier = &v
7391	return s
7392}
7393
7394// SetTags sets the Tags field's value.
7395func (s *CreateDBClusterSnapshotInput) SetTags(v []*Tag) *CreateDBClusterSnapshotInput {
7396	s.Tags = v
7397	return s
7398}
7399
7400type CreateDBClusterSnapshotOutput struct {
7401	_ struct{} `type:"structure"`
7402
7403	// Contains the details for an Amazon Neptune DB cluster snapshot
7404	//
7405	// This data type is used as a response element in the DescribeDBClusterSnapshots
7406	// action.
7407	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
7408}
7409
7410// String returns the string representation
7411func (s CreateDBClusterSnapshotOutput) String() string {
7412	return awsutil.Prettify(s)
7413}
7414
7415// GoString returns the string representation
7416func (s CreateDBClusterSnapshotOutput) GoString() string {
7417	return s.String()
7418}
7419
7420// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
7421func (s *CreateDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CreateDBClusterSnapshotOutput {
7422	s.DBClusterSnapshot = v
7423	return s
7424}
7425
7426type CreateDBInstanceInput struct {
7427	_ struct{} `type:"structure"`
7428
7429	// The amount of storage (in gibibytes) to allocate for the DB instance.
7430	//
7431	// Type: Integer
7432	//
7433	// Not applicable. Neptune cluster volumes automatically grow as the amount
7434	// of data in your database increases, though you are only charged for the space
7435	// that you use in a Neptune cluster volume.
7436	AllocatedStorage *int64 `type:"integer"`
7437
7438	// Indicates that minor engine upgrades are applied automatically to the DB
7439	// instance during the maintenance window.
7440	//
7441	// Default: true
7442	AutoMinorVersionUpgrade *bool `type:"boolean"`
7443
7444	// The EC2 Availability Zone that the DB instance is created in
7445	//
7446	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
7447	// Region.
7448	//
7449	// Example: us-east-1d
7450	//
7451	// Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ
7452	// parameter is set to true. The specified Availability Zone must be in the
7453	// same AWS Region as the current endpoint.
7454	AvailabilityZone *string `type:"string"`
7455
7456	// The number of days for which automated backups are retained.
7457	//
7458	// Not applicable. The retention period for automated backups is managed by
7459	// the DB cluster. For more information, see CreateDBCluster.
7460	//
7461	// Default: 1
7462	//
7463	// Constraints:
7464	//
7465	//    * Must be a value from 0 to 35
7466	//
7467	//    * Cannot be set to 0 if the DB instance is a source to Read Replicas
7468	BackupRetentionPeriod *int64 `type:"integer"`
7469
7470	// (Not supported by Neptune)
7471	CharacterSetName *string `type:"string"`
7472
7473	// True to copy all tags from the DB instance to snapshots of the DB instance,
7474	// and otherwise false. The default is false.
7475	CopyTagsToSnapshot *bool `type:"boolean"`
7476
7477	// The identifier of the DB cluster that the instance will belong to.
7478	//
7479	// For information on creating a DB cluster, see CreateDBCluster.
7480	//
7481	// Type: String
7482	DBClusterIdentifier *string `type:"string"`
7483
7484	// The compute and memory capacity of the DB instance, for example, db.m4.large.
7485	// Not all DB instance classes are available in all AWS Regions.
7486	//
7487	// DBInstanceClass is a required field
7488	DBInstanceClass *string `type:"string" required:"true"`
7489
7490	// The DB instance identifier. This parameter is stored as a lowercase string.
7491	//
7492	// Constraints:
7493	//
7494	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
7495	//
7496	//    * First character must be a letter.
7497	//
7498	//    * Cannot end with a hyphen or contain two consecutive hyphens.
7499	//
7500	// Example: mydbinstance
7501	//
7502	// DBInstanceIdentifier is a required field
7503	DBInstanceIdentifier *string `type:"string" required:"true"`
7504
7505	// Not supported.
7506	DBName *string `type:"string"`
7507
7508	// The name of the DB parameter group to associate with this DB instance. If
7509	// this argument is omitted, the default DBParameterGroup for the specified
7510	// engine is used.
7511	//
7512	// Constraints:
7513	//
7514	//    * Must be 1 to 255 letters, numbers, or hyphens.
7515	//
7516	//    * First character must be a letter
7517	//
7518	//    * Cannot end with a hyphen or contain two consecutive hyphens
7519	DBParameterGroupName *string `type:"string"`
7520
7521	// A list of DB security groups to associate with this DB instance.
7522	//
7523	// Default: The default DB security group for the database engine.
7524	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
7525
7526	// A DB subnet group to associate with this DB instance.
7527	//
7528	// If there is no DB subnet group, then it is a non-VPC DB instance.
7529	DBSubnetGroupName *string `type:"string"`
7530
7531	// A value that indicates whether the DB instance has deletion protection enabled.
7532	// The database can't be deleted when deletion protection is enabled. By default,
7533	// deletion protection is disabled. See Deleting a DB Instance (https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html).
7534	//
7535	// DB instances in a DB cluster can be deleted even when deletion protection
7536	// is enabled in their parent DB cluster.
7537	DeletionProtection *bool `type:"boolean"`
7538
7539	// Specify the Active Directory Domain to create the instance in.
7540	Domain *string `type:"string"`
7541
7542	// Specify the name of the IAM role to be used when making API calls to the
7543	// Directory Service.
7544	DomainIAMRoleName *string `type:"string"`
7545
7546	// The list of log types that need to be enabled for exporting to CloudWatch
7547	// Logs.
7548	EnableCloudwatchLogsExports []*string `type:"list"`
7549
7550	// True to enable AWS Identity and Access Management (IAM) authentication for
7551	// Neptune.
7552	//
7553	// Default: false
7554	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
7555
7556	// (Not supported by Neptune)
7557	EnablePerformanceInsights *bool `type:"boolean"`
7558
7559	// The name of the database engine to be used for this instance.
7560	//
7561	// Valid Values: neptune
7562	//
7563	// Engine is a required field
7564	Engine *string `type:"string" required:"true"`
7565
7566	// The version number of the database engine to use. Currently, setting this
7567	// parameter has no effect.
7568	EngineVersion *string `type:"string"`
7569
7570	// The amount of Provisioned IOPS (input/output operations per second) to be
7571	// initially allocated for the DB instance.
7572	Iops *int64 `type:"integer"`
7573
7574	// The AWS KMS key identifier for an encrypted DB instance.
7575	//
7576	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
7577	// key. If you are creating a DB instance with the same AWS account that owns
7578	// the KMS encryption key used to encrypt the new DB instance, then you can
7579	// use the KMS key alias instead of the ARN for the KM encryption key.
7580	//
7581	// Not applicable. The KMS key identifier is managed by the DB cluster. For
7582	// more information, see CreateDBCluster.
7583	//
7584	// If the StorageEncrypted parameter is true, and you do not specify a value
7585	// for the KmsKeyId parameter, then Amazon Neptune will use your default encryption
7586	// key. AWS KMS creates the default encryption key for your AWS account. Your
7587	// AWS account has a different default encryption key for each AWS Region.
7588	KmsKeyId *string `type:"string"`
7589
7590	// License model information for this DB instance.
7591	//
7592	// Valid values: license-included | bring-your-own-license | general-public-license
7593	LicenseModel *string `type:"string"`
7594
7595	// The password for the master user. The password can include any printable
7596	// ASCII character except "/", """, or "@".
7597	//
7598	// Not used.
7599	MasterUserPassword *string `type:"string"`
7600
7601	// The name for the master user. Not used.
7602	MasterUsername *string `type:"string"`
7603
7604	// The interval, in seconds, between points when Enhanced Monitoring metrics
7605	// are collected for the DB instance. To disable collecting Enhanced Monitoring
7606	// metrics, specify 0. The default is 0.
7607	//
7608	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
7609	// to a value other than 0.
7610	//
7611	// Valid Values: 0, 1, 5, 10, 15, 30, 60
7612	MonitoringInterval *int64 `type:"integer"`
7613
7614	// The ARN for the IAM role that permits Neptune to send enhanced monitoring
7615	// metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
7616	//
7617	// If MonitoringInterval is set to a value other than 0, then you must supply
7618	// a MonitoringRoleArn value.
7619	MonitoringRoleArn *string `type:"string"`
7620
7621	// Specifies if the DB instance is a Multi-AZ deployment. You can't set the
7622	// AvailabilityZone parameter if the MultiAZ parameter is set to true.
7623	MultiAZ *bool `type:"boolean"`
7624
7625	// (Not supported by Neptune)
7626	OptionGroupName *string `type:"string"`
7627
7628	// (Not supported by Neptune)
7629	PerformanceInsightsKMSKeyId *string `type:"string"`
7630
7631	// The port number on which the database accepts connections.
7632	//
7633	// Not applicable. The port is managed by the DB cluster. For more information,
7634	// see CreateDBCluster.
7635	//
7636	// Default: 8182
7637	//
7638	// Type: Integer
7639	Port *int64 `type:"integer"`
7640
7641	// The daily time range during which automated backups are created.
7642	//
7643	// Not applicable. The daily time range for creating automated backups is managed
7644	// by the DB cluster. For more information, see CreateDBCluster.
7645	PreferredBackupWindow *string `type:"string"`
7646
7647	// The time range each week during which system maintenance can occur, in Universal
7648	// Coordinated Time (UTC).
7649	//
7650	// Format: ddd:hh24:mi-ddd:hh24:mi
7651	//
7652	// The default is a 30-minute window selected at random from an 8-hour block
7653	// of time for each AWS Region, occurring on a random day of the week.
7654	//
7655	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
7656	//
7657	// Constraints: Minimum 30-minute window.
7658	PreferredMaintenanceWindow *string `type:"string"`
7659
7660	// A value that specifies the order in which an Read Replica is promoted to
7661	// the primary instance after a failure of the existing primary instance.
7662	//
7663	// Default: 1
7664	//
7665	// Valid Values: 0 - 15
7666	PromotionTier *int64 `type:"integer"`
7667
7668	// This flag should no longer be used.
7669	//
7670	// Deprecated: PubliclyAccessible has been deprecated
7671	PubliclyAccessible *bool `deprecated:"true" type:"boolean"`
7672
7673	// Specifies whether the DB instance is encrypted.
7674	//
7675	// Not applicable. The encryption for DB instances is managed by the DB cluster.
7676	// For more information, see CreateDBCluster.
7677	//
7678	// Default: false
7679	StorageEncrypted *bool `type:"boolean"`
7680
7681	// Specifies the storage type to be associated with the DB instance.
7682	//
7683	// Not applicable. Storage is managed by the DB Cluster.
7684	StorageType *string `type:"string"`
7685
7686	// The tags to assign to the new instance.
7687	Tags []*Tag `locationNameList:"Tag" type:"list"`
7688
7689	// The ARN from the key store with which to associate the instance for TDE encryption.
7690	TdeCredentialArn *string `type:"string"`
7691
7692	// The password for the given ARN from the key store in order to access the
7693	// device.
7694	TdeCredentialPassword *string `type:"string"`
7695
7696	// The time zone of the DB instance.
7697	Timezone *string `type:"string"`
7698
7699	// A list of EC2 VPC security groups to associate with this DB instance.
7700	//
7701	// Not applicable. The associated list of EC2 VPC security groups is managed
7702	// by the DB cluster. For more information, see CreateDBCluster.
7703	//
7704	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
7705	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
7706}
7707
7708// String returns the string representation
7709func (s CreateDBInstanceInput) String() string {
7710	return awsutil.Prettify(s)
7711}
7712
7713// GoString returns the string representation
7714func (s CreateDBInstanceInput) GoString() string {
7715	return s.String()
7716}
7717
7718// Validate inspects the fields of the type to determine if they are valid.
7719func (s *CreateDBInstanceInput) Validate() error {
7720	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceInput"}
7721	if s.DBInstanceClass == nil {
7722		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
7723	}
7724	if s.DBInstanceIdentifier == nil {
7725		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
7726	}
7727	if s.Engine == nil {
7728		invalidParams.Add(request.NewErrParamRequired("Engine"))
7729	}
7730
7731	if invalidParams.Len() > 0 {
7732		return invalidParams
7733	}
7734	return nil
7735}
7736
7737// SetAllocatedStorage sets the AllocatedStorage field's value.
7738func (s *CreateDBInstanceInput) SetAllocatedStorage(v int64) *CreateDBInstanceInput {
7739	s.AllocatedStorage = &v
7740	return s
7741}
7742
7743// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
7744func (s *CreateDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceInput {
7745	s.AutoMinorVersionUpgrade = &v
7746	return s
7747}
7748
7749// SetAvailabilityZone sets the AvailabilityZone field's value.
7750func (s *CreateDBInstanceInput) SetAvailabilityZone(v string) *CreateDBInstanceInput {
7751	s.AvailabilityZone = &v
7752	return s
7753}
7754
7755// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
7756func (s *CreateDBInstanceInput) SetBackupRetentionPeriod(v int64) *CreateDBInstanceInput {
7757	s.BackupRetentionPeriod = &v
7758	return s
7759}
7760
7761// SetCharacterSetName sets the CharacterSetName field's value.
7762func (s *CreateDBInstanceInput) SetCharacterSetName(v string) *CreateDBInstanceInput {
7763	s.CharacterSetName = &v
7764	return s
7765}
7766
7767// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
7768func (s *CreateDBInstanceInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceInput {
7769	s.CopyTagsToSnapshot = &v
7770	return s
7771}
7772
7773// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
7774func (s *CreateDBInstanceInput) SetDBClusterIdentifier(v string) *CreateDBInstanceInput {
7775	s.DBClusterIdentifier = &v
7776	return s
7777}
7778
7779// SetDBInstanceClass sets the DBInstanceClass field's value.
7780func (s *CreateDBInstanceInput) SetDBInstanceClass(v string) *CreateDBInstanceInput {
7781	s.DBInstanceClass = &v
7782	return s
7783}
7784
7785// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
7786func (s *CreateDBInstanceInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceInput {
7787	s.DBInstanceIdentifier = &v
7788	return s
7789}
7790
7791// SetDBName sets the DBName field's value.
7792func (s *CreateDBInstanceInput) SetDBName(v string) *CreateDBInstanceInput {
7793	s.DBName = &v
7794	return s
7795}
7796
7797// SetDBParameterGroupName sets the DBParameterGroupName field's value.
7798func (s *CreateDBInstanceInput) SetDBParameterGroupName(v string) *CreateDBInstanceInput {
7799	s.DBParameterGroupName = &v
7800	return s
7801}
7802
7803// SetDBSecurityGroups sets the DBSecurityGroups field's value.
7804func (s *CreateDBInstanceInput) SetDBSecurityGroups(v []*string) *CreateDBInstanceInput {
7805	s.DBSecurityGroups = v
7806	return s
7807}
7808
7809// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
7810func (s *CreateDBInstanceInput) SetDBSubnetGroupName(v string) *CreateDBInstanceInput {
7811	s.DBSubnetGroupName = &v
7812	return s
7813}
7814
7815// SetDeletionProtection sets the DeletionProtection field's value.
7816func (s *CreateDBInstanceInput) SetDeletionProtection(v bool) *CreateDBInstanceInput {
7817	s.DeletionProtection = &v
7818	return s
7819}
7820
7821// SetDomain sets the Domain field's value.
7822func (s *CreateDBInstanceInput) SetDomain(v string) *CreateDBInstanceInput {
7823	s.Domain = &v
7824	return s
7825}
7826
7827// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
7828func (s *CreateDBInstanceInput) SetDomainIAMRoleName(v string) *CreateDBInstanceInput {
7829	s.DomainIAMRoleName = &v
7830	return s
7831}
7832
7833// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
7834func (s *CreateDBInstanceInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceInput {
7835	s.EnableCloudwatchLogsExports = v
7836	return s
7837}
7838
7839// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
7840func (s *CreateDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceInput {
7841	s.EnableIAMDatabaseAuthentication = &v
7842	return s
7843}
7844
7845// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
7846func (s *CreateDBInstanceInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceInput {
7847	s.EnablePerformanceInsights = &v
7848	return s
7849}
7850
7851// SetEngine sets the Engine field's value.
7852func (s *CreateDBInstanceInput) SetEngine(v string) *CreateDBInstanceInput {
7853	s.Engine = &v
7854	return s
7855}
7856
7857// SetEngineVersion sets the EngineVersion field's value.
7858func (s *CreateDBInstanceInput) SetEngineVersion(v string) *CreateDBInstanceInput {
7859	s.EngineVersion = &v
7860	return s
7861}
7862
7863// SetIops sets the Iops field's value.
7864func (s *CreateDBInstanceInput) SetIops(v int64) *CreateDBInstanceInput {
7865	s.Iops = &v
7866	return s
7867}
7868
7869// SetKmsKeyId sets the KmsKeyId field's value.
7870func (s *CreateDBInstanceInput) SetKmsKeyId(v string) *CreateDBInstanceInput {
7871	s.KmsKeyId = &v
7872	return s
7873}
7874
7875// SetLicenseModel sets the LicenseModel field's value.
7876func (s *CreateDBInstanceInput) SetLicenseModel(v string) *CreateDBInstanceInput {
7877	s.LicenseModel = &v
7878	return s
7879}
7880
7881// SetMasterUserPassword sets the MasterUserPassword field's value.
7882func (s *CreateDBInstanceInput) SetMasterUserPassword(v string) *CreateDBInstanceInput {
7883	s.MasterUserPassword = &v
7884	return s
7885}
7886
7887// SetMasterUsername sets the MasterUsername field's value.
7888func (s *CreateDBInstanceInput) SetMasterUsername(v string) *CreateDBInstanceInput {
7889	s.MasterUsername = &v
7890	return s
7891}
7892
7893// SetMonitoringInterval sets the MonitoringInterval field's value.
7894func (s *CreateDBInstanceInput) SetMonitoringInterval(v int64) *CreateDBInstanceInput {
7895	s.MonitoringInterval = &v
7896	return s
7897}
7898
7899// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
7900func (s *CreateDBInstanceInput) SetMonitoringRoleArn(v string) *CreateDBInstanceInput {
7901	s.MonitoringRoleArn = &v
7902	return s
7903}
7904
7905// SetMultiAZ sets the MultiAZ field's value.
7906func (s *CreateDBInstanceInput) SetMultiAZ(v bool) *CreateDBInstanceInput {
7907	s.MultiAZ = &v
7908	return s
7909}
7910
7911// SetOptionGroupName sets the OptionGroupName field's value.
7912func (s *CreateDBInstanceInput) SetOptionGroupName(v string) *CreateDBInstanceInput {
7913	s.OptionGroupName = &v
7914	return s
7915}
7916
7917// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
7918func (s *CreateDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceInput {
7919	s.PerformanceInsightsKMSKeyId = &v
7920	return s
7921}
7922
7923// SetPort sets the Port field's value.
7924func (s *CreateDBInstanceInput) SetPort(v int64) *CreateDBInstanceInput {
7925	s.Port = &v
7926	return s
7927}
7928
7929// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
7930func (s *CreateDBInstanceInput) SetPreferredBackupWindow(v string) *CreateDBInstanceInput {
7931	s.PreferredBackupWindow = &v
7932	return s
7933}
7934
7935// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
7936func (s *CreateDBInstanceInput) SetPreferredMaintenanceWindow(v string) *CreateDBInstanceInput {
7937	s.PreferredMaintenanceWindow = &v
7938	return s
7939}
7940
7941// SetPromotionTier sets the PromotionTier field's value.
7942func (s *CreateDBInstanceInput) SetPromotionTier(v int64) *CreateDBInstanceInput {
7943	s.PromotionTier = &v
7944	return s
7945}
7946
7947// SetPubliclyAccessible sets the PubliclyAccessible field's value.
7948func (s *CreateDBInstanceInput) SetPubliclyAccessible(v bool) *CreateDBInstanceInput {
7949	s.PubliclyAccessible = &v
7950	return s
7951}
7952
7953// SetStorageEncrypted sets the StorageEncrypted field's value.
7954func (s *CreateDBInstanceInput) SetStorageEncrypted(v bool) *CreateDBInstanceInput {
7955	s.StorageEncrypted = &v
7956	return s
7957}
7958
7959// SetStorageType sets the StorageType field's value.
7960func (s *CreateDBInstanceInput) SetStorageType(v string) *CreateDBInstanceInput {
7961	s.StorageType = &v
7962	return s
7963}
7964
7965// SetTags sets the Tags field's value.
7966func (s *CreateDBInstanceInput) SetTags(v []*Tag) *CreateDBInstanceInput {
7967	s.Tags = v
7968	return s
7969}
7970
7971// SetTdeCredentialArn sets the TdeCredentialArn field's value.
7972func (s *CreateDBInstanceInput) SetTdeCredentialArn(v string) *CreateDBInstanceInput {
7973	s.TdeCredentialArn = &v
7974	return s
7975}
7976
7977// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
7978func (s *CreateDBInstanceInput) SetTdeCredentialPassword(v string) *CreateDBInstanceInput {
7979	s.TdeCredentialPassword = &v
7980	return s
7981}
7982
7983// SetTimezone sets the Timezone field's value.
7984func (s *CreateDBInstanceInput) SetTimezone(v string) *CreateDBInstanceInput {
7985	s.Timezone = &v
7986	return s
7987}
7988
7989// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
7990func (s *CreateDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *CreateDBInstanceInput {
7991	s.VpcSecurityGroupIds = v
7992	return s
7993}
7994
7995type CreateDBInstanceOutput struct {
7996	_ struct{} `type:"structure"`
7997
7998	// Contains the details of an Amazon Neptune DB instance.
7999	//
8000	// This data type is used as a response element in the DescribeDBInstances action.
8001	DBInstance *DBInstance `type:"structure"`
8002}
8003
8004// String returns the string representation
8005func (s CreateDBInstanceOutput) String() string {
8006	return awsutil.Prettify(s)
8007}
8008
8009// GoString returns the string representation
8010func (s CreateDBInstanceOutput) GoString() string {
8011	return s.String()
8012}
8013
8014// SetDBInstance sets the DBInstance field's value.
8015func (s *CreateDBInstanceOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceOutput {
8016	s.DBInstance = v
8017	return s
8018}
8019
8020type CreateDBParameterGroupInput struct {
8021	_ struct{} `type:"structure"`
8022
8023	// The DB parameter group family name. A DB parameter group can be associated
8024	// with one and only one DB parameter group family, and can be applied only
8025	// to a DB instance running a database engine and engine version compatible
8026	// with that DB parameter group family.
8027	//
8028	// DBParameterGroupFamily is a required field
8029	DBParameterGroupFamily *string `type:"string" required:"true"`
8030
8031	// The name of the DB parameter group.
8032	//
8033	// Constraints:
8034	//
8035	//    * Must be 1 to 255 letters, numbers, or hyphens.
8036	//
8037	//    * First character must be a letter
8038	//
8039	//    * Cannot end with a hyphen or contain two consecutive hyphens
8040	//
8041	// This value is stored as a lowercase string.
8042	//
8043	// DBParameterGroupName is a required field
8044	DBParameterGroupName *string `type:"string" required:"true"`
8045
8046	// The description for the DB parameter group.
8047	//
8048	// Description is a required field
8049	Description *string `type:"string" required:"true"`
8050
8051	// The tags to be assigned to the new DB parameter group.
8052	Tags []*Tag `locationNameList:"Tag" type:"list"`
8053}
8054
8055// String returns the string representation
8056func (s CreateDBParameterGroupInput) String() string {
8057	return awsutil.Prettify(s)
8058}
8059
8060// GoString returns the string representation
8061func (s CreateDBParameterGroupInput) GoString() string {
8062	return s.String()
8063}
8064
8065// Validate inspects the fields of the type to determine if they are valid.
8066func (s *CreateDBParameterGroupInput) Validate() error {
8067	invalidParams := request.ErrInvalidParams{Context: "CreateDBParameterGroupInput"}
8068	if s.DBParameterGroupFamily == nil {
8069		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
8070	}
8071	if s.DBParameterGroupName == nil {
8072		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
8073	}
8074	if s.Description == nil {
8075		invalidParams.Add(request.NewErrParamRequired("Description"))
8076	}
8077
8078	if invalidParams.Len() > 0 {
8079		return invalidParams
8080	}
8081	return nil
8082}
8083
8084// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
8085func (s *CreateDBParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBParameterGroupInput {
8086	s.DBParameterGroupFamily = &v
8087	return s
8088}
8089
8090// SetDBParameterGroupName sets the DBParameterGroupName field's value.
8091func (s *CreateDBParameterGroupInput) SetDBParameterGroupName(v string) *CreateDBParameterGroupInput {
8092	s.DBParameterGroupName = &v
8093	return s
8094}
8095
8096// SetDescription sets the Description field's value.
8097func (s *CreateDBParameterGroupInput) SetDescription(v string) *CreateDBParameterGroupInput {
8098	s.Description = &v
8099	return s
8100}
8101
8102// SetTags sets the Tags field's value.
8103func (s *CreateDBParameterGroupInput) SetTags(v []*Tag) *CreateDBParameterGroupInput {
8104	s.Tags = v
8105	return s
8106}
8107
8108type CreateDBParameterGroupOutput struct {
8109	_ struct{} `type:"structure"`
8110
8111	// Contains the details of an Amazon Neptune DB parameter group.
8112	//
8113	// This data type is used as a response element in the DescribeDBParameterGroups
8114	// action.
8115	DBParameterGroup *DBParameterGroup `type:"structure"`
8116}
8117
8118// String returns the string representation
8119func (s CreateDBParameterGroupOutput) String() string {
8120	return awsutil.Prettify(s)
8121}
8122
8123// GoString returns the string representation
8124func (s CreateDBParameterGroupOutput) GoString() string {
8125	return s.String()
8126}
8127
8128// SetDBParameterGroup sets the DBParameterGroup field's value.
8129func (s *CreateDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CreateDBParameterGroupOutput {
8130	s.DBParameterGroup = v
8131	return s
8132}
8133
8134type CreateDBSubnetGroupInput struct {
8135	_ struct{} `type:"structure"`
8136
8137	// The description for the DB subnet group.
8138	//
8139	// DBSubnetGroupDescription is a required field
8140	DBSubnetGroupDescription *string `type:"string" required:"true"`
8141
8142	// The name for the DB subnet group. This value is stored as a lowercase string.
8143	//
8144	// Constraints: Must contain no more than 255 letters, numbers, periods, underscores,
8145	// spaces, or hyphens. Must not be default.
8146	//
8147	// Example: mySubnetgroup
8148	//
8149	// DBSubnetGroupName is a required field
8150	DBSubnetGroupName *string `type:"string" required:"true"`
8151
8152	// The EC2 Subnet IDs for the DB subnet group.
8153	//
8154	// SubnetIds is a required field
8155	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
8156
8157	// The tags to be assigned to the new DB subnet group.
8158	Tags []*Tag `locationNameList:"Tag" type:"list"`
8159}
8160
8161// String returns the string representation
8162func (s CreateDBSubnetGroupInput) String() string {
8163	return awsutil.Prettify(s)
8164}
8165
8166// GoString returns the string representation
8167func (s CreateDBSubnetGroupInput) GoString() string {
8168	return s.String()
8169}
8170
8171// Validate inspects the fields of the type to determine if they are valid.
8172func (s *CreateDBSubnetGroupInput) Validate() error {
8173	invalidParams := request.ErrInvalidParams{Context: "CreateDBSubnetGroupInput"}
8174	if s.DBSubnetGroupDescription == nil {
8175		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupDescription"))
8176	}
8177	if s.DBSubnetGroupName == nil {
8178		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
8179	}
8180	if s.SubnetIds == nil {
8181		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
8182	}
8183
8184	if invalidParams.Len() > 0 {
8185		return invalidParams
8186	}
8187	return nil
8188}
8189
8190// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
8191func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *CreateDBSubnetGroupInput {
8192	s.DBSubnetGroupDescription = &v
8193	return s
8194}
8195
8196// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
8197func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupName(v string) *CreateDBSubnetGroupInput {
8198	s.DBSubnetGroupName = &v
8199	return s
8200}
8201
8202// SetSubnetIds sets the SubnetIds field's value.
8203func (s *CreateDBSubnetGroupInput) SetSubnetIds(v []*string) *CreateDBSubnetGroupInput {
8204	s.SubnetIds = v
8205	return s
8206}
8207
8208// SetTags sets the Tags field's value.
8209func (s *CreateDBSubnetGroupInput) SetTags(v []*Tag) *CreateDBSubnetGroupInput {
8210	s.Tags = v
8211	return s
8212}
8213
8214type CreateDBSubnetGroupOutput struct {
8215	_ struct{} `type:"structure"`
8216
8217	// Contains the details of an Amazon Neptune DB subnet group.
8218	//
8219	// This data type is used as a response element in the DescribeDBSubnetGroups
8220	// action.
8221	DBSubnetGroup *DBSubnetGroup `type:"structure"`
8222}
8223
8224// String returns the string representation
8225func (s CreateDBSubnetGroupOutput) String() string {
8226	return awsutil.Prettify(s)
8227}
8228
8229// GoString returns the string representation
8230func (s CreateDBSubnetGroupOutput) GoString() string {
8231	return s.String()
8232}
8233
8234// SetDBSubnetGroup sets the DBSubnetGroup field's value.
8235func (s *CreateDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *CreateDBSubnetGroupOutput {
8236	s.DBSubnetGroup = v
8237	return s
8238}
8239
8240type CreateEventSubscriptionInput struct {
8241	_ struct{} `type:"structure"`
8242
8243	// A Boolean value; set to true to activate the subscription, set to false to
8244	// create the subscription but not active it.
8245	Enabled *bool `type:"boolean"`
8246
8247	// A list of event categories for a SourceType that you want to subscribe to.
8248	// You can see a list of the categories for a given SourceType by using the
8249	// DescribeEventCategories action.
8250	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
8251
8252	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
8253	// The ARN is created by Amazon SNS when you create a topic and subscribe to
8254	// it.
8255	//
8256	// SnsTopicArn is a required field
8257	SnsTopicArn *string `type:"string" required:"true"`
8258
8259	// The list of identifiers of the event sources for which events are returned.
8260	// If not specified, then all sources are included in the response. An identifier
8261	// must begin with a letter and must contain only ASCII letters, digits, and
8262	// hyphens; it can't end with a hyphen or contain two consecutive hyphens.
8263	//
8264	// Constraints:
8265	//
8266	//    * If SourceIds are supplied, SourceType must also be provided.
8267	//
8268	//    * If the source type is a DB instance, then a DBInstanceIdentifier must
8269	//    be supplied.
8270	//
8271	//    * If the source type is a DB security group, a DBSecurityGroupName must
8272	//    be supplied.
8273	//
8274	//    * If the source type is a DB parameter group, a DBParameterGroupName must
8275	//    be supplied.
8276	//
8277	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier must be
8278	//    supplied.
8279	SourceIds []*string `locationNameList:"SourceId" type:"list"`
8280
8281	// The type of source that is generating the events. For example, if you want
8282	// to be notified of events generated by a DB instance, you would set this parameter
8283	// to db-instance. if this value is not specified, all events are returned.
8284	//
8285	// Valid values: db-instance | db-cluster | db-parameter-group | db-security-group
8286	// | db-snapshot | db-cluster-snapshot
8287	SourceType *string `type:"string"`
8288
8289	// The name of the subscription.
8290	//
8291	// Constraints: The name must be less than 255 characters.
8292	//
8293	// SubscriptionName is a required field
8294	SubscriptionName *string `type:"string" required:"true"`
8295
8296	// The tags to be applied to the new event subscription.
8297	Tags []*Tag `locationNameList:"Tag" type:"list"`
8298}
8299
8300// String returns the string representation
8301func (s CreateEventSubscriptionInput) String() string {
8302	return awsutil.Prettify(s)
8303}
8304
8305// GoString returns the string representation
8306func (s CreateEventSubscriptionInput) GoString() string {
8307	return s.String()
8308}
8309
8310// Validate inspects the fields of the type to determine if they are valid.
8311func (s *CreateEventSubscriptionInput) Validate() error {
8312	invalidParams := request.ErrInvalidParams{Context: "CreateEventSubscriptionInput"}
8313	if s.SnsTopicArn == nil {
8314		invalidParams.Add(request.NewErrParamRequired("SnsTopicArn"))
8315	}
8316	if s.SubscriptionName == nil {
8317		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
8318	}
8319
8320	if invalidParams.Len() > 0 {
8321		return invalidParams
8322	}
8323	return nil
8324}
8325
8326// SetEnabled sets the Enabled field's value.
8327func (s *CreateEventSubscriptionInput) SetEnabled(v bool) *CreateEventSubscriptionInput {
8328	s.Enabled = &v
8329	return s
8330}
8331
8332// SetEventCategories sets the EventCategories field's value.
8333func (s *CreateEventSubscriptionInput) SetEventCategories(v []*string) *CreateEventSubscriptionInput {
8334	s.EventCategories = v
8335	return s
8336}
8337
8338// SetSnsTopicArn sets the SnsTopicArn field's value.
8339func (s *CreateEventSubscriptionInput) SetSnsTopicArn(v string) *CreateEventSubscriptionInput {
8340	s.SnsTopicArn = &v
8341	return s
8342}
8343
8344// SetSourceIds sets the SourceIds field's value.
8345func (s *CreateEventSubscriptionInput) SetSourceIds(v []*string) *CreateEventSubscriptionInput {
8346	s.SourceIds = v
8347	return s
8348}
8349
8350// SetSourceType sets the SourceType field's value.
8351func (s *CreateEventSubscriptionInput) SetSourceType(v string) *CreateEventSubscriptionInput {
8352	s.SourceType = &v
8353	return s
8354}
8355
8356// SetSubscriptionName sets the SubscriptionName field's value.
8357func (s *CreateEventSubscriptionInput) SetSubscriptionName(v string) *CreateEventSubscriptionInput {
8358	s.SubscriptionName = &v
8359	return s
8360}
8361
8362// SetTags sets the Tags field's value.
8363func (s *CreateEventSubscriptionInput) SetTags(v []*Tag) *CreateEventSubscriptionInput {
8364	s.Tags = v
8365	return s
8366}
8367
8368type CreateEventSubscriptionOutput struct {
8369	_ struct{} `type:"structure"`
8370
8371	// Contains the results of a successful invocation of the DescribeEventSubscriptions
8372	// action.
8373	EventSubscription *EventSubscription `type:"structure"`
8374}
8375
8376// String returns the string representation
8377func (s CreateEventSubscriptionOutput) String() string {
8378	return awsutil.Prettify(s)
8379}
8380
8381// GoString returns the string representation
8382func (s CreateEventSubscriptionOutput) GoString() string {
8383	return s.String()
8384}
8385
8386// SetEventSubscription sets the EventSubscription field's value.
8387func (s *CreateEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *CreateEventSubscriptionOutput {
8388	s.EventSubscription = v
8389	return s
8390}
8391
8392// Contains the details of an Amazon Neptune DB cluster.
8393//
8394// This data type is used as a response element in the DescribeDBClusters action.
8395type DBCluster struct {
8396	_ struct{} `type:"structure"`
8397
8398	// AllocatedStorage always returns 1, because Neptune DB cluster storage size
8399	// is not fixed, but instead automatically adjusts as needed.
8400	AllocatedStorage *int64 `type:"integer"`
8401
8402	// Provides a list of the AWS Identity and Access Management (IAM) roles that
8403	// are associated with the DB cluster. IAM roles that are associated with a
8404	// DB cluster grant permission for the DB cluster to access other AWS services
8405	// on your behalf.
8406	AssociatedRoles []*DBClusterRole `locationNameList:"DBClusterRole" type:"list"`
8407
8408	// Provides the list of EC2 Availability Zones that instances in the DB cluster
8409	// can be created in.
8410	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
8411
8412	// Specifies the number of days for which automatic DB snapshots are retained.
8413	BackupRetentionPeriod *int64 `type:"integer"`
8414
8415	// (Not supported by Neptune)
8416	CharacterSetName *string `type:"string"`
8417
8418	// Identifies the clone group to which the DB cluster is associated.
8419	CloneGroupId *string `type:"string"`
8420
8421	// Specifies the time when the DB cluster was created, in Universal Coordinated
8422	// Time (UTC).
8423	ClusterCreateTime *time.Time `type:"timestamp"`
8424
8425	// The Amazon Resource Name (ARN) for the DB cluster.
8426	DBClusterArn *string `type:"string"`
8427
8428	// Contains a user-supplied DB cluster identifier. This identifier is the unique
8429	// key that identifies a DB cluster.
8430	DBClusterIdentifier *string `type:"string"`
8431
8432	// Provides the list of instances that make up the DB cluster.
8433	DBClusterMembers []*DBClusterMember `locationNameList:"DBClusterMember" type:"list"`
8434
8435	// (Not supported by Neptune)
8436	DBClusterOptionGroupMemberships []*DBClusterOptionGroupStatus `locationNameList:"DBClusterOptionGroup" type:"list"`
8437
8438	// Specifies the name of the DB cluster parameter group for the DB cluster.
8439	DBClusterParameterGroup *string `type:"string"`
8440
8441	// Specifies information on the subnet group associated with the DB cluster,
8442	// including the name, description, and subnets in the subnet group.
8443	DBSubnetGroup *string `type:"string"`
8444
8445	// Contains the name of the initial database of this DB cluster that was provided
8446	// at create time, if one was specified when the DB cluster was created. This
8447	// same name is returned for the life of the DB cluster.
8448	DatabaseName *string `type:"string"`
8449
8450	// The AWS Region-unique, immutable identifier for the DB cluster. This identifier
8451	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
8452	// cluster is accessed.
8453	DbClusterResourceId *string `type:"string"`
8454
8455	// Indicates whether or not the DB cluster has deletion protection enabled.
8456	// The database can't be deleted when deletion protection is enabled.
8457	DeletionProtection *bool `type:"boolean"`
8458
8459	// Specifies the earliest time to which a database can be restored with point-in-time
8460	// restore.
8461	EarliestRestorableTime *time.Time `type:"timestamp"`
8462
8463	// A list of log types that this DB cluster is configured to export to CloudWatch
8464	// Logs.
8465	EnabledCloudwatchLogsExports []*string `type:"list"`
8466
8467	// Specifies the connection endpoint for the primary instance of the DB cluster.
8468	Endpoint *string `type:"string"`
8469
8470	// Provides the name of the database engine to be used for this DB cluster.
8471	Engine *string `type:"string"`
8472
8473	// Indicates the database engine version.
8474	EngineVersion *string `type:"string"`
8475
8476	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
8477	HostedZoneId *string `type:"string"`
8478
8479	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
8480	// accounts is enabled, and otherwise false.
8481	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
8482
8483	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
8484	// DB cluster.
8485	KmsKeyId *string `type:"string"`
8486
8487	// Specifies the latest time to which a database can be restored with point-in-time
8488	// restore.
8489	LatestRestorableTime *time.Time `type:"timestamp"`
8490
8491	// Contains the master username for the DB cluster.
8492	MasterUsername *string `type:"string"`
8493
8494	// Specifies whether the DB cluster has instances in multiple Availability Zones.
8495	MultiAZ *bool `type:"boolean"`
8496
8497	// Specifies the progress of the operation as a percentage.
8498	PercentProgress *string `type:"string"`
8499
8500	// Specifies the port that the database engine is listening on.
8501	Port *int64 `type:"integer"`
8502
8503	// Specifies the daily time range during which automated backups are created
8504	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
8505	PreferredBackupWindow *string `type:"string"`
8506
8507	// Specifies the weekly time range during which system maintenance can occur,
8508	// in Universal Coordinated Time (UTC).
8509	PreferredMaintenanceWindow *string `type:"string"`
8510
8511	// Contains one or more identifiers of the Read Replicas associated with this
8512	// DB cluster.
8513	ReadReplicaIdentifiers []*string `locationNameList:"ReadReplicaIdentifier" type:"list"`
8514
8515	// The reader endpoint for the DB cluster. The reader endpoint for a DB cluster
8516	// load-balances connections across the Read Replicas that are available in
8517	// a DB cluster. As clients request new connections to the reader endpoint,
8518	// Neptune distributes the connection requests among the Read Replicas in the
8519	// DB cluster. This functionality can help balance your read workload across
8520	// multiple Read Replicas in your DB cluster.
8521	//
8522	// If a failover occurs, and the Read Replica that you are connected to is promoted
8523	// to be the primary instance, your connection is dropped. To continue sending
8524	// your read workload to other Read Replicas in the cluster, you can then reconnect
8525	// to the reader endpoint.
8526	ReaderEndpoint *string `type:"string"`
8527
8528	// Not supported by Neptune.
8529	ReplicationSourceIdentifier *string `type:"string"`
8530
8531	// Specifies the current state of this DB cluster.
8532	Status *string `type:"string"`
8533
8534	// Specifies whether the DB cluster is encrypted.
8535	StorageEncrypted *bool `type:"boolean"`
8536
8537	// Provides a list of VPC security groups that the DB cluster belongs to.
8538	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
8539}
8540
8541// String returns the string representation
8542func (s DBCluster) String() string {
8543	return awsutil.Prettify(s)
8544}
8545
8546// GoString returns the string representation
8547func (s DBCluster) GoString() string {
8548	return s.String()
8549}
8550
8551// SetAllocatedStorage sets the AllocatedStorage field's value.
8552func (s *DBCluster) SetAllocatedStorage(v int64) *DBCluster {
8553	s.AllocatedStorage = &v
8554	return s
8555}
8556
8557// SetAssociatedRoles sets the AssociatedRoles field's value.
8558func (s *DBCluster) SetAssociatedRoles(v []*DBClusterRole) *DBCluster {
8559	s.AssociatedRoles = v
8560	return s
8561}
8562
8563// SetAvailabilityZones sets the AvailabilityZones field's value.
8564func (s *DBCluster) SetAvailabilityZones(v []*string) *DBCluster {
8565	s.AvailabilityZones = v
8566	return s
8567}
8568
8569// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
8570func (s *DBCluster) SetBackupRetentionPeriod(v int64) *DBCluster {
8571	s.BackupRetentionPeriod = &v
8572	return s
8573}
8574
8575// SetCharacterSetName sets the CharacterSetName field's value.
8576func (s *DBCluster) SetCharacterSetName(v string) *DBCluster {
8577	s.CharacterSetName = &v
8578	return s
8579}
8580
8581// SetCloneGroupId sets the CloneGroupId field's value.
8582func (s *DBCluster) SetCloneGroupId(v string) *DBCluster {
8583	s.CloneGroupId = &v
8584	return s
8585}
8586
8587// SetClusterCreateTime sets the ClusterCreateTime field's value.
8588func (s *DBCluster) SetClusterCreateTime(v time.Time) *DBCluster {
8589	s.ClusterCreateTime = &v
8590	return s
8591}
8592
8593// SetDBClusterArn sets the DBClusterArn field's value.
8594func (s *DBCluster) SetDBClusterArn(v string) *DBCluster {
8595	s.DBClusterArn = &v
8596	return s
8597}
8598
8599// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
8600func (s *DBCluster) SetDBClusterIdentifier(v string) *DBCluster {
8601	s.DBClusterIdentifier = &v
8602	return s
8603}
8604
8605// SetDBClusterMembers sets the DBClusterMembers field's value.
8606func (s *DBCluster) SetDBClusterMembers(v []*DBClusterMember) *DBCluster {
8607	s.DBClusterMembers = v
8608	return s
8609}
8610
8611// SetDBClusterOptionGroupMemberships sets the DBClusterOptionGroupMemberships field's value.
8612func (s *DBCluster) SetDBClusterOptionGroupMemberships(v []*DBClusterOptionGroupStatus) *DBCluster {
8613	s.DBClusterOptionGroupMemberships = v
8614	return s
8615}
8616
8617// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
8618func (s *DBCluster) SetDBClusterParameterGroup(v string) *DBCluster {
8619	s.DBClusterParameterGroup = &v
8620	return s
8621}
8622
8623// SetDBSubnetGroup sets the DBSubnetGroup field's value.
8624func (s *DBCluster) SetDBSubnetGroup(v string) *DBCluster {
8625	s.DBSubnetGroup = &v
8626	return s
8627}
8628
8629// SetDatabaseName sets the DatabaseName field's value.
8630func (s *DBCluster) SetDatabaseName(v string) *DBCluster {
8631	s.DatabaseName = &v
8632	return s
8633}
8634
8635// SetDbClusterResourceId sets the DbClusterResourceId field's value.
8636func (s *DBCluster) SetDbClusterResourceId(v string) *DBCluster {
8637	s.DbClusterResourceId = &v
8638	return s
8639}
8640
8641// SetDeletionProtection sets the DeletionProtection field's value.
8642func (s *DBCluster) SetDeletionProtection(v bool) *DBCluster {
8643	s.DeletionProtection = &v
8644	return s
8645}
8646
8647// SetEarliestRestorableTime sets the EarliestRestorableTime field's value.
8648func (s *DBCluster) SetEarliestRestorableTime(v time.Time) *DBCluster {
8649	s.EarliestRestorableTime = &v
8650	return s
8651}
8652
8653// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
8654func (s *DBCluster) SetEnabledCloudwatchLogsExports(v []*string) *DBCluster {
8655	s.EnabledCloudwatchLogsExports = v
8656	return s
8657}
8658
8659// SetEndpoint sets the Endpoint field's value.
8660func (s *DBCluster) SetEndpoint(v string) *DBCluster {
8661	s.Endpoint = &v
8662	return s
8663}
8664
8665// SetEngine sets the Engine field's value.
8666func (s *DBCluster) SetEngine(v string) *DBCluster {
8667	s.Engine = &v
8668	return s
8669}
8670
8671// SetEngineVersion sets the EngineVersion field's value.
8672func (s *DBCluster) SetEngineVersion(v string) *DBCluster {
8673	s.EngineVersion = &v
8674	return s
8675}
8676
8677// SetHostedZoneId sets the HostedZoneId field's value.
8678func (s *DBCluster) SetHostedZoneId(v string) *DBCluster {
8679	s.HostedZoneId = &v
8680	return s
8681}
8682
8683// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
8684func (s *DBCluster) SetIAMDatabaseAuthenticationEnabled(v bool) *DBCluster {
8685	s.IAMDatabaseAuthenticationEnabled = &v
8686	return s
8687}
8688
8689// SetKmsKeyId sets the KmsKeyId field's value.
8690func (s *DBCluster) SetKmsKeyId(v string) *DBCluster {
8691	s.KmsKeyId = &v
8692	return s
8693}
8694
8695// SetLatestRestorableTime sets the LatestRestorableTime field's value.
8696func (s *DBCluster) SetLatestRestorableTime(v time.Time) *DBCluster {
8697	s.LatestRestorableTime = &v
8698	return s
8699}
8700
8701// SetMasterUsername sets the MasterUsername field's value.
8702func (s *DBCluster) SetMasterUsername(v string) *DBCluster {
8703	s.MasterUsername = &v
8704	return s
8705}
8706
8707// SetMultiAZ sets the MultiAZ field's value.
8708func (s *DBCluster) SetMultiAZ(v bool) *DBCluster {
8709	s.MultiAZ = &v
8710	return s
8711}
8712
8713// SetPercentProgress sets the PercentProgress field's value.
8714func (s *DBCluster) SetPercentProgress(v string) *DBCluster {
8715	s.PercentProgress = &v
8716	return s
8717}
8718
8719// SetPort sets the Port field's value.
8720func (s *DBCluster) SetPort(v int64) *DBCluster {
8721	s.Port = &v
8722	return s
8723}
8724
8725// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
8726func (s *DBCluster) SetPreferredBackupWindow(v string) *DBCluster {
8727	s.PreferredBackupWindow = &v
8728	return s
8729}
8730
8731// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
8732func (s *DBCluster) SetPreferredMaintenanceWindow(v string) *DBCluster {
8733	s.PreferredMaintenanceWindow = &v
8734	return s
8735}
8736
8737// SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
8738func (s *DBCluster) SetReadReplicaIdentifiers(v []*string) *DBCluster {
8739	s.ReadReplicaIdentifiers = v
8740	return s
8741}
8742
8743// SetReaderEndpoint sets the ReaderEndpoint field's value.
8744func (s *DBCluster) SetReaderEndpoint(v string) *DBCluster {
8745	s.ReaderEndpoint = &v
8746	return s
8747}
8748
8749// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
8750func (s *DBCluster) SetReplicationSourceIdentifier(v string) *DBCluster {
8751	s.ReplicationSourceIdentifier = &v
8752	return s
8753}
8754
8755// SetStatus sets the Status field's value.
8756func (s *DBCluster) SetStatus(v string) *DBCluster {
8757	s.Status = &v
8758	return s
8759}
8760
8761// SetStorageEncrypted sets the StorageEncrypted field's value.
8762func (s *DBCluster) SetStorageEncrypted(v bool) *DBCluster {
8763	s.StorageEncrypted = &v
8764	return s
8765}
8766
8767// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
8768func (s *DBCluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBCluster {
8769	s.VpcSecurityGroups = v
8770	return s
8771}
8772
8773// Contains information about an instance that is part of a DB cluster.
8774type DBClusterMember struct {
8775	_ struct{} `type:"structure"`
8776
8777	// Specifies the status of the DB cluster parameter group for this member of
8778	// the DB cluster.
8779	DBClusterParameterGroupStatus *string `type:"string"`
8780
8781	// Specifies the instance identifier for this member of the DB cluster.
8782	DBInstanceIdentifier *string `type:"string"`
8783
8784	// Value that is true if the cluster member is the primary instance for the
8785	// DB cluster and false otherwise.
8786	IsClusterWriter *bool `type:"boolean"`
8787
8788	// A value that specifies the order in which a Read Replica is promoted to the
8789	// primary instance after a failure of the existing primary instance.
8790	PromotionTier *int64 `type:"integer"`
8791}
8792
8793// String returns the string representation
8794func (s DBClusterMember) String() string {
8795	return awsutil.Prettify(s)
8796}
8797
8798// GoString returns the string representation
8799func (s DBClusterMember) GoString() string {
8800	return s.String()
8801}
8802
8803// SetDBClusterParameterGroupStatus sets the DBClusterParameterGroupStatus field's value.
8804func (s *DBClusterMember) SetDBClusterParameterGroupStatus(v string) *DBClusterMember {
8805	s.DBClusterParameterGroupStatus = &v
8806	return s
8807}
8808
8809// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
8810func (s *DBClusterMember) SetDBInstanceIdentifier(v string) *DBClusterMember {
8811	s.DBInstanceIdentifier = &v
8812	return s
8813}
8814
8815// SetIsClusterWriter sets the IsClusterWriter field's value.
8816func (s *DBClusterMember) SetIsClusterWriter(v bool) *DBClusterMember {
8817	s.IsClusterWriter = &v
8818	return s
8819}
8820
8821// SetPromotionTier sets the PromotionTier field's value.
8822func (s *DBClusterMember) SetPromotionTier(v int64) *DBClusterMember {
8823	s.PromotionTier = &v
8824	return s
8825}
8826
8827// Contains status information for a DB cluster option group.
8828type DBClusterOptionGroupStatus struct {
8829	_ struct{} `type:"structure"`
8830
8831	// Specifies the name of the DB cluster option group.
8832	DBClusterOptionGroupName *string `type:"string"`
8833
8834	// Specifies the status of the DB cluster option group.
8835	Status *string `type:"string"`
8836}
8837
8838// String returns the string representation
8839func (s DBClusterOptionGroupStatus) String() string {
8840	return awsutil.Prettify(s)
8841}
8842
8843// GoString returns the string representation
8844func (s DBClusterOptionGroupStatus) GoString() string {
8845	return s.String()
8846}
8847
8848// SetDBClusterOptionGroupName sets the DBClusterOptionGroupName field's value.
8849func (s *DBClusterOptionGroupStatus) SetDBClusterOptionGroupName(v string) *DBClusterOptionGroupStatus {
8850	s.DBClusterOptionGroupName = &v
8851	return s
8852}
8853
8854// SetStatus sets the Status field's value.
8855func (s *DBClusterOptionGroupStatus) SetStatus(v string) *DBClusterOptionGroupStatus {
8856	s.Status = &v
8857	return s
8858}
8859
8860// Contains the details of an Amazon Neptune DB cluster parameter group.
8861//
8862// This data type is used as a response element in the DescribeDBClusterParameterGroups
8863// action.
8864type DBClusterParameterGroup struct {
8865	_ struct{} `type:"structure"`
8866
8867	// The Amazon Resource Name (ARN) for the DB cluster parameter group.
8868	DBClusterParameterGroupArn *string `type:"string"`
8869
8870	// Provides the name of the DB cluster parameter group.
8871	DBClusterParameterGroupName *string `type:"string"`
8872
8873	// Provides the name of the DB parameter group family that this DB cluster parameter
8874	// group is compatible with.
8875	DBParameterGroupFamily *string `type:"string"`
8876
8877	// Provides the customer-specified description for this DB cluster parameter
8878	// group.
8879	Description *string `type:"string"`
8880}
8881
8882// String returns the string representation
8883func (s DBClusterParameterGroup) String() string {
8884	return awsutil.Prettify(s)
8885}
8886
8887// GoString returns the string representation
8888func (s DBClusterParameterGroup) GoString() string {
8889	return s.String()
8890}
8891
8892// SetDBClusterParameterGroupArn sets the DBClusterParameterGroupArn field's value.
8893func (s *DBClusterParameterGroup) SetDBClusterParameterGroupArn(v string) *DBClusterParameterGroup {
8894	s.DBClusterParameterGroupArn = &v
8895	return s
8896}
8897
8898// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
8899func (s *DBClusterParameterGroup) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroup {
8900	s.DBClusterParameterGroupName = &v
8901	return s
8902}
8903
8904// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
8905func (s *DBClusterParameterGroup) SetDBParameterGroupFamily(v string) *DBClusterParameterGroup {
8906	s.DBParameterGroupFamily = &v
8907	return s
8908}
8909
8910// SetDescription sets the Description field's value.
8911func (s *DBClusterParameterGroup) SetDescription(v string) *DBClusterParameterGroup {
8912	s.Description = &v
8913	return s
8914}
8915
8916// Describes an AWS Identity and Access Management (IAM) role that is associated
8917// with a DB cluster.
8918type DBClusterRole struct {
8919	_ struct{} `type:"structure"`
8920
8921	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
8922	// DB cluster.
8923	RoleArn *string `type:"string"`
8924
8925	// Describes the state of association between the IAM role and the DB cluster.
8926	// The Status property returns one of the following values:
8927	//
8928	//    * ACTIVE - the IAM role ARN is associated with the DB cluster and can
8929	//    be used to access other AWS services on your behalf.
8930	//
8931	//    * PENDING - the IAM role ARN is being associated with the DB cluster.
8932	//
8933	//    * INVALID - the IAM role ARN is associated with the DB cluster, but the
8934	//    DB cluster is unable to assume the IAM role in order to access other AWS
8935	//    services on your behalf.
8936	Status *string `type:"string"`
8937}
8938
8939// String returns the string representation
8940func (s DBClusterRole) String() string {
8941	return awsutil.Prettify(s)
8942}
8943
8944// GoString returns the string representation
8945func (s DBClusterRole) GoString() string {
8946	return s.String()
8947}
8948
8949// SetRoleArn sets the RoleArn field's value.
8950func (s *DBClusterRole) SetRoleArn(v string) *DBClusterRole {
8951	s.RoleArn = &v
8952	return s
8953}
8954
8955// SetStatus sets the Status field's value.
8956func (s *DBClusterRole) SetStatus(v string) *DBClusterRole {
8957	s.Status = &v
8958	return s
8959}
8960
8961// Contains the details for an Amazon Neptune DB cluster snapshot
8962//
8963// This data type is used as a response element in the DescribeDBClusterSnapshots
8964// action.
8965type DBClusterSnapshot struct {
8966	_ struct{} `type:"structure"`
8967
8968	// Specifies the allocated storage size in gibibytes (GiB).
8969	AllocatedStorage *int64 `type:"integer"`
8970
8971	// Provides the list of EC2 Availability Zones that instances in the DB cluster
8972	// snapshot can be restored in.
8973	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
8974
8975	// Specifies the time when the DB cluster was created, in Universal Coordinated
8976	// Time (UTC).
8977	ClusterCreateTime *time.Time `type:"timestamp"`
8978
8979	// Specifies the DB cluster identifier of the DB cluster that this DB cluster
8980	// snapshot was created from.
8981	DBClusterIdentifier *string `type:"string"`
8982
8983	// The Amazon Resource Name (ARN) for the DB cluster snapshot.
8984	DBClusterSnapshotArn *string `type:"string"`
8985
8986	// Specifies the identifier for a DB cluster snapshot. Must match the identifier
8987	// of an existing snapshot.
8988	//
8989	// After you restore a DB cluster using a DBClusterSnapshotIdentifier, you must
8990	// specify the same DBClusterSnapshotIdentifier for any future updates to the
8991	// DB cluster. When you specify this property for an update, the DB cluster
8992	// is not restored from the snapshot again, and the data in the database is
8993	// not changed.
8994	//
8995	// However, if you don't specify the DBClusterSnapshotIdentifier, an empty DB
8996	// cluster is created, and the original DB cluster is deleted. If you specify
8997	// a property that is different from the previous snapshot restore property,
8998	// the DB cluster is restored from the snapshot specified by the DBClusterSnapshotIdentifier,
8999	// and the original DB cluster is deleted.
9000	DBClusterSnapshotIdentifier *string `type:"string"`
9001
9002	// Specifies the name of the database engine.
9003	Engine *string `type:"string"`
9004
9005	// Provides the version of the database engine for this DB cluster snapshot.
9006	EngineVersion *string `type:"string"`
9007
9008	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
9009	// accounts is enabled, and otherwise false.
9010	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
9011
9012	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
9013	// DB cluster snapshot.
9014	KmsKeyId *string `type:"string"`
9015
9016	// Provides the license model information for this DB cluster snapshot.
9017	LicenseModel *string `type:"string"`
9018
9019	// Provides the master username for the DB cluster snapshot.
9020	MasterUsername *string `type:"string"`
9021
9022	// Specifies the percentage of the estimated data that has been transferred.
9023	PercentProgress *int64 `type:"integer"`
9024
9025	// Specifies the port that the DB cluster was listening on at the time of the
9026	// snapshot.
9027	Port *int64 `type:"integer"`
9028
9029	// Provides the time when the snapshot was taken, in Universal Coordinated Time
9030	// (UTC).
9031	SnapshotCreateTime *time.Time `type:"timestamp"`
9032
9033	// Provides the type of the DB cluster snapshot.
9034	SnapshotType *string `type:"string"`
9035
9036	// If the DB cluster snapshot was copied from a source DB cluster snapshot,
9037	// the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise,
9038	// a null value.
9039	SourceDBClusterSnapshotArn *string `type:"string"`
9040
9041	// Specifies the status of this DB cluster snapshot.
9042	Status *string `type:"string"`
9043
9044	// Specifies whether the DB cluster snapshot is encrypted.
9045	StorageEncrypted *bool `type:"boolean"`
9046
9047	// Provides the VPC ID associated with the DB cluster snapshot.
9048	VpcId *string `type:"string"`
9049}
9050
9051// String returns the string representation
9052func (s DBClusterSnapshot) String() string {
9053	return awsutil.Prettify(s)
9054}
9055
9056// GoString returns the string representation
9057func (s DBClusterSnapshot) GoString() string {
9058	return s.String()
9059}
9060
9061// SetAllocatedStorage sets the AllocatedStorage field's value.
9062func (s *DBClusterSnapshot) SetAllocatedStorage(v int64) *DBClusterSnapshot {
9063	s.AllocatedStorage = &v
9064	return s
9065}
9066
9067// SetAvailabilityZones sets the AvailabilityZones field's value.
9068func (s *DBClusterSnapshot) SetAvailabilityZones(v []*string) *DBClusterSnapshot {
9069	s.AvailabilityZones = v
9070	return s
9071}
9072
9073// SetClusterCreateTime sets the ClusterCreateTime field's value.
9074func (s *DBClusterSnapshot) SetClusterCreateTime(v time.Time) *DBClusterSnapshot {
9075	s.ClusterCreateTime = &v
9076	return s
9077}
9078
9079// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
9080func (s *DBClusterSnapshot) SetDBClusterIdentifier(v string) *DBClusterSnapshot {
9081	s.DBClusterIdentifier = &v
9082	return s
9083}
9084
9085// SetDBClusterSnapshotArn sets the DBClusterSnapshotArn field's value.
9086func (s *DBClusterSnapshot) SetDBClusterSnapshotArn(v string) *DBClusterSnapshot {
9087	s.DBClusterSnapshotArn = &v
9088	return s
9089}
9090
9091// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
9092func (s *DBClusterSnapshot) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshot {
9093	s.DBClusterSnapshotIdentifier = &v
9094	return s
9095}
9096
9097// SetEngine sets the Engine field's value.
9098func (s *DBClusterSnapshot) SetEngine(v string) *DBClusterSnapshot {
9099	s.Engine = &v
9100	return s
9101}
9102
9103// SetEngineVersion sets the EngineVersion field's value.
9104func (s *DBClusterSnapshot) SetEngineVersion(v string) *DBClusterSnapshot {
9105	s.EngineVersion = &v
9106	return s
9107}
9108
9109// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
9110func (s *DBClusterSnapshot) SetIAMDatabaseAuthenticationEnabled(v bool) *DBClusterSnapshot {
9111	s.IAMDatabaseAuthenticationEnabled = &v
9112	return s
9113}
9114
9115// SetKmsKeyId sets the KmsKeyId field's value.
9116func (s *DBClusterSnapshot) SetKmsKeyId(v string) *DBClusterSnapshot {
9117	s.KmsKeyId = &v
9118	return s
9119}
9120
9121// SetLicenseModel sets the LicenseModel field's value.
9122func (s *DBClusterSnapshot) SetLicenseModel(v string) *DBClusterSnapshot {
9123	s.LicenseModel = &v
9124	return s
9125}
9126
9127// SetMasterUsername sets the MasterUsername field's value.
9128func (s *DBClusterSnapshot) SetMasterUsername(v string) *DBClusterSnapshot {
9129	s.MasterUsername = &v
9130	return s
9131}
9132
9133// SetPercentProgress sets the PercentProgress field's value.
9134func (s *DBClusterSnapshot) SetPercentProgress(v int64) *DBClusterSnapshot {
9135	s.PercentProgress = &v
9136	return s
9137}
9138
9139// SetPort sets the Port field's value.
9140func (s *DBClusterSnapshot) SetPort(v int64) *DBClusterSnapshot {
9141	s.Port = &v
9142	return s
9143}
9144
9145// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
9146func (s *DBClusterSnapshot) SetSnapshotCreateTime(v time.Time) *DBClusterSnapshot {
9147	s.SnapshotCreateTime = &v
9148	return s
9149}
9150
9151// SetSnapshotType sets the SnapshotType field's value.
9152func (s *DBClusterSnapshot) SetSnapshotType(v string) *DBClusterSnapshot {
9153	s.SnapshotType = &v
9154	return s
9155}
9156
9157// SetSourceDBClusterSnapshotArn sets the SourceDBClusterSnapshotArn field's value.
9158func (s *DBClusterSnapshot) SetSourceDBClusterSnapshotArn(v string) *DBClusterSnapshot {
9159	s.SourceDBClusterSnapshotArn = &v
9160	return s
9161}
9162
9163// SetStatus sets the Status field's value.
9164func (s *DBClusterSnapshot) SetStatus(v string) *DBClusterSnapshot {
9165	s.Status = &v
9166	return s
9167}
9168
9169// SetStorageEncrypted sets the StorageEncrypted field's value.
9170func (s *DBClusterSnapshot) SetStorageEncrypted(v bool) *DBClusterSnapshot {
9171	s.StorageEncrypted = &v
9172	return s
9173}
9174
9175// SetVpcId sets the VpcId field's value.
9176func (s *DBClusterSnapshot) SetVpcId(v string) *DBClusterSnapshot {
9177	s.VpcId = &v
9178	return s
9179}
9180
9181// Contains the name and values of a manual DB cluster snapshot attribute.
9182//
9183// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
9184// to restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute
9185// API action.
9186type DBClusterSnapshotAttribute struct {
9187	_ struct{} `type:"structure"`
9188
9189	// The name of the manual DB cluster snapshot attribute.
9190	//
9191	// The attribute named restore refers to the list of AWS accounts that have
9192	// permission to copy or restore the manual DB cluster snapshot. For more information,
9193	// see the ModifyDBClusterSnapshotAttribute API action.
9194	AttributeName *string `type:"string"`
9195
9196	// The value(s) for the manual DB cluster snapshot attribute.
9197	//
9198	// If the AttributeName field is set to restore, then this element returns a
9199	// list of IDs of the AWS accounts that are authorized to copy or restore the
9200	// manual DB cluster snapshot. If a value of all is in the list, then the manual
9201	// DB cluster snapshot is public and available for any AWS account to copy or
9202	// restore.
9203	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
9204}
9205
9206// String returns the string representation
9207func (s DBClusterSnapshotAttribute) String() string {
9208	return awsutil.Prettify(s)
9209}
9210
9211// GoString returns the string representation
9212func (s DBClusterSnapshotAttribute) GoString() string {
9213	return s.String()
9214}
9215
9216// SetAttributeName sets the AttributeName field's value.
9217func (s *DBClusterSnapshotAttribute) SetAttributeName(v string) *DBClusterSnapshotAttribute {
9218	s.AttributeName = &v
9219	return s
9220}
9221
9222// SetAttributeValues sets the AttributeValues field's value.
9223func (s *DBClusterSnapshotAttribute) SetAttributeValues(v []*string) *DBClusterSnapshotAttribute {
9224	s.AttributeValues = v
9225	return s
9226}
9227
9228// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
9229// API action.
9230//
9231// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
9232// to copy or restore a manual DB cluster snapshot. For more information, see
9233// the ModifyDBClusterSnapshotAttribute API action.
9234type DBClusterSnapshotAttributesResult struct {
9235	_ struct{} `type:"structure"`
9236
9237	// The list of attributes and values for the manual DB cluster snapshot.
9238	DBClusterSnapshotAttributes []*DBClusterSnapshotAttribute `locationNameList:"DBClusterSnapshotAttribute" type:"list"`
9239
9240	// The identifier of the manual DB cluster snapshot that the attributes apply
9241	// to.
9242	DBClusterSnapshotIdentifier *string `type:"string"`
9243}
9244
9245// String returns the string representation
9246func (s DBClusterSnapshotAttributesResult) String() string {
9247	return awsutil.Prettify(s)
9248}
9249
9250// GoString returns the string representation
9251func (s DBClusterSnapshotAttributesResult) GoString() string {
9252	return s.String()
9253}
9254
9255// SetDBClusterSnapshotAttributes sets the DBClusterSnapshotAttributes field's value.
9256func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotAttributes(v []*DBClusterSnapshotAttribute) *DBClusterSnapshotAttributesResult {
9257	s.DBClusterSnapshotAttributes = v
9258	return s
9259}
9260
9261// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
9262func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshotAttributesResult {
9263	s.DBClusterSnapshotIdentifier = &v
9264	return s
9265}
9266
9267// This data type is used as a response element in the action DescribeDBEngineVersions.
9268type DBEngineVersion struct {
9269	_ struct{} `type:"structure"`
9270
9271	// The description of the database engine.
9272	DBEngineDescription *string `type:"string"`
9273
9274	// The description of the database engine version.
9275	DBEngineVersionDescription *string `type:"string"`
9276
9277	// The name of the DB parameter group family for the database engine.
9278	DBParameterGroupFamily *string `type:"string"`
9279
9280	// (Not supported by Neptune)
9281	DefaultCharacterSet *CharacterSet `type:"structure"`
9282
9283	// The name of the database engine.
9284	Engine *string `type:"string"`
9285
9286	// The version number of the database engine.
9287	EngineVersion *string `type:"string"`
9288
9289	// The types of logs that the database engine has available for export to CloudWatch
9290	// Logs.
9291	ExportableLogTypes []*string `type:"list"`
9292
9293	// (Not supported by Neptune)
9294	SupportedCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
9295
9296	// A list of the time zones supported by this engine for the Timezone parameter
9297	// of the CreateDBInstance action.
9298	SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"`
9299
9300	// A value that indicates whether the engine version supports exporting the
9301	// log types specified by ExportableLogTypes to CloudWatch Logs.
9302	SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"`
9303
9304	// Indicates whether the database engine version supports read replicas.
9305	SupportsReadReplica *bool `type:"boolean"`
9306
9307	// A list of engine versions that this database engine version can be upgraded
9308	// to.
9309	ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"`
9310}
9311
9312// String returns the string representation
9313func (s DBEngineVersion) String() string {
9314	return awsutil.Prettify(s)
9315}
9316
9317// GoString returns the string representation
9318func (s DBEngineVersion) GoString() string {
9319	return s.String()
9320}
9321
9322// SetDBEngineDescription sets the DBEngineDescription field's value.
9323func (s *DBEngineVersion) SetDBEngineDescription(v string) *DBEngineVersion {
9324	s.DBEngineDescription = &v
9325	return s
9326}
9327
9328// SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value.
9329func (s *DBEngineVersion) SetDBEngineVersionDescription(v string) *DBEngineVersion {
9330	s.DBEngineVersionDescription = &v
9331	return s
9332}
9333
9334// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
9335func (s *DBEngineVersion) SetDBParameterGroupFamily(v string) *DBEngineVersion {
9336	s.DBParameterGroupFamily = &v
9337	return s
9338}
9339
9340// SetDefaultCharacterSet sets the DefaultCharacterSet field's value.
9341func (s *DBEngineVersion) SetDefaultCharacterSet(v *CharacterSet) *DBEngineVersion {
9342	s.DefaultCharacterSet = v
9343	return s
9344}
9345
9346// SetEngine sets the Engine field's value.
9347func (s *DBEngineVersion) SetEngine(v string) *DBEngineVersion {
9348	s.Engine = &v
9349	return s
9350}
9351
9352// SetEngineVersion sets the EngineVersion field's value.
9353func (s *DBEngineVersion) SetEngineVersion(v string) *DBEngineVersion {
9354	s.EngineVersion = &v
9355	return s
9356}
9357
9358// SetExportableLogTypes sets the ExportableLogTypes field's value.
9359func (s *DBEngineVersion) SetExportableLogTypes(v []*string) *DBEngineVersion {
9360	s.ExportableLogTypes = v
9361	return s
9362}
9363
9364// SetSupportedCharacterSets sets the SupportedCharacterSets field's value.
9365func (s *DBEngineVersion) SetSupportedCharacterSets(v []*CharacterSet) *DBEngineVersion {
9366	s.SupportedCharacterSets = v
9367	return s
9368}
9369
9370// SetSupportedTimezones sets the SupportedTimezones field's value.
9371func (s *DBEngineVersion) SetSupportedTimezones(v []*Timezone) *DBEngineVersion {
9372	s.SupportedTimezones = v
9373	return s
9374}
9375
9376// SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value.
9377func (s *DBEngineVersion) SetSupportsLogExportsToCloudwatchLogs(v bool) *DBEngineVersion {
9378	s.SupportsLogExportsToCloudwatchLogs = &v
9379	return s
9380}
9381
9382// SetSupportsReadReplica sets the SupportsReadReplica field's value.
9383func (s *DBEngineVersion) SetSupportsReadReplica(v bool) *DBEngineVersion {
9384	s.SupportsReadReplica = &v
9385	return s
9386}
9387
9388// SetValidUpgradeTarget sets the ValidUpgradeTarget field's value.
9389func (s *DBEngineVersion) SetValidUpgradeTarget(v []*UpgradeTarget) *DBEngineVersion {
9390	s.ValidUpgradeTarget = v
9391	return s
9392}
9393
9394// Contains the details of an Amazon Neptune DB instance.
9395//
9396// This data type is used as a response element in the DescribeDBInstances action.
9397type DBInstance struct {
9398	_ struct{} `type:"structure"`
9399
9400	// Specifies the allocated storage size specified in gibibytes.
9401	AllocatedStorage *int64 `type:"integer"`
9402
9403	// Indicates that minor version patches are applied automatically.
9404	AutoMinorVersionUpgrade *bool `type:"boolean"`
9405
9406	// Specifies the name of the Availability Zone the DB instance is located in.
9407	AvailabilityZone *string `type:"string"`
9408
9409	// Specifies the number of days for which automatic DB snapshots are retained.
9410	BackupRetentionPeriod *int64 `type:"integer"`
9411
9412	// The identifier of the CA certificate for this DB instance.
9413	CACertificateIdentifier *string `type:"string"`
9414
9415	// (Not supported by Neptune)
9416	CharacterSetName *string `type:"string"`
9417
9418	// Specifies whether tags are copied from the DB instance to snapshots of the
9419	// DB instance.
9420	CopyTagsToSnapshot *bool `type:"boolean"`
9421
9422	// If the DB instance is a member of a DB cluster, contains the name of the
9423	// DB cluster that the DB instance is a member of.
9424	DBClusterIdentifier *string `type:"string"`
9425
9426	// The Amazon Resource Name (ARN) for the DB instance.
9427	DBInstanceArn *string `type:"string"`
9428
9429	// Contains the name of the compute and memory capacity class of the DB instance.
9430	DBInstanceClass *string `type:"string"`
9431
9432	// Contains a user-supplied database identifier. This identifier is the unique
9433	// key that identifies a DB instance.
9434	DBInstanceIdentifier *string `type:"string"`
9435
9436	// Specifies the current state of this database.
9437	DBInstanceStatus *string `type:"string"`
9438
9439	// The database name.
9440	DBName *string `type:"string"`
9441
9442	// Provides the list of DB parameter groups applied to this DB instance.
9443	DBParameterGroups []*DBParameterGroupStatus `locationNameList:"DBParameterGroup" type:"list"`
9444
9445	// Provides List of DB security group elements containing only DBSecurityGroup.Name
9446	// and DBSecurityGroup.Status subelements.
9447	DBSecurityGroups []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
9448
9449	// Specifies information on the subnet group associated with the DB instance,
9450	// including the name, description, and subnets in the subnet group.
9451	DBSubnetGroup *DBSubnetGroup `type:"structure"`
9452
9453	// Specifies the port that the DB instance listens on. If the DB instance is
9454	// part of a DB cluster, this can be a different port than the DB cluster port.
9455	DbInstancePort *int64 `type:"integer"`
9456
9457	// The AWS Region-unique, immutable identifier for the DB instance. This identifier
9458	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
9459	// instance is accessed.
9460	DbiResourceId *string `type:"string"`
9461
9462	// Indicates whether or not the DB instance has deletion protection enabled.
9463	// The instance can't be deleted when deletion protection is enabled. See Deleting
9464	// a DB Instance (https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html).
9465	DeletionProtection *bool `type:"boolean"`
9466
9467	// Not supported
9468	DomainMemberships []*DomainMembership `locationNameList:"DomainMembership" type:"list"`
9469
9470	// A list of log types that this DB instance is configured to export to CloudWatch
9471	// Logs.
9472	EnabledCloudwatchLogsExports []*string `type:"list"`
9473
9474	// Specifies the connection endpoint.
9475	Endpoint *Endpoint `type:"structure"`
9476
9477	// Provides the name of the database engine to be used for this DB instance.
9478	Engine *string `type:"string"`
9479
9480	// Indicates the database engine version.
9481	EngineVersion *string `type:"string"`
9482
9483	// The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that
9484	// receives the Enhanced Monitoring metrics data for the DB instance.
9485	EnhancedMonitoringResourceArn *string `type:"string"`
9486
9487	// True if AWS Identity and Access Management (IAM) authentication is enabled,
9488	// and otherwise false.
9489	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
9490
9491	// Provides the date and time the DB instance was created.
9492	InstanceCreateTime *time.Time `type:"timestamp"`
9493
9494	// Specifies the Provisioned IOPS (I/O operations per second) value.
9495	Iops *int64 `type:"integer"`
9496
9497	// Not supported: The encryption for DB instances is managed by the DB cluster.
9498	KmsKeyId *string `type:"string"`
9499
9500	// Specifies the latest time to which a database can be restored with point-in-time
9501	// restore.
9502	LatestRestorableTime *time.Time `type:"timestamp"`
9503
9504	// License model information for this DB instance.
9505	LicenseModel *string `type:"string"`
9506
9507	// Contains the master username for the DB instance.
9508	MasterUsername *string `type:"string"`
9509
9510	// The interval, in seconds, between points when Enhanced Monitoring metrics
9511	// are collected for the DB instance.
9512	MonitoringInterval *int64 `type:"integer"`
9513
9514	// The ARN for the IAM role that permits Neptune to send Enhanced Monitoring
9515	// metrics to Amazon CloudWatch Logs.
9516	MonitoringRoleArn *string `type:"string"`
9517
9518	// Specifies if the DB instance is a Multi-AZ deployment.
9519	MultiAZ *bool `type:"boolean"`
9520
9521	// (Not supported by Neptune)
9522	OptionGroupMemberships []*OptionGroupMembership `locationNameList:"OptionGroupMembership" type:"list"`
9523
9524	// Specifies that changes to the DB instance are pending. This element is only
9525	// included when changes are pending. Specific changes are identified by subelements.
9526	PendingModifiedValues *PendingModifiedValues `type:"structure"`
9527
9528	// (Not supported by Neptune)
9529	PerformanceInsightsEnabled *bool `type:"boolean"`
9530
9531	// (Not supported by Neptune)
9532	PerformanceInsightsKMSKeyId *string `type:"string"`
9533
9534	// Specifies the daily time range during which automated backups are created
9535	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
9536	PreferredBackupWindow *string `type:"string"`
9537
9538	// Specifies the weekly time range during which system maintenance can occur,
9539	// in Universal Coordinated Time (UTC).
9540	PreferredMaintenanceWindow *string `type:"string"`
9541
9542	// A value that specifies the order in which a Read Replica is promoted to the
9543	// primary instance after a failure of the existing primary instance.
9544	PromotionTier *int64 `type:"integer"`
9545
9546	// This flag should no longer be used.
9547	//
9548	// Deprecated: PubliclyAccessible has been deprecated
9549	PubliclyAccessible *bool `deprecated:"true" type:"boolean"`
9550
9551	// Contains one or more identifiers of DB clusters that are Read Replicas of
9552	// this DB instance.
9553	ReadReplicaDBClusterIdentifiers []*string `locationNameList:"ReadReplicaDBClusterIdentifier" type:"list"`
9554
9555	// Contains one or more identifiers of the Read Replicas associated with this
9556	// DB instance.
9557	ReadReplicaDBInstanceIdentifiers []*string `locationNameList:"ReadReplicaDBInstanceIdentifier" type:"list"`
9558
9559	// Contains the identifier of the source DB instance if this DB instance is
9560	// a Read Replica.
9561	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
9562
9563	// If present, specifies the name of the secondary Availability Zone for a DB
9564	// instance with multi-AZ support.
9565	SecondaryAvailabilityZone *string `type:"string"`
9566
9567	// The status of a Read Replica. If the instance is not a Read Replica, this
9568	// is blank.
9569	StatusInfos []*DBInstanceStatusInfo `locationNameList:"DBInstanceStatusInfo" type:"list"`
9570
9571	// Not supported: The encryption for DB instances is managed by the DB cluster.
9572	StorageEncrypted *bool `type:"boolean"`
9573
9574	// Specifies the storage type associated with DB instance.
9575	StorageType *string `type:"string"`
9576
9577	// The ARN from the key store with which the instance is associated for TDE
9578	// encryption.
9579	TdeCredentialArn *string `type:"string"`
9580
9581	// Not supported.
9582	Timezone *string `type:"string"`
9583
9584	// Provides a list of VPC security group elements that the DB instance belongs
9585	// to.
9586	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
9587}
9588
9589// String returns the string representation
9590func (s DBInstance) String() string {
9591	return awsutil.Prettify(s)
9592}
9593
9594// GoString returns the string representation
9595func (s DBInstance) GoString() string {
9596	return s.String()
9597}
9598
9599// SetAllocatedStorage sets the AllocatedStorage field's value.
9600func (s *DBInstance) SetAllocatedStorage(v int64) *DBInstance {
9601	s.AllocatedStorage = &v
9602	return s
9603}
9604
9605// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
9606func (s *DBInstance) SetAutoMinorVersionUpgrade(v bool) *DBInstance {
9607	s.AutoMinorVersionUpgrade = &v
9608	return s
9609}
9610
9611// SetAvailabilityZone sets the AvailabilityZone field's value.
9612func (s *DBInstance) SetAvailabilityZone(v string) *DBInstance {
9613	s.AvailabilityZone = &v
9614	return s
9615}
9616
9617// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
9618func (s *DBInstance) SetBackupRetentionPeriod(v int64) *DBInstance {
9619	s.BackupRetentionPeriod = &v
9620	return s
9621}
9622
9623// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
9624func (s *DBInstance) SetCACertificateIdentifier(v string) *DBInstance {
9625	s.CACertificateIdentifier = &v
9626	return s
9627}
9628
9629// SetCharacterSetName sets the CharacterSetName field's value.
9630func (s *DBInstance) SetCharacterSetName(v string) *DBInstance {
9631	s.CharacterSetName = &v
9632	return s
9633}
9634
9635// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
9636func (s *DBInstance) SetCopyTagsToSnapshot(v bool) *DBInstance {
9637	s.CopyTagsToSnapshot = &v
9638	return s
9639}
9640
9641// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
9642func (s *DBInstance) SetDBClusterIdentifier(v string) *DBInstance {
9643	s.DBClusterIdentifier = &v
9644	return s
9645}
9646
9647// SetDBInstanceArn sets the DBInstanceArn field's value.
9648func (s *DBInstance) SetDBInstanceArn(v string) *DBInstance {
9649	s.DBInstanceArn = &v
9650	return s
9651}
9652
9653// SetDBInstanceClass sets the DBInstanceClass field's value.
9654func (s *DBInstance) SetDBInstanceClass(v string) *DBInstance {
9655	s.DBInstanceClass = &v
9656	return s
9657}
9658
9659// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
9660func (s *DBInstance) SetDBInstanceIdentifier(v string) *DBInstance {
9661	s.DBInstanceIdentifier = &v
9662	return s
9663}
9664
9665// SetDBInstanceStatus sets the DBInstanceStatus field's value.
9666func (s *DBInstance) SetDBInstanceStatus(v string) *DBInstance {
9667	s.DBInstanceStatus = &v
9668	return s
9669}
9670
9671// SetDBName sets the DBName field's value.
9672func (s *DBInstance) SetDBName(v string) *DBInstance {
9673	s.DBName = &v
9674	return s
9675}
9676
9677// SetDBParameterGroups sets the DBParameterGroups field's value.
9678func (s *DBInstance) SetDBParameterGroups(v []*DBParameterGroupStatus) *DBInstance {
9679	s.DBParameterGroups = v
9680	return s
9681}
9682
9683// SetDBSecurityGroups sets the DBSecurityGroups field's value.
9684func (s *DBInstance) SetDBSecurityGroups(v []*DBSecurityGroupMembership) *DBInstance {
9685	s.DBSecurityGroups = v
9686	return s
9687}
9688
9689// SetDBSubnetGroup sets the DBSubnetGroup field's value.
9690func (s *DBInstance) SetDBSubnetGroup(v *DBSubnetGroup) *DBInstance {
9691	s.DBSubnetGroup = v
9692	return s
9693}
9694
9695// SetDbInstancePort sets the DbInstancePort field's value.
9696func (s *DBInstance) SetDbInstancePort(v int64) *DBInstance {
9697	s.DbInstancePort = &v
9698	return s
9699}
9700
9701// SetDbiResourceId sets the DbiResourceId field's value.
9702func (s *DBInstance) SetDbiResourceId(v string) *DBInstance {
9703	s.DbiResourceId = &v
9704	return s
9705}
9706
9707// SetDeletionProtection sets the DeletionProtection field's value.
9708func (s *DBInstance) SetDeletionProtection(v bool) *DBInstance {
9709	s.DeletionProtection = &v
9710	return s
9711}
9712
9713// SetDomainMemberships sets the DomainMemberships field's value.
9714func (s *DBInstance) SetDomainMemberships(v []*DomainMembership) *DBInstance {
9715	s.DomainMemberships = v
9716	return s
9717}
9718
9719// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
9720func (s *DBInstance) SetEnabledCloudwatchLogsExports(v []*string) *DBInstance {
9721	s.EnabledCloudwatchLogsExports = v
9722	return s
9723}
9724
9725// SetEndpoint sets the Endpoint field's value.
9726func (s *DBInstance) SetEndpoint(v *Endpoint) *DBInstance {
9727	s.Endpoint = v
9728	return s
9729}
9730
9731// SetEngine sets the Engine field's value.
9732func (s *DBInstance) SetEngine(v string) *DBInstance {
9733	s.Engine = &v
9734	return s
9735}
9736
9737// SetEngineVersion sets the EngineVersion field's value.
9738func (s *DBInstance) SetEngineVersion(v string) *DBInstance {
9739	s.EngineVersion = &v
9740	return s
9741}
9742
9743// SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
9744func (s *DBInstance) SetEnhancedMonitoringResourceArn(v string) *DBInstance {
9745	s.EnhancedMonitoringResourceArn = &v
9746	return s
9747}
9748
9749// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
9750func (s *DBInstance) SetIAMDatabaseAuthenticationEnabled(v bool) *DBInstance {
9751	s.IAMDatabaseAuthenticationEnabled = &v
9752	return s
9753}
9754
9755// SetInstanceCreateTime sets the InstanceCreateTime field's value.
9756func (s *DBInstance) SetInstanceCreateTime(v time.Time) *DBInstance {
9757	s.InstanceCreateTime = &v
9758	return s
9759}
9760
9761// SetIops sets the Iops field's value.
9762func (s *DBInstance) SetIops(v int64) *DBInstance {
9763	s.Iops = &v
9764	return s
9765}
9766
9767// SetKmsKeyId sets the KmsKeyId field's value.
9768func (s *DBInstance) SetKmsKeyId(v string) *DBInstance {
9769	s.KmsKeyId = &v
9770	return s
9771}
9772
9773// SetLatestRestorableTime sets the LatestRestorableTime field's value.
9774func (s *DBInstance) SetLatestRestorableTime(v time.Time) *DBInstance {
9775	s.LatestRestorableTime = &v
9776	return s
9777}
9778
9779// SetLicenseModel sets the LicenseModel field's value.
9780func (s *DBInstance) SetLicenseModel(v string) *DBInstance {
9781	s.LicenseModel = &v
9782	return s
9783}
9784
9785// SetMasterUsername sets the MasterUsername field's value.
9786func (s *DBInstance) SetMasterUsername(v string) *DBInstance {
9787	s.MasterUsername = &v
9788	return s
9789}
9790
9791// SetMonitoringInterval sets the MonitoringInterval field's value.
9792func (s *DBInstance) SetMonitoringInterval(v int64) *DBInstance {
9793	s.MonitoringInterval = &v
9794	return s
9795}
9796
9797// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
9798func (s *DBInstance) SetMonitoringRoleArn(v string) *DBInstance {
9799	s.MonitoringRoleArn = &v
9800	return s
9801}
9802
9803// SetMultiAZ sets the MultiAZ field's value.
9804func (s *DBInstance) SetMultiAZ(v bool) *DBInstance {
9805	s.MultiAZ = &v
9806	return s
9807}
9808
9809// SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
9810func (s *DBInstance) SetOptionGroupMemberships(v []*OptionGroupMembership) *DBInstance {
9811	s.OptionGroupMemberships = v
9812	return s
9813}
9814
9815// SetPendingModifiedValues sets the PendingModifiedValues field's value.
9816func (s *DBInstance) SetPendingModifiedValues(v *PendingModifiedValues) *DBInstance {
9817	s.PendingModifiedValues = v
9818	return s
9819}
9820
9821// SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
9822func (s *DBInstance) SetPerformanceInsightsEnabled(v bool) *DBInstance {
9823	s.PerformanceInsightsEnabled = &v
9824	return s
9825}
9826
9827// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
9828func (s *DBInstance) SetPerformanceInsightsKMSKeyId(v string) *DBInstance {
9829	s.PerformanceInsightsKMSKeyId = &v
9830	return s
9831}
9832
9833// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
9834func (s *DBInstance) SetPreferredBackupWindow(v string) *DBInstance {
9835	s.PreferredBackupWindow = &v
9836	return s
9837}
9838
9839// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
9840func (s *DBInstance) SetPreferredMaintenanceWindow(v string) *DBInstance {
9841	s.PreferredMaintenanceWindow = &v
9842	return s
9843}
9844
9845// SetPromotionTier sets the PromotionTier field's value.
9846func (s *DBInstance) SetPromotionTier(v int64) *DBInstance {
9847	s.PromotionTier = &v
9848	return s
9849}
9850
9851// SetPubliclyAccessible sets the PubliclyAccessible field's value.
9852func (s *DBInstance) SetPubliclyAccessible(v bool) *DBInstance {
9853	s.PubliclyAccessible = &v
9854	return s
9855}
9856
9857// SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
9858func (s *DBInstance) SetReadReplicaDBClusterIdentifiers(v []*string) *DBInstance {
9859	s.ReadReplicaDBClusterIdentifiers = v
9860	return s
9861}
9862
9863// SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
9864func (s *DBInstance) SetReadReplicaDBInstanceIdentifiers(v []*string) *DBInstance {
9865	s.ReadReplicaDBInstanceIdentifiers = v
9866	return s
9867}
9868
9869// SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
9870func (s *DBInstance) SetReadReplicaSourceDBInstanceIdentifier(v string) *DBInstance {
9871	s.ReadReplicaSourceDBInstanceIdentifier = &v
9872	return s
9873}
9874
9875// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
9876func (s *DBInstance) SetSecondaryAvailabilityZone(v string) *DBInstance {
9877	s.SecondaryAvailabilityZone = &v
9878	return s
9879}
9880
9881// SetStatusInfos sets the StatusInfos field's value.
9882func (s *DBInstance) SetStatusInfos(v []*DBInstanceStatusInfo) *DBInstance {
9883	s.StatusInfos = v
9884	return s
9885}
9886
9887// SetStorageEncrypted sets the StorageEncrypted field's value.
9888func (s *DBInstance) SetStorageEncrypted(v bool) *DBInstance {
9889	s.StorageEncrypted = &v
9890	return s
9891}
9892
9893// SetStorageType sets the StorageType field's value.
9894func (s *DBInstance) SetStorageType(v string) *DBInstance {
9895	s.StorageType = &v
9896	return s
9897}
9898
9899// SetTdeCredentialArn sets the TdeCredentialArn field's value.
9900func (s *DBInstance) SetTdeCredentialArn(v string) *DBInstance {
9901	s.TdeCredentialArn = &v
9902	return s
9903}
9904
9905// SetTimezone sets the Timezone field's value.
9906func (s *DBInstance) SetTimezone(v string) *DBInstance {
9907	s.Timezone = &v
9908	return s
9909}
9910
9911// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
9912func (s *DBInstance) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBInstance {
9913	s.VpcSecurityGroups = v
9914	return s
9915}
9916
9917// Provides a list of status information for a DB instance.
9918type DBInstanceStatusInfo struct {
9919	_ struct{} `type:"structure"`
9920
9921	// Details of the error if there is an error for the instance. If the instance
9922	// is not in an error state, this value is blank.
9923	Message *string `type:"string"`
9924
9925	// Boolean value that is true if the instance is operating normally, or false
9926	// if the instance is in an error state.
9927	Normal *bool `type:"boolean"`
9928
9929	// Status of the DB instance. For a StatusType of read replica, the values can
9930	// be replicating, error, stopped, or terminated.
9931	Status *string `type:"string"`
9932
9933	// This value is currently "read replication."
9934	StatusType *string `type:"string"`
9935}
9936
9937// String returns the string representation
9938func (s DBInstanceStatusInfo) String() string {
9939	return awsutil.Prettify(s)
9940}
9941
9942// GoString returns the string representation
9943func (s DBInstanceStatusInfo) GoString() string {
9944	return s.String()
9945}
9946
9947// SetMessage sets the Message field's value.
9948func (s *DBInstanceStatusInfo) SetMessage(v string) *DBInstanceStatusInfo {
9949	s.Message = &v
9950	return s
9951}
9952
9953// SetNormal sets the Normal field's value.
9954func (s *DBInstanceStatusInfo) SetNormal(v bool) *DBInstanceStatusInfo {
9955	s.Normal = &v
9956	return s
9957}
9958
9959// SetStatus sets the Status field's value.
9960func (s *DBInstanceStatusInfo) SetStatus(v string) *DBInstanceStatusInfo {
9961	s.Status = &v
9962	return s
9963}
9964
9965// SetStatusType sets the StatusType field's value.
9966func (s *DBInstanceStatusInfo) SetStatusType(v string) *DBInstanceStatusInfo {
9967	s.StatusType = &v
9968	return s
9969}
9970
9971// Contains the details of an Amazon Neptune DB parameter group.
9972//
9973// This data type is used as a response element in the DescribeDBParameterGroups
9974// action.
9975type DBParameterGroup struct {
9976	_ struct{} `type:"structure"`
9977
9978	// The Amazon Resource Name (ARN) for the DB parameter group.
9979	DBParameterGroupArn *string `type:"string"`
9980
9981	// Provides the name of the DB parameter group family that this DB parameter
9982	// group is compatible with.
9983	DBParameterGroupFamily *string `type:"string"`
9984
9985	// Provides the name of the DB parameter group.
9986	DBParameterGroupName *string `type:"string"`
9987
9988	// Provides the customer-specified description for this DB parameter group.
9989	Description *string `type:"string"`
9990}
9991
9992// String returns the string representation
9993func (s DBParameterGroup) String() string {
9994	return awsutil.Prettify(s)
9995}
9996
9997// GoString returns the string representation
9998func (s DBParameterGroup) GoString() string {
9999	return s.String()
10000}
10001
10002// SetDBParameterGroupArn sets the DBParameterGroupArn field's value.
10003func (s *DBParameterGroup) SetDBParameterGroupArn(v string) *DBParameterGroup {
10004	s.DBParameterGroupArn = &v
10005	return s
10006}
10007
10008// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
10009func (s *DBParameterGroup) SetDBParameterGroupFamily(v string) *DBParameterGroup {
10010	s.DBParameterGroupFamily = &v
10011	return s
10012}
10013
10014// SetDBParameterGroupName sets the DBParameterGroupName field's value.
10015func (s *DBParameterGroup) SetDBParameterGroupName(v string) *DBParameterGroup {
10016	s.DBParameterGroupName = &v
10017	return s
10018}
10019
10020// SetDescription sets the Description field's value.
10021func (s *DBParameterGroup) SetDescription(v string) *DBParameterGroup {
10022	s.Description = &v
10023	return s
10024}
10025
10026// The status of the DB parameter group.
10027//
10028// This data type is used as a response element in the following actions:
10029//
10030//    * CreateDBInstance
10031//
10032//    * DeleteDBInstance
10033//
10034//    * ModifyDBInstance
10035//
10036//    * RebootDBInstance
10037type DBParameterGroupStatus struct {
10038	_ struct{} `type:"structure"`
10039
10040	// The name of the DP parameter group.
10041	DBParameterGroupName *string `type:"string"`
10042
10043	// The status of parameter updates.
10044	ParameterApplyStatus *string `type:"string"`
10045}
10046
10047// String returns the string representation
10048func (s DBParameterGroupStatus) String() string {
10049	return awsutil.Prettify(s)
10050}
10051
10052// GoString returns the string representation
10053func (s DBParameterGroupStatus) GoString() string {
10054	return s.String()
10055}
10056
10057// SetDBParameterGroupName sets the DBParameterGroupName field's value.
10058func (s *DBParameterGroupStatus) SetDBParameterGroupName(v string) *DBParameterGroupStatus {
10059	s.DBParameterGroupName = &v
10060	return s
10061}
10062
10063// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
10064func (s *DBParameterGroupStatus) SetParameterApplyStatus(v string) *DBParameterGroupStatus {
10065	s.ParameterApplyStatus = &v
10066	return s
10067}
10068
10069// Specifies membership in a designated DB security group.
10070type DBSecurityGroupMembership struct {
10071	_ struct{} `type:"structure"`
10072
10073	// The name of the DB security group.
10074	DBSecurityGroupName *string `type:"string"`
10075
10076	// The status of the DB security group.
10077	Status *string `type:"string"`
10078}
10079
10080// String returns the string representation
10081func (s DBSecurityGroupMembership) String() string {
10082	return awsutil.Prettify(s)
10083}
10084
10085// GoString returns the string representation
10086func (s DBSecurityGroupMembership) GoString() string {
10087	return s.String()
10088}
10089
10090// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
10091func (s *DBSecurityGroupMembership) SetDBSecurityGroupName(v string) *DBSecurityGroupMembership {
10092	s.DBSecurityGroupName = &v
10093	return s
10094}
10095
10096// SetStatus sets the Status field's value.
10097func (s *DBSecurityGroupMembership) SetStatus(v string) *DBSecurityGroupMembership {
10098	s.Status = &v
10099	return s
10100}
10101
10102// Contains the details of an Amazon Neptune DB subnet group.
10103//
10104// This data type is used as a response element in the DescribeDBSubnetGroups
10105// action.
10106type DBSubnetGroup struct {
10107	_ struct{} `type:"structure"`
10108
10109	// The Amazon Resource Name (ARN) for the DB subnet group.
10110	DBSubnetGroupArn *string `type:"string"`
10111
10112	// Provides the description of the DB subnet group.
10113	DBSubnetGroupDescription *string `type:"string"`
10114
10115	// The name of the DB subnet group.
10116	DBSubnetGroupName *string `type:"string"`
10117
10118	// Provides the status of the DB subnet group.
10119	SubnetGroupStatus *string `type:"string"`
10120
10121	// Contains a list of Subnet elements.
10122	Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
10123
10124	// Provides the VpcId of the DB subnet group.
10125	VpcId *string `type:"string"`
10126}
10127
10128// String returns the string representation
10129func (s DBSubnetGroup) String() string {
10130	return awsutil.Prettify(s)
10131}
10132
10133// GoString returns the string representation
10134func (s DBSubnetGroup) GoString() string {
10135	return s.String()
10136}
10137
10138// SetDBSubnetGroupArn sets the DBSubnetGroupArn field's value.
10139func (s *DBSubnetGroup) SetDBSubnetGroupArn(v string) *DBSubnetGroup {
10140	s.DBSubnetGroupArn = &v
10141	return s
10142}
10143
10144// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
10145func (s *DBSubnetGroup) SetDBSubnetGroupDescription(v string) *DBSubnetGroup {
10146	s.DBSubnetGroupDescription = &v
10147	return s
10148}
10149
10150// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
10151func (s *DBSubnetGroup) SetDBSubnetGroupName(v string) *DBSubnetGroup {
10152	s.DBSubnetGroupName = &v
10153	return s
10154}
10155
10156// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
10157func (s *DBSubnetGroup) SetSubnetGroupStatus(v string) *DBSubnetGroup {
10158	s.SubnetGroupStatus = &v
10159	return s
10160}
10161
10162// SetSubnets sets the Subnets field's value.
10163func (s *DBSubnetGroup) SetSubnets(v []*Subnet) *DBSubnetGroup {
10164	s.Subnets = v
10165	return s
10166}
10167
10168// SetVpcId sets the VpcId field's value.
10169func (s *DBSubnetGroup) SetVpcId(v string) *DBSubnetGroup {
10170	s.VpcId = &v
10171	return s
10172}
10173
10174type DeleteDBClusterInput struct {
10175	_ struct{} `type:"structure"`
10176
10177	// The DB cluster identifier for the DB cluster to be deleted. This parameter
10178	// isn't case-sensitive.
10179	//
10180	// Constraints:
10181	//
10182	//    * Must match an existing DBClusterIdentifier.
10183	//
10184	// DBClusterIdentifier is a required field
10185	DBClusterIdentifier *string `type:"string" required:"true"`
10186
10187	// The DB cluster snapshot identifier of the new DB cluster snapshot created
10188	// when SkipFinalSnapshot is set to false.
10189	//
10190	// Specifying this parameter and also setting the SkipFinalShapshot parameter
10191	// to true results in an error.
10192	//
10193	// Constraints:
10194	//
10195	//    * Must be 1 to 255 letters, numbers, or hyphens.
10196	//
10197	//    * First character must be a letter
10198	//
10199	//    * Cannot end with a hyphen or contain two consecutive hyphens
10200	FinalDBSnapshotIdentifier *string `type:"string"`
10201
10202	// Determines whether a final DB cluster snapshot is created before the DB cluster
10203	// is deleted. If true is specified, no DB cluster snapshot is created. If false
10204	// is specified, a DB cluster snapshot is created before the DB cluster is deleted.
10205	//
10206	// You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot
10207	// is false.
10208	//
10209	// Default: false
10210	SkipFinalSnapshot *bool `type:"boolean"`
10211}
10212
10213// String returns the string representation
10214func (s DeleteDBClusterInput) String() string {
10215	return awsutil.Prettify(s)
10216}
10217
10218// GoString returns the string representation
10219func (s DeleteDBClusterInput) GoString() string {
10220	return s.String()
10221}
10222
10223// Validate inspects the fields of the type to determine if they are valid.
10224func (s *DeleteDBClusterInput) Validate() error {
10225	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterInput"}
10226	if s.DBClusterIdentifier == nil {
10227		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
10228	}
10229
10230	if invalidParams.Len() > 0 {
10231		return invalidParams
10232	}
10233	return nil
10234}
10235
10236// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
10237func (s *DeleteDBClusterInput) SetDBClusterIdentifier(v string) *DeleteDBClusterInput {
10238	s.DBClusterIdentifier = &v
10239	return s
10240}
10241
10242// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
10243func (s *DeleteDBClusterInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBClusterInput {
10244	s.FinalDBSnapshotIdentifier = &v
10245	return s
10246}
10247
10248// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
10249func (s *DeleteDBClusterInput) SetSkipFinalSnapshot(v bool) *DeleteDBClusterInput {
10250	s.SkipFinalSnapshot = &v
10251	return s
10252}
10253
10254type DeleteDBClusterOutput struct {
10255	_ struct{} `type:"structure"`
10256
10257	// Contains the details of an Amazon Neptune DB cluster.
10258	//
10259	// This data type is used as a response element in the DescribeDBClusters action.
10260	DBCluster *DBCluster `type:"structure"`
10261}
10262
10263// String returns the string representation
10264func (s DeleteDBClusterOutput) String() string {
10265	return awsutil.Prettify(s)
10266}
10267
10268// GoString returns the string representation
10269func (s DeleteDBClusterOutput) GoString() string {
10270	return s.String()
10271}
10272
10273// SetDBCluster sets the DBCluster field's value.
10274func (s *DeleteDBClusterOutput) SetDBCluster(v *DBCluster) *DeleteDBClusterOutput {
10275	s.DBCluster = v
10276	return s
10277}
10278
10279type DeleteDBClusterParameterGroupInput struct {
10280	_ struct{} `type:"structure"`
10281
10282	// The name of the DB cluster parameter group.
10283	//
10284	// Constraints:
10285	//
10286	//    * Must be the name of an existing DB cluster parameter group.
10287	//
10288	//    * You can't delete a default DB cluster parameter group.
10289	//
10290	//    * Cannot be associated with any DB clusters.
10291	//
10292	// DBClusterParameterGroupName is a required field
10293	DBClusterParameterGroupName *string `type:"string" required:"true"`
10294}
10295
10296// String returns the string representation
10297func (s DeleteDBClusterParameterGroupInput) String() string {
10298	return awsutil.Prettify(s)
10299}
10300
10301// GoString returns the string representation
10302func (s DeleteDBClusterParameterGroupInput) GoString() string {
10303	return s.String()
10304}
10305
10306// Validate inspects the fields of the type to determine if they are valid.
10307func (s *DeleteDBClusterParameterGroupInput) Validate() error {
10308	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterParameterGroupInput"}
10309	if s.DBClusterParameterGroupName == nil {
10310		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
10311	}
10312
10313	if invalidParams.Len() > 0 {
10314		return invalidParams
10315	}
10316	return nil
10317}
10318
10319// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
10320func (s *DeleteDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *DeleteDBClusterParameterGroupInput {
10321	s.DBClusterParameterGroupName = &v
10322	return s
10323}
10324
10325type DeleteDBClusterParameterGroupOutput struct {
10326	_ struct{} `type:"structure"`
10327}
10328
10329// String returns the string representation
10330func (s DeleteDBClusterParameterGroupOutput) String() string {
10331	return awsutil.Prettify(s)
10332}
10333
10334// GoString returns the string representation
10335func (s DeleteDBClusterParameterGroupOutput) GoString() string {
10336	return s.String()
10337}
10338
10339type DeleteDBClusterSnapshotInput struct {
10340	_ struct{} `type:"structure"`
10341
10342	// The identifier of the DB cluster snapshot to delete.
10343	//
10344	// Constraints: Must be the name of an existing DB cluster snapshot in the available
10345	// state.
10346	//
10347	// DBClusterSnapshotIdentifier is a required field
10348	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
10349}
10350
10351// String returns the string representation
10352func (s DeleteDBClusterSnapshotInput) String() string {
10353	return awsutil.Prettify(s)
10354}
10355
10356// GoString returns the string representation
10357func (s DeleteDBClusterSnapshotInput) GoString() string {
10358	return s.String()
10359}
10360
10361// Validate inspects the fields of the type to determine if they are valid.
10362func (s *DeleteDBClusterSnapshotInput) Validate() error {
10363	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterSnapshotInput"}
10364	if s.DBClusterSnapshotIdentifier == nil {
10365		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
10366	}
10367
10368	if invalidParams.Len() > 0 {
10369		return invalidParams
10370	}
10371	return nil
10372}
10373
10374// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
10375func (s *DeleteDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *DeleteDBClusterSnapshotInput {
10376	s.DBClusterSnapshotIdentifier = &v
10377	return s
10378}
10379
10380type DeleteDBClusterSnapshotOutput struct {
10381	_ struct{} `type:"structure"`
10382
10383	// Contains the details for an Amazon Neptune DB cluster snapshot
10384	//
10385	// This data type is used as a response element in the DescribeDBClusterSnapshots
10386	// action.
10387	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
10388}
10389
10390// String returns the string representation
10391func (s DeleteDBClusterSnapshotOutput) String() string {
10392	return awsutil.Prettify(s)
10393}
10394
10395// GoString returns the string representation
10396func (s DeleteDBClusterSnapshotOutput) GoString() string {
10397	return s.String()
10398}
10399
10400// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
10401func (s *DeleteDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *DeleteDBClusterSnapshotOutput {
10402	s.DBClusterSnapshot = v
10403	return s
10404}
10405
10406type DeleteDBInstanceInput struct {
10407	_ struct{} `type:"structure"`
10408
10409	// The DB instance identifier for the DB instance to be deleted. This parameter
10410	// isn't case-sensitive.
10411	//
10412	// Constraints:
10413	//
10414	//    * Must match the name of an existing DB instance.
10415	//
10416	// DBInstanceIdentifier is a required field
10417	DBInstanceIdentifier *string `type:"string" required:"true"`
10418
10419	// The DBSnapshotIdentifier of the new DBSnapshot created when SkipFinalSnapshot
10420	// is set to false.
10421	//
10422	// Specifying this parameter and also setting the SkipFinalShapshot parameter
10423	// to true results in an error.
10424	//
10425	// Constraints:
10426	//
10427	//    * Must be 1 to 255 letters or numbers.
10428	//
10429	//    * First character must be a letter
10430	//
10431	//    * Cannot end with a hyphen or contain two consecutive hyphens
10432	//
10433	//    * Cannot be specified when deleting a Read Replica.
10434	FinalDBSnapshotIdentifier *string `type:"string"`
10435
10436	// Determines whether a final DB snapshot is created before the DB instance
10437	// is deleted. If true is specified, no DBSnapshot is created. If false is specified,
10438	// a DB snapshot is created before the DB instance is deleted.
10439	//
10440	// Note that when a DB instance is in a failure state and has a status of 'failed',
10441	// 'incompatible-restore', or 'incompatible-network', it can only be deleted
10442	// when the SkipFinalSnapshot parameter is set to "true".
10443	//
10444	// Specify true when deleting a Read Replica.
10445	//
10446	// The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot
10447	// is false.
10448	//
10449	// Default: false
10450	SkipFinalSnapshot *bool `type:"boolean"`
10451}
10452
10453// String returns the string representation
10454func (s DeleteDBInstanceInput) String() string {
10455	return awsutil.Prettify(s)
10456}
10457
10458// GoString returns the string representation
10459func (s DeleteDBInstanceInput) GoString() string {
10460	return s.String()
10461}
10462
10463// Validate inspects the fields of the type to determine if they are valid.
10464func (s *DeleteDBInstanceInput) Validate() error {
10465	invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceInput"}
10466	if s.DBInstanceIdentifier == nil {
10467		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
10468	}
10469
10470	if invalidParams.Len() > 0 {
10471		return invalidParams
10472	}
10473	return nil
10474}
10475
10476// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
10477func (s *DeleteDBInstanceInput) SetDBInstanceIdentifier(v string) *DeleteDBInstanceInput {
10478	s.DBInstanceIdentifier = &v
10479	return s
10480}
10481
10482// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
10483func (s *DeleteDBInstanceInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBInstanceInput {
10484	s.FinalDBSnapshotIdentifier = &v
10485	return s
10486}
10487
10488// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
10489func (s *DeleteDBInstanceInput) SetSkipFinalSnapshot(v bool) *DeleteDBInstanceInput {
10490	s.SkipFinalSnapshot = &v
10491	return s
10492}
10493
10494type DeleteDBInstanceOutput struct {
10495	_ struct{} `type:"structure"`
10496
10497	// Contains the details of an Amazon Neptune DB instance.
10498	//
10499	// This data type is used as a response element in the DescribeDBInstances action.
10500	DBInstance *DBInstance `type:"structure"`
10501}
10502
10503// String returns the string representation
10504func (s DeleteDBInstanceOutput) String() string {
10505	return awsutil.Prettify(s)
10506}
10507
10508// GoString returns the string representation
10509func (s DeleteDBInstanceOutput) GoString() string {
10510	return s.String()
10511}
10512
10513// SetDBInstance sets the DBInstance field's value.
10514func (s *DeleteDBInstanceOutput) SetDBInstance(v *DBInstance) *DeleteDBInstanceOutput {
10515	s.DBInstance = v
10516	return s
10517}
10518
10519type DeleteDBParameterGroupInput struct {
10520	_ struct{} `type:"structure"`
10521
10522	// The name of the DB parameter group.
10523	//
10524	// Constraints:
10525	//
10526	//    * Must be the name of an existing DB parameter group
10527	//
10528	//    * You can't delete a default DB parameter group
10529	//
10530	//    * Cannot be associated with any DB instances
10531	//
10532	// DBParameterGroupName is a required field
10533	DBParameterGroupName *string `type:"string" required:"true"`
10534}
10535
10536// String returns the string representation
10537func (s DeleteDBParameterGroupInput) String() string {
10538	return awsutil.Prettify(s)
10539}
10540
10541// GoString returns the string representation
10542func (s DeleteDBParameterGroupInput) GoString() string {
10543	return s.String()
10544}
10545
10546// Validate inspects the fields of the type to determine if they are valid.
10547func (s *DeleteDBParameterGroupInput) Validate() error {
10548	invalidParams := request.ErrInvalidParams{Context: "DeleteDBParameterGroupInput"}
10549	if s.DBParameterGroupName == nil {
10550		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
10551	}
10552
10553	if invalidParams.Len() > 0 {
10554		return invalidParams
10555	}
10556	return nil
10557}
10558
10559// SetDBParameterGroupName sets the DBParameterGroupName field's value.
10560func (s *DeleteDBParameterGroupInput) SetDBParameterGroupName(v string) *DeleteDBParameterGroupInput {
10561	s.DBParameterGroupName = &v
10562	return s
10563}
10564
10565type DeleteDBParameterGroupOutput struct {
10566	_ struct{} `type:"structure"`
10567}
10568
10569// String returns the string representation
10570func (s DeleteDBParameterGroupOutput) String() string {
10571	return awsutil.Prettify(s)
10572}
10573
10574// GoString returns the string representation
10575func (s DeleteDBParameterGroupOutput) GoString() string {
10576	return s.String()
10577}
10578
10579type DeleteDBSubnetGroupInput struct {
10580	_ struct{} `type:"structure"`
10581
10582	// The name of the database subnet group to delete.
10583	//
10584	// You can't delete the default subnet group.
10585	//
10586	// Constraints:
10587	//
10588	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
10589	// default.
10590	//
10591	// Example: mySubnetgroup
10592	//
10593	// DBSubnetGroupName is a required field
10594	DBSubnetGroupName *string `type:"string" required:"true"`
10595}
10596
10597// String returns the string representation
10598func (s DeleteDBSubnetGroupInput) String() string {
10599	return awsutil.Prettify(s)
10600}
10601
10602// GoString returns the string representation
10603func (s DeleteDBSubnetGroupInput) GoString() string {
10604	return s.String()
10605}
10606
10607// Validate inspects the fields of the type to determine if they are valid.
10608func (s *DeleteDBSubnetGroupInput) Validate() error {
10609	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSubnetGroupInput"}
10610	if s.DBSubnetGroupName == nil {
10611		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
10612	}
10613
10614	if invalidParams.Len() > 0 {
10615		return invalidParams
10616	}
10617	return nil
10618}
10619
10620// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
10621func (s *DeleteDBSubnetGroupInput) SetDBSubnetGroupName(v string) *DeleteDBSubnetGroupInput {
10622	s.DBSubnetGroupName = &v
10623	return s
10624}
10625
10626type DeleteDBSubnetGroupOutput struct {
10627	_ struct{} `type:"structure"`
10628}
10629
10630// String returns the string representation
10631func (s DeleteDBSubnetGroupOutput) String() string {
10632	return awsutil.Prettify(s)
10633}
10634
10635// GoString returns the string representation
10636func (s DeleteDBSubnetGroupOutput) GoString() string {
10637	return s.String()
10638}
10639
10640type DeleteEventSubscriptionInput struct {
10641	_ struct{} `type:"structure"`
10642
10643	// The name of the event notification subscription you want to delete.
10644	//
10645	// SubscriptionName is a required field
10646	SubscriptionName *string `type:"string" required:"true"`
10647}
10648
10649// String returns the string representation
10650func (s DeleteEventSubscriptionInput) String() string {
10651	return awsutil.Prettify(s)
10652}
10653
10654// GoString returns the string representation
10655func (s DeleteEventSubscriptionInput) GoString() string {
10656	return s.String()
10657}
10658
10659// Validate inspects the fields of the type to determine if they are valid.
10660func (s *DeleteEventSubscriptionInput) Validate() error {
10661	invalidParams := request.ErrInvalidParams{Context: "DeleteEventSubscriptionInput"}
10662	if s.SubscriptionName == nil {
10663		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
10664	}
10665
10666	if invalidParams.Len() > 0 {
10667		return invalidParams
10668	}
10669	return nil
10670}
10671
10672// SetSubscriptionName sets the SubscriptionName field's value.
10673func (s *DeleteEventSubscriptionInput) SetSubscriptionName(v string) *DeleteEventSubscriptionInput {
10674	s.SubscriptionName = &v
10675	return s
10676}
10677
10678type DeleteEventSubscriptionOutput struct {
10679	_ struct{} `type:"structure"`
10680
10681	// Contains the results of a successful invocation of the DescribeEventSubscriptions
10682	// action.
10683	EventSubscription *EventSubscription `type:"structure"`
10684}
10685
10686// String returns the string representation
10687func (s DeleteEventSubscriptionOutput) String() string {
10688	return awsutil.Prettify(s)
10689}
10690
10691// GoString returns the string representation
10692func (s DeleteEventSubscriptionOutput) GoString() string {
10693	return s.String()
10694}
10695
10696// SetEventSubscription sets the EventSubscription field's value.
10697func (s *DeleteEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *DeleteEventSubscriptionOutput {
10698	s.EventSubscription = v
10699	return s
10700}
10701
10702type DescribeDBClusterParameterGroupsInput struct {
10703	_ struct{} `type:"structure"`
10704
10705	// The name of a specific DB cluster parameter group to return details for.
10706	//
10707	// Constraints:
10708	//
10709	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
10710	DBClusterParameterGroupName *string `type:"string"`
10711
10712	// This parameter is not currently supported.
10713	Filters []*Filter `locationNameList:"Filter" type:"list"`
10714
10715	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
10716	// request. If this parameter is specified, the response includes only records
10717	// beyond the marker, up to the value specified by MaxRecords.
10718	Marker *string `type:"string"`
10719
10720	// The maximum number of records to include in the response. If more records
10721	// exist than the specified MaxRecords value, a pagination token called a marker
10722	// is included in the response so that the remaining results can be retrieved.
10723	//
10724	// Default: 100
10725	//
10726	// Constraints: Minimum 20, maximum 100.
10727	MaxRecords *int64 `type:"integer"`
10728}
10729
10730// String returns the string representation
10731func (s DescribeDBClusterParameterGroupsInput) String() string {
10732	return awsutil.Prettify(s)
10733}
10734
10735// GoString returns the string representation
10736func (s DescribeDBClusterParameterGroupsInput) GoString() string {
10737	return s.String()
10738}
10739
10740// Validate inspects the fields of the type to determine if they are valid.
10741func (s *DescribeDBClusterParameterGroupsInput) Validate() error {
10742	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParameterGroupsInput"}
10743	if s.Filters != nil {
10744		for i, v := range s.Filters {
10745			if v == nil {
10746				continue
10747			}
10748			if err := v.Validate(); err != nil {
10749				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
10750			}
10751		}
10752	}
10753
10754	if invalidParams.Len() > 0 {
10755		return invalidParams
10756	}
10757	return nil
10758}
10759
10760// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
10761func (s *DescribeDBClusterParameterGroupsInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParameterGroupsInput {
10762	s.DBClusterParameterGroupName = &v
10763	return s
10764}
10765
10766// SetFilters sets the Filters field's value.
10767func (s *DescribeDBClusterParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBClusterParameterGroupsInput {
10768	s.Filters = v
10769	return s
10770}
10771
10772// SetMarker sets the Marker field's value.
10773func (s *DescribeDBClusterParameterGroupsInput) SetMarker(v string) *DescribeDBClusterParameterGroupsInput {
10774	s.Marker = &v
10775	return s
10776}
10777
10778// SetMaxRecords sets the MaxRecords field's value.
10779func (s *DescribeDBClusterParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBClusterParameterGroupsInput {
10780	s.MaxRecords = &v
10781	return s
10782}
10783
10784type DescribeDBClusterParameterGroupsOutput struct {
10785	_ struct{} `type:"structure"`
10786
10787	// A list of DB cluster parameter groups.
10788	DBClusterParameterGroups []*DBClusterParameterGroup `locationNameList:"DBClusterParameterGroup" type:"list"`
10789
10790	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
10791	// request. If this parameter is specified, the response includes only records
10792	// beyond the marker, up to the value specified by MaxRecords.
10793	Marker *string `type:"string"`
10794}
10795
10796// String returns the string representation
10797func (s DescribeDBClusterParameterGroupsOutput) String() string {
10798	return awsutil.Prettify(s)
10799}
10800
10801// GoString returns the string representation
10802func (s DescribeDBClusterParameterGroupsOutput) GoString() string {
10803	return s.String()
10804}
10805
10806// SetDBClusterParameterGroups sets the DBClusterParameterGroups field's value.
10807func (s *DescribeDBClusterParameterGroupsOutput) SetDBClusterParameterGroups(v []*DBClusterParameterGroup) *DescribeDBClusterParameterGroupsOutput {
10808	s.DBClusterParameterGroups = v
10809	return s
10810}
10811
10812// SetMarker sets the Marker field's value.
10813func (s *DescribeDBClusterParameterGroupsOutput) SetMarker(v string) *DescribeDBClusterParameterGroupsOutput {
10814	s.Marker = &v
10815	return s
10816}
10817
10818type DescribeDBClusterParametersInput struct {
10819	_ struct{} `type:"structure"`
10820
10821	// The name of a specific DB cluster parameter group to return parameter details
10822	// for.
10823	//
10824	// Constraints:
10825	//
10826	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
10827	//
10828	// DBClusterParameterGroupName is a required field
10829	DBClusterParameterGroupName *string `type:"string" required:"true"`
10830
10831	// This parameter is not currently supported.
10832	Filters []*Filter `locationNameList:"Filter" type:"list"`
10833
10834	// An optional pagination token provided by a previous DescribeDBClusterParameters
10835	// request. If this parameter is specified, the response includes only records
10836	// beyond the marker, up to the value specified by MaxRecords.
10837	Marker *string `type:"string"`
10838
10839	// The maximum number of records to include in the response. If more records
10840	// exist than the specified MaxRecords value, a pagination token called a marker
10841	// is included in the response so that the remaining results can be retrieved.
10842	//
10843	// Default: 100
10844	//
10845	// Constraints: Minimum 20, maximum 100.
10846	MaxRecords *int64 `type:"integer"`
10847
10848	// A value that indicates to return only parameters for a specific source. Parameter
10849	// sources can be engine, service, or customer.
10850	Source *string `type:"string"`
10851}
10852
10853// String returns the string representation
10854func (s DescribeDBClusterParametersInput) String() string {
10855	return awsutil.Prettify(s)
10856}
10857
10858// GoString returns the string representation
10859func (s DescribeDBClusterParametersInput) GoString() string {
10860	return s.String()
10861}
10862
10863// Validate inspects the fields of the type to determine if they are valid.
10864func (s *DescribeDBClusterParametersInput) Validate() error {
10865	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParametersInput"}
10866	if s.DBClusterParameterGroupName == nil {
10867		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
10868	}
10869	if s.Filters != nil {
10870		for i, v := range s.Filters {
10871			if v == nil {
10872				continue
10873			}
10874			if err := v.Validate(); err != nil {
10875				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
10876			}
10877		}
10878	}
10879
10880	if invalidParams.Len() > 0 {
10881		return invalidParams
10882	}
10883	return nil
10884}
10885
10886// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
10887func (s *DescribeDBClusterParametersInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParametersInput {
10888	s.DBClusterParameterGroupName = &v
10889	return s
10890}
10891
10892// SetFilters sets the Filters field's value.
10893func (s *DescribeDBClusterParametersInput) SetFilters(v []*Filter) *DescribeDBClusterParametersInput {
10894	s.Filters = v
10895	return s
10896}
10897
10898// SetMarker sets the Marker field's value.
10899func (s *DescribeDBClusterParametersInput) SetMarker(v string) *DescribeDBClusterParametersInput {
10900	s.Marker = &v
10901	return s
10902}
10903
10904// SetMaxRecords sets the MaxRecords field's value.
10905func (s *DescribeDBClusterParametersInput) SetMaxRecords(v int64) *DescribeDBClusterParametersInput {
10906	s.MaxRecords = &v
10907	return s
10908}
10909
10910// SetSource sets the Source field's value.
10911func (s *DescribeDBClusterParametersInput) SetSource(v string) *DescribeDBClusterParametersInput {
10912	s.Source = &v
10913	return s
10914}
10915
10916type DescribeDBClusterParametersOutput struct {
10917	_ struct{} `type:"structure"`
10918
10919	// An optional pagination token provided by a previous DescribeDBClusterParameters
10920	// request. If this parameter is specified, the response includes only records
10921	// beyond the marker, up to the value specified by MaxRecords .
10922	Marker *string `type:"string"`
10923
10924	// Provides a list of parameters for the DB cluster parameter group.
10925	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
10926}
10927
10928// String returns the string representation
10929func (s DescribeDBClusterParametersOutput) String() string {
10930	return awsutil.Prettify(s)
10931}
10932
10933// GoString returns the string representation
10934func (s DescribeDBClusterParametersOutput) GoString() string {
10935	return s.String()
10936}
10937
10938// SetMarker sets the Marker field's value.
10939func (s *DescribeDBClusterParametersOutput) SetMarker(v string) *DescribeDBClusterParametersOutput {
10940	s.Marker = &v
10941	return s
10942}
10943
10944// SetParameters sets the Parameters field's value.
10945func (s *DescribeDBClusterParametersOutput) SetParameters(v []*Parameter) *DescribeDBClusterParametersOutput {
10946	s.Parameters = v
10947	return s
10948}
10949
10950type DescribeDBClusterSnapshotAttributesInput struct {
10951	_ struct{} `type:"structure"`
10952
10953	// The identifier for the DB cluster snapshot to describe the attributes for.
10954	//
10955	// DBClusterSnapshotIdentifier is a required field
10956	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
10957}
10958
10959// String returns the string representation
10960func (s DescribeDBClusterSnapshotAttributesInput) String() string {
10961	return awsutil.Prettify(s)
10962}
10963
10964// GoString returns the string representation
10965func (s DescribeDBClusterSnapshotAttributesInput) GoString() string {
10966	return s.String()
10967}
10968
10969// Validate inspects the fields of the type to determine if they are valid.
10970func (s *DescribeDBClusterSnapshotAttributesInput) Validate() error {
10971	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotAttributesInput"}
10972	if s.DBClusterSnapshotIdentifier == nil {
10973		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
10974	}
10975
10976	if invalidParams.Len() > 0 {
10977		return invalidParams
10978	}
10979	return nil
10980}
10981
10982// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
10983func (s *DescribeDBClusterSnapshotAttributesInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotAttributesInput {
10984	s.DBClusterSnapshotIdentifier = &v
10985	return s
10986}
10987
10988type DescribeDBClusterSnapshotAttributesOutput struct {
10989	_ struct{} `type:"structure"`
10990
10991	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
10992	// API action.
10993	//
10994	// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
10995	// to copy or restore a manual DB cluster snapshot. For more information, see
10996	// the ModifyDBClusterSnapshotAttribute API action.
10997	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
10998}
10999
11000// String returns the string representation
11001func (s DescribeDBClusterSnapshotAttributesOutput) String() string {
11002	return awsutil.Prettify(s)
11003}
11004
11005// GoString returns the string representation
11006func (s DescribeDBClusterSnapshotAttributesOutput) GoString() string {
11007	return s.String()
11008}
11009
11010// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
11011func (s *DescribeDBClusterSnapshotAttributesOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *DescribeDBClusterSnapshotAttributesOutput {
11012	s.DBClusterSnapshotAttributesResult = v
11013	return s
11014}
11015
11016type DescribeDBClusterSnapshotsInput struct {
11017	_ struct{} `type:"structure"`
11018
11019	// The ID of the DB cluster to retrieve the list of DB cluster snapshots for.
11020	// This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier
11021	// parameter. This parameter is not case-sensitive.
11022	//
11023	// Constraints:
11024	//
11025	//    * If supplied, must match the identifier of an existing DBCluster.
11026	DBClusterIdentifier *string `type:"string"`
11027
11028	// A specific DB cluster snapshot identifier to describe. This parameter can't
11029	// be used in conjunction with the DBClusterIdentifier parameter. This value
11030	// is stored as a lowercase string.
11031	//
11032	// Constraints:
11033	//
11034	//    * If supplied, must match the identifier of an existing DBClusterSnapshot.
11035	//
11036	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
11037	//    must also be specified.
11038	DBClusterSnapshotIdentifier *string `type:"string"`
11039
11040	// This parameter is not currently supported.
11041	Filters []*Filter `locationNameList:"Filter" type:"list"`
11042
11043	// True to include manual DB cluster snapshots that are public and can be copied
11044	// or restored by any AWS account, and otherwise false. The default is false.
11045	// The default is false.
11046	//
11047	// You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute
11048	// API action.
11049	IncludePublic *bool `type:"boolean"`
11050
11051	// True to include shared manual DB cluster snapshots from other AWS accounts
11052	// that this AWS account has been given permission to copy or restore, and otherwise
11053	// false. The default is false.
11054	//
11055	// You can give an AWS account permission to restore a manual DB cluster snapshot
11056	// from another AWS account by the ModifyDBClusterSnapshotAttribute API action.
11057	IncludeShared *bool `type:"boolean"`
11058
11059	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
11060	// request. If this parameter is specified, the response includes only records
11061	// beyond the marker, up to the value specified by MaxRecords.
11062	Marker *string `type:"string"`
11063
11064	// The maximum number of records to include in the response. If more records
11065	// exist than the specified MaxRecords value, a pagination token called a marker
11066	// is included in the response so that the remaining results can be retrieved.
11067	//
11068	// Default: 100
11069	//
11070	// Constraints: Minimum 20, maximum 100.
11071	MaxRecords *int64 `type:"integer"`
11072
11073	// The type of DB cluster snapshots to be returned. You can specify one of the
11074	// following values:
11075	//
11076	//    * automated - Return all DB cluster snapshots that have been automatically
11077	//    taken by Amazon Neptune for my AWS account.
11078	//
11079	//    * manual - Return all DB cluster snapshots that have been taken by my
11080	//    AWS account.
11081	//
11082	//    * shared - Return all manual DB cluster snapshots that have been shared
11083	//    to my AWS account.
11084	//
11085	//    * public - Return all DB cluster snapshots that have been marked as public.
11086	//
11087	// If you don't specify a SnapshotType value, then both automated and manual
11088	// DB cluster snapshots are returned. You can include shared DB cluster snapshots
11089	// with these results by setting the IncludeShared parameter to true. You can
11090	// include public DB cluster snapshots with these results by setting the IncludePublic
11091	// parameter to true.
11092	//
11093	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
11094	// values of manual or automated. The IncludePublic parameter doesn't apply
11095	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
11096	// when SnapshotType is set to public.
11097	SnapshotType *string `type:"string"`
11098}
11099
11100// String returns the string representation
11101func (s DescribeDBClusterSnapshotsInput) String() string {
11102	return awsutil.Prettify(s)
11103}
11104
11105// GoString returns the string representation
11106func (s DescribeDBClusterSnapshotsInput) GoString() string {
11107	return s.String()
11108}
11109
11110// Validate inspects the fields of the type to determine if they are valid.
11111func (s *DescribeDBClusterSnapshotsInput) Validate() error {
11112	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotsInput"}
11113	if s.Filters != nil {
11114		for i, v := range s.Filters {
11115			if v == nil {
11116				continue
11117			}
11118			if err := v.Validate(); err != nil {
11119				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
11120			}
11121		}
11122	}
11123
11124	if invalidParams.Len() > 0 {
11125		return invalidParams
11126	}
11127	return nil
11128}
11129
11130// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
11131func (s *DescribeDBClusterSnapshotsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterSnapshotsInput {
11132	s.DBClusterIdentifier = &v
11133	return s
11134}
11135
11136// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
11137func (s *DescribeDBClusterSnapshotsInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotsInput {
11138	s.DBClusterSnapshotIdentifier = &v
11139	return s
11140}
11141
11142// SetFilters sets the Filters field's value.
11143func (s *DescribeDBClusterSnapshotsInput) SetFilters(v []*Filter) *DescribeDBClusterSnapshotsInput {
11144	s.Filters = v
11145	return s
11146}
11147
11148// SetIncludePublic sets the IncludePublic field's value.
11149func (s *DescribeDBClusterSnapshotsInput) SetIncludePublic(v bool) *DescribeDBClusterSnapshotsInput {
11150	s.IncludePublic = &v
11151	return s
11152}
11153
11154// SetIncludeShared sets the IncludeShared field's value.
11155func (s *DescribeDBClusterSnapshotsInput) SetIncludeShared(v bool) *DescribeDBClusterSnapshotsInput {
11156	s.IncludeShared = &v
11157	return s
11158}
11159
11160// SetMarker sets the Marker field's value.
11161func (s *DescribeDBClusterSnapshotsInput) SetMarker(v string) *DescribeDBClusterSnapshotsInput {
11162	s.Marker = &v
11163	return s
11164}
11165
11166// SetMaxRecords sets the MaxRecords field's value.
11167func (s *DescribeDBClusterSnapshotsInput) SetMaxRecords(v int64) *DescribeDBClusterSnapshotsInput {
11168	s.MaxRecords = &v
11169	return s
11170}
11171
11172// SetSnapshotType sets the SnapshotType field's value.
11173func (s *DescribeDBClusterSnapshotsInput) SetSnapshotType(v string) *DescribeDBClusterSnapshotsInput {
11174	s.SnapshotType = &v
11175	return s
11176}
11177
11178type DescribeDBClusterSnapshotsOutput struct {
11179	_ struct{} `type:"structure"`
11180
11181	// Provides a list of DB cluster snapshots for the user.
11182	DBClusterSnapshots []*DBClusterSnapshot `locationNameList:"DBClusterSnapshot" type:"list"`
11183
11184	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
11185	// request. If this parameter is specified, the response includes only records
11186	// beyond the marker, up to the value specified by MaxRecords.
11187	Marker *string `type:"string"`
11188}
11189
11190// String returns the string representation
11191func (s DescribeDBClusterSnapshotsOutput) String() string {
11192	return awsutil.Prettify(s)
11193}
11194
11195// GoString returns the string representation
11196func (s DescribeDBClusterSnapshotsOutput) GoString() string {
11197	return s.String()
11198}
11199
11200// SetDBClusterSnapshots sets the DBClusterSnapshots field's value.
11201func (s *DescribeDBClusterSnapshotsOutput) SetDBClusterSnapshots(v []*DBClusterSnapshot) *DescribeDBClusterSnapshotsOutput {
11202	s.DBClusterSnapshots = v
11203	return s
11204}
11205
11206// SetMarker sets the Marker field's value.
11207func (s *DescribeDBClusterSnapshotsOutput) SetMarker(v string) *DescribeDBClusterSnapshotsOutput {
11208	s.Marker = &v
11209	return s
11210}
11211
11212type DescribeDBClustersInput struct {
11213	_ struct{} `type:"structure"`
11214
11215	// The user-supplied DB cluster identifier. If this parameter is specified,
11216	// information from only the specific DB cluster is returned. This parameter
11217	// isn't case-sensitive.
11218	//
11219	// Constraints:
11220	//
11221	//    * If supplied, must match an existing DBClusterIdentifier.
11222	DBClusterIdentifier *string `type:"string"`
11223
11224	// A filter that specifies one or more DB clusters to describe.
11225	//
11226	// Supported filters:
11227	//
11228	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
11229	//    Resource Names (ARNs). The results list will only include information
11230	//    about the DB clusters identified by these ARNs.
11231	//
11232	//    * engine - Accepts an engine name (such as neptune), and restricts the
11233	//    results list to DB clusters created by that engine.
11234	//
11235	// For example, to invoke this API from the AWS CLI and filter so that only
11236	// Neptune DB clusters are returned, you could use the following command:
11237	Filters []*Filter `locationNameList:"Filter" type:"list"`
11238
11239	// An optional pagination token provided by a previous DescribeDBClusters request.
11240	// If this parameter is specified, the response includes only records beyond
11241	// the marker, up to the value specified by MaxRecords.
11242	Marker *string `type:"string"`
11243
11244	// The maximum number of records to include in the response. If more records
11245	// exist than the specified MaxRecords value, a pagination token called a marker
11246	// is included in the response so that the remaining results can be retrieved.
11247	//
11248	// Default: 100
11249	//
11250	// Constraints: Minimum 20, maximum 100.
11251	MaxRecords *int64 `type:"integer"`
11252}
11253
11254// String returns the string representation
11255func (s DescribeDBClustersInput) String() string {
11256	return awsutil.Prettify(s)
11257}
11258
11259// GoString returns the string representation
11260func (s DescribeDBClustersInput) GoString() string {
11261	return s.String()
11262}
11263
11264// Validate inspects the fields of the type to determine if they are valid.
11265func (s *DescribeDBClustersInput) Validate() error {
11266	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClustersInput"}
11267	if s.Filters != nil {
11268		for i, v := range s.Filters {
11269			if v == nil {
11270				continue
11271			}
11272			if err := v.Validate(); err != nil {
11273				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
11274			}
11275		}
11276	}
11277
11278	if invalidParams.Len() > 0 {
11279		return invalidParams
11280	}
11281	return nil
11282}
11283
11284// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
11285func (s *DescribeDBClustersInput) SetDBClusterIdentifier(v string) *DescribeDBClustersInput {
11286	s.DBClusterIdentifier = &v
11287	return s
11288}
11289
11290// SetFilters sets the Filters field's value.
11291func (s *DescribeDBClustersInput) SetFilters(v []*Filter) *DescribeDBClustersInput {
11292	s.Filters = v
11293	return s
11294}
11295
11296// SetMarker sets the Marker field's value.
11297func (s *DescribeDBClustersInput) SetMarker(v string) *DescribeDBClustersInput {
11298	s.Marker = &v
11299	return s
11300}
11301
11302// SetMaxRecords sets the MaxRecords field's value.
11303func (s *DescribeDBClustersInput) SetMaxRecords(v int64) *DescribeDBClustersInput {
11304	s.MaxRecords = &v
11305	return s
11306}
11307
11308type DescribeDBClustersOutput struct {
11309	_ struct{} `type:"structure"`
11310
11311	// Contains a list of DB clusters for the user.
11312	DBClusters []*DBCluster `locationNameList:"DBCluster" type:"list"`
11313
11314	// A pagination token that can be used in a subsequent DescribeDBClusters request.
11315	Marker *string `type:"string"`
11316}
11317
11318// String returns the string representation
11319func (s DescribeDBClustersOutput) String() string {
11320	return awsutil.Prettify(s)
11321}
11322
11323// GoString returns the string representation
11324func (s DescribeDBClustersOutput) GoString() string {
11325	return s.String()
11326}
11327
11328// SetDBClusters sets the DBClusters field's value.
11329func (s *DescribeDBClustersOutput) SetDBClusters(v []*DBCluster) *DescribeDBClustersOutput {
11330	s.DBClusters = v
11331	return s
11332}
11333
11334// SetMarker sets the Marker field's value.
11335func (s *DescribeDBClustersOutput) SetMarker(v string) *DescribeDBClustersOutput {
11336	s.Marker = &v
11337	return s
11338}
11339
11340type DescribeDBEngineVersionsInput struct {
11341	_ struct{} `type:"structure"`
11342
11343	// The name of a specific DB parameter group family to return details for.
11344	//
11345	// Constraints:
11346	//
11347	//    * If supplied, must match an existing DBParameterGroupFamily.
11348	DBParameterGroupFamily *string `type:"string"`
11349
11350	// Indicates that only the default version of the specified engine or engine
11351	// and major version combination is returned.
11352	DefaultOnly *bool `type:"boolean"`
11353
11354	// The database engine to return.
11355	Engine *string `type:"string"`
11356
11357	// The database engine version to return.
11358	//
11359	// Example: 5.1.49
11360	EngineVersion *string `type:"string"`
11361
11362	// Not currently supported.
11363	Filters []*Filter `locationNameList:"Filter" type:"list"`
11364
11365	// If this parameter is specified and the requested engine supports the CharacterSetName
11366	// parameter for CreateDBInstance, the response includes a list of supported
11367	// character sets for each engine version.
11368	ListSupportedCharacterSets *bool `type:"boolean"`
11369
11370	// If this parameter is specified and the requested engine supports the TimeZone
11371	// parameter for CreateDBInstance, the response includes a list of supported
11372	// time zones for each engine version.
11373	ListSupportedTimezones *bool `type:"boolean"`
11374
11375	// An optional pagination token provided by a previous request. If this parameter
11376	// is specified, the response includes only records beyond the marker, up to
11377	// the value specified by MaxRecords.
11378	Marker *string `type:"string"`
11379
11380	// The maximum number of records to include in the response. If more than the
11381	// MaxRecords value is available, a pagination token called a marker is included
11382	// in the response so that the following results can be retrieved.
11383	//
11384	// Default: 100
11385	//
11386	// Constraints: Minimum 20, maximum 100.
11387	MaxRecords *int64 `type:"integer"`
11388}
11389
11390// String returns the string representation
11391func (s DescribeDBEngineVersionsInput) String() string {
11392	return awsutil.Prettify(s)
11393}
11394
11395// GoString returns the string representation
11396func (s DescribeDBEngineVersionsInput) GoString() string {
11397	return s.String()
11398}
11399
11400// Validate inspects the fields of the type to determine if they are valid.
11401func (s *DescribeDBEngineVersionsInput) Validate() error {
11402	invalidParams := request.ErrInvalidParams{Context: "DescribeDBEngineVersionsInput"}
11403	if s.Filters != nil {
11404		for i, v := range s.Filters {
11405			if v == nil {
11406				continue
11407			}
11408			if err := v.Validate(); err != nil {
11409				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
11410			}
11411		}
11412	}
11413
11414	if invalidParams.Len() > 0 {
11415		return invalidParams
11416	}
11417	return nil
11418}
11419
11420// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
11421func (s *DescribeDBEngineVersionsInput) SetDBParameterGroupFamily(v string) *DescribeDBEngineVersionsInput {
11422	s.DBParameterGroupFamily = &v
11423	return s
11424}
11425
11426// SetDefaultOnly sets the DefaultOnly field's value.
11427func (s *DescribeDBEngineVersionsInput) SetDefaultOnly(v bool) *DescribeDBEngineVersionsInput {
11428	s.DefaultOnly = &v
11429	return s
11430}
11431
11432// SetEngine sets the Engine field's value.
11433func (s *DescribeDBEngineVersionsInput) SetEngine(v string) *DescribeDBEngineVersionsInput {
11434	s.Engine = &v
11435	return s
11436}
11437
11438// SetEngineVersion sets the EngineVersion field's value.
11439func (s *DescribeDBEngineVersionsInput) SetEngineVersion(v string) *DescribeDBEngineVersionsInput {
11440	s.EngineVersion = &v
11441	return s
11442}
11443
11444// SetFilters sets the Filters field's value.
11445func (s *DescribeDBEngineVersionsInput) SetFilters(v []*Filter) *DescribeDBEngineVersionsInput {
11446	s.Filters = v
11447	return s
11448}
11449
11450// SetListSupportedCharacterSets sets the ListSupportedCharacterSets field's value.
11451func (s *DescribeDBEngineVersionsInput) SetListSupportedCharacterSets(v bool) *DescribeDBEngineVersionsInput {
11452	s.ListSupportedCharacterSets = &v
11453	return s
11454}
11455
11456// SetListSupportedTimezones sets the ListSupportedTimezones field's value.
11457func (s *DescribeDBEngineVersionsInput) SetListSupportedTimezones(v bool) *DescribeDBEngineVersionsInput {
11458	s.ListSupportedTimezones = &v
11459	return s
11460}
11461
11462// SetMarker sets the Marker field's value.
11463func (s *DescribeDBEngineVersionsInput) SetMarker(v string) *DescribeDBEngineVersionsInput {
11464	s.Marker = &v
11465	return s
11466}
11467
11468// SetMaxRecords sets the MaxRecords field's value.
11469func (s *DescribeDBEngineVersionsInput) SetMaxRecords(v int64) *DescribeDBEngineVersionsInput {
11470	s.MaxRecords = &v
11471	return s
11472}
11473
11474type DescribeDBEngineVersionsOutput struct {
11475	_ struct{} `type:"structure"`
11476
11477	// A list of DBEngineVersion elements.
11478	DBEngineVersions []*DBEngineVersion `locationNameList:"DBEngineVersion" type:"list"`
11479
11480	// An optional pagination token provided by a previous request. If this parameter
11481	// is specified, the response includes only records beyond the marker, up to
11482	// the value specified by MaxRecords.
11483	Marker *string `type:"string"`
11484}
11485
11486// String returns the string representation
11487func (s DescribeDBEngineVersionsOutput) String() string {
11488	return awsutil.Prettify(s)
11489}
11490
11491// GoString returns the string representation
11492func (s DescribeDBEngineVersionsOutput) GoString() string {
11493	return s.String()
11494}
11495
11496// SetDBEngineVersions sets the DBEngineVersions field's value.
11497func (s *DescribeDBEngineVersionsOutput) SetDBEngineVersions(v []*DBEngineVersion) *DescribeDBEngineVersionsOutput {
11498	s.DBEngineVersions = v
11499	return s
11500}
11501
11502// SetMarker sets the Marker field's value.
11503func (s *DescribeDBEngineVersionsOutput) SetMarker(v string) *DescribeDBEngineVersionsOutput {
11504	s.Marker = &v
11505	return s
11506}
11507
11508type DescribeDBInstancesInput struct {
11509	_ struct{} `type:"structure"`
11510
11511	// The user-supplied instance identifier. If this parameter is specified, information
11512	// from only the specific DB instance is returned. This parameter isn't case-sensitive.
11513	//
11514	// Constraints:
11515	//
11516	//    * If supplied, must match the identifier of an existing DBInstance.
11517	DBInstanceIdentifier *string `type:"string"`
11518
11519	// A filter that specifies one or more DB instances to describe.
11520	//
11521	// Supported filters:
11522	//
11523	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
11524	//    Resource Names (ARNs). The results list will only include information
11525	//    about the DB instances associated with the DB clusters identified by these
11526	//    ARNs.
11527	//
11528	//    * engine - Accepts an engine name (such as neptune), and restricts the
11529	//    results list to DB instances created by that engine.
11530	//
11531	// For example, to invoke this API from the AWS CLI and filter so that only
11532	// Neptune DB instances are returned, you could use the following command:
11533	Filters []*Filter `locationNameList:"Filter" type:"list"`
11534
11535	// An optional pagination token provided by a previous DescribeDBInstances request.
11536	// If this parameter is specified, the response includes only records beyond
11537	// the marker, up to the value specified by MaxRecords.
11538	Marker *string `type:"string"`
11539
11540	// The maximum number of records to include in the response. If more records
11541	// exist than the specified MaxRecords value, a pagination token called a marker
11542	// is included in the response so that the remaining results can be retrieved.
11543	//
11544	// Default: 100
11545	//
11546	// Constraints: Minimum 20, maximum 100.
11547	MaxRecords *int64 `type:"integer"`
11548}
11549
11550// String returns the string representation
11551func (s DescribeDBInstancesInput) String() string {
11552	return awsutil.Prettify(s)
11553}
11554
11555// GoString returns the string representation
11556func (s DescribeDBInstancesInput) GoString() string {
11557	return s.String()
11558}
11559
11560// Validate inspects the fields of the type to determine if they are valid.
11561func (s *DescribeDBInstancesInput) Validate() error {
11562	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstancesInput"}
11563	if s.Filters != nil {
11564		for i, v := range s.Filters {
11565			if v == nil {
11566				continue
11567			}
11568			if err := v.Validate(); err != nil {
11569				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
11570			}
11571		}
11572	}
11573
11574	if invalidParams.Len() > 0 {
11575		return invalidParams
11576	}
11577	return nil
11578}
11579
11580// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
11581func (s *DescribeDBInstancesInput) SetDBInstanceIdentifier(v string) *DescribeDBInstancesInput {
11582	s.DBInstanceIdentifier = &v
11583	return s
11584}
11585
11586// SetFilters sets the Filters field's value.
11587func (s *DescribeDBInstancesInput) SetFilters(v []*Filter) *DescribeDBInstancesInput {
11588	s.Filters = v
11589	return s
11590}
11591
11592// SetMarker sets the Marker field's value.
11593func (s *DescribeDBInstancesInput) SetMarker(v string) *DescribeDBInstancesInput {
11594	s.Marker = &v
11595	return s
11596}
11597
11598// SetMaxRecords sets the MaxRecords field's value.
11599func (s *DescribeDBInstancesInput) SetMaxRecords(v int64) *DescribeDBInstancesInput {
11600	s.MaxRecords = &v
11601	return s
11602}
11603
11604type DescribeDBInstancesOutput struct {
11605	_ struct{} `type:"structure"`
11606
11607	// A list of DBInstance instances.
11608	DBInstances []*DBInstance `locationNameList:"DBInstance" type:"list"`
11609
11610	// An optional pagination token provided by a previous request. If this parameter
11611	// is specified, the response includes only records beyond the marker, up to
11612	// the value specified by MaxRecords .
11613	Marker *string `type:"string"`
11614}
11615
11616// String returns the string representation
11617func (s DescribeDBInstancesOutput) String() string {
11618	return awsutil.Prettify(s)
11619}
11620
11621// GoString returns the string representation
11622func (s DescribeDBInstancesOutput) GoString() string {
11623	return s.String()
11624}
11625
11626// SetDBInstances sets the DBInstances field's value.
11627func (s *DescribeDBInstancesOutput) SetDBInstances(v []*DBInstance) *DescribeDBInstancesOutput {
11628	s.DBInstances = v
11629	return s
11630}
11631
11632// SetMarker sets the Marker field's value.
11633func (s *DescribeDBInstancesOutput) SetMarker(v string) *DescribeDBInstancesOutput {
11634	s.Marker = &v
11635	return s
11636}
11637
11638type DescribeDBParameterGroupsInput struct {
11639	_ struct{} `type:"structure"`
11640
11641	// The name of a specific DB parameter group to return details for.
11642	//
11643	// Constraints:
11644	//
11645	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
11646	DBParameterGroupName *string `type:"string"`
11647
11648	// This parameter is not currently supported.
11649	Filters []*Filter `locationNameList:"Filter" type:"list"`
11650
11651	// An optional pagination token provided by a previous DescribeDBParameterGroups
11652	// request. If this parameter is specified, the response includes only records
11653	// beyond the marker, up to the value specified by MaxRecords.
11654	Marker *string `type:"string"`
11655
11656	// The maximum number of records to include in the response. If more records
11657	// exist than the specified MaxRecords value, a pagination token called a marker
11658	// is included in the response so that the remaining results can be retrieved.
11659	//
11660	// Default: 100
11661	//
11662	// Constraints: Minimum 20, maximum 100.
11663	MaxRecords *int64 `type:"integer"`
11664}
11665
11666// String returns the string representation
11667func (s DescribeDBParameterGroupsInput) String() string {
11668	return awsutil.Prettify(s)
11669}
11670
11671// GoString returns the string representation
11672func (s DescribeDBParameterGroupsInput) GoString() string {
11673	return s.String()
11674}
11675
11676// Validate inspects the fields of the type to determine if they are valid.
11677func (s *DescribeDBParameterGroupsInput) Validate() error {
11678	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParameterGroupsInput"}
11679	if s.Filters != nil {
11680		for i, v := range s.Filters {
11681			if v == nil {
11682				continue
11683			}
11684			if err := v.Validate(); err != nil {
11685				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
11686			}
11687		}
11688	}
11689
11690	if invalidParams.Len() > 0 {
11691		return invalidParams
11692	}
11693	return nil
11694}
11695
11696// SetDBParameterGroupName sets the DBParameterGroupName field's value.
11697func (s *DescribeDBParameterGroupsInput) SetDBParameterGroupName(v string) *DescribeDBParameterGroupsInput {
11698	s.DBParameterGroupName = &v
11699	return s
11700}
11701
11702// SetFilters sets the Filters field's value.
11703func (s *DescribeDBParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBParameterGroupsInput {
11704	s.Filters = v
11705	return s
11706}
11707
11708// SetMarker sets the Marker field's value.
11709func (s *DescribeDBParameterGroupsInput) SetMarker(v string) *DescribeDBParameterGroupsInput {
11710	s.Marker = &v
11711	return s
11712}
11713
11714// SetMaxRecords sets the MaxRecords field's value.
11715func (s *DescribeDBParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBParameterGroupsInput {
11716	s.MaxRecords = &v
11717	return s
11718}
11719
11720type DescribeDBParameterGroupsOutput struct {
11721	_ struct{} `type:"structure"`
11722
11723	// A list of DBParameterGroup instances.
11724	DBParameterGroups []*DBParameterGroup `locationNameList:"DBParameterGroup" type:"list"`
11725
11726	// An optional pagination token provided by a previous request. If this parameter
11727	// is specified, the response includes only records beyond the marker, up to
11728	// the value specified by MaxRecords.
11729	Marker *string `type:"string"`
11730}
11731
11732// String returns the string representation
11733func (s DescribeDBParameterGroupsOutput) String() string {
11734	return awsutil.Prettify(s)
11735}
11736
11737// GoString returns the string representation
11738func (s DescribeDBParameterGroupsOutput) GoString() string {
11739	return s.String()
11740}
11741
11742// SetDBParameterGroups sets the DBParameterGroups field's value.
11743func (s *DescribeDBParameterGroupsOutput) SetDBParameterGroups(v []*DBParameterGroup) *DescribeDBParameterGroupsOutput {
11744	s.DBParameterGroups = v
11745	return s
11746}
11747
11748// SetMarker sets the Marker field's value.
11749func (s *DescribeDBParameterGroupsOutput) SetMarker(v string) *DescribeDBParameterGroupsOutput {
11750	s.Marker = &v
11751	return s
11752}
11753
11754type DescribeDBParametersInput struct {
11755	_ struct{} `type:"structure"`
11756
11757	// The name of a specific DB parameter group to return details for.
11758	//
11759	// Constraints:
11760	//
11761	//    * If supplied, must match the name of an existing DBParameterGroup.
11762	//
11763	// DBParameterGroupName is a required field
11764	DBParameterGroupName *string `type:"string" required:"true"`
11765
11766	// This parameter is not currently supported.
11767	Filters []*Filter `locationNameList:"Filter" type:"list"`
11768
11769	// An optional pagination token provided by a previous DescribeDBParameters
11770	// request. If this parameter is specified, the response includes only records
11771	// beyond the marker, up to the value specified by MaxRecords.
11772	Marker *string `type:"string"`
11773
11774	// The maximum number of records to include in the response. If more records
11775	// exist than the specified MaxRecords value, a pagination token called a marker
11776	// is included in the response so that the remaining results can be retrieved.
11777	//
11778	// Default: 100
11779	//
11780	// Constraints: Minimum 20, maximum 100.
11781	MaxRecords *int64 `type:"integer"`
11782
11783	// The parameter types to return.
11784	//
11785	// Default: All parameter types returned
11786	//
11787	// Valid Values: user | system | engine-default
11788	Source *string `type:"string"`
11789}
11790
11791// String returns the string representation
11792func (s DescribeDBParametersInput) String() string {
11793	return awsutil.Prettify(s)
11794}
11795
11796// GoString returns the string representation
11797func (s DescribeDBParametersInput) GoString() string {
11798	return s.String()
11799}
11800
11801// Validate inspects the fields of the type to determine if they are valid.
11802func (s *DescribeDBParametersInput) Validate() error {
11803	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParametersInput"}
11804	if s.DBParameterGroupName == nil {
11805		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
11806	}
11807	if s.Filters != nil {
11808		for i, v := range s.Filters {
11809			if v == nil {
11810				continue
11811			}
11812			if err := v.Validate(); err != nil {
11813				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
11814			}
11815		}
11816	}
11817
11818	if invalidParams.Len() > 0 {
11819		return invalidParams
11820	}
11821	return nil
11822}
11823
11824// SetDBParameterGroupName sets the DBParameterGroupName field's value.
11825func (s *DescribeDBParametersInput) SetDBParameterGroupName(v string) *DescribeDBParametersInput {
11826	s.DBParameterGroupName = &v
11827	return s
11828}
11829
11830// SetFilters sets the Filters field's value.
11831func (s *DescribeDBParametersInput) SetFilters(v []*Filter) *DescribeDBParametersInput {
11832	s.Filters = v
11833	return s
11834}
11835
11836// SetMarker sets the Marker field's value.
11837func (s *DescribeDBParametersInput) SetMarker(v string) *DescribeDBParametersInput {
11838	s.Marker = &v
11839	return s
11840}
11841
11842// SetMaxRecords sets the MaxRecords field's value.
11843func (s *DescribeDBParametersInput) SetMaxRecords(v int64) *DescribeDBParametersInput {
11844	s.MaxRecords = &v
11845	return s
11846}
11847
11848// SetSource sets the Source field's value.
11849func (s *DescribeDBParametersInput) SetSource(v string) *DescribeDBParametersInput {
11850	s.Source = &v
11851	return s
11852}
11853
11854type DescribeDBParametersOutput struct {
11855	_ struct{} `type:"structure"`
11856
11857	// An optional pagination token provided by a previous request. If this parameter
11858	// is specified, the response includes only records beyond the marker, up to
11859	// the value specified by MaxRecords.
11860	Marker *string `type:"string"`
11861
11862	// A list of Parameter values.
11863	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
11864}
11865
11866// String returns the string representation
11867func (s DescribeDBParametersOutput) String() string {
11868	return awsutil.Prettify(s)
11869}
11870
11871// GoString returns the string representation
11872func (s DescribeDBParametersOutput) GoString() string {
11873	return s.String()
11874}
11875
11876// SetMarker sets the Marker field's value.
11877func (s *DescribeDBParametersOutput) SetMarker(v string) *DescribeDBParametersOutput {
11878	s.Marker = &v
11879	return s
11880}
11881
11882// SetParameters sets the Parameters field's value.
11883func (s *DescribeDBParametersOutput) SetParameters(v []*Parameter) *DescribeDBParametersOutput {
11884	s.Parameters = v
11885	return s
11886}
11887
11888type DescribeDBSubnetGroupsInput struct {
11889	_ struct{} `type:"structure"`
11890
11891	// The name of the DB subnet group to return details for.
11892	DBSubnetGroupName *string `type:"string"`
11893
11894	// This parameter is not currently supported.
11895	Filters []*Filter `locationNameList:"Filter" type:"list"`
11896
11897	// An optional pagination token provided by a previous DescribeDBSubnetGroups
11898	// request. If this parameter is specified, the response includes only records
11899	// beyond the marker, up to the value specified by MaxRecords.
11900	Marker *string `type:"string"`
11901
11902	// The maximum number of records to include in the response. If more records
11903	// exist than the specified MaxRecords value, a pagination token called a marker
11904	// is included in the response so that the remaining results can be retrieved.
11905	//
11906	// Default: 100
11907	//
11908	// Constraints: Minimum 20, maximum 100.
11909	MaxRecords *int64 `type:"integer"`
11910}
11911
11912// String returns the string representation
11913func (s DescribeDBSubnetGroupsInput) String() string {
11914	return awsutil.Prettify(s)
11915}
11916
11917// GoString returns the string representation
11918func (s DescribeDBSubnetGroupsInput) GoString() string {
11919	return s.String()
11920}
11921
11922// Validate inspects the fields of the type to determine if they are valid.
11923func (s *DescribeDBSubnetGroupsInput) Validate() error {
11924	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSubnetGroupsInput"}
11925	if s.Filters != nil {
11926		for i, v := range s.Filters {
11927			if v == nil {
11928				continue
11929			}
11930			if err := v.Validate(); err != nil {
11931				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
11932			}
11933		}
11934	}
11935
11936	if invalidParams.Len() > 0 {
11937		return invalidParams
11938	}
11939	return nil
11940}
11941
11942// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
11943func (s *DescribeDBSubnetGroupsInput) SetDBSubnetGroupName(v string) *DescribeDBSubnetGroupsInput {
11944	s.DBSubnetGroupName = &v
11945	return s
11946}
11947
11948// SetFilters sets the Filters field's value.
11949func (s *DescribeDBSubnetGroupsInput) SetFilters(v []*Filter) *DescribeDBSubnetGroupsInput {
11950	s.Filters = v
11951	return s
11952}
11953
11954// SetMarker sets the Marker field's value.
11955func (s *DescribeDBSubnetGroupsInput) SetMarker(v string) *DescribeDBSubnetGroupsInput {
11956	s.Marker = &v
11957	return s
11958}
11959
11960// SetMaxRecords sets the MaxRecords field's value.
11961func (s *DescribeDBSubnetGroupsInput) SetMaxRecords(v int64) *DescribeDBSubnetGroupsInput {
11962	s.MaxRecords = &v
11963	return s
11964}
11965
11966type DescribeDBSubnetGroupsOutput struct {
11967	_ struct{} `type:"structure"`
11968
11969	// A list of DBSubnetGroup instances.
11970	DBSubnetGroups []*DBSubnetGroup `locationNameList:"DBSubnetGroup" type:"list"`
11971
11972	// An optional pagination token provided by a previous request. If this parameter
11973	// is specified, the response includes only records beyond the marker, up to
11974	// the value specified by MaxRecords.
11975	Marker *string `type:"string"`
11976}
11977
11978// String returns the string representation
11979func (s DescribeDBSubnetGroupsOutput) String() string {
11980	return awsutil.Prettify(s)
11981}
11982
11983// GoString returns the string representation
11984func (s DescribeDBSubnetGroupsOutput) GoString() string {
11985	return s.String()
11986}
11987
11988// SetDBSubnetGroups sets the DBSubnetGroups field's value.
11989func (s *DescribeDBSubnetGroupsOutput) SetDBSubnetGroups(v []*DBSubnetGroup) *DescribeDBSubnetGroupsOutput {
11990	s.DBSubnetGroups = v
11991	return s
11992}
11993
11994// SetMarker sets the Marker field's value.
11995func (s *DescribeDBSubnetGroupsOutput) SetMarker(v string) *DescribeDBSubnetGroupsOutput {
11996	s.Marker = &v
11997	return s
11998}
11999
12000type DescribeEngineDefaultClusterParametersInput struct {
12001	_ struct{} `type:"structure"`
12002
12003	// The name of the DB cluster parameter group family to return engine parameter
12004	// information for.
12005	//
12006	// DBParameterGroupFamily is a required field
12007	DBParameterGroupFamily *string `type:"string" required:"true"`
12008
12009	// This parameter is not currently supported.
12010	Filters []*Filter `locationNameList:"Filter" type:"list"`
12011
12012	// An optional pagination token provided by a previous DescribeEngineDefaultClusterParameters
12013	// request. If this parameter is specified, the response includes only records
12014	// beyond the marker, up to the value specified by MaxRecords.
12015	Marker *string `type:"string"`
12016
12017	// The maximum number of records to include in the response. If more records
12018	// exist than the specified MaxRecords value, a pagination token called a marker
12019	// is included in the response so that the remaining results can be retrieved.
12020	//
12021	// Default: 100
12022	//
12023	// Constraints: Minimum 20, maximum 100.
12024	MaxRecords *int64 `type:"integer"`
12025}
12026
12027// String returns the string representation
12028func (s DescribeEngineDefaultClusterParametersInput) String() string {
12029	return awsutil.Prettify(s)
12030}
12031
12032// GoString returns the string representation
12033func (s DescribeEngineDefaultClusterParametersInput) GoString() string {
12034	return s.String()
12035}
12036
12037// Validate inspects the fields of the type to determine if they are valid.
12038func (s *DescribeEngineDefaultClusterParametersInput) Validate() error {
12039	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultClusterParametersInput"}
12040	if s.DBParameterGroupFamily == nil {
12041		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
12042	}
12043	if s.Filters != nil {
12044		for i, v := range s.Filters {
12045			if v == nil {
12046				continue
12047			}
12048			if err := v.Validate(); err != nil {
12049				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12050			}
12051		}
12052	}
12053
12054	if invalidParams.Len() > 0 {
12055		return invalidParams
12056	}
12057	return nil
12058}
12059
12060// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
12061func (s *DescribeEngineDefaultClusterParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultClusterParametersInput {
12062	s.DBParameterGroupFamily = &v
12063	return s
12064}
12065
12066// SetFilters sets the Filters field's value.
12067func (s *DescribeEngineDefaultClusterParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultClusterParametersInput {
12068	s.Filters = v
12069	return s
12070}
12071
12072// SetMarker sets the Marker field's value.
12073func (s *DescribeEngineDefaultClusterParametersInput) SetMarker(v string) *DescribeEngineDefaultClusterParametersInput {
12074	s.Marker = &v
12075	return s
12076}
12077
12078// SetMaxRecords sets the MaxRecords field's value.
12079func (s *DescribeEngineDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultClusterParametersInput {
12080	s.MaxRecords = &v
12081	return s
12082}
12083
12084type DescribeEngineDefaultClusterParametersOutput struct {
12085	_ struct{} `type:"structure"`
12086
12087	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
12088	// action.
12089	EngineDefaults *EngineDefaults `type:"structure"`
12090}
12091
12092// String returns the string representation
12093func (s DescribeEngineDefaultClusterParametersOutput) String() string {
12094	return awsutil.Prettify(s)
12095}
12096
12097// GoString returns the string representation
12098func (s DescribeEngineDefaultClusterParametersOutput) GoString() string {
12099	return s.String()
12100}
12101
12102// SetEngineDefaults sets the EngineDefaults field's value.
12103func (s *DescribeEngineDefaultClusterParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultClusterParametersOutput {
12104	s.EngineDefaults = v
12105	return s
12106}
12107
12108type DescribeEngineDefaultParametersInput struct {
12109	_ struct{} `type:"structure"`
12110
12111	// The name of the DB parameter group family.
12112	//
12113	// DBParameterGroupFamily is a required field
12114	DBParameterGroupFamily *string `type:"string" required:"true"`
12115
12116	// Not currently supported.
12117	Filters []*Filter `locationNameList:"Filter" type:"list"`
12118
12119	// An optional pagination token provided by a previous DescribeEngineDefaultParameters
12120	// request. If this parameter is specified, the response includes only records
12121	// beyond the marker, up to the value specified by MaxRecords.
12122	Marker *string `type:"string"`
12123
12124	// The maximum number of records to include in the response. If more records
12125	// exist than the specified MaxRecords value, a pagination token called a marker
12126	// is included in the response so that the remaining results can be retrieved.
12127	//
12128	// Default: 100
12129	//
12130	// Constraints: Minimum 20, maximum 100.
12131	MaxRecords *int64 `type:"integer"`
12132}
12133
12134// String returns the string representation
12135func (s DescribeEngineDefaultParametersInput) String() string {
12136	return awsutil.Prettify(s)
12137}
12138
12139// GoString returns the string representation
12140func (s DescribeEngineDefaultParametersInput) GoString() string {
12141	return s.String()
12142}
12143
12144// Validate inspects the fields of the type to determine if they are valid.
12145func (s *DescribeEngineDefaultParametersInput) Validate() error {
12146	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"}
12147	if s.DBParameterGroupFamily == nil {
12148		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
12149	}
12150	if s.Filters != nil {
12151		for i, v := range s.Filters {
12152			if v == nil {
12153				continue
12154			}
12155			if err := v.Validate(); err != nil {
12156				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12157			}
12158		}
12159	}
12160
12161	if invalidParams.Len() > 0 {
12162		return invalidParams
12163	}
12164	return nil
12165}
12166
12167// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
12168func (s *DescribeEngineDefaultParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultParametersInput {
12169	s.DBParameterGroupFamily = &v
12170	return s
12171}
12172
12173// SetFilters sets the Filters field's value.
12174func (s *DescribeEngineDefaultParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultParametersInput {
12175	s.Filters = v
12176	return s
12177}
12178
12179// SetMarker sets the Marker field's value.
12180func (s *DescribeEngineDefaultParametersInput) SetMarker(v string) *DescribeEngineDefaultParametersInput {
12181	s.Marker = &v
12182	return s
12183}
12184
12185// SetMaxRecords sets the MaxRecords field's value.
12186func (s *DescribeEngineDefaultParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultParametersInput {
12187	s.MaxRecords = &v
12188	return s
12189}
12190
12191type DescribeEngineDefaultParametersOutput struct {
12192	_ struct{} `type:"structure"`
12193
12194	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
12195	// action.
12196	EngineDefaults *EngineDefaults `type:"structure"`
12197}
12198
12199// String returns the string representation
12200func (s DescribeEngineDefaultParametersOutput) String() string {
12201	return awsutil.Prettify(s)
12202}
12203
12204// GoString returns the string representation
12205func (s DescribeEngineDefaultParametersOutput) GoString() string {
12206	return s.String()
12207}
12208
12209// SetEngineDefaults sets the EngineDefaults field's value.
12210func (s *DescribeEngineDefaultParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultParametersOutput {
12211	s.EngineDefaults = v
12212	return s
12213}
12214
12215type DescribeEventCategoriesInput struct {
12216	_ struct{} `type:"structure"`
12217
12218	// This parameter is not currently supported.
12219	Filters []*Filter `locationNameList:"Filter" type:"list"`
12220
12221	// The type of source that is generating the events.
12222	//
12223	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
12224	SourceType *string `type:"string"`
12225}
12226
12227// String returns the string representation
12228func (s DescribeEventCategoriesInput) String() string {
12229	return awsutil.Prettify(s)
12230}
12231
12232// GoString returns the string representation
12233func (s DescribeEventCategoriesInput) GoString() string {
12234	return s.String()
12235}
12236
12237// Validate inspects the fields of the type to determine if they are valid.
12238func (s *DescribeEventCategoriesInput) Validate() error {
12239	invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"}
12240	if s.Filters != nil {
12241		for i, v := range s.Filters {
12242			if v == nil {
12243				continue
12244			}
12245			if err := v.Validate(); err != nil {
12246				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12247			}
12248		}
12249	}
12250
12251	if invalidParams.Len() > 0 {
12252		return invalidParams
12253	}
12254	return nil
12255}
12256
12257// SetFilters sets the Filters field's value.
12258func (s *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput {
12259	s.Filters = v
12260	return s
12261}
12262
12263// SetSourceType sets the SourceType field's value.
12264func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput {
12265	s.SourceType = &v
12266	return s
12267}
12268
12269type DescribeEventCategoriesOutput struct {
12270	_ struct{} `type:"structure"`
12271
12272	// A list of EventCategoriesMap data types.
12273	EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"`
12274}
12275
12276// String returns the string representation
12277func (s DescribeEventCategoriesOutput) String() string {
12278	return awsutil.Prettify(s)
12279}
12280
12281// GoString returns the string representation
12282func (s DescribeEventCategoriesOutput) GoString() string {
12283	return s.String()
12284}
12285
12286// SetEventCategoriesMapList sets the EventCategoriesMapList field's value.
12287func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput {
12288	s.EventCategoriesMapList = v
12289	return s
12290}
12291
12292type DescribeEventSubscriptionsInput struct {
12293	_ struct{} `type:"structure"`
12294
12295	// This parameter is not currently supported.
12296	Filters []*Filter `locationNameList:"Filter" type:"list"`
12297
12298	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
12299	// request. If this parameter is specified, the response includes only records
12300	// beyond the marker, up to the value specified by MaxRecords .
12301	Marker *string `type:"string"`
12302
12303	// The maximum number of records to include in the response. If more records
12304	// exist than the specified MaxRecords value, a pagination token called a marker
12305	// is included in the response so that the remaining results can be retrieved.
12306	//
12307	// Default: 100
12308	//
12309	// Constraints: Minimum 20, maximum 100.
12310	MaxRecords *int64 `type:"integer"`
12311
12312	// The name of the event notification subscription you want to describe.
12313	SubscriptionName *string `type:"string"`
12314}
12315
12316// String returns the string representation
12317func (s DescribeEventSubscriptionsInput) String() string {
12318	return awsutil.Prettify(s)
12319}
12320
12321// GoString returns the string representation
12322func (s DescribeEventSubscriptionsInput) GoString() string {
12323	return s.String()
12324}
12325
12326// Validate inspects the fields of the type to determine if they are valid.
12327func (s *DescribeEventSubscriptionsInput) Validate() error {
12328	invalidParams := request.ErrInvalidParams{Context: "DescribeEventSubscriptionsInput"}
12329	if s.Filters != nil {
12330		for i, v := range s.Filters {
12331			if v == nil {
12332				continue
12333			}
12334			if err := v.Validate(); err != nil {
12335				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12336			}
12337		}
12338	}
12339
12340	if invalidParams.Len() > 0 {
12341		return invalidParams
12342	}
12343	return nil
12344}
12345
12346// SetFilters sets the Filters field's value.
12347func (s *DescribeEventSubscriptionsInput) SetFilters(v []*Filter) *DescribeEventSubscriptionsInput {
12348	s.Filters = v
12349	return s
12350}
12351
12352// SetMarker sets the Marker field's value.
12353func (s *DescribeEventSubscriptionsInput) SetMarker(v string) *DescribeEventSubscriptionsInput {
12354	s.Marker = &v
12355	return s
12356}
12357
12358// SetMaxRecords sets the MaxRecords field's value.
12359func (s *DescribeEventSubscriptionsInput) SetMaxRecords(v int64) *DescribeEventSubscriptionsInput {
12360	s.MaxRecords = &v
12361	return s
12362}
12363
12364// SetSubscriptionName sets the SubscriptionName field's value.
12365func (s *DescribeEventSubscriptionsInput) SetSubscriptionName(v string) *DescribeEventSubscriptionsInput {
12366	s.SubscriptionName = &v
12367	return s
12368}
12369
12370type DescribeEventSubscriptionsOutput struct {
12371	_ struct{} `type:"structure"`
12372
12373	// A list of EventSubscriptions data types.
12374	EventSubscriptionsList []*EventSubscription `locationNameList:"EventSubscription" type:"list"`
12375
12376	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
12377	// request. If this parameter is specified, the response includes only records
12378	// beyond the marker, up to the value specified by MaxRecords.
12379	Marker *string `type:"string"`
12380}
12381
12382// String returns the string representation
12383func (s DescribeEventSubscriptionsOutput) String() string {
12384	return awsutil.Prettify(s)
12385}
12386
12387// GoString returns the string representation
12388func (s DescribeEventSubscriptionsOutput) GoString() string {
12389	return s.String()
12390}
12391
12392// SetEventSubscriptionsList sets the EventSubscriptionsList field's value.
12393func (s *DescribeEventSubscriptionsOutput) SetEventSubscriptionsList(v []*EventSubscription) *DescribeEventSubscriptionsOutput {
12394	s.EventSubscriptionsList = v
12395	return s
12396}
12397
12398// SetMarker sets the Marker field's value.
12399func (s *DescribeEventSubscriptionsOutput) SetMarker(v string) *DescribeEventSubscriptionsOutput {
12400	s.Marker = &v
12401	return s
12402}
12403
12404type DescribeEventsInput struct {
12405	_ struct{} `type:"structure"`
12406
12407	// The number of minutes to retrieve events for.
12408	//
12409	// Default: 60
12410	Duration *int64 `type:"integer"`
12411
12412	// The end of the time interval for which to retrieve events, specified in ISO
12413	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
12414	// page. (http://en.wikipedia.org/wiki/ISO_8601)
12415	//
12416	// Example: 2009-07-08T18:00Z
12417	EndTime *time.Time `type:"timestamp"`
12418
12419	// A list of event categories that trigger notifications for a event notification
12420	// subscription.
12421	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
12422
12423	// This parameter is not currently supported.
12424	Filters []*Filter `locationNameList:"Filter" type:"list"`
12425
12426	// An optional pagination token provided by a previous DescribeEvents request.
12427	// If this parameter is specified, the response includes only records beyond
12428	// the marker, up to the value specified by MaxRecords.
12429	Marker *string `type:"string"`
12430
12431	// The maximum number of records to include in the response. If more records
12432	// exist than the specified MaxRecords value, a pagination token called a marker
12433	// is included in the response so that the remaining results can be retrieved.
12434	//
12435	// Default: 100
12436	//
12437	// Constraints: Minimum 20, maximum 100.
12438	MaxRecords *int64 `type:"integer"`
12439
12440	// The identifier of the event source for which events are returned. If not
12441	// specified, then all sources are included in the response.
12442	//
12443	// Constraints:
12444	//
12445	//    * If SourceIdentifier is supplied, SourceType must also be provided.
12446	//
12447	//    * If the source type is DBInstance, then a DBInstanceIdentifier must be
12448	//    supplied.
12449	//
12450	//    * If the source type is DBSecurityGroup, a DBSecurityGroupName must be
12451	//    supplied.
12452	//
12453	//    * If the source type is DBParameterGroup, a DBParameterGroupName must
12454	//    be supplied.
12455	//
12456	//    * If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied.
12457	//
12458	//    * Cannot end with a hyphen or contain two consecutive hyphens.
12459	SourceIdentifier *string `type:"string"`
12460
12461	// The event source to retrieve events for. If no value is specified, all events
12462	// are returned.
12463	SourceType *string `type:"string" enum:"SourceType"`
12464
12465	// The beginning of the time interval to retrieve events for, specified in ISO
12466	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
12467	// page. (http://en.wikipedia.org/wiki/ISO_8601)
12468	//
12469	// Example: 2009-07-08T18:00Z
12470	StartTime *time.Time `type:"timestamp"`
12471}
12472
12473// String returns the string representation
12474func (s DescribeEventsInput) String() string {
12475	return awsutil.Prettify(s)
12476}
12477
12478// GoString returns the string representation
12479func (s DescribeEventsInput) GoString() string {
12480	return s.String()
12481}
12482
12483// Validate inspects the fields of the type to determine if they are valid.
12484func (s *DescribeEventsInput) Validate() error {
12485	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
12486	if s.Filters != nil {
12487		for i, v := range s.Filters {
12488			if v == nil {
12489				continue
12490			}
12491			if err := v.Validate(); err != nil {
12492				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12493			}
12494		}
12495	}
12496
12497	if invalidParams.Len() > 0 {
12498		return invalidParams
12499	}
12500	return nil
12501}
12502
12503// SetDuration sets the Duration field's value.
12504func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
12505	s.Duration = &v
12506	return s
12507}
12508
12509// SetEndTime sets the EndTime field's value.
12510func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
12511	s.EndTime = &v
12512	return s
12513}
12514
12515// SetEventCategories sets the EventCategories field's value.
12516func (s *DescribeEventsInput) SetEventCategories(v []*string) *DescribeEventsInput {
12517	s.EventCategories = v
12518	return s
12519}
12520
12521// SetFilters sets the Filters field's value.
12522func (s *DescribeEventsInput) SetFilters(v []*Filter) *DescribeEventsInput {
12523	s.Filters = v
12524	return s
12525}
12526
12527// SetMarker sets the Marker field's value.
12528func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput {
12529	s.Marker = &v
12530	return s
12531}
12532
12533// SetMaxRecords sets the MaxRecords field's value.
12534func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
12535	s.MaxRecords = &v
12536	return s
12537}
12538
12539// SetSourceIdentifier sets the SourceIdentifier field's value.
12540func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput {
12541	s.SourceIdentifier = &v
12542	return s
12543}
12544
12545// SetSourceType sets the SourceType field's value.
12546func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
12547	s.SourceType = &v
12548	return s
12549}
12550
12551// SetStartTime sets the StartTime field's value.
12552func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
12553	s.StartTime = &v
12554	return s
12555}
12556
12557type DescribeEventsOutput struct {
12558	_ struct{} `type:"structure"`
12559
12560	// A list of Event instances.
12561	Events []*Event `locationNameList:"Event" type:"list"`
12562
12563	// An optional pagination token provided by a previous Events request. If this
12564	// parameter is specified, the response includes only records beyond the marker,
12565	// up to the value specified by MaxRecords .
12566	Marker *string `type:"string"`
12567}
12568
12569// String returns the string representation
12570func (s DescribeEventsOutput) String() string {
12571	return awsutil.Prettify(s)
12572}
12573
12574// GoString returns the string representation
12575func (s DescribeEventsOutput) GoString() string {
12576	return s.String()
12577}
12578
12579// SetEvents sets the Events field's value.
12580func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
12581	s.Events = v
12582	return s
12583}
12584
12585// SetMarker sets the Marker field's value.
12586func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput {
12587	s.Marker = &v
12588	return s
12589}
12590
12591type DescribeOrderableDBInstanceOptionsInput struct {
12592	_ struct{} `type:"structure"`
12593
12594	// The DB instance class filter value. Specify this parameter to show only the
12595	// available offerings matching the specified DB instance class.
12596	DBInstanceClass *string `type:"string"`
12597
12598	// The name of the engine to retrieve DB instance options for.
12599	//
12600	// Engine is a required field
12601	Engine *string `type:"string" required:"true"`
12602
12603	// The engine version filter value. Specify this parameter to show only the
12604	// available offerings matching the specified engine version.
12605	EngineVersion *string `type:"string"`
12606
12607	// This parameter is not currently supported.
12608	Filters []*Filter `locationNameList:"Filter" type:"list"`
12609
12610	// The license model filter value. Specify this parameter to show only the available
12611	// offerings matching the specified license model.
12612	LicenseModel *string `type:"string"`
12613
12614	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
12615	// request. If this parameter is specified, the response includes only records
12616	// beyond the marker, up to the value specified by MaxRecords .
12617	Marker *string `type:"string"`
12618
12619	// The maximum number of records to include in the response. If more records
12620	// exist than the specified MaxRecords value, a pagination token called a marker
12621	// is included in the response so that the remaining results can be retrieved.
12622	//
12623	// Default: 100
12624	//
12625	// Constraints: Minimum 20, maximum 100.
12626	MaxRecords *int64 `type:"integer"`
12627
12628	// The VPC filter value. Specify this parameter to show only the available VPC
12629	// or non-VPC offerings.
12630	Vpc *bool `type:"boolean"`
12631}
12632
12633// String returns the string representation
12634func (s DescribeOrderableDBInstanceOptionsInput) String() string {
12635	return awsutil.Prettify(s)
12636}
12637
12638// GoString returns the string representation
12639func (s DescribeOrderableDBInstanceOptionsInput) GoString() string {
12640	return s.String()
12641}
12642
12643// Validate inspects the fields of the type to determine if they are valid.
12644func (s *DescribeOrderableDBInstanceOptionsInput) Validate() error {
12645	invalidParams := request.ErrInvalidParams{Context: "DescribeOrderableDBInstanceOptionsInput"}
12646	if s.Engine == nil {
12647		invalidParams.Add(request.NewErrParamRequired("Engine"))
12648	}
12649	if s.Filters != nil {
12650		for i, v := range s.Filters {
12651			if v == nil {
12652				continue
12653			}
12654			if err := v.Validate(); err != nil {
12655				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12656			}
12657		}
12658	}
12659
12660	if invalidParams.Len() > 0 {
12661		return invalidParams
12662	}
12663	return nil
12664}
12665
12666// SetDBInstanceClass sets the DBInstanceClass field's value.
12667func (s *DescribeOrderableDBInstanceOptionsInput) SetDBInstanceClass(v string) *DescribeOrderableDBInstanceOptionsInput {
12668	s.DBInstanceClass = &v
12669	return s
12670}
12671
12672// SetEngine sets the Engine field's value.
12673func (s *DescribeOrderableDBInstanceOptionsInput) SetEngine(v string) *DescribeOrderableDBInstanceOptionsInput {
12674	s.Engine = &v
12675	return s
12676}
12677
12678// SetEngineVersion sets the EngineVersion field's value.
12679func (s *DescribeOrderableDBInstanceOptionsInput) SetEngineVersion(v string) *DescribeOrderableDBInstanceOptionsInput {
12680	s.EngineVersion = &v
12681	return s
12682}
12683
12684// SetFilters sets the Filters field's value.
12685func (s *DescribeOrderableDBInstanceOptionsInput) SetFilters(v []*Filter) *DescribeOrderableDBInstanceOptionsInput {
12686	s.Filters = v
12687	return s
12688}
12689
12690// SetLicenseModel sets the LicenseModel field's value.
12691func (s *DescribeOrderableDBInstanceOptionsInput) SetLicenseModel(v string) *DescribeOrderableDBInstanceOptionsInput {
12692	s.LicenseModel = &v
12693	return s
12694}
12695
12696// SetMarker sets the Marker field's value.
12697func (s *DescribeOrderableDBInstanceOptionsInput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsInput {
12698	s.Marker = &v
12699	return s
12700}
12701
12702// SetMaxRecords sets the MaxRecords field's value.
12703func (s *DescribeOrderableDBInstanceOptionsInput) SetMaxRecords(v int64) *DescribeOrderableDBInstanceOptionsInput {
12704	s.MaxRecords = &v
12705	return s
12706}
12707
12708// SetVpc sets the Vpc field's value.
12709func (s *DescribeOrderableDBInstanceOptionsInput) SetVpc(v bool) *DescribeOrderableDBInstanceOptionsInput {
12710	s.Vpc = &v
12711	return s
12712}
12713
12714type DescribeOrderableDBInstanceOptionsOutput struct {
12715	_ struct{} `type:"structure"`
12716
12717	// An optional pagination token provided by a previous OrderableDBInstanceOptions
12718	// request. If this parameter is specified, the response includes only records
12719	// beyond the marker, up to the value specified by MaxRecords .
12720	Marker *string `type:"string"`
12721
12722	// An OrderableDBInstanceOption structure containing information about orderable
12723	// options for the DB instance.
12724	OrderableDBInstanceOptions []*OrderableDBInstanceOption `locationNameList:"OrderableDBInstanceOption" type:"list"`
12725}
12726
12727// String returns the string representation
12728func (s DescribeOrderableDBInstanceOptionsOutput) String() string {
12729	return awsutil.Prettify(s)
12730}
12731
12732// GoString returns the string representation
12733func (s DescribeOrderableDBInstanceOptionsOutput) GoString() string {
12734	return s.String()
12735}
12736
12737// SetMarker sets the Marker field's value.
12738func (s *DescribeOrderableDBInstanceOptionsOutput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsOutput {
12739	s.Marker = &v
12740	return s
12741}
12742
12743// SetOrderableDBInstanceOptions sets the OrderableDBInstanceOptions field's value.
12744func (s *DescribeOrderableDBInstanceOptionsOutput) SetOrderableDBInstanceOptions(v []*OrderableDBInstanceOption) *DescribeOrderableDBInstanceOptionsOutput {
12745	s.OrderableDBInstanceOptions = v
12746	return s
12747}
12748
12749type DescribePendingMaintenanceActionsInput struct {
12750	_ struct{} `type:"structure"`
12751
12752	// A filter that specifies one or more resources to return pending maintenance
12753	// actions for.
12754	//
12755	// Supported filters:
12756	//
12757	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
12758	//    Resource Names (ARNs). The results list will only include pending maintenance
12759	//    actions for the DB clusters identified by these ARNs.
12760	//
12761	//    * db-instance-id - Accepts DB instance identifiers and DB instance ARNs.
12762	//    The results list will only include pending maintenance actions for the
12763	//    DB instances identified by these ARNs.
12764	Filters []*Filter `locationNameList:"Filter" type:"list"`
12765
12766	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
12767	// request. If this parameter is specified, the response includes only records
12768	// beyond the marker, up to a number of records specified by MaxRecords.
12769	Marker *string `type:"string"`
12770
12771	// The maximum number of records to include in the response. If more records
12772	// exist than the specified MaxRecords value, a pagination token called a marker
12773	// is included in the response so that the remaining results can be retrieved.
12774	//
12775	// Default: 100
12776	//
12777	// Constraints: Minimum 20, maximum 100.
12778	MaxRecords *int64 `type:"integer"`
12779
12780	// The ARN of a resource to return pending maintenance actions for.
12781	ResourceIdentifier *string `type:"string"`
12782}
12783
12784// String returns the string representation
12785func (s DescribePendingMaintenanceActionsInput) String() string {
12786	return awsutil.Prettify(s)
12787}
12788
12789// GoString returns the string representation
12790func (s DescribePendingMaintenanceActionsInput) GoString() string {
12791	return s.String()
12792}
12793
12794// Validate inspects the fields of the type to determine if they are valid.
12795func (s *DescribePendingMaintenanceActionsInput) Validate() error {
12796	invalidParams := request.ErrInvalidParams{Context: "DescribePendingMaintenanceActionsInput"}
12797	if s.Filters != nil {
12798		for i, v := range s.Filters {
12799			if v == nil {
12800				continue
12801			}
12802			if err := v.Validate(); err != nil {
12803				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12804			}
12805		}
12806	}
12807
12808	if invalidParams.Len() > 0 {
12809		return invalidParams
12810	}
12811	return nil
12812}
12813
12814// SetFilters sets the Filters field's value.
12815func (s *DescribePendingMaintenanceActionsInput) SetFilters(v []*Filter) *DescribePendingMaintenanceActionsInput {
12816	s.Filters = v
12817	return s
12818}
12819
12820// SetMarker sets the Marker field's value.
12821func (s *DescribePendingMaintenanceActionsInput) SetMarker(v string) *DescribePendingMaintenanceActionsInput {
12822	s.Marker = &v
12823	return s
12824}
12825
12826// SetMaxRecords sets the MaxRecords field's value.
12827func (s *DescribePendingMaintenanceActionsInput) SetMaxRecords(v int64) *DescribePendingMaintenanceActionsInput {
12828	s.MaxRecords = &v
12829	return s
12830}
12831
12832// SetResourceIdentifier sets the ResourceIdentifier field's value.
12833func (s *DescribePendingMaintenanceActionsInput) SetResourceIdentifier(v string) *DescribePendingMaintenanceActionsInput {
12834	s.ResourceIdentifier = &v
12835	return s
12836}
12837
12838type DescribePendingMaintenanceActionsOutput struct {
12839	_ struct{} `type:"structure"`
12840
12841	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
12842	// request. If this parameter is specified, the response includes only records
12843	// beyond the marker, up to a number of records specified by MaxRecords.
12844	Marker *string `type:"string"`
12845
12846	// A list of the pending maintenance actions for the resource.
12847	PendingMaintenanceActions []*ResourcePendingMaintenanceActions `locationNameList:"ResourcePendingMaintenanceActions" type:"list"`
12848}
12849
12850// String returns the string representation
12851func (s DescribePendingMaintenanceActionsOutput) String() string {
12852	return awsutil.Prettify(s)
12853}
12854
12855// GoString returns the string representation
12856func (s DescribePendingMaintenanceActionsOutput) GoString() string {
12857	return s.String()
12858}
12859
12860// SetMarker sets the Marker field's value.
12861func (s *DescribePendingMaintenanceActionsOutput) SetMarker(v string) *DescribePendingMaintenanceActionsOutput {
12862	s.Marker = &v
12863	return s
12864}
12865
12866// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
12867func (s *DescribePendingMaintenanceActionsOutput) SetPendingMaintenanceActions(v []*ResourcePendingMaintenanceActions) *DescribePendingMaintenanceActionsOutput {
12868	s.PendingMaintenanceActions = v
12869	return s
12870}
12871
12872type DescribeValidDBInstanceModificationsInput struct {
12873	_ struct{} `type:"structure"`
12874
12875	// The customer identifier or the ARN of your DB instance.
12876	//
12877	// DBInstanceIdentifier is a required field
12878	DBInstanceIdentifier *string `type:"string" required:"true"`
12879}
12880
12881// String returns the string representation
12882func (s DescribeValidDBInstanceModificationsInput) String() string {
12883	return awsutil.Prettify(s)
12884}
12885
12886// GoString returns the string representation
12887func (s DescribeValidDBInstanceModificationsInput) GoString() string {
12888	return s.String()
12889}
12890
12891// Validate inspects the fields of the type to determine if they are valid.
12892func (s *DescribeValidDBInstanceModificationsInput) Validate() error {
12893	invalidParams := request.ErrInvalidParams{Context: "DescribeValidDBInstanceModificationsInput"}
12894	if s.DBInstanceIdentifier == nil {
12895		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
12896	}
12897
12898	if invalidParams.Len() > 0 {
12899		return invalidParams
12900	}
12901	return nil
12902}
12903
12904// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
12905func (s *DescribeValidDBInstanceModificationsInput) SetDBInstanceIdentifier(v string) *DescribeValidDBInstanceModificationsInput {
12906	s.DBInstanceIdentifier = &v
12907	return s
12908}
12909
12910type DescribeValidDBInstanceModificationsOutput struct {
12911	_ struct{} `type:"structure"`
12912
12913	// Information about valid modifications that you can make to your DB instance.
12914	// Contains the result of a successful call to the DescribeValidDBInstanceModifications
12915	// action. You can use this information when you call ModifyDBInstance.
12916	ValidDBInstanceModificationsMessage *ValidDBInstanceModificationsMessage `type:"structure"`
12917}
12918
12919// String returns the string representation
12920func (s DescribeValidDBInstanceModificationsOutput) String() string {
12921	return awsutil.Prettify(s)
12922}
12923
12924// GoString returns the string representation
12925func (s DescribeValidDBInstanceModificationsOutput) GoString() string {
12926	return s.String()
12927}
12928
12929// SetValidDBInstanceModificationsMessage sets the ValidDBInstanceModificationsMessage field's value.
12930func (s *DescribeValidDBInstanceModificationsOutput) SetValidDBInstanceModificationsMessage(v *ValidDBInstanceModificationsMessage) *DescribeValidDBInstanceModificationsOutput {
12931	s.ValidDBInstanceModificationsMessage = v
12932	return s
12933}
12934
12935// An Active Directory Domain membership record associated with a DB instance.
12936type DomainMembership struct {
12937	_ struct{} `type:"structure"`
12938
12939	// The identifier of the Active Directory Domain.
12940	Domain *string `type:"string"`
12941
12942	// The fully qualified domain name of the Active Directory Domain.
12943	FQDN *string `type:"string"`
12944
12945	// The name of the IAM role to be used when making API calls to the Directory
12946	// Service.
12947	IAMRoleName *string `type:"string"`
12948
12949	// The status of the DB instance's Active Directory Domain membership, such
12950	// as joined, pending-join, failed etc).
12951	Status *string `type:"string"`
12952}
12953
12954// String returns the string representation
12955func (s DomainMembership) String() string {
12956	return awsutil.Prettify(s)
12957}
12958
12959// GoString returns the string representation
12960func (s DomainMembership) GoString() string {
12961	return s.String()
12962}
12963
12964// SetDomain sets the Domain field's value.
12965func (s *DomainMembership) SetDomain(v string) *DomainMembership {
12966	s.Domain = &v
12967	return s
12968}
12969
12970// SetFQDN sets the FQDN field's value.
12971func (s *DomainMembership) SetFQDN(v string) *DomainMembership {
12972	s.FQDN = &v
12973	return s
12974}
12975
12976// SetIAMRoleName sets the IAMRoleName field's value.
12977func (s *DomainMembership) SetIAMRoleName(v string) *DomainMembership {
12978	s.IAMRoleName = &v
12979	return s
12980}
12981
12982// SetStatus sets the Status field's value.
12983func (s *DomainMembership) SetStatus(v string) *DomainMembership {
12984	s.Status = &v
12985	return s
12986}
12987
12988// A range of double values.
12989type DoubleRange struct {
12990	_ struct{} `type:"structure"`
12991
12992	// The minimum value in the range.
12993	From *float64 `type:"double"`
12994
12995	// The maximum value in the range.
12996	To *float64 `type:"double"`
12997}
12998
12999// String returns the string representation
13000func (s DoubleRange) String() string {
13001	return awsutil.Prettify(s)
13002}
13003
13004// GoString returns the string representation
13005func (s DoubleRange) GoString() string {
13006	return s.String()
13007}
13008
13009// SetFrom sets the From field's value.
13010func (s *DoubleRange) SetFrom(v float64) *DoubleRange {
13011	s.From = &v
13012	return s
13013}
13014
13015// SetTo sets the To field's value.
13016func (s *DoubleRange) SetTo(v float64) *DoubleRange {
13017	s.To = &v
13018	return s
13019}
13020
13021// Specifies a connection endpoint.
13022type Endpoint struct {
13023	_ struct{} `type:"structure"`
13024
13025	// Specifies the DNS address of the DB instance.
13026	Address *string `type:"string"`
13027
13028	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
13029	HostedZoneId *string `type:"string"`
13030
13031	// Specifies the port that the database engine is listening on.
13032	Port *int64 `type:"integer"`
13033}
13034
13035// String returns the string representation
13036func (s Endpoint) String() string {
13037	return awsutil.Prettify(s)
13038}
13039
13040// GoString returns the string representation
13041func (s Endpoint) GoString() string {
13042	return s.String()
13043}
13044
13045// SetAddress sets the Address field's value.
13046func (s *Endpoint) SetAddress(v string) *Endpoint {
13047	s.Address = &v
13048	return s
13049}
13050
13051// SetHostedZoneId sets the HostedZoneId field's value.
13052func (s *Endpoint) SetHostedZoneId(v string) *Endpoint {
13053	s.HostedZoneId = &v
13054	return s
13055}
13056
13057// SetPort sets the Port field's value.
13058func (s *Endpoint) SetPort(v int64) *Endpoint {
13059	s.Port = &v
13060	return s
13061}
13062
13063// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
13064// action.
13065type EngineDefaults struct {
13066	_ struct{} `type:"structure"`
13067
13068	// Specifies the name of the DB parameter group family that the engine default
13069	// parameters apply to.
13070	DBParameterGroupFamily *string `type:"string"`
13071
13072	// An optional pagination token provided by a previous EngineDefaults request.
13073	// If this parameter is specified, the response includes only records beyond
13074	// the marker, up to the value specified by MaxRecords .
13075	Marker *string `type:"string"`
13076
13077	// Contains a list of engine default parameters.
13078	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
13079}
13080
13081// String returns the string representation
13082func (s EngineDefaults) String() string {
13083	return awsutil.Prettify(s)
13084}
13085
13086// GoString returns the string representation
13087func (s EngineDefaults) GoString() string {
13088	return s.String()
13089}
13090
13091// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
13092func (s *EngineDefaults) SetDBParameterGroupFamily(v string) *EngineDefaults {
13093	s.DBParameterGroupFamily = &v
13094	return s
13095}
13096
13097// SetMarker sets the Marker field's value.
13098func (s *EngineDefaults) SetMarker(v string) *EngineDefaults {
13099	s.Marker = &v
13100	return s
13101}
13102
13103// SetParameters sets the Parameters field's value.
13104func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults {
13105	s.Parameters = v
13106	return s
13107}
13108
13109// This data type is used as a response element in the DescribeEvents action.
13110type Event struct {
13111	_ struct{} `type:"structure"`
13112
13113	// Specifies the date and time of the event.
13114	Date *time.Time `type:"timestamp"`
13115
13116	// Specifies the category for the event.
13117	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
13118
13119	// Provides the text of this event.
13120	Message *string `type:"string"`
13121
13122	// The Amazon Resource Name (ARN) for the event.
13123	SourceArn *string `type:"string"`
13124
13125	// Provides the identifier for the source of the event.
13126	SourceIdentifier *string `type:"string"`
13127
13128	// Specifies the source type for this event.
13129	SourceType *string `type:"string" enum:"SourceType"`
13130}
13131
13132// String returns the string representation
13133func (s Event) String() string {
13134	return awsutil.Prettify(s)
13135}
13136
13137// GoString returns the string representation
13138func (s Event) GoString() string {
13139	return s.String()
13140}
13141
13142// SetDate sets the Date field's value.
13143func (s *Event) SetDate(v time.Time) *Event {
13144	s.Date = &v
13145	return s
13146}
13147
13148// SetEventCategories sets the EventCategories field's value.
13149func (s *Event) SetEventCategories(v []*string) *Event {
13150	s.EventCategories = v
13151	return s
13152}
13153
13154// SetMessage sets the Message field's value.
13155func (s *Event) SetMessage(v string) *Event {
13156	s.Message = &v
13157	return s
13158}
13159
13160// SetSourceArn sets the SourceArn field's value.
13161func (s *Event) SetSourceArn(v string) *Event {
13162	s.SourceArn = &v
13163	return s
13164}
13165
13166// SetSourceIdentifier sets the SourceIdentifier field's value.
13167func (s *Event) SetSourceIdentifier(v string) *Event {
13168	s.SourceIdentifier = &v
13169	return s
13170}
13171
13172// SetSourceType sets the SourceType field's value.
13173func (s *Event) SetSourceType(v string) *Event {
13174	s.SourceType = &v
13175	return s
13176}
13177
13178// Contains the results of a successful invocation of the DescribeEventCategories
13179// action.
13180type EventCategoriesMap struct {
13181	_ struct{} `type:"structure"`
13182
13183	// The event categories for the specified source type
13184	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
13185
13186	// The source type that the returned categories belong to
13187	SourceType *string `type:"string"`
13188}
13189
13190// String returns the string representation
13191func (s EventCategoriesMap) String() string {
13192	return awsutil.Prettify(s)
13193}
13194
13195// GoString returns the string representation
13196func (s EventCategoriesMap) GoString() string {
13197	return s.String()
13198}
13199
13200// SetEventCategories sets the EventCategories field's value.
13201func (s *EventCategoriesMap) SetEventCategories(v []*string) *EventCategoriesMap {
13202	s.EventCategories = v
13203	return s
13204}
13205
13206// SetSourceType sets the SourceType field's value.
13207func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap {
13208	s.SourceType = &v
13209	return s
13210}
13211
13212// Contains the results of a successful invocation of the DescribeEventSubscriptions
13213// action.
13214type EventSubscription struct {
13215	_ struct{} `type:"structure"`
13216
13217	// The event notification subscription Id.
13218	CustSubscriptionId *string `type:"string"`
13219
13220	// The AWS customer account associated with the event notification subscription.
13221	CustomerAwsId *string `type:"string"`
13222
13223	// A Boolean value indicating if the subscription is enabled. True indicates
13224	// the subscription is enabled.
13225	Enabled *bool `type:"boolean"`
13226
13227	// A list of event categories for the event notification subscription.
13228	EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"`
13229
13230	// The Amazon Resource Name (ARN) for the event subscription.
13231	EventSubscriptionArn *string `type:"string"`
13232
13233	// The topic ARN of the event notification subscription.
13234	SnsTopicArn *string `type:"string"`
13235
13236	// A list of source IDs for the event notification subscription.
13237	SourceIdsList []*string `locationNameList:"SourceId" type:"list"`
13238
13239	// The source type for the event notification subscription.
13240	SourceType *string `type:"string"`
13241
13242	// The status of the event notification subscription.
13243	//
13244	// Constraints:
13245	//
13246	// Can be one of the following: creating | modifying | deleting | active | no-permission
13247	// | topic-not-exist
13248	//
13249	// The status "no-permission" indicates that Neptune no longer has permission
13250	// to post to the SNS topic. The status "topic-not-exist" indicates that the
13251	// topic was deleted after the subscription was created.
13252	Status *string `type:"string"`
13253
13254	// The time the event notification subscription was created.
13255	SubscriptionCreationTime *string `type:"string"`
13256}
13257
13258// String returns the string representation
13259func (s EventSubscription) String() string {
13260	return awsutil.Prettify(s)
13261}
13262
13263// GoString returns the string representation
13264func (s EventSubscription) GoString() string {
13265	return s.String()
13266}
13267
13268// SetCustSubscriptionId sets the CustSubscriptionId field's value.
13269func (s *EventSubscription) SetCustSubscriptionId(v string) *EventSubscription {
13270	s.CustSubscriptionId = &v
13271	return s
13272}
13273
13274// SetCustomerAwsId sets the CustomerAwsId field's value.
13275func (s *EventSubscription) SetCustomerAwsId(v string) *EventSubscription {
13276	s.CustomerAwsId = &v
13277	return s
13278}
13279
13280// SetEnabled sets the Enabled field's value.
13281func (s *EventSubscription) SetEnabled(v bool) *EventSubscription {
13282	s.Enabled = &v
13283	return s
13284}
13285
13286// SetEventCategoriesList sets the EventCategoriesList field's value.
13287func (s *EventSubscription) SetEventCategoriesList(v []*string) *EventSubscription {
13288	s.EventCategoriesList = v
13289	return s
13290}
13291
13292// SetEventSubscriptionArn sets the EventSubscriptionArn field's value.
13293func (s *EventSubscription) SetEventSubscriptionArn(v string) *EventSubscription {
13294	s.EventSubscriptionArn = &v
13295	return s
13296}
13297
13298// SetSnsTopicArn sets the SnsTopicArn field's value.
13299func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription {
13300	s.SnsTopicArn = &v
13301	return s
13302}
13303
13304// SetSourceIdsList sets the SourceIdsList field's value.
13305func (s *EventSubscription) SetSourceIdsList(v []*string) *EventSubscription {
13306	s.SourceIdsList = v
13307	return s
13308}
13309
13310// SetSourceType sets the SourceType field's value.
13311func (s *EventSubscription) SetSourceType(v string) *EventSubscription {
13312	s.SourceType = &v
13313	return s
13314}
13315
13316// SetStatus sets the Status field's value.
13317func (s *EventSubscription) SetStatus(v string) *EventSubscription {
13318	s.Status = &v
13319	return s
13320}
13321
13322// SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
13323func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscription {
13324	s.SubscriptionCreationTime = &v
13325	return s
13326}
13327
13328type FailoverDBClusterInput struct {
13329	_ struct{} `type:"structure"`
13330
13331	// A DB cluster identifier to force a failover for. This parameter is not case-sensitive.
13332	//
13333	// Constraints:
13334	//
13335	//    * Must match the identifier of an existing DBCluster.
13336	DBClusterIdentifier *string `type:"string"`
13337
13338	// The name of the instance to promote to the primary instance.
13339	//
13340	// You must specify the instance identifier for an Read Replica in the DB cluster.
13341	// For example, mydbcluster-replica1.
13342	TargetDBInstanceIdentifier *string `type:"string"`
13343}
13344
13345// String returns the string representation
13346func (s FailoverDBClusterInput) String() string {
13347	return awsutil.Prettify(s)
13348}
13349
13350// GoString returns the string representation
13351func (s FailoverDBClusterInput) GoString() string {
13352	return s.String()
13353}
13354
13355// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
13356func (s *FailoverDBClusterInput) SetDBClusterIdentifier(v string) *FailoverDBClusterInput {
13357	s.DBClusterIdentifier = &v
13358	return s
13359}
13360
13361// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
13362func (s *FailoverDBClusterInput) SetTargetDBInstanceIdentifier(v string) *FailoverDBClusterInput {
13363	s.TargetDBInstanceIdentifier = &v
13364	return s
13365}
13366
13367type FailoverDBClusterOutput struct {
13368	_ struct{} `type:"structure"`
13369
13370	// Contains the details of an Amazon Neptune DB cluster.
13371	//
13372	// This data type is used as a response element in the DescribeDBClusters action.
13373	DBCluster *DBCluster `type:"structure"`
13374}
13375
13376// String returns the string representation
13377func (s FailoverDBClusterOutput) String() string {
13378	return awsutil.Prettify(s)
13379}
13380
13381// GoString returns the string representation
13382func (s FailoverDBClusterOutput) GoString() string {
13383	return s.String()
13384}
13385
13386// SetDBCluster sets the DBCluster field's value.
13387func (s *FailoverDBClusterOutput) SetDBCluster(v *DBCluster) *FailoverDBClusterOutput {
13388	s.DBCluster = v
13389	return s
13390}
13391
13392// This type is not currently supported.
13393type Filter struct {
13394	_ struct{} `type:"structure"`
13395
13396	// This parameter is not currently supported.
13397	//
13398	// Name is a required field
13399	Name *string `type:"string" required:"true"`
13400
13401	// This parameter is not currently supported.
13402	//
13403	// Values is a required field
13404	Values []*string `locationNameList:"Value" type:"list" required:"true"`
13405}
13406
13407// String returns the string representation
13408func (s Filter) String() string {
13409	return awsutil.Prettify(s)
13410}
13411
13412// GoString returns the string representation
13413func (s Filter) GoString() string {
13414	return s.String()
13415}
13416
13417// Validate inspects the fields of the type to determine if they are valid.
13418func (s *Filter) Validate() error {
13419	invalidParams := request.ErrInvalidParams{Context: "Filter"}
13420	if s.Name == nil {
13421		invalidParams.Add(request.NewErrParamRequired("Name"))
13422	}
13423	if s.Values == nil {
13424		invalidParams.Add(request.NewErrParamRequired("Values"))
13425	}
13426
13427	if invalidParams.Len() > 0 {
13428		return invalidParams
13429	}
13430	return nil
13431}
13432
13433// SetName sets the Name field's value.
13434func (s *Filter) SetName(v string) *Filter {
13435	s.Name = &v
13436	return s
13437}
13438
13439// SetValues sets the Values field's value.
13440func (s *Filter) SetValues(v []*string) *Filter {
13441	s.Values = v
13442	return s
13443}
13444
13445type ListTagsForResourceInput struct {
13446	_ struct{} `type:"structure"`
13447
13448	// This parameter is not currently supported.
13449	Filters []*Filter `locationNameList:"Filter" type:"list"`
13450
13451	// The Amazon Neptune resource with tags to be listed. This value is an Amazon
13452	// Resource Name (ARN). For information about creating an ARN, see Constructing
13453	// an Amazon Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
13454	//
13455	// ResourceName is a required field
13456	ResourceName *string `type:"string" required:"true"`
13457}
13458
13459// String returns the string representation
13460func (s ListTagsForResourceInput) String() string {
13461	return awsutil.Prettify(s)
13462}
13463
13464// GoString returns the string representation
13465func (s ListTagsForResourceInput) GoString() string {
13466	return s.String()
13467}
13468
13469// Validate inspects the fields of the type to determine if they are valid.
13470func (s *ListTagsForResourceInput) Validate() error {
13471	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
13472	if s.ResourceName == nil {
13473		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
13474	}
13475	if s.Filters != nil {
13476		for i, v := range s.Filters {
13477			if v == nil {
13478				continue
13479			}
13480			if err := v.Validate(); err != nil {
13481				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13482			}
13483		}
13484	}
13485
13486	if invalidParams.Len() > 0 {
13487		return invalidParams
13488	}
13489	return nil
13490}
13491
13492// SetFilters sets the Filters field's value.
13493func (s *ListTagsForResourceInput) SetFilters(v []*Filter) *ListTagsForResourceInput {
13494	s.Filters = v
13495	return s
13496}
13497
13498// SetResourceName sets the ResourceName field's value.
13499func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput {
13500	s.ResourceName = &v
13501	return s
13502}
13503
13504type ListTagsForResourceOutput struct {
13505	_ struct{} `type:"structure"`
13506
13507	// List of tags returned by the ListTagsForResource operation.
13508	TagList []*Tag `locationNameList:"Tag" type:"list"`
13509}
13510
13511// String returns the string representation
13512func (s ListTagsForResourceOutput) String() string {
13513	return awsutil.Prettify(s)
13514}
13515
13516// GoString returns the string representation
13517func (s ListTagsForResourceOutput) GoString() string {
13518	return s.String()
13519}
13520
13521// SetTagList sets the TagList field's value.
13522func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
13523	s.TagList = v
13524	return s
13525}
13526
13527type ModifyDBClusterInput struct {
13528	_ struct{} `type:"structure"`
13529
13530	// A value that specifies whether the modifications in this request and any
13531	// pending modifications are asynchronously applied as soon as possible, regardless
13532	// of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter
13533	// is set to false, changes to the DB cluster are applied during the next maintenance
13534	// window.
13535	//
13536	// The ApplyImmediately parameter only affects the NewDBClusterIdentifier and
13537	// MasterUserPassword values. If you set the ApplyImmediately parameter value
13538	// to false, then changes to the NewDBClusterIdentifier and MasterUserPassword
13539	// values are applied during the next maintenance window. All other changes
13540	// are applied immediately, regardless of the value of the ApplyImmediately
13541	// parameter.
13542	//
13543	// Default: false
13544	ApplyImmediately *bool `type:"boolean"`
13545
13546	// The number of days for which automated backups are retained. You must specify
13547	// a minimum value of 1.
13548	//
13549	// Default: 1
13550	//
13551	// Constraints:
13552	//
13553	//    * Must be a value from 1 to 35
13554	BackupRetentionPeriod *int64 `type:"integer"`
13555
13556	// The configuration setting for the log types to be enabled for export to CloudWatch
13557	// Logs for a specific DB cluster.
13558	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
13559
13560	// The DB cluster identifier for the cluster being modified. This parameter
13561	// is not case-sensitive.
13562	//
13563	// Constraints:
13564	//
13565	//    * Must match the identifier of an existing DBCluster.
13566	//
13567	// DBClusterIdentifier is a required field
13568	DBClusterIdentifier *string `type:"string" required:"true"`
13569
13570	// The name of the DB cluster parameter group to use for the DB cluster.
13571	DBClusterParameterGroupName *string `type:"string"`
13572
13573	// A value that indicates whether the DB cluster has deletion protection enabled.
13574	// The database can't be deleted when deletion protection is enabled. By default,
13575	// deletion protection is disabled.
13576	DeletionProtection *bool `type:"boolean"`
13577
13578	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
13579	// to database accounts, and otherwise false.
13580	//
13581	// Default: false
13582	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
13583
13584	// The version number of the database engine. Currently, setting this parameter
13585	// has no effect. To upgrade your database engine to the most recent release,
13586	// use the ApplyPendingMaintenanceAction API.
13587	//
13588	// For a list of valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.
13589	EngineVersion *string `type:"string"`
13590
13591	// The new password for the master database user. This password can contain
13592	// any printable ASCII character except "/", """, or "@".
13593	//
13594	// Constraints: Must contain from 8 to 41 characters.
13595	MasterUserPassword *string `type:"string"`
13596
13597	// The new DB cluster identifier for the DB cluster when renaming a DB cluster.
13598	// This value is stored as a lowercase string.
13599	//
13600	// Constraints:
13601	//
13602	//    * Must contain from 1 to 63 letters, numbers, or hyphens
13603	//
13604	//    * The first character must be a letter
13605	//
13606	//    * Cannot end with a hyphen or contain two consecutive hyphens
13607	//
13608	// Example: my-cluster2
13609	NewDBClusterIdentifier *string `type:"string"`
13610
13611	// (Not supported by Neptune)
13612	OptionGroupName *string `type:"string"`
13613
13614	// The port number on which the DB cluster accepts connections.
13615	//
13616	// Constraints: Value must be 1150-65535
13617	//
13618	// Default: The same port as the original DB cluster.
13619	Port *int64 `type:"integer"`
13620
13621	// The daily time range during which automated backups are created if automated
13622	// backups are enabled, using the BackupRetentionPeriod parameter.
13623	//
13624	// The default is a 30-minute window selected at random from an 8-hour block
13625	// of time for each AWS Region.
13626	//
13627	// Constraints:
13628	//
13629	//    * Must be in the format hh24:mi-hh24:mi.
13630	//
13631	//    * Must be in Universal Coordinated Time (UTC).
13632	//
13633	//    * Must not conflict with the preferred maintenance window.
13634	//
13635	//    * Must be at least 30 minutes.
13636	PreferredBackupWindow *string `type:"string"`
13637
13638	// The weekly time range during which system maintenance can occur, in Universal
13639	// Coordinated Time (UTC).
13640	//
13641	// Format: ddd:hh24:mi-ddd:hh24:mi
13642	//
13643	// The default is a 30-minute window selected at random from an 8-hour block
13644	// of time for each AWS Region, occurring on a random day of the week.
13645	//
13646	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
13647	//
13648	// Constraints: Minimum 30-minute window.
13649	PreferredMaintenanceWindow *string `type:"string"`
13650
13651	// A list of VPC security groups that the DB cluster will belong to.
13652	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
13653}
13654
13655// String returns the string representation
13656func (s ModifyDBClusterInput) String() string {
13657	return awsutil.Prettify(s)
13658}
13659
13660// GoString returns the string representation
13661func (s ModifyDBClusterInput) GoString() string {
13662	return s.String()
13663}
13664
13665// Validate inspects the fields of the type to determine if they are valid.
13666func (s *ModifyDBClusterInput) Validate() error {
13667	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterInput"}
13668	if s.DBClusterIdentifier == nil {
13669		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
13670	}
13671
13672	if invalidParams.Len() > 0 {
13673		return invalidParams
13674	}
13675	return nil
13676}
13677
13678// SetApplyImmediately sets the ApplyImmediately field's value.
13679func (s *ModifyDBClusterInput) SetApplyImmediately(v bool) *ModifyDBClusterInput {
13680	s.ApplyImmediately = &v
13681	return s
13682}
13683
13684// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
13685func (s *ModifyDBClusterInput) SetBackupRetentionPeriod(v int64) *ModifyDBClusterInput {
13686	s.BackupRetentionPeriod = &v
13687	return s
13688}
13689
13690// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
13691func (s *ModifyDBClusterInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBClusterInput {
13692	s.CloudwatchLogsExportConfiguration = v
13693	return s
13694}
13695
13696// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
13697func (s *ModifyDBClusterInput) SetDBClusterIdentifier(v string) *ModifyDBClusterInput {
13698	s.DBClusterIdentifier = &v
13699	return s
13700}
13701
13702// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
13703func (s *ModifyDBClusterInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterInput {
13704	s.DBClusterParameterGroupName = &v
13705	return s
13706}
13707
13708// SetDeletionProtection sets the DeletionProtection field's value.
13709func (s *ModifyDBClusterInput) SetDeletionProtection(v bool) *ModifyDBClusterInput {
13710	s.DeletionProtection = &v
13711	return s
13712}
13713
13714// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
13715func (s *ModifyDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBClusterInput {
13716	s.EnableIAMDatabaseAuthentication = &v
13717	return s
13718}
13719
13720// SetEngineVersion sets the EngineVersion field's value.
13721func (s *ModifyDBClusterInput) SetEngineVersion(v string) *ModifyDBClusterInput {
13722	s.EngineVersion = &v
13723	return s
13724}
13725
13726// SetMasterUserPassword sets the MasterUserPassword field's value.
13727func (s *ModifyDBClusterInput) SetMasterUserPassword(v string) *ModifyDBClusterInput {
13728	s.MasterUserPassword = &v
13729	return s
13730}
13731
13732// SetNewDBClusterIdentifier sets the NewDBClusterIdentifier field's value.
13733func (s *ModifyDBClusterInput) SetNewDBClusterIdentifier(v string) *ModifyDBClusterInput {
13734	s.NewDBClusterIdentifier = &v
13735	return s
13736}
13737
13738// SetOptionGroupName sets the OptionGroupName field's value.
13739func (s *ModifyDBClusterInput) SetOptionGroupName(v string) *ModifyDBClusterInput {
13740	s.OptionGroupName = &v
13741	return s
13742}
13743
13744// SetPort sets the Port field's value.
13745func (s *ModifyDBClusterInput) SetPort(v int64) *ModifyDBClusterInput {
13746	s.Port = &v
13747	return s
13748}
13749
13750// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
13751func (s *ModifyDBClusterInput) SetPreferredBackupWindow(v string) *ModifyDBClusterInput {
13752	s.PreferredBackupWindow = &v
13753	return s
13754}
13755
13756// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
13757func (s *ModifyDBClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyDBClusterInput {
13758	s.PreferredMaintenanceWindow = &v
13759	return s
13760}
13761
13762// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
13763func (s *ModifyDBClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBClusterInput {
13764	s.VpcSecurityGroupIds = v
13765	return s
13766}
13767
13768type ModifyDBClusterOutput struct {
13769	_ struct{} `type:"structure"`
13770
13771	// Contains the details of an Amazon Neptune DB cluster.
13772	//
13773	// This data type is used as a response element in the DescribeDBClusters action.
13774	DBCluster *DBCluster `type:"structure"`
13775}
13776
13777// String returns the string representation
13778func (s ModifyDBClusterOutput) String() string {
13779	return awsutil.Prettify(s)
13780}
13781
13782// GoString returns the string representation
13783func (s ModifyDBClusterOutput) GoString() string {
13784	return s.String()
13785}
13786
13787// SetDBCluster sets the DBCluster field's value.
13788func (s *ModifyDBClusterOutput) SetDBCluster(v *DBCluster) *ModifyDBClusterOutput {
13789	s.DBCluster = v
13790	return s
13791}
13792
13793type ModifyDBClusterParameterGroupInput struct {
13794	_ struct{} `type:"structure"`
13795
13796	// The name of the DB cluster parameter group to modify.
13797	//
13798	// DBClusterParameterGroupName is a required field
13799	DBClusterParameterGroupName *string `type:"string" required:"true"`
13800
13801	// A list of parameters in the DB cluster parameter group to modify.
13802	//
13803	// Parameters is a required field
13804	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
13805}
13806
13807// String returns the string representation
13808func (s ModifyDBClusterParameterGroupInput) String() string {
13809	return awsutil.Prettify(s)
13810}
13811
13812// GoString returns the string representation
13813func (s ModifyDBClusterParameterGroupInput) GoString() string {
13814	return s.String()
13815}
13816
13817// Validate inspects the fields of the type to determine if they are valid.
13818func (s *ModifyDBClusterParameterGroupInput) Validate() error {
13819	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterParameterGroupInput"}
13820	if s.DBClusterParameterGroupName == nil {
13821		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
13822	}
13823	if s.Parameters == nil {
13824		invalidParams.Add(request.NewErrParamRequired("Parameters"))
13825	}
13826
13827	if invalidParams.Len() > 0 {
13828		return invalidParams
13829	}
13830	return nil
13831}
13832
13833// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
13834func (s *ModifyDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupInput {
13835	s.DBClusterParameterGroupName = &v
13836	return s
13837}
13838
13839// SetParameters sets the Parameters field's value.
13840func (s *ModifyDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBClusterParameterGroupInput {
13841	s.Parameters = v
13842	return s
13843}
13844
13845type ModifyDBClusterSnapshotAttributeInput struct {
13846	_ struct{} `type:"structure"`
13847
13848	// The name of the DB cluster snapshot attribute to modify.
13849	//
13850	// To manage authorization for other AWS accounts to copy or restore a manual
13851	// DB cluster snapshot, set this value to restore.
13852	//
13853	// AttributeName is a required field
13854	AttributeName *string `type:"string" required:"true"`
13855
13856	// The identifier for the DB cluster snapshot to modify the attributes for.
13857	//
13858	// DBClusterSnapshotIdentifier is a required field
13859	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
13860
13861	// A list of DB cluster snapshot attributes to add to the attribute specified
13862	// by AttributeName.
13863	//
13864	// To authorize other AWS accounts to copy or restore a manual DB cluster snapshot,
13865	// set this list to include one or more AWS account IDs, or all to make the
13866	// manual DB cluster snapshot restorable by any AWS account. Do not add the
13867	// all value for any manual DB cluster snapshots that contain private information
13868	// that you don't want available to all AWS accounts.
13869	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
13870
13871	// A list of DB cluster snapshot attributes to remove from the attribute specified
13872	// by AttributeName.
13873	//
13874	// To remove authorization for other AWS accounts to copy or restore a manual
13875	// DB cluster snapshot, set this list to include one or more AWS account identifiers,
13876	// or all to remove authorization for any AWS account to copy or restore the
13877	// DB cluster snapshot. If you specify all, an AWS account whose account ID
13878	// is explicitly added to the restore attribute can still copy or restore a
13879	// manual DB cluster snapshot.
13880	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
13881}
13882
13883// String returns the string representation
13884func (s ModifyDBClusterSnapshotAttributeInput) String() string {
13885	return awsutil.Prettify(s)
13886}
13887
13888// GoString returns the string representation
13889func (s ModifyDBClusterSnapshotAttributeInput) GoString() string {
13890	return s.String()
13891}
13892
13893// Validate inspects the fields of the type to determine if they are valid.
13894func (s *ModifyDBClusterSnapshotAttributeInput) Validate() error {
13895	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterSnapshotAttributeInput"}
13896	if s.AttributeName == nil {
13897		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
13898	}
13899	if s.DBClusterSnapshotIdentifier == nil {
13900		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
13901	}
13902
13903	if invalidParams.Len() > 0 {
13904		return invalidParams
13905	}
13906	return nil
13907}
13908
13909// SetAttributeName sets the AttributeName field's value.
13910func (s *ModifyDBClusterSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBClusterSnapshotAttributeInput {
13911	s.AttributeName = &v
13912	return s
13913}
13914
13915// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
13916func (s *ModifyDBClusterSnapshotAttributeInput) SetDBClusterSnapshotIdentifier(v string) *ModifyDBClusterSnapshotAttributeInput {
13917	s.DBClusterSnapshotIdentifier = &v
13918	return s
13919}
13920
13921// SetValuesToAdd sets the ValuesToAdd field's value.
13922func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBClusterSnapshotAttributeInput {
13923	s.ValuesToAdd = v
13924	return s
13925}
13926
13927// SetValuesToRemove sets the ValuesToRemove field's value.
13928func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBClusterSnapshotAttributeInput {
13929	s.ValuesToRemove = v
13930	return s
13931}
13932
13933type ModifyDBClusterSnapshotAttributeOutput struct {
13934	_ struct{} `type:"structure"`
13935
13936	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
13937	// API action.
13938	//
13939	// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
13940	// to copy or restore a manual DB cluster snapshot. For more information, see
13941	// the ModifyDBClusterSnapshotAttribute API action.
13942	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
13943}
13944
13945// String returns the string representation
13946func (s ModifyDBClusterSnapshotAttributeOutput) String() string {
13947	return awsutil.Prettify(s)
13948}
13949
13950// GoString returns the string representation
13951func (s ModifyDBClusterSnapshotAttributeOutput) GoString() string {
13952	return s.String()
13953}
13954
13955// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
13956func (s *ModifyDBClusterSnapshotAttributeOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *ModifyDBClusterSnapshotAttributeOutput {
13957	s.DBClusterSnapshotAttributesResult = v
13958	return s
13959}
13960
13961type ModifyDBInstanceInput struct {
13962	_ struct{} `type:"structure"`
13963
13964	// The new amount of storage (in gibibytes) to allocate for the DB instance.
13965	//
13966	// Not applicable. Storage is managed by the DB Cluster.
13967	AllocatedStorage *int64 `type:"integer"`
13968
13969	// Indicates that major version upgrades are allowed. Changing this parameter
13970	// doesn't result in an outage and the change is asynchronously applied as soon
13971	// as possible.
13972	AllowMajorVersionUpgrade *bool `type:"boolean"`
13973
13974	// Specifies whether the modifications in this request and any pending modifications
13975	// are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow
13976	// setting for the DB instance.
13977	//
13978	// If this parameter is set to false, changes to the DB instance are applied
13979	// during the next maintenance window. Some parameter changes can cause an outage
13980	// and are applied on the next call to RebootDBInstance, or the next failure
13981	// reboot.
13982	//
13983	// Default: false
13984	ApplyImmediately *bool `type:"boolean"`
13985
13986	// Indicates that minor version upgrades are applied automatically to the DB
13987	// instance during the maintenance window. Changing this parameter doesn't result
13988	// in an outage except in the following case and the change is asynchronously
13989	// applied as soon as possible. An outage will result if this parameter is set
13990	// to true during the maintenance window, and a newer minor version is available,
13991	// and Neptune has enabled auto patching for that engine version.
13992	AutoMinorVersionUpgrade *bool `type:"boolean"`
13993
13994	// Not applicable. The retention period for automated backups is managed by
13995	// the DB cluster. For more information, see ModifyDBCluster.
13996	//
13997	// Default: Uses existing setting
13998	BackupRetentionPeriod *int64 `type:"integer"`
13999
14000	// Indicates the certificate that needs to be associated with the instance.
14001	CACertificateIdentifier *string `type:"string"`
14002
14003	// The configuration setting for the log types to be enabled for export to CloudWatch
14004	// Logs for a specific DB instance or DB cluster.
14005	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
14006
14007	// True to copy all tags from the DB instance to snapshots of the DB instance,
14008	// and otherwise false. The default is false.
14009	CopyTagsToSnapshot *bool `type:"boolean"`
14010
14011	// The new compute and memory capacity of the DB instance, for example, db.m4.large.
14012	// Not all DB instance classes are available in all AWS Regions.
14013	//
14014	// If you modify the DB instance class, an outage occurs during the change.
14015	// The change is applied during the next maintenance window, unless ApplyImmediately
14016	// is specified as true for this request.
14017	//
14018	// Default: Uses existing setting
14019	DBInstanceClass *string `type:"string"`
14020
14021	// The DB instance identifier. This value is stored as a lowercase string.
14022	//
14023	// Constraints:
14024	//
14025	//    * Must match the identifier of an existing DBInstance.
14026	//
14027	// DBInstanceIdentifier is a required field
14028	DBInstanceIdentifier *string `type:"string" required:"true"`
14029
14030	// The name of the DB parameter group to apply to the DB instance. Changing
14031	// this setting doesn't result in an outage. The parameter group name itself
14032	// is changed immediately, but the actual parameter changes are not applied
14033	// until you reboot the instance without failover. The db instance will NOT
14034	// be rebooted automatically and the parameter changes will NOT be applied during
14035	// the next maintenance window.
14036	//
14037	// Default: Uses existing setting
14038	//
14039	// Constraints: The DB parameter group must be in the same DB parameter group
14040	// family as this DB instance.
14041	DBParameterGroupName *string `type:"string"`
14042
14043	// The port number on which the database accepts connections.
14044	//
14045	// The value of the DBPortNumber parameter must not match any of the port values
14046	// specified for options in the option group for the DB instance.
14047	//
14048	// Your database will restart when you change the DBPortNumber value regardless
14049	// of the value of the ApplyImmediately parameter.
14050	//
14051	// Default: 8182
14052	DBPortNumber *int64 `type:"integer"`
14053
14054	// A list of DB security groups to authorize on this DB instance. Changing this
14055	// setting doesn't result in an outage and the change is asynchronously applied
14056	// as soon as possible.
14057	//
14058	// Constraints:
14059	//
14060	//    * If supplied, must match existing DBSecurityGroups.
14061	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
14062
14063	// The new DB subnet group for the DB instance. You can use this parameter to
14064	// move your DB instance to a different VPC.
14065	//
14066	// Changing the subnet group causes an outage during the change. The change
14067	// is applied during the next maintenance window, unless you specify true for
14068	// the ApplyImmediately parameter.
14069	//
14070	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
14071	//
14072	// Example: mySubnetGroup
14073	DBSubnetGroupName *string `type:"string"`
14074
14075	// A value that indicates whether the DB instance has deletion protection enabled.
14076	// The database can't be deleted when deletion protection is enabled. By default,
14077	// deletion protection is disabled. See Deleting a DB Instance (https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html).
14078	DeletionProtection *bool `type:"boolean"`
14079
14080	// Not supported.
14081	Domain *string `type:"string"`
14082
14083	// Not supported
14084	DomainIAMRoleName *string `type:"string"`
14085
14086	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
14087	// to database accounts, and otherwise false.
14088	//
14089	// You can enable IAM database authentication for the following database engines
14090	//
14091	// Not applicable. Mapping AWS IAM accounts to database accounts is managed
14092	// by the DB cluster. For more information, see ModifyDBCluster.
14093	//
14094	// Default: false
14095	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
14096
14097	// (Not supported by Neptune)
14098	EnablePerformanceInsights *bool `type:"boolean"`
14099
14100	// The version number of the database engine to upgrade to. Currently, setting
14101	// this parameter has no effect. To upgrade your database engine to the most
14102	// recent release, use the ApplyPendingMaintenanceAction API.
14103	EngineVersion *string `type:"string"`
14104
14105	// The new Provisioned IOPS (I/O operations per second) value for the instance.
14106	//
14107	// Changing this setting doesn't result in an outage and the change is applied
14108	// during the next maintenance window unless the ApplyImmediately parameter
14109	// is set to true for this request.
14110	//
14111	// Default: Uses existing setting
14112	Iops *int64 `type:"integer"`
14113
14114	// Not supported.
14115	LicenseModel *string `type:"string"`
14116
14117	// Not applicable.
14118	MasterUserPassword *string `type:"string"`
14119
14120	// The interval, in seconds, between points when Enhanced Monitoring metrics
14121	// are collected for the DB instance. To disable collecting Enhanced Monitoring
14122	// metrics, specify 0. The default is 0.
14123	//
14124	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
14125	// to a value other than 0.
14126	//
14127	// Valid Values: 0, 1, 5, 10, 15, 30, 60
14128	MonitoringInterval *int64 `type:"integer"`
14129
14130	// The ARN for the IAM role that permits Neptune to send enhanced monitoring
14131	// metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
14132	//
14133	// If MonitoringInterval is set to a value other than 0, then you must supply
14134	// a MonitoringRoleArn value.
14135	MonitoringRoleArn *string `type:"string"`
14136
14137	// Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter
14138	// doesn't result in an outage and the change is applied during the next maintenance
14139	// window unless the ApplyImmediately parameter is set to true for this request.
14140	MultiAZ *bool `type:"boolean"`
14141
14142	// The new DB instance identifier for the DB instance when renaming a DB instance.
14143	// When you change the DB instance identifier, an instance reboot will occur
14144	// immediately if you set Apply Immediately to true, or will occur during the
14145	// next maintenance window if Apply Immediately to false. This value is stored
14146	// as a lowercase string.
14147	//
14148	// Constraints:
14149	//
14150	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
14151	//
14152	//    * The first character must be a letter.
14153	//
14154	//    * Cannot end with a hyphen or contain two consecutive hyphens.
14155	//
14156	// Example: mydbinstance
14157	NewDBInstanceIdentifier *string `type:"string"`
14158
14159	// (Not supported by Neptune)
14160	OptionGroupName *string `type:"string"`
14161
14162	// (Not supported by Neptune)
14163	PerformanceInsightsKMSKeyId *string `type:"string"`
14164
14165	// The daily time range during which automated backups are created if automated
14166	// backups are enabled.
14167	//
14168	// Not applicable. The daily time range for creating automated backups is managed
14169	// by the DB cluster. For more information, see ModifyDBCluster.
14170	//
14171	// Constraints:
14172	//
14173	//    * Must be in the format hh24:mi-hh24:mi
14174	//
14175	//    * Must be in Universal Time Coordinated (UTC)
14176	//
14177	//    * Must not conflict with the preferred maintenance window
14178	//
14179	//    * Must be at least 30 minutes
14180	PreferredBackupWindow *string `type:"string"`
14181
14182	// The weekly time range (in UTC) during which system maintenance can occur,
14183	// which might result in an outage. Changing this parameter doesn't result in
14184	// an outage, except in the following situation, and the change is asynchronously
14185	// applied as soon as possible. If there are pending actions that cause a reboot,
14186	// and the maintenance window is changed to include the current time, then changing
14187	// this parameter will cause a reboot of the DB instance. If moving this window
14188	// to the current time, there must be at least 30 minutes between the current
14189	// time and end of the window to ensure pending changes are applied.
14190	//
14191	// Default: Uses existing setting
14192	//
14193	// Format: ddd:hh24:mi-ddd:hh24:mi
14194	//
14195	// Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
14196	//
14197	// Constraints: Must be at least 30 minutes
14198	PreferredMaintenanceWindow *string `type:"string"`
14199
14200	// A value that specifies the order in which a Read Replica is promoted to the
14201	// primary instance after a failure of the existing primary instance.
14202	//
14203	// Default: 1
14204	//
14205	// Valid Values: 0 - 15
14206	PromotionTier *int64 `type:"integer"`
14207
14208	// This flag should no longer be used.
14209	//
14210	// Deprecated: PubliclyAccessible has been deprecated
14211	PubliclyAccessible *bool `deprecated:"true" type:"boolean"`
14212
14213	// Not supported.
14214	StorageType *string `type:"string"`
14215
14216	// The ARN from the key store with which to associate the instance for TDE encryption.
14217	TdeCredentialArn *string `type:"string"`
14218
14219	// The password for the given ARN from the key store in order to access the
14220	// device.
14221	TdeCredentialPassword *string `type:"string"`
14222
14223	// A list of EC2 VPC security groups to authorize on this DB instance. This
14224	// change is asynchronously applied as soon as possible.
14225	//
14226	// Not applicable. The associated list of EC2 VPC security groups is managed
14227	// by the DB cluster. For more information, see ModifyDBCluster.
14228	//
14229	// Constraints:
14230	//
14231	//    * If supplied, must match existing VpcSecurityGroupIds.
14232	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
14233}
14234
14235// String returns the string representation
14236func (s ModifyDBInstanceInput) String() string {
14237	return awsutil.Prettify(s)
14238}
14239
14240// GoString returns the string representation
14241func (s ModifyDBInstanceInput) GoString() string {
14242	return s.String()
14243}
14244
14245// Validate inspects the fields of the type to determine if they are valid.
14246func (s *ModifyDBInstanceInput) Validate() error {
14247	invalidParams := request.ErrInvalidParams{Context: "ModifyDBInstanceInput"}
14248	if s.DBInstanceIdentifier == nil {
14249		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
14250	}
14251
14252	if invalidParams.Len() > 0 {
14253		return invalidParams
14254	}
14255	return nil
14256}
14257
14258// SetAllocatedStorage sets the AllocatedStorage field's value.
14259func (s *ModifyDBInstanceInput) SetAllocatedStorage(v int64) *ModifyDBInstanceInput {
14260	s.AllocatedStorage = &v
14261	return s
14262}
14263
14264// SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
14265func (s *ModifyDBInstanceInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBInstanceInput {
14266	s.AllowMajorVersionUpgrade = &v
14267	return s
14268}
14269
14270// SetApplyImmediately sets the ApplyImmediately field's value.
14271func (s *ModifyDBInstanceInput) SetApplyImmediately(v bool) *ModifyDBInstanceInput {
14272	s.ApplyImmediately = &v
14273	return s
14274}
14275
14276// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
14277func (s *ModifyDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *ModifyDBInstanceInput {
14278	s.AutoMinorVersionUpgrade = &v
14279	return s
14280}
14281
14282// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
14283func (s *ModifyDBInstanceInput) SetBackupRetentionPeriod(v int64) *ModifyDBInstanceInput {
14284	s.BackupRetentionPeriod = &v
14285	return s
14286}
14287
14288// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
14289func (s *ModifyDBInstanceInput) SetCACertificateIdentifier(v string) *ModifyDBInstanceInput {
14290	s.CACertificateIdentifier = &v
14291	return s
14292}
14293
14294// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
14295func (s *ModifyDBInstanceInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBInstanceInput {
14296	s.CloudwatchLogsExportConfiguration = v
14297	return s
14298}
14299
14300// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
14301func (s *ModifyDBInstanceInput) SetCopyTagsToSnapshot(v bool) *ModifyDBInstanceInput {
14302	s.CopyTagsToSnapshot = &v
14303	return s
14304}
14305
14306// SetDBInstanceClass sets the DBInstanceClass field's value.
14307func (s *ModifyDBInstanceInput) SetDBInstanceClass(v string) *ModifyDBInstanceInput {
14308	s.DBInstanceClass = &v
14309	return s
14310}
14311
14312// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
14313func (s *ModifyDBInstanceInput) SetDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
14314	s.DBInstanceIdentifier = &v
14315	return s
14316}
14317
14318// SetDBParameterGroupName sets the DBParameterGroupName field's value.
14319func (s *ModifyDBInstanceInput) SetDBParameterGroupName(v string) *ModifyDBInstanceInput {
14320	s.DBParameterGroupName = &v
14321	return s
14322}
14323
14324// SetDBPortNumber sets the DBPortNumber field's value.
14325func (s *ModifyDBInstanceInput) SetDBPortNumber(v int64) *ModifyDBInstanceInput {
14326	s.DBPortNumber = &v
14327	return s
14328}
14329
14330// SetDBSecurityGroups sets the DBSecurityGroups field's value.
14331func (s *ModifyDBInstanceInput) SetDBSecurityGroups(v []*string) *ModifyDBInstanceInput {
14332	s.DBSecurityGroups = v
14333	return s
14334}
14335
14336// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
14337func (s *ModifyDBInstanceInput) SetDBSubnetGroupName(v string) *ModifyDBInstanceInput {
14338	s.DBSubnetGroupName = &v
14339	return s
14340}
14341
14342// SetDeletionProtection sets the DeletionProtection field's value.
14343func (s *ModifyDBInstanceInput) SetDeletionProtection(v bool) *ModifyDBInstanceInput {
14344	s.DeletionProtection = &v
14345	return s
14346}
14347
14348// SetDomain sets the Domain field's value.
14349func (s *ModifyDBInstanceInput) SetDomain(v string) *ModifyDBInstanceInput {
14350	s.Domain = &v
14351	return s
14352}
14353
14354// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
14355func (s *ModifyDBInstanceInput) SetDomainIAMRoleName(v string) *ModifyDBInstanceInput {
14356	s.DomainIAMRoleName = &v
14357	return s
14358}
14359
14360// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
14361func (s *ModifyDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBInstanceInput {
14362	s.EnableIAMDatabaseAuthentication = &v
14363	return s
14364}
14365
14366// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
14367func (s *ModifyDBInstanceInput) SetEnablePerformanceInsights(v bool) *ModifyDBInstanceInput {
14368	s.EnablePerformanceInsights = &v
14369	return s
14370}
14371
14372// SetEngineVersion sets the EngineVersion field's value.
14373func (s *ModifyDBInstanceInput) SetEngineVersion(v string) *ModifyDBInstanceInput {
14374	s.EngineVersion = &v
14375	return s
14376}
14377
14378// SetIops sets the Iops field's value.
14379func (s *ModifyDBInstanceInput) SetIops(v int64) *ModifyDBInstanceInput {
14380	s.Iops = &v
14381	return s
14382}
14383
14384// SetLicenseModel sets the LicenseModel field's value.
14385func (s *ModifyDBInstanceInput) SetLicenseModel(v string) *ModifyDBInstanceInput {
14386	s.LicenseModel = &v
14387	return s
14388}
14389
14390// SetMasterUserPassword sets the MasterUserPassword field's value.
14391func (s *ModifyDBInstanceInput) SetMasterUserPassword(v string) *ModifyDBInstanceInput {
14392	s.MasterUserPassword = &v
14393	return s
14394}
14395
14396// SetMonitoringInterval sets the MonitoringInterval field's value.
14397func (s *ModifyDBInstanceInput) SetMonitoringInterval(v int64) *ModifyDBInstanceInput {
14398	s.MonitoringInterval = &v
14399	return s
14400}
14401
14402// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
14403func (s *ModifyDBInstanceInput) SetMonitoringRoleArn(v string) *ModifyDBInstanceInput {
14404	s.MonitoringRoleArn = &v
14405	return s
14406}
14407
14408// SetMultiAZ sets the MultiAZ field's value.
14409func (s *ModifyDBInstanceInput) SetMultiAZ(v bool) *ModifyDBInstanceInput {
14410	s.MultiAZ = &v
14411	return s
14412}
14413
14414// SetNewDBInstanceIdentifier sets the NewDBInstanceIdentifier field's value.
14415func (s *ModifyDBInstanceInput) SetNewDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
14416	s.NewDBInstanceIdentifier = &v
14417	return s
14418}
14419
14420// SetOptionGroupName sets the OptionGroupName field's value.
14421func (s *ModifyDBInstanceInput) SetOptionGroupName(v string) *ModifyDBInstanceInput {
14422	s.OptionGroupName = &v
14423	return s
14424}
14425
14426// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
14427func (s *ModifyDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *ModifyDBInstanceInput {
14428	s.PerformanceInsightsKMSKeyId = &v
14429	return s
14430}
14431
14432// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
14433func (s *ModifyDBInstanceInput) SetPreferredBackupWindow(v string) *ModifyDBInstanceInput {
14434	s.PreferredBackupWindow = &v
14435	return s
14436}
14437
14438// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
14439func (s *ModifyDBInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyDBInstanceInput {
14440	s.PreferredMaintenanceWindow = &v
14441	return s
14442}
14443
14444// SetPromotionTier sets the PromotionTier field's value.
14445func (s *ModifyDBInstanceInput) SetPromotionTier(v int64) *ModifyDBInstanceInput {
14446	s.PromotionTier = &v
14447	return s
14448}
14449
14450// SetPubliclyAccessible sets the PubliclyAccessible field's value.
14451func (s *ModifyDBInstanceInput) SetPubliclyAccessible(v bool) *ModifyDBInstanceInput {
14452	s.PubliclyAccessible = &v
14453	return s
14454}
14455
14456// SetStorageType sets the StorageType field's value.
14457func (s *ModifyDBInstanceInput) SetStorageType(v string) *ModifyDBInstanceInput {
14458	s.StorageType = &v
14459	return s
14460}
14461
14462// SetTdeCredentialArn sets the TdeCredentialArn field's value.
14463func (s *ModifyDBInstanceInput) SetTdeCredentialArn(v string) *ModifyDBInstanceInput {
14464	s.TdeCredentialArn = &v
14465	return s
14466}
14467
14468// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
14469func (s *ModifyDBInstanceInput) SetTdeCredentialPassword(v string) *ModifyDBInstanceInput {
14470	s.TdeCredentialPassword = &v
14471	return s
14472}
14473
14474// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
14475func (s *ModifyDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBInstanceInput {
14476	s.VpcSecurityGroupIds = v
14477	return s
14478}
14479
14480type ModifyDBInstanceOutput struct {
14481	_ struct{} `type:"structure"`
14482
14483	// Contains the details of an Amazon Neptune DB instance.
14484	//
14485	// This data type is used as a response element in the DescribeDBInstances action.
14486	DBInstance *DBInstance `type:"structure"`
14487}
14488
14489// String returns the string representation
14490func (s ModifyDBInstanceOutput) String() string {
14491	return awsutil.Prettify(s)
14492}
14493
14494// GoString returns the string representation
14495func (s ModifyDBInstanceOutput) GoString() string {
14496	return s.String()
14497}
14498
14499// SetDBInstance sets the DBInstance field's value.
14500func (s *ModifyDBInstanceOutput) SetDBInstance(v *DBInstance) *ModifyDBInstanceOutput {
14501	s.DBInstance = v
14502	return s
14503}
14504
14505type ModifyDBParameterGroupInput struct {
14506	_ struct{} `type:"structure"`
14507
14508	// The name of the DB parameter group.
14509	//
14510	// Constraints:
14511	//
14512	//    * If supplied, must match the name of an existing DBParameterGroup.
14513	//
14514	// DBParameterGroupName is a required field
14515	DBParameterGroupName *string `type:"string" required:"true"`
14516
14517	// An array of parameter names, values, and the apply method for the parameter
14518	// update. At least one parameter name, value, and apply method must be supplied;
14519	// subsequent arguments are optional. A maximum of 20 parameters can be modified
14520	// in a single request.
14521	//
14522	// Valid Values (for the application method): immediate | pending-reboot
14523	//
14524	// You can use the immediate value with dynamic parameters only. You can use
14525	// the pending-reboot value for both dynamic and static parameters, and changes
14526	// are applied when you reboot the DB instance without failover.
14527	//
14528	// Parameters is a required field
14529	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
14530}
14531
14532// String returns the string representation
14533func (s ModifyDBParameterGroupInput) String() string {
14534	return awsutil.Prettify(s)
14535}
14536
14537// GoString returns the string representation
14538func (s ModifyDBParameterGroupInput) GoString() string {
14539	return s.String()
14540}
14541
14542// Validate inspects the fields of the type to determine if they are valid.
14543func (s *ModifyDBParameterGroupInput) Validate() error {
14544	invalidParams := request.ErrInvalidParams{Context: "ModifyDBParameterGroupInput"}
14545	if s.DBParameterGroupName == nil {
14546		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
14547	}
14548	if s.Parameters == nil {
14549		invalidParams.Add(request.NewErrParamRequired("Parameters"))
14550	}
14551
14552	if invalidParams.Len() > 0 {
14553		return invalidParams
14554	}
14555	return nil
14556}
14557
14558// SetDBParameterGroupName sets the DBParameterGroupName field's value.
14559func (s *ModifyDBParameterGroupInput) SetDBParameterGroupName(v string) *ModifyDBParameterGroupInput {
14560	s.DBParameterGroupName = &v
14561	return s
14562}
14563
14564// SetParameters sets the Parameters field's value.
14565func (s *ModifyDBParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBParameterGroupInput {
14566	s.Parameters = v
14567	return s
14568}
14569
14570type ModifyDBSubnetGroupInput struct {
14571	_ struct{} `type:"structure"`
14572
14573	// The description for the DB subnet group.
14574	DBSubnetGroupDescription *string `type:"string"`
14575
14576	// The name for the DB subnet group. This value is stored as a lowercase string.
14577	// You can't modify the default subnet group.
14578	//
14579	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
14580	// default.
14581	//
14582	// Example: mySubnetgroup
14583	//
14584	// DBSubnetGroupName is a required field
14585	DBSubnetGroupName *string `type:"string" required:"true"`
14586
14587	// The EC2 subnet IDs for the DB subnet group.
14588	//
14589	// SubnetIds is a required field
14590	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
14591}
14592
14593// String returns the string representation
14594func (s ModifyDBSubnetGroupInput) String() string {
14595	return awsutil.Prettify(s)
14596}
14597
14598// GoString returns the string representation
14599func (s ModifyDBSubnetGroupInput) GoString() string {
14600	return s.String()
14601}
14602
14603// Validate inspects the fields of the type to determine if they are valid.
14604func (s *ModifyDBSubnetGroupInput) Validate() error {
14605	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSubnetGroupInput"}
14606	if s.DBSubnetGroupName == nil {
14607		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
14608	}
14609	if s.SubnetIds == nil {
14610		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
14611	}
14612
14613	if invalidParams.Len() > 0 {
14614		return invalidParams
14615	}
14616	return nil
14617}
14618
14619// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
14620func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *ModifyDBSubnetGroupInput {
14621	s.DBSubnetGroupDescription = &v
14622	return s
14623}
14624
14625// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
14626func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupName(v string) *ModifyDBSubnetGroupInput {
14627	s.DBSubnetGroupName = &v
14628	return s
14629}
14630
14631// SetSubnetIds sets the SubnetIds field's value.
14632func (s *ModifyDBSubnetGroupInput) SetSubnetIds(v []*string) *ModifyDBSubnetGroupInput {
14633	s.SubnetIds = v
14634	return s
14635}
14636
14637type ModifyDBSubnetGroupOutput struct {
14638	_ struct{} `type:"structure"`
14639
14640	// Contains the details of an Amazon Neptune DB subnet group.
14641	//
14642	// This data type is used as a response element in the DescribeDBSubnetGroups
14643	// action.
14644	DBSubnetGroup *DBSubnetGroup `type:"structure"`
14645}
14646
14647// String returns the string representation
14648func (s ModifyDBSubnetGroupOutput) String() string {
14649	return awsutil.Prettify(s)
14650}
14651
14652// GoString returns the string representation
14653func (s ModifyDBSubnetGroupOutput) GoString() string {
14654	return s.String()
14655}
14656
14657// SetDBSubnetGroup sets the DBSubnetGroup field's value.
14658func (s *ModifyDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *ModifyDBSubnetGroupOutput {
14659	s.DBSubnetGroup = v
14660	return s
14661}
14662
14663type ModifyEventSubscriptionInput struct {
14664	_ struct{} `type:"structure"`
14665
14666	// A Boolean value; set to true to activate the subscription.
14667	Enabled *bool `type:"boolean"`
14668
14669	// A list of event categories for a SourceType that you want to subscribe to.
14670	// You can see a list of the categories for a given SourceType by using the
14671	// DescribeEventCategories action.
14672	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
14673
14674	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
14675	// The ARN is created by Amazon SNS when you create a topic and subscribe to
14676	// it.
14677	SnsTopicArn *string `type:"string"`
14678
14679	// The type of source that is generating the events. For example, if you want
14680	// to be notified of events generated by a DB instance, you would set this parameter
14681	// to db-instance. if this value is not specified, all events are returned.
14682	//
14683	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
14684	SourceType *string `type:"string"`
14685
14686	// The name of the event notification subscription.
14687	//
14688	// SubscriptionName is a required field
14689	SubscriptionName *string `type:"string" required:"true"`
14690}
14691
14692// String returns the string representation
14693func (s ModifyEventSubscriptionInput) String() string {
14694	return awsutil.Prettify(s)
14695}
14696
14697// GoString returns the string representation
14698func (s ModifyEventSubscriptionInput) GoString() string {
14699	return s.String()
14700}
14701
14702// Validate inspects the fields of the type to determine if they are valid.
14703func (s *ModifyEventSubscriptionInput) Validate() error {
14704	invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"}
14705	if s.SubscriptionName == nil {
14706		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
14707	}
14708
14709	if invalidParams.Len() > 0 {
14710		return invalidParams
14711	}
14712	return nil
14713}
14714
14715// SetEnabled sets the Enabled field's value.
14716func (s *ModifyEventSubscriptionInput) SetEnabled(v bool) *ModifyEventSubscriptionInput {
14717	s.Enabled = &v
14718	return s
14719}
14720
14721// SetEventCategories sets the EventCategories field's value.
14722func (s *ModifyEventSubscriptionInput) SetEventCategories(v []*string) *ModifyEventSubscriptionInput {
14723	s.EventCategories = v
14724	return s
14725}
14726
14727// SetSnsTopicArn sets the SnsTopicArn field's value.
14728func (s *ModifyEventSubscriptionInput) SetSnsTopicArn(v string) *ModifyEventSubscriptionInput {
14729	s.SnsTopicArn = &v
14730	return s
14731}
14732
14733// SetSourceType sets the SourceType field's value.
14734func (s *ModifyEventSubscriptionInput) SetSourceType(v string) *ModifyEventSubscriptionInput {
14735	s.SourceType = &v
14736	return s
14737}
14738
14739// SetSubscriptionName sets the SubscriptionName field's value.
14740func (s *ModifyEventSubscriptionInput) SetSubscriptionName(v string) *ModifyEventSubscriptionInput {
14741	s.SubscriptionName = &v
14742	return s
14743}
14744
14745type ModifyEventSubscriptionOutput struct {
14746	_ struct{} `type:"structure"`
14747
14748	// Contains the results of a successful invocation of the DescribeEventSubscriptions
14749	// action.
14750	EventSubscription *EventSubscription `type:"structure"`
14751}
14752
14753// String returns the string representation
14754func (s ModifyEventSubscriptionOutput) String() string {
14755	return awsutil.Prettify(s)
14756}
14757
14758// GoString returns the string representation
14759func (s ModifyEventSubscriptionOutput) GoString() string {
14760	return s.String()
14761}
14762
14763// SetEventSubscription sets the EventSubscription field's value.
14764func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *ModifyEventSubscriptionOutput {
14765	s.EventSubscription = v
14766	return s
14767}
14768
14769// Provides information on the option groups the DB instance is a member of.
14770type OptionGroupMembership struct {
14771	_ struct{} `type:"structure"`
14772
14773	// The name of the option group that the instance belongs to.
14774	OptionGroupName *string `type:"string"`
14775
14776	// The status of the DB instance's option group membership. Valid values are:
14777	// in-sync, pending-apply, pending-removal, pending-maintenance-apply, pending-maintenance-removal,
14778	// applying, removing, and failed.
14779	Status *string `type:"string"`
14780}
14781
14782// String returns the string representation
14783func (s OptionGroupMembership) String() string {
14784	return awsutil.Prettify(s)
14785}
14786
14787// GoString returns the string representation
14788func (s OptionGroupMembership) GoString() string {
14789	return s.String()
14790}
14791
14792// SetOptionGroupName sets the OptionGroupName field's value.
14793func (s *OptionGroupMembership) SetOptionGroupName(v string) *OptionGroupMembership {
14794	s.OptionGroupName = &v
14795	return s
14796}
14797
14798// SetStatus sets the Status field's value.
14799func (s *OptionGroupMembership) SetStatus(v string) *OptionGroupMembership {
14800	s.Status = &v
14801	return s
14802}
14803
14804// Contains a list of available options for a DB instance.
14805//
14806// This data type is used as a response element in the DescribeOrderableDBInstanceOptions
14807// action.
14808type OrderableDBInstanceOption struct {
14809	_ struct{} `type:"structure"`
14810
14811	// A list of Availability Zones for a DB instance.
14812	AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"`
14813
14814	// The DB instance class for a DB instance.
14815	DBInstanceClass *string `type:"string"`
14816
14817	// The engine type of a DB instance.
14818	Engine *string `type:"string"`
14819
14820	// The engine version of a DB instance.
14821	EngineVersion *string `type:"string"`
14822
14823	// The license model for a DB instance.
14824	LicenseModel *string `type:"string"`
14825
14826	// Maximum total provisioned IOPS for a DB instance.
14827	MaxIopsPerDbInstance *int64 `type:"integer"`
14828
14829	// Maximum provisioned IOPS per GiB for a DB instance.
14830	MaxIopsPerGib *float64 `type:"double"`
14831
14832	// Maximum storage size for a DB instance.
14833	MaxStorageSize *int64 `type:"integer"`
14834
14835	// Minimum total provisioned IOPS for a DB instance.
14836	MinIopsPerDbInstance *int64 `type:"integer"`
14837
14838	// Minimum provisioned IOPS per GiB for a DB instance.
14839	MinIopsPerGib *float64 `type:"double"`
14840
14841	// Minimum storage size for a DB instance.
14842	MinStorageSize *int64 `type:"integer"`
14843
14844	// Indicates whether a DB instance is Multi-AZ capable.
14845	MultiAZCapable *bool `type:"boolean"`
14846
14847	// Indicates whether a DB instance can have a Read Replica.
14848	ReadReplicaCapable *bool `type:"boolean"`
14849
14850	// Indicates the storage type for a DB instance.
14851	StorageType *string `type:"string"`
14852
14853	// Indicates whether a DB instance supports Enhanced Monitoring at intervals
14854	// from 1 to 60 seconds.
14855	SupportsEnhancedMonitoring *bool `type:"boolean"`
14856
14857	// Indicates whether a DB instance supports IAM database authentication.
14858	SupportsIAMDatabaseAuthentication *bool `type:"boolean"`
14859
14860	// Indicates whether a DB instance supports provisioned IOPS.
14861	SupportsIops *bool `type:"boolean"`
14862
14863	// (Not supported by Neptune)
14864	SupportsPerformanceInsights *bool `type:"boolean"`
14865
14866	// Indicates whether a DB instance supports encrypted storage.
14867	SupportsStorageEncryption *bool `type:"boolean"`
14868
14869	// Indicates whether a DB instance is in a VPC.
14870	Vpc *bool `type:"boolean"`
14871}
14872
14873// String returns the string representation
14874func (s OrderableDBInstanceOption) String() string {
14875	return awsutil.Prettify(s)
14876}
14877
14878// GoString returns the string representation
14879func (s OrderableDBInstanceOption) GoString() string {
14880	return s.String()
14881}
14882
14883// SetAvailabilityZones sets the AvailabilityZones field's value.
14884func (s *OrderableDBInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableDBInstanceOption {
14885	s.AvailabilityZones = v
14886	return s
14887}
14888
14889// SetDBInstanceClass sets the DBInstanceClass field's value.
14890func (s *OrderableDBInstanceOption) SetDBInstanceClass(v string) *OrderableDBInstanceOption {
14891	s.DBInstanceClass = &v
14892	return s
14893}
14894
14895// SetEngine sets the Engine field's value.
14896func (s *OrderableDBInstanceOption) SetEngine(v string) *OrderableDBInstanceOption {
14897	s.Engine = &v
14898	return s
14899}
14900
14901// SetEngineVersion sets the EngineVersion field's value.
14902func (s *OrderableDBInstanceOption) SetEngineVersion(v string) *OrderableDBInstanceOption {
14903	s.EngineVersion = &v
14904	return s
14905}
14906
14907// SetLicenseModel sets the LicenseModel field's value.
14908func (s *OrderableDBInstanceOption) SetLicenseModel(v string) *OrderableDBInstanceOption {
14909	s.LicenseModel = &v
14910	return s
14911}
14912
14913// SetMaxIopsPerDbInstance sets the MaxIopsPerDbInstance field's value.
14914func (s *OrderableDBInstanceOption) SetMaxIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
14915	s.MaxIopsPerDbInstance = &v
14916	return s
14917}
14918
14919// SetMaxIopsPerGib sets the MaxIopsPerGib field's value.
14920func (s *OrderableDBInstanceOption) SetMaxIopsPerGib(v float64) *OrderableDBInstanceOption {
14921	s.MaxIopsPerGib = &v
14922	return s
14923}
14924
14925// SetMaxStorageSize sets the MaxStorageSize field's value.
14926func (s *OrderableDBInstanceOption) SetMaxStorageSize(v int64) *OrderableDBInstanceOption {
14927	s.MaxStorageSize = &v
14928	return s
14929}
14930
14931// SetMinIopsPerDbInstance sets the MinIopsPerDbInstance field's value.
14932func (s *OrderableDBInstanceOption) SetMinIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
14933	s.MinIopsPerDbInstance = &v
14934	return s
14935}
14936
14937// SetMinIopsPerGib sets the MinIopsPerGib field's value.
14938func (s *OrderableDBInstanceOption) SetMinIopsPerGib(v float64) *OrderableDBInstanceOption {
14939	s.MinIopsPerGib = &v
14940	return s
14941}
14942
14943// SetMinStorageSize sets the MinStorageSize field's value.
14944func (s *OrderableDBInstanceOption) SetMinStorageSize(v int64) *OrderableDBInstanceOption {
14945	s.MinStorageSize = &v
14946	return s
14947}
14948
14949// SetMultiAZCapable sets the MultiAZCapable field's value.
14950func (s *OrderableDBInstanceOption) SetMultiAZCapable(v bool) *OrderableDBInstanceOption {
14951	s.MultiAZCapable = &v
14952	return s
14953}
14954
14955// SetReadReplicaCapable sets the ReadReplicaCapable field's value.
14956func (s *OrderableDBInstanceOption) SetReadReplicaCapable(v bool) *OrderableDBInstanceOption {
14957	s.ReadReplicaCapable = &v
14958	return s
14959}
14960
14961// SetStorageType sets the StorageType field's value.
14962func (s *OrderableDBInstanceOption) SetStorageType(v string) *OrderableDBInstanceOption {
14963	s.StorageType = &v
14964	return s
14965}
14966
14967// SetSupportsEnhancedMonitoring sets the SupportsEnhancedMonitoring field's value.
14968func (s *OrderableDBInstanceOption) SetSupportsEnhancedMonitoring(v bool) *OrderableDBInstanceOption {
14969	s.SupportsEnhancedMonitoring = &v
14970	return s
14971}
14972
14973// SetSupportsIAMDatabaseAuthentication sets the SupportsIAMDatabaseAuthentication field's value.
14974func (s *OrderableDBInstanceOption) SetSupportsIAMDatabaseAuthentication(v bool) *OrderableDBInstanceOption {
14975	s.SupportsIAMDatabaseAuthentication = &v
14976	return s
14977}
14978
14979// SetSupportsIops sets the SupportsIops field's value.
14980func (s *OrderableDBInstanceOption) SetSupportsIops(v bool) *OrderableDBInstanceOption {
14981	s.SupportsIops = &v
14982	return s
14983}
14984
14985// SetSupportsPerformanceInsights sets the SupportsPerformanceInsights field's value.
14986func (s *OrderableDBInstanceOption) SetSupportsPerformanceInsights(v bool) *OrderableDBInstanceOption {
14987	s.SupportsPerformanceInsights = &v
14988	return s
14989}
14990
14991// SetSupportsStorageEncryption sets the SupportsStorageEncryption field's value.
14992func (s *OrderableDBInstanceOption) SetSupportsStorageEncryption(v bool) *OrderableDBInstanceOption {
14993	s.SupportsStorageEncryption = &v
14994	return s
14995}
14996
14997// SetVpc sets the Vpc field's value.
14998func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption {
14999	s.Vpc = &v
15000	return s
15001}
15002
15003// Specifies a parameter.
15004type Parameter struct {
15005	_ struct{} `type:"structure"`
15006
15007	// Specifies the valid range of values for the parameter.
15008	AllowedValues *string `type:"string"`
15009
15010	// Indicates when to apply parameter updates.
15011	ApplyMethod *string `type:"string" enum:"ApplyMethod"`
15012
15013	// Specifies the engine specific parameters type.
15014	ApplyType *string `type:"string"`
15015
15016	// Specifies the valid data type for the parameter.
15017	DataType *string `type:"string"`
15018
15019	// Provides a description of the parameter.
15020	Description *string `type:"string"`
15021
15022	// Indicates whether (true) or not (false) the parameter can be modified. Some
15023	// parameters have security or operational implications that prevent them from
15024	// being changed.
15025	IsModifiable *bool `type:"boolean"`
15026
15027	// The earliest engine version to which the parameter can apply.
15028	MinimumEngineVersion *string `type:"string"`
15029
15030	// Specifies the name of the parameter.
15031	ParameterName *string `type:"string"`
15032
15033	// Specifies the value of the parameter.
15034	ParameterValue *string `type:"string"`
15035
15036	// Indicates the source of the parameter value.
15037	Source *string `type:"string"`
15038}
15039
15040// String returns the string representation
15041func (s Parameter) String() string {
15042	return awsutil.Prettify(s)
15043}
15044
15045// GoString returns the string representation
15046func (s Parameter) GoString() string {
15047	return s.String()
15048}
15049
15050// SetAllowedValues sets the AllowedValues field's value.
15051func (s *Parameter) SetAllowedValues(v string) *Parameter {
15052	s.AllowedValues = &v
15053	return s
15054}
15055
15056// SetApplyMethod sets the ApplyMethod field's value.
15057func (s *Parameter) SetApplyMethod(v string) *Parameter {
15058	s.ApplyMethod = &v
15059	return s
15060}
15061
15062// SetApplyType sets the ApplyType field's value.
15063func (s *Parameter) SetApplyType(v string) *Parameter {
15064	s.ApplyType = &v
15065	return s
15066}
15067
15068// SetDataType sets the DataType field's value.
15069func (s *Parameter) SetDataType(v string) *Parameter {
15070	s.DataType = &v
15071	return s
15072}
15073
15074// SetDescription sets the Description field's value.
15075func (s *Parameter) SetDescription(v string) *Parameter {
15076	s.Description = &v
15077	return s
15078}
15079
15080// SetIsModifiable sets the IsModifiable field's value.
15081func (s *Parameter) SetIsModifiable(v bool) *Parameter {
15082	s.IsModifiable = &v
15083	return s
15084}
15085
15086// SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
15087func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter {
15088	s.MinimumEngineVersion = &v
15089	return s
15090}
15091
15092// SetParameterName sets the ParameterName field's value.
15093func (s *Parameter) SetParameterName(v string) *Parameter {
15094	s.ParameterName = &v
15095	return s
15096}
15097
15098// SetParameterValue sets the ParameterValue field's value.
15099func (s *Parameter) SetParameterValue(v string) *Parameter {
15100	s.ParameterValue = &v
15101	return s
15102}
15103
15104// SetSource sets the Source field's value.
15105func (s *Parameter) SetSource(v string) *Parameter {
15106	s.Source = &v
15107	return s
15108}
15109
15110// A list of the log types whose configuration is still pending. In other words,
15111// these log types are in the process of being activated or deactivated.
15112type PendingCloudwatchLogsExports struct {
15113	_ struct{} `type:"structure"`
15114
15115	// Log types that are in the process of being enabled. After they are enabled,
15116	// these log types are exported to CloudWatch Logs.
15117	LogTypesToDisable []*string `type:"list"`
15118
15119	// Log types that are in the process of being deactivated. After they are deactivated,
15120	// these log types aren't exported to CloudWatch Logs.
15121	LogTypesToEnable []*string `type:"list"`
15122}
15123
15124// String returns the string representation
15125func (s PendingCloudwatchLogsExports) String() string {
15126	return awsutil.Prettify(s)
15127}
15128
15129// GoString returns the string representation
15130func (s PendingCloudwatchLogsExports) GoString() string {
15131	return s.String()
15132}
15133
15134// SetLogTypesToDisable sets the LogTypesToDisable field's value.
15135func (s *PendingCloudwatchLogsExports) SetLogTypesToDisable(v []*string) *PendingCloudwatchLogsExports {
15136	s.LogTypesToDisable = v
15137	return s
15138}
15139
15140// SetLogTypesToEnable sets the LogTypesToEnable field's value.
15141func (s *PendingCloudwatchLogsExports) SetLogTypesToEnable(v []*string) *PendingCloudwatchLogsExports {
15142	s.LogTypesToEnable = v
15143	return s
15144}
15145
15146// Provides information about a pending maintenance action for a resource.
15147type PendingMaintenanceAction struct {
15148	_ struct{} `type:"structure"`
15149
15150	// The type of pending maintenance action that is available for the resource.
15151	Action *string `type:"string"`
15152
15153	// The date of the maintenance window when the action is applied. The maintenance
15154	// action is applied to the resource during its first maintenance window after
15155	// this date. If this date is specified, any next-maintenance opt-in requests
15156	// are ignored.
15157	AutoAppliedAfterDate *time.Time `type:"timestamp"`
15158
15159	// The effective date when the pending maintenance action is applied to the
15160	// resource. This date takes into account opt-in requests received from the
15161	// ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate.
15162	// This value is blank if an opt-in request has not been received and nothing
15163	// has been specified as AutoAppliedAfterDate or ForcedApplyDate.
15164	CurrentApplyDate *time.Time `type:"timestamp"`
15165
15166	// A description providing more detail about the maintenance action.
15167	Description *string `type:"string"`
15168
15169	// The date when the maintenance action is automatically applied. The maintenance
15170	// action is applied to the resource on this date regardless of the maintenance
15171	// window for the resource. If this date is specified, any immediate opt-in
15172	// requests are ignored.
15173	ForcedApplyDate *time.Time `type:"timestamp"`
15174
15175	// Indicates the type of opt-in request that has been received for the resource.
15176	OptInStatus *string `type:"string"`
15177}
15178
15179// String returns the string representation
15180func (s PendingMaintenanceAction) String() string {
15181	return awsutil.Prettify(s)
15182}
15183
15184// GoString returns the string representation
15185func (s PendingMaintenanceAction) GoString() string {
15186	return s.String()
15187}
15188
15189// SetAction sets the Action field's value.
15190func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
15191	s.Action = &v
15192	return s
15193}
15194
15195// SetAutoAppliedAfterDate sets the AutoAppliedAfterDate field's value.
15196func (s *PendingMaintenanceAction) SetAutoAppliedAfterDate(v time.Time) *PendingMaintenanceAction {
15197	s.AutoAppliedAfterDate = &v
15198	return s
15199}
15200
15201// SetCurrentApplyDate sets the CurrentApplyDate field's value.
15202func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
15203	s.CurrentApplyDate = &v
15204	return s
15205}
15206
15207// SetDescription sets the Description field's value.
15208func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
15209	s.Description = &v
15210	return s
15211}
15212
15213// SetForcedApplyDate sets the ForcedApplyDate field's value.
15214func (s *PendingMaintenanceAction) SetForcedApplyDate(v time.Time) *PendingMaintenanceAction {
15215	s.ForcedApplyDate = &v
15216	return s
15217}
15218
15219// SetOptInStatus sets the OptInStatus field's value.
15220func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceAction {
15221	s.OptInStatus = &v
15222	return s
15223}
15224
15225// This data type is used as a response element in the ModifyDBInstance action.
15226type PendingModifiedValues struct {
15227	_ struct{} `type:"structure"`
15228
15229	// Contains the new AllocatedStorage size for the DB instance that will be applied
15230	// or is currently being applied.
15231	AllocatedStorage *int64 `type:"integer"`
15232
15233	// Specifies the pending number of days for which automated backups are retained.
15234	BackupRetentionPeriod *int64 `type:"integer"`
15235
15236	// Specifies the identifier of the CA certificate for the DB instance.
15237	CACertificateIdentifier *string `type:"string"`
15238
15239	// Contains the new DBInstanceClass for the DB instance that will be applied
15240	// or is currently being applied.
15241	DBInstanceClass *string `type:"string"`
15242
15243	// Contains the new DBInstanceIdentifier for the DB instance that will be applied
15244	// or is currently being applied.
15245	DBInstanceIdentifier *string `type:"string"`
15246
15247	// The new DB subnet group for the DB instance.
15248	DBSubnetGroupName *string `type:"string"`
15249
15250	// Indicates the database engine version.
15251	EngineVersion *string `type:"string"`
15252
15253	// Specifies the new Provisioned IOPS value for the DB instance that will be
15254	// applied or is currently being applied.
15255	Iops *int64 `type:"integer"`
15256
15257	// The license model for the DB instance.
15258	//
15259	// Valid values: license-included | bring-your-own-license | general-public-license
15260	LicenseModel *string `type:"string"`
15261
15262	// Contains the pending or currently-in-progress change of the master credentials
15263	// for the DB instance.
15264	MasterUserPassword *string `type:"string"`
15265
15266	// Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.
15267	MultiAZ *bool `type:"boolean"`
15268
15269	// This PendingCloudwatchLogsExports structure specifies pending changes to
15270	// which CloudWatch logs are enabled and which are disabled.
15271	PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"`
15272
15273	// Specifies the pending port for the DB instance.
15274	Port *int64 `type:"integer"`
15275
15276	// Specifies the storage type to be associated with the DB instance.
15277	StorageType *string `type:"string"`
15278}
15279
15280// String returns the string representation
15281func (s PendingModifiedValues) String() string {
15282	return awsutil.Prettify(s)
15283}
15284
15285// GoString returns the string representation
15286func (s PendingModifiedValues) GoString() string {
15287	return s.String()
15288}
15289
15290// SetAllocatedStorage sets the AllocatedStorage field's value.
15291func (s *PendingModifiedValues) SetAllocatedStorage(v int64) *PendingModifiedValues {
15292	s.AllocatedStorage = &v
15293	return s
15294}
15295
15296// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
15297func (s *PendingModifiedValues) SetBackupRetentionPeriod(v int64) *PendingModifiedValues {
15298	s.BackupRetentionPeriod = &v
15299	return s
15300}
15301
15302// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
15303func (s *PendingModifiedValues) SetCACertificateIdentifier(v string) *PendingModifiedValues {
15304	s.CACertificateIdentifier = &v
15305	return s
15306}
15307
15308// SetDBInstanceClass sets the DBInstanceClass field's value.
15309func (s *PendingModifiedValues) SetDBInstanceClass(v string) *PendingModifiedValues {
15310	s.DBInstanceClass = &v
15311	return s
15312}
15313
15314// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
15315func (s *PendingModifiedValues) SetDBInstanceIdentifier(v string) *PendingModifiedValues {
15316	s.DBInstanceIdentifier = &v
15317	return s
15318}
15319
15320// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
15321func (s *PendingModifiedValues) SetDBSubnetGroupName(v string) *PendingModifiedValues {
15322	s.DBSubnetGroupName = &v
15323	return s
15324}
15325
15326// SetEngineVersion sets the EngineVersion field's value.
15327func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues {
15328	s.EngineVersion = &v
15329	return s
15330}
15331
15332// SetIops sets the Iops field's value.
15333func (s *PendingModifiedValues) SetIops(v int64) *PendingModifiedValues {
15334	s.Iops = &v
15335	return s
15336}
15337
15338// SetLicenseModel sets the LicenseModel field's value.
15339func (s *PendingModifiedValues) SetLicenseModel(v string) *PendingModifiedValues {
15340	s.LicenseModel = &v
15341	return s
15342}
15343
15344// SetMasterUserPassword sets the MasterUserPassword field's value.
15345func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues {
15346	s.MasterUserPassword = &v
15347	return s
15348}
15349
15350// SetMultiAZ sets the MultiAZ field's value.
15351func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues {
15352	s.MultiAZ = &v
15353	return s
15354}
15355
15356// SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value.
15357func (s *PendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *PendingModifiedValues {
15358	s.PendingCloudwatchLogsExports = v
15359	return s
15360}
15361
15362// SetPort sets the Port field's value.
15363func (s *PendingModifiedValues) SetPort(v int64) *PendingModifiedValues {
15364	s.Port = &v
15365	return s
15366}
15367
15368// SetStorageType sets the StorageType field's value.
15369func (s *PendingModifiedValues) SetStorageType(v string) *PendingModifiedValues {
15370	s.StorageType = &v
15371	return s
15372}
15373
15374type PromoteReadReplicaDBClusterInput struct {
15375	_ struct{} `type:"structure"`
15376
15377	// Not supported.
15378	//
15379	// DBClusterIdentifier is a required field
15380	DBClusterIdentifier *string `type:"string" required:"true"`
15381}
15382
15383// String returns the string representation
15384func (s PromoteReadReplicaDBClusterInput) String() string {
15385	return awsutil.Prettify(s)
15386}
15387
15388// GoString returns the string representation
15389func (s PromoteReadReplicaDBClusterInput) GoString() string {
15390	return s.String()
15391}
15392
15393// Validate inspects the fields of the type to determine if they are valid.
15394func (s *PromoteReadReplicaDBClusterInput) Validate() error {
15395	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaDBClusterInput"}
15396	if s.DBClusterIdentifier == nil {
15397		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
15398	}
15399
15400	if invalidParams.Len() > 0 {
15401		return invalidParams
15402	}
15403	return nil
15404}
15405
15406// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
15407func (s *PromoteReadReplicaDBClusterInput) SetDBClusterIdentifier(v string) *PromoteReadReplicaDBClusterInput {
15408	s.DBClusterIdentifier = &v
15409	return s
15410}
15411
15412type PromoteReadReplicaDBClusterOutput struct {
15413	_ struct{} `type:"structure"`
15414
15415	// Contains the details of an Amazon Neptune DB cluster.
15416	//
15417	// This data type is used as a response element in the DescribeDBClusters action.
15418	DBCluster *DBCluster `type:"structure"`
15419}
15420
15421// String returns the string representation
15422func (s PromoteReadReplicaDBClusterOutput) String() string {
15423	return awsutil.Prettify(s)
15424}
15425
15426// GoString returns the string representation
15427func (s PromoteReadReplicaDBClusterOutput) GoString() string {
15428	return s.String()
15429}
15430
15431// SetDBCluster sets the DBCluster field's value.
15432func (s *PromoteReadReplicaDBClusterOutput) SetDBCluster(v *DBCluster) *PromoteReadReplicaDBClusterOutput {
15433	s.DBCluster = v
15434	return s
15435}
15436
15437// A range of integer values.
15438type Range struct {
15439	_ struct{} `type:"structure"`
15440
15441	// The minimum value in the range.
15442	From *int64 `type:"integer"`
15443
15444	// The step value for the range. For example, if you have a range of 5,000 to
15445	// 10,000, with a step value of 1,000, the valid values start at 5,000 and step
15446	// up by 1,000. Even though 7,500 is within the range, it isn't a valid value
15447	// for the range. The valid values are 5,000, 6,000, 7,000, 8,000...
15448	Step *int64 `type:"integer"`
15449
15450	// The maximum value in the range.
15451	To *int64 `type:"integer"`
15452}
15453
15454// String returns the string representation
15455func (s Range) String() string {
15456	return awsutil.Prettify(s)
15457}
15458
15459// GoString returns the string representation
15460func (s Range) GoString() string {
15461	return s.String()
15462}
15463
15464// SetFrom sets the From field's value.
15465func (s *Range) SetFrom(v int64) *Range {
15466	s.From = &v
15467	return s
15468}
15469
15470// SetStep sets the Step field's value.
15471func (s *Range) SetStep(v int64) *Range {
15472	s.Step = &v
15473	return s
15474}
15475
15476// SetTo sets the To field's value.
15477func (s *Range) SetTo(v int64) *Range {
15478	s.To = &v
15479	return s
15480}
15481
15482type RebootDBInstanceInput struct {
15483	_ struct{} `type:"structure"`
15484
15485	// The DB instance identifier. This parameter is stored as a lowercase string.
15486	//
15487	// Constraints:
15488	//
15489	//    * Must match the identifier of an existing DBInstance.
15490	//
15491	// DBInstanceIdentifier is a required field
15492	DBInstanceIdentifier *string `type:"string" required:"true"`
15493
15494	// When true, the reboot is conducted through a MultiAZ failover.
15495	//
15496	// Constraint: You can't specify true if the instance is not configured for
15497	// MultiAZ.
15498	ForceFailover *bool `type:"boolean"`
15499}
15500
15501// String returns the string representation
15502func (s RebootDBInstanceInput) String() string {
15503	return awsutil.Prettify(s)
15504}
15505
15506// GoString returns the string representation
15507func (s RebootDBInstanceInput) GoString() string {
15508	return s.String()
15509}
15510
15511// Validate inspects the fields of the type to determine if they are valid.
15512func (s *RebootDBInstanceInput) Validate() error {
15513	invalidParams := request.ErrInvalidParams{Context: "RebootDBInstanceInput"}
15514	if s.DBInstanceIdentifier == nil {
15515		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
15516	}
15517
15518	if invalidParams.Len() > 0 {
15519		return invalidParams
15520	}
15521	return nil
15522}
15523
15524// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
15525func (s *RebootDBInstanceInput) SetDBInstanceIdentifier(v string) *RebootDBInstanceInput {
15526	s.DBInstanceIdentifier = &v
15527	return s
15528}
15529
15530// SetForceFailover sets the ForceFailover field's value.
15531func (s *RebootDBInstanceInput) SetForceFailover(v bool) *RebootDBInstanceInput {
15532	s.ForceFailover = &v
15533	return s
15534}
15535
15536type RebootDBInstanceOutput struct {
15537	_ struct{} `type:"structure"`
15538
15539	// Contains the details of an Amazon Neptune DB instance.
15540	//
15541	// This data type is used as a response element in the DescribeDBInstances action.
15542	DBInstance *DBInstance `type:"structure"`
15543}
15544
15545// String returns the string representation
15546func (s RebootDBInstanceOutput) String() string {
15547	return awsutil.Prettify(s)
15548}
15549
15550// GoString returns the string representation
15551func (s RebootDBInstanceOutput) GoString() string {
15552	return s.String()
15553}
15554
15555// SetDBInstance sets the DBInstance field's value.
15556func (s *RebootDBInstanceOutput) SetDBInstance(v *DBInstance) *RebootDBInstanceOutput {
15557	s.DBInstance = v
15558	return s
15559}
15560
15561type RemoveRoleFromDBClusterInput struct {
15562	_ struct{} `type:"structure"`
15563
15564	// The name of the DB cluster to disassociate the IAM role from.
15565	//
15566	// DBClusterIdentifier is a required field
15567	DBClusterIdentifier *string `type:"string" required:"true"`
15568
15569	// The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB
15570	// cluster, for example arn:aws:iam::123456789012:role/NeptuneAccessRole.
15571	//
15572	// RoleArn is a required field
15573	RoleArn *string `type:"string" required:"true"`
15574}
15575
15576// String returns the string representation
15577func (s RemoveRoleFromDBClusterInput) String() string {
15578	return awsutil.Prettify(s)
15579}
15580
15581// GoString returns the string representation
15582func (s RemoveRoleFromDBClusterInput) GoString() string {
15583	return s.String()
15584}
15585
15586// Validate inspects the fields of the type to determine if they are valid.
15587func (s *RemoveRoleFromDBClusterInput) Validate() error {
15588	invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBClusterInput"}
15589	if s.DBClusterIdentifier == nil {
15590		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
15591	}
15592	if s.RoleArn == nil {
15593		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
15594	}
15595
15596	if invalidParams.Len() > 0 {
15597		return invalidParams
15598	}
15599	return nil
15600}
15601
15602// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
15603func (s *RemoveRoleFromDBClusterInput) SetDBClusterIdentifier(v string) *RemoveRoleFromDBClusterInput {
15604	s.DBClusterIdentifier = &v
15605	return s
15606}
15607
15608// SetRoleArn sets the RoleArn field's value.
15609func (s *RemoveRoleFromDBClusterInput) SetRoleArn(v string) *RemoveRoleFromDBClusterInput {
15610	s.RoleArn = &v
15611	return s
15612}
15613
15614type RemoveRoleFromDBClusterOutput struct {
15615	_ struct{} `type:"structure"`
15616}
15617
15618// String returns the string representation
15619func (s RemoveRoleFromDBClusterOutput) String() string {
15620	return awsutil.Prettify(s)
15621}
15622
15623// GoString returns the string representation
15624func (s RemoveRoleFromDBClusterOutput) GoString() string {
15625	return s.String()
15626}
15627
15628type RemoveSourceIdentifierFromSubscriptionInput struct {
15629	_ struct{} `type:"structure"`
15630
15631	// The source identifier to be removed from the subscription, such as the DB
15632	// instance identifier for a DB instance or the name of a security group.
15633	//
15634	// SourceIdentifier is a required field
15635	SourceIdentifier *string `type:"string" required:"true"`
15636
15637	// The name of the event notification subscription you want to remove a source
15638	// identifier from.
15639	//
15640	// SubscriptionName is a required field
15641	SubscriptionName *string `type:"string" required:"true"`
15642}
15643
15644// String returns the string representation
15645func (s RemoveSourceIdentifierFromSubscriptionInput) String() string {
15646	return awsutil.Prettify(s)
15647}
15648
15649// GoString returns the string representation
15650func (s RemoveSourceIdentifierFromSubscriptionInput) GoString() string {
15651	return s.String()
15652}
15653
15654// Validate inspects the fields of the type to determine if they are valid.
15655func (s *RemoveSourceIdentifierFromSubscriptionInput) Validate() error {
15656	invalidParams := request.ErrInvalidParams{Context: "RemoveSourceIdentifierFromSubscriptionInput"}
15657	if s.SourceIdentifier == nil {
15658		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
15659	}
15660	if s.SubscriptionName == nil {
15661		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
15662	}
15663
15664	if invalidParams.Len() > 0 {
15665		return invalidParams
15666	}
15667	return nil
15668}
15669
15670// SetSourceIdentifier sets the SourceIdentifier field's value.
15671func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSourceIdentifier(v string) *RemoveSourceIdentifierFromSubscriptionInput {
15672	s.SourceIdentifier = &v
15673	return s
15674}
15675
15676// SetSubscriptionName sets the SubscriptionName field's value.
15677func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSubscriptionName(v string) *RemoveSourceIdentifierFromSubscriptionInput {
15678	s.SubscriptionName = &v
15679	return s
15680}
15681
15682type RemoveSourceIdentifierFromSubscriptionOutput struct {
15683	_ struct{} `type:"structure"`
15684
15685	// Contains the results of a successful invocation of the DescribeEventSubscriptions
15686	// action.
15687	EventSubscription *EventSubscription `type:"structure"`
15688}
15689
15690// String returns the string representation
15691func (s RemoveSourceIdentifierFromSubscriptionOutput) String() string {
15692	return awsutil.Prettify(s)
15693}
15694
15695// GoString returns the string representation
15696func (s RemoveSourceIdentifierFromSubscriptionOutput) GoString() string {
15697	return s.String()
15698}
15699
15700// SetEventSubscription sets the EventSubscription field's value.
15701func (s *RemoveSourceIdentifierFromSubscriptionOutput) SetEventSubscription(v *EventSubscription) *RemoveSourceIdentifierFromSubscriptionOutput {
15702	s.EventSubscription = v
15703	return s
15704}
15705
15706type RemoveTagsFromResourceInput struct {
15707	_ struct{} `type:"structure"`
15708
15709	// The Amazon Neptune resource that the tags are removed from. This value is
15710	// an Amazon Resource Name (ARN). For information about creating an ARN, see
15711	// Constructing an Amazon Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
15712	//
15713	// ResourceName is a required field
15714	ResourceName *string `type:"string" required:"true"`
15715
15716	// The tag key (name) of the tag to be removed.
15717	//
15718	// TagKeys is a required field
15719	TagKeys []*string `type:"list" required:"true"`
15720}
15721
15722// String returns the string representation
15723func (s RemoveTagsFromResourceInput) String() string {
15724	return awsutil.Prettify(s)
15725}
15726
15727// GoString returns the string representation
15728func (s RemoveTagsFromResourceInput) GoString() string {
15729	return s.String()
15730}
15731
15732// Validate inspects the fields of the type to determine if they are valid.
15733func (s *RemoveTagsFromResourceInput) Validate() error {
15734	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
15735	if s.ResourceName == nil {
15736		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
15737	}
15738	if s.TagKeys == nil {
15739		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
15740	}
15741
15742	if invalidParams.Len() > 0 {
15743		return invalidParams
15744	}
15745	return nil
15746}
15747
15748// SetResourceName sets the ResourceName field's value.
15749func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput {
15750	s.ResourceName = &v
15751	return s
15752}
15753
15754// SetTagKeys sets the TagKeys field's value.
15755func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
15756	s.TagKeys = v
15757	return s
15758}
15759
15760type RemoveTagsFromResourceOutput struct {
15761	_ struct{} `type:"structure"`
15762}
15763
15764// String returns the string representation
15765func (s RemoveTagsFromResourceOutput) String() string {
15766	return awsutil.Prettify(s)
15767}
15768
15769// GoString returns the string representation
15770func (s RemoveTagsFromResourceOutput) GoString() string {
15771	return s.String()
15772}
15773
15774type ResetDBClusterParameterGroupInput struct {
15775	_ struct{} `type:"structure"`
15776
15777	// The name of the DB cluster parameter group to reset.
15778	//
15779	// DBClusterParameterGroupName is a required field
15780	DBClusterParameterGroupName *string `type:"string" required:"true"`
15781
15782	// A list of parameter names in the DB cluster parameter group to reset to the
15783	// default values. You can't use this parameter if the ResetAllParameters parameter
15784	// is set to true.
15785	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
15786
15787	// A value that is set to true to reset all parameters in the DB cluster parameter
15788	// group to their default values, and false otherwise. You can't use this parameter
15789	// if there is a list of parameter names specified for the Parameters parameter.
15790	ResetAllParameters *bool `type:"boolean"`
15791}
15792
15793// String returns the string representation
15794func (s ResetDBClusterParameterGroupInput) String() string {
15795	return awsutil.Prettify(s)
15796}
15797
15798// GoString returns the string representation
15799func (s ResetDBClusterParameterGroupInput) GoString() string {
15800	return s.String()
15801}
15802
15803// Validate inspects the fields of the type to determine if they are valid.
15804func (s *ResetDBClusterParameterGroupInput) Validate() error {
15805	invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"}
15806	if s.DBClusterParameterGroupName == nil {
15807		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
15808	}
15809
15810	if invalidParams.Len() > 0 {
15811		return invalidParams
15812	}
15813	return nil
15814}
15815
15816// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
15817func (s *ResetDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupInput {
15818	s.DBClusterParameterGroupName = &v
15819	return s
15820}
15821
15822// SetParameters sets the Parameters field's value.
15823func (s *ResetDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetDBClusterParameterGroupInput {
15824	s.Parameters = v
15825	return s
15826}
15827
15828// SetResetAllParameters sets the ResetAllParameters field's value.
15829func (s *ResetDBClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetDBClusterParameterGroupInput {
15830	s.ResetAllParameters = &v
15831	return s
15832}
15833
15834type ResetDBClusterParameterGroupOutput struct {
15835	_ struct{} `type:"structure"`
15836
15837	// The name of the DB cluster parameter group.
15838	//
15839	// Constraints:
15840	//
15841	//    * Must be 1 to 255 letters or numbers.
15842	//
15843	//    * First character must be a letter
15844	//
15845	//    * Cannot end with a hyphen or contain two consecutive hyphens
15846	//
15847	// This value is stored as a lowercase string.
15848	DBClusterParameterGroupName *string `type:"string"`
15849}
15850
15851// String returns the string representation
15852func (s ResetDBClusterParameterGroupOutput) String() string {
15853	return awsutil.Prettify(s)
15854}
15855
15856// GoString returns the string representation
15857func (s ResetDBClusterParameterGroupOutput) GoString() string {
15858	return s.String()
15859}
15860
15861// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
15862func (s *ResetDBClusterParameterGroupOutput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupOutput {
15863	s.DBClusterParameterGroupName = &v
15864	return s
15865}
15866
15867type ResetDBParameterGroupInput struct {
15868	_ struct{} `type:"structure"`
15869
15870	// The name of the DB parameter group.
15871	//
15872	// Constraints:
15873	//
15874	//    * Must match the name of an existing DBParameterGroup.
15875	//
15876	// DBParameterGroupName is a required field
15877	DBParameterGroupName *string `type:"string" required:"true"`
15878
15879	// To reset the entire DB parameter group, specify the DBParameterGroup name
15880	// and ResetAllParameters parameters. To reset specific parameters, provide
15881	// a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters
15882	// can be modified in a single request.
15883	//
15884	// Valid Values (for Apply method): pending-reboot
15885	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
15886
15887	// Specifies whether (true) or not (false) to reset all parameters in the DB
15888	// parameter group to default values.
15889	//
15890	// Default: true
15891	ResetAllParameters *bool `type:"boolean"`
15892}
15893
15894// String returns the string representation
15895func (s ResetDBParameterGroupInput) String() string {
15896	return awsutil.Prettify(s)
15897}
15898
15899// GoString returns the string representation
15900func (s ResetDBParameterGroupInput) GoString() string {
15901	return s.String()
15902}
15903
15904// Validate inspects the fields of the type to determine if they are valid.
15905func (s *ResetDBParameterGroupInput) Validate() error {
15906	invalidParams := request.ErrInvalidParams{Context: "ResetDBParameterGroupInput"}
15907	if s.DBParameterGroupName == nil {
15908		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
15909	}
15910
15911	if invalidParams.Len() > 0 {
15912		return invalidParams
15913	}
15914	return nil
15915}
15916
15917// SetDBParameterGroupName sets the DBParameterGroupName field's value.
15918func (s *ResetDBParameterGroupInput) SetDBParameterGroupName(v string) *ResetDBParameterGroupInput {
15919	s.DBParameterGroupName = &v
15920	return s
15921}
15922
15923// SetParameters sets the Parameters field's value.
15924func (s *ResetDBParameterGroupInput) SetParameters(v []*Parameter) *ResetDBParameterGroupInput {
15925	s.Parameters = v
15926	return s
15927}
15928
15929// SetResetAllParameters sets the ResetAllParameters field's value.
15930func (s *ResetDBParameterGroupInput) SetResetAllParameters(v bool) *ResetDBParameterGroupInput {
15931	s.ResetAllParameters = &v
15932	return s
15933}
15934
15935type ResetDBParameterGroupOutput struct {
15936	_ struct{} `type:"structure"`
15937
15938	// Provides the name of the DB parameter group.
15939	DBParameterGroupName *string `type:"string"`
15940}
15941
15942// String returns the string representation
15943func (s ResetDBParameterGroupOutput) String() string {
15944	return awsutil.Prettify(s)
15945}
15946
15947// GoString returns the string representation
15948func (s ResetDBParameterGroupOutput) GoString() string {
15949	return s.String()
15950}
15951
15952// SetDBParameterGroupName sets the DBParameterGroupName field's value.
15953func (s *ResetDBParameterGroupOutput) SetDBParameterGroupName(v string) *ResetDBParameterGroupOutput {
15954	s.DBParameterGroupName = &v
15955	return s
15956}
15957
15958// Describes the pending maintenance actions for a resource.
15959type ResourcePendingMaintenanceActions struct {
15960	_ struct{} `type:"structure"`
15961
15962	// A list that provides details about the pending maintenance actions for the
15963	// resource.
15964	PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"`
15965
15966	// The ARN of the resource that has pending maintenance actions.
15967	ResourceIdentifier *string `type:"string"`
15968}
15969
15970// String returns the string representation
15971func (s ResourcePendingMaintenanceActions) String() string {
15972	return awsutil.Prettify(s)
15973}
15974
15975// GoString returns the string representation
15976func (s ResourcePendingMaintenanceActions) GoString() string {
15977	return s.String()
15978}
15979
15980// SetPendingMaintenanceActionDetails sets the PendingMaintenanceActionDetails field's value.
15981func (s *ResourcePendingMaintenanceActions) SetPendingMaintenanceActionDetails(v []*PendingMaintenanceAction) *ResourcePendingMaintenanceActions {
15982	s.PendingMaintenanceActionDetails = v
15983	return s
15984}
15985
15986// SetResourceIdentifier sets the ResourceIdentifier field's value.
15987func (s *ResourcePendingMaintenanceActions) SetResourceIdentifier(v string) *ResourcePendingMaintenanceActions {
15988	s.ResourceIdentifier = &v
15989	return s
15990}
15991
15992type RestoreDBClusterFromSnapshotInput struct {
15993	_ struct{} `type:"structure"`
15994
15995	// Provides the list of EC2 Availability Zones that instances in the restored
15996	// DB cluster can be created in.
15997	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
15998
15999	// The name of the DB cluster to create from the DB snapshot or DB cluster snapshot.
16000	// This parameter isn't case-sensitive.
16001	//
16002	// Constraints:
16003	//
16004	//    * Must contain from 1 to 63 letters, numbers, or hyphens
16005	//
16006	//    * First character must be a letter
16007	//
16008	//    * Cannot end with a hyphen or contain two consecutive hyphens
16009	//
16010	// Example: my-snapshot-id
16011	//
16012	// DBClusterIdentifier is a required field
16013	DBClusterIdentifier *string `type:"string" required:"true"`
16014
16015	// The name of the DB cluster parameter group to associate with the new DB cluster.
16016	//
16017	// Constraints:
16018	//
16019	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
16020	DBClusterParameterGroupName *string `type:"string"`
16021
16022	// The name of the DB subnet group to use for the new DB cluster.
16023	//
16024	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
16025	//
16026	// Example: mySubnetgroup
16027	DBSubnetGroupName *string `type:"string"`
16028
16029	// Not supported.
16030	DatabaseName *string `type:"string"`
16031
16032	// A value that indicates whether the DB cluster has deletion protection enabled.
16033	// The database can't be deleted when deletion protection is enabled. By default,
16034	// deletion protection is disabled.
16035	DeletionProtection *bool `type:"boolean"`
16036
16037	// The list of logs that the restored DB cluster is to export to Amazon CloudWatch
16038	// Logs.
16039	EnableCloudwatchLogsExports []*string `type:"list"`
16040
16041	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
16042	// to database accounts, and otherwise false.
16043	//
16044	// Default: false
16045	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
16046
16047	// The database engine to use for the new DB cluster.
16048	//
16049	// Default: The same as source
16050	//
16051	// Constraint: Must be compatible with the engine of the source
16052	//
16053	// Engine is a required field
16054	Engine *string `type:"string" required:"true"`
16055
16056	// The version of the database engine to use for the new DB cluster.
16057	EngineVersion *string `type:"string"`
16058
16059	// The AWS KMS key identifier to use when restoring an encrypted DB cluster
16060	// from a DB snapshot or DB cluster snapshot.
16061	//
16062	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
16063	// key. If you are restoring a DB cluster with the same AWS account that owns
16064	// the KMS encryption key used to encrypt the new DB cluster, then you can use
16065	// the KMS key alias instead of the ARN for the KMS encryption key.
16066	//
16067	// If you do not specify a value for the KmsKeyId parameter, then the following
16068	// will occur:
16069	//
16070	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted,
16071	//    then the restored DB cluster is encrypted using the KMS key that was used
16072	//    to encrypt the DB snapshot or DB cluster snapshot.
16073	//
16074	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is not
16075	//    encrypted, then the restored DB cluster is not encrypted.
16076	KmsKeyId *string `type:"string"`
16077
16078	// (Not supported by Neptune)
16079	OptionGroupName *string `type:"string"`
16080
16081	// The port number on which the new DB cluster accepts connections.
16082	//
16083	// Constraints: Value must be 1150-65535
16084	//
16085	// Default: The same port as the original DB cluster.
16086	Port *int64 `type:"integer"`
16087
16088	// The identifier for the DB snapshot or DB cluster snapshot to restore from.
16089	//
16090	// You can use either the name or the Amazon Resource Name (ARN) to specify
16091	// a DB cluster snapshot. However, you can use only the ARN to specify a DB
16092	// snapshot.
16093	//
16094	// Constraints:
16095	//
16096	//    * Must match the identifier of an existing Snapshot.
16097	//
16098	// SnapshotIdentifier is a required field
16099	SnapshotIdentifier *string `type:"string" required:"true"`
16100
16101	// The tags to be assigned to the restored DB cluster.
16102	Tags []*Tag `locationNameList:"Tag" type:"list"`
16103
16104	// A list of VPC security groups that the new DB cluster will belong to.
16105	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
16106}
16107
16108// String returns the string representation
16109func (s RestoreDBClusterFromSnapshotInput) String() string {
16110	return awsutil.Prettify(s)
16111}
16112
16113// GoString returns the string representation
16114func (s RestoreDBClusterFromSnapshotInput) GoString() string {
16115	return s.String()
16116}
16117
16118// Validate inspects the fields of the type to determine if they are valid.
16119func (s *RestoreDBClusterFromSnapshotInput) Validate() error {
16120	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromSnapshotInput"}
16121	if s.DBClusterIdentifier == nil {
16122		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
16123	}
16124	if s.Engine == nil {
16125		invalidParams.Add(request.NewErrParamRequired("Engine"))
16126	}
16127	if s.SnapshotIdentifier == nil {
16128		invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
16129	}
16130
16131	if invalidParams.Len() > 0 {
16132		return invalidParams
16133	}
16134	return nil
16135}
16136
16137// SetAvailabilityZones sets the AvailabilityZones field's value.
16138func (s *RestoreDBClusterFromSnapshotInput) SetAvailabilityZones(v []*string) *RestoreDBClusterFromSnapshotInput {
16139	s.AvailabilityZones = v
16140	return s
16141}
16142
16143// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16144func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
16145	s.DBClusterIdentifier = &v
16146	return s
16147}
16148
16149// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
16150func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterFromSnapshotInput {
16151	s.DBClusterParameterGroupName = &v
16152	return s
16153}
16154
16155// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
16156func (s *RestoreDBClusterFromSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBClusterFromSnapshotInput {
16157	s.DBSubnetGroupName = &v
16158	return s
16159}
16160
16161// SetDatabaseName sets the DatabaseName field's value.
16162func (s *RestoreDBClusterFromSnapshotInput) SetDatabaseName(v string) *RestoreDBClusterFromSnapshotInput {
16163	s.DatabaseName = &v
16164	return s
16165}
16166
16167// SetDeletionProtection sets the DeletionProtection field's value.
16168func (s *RestoreDBClusterFromSnapshotInput) SetDeletionProtection(v bool) *RestoreDBClusterFromSnapshotInput {
16169	s.DeletionProtection = &v
16170	return s
16171}
16172
16173// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
16174func (s *RestoreDBClusterFromSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromSnapshotInput {
16175	s.EnableCloudwatchLogsExports = v
16176	return s
16177}
16178
16179// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
16180func (s *RestoreDBClusterFromSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromSnapshotInput {
16181	s.EnableIAMDatabaseAuthentication = &v
16182	return s
16183}
16184
16185// SetEngine sets the Engine field's value.
16186func (s *RestoreDBClusterFromSnapshotInput) SetEngine(v string) *RestoreDBClusterFromSnapshotInput {
16187	s.Engine = &v
16188	return s
16189}
16190
16191// SetEngineVersion sets the EngineVersion field's value.
16192func (s *RestoreDBClusterFromSnapshotInput) SetEngineVersion(v string) *RestoreDBClusterFromSnapshotInput {
16193	s.EngineVersion = &v
16194	return s
16195}
16196
16197// SetKmsKeyId sets the KmsKeyId field's value.
16198func (s *RestoreDBClusterFromSnapshotInput) SetKmsKeyId(v string) *RestoreDBClusterFromSnapshotInput {
16199	s.KmsKeyId = &v
16200	return s
16201}
16202
16203// SetOptionGroupName sets the OptionGroupName field's value.
16204func (s *RestoreDBClusterFromSnapshotInput) SetOptionGroupName(v string) *RestoreDBClusterFromSnapshotInput {
16205	s.OptionGroupName = &v
16206	return s
16207}
16208
16209// SetPort sets the Port field's value.
16210func (s *RestoreDBClusterFromSnapshotInput) SetPort(v int64) *RestoreDBClusterFromSnapshotInput {
16211	s.Port = &v
16212	return s
16213}
16214
16215// SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
16216func (s *RestoreDBClusterFromSnapshotInput) SetSnapshotIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
16217	s.SnapshotIdentifier = &v
16218	return s
16219}
16220
16221// SetTags sets the Tags field's value.
16222func (s *RestoreDBClusterFromSnapshotInput) SetTags(v []*Tag) *RestoreDBClusterFromSnapshotInput {
16223	s.Tags = v
16224	return s
16225}
16226
16227// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
16228func (s *RestoreDBClusterFromSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromSnapshotInput {
16229	s.VpcSecurityGroupIds = v
16230	return s
16231}
16232
16233type RestoreDBClusterFromSnapshotOutput struct {
16234	_ struct{} `type:"structure"`
16235
16236	// Contains the details of an Amazon Neptune DB cluster.
16237	//
16238	// This data type is used as a response element in the DescribeDBClusters action.
16239	DBCluster *DBCluster `type:"structure"`
16240}
16241
16242// String returns the string representation
16243func (s RestoreDBClusterFromSnapshotOutput) String() string {
16244	return awsutil.Prettify(s)
16245}
16246
16247// GoString returns the string representation
16248func (s RestoreDBClusterFromSnapshotOutput) GoString() string {
16249	return s.String()
16250}
16251
16252// SetDBCluster sets the DBCluster field's value.
16253func (s *RestoreDBClusterFromSnapshotOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterFromSnapshotOutput {
16254	s.DBCluster = v
16255	return s
16256}
16257
16258type RestoreDBClusterToPointInTimeInput struct {
16259	_ struct{} `type:"structure"`
16260
16261	// The name of the new DB cluster to be created.
16262	//
16263	// Constraints:
16264	//
16265	//    * Must contain from 1 to 63 letters, numbers, or hyphens
16266	//
16267	//    * First character must be a letter
16268	//
16269	//    * Cannot end with a hyphen or contain two consecutive hyphens
16270	//
16271	// DBClusterIdentifier is a required field
16272	DBClusterIdentifier *string `type:"string" required:"true"`
16273
16274	// The name of the DB cluster parameter group to associate with the new DB cluster.
16275	//
16276	// Constraints:
16277	//
16278	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
16279	DBClusterParameterGroupName *string `type:"string"`
16280
16281	// The DB subnet group name to use for the new DB cluster.
16282	//
16283	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
16284	//
16285	// Example: mySubnetgroup
16286	DBSubnetGroupName *string `type:"string"`
16287
16288	// A value that indicates whether the DB cluster has deletion protection enabled.
16289	// The database can't be deleted when deletion protection is enabled. By default,
16290	// deletion protection is disabled.
16291	DeletionProtection *bool `type:"boolean"`
16292
16293	// The list of logs that the restored DB cluster is to export to CloudWatch
16294	// Logs.
16295	EnableCloudwatchLogsExports []*string `type:"list"`
16296
16297	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
16298	// to database accounts, and otherwise false.
16299	//
16300	// Default: false
16301	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
16302
16303	// The AWS KMS key identifier to use when restoring an encrypted DB cluster
16304	// from an encrypted DB cluster.
16305	//
16306	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
16307	// key. If you are restoring a DB cluster with the same AWS account that owns
16308	// the KMS encryption key used to encrypt the new DB cluster, then you can use
16309	// the KMS key alias instead of the ARN for the KMS encryption key.
16310	//
16311	// You can restore to a new DB cluster and encrypt the new DB cluster with a
16312	// KMS key that is different than the KMS key used to encrypt the source DB
16313	// cluster. The new DB cluster is encrypted with the KMS key identified by the
16314	// KmsKeyId parameter.
16315	//
16316	// If you do not specify a value for the KmsKeyId parameter, then the following
16317	// will occur:
16318	//
16319	//    * If the DB cluster is encrypted, then the restored DB cluster is encrypted
16320	//    using the KMS key that was used to encrypt the source DB cluster.
16321	//
16322	//    * If the DB cluster is not encrypted, then the restored DB cluster is
16323	//    not encrypted.
16324	//
16325	// If DBClusterIdentifier refers to a DB cluster that is not encrypted, then
16326	// the restore request is rejected.
16327	KmsKeyId *string `type:"string"`
16328
16329	// (Not supported by Neptune)
16330	OptionGroupName *string `type:"string"`
16331
16332	// The port number on which the new DB cluster accepts connections.
16333	//
16334	// Constraints: Value must be 1150-65535
16335	//
16336	// Default: The same port as the original DB cluster.
16337	Port *int64 `type:"integer"`
16338
16339	// The date and time to restore the DB cluster to.
16340	//
16341	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
16342	//
16343	// Constraints:
16344	//
16345	//    * Must be before the latest restorable time for the DB instance
16346	//
16347	//    * Must be specified if UseLatestRestorableTime parameter is not provided
16348	//
16349	//    * Cannot be specified if UseLatestRestorableTime parameter is true
16350	//
16351	//    * Cannot be specified if RestoreType parameter is copy-on-write
16352	//
16353	// Example: 2015-03-07T23:45:00Z
16354	RestoreToTime *time.Time `type:"timestamp"`
16355
16356	// The type of restore to be performed. You can specify one of the following
16357	// values:
16358	//
16359	//    * full-copy - The new DB cluster is restored as a full copy of the source
16360	//    DB cluster.
16361	//
16362	//    * copy-on-write - The new DB cluster is restored as a clone of the source
16363	//    DB cluster.
16364	//
16365	// If you don't specify a RestoreType value, then the new DB cluster is restored
16366	// as a full copy of the source DB cluster.
16367	RestoreType *string `type:"string"`
16368
16369	// The identifier of the source DB cluster from which to restore.
16370	//
16371	// Constraints:
16372	//
16373	//    * Must match the identifier of an existing DBCluster.
16374	//
16375	// SourceDBClusterIdentifier is a required field
16376	SourceDBClusterIdentifier *string `type:"string" required:"true"`
16377
16378	// The tags to be applied to the restored DB cluster.
16379	Tags []*Tag `locationNameList:"Tag" type:"list"`
16380
16381	// A value that is set to true to restore the DB cluster to the latest restorable
16382	// backup time, and false otherwise.
16383	//
16384	// Default: false
16385	//
16386	// Constraints: Cannot be specified if RestoreToTime parameter is provided.
16387	UseLatestRestorableTime *bool `type:"boolean"`
16388
16389	// A list of VPC security groups that the new DB cluster belongs to.
16390	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
16391}
16392
16393// String returns the string representation
16394func (s RestoreDBClusterToPointInTimeInput) String() string {
16395	return awsutil.Prettify(s)
16396}
16397
16398// GoString returns the string representation
16399func (s RestoreDBClusterToPointInTimeInput) GoString() string {
16400	return s.String()
16401}
16402
16403// Validate inspects the fields of the type to determine if they are valid.
16404func (s *RestoreDBClusterToPointInTimeInput) Validate() error {
16405	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterToPointInTimeInput"}
16406	if s.DBClusterIdentifier == nil {
16407		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
16408	}
16409	if s.SourceDBClusterIdentifier == nil {
16410		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterIdentifier"))
16411	}
16412
16413	if invalidParams.Len() > 0 {
16414		return invalidParams
16415	}
16416	return nil
16417}
16418
16419// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16420func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
16421	s.DBClusterIdentifier = &v
16422	return s
16423}
16424
16425// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
16426func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterToPointInTimeInput {
16427	s.DBClusterParameterGroupName = &v
16428	return s
16429}
16430
16431// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
16432func (s *RestoreDBClusterToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBClusterToPointInTimeInput {
16433	s.DBSubnetGroupName = &v
16434	return s
16435}
16436
16437// SetDeletionProtection sets the DeletionProtection field's value.
16438func (s *RestoreDBClusterToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBClusterToPointInTimeInput {
16439	s.DeletionProtection = &v
16440	return s
16441}
16442
16443// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
16444func (s *RestoreDBClusterToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterToPointInTimeInput {
16445	s.EnableCloudwatchLogsExports = v
16446	return s
16447}
16448
16449// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
16450func (s *RestoreDBClusterToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterToPointInTimeInput {
16451	s.EnableIAMDatabaseAuthentication = &v
16452	return s
16453}
16454
16455// SetKmsKeyId sets the KmsKeyId field's value.
16456func (s *RestoreDBClusterToPointInTimeInput) SetKmsKeyId(v string) *RestoreDBClusterToPointInTimeInput {
16457	s.KmsKeyId = &v
16458	return s
16459}
16460
16461// SetOptionGroupName sets the OptionGroupName field's value.
16462func (s *RestoreDBClusterToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBClusterToPointInTimeInput {
16463	s.OptionGroupName = &v
16464	return s
16465}
16466
16467// SetPort sets the Port field's value.
16468func (s *RestoreDBClusterToPointInTimeInput) SetPort(v int64) *RestoreDBClusterToPointInTimeInput {
16469	s.Port = &v
16470	return s
16471}
16472
16473// SetRestoreToTime sets the RestoreToTime field's value.
16474func (s *RestoreDBClusterToPointInTimeInput) SetRestoreToTime(v time.Time) *RestoreDBClusterToPointInTimeInput {
16475	s.RestoreToTime = &v
16476	return s
16477}
16478
16479// SetRestoreType sets the RestoreType field's value.
16480func (s *RestoreDBClusterToPointInTimeInput) SetRestoreType(v string) *RestoreDBClusterToPointInTimeInput {
16481	s.RestoreType = &v
16482	return s
16483}
16484
16485// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
16486func (s *RestoreDBClusterToPointInTimeInput) SetSourceDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
16487	s.SourceDBClusterIdentifier = &v
16488	return s
16489}
16490
16491// SetTags sets the Tags field's value.
16492func (s *RestoreDBClusterToPointInTimeInput) SetTags(v []*Tag) *RestoreDBClusterToPointInTimeInput {
16493	s.Tags = v
16494	return s
16495}
16496
16497// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
16498func (s *RestoreDBClusterToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBClusterToPointInTimeInput {
16499	s.UseLatestRestorableTime = &v
16500	return s
16501}
16502
16503// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
16504func (s *RestoreDBClusterToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterToPointInTimeInput {
16505	s.VpcSecurityGroupIds = v
16506	return s
16507}
16508
16509type RestoreDBClusterToPointInTimeOutput struct {
16510	_ struct{} `type:"structure"`
16511
16512	// Contains the details of an Amazon Neptune DB cluster.
16513	//
16514	// This data type is used as a response element in the DescribeDBClusters action.
16515	DBCluster *DBCluster `type:"structure"`
16516}
16517
16518// String returns the string representation
16519func (s RestoreDBClusterToPointInTimeOutput) String() string {
16520	return awsutil.Prettify(s)
16521}
16522
16523// GoString returns the string representation
16524func (s RestoreDBClusterToPointInTimeOutput) GoString() string {
16525	return s.String()
16526}
16527
16528// SetDBCluster sets the DBCluster field's value.
16529func (s *RestoreDBClusterToPointInTimeOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterToPointInTimeOutput {
16530	s.DBCluster = v
16531	return s
16532}
16533
16534type StartDBClusterInput struct {
16535	_ struct{} `type:"structure"`
16536
16537	// The DB cluster identifier of the Neptune DB cluster to be started. This parameter
16538	// is stored as a lowercase string.
16539	//
16540	// DBClusterIdentifier is a required field
16541	DBClusterIdentifier *string `type:"string" required:"true"`
16542}
16543
16544// String returns the string representation
16545func (s StartDBClusterInput) String() string {
16546	return awsutil.Prettify(s)
16547}
16548
16549// GoString returns the string representation
16550func (s StartDBClusterInput) GoString() string {
16551	return s.String()
16552}
16553
16554// Validate inspects the fields of the type to determine if they are valid.
16555func (s *StartDBClusterInput) Validate() error {
16556	invalidParams := request.ErrInvalidParams{Context: "StartDBClusterInput"}
16557	if s.DBClusterIdentifier == nil {
16558		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
16559	}
16560
16561	if invalidParams.Len() > 0 {
16562		return invalidParams
16563	}
16564	return nil
16565}
16566
16567// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16568func (s *StartDBClusterInput) SetDBClusterIdentifier(v string) *StartDBClusterInput {
16569	s.DBClusterIdentifier = &v
16570	return s
16571}
16572
16573type StartDBClusterOutput struct {
16574	_ struct{} `type:"structure"`
16575
16576	// Contains the details of an Amazon Neptune DB cluster.
16577	//
16578	// This data type is used as a response element in the DescribeDBClusters action.
16579	DBCluster *DBCluster `type:"structure"`
16580}
16581
16582// String returns the string representation
16583func (s StartDBClusterOutput) String() string {
16584	return awsutil.Prettify(s)
16585}
16586
16587// GoString returns the string representation
16588func (s StartDBClusterOutput) GoString() string {
16589	return s.String()
16590}
16591
16592// SetDBCluster sets the DBCluster field's value.
16593func (s *StartDBClusterOutput) SetDBCluster(v *DBCluster) *StartDBClusterOutput {
16594	s.DBCluster = v
16595	return s
16596}
16597
16598type StopDBClusterInput struct {
16599	_ struct{} `type:"structure"`
16600
16601	// The DB cluster identifier of the Neptune DB cluster to be stopped. This parameter
16602	// is stored as a lowercase string.
16603	//
16604	// DBClusterIdentifier is a required field
16605	DBClusterIdentifier *string `type:"string" required:"true"`
16606}
16607
16608// String returns the string representation
16609func (s StopDBClusterInput) String() string {
16610	return awsutil.Prettify(s)
16611}
16612
16613// GoString returns the string representation
16614func (s StopDBClusterInput) GoString() string {
16615	return s.String()
16616}
16617
16618// Validate inspects the fields of the type to determine if they are valid.
16619func (s *StopDBClusterInput) Validate() error {
16620	invalidParams := request.ErrInvalidParams{Context: "StopDBClusterInput"}
16621	if s.DBClusterIdentifier == nil {
16622		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
16623	}
16624
16625	if invalidParams.Len() > 0 {
16626		return invalidParams
16627	}
16628	return nil
16629}
16630
16631// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16632func (s *StopDBClusterInput) SetDBClusterIdentifier(v string) *StopDBClusterInput {
16633	s.DBClusterIdentifier = &v
16634	return s
16635}
16636
16637type StopDBClusterOutput struct {
16638	_ struct{} `type:"structure"`
16639
16640	// Contains the details of an Amazon Neptune DB cluster.
16641	//
16642	// This data type is used as a response element in the DescribeDBClusters action.
16643	DBCluster *DBCluster `type:"structure"`
16644}
16645
16646// String returns the string representation
16647func (s StopDBClusterOutput) String() string {
16648	return awsutil.Prettify(s)
16649}
16650
16651// GoString returns the string representation
16652func (s StopDBClusterOutput) GoString() string {
16653	return s.String()
16654}
16655
16656// SetDBCluster sets the DBCluster field's value.
16657func (s *StopDBClusterOutput) SetDBCluster(v *DBCluster) *StopDBClusterOutput {
16658	s.DBCluster = v
16659	return s
16660}
16661
16662// Specifies a subnet.
16663//
16664// This data type is used as a response element in the DescribeDBSubnetGroups
16665// action.
16666type Subnet struct {
16667	_ struct{} `type:"structure"`
16668
16669	// Specifies the EC2 Availability Zone that the subnet is in.
16670	SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
16671
16672	// Specifies the identifier of the subnet.
16673	SubnetIdentifier *string `type:"string"`
16674
16675	// Specifies the status of the subnet.
16676	SubnetStatus *string `type:"string"`
16677}
16678
16679// String returns the string representation
16680func (s Subnet) String() string {
16681	return awsutil.Prettify(s)
16682}
16683
16684// GoString returns the string representation
16685func (s Subnet) GoString() string {
16686	return s.String()
16687}
16688
16689// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
16690func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet {
16691	s.SubnetAvailabilityZone = v
16692	return s
16693}
16694
16695// SetSubnetIdentifier sets the SubnetIdentifier field's value.
16696func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
16697	s.SubnetIdentifier = &v
16698	return s
16699}
16700
16701// SetSubnetStatus sets the SubnetStatus field's value.
16702func (s *Subnet) SetSubnetStatus(v string) *Subnet {
16703	s.SubnetStatus = &v
16704	return s
16705}
16706
16707// Metadata assigned to an Amazon Neptune resource consisting of a key-value
16708// pair.
16709type Tag struct {
16710	_ struct{} `type:"structure"`
16711
16712	// A key is the required name of the tag. The string value can be from 1 to
16713	// 128 Unicode characters in length and can't be prefixed with "aws:" or "rds:".
16714	// The string can only contain only the set of Unicode letters, digits, white-space,
16715	// '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
16716	Key *string `type:"string"`
16717
16718	// A value is the optional value of the tag. The string value can be from 1
16719	// to 256 Unicode characters in length and can't be prefixed with "aws:" or
16720	// "rds:". The string can only contain only the set of Unicode letters, digits,
16721	// white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
16722	Value *string `type:"string"`
16723}
16724
16725// String returns the string representation
16726func (s Tag) String() string {
16727	return awsutil.Prettify(s)
16728}
16729
16730// GoString returns the string representation
16731func (s Tag) GoString() string {
16732	return s.String()
16733}
16734
16735// SetKey sets the Key field's value.
16736func (s *Tag) SetKey(v string) *Tag {
16737	s.Key = &v
16738	return s
16739}
16740
16741// SetValue sets the Value field's value.
16742func (s *Tag) SetValue(v string) *Tag {
16743	s.Value = &v
16744	return s
16745}
16746
16747// A time zone associated with a DBInstance.
16748type Timezone struct {
16749	_ struct{} `type:"structure"`
16750
16751	// The name of the time zone.
16752	TimezoneName *string `type:"string"`
16753}
16754
16755// String returns the string representation
16756func (s Timezone) String() string {
16757	return awsutil.Prettify(s)
16758}
16759
16760// GoString returns the string representation
16761func (s Timezone) GoString() string {
16762	return s.String()
16763}
16764
16765// SetTimezoneName sets the TimezoneName field's value.
16766func (s *Timezone) SetTimezoneName(v string) *Timezone {
16767	s.TimezoneName = &v
16768	return s
16769}
16770
16771// The version of the database engine that a DB instance can be upgraded to.
16772type UpgradeTarget struct {
16773	_ struct{} `type:"structure"`
16774
16775	// A value that indicates whether the target version is applied to any source
16776	// DB instances that have AutoMinorVersionUpgrade set to true.
16777	AutoUpgrade *bool `type:"boolean"`
16778
16779	// The version of the database engine that a DB instance can be upgraded to.
16780	Description *string `type:"string"`
16781
16782	// The name of the upgrade target database engine.
16783	Engine *string `type:"string"`
16784
16785	// The version number of the upgrade target database engine.
16786	EngineVersion *string `type:"string"`
16787
16788	// A value that indicates whether a database engine is upgraded to a major version.
16789	IsMajorVersionUpgrade *bool `type:"boolean"`
16790}
16791
16792// String returns the string representation
16793func (s UpgradeTarget) String() string {
16794	return awsutil.Prettify(s)
16795}
16796
16797// GoString returns the string representation
16798func (s UpgradeTarget) GoString() string {
16799	return s.String()
16800}
16801
16802// SetAutoUpgrade sets the AutoUpgrade field's value.
16803func (s *UpgradeTarget) SetAutoUpgrade(v bool) *UpgradeTarget {
16804	s.AutoUpgrade = &v
16805	return s
16806}
16807
16808// SetDescription sets the Description field's value.
16809func (s *UpgradeTarget) SetDescription(v string) *UpgradeTarget {
16810	s.Description = &v
16811	return s
16812}
16813
16814// SetEngine sets the Engine field's value.
16815func (s *UpgradeTarget) SetEngine(v string) *UpgradeTarget {
16816	s.Engine = &v
16817	return s
16818}
16819
16820// SetEngineVersion sets the EngineVersion field's value.
16821func (s *UpgradeTarget) SetEngineVersion(v string) *UpgradeTarget {
16822	s.EngineVersion = &v
16823	return s
16824}
16825
16826// SetIsMajorVersionUpgrade sets the IsMajorVersionUpgrade field's value.
16827func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget {
16828	s.IsMajorVersionUpgrade = &v
16829	return s
16830}
16831
16832// Information about valid modifications that you can make to your DB instance.
16833// Contains the result of a successful call to the DescribeValidDBInstanceModifications
16834// action. You can use this information when you call ModifyDBInstance.
16835type ValidDBInstanceModificationsMessage struct {
16836	_ struct{} `type:"structure"`
16837
16838	// Valid storage options for your DB instance.
16839	Storage []*ValidStorageOptions `locationNameList:"ValidStorageOptions" type:"list"`
16840}
16841
16842// String returns the string representation
16843func (s ValidDBInstanceModificationsMessage) String() string {
16844	return awsutil.Prettify(s)
16845}
16846
16847// GoString returns the string representation
16848func (s ValidDBInstanceModificationsMessage) GoString() string {
16849	return s.String()
16850}
16851
16852// SetStorage sets the Storage field's value.
16853func (s *ValidDBInstanceModificationsMessage) SetStorage(v []*ValidStorageOptions) *ValidDBInstanceModificationsMessage {
16854	s.Storage = v
16855	return s
16856}
16857
16858// Information about valid modifications that you can make to your DB instance.
16859//
16860// Contains the result of a successful call to the DescribeValidDBInstanceModifications
16861// action.
16862type ValidStorageOptions struct {
16863	_ struct{} `type:"structure"`
16864
16865	// The valid range of Provisioned IOPS to gibibytes of storage multiplier. For
16866	// example, 3-10, which means that provisioned IOPS can be between 3 and 10
16867	// times storage.
16868	IopsToStorageRatio []*DoubleRange `locationNameList:"DoubleRange" type:"list"`
16869
16870	// The valid range of provisioned IOPS. For example, 1000-20000.
16871	ProvisionedIops []*Range `locationNameList:"Range" type:"list"`
16872
16873	// The valid range of storage in gibibytes. For example, 100 to 16384.
16874	StorageSize []*Range `locationNameList:"Range" type:"list"`
16875
16876	// The valid storage types for your DB instance. For example, gp2, io1.
16877	StorageType *string `type:"string"`
16878}
16879
16880// String returns the string representation
16881func (s ValidStorageOptions) String() string {
16882	return awsutil.Prettify(s)
16883}
16884
16885// GoString returns the string representation
16886func (s ValidStorageOptions) GoString() string {
16887	return s.String()
16888}
16889
16890// SetIopsToStorageRatio sets the IopsToStorageRatio field's value.
16891func (s *ValidStorageOptions) SetIopsToStorageRatio(v []*DoubleRange) *ValidStorageOptions {
16892	s.IopsToStorageRatio = v
16893	return s
16894}
16895
16896// SetProvisionedIops sets the ProvisionedIops field's value.
16897func (s *ValidStorageOptions) SetProvisionedIops(v []*Range) *ValidStorageOptions {
16898	s.ProvisionedIops = v
16899	return s
16900}
16901
16902// SetStorageSize sets the StorageSize field's value.
16903func (s *ValidStorageOptions) SetStorageSize(v []*Range) *ValidStorageOptions {
16904	s.StorageSize = v
16905	return s
16906}
16907
16908// SetStorageType sets the StorageType field's value.
16909func (s *ValidStorageOptions) SetStorageType(v string) *ValidStorageOptions {
16910	s.StorageType = &v
16911	return s
16912}
16913
16914// This data type is used as a response element for queries on VPC security
16915// group membership.
16916type VpcSecurityGroupMembership struct {
16917	_ struct{} `type:"structure"`
16918
16919	// The status of the VPC security group.
16920	Status *string `type:"string"`
16921
16922	// The name of the VPC security group.
16923	VpcSecurityGroupId *string `type:"string"`
16924}
16925
16926// String returns the string representation
16927func (s VpcSecurityGroupMembership) String() string {
16928	return awsutil.Prettify(s)
16929}
16930
16931// GoString returns the string representation
16932func (s VpcSecurityGroupMembership) GoString() string {
16933	return s.String()
16934}
16935
16936// SetStatus sets the Status field's value.
16937func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership {
16938	s.Status = &v
16939	return s
16940}
16941
16942// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
16943func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership {
16944	s.VpcSecurityGroupId = &v
16945	return s
16946}
16947
16948const (
16949	// ApplyMethodImmediate is a ApplyMethod enum value
16950	ApplyMethodImmediate = "immediate"
16951
16952	// ApplyMethodPendingReboot is a ApplyMethod enum value
16953	ApplyMethodPendingReboot = "pending-reboot"
16954)
16955
16956const (
16957	// SourceTypeDbInstance is a SourceType enum value
16958	SourceTypeDbInstance = "db-instance"
16959
16960	// SourceTypeDbParameterGroup is a SourceType enum value
16961	SourceTypeDbParameterGroup = "db-parameter-group"
16962
16963	// SourceTypeDbSecurityGroup is a SourceType enum value
16964	SourceTypeDbSecurityGroup = "db-security-group"
16965
16966	// SourceTypeDbSnapshot is a SourceType enum value
16967	SourceTypeDbSnapshot = "db-snapshot"
16968
16969	// SourceTypeDbCluster is a SourceType enum value
16970	SourceTypeDbCluster = "db-cluster"
16971
16972	// SourceTypeDbClusterSnapshot is a SourceType enum value
16973	SourceTypeDbClusterSnapshot = "db-cluster-snapshot"
16974)
16975