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 opCreateDBClusterEndpoint = "CreateDBClusterEndpoint"
766
767// CreateDBClusterEndpointRequest generates a "aws/request.Request" representing the
768// client's request for the CreateDBClusterEndpoint operation. The "output" return
769// value will be populated with the request's response once the request completes
770// successfully.
771//
772// Use "Send" method on the returned Request to send the API call to the service.
773// the "output" return value is not valid until after Send returns without error.
774//
775// See CreateDBClusterEndpoint for more information on using the CreateDBClusterEndpoint
776// API call, and error handling.
777//
778// This method is useful when you want to inject custom logic or configuration
779// into the SDK's request lifecycle. Such as custom headers, or retry logic.
780//
781//
782//    // Example sending a request using the CreateDBClusterEndpointRequest method.
783//    req, resp := client.CreateDBClusterEndpointRequest(params)
784//
785//    err := req.Send()
786//    if err == nil { // resp is now filled
787//        fmt.Println(resp)
788//    }
789//
790// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBClusterEndpoint
791func (c *Neptune) CreateDBClusterEndpointRequest(input *CreateDBClusterEndpointInput) (req *request.Request, output *CreateDBClusterEndpointOutput) {
792	op := &request.Operation{
793		Name:       opCreateDBClusterEndpoint,
794		HTTPMethod: "POST",
795		HTTPPath:   "/",
796	}
797
798	if input == nil {
799		input = &CreateDBClusterEndpointInput{}
800	}
801
802	output = &CreateDBClusterEndpointOutput{}
803	req = c.newRequest(op, input, output)
804	return
805}
806
807// CreateDBClusterEndpoint API operation for Amazon Neptune.
808//
809// Creates a new custom endpoint and associates it with an Amazon Neptune DB
810// cluster.
811//
812// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
813// with awserr.Error's Code and Message methods to get detailed information about
814// the error.
815//
816// See the AWS API reference guide for Amazon Neptune's
817// API operation CreateDBClusterEndpoint for usage and error information.
818//
819// Returned Error Codes:
820//   * ErrCodeDBClusterEndpointQuotaExceededFault "DBClusterEndpointQuotaExceededFault"
821//   The cluster already has the maximum number of custom endpoints.
822//
823//   * ErrCodeDBClusterEndpointAlreadyExistsFault "DBClusterEndpointAlreadyExistsFault"
824//   The specified custom endpoint cannot be created because it already exists.
825//
826//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
827//   DBClusterIdentifier does not refer to an existing DB cluster.
828//
829//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
830//   The DB cluster is not in a valid state.
831//
832//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
833//   DBInstanceIdentifier does not refer to an existing DB instance.
834//
835//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
836//   The specified DB instance is not in the available state.
837//
838// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBClusterEndpoint
839func (c *Neptune) CreateDBClusterEndpoint(input *CreateDBClusterEndpointInput) (*CreateDBClusterEndpointOutput, error) {
840	req, out := c.CreateDBClusterEndpointRequest(input)
841	return out, req.Send()
842}
843
844// CreateDBClusterEndpointWithContext is the same as CreateDBClusterEndpoint with the addition of
845// the ability to pass a context and additional request options.
846//
847// See CreateDBClusterEndpoint for details on how to use this API operation.
848//
849// The context must be non-nil and will be used for request cancellation. If
850// the context is nil a panic will occur. In the future the SDK may create
851// sub-contexts for http.Requests. See https://golang.org/pkg/context/
852// for more information on using Contexts.
853func (c *Neptune) CreateDBClusterEndpointWithContext(ctx aws.Context, input *CreateDBClusterEndpointInput, opts ...request.Option) (*CreateDBClusterEndpointOutput, error) {
854	req, out := c.CreateDBClusterEndpointRequest(input)
855	req.SetContext(ctx)
856	req.ApplyOptions(opts...)
857	return out, req.Send()
858}
859
860const opCreateDBClusterParameterGroup = "CreateDBClusterParameterGroup"
861
862// CreateDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
863// client's request for the CreateDBClusterParameterGroup operation. The "output" return
864// value will be populated with the request's response once the request completes
865// successfully.
866//
867// Use "Send" method on the returned Request to send the API call to the service.
868// the "output" return value is not valid until after Send returns without error.
869//
870// See CreateDBClusterParameterGroup for more information on using the CreateDBClusterParameterGroup
871// API call, and error handling.
872//
873// This method is useful when you want to inject custom logic or configuration
874// into the SDK's request lifecycle. Such as custom headers, or retry logic.
875//
876//
877//    // Example sending a request using the CreateDBClusterParameterGroupRequest method.
878//    req, resp := client.CreateDBClusterParameterGroupRequest(params)
879//
880//    err := req.Send()
881//    if err == nil { // resp is now filled
882//        fmt.Println(resp)
883//    }
884//
885// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBClusterParameterGroup
886func (c *Neptune) CreateDBClusterParameterGroupRequest(input *CreateDBClusterParameterGroupInput) (req *request.Request, output *CreateDBClusterParameterGroupOutput) {
887	op := &request.Operation{
888		Name:       opCreateDBClusterParameterGroup,
889		HTTPMethod: "POST",
890		HTTPPath:   "/",
891	}
892
893	if input == nil {
894		input = &CreateDBClusterParameterGroupInput{}
895	}
896
897	output = &CreateDBClusterParameterGroupOutput{}
898	req = c.newRequest(op, input, output)
899	return
900}
901
902// CreateDBClusterParameterGroup API operation for Amazon Neptune.
903//
904// Creates a new DB cluster parameter group.
905//
906// Parameters in a DB cluster parameter group apply to all of the instances
907// in a DB cluster.
908//
909// A DB cluster parameter group is initially created with the default parameters
910// for the database engine used by instances in the DB cluster. To provide custom
911// values for any of the parameters, you must modify the group after creating
912// it using ModifyDBClusterParameterGroup. Once you've created a DB cluster
913// parameter group, you need to associate it with your DB cluster using ModifyDBCluster.
914// When you associate a new DB cluster parameter group with a running DB cluster,
915// you need to reboot the DB instances in the DB cluster without failover for
916// the new DB cluster parameter group and associated settings to take effect.
917//
918// After you create a DB cluster parameter group, you should wait at least 5
919// minutes before creating your first DB cluster that uses that DB cluster parameter
920// group as the default parameter group. This allows Amazon Neptune to fully
921// complete the create action before the DB cluster parameter group is used
922// as the default for a new DB cluster. This is especially important for parameters
923// that are critical when creating the default database for a DB cluster, such
924// as the character set for the default database defined by the character_set_database
925// parameter. You can use the Parameter Groups option of the Amazon Neptune
926// console (https://console.aws.amazon.com/rds/) or the DescribeDBClusterParameters
927// command to verify that your DB cluster parameter group has been created or
928// modified.
929//
930// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
931// with awserr.Error's Code and Message methods to get detailed information about
932// the error.
933//
934// See the AWS API reference guide for Amazon Neptune's
935// API operation CreateDBClusterParameterGroup for usage and error information.
936//
937// Returned Error Codes:
938//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
939//   Request would result in user exceeding the allowed number of DB parameter
940//   groups.
941//
942//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
943//   A DB parameter group with the same name exists.
944//
945// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBClusterParameterGroup
946func (c *Neptune) CreateDBClusterParameterGroup(input *CreateDBClusterParameterGroupInput) (*CreateDBClusterParameterGroupOutput, error) {
947	req, out := c.CreateDBClusterParameterGroupRequest(input)
948	return out, req.Send()
949}
950
951// CreateDBClusterParameterGroupWithContext is the same as CreateDBClusterParameterGroup with the addition of
952// the ability to pass a context and additional request options.
953//
954// See CreateDBClusterParameterGroup for details on how to use this API operation.
955//
956// The context must be non-nil and will be used for request cancellation. If
957// the context is nil a panic will occur. In the future the SDK may create
958// sub-contexts for http.Requests. See https://golang.org/pkg/context/
959// for more information on using Contexts.
960func (c *Neptune) CreateDBClusterParameterGroupWithContext(ctx aws.Context, input *CreateDBClusterParameterGroupInput, opts ...request.Option) (*CreateDBClusterParameterGroupOutput, error) {
961	req, out := c.CreateDBClusterParameterGroupRequest(input)
962	req.SetContext(ctx)
963	req.ApplyOptions(opts...)
964	return out, req.Send()
965}
966
967const opCreateDBClusterSnapshot = "CreateDBClusterSnapshot"
968
969// CreateDBClusterSnapshotRequest generates a "aws/request.Request" representing the
970// client's request for the CreateDBClusterSnapshot operation. The "output" return
971// value will be populated with the request's response once the request completes
972// successfully.
973//
974// Use "Send" method on the returned Request to send the API call to the service.
975// the "output" return value is not valid until after Send returns without error.
976//
977// See CreateDBClusterSnapshot for more information on using the CreateDBClusterSnapshot
978// API call, and error handling.
979//
980// This method is useful when you want to inject custom logic or configuration
981// into the SDK's request lifecycle. Such as custom headers, or retry logic.
982//
983//
984//    // Example sending a request using the CreateDBClusterSnapshotRequest method.
985//    req, resp := client.CreateDBClusterSnapshotRequest(params)
986//
987//    err := req.Send()
988//    if err == nil { // resp is now filled
989//        fmt.Println(resp)
990//    }
991//
992// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBClusterSnapshot
993func (c *Neptune) CreateDBClusterSnapshotRequest(input *CreateDBClusterSnapshotInput) (req *request.Request, output *CreateDBClusterSnapshotOutput) {
994	op := &request.Operation{
995		Name:       opCreateDBClusterSnapshot,
996		HTTPMethod: "POST",
997		HTTPPath:   "/",
998	}
999
1000	if input == nil {
1001		input = &CreateDBClusterSnapshotInput{}
1002	}
1003
1004	output = &CreateDBClusterSnapshotOutput{}
1005	req = c.newRequest(op, input, output)
1006	return
1007}
1008
1009// CreateDBClusterSnapshot API operation for Amazon Neptune.
1010//
1011// Creates a snapshot of a DB cluster.
1012//
1013// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1014// with awserr.Error's Code and Message methods to get detailed information about
1015// the error.
1016//
1017// See the AWS API reference guide for Amazon Neptune's
1018// API operation CreateDBClusterSnapshot for usage and error information.
1019//
1020// Returned Error Codes:
1021//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
1022//   User already has a DB cluster snapshot with the given identifier.
1023//
1024//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1025//   The DB cluster is not in a valid state.
1026//
1027//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1028//   DBClusterIdentifier does not refer to an existing DB cluster.
1029//
1030//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1031//   Request would result in user exceeding the allowed number of DB snapshots.
1032//
1033//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
1034//   The supplied value is not a valid DB cluster snapshot state.
1035//
1036// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBClusterSnapshot
1037func (c *Neptune) CreateDBClusterSnapshot(input *CreateDBClusterSnapshotInput) (*CreateDBClusterSnapshotOutput, error) {
1038	req, out := c.CreateDBClusterSnapshotRequest(input)
1039	return out, req.Send()
1040}
1041
1042// CreateDBClusterSnapshotWithContext is the same as CreateDBClusterSnapshot with the addition of
1043// the ability to pass a context and additional request options.
1044//
1045// See CreateDBClusterSnapshot for details on how to use this API operation.
1046//
1047// The context must be non-nil and will be used for request cancellation. If
1048// the context is nil a panic will occur. In the future the SDK may create
1049// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1050// for more information on using Contexts.
1051func (c *Neptune) CreateDBClusterSnapshotWithContext(ctx aws.Context, input *CreateDBClusterSnapshotInput, opts ...request.Option) (*CreateDBClusterSnapshotOutput, error) {
1052	req, out := c.CreateDBClusterSnapshotRequest(input)
1053	req.SetContext(ctx)
1054	req.ApplyOptions(opts...)
1055	return out, req.Send()
1056}
1057
1058const opCreateDBInstance = "CreateDBInstance"
1059
1060// CreateDBInstanceRequest generates a "aws/request.Request" representing the
1061// client's request for the CreateDBInstance operation. The "output" return
1062// value will be populated with the request's response once the request completes
1063// successfully.
1064//
1065// Use "Send" method on the returned Request to send the API call to the service.
1066// the "output" return value is not valid until after Send returns without error.
1067//
1068// See CreateDBInstance for more information on using the CreateDBInstance
1069// API call, and error handling.
1070//
1071// This method is useful when you want to inject custom logic or configuration
1072// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1073//
1074//
1075//    // Example sending a request using the CreateDBInstanceRequest method.
1076//    req, resp := client.CreateDBInstanceRequest(params)
1077//
1078//    err := req.Send()
1079//    if err == nil { // resp is now filled
1080//        fmt.Println(resp)
1081//    }
1082//
1083// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBInstance
1084func (c *Neptune) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *request.Request, output *CreateDBInstanceOutput) {
1085	op := &request.Operation{
1086		Name:       opCreateDBInstance,
1087		HTTPMethod: "POST",
1088		HTTPPath:   "/",
1089	}
1090
1091	if input == nil {
1092		input = &CreateDBInstanceInput{}
1093	}
1094
1095	output = &CreateDBInstanceOutput{}
1096	req = c.newRequest(op, input, output)
1097	return
1098}
1099
1100// CreateDBInstance API operation for Amazon Neptune.
1101//
1102// Creates a new DB instance.
1103//
1104// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1105// with awserr.Error's Code and Message methods to get detailed information about
1106// the error.
1107//
1108// See the AWS API reference guide for Amazon Neptune's
1109// API operation CreateDBInstance for usage and error information.
1110//
1111// Returned Error Codes:
1112//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
1113//   User already has a DB instance with the given identifier.
1114//
1115//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
1116//   Specified DB instance class is not available in the specified Availability
1117//   Zone.
1118//
1119//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1120//   DBParameterGroupName does not refer to an existing DB parameter group.
1121//
1122//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
1123//   DBSecurityGroupName does not refer to an existing DB security group.
1124//
1125//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
1126//   Request would result in user exceeding the allowed number of DB instances.
1127//
1128//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
1129//   Request would result in user exceeding the allowed amount of storage available
1130//   across all DB instances.
1131//
1132//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1133//   DBSubnetGroupName does not refer to an existing DB subnet group.
1134//
1135//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1136//   Subnets in the DB subnet group should cover at least two Availability Zones
1137//   unless there is only one Availability Zone.
1138//
1139//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1140//   The DB cluster is not in a valid state.
1141//
1142//   * ErrCodeInvalidSubnet "InvalidSubnet"
1143//   The requested subnet is invalid, or multiple subnets were requested that
1144//   are not all in a common VPC.
1145//
1146//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
1147//   DB subnet group does not cover all Availability Zones after it is created
1148//   because users' change.
1149//
1150//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
1151//   Provisioned IOPS not available in the specified Availability Zone.
1152//
1153//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
1154//   The designated option group could not be found.
1155//
1156//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1157//   DBClusterIdentifier does not refer to an existing DB cluster.
1158//
1159//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
1160//   StorageType specified cannot be associated with the DB Instance.
1161//
1162//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
1163//   Specified CIDRIP or EC2 security group is not authorized for the specified
1164//   DB security group.
1165//
1166//   Neptune may not also be authorized via IAM to perform necessary actions on
1167//   your behalf.
1168//
1169//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1170//   Error accessing KMS key.
1171//
1172//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
1173//   Domain does not refer to an existing Active Directory Domain.
1174//
1175// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBInstance
1176func (c *Neptune) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceOutput, error) {
1177	req, out := c.CreateDBInstanceRequest(input)
1178	return out, req.Send()
1179}
1180
1181// CreateDBInstanceWithContext is the same as CreateDBInstance with the addition of
1182// the ability to pass a context and additional request options.
1183//
1184// See CreateDBInstance for details on how to use this API operation.
1185//
1186// The context must be non-nil and will be used for request cancellation. If
1187// the context is nil a panic will occur. In the future the SDK may create
1188// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1189// for more information on using Contexts.
1190func (c *Neptune) CreateDBInstanceWithContext(ctx aws.Context, input *CreateDBInstanceInput, opts ...request.Option) (*CreateDBInstanceOutput, error) {
1191	req, out := c.CreateDBInstanceRequest(input)
1192	req.SetContext(ctx)
1193	req.ApplyOptions(opts...)
1194	return out, req.Send()
1195}
1196
1197const opCreateDBParameterGroup = "CreateDBParameterGroup"
1198
1199// CreateDBParameterGroupRequest generates a "aws/request.Request" representing the
1200// client's request for the CreateDBParameterGroup operation. The "output" return
1201// value will be populated with the request's response once the request completes
1202// successfully.
1203//
1204// Use "Send" method on the returned Request to send the API call to the service.
1205// the "output" return value is not valid until after Send returns without error.
1206//
1207// See CreateDBParameterGroup for more information on using the CreateDBParameterGroup
1208// API call, and error handling.
1209//
1210// This method is useful when you want to inject custom logic or configuration
1211// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1212//
1213//
1214//    // Example sending a request using the CreateDBParameterGroupRequest method.
1215//    req, resp := client.CreateDBParameterGroupRequest(params)
1216//
1217//    err := req.Send()
1218//    if err == nil { // resp is now filled
1219//        fmt.Println(resp)
1220//    }
1221//
1222// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBParameterGroup
1223func (c *Neptune) CreateDBParameterGroupRequest(input *CreateDBParameterGroupInput) (req *request.Request, output *CreateDBParameterGroupOutput) {
1224	op := &request.Operation{
1225		Name:       opCreateDBParameterGroup,
1226		HTTPMethod: "POST",
1227		HTTPPath:   "/",
1228	}
1229
1230	if input == nil {
1231		input = &CreateDBParameterGroupInput{}
1232	}
1233
1234	output = &CreateDBParameterGroupOutput{}
1235	req = c.newRequest(op, input, output)
1236	return
1237}
1238
1239// CreateDBParameterGroup API operation for Amazon Neptune.
1240//
1241// Creates a new DB parameter group.
1242//
1243// A DB parameter group is initially created with the default parameters for
1244// the database engine used by the DB instance. To provide custom values for
1245// any of the parameters, you must modify the group after creating it using
1246// ModifyDBParameterGroup. Once you've created a DB parameter group, you need
1247// to associate it with your DB instance using ModifyDBInstance. When you associate
1248// a new DB parameter group with a running DB instance, you need to reboot the
1249// DB instance without failover for the new DB parameter group and associated
1250// settings to take effect.
1251//
1252// After you create a DB parameter group, you should wait at least 5 minutes
1253// before creating your first DB instance that uses that DB parameter group
1254// as the default parameter group. This allows Amazon Neptune to fully complete
1255// the create action before the parameter group is used as the default for a
1256// new DB instance. This is especially important for parameters that are critical
1257// when creating the default database for a DB instance, such as the character
1258// set for the default database defined by the character_set_database parameter.
1259// You can use the Parameter Groups option of the Amazon Neptune console or
1260// the DescribeDBParameters command to verify that your DB parameter group has
1261// been created or modified.
1262//
1263// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1264// with awserr.Error's Code and Message methods to get detailed information about
1265// the error.
1266//
1267// See the AWS API reference guide for Amazon Neptune's
1268// API operation CreateDBParameterGroup for usage and error information.
1269//
1270// Returned Error Codes:
1271//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
1272//   Request would result in user exceeding the allowed number of DB parameter
1273//   groups.
1274//
1275//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
1276//   A DB parameter group with the same name exists.
1277//
1278// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBParameterGroup
1279func (c *Neptune) CreateDBParameterGroup(input *CreateDBParameterGroupInput) (*CreateDBParameterGroupOutput, error) {
1280	req, out := c.CreateDBParameterGroupRequest(input)
1281	return out, req.Send()
1282}
1283
1284// CreateDBParameterGroupWithContext is the same as CreateDBParameterGroup with the addition of
1285// the ability to pass a context and additional request options.
1286//
1287// See CreateDBParameterGroup for details on how to use this API operation.
1288//
1289// The context must be non-nil and will be used for request cancellation. If
1290// the context is nil a panic will occur. In the future the SDK may create
1291// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1292// for more information on using Contexts.
1293func (c *Neptune) CreateDBParameterGroupWithContext(ctx aws.Context, input *CreateDBParameterGroupInput, opts ...request.Option) (*CreateDBParameterGroupOutput, error) {
1294	req, out := c.CreateDBParameterGroupRequest(input)
1295	req.SetContext(ctx)
1296	req.ApplyOptions(opts...)
1297	return out, req.Send()
1298}
1299
1300const opCreateDBSubnetGroup = "CreateDBSubnetGroup"
1301
1302// CreateDBSubnetGroupRequest generates a "aws/request.Request" representing the
1303// client's request for the CreateDBSubnetGroup operation. The "output" return
1304// value will be populated with the request's response once the request completes
1305// successfully.
1306//
1307// Use "Send" method on the returned Request to send the API call to the service.
1308// the "output" return value is not valid until after Send returns without error.
1309//
1310// See CreateDBSubnetGroup for more information on using the CreateDBSubnetGroup
1311// API call, and error handling.
1312//
1313// This method is useful when you want to inject custom logic or configuration
1314// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1315//
1316//
1317//    // Example sending a request using the CreateDBSubnetGroupRequest method.
1318//    req, resp := client.CreateDBSubnetGroupRequest(params)
1319//
1320//    err := req.Send()
1321//    if err == nil { // resp is now filled
1322//        fmt.Println(resp)
1323//    }
1324//
1325// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBSubnetGroup
1326func (c *Neptune) CreateDBSubnetGroupRequest(input *CreateDBSubnetGroupInput) (req *request.Request, output *CreateDBSubnetGroupOutput) {
1327	op := &request.Operation{
1328		Name:       opCreateDBSubnetGroup,
1329		HTTPMethod: "POST",
1330		HTTPPath:   "/",
1331	}
1332
1333	if input == nil {
1334		input = &CreateDBSubnetGroupInput{}
1335	}
1336
1337	output = &CreateDBSubnetGroupOutput{}
1338	req = c.newRequest(op, input, output)
1339	return
1340}
1341
1342// CreateDBSubnetGroup API operation for Amazon Neptune.
1343//
1344// Creates a new DB subnet group. DB subnet groups must contain at least one
1345// subnet in at least two AZs in the AWS Region.
1346//
1347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1348// with awserr.Error's Code and Message methods to get detailed information about
1349// the error.
1350//
1351// See the AWS API reference guide for Amazon Neptune's
1352// API operation CreateDBSubnetGroup for usage and error information.
1353//
1354// Returned Error Codes:
1355//   * ErrCodeDBSubnetGroupAlreadyExistsFault "DBSubnetGroupAlreadyExists"
1356//   DBSubnetGroupName is already used by an existing DB subnet group.
1357//
1358//   * ErrCodeDBSubnetGroupQuotaExceededFault "DBSubnetGroupQuotaExceeded"
1359//   Request would result in user exceeding the allowed number of DB subnet groups.
1360//
1361//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
1362//   Request would result in user exceeding the allowed number of subnets in a
1363//   DB subnet groups.
1364//
1365//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1366//   Subnets in the DB subnet group should cover at least two Availability Zones
1367//   unless there is only one Availability Zone.
1368//
1369//   * ErrCodeInvalidSubnet "InvalidSubnet"
1370//   The requested subnet is invalid, or multiple subnets were requested that
1371//   are not all in a common VPC.
1372//
1373// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateDBSubnetGroup
1374func (c *Neptune) CreateDBSubnetGroup(input *CreateDBSubnetGroupInput) (*CreateDBSubnetGroupOutput, error) {
1375	req, out := c.CreateDBSubnetGroupRequest(input)
1376	return out, req.Send()
1377}
1378
1379// CreateDBSubnetGroupWithContext is the same as CreateDBSubnetGroup with the addition of
1380// the ability to pass a context and additional request options.
1381//
1382// See CreateDBSubnetGroup for details on how to use this API operation.
1383//
1384// The context must be non-nil and will be used for request cancellation. If
1385// the context is nil a panic will occur. In the future the SDK may create
1386// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1387// for more information on using Contexts.
1388func (c *Neptune) CreateDBSubnetGroupWithContext(ctx aws.Context, input *CreateDBSubnetGroupInput, opts ...request.Option) (*CreateDBSubnetGroupOutput, error) {
1389	req, out := c.CreateDBSubnetGroupRequest(input)
1390	req.SetContext(ctx)
1391	req.ApplyOptions(opts...)
1392	return out, req.Send()
1393}
1394
1395const opCreateEventSubscription = "CreateEventSubscription"
1396
1397// CreateEventSubscriptionRequest generates a "aws/request.Request" representing the
1398// client's request for the CreateEventSubscription operation. The "output" return
1399// value will be populated with the request's response once the request completes
1400// successfully.
1401//
1402// Use "Send" method on the returned Request to send the API call to the service.
1403// the "output" return value is not valid until after Send returns without error.
1404//
1405// See CreateEventSubscription for more information on using the CreateEventSubscription
1406// API call, and error handling.
1407//
1408// This method is useful when you want to inject custom logic or configuration
1409// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1410//
1411//
1412//    // Example sending a request using the CreateEventSubscriptionRequest method.
1413//    req, resp := client.CreateEventSubscriptionRequest(params)
1414//
1415//    err := req.Send()
1416//    if err == nil { // resp is now filled
1417//        fmt.Println(resp)
1418//    }
1419//
1420// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateEventSubscription
1421func (c *Neptune) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) {
1422	op := &request.Operation{
1423		Name:       opCreateEventSubscription,
1424		HTTPMethod: "POST",
1425		HTTPPath:   "/",
1426	}
1427
1428	if input == nil {
1429		input = &CreateEventSubscriptionInput{}
1430	}
1431
1432	output = &CreateEventSubscriptionOutput{}
1433	req = c.newRequest(op, input, output)
1434	return
1435}
1436
1437// CreateEventSubscription API operation for Amazon Neptune.
1438//
1439// Creates an event notification subscription. This action requires a topic
1440// ARN (Amazon Resource Name) created by either the Neptune console, the SNS
1441// console, or the SNS API. To obtain an ARN with SNS, you must create a topic
1442// in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS
1443// console.
1444//
1445// You can specify the type of source (SourceType) you want to be notified of,
1446// provide a list of Neptune sources (SourceIds) that triggers the events, and
1447// provide a list of event categories (EventCategories) for events you want
1448// to be notified of. For example, you can specify SourceType = db-instance,
1449// SourceIds = mydbinstance1, mydbinstance2 and EventCategories = Availability,
1450// Backup.
1451//
1452// If you specify both the SourceType and SourceIds, such as SourceType = db-instance
1453// and SourceIdentifier = myDBInstance1, you are notified of all the db-instance
1454// events for the specified source. If you specify a SourceType but do not specify
1455// a SourceIdentifier, you receive notice of the events for that source type
1456// for all your Neptune sources. If you do not specify either the SourceType
1457// nor the SourceIdentifier, you are notified of events generated from all Neptune
1458// sources belonging to your customer account.
1459//
1460// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1461// with awserr.Error's Code and Message methods to get detailed information about
1462// the error.
1463//
1464// See the AWS API reference guide for Amazon Neptune's
1465// API operation CreateEventSubscription for usage and error information.
1466//
1467// Returned Error Codes:
1468//   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
1469//   You have exceeded the number of events you can subscribe to.
1470//
1471//   * ErrCodeSubscriptionAlreadyExistFault "SubscriptionAlreadyExist"
1472//   This subscription already exists.
1473//
1474//   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
1475//   The SNS topic is invalid.
1476//
1477//   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
1478//   There is no SNS authorization.
1479//
1480//   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
1481//   The ARN of the SNS topic could not be found.
1482//
1483//   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
1484//   The designated subscription category could not be found.
1485//
1486//   * ErrCodeSourceNotFoundFault "SourceNotFound"
1487//   The source could not be found.
1488//
1489// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/CreateEventSubscription
1490func (c *Neptune) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) {
1491	req, out := c.CreateEventSubscriptionRequest(input)
1492	return out, req.Send()
1493}
1494
1495// CreateEventSubscriptionWithContext is the same as CreateEventSubscription with the addition of
1496// the ability to pass a context and additional request options.
1497//
1498// See CreateEventSubscription for details on how to use this API operation.
1499//
1500// The context must be non-nil and will be used for request cancellation. If
1501// the context is nil a panic will occur. In the future the SDK may create
1502// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1503// for more information on using Contexts.
1504func (c *Neptune) CreateEventSubscriptionWithContext(ctx aws.Context, input *CreateEventSubscriptionInput, opts ...request.Option) (*CreateEventSubscriptionOutput, error) {
1505	req, out := c.CreateEventSubscriptionRequest(input)
1506	req.SetContext(ctx)
1507	req.ApplyOptions(opts...)
1508	return out, req.Send()
1509}
1510
1511const opDeleteDBCluster = "DeleteDBCluster"
1512
1513// DeleteDBClusterRequest generates a "aws/request.Request" representing the
1514// client's request for the DeleteDBCluster operation. The "output" return
1515// value will be populated with the request's response once the request completes
1516// successfully.
1517//
1518// Use "Send" method on the returned Request to send the API call to the service.
1519// the "output" return value is not valid until after Send returns without error.
1520//
1521// See DeleteDBCluster for more information on using the DeleteDBCluster
1522// API call, and error handling.
1523//
1524// This method is useful when you want to inject custom logic or configuration
1525// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1526//
1527//
1528//    // Example sending a request using the DeleteDBClusterRequest method.
1529//    req, resp := client.DeleteDBClusterRequest(params)
1530//
1531//    err := req.Send()
1532//    if err == nil { // resp is now filled
1533//        fmt.Println(resp)
1534//    }
1535//
1536// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBCluster
1537func (c *Neptune) DeleteDBClusterRequest(input *DeleteDBClusterInput) (req *request.Request, output *DeleteDBClusterOutput) {
1538	op := &request.Operation{
1539		Name:       opDeleteDBCluster,
1540		HTTPMethod: "POST",
1541		HTTPPath:   "/",
1542	}
1543
1544	if input == nil {
1545		input = &DeleteDBClusterInput{}
1546	}
1547
1548	output = &DeleteDBClusterOutput{}
1549	req = c.newRequest(op, input, output)
1550	return
1551}
1552
1553// DeleteDBCluster API operation for Amazon Neptune.
1554//
1555// The DeleteDBCluster action deletes a previously provisioned DB cluster. When
1556// you delete a DB cluster, all automated backups for that DB cluster are deleted
1557// and can't be recovered. Manual DB cluster snapshots of the specified DB cluster
1558// are not deleted.
1559//
1560// Note that the DB Cluster cannot be deleted if deletion protection is enabled.
1561// To delete it, you must first set its DeletionProtection field to False.
1562//
1563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1564// with awserr.Error's Code and Message methods to get detailed information about
1565// the error.
1566//
1567// See the AWS API reference guide for Amazon Neptune's
1568// API operation DeleteDBCluster for usage and error information.
1569//
1570// Returned Error Codes:
1571//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1572//   DBClusterIdentifier does not refer to an existing DB cluster.
1573//
1574//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1575//   The DB cluster is not in a valid state.
1576//
1577//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
1578//   User already has a DB cluster snapshot with the given identifier.
1579//
1580//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1581//   Request would result in user exceeding the allowed number of DB snapshots.
1582//
1583//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
1584//   The supplied value is not a valid DB cluster snapshot state.
1585//
1586// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBCluster
1587func (c *Neptune) DeleteDBCluster(input *DeleteDBClusterInput) (*DeleteDBClusterOutput, error) {
1588	req, out := c.DeleteDBClusterRequest(input)
1589	return out, req.Send()
1590}
1591
1592// DeleteDBClusterWithContext is the same as DeleteDBCluster with the addition of
1593// the ability to pass a context and additional request options.
1594//
1595// See DeleteDBCluster for details on how to use this API operation.
1596//
1597// The context must be non-nil and will be used for request cancellation. If
1598// the context is nil a panic will occur. In the future the SDK may create
1599// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1600// for more information on using Contexts.
1601func (c *Neptune) DeleteDBClusterWithContext(ctx aws.Context, input *DeleteDBClusterInput, opts ...request.Option) (*DeleteDBClusterOutput, error) {
1602	req, out := c.DeleteDBClusterRequest(input)
1603	req.SetContext(ctx)
1604	req.ApplyOptions(opts...)
1605	return out, req.Send()
1606}
1607
1608const opDeleteDBClusterEndpoint = "DeleteDBClusterEndpoint"
1609
1610// DeleteDBClusterEndpointRequest generates a "aws/request.Request" representing the
1611// client's request for the DeleteDBClusterEndpoint operation. The "output" return
1612// value will be populated with the request's response once the request completes
1613// successfully.
1614//
1615// Use "Send" method on the returned Request to send the API call to the service.
1616// the "output" return value is not valid until after Send returns without error.
1617//
1618// See DeleteDBClusterEndpoint for more information on using the DeleteDBClusterEndpoint
1619// API call, and error handling.
1620//
1621// This method is useful when you want to inject custom logic or configuration
1622// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1623//
1624//
1625//    // Example sending a request using the DeleteDBClusterEndpointRequest method.
1626//    req, resp := client.DeleteDBClusterEndpointRequest(params)
1627//
1628//    err := req.Send()
1629//    if err == nil { // resp is now filled
1630//        fmt.Println(resp)
1631//    }
1632//
1633// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBClusterEndpoint
1634func (c *Neptune) DeleteDBClusterEndpointRequest(input *DeleteDBClusterEndpointInput) (req *request.Request, output *DeleteDBClusterEndpointOutput) {
1635	op := &request.Operation{
1636		Name:       opDeleteDBClusterEndpoint,
1637		HTTPMethod: "POST",
1638		HTTPPath:   "/",
1639	}
1640
1641	if input == nil {
1642		input = &DeleteDBClusterEndpointInput{}
1643	}
1644
1645	output = &DeleteDBClusterEndpointOutput{}
1646	req = c.newRequest(op, input, output)
1647	return
1648}
1649
1650// DeleteDBClusterEndpoint API operation for Amazon Neptune.
1651//
1652// Deletes a custom endpoint and removes it from an Amazon Neptune DB cluster.
1653//
1654// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1655// with awserr.Error's Code and Message methods to get detailed information about
1656// the error.
1657//
1658// See the AWS API reference guide for Amazon Neptune's
1659// API operation DeleteDBClusterEndpoint for usage and error information.
1660//
1661// Returned Error Codes:
1662//   * ErrCodeInvalidDBClusterEndpointStateFault "InvalidDBClusterEndpointStateFault"
1663//   The requested operation cannot be performed on the endpoint while the endpoint
1664//   is in this state.
1665//
1666//   * ErrCodeDBClusterEndpointNotFoundFault "DBClusterEndpointNotFoundFault"
1667//   The specified custom endpoint doesn't exist.
1668//
1669//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1670//   The DB cluster is not in a valid state.
1671//
1672// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBClusterEndpoint
1673func (c *Neptune) DeleteDBClusterEndpoint(input *DeleteDBClusterEndpointInput) (*DeleteDBClusterEndpointOutput, error) {
1674	req, out := c.DeleteDBClusterEndpointRequest(input)
1675	return out, req.Send()
1676}
1677
1678// DeleteDBClusterEndpointWithContext is the same as DeleteDBClusterEndpoint with the addition of
1679// the ability to pass a context and additional request options.
1680//
1681// See DeleteDBClusterEndpoint for details on how to use this API operation.
1682//
1683// The context must be non-nil and will be used for request cancellation. If
1684// the context is nil a panic will occur. In the future the SDK may create
1685// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1686// for more information on using Contexts.
1687func (c *Neptune) DeleteDBClusterEndpointWithContext(ctx aws.Context, input *DeleteDBClusterEndpointInput, opts ...request.Option) (*DeleteDBClusterEndpointOutput, error) {
1688	req, out := c.DeleteDBClusterEndpointRequest(input)
1689	req.SetContext(ctx)
1690	req.ApplyOptions(opts...)
1691	return out, req.Send()
1692}
1693
1694const opDeleteDBClusterParameterGroup = "DeleteDBClusterParameterGroup"
1695
1696// DeleteDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
1697// client's request for the DeleteDBClusterParameterGroup operation. The "output" return
1698// value will be populated with the request's response once the request completes
1699// successfully.
1700//
1701// Use "Send" method on the returned Request to send the API call to the service.
1702// the "output" return value is not valid until after Send returns without error.
1703//
1704// See DeleteDBClusterParameterGroup for more information on using the DeleteDBClusterParameterGroup
1705// API call, and error handling.
1706//
1707// This method is useful when you want to inject custom logic or configuration
1708// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1709//
1710//
1711//    // Example sending a request using the DeleteDBClusterParameterGroupRequest method.
1712//    req, resp := client.DeleteDBClusterParameterGroupRequest(params)
1713//
1714//    err := req.Send()
1715//    if err == nil { // resp is now filled
1716//        fmt.Println(resp)
1717//    }
1718//
1719// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBClusterParameterGroup
1720func (c *Neptune) DeleteDBClusterParameterGroupRequest(input *DeleteDBClusterParameterGroupInput) (req *request.Request, output *DeleteDBClusterParameterGroupOutput) {
1721	op := &request.Operation{
1722		Name:       opDeleteDBClusterParameterGroup,
1723		HTTPMethod: "POST",
1724		HTTPPath:   "/",
1725	}
1726
1727	if input == nil {
1728		input = &DeleteDBClusterParameterGroupInput{}
1729	}
1730
1731	output = &DeleteDBClusterParameterGroupOutput{}
1732	req = c.newRequest(op, input, output)
1733	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1734	return
1735}
1736
1737// DeleteDBClusterParameterGroup API operation for Amazon Neptune.
1738//
1739// Deletes a specified DB cluster parameter group. The DB cluster parameter
1740// group to be deleted can't be associated with any DB clusters.
1741//
1742// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1743// with awserr.Error's Code and Message methods to get detailed information about
1744// the error.
1745//
1746// See the AWS API reference guide for Amazon Neptune's
1747// API operation DeleteDBClusterParameterGroup for usage and error information.
1748//
1749// Returned Error Codes:
1750//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
1751//   The DB parameter group is in use or is in an invalid state. If you are attempting
1752//   to delete the parameter group, you cannot delete it when the parameter group
1753//   is in this state.
1754//
1755//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1756//   DBParameterGroupName does not refer to an existing DB parameter group.
1757//
1758// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBClusterParameterGroup
1759func (c *Neptune) DeleteDBClusterParameterGroup(input *DeleteDBClusterParameterGroupInput) (*DeleteDBClusterParameterGroupOutput, error) {
1760	req, out := c.DeleteDBClusterParameterGroupRequest(input)
1761	return out, req.Send()
1762}
1763
1764// DeleteDBClusterParameterGroupWithContext is the same as DeleteDBClusterParameterGroup with the addition of
1765// the ability to pass a context and additional request options.
1766//
1767// See DeleteDBClusterParameterGroup for details on how to use this API operation.
1768//
1769// The context must be non-nil and will be used for request cancellation. If
1770// the context is nil a panic will occur. In the future the SDK may create
1771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1772// for more information on using Contexts.
1773func (c *Neptune) DeleteDBClusterParameterGroupWithContext(ctx aws.Context, input *DeleteDBClusterParameterGroupInput, opts ...request.Option) (*DeleteDBClusterParameterGroupOutput, error) {
1774	req, out := c.DeleteDBClusterParameterGroupRequest(input)
1775	req.SetContext(ctx)
1776	req.ApplyOptions(opts...)
1777	return out, req.Send()
1778}
1779
1780const opDeleteDBClusterSnapshot = "DeleteDBClusterSnapshot"
1781
1782// DeleteDBClusterSnapshotRequest generates a "aws/request.Request" representing the
1783// client's request for the DeleteDBClusterSnapshot operation. The "output" return
1784// value will be populated with the request's response once the request completes
1785// successfully.
1786//
1787// Use "Send" method on the returned Request to send the API call to the service.
1788// the "output" return value is not valid until after Send returns without error.
1789//
1790// See DeleteDBClusterSnapshot for more information on using the DeleteDBClusterSnapshot
1791// API call, and error handling.
1792//
1793// This method is useful when you want to inject custom logic or configuration
1794// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1795//
1796//
1797//    // Example sending a request using the DeleteDBClusterSnapshotRequest method.
1798//    req, resp := client.DeleteDBClusterSnapshotRequest(params)
1799//
1800//    err := req.Send()
1801//    if err == nil { // resp is now filled
1802//        fmt.Println(resp)
1803//    }
1804//
1805// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBClusterSnapshot
1806func (c *Neptune) DeleteDBClusterSnapshotRequest(input *DeleteDBClusterSnapshotInput) (req *request.Request, output *DeleteDBClusterSnapshotOutput) {
1807	op := &request.Operation{
1808		Name:       opDeleteDBClusterSnapshot,
1809		HTTPMethod: "POST",
1810		HTTPPath:   "/",
1811	}
1812
1813	if input == nil {
1814		input = &DeleteDBClusterSnapshotInput{}
1815	}
1816
1817	output = &DeleteDBClusterSnapshotOutput{}
1818	req = c.newRequest(op, input, output)
1819	return
1820}
1821
1822// DeleteDBClusterSnapshot API operation for Amazon Neptune.
1823//
1824// Deletes a DB cluster snapshot. If the snapshot is being copied, the copy
1825// operation is terminated.
1826//
1827// The DB cluster snapshot must be in the available state to be deleted.
1828//
1829// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1830// with awserr.Error's Code and Message methods to get detailed information about
1831// the error.
1832//
1833// See the AWS API reference guide for Amazon Neptune's
1834// API operation DeleteDBClusterSnapshot for usage and error information.
1835//
1836// Returned Error Codes:
1837//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
1838//   The supplied value is not a valid DB cluster snapshot state.
1839//
1840//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
1841//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
1842//
1843// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBClusterSnapshot
1844func (c *Neptune) DeleteDBClusterSnapshot(input *DeleteDBClusterSnapshotInput) (*DeleteDBClusterSnapshotOutput, error) {
1845	req, out := c.DeleteDBClusterSnapshotRequest(input)
1846	return out, req.Send()
1847}
1848
1849// DeleteDBClusterSnapshotWithContext is the same as DeleteDBClusterSnapshot with the addition of
1850// the ability to pass a context and additional request options.
1851//
1852// See DeleteDBClusterSnapshot for details on how to use this API operation.
1853//
1854// The context must be non-nil and will be used for request cancellation. If
1855// the context is nil a panic will occur. In the future the SDK may create
1856// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1857// for more information on using Contexts.
1858func (c *Neptune) DeleteDBClusterSnapshotWithContext(ctx aws.Context, input *DeleteDBClusterSnapshotInput, opts ...request.Option) (*DeleteDBClusterSnapshotOutput, error) {
1859	req, out := c.DeleteDBClusterSnapshotRequest(input)
1860	req.SetContext(ctx)
1861	req.ApplyOptions(opts...)
1862	return out, req.Send()
1863}
1864
1865const opDeleteDBInstance = "DeleteDBInstance"
1866
1867// DeleteDBInstanceRequest generates a "aws/request.Request" representing the
1868// client's request for the DeleteDBInstance operation. The "output" return
1869// value will be populated with the request's response once the request completes
1870// successfully.
1871//
1872// Use "Send" method on the returned Request to send the API call to the service.
1873// the "output" return value is not valid until after Send returns without error.
1874//
1875// See DeleteDBInstance for more information on using the DeleteDBInstance
1876// API call, and error handling.
1877//
1878// This method is useful when you want to inject custom logic or configuration
1879// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1880//
1881//
1882//    // Example sending a request using the DeleteDBInstanceRequest method.
1883//    req, resp := client.DeleteDBInstanceRequest(params)
1884//
1885//    err := req.Send()
1886//    if err == nil { // resp is now filled
1887//        fmt.Println(resp)
1888//    }
1889//
1890// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBInstance
1891func (c *Neptune) DeleteDBInstanceRequest(input *DeleteDBInstanceInput) (req *request.Request, output *DeleteDBInstanceOutput) {
1892	op := &request.Operation{
1893		Name:       opDeleteDBInstance,
1894		HTTPMethod: "POST",
1895		HTTPPath:   "/",
1896	}
1897
1898	if input == nil {
1899		input = &DeleteDBInstanceInput{}
1900	}
1901
1902	output = &DeleteDBInstanceOutput{}
1903	req = c.newRequest(op, input, output)
1904	return
1905}
1906
1907// DeleteDBInstance API operation for Amazon Neptune.
1908//
1909// The DeleteDBInstance action deletes a previously provisioned DB instance.
1910// When you delete a DB instance, all automated backups for that instance are
1911// deleted and can't be recovered. Manual DB snapshots of the DB instance to
1912// be deleted by DeleteDBInstance are not deleted.
1913//
1914// If you request a final DB snapshot the status of the Amazon Neptune DB instance
1915// is deleting until the DB snapshot is created. The API action DescribeDBInstance
1916// is used to monitor the status of this operation. The action can't be canceled
1917// or reverted once submitted.
1918//
1919// Note that when a DB instance is in a failure state and has a status of failed,
1920// incompatible-restore, or incompatible-network, you can only delete it when
1921// the SkipFinalSnapshot parameter is set to true.
1922//
1923// You can't delete a DB instance if it is the only instance in the DB cluster,
1924// or if it has deletion protection enabled.
1925//
1926// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1927// with awserr.Error's Code and Message methods to get detailed information about
1928// the error.
1929//
1930// See the AWS API reference guide for Amazon Neptune's
1931// API operation DeleteDBInstance for usage and error information.
1932//
1933// Returned Error Codes:
1934//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1935//   DBInstanceIdentifier does not refer to an existing DB instance.
1936//
1937//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1938//   The specified DB instance is not in the available state.
1939//
1940//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
1941//   DBSnapshotIdentifier is already used by an existing snapshot.
1942//
1943//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1944//   Request would result in user exceeding the allowed number of DB snapshots.
1945//
1946//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1947//   The DB cluster is not in a valid state.
1948//
1949// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBInstance
1950func (c *Neptune) DeleteDBInstance(input *DeleteDBInstanceInput) (*DeleteDBInstanceOutput, error) {
1951	req, out := c.DeleteDBInstanceRequest(input)
1952	return out, req.Send()
1953}
1954
1955// DeleteDBInstanceWithContext is the same as DeleteDBInstance with the addition of
1956// the ability to pass a context and additional request options.
1957//
1958// See DeleteDBInstance for details on how to use this API operation.
1959//
1960// The context must be non-nil and will be used for request cancellation. If
1961// the context is nil a panic will occur. In the future the SDK may create
1962// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1963// for more information on using Contexts.
1964func (c *Neptune) DeleteDBInstanceWithContext(ctx aws.Context, input *DeleteDBInstanceInput, opts ...request.Option) (*DeleteDBInstanceOutput, error) {
1965	req, out := c.DeleteDBInstanceRequest(input)
1966	req.SetContext(ctx)
1967	req.ApplyOptions(opts...)
1968	return out, req.Send()
1969}
1970
1971const opDeleteDBParameterGroup = "DeleteDBParameterGroup"
1972
1973// DeleteDBParameterGroupRequest generates a "aws/request.Request" representing the
1974// client's request for the DeleteDBParameterGroup operation. The "output" return
1975// value will be populated with the request's response once the request completes
1976// successfully.
1977//
1978// Use "Send" method on the returned Request to send the API call to the service.
1979// the "output" return value is not valid until after Send returns without error.
1980//
1981// See DeleteDBParameterGroup for more information on using the DeleteDBParameterGroup
1982// API call, and error handling.
1983//
1984// This method is useful when you want to inject custom logic or configuration
1985// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1986//
1987//
1988//    // Example sending a request using the DeleteDBParameterGroupRequest method.
1989//    req, resp := client.DeleteDBParameterGroupRequest(params)
1990//
1991//    err := req.Send()
1992//    if err == nil { // resp is now filled
1993//        fmt.Println(resp)
1994//    }
1995//
1996// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBParameterGroup
1997func (c *Neptune) DeleteDBParameterGroupRequest(input *DeleteDBParameterGroupInput) (req *request.Request, output *DeleteDBParameterGroupOutput) {
1998	op := &request.Operation{
1999		Name:       opDeleteDBParameterGroup,
2000		HTTPMethod: "POST",
2001		HTTPPath:   "/",
2002	}
2003
2004	if input == nil {
2005		input = &DeleteDBParameterGroupInput{}
2006	}
2007
2008	output = &DeleteDBParameterGroupOutput{}
2009	req = c.newRequest(op, input, output)
2010	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2011	return
2012}
2013
2014// DeleteDBParameterGroup API operation for Amazon Neptune.
2015//
2016// Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted
2017// can't be associated with any DB instances.
2018//
2019// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2020// with awserr.Error's Code and Message methods to get detailed information about
2021// the error.
2022//
2023// See the AWS API reference guide for Amazon Neptune's
2024// API operation DeleteDBParameterGroup for usage and error information.
2025//
2026// Returned Error Codes:
2027//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
2028//   The DB parameter group is in use or is in an invalid state. If you are attempting
2029//   to delete the parameter group, you cannot delete it when the parameter group
2030//   is in this state.
2031//
2032//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
2033//   DBParameterGroupName does not refer to an existing DB parameter group.
2034//
2035// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBParameterGroup
2036func (c *Neptune) DeleteDBParameterGroup(input *DeleteDBParameterGroupInput) (*DeleteDBParameterGroupOutput, error) {
2037	req, out := c.DeleteDBParameterGroupRequest(input)
2038	return out, req.Send()
2039}
2040
2041// DeleteDBParameterGroupWithContext is the same as DeleteDBParameterGroup with the addition of
2042// the ability to pass a context and additional request options.
2043//
2044// See DeleteDBParameterGroup for details on how to use this API operation.
2045//
2046// The context must be non-nil and will be used for request cancellation. If
2047// the context is nil a panic will occur. In the future the SDK may create
2048// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2049// for more information on using Contexts.
2050func (c *Neptune) DeleteDBParameterGroupWithContext(ctx aws.Context, input *DeleteDBParameterGroupInput, opts ...request.Option) (*DeleteDBParameterGroupOutput, error) {
2051	req, out := c.DeleteDBParameterGroupRequest(input)
2052	req.SetContext(ctx)
2053	req.ApplyOptions(opts...)
2054	return out, req.Send()
2055}
2056
2057const opDeleteDBSubnetGroup = "DeleteDBSubnetGroup"
2058
2059// DeleteDBSubnetGroupRequest generates a "aws/request.Request" representing the
2060// client's request for the DeleteDBSubnetGroup operation. The "output" return
2061// value will be populated with the request's response once the request completes
2062// successfully.
2063//
2064// Use "Send" method on the returned Request to send the API call to the service.
2065// the "output" return value is not valid until after Send returns without error.
2066//
2067// See DeleteDBSubnetGroup for more information on using the DeleteDBSubnetGroup
2068// API call, and error handling.
2069//
2070// This method is useful when you want to inject custom logic or configuration
2071// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2072//
2073//
2074//    // Example sending a request using the DeleteDBSubnetGroupRequest method.
2075//    req, resp := client.DeleteDBSubnetGroupRequest(params)
2076//
2077//    err := req.Send()
2078//    if err == nil { // resp is now filled
2079//        fmt.Println(resp)
2080//    }
2081//
2082// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBSubnetGroup
2083func (c *Neptune) DeleteDBSubnetGroupRequest(input *DeleteDBSubnetGroupInput) (req *request.Request, output *DeleteDBSubnetGroupOutput) {
2084	op := &request.Operation{
2085		Name:       opDeleteDBSubnetGroup,
2086		HTTPMethod: "POST",
2087		HTTPPath:   "/",
2088	}
2089
2090	if input == nil {
2091		input = &DeleteDBSubnetGroupInput{}
2092	}
2093
2094	output = &DeleteDBSubnetGroupOutput{}
2095	req = c.newRequest(op, input, output)
2096	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2097	return
2098}
2099
2100// DeleteDBSubnetGroup API operation for Amazon Neptune.
2101//
2102// Deletes a DB subnet group.
2103//
2104// The specified database subnet group must not be associated with any DB instances.
2105//
2106// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2107// with awserr.Error's Code and Message methods to get detailed information about
2108// the error.
2109//
2110// See the AWS API reference guide for Amazon Neptune's
2111// API operation DeleteDBSubnetGroup for usage and error information.
2112//
2113// Returned Error Codes:
2114//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
2115//   The DB subnet group cannot be deleted because it is in use.
2116//
2117//   * ErrCodeInvalidDBSubnetStateFault "InvalidDBSubnetStateFault"
2118//   The DB subnet is not in the available state.
2119//
2120//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
2121//   DBSubnetGroupName does not refer to an existing DB subnet group.
2122//
2123// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteDBSubnetGroup
2124func (c *Neptune) DeleteDBSubnetGroup(input *DeleteDBSubnetGroupInput) (*DeleteDBSubnetGroupOutput, error) {
2125	req, out := c.DeleteDBSubnetGroupRequest(input)
2126	return out, req.Send()
2127}
2128
2129// DeleteDBSubnetGroupWithContext is the same as DeleteDBSubnetGroup with the addition of
2130// the ability to pass a context and additional request options.
2131//
2132// See DeleteDBSubnetGroup for details on how to use this API operation.
2133//
2134// The context must be non-nil and will be used for request cancellation. If
2135// the context is nil a panic will occur. In the future the SDK may create
2136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2137// for more information on using Contexts.
2138func (c *Neptune) DeleteDBSubnetGroupWithContext(ctx aws.Context, input *DeleteDBSubnetGroupInput, opts ...request.Option) (*DeleteDBSubnetGroupOutput, error) {
2139	req, out := c.DeleteDBSubnetGroupRequest(input)
2140	req.SetContext(ctx)
2141	req.ApplyOptions(opts...)
2142	return out, req.Send()
2143}
2144
2145const opDeleteEventSubscription = "DeleteEventSubscription"
2146
2147// DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the
2148// client's request for the DeleteEventSubscription operation. The "output" return
2149// value will be populated with the request's response once the request completes
2150// successfully.
2151//
2152// Use "Send" method on the returned Request to send the API call to the service.
2153// the "output" return value is not valid until after Send returns without error.
2154//
2155// See DeleteEventSubscription for more information on using the DeleteEventSubscription
2156// API call, and error handling.
2157//
2158// This method is useful when you want to inject custom logic or configuration
2159// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2160//
2161//
2162//    // Example sending a request using the DeleteEventSubscriptionRequest method.
2163//    req, resp := client.DeleteEventSubscriptionRequest(params)
2164//
2165//    err := req.Send()
2166//    if err == nil { // resp is now filled
2167//        fmt.Println(resp)
2168//    }
2169//
2170// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteEventSubscription
2171func (c *Neptune) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) {
2172	op := &request.Operation{
2173		Name:       opDeleteEventSubscription,
2174		HTTPMethod: "POST",
2175		HTTPPath:   "/",
2176	}
2177
2178	if input == nil {
2179		input = &DeleteEventSubscriptionInput{}
2180	}
2181
2182	output = &DeleteEventSubscriptionOutput{}
2183	req = c.newRequest(op, input, output)
2184	return
2185}
2186
2187// DeleteEventSubscription API operation for Amazon Neptune.
2188//
2189// Deletes an event notification subscription.
2190//
2191// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2192// with awserr.Error's Code and Message methods to get detailed information about
2193// the error.
2194//
2195// See the AWS API reference guide for Amazon Neptune's
2196// API operation DeleteEventSubscription for usage and error information.
2197//
2198// Returned Error Codes:
2199//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
2200//   The designated subscription could not be found.
2201//
2202//   * ErrCodeInvalidEventSubscriptionStateFault "InvalidEventSubscriptionState"
2203//   The event subscription is in an invalid state.
2204//
2205// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DeleteEventSubscription
2206func (c *Neptune) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) {
2207	req, out := c.DeleteEventSubscriptionRequest(input)
2208	return out, req.Send()
2209}
2210
2211// DeleteEventSubscriptionWithContext is the same as DeleteEventSubscription with the addition of
2212// the ability to pass a context and additional request options.
2213//
2214// See DeleteEventSubscription for details on how to use this API operation.
2215//
2216// The context must be non-nil and will be used for request cancellation. If
2217// the context is nil a panic will occur. In the future the SDK may create
2218// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2219// for more information on using Contexts.
2220func (c *Neptune) DeleteEventSubscriptionWithContext(ctx aws.Context, input *DeleteEventSubscriptionInput, opts ...request.Option) (*DeleteEventSubscriptionOutput, error) {
2221	req, out := c.DeleteEventSubscriptionRequest(input)
2222	req.SetContext(ctx)
2223	req.ApplyOptions(opts...)
2224	return out, req.Send()
2225}
2226
2227const opDescribeDBClusterEndpoints = "DescribeDBClusterEndpoints"
2228
2229// DescribeDBClusterEndpointsRequest generates a "aws/request.Request" representing the
2230// client's request for the DescribeDBClusterEndpoints operation. The "output" return
2231// value will be populated with the request's response once the request completes
2232// successfully.
2233//
2234// Use "Send" method on the returned Request to send the API call to the service.
2235// the "output" return value is not valid until after Send returns without error.
2236//
2237// See DescribeDBClusterEndpoints for more information on using the DescribeDBClusterEndpoints
2238// API call, and error handling.
2239//
2240// This method is useful when you want to inject custom logic or configuration
2241// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2242//
2243//
2244//    // Example sending a request using the DescribeDBClusterEndpointsRequest method.
2245//    req, resp := client.DescribeDBClusterEndpointsRequest(params)
2246//
2247//    err := req.Send()
2248//    if err == nil { // resp is now filled
2249//        fmt.Println(resp)
2250//    }
2251//
2252// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterEndpoints
2253func (c *Neptune) DescribeDBClusterEndpointsRequest(input *DescribeDBClusterEndpointsInput) (req *request.Request, output *DescribeDBClusterEndpointsOutput) {
2254	op := &request.Operation{
2255		Name:       opDescribeDBClusterEndpoints,
2256		HTTPMethod: "POST",
2257		HTTPPath:   "/",
2258		Paginator: &request.Paginator{
2259			InputTokens:     []string{"Marker"},
2260			OutputTokens:    []string{"Marker"},
2261			LimitToken:      "MaxRecords",
2262			TruncationToken: "",
2263		},
2264	}
2265
2266	if input == nil {
2267		input = &DescribeDBClusterEndpointsInput{}
2268	}
2269
2270	output = &DescribeDBClusterEndpointsOutput{}
2271	req = c.newRequest(op, input, output)
2272	return
2273}
2274
2275// DescribeDBClusterEndpoints API operation for Amazon Neptune.
2276//
2277// Returns information about endpoints for an Amazon Neptune DB cluster.
2278//
2279// This operation can also return information for Amazon RDS clusters and Amazon
2280// DocDB clusters.
2281//
2282// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2283// with awserr.Error's Code and Message methods to get detailed information about
2284// the error.
2285//
2286// See the AWS API reference guide for Amazon Neptune's
2287// API operation DescribeDBClusterEndpoints for usage and error information.
2288//
2289// Returned Error Codes:
2290//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
2291//   DBClusterIdentifier does not refer to an existing DB cluster.
2292//
2293// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterEndpoints
2294func (c *Neptune) DescribeDBClusterEndpoints(input *DescribeDBClusterEndpointsInput) (*DescribeDBClusterEndpointsOutput, error) {
2295	req, out := c.DescribeDBClusterEndpointsRequest(input)
2296	return out, req.Send()
2297}
2298
2299// DescribeDBClusterEndpointsWithContext is the same as DescribeDBClusterEndpoints with the addition of
2300// the ability to pass a context and additional request options.
2301//
2302// See DescribeDBClusterEndpoints for details on how to use this API operation.
2303//
2304// The context must be non-nil and will be used for request cancellation. If
2305// the context is nil a panic will occur. In the future the SDK may create
2306// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2307// for more information on using Contexts.
2308func (c *Neptune) DescribeDBClusterEndpointsWithContext(ctx aws.Context, input *DescribeDBClusterEndpointsInput, opts ...request.Option) (*DescribeDBClusterEndpointsOutput, error) {
2309	req, out := c.DescribeDBClusterEndpointsRequest(input)
2310	req.SetContext(ctx)
2311	req.ApplyOptions(opts...)
2312	return out, req.Send()
2313}
2314
2315// DescribeDBClusterEndpointsPages iterates over the pages of a DescribeDBClusterEndpoints operation,
2316// calling the "fn" function with the response data for each page. To stop
2317// iterating, return false from the fn function.
2318//
2319// See DescribeDBClusterEndpoints method for more information on how to use this operation.
2320//
2321// Note: This operation can generate multiple requests to a service.
2322//
2323//    // Example iterating over at most 3 pages of a DescribeDBClusterEndpoints operation.
2324//    pageNum := 0
2325//    err := client.DescribeDBClusterEndpointsPages(params,
2326//        func(page *neptune.DescribeDBClusterEndpointsOutput, lastPage bool) bool {
2327//            pageNum++
2328//            fmt.Println(page)
2329//            return pageNum <= 3
2330//        })
2331//
2332func (c *Neptune) DescribeDBClusterEndpointsPages(input *DescribeDBClusterEndpointsInput, fn func(*DescribeDBClusterEndpointsOutput, bool) bool) error {
2333	return c.DescribeDBClusterEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
2334}
2335
2336// DescribeDBClusterEndpointsPagesWithContext same as DescribeDBClusterEndpointsPages except
2337// it takes a Context and allows setting request options on the pages.
2338//
2339// The context must be non-nil and will be used for request cancellation. If
2340// the context is nil a panic will occur. In the future the SDK may create
2341// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2342// for more information on using Contexts.
2343func (c *Neptune) DescribeDBClusterEndpointsPagesWithContext(ctx aws.Context, input *DescribeDBClusterEndpointsInput, fn func(*DescribeDBClusterEndpointsOutput, bool) bool, opts ...request.Option) error {
2344	p := request.Pagination{
2345		NewRequest: func() (*request.Request, error) {
2346			var inCpy *DescribeDBClusterEndpointsInput
2347			if input != nil {
2348				tmp := *input
2349				inCpy = &tmp
2350			}
2351			req, _ := c.DescribeDBClusterEndpointsRequest(inCpy)
2352			req.SetContext(ctx)
2353			req.ApplyOptions(opts...)
2354			return req, nil
2355		},
2356	}
2357
2358	for p.Next() {
2359		if !fn(p.Page().(*DescribeDBClusterEndpointsOutput), !p.HasNextPage()) {
2360			break
2361		}
2362	}
2363
2364	return p.Err()
2365}
2366
2367const opDescribeDBClusterParameterGroups = "DescribeDBClusterParameterGroups"
2368
2369// DescribeDBClusterParameterGroupsRequest generates a "aws/request.Request" representing the
2370// client's request for the DescribeDBClusterParameterGroups operation. The "output" return
2371// value will be populated with the request's response once the request completes
2372// successfully.
2373//
2374// Use "Send" method on the returned Request to send the API call to the service.
2375// the "output" return value is not valid until after Send returns without error.
2376//
2377// See DescribeDBClusterParameterGroups for more information on using the DescribeDBClusterParameterGroups
2378// API call, and error handling.
2379//
2380// This method is useful when you want to inject custom logic or configuration
2381// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2382//
2383//
2384//    // Example sending a request using the DescribeDBClusterParameterGroupsRequest method.
2385//    req, resp := client.DescribeDBClusterParameterGroupsRequest(params)
2386//
2387//    err := req.Send()
2388//    if err == nil { // resp is now filled
2389//        fmt.Println(resp)
2390//    }
2391//
2392// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterParameterGroups
2393func (c *Neptune) DescribeDBClusterParameterGroupsRequest(input *DescribeDBClusterParameterGroupsInput) (req *request.Request, output *DescribeDBClusterParameterGroupsOutput) {
2394	op := &request.Operation{
2395		Name:       opDescribeDBClusterParameterGroups,
2396		HTTPMethod: "POST",
2397		HTTPPath:   "/",
2398	}
2399
2400	if input == nil {
2401		input = &DescribeDBClusterParameterGroupsInput{}
2402	}
2403
2404	output = &DescribeDBClusterParameterGroupsOutput{}
2405	req = c.newRequest(op, input, output)
2406	return
2407}
2408
2409// DescribeDBClusterParameterGroups API operation for Amazon Neptune.
2410//
2411// Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName
2412// parameter is specified, the list will contain only the description of the
2413// specified DB cluster parameter group.
2414//
2415// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2416// with awserr.Error's Code and Message methods to get detailed information about
2417// the error.
2418//
2419// See the AWS API reference guide for Amazon Neptune's
2420// API operation DescribeDBClusterParameterGroups for usage and error information.
2421//
2422// Returned Error Codes:
2423//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
2424//   DBParameterGroupName does not refer to an existing DB parameter group.
2425//
2426// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterParameterGroups
2427func (c *Neptune) DescribeDBClusterParameterGroups(input *DescribeDBClusterParameterGroupsInput) (*DescribeDBClusterParameterGroupsOutput, error) {
2428	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
2429	return out, req.Send()
2430}
2431
2432// DescribeDBClusterParameterGroupsWithContext is the same as DescribeDBClusterParameterGroups with the addition of
2433// the ability to pass a context and additional request options.
2434//
2435// See DescribeDBClusterParameterGroups for details on how to use this API operation.
2436//
2437// The context must be non-nil and will be used for request cancellation. If
2438// the context is nil a panic will occur. In the future the SDK may create
2439// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2440// for more information on using Contexts.
2441func (c *Neptune) DescribeDBClusterParameterGroupsWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, opts ...request.Option) (*DescribeDBClusterParameterGroupsOutput, error) {
2442	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
2443	req.SetContext(ctx)
2444	req.ApplyOptions(opts...)
2445	return out, req.Send()
2446}
2447
2448const opDescribeDBClusterParameters = "DescribeDBClusterParameters"
2449
2450// DescribeDBClusterParametersRequest generates a "aws/request.Request" representing the
2451// client's request for the DescribeDBClusterParameters operation. The "output" return
2452// value will be populated with the request's response once the request completes
2453// successfully.
2454//
2455// Use "Send" method on the returned Request to send the API call to the service.
2456// the "output" return value is not valid until after Send returns without error.
2457//
2458// See DescribeDBClusterParameters for more information on using the DescribeDBClusterParameters
2459// API call, and error handling.
2460//
2461// This method is useful when you want to inject custom logic or configuration
2462// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2463//
2464//
2465//    // Example sending a request using the DescribeDBClusterParametersRequest method.
2466//    req, resp := client.DescribeDBClusterParametersRequest(params)
2467//
2468//    err := req.Send()
2469//    if err == nil { // resp is now filled
2470//        fmt.Println(resp)
2471//    }
2472//
2473// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterParameters
2474func (c *Neptune) DescribeDBClusterParametersRequest(input *DescribeDBClusterParametersInput) (req *request.Request, output *DescribeDBClusterParametersOutput) {
2475	op := &request.Operation{
2476		Name:       opDescribeDBClusterParameters,
2477		HTTPMethod: "POST",
2478		HTTPPath:   "/",
2479	}
2480
2481	if input == nil {
2482		input = &DescribeDBClusterParametersInput{}
2483	}
2484
2485	output = &DescribeDBClusterParametersOutput{}
2486	req = c.newRequest(op, input, output)
2487	return
2488}
2489
2490// DescribeDBClusterParameters API operation for Amazon Neptune.
2491//
2492// Returns the detailed parameter list for a particular DB cluster parameter
2493// group.
2494//
2495// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2496// with awserr.Error's Code and Message methods to get detailed information about
2497// the error.
2498//
2499// See the AWS API reference guide for Amazon Neptune's
2500// API operation DescribeDBClusterParameters for usage and error information.
2501//
2502// Returned Error Codes:
2503//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
2504//   DBParameterGroupName does not refer to an existing DB parameter group.
2505//
2506// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterParameters
2507func (c *Neptune) DescribeDBClusterParameters(input *DescribeDBClusterParametersInput) (*DescribeDBClusterParametersOutput, error) {
2508	req, out := c.DescribeDBClusterParametersRequest(input)
2509	return out, req.Send()
2510}
2511
2512// DescribeDBClusterParametersWithContext is the same as DescribeDBClusterParameters with the addition of
2513// the ability to pass a context and additional request options.
2514//
2515// See DescribeDBClusterParameters for details on how to use this API operation.
2516//
2517// The context must be non-nil and will be used for request cancellation. If
2518// the context is nil a panic will occur. In the future the SDK may create
2519// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2520// for more information on using Contexts.
2521func (c *Neptune) DescribeDBClusterParametersWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, opts ...request.Option) (*DescribeDBClusterParametersOutput, error) {
2522	req, out := c.DescribeDBClusterParametersRequest(input)
2523	req.SetContext(ctx)
2524	req.ApplyOptions(opts...)
2525	return out, req.Send()
2526}
2527
2528const opDescribeDBClusterSnapshotAttributes = "DescribeDBClusterSnapshotAttributes"
2529
2530// DescribeDBClusterSnapshotAttributesRequest generates a "aws/request.Request" representing the
2531// client's request for the DescribeDBClusterSnapshotAttributes operation. The "output" return
2532// value will be populated with the request's response once the request completes
2533// successfully.
2534//
2535// Use "Send" method on the returned Request to send the API call to the service.
2536// the "output" return value is not valid until after Send returns without error.
2537//
2538// See DescribeDBClusterSnapshotAttributes for more information on using the DescribeDBClusterSnapshotAttributes
2539// API call, and error handling.
2540//
2541// This method is useful when you want to inject custom logic or configuration
2542// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2543//
2544//
2545//    // Example sending a request using the DescribeDBClusterSnapshotAttributesRequest method.
2546//    req, resp := client.DescribeDBClusterSnapshotAttributesRequest(params)
2547//
2548//    err := req.Send()
2549//    if err == nil { // resp is now filled
2550//        fmt.Println(resp)
2551//    }
2552//
2553// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterSnapshotAttributes
2554func (c *Neptune) DescribeDBClusterSnapshotAttributesRequest(input *DescribeDBClusterSnapshotAttributesInput) (req *request.Request, output *DescribeDBClusterSnapshotAttributesOutput) {
2555	op := &request.Operation{
2556		Name:       opDescribeDBClusterSnapshotAttributes,
2557		HTTPMethod: "POST",
2558		HTTPPath:   "/",
2559	}
2560
2561	if input == nil {
2562		input = &DescribeDBClusterSnapshotAttributesInput{}
2563	}
2564
2565	output = &DescribeDBClusterSnapshotAttributesOutput{}
2566	req = c.newRequest(op, input, output)
2567	return
2568}
2569
2570// DescribeDBClusterSnapshotAttributes API operation for Amazon Neptune.
2571//
2572// Returns a list of DB cluster snapshot attribute names and values for a manual
2573// DB cluster snapshot.
2574//
2575// When sharing snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes
2576// returns the restore attribute and a list of IDs for the AWS accounts that
2577// are authorized to copy or restore the manual DB cluster snapshot. If all
2578// is included in the list of values for the restore attribute, then the manual
2579// DB cluster snapshot is public and can be copied or restored by all AWS accounts.
2580//
2581// To add or remove access for an AWS account to copy or restore a manual DB
2582// cluster snapshot, or to make the manual DB cluster snapshot public or private,
2583// use the ModifyDBClusterSnapshotAttribute API action.
2584//
2585// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2586// with awserr.Error's Code and Message methods to get detailed information about
2587// the error.
2588//
2589// See the AWS API reference guide for Amazon Neptune's
2590// API operation DescribeDBClusterSnapshotAttributes for usage and error information.
2591//
2592// Returned Error Codes:
2593//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
2594//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
2595//
2596// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterSnapshotAttributes
2597func (c *Neptune) DescribeDBClusterSnapshotAttributes(input *DescribeDBClusterSnapshotAttributesInput) (*DescribeDBClusterSnapshotAttributesOutput, error) {
2598	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
2599	return out, req.Send()
2600}
2601
2602// DescribeDBClusterSnapshotAttributesWithContext is the same as DescribeDBClusterSnapshotAttributes with the addition of
2603// the ability to pass a context and additional request options.
2604//
2605// See DescribeDBClusterSnapshotAttributes for details on how to use this API operation.
2606//
2607// The context must be non-nil and will be used for request cancellation. If
2608// the context is nil a panic will occur. In the future the SDK may create
2609// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2610// for more information on using Contexts.
2611func (c *Neptune) DescribeDBClusterSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotAttributesInput, opts ...request.Option) (*DescribeDBClusterSnapshotAttributesOutput, error) {
2612	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
2613	req.SetContext(ctx)
2614	req.ApplyOptions(opts...)
2615	return out, req.Send()
2616}
2617
2618const opDescribeDBClusterSnapshots = "DescribeDBClusterSnapshots"
2619
2620// DescribeDBClusterSnapshotsRequest generates a "aws/request.Request" representing the
2621// client's request for the DescribeDBClusterSnapshots operation. The "output" return
2622// value will be populated with the request's response once the request completes
2623// successfully.
2624//
2625// Use "Send" method on the returned Request to send the API call to the service.
2626// the "output" return value is not valid until after Send returns without error.
2627//
2628// See DescribeDBClusterSnapshots for more information on using the DescribeDBClusterSnapshots
2629// API call, and error handling.
2630//
2631// This method is useful when you want to inject custom logic or configuration
2632// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2633//
2634//
2635//    // Example sending a request using the DescribeDBClusterSnapshotsRequest method.
2636//    req, resp := client.DescribeDBClusterSnapshotsRequest(params)
2637//
2638//    err := req.Send()
2639//    if err == nil { // resp is now filled
2640//        fmt.Println(resp)
2641//    }
2642//
2643// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterSnapshots
2644func (c *Neptune) DescribeDBClusterSnapshotsRequest(input *DescribeDBClusterSnapshotsInput) (req *request.Request, output *DescribeDBClusterSnapshotsOutput) {
2645	op := &request.Operation{
2646		Name:       opDescribeDBClusterSnapshots,
2647		HTTPMethod: "POST",
2648		HTTPPath:   "/",
2649	}
2650
2651	if input == nil {
2652		input = &DescribeDBClusterSnapshotsInput{}
2653	}
2654
2655	output = &DescribeDBClusterSnapshotsOutput{}
2656	req = c.newRequest(op, input, output)
2657	return
2658}
2659
2660// DescribeDBClusterSnapshots API operation for Amazon Neptune.
2661//
2662// Returns information about DB cluster snapshots. This API action supports
2663// pagination.
2664//
2665// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2666// with awserr.Error's Code and Message methods to get detailed information about
2667// the error.
2668//
2669// See the AWS API reference guide for Amazon Neptune's
2670// API operation DescribeDBClusterSnapshots for usage and error information.
2671//
2672// Returned Error Codes:
2673//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
2674//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
2675//
2676// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusterSnapshots
2677func (c *Neptune) DescribeDBClusterSnapshots(input *DescribeDBClusterSnapshotsInput) (*DescribeDBClusterSnapshotsOutput, error) {
2678	req, out := c.DescribeDBClusterSnapshotsRequest(input)
2679	return out, req.Send()
2680}
2681
2682// DescribeDBClusterSnapshotsWithContext is the same as DescribeDBClusterSnapshots with the addition of
2683// the ability to pass a context and additional request options.
2684//
2685// See DescribeDBClusterSnapshots for details on how to use this API operation.
2686//
2687// The context must be non-nil and will be used for request cancellation. If
2688// the context is nil a panic will occur. In the future the SDK may create
2689// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2690// for more information on using Contexts.
2691func (c *Neptune) DescribeDBClusterSnapshotsWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, opts ...request.Option) (*DescribeDBClusterSnapshotsOutput, error) {
2692	req, out := c.DescribeDBClusterSnapshotsRequest(input)
2693	req.SetContext(ctx)
2694	req.ApplyOptions(opts...)
2695	return out, req.Send()
2696}
2697
2698const opDescribeDBClusters = "DescribeDBClusters"
2699
2700// DescribeDBClustersRequest generates a "aws/request.Request" representing the
2701// client's request for the DescribeDBClusters operation. The "output" return
2702// value will be populated with the request's response once the request completes
2703// successfully.
2704//
2705// Use "Send" method on the returned Request to send the API call to the service.
2706// the "output" return value is not valid until after Send returns without error.
2707//
2708// See DescribeDBClusters for more information on using the DescribeDBClusters
2709// API call, and error handling.
2710//
2711// This method is useful when you want to inject custom logic or configuration
2712// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2713//
2714//
2715//    // Example sending a request using the DescribeDBClustersRequest method.
2716//    req, resp := client.DescribeDBClustersRequest(params)
2717//
2718//    err := req.Send()
2719//    if err == nil { // resp is now filled
2720//        fmt.Println(resp)
2721//    }
2722//
2723// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusters
2724func (c *Neptune) DescribeDBClustersRequest(input *DescribeDBClustersInput) (req *request.Request, output *DescribeDBClustersOutput) {
2725	op := &request.Operation{
2726		Name:       opDescribeDBClusters,
2727		HTTPMethod: "POST",
2728		HTTPPath:   "/",
2729	}
2730
2731	if input == nil {
2732		input = &DescribeDBClustersInput{}
2733	}
2734
2735	output = &DescribeDBClustersOutput{}
2736	req = c.newRequest(op, input, output)
2737	return
2738}
2739
2740// DescribeDBClusters API operation for Amazon Neptune.
2741//
2742// Returns information about provisioned DB clusters, and supports pagination.
2743//
2744// This operation can also return information for Amazon RDS clusters and Amazon
2745// DocDB clusters.
2746//
2747// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2748// with awserr.Error's Code and Message methods to get detailed information about
2749// the error.
2750//
2751// See the AWS API reference guide for Amazon Neptune's
2752// API operation DescribeDBClusters for usage and error information.
2753//
2754// Returned Error Codes:
2755//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
2756//   DBClusterIdentifier does not refer to an existing DB cluster.
2757//
2758// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBClusters
2759func (c *Neptune) DescribeDBClusters(input *DescribeDBClustersInput) (*DescribeDBClustersOutput, error) {
2760	req, out := c.DescribeDBClustersRequest(input)
2761	return out, req.Send()
2762}
2763
2764// DescribeDBClustersWithContext is the same as DescribeDBClusters with the addition of
2765// the ability to pass a context and additional request options.
2766//
2767// See DescribeDBClusters for details on how to use this API operation.
2768//
2769// The context must be non-nil and will be used for request cancellation. If
2770// the context is nil a panic will occur. In the future the SDK may create
2771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2772// for more information on using Contexts.
2773func (c *Neptune) DescribeDBClustersWithContext(ctx aws.Context, input *DescribeDBClustersInput, opts ...request.Option) (*DescribeDBClustersOutput, error) {
2774	req, out := c.DescribeDBClustersRequest(input)
2775	req.SetContext(ctx)
2776	req.ApplyOptions(opts...)
2777	return out, req.Send()
2778}
2779
2780const opDescribeDBEngineVersions = "DescribeDBEngineVersions"
2781
2782// DescribeDBEngineVersionsRequest generates a "aws/request.Request" representing the
2783// client's request for the DescribeDBEngineVersions operation. The "output" return
2784// value will be populated with the request's response once the request completes
2785// successfully.
2786//
2787// Use "Send" method on the returned Request to send the API call to the service.
2788// the "output" return value is not valid until after Send returns without error.
2789//
2790// See DescribeDBEngineVersions for more information on using the DescribeDBEngineVersions
2791// API call, and error handling.
2792//
2793// This method is useful when you want to inject custom logic or configuration
2794// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2795//
2796//
2797//    // Example sending a request using the DescribeDBEngineVersionsRequest method.
2798//    req, resp := client.DescribeDBEngineVersionsRequest(params)
2799//
2800//    err := req.Send()
2801//    if err == nil { // resp is now filled
2802//        fmt.Println(resp)
2803//    }
2804//
2805// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBEngineVersions
2806func (c *Neptune) DescribeDBEngineVersionsRequest(input *DescribeDBEngineVersionsInput) (req *request.Request, output *DescribeDBEngineVersionsOutput) {
2807	op := &request.Operation{
2808		Name:       opDescribeDBEngineVersions,
2809		HTTPMethod: "POST",
2810		HTTPPath:   "/",
2811		Paginator: &request.Paginator{
2812			InputTokens:     []string{"Marker"},
2813			OutputTokens:    []string{"Marker"},
2814			LimitToken:      "MaxRecords",
2815			TruncationToken: "",
2816		},
2817	}
2818
2819	if input == nil {
2820		input = &DescribeDBEngineVersionsInput{}
2821	}
2822
2823	output = &DescribeDBEngineVersionsOutput{}
2824	req = c.newRequest(op, input, output)
2825	return
2826}
2827
2828// DescribeDBEngineVersions API operation for Amazon Neptune.
2829//
2830// Returns a list of the available DB engines.
2831//
2832// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2833// with awserr.Error's Code and Message methods to get detailed information about
2834// the error.
2835//
2836// See the AWS API reference guide for Amazon Neptune's
2837// API operation DescribeDBEngineVersions for usage and error information.
2838// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBEngineVersions
2839func (c *Neptune) DescribeDBEngineVersions(input *DescribeDBEngineVersionsInput) (*DescribeDBEngineVersionsOutput, error) {
2840	req, out := c.DescribeDBEngineVersionsRequest(input)
2841	return out, req.Send()
2842}
2843
2844// DescribeDBEngineVersionsWithContext is the same as DescribeDBEngineVersions with the addition of
2845// the ability to pass a context and additional request options.
2846//
2847// See DescribeDBEngineVersions for details on how to use this API operation.
2848//
2849// The context must be non-nil and will be used for request cancellation. If
2850// the context is nil a panic will occur. In the future the SDK may create
2851// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2852// for more information on using Contexts.
2853func (c *Neptune) DescribeDBEngineVersionsWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, opts ...request.Option) (*DescribeDBEngineVersionsOutput, error) {
2854	req, out := c.DescribeDBEngineVersionsRequest(input)
2855	req.SetContext(ctx)
2856	req.ApplyOptions(opts...)
2857	return out, req.Send()
2858}
2859
2860// DescribeDBEngineVersionsPages iterates over the pages of a DescribeDBEngineVersions operation,
2861// calling the "fn" function with the response data for each page. To stop
2862// iterating, return false from the fn function.
2863//
2864// See DescribeDBEngineVersions method for more information on how to use this operation.
2865//
2866// Note: This operation can generate multiple requests to a service.
2867//
2868//    // Example iterating over at most 3 pages of a DescribeDBEngineVersions operation.
2869//    pageNum := 0
2870//    err := client.DescribeDBEngineVersionsPages(params,
2871//        func(page *neptune.DescribeDBEngineVersionsOutput, lastPage bool) bool {
2872//            pageNum++
2873//            fmt.Println(page)
2874//            return pageNum <= 3
2875//        })
2876//
2877func (c *Neptune) DescribeDBEngineVersionsPages(input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool) error {
2878	return c.DescribeDBEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
2879}
2880
2881// DescribeDBEngineVersionsPagesWithContext same as DescribeDBEngineVersionsPages except
2882// it takes a Context and allows setting request options on the pages.
2883//
2884// The context must be non-nil and will be used for request cancellation. If
2885// the context is nil a panic will occur. In the future the SDK may create
2886// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2887// for more information on using Contexts.
2888func (c *Neptune) DescribeDBEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool, opts ...request.Option) error {
2889	p := request.Pagination{
2890		NewRequest: func() (*request.Request, error) {
2891			var inCpy *DescribeDBEngineVersionsInput
2892			if input != nil {
2893				tmp := *input
2894				inCpy = &tmp
2895			}
2896			req, _ := c.DescribeDBEngineVersionsRequest(inCpy)
2897			req.SetContext(ctx)
2898			req.ApplyOptions(opts...)
2899			return req, nil
2900		},
2901	}
2902
2903	for p.Next() {
2904		if !fn(p.Page().(*DescribeDBEngineVersionsOutput), !p.HasNextPage()) {
2905			break
2906		}
2907	}
2908
2909	return p.Err()
2910}
2911
2912const opDescribeDBInstances = "DescribeDBInstances"
2913
2914// DescribeDBInstancesRequest generates a "aws/request.Request" representing the
2915// client's request for the DescribeDBInstances operation. The "output" return
2916// value will be populated with the request's response once the request completes
2917// successfully.
2918//
2919// Use "Send" method on the returned Request to send the API call to the service.
2920// the "output" return value is not valid until after Send returns without error.
2921//
2922// See DescribeDBInstances for more information on using the DescribeDBInstances
2923// API call, and error handling.
2924//
2925// This method is useful when you want to inject custom logic or configuration
2926// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2927//
2928//
2929//    // Example sending a request using the DescribeDBInstancesRequest method.
2930//    req, resp := client.DescribeDBInstancesRequest(params)
2931//
2932//    err := req.Send()
2933//    if err == nil { // resp is now filled
2934//        fmt.Println(resp)
2935//    }
2936//
2937// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBInstances
2938func (c *Neptune) DescribeDBInstancesRequest(input *DescribeDBInstancesInput) (req *request.Request, output *DescribeDBInstancesOutput) {
2939	op := &request.Operation{
2940		Name:       opDescribeDBInstances,
2941		HTTPMethod: "POST",
2942		HTTPPath:   "/",
2943		Paginator: &request.Paginator{
2944			InputTokens:     []string{"Marker"},
2945			OutputTokens:    []string{"Marker"},
2946			LimitToken:      "MaxRecords",
2947			TruncationToken: "",
2948		},
2949	}
2950
2951	if input == nil {
2952		input = &DescribeDBInstancesInput{}
2953	}
2954
2955	output = &DescribeDBInstancesOutput{}
2956	req = c.newRequest(op, input, output)
2957	return
2958}
2959
2960// DescribeDBInstances API operation for Amazon Neptune.
2961//
2962// Returns information about provisioned instances, and supports pagination.
2963//
2964// This operation can also return information for Amazon RDS instances and Amazon
2965// DocDB instances.
2966//
2967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2968// with awserr.Error's Code and Message methods to get detailed information about
2969// the error.
2970//
2971// See the AWS API reference guide for Amazon Neptune's
2972// API operation DescribeDBInstances for usage and error information.
2973//
2974// Returned Error Codes:
2975//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
2976//   DBInstanceIdentifier does not refer to an existing DB instance.
2977//
2978// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBInstances
2979func (c *Neptune) DescribeDBInstances(input *DescribeDBInstancesInput) (*DescribeDBInstancesOutput, error) {
2980	req, out := c.DescribeDBInstancesRequest(input)
2981	return out, req.Send()
2982}
2983
2984// DescribeDBInstancesWithContext is the same as DescribeDBInstances with the addition of
2985// the ability to pass a context and additional request options.
2986//
2987// See DescribeDBInstances for details on how to use this API operation.
2988//
2989// The context must be non-nil and will be used for request cancellation. If
2990// the context is nil a panic will occur. In the future the SDK may create
2991// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2992// for more information on using Contexts.
2993func (c *Neptune) DescribeDBInstancesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.Option) (*DescribeDBInstancesOutput, error) {
2994	req, out := c.DescribeDBInstancesRequest(input)
2995	req.SetContext(ctx)
2996	req.ApplyOptions(opts...)
2997	return out, req.Send()
2998}
2999
3000// DescribeDBInstancesPages iterates over the pages of a DescribeDBInstances operation,
3001// calling the "fn" function with the response data for each page. To stop
3002// iterating, return false from the fn function.
3003//
3004// See DescribeDBInstances method for more information on how to use this operation.
3005//
3006// Note: This operation can generate multiple requests to a service.
3007//
3008//    // Example iterating over at most 3 pages of a DescribeDBInstances operation.
3009//    pageNum := 0
3010//    err := client.DescribeDBInstancesPages(params,
3011//        func(page *neptune.DescribeDBInstancesOutput, lastPage bool) bool {
3012//            pageNum++
3013//            fmt.Println(page)
3014//            return pageNum <= 3
3015//        })
3016//
3017func (c *Neptune) DescribeDBInstancesPages(input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool) error {
3018	return c.DescribeDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
3019}
3020
3021// DescribeDBInstancesPagesWithContext same as DescribeDBInstancesPages except
3022// it takes a Context and allows setting request options on the pages.
3023//
3024// The context must be non-nil and will be used for request cancellation. If
3025// the context is nil a panic will occur. In the future the SDK may create
3026// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3027// for more information on using Contexts.
3028func (c *Neptune) DescribeDBInstancesPagesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool, opts ...request.Option) error {
3029	p := request.Pagination{
3030		NewRequest: func() (*request.Request, error) {
3031			var inCpy *DescribeDBInstancesInput
3032			if input != nil {
3033				tmp := *input
3034				inCpy = &tmp
3035			}
3036			req, _ := c.DescribeDBInstancesRequest(inCpy)
3037			req.SetContext(ctx)
3038			req.ApplyOptions(opts...)
3039			return req, nil
3040		},
3041	}
3042
3043	for p.Next() {
3044		if !fn(p.Page().(*DescribeDBInstancesOutput), !p.HasNextPage()) {
3045			break
3046		}
3047	}
3048
3049	return p.Err()
3050}
3051
3052const opDescribeDBParameterGroups = "DescribeDBParameterGroups"
3053
3054// DescribeDBParameterGroupsRequest generates a "aws/request.Request" representing the
3055// client's request for the DescribeDBParameterGroups operation. The "output" return
3056// value will be populated with the request's response once the request completes
3057// successfully.
3058//
3059// Use "Send" method on the returned Request to send the API call to the service.
3060// the "output" return value is not valid until after Send returns without error.
3061//
3062// See DescribeDBParameterGroups for more information on using the DescribeDBParameterGroups
3063// API call, and error handling.
3064//
3065// This method is useful when you want to inject custom logic or configuration
3066// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3067//
3068//
3069//    // Example sending a request using the DescribeDBParameterGroupsRequest method.
3070//    req, resp := client.DescribeDBParameterGroupsRequest(params)
3071//
3072//    err := req.Send()
3073//    if err == nil { // resp is now filled
3074//        fmt.Println(resp)
3075//    }
3076//
3077// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBParameterGroups
3078func (c *Neptune) DescribeDBParameterGroupsRequest(input *DescribeDBParameterGroupsInput) (req *request.Request, output *DescribeDBParameterGroupsOutput) {
3079	op := &request.Operation{
3080		Name:       opDescribeDBParameterGroups,
3081		HTTPMethod: "POST",
3082		HTTPPath:   "/",
3083		Paginator: &request.Paginator{
3084			InputTokens:     []string{"Marker"},
3085			OutputTokens:    []string{"Marker"},
3086			LimitToken:      "MaxRecords",
3087			TruncationToken: "",
3088		},
3089	}
3090
3091	if input == nil {
3092		input = &DescribeDBParameterGroupsInput{}
3093	}
3094
3095	output = &DescribeDBParameterGroupsOutput{}
3096	req = c.newRequest(op, input, output)
3097	return
3098}
3099
3100// DescribeDBParameterGroups API operation for Amazon Neptune.
3101//
3102// Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName
3103// is specified, the list will contain only the description of the specified
3104// DB parameter group.
3105//
3106// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3107// with awserr.Error's Code and Message methods to get detailed information about
3108// the error.
3109//
3110// See the AWS API reference guide for Amazon Neptune's
3111// API operation DescribeDBParameterGroups for usage and error information.
3112//
3113// Returned Error Codes:
3114//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3115//   DBParameterGroupName does not refer to an existing DB parameter group.
3116//
3117// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBParameterGroups
3118func (c *Neptune) DescribeDBParameterGroups(input *DescribeDBParameterGroupsInput) (*DescribeDBParameterGroupsOutput, error) {
3119	req, out := c.DescribeDBParameterGroupsRequest(input)
3120	return out, req.Send()
3121}
3122
3123// DescribeDBParameterGroupsWithContext is the same as DescribeDBParameterGroups with the addition of
3124// the ability to pass a context and additional request options.
3125//
3126// See DescribeDBParameterGroups for details on how to use this API operation.
3127//
3128// The context must be non-nil and will be used for request cancellation. If
3129// the context is nil a panic will occur. In the future the SDK may create
3130// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3131// for more information on using Contexts.
3132func (c *Neptune) DescribeDBParameterGroupsWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, opts ...request.Option) (*DescribeDBParameterGroupsOutput, error) {
3133	req, out := c.DescribeDBParameterGroupsRequest(input)
3134	req.SetContext(ctx)
3135	req.ApplyOptions(opts...)
3136	return out, req.Send()
3137}
3138
3139// DescribeDBParameterGroupsPages iterates over the pages of a DescribeDBParameterGroups operation,
3140// calling the "fn" function with the response data for each page. To stop
3141// iterating, return false from the fn function.
3142//
3143// See DescribeDBParameterGroups method for more information on how to use this operation.
3144//
3145// Note: This operation can generate multiple requests to a service.
3146//
3147//    // Example iterating over at most 3 pages of a DescribeDBParameterGroups operation.
3148//    pageNum := 0
3149//    err := client.DescribeDBParameterGroupsPages(params,
3150//        func(page *neptune.DescribeDBParameterGroupsOutput, lastPage bool) bool {
3151//            pageNum++
3152//            fmt.Println(page)
3153//            return pageNum <= 3
3154//        })
3155//
3156func (c *Neptune) DescribeDBParameterGroupsPages(input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool) error {
3157	return c.DescribeDBParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
3158}
3159
3160// DescribeDBParameterGroupsPagesWithContext same as DescribeDBParameterGroupsPages except
3161// it takes a Context and allows setting request options on the pages.
3162//
3163// The context must be non-nil and will be used for request cancellation. If
3164// the context is nil a panic will occur. In the future the SDK may create
3165// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3166// for more information on using Contexts.
3167func (c *Neptune) DescribeDBParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool, opts ...request.Option) error {
3168	p := request.Pagination{
3169		NewRequest: func() (*request.Request, error) {
3170			var inCpy *DescribeDBParameterGroupsInput
3171			if input != nil {
3172				tmp := *input
3173				inCpy = &tmp
3174			}
3175			req, _ := c.DescribeDBParameterGroupsRequest(inCpy)
3176			req.SetContext(ctx)
3177			req.ApplyOptions(opts...)
3178			return req, nil
3179		},
3180	}
3181
3182	for p.Next() {
3183		if !fn(p.Page().(*DescribeDBParameterGroupsOutput), !p.HasNextPage()) {
3184			break
3185		}
3186	}
3187
3188	return p.Err()
3189}
3190
3191const opDescribeDBParameters = "DescribeDBParameters"
3192
3193// DescribeDBParametersRequest generates a "aws/request.Request" representing the
3194// client's request for the DescribeDBParameters operation. The "output" return
3195// value will be populated with the request's response once the request completes
3196// successfully.
3197//
3198// Use "Send" method on the returned Request to send the API call to the service.
3199// the "output" return value is not valid until after Send returns without error.
3200//
3201// See DescribeDBParameters for more information on using the DescribeDBParameters
3202// API call, and error handling.
3203//
3204// This method is useful when you want to inject custom logic or configuration
3205// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3206//
3207//
3208//    // Example sending a request using the DescribeDBParametersRequest method.
3209//    req, resp := client.DescribeDBParametersRequest(params)
3210//
3211//    err := req.Send()
3212//    if err == nil { // resp is now filled
3213//        fmt.Println(resp)
3214//    }
3215//
3216// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBParameters
3217func (c *Neptune) DescribeDBParametersRequest(input *DescribeDBParametersInput) (req *request.Request, output *DescribeDBParametersOutput) {
3218	op := &request.Operation{
3219		Name:       opDescribeDBParameters,
3220		HTTPMethod: "POST",
3221		HTTPPath:   "/",
3222		Paginator: &request.Paginator{
3223			InputTokens:     []string{"Marker"},
3224			OutputTokens:    []string{"Marker"},
3225			LimitToken:      "MaxRecords",
3226			TruncationToken: "",
3227		},
3228	}
3229
3230	if input == nil {
3231		input = &DescribeDBParametersInput{}
3232	}
3233
3234	output = &DescribeDBParametersOutput{}
3235	req = c.newRequest(op, input, output)
3236	return
3237}
3238
3239// DescribeDBParameters API operation for Amazon Neptune.
3240//
3241// Returns the detailed parameter list for a particular DB parameter group.
3242//
3243// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3244// with awserr.Error's Code and Message methods to get detailed information about
3245// the error.
3246//
3247// See the AWS API reference guide for Amazon Neptune's
3248// API operation DescribeDBParameters for usage and error information.
3249//
3250// Returned Error Codes:
3251//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3252//   DBParameterGroupName does not refer to an existing DB parameter group.
3253//
3254// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBParameters
3255func (c *Neptune) DescribeDBParameters(input *DescribeDBParametersInput) (*DescribeDBParametersOutput, error) {
3256	req, out := c.DescribeDBParametersRequest(input)
3257	return out, req.Send()
3258}
3259
3260// DescribeDBParametersWithContext is the same as DescribeDBParameters with the addition of
3261// the ability to pass a context and additional request options.
3262//
3263// See DescribeDBParameters for details on how to use this API operation.
3264//
3265// The context must be non-nil and will be used for request cancellation. If
3266// the context is nil a panic will occur. In the future the SDK may create
3267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3268// for more information on using Contexts.
3269func (c *Neptune) DescribeDBParametersWithContext(ctx aws.Context, input *DescribeDBParametersInput, opts ...request.Option) (*DescribeDBParametersOutput, error) {
3270	req, out := c.DescribeDBParametersRequest(input)
3271	req.SetContext(ctx)
3272	req.ApplyOptions(opts...)
3273	return out, req.Send()
3274}
3275
3276// DescribeDBParametersPages iterates over the pages of a DescribeDBParameters operation,
3277// calling the "fn" function with the response data for each page. To stop
3278// iterating, return false from the fn function.
3279//
3280// See DescribeDBParameters method for more information on how to use this operation.
3281//
3282// Note: This operation can generate multiple requests to a service.
3283//
3284//    // Example iterating over at most 3 pages of a DescribeDBParameters operation.
3285//    pageNum := 0
3286//    err := client.DescribeDBParametersPages(params,
3287//        func(page *neptune.DescribeDBParametersOutput, lastPage bool) bool {
3288//            pageNum++
3289//            fmt.Println(page)
3290//            return pageNum <= 3
3291//        })
3292//
3293func (c *Neptune) DescribeDBParametersPages(input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool) error {
3294	return c.DescribeDBParametersPagesWithContext(aws.BackgroundContext(), input, fn)
3295}
3296
3297// DescribeDBParametersPagesWithContext same as DescribeDBParametersPages except
3298// it takes a Context and allows setting request options on the pages.
3299//
3300// The context must be non-nil and will be used for request cancellation. If
3301// the context is nil a panic will occur. In the future the SDK may create
3302// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3303// for more information on using Contexts.
3304func (c *Neptune) DescribeDBParametersPagesWithContext(ctx aws.Context, input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool, opts ...request.Option) error {
3305	p := request.Pagination{
3306		NewRequest: func() (*request.Request, error) {
3307			var inCpy *DescribeDBParametersInput
3308			if input != nil {
3309				tmp := *input
3310				inCpy = &tmp
3311			}
3312			req, _ := c.DescribeDBParametersRequest(inCpy)
3313			req.SetContext(ctx)
3314			req.ApplyOptions(opts...)
3315			return req, nil
3316		},
3317	}
3318
3319	for p.Next() {
3320		if !fn(p.Page().(*DescribeDBParametersOutput), !p.HasNextPage()) {
3321			break
3322		}
3323	}
3324
3325	return p.Err()
3326}
3327
3328const opDescribeDBSubnetGroups = "DescribeDBSubnetGroups"
3329
3330// DescribeDBSubnetGroupsRequest generates a "aws/request.Request" representing the
3331// client's request for the DescribeDBSubnetGroups operation. The "output" return
3332// value will be populated with the request's response once the request completes
3333// successfully.
3334//
3335// Use "Send" method on the returned Request to send the API call to the service.
3336// the "output" return value is not valid until after Send returns without error.
3337//
3338// See DescribeDBSubnetGroups for more information on using the DescribeDBSubnetGroups
3339// API call, and error handling.
3340//
3341// This method is useful when you want to inject custom logic or configuration
3342// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3343//
3344//
3345//    // Example sending a request using the DescribeDBSubnetGroupsRequest method.
3346//    req, resp := client.DescribeDBSubnetGroupsRequest(params)
3347//
3348//    err := req.Send()
3349//    if err == nil { // resp is now filled
3350//        fmt.Println(resp)
3351//    }
3352//
3353// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBSubnetGroups
3354func (c *Neptune) DescribeDBSubnetGroupsRequest(input *DescribeDBSubnetGroupsInput) (req *request.Request, output *DescribeDBSubnetGroupsOutput) {
3355	op := &request.Operation{
3356		Name:       opDescribeDBSubnetGroups,
3357		HTTPMethod: "POST",
3358		HTTPPath:   "/",
3359		Paginator: &request.Paginator{
3360			InputTokens:     []string{"Marker"},
3361			OutputTokens:    []string{"Marker"},
3362			LimitToken:      "MaxRecords",
3363			TruncationToken: "",
3364		},
3365	}
3366
3367	if input == nil {
3368		input = &DescribeDBSubnetGroupsInput{}
3369	}
3370
3371	output = &DescribeDBSubnetGroupsOutput{}
3372	req = c.newRequest(op, input, output)
3373	return
3374}
3375
3376// DescribeDBSubnetGroups API operation for Amazon Neptune.
3377//
3378// Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified,
3379// the list will contain only the descriptions of the specified DBSubnetGroup.
3380//
3381// For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
3382//
3383// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3384// with awserr.Error's Code and Message methods to get detailed information about
3385// the error.
3386//
3387// See the AWS API reference guide for Amazon Neptune's
3388// API operation DescribeDBSubnetGroups for usage and error information.
3389//
3390// Returned Error Codes:
3391//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
3392//   DBSubnetGroupName does not refer to an existing DB subnet group.
3393//
3394// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeDBSubnetGroups
3395func (c *Neptune) DescribeDBSubnetGroups(input *DescribeDBSubnetGroupsInput) (*DescribeDBSubnetGroupsOutput, error) {
3396	req, out := c.DescribeDBSubnetGroupsRequest(input)
3397	return out, req.Send()
3398}
3399
3400// DescribeDBSubnetGroupsWithContext is the same as DescribeDBSubnetGroups with the addition of
3401// the ability to pass a context and additional request options.
3402//
3403// See DescribeDBSubnetGroups for details on how to use this API operation.
3404//
3405// The context must be non-nil and will be used for request cancellation. If
3406// the context is nil a panic will occur. In the future the SDK may create
3407// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3408// for more information on using Contexts.
3409func (c *Neptune) DescribeDBSubnetGroupsWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, opts ...request.Option) (*DescribeDBSubnetGroupsOutput, error) {
3410	req, out := c.DescribeDBSubnetGroupsRequest(input)
3411	req.SetContext(ctx)
3412	req.ApplyOptions(opts...)
3413	return out, req.Send()
3414}
3415
3416// DescribeDBSubnetGroupsPages iterates over the pages of a DescribeDBSubnetGroups operation,
3417// calling the "fn" function with the response data for each page. To stop
3418// iterating, return false from the fn function.
3419//
3420// See DescribeDBSubnetGroups method for more information on how to use this operation.
3421//
3422// Note: This operation can generate multiple requests to a service.
3423//
3424//    // Example iterating over at most 3 pages of a DescribeDBSubnetGroups operation.
3425//    pageNum := 0
3426//    err := client.DescribeDBSubnetGroupsPages(params,
3427//        func(page *neptune.DescribeDBSubnetGroupsOutput, lastPage bool) bool {
3428//            pageNum++
3429//            fmt.Println(page)
3430//            return pageNum <= 3
3431//        })
3432//
3433func (c *Neptune) DescribeDBSubnetGroupsPages(input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool) error {
3434	return c.DescribeDBSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
3435}
3436
3437// DescribeDBSubnetGroupsPagesWithContext same as DescribeDBSubnetGroupsPages except
3438// it takes a Context and allows setting request options on the pages.
3439//
3440// The context must be non-nil and will be used for request cancellation. If
3441// the context is nil a panic will occur. In the future the SDK may create
3442// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3443// for more information on using Contexts.
3444func (c *Neptune) DescribeDBSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool, opts ...request.Option) error {
3445	p := request.Pagination{
3446		NewRequest: func() (*request.Request, error) {
3447			var inCpy *DescribeDBSubnetGroupsInput
3448			if input != nil {
3449				tmp := *input
3450				inCpy = &tmp
3451			}
3452			req, _ := c.DescribeDBSubnetGroupsRequest(inCpy)
3453			req.SetContext(ctx)
3454			req.ApplyOptions(opts...)
3455			return req, nil
3456		},
3457	}
3458
3459	for p.Next() {
3460		if !fn(p.Page().(*DescribeDBSubnetGroupsOutput), !p.HasNextPage()) {
3461			break
3462		}
3463	}
3464
3465	return p.Err()
3466}
3467
3468const opDescribeEngineDefaultClusterParameters = "DescribeEngineDefaultClusterParameters"
3469
3470// DescribeEngineDefaultClusterParametersRequest generates a "aws/request.Request" representing the
3471// client's request for the DescribeEngineDefaultClusterParameters operation. The "output" return
3472// value will be populated with the request's response once the request completes
3473// successfully.
3474//
3475// Use "Send" method on the returned Request to send the API call to the service.
3476// the "output" return value is not valid until after Send returns without error.
3477//
3478// See DescribeEngineDefaultClusterParameters for more information on using the DescribeEngineDefaultClusterParameters
3479// API call, and error handling.
3480//
3481// This method is useful when you want to inject custom logic or configuration
3482// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3483//
3484//
3485//    // Example sending a request using the DescribeEngineDefaultClusterParametersRequest method.
3486//    req, resp := client.DescribeEngineDefaultClusterParametersRequest(params)
3487//
3488//    err := req.Send()
3489//    if err == nil { // resp is now filled
3490//        fmt.Println(resp)
3491//    }
3492//
3493// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEngineDefaultClusterParameters
3494func (c *Neptune) DescribeEngineDefaultClusterParametersRequest(input *DescribeEngineDefaultClusterParametersInput) (req *request.Request, output *DescribeEngineDefaultClusterParametersOutput) {
3495	op := &request.Operation{
3496		Name:       opDescribeEngineDefaultClusterParameters,
3497		HTTPMethod: "POST",
3498		HTTPPath:   "/",
3499	}
3500
3501	if input == nil {
3502		input = &DescribeEngineDefaultClusterParametersInput{}
3503	}
3504
3505	output = &DescribeEngineDefaultClusterParametersOutput{}
3506	req = c.newRequest(op, input, output)
3507	return
3508}
3509
3510// DescribeEngineDefaultClusterParameters API operation for Amazon Neptune.
3511//
3512// Returns the default engine and system parameter information for the cluster
3513// database engine.
3514//
3515// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3516// with awserr.Error's Code and Message methods to get detailed information about
3517// the error.
3518//
3519// See the AWS API reference guide for Amazon Neptune's
3520// API operation DescribeEngineDefaultClusterParameters for usage and error information.
3521// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEngineDefaultClusterParameters
3522func (c *Neptune) DescribeEngineDefaultClusterParameters(input *DescribeEngineDefaultClusterParametersInput) (*DescribeEngineDefaultClusterParametersOutput, error) {
3523	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
3524	return out, req.Send()
3525}
3526
3527// DescribeEngineDefaultClusterParametersWithContext is the same as DescribeEngineDefaultClusterParameters with the addition of
3528// the ability to pass a context and additional request options.
3529//
3530// See DescribeEngineDefaultClusterParameters for details on how to use this API operation.
3531//
3532// The context must be non-nil and will be used for request cancellation. If
3533// the context is nil a panic will occur. In the future the SDK may create
3534// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3535// for more information on using Contexts.
3536func (c *Neptune) DescribeEngineDefaultClusterParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultClusterParametersInput, opts ...request.Option) (*DescribeEngineDefaultClusterParametersOutput, error) {
3537	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
3538	req.SetContext(ctx)
3539	req.ApplyOptions(opts...)
3540	return out, req.Send()
3541}
3542
3543const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters"
3544
3545// DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the
3546// client's request for the DescribeEngineDefaultParameters operation. The "output" return
3547// value will be populated with the request's response once the request completes
3548// successfully.
3549//
3550// Use "Send" method on the returned Request to send the API call to the service.
3551// the "output" return value is not valid until after Send returns without error.
3552//
3553// See DescribeEngineDefaultParameters for more information on using the DescribeEngineDefaultParameters
3554// API call, and error handling.
3555//
3556// This method is useful when you want to inject custom logic or configuration
3557// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3558//
3559//
3560//    // Example sending a request using the DescribeEngineDefaultParametersRequest method.
3561//    req, resp := client.DescribeEngineDefaultParametersRequest(params)
3562//
3563//    err := req.Send()
3564//    if err == nil { // resp is now filled
3565//        fmt.Println(resp)
3566//    }
3567//
3568// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEngineDefaultParameters
3569func (c *Neptune) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) {
3570	op := &request.Operation{
3571		Name:       opDescribeEngineDefaultParameters,
3572		HTTPMethod: "POST",
3573		HTTPPath:   "/",
3574		Paginator: &request.Paginator{
3575			InputTokens:     []string{"Marker"},
3576			OutputTokens:    []string{"EngineDefaults.Marker"},
3577			LimitToken:      "MaxRecords",
3578			TruncationToken: "",
3579		},
3580	}
3581
3582	if input == nil {
3583		input = &DescribeEngineDefaultParametersInput{}
3584	}
3585
3586	output = &DescribeEngineDefaultParametersOutput{}
3587	req = c.newRequest(op, input, output)
3588	return
3589}
3590
3591// DescribeEngineDefaultParameters API operation for Amazon Neptune.
3592//
3593// Returns the default engine and system parameter information for the specified
3594// database engine.
3595//
3596// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3597// with awserr.Error's Code and Message methods to get detailed information about
3598// the error.
3599//
3600// See the AWS API reference guide for Amazon Neptune's
3601// API operation DescribeEngineDefaultParameters for usage and error information.
3602// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEngineDefaultParameters
3603func (c *Neptune) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) {
3604	req, out := c.DescribeEngineDefaultParametersRequest(input)
3605	return out, req.Send()
3606}
3607
3608// DescribeEngineDefaultParametersWithContext is the same as DescribeEngineDefaultParameters with the addition of
3609// the ability to pass a context and additional request options.
3610//
3611// See DescribeEngineDefaultParameters for details on how to use this API operation.
3612//
3613// The context must be non-nil and will be used for request cancellation. If
3614// the context is nil a panic will occur. In the future the SDK may create
3615// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3616// for more information on using Contexts.
3617func (c *Neptune) DescribeEngineDefaultParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, opts ...request.Option) (*DescribeEngineDefaultParametersOutput, error) {
3618	req, out := c.DescribeEngineDefaultParametersRequest(input)
3619	req.SetContext(ctx)
3620	req.ApplyOptions(opts...)
3621	return out, req.Send()
3622}
3623
3624// DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation,
3625// calling the "fn" function with the response data for each page. To stop
3626// iterating, return false from the fn function.
3627//
3628// See DescribeEngineDefaultParameters method for more information on how to use this operation.
3629//
3630// Note: This operation can generate multiple requests to a service.
3631//
3632//    // Example iterating over at most 3 pages of a DescribeEngineDefaultParameters operation.
3633//    pageNum := 0
3634//    err := client.DescribeEngineDefaultParametersPages(params,
3635//        func(page *neptune.DescribeEngineDefaultParametersOutput, lastPage bool) bool {
3636//            pageNum++
3637//            fmt.Println(page)
3638//            return pageNum <= 3
3639//        })
3640//
3641func (c *Neptune) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool) error {
3642	return c.DescribeEngineDefaultParametersPagesWithContext(aws.BackgroundContext(), input, fn)
3643}
3644
3645// DescribeEngineDefaultParametersPagesWithContext same as DescribeEngineDefaultParametersPages except
3646// it takes a Context and allows setting request options on the pages.
3647//
3648// The context must be non-nil and will be used for request cancellation. If
3649// the context is nil a panic will occur. In the future the SDK may create
3650// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3651// for more information on using Contexts.
3652func (c *Neptune) DescribeEngineDefaultParametersPagesWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool, opts ...request.Option) error {
3653	p := request.Pagination{
3654		NewRequest: func() (*request.Request, error) {
3655			var inCpy *DescribeEngineDefaultParametersInput
3656			if input != nil {
3657				tmp := *input
3658				inCpy = &tmp
3659			}
3660			req, _ := c.DescribeEngineDefaultParametersRequest(inCpy)
3661			req.SetContext(ctx)
3662			req.ApplyOptions(opts...)
3663			return req, nil
3664		},
3665	}
3666
3667	for p.Next() {
3668		if !fn(p.Page().(*DescribeEngineDefaultParametersOutput), !p.HasNextPage()) {
3669			break
3670		}
3671	}
3672
3673	return p.Err()
3674}
3675
3676const opDescribeEventCategories = "DescribeEventCategories"
3677
3678// DescribeEventCategoriesRequest generates a "aws/request.Request" representing the
3679// client's request for the DescribeEventCategories operation. The "output" return
3680// value will be populated with the request's response once the request completes
3681// successfully.
3682//
3683// Use "Send" method on the returned Request to send the API call to the service.
3684// the "output" return value is not valid until after Send returns without error.
3685//
3686// See DescribeEventCategories for more information on using the DescribeEventCategories
3687// API call, and error handling.
3688//
3689// This method is useful when you want to inject custom logic or configuration
3690// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3691//
3692//
3693//    // Example sending a request using the DescribeEventCategoriesRequest method.
3694//    req, resp := client.DescribeEventCategoriesRequest(params)
3695//
3696//    err := req.Send()
3697//    if err == nil { // resp is now filled
3698//        fmt.Println(resp)
3699//    }
3700//
3701// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEventCategories
3702func (c *Neptune) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) {
3703	op := &request.Operation{
3704		Name:       opDescribeEventCategories,
3705		HTTPMethod: "POST",
3706		HTTPPath:   "/",
3707	}
3708
3709	if input == nil {
3710		input = &DescribeEventCategoriesInput{}
3711	}
3712
3713	output = &DescribeEventCategoriesOutput{}
3714	req = c.newRequest(op, input, output)
3715	return
3716}
3717
3718// DescribeEventCategories API operation for Amazon Neptune.
3719//
3720// Displays a list of categories for all event source types, or, if specified,
3721// for a specified source type.
3722//
3723// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3724// with awserr.Error's Code and Message methods to get detailed information about
3725// the error.
3726//
3727// See the AWS API reference guide for Amazon Neptune's
3728// API operation DescribeEventCategories for usage and error information.
3729// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEventCategories
3730func (c *Neptune) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) {
3731	req, out := c.DescribeEventCategoriesRequest(input)
3732	return out, req.Send()
3733}
3734
3735// DescribeEventCategoriesWithContext is the same as DescribeEventCategories with the addition of
3736// the ability to pass a context and additional request options.
3737//
3738// See DescribeEventCategories for details on how to use this API operation.
3739//
3740// The context must be non-nil and will be used for request cancellation. If
3741// the context is nil a panic will occur. In the future the SDK may create
3742// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3743// for more information on using Contexts.
3744func (c *Neptune) DescribeEventCategoriesWithContext(ctx aws.Context, input *DescribeEventCategoriesInput, opts ...request.Option) (*DescribeEventCategoriesOutput, error) {
3745	req, out := c.DescribeEventCategoriesRequest(input)
3746	req.SetContext(ctx)
3747	req.ApplyOptions(opts...)
3748	return out, req.Send()
3749}
3750
3751const opDescribeEventSubscriptions = "DescribeEventSubscriptions"
3752
3753// DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the
3754// client's request for the DescribeEventSubscriptions operation. The "output" return
3755// value will be populated with the request's response once the request completes
3756// successfully.
3757//
3758// Use "Send" method on the returned Request to send the API call to the service.
3759// the "output" return value is not valid until after Send returns without error.
3760//
3761// See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions
3762// API call, and error handling.
3763//
3764// This method is useful when you want to inject custom logic or configuration
3765// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3766//
3767//
3768//    // Example sending a request using the DescribeEventSubscriptionsRequest method.
3769//    req, resp := client.DescribeEventSubscriptionsRequest(params)
3770//
3771//    err := req.Send()
3772//    if err == nil { // resp is now filled
3773//        fmt.Println(resp)
3774//    }
3775//
3776// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEventSubscriptions
3777func (c *Neptune) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) {
3778	op := &request.Operation{
3779		Name:       opDescribeEventSubscriptions,
3780		HTTPMethod: "POST",
3781		HTTPPath:   "/",
3782		Paginator: &request.Paginator{
3783			InputTokens:     []string{"Marker"},
3784			OutputTokens:    []string{"Marker"},
3785			LimitToken:      "MaxRecords",
3786			TruncationToken: "",
3787		},
3788	}
3789
3790	if input == nil {
3791		input = &DescribeEventSubscriptionsInput{}
3792	}
3793
3794	output = &DescribeEventSubscriptionsOutput{}
3795	req = c.newRequest(op, input, output)
3796	return
3797}
3798
3799// DescribeEventSubscriptions API operation for Amazon Neptune.
3800//
3801// Lists all the subscription descriptions for a customer account. The description
3802// for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType,
3803// SourceID, CreationTime, and Status.
3804//
3805// If you specify a SubscriptionName, lists the description for that subscription.
3806//
3807// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3808// with awserr.Error's Code and Message methods to get detailed information about
3809// the error.
3810//
3811// See the AWS API reference guide for Amazon Neptune's
3812// API operation DescribeEventSubscriptions for usage and error information.
3813//
3814// Returned Error Codes:
3815//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
3816//   The designated subscription could not be found.
3817//
3818// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEventSubscriptions
3819func (c *Neptune) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) {
3820	req, out := c.DescribeEventSubscriptionsRequest(input)
3821	return out, req.Send()
3822}
3823
3824// DescribeEventSubscriptionsWithContext is the same as DescribeEventSubscriptions with the addition of
3825// the ability to pass a context and additional request options.
3826//
3827// See DescribeEventSubscriptions for details on how to use this API operation.
3828//
3829// The context must be non-nil and will be used for request cancellation. If
3830// the context is nil a panic will occur. In the future the SDK may create
3831// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3832// for more information on using Contexts.
3833func (c *Neptune) DescribeEventSubscriptionsWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, opts ...request.Option) (*DescribeEventSubscriptionsOutput, error) {
3834	req, out := c.DescribeEventSubscriptionsRequest(input)
3835	req.SetContext(ctx)
3836	req.ApplyOptions(opts...)
3837	return out, req.Send()
3838}
3839
3840// DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation,
3841// calling the "fn" function with the response data for each page. To stop
3842// iterating, return false from the fn function.
3843//
3844// See DescribeEventSubscriptions method for more information on how to use this operation.
3845//
3846// Note: This operation can generate multiple requests to a service.
3847//
3848//    // Example iterating over at most 3 pages of a DescribeEventSubscriptions operation.
3849//    pageNum := 0
3850//    err := client.DescribeEventSubscriptionsPages(params,
3851//        func(page *neptune.DescribeEventSubscriptionsOutput, lastPage bool) bool {
3852//            pageNum++
3853//            fmt.Println(page)
3854//            return pageNum <= 3
3855//        })
3856//
3857func (c *Neptune) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool) error {
3858	return c.DescribeEventSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn)
3859}
3860
3861// DescribeEventSubscriptionsPagesWithContext same as DescribeEventSubscriptionsPages except
3862// it takes a Context and allows setting request options on the pages.
3863//
3864// The context must be non-nil and will be used for request cancellation. If
3865// the context is nil a panic will occur. In the future the SDK may create
3866// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3867// for more information on using Contexts.
3868func (c *Neptune) DescribeEventSubscriptionsPagesWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool, opts ...request.Option) error {
3869	p := request.Pagination{
3870		NewRequest: func() (*request.Request, error) {
3871			var inCpy *DescribeEventSubscriptionsInput
3872			if input != nil {
3873				tmp := *input
3874				inCpy = &tmp
3875			}
3876			req, _ := c.DescribeEventSubscriptionsRequest(inCpy)
3877			req.SetContext(ctx)
3878			req.ApplyOptions(opts...)
3879			return req, nil
3880		},
3881	}
3882
3883	for p.Next() {
3884		if !fn(p.Page().(*DescribeEventSubscriptionsOutput), !p.HasNextPage()) {
3885			break
3886		}
3887	}
3888
3889	return p.Err()
3890}
3891
3892const opDescribeEvents = "DescribeEvents"
3893
3894// DescribeEventsRequest generates a "aws/request.Request" representing the
3895// client's request for the DescribeEvents operation. The "output" return
3896// value will be populated with the request's response once the request completes
3897// successfully.
3898//
3899// Use "Send" method on the returned Request to send the API call to the service.
3900// the "output" return value is not valid until after Send returns without error.
3901//
3902// See DescribeEvents for more information on using the DescribeEvents
3903// API call, and error handling.
3904//
3905// This method is useful when you want to inject custom logic or configuration
3906// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3907//
3908//
3909//    // Example sending a request using the DescribeEventsRequest method.
3910//    req, resp := client.DescribeEventsRequest(params)
3911//
3912//    err := req.Send()
3913//    if err == nil { // resp is now filled
3914//        fmt.Println(resp)
3915//    }
3916//
3917// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEvents
3918func (c *Neptune) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
3919	op := &request.Operation{
3920		Name:       opDescribeEvents,
3921		HTTPMethod: "POST",
3922		HTTPPath:   "/",
3923		Paginator: &request.Paginator{
3924			InputTokens:     []string{"Marker"},
3925			OutputTokens:    []string{"Marker"},
3926			LimitToken:      "MaxRecords",
3927			TruncationToken: "",
3928		},
3929	}
3930
3931	if input == nil {
3932		input = &DescribeEventsInput{}
3933	}
3934
3935	output = &DescribeEventsOutput{}
3936	req = c.newRequest(op, input, output)
3937	return
3938}
3939
3940// DescribeEvents API operation for Amazon Neptune.
3941//
3942// Returns events related to DB instances, DB security groups, DB snapshots,
3943// and DB parameter groups for the past 14 days. Events specific to a particular
3944// DB instance, DB security group, database snapshot, or DB parameter group
3945// can be obtained by providing the name as a parameter. By default, the past
3946// hour of events are returned.
3947//
3948// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3949// with awserr.Error's Code and Message methods to get detailed information about
3950// the error.
3951//
3952// See the AWS API reference guide for Amazon Neptune's
3953// API operation DescribeEvents for usage and error information.
3954// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeEvents
3955func (c *Neptune) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
3956	req, out := c.DescribeEventsRequest(input)
3957	return out, req.Send()
3958}
3959
3960// DescribeEventsWithContext is the same as DescribeEvents with the addition of
3961// the ability to pass a context and additional request options.
3962//
3963// See DescribeEvents for details on how to use this API operation.
3964//
3965// The context must be non-nil and will be used for request cancellation. If
3966// the context is nil a panic will occur. In the future the SDK may create
3967// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3968// for more information on using Contexts.
3969func (c *Neptune) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
3970	req, out := c.DescribeEventsRequest(input)
3971	req.SetContext(ctx)
3972	req.ApplyOptions(opts...)
3973	return out, req.Send()
3974}
3975
3976// DescribeEventsPages iterates over the pages of a DescribeEvents operation,
3977// calling the "fn" function with the response data for each page. To stop
3978// iterating, return false from the fn function.
3979//
3980// See DescribeEvents method for more information on how to use this operation.
3981//
3982// Note: This operation can generate multiple requests to a service.
3983//
3984//    // Example iterating over at most 3 pages of a DescribeEvents operation.
3985//    pageNum := 0
3986//    err := client.DescribeEventsPages(params,
3987//        func(page *neptune.DescribeEventsOutput, lastPage bool) bool {
3988//            pageNum++
3989//            fmt.Println(page)
3990//            return pageNum <= 3
3991//        })
3992//
3993func (c *Neptune) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
3994	return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
3995}
3996
3997// DescribeEventsPagesWithContext same as DescribeEventsPages except
3998// it takes a Context and allows setting request options on the pages.
3999//
4000// The context must be non-nil and will be used for request cancellation. If
4001// the context is nil a panic will occur. In the future the SDK may create
4002// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4003// for more information on using Contexts.
4004func (c *Neptune) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
4005	p := request.Pagination{
4006		NewRequest: func() (*request.Request, error) {
4007			var inCpy *DescribeEventsInput
4008			if input != nil {
4009				tmp := *input
4010				inCpy = &tmp
4011			}
4012			req, _ := c.DescribeEventsRequest(inCpy)
4013			req.SetContext(ctx)
4014			req.ApplyOptions(opts...)
4015			return req, nil
4016		},
4017	}
4018
4019	for p.Next() {
4020		if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) {
4021			break
4022		}
4023	}
4024
4025	return p.Err()
4026}
4027
4028const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions"
4029
4030// DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the
4031// client's request for the DescribeOrderableDBInstanceOptions operation. The "output" return
4032// value will be populated with the request's response once the request completes
4033// successfully.
4034//
4035// Use "Send" method on the returned Request to send the API call to the service.
4036// the "output" return value is not valid until after Send returns without error.
4037//
4038// See DescribeOrderableDBInstanceOptions for more information on using the DescribeOrderableDBInstanceOptions
4039// API call, and error handling.
4040//
4041// This method is useful when you want to inject custom logic or configuration
4042// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4043//
4044//
4045//    // Example sending a request using the DescribeOrderableDBInstanceOptionsRequest method.
4046//    req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params)
4047//
4048//    err := req.Send()
4049//    if err == nil { // resp is now filled
4050//        fmt.Println(resp)
4051//    }
4052//
4053// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeOrderableDBInstanceOptions
4054func (c *Neptune) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderableDBInstanceOptionsInput) (req *request.Request, output *DescribeOrderableDBInstanceOptionsOutput) {
4055	op := &request.Operation{
4056		Name:       opDescribeOrderableDBInstanceOptions,
4057		HTTPMethod: "POST",
4058		HTTPPath:   "/",
4059		Paginator: &request.Paginator{
4060			InputTokens:     []string{"Marker"},
4061			OutputTokens:    []string{"Marker"},
4062			LimitToken:      "MaxRecords",
4063			TruncationToken: "",
4064		},
4065	}
4066
4067	if input == nil {
4068		input = &DescribeOrderableDBInstanceOptionsInput{}
4069	}
4070
4071	output = &DescribeOrderableDBInstanceOptionsOutput{}
4072	req = c.newRequest(op, input, output)
4073	return
4074}
4075
4076// DescribeOrderableDBInstanceOptions API operation for Amazon Neptune.
4077//
4078// Returns a list of orderable DB instance options for the specified engine.
4079//
4080// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4081// with awserr.Error's Code and Message methods to get detailed information about
4082// the error.
4083//
4084// See the AWS API reference guide for Amazon Neptune's
4085// API operation DescribeOrderableDBInstanceOptions for usage and error information.
4086// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeOrderableDBInstanceOptions
4087func (c *Neptune) DescribeOrderableDBInstanceOptions(input *DescribeOrderableDBInstanceOptionsInput) (*DescribeOrderableDBInstanceOptionsOutput, error) {
4088	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
4089	return out, req.Send()
4090}
4091
4092// DescribeOrderableDBInstanceOptionsWithContext is the same as DescribeOrderableDBInstanceOptions with the addition of
4093// the ability to pass a context and additional request options.
4094//
4095// See DescribeOrderableDBInstanceOptions for details on how to use this API operation.
4096//
4097// The context must be non-nil and will be used for request cancellation. If
4098// the context is nil a panic will occur. In the future the SDK may create
4099// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4100// for more information on using Contexts.
4101func (c *Neptune) DescribeOrderableDBInstanceOptionsWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, opts ...request.Option) (*DescribeOrderableDBInstanceOptionsOutput, error) {
4102	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
4103	req.SetContext(ctx)
4104	req.ApplyOptions(opts...)
4105	return out, req.Send()
4106}
4107
4108// DescribeOrderableDBInstanceOptionsPages iterates over the pages of a DescribeOrderableDBInstanceOptions operation,
4109// calling the "fn" function with the response data for each page. To stop
4110// iterating, return false from the fn function.
4111//
4112// See DescribeOrderableDBInstanceOptions method for more information on how to use this operation.
4113//
4114// Note: This operation can generate multiple requests to a service.
4115//
4116//    // Example iterating over at most 3 pages of a DescribeOrderableDBInstanceOptions operation.
4117//    pageNum := 0
4118//    err := client.DescribeOrderableDBInstanceOptionsPages(params,
4119//        func(page *neptune.DescribeOrderableDBInstanceOptionsOutput, lastPage bool) bool {
4120//            pageNum++
4121//            fmt.Println(page)
4122//            return pageNum <= 3
4123//        })
4124//
4125func (c *Neptune) DescribeOrderableDBInstanceOptionsPages(input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool) error {
4126	return c.DescribeOrderableDBInstanceOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
4127}
4128
4129// DescribeOrderableDBInstanceOptionsPagesWithContext same as DescribeOrderableDBInstanceOptionsPages except
4130// it takes a Context and allows setting request options on the pages.
4131//
4132// The context must be non-nil and will be used for request cancellation. If
4133// the context is nil a panic will occur. In the future the SDK may create
4134// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4135// for more information on using Contexts.
4136func (c *Neptune) DescribeOrderableDBInstanceOptionsPagesWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool, opts ...request.Option) error {
4137	p := request.Pagination{
4138		NewRequest: func() (*request.Request, error) {
4139			var inCpy *DescribeOrderableDBInstanceOptionsInput
4140			if input != nil {
4141				tmp := *input
4142				inCpy = &tmp
4143			}
4144			req, _ := c.DescribeOrderableDBInstanceOptionsRequest(inCpy)
4145			req.SetContext(ctx)
4146			req.ApplyOptions(opts...)
4147			return req, nil
4148		},
4149	}
4150
4151	for p.Next() {
4152		if !fn(p.Page().(*DescribeOrderableDBInstanceOptionsOutput), !p.HasNextPage()) {
4153			break
4154		}
4155	}
4156
4157	return p.Err()
4158}
4159
4160const opDescribePendingMaintenanceActions = "DescribePendingMaintenanceActions"
4161
4162// DescribePendingMaintenanceActionsRequest generates a "aws/request.Request" representing the
4163// client's request for the DescribePendingMaintenanceActions operation. The "output" return
4164// value will be populated with the request's response once the request completes
4165// successfully.
4166//
4167// Use "Send" method on the returned Request to send the API call to the service.
4168// the "output" return value is not valid until after Send returns without error.
4169//
4170// See DescribePendingMaintenanceActions for more information on using the DescribePendingMaintenanceActions
4171// API call, and error handling.
4172//
4173// This method is useful when you want to inject custom logic or configuration
4174// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4175//
4176//
4177//    // Example sending a request using the DescribePendingMaintenanceActionsRequest method.
4178//    req, resp := client.DescribePendingMaintenanceActionsRequest(params)
4179//
4180//    err := req.Send()
4181//    if err == nil { // resp is now filled
4182//        fmt.Println(resp)
4183//    }
4184//
4185// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribePendingMaintenanceActions
4186func (c *Neptune) DescribePendingMaintenanceActionsRequest(input *DescribePendingMaintenanceActionsInput) (req *request.Request, output *DescribePendingMaintenanceActionsOutput) {
4187	op := &request.Operation{
4188		Name:       opDescribePendingMaintenanceActions,
4189		HTTPMethod: "POST",
4190		HTTPPath:   "/",
4191	}
4192
4193	if input == nil {
4194		input = &DescribePendingMaintenanceActionsInput{}
4195	}
4196
4197	output = &DescribePendingMaintenanceActionsOutput{}
4198	req = c.newRequest(op, input, output)
4199	return
4200}
4201
4202// DescribePendingMaintenanceActions API operation for Amazon Neptune.
4203//
4204// Returns a list of resources (for example, DB instances) that have at least
4205// one pending maintenance action.
4206//
4207// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4208// with awserr.Error's Code and Message methods to get detailed information about
4209// the error.
4210//
4211// See the AWS API reference guide for Amazon Neptune's
4212// API operation DescribePendingMaintenanceActions for usage and error information.
4213//
4214// Returned Error Codes:
4215//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
4216//   The specified resource ID was not found.
4217//
4218// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribePendingMaintenanceActions
4219func (c *Neptune) DescribePendingMaintenanceActions(input *DescribePendingMaintenanceActionsInput) (*DescribePendingMaintenanceActionsOutput, error) {
4220	req, out := c.DescribePendingMaintenanceActionsRequest(input)
4221	return out, req.Send()
4222}
4223
4224// DescribePendingMaintenanceActionsWithContext is the same as DescribePendingMaintenanceActions with the addition of
4225// the ability to pass a context and additional request options.
4226//
4227// See DescribePendingMaintenanceActions for details on how to use this API operation.
4228//
4229// The context must be non-nil and will be used for request cancellation. If
4230// the context is nil a panic will occur. In the future the SDK may create
4231// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4232// for more information on using Contexts.
4233func (c *Neptune) DescribePendingMaintenanceActionsWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, opts ...request.Option) (*DescribePendingMaintenanceActionsOutput, error) {
4234	req, out := c.DescribePendingMaintenanceActionsRequest(input)
4235	req.SetContext(ctx)
4236	req.ApplyOptions(opts...)
4237	return out, req.Send()
4238}
4239
4240const opDescribeValidDBInstanceModifications = "DescribeValidDBInstanceModifications"
4241
4242// DescribeValidDBInstanceModificationsRequest generates a "aws/request.Request" representing the
4243// client's request for the DescribeValidDBInstanceModifications operation. The "output" return
4244// value will be populated with the request's response once the request completes
4245// successfully.
4246//
4247// Use "Send" method on the returned Request to send the API call to the service.
4248// the "output" return value is not valid until after Send returns without error.
4249//
4250// See DescribeValidDBInstanceModifications for more information on using the DescribeValidDBInstanceModifications
4251// API call, and error handling.
4252//
4253// This method is useful when you want to inject custom logic or configuration
4254// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4255//
4256//
4257//    // Example sending a request using the DescribeValidDBInstanceModificationsRequest method.
4258//    req, resp := client.DescribeValidDBInstanceModificationsRequest(params)
4259//
4260//    err := req.Send()
4261//    if err == nil { // resp is now filled
4262//        fmt.Println(resp)
4263//    }
4264//
4265// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeValidDBInstanceModifications
4266func (c *Neptune) DescribeValidDBInstanceModificationsRequest(input *DescribeValidDBInstanceModificationsInput) (req *request.Request, output *DescribeValidDBInstanceModificationsOutput) {
4267	op := &request.Operation{
4268		Name:       opDescribeValidDBInstanceModifications,
4269		HTTPMethod: "POST",
4270		HTTPPath:   "/",
4271	}
4272
4273	if input == nil {
4274		input = &DescribeValidDBInstanceModificationsInput{}
4275	}
4276
4277	output = &DescribeValidDBInstanceModificationsOutput{}
4278	req = c.newRequest(op, input, output)
4279	return
4280}
4281
4282// DescribeValidDBInstanceModifications API operation for Amazon Neptune.
4283//
4284// You can call DescribeValidDBInstanceModifications to learn what modifications
4285// you can make to your DB instance. You can use this information when you call
4286// ModifyDBInstance.
4287//
4288// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4289// with awserr.Error's Code and Message methods to get detailed information about
4290// the error.
4291//
4292// See the AWS API reference guide for Amazon Neptune's
4293// API operation DescribeValidDBInstanceModifications for usage and error information.
4294//
4295// Returned Error Codes:
4296//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
4297//   DBInstanceIdentifier does not refer to an existing DB instance.
4298//
4299//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
4300//   The specified DB instance is not in the available state.
4301//
4302// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/DescribeValidDBInstanceModifications
4303func (c *Neptune) DescribeValidDBInstanceModifications(input *DescribeValidDBInstanceModificationsInput) (*DescribeValidDBInstanceModificationsOutput, error) {
4304	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
4305	return out, req.Send()
4306}
4307
4308// DescribeValidDBInstanceModificationsWithContext is the same as DescribeValidDBInstanceModifications with the addition of
4309// the ability to pass a context and additional request options.
4310//
4311// See DescribeValidDBInstanceModifications for details on how to use this API operation.
4312//
4313// The context must be non-nil and will be used for request cancellation. If
4314// the context is nil a panic will occur. In the future the SDK may create
4315// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4316// for more information on using Contexts.
4317func (c *Neptune) DescribeValidDBInstanceModificationsWithContext(ctx aws.Context, input *DescribeValidDBInstanceModificationsInput, opts ...request.Option) (*DescribeValidDBInstanceModificationsOutput, error) {
4318	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
4319	req.SetContext(ctx)
4320	req.ApplyOptions(opts...)
4321	return out, req.Send()
4322}
4323
4324const opFailoverDBCluster = "FailoverDBCluster"
4325
4326// FailoverDBClusterRequest generates a "aws/request.Request" representing the
4327// client's request for the FailoverDBCluster operation. The "output" return
4328// value will be populated with the request's response once the request completes
4329// successfully.
4330//
4331// Use "Send" method on the returned Request to send the API call to the service.
4332// the "output" return value is not valid until after Send returns without error.
4333//
4334// See FailoverDBCluster for more information on using the FailoverDBCluster
4335// API call, and error handling.
4336//
4337// This method is useful when you want to inject custom logic or configuration
4338// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4339//
4340//
4341//    // Example sending a request using the FailoverDBClusterRequest method.
4342//    req, resp := client.FailoverDBClusterRequest(params)
4343//
4344//    err := req.Send()
4345//    if err == nil { // resp is now filled
4346//        fmt.Println(resp)
4347//    }
4348//
4349// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/FailoverDBCluster
4350func (c *Neptune) FailoverDBClusterRequest(input *FailoverDBClusterInput) (req *request.Request, output *FailoverDBClusterOutput) {
4351	op := &request.Operation{
4352		Name:       opFailoverDBCluster,
4353		HTTPMethod: "POST",
4354		HTTPPath:   "/",
4355	}
4356
4357	if input == nil {
4358		input = &FailoverDBClusterInput{}
4359	}
4360
4361	output = &FailoverDBClusterOutput{}
4362	req = c.newRequest(op, input, output)
4363	return
4364}
4365
4366// FailoverDBCluster API operation for Amazon Neptune.
4367//
4368// Forces a failover for a DB cluster.
4369//
4370// A failover for a DB cluster promotes one of the Read Replicas (read-only
4371// instances) in the DB cluster to be the primary instance (the cluster writer).
4372//
4373// Amazon Neptune will automatically fail over to a Read Replica, if one exists,
4374// when the primary instance fails. You can force a failover when you want to
4375// simulate a failure of a primary instance for testing. Because each instance
4376// in a DB cluster has its own endpoint address, you will need to clean up and
4377// re-establish any existing connections that use those endpoint addresses when
4378// the failover is complete.
4379//
4380// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4381// with awserr.Error's Code and Message methods to get detailed information about
4382// the error.
4383//
4384// See the AWS API reference guide for Amazon Neptune's
4385// API operation FailoverDBCluster for usage and error information.
4386//
4387// Returned Error Codes:
4388//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4389//   DBClusterIdentifier does not refer to an existing DB cluster.
4390//
4391//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
4392//   The DB cluster is not in a valid state.
4393//
4394//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
4395//   The specified DB instance is not in the available state.
4396//
4397// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/FailoverDBCluster
4398func (c *Neptune) FailoverDBCluster(input *FailoverDBClusterInput) (*FailoverDBClusterOutput, error) {
4399	req, out := c.FailoverDBClusterRequest(input)
4400	return out, req.Send()
4401}
4402
4403// FailoverDBClusterWithContext is the same as FailoverDBCluster with the addition of
4404// the ability to pass a context and additional request options.
4405//
4406// See FailoverDBCluster for details on how to use this API operation.
4407//
4408// The context must be non-nil and will be used for request cancellation. If
4409// the context is nil a panic will occur. In the future the SDK may create
4410// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4411// for more information on using Contexts.
4412func (c *Neptune) FailoverDBClusterWithContext(ctx aws.Context, input *FailoverDBClusterInput, opts ...request.Option) (*FailoverDBClusterOutput, error) {
4413	req, out := c.FailoverDBClusterRequest(input)
4414	req.SetContext(ctx)
4415	req.ApplyOptions(opts...)
4416	return out, req.Send()
4417}
4418
4419const opListTagsForResource = "ListTagsForResource"
4420
4421// ListTagsForResourceRequest generates a "aws/request.Request" representing the
4422// client's request for the ListTagsForResource operation. The "output" return
4423// value will be populated with the request's response once the request completes
4424// successfully.
4425//
4426// Use "Send" method on the returned Request to send the API call to the service.
4427// the "output" return value is not valid until after Send returns without error.
4428//
4429// See ListTagsForResource for more information on using the ListTagsForResource
4430// API call, and error handling.
4431//
4432// This method is useful when you want to inject custom logic or configuration
4433// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4434//
4435//
4436//    // Example sending a request using the ListTagsForResourceRequest method.
4437//    req, resp := client.ListTagsForResourceRequest(params)
4438//
4439//    err := req.Send()
4440//    if err == nil { // resp is now filled
4441//        fmt.Println(resp)
4442//    }
4443//
4444// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ListTagsForResource
4445func (c *Neptune) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
4446	op := &request.Operation{
4447		Name:       opListTagsForResource,
4448		HTTPMethod: "POST",
4449		HTTPPath:   "/",
4450	}
4451
4452	if input == nil {
4453		input = &ListTagsForResourceInput{}
4454	}
4455
4456	output = &ListTagsForResourceOutput{}
4457	req = c.newRequest(op, input, output)
4458	return
4459}
4460
4461// ListTagsForResource API operation for Amazon Neptune.
4462//
4463// Lists all tags on an Amazon Neptune resource.
4464//
4465// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4466// with awserr.Error's Code and Message methods to get detailed information about
4467// the error.
4468//
4469// See the AWS API reference guide for Amazon Neptune's
4470// API operation ListTagsForResource for usage and error information.
4471//
4472// Returned Error Codes:
4473//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
4474//   DBInstanceIdentifier does not refer to an existing DB instance.
4475//
4476//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
4477//   DBSnapshotIdentifier does not refer to an existing DB snapshot.
4478//
4479//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4480//   DBClusterIdentifier does not refer to an existing DB cluster.
4481//
4482// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ListTagsForResource
4483func (c *Neptune) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4484	req, out := c.ListTagsForResourceRequest(input)
4485	return out, req.Send()
4486}
4487
4488// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4489// the ability to pass a context and additional request options.
4490//
4491// See ListTagsForResource for details on how to use this API operation.
4492//
4493// The context must be non-nil and will be used for request cancellation. If
4494// the context is nil a panic will occur. In the future the SDK may create
4495// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4496// for more information on using Contexts.
4497func (c *Neptune) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4498	req, out := c.ListTagsForResourceRequest(input)
4499	req.SetContext(ctx)
4500	req.ApplyOptions(opts...)
4501	return out, req.Send()
4502}
4503
4504const opModifyDBCluster = "ModifyDBCluster"
4505
4506// ModifyDBClusterRequest generates a "aws/request.Request" representing the
4507// client's request for the ModifyDBCluster operation. The "output" return
4508// value will be populated with the request's response once the request completes
4509// successfully.
4510//
4511// Use "Send" method on the returned Request to send the API call to the service.
4512// the "output" return value is not valid until after Send returns without error.
4513//
4514// See ModifyDBCluster for more information on using the ModifyDBCluster
4515// API call, and error handling.
4516//
4517// This method is useful when you want to inject custom logic or configuration
4518// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4519//
4520//
4521//    // Example sending a request using the ModifyDBClusterRequest method.
4522//    req, resp := client.ModifyDBClusterRequest(params)
4523//
4524//    err := req.Send()
4525//    if err == nil { // resp is now filled
4526//        fmt.Println(resp)
4527//    }
4528//
4529// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBCluster
4530func (c *Neptune) ModifyDBClusterRequest(input *ModifyDBClusterInput) (req *request.Request, output *ModifyDBClusterOutput) {
4531	op := &request.Operation{
4532		Name:       opModifyDBCluster,
4533		HTTPMethod: "POST",
4534		HTTPPath:   "/",
4535	}
4536
4537	if input == nil {
4538		input = &ModifyDBClusterInput{}
4539	}
4540
4541	output = &ModifyDBClusterOutput{}
4542	req = c.newRequest(op, input, output)
4543	return
4544}
4545
4546// ModifyDBCluster API operation for Amazon Neptune.
4547//
4548// Modify a setting for a DB cluster. You can change one or more database configuration
4549// parameters by specifying these parameters and the new values in the request.
4550//
4551// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4552// with awserr.Error's Code and Message methods to get detailed information about
4553// the error.
4554//
4555// See the AWS API reference guide for Amazon Neptune's
4556// API operation ModifyDBCluster for usage and error information.
4557//
4558// Returned Error Codes:
4559//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4560//   DBClusterIdentifier does not refer to an existing DB cluster.
4561//
4562//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
4563//   The DB cluster is not in a valid state.
4564//
4565//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
4566//   Request would result in user exceeding the allowed amount of storage available
4567//   across all DB instances.
4568//
4569//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
4570//   DBSubnetGroupName does not refer to an existing DB subnet group.
4571//
4572//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
4573//   DB subnet group does not cover all Availability Zones after it is created
4574//   because users' change.
4575//
4576//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
4577//   The DB subnet group cannot be deleted because it is in use.
4578//
4579//   * ErrCodeInvalidSubnet "InvalidSubnet"
4580//   The requested subnet is invalid, or multiple subnets were requested that
4581//   are not all in a common VPC.
4582//
4583//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
4584//   DBClusterParameterGroupName does not refer to an existing DB Cluster parameter
4585//   group.
4586//
4587//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
4588//   The state of the DB security group does not allow deletion.
4589//
4590//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
4591//   The specified DB instance is not in the available state.
4592//
4593//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
4594//   User already has a DB cluster with the given identifier.
4595//
4596// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBCluster
4597func (c *Neptune) ModifyDBCluster(input *ModifyDBClusterInput) (*ModifyDBClusterOutput, error) {
4598	req, out := c.ModifyDBClusterRequest(input)
4599	return out, req.Send()
4600}
4601
4602// ModifyDBClusterWithContext is the same as ModifyDBCluster with the addition of
4603// the ability to pass a context and additional request options.
4604//
4605// See ModifyDBCluster for details on how to use this API operation.
4606//
4607// The context must be non-nil and will be used for request cancellation. If
4608// the context is nil a panic will occur. In the future the SDK may create
4609// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4610// for more information on using Contexts.
4611func (c *Neptune) ModifyDBClusterWithContext(ctx aws.Context, input *ModifyDBClusterInput, opts ...request.Option) (*ModifyDBClusterOutput, error) {
4612	req, out := c.ModifyDBClusterRequest(input)
4613	req.SetContext(ctx)
4614	req.ApplyOptions(opts...)
4615	return out, req.Send()
4616}
4617
4618const opModifyDBClusterEndpoint = "ModifyDBClusterEndpoint"
4619
4620// ModifyDBClusterEndpointRequest generates a "aws/request.Request" representing the
4621// client's request for the ModifyDBClusterEndpoint operation. The "output" return
4622// value will be populated with the request's response once the request completes
4623// successfully.
4624//
4625// Use "Send" method on the returned Request to send the API call to the service.
4626// the "output" return value is not valid until after Send returns without error.
4627//
4628// See ModifyDBClusterEndpoint for more information on using the ModifyDBClusterEndpoint
4629// API call, and error handling.
4630//
4631// This method is useful when you want to inject custom logic or configuration
4632// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4633//
4634//
4635//    // Example sending a request using the ModifyDBClusterEndpointRequest method.
4636//    req, resp := client.ModifyDBClusterEndpointRequest(params)
4637//
4638//    err := req.Send()
4639//    if err == nil { // resp is now filled
4640//        fmt.Println(resp)
4641//    }
4642//
4643// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBClusterEndpoint
4644func (c *Neptune) ModifyDBClusterEndpointRequest(input *ModifyDBClusterEndpointInput) (req *request.Request, output *ModifyDBClusterEndpointOutput) {
4645	op := &request.Operation{
4646		Name:       opModifyDBClusterEndpoint,
4647		HTTPMethod: "POST",
4648		HTTPPath:   "/",
4649	}
4650
4651	if input == nil {
4652		input = &ModifyDBClusterEndpointInput{}
4653	}
4654
4655	output = &ModifyDBClusterEndpointOutput{}
4656	req = c.newRequest(op, input, output)
4657	return
4658}
4659
4660// ModifyDBClusterEndpoint API operation for Amazon Neptune.
4661//
4662// Modifies the properties of an endpoint in an Amazon Neptune DB cluster.
4663//
4664// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4665// with awserr.Error's Code and Message methods to get detailed information about
4666// the error.
4667//
4668// See the AWS API reference guide for Amazon Neptune's
4669// API operation ModifyDBClusterEndpoint for usage and error information.
4670//
4671// Returned Error Codes:
4672//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
4673//   The DB cluster is not in a valid state.
4674//
4675//   * ErrCodeInvalidDBClusterEndpointStateFault "InvalidDBClusterEndpointStateFault"
4676//   The requested operation cannot be performed on the endpoint while the endpoint
4677//   is in this state.
4678//
4679//   * ErrCodeDBClusterEndpointNotFoundFault "DBClusterEndpointNotFoundFault"
4680//   The specified custom endpoint doesn't exist.
4681//
4682//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
4683//   DBInstanceIdentifier does not refer to an existing DB instance.
4684//
4685//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
4686//   The specified DB instance is not in the available state.
4687//
4688// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBClusterEndpoint
4689func (c *Neptune) ModifyDBClusterEndpoint(input *ModifyDBClusterEndpointInput) (*ModifyDBClusterEndpointOutput, error) {
4690	req, out := c.ModifyDBClusterEndpointRequest(input)
4691	return out, req.Send()
4692}
4693
4694// ModifyDBClusterEndpointWithContext is the same as ModifyDBClusterEndpoint with the addition of
4695// the ability to pass a context and additional request options.
4696//
4697// See ModifyDBClusterEndpoint for details on how to use this API operation.
4698//
4699// The context must be non-nil and will be used for request cancellation. If
4700// the context is nil a panic will occur. In the future the SDK may create
4701// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4702// for more information on using Contexts.
4703func (c *Neptune) ModifyDBClusterEndpointWithContext(ctx aws.Context, input *ModifyDBClusterEndpointInput, opts ...request.Option) (*ModifyDBClusterEndpointOutput, error) {
4704	req, out := c.ModifyDBClusterEndpointRequest(input)
4705	req.SetContext(ctx)
4706	req.ApplyOptions(opts...)
4707	return out, req.Send()
4708}
4709
4710const opModifyDBClusterParameterGroup = "ModifyDBClusterParameterGroup"
4711
4712// ModifyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
4713// client's request for the ModifyDBClusterParameterGroup operation. The "output" return
4714// value will be populated with the request's response once the request completes
4715// successfully.
4716//
4717// Use "Send" method on the returned Request to send the API call to the service.
4718// the "output" return value is not valid until after Send returns without error.
4719//
4720// See ModifyDBClusterParameterGroup for more information on using the ModifyDBClusterParameterGroup
4721// API call, and error handling.
4722//
4723// This method is useful when you want to inject custom logic or configuration
4724// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4725//
4726//
4727//    // Example sending a request using the ModifyDBClusterParameterGroupRequest method.
4728//    req, resp := client.ModifyDBClusterParameterGroupRequest(params)
4729//
4730//    err := req.Send()
4731//    if err == nil { // resp is now filled
4732//        fmt.Println(resp)
4733//    }
4734//
4735// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBClusterParameterGroup
4736func (c *Neptune) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParameterGroupInput) (req *request.Request, output *ResetDBClusterParameterGroupOutput) {
4737	op := &request.Operation{
4738		Name:       opModifyDBClusterParameterGroup,
4739		HTTPMethod: "POST",
4740		HTTPPath:   "/",
4741	}
4742
4743	if input == nil {
4744		input = &ModifyDBClusterParameterGroupInput{}
4745	}
4746
4747	output = &ResetDBClusterParameterGroupOutput{}
4748	req = c.newRequest(op, input, output)
4749	return
4750}
4751
4752// ModifyDBClusterParameterGroup API operation for Amazon Neptune.
4753//
4754// Modifies the parameters of a DB cluster parameter group. To modify more than
4755// one parameter, submit a list of the following: ParameterName, ParameterValue,
4756// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
4757//
4758// Changes to dynamic parameters are applied immediately. Changes to static
4759// parameters require a reboot without failover to the DB cluster associated
4760// with the parameter group before the change can take effect.
4761//
4762// After you create a DB cluster parameter group, you should wait at least 5
4763// minutes before creating your first DB cluster that uses that DB cluster parameter
4764// group as the default parameter group. This allows Amazon Neptune to fully
4765// complete the create action before the parameter group is used as the default
4766// for a new DB cluster. This is especially important for parameters that are
4767// critical when creating the default database for a DB cluster, such as the
4768// character set for the default database defined by the character_set_database
4769// parameter. You can use the Parameter Groups option of the Amazon Neptune
4770// console or the DescribeDBClusterParameters command to verify that your DB
4771// cluster parameter group has been created or modified.
4772//
4773// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4774// with awserr.Error's Code and Message methods to get detailed information about
4775// the error.
4776//
4777// See the AWS API reference guide for Amazon Neptune's
4778// API operation ModifyDBClusterParameterGroup for usage and error information.
4779//
4780// Returned Error Codes:
4781//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
4782//   DBParameterGroupName does not refer to an existing DB parameter group.
4783//
4784//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
4785//   The DB parameter group is in use or is in an invalid state. If you are attempting
4786//   to delete the parameter group, you cannot delete it when the parameter group
4787//   is in this state.
4788//
4789// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBClusterParameterGroup
4790func (c *Neptune) ModifyDBClusterParameterGroup(input *ModifyDBClusterParameterGroupInput) (*ResetDBClusterParameterGroupOutput, error) {
4791	req, out := c.ModifyDBClusterParameterGroupRequest(input)
4792	return out, req.Send()
4793}
4794
4795// ModifyDBClusterParameterGroupWithContext is the same as ModifyDBClusterParameterGroup with the addition of
4796// the ability to pass a context and additional request options.
4797//
4798// See ModifyDBClusterParameterGroup for details on how to use this API operation.
4799//
4800// The context must be non-nil and will be used for request cancellation. If
4801// the context is nil a panic will occur. In the future the SDK may create
4802// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4803// for more information on using Contexts.
4804func (c *Neptune) ModifyDBClusterParameterGroupWithContext(ctx aws.Context, input *ModifyDBClusterParameterGroupInput, opts ...request.Option) (*ResetDBClusterParameterGroupOutput, error) {
4805	req, out := c.ModifyDBClusterParameterGroupRequest(input)
4806	req.SetContext(ctx)
4807	req.ApplyOptions(opts...)
4808	return out, req.Send()
4809}
4810
4811const opModifyDBClusterSnapshotAttribute = "ModifyDBClusterSnapshotAttribute"
4812
4813// ModifyDBClusterSnapshotAttributeRequest generates a "aws/request.Request" representing the
4814// client's request for the ModifyDBClusterSnapshotAttribute operation. The "output" return
4815// value will be populated with the request's response once the request completes
4816// successfully.
4817//
4818// Use "Send" method on the returned Request to send the API call to the service.
4819// the "output" return value is not valid until after Send returns without error.
4820//
4821// See ModifyDBClusterSnapshotAttribute for more information on using the ModifyDBClusterSnapshotAttribute
4822// API call, and error handling.
4823//
4824// This method is useful when you want to inject custom logic or configuration
4825// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4826//
4827//
4828//    // Example sending a request using the ModifyDBClusterSnapshotAttributeRequest method.
4829//    req, resp := client.ModifyDBClusterSnapshotAttributeRequest(params)
4830//
4831//    err := req.Send()
4832//    if err == nil { // resp is now filled
4833//        fmt.Println(resp)
4834//    }
4835//
4836// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBClusterSnapshotAttribute
4837func (c *Neptune) ModifyDBClusterSnapshotAttributeRequest(input *ModifyDBClusterSnapshotAttributeInput) (req *request.Request, output *ModifyDBClusterSnapshotAttributeOutput) {
4838	op := &request.Operation{
4839		Name:       opModifyDBClusterSnapshotAttribute,
4840		HTTPMethod: "POST",
4841		HTTPPath:   "/",
4842	}
4843
4844	if input == nil {
4845		input = &ModifyDBClusterSnapshotAttributeInput{}
4846	}
4847
4848	output = &ModifyDBClusterSnapshotAttributeOutput{}
4849	req = c.newRequest(op, input, output)
4850	return
4851}
4852
4853// ModifyDBClusterSnapshotAttribute API operation for Amazon Neptune.
4854//
4855// Adds an attribute and values to, or removes an attribute and values from,
4856// a manual DB cluster snapshot.
4857//
4858// To share a manual DB cluster snapshot with other AWS accounts, specify restore
4859// as the AttributeName and use the ValuesToAdd parameter to add a list of IDs
4860// of the AWS accounts that are authorized to restore the manual DB cluster
4861// snapshot. Use the value all to make the manual DB cluster snapshot public,
4862// which means that it can be copied or restored by all AWS accounts. Do not
4863// add the all value for any manual DB cluster snapshots that contain private
4864// information that you don't want available to all AWS accounts. If a manual
4865// DB cluster snapshot is encrypted, it can be shared, but only by specifying
4866// a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't
4867// use all as a value for that parameter in this case.
4868//
4869// To view which AWS accounts have access to copy or restore a manual DB cluster
4870// snapshot, or whether a manual DB cluster snapshot public or private, use
4871// the DescribeDBClusterSnapshotAttributes API action.
4872//
4873// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4874// with awserr.Error's Code and Message methods to get detailed information about
4875// the error.
4876//
4877// See the AWS API reference guide for Amazon Neptune's
4878// API operation ModifyDBClusterSnapshotAttribute for usage and error information.
4879//
4880// Returned Error Codes:
4881//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
4882//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
4883//
4884//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
4885//   The supplied value is not a valid DB cluster snapshot state.
4886//
4887//   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
4888//   You have exceeded the maximum number of accounts that you can share a manual
4889//   DB snapshot with.
4890//
4891// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBClusterSnapshotAttribute
4892func (c *Neptune) ModifyDBClusterSnapshotAttribute(input *ModifyDBClusterSnapshotAttributeInput) (*ModifyDBClusterSnapshotAttributeOutput, error) {
4893	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
4894	return out, req.Send()
4895}
4896
4897// ModifyDBClusterSnapshotAttributeWithContext is the same as ModifyDBClusterSnapshotAttribute with the addition of
4898// the ability to pass a context and additional request options.
4899//
4900// See ModifyDBClusterSnapshotAttribute for details on how to use this API operation.
4901//
4902// The context must be non-nil and will be used for request cancellation. If
4903// the context is nil a panic will occur. In the future the SDK may create
4904// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4905// for more information on using Contexts.
4906func (c *Neptune) ModifyDBClusterSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBClusterSnapshotAttributeInput, opts ...request.Option) (*ModifyDBClusterSnapshotAttributeOutput, error) {
4907	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
4908	req.SetContext(ctx)
4909	req.ApplyOptions(opts...)
4910	return out, req.Send()
4911}
4912
4913const opModifyDBInstance = "ModifyDBInstance"
4914
4915// ModifyDBInstanceRequest generates a "aws/request.Request" representing the
4916// client's request for the ModifyDBInstance operation. The "output" return
4917// value will be populated with the request's response once the request completes
4918// successfully.
4919//
4920// Use "Send" method on the returned Request to send the API call to the service.
4921// the "output" return value is not valid until after Send returns without error.
4922//
4923// See ModifyDBInstance for more information on using the ModifyDBInstance
4924// API call, and error handling.
4925//
4926// This method is useful when you want to inject custom logic or configuration
4927// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4928//
4929//
4930//    // Example sending a request using the ModifyDBInstanceRequest method.
4931//    req, resp := client.ModifyDBInstanceRequest(params)
4932//
4933//    err := req.Send()
4934//    if err == nil { // resp is now filled
4935//        fmt.Println(resp)
4936//    }
4937//
4938// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBInstance
4939func (c *Neptune) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *request.Request, output *ModifyDBInstanceOutput) {
4940	op := &request.Operation{
4941		Name:       opModifyDBInstance,
4942		HTTPMethod: "POST",
4943		HTTPPath:   "/",
4944	}
4945
4946	if input == nil {
4947		input = &ModifyDBInstanceInput{}
4948	}
4949
4950	output = &ModifyDBInstanceOutput{}
4951	req = c.newRequest(op, input, output)
4952	return
4953}
4954
4955// ModifyDBInstance API operation for Amazon Neptune.
4956//
4957// Modifies settings for a DB instance. You can change one or more database
4958// configuration parameters by specifying these parameters and the new values
4959// in the request. To learn what modifications you can make to your DB instance,
4960// call DescribeValidDBInstanceModifications before you call ModifyDBInstance.
4961//
4962// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4963// with awserr.Error's Code and Message methods to get detailed information about
4964// the error.
4965//
4966// See the AWS API reference guide for Amazon Neptune's
4967// API operation ModifyDBInstance for usage and error information.
4968//
4969// Returned Error Codes:
4970//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
4971//   The specified DB instance is not in the available state.
4972//
4973//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
4974//   The state of the DB security group does not allow deletion.
4975//
4976//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
4977//   User already has a DB instance with the given identifier.
4978//
4979//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
4980//   DBInstanceIdentifier does not refer to an existing DB instance.
4981//
4982//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
4983//   DBSecurityGroupName does not refer to an existing DB security group.
4984//
4985//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
4986//   DBParameterGroupName does not refer to an existing DB parameter group.
4987//
4988//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
4989//   Specified DB instance class is not available in the specified Availability
4990//   Zone.
4991//
4992//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
4993//   Request would result in user exceeding the allowed amount of storage available
4994//   across all DB instances.
4995//
4996//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
4997//   DB subnet group does not cover all Availability Zones after it is created
4998//   because users' change.
4999//
5000//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
5001//   Provisioned IOPS not available in the specified Availability Zone.
5002//
5003//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
5004//   The designated option group could not be found.
5005//
5006//   * ErrCodeDBUpgradeDependencyFailureFault "DBUpgradeDependencyFailure"
5007//   The DB upgrade failed because a resource the DB depends on could not be modified.
5008//
5009//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
5010//   StorageType specified cannot be associated with the DB Instance.
5011//
5012//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
5013//   Specified CIDRIP or EC2 security group is not authorized for the specified
5014//   DB security group.
5015//
5016//   Neptune may not also be authorized via IAM to perform necessary actions on
5017//   your behalf.
5018//
5019//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
5020//   CertificateIdentifier does not refer to an existing certificate.
5021//
5022//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
5023//   Domain does not refer to an existing Active Directory Domain.
5024//
5025// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBInstance
5026func (c *Neptune) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) {
5027	req, out := c.ModifyDBInstanceRequest(input)
5028	return out, req.Send()
5029}
5030
5031// ModifyDBInstanceWithContext is the same as ModifyDBInstance with the addition of
5032// the ability to pass a context and additional request options.
5033//
5034// See ModifyDBInstance for details on how to use this API operation.
5035//
5036// The context must be non-nil and will be used for request cancellation. If
5037// the context is nil a panic will occur. In the future the SDK may create
5038// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5039// for more information on using Contexts.
5040func (c *Neptune) ModifyDBInstanceWithContext(ctx aws.Context, input *ModifyDBInstanceInput, opts ...request.Option) (*ModifyDBInstanceOutput, error) {
5041	req, out := c.ModifyDBInstanceRequest(input)
5042	req.SetContext(ctx)
5043	req.ApplyOptions(opts...)
5044	return out, req.Send()
5045}
5046
5047const opModifyDBParameterGroup = "ModifyDBParameterGroup"
5048
5049// ModifyDBParameterGroupRequest generates a "aws/request.Request" representing the
5050// client's request for the ModifyDBParameterGroup operation. The "output" return
5051// value will be populated with the request's response once the request completes
5052// successfully.
5053//
5054// Use "Send" method on the returned Request to send the API call to the service.
5055// the "output" return value is not valid until after Send returns without error.
5056//
5057// See ModifyDBParameterGroup for more information on using the ModifyDBParameterGroup
5058// API call, and error handling.
5059//
5060// This method is useful when you want to inject custom logic or configuration
5061// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5062//
5063//
5064//    // Example sending a request using the ModifyDBParameterGroupRequest method.
5065//    req, resp := client.ModifyDBParameterGroupRequest(params)
5066//
5067//    err := req.Send()
5068//    if err == nil { // resp is now filled
5069//        fmt.Println(resp)
5070//    }
5071//
5072// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBParameterGroup
5073func (c *Neptune) ModifyDBParameterGroupRequest(input *ModifyDBParameterGroupInput) (req *request.Request, output *ResetDBParameterGroupOutput) {
5074	op := &request.Operation{
5075		Name:       opModifyDBParameterGroup,
5076		HTTPMethod: "POST",
5077		HTTPPath:   "/",
5078	}
5079
5080	if input == nil {
5081		input = &ModifyDBParameterGroupInput{}
5082	}
5083
5084	output = &ResetDBParameterGroupOutput{}
5085	req = c.newRequest(op, input, output)
5086	return
5087}
5088
5089// ModifyDBParameterGroup API operation for Amazon Neptune.
5090//
5091// Modifies the parameters of a DB parameter group. To modify more than one
5092// parameter, submit a list of the following: ParameterName, ParameterValue,
5093// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
5094//
5095// Changes to dynamic parameters are applied immediately. Changes to static
5096// parameters require a reboot without failover to the DB instance associated
5097// with the parameter group before the change can take effect.
5098//
5099// After you modify a DB parameter group, you should wait at least 5 minutes
5100// before creating your first DB instance that uses that DB parameter group
5101// as the default parameter group. This allows Amazon Neptune to fully complete
5102// the modify action before the parameter group is used as the default for a
5103// new DB instance. This is especially important for parameters that are critical
5104// when creating the default database for a DB instance, such as the character
5105// set for the default database defined by the character_set_database parameter.
5106// You can use the Parameter Groups option of the Amazon Neptune console or
5107// the DescribeDBParameters command to verify that your DB parameter group has
5108// been created or modified.
5109//
5110// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5111// with awserr.Error's Code and Message methods to get detailed information about
5112// the error.
5113//
5114// See the AWS API reference guide for Amazon Neptune's
5115// API operation ModifyDBParameterGroup for usage and error information.
5116//
5117// Returned Error Codes:
5118//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
5119//   DBParameterGroupName does not refer to an existing DB parameter group.
5120//
5121//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
5122//   The DB parameter group is in use or is in an invalid state. If you are attempting
5123//   to delete the parameter group, you cannot delete it when the parameter group
5124//   is in this state.
5125//
5126// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBParameterGroup
5127func (c *Neptune) ModifyDBParameterGroup(input *ModifyDBParameterGroupInput) (*ResetDBParameterGroupOutput, error) {
5128	req, out := c.ModifyDBParameterGroupRequest(input)
5129	return out, req.Send()
5130}
5131
5132// ModifyDBParameterGroupWithContext is the same as ModifyDBParameterGroup with the addition of
5133// the ability to pass a context and additional request options.
5134//
5135// See ModifyDBParameterGroup for details on how to use this API operation.
5136//
5137// The context must be non-nil and will be used for request cancellation. If
5138// the context is nil a panic will occur. In the future the SDK may create
5139// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5140// for more information on using Contexts.
5141func (c *Neptune) ModifyDBParameterGroupWithContext(ctx aws.Context, input *ModifyDBParameterGroupInput, opts ...request.Option) (*ResetDBParameterGroupOutput, error) {
5142	req, out := c.ModifyDBParameterGroupRequest(input)
5143	req.SetContext(ctx)
5144	req.ApplyOptions(opts...)
5145	return out, req.Send()
5146}
5147
5148const opModifyDBSubnetGroup = "ModifyDBSubnetGroup"
5149
5150// ModifyDBSubnetGroupRequest generates a "aws/request.Request" representing the
5151// client's request for the ModifyDBSubnetGroup operation. The "output" return
5152// value will be populated with the request's response once the request completes
5153// successfully.
5154//
5155// Use "Send" method on the returned Request to send the API call to the service.
5156// the "output" return value is not valid until after Send returns without error.
5157//
5158// See ModifyDBSubnetGroup for more information on using the ModifyDBSubnetGroup
5159// API call, and error handling.
5160//
5161// This method is useful when you want to inject custom logic or configuration
5162// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5163//
5164//
5165//    // Example sending a request using the ModifyDBSubnetGroupRequest method.
5166//    req, resp := client.ModifyDBSubnetGroupRequest(params)
5167//
5168//    err := req.Send()
5169//    if err == nil { // resp is now filled
5170//        fmt.Println(resp)
5171//    }
5172//
5173// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBSubnetGroup
5174func (c *Neptune) ModifyDBSubnetGroupRequest(input *ModifyDBSubnetGroupInput) (req *request.Request, output *ModifyDBSubnetGroupOutput) {
5175	op := &request.Operation{
5176		Name:       opModifyDBSubnetGroup,
5177		HTTPMethod: "POST",
5178		HTTPPath:   "/",
5179	}
5180
5181	if input == nil {
5182		input = &ModifyDBSubnetGroupInput{}
5183	}
5184
5185	output = &ModifyDBSubnetGroupOutput{}
5186	req = c.newRequest(op, input, output)
5187	return
5188}
5189
5190// ModifyDBSubnetGroup API operation for Amazon Neptune.
5191//
5192// Modifies an existing DB subnet group. DB subnet groups must contain at least
5193// one subnet in at least two AZs in the AWS Region.
5194//
5195// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5196// with awserr.Error's Code and Message methods to get detailed information about
5197// the error.
5198//
5199// See the AWS API reference guide for Amazon Neptune's
5200// API operation ModifyDBSubnetGroup for usage and error information.
5201//
5202// Returned Error Codes:
5203//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
5204//   DBSubnetGroupName does not refer to an existing DB subnet group.
5205//
5206//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
5207//   Request would result in user exceeding the allowed number of subnets in a
5208//   DB subnet groups.
5209//
5210//   * ErrCodeSubnetAlreadyInUse "SubnetAlreadyInUse"
5211//   The DB subnet is already in use in the Availability Zone.
5212//
5213//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
5214//   Subnets in the DB subnet group should cover at least two Availability Zones
5215//   unless there is only one Availability Zone.
5216//
5217//   * ErrCodeInvalidSubnet "InvalidSubnet"
5218//   The requested subnet is invalid, or multiple subnets were requested that
5219//   are not all in a common VPC.
5220//
5221// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyDBSubnetGroup
5222func (c *Neptune) ModifyDBSubnetGroup(input *ModifyDBSubnetGroupInput) (*ModifyDBSubnetGroupOutput, error) {
5223	req, out := c.ModifyDBSubnetGroupRequest(input)
5224	return out, req.Send()
5225}
5226
5227// ModifyDBSubnetGroupWithContext is the same as ModifyDBSubnetGroup with the addition of
5228// the ability to pass a context and additional request options.
5229//
5230// See ModifyDBSubnetGroup for details on how to use this API operation.
5231//
5232// The context must be non-nil and will be used for request cancellation. If
5233// the context is nil a panic will occur. In the future the SDK may create
5234// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5235// for more information on using Contexts.
5236func (c *Neptune) ModifyDBSubnetGroupWithContext(ctx aws.Context, input *ModifyDBSubnetGroupInput, opts ...request.Option) (*ModifyDBSubnetGroupOutput, error) {
5237	req, out := c.ModifyDBSubnetGroupRequest(input)
5238	req.SetContext(ctx)
5239	req.ApplyOptions(opts...)
5240	return out, req.Send()
5241}
5242
5243const opModifyEventSubscription = "ModifyEventSubscription"
5244
5245// ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the
5246// client's request for the ModifyEventSubscription operation. The "output" return
5247// value will be populated with the request's response once the request completes
5248// successfully.
5249//
5250// Use "Send" method on the returned Request to send the API call to the service.
5251// the "output" return value is not valid until after Send returns without error.
5252//
5253// See ModifyEventSubscription for more information on using the ModifyEventSubscription
5254// API call, and error handling.
5255//
5256// This method is useful when you want to inject custom logic or configuration
5257// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5258//
5259//
5260//    // Example sending a request using the ModifyEventSubscriptionRequest method.
5261//    req, resp := client.ModifyEventSubscriptionRequest(params)
5262//
5263//    err := req.Send()
5264//    if err == nil { // resp is now filled
5265//        fmt.Println(resp)
5266//    }
5267//
5268// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyEventSubscription
5269func (c *Neptune) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) {
5270	op := &request.Operation{
5271		Name:       opModifyEventSubscription,
5272		HTTPMethod: "POST",
5273		HTTPPath:   "/",
5274	}
5275
5276	if input == nil {
5277		input = &ModifyEventSubscriptionInput{}
5278	}
5279
5280	output = &ModifyEventSubscriptionOutput{}
5281	req = c.newRequest(op, input, output)
5282	return
5283}
5284
5285// ModifyEventSubscription API operation for Amazon Neptune.
5286//
5287// Modifies an existing event notification subscription. Note that you can't
5288// modify the source identifiers using this call; to change source identifiers
5289// for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription
5290// calls.
5291//
5292// You can see a list of the event categories for a given SourceType by using
5293// the DescribeEventCategories action.
5294//
5295// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5296// with awserr.Error's Code and Message methods to get detailed information about
5297// the error.
5298//
5299// See the AWS API reference guide for Amazon Neptune's
5300// API operation ModifyEventSubscription for usage and error information.
5301//
5302// Returned Error Codes:
5303//   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
5304//   You have exceeded the number of events you can subscribe to.
5305//
5306//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
5307//   The designated subscription could not be found.
5308//
5309//   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
5310//   The SNS topic is invalid.
5311//
5312//   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
5313//   There is no SNS authorization.
5314//
5315//   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
5316//   The ARN of the SNS topic could not be found.
5317//
5318//   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
5319//   The designated subscription category could not be found.
5320//
5321// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ModifyEventSubscription
5322func (c *Neptune) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) {
5323	req, out := c.ModifyEventSubscriptionRequest(input)
5324	return out, req.Send()
5325}
5326
5327// ModifyEventSubscriptionWithContext is the same as ModifyEventSubscription with the addition of
5328// the ability to pass a context and additional request options.
5329//
5330// See ModifyEventSubscription for details on how to use this API operation.
5331//
5332// The context must be non-nil and will be used for request cancellation. If
5333// the context is nil a panic will occur. In the future the SDK may create
5334// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5335// for more information on using Contexts.
5336func (c *Neptune) ModifyEventSubscriptionWithContext(ctx aws.Context, input *ModifyEventSubscriptionInput, opts ...request.Option) (*ModifyEventSubscriptionOutput, error) {
5337	req, out := c.ModifyEventSubscriptionRequest(input)
5338	req.SetContext(ctx)
5339	req.ApplyOptions(opts...)
5340	return out, req.Send()
5341}
5342
5343const opPromoteReadReplicaDBCluster = "PromoteReadReplicaDBCluster"
5344
5345// PromoteReadReplicaDBClusterRequest generates a "aws/request.Request" representing the
5346// client's request for the PromoteReadReplicaDBCluster operation. The "output" return
5347// value will be populated with the request's response once the request completes
5348// successfully.
5349//
5350// Use "Send" method on the returned Request to send the API call to the service.
5351// the "output" return value is not valid until after Send returns without error.
5352//
5353// See PromoteReadReplicaDBCluster for more information on using the PromoteReadReplicaDBCluster
5354// API call, and error handling.
5355//
5356// This method is useful when you want to inject custom logic or configuration
5357// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5358//
5359//
5360//    // Example sending a request using the PromoteReadReplicaDBClusterRequest method.
5361//    req, resp := client.PromoteReadReplicaDBClusterRequest(params)
5362//
5363//    err := req.Send()
5364//    if err == nil { // resp is now filled
5365//        fmt.Println(resp)
5366//    }
5367//
5368// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/PromoteReadReplicaDBCluster
5369func (c *Neptune) PromoteReadReplicaDBClusterRequest(input *PromoteReadReplicaDBClusterInput) (req *request.Request, output *PromoteReadReplicaDBClusterOutput) {
5370	op := &request.Operation{
5371		Name:       opPromoteReadReplicaDBCluster,
5372		HTTPMethod: "POST",
5373		HTTPPath:   "/",
5374	}
5375
5376	if input == nil {
5377		input = &PromoteReadReplicaDBClusterInput{}
5378	}
5379
5380	output = &PromoteReadReplicaDBClusterOutput{}
5381	req = c.newRequest(op, input, output)
5382	return
5383}
5384
5385// PromoteReadReplicaDBCluster API operation for Amazon Neptune.
5386//
5387// Not supported.
5388//
5389// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5390// with awserr.Error's Code and Message methods to get detailed information about
5391// the error.
5392//
5393// See the AWS API reference guide for Amazon Neptune's
5394// API operation PromoteReadReplicaDBCluster for usage and error information.
5395//
5396// Returned Error Codes:
5397//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
5398//   DBClusterIdentifier does not refer to an existing DB cluster.
5399//
5400//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
5401//   The DB cluster is not in a valid state.
5402//
5403// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/PromoteReadReplicaDBCluster
5404func (c *Neptune) PromoteReadReplicaDBCluster(input *PromoteReadReplicaDBClusterInput) (*PromoteReadReplicaDBClusterOutput, error) {
5405	req, out := c.PromoteReadReplicaDBClusterRequest(input)
5406	return out, req.Send()
5407}
5408
5409// PromoteReadReplicaDBClusterWithContext is the same as PromoteReadReplicaDBCluster with the addition of
5410// the ability to pass a context and additional request options.
5411//
5412// See PromoteReadReplicaDBCluster for details on how to use this API operation.
5413//
5414// The context must be non-nil and will be used for request cancellation. If
5415// the context is nil a panic will occur. In the future the SDK may create
5416// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5417// for more information on using Contexts.
5418func (c *Neptune) PromoteReadReplicaDBClusterWithContext(ctx aws.Context, input *PromoteReadReplicaDBClusterInput, opts ...request.Option) (*PromoteReadReplicaDBClusterOutput, error) {
5419	req, out := c.PromoteReadReplicaDBClusterRequest(input)
5420	req.SetContext(ctx)
5421	req.ApplyOptions(opts...)
5422	return out, req.Send()
5423}
5424
5425const opRebootDBInstance = "RebootDBInstance"
5426
5427// RebootDBInstanceRequest generates a "aws/request.Request" representing the
5428// client's request for the RebootDBInstance operation. The "output" return
5429// value will be populated with the request's response once the request completes
5430// successfully.
5431//
5432// Use "Send" method on the returned Request to send the API call to the service.
5433// the "output" return value is not valid until after Send returns without error.
5434//
5435// See RebootDBInstance for more information on using the RebootDBInstance
5436// API call, and error handling.
5437//
5438// This method is useful when you want to inject custom logic or configuration
5439// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5440//
5441//
5442//    // Example sending a request using the RebootDBInstanceRequest method.
5443//    req, resp := client.RebootDBInstanceRequest(params)
5444//
5445//    err := req.Send()
5446//    if err == nil { // resp is now filled
5447//        fmt.Println(resp)
5448//    }
5449//
5450// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RebootDBInstance
5451func (c *Neptune) RebootDBInstanceRequest(input *RebootDBInstanceInput) (req *request.Request, output *RebootDBInstanceOutput) {
5452	op := &request.Operation{
5453		Name:       opRebootDBInstance,
5454		HTTPMethod: "POST",
5455		HTTPPath:   "/",
5456	}
5457
5458	if input == nil {
5459		input = &RebootDBInstanceInput{}
5460	}
5461
5462	output = &RebootDBInstanceOutput{}
5463	req = c.newRequest(op, input, output)
5464	return
5465}
5466
5467// RebootDBInstance API operation for Amazon Neptune.
5468//
5469// You might need to reboot your DB instance, usually for maintenance reasons.
5470// For example, if you make certain modifications, or if you change the DB parameter
5471// group associated with the DB instance, you must reboot the instance for the
5472// changes to take effect.
5473//
5474// Rebooting a DB instance restarts the database engine service. Rebooting a
5475// DB instance results in a momentary outage, during which the DB instance status
5476// is set to rebooting.
5477//
5478// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5479// with awserr.Error's Code and Message methods to get detailed information about
5480// the error.
5481//
5482// See the AWS API reference guide for Amazon Neptune's
5483// API operation RebootDBInstance for usage and error information.
5484//
5485// Returned Error Codes:
5486//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
5487//   The specified DB instance is not in the available state.
5488//
5489//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
5490//   DBInstanceIdentifier does not refer to an existing DB instance.
5491//
5492// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RebootDBInstance
5493func (c *Neptune) RebootDBInstance(input *RebootDBInstanceInput) (*RebootDBInstanceOutput, error) {
5494	req, out := c.RebootDBInstanceRequest(input)
5495	return out, req.Send()
5496}
5497
5498// RebootDBInstanceWithContext is the same as RebootDBInstance with the addition of
5499// the ability to pass a context and additional request options.
5500//
5501// See RebootDBInstance for details on how to use this API operation.
5502//
5503// The context must be non-nil and will be used for request cancellation. If
5504// the context is nil a panic will occur. In the future the SDK may create
5505// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5506// for more information on using Contexts.
5507func (c *Neptune) RebootDBInstanceWithContext(ctx aws.Context, input *RebootDBInstanceInput, opts ...request.Option) (*RebootDBInstanceOutput, error) {
5508	req, out := c.RebootDBInstanceRequest(input)
5509	req.SetContext(ctx)
5510	req.ApplyOptions(opts...)
5511	return out, req.Send()
5512}
5513
5514const opRemoveRoleFromDBCluster = "RemoveRoleFromDBCluster"
5515
5516// RemoveRoleFromDBClusterRequest generates a "aws/request.Request" representing the
5517// client's request for the RemoveRoleFromDBCluster operation. The "output" return
5518// value will be populated with the request's response once the request completes
5519// successfully.
5520//
5521// Use "Send" method on the returned Request to send the API call to the service.
5522// the "output" return value is not valid until after Send returns without error.
5523//
5524// See RemoveRoleFromDBCluster for more information on using the RemoveRoleFromDBCluster
5525// API call, and error handling.
5526//
5527// This method is useful when you want to inject custom logic or configuration
5528// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5529//
5530//
5531//    // Example sending a request using the RemoveRoleFromDBClusterRequest method.
5532//    req, resp := client.RemoveRoleFromDBClusterRequest(params)
5533//
5534//    err := req.Send()
5535//    if err == nil { // resp is now filled
5536//        fmt.Println(resp)
5537//    }
5538//
5539// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RemoveRoleFromDBCluster
5540func (c *Neptune) RemoveRoleFromDBClusterRequest(input *RemoveRoleFromDBClusterInput) (req *request.Request, output *RemoveRoleFromDBClusterOutput) {
5541	op := &request.Operation{
5542		Name:       opRemoveRoleFromDBCluster,
5543		HTTPMethod: "POST",
5544		HTTPPath:   "/",
5545	}
5546
5547	if input == nil {
5548		input = &RemoveRoleFromDBClusterInput{}
5549	}
5550
5551	output = &RemoveRoleFromDBClusterOutput{}
5552	req = c.newRequest(op, input, output)
5553	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5554	return
5555}
5556
5557// RemoveRoleFromDBCluster API operation for Amazon Neptune.
5558//
5559// Disassociates an Identity and Access Management (IAM) role from a DB cluster.
5560//
5561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5562// with awserr.Error's Code and Message methods to get detailed information about
5563// the error.
5564//
5565// See the AWS API reference guide for Amazon Neptune's
5566// API operation RemoveRoleFromDBCluster for usage and error information.
5567//
5568// Returned Error Codes:
5569//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
5570//   DBClusterIdentifier does not refer to an existing DB cluster.
5571//
5572//   * ErrCodeDBClusterRoleNotFoundFault "DBClusterRoleNotFound"
5573//   The specified IAM role Amazon Resource Name (ARN) is not associated with
5574//   the specified DB cluster.
5575//
5576//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
5577//   The DB cluster is not in a valid state.
5578//
5579// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RemoveRoleFromDBCluster
5580func (c *Neptune) RemoveRoleFromDBCluster(input *RemoveRoleFromDBClusterInput) (*RemoveRoleFromDBClusterOutput, error) {
5581	req, out := c.RemoveRoleFromDBClusterRequest(input)
5582	return out, req.Send()
5583}
5584
5585// RemoveRoleFromDBClusterWithContext is the same as RemoveRoleFromDBCluster with the addition of
5586// the ability to pass a context and additional request options.
5587//
5588// See RemoveRoleFromDBCluster for details on how to use this API operation.
5589//
5590// The context must be non-nil and will be used for request cancellation. If
5591// the context is nil a panic will occur. In the future the SDK may create
5592// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5593// for more information on using Contexts.
5594func (c *Neptune) RemoveRoleFromDBClusterWithContext(ctx aws.Context, input *RemoveRoleFromDBClusterInput, opts ...request.Option) (*RemoveRoleFromDBClusterOutput, error) {
5595	req, out := c.RemoveRoleFromDBClusterRequest(input)
5596	req.SetContext(ctx)
5597	req.ApplyOptions(opts...)
5598	return out, req.Send()
5599}
5600
5601const opRemoveSourceIdentifierFromSubscription = "RemoveSourceIdentifierFromSubscription"
5602
5603// RemoveSourceIdentifierFromSubscriptionRequest generates a "aws/request.Request" representing the
5604// client's request for the RemoveSourceIdentifierFromSubscription operation. The "output" return
5605// value will be populated with the request's response once the request completes
5606// successfully.
5607//
5608// Use "Send" method on the returned Request to send the API call to the service.
5609// the "output" return value is not valid until after Send returns without error.
5610//
5611// See RemoveSourceIdentifierFromSubscription for more information on using the RemoveSourceIdentifierFromSubscription
5612// API call, and error handling.
5613//
5614// This method is useful when you want to inject custom logic or configuration
5615// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5616//
5617//
5618//    // Example sending a request using the RemoveSourceIdentifierFromSubscriptionRequest method.
5619//    req, resp := client.RemoveSourceIdentifierFromSubscriptionRequest(params)
5620//
5621//    err := req.Send()
5622//    if err == nil { // resp is now filled
5623//        fmt.Println(resp)
5624//    }
5625//
5626// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RemoveSourceIdentifierFromSubscription
5627func (c *Neptune) RemoveSourceIdentifierFromSubscriptionRequest(input *RemoveSourceIdentifierFromSubscriptionInput) (req *request.Request, output *RemoveSourceIdentifierFromSubscriptionOutput) {
5628	op := &request.Operation{
5629		Name:       opRemoveSourceIdentifierFromSubscription,
5630		HTTPMethod: "POST",
5631		HTTPPath:   "/",
5632	}
5633
5634	if input == nil {
5635		input = &RemoveSourceIdentifierFromSubscriptionInput{}
5636	}
5637
5638	output = &RemoveSourceIdentifierFromSubscriptionOutput{}
5639	req = c.newRequest(op, input, output)
5640	return
5641}
5642
5643// RemoveSourceIdentifierFromSubscription API operation for Amazon Neptune.
5644//
5645// Removes a source identifier from an existing event notification subscription.
5646//
5647// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5648// with awserr.Error's Code and Message methods to get detailed information about
5649// the error.
5650//
5651// See the AWS API reference guide for Amazon Neptune's
5652// API operation RemoveSourceIdentifierFromSubscription for usage and error information.
5653//
5654// Returned Error Codes:
5655//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
5656//   The designated subscription could not be found.
5657//
5658//   * ErrCodeSourceNotFoundFault "SourceNotFound"
5659//   The source could not be found.
5660//
5661// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RemoveSourceIdentifierFromSubscription
5662func (c *Neptune) RemoveSourceIdentifierFromSubscription(input *RemoveSourceIdentifierFromSubscriptionInput) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
5663	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
5664	return out, req.Send()
5665}
5666
5667// RemoveSourceIdentifierFromSubscriptionWithContext is the same as RemoveSourceIdentifierFromSubscription with the addition of
5668// the ability to pass a context and additional request options.
5669//
5670// See RemoveSourceIdentifierFromSubscription for details on how to use this API operation.
5671//
5672// The context must be non-nil and will be used for request cancellation. If
5673// the context is nil a panic will occur. In the future the SDK may create
5674// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5675// for more information on using Contexts.
5676func (c *Neptune) RemoveSourceIdentifierFromSubscriptionWithContext(ctx aws.Context, input *RemoveSourceIdentifierFromSubscriptionInput, opts ...request.Option) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
5677	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
5678	req.SetContext(ctx)
5679	req.ApplyOptions(opts...)
5680	return out, req.Send()
5681}
5682
5683const opRemoveTagsFromResource = "RemoveTagsFromResource"
5684
5685// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
5686// client's request for the RemoveTagsFromResource operation. The "output" return
5687// value will be populated with the request's response once the request completes
5688// successfully.
5689//
5690// Use "Send" method on the returned Request to send the API call to the service.
5691// the "output" return value is not valid until after Send returns without error.
5692//
5693// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
5694// API call, and error handling.
5695//
5696// This method is useful when you want to inject custom logic or configuration
5697// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5698//
5699//
5700//    // Example sending a request using the RemoveTagsFromResourceRequest method.
5701//    req, resp := client.RemoveTagsFromResourceRequest(params)
5702//
5703//    err := req.Send()
5704//    if err == nil { // resp is now filled
5705//        fmt.Println(resp)
5706//    }
5707//
5708// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RemoveTagsFromResource
5709func (c *Neptune) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
5710	op := &request.Operation{
5711		Name:       opRemoveTagsFromResource,
5712		HTTPMethod: "POST",
5713		HTTPPath:   "/",
5714	}
5715
5716	if input == nil {
5717		input = &RemoveTagsFromResourceInput{}
5718	}
5719
5720	output = &RemoveTagsFromResourceOutput{}
5721	req = c.newRequest(op, input, output)
5722	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5723	return
5724}
5725
5726// RemoveTagsFromResource API operation for Amazon Neptune.
5727//
5728// Removes metadata tags from an Amazon Neptune resource.
5729//
5730// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5731// with awserr.Error's Code and Message methods to get detailed information about
5732// the error.
5733//
5734// See the AWS API reference guide for Amazon Neptune's
5735// API operation RemoveTagsFromResource for usage and error information.
5736//
5737// Returned Error Codes:
5738//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
5739//   DBInstanceIdentifier does not refer to an existing DB instance.
5740//
5741//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
5742//   DBSnapshotIdentifier does not refer to an existing DB snapshot.
5743//
5744//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
5745//   DBClusterIdentifier does not refer to an existing DB cluster.
5746//
5747// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RemoveTagsFromResource
5748func (c *Neptune) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
5749	req, out := c.RemoveTagsFromResourceRequest(input)
5750	return out, req.Send()
5751}
5752
5753// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
5754// the ability to pass a context and additional request options.
5755//
5756// See RemoveTagsFromResource for details on how to use this API operation.
5757//
5758// The context must be non-nil and will be used for request cancellation. If
5759// the context is nil a panic will occur. In the future the SDK may create
5760// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5761// for more information on using Contexts.
5762func (c *Neptune) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
5763	req, out := c.RemoveTagsFromResourceRequest(input)
5764	req.SetContext(ctx)
5765	req.ApplyOptions(opts...)
5766	return out, req.Send()
5767}
5768
5769const opResetDBClusterParameterGroup = "ResetDBClusterParameterGroup"
5770
5771// ResetDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
5772// client's request for the ResetDBClusterParameterGroup operation. The "output" return
5773// value will be populated with the request's response once the request completes
5774// successfully.
5775//
5776// Use "Send" method on the returned Request to send the API call to the service.
5777// the "output" return value is not valid until after Send returns without error.
5778//
5779// See ResetDBClusterParameterGroup for more information on using the ResetDBClusterParameterGroup
5780// API call, and error handling.
5781//
5782// This method is useful when you want to inject custom logic or configuration
5783// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5784//
5785//
5786//    // Example sending a request using the ResetDBClusterParameterGroupRequest method.
5787//    req, resp := client.ResetDBClusterParameterGroupRequest(params)
5788//
5789//    err := req.Send()
5790//    if err == nil { // resp is now filled
5791//        fmt.Println(resp)
5792//    }
5793//
5794// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ResetDBClusterParameterGroup
5795func (c *Neptune) ResetDBClusterParameterGroupRequest(input *ResetDBClusterParameterGroupInput) (req *request.Request, output *ResetDBClusterParameterGroupOutput) {
5796	op := &request.Operation{
5797		Name:       opResetDBClusterParameterGroup,
5798		HTTPMethod: "POST",
5799		HTTPPath:   "/",
5800	}
5801
5802	if input == nil {
5803		input = &ResetDBClusterParameterGroupInput{}
5804	}
5805
5806	output = &ResetDBClusterParameterGroupOutput{}
5807	req = c.newRequest(op, input, output)
5808	return
5809}
5810
5811// ResetDBClusterParameterGroup API operation for Amazon Neptune.
5812//
5813// Modifies the parameters of a DB cluster parameter group to the default value.
5814// To reset specific parameters submit a list of the following: ParameterName
5815// and ApplyMethod. To reset the entire DB cluster parameter group, specify
5816// the DBClusterParameterGroupName and ResetAllParameters parameters.
5817//
5818// When resetting the entire group, dynamic parameters are updated immediately
5819// and static parameters are set to pending-reboot to take effect on the next
5820// DB instance restart or RebootDBInstance request. You must call RebootDBInstance
5821// for every DB instance in your DB cluster that you want the updated static
5822// parameter to apply to.
5823//
5824// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5825// with awserr.Error's Code and Message methods to get detailed information about
5826// the error.
5827//
5828// See the AWS API reference guide for Amazon Neptune's
5829// API operation ResetDBClusterParameterGroup for usage and error information.
5830//
5831// Returned Error Codes:
5832//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
5833//   The DB parameter group is in use or is in an invalid state. If you are attempting
5834//   to delete the parameter group, you cannot delete it when the parameter group
5835//   is in this state.
5836//
5837//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
5838//   DBParameterGroupName does not refer to an existing DB parameter group.
5839//
5840// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ResetDBClusterParameterGroup
5841func (c *Neptune) ResetDBClusterParameterGroup(input *ResetDBClusterParameterGroupInput) (*ResetDBClusterParameterGroupOutput, error) {
5842	req, out := c.ResetDBClusterParameterGroupRequest(input)
5843	return out, req.Send()
5844}
5845
5846// ResetDBClusterParameterGroupWithContext is the same as ResetDBClusterParameterGroup with the addition of
5847// the ability to pass a context and additional request options.
5848//
5849// See ResetDBClusterParameterGroup for details on how to use this API operation.
5850//
5851// The context must be non-nil and will be used for request cancellation. If
5852// the context is nil a panic will occur. In the future the SDK may create
5853// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5854// for more information on using Contexts.
5855func (c *Neptune) ResetDBClusterParameterGroupWithContext(ctx aws.Context, input *ResetDBClusterParameterGroupInput, opts ...request.Option) (*ResetDBClusterParameterGroupOutput, error) {
5856	req, out := c.ResetDBClusterParameterGroupRequest(input)
5857	req.SetContext(ctx)
5858	req.ApplyOptions(opts...)
5859	return out, req.Send()
5860}
5861
5862const opResetDBParameterGroup = "ResetDBParameterGroup"
5863
5864// ResetDBParameterGroupRequest generates a "aws/request.Request" representing the
5865// client's request for the ResetDBParameterGroup operation. The "output" return
5866// value will be populated with the request's response once the request completes
5867// successfully.
5868//
5869// Use "Send" method on the returned Request to send the API call to the service.
5870// the "output" return value is not valid until after Send returns without error.
5871//
5872// See ResetDBParameterGroup for more information on using the ResetDBParameterGroup
5873// API call, and error handling.
5874//
5875// This method is useful when you want to inject custom logic or configuration
5876// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5877//
5878//
5879//    // Example sending a request using the ResetDBParameterGroupRequest method.
5880//    req, resp := client.ResetDBParameterGroupRequest(params)
5881//
5882//    err := req.Send()
5883//    if err == nil { // resp is now filled
5884//        fmt.Println(resp)
5885//    }
5886//
5887// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ResetDBParameterGroup
5888func (c *Neptune) ResetDBParameterGroupRequest(input *ResetDBParameterGroupInput) (req *request.Request, output *ResetDBParameterGroupOutput) {
5889	op := &request.Operation{
5890		Name:       opResetDBParameterGroup,
5891		HTTPMethod: "POST",
5892		HTTPPath:   "/",
5893	}
5894
5895	if input == nil {
5896		input = &ResetDBParameterGroupInput{}
5897	}
5898
5899	output = &ResetDBParameterGroupOutput{}
5900	req = c.newRequest(op, input, output)
5901	return
5902}
5903
5904// ResetDBParameterGroup API operation for Amazon Neptune.
5905//
5906// Modifies the parameters of a DB parameter group to the engine/system default
5907// value. To reset specific parameters, provide a list of the following: ParameterName
5908// and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup
5909// name and ResetAllParameters parameters. When resetting the entire group,
5910// dynamic parameters are updated immediately and static parameters are set
5911// to pending-reboot to take effect on the next DB instance restart or RebootDBInstance
5912// request.
5913//
5914// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5915// with awserr.Error's Code and Message methods to get detailed information about
5916// the error.
5917//
5918// See the AWS API reference guide for Amazon Neptune's
5919// API operation ResetDBParameterGroup for usage and error information.
5920//
5921// Returned Error Codes:
5922//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
5923//   The DB parameter group is in use or is in an invalid state. If you are attempting
5924//   to delete the parameter group, you cannot delete it when the parameter group
5925//   is in this state.
5926//
5927//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
5928//   DBParameterGroupName does not refer to an existing DB parameter group.
5929//
5930// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/ResetDBParameterGroup
5931func (c *Neptune) ResetDBParameterGroup(input *ResetDBParameterGroupInput) (*ResetDBParameterGroupOutput, error) {
5932	req, out := c.ResetDBParameterGroupRequest(input)
5933	return out, req.Send()
5934}
5935
5936// ResetDBParameterGroupWithContext is the same as ResetDBParameterGroup with the addition of
5937// the ability to pass a context and additional request options.
5938//
5939// See ResetDBParameterGroup for details on how to use this API operation.
5940//
5941// The context must be non-nil and will be used for request cancellation. If
5942// the context is nil a panic will occur. In the future the SDK may create
5943// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5944// for more information on using Contexts.
5945func (c *Neptune) ResetDBParameterGroupWithContext(ctx aws.Context, input *ResetDBParameterGroupInput, opts ...request.Option) (*ResetDBParameterGroupOutput, error) {
5946	req, out := c.ResetDBParameterGroupRequest(input)
5947	req.SetContext(ctx)
5948	req.ApplyOptions(opts...)
5949	return out, req.Send()
5950}
5951
5952const opRestoreDBClusterFromSnapshot = "RestoreDBClusterFromSnapshot"
5953
5954// RestoreDBClusterFromSnapshotRequest generates a "aws/request.Request" representing the
5955// client's request for the RestoreDBClusterFromSnapshot operation. The "output" return
5956// value will be populated with the request's response once the request completes
5957// successfully.
5958//
5959// Use "Send" method on the returned Request to send the API call to the service.
5960// the "output" return value is not valid until after Send returns without error.
5961//
5962// See RestoreDBClusterFromSnapshot for more information on using the RestoreDBClusterFromSnapshot
5963// API call, and error handling.
5964//
5965// This method is useful when you want to inject custom logic or configuration
5966// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5967//
5968//
5969//    // Example sending a request using the RestoreDBClusterFromSnapshotRequest method.
5970//    req, resp := client.RestoreDBClusterFromSnapshotRequest(params)
5971//
5972//    err := req.Send()
5973//    if err == nil { // resp is now filled
5974//        fmt.Println(resp)
5975//    }
5976//
5977// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RestoreDBClusterFromSnapshot
5978func (c *Neptune) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSnapshotInput) (req *request.Request, output *RestoreDBClusterFromSnapshotOutput) {
5979	op := &request.Operation{
5980		Name:       opRestoreDBClusterFromSnapshot,
5981		HTTPMethod: "POST",
5982		HTTPPath:   "/",
5983	}
5984
5985	if input == nil {
5986		input = &RestoreDBClusterFromSnapshotInput{}
5987	}
5988
5989	output = &RestoreDBClusterFromSnapshotOutput{}
5990	req = c.newRequest(op, input, output)
5991	return
5992}
5993
5994// RestoreDBClusterFromSnapshot API operation for Amazon Neptune.
5995//
5996// Creates a new DB cluster from a DB snapshot or DB cluster snapshot.
5997//
5998// If a DB snapshot is specified, the target DB cluster is created from the
5999// source DB snapshot with a default configuration and default security group.
6000//
6001// If a DB cluster snapshot is specified, the target DB cluster is created from
6002// the source DB cluster restore point with the same configuration as the original
6003// source DB cluster, except that the new DB cluster is created with the default
6004// security group.
6005//
6006// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6007// with awserr.Error's Code and Message methods to get detailed information about
6008// the error.
6009//
6010// See the AWS API reference guide for Amazon Neptune's
6011// API operation RestoreDBClusterFromSnapshot for usage and error information.
6012//
6013// Returned Error Codes:
6014//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
6015//   User already has a DB cluster with the given identifier.
6016//
6017//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
6018//   User attempted to create a new DB cluster and the user has already reached
6019//   the maximum allowed DB cluster quota.
6020//
6021//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
6022//   Request would result in user exceeding the allowed amount of storage available
6023//   across all DB instances.
6024//
6025//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
6026//   DBSubnetGroupName does not refer to an existing DB subnet group.
6027//
6028//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
6029//   DBSnapshotIdentifier does not refer to an existing DB snapshot.
6030//
6031//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
6032//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
6033//
6034//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
6035//   The DB cluster does not have enough capacity for the current operation.
6036//
6037//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
6038//   There is insufficient storage available for the current action. You may be
6039//   able to resolve this error by updating your subnet group to use different
6040//   Availability Zones that have more storage available.
6041//
6042//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
6043//   The state of the DB snapshot does not allow deletion.
6044//
6045//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
6046//   The supplied value is not a valid DB cluster snapshot state.
6047//
6048//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
6049//   Request would result in user exceeding the allowed amount of storage available
6050//   across all DB instances.
6051//
6052//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
6053//   DB subnet group does not cover all Availability Zones after it is created
6054//   because users' change.
6055//
6056//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
6057//   Cannot restore from vpc backup to non-vpc DB instance.
6058//
6059//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
6060//   DBSubnetGroupName does not refer to an existing DB subnet group.
6061//
6062//   * ErrCodeInvalidSubnet "InvalidSubnet"
6063//   The requested subnet is invalid, or multiple subnets were requested that
6064//   are not all in a common VPC.
6065//
6066//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
6067//   The designated option group could not be found.
6068//
6069//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
6070//   Error accessing KMS key.
6071//
6072//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
6073//   DBClusterParameterGroupName does not refer to an existing DB Cluster parameter
6074//   group.
6075//
6076// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RestoreDBClusterFromSnapshot
6077func (c *Neptune) RestoreDBClusterFromSnapshot(input *RestoreDBClusterFromSnapshotInput) (*RestoreDBClusterFromSnapshotOutput, error) {
6078	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
6079	return out, req.Send()
6080}
6081
6082// RestoreDBClusterFromSnapshotWithContext is the same as RestoreDBClusterFromSnapshot with the addition of
6083// the ability to pass a context and additional request options.
6084//
6085// See RestoreDBClusterFromSnapshot for details on how to use this API operation.
6086//
6087// The context must be non-nil and will be used for request cancellation. If
6088// the context is nil a panic will occur. In the future the SDK may create
6089// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6090// for more information on using Contexts.
6091func (c *Neptune) RestoreDBClusterFromSnapshotWithContext(ctx aws.Context, input *RestoreDBClusterFromSnapshotInput, opts ...request.Option) (*RestoreDBClusterFromSnapshotOutput, error) {
6092	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
6093	req.SetContext(ctx)
6094	req.ApplyOptions(opts...)
6095	return out, req.Send()
6096}
6097
6098const opRestoreDBClusterToPointInTime = "RestoreDBClusterToPointInTime"
6099
6100// RestoreDBClusterToPointInTimeRequest generates a "aws/request.Request" representing the
6101// client's request for the RestoreDBClusterToPointInTime operation. The "output" return
6102// value will be populated with the request's response once the request completes
6103// successfully.
6104//
6105// Use "Send" method on the returned Request to send the API call to the service.
6106// the "output" return value is not valid until after Send returns without error.
6107//
6108// See RestoreDBClusterToPointInTime for more information on using the RestoreDBClusterToPointInTime
6109// API call, and error handling.
6110//
6111// This method is useful when you want to inject custom logic or configuration
6112// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6113//
6114//
6115//    // Example sending a request using the RestoreDBClusterToPointInTimeRequest method.
6116//    req, resp := client.RestoreDBClusterToPointInTimeRequest(params)
6117//
6118//    err := req.Send()
6119//    if err == nil { // resp is now filled
6120//        fmt.Println(resp)
6121//    }
6122//
6123// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RestoreDBClusterToPointInTime
6124func (c *Neptune) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPointInTimeInput) (req *request.Request, output *RestoreDBClusterToPointInTimeOutput) {
6125	op := &request.Operation{
6126		Name:       opRestoreDBClusterToPointInTime,
6127		HTTPMethod: "POST",
6128		HTTPPath:   "/",
6129	}
6130
6131	if input == nil {
6132		input = &RestoreDBClusterToPointInTimeInput{}
6133	}
6134
6135	output = &RestoreDBClusterToPointInTimeOutput{}
6136	req = c.newRequest(op, input, output)
6137	return
6138}
6139
6140// RestoreDBClusterToPointInTime API operation for Amazon Neptune.
6141//
6142// Restores a DB cluster to an arbitrary point in time. Users can restore to
6143// any point in time before LatestRestorableTime for up to BackupRetentionPeriod
6144// days. The target DB cluster is created from the source DB cluster with the
6145// same configuration as the original DB cluster, except that the new DB cluster
6146// is created with the default DB security group.
6147//
6148// This action only restores the DB cluster, not the DB instances for that DB
6149// cluster. You must invoke the CreateDBInstance action to create DB instances
6150// for the restored DB cluster, specifying the identifier of the restored DB
6151// cluster in DBClusterIdentifier. You can create DB instances only after the
6152// RestoreDBClusterToPointInTime action has completed and the DB cluster is
6153// available.
6154//
6155// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6156// with awserr.Error's Code and Message methods to get detailed information about
6157// the error.
6158//
6159// See the AWS API reference guide for Amazon Neptune's
6160// API operation RestoreDBClusterToPointInTime for usage and error information.
6161//
6162// Returned Error Codes:
6163//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
6164//   User already has a DB cluster with the given identifier.
6165//
6166//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
6167//   DBClusterIdentifier does not refer to an existing DB cluster.
6168//
6169//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
6170//   User attempted to create a new DB cluster and the user has already reached
6171//   the maximum allowed DB cluster quota.
6172//
6173//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
6174//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
6175//
6176//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
6177//   DBSubnetGroupName does not refer to an existing DB subnet group.
6178//
6179//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
6180//   The DB cluster does not have enough capacity for the current operation.
6181//
6182//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
6183//   There is insufficient storage available for the current action. You may be
6184//   able to resolve this error by updating your subnet group to use different
6185//   Availability Zones that have more storage available.
6186//
6187//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
6188//   The supplied value is not a valid DB cluster snapshot state.
6189//
6190//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
6191//   The DB cluster is not in a valid state.
6192//
6193//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
6194//   The state of the DB snapshot does not allow deletion.
6195//
6196//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
6197//   Cannot restore from vpc backup to non-vpc DB instance.
6198//
6199//   * ErrCodeInvalidSubnet "InvalidSubnet"
6200//   The requested subnet is invalid, or multiple subnets were requested that
6201//   are not all in a common VPC.
6202//
6203//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
6204//   DB subnet group does not cover all Availability Zones after it is created
6205//   because users' change.
6206//
6207//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
6208//   Error accessing KMS key.
6209//
6210//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
6211//   The designated option group could not be found.
6212//
6213//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
6214//   Request would result in user exceeding the allowed amount of storage available
6215//   across all DB instances.
6216//
6217//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
6218//   DBClusterParameterGroupName does not refer to an existing DB Cluster parameter
6219//   group.
6220//
6221// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/RestoreDBClusterToPointInTime
6222func (c *Neptune) RestoreDBClusterToPointInTime(input *RestoreDBClusterToPointInTimeInput) (*RestoreDBClusterToPointInTimeOutput, error) {
6223	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
6224	return out, req.Send()
6225}
6226
6227// RestoreDBClusterToPointInTimeWithContext is the same as RestoreDBClusterToPointInTime with the addition of
6228// the ability to pass a context and additional request options.
6229//
6230// See RestoreDBClusterToPointInTime for details on how to use this API operation.
6231//
6232// The context must be non-nil and will be used for request cancellation. If
6233// the context is nil a panic will occur. In the future the SDK may create
6234// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6235// for more information on using Contexts.
6236func (c *Neptune) RestoreDBClusterToPointInTimeWithContext(ctx aws.Context, input *RestoreDBClusterToPointInTimeInput, opts ...request.Option) (*RestoreDBClusterToPointInTimeOutput, error) {
6237	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
6238	req.SetContext(ctx)
6239	req.ApplyOptions(opts...)
6240	return out, req.Send()
6241}
6242
6243const opStartDBCluster = "StartDBCluster"
6244
6245// StartDBClusterRequest generates a "aws/request.Request" representing the
6246// client's request for the StartDBCluster operation. The "output" return
6247// value will be populated with the request's response once the request completes
6248// successfully.
6249//
6250// Use "Send" method on the returned Request to send the API call to the service.
6251// the "output" return value is not valid until after Send returns without error.
6252//
6253// See StartDBCluster for more information on using the StartDBCluster
6254// API call, and error handling.
6255//
6256// This method is useful when you want to inject custom logic or configuration
6257// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6258//
6259//
6260//    // Example sending a request using the StartDBClusterRequest method.
6261//    req, resp := client.StartDBClusterRequest(params)
6262//
6263//    err := req.Send()
6264//    if err == nil { // resp is now filled
6265//        fmt.Println(resp)
6266//    }
6267//
6268// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/StartDBCluster
6269func (c *Neptune) StartDBClusterRequest(input *StartDBClusterInput) (req *request.Request, output *StartDBClusterOutput) {
6270	op := &request.Operation{
6271		Name:       opStartDBCluster,
6272		HTTPMethod: "POST",
6273		HTTPPath:   "/",
6274	}
6275
6276	if input == nil {
6277		input = &StartDBClusterInput{}
6278	}
6279
6280	output = &StartDBClusterOutput{}
6281	req = c.newRequest(op, input, output)
6282	return
6283}
6284
6285// StartDBCluster API operation for Amazon Neptune.
6286//
6287// Starts an Amazon Neptune DB cluster that was stopped using the AWS console,
6288// the AWS CLI stop-db-cluster command, or the StopDBCluster API.
6289//
6290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6291// with awserr.Error's Code and Message methods to get detailed information about
6292// the error.
6293//
6294// See the AWS API reference guide for Amazon Neptune's
6295// API operation StartDBCluster for usage and error information.
6296//
6297// Returned Error Codes:
6298//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
6299//   DBClusterIdentifier does not refer to an existing DB cluster.
6300//
6301//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
6302//   The DB cluster is not in a valid state.
6303//
6304//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
6305//   The specified DB instance is not in the available state.
6306//
6307// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/StartDBCluster
6308func (c *Neptune) StartDBCluster(input *StartDBClusterInput) (*StartDBClusterOutput, error) {
6309	req, out := c.StartDBClusterRequest(input)
6310	return out, req.Send()
6311}
6312
6313// StartDBClusterWithContext is the same as StartDBCluster with the addition of
6314// the ability to pass a context and additional request options.
6315//
6316// See StartDBCluster for details on how to use this API operation.
6317//
6318// The context must be non-nil and will be used for request cancellation. If
6319// the context is nil a panic will occur. In the future the SDK may create
6320// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6321// for more information on using Contexts.
6322func (c *Neptune) StartDBClusterWithContext(ctx aws.Context, input *StartDBClusterInput, opts ...request.Option) (*StartDBClusterOutput, error) {
6323	req, out := c.StartDBClusterRequest(input)
6324	req.SetContext(ctx)
6325	req.ApplyOptions(opts...)
6326	return out, req.Send()
6327}
6328
6329const opStopDBCluster = "StopDBCluster"
6330
6331// StopDBClusterRequest generates a "aws/request.Request" representing the
6332// client's request for the StopDBCluster operation. The "output" return
6333// value will be populated with the request's response once the request completes
6334// successfully.
6335//
6336// Use "Send" method on the returned Request to send the API call to the service.
6337// the "output" return value is not valid until after Send returns without error.
6338//
6339// See StopDBCluster for more information on using the StopDBCluster
6340// API call, and error handling.
6341//
6342// This method is useful when you want to inject custom logic or configuration
6343// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6344//
6345//
6346//    // Example sending a request using the StopDBClusterRequest method.
6347//    req, resp := client.StopDBClusterRequest(params)
6348//
6349//    err := req.Send()
6350//    if err == nil { // resp is now filled
6351//        fmt.Println(resp)
6352//    }
6353//
6354// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/StopDBCluster
6355func (c *Neptune) StopDBClusterRequest(input *StopDBClusterInput) (req *request.Request, output *StopDBClusterOutput) {
6356	op := &request.Operation{
6357		Name:       opStopDBCluster,
6358		HTTPMethod: "POST",
6359		HTTPPath:   "/",
6360	}
6361
6362	if input == nil {
6363		input = &StopDBClusterInput{}
6364	}
6365
6366	output = &StopDBClusterOutput{}
6367	req = c.newRequest(op, input, output)
6368	return
6369}
6370
6371// StopDBCluster API operation for Amazon Neptune.
6372//
6373// Stops an Amazon Neptune DB cluster. When you stop a DB cluster, Neptune retains
6374// the DB cluster's metadata, including its endpoints and DB parameter groups.
6375//
6376// Neptune also retains the transaction logs so you can do a point-in-time restore
6377// if necessary.
6378//
6379// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6380// with awserr.Error's Code and Message methods to get detailed information about
6381// the error.
6382//
6383// See the AWS API reference guide for Amazon Neptune's
6384// API operation StopDBCluster for usage and error information.
6385//
6386// Returned Error Codes:
6387//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
6388//   DBClusterIdentifier does not refer to an existing DB cluster.
6389//
6390//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
6391//   The DB cluster is not in a valid state.
6392//
6393//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
6394//   The specified DB instance is not in the available state.
6395//
6396// See also, https://docs.aws.amazon.com/goto/WebAPI/neptune-2014-10-31/StopDBCluster
6397func (c *Neptune) StopDBCluster(input *StopDBClusterInput) (*StopDBClusterOutput, error) {
6398	req, out := c.StopDBClusterRequest(input)
6399	return out, req.Send()
6400}
6401
6402// StopDBClusterWithContext is the same as StopDBCluster with the addition of
6403// the ability to pass a context and additional request options.
6404//
6405// See StopDBCluster for details on how to use this API operation.
6406//
6407// The context must be non-nil and will be used for request cancellation. If
6408// the context is nil a panic will occur. In the future the SDK may create
6409// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6410// for more information on using Contexts.
6411func (c *Neptune) StopDBClusterWithContext(ctx aws.Context, input *StopDBClusterInput, opts ...request.Option) (*StopDBClusterOutput, error) {
6412	req, out := c.StopDBClusterRequest(input)
6413	req.SetContext(ctx)
6414	req.ApplyOptions(opts...)
6415	return out, req.Send()
6416}
6417
6418type AddRoleToDBClusterInput struct {
6419	_ struct{} `type:"structure"`
6420
6421	// The name of the DB cluster to associate the IAM role with.
6422	//
6423	// DBClusterIdentifier is a required field
6424	DBClusterIdentifier *string `type:"string" required:"true"`
6425
6426	// The name of the feature for the Neptune DB cluster that the IAM role is to
6427	// be associated with. For the list of supported feature names, see DBEngineVersion.
6428	FeatureName *string `type:"string"`
6429
6430	// The Amazon Resource Name (ARN) of the IAM role to associate with the Neptune
6431	// DB cluster, for example arn:aws:iam::123456789012:role/NeptuneAccessRole.
6432	//
6433	// RoleArn is a required field
6434	RoleArn *string `type:"string" required:"true"`
6435}
6436
6437// String returns the string representation
6438func (s AddRoleToDBClusterInput) String() string {
6439	return awsutil.Prettify(s)
6440}
6441
6442// GoString returns the string representation
6443func (s AddRoleToDBClusterInput) GoString() string {
6444	return s.String()
6445}
6446
6447// Validate inspects the fields of the type to determine if they are valid.
6448func (s *AddRoleToDBClusterInput) Validate() error {
6449	invalidParams := request.ErrInvalidParams{Context: "AddRoleToDBClusterInput"}
6450	if s.DBClusterIdentifier == nil {
6451		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
6452	}
6453	if s.RoleArn == nil {
6454		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
6455	}
6456
6457	if invalidParams.Len() > 0 {
6458		return invalidParams
6459	}
6460	return nil
6461}
6462
6463// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
6464func (s *AddRoleToDBClusterInput) SetDBClusterIdentifier(v string) *AddRoleToDBClusterInput {
6465	s.DBClusterIdentifier = &v
6466	return s
6467}
6468
6469// SetFeatureName sets the FeatureName field's value.
6470func (s *AddRoleToDBClusterInput) SetFeatureName(v string) *AddRoleToDBClusterInput {
6471	s.FeatureName = &v
6472	return s
6473}
6474
6475// SetRoleArn sets the RoleArn field's value.
6476func (s *AddRoleToDBClusterInput) SetRoleArn(v string) *AddRoleToDBClusterInput {
6477	s.RoleArn = &v
6478	return s
6479}
6480
6481type AddRoleToDBClusterOutput struct {
6482	_ struct{} `type:"structure"`
6483}
6484
6485// String returns the string representation
6486func (s AddRoleToDBClusterOutput) String() string {
6487	return awsutil.Prettify(s)
6488}
6489
6490// GoString returns the string representation
6491func (s AddRoleToDBClusterOutput) GoString() string {
6492	return s.String()
6493}
6494
6495type AddSourceIdentifierToSubscriptionInput struct {
6496	_ struct{} `type:"structure"`
6497
6498	// The identifier of the event source to be added.
6499	//
6500	// Constraints:
6501	//
6502	//    * If the source type is a DB instance, then a DBInstanceIdentifier must
6503	//    be supplied.
6504	//
6505	//    * If the source type is a DB security group, a DBSecurityGroupName must
6506	//    be supplied.
6507	//
6508	//    * If the source type is a DB parameter group, a DBParameterGroupName must
6509	//    be supplied.
6510	//
6511	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier must be
6512	//    supplied.
6513	//
6514	// SourceIdentifier is a required field
6515	SourceIdentifier *string `type:"string" required:"true"`
6516
6517	// The name of the event notification subscription you want to add a source
6518	// identifier to.
6519	//
6520	// SubscriptionName is a required field
6521	SubscriptionName *string `type:"string" required:"true"`
6522}
6523
6524// String returns the string representation
6525func (s AddSourceIdentifierToSubscriptionInput) String() string {
6526	return awsutil.Prettify(s)
6527}
6528
6529// GoString returns the string representation
6530func (s AddSourceIdentifierToSubscriptionInput) GoString() string {
6531	return s.String()
6532}
6533
6534// Validate inspects the fields of the type to determine if they are valid.
6535func (s *AddSourceIdentifierToSubscriptionInput) Validate() error {
6536	invalidParams := request.ErrInvalidParams{Context: "AddSourceIdentifierToSubscriptionInput"}
6537	if s.SourceIdentifier == nil {
6538		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
6539	}
6540	if s.SubscriptionName == nil {
6541		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
6542	}
6543
6544	if invalidParams.Len() > 0 {
6545		return invalidParams
6546	}
6547	return nil
6548}
6549
6550// SetSourceIdentifier sets the SourceIdentifier field's value.
6551func (s *AddSourceIdentifierToSubscriptionInput) SetSourceIdentifier(v string) *AddSourceIdentifierToSubscriptionInput {
6552	s.SourceIdentifier = &v
6553	return s
6554}
6555
6556// SetSubscriptionName sets the SubscriptionName field's value.
6557func (s *AddSourceIdentifierToSubscriptionInput) SetSubscriptionName(v string) *AddSourceIdentifierToSubscriptionInput {
6558	s.SubscriptionName = &v
6559	return s
6560}
6561
6562type AddSourceIdentifierToSubscriptionOutput struct {
6563	_ struct{} `type:"structure"`
6564
6565	// Contains the results of a successful invocation of the DescribeEventSubscriptions
6566	// action.
6567	EventSubscription *EventSubscription `type:"structure"`
6568}
6569
6570// String returns the string representation
6571func (s AddSourceIdentifierToSubscriptionOutput) String() string {
6572	return awsutil.Prettify(s)
6573}
6574
6575// GoString returns the string representation
6576func (s AddSourceIdentifierToSubscriptionOutput) GoString() string {
6577	return s.String()
6578}
6579
6580// SetEventSubscription sets the EventSubscription field's value.
6581func (s *AddSourceIdentifierToSubscriptionOutput) SetEventSubscription(v *EventSubscription) *AddSourceIdentifierToSubscriptionOutput {
6582	s.EventSubscription = v
6583	return s
6584}
6585
6586type AddTagsToResourceInput struct {
6587	_ struct{} `type:"structure"`
6588
6589	// The Amazon Neptune resource that the tags are added to. This value is an
6590	// Amazon Resource Name (ARN). For information about creating an ARN, see Constructing
6591	// an Amazon Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
6592	//
6593	// ResourceName is a required field
6594	ResourceName *string `type:"string" required:"true"`
6595
6596	// The tags to be assigned to the Amazon Neptune resource.
6597	//
6598	// Tags is a required field
6599	Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
6600}
6601
6602// String returns the string representation
6603func (s AddTagsToResourceInput) String() string {
6604	return awsutil.Prettify(s)
6605}
6606
6607// GoString returns the string representation
6608func (s AddTagsToResourceInput) GoString() string {
6609	return s.String()
6610}
6611
6612// Validate inspects the fields of the type to determine if they are valid.
6613func (s *AddTagsToResourceInput) Validate() error {
6614	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
6615	if s.ResourceName == nil {
6616		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
6617	}
6618	if s.Tags == nil {
6619		invalidParams.Add(request.NewErrParamRequired("Tags"))
6620	}
6621
6622	if invalidParams.Len() > 0 {
6623		return invalidParams
6624	}
6625	return nil
6626}
6627
6628// SetResourceName sets the ResourceName field's value.
6629func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput {
6630	s.ResourceName = &v
6631	return s
6632}
6633
6634// SetTags sets the Tags field's value.
6635func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
6636	s.Tags = v
6637	return s
6638}
6639
6640type AddTagsToResourceOutput struct {
6641	_ struct{} `type:"structure"`
6642}
6643
6644// String returns the string representation
6645func (s AddTagsToResourceOutput) String() string {
6646	return awsutil.Prettify(s)
6647}
6648
6649// GoString returns the string representation
6650func (s AddTagsToResourceOutput) GoString() string {
6651	return s.String()
6652}
6653
6654type ApplyPendingMaintenanceActionInput struct {
6655	_ struct{} `type:"structure"`
6656
6657	// The pending maintenance action to apply to this resource.
6658	//
6659	// Valid values: system-update, db-upgrade
6660	//
6661	// ApplyAction is a required field
6662	ApplyAction *string `type:"string" required:"true"`
6663
6664	// A value that specifies the type of opt-in request, or undoes an opt-in request.
6665	// An opt-in request of type immediate can't be undone.
6666	//
6667	// Valid values:
6668	//
6669	//    * immediate - Apply the maintenance action immediately.
6670	//
6671	//    * next-maintenance - Apply the maintenance action during the next maintenance
6672	//    window for the resource.
6673	//
6674	//    * undo-opt-in - Cancel any existing next-maintenance opt-in requests.
6675	//
6676	// OptInType is a required field
6677	OptInType *string `type:"string" required:"true"`
6678
6679	// The Amazon Resource Name (ARN) of the resource that the pending maintenance
6680	// action applies to. For information about creating an ARN, see Constructing
6681	// an Amazon Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
6682	//
6683	// ResourceIdentifier is a required field
6684	ResourceIdentifier *string `type:"string" required:"true"`
6685}
6686
6687// String returns the string representation
6688func (s ApplyPendingMaintenanceActionInput) String() string {
6689	return awsutil.Prettify(s)
6690}
6691
6692// GoString returns the string representation
6693func (s ApplyPendingMaintenanceActionInput) GoString() string {
6694	return s.String()
6695}
6696
6697// Validate inspects the fields of the type to determine if they are valid.
6698func (s *ApplyPendingMaintenanceActionInput) Validate() error {
6699	invalidParams := request.ErrInvalidParams{Context: "ApplyPendingMaintenanceActionInput"}
6700	if s.ApplyAction == nil {
6701		invalidParams.Add(request.NewErrParamRequired("ApplyAction"))
6702	}
6703	if s.OptInType == nil {
6704		invalidParams.Add(request.NewErrParamRequired("OptInType"))
6705	}
6706	if s.ResourceIdentifier == nil {
6707		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
6708	}
6709
6710	if invalidParams.Len() > 0 {
6711		return invalidParams
6712	}
6713	return nil
6714}
6715
6716// SetApplyAction sets the ApplyAction field's value.
6717func (s *ApplyPendingMaintenanceActionInput) SetApplyAction(v string) *ApplyPendingMaintenanceActionInput {
6718	s.ApplyAction = &v
6719	return s
6720}
6721
6722// SetOptInType sets the OptInType field's value.
6723func (s *ApplyPendingMaintenanceActionInput) SetOptInType(v string) *ApplyPendingMaintenanceActionInput {
6724	s.OptInType = &v
6725	return s
6726}
6727
6728// SetResourceIdentifier sets the ResourceIdentifier field's value.
6729func (s *ApplyPendingMaintenanceActionInput) SetResourceIdentifier(v string) *ApplyPendingMaintenanceActionInput {
6730	s.ResourceIdentifier = &v
6731	return s
6732}
6733
6734type ApplyPendingMaintenanceActionOutput struct {
6735	_ struct{} `type:"structure"`
6736
6737	// Describes the pending maintenance actions for a resource.
6738	ResourcePendingMaintenanceActions *ResourcePendingMaintenanceActions `type:"structure"`
6739}
6740
6741// String returns the string representation
6742func (s ApplyPendingMaintenanceActionOutput) String() string {
6743	return awsutil.Prettify(s)
6744}
6745
6746// GoString returns the string representation
6747func (s ApplyPendingMaintenanceActionOutput) GoString() string {
6748	return s.String()
6749}
6750
6751// SetResourcePendingMaintenanceActions sets the ResourcePendingMaintenanceActions field's value.
6752func (s *ApplyPendingMaintenanceActionOutput) SetResourcePendingMaintenanceActions(v *ResourcePendingMaintenanceActions) *ApplyPendingMaintenanceActionOutput {
6753	s.ResourcePendingMaintenanceActions = v
6754	return s
6755}
6756
6757// Specifies an Availability Zone.
6758type AvailabilityZone struct {
6759	_ struct{} `type:"structure"`
6760
6761	// The name of the availability zone.
6762	Name *string `type:"string"`
6763}
6764
6765// String returns the string representation
6766func (s AvailabilityZone) String() string {
6767	return awsutil.Prettify(s)
6768}
6769
6770// GoString returns the string representation
6771func (s AvailabilityZone) GoString() string {
6772	return s.String()
6773}
6774
6775// SetName sets the Name field's value.
6776func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
6777	s.Name = &v
6778	return s
6779}
6780
6781// Specifies a character set.
6782type CharacterSet struct {
6783	_ struct{} `type:"structure"`
6784
6785	// The description of the character set.
6786	CharacterSetDescription *string `type:"string"`
6787
6788	// The name of the character set.
6789	CharacterSetName *string `type:"string"`
6790}
6791
6792// String returns the string representation
6793func (s CharacterSet) String() string {
6794	return awsutil.Prettify(s)
6795}
6796
6797// GoString returns the string representation
6798func (s CharacterSet) GoString() string {
6799	return s.String()
6800}
6801
6802// SetCharacterSetDescription sets the CharacterSetDescription field's value.
6803func (s *CharacterSet) SetCharacterSetDescription(v string) *CharacterSet {
6804	s.CharacterSetDescription = &v
6805	return s
6806}
6807
6808// SetCharacterSetName sets the CharacterSetName field's value.
6809func (s *CharacterSet) SetCharacterSetName(v string) *CharacterSet {
6810	s.CharacterSetName = &v
6811	return s
6812}
6813
6814// The configuration setting for the log types to be enabled for export to CloudWatch
6815// Logs for a specific DB instance or DB cluster.
6816//
6817// The EnableLogTypes and DisableLogTypes arrays determine which logs will be
6818// exported (or not exported) to CloudWatch Logs.
6819type CloudwatchLogsExportConfiguration struct {
6820	_ struct{} `type:"structure"`
6821
6822	// The list of log types to disable.
6823	DisableLogTypes []*string `type:"list"`
6824
6825	// The list of log types to enable.
6826	EnableLogTypes []*string `type:"list"`
6827}
6828
6829// String returns the string representation
6830func (s CloudwatchLogsExportConfiguration) String() string {
6831	return awsutil.Prettify(s)
6832}
6833
6834// GoString returns the string representation
6835func (s CloudwatchLogsExportConfiguration) GoString() string {
6836	return s.String()
6837}
6838
6839// SetDisableLogTypes sets the DisableLogTypes field's value.
6840func (s *CloudwatchLogsExportConfiguration) SetDisableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
6841	s.DisableLogTypes = v
6842	return s
6843}
6844
6845// SetEnableLogTypes sets the EnableLogTypes field's value.
6846func (s *CloudwatchLogsExportConfiguration) SetEnableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
6847	s.EnableLogTypes = v
6848	return s
6849}
6850
6851type CopyDBClusterParameterGroupInput struct {
6852	_ struct{} `type:"structure"`
6853
6854	// The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter
6855	// group. For information about creating an ARN, see Constructing an Amazon
6856	// Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
6857	//
6858	// Constraints:
6859	//
6860	//    * Must specify a valid DB cluster parameter group.
6861	//
6862	//    * If the source DB cluster parameter group is in the same AWS Region as
6863	//    the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group,
6864	//    or a valid ARN.
6865	//
6866	//    * If the source DB parameter group is in a different AWS Region than the
6867	//    copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.
6868	//
6869	// SourceDBClusterParameterGroupIdentifier is a required field
6870	SourceDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
6871
6872	// The tags to be assigned to the copied DB cluster parameter group.
6873	Tags []*Tag `locationNameList:"Tag" type:"list"`
6874
6875	// A description for the copied DB cluster parameter group.
6876	//
6877	// TargetDBClusterParameterGroupDescription is a required field
6878	TargetDBClusterParameterGroupDescription *string `type:"string" required:"true"`
6879
6880	// The identifier for the copied DB cluster parameter group.
6881	//
6882	// Constraints:
6883	//
6884	//    * Cannot be null, empty, or blank
6885	//
6886	//    * Must contain from 1 to 255 letters, numbers, or hyphens
6887	//
6888	//    * First character must be a letter
6889	//
6890	//    * Cannot end with a hyphen or contain two consecutive hyphens
6891	//
6892	// Example: my-cluster-param-group1
6893	//
6894	// TargetDBClusterParameterGroupIdentifier is a required field
6895	TargetDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
6896}
6897
6898// String returns the string representation
6899func (s CopyDBClusterParameterGroupInput) String() string {
6900	return awsutil.Prettify(s)
6901}
6902
6903// GoString returns the string representation
6904func (s CopyDBClusterParameterGroupInput) GoString() string {
6905	return s.String()
6906}
6907
6908// Validate inspects the fields of the type to determine if they are valid.
6909func (s *CopyDBClusterParameterGroupInput) Validate() error {
6910	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterParameterGroupInput"}
6911	if s.SourceDBClusterParameterGroupIdentifier == nil {
6912		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterParameterGroupIdentifier"))
6913	}
6914	if s.TargetDBClusterParameterGroupDescription == nil {
6915		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupDescription"))
6916	}
6917	if s.TargetDBClusterParameterGroupIdentifier == nil {
6918		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupIdentifier"))
6919	}
6920
6921	if invalidParams.Len() > 0 {
6922		return invalidParams
6923	}
6924	return nil
6925}
6926
6927// SetSourceDBClusterParameterGroupIdentifier sets the SourceDBClusterParameterGroupIdentifier field's value.
6928func (s *CopyDBClusterParameterGroupInput) SetSourceDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
6929	s.SourceDBClusterParameterGroupIdentifier = &v
6930	return s
6931}
6932
6933// SetTags sets the Tags field's value.
6934func (s *CopyDBClusterParameterGroupInput) SetTags(v []*Tag) *CopyDBClusterParameterGroupInput {
6935	s.Tags = v
6936	return s
6937}
6938
6939// SetTargetDBClusterParameterGroupDescription sets the TargetDBClusterParameterGroupDescription field's value.
6940func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupDescription(v string) *CopyDBClusterParameterGroupInput {
6941	s.TargetDBClusterParameterGroupDescription = &v
6942	return s
6943}
6944
6945// SetTargetDBClusterParameterGroupIdentifier sets the TargetDBClusterParameterGroupIdentifier field's value.
6946func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
6947	s.TargetDBClusterParameterGroupIdentifier = &v
6948	return s
6949}
6950
6951type CopyDBClusterParameterGroupOutput struct {
6952	_ struct{} `type:"structure"`
6953
6954	// Contains the details of an Amazon Neptune DB cluster parameter group.
6955	//
6956	// This data type is used as a response element in the DescribeDBClusterParameterGroups
6957	// action.
6958	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
6959}
6960
6961// String returns the string representation
6962func (s CopyDBClusterParameterGroupOutput) String() string {
6963	return awsutil.Prettify(s)
6964}
6965
6966// GoString returns the string representation
6967func (s CopyDBClusterParameterGroupOutput) GoString() string {
6968	return s.String()
6969}
6970
6971// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
6972func (s *CopyDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CopyDBClusterParameterGroupOutput {
6973	s.DBClusterParameterGroup = v
6974	return s
6975}
6976
6977type CopyDBClusterSnapshotInput struct {
6978	_ struct{} `type:"structure"`
6979
6980	// True to copy all tags from the source DB cluster snapshot to the target DB
6981	// cluster snapshot, and otherwise false. The default is false.
6982	CopyTags *bool `type:"boolean"`
6983
6984	// The AWS AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key
6985	// ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key
6986	// alias for the KMS encryption key.
6987	//
6988	// If you copy an encrypted DB cluster snapshot from your AWS account, you can
6989	// specify a value for KmsKeyId to encrypt the copy with a new KMS encryption
6990	// key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster
6991	// snapshot is encrypted with the same KMS key as the source DB cluster snapshot.
6992	//
6993	// If you copy an encrypted DB cluster snapshot that is shared from another
6994	// AWS account, then you must specify a value for KmsKeyId.
6995	//
6996	// KMS encryption keys are specific to the AWS Region that they are created
6997	// in, and you can't use encryption keys from one AWS Region in another AWS
6998	// Region.
6999	//
7000	// You cannot encrypt an unencrypted DB cluster snapshot when you copy it. If
7001	// you try to copy an unencrypted DB cluster snapshot and specify a value for
7002	// the KmsKeyId parameter, an error is returned.
7003	KmsKeyId *string `type:"string"`
7004
7005	// Not currently supported.
7006	PreSignedUrl *string `type:"string"`
7007
7008	// The identifier of the DB cluster snapshot to copy. This parameter is not
7009	// case-sensitive.
7010	//
7011	// You can't copy from one AWS Region to another.
7012	//
7013	// Constraints:
7014	//
7015	//    * Must specify a valid system snapshot in the "available" state.
7016	//
7017	//    * Specify a valid DB snapshot identifier.
7018	//
7019	// Example: my-cluster-snapshot1
7020	//
7021	// SourceDBClusterSnapshotIdentifier is a required field
7022	SourceDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
7023
7024	// The tags to assign to the new DB cluster snapshot copy.
7025	Tags []*Tag `locationNameList:"Tag" type:"list"`
7026
7027	// The identifier of the new DB cluster snapshot to create from the source DB
7028	// cluster snapshot. This parameter is not case-sensitive.
7029	//
7030	// Constraints:
7031	//
7032	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
7033	//
7034	//    * First character must be a letter.
7035	//
7036	//    * Cannot end with a hyphen or contain two consecutive hyphens.
7037	//
7038	// Example: my-cluster-snapshot2
7039	//
7040	// TargetDBClusterSnapshotIdentifier is a required field
7041	TargetDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
7042}
7043
7044// String returns the string representation
7045func (s CopyDBClusterSnapshotInput) String() string {
7046	return awsutil.Prettify(s)
7047}
7048
7049// GoString returns the string representation
7050func (s CopyDBClusterSnapshotInput) GoString() string {
7051	return s.String()
7052}
7053
7054// Validate inspects the fields of the type to determine if they are valid.
7055func (s *CopyDBClusterSnapshotInput) Validate() error {
7056	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterSnapshotInput"}
7057	if s.SourceDBClusterSnapshotIdentifier == nil {
7058		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterSnapshotIdentifier"))
7059	}
7060	if s.TargetDBClusterSnapshotIdentifier == nil {
7061		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterSnapshotIdentifier"))
7062	}
7063
7064	if invalidParams.Len() > 0 {
7065		return invalidParams
7066	}
7067	return nil
7068}
7069
7070// SetCopyTags sets the CopyTags field's value.
7071func (s *CopyDBClusterSnapshotInput) SetCopyTags(v bool) *CopyDBClusterSnapshotInput {
7072	s.CopyTags = &v
7073	return s
7074}
7075
7076// SetKmsKeyId sets the KmsKeyId field's value.
7077func (s *CopyDBClusterSnapshotInput) SetKmsKeyId(v string) *CopyDBClusterSnapshotInput {
7078	s.KmsKeyId = &v
7079	return s
7080}
7081
7082// SetPreSignedUrl sets the PreSignedUrl field's value.
7083func (s *CopyDBClusterSnapshotInput) SetPreSignedUrl(v string) *CopyDBClusterSnapshotInput {
7084	s.PreSignedUrl = &v
7085	return s
7086}
7087
7088// SetSourceDBClusterSnapshotIdentifier sets the SourceDBClusterSnapshotIdentifier field's value.
7089func (s *CopyDBClusterSnapshotInput) SetSourceDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
7090	s.SourceDBClusterSnapshotIdentifier = &v
7091	return s
7092}
7093
7094// SetTags sets the Tags field's value.
7095func (s *CopyDBClusterSnapshotInput) SetTags(v []*Tag) *CopyDBClusterSnapshotInput {
7096	s.Tags = v
7097	return s
7098}
7099
7100// SetTargetDBClusterSnapshotIdentifier sets the TargetDBClusterSnapshotIdentifier field's value.
7101func (s *CopyDBClusterSnapshotInput) SetTargetDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
7102	s.TargetDBClusterSnapshotIdentifier = &v
7103	return s
7104}
7105
7106type CopyDBClusterSnapshotOutput struct {
7107	_ struct{} `type:"structure"`
7108
7109	// Contains the details for an Amazon Neptune DB cluster snapshot
7110	//
7111	// This data type is used as a response element in the DescribeDBClusterSnapshots
7112	// action.
7113	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
7114}
7115
7116// String returns the string representation
7117func (s CopyDBClusterSnapshotOutput) String() string {
7118	return awsutil.Prettify(s)
7119}
7120
7121// GoString returns the string representation
7122func (s CopyDBClusterSnapshotOutput) GoString() string {
7123	return s.String()
7124}
7125
7126// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
7127func (s *CopyDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CopyDBClusterSnapshotOutput {
7128	s.DBClusterSnapshot = v
7129	return s
7130}
7131
7132type CopyDBParameterGroupInput struct {
7133	_ struct{} `type:"structure"`
7134
7135	// The identifier or ARN for the source DB parameter group. For information
7136	// 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).
7137	//
7138	// Constraints:
7139	//
7140	//    * Must specify a valid DB parameter group.
7141	//
7142	//    * Must specify a valid DB parameter group identifier, for example my-db-param-group,
7143	//    or a valid ARN.
7144	//
7145	// SourceDBParameterGroupIdentifier is a required field
7146	SourceDBParameterGroupIdentifier *string `type:"string" required:"true"`
7147
7148	// The tags to be assigned to the copied DB parameter group.
7149	Tags []*Tag `locationNameList:"Tag" type:"list"`
7150
7151	// A description for the copied DB parameter group.
7152	//
7153	// TargetDBParameterGroupDescription is a required field
7154	TargetDBParameterGroupDescription *string `type:"string" required:"true"`
7155
7156	// The identifier for the copied DB parameter group.
7157	//
7158	// Constraints:
7159	//
7160	//    * Cannot be null, empty, or blank.
7161	//
7162	//    * Must contain from 1 to 255 letters, numbers, or hyphens.
7163	//
7164	//    * First character must be a letter.
7165	//
7166	//    * Cannot end with a hyphen or contain two consecutive hyphens.
7167	//
7168	// Example: my-db-parameter-group
7169	//
7170	// TargetDBParameterGroupIdentifier is a required field
7171	TargetDBParameterGroupIdentifier *string `type:"string" required:"true"`
7172}
7173
7174// String returns the string representation
7175func (s CopyDBParameterGroupInput) String() string {
7176	return awsutil.Prettify(s)
7177}
7178
7179// GoString returns the string representation
7180func (s CopyDBParameterGroupInput) GoString() string {
7181	return s.String()
7182}
7183
7184// Validate inspects the fields of the type to determine if they are valid.
7185func (s *CopyDBParameterGroupInput) Validate() error {
7186	invalidParams := request.ErrInvalidParams{Context: "CopyDBParameterGroupInput"}
7187	if s.SourceDBParameterGroupIdentifier == nil {
7188		invalidParams.Add(request.NewErrParamRequired("SourceDBParameterGroupIdentifier"))
7189	}
7190	if s.TargetDBParameterGroupDescription == nil {
7191		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupDescription"))
7192	}
7193	if s.TargetDBParameterGroupIdentifier == nil {
7194		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupIdentifier"))
7195	}
7196
7197	if invalidParams.Len() > 0 {
7198		return invalidParams
7199	}
7200	return nil
7201}
7202
7203// SetSourceDBParameterGroupIdentifier sets the SourceDBParameterGroupIdentifier field's value.
7204func (s *CopyDBParameterGroupInput) SetSourceDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
7205	s.SourceDBParameterGroupIdentifier = &v
7206	return s
7207}
7208
7209// SetTags sets the Tags field's value.
7210func (s *CopyDBParameterGroupInput) SetTags(v []*Tag) *CopyDBParameterGroupInput {
7211	s.Tags = v
7212	return s
7213}
7214
7215// SetTargetDBParameterGroupDescription sets the TargetDBParameterGroupDescription field's value.
7216func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupDescription(v string) *CopyDBParameterGroupInput {
7217	s.TargetDBParameterGroupDescription = &v
7218	return s
7219}
7220
7221// SetTargetDBParameterGroupIdentifier sets the TargetDBParameterGroupIdentifier field's value.
7222func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
7223	s.TargetDBParameterGroupIdentifier = &v
7224	return s
7225}
7226
7227type CopyDBParameterGroupOutput struct {
7228	_ struct{} `type:"structure"`
7229
7230	// Contains the details of an Amazon Neptune DB parameter group.
7231	//
7232	// This data type is used as a response element in the DescribeDBParameterGroups
7233	// action.
7234	DBParameterGroup *DBParameterGroup `type:"structure"`
7235}
7236
7237// String returns the string representation
7238func (s CopyDBParameterGroupOutput) String() string {
7239	return awsutil.Prettify(s)
7240}
7241
7242// GoString returns the string representation
7243func (s CopyDBParameterGroupOutput) GoString() string {
7244	return s.String()
7245}
7246
7247// SetDBParameterGroup sets the DBParameterGroup field's value.
7248func (s *CopyDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CopyDBParameterGroupOutput {
7249	s.DBParameterGroup = v
7250	return s
7251}
7252
7253type CreateDBClusterEndpointInput struct {
7254	_ struct{} `type:"structure"`
7255
7256	// The identifier to use for the new endpoint. This parameter is stored as a
7257	// lowercase string.
7258	//
7259	// DBClusterEndpointIdentifier is a required field
7260	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
7261
7262	// The DB cluster identifier of the DB cluster associated with the endpoint.
7263	// This parameter is stored as a lowercase string.
7264	//
7265	// DBClusterIdentifier is a required field
7266	DBClusterIdentifier *string `type:"string" required:"true"`
7267
7268	// The type of the endpoint. One of: READER, WRITER, ANY.
7269	//
7270	// EndpointType is a required field
7271	EndpointType *string `type:"string" required:"true"`
7272
7273	// List of DB instance identifiers that aren't part of the custom endpoint group.
7274	// All other eligible instances are reachable through the custom endpoint. Only
7275	// relevant if the list of static members is empty.
7276	ExcludedMembers []*string `type:"list"`
7277
7278	// List of DB instance identifiers that are part of the custom endpoint group.
7279	StaticMembers []*string `type:"list"`
7280
7281	// The tags to be assigned to the Amazon Neptune resource.
7282	Tags []*Tag `locationNameList:"Tag" type:"list"`
7283}
7284
7285// String returns the string representation
7286func (s CreateDBClusterEndpointInput) String() string {
7287	return awsutil.Prettify(s)
7288}
7289
7290// GoString returns the string representation
7291func (s CreateDBClusterEndpointInput) GoString() string {
7292	return s.String()
7293}
7294
7295// Validate inspects the fields of the type to determine if they are valid.
7296func (s *CreateDBClusterEndpointInput) Validate() error {
7297	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterEndpointInput"}
7298	if s.DBClusterEndpointIdentifier == nil {
7299		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
7300	}
7301	if s.DBClusterIdentifier == nil {
7302		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
7303	}
7304	if s.EndpointType == nil {
7305		invalidParams.Add(request.NewErrParamRequired("EndpointType"))
7306	}
7307
7308	if invalidParams.Len() > 0 {
7309		return invalidParams
7310	}
7311	return nil
7312}
7313
7314// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
7315func (s *CreateDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *CreateDBClusterEndpointInput {
7316	s.DBClusterEndpointIdentifier = &v
7317	return s
7318}
7319
7320// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
7321func (s *CreateDBClusterEndpointInput) SetDBClusterIdentifier(v string) *CreateDBClusterEndpointInput {
7322	s.DBClusterIdentifier = &v
7323	return s
7324}
7325
7326// SetEndpointType sets the EndpointType field's value.
7327func (s *CreateDBClusterEndpointInput) SetEndpointType(v string) *CreateDBClusterEndpointInput {
7328	s.EndpointType = &v
7329	return s
7330}
7331
7332// SetExcludedMembers sets the ExcludedMembers field's value.
7333func (s *CreateDBClusterEndpointInput) SetExcludedMembers(v []*string) *CreateDBClusterEndpointInput {
7334	s.ExcludedMembers = v
7335	return s
7336}
7337
7338// SetStaticMembers sets the StaticMembers field's value.
7339func (s *CreateDBClusterEndpointInput) SetStaticMembers(v []*string) *CreateDBClusterEndpointInput {
7340	s.StaticMembers = v
7341	return s
7342}
7343
7344// SetTags sets the Tags field's value.
7345func (s *CreateDBClusterEndpointInput) SetTags(v []*Tag) *CreateDBClusterEndpointInput {
7346	s.Tags = v
7347	return s
7348}
7349
7350// This data type represents the information you need to connect to an Amazon
7351// Neptune DB cluster. This data type is used as a response element in the following
7352// actions:
7353//
7354//    * CreateDBClusterEndpoint
7355//
7356//    * DescribeDBClusterEndpoints
7357//
7358//    * ModifyDBClusterEndpoint
7359//
7360//    * DeleteDBClusterEndpoint
7361//
7362// For the data structure that represents Amazon Neptune DB instance endpoints,
7363// see Endpoint.
7364type CreateDBClusterEndpointOutput struct {
7365	_ struct{} `type:"structure"`
7366
7367	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
7368	CustomEndpointType *string `type:"string"`
7369
7370	// The Amazon Resource Name (ARN) for the endpoint.
7371	DBClusterEndpointArn *string `type:"string"`
7372
7373	// The identifier associated with the endpoint. This parameter is stored as
7374	// a lowercase string.
7375	DBClusterEndpointIdentifier *string `type:"string"`
7376
7377	// A unique system-generated identifier for an endpoint. It remains the same
7378	// for the whole life of the endpoint.
7379	DBClusterEndpointResourceIdentifier *string `type:"string"`
7380
7381	// The DB cluster identifier of the DB cluster associated with the endpoint.
7382	// This parameter is stored as a lowercase string.
7383	DBClusterIdentifier *string `type:"string"`
7384
7385	// The DNS address of the endpoint.
7386	Endpoint *string `type:"string"`
7387
7388	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
7389	EndpointType *string `type:"string"`
7390
7391	// List of DB instance identifiers that aren't part of the custom endpoint group.
7392	// All other eligible instances are reachable through the custom endpoint. Only
7393	// relevant if the list of static members is empty.
7394	ExcludedMembers []*string `type:"list"`
7395
7396	// List of DB instance identifiers that are part of the custom endpoint group.
7397	StaticMembers []*string `type:"list"`
7398
7399	// The current status of the endpoint. One of: creating, available, deleting,
7400	// inactive, modifying. The inactive state applies to an endpoint that cannot
7401	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
7402	// secondary cluster in a global database.
7403	Status *string `type:"string"`
7404}
7405
7406// String returns the string representation
7407func (s CreateDBClusterEndpointOutput) String() string {
7408	return awsutil.Prettify(s)
7409}
7410
7411// GoString returns the string representation
7412func (s CreateDBClusterEndpointOutput) GoString() string {
7413	return s.String()
7414}
7415
7416// SetCustomEndpointType sets the CustomEndpointType field's value.
7417func (s *CreateDBClusterEndpointOutput) SetCustomEndpointType(v string) *CreateDBClusterEndpointOutput {
7418	s.CustomEndpointType = &v
7419	return s
7420}
7421
7422// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
7423func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *CreateDBClusterEndpointOutput {
7424	s.DBClusterEndpointArn = &v
7425	return s
7426}
7427
7428// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
7429func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *CreateDBClusterEndpointOutput {
7430	s.DBClusterEndpointIdentifier = &v
7431	return s
7432}
7433
7434// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
7435func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *CreateDBClusterEndpointOutput {
7436	s.DBClusterEndpointResourceIdentifier = &v
7437	return s
7438}
7439
7440// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
7441func (s *CreateDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *CreateDBClusterEndpointOutput {
7442	s.DBClusterIdentifier = &v
7443	return s
7444}
7445
7446// SetEndpoint sets the Endpoint field's value.
7447func (s *CreateDBClusterEndpointOutput) SetEndpoint(v string) *CreateDBClusterEndpointOutput {
7448	s.Endpoint = &v
7449	return s
7450}
7451
7452// SetEndpointType sets the EndpointType field's value.
7453func (s *CreateDBClusterEndpointOutput) SetEndpointType(v string) *CreateDBClusterEndpointOutput {
7454	s.EndpointType = &v
7455	return s
7456}
7457
7458// SetExcludedMembers sets the ExcludedMembers field's value.
7459func (s *CreateDBClusterEndpointOutput) SetExcludedMembers(v []*string) *CreateDBClusterEndpointOutput {
7460	s.ExcludedMembers = v
7461	return s
7462}
7463
7464// SetStaticMembers sets the StaticMembers field's value.
7465func (s *CreateDBClusterEndpointOutput) SetStaticMembers(v []*string) *CreateDBClusterEndpointOutput {
7466	s.StaticMembers = v
7467	return s
7468}
7469
7470// SetStatus sets the Status field's value.
7471func (s *CreateDBClusterEndpointOutput) SetStatus(v string) *CreateDBClusterEndpointOutput {
7472	s.Status = &v
7473	return s
7474}
7475
7476type CreateDBClusterInput struct {
7477	_ struct{} `type:"structure"`
7478
7479	// A list of EC2 Availability Zones that instances in the DB cluster can be
7480	// created in.
7481	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
7482
7483	// The number of days for which automated backups are retained. You must specify
7484	// a minimum value of 1.
7485	//
7486	// Default: 1
7487	//
7488	// Constraints:
7489	//
7490	//    * Must be a value from 1 to 35
7491	BackupRetentionPeriod *int64 `type:"integer"`
7492
7493	// (Not supported by Neptune)
7494	CharacterSetName *string `type:"string"`
7495
7496	// The DB cluster identifier. This parameter is stored as a lowercase string.
7497	//
7498	// Constraints:
7499	//
7500	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
7501	//
7502	//    * First character must be a letter.
7503	//
7504	//    * Cannot end with a hyphen or contain two consecutive hyphens.
7505	//
7506	// Example: my-cluster1
7507	//
7508	// DBClusterIdentifier is a required field
7509	DBClusterIdentifier *string `type:"string" required:"true"`
7510
7511	// The name of the DB cluster parameter group to associate with this DB cluster.
7512	// If this argument is omitted, the default is used.
7513	//
7514	// Constraints:
7515	//
7516	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
7517	DBClusterParameterGroupName *string `type:"string"`
7518
7519	// A DB subnet group to associate with this DB cluster.
7520	//
7521	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
7522	// default.
7523	//
7524	// Example: mySubnetgroup
7525	DBSubnetGroupName *string `type:"string"`
7526
7527	// The name for your database of up to 64 alpha-numeric characters. If you do
7528	// not provide a name, Amazon Neptune will not create a database in the DB cluster
7529	// you are creating.
7530	DatabaseName *string `type:"string"`
7531
7532	// A value that indicates whether the DB cluster has deletion protection enabled.
7533	// The database can't be deleted when deletion protection is enabled. By default,
7534	// deletion protection is enabled.
7535	DeletionProtection *bool `type:"boolean"`
7536
7537	// The list of log types that need to be enabled for exporting to CloudWatch
7538	// Logs.
7539	EnableCloudwatchLogsExports []*string `type:"list"`
7540
7541	// Not supported by Neptune.
7542	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
7543
7544	// The name of the database engine to be used for this DB cluster.
7545	//
7546	// Valid Values: neptune
7547	//
7548	// Engine is a required field
7549	Engine *string `type:"string" required:"true"`
7550
7551	// The version number of the database engine to use for the new DB cluster.
7552	//
7553	// Example: 1.0.2.1
7554	EngineVersion *string `type:"string"`
7555
7556	// The AWS KMS key identifier for an encrypted DB cluster.
7557	//
7558	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
7559	// key. If you are creating a DB cluster with the same AWS account that owns
7560	// the KMS encryption key used to encrypt the new DB cluster, then you can use
7561	// the KMS key alias instead of the ARN for the KMS encryption key.
7562	//
7563	// If an encryption key is not specified in KmsKeyId:
7564	//
7565	//    * If ReplicationSourceIdentifier identifies an encrypted source, then
7566	//    Amazon Neptune will use the encryption key used to encrypt the source.
7567	//    Otherwise, Amazon Neptune will use your default encryption key.
7568	//
7569	//    * If the StorageEncrypted parameter is true and ReplicationSourceIdentifier
7570	//    is not specified, then Amazon Neptune will use your default encryption
7571	//    key.
7572	//
7573	// AWS KMS creates the default encryption key for your AWS account. Your AWS
7574	// account has a different default encryption key for each AWS Region.
7575	//
7576	// If you create a Read Replica of an encrypted DB cluster in another AWS Region,
7577	// you must set KmsKeyId to a KMS key ID that is valid in the destination AWS
7578	// Region. This key is used to encrypt the Read Replica in that AWS Region.
7579	KmsKeyId *string `type:"string"`
7580
7581	// The password for the master database user. This password can contain any
7582	// printable ASCII character except "/", """, or "@".
7583	//
7584	// Constraints: Must contain from 8 to 41 characters.
7585	MasterUserPassword *string `type:"string"`
7586
7587	// The name of the master user for the DB cluster.
7588	//
7589	// Constraints:
7590	//
7591	//    * Must be 1 to 16 letters or numbers.
7592	//
7593	//    * First character must be a letter.
7594	//
7595	//    * Cannot be a reserved word for the chosen database engine.
7596	MasterUsername *string `type:"string"`
7597
7598	// (Not supported by Neptune)
7599	OptionGroupName *string `type:"string"`
7600
7601	// The port number on which the instances in the DB cluster accept connections.
7602	//
7603	// Default: 8182
7604	Port *int64 `type:"integer"`
7605
7606	// This parameter is not currently supported.
7607	PreSignedUrl *string `type:"string"`
7608
7609	// The daily time range during which automated backups are created if automated
7610	// backups are enabled using the BackupRetentionPeriod parameter.
7611	//
7612	// The default is a 30-minute window selected at random from an 8-hour block
7613	// of time for each AWS Region. To see the time blocks available, see Adjusting
7614	// the Preferred Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
7615	// in the Amazon Neptune User Guide.
7616	//
7617	// Constraints:
7618	//
7619	//    * Must be in the format hh24:mi-hh24:mi.
7620	//
7621	//    * Must be in Universal Coordinated Time (UTC).
7622	//
7623	//    * Must not conflict with the preferred maintenance window.
7624	//
7625	//    * Must be at least 30 minutes.
7626	PreferredBackupWindow *string `type:"string"`
7627
7628	// The weekly time range during which system maintenance can occur, in Universal
7629	// Coordinated Time (UTC).
7630	//
7631	// Format: ddd:hh24:mi-ddd:hh24:mi
7632	//
7633	// The default is a 30-minute window selected at random from an 8-hour block
7634	// of time for each AWS Region, occurring on a random day of the week. To see
7635	// the time blocks available, see Adjusting the Preferred Maintenance Window
7636	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
7637	// in the Amazon Neptune User Guide.
7638	//
7639	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
7640	//
7641	// Constraints: Minimum 30-minute window.
7642	PreferredMaintenanceWindow *string `type:"string"`
7643
7644	// The Amazon Resource Name (ARN) of the source DB instance or DB cluster if
7645	// this DB cluster is created as a Read Replica.
7646	ReplicationSourceIdentifier *string `type:"string"`
7647
7648	// Specifies whether the DB cluster is encrypted.
7649	StorageEncrypted *bool `type:"boolean"`
7650
7651	// The tags to assign to the new DB cluster.
7652	Tags []*Tag `locationNameList:"Tag" type:"list"`
7653
7654	// A list of EC2 VPC security groups to associate with this DB cluster.
7655	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
7656}
7657
7658// String returns the string representation
7659func (s CreateDBClusterInput) String() string {
7660	return awsutil.Prettify(s)
7661}
7662
7663// GoString returns the string representation
7664func (s CreateDBClusterInput) GoString() string {
7665	return s.String()
7666}
7667
7668// Validate inspects the fields of the type to determine if they are valid.
7669func (s *CreateDBClusterInput) Validate() error {
7670	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterInput"}
7671	if s.DBClusterIdentifier == nil {
7672		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
7673	}
7674	if s.Engine == nil {
7675		invalidParams.Add(request.NewErrParamRequired("Engine"))
7676	}
7677
7678	if invalidParams.Len() > 0 {
7679		return invalidParams
7680	}
7681	return nil
7682}
7683
7684// SetAvailabilityZones sets the AvailabilityZones field's value.
7685func (s *CreateDBClusterInput) SetAvailabilityZones(v []*string) *CreateDBClusterInput {
7686	s.AvailabilityZones = v
7687	return s
7688}
7689
7690// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
7691func (s *CreateDBClusterInput) SetBackupRetentionPeriod(v int64) *CreateDBClusterInput {
7692	s.BackupRetentionPeriod = &v
7693	return s
7694}
7695
7696// SetCharacterSetName sets the CharacterSetName field's value.
7697func (s *CreateDBClusterInput) SetCharacterSetName(v string) *CreateDBClusterInput {
7698	s.CharacterSetName = &v
7699	return s
7700}
7701
7702// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
7703func (s *CreateDBClusterInput) SetDBClusterIdentifier(v string) *CreateDBClusterInput {
7704	s.DBClusterIdentifier = &v
7705	return s
7706}
7707
7708// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
7709func (s *CreateDBClusterInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterInput {
7710	s.DBClusterParameterGroupName = &v
7711	return s
7712}
7713
7714// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
7715func (s *CreateDBClusterInput) SetDBSubnetGroupName(v string) *CreateDBClusterInput {
7716	s.DBSubnetGroupName = &v
7717	return s
7718}
7719
7720// SetDatabaseName sets the DatabaseName field's value.
7721func (s *CreateDBClusterInput) SetDatabaseName(v string) *CreateDBClusterInput {
7722	s.DatabaseName = &v
7723	return s
7724}
7725
7726// SetDeletionProtection sets the DeletionProtection field's value.
7727func (s *CreateDBClusterInput) SetDeletionProtection(v bool) *CreateDBClusterInput {
7728	s.DeletionProtection = &v
7729	return s
7730}
7731
7732// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
7733func (s *CreateDBClusterInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBClusterInput {
7734	s.EnableCloudwatchLogsExports = v
7735	return s
7736}
7737
7738// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
7739func (s *CreateDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBClusterInput {
7740	s.EnableIAMDatabaseAuthentication = &v
7741	return s
7742}
7743
7744// SetEngine sets the Engine field's value.
7745func (s *CreateDBClusterInput) SetEngine(v string) *CreateDBClusterInput {
7746	s.Engine = &v
7747	return s
7748}
7749
7750// SetEngineVersion sets the EngineVersion field's value.
7751func (s *CreateDBClusterInput) SetEngineVersion(v string) *CreateDBClusterInput {
7752	s.EngineVersion = &v
7753	return s
7754}
7755
7756// SetKmsKeyId sets the KmsKeyId field's value.
7757func (s *CreateDBClusterInput) SetKmsKeyId(v string) *CreateDBClusterInput {
7758	s.KmsKeyId = &v
7759	return s
7760}
7761
7762// SetMasterUserPassword sets the MasterUserPassword field's value.
7763func (s *CreateDBClusterInput) SetMasterUserPassword(v string) *CreateDBClusterInput {
7764	s.MasterUserPassword = &v
7765	return s
7766}
7767
7768// SetMasterUsername sets the MasterUsername field's value.
7769func (s *CreateDBClusterInput) SetMasterUsername(v string) *CreateDBClusterInput {
7770	s.MasterUsername = &v
7771	return s
7772}
7773
7774// SetOptionGroupName sets the OptionGroupName field's value.
7775func (s *CreateDBClusterInput) SetOptionGroupName(v string) *CreateDBClusterInput {
7776	s.OptionGroupName = &v
7777	return s
7778}
7779
7780// SetPort sets the Port field's value.
7781func (s *CreateDBClusterInput) SetPort(v int64) *CreateDBClusterInput {
7782	s.Port = &v
7783	return s
7784}
7785
7786// SetPreSignedUrl sets the PreSignedUrl field's value.
7787func (s *CreateDBClusterInput) SetPreSignedUrl(v string) *CreateDBClusterInput {
7788	s.PreSignedUrl = &v
7789	return s
7790}
7791
7792// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
7793func (s *CreateDBClusterInput) SetPreferredBackupWindow(v string) *CreateDBClusterInput {
7794	s.PreferredBackupWindow = &v
7795	return s
7796}
7797
7798// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
7799func (s *CreateDBClusterInput) SetPreferredMaintenanceWindow(v string) *CreateDBClusterInput {
7800	s.PreferredMaintenanceWindow = &v
7801	return s
7802}
7803
7804// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
7805func (s *CreateDBClusterInput) SetReplicationSourceIdentifier(v string) *CreateDBClusterInput {
7806	s.ReplicationSourceIdentifier = &v
7807	return s
7808}
7809
7810// SetStorageEncrypted sets the StorageEncrypted field's value.
7811func (s *CreateDBClusterInput) SetStorageEncrypted(v bool) *CreateDBClusterInput {
7812	s.StorageEncrypted = &v
7813	return s
7814}
7815
7816// SetTags sets the Tags field's value.
7817func (s *CreateDBClusterInput) SetTags(v []*Tag) *CreateDBClusterInput {
7818	s.Tags = v
7819	return s
7820}
7821
7822// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
7823func (s *CreateDBClusterInput) SetVpcSecurityGroupIds(v []*string) *CreateDBClusterInput {
7824	s.VpcSecurityGroupIds = v
7825	return s
7826}
7827
7828type CreateDBClusterOutput struct {
7829	_ struct{} `type:"structure"`
7830
7831	// Contains the details of an Amazon Neptune DB cluster.
7832	//
7833	// This data type is used as a response element in the DescribeDBClusters action.
7834	DBCluster *DBCluster `type:"structure"`
7835}
7836
7837// String returns the string representation
7838func (s CreateDBClusterOutput) String() string {
7839	return awsutil.Prettify(s)
7840}
7841
7842// GoString returns the string representation
7843func (s CreateDBClusterOutput) GoString() string {
7844	return s.String()
7845}
7846
7847// SetDBCluster sets the DBCluster field's value.
7848func (s *CreateDBClusterOutput) SetDBCluster(v *DBCluster) *CreateDBClusterOutput {
7849	s.DBCluster = v
7850	return s
7851}
7852
7853type CreateDBClusterParameterGroupInput struct {
7854	_ struct{} `type:"structure"`
7855
7856	// The name of the DB cluster parameter group.
7857	//
7858	// Constraints:
7859	//
7860	//    * Must match the name of an existing DBClusterParameterGroup.
7861	//
7862	// This value is stored as a lowercase string.
7863	//
7864	// DBClusterParameterGroupName is a required field
7865	DBClusterParameterGroupName *string `type:"string" required:"true"`
7866
7867	// The DB cluster parameter group family name. A DB cluster parameter group
7868	// can be associated with one and only one DB cluster parameter group family,
7869	// and can be applied only to a DB cluster running a database engine and engine
7870	// version compatible with that DB cluster parameter group family.
7871	//
7872	// DBParameterGroupFamily is a required field
7873	DBParameterGroupFamily *string `type:"string" required:"true"`
7874
7875	// The description for the DB cluster parameter group.
7876	//
7877	// Description is a required field
7878	Description *string `type:"string" required:"true"`
7879
7880	// The tags to be assigned to the new DB cluster parameter group.
7881	Tags []*Tag `locationNameList:"Tag" type:"list"`
7882}
7883
7884// String returns the string representation
7885func (s CreateDBClusterParameterGroupInput) String() string {
7886	return awsutil.Prettify(s)
7887}
7888
7889// GoString returns the string representation
7890func (s CreateDBClusterParameterGroupInput) GoString() string {
7891	return s.String()
7892}
7893
7894// Validate inspects the fields of the type to determine if they are valid.
7895func (s *CreateDBClusterParameterGroupInput) Validate() error {
7896	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterParameterGroupInput"}
7897	if s.DBClusterParameterGroupName == nil {
7898		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
7899	}
7900	if s.DBParameterGroupFamily == nil {
7901		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
7902	}
7903	if s.Description == nil {
7904		invalidParams.Add(request.NewErrParamRequired("Description"))
7905	}
7906
7907	if invalidParams.Len() > 0 {
7908		return invalidParams
7909	}
7910	return nil
7911}
7912
7913// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
7914func (s *CreateDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterParameterGroupInput {
7915	s.DBClusterParameterGroupName = &v
7916	return s
7917}
7918
7919// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
7920func (s *CreateDBClusterParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBClusterParameterGroupInput {
7921	s.DBParameterGroupFamily = &v
7922	return s
7923}
7924
7925// SetDescription sets the Description field's value.
7926func (s *CreateDBClusterParameterGroupInput) SetDescription(v string) *CreateDBClusterParameterGroupInput {
7927	s.Description = &v
7928	return s
7929}
7930
7931// SetTags sets the Tags field's value.
7932func (s *CreateDBClusterParameterGroupInput) SetTags(v []*Tag) *CreateDBClusterParameterGroupInput {
7933	s.Tags = v
7934	return s
7935}
7936
7937type CreateDBClusterParameterGroupOutput struct {
7938	_ struct{} `type:"structure"`
7939
7940	// Contains the details of an Amazon Neptune DB cluster parameter group.
7941	//
7942	// This data type is used as a response element in the DescribeDBClusterParameterGroups
7943	// action.
7944	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
7945}
7946
7947// String returns the string representation
7948func (s CreateDBClusterParameterGroupOutput) String() string {
7949	return awsutil.Prettify(s)
7950}
7951
7952// GoString returns the string representation
7953func (s CreateDBClusterParameterGroupOutput) GoString() string {
7954	return s.String()
7955}
7956
7957// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
7958func (s *CreateDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CreateDBClusterParameterGroupOutput {
7959	s.DBClusterParameterGroup = v
7960	return s
7961}
7962
7963type CreateDBClusterSnapshotInput struct {
7964	_ struct{} `type:"structure"`
7965
7966	// The identifier of the DB cluster to create a snapshot for. This parameter
7967	// is not case-sensitive.
7968	//
7969	// Constraints:
7970	//
7971	//    * Must match the identifier of an existing DBCluster.
7972	//
7973	// Example: my-cluster1
7974	//
7975	// DBClusterIdentifier is a required field
7976	DBClusterIdentifier *string `type:"string" required:"true"`
7977
7978	// The identifier of the DB cluster snapshot. This parameter is stored as a
7979	// lowercase string.
7980	//
7981	// Constraints:
7982	//
7983	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
7984	//
7985	//    * First character must be a letter.
7986	//
7987	//    * Cannot end with a hyphen or contain two consecutive hyphens.
7988	//
7989	// Example: my-cluster1-snapshot1
7990	//
7991	// DBClusterSnapshotIdentifier is a required field
7992	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
7993
7994	// The tags to be assigned to the DB cluster snapshot.
7995	Tags []*Tag `locationNameList:"Tag" type:"list"`
7996}
7997
7998// String returns the string representation
7999func (s CreateDBClusterSnapshotInput) String() string {
8000	return awsutil.Prettify(s)
8001}
8002
8003// GoString returns the string representation
8004func (s CreateDBClusterSnapshotInput) GoString() string {
8005	return s.String()
8006}
8007
8008// Validate inspects the fields of the type to determine if they are valid.
8009func (s *CreateDBClusterSnapshotInput) Validate() error {
8010	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterSnapshotInput"}
8011	if s.DBClusterIdentifier == nil {
8012		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
8013	}
8014	if s.DBClusterSnapshotIdentifier == nil {
8015		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
8016	}
8017
8018	if invalidParams.Len() > 0 {
8019		return invalidParams
8020	}
8021	return nil
8022}
8023
8024// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
8025func (s *CreateDBClusterSnapshotInput) SetDBClusterIdentifier(v string) *CreateDBClusterSnapshotInput {
8026	s.DBClusterIdentifier = &v
8027	return s
8028}
8029
8030// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
8031func (s *CreateDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *CreateDBClusterSnapshotInput {
8032	s.DBClusterSnapshotIdentifier = &v
8033	return s
8034}
8035
8036// SetTags sets the Tags field's value.
8037func (s *CreateDBClusterSnapshotInput) SetTags(v []*Tag) *CreateDBClusterSnapshotInput {
8038	s.Tags = v
8039	return s
8040}
8041
8042type CreateDBClusterSnapshotOutput struct {
8043	_ struct{} `type:"structure"`
8044
8045	// Contains the details for an Amazon Neptune DB cluster snapshot
8046	//
8047	// This data type is used as a response element in the DescribeDBClusterSnapshots
8048	// action.
8049	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
8050}
8051
8052// String returns the string representation
8053func (s CreateDBClusterSnapshotOutput) String() string {
8054	return awsutil.Prettify(s)
8055}
8056
8057// GoString returns the string representation
8058func (s CreateDBClusterSnapshotOutput) GoString() string {
8059	return s.String()
8060}
8061
8062// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
8063func (s *CreateDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CreateDBClusterSnapshotOutput {
8064	s.DBClusterSnapshot = v
8065	return s
8066}
8067
8068type CreateDBInstanceInput struct {
8069	_ struct{} `type:"structure"`
8070
8071	// The amount of storage (in gibibytes) to allocate for the DB instance.
8072	//
8073	// Type: Integer
8074	//
8075	// Not applicable. Neptune cluster volumes automatically grow as the amount
8076	// of data in your database increases, though you are only charged for the space
8077	// that you use in a Neptune cluster volume.
8078	AllocatedStorage *int64 `type:"integer"`
8079
8080	// Indicates that minor engine upgrades are applied automatically to the DB
8081	// instance during the maintenance window.
8082	//
8083	// Default: true
8084	AutoMinorVersionUpgrade *bool `type:"boolean"`
8085
8086	// The EC2 Availability Zone that the DB instance is created in
8087	//
8088	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
8089	// Region.
8090	//
8091	// Example: us-east-1d
8092	//
8093	// Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ
8094	// parameter is set to true. The specified Availability Zone must be in the
8095	// same AWS Region as the current endpoint.
8096	AvailabilityZone *string `type:"string"`
8097
8098	// The number of days for which automated backups are retained.
8099	//
8100	// Not applicable. The retention period for automated backups is managed by
8101	// the DB cluster. For more information, see CreateDBCluster.
8102	//
8103	// Default: 1
8104	//
8105	// Constraints:
8106	//
8107	//    * Must be a value from 0 to 35
8108	//
8109	//    * Cannot be set to 0 if the DB instance is a source to Read Replicas
8110	BackupRetentionPeriod *int64 `type:"integer"`
8111
8112	// (Not supported by Neptune)
8113	CharacterSetName *string `type:"string"`
8114
8115	// True to copy all tags from the DB instance to snapshots of the DB instance,
8116	// and otherwise false. The default is false.
8117	CopyTagsToSnapshot *bool `type:"boolean"`
8118
8119	// The identifier of the DB cluster that the instance will belong to.
8120	//
8121	// For information on creating a DB cluster, see CreateDBCluster.
8122	//
8123	// Type: String
8124	DBClusterIdentifier *string `type:"string"`
8125
8126	// The compute and memory capacity of the DB instance, for example, db.m4.large.
8127	// Not all DB instance classes are available in all AWS Regions.
8128	//
8129	// DBInstanceClass is a required field
8130	DBInstanceClass *string `type:"string" required:"true"`
8131
8132	// The DB instance identifier. This parameter is stored as a lowercase string.
8133	//
8134	// Constraints:
8135	//
8136	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
8137	//
8138	//    * First character must be a letter.
8139	//
8140	//    * Cannot end with a hyphen or contain two consecutive hyphens.
8141	//
8142	// Example: mydbinstance
8143	//
8144	// DBInstanceIdentifier is a required field
8145	DBInstanceIdentifier *string `type:"string" required:"true"`
8146
8147	// Not supported.
8148	DBName *string `type:"string"`
8149
8150	// The name of the DB parameter group to associate with this DB instance. If
8151	// this argument is omitted, the default DBParameterGroup for the specified
8152	// engine is used.
8153	//
8154	// Constraints:
8155	//
8156	//    * Must be 1 to 255 letters, numbers, or hyphens.
8157	//
8158	//    * First character must be a letter
8159	//
8160	//    * Cannot end with a hyphen or contain two consecutive hyphens
8161	DBParameterGroupName *string `type:"string"`
8162
8163	// A list of DB security groups to associate with this DB instance.
8164	//
8165	// Default: The default DB security group for the database engine.
8166	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
8167
8168	// A DB subnet group to associate with this DB instance.
8169	//
8170	// If there is no DB subnet group, then it is a non-VPC DB instance.
8171	DBSubnetGroupName *string `type:"string"`
8172
8173	// A value that indicates whether the DB instance has deletion protection enabled.
8174	// The database can't be deleted when deletion protection is enabled. By default,
8175	// deletion protection is disabled. See Deleting a DB Instance (https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html).
8176	//
8177	// DB instances in a DB cluster can be deleted even when deletion protection
8178	// is enabled in their parent DB cluster.
8179	DeletionProtection *bool `type:"boolean"`
8180
8181	// Specify the Active Directory Domain to create the instance in.
8182	Domain *string `type:"string"`
8183
8184	// Specify the name of the IAM role to be used when making API calls to the
8185	// Directory Service.
8186	DomainIAMRoleName *string `type:"string"`
8187
8188	// The list of log types that need to be enabled for exporting to CloudWatch
8189	// Logs.
8190	EnableCloudwatchLogsExports []*string `type:"list"`
8191
8192	// True to enable AWS Identity and Access Management (IAM) authentication for
8193	// Neptune.
8194	//
8195	// Default: false
8196	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
8197
8198	// (Not supported by Neptune)
8199	EnablePerformanceInsights *bool `type:"boolean"`
8200
8201	// The name of the database engine to be used for this instance.
8202	//
8203	// Valid Values: neptune
8204	//
8205	// Engine is a required field
8206	Engine *string `type:"string" required:"true"`
8207
8208	// The version number of the database engine to use. Currently, setting this
8209	// parameter has no effect.
8210	EngineVersion *string `type:"string"`
8211
8212	// The amount of Provisioned IOPS (input/output operations per second) to be
8213	// initially allocated for the DB instance.
8214	Iops *int64 `type:"integer"`
8215
8216	// The AWS KMS key identifier for an encrypted DB instance.
8217	//
8218	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
8219	// key. If you are creating a DB instance with the same AWS account that owns
8220	// the KMS encryption key used to encrypt the new DB instance, then you can
8221	// use the KMS key alias instead of the ARN for the KM encryption key.
8222	//
8223	// Not applicable. The KMS key identifier is managed by the DB cluster. For
8224	// more information, see CreateDBCluster.
8225	//
8226	// If the StorageEncrypted parameter is true, and you do not specify a value
8227	// for the KmsKeyId parameter, then Amazon Neptune will use your default encryption
8228	// key. AWS KMS creates the default encryption key for your AWS account. Your
8229	// AWS account has a different default encryption key for each AWS Region.
8230	KmsKeyId *string `type:"string"`
8231
8232	// License model information for this DB instance.
8233	//
8234	// Valid values: license-included | bring-your-own-license | general-public-license
8235	LicenseModel *string `type:"string"`
8236
8237	// The password for the master user. The password can include any printable
8238	// ASCII character except "/", """, or "@".
8239	//
8240	// Not used.
8241	MasterUserPassword *string `type:"string"`
8242
8243	// The name for the master user. Not used.
8244	MasterUsername *string `type:"string"`
8245
8246	// The interval, in seconds, between points when Enhanced Monitoring metrics
8247	// are collected for the DB instance. To disable collecting Enhanced Monitoring
8248	// metrics, specify 0. The default is 0.
8249	//
8250	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
8251	// to a value other than 0.
8252	//
8253	// Valid Values: 0, 1, 5, 10, 15, 30, 60
8254	MonitoringInterval *int64 `type:"integer"`
8255
8256	// The ARN for the IAM role that permits Neptune to send enhanced monitoring
8257	// metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
8258	//
8259	// If MonitoringInterval is set to a value other than 0, then you must supply
8260	// a MonitoringRoleArn value.
8261	MonitoringRoleArn *string `type:"string"`
8262
8263	// Specifies if the DB instance is a Multi-AZ deployment. You can't set the
8264	// AvailabilityZone parameter if the MultiAZ parameter is set to true.
8265	MultiAZ *bool `type:"boolean"`
8266
8267	// (Not supported by Neptune)
8268	OptionGroupName *string `type:"string"`
8269
8270	// (Not supported by Neptune)
8271	PerformanceInsightsKMSKeyId *string `type:"string"`
8272
8273	// The port number on which the database accepts connections.
8274	//
8275	// Not applicable. The port is managed by the DB cluster. For more information,
8276	// see CreateDBCluster.
8277	//
8278	// Default: 8182
8279	//
8280	// Type: Integer
8281	Port *int64 `type:"integer"`
8282
8283	// The daily time range during which automated backups are created.
8284	//
8285	// Not applicable. The daily time range for creating automated backups is managed
8286	// by the DB cluster. For more information, see CreateDBCluster.
8287	PreferredBackupWindow *string `type:"string"`
8288
8289	// The time range each week during which system maintenance can occur, in Universal
8290	// Coordinated Time (UTC).
8291	//
8292	// Format: ddd:hh24:mi-ddd:hh24:mi
8293	//
8294	// The default is a 30-minute window selected at random from an 8-hour block
8295	// of time for each AWS Region, occurring on a random day of the week.
8296	//
8297	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
8298	//
8299	// Constraints: Minimum 30-minute window.
8300	PreferredMaintenanceWindow *string `type:"string"`
8301
8302	// A value that specifies the order in which an Read Replica is promoted to
8303	// the primary instance after a failure of the existing primary instance.
8304	//
8305	// Default: 1
8306	//
8307	// Valid Values: 0 - 15
8308	PromotionTier *int64 `type:"integer"`
8309
8310	// This flag should no longer be used.
8311	//
8312	// Deprecated: PubliclyAccessible has been deprecated
8313	PubliclyAccessible *bool `deprecated:"true" type:"boolean"`
8314
8315	// Specifies whether the DB instance is encrypted.
8316	//
8317	// Not applicable. The encryption for DB instances is managed by the DB cluster.
8318	// For more information, see CreateDBCluster.
8319	//
8320	// Default: false
8321	StorageEncrypted *bool `type:"boolean"`
8322
8323	// Specifies the storage type to be associated with the DB instance.
8324	//
8325	// Not applicable. Storage is managed by the DB Cluster.
8326	StorageType *string `type:"string"`
8327
8328	// The tags to assign to the new instance.
8329	Tags []*Tag `locationNameList:"Tag" type:"list"`
8330
8331	// The ARN from the key store with which to associate the instance for TDE encryption.
8332	TdeCredentialArn *string `type:"string"`
8333
8334	// The password for the given ARN from the key store in order to access the
8335	// device.
8336	TdeCredentialPassword *string `type:"string"`
8337
8338	// The time zone of the DB instance.
8339	Timezone *string `type:"string"`
8340
8341	// A list of EC2 VPC security groups to associate with this DB instance.
8342	//
8343	// Not applicable. The associated list of EC2 VPC security groups is managed
8344	// by the DB cluster. For more information, see CreateDBCluster.
8345	//
8346	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
8347	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
8348}
8349
8350// String returns the string representation
8351func (s CreateDBInstanceInput) String() string {
8352	return awsutil.Prettify(s)
8353}
8354
8355// GoString returns the string representation
8356func (s CreateDBInstanceInput) GoString() string {
8357	return s.String()
8358}
8359
8360// Validate inspects the fields of the type to determine if they are valid.
8361func (s *CreateDBInstanceInput) Validate() error {
8362	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceInput"}
8363	if s.DBInstanceClass == nil {
8364		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
8365	}
8366	if s.DBInstanceIdentifier == nil {
8367		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
8368	}
8369	if s.Engine == nil {
8370		invalidParams.Add(request.NewErrParamRequired("Engine"))
8371	}
8372
8373	if invalidParams.Len() > 0 {
8374		return invalidParams
8375	}
8376	return nil
8377}
8378
8379// SetAllocatedStorage sets the AllocatedStorage field's value.
8380func (s *CreateDBInstanceInput) SetAllocatedStorage(v int64) *CreateDBInstanceInput {
8381	s.AllocatedStorage = &v
8382	return s
8383}
8384
8385// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
8386func (s *CreateDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceInput {
8387	s.AutoMinorVersionUpgrade = &v
8388	return s
8389}
8390
8391// SetAvailabilityZone sets the AvailabilityZone field's value.
8392func (s *CreateDBInstanceInput) SetAvailabilityZone(v string) *CreateDBInstanceInput {
8393	s.AvailabilityZone = &v
8394	return s
8395}
8396
8397// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
8398func (s *CreateDBInstanceInput) SetBackupRetentionPeriod(v int64) *CreateDBInstanceInput {
8399	s.BackupRetentionPeriod = &v
8400	return s
8401}
8402
8403// SetCharacterSetName sets the CharacterSetName field's value.
8404func (s *CreateDBInstanceInput) SetCharacterSetName(v string) *CreateDBInstanceInput {
8405	s.CharacterSetName = &v
8406	return s
8407}
8408
8409// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
8410func (s *CreateDBInstanceInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceInput {
8411	s.CopyTagsToSnapshot = &v
8412	return s
8413}
8414
8415// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
8416func (s *CreateDBInstanceInput) SetDBClusterIdentifier(v string) *CreateDBInstanceInput {
8417	s.DBClusterIdentifier = &v
8418	return s
8419}
8420
8421// SetDBInstanceClass sets the DBInstanceClass field's value.
8422func (s *CreateDBInstanceInput) SetDBInstanceClass(v string) *CreateDBInstanceInput {
8423	s.DBInstanceClass = &v
8424	return s
8425}
8426
8427// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
8428func (s *CreateDBInstanceInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceInput {
8429	s.DBInstanceIdentifier = &v
8430	return s
8431}
8432
8433// SetDBName sets the DBName field's value.
8434func (s *CreateDBInstanceInput) SetDBName(v string) *CreateDBInstanceInput {
8435	s.DBName = &v
8436	return s
8437}
8438
8439// SetDBParameterGroupName sets the DBParameterGroupName field's value.
8440func (s *CreateDBInstanceInput) SetDBParameterGroupName(v string) *CreateDBInstanceInput {
8441	s.DBParameterGroupName = &v
8442	return s
8443}
8444
8445// SetDBSecurityGroups sets the DBSecurityGroups field's value.
8446func (s *CreateDBInstanceInput) SetDBSecurityGroups(v []*string) *CreateDBInstanceInput {
8447	s.DBSecurityGroups = v
8448	return s
8449}
8450
8451// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
8452func (s *CreateDBInstanceInput) SetDBSubnetGroupName(v string) *CreateDBInstanceInput {
8453	s.DBSubnetGroupName = &v
8454	return s
8455}
8456
8457// SetDeletionProtection sets the DeletionProtection field's value.
8458func (s *CreateDBInstanceInput) SetDeletionProtection(v bool) *CreateDBInstanceInput {
8459	s.DeletionProtection = &v
8460	return s
8461}
8462
8463// SetDomain sets the Domain field's value.
8464func (s *CreateDBInstanceInput) SetDomain(v string) *CreateDBInstanceInput {
8465	s.Domain = &v
8466	return s
8467}
8468
8469// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
8470func (s *CreateDBInstanceInput) SetDomainIAMRoleName(v string) *CreateDBInstanceInput {
8471	s.DomainIAMRoleName = &v
8472	return s
8473}
8474
8475// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
8476func (s *CreateDBInstanceInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceInput {
8477	s.EnableCloudwatchLogsExports = v
8478	return s
8479}
8480
8481// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
8482func (s *CreateDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceInput {
8483	s.EnableIAMDatabaseAuthentication = &v
8484	return s
8485}
8486
8487// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
8488func (s *CreateDBInstanceInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceInput {
8489	s.EnablePerformanceInsights = &v
8490	return s
8491}
8492
8493// SetEngine sets the Engine field's value.
8494func (s *CreateDBInstanceInput) SetEngine(v string) *CreateDBInstanceInput {
8495	s.Engine = &v
8496	return s
8497}
8498
8499// SetEngineVersion sets the EngineVersion field's value.
8500func (s *CreateDBInstanceInput) SetEngineVersion(v string) *CreateDBInstanceInput {
8501	s.EngineVersion = &v
8502	return s
8503}
8504
8505// SetIops sets the Iops field's value.
8506func (s *CreateDBInstanceInput) SetIops(v int64) *CreateDBInstanceInput {
8507	s.Iops = &v
8508	return s
8509}
8510
8511// SetKmsKeyId sets the KmsKeyId field's value.
8512func (s *CreateDBInstanceInput) SetKmsKeyId(v string) *CreateDBInstanceInput {
8513	s.KmsKeyId = &v
8514	return s
8515}
8516
8517// SetLicenseModel sets the LicenseModel field's value.
8518func (s *CreateDBInstanceInput) SetLicenseModel(v string) *CreateDBInstanceInput {
8519	s.LicenseModel = &v
8520	return s
8521}
8522
8523// SetMasterUserPassword sets the MasterUserPassword field's value.
8524func (s *CreateDBInstanceInput) SetMasterUserPassword(v string) *CreateDBInstanceInput {
8525	s.MasterUserPassword = &v
8526	return s
8527}
8528
8529// SetMasterUsername sets the MasterUsername field's value.
8530func (s *CreateDBInstanceInput) SetMasterUsername(v string) *CreateDBInstanceInput {
8531	s.MasterUsername = &v
8532	return s
8533}
8534
8535// SetMonitoringInterval sets the MonitoringInterval field's value.
8536func (s *CreateDBInstanceInput) SetMonitoringInterval(v int64) *CreateDBInstanceInput {
8537	s.MonitoringInterval = &v
8538	return s
8539}
8540
8541// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
8542func (s *CreateDBInstanceInput) SetMonitoringRoleArn(v string) *CreateDBInstanceInput {
8543	s.MonitoringRoleArn = &v
8544	return s
8545}
8546
8547// SetMultiAZ sets the MultiAZ field's value.
8548func (s *CreateDBInstanceInput) SetMultiAZ(v bool) *CreateDBInstanceInput {
8549	s.MultiAZ = &v
8550	return s
8551}
8552
8553// SetOptionGroupName sets the OptionGroupName field's value.
8554func (s *CreateDBInstanceInput) SetOptionGroupName(v string) *CreateDBInstanceInput {
8555	s.OptionGroupName = &v
8556	return s
8557}
8558
8559// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
8560func (s *CreateDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceInput {
8561	s.PerformanceInsightsKMSKeyId = &v
8562	return s
8563}
8564
8565// SetPort sets the Port field's value.
8566func (s *CreateDBInstanceInput) SetPort(v int64) *CreateDBInstanceInput {
8567	s.Port = &v
8568	return s
8569}
8570
8571// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
8572func (s *CreateDBInstanceInput) SetPreferredBackupWindow(v string) *CreateDBInstanceInput {
8573	s.PreferredBackupWindow = &v
8574	return s
8575}
8576
8577// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
8578func (s *CreateDBInstanceInput) SetPreferredMaintenanceWindow(v string) *CreateDBInstanceInput {
8579	s.PreferredMaintenanceWindow = &v
8580	return s
8581}
8582
8583// SetPromotionTier sets the PromotionTier field's value.
8584func (s *CreateDBInstanceInput) SetPromotionTier(v int64) *CreateDBInstanceInput {
8585	s.PromotionTier = &v
8586	return s
8587}
8588
8589// SetPubliclyAccessible sets the PubliclyAccessible field's value.
8590func (s *CreateDBInstanceInput) SetPubliclyAccessible(v bool) *CreateDBInstanceInput {
8591	s.PubliclyAccessible = &v
8592	return s
8593}
8594
8595// SetStorageEncrypted sets the StorageEncrypted field's value.
8596func (s *CreateDBInstanceInput) SetStorageEncrypted(v bool) *CreateDBInstanceInput {
8597	s.StorageEncrypted = &v
8598	return s
8599}
8600
8601// SetStorageType sets the StorageType field's value.
8602func (s *CreateDBInstanceInput) SetStorageType(v string) *CreateDBInstanceInput {
8603	s.StorageType = &v
8604	return s
8605}
8606
8607// SetTags sets the Tags field's value.
8608func (s *CreateDBInstanceInput) SetTags(v []*Tag) *CreateDBInstanceInput {
8609	s.Tags = v
8610	return s
8611}
8612
8613// SetTdeCredentialArn sets the TdeCredentialArn field's value.
8614func (s *CreateDBInstanceInput) SetTdeCredentialArn(v string) *CreateDBInstanceInput {
8615	s.TdeCredentialArn = &v
8616	return s
8617}
8618
8619// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
8620func (s *CreateDBInstanceInput) SetTdeCredentialPassword(v string) *CreateDBInstanceInput {
8621	s.TdeCredentialPassword = &v
8622	return s
8623}
8624
8625// SetTimezone sets the Timezone field's value.
8626func (s *CreateDBInstanceInput) SetTimezone(v string) *CreateDBInstanceInput {
8627	s.Timezone = &v
8628	return s
8629}
8630
8631// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
8632func (s *CreateDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *CreateDBInstanceInput {
8633	s.VpcSecurityGroupIds = v
8634	return s
8635}
8636
8637type CreateDBInstanceOutput struct {
8638	_ struct{} `type:"structure"`
8639
8640	// Contains the details of an Amazon Neptune DB instance.
8641	//
8642	// This data type is used as a response element in the DescribeDBInstances action.
8643	DBInstance *DBInstance `type:"structure"`
8644}
8645
8646// String returns the string representation
8647func (s CreateDBInstanceOutput) String() string {
8648	return awsutil.Prettify(s)
8649}
8650
8651// GoString returns the string representation
8652func (s CreateDBInstanceOutput) GoString() string {
8653	return s.String()
8654}
8655
8656// SetDBInstance sets the DBInstance field's value.
8657func (s *CreateDBInstanceOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceOutput {
8658	s.DBInstance = v
8659	return s
8660}
8661
8662type CreateDBParameterGroupInput struct {
8663	_ struct{} `type:"structure"`
8664
8665	// The DB parameter group family name. A DB parameter group can be associated
8666	// with one and only one DB parameter group family, and can be applied only
8667	// to a DB instance running a database engine and engine version compatible
8668	// with that DB parameter group family.
8669	//
8670	// DBParameterGroupFamily is a required field
8671	DBParameterGroupFamily *string `type:"string" required:"true"`
8672
8673	// The name of the DB parameter group.
8674	//
8675	// Constraints:
8676	//
8677	//    * Must be 1 to 255 letters, numbers, or hyphens.
8678	//
8679	//    * First character must be a letter
8680	//
8681	//    * Cannot end with a hyphen or contain two consecutive hyphens
8682	//
8683	// This value is stored as a lowercase string.
8684	//
8685	// DBParameterGroupName is a required field
8686	DBParameterGroupName *string `type:"string" required:"true"`
8687
8688	// The description for the DB parameter group.
8689	//
8690	// Description is a required field
8691	Description *string `type:"string" required:"true"`
8692
8693	// The tags to be assigned to the new DB parameter group.
8694	Tags []*Tag `locationNameList:"Tag" type:"list"`
8695}
8696
8697// String returns the string representation
8698func (s CreateDBParameterGroupInput) String() string {
8699	return awsutil.Prettify(s)
8700}
8701
8702// GoString returns the string representation
8703func (s CreateDBParameterGroupInput) GoString() string {
8704	return s.String()
8705}
8706
8707// Validate inspects the fields of the type to determine if they are valid.
8708func (s *CreateDBParameterGroupInput) Validate() error {
8709	invalidParams := request.ErrInvalidParams{Context: "CreateDBParameterGroupInput"}
8710	if s.DBParameterGroupFamily == nil {
8711		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
8712	}
8713	if s.DBParameterGroupName == nil {
8714		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
8715	}
8716	if s.Description == nil {
8717		invalidParams.Add(request.NewErrParamRequired("Description"))
8718	}
8719
8720	if invalidParams.Len() > 0 {
8721		return invalidParams
8722	}
8723	return nil
8724}
8725
8726// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
8727func (s *CreateDBParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBParameterGroupInput {
8728	s.DBParameterGroupFamily = &v
8729	return s
8730}
8731
8732// SetDBParameterGroupName sets the DBParameterGroupName field's value.
8733func (s *CreateDBParameterGroupInput) SetDBParameterGroupName(v string) *CreateDBParameterGroupInput {
8734	s.DBParameterGroupName = &v
8735	return s
8736}
8737
8738// SetDescription sets the Description field's value.
8739func (s *CreateDBParameterGroupInput) SetDescription(v string) *CreateDBParameterGroupInput {
8740	s.Description = &v
8741	return s
8742}
8743
8744// SetTags sets the Tags field's value.
8745func (s *CreateDBParameterGroupInput) SetTags(v []*Tag) *CreateDBParameterGroupInput {
8746	s.Tags = v
8747	return s
8748}
8749
8750type CreateDBParameterGroupOutput struct {
8751	_ struct{} `type:"structure"`
8752
8753	// Contains the details of an Amazon Neptune DB parameter group.
8754	//
8755	// This data type is used as a response element in the DescribeDBParameterGroups
8756	// action.
8757	DBParameterGroup *DBParameterGroup `type:"structure"`
8758}
8759
8760// String returns the string representation
8761func (s CreateDBParameterGroupOutput) String() string {
8762	return awsutil.Prettify(s)
8763}
8764
8765// GoString returns the string representation
8766func (s CreateDBParameterGroupOutput) GoString() string {
8767	return s.String()
8768}
8769
8770// SetDBParameterGroup sets the DBParameterGroup field's value.
8771func (s *CreateDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CreateDBParameterGroupOutput {
8772	s.DBParameterGroup = v
8773	return s
8774}
8775
8776type CreateDBSubnetGroupInput struct {
8777	_ struct{} `type:"structure"`
8778
8779	// The description for the DB subnet group.
8780	//
8781	// DBSubnetGroupDescription is a required field
8782	DBSubnetGroupDescription *string `type:"string" required:"true"`
8783
8784	// The name for the DB subnet group. This value is stored as a lowercase string.
8785	//
8786	// Constraints: Must contain no more than 255 letters, numbers, periods, underscores,
8787	// spaces, or hyphens. Must not be default.
8788	//
8789	// Example: mySubnetgroup
8790	//
8791	// DBSubnetGroupName is a required field
8792	DBSubnetGroupName *string `type:"string" required:"true"`
8793
8794	// The EC2 Subnet IDs for the DB subnet group.
8795	//
8796	// SubnetIds is a required field
8797	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
8798
8799	// The tags to be assigned to the new DB subnet group.
8800	Tags []*Tag `locationNameList:"Tag" type:"list"`
8801}
8802
8803// String returns the string representation
8804func (s CreateDBSubnetGroupInput) String() string {
8805	return awsutil.Prettify(s)
8806}
8807
8808// GoString returns the string representation
8809func (s CreateDBSubnetGroupInput) GoString() string {
8810	return s.String()
8811}
8812
8813// Validate inspects the fields of the type to determine if they are valid.
8814func (s *CreateDBSubnetGroupInput) Validate() error {
8815	invalidParams := request.ErrInvalidParams{Context: "CreateDBSubnetGroupInput"}
8816	if s.DBSubnetGroupDescription == nil {
8817		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupDescription"))
8818	}
8819	if s.DBSubnetGroupName == nil {
8820		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
8821	}
8822	if s.SubnetIds == nil {
8823		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
8824	}
8825
8826	if invalidParams.Len() > 0 {
8827		return invalidParams
8828	}
8829	return nil
8830}
8831
8832// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
8833func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *CreateDBSubnetGroupInput {
8834	s.DBSubnetGroupDescription = &v
8835	return s
8836}
8837
8838// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
8839func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupName(v string) *CreateDBSubnetGroupInput {
8840	s.DBSubnetGroupName = &v
8841	return s
8842}
8843
8844// SetSubnetIds sets the SubnetIds field's value.
8845func (s *CreateDBSubnetGroupInput) SetSubnetIds(v []*string) *CreateDBSubnetGroupInput {
8846	s.SubnetIds = v
8847	return s
8848}
8849
8850// SetTags sets the Tags field's value.
8851func (s *CreateDBSubnetGroupInput) SetTags(v []*Tag) *CreateDBSubnetGroupInput {
8852	s.Tags = v
8853	return s
8854}
8855
8856type CreateDBSubnetGroupOutput struct {
8857	_ struct{} `type:"structure"`
8858
8859	// Contains the details of an Amazon Neptune DB subnet group.
8860	//
8861	// This data type is used as a response element in the DescribeDBSubnetGroups
8862	// action.
8863	DBSubnetGroup *DBSubnetGroup `type:"structure"`
8864}
8865
8866// String returns the string representation
8867func (s CreateDBSubnetGroupOutput) String() string {
8868	return awsutil.Prettify(s)
8869}
8870
8871// GoString returns the string representation
8872func (s CreateDBSubnetGroupOutput) GoString() string {
8873	return s.String()
8874}
8875
8876// SetDBSubnetGroup sets the DBSubnetGroup field's value.
8877func (s *CreateDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *CreateDBSubnetGroupOutput {
8878	s.DBSubnetGroup = v
8879	return s
8880}
8881
8882type CreateEventSubscriptionInput struct {
8883	_ struct{} `type:"structure"`
8884
8885	// A Boolean value; set to true to activate the subscription, set to false to
8886	// create the subscription but not active it.
8887	Enabled *bool `type:"boolean"`
8888
8889	// A list of event categories for a SourceType that you want to subscribe to.
8890	// You can see a list of the categories for a given SourceType by using the
8891	// DescribeEventCategories action.
8892	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
8893
8894	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
8895	// The ARN is created by Amazon SNS when you create a topic and subscribe to
8896	// it.
8897	//
8898	// SnsTopicArn is a required field
8899	SnsTopicArn *string `type:"string" required:"true"`
8900
8901	// The list of identifiers of the event sources for which events are returned.
8902	// If not specified, then all sources are included in the response. An identifier
8903	// must begin with a letter and must contain only ASCII letters, digits, and
8904	// hyphens; it can't end with a hyphen or contain two consecutive hyphens.
8905	//
8906	// Constraints:
8907	//
8908	//    * If SourceIds are supplied, SourceType must also be provided.
8909	//
8910	//    * If the source type is a DB instance, then a DBInstanceIdentifier must
8911	//    be supplied.
8912	//
8913	//    * If the source type is a DB security group, a DBSecurityGroupName must
8914	//    be supplied.
8915	//
8916	//    * If the source type is a DB parameter group, a DBParameterGroupName must
8917	//    be supplied.
8918	//
8919	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier must be
8920	//    supplied.
8921	SourceIds []*string `locationNameList:"SourceId" type:"list"`
8922
8923	// The type of source that is generating the events. For example, if you want
8924	// to be notified of events generated by a DB instance, you would set this parameter
8925	// to db-instance. if this value is not specified, all events are returned.
8926	//
8927	// Valid values: db-instance | db-cluster | db-parameter-group | db-security-group
8928	// | db-snapshot | db-cluster-snapshot
8929	SourceType *string `type:"string"`
8930
8931	// The name of the subscription.
8932	//
8933	// Constraints: The name must be less than 255 characters.
8934	//
8935	// SubscriptionName is a required field
8936	SubscriptionName *string `type:"string" required:"true"`
8937
8938	// The tags to be applied to the new event subscription.
8939	Tags []*Tag `locationNameList:"Tag" type:"list"`
8940}
8941
8942// String returns the string representation
8943func (s CreateEventSubscriptionInput) String() string {
8944	return awsutil.Prettify(s)
8945}
8946
8947// GoString returns the string representation
8948func (s CreateEventSubscriptionInput) GoString() string {
8949	return s.String()
8950}
8951
8952// Validate inspects the fields of the type to determine if they are valid.
8953func (s *CreateEventSubscriptionInput) Validate() error {
8954	invalidParams := request.ErrInvalidParams{Context: "CreateEventSubscriptionInput"}
8955	if s.SnsTopicArn == nil {
8956		invalidParams.Add(request.NewErrParamRequired("SnsTopicArn"))
8957	}
8958	if s.SubscriptionName == nil {
8959		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
8960	}
8961
8962	if invalidParams.Len() > 0 {
8963		return invalidParams
8964	}
8965	return nil
8966}
8967
8968// SetEnabled sets the Enabled field's value.
8969func (s *CreateEventSubscriptionInput) SetEnabled(v bool) *CreateEventSubscriptionInput {
8970	s.Enabled = &v
8971	return s
8972}
8973
8974// SetEventCategories sets the EventCategories field's value.
8975func (s *CreateEventSubscriptionInput) SetEventCategories(v []*string) *CreateEventSubscriptionInput {
8976	s.EventCategories = v
8977	return s
8978}
8979
8980// SetSnsTopicArn sets the SnsTopicArn field's value.
8981func (s *CreateEventSubscriptionInput) SetSnsTopicArn(v string) *CreateEventSubscriptionInput {
8982	s.SnsTopicArn = &v
8983	return s
8984}
8985
8986// SetSourceIds sets the SourceIds field's value.
8987func (s *CreateEventSubscriptionInput) SetSourceIds(v []*string) *CreateEventSubscriptionInput {
8988	s.SourceIds = v
8989	return s
8990}
8991
8992// SetSourceType sets the SourceType field's value.
8993func (s *CreateEventSubscriptionInput) SetSourceType(v string) *CreateEventSubscriptionInput {
8994	s.SourceType = &v
8995	return s
8996}
8997
8998// SetSubscriptionName sets the SubscriptionName field's value.
8999func (s *CreateEventSubscriptionInput) SetSubscriptionName(v string) *CreateEventSubscriptionInput {
9000	s.SubscriptionName = &v
9001	return s
9002}
9003
9004// SetTags sets the Tags field's value.
9005func (s *CreateEventSubscriptionInput) SetTags(v []*Tag) *CreateEventSubscriptionInput {
9006	s.Tags = v
9007	return s
9008}
9009
9010type CreateEventSubscriptionOutput struct {
9011	_ struct{} `type:"structure"`
9012
9013	// Contains the results of a successful invocation of the DescribeEventSubscriptions
9014	// action.
9015	EventSubscription *EventSubscription `type:"structure"`
9016}
9017
9018// String returns the string representation
9019func (s CreateEventSubscriptionOutput) String() string {
9020	return awsutil.Prettify(s)
9021}
9022
9023// GoString returns the string representation
9024func (s CreateEventSubscriptionOutput) GoString() string {
9025	return s.String()
9026}
9027
9028// SetEventSubscription sets the EventSubscription field's value.
9029func (s *CreateEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *CreateEventSubscriptionOutput {
9030	s.EventSubscription = v
9031	return s
9032}
9033
9034// Contains the details of an Amazon Neptune DB cluster.
9035//
9036// This data type is used as a response element in the DescribeDBClusters action.
9037type DBCluster struct {
9038	_ struct{} `type:"structure"`
9039
9040	// AllocatedStorage always returns 1, because Neptune DB cluster storage size
9041	// is not fixed, but instead automatically adjusts as needed.
9042	AllocatedStorage *int64 `type:"integer"`
9043
9044	// Provides a list of the AWS Identity and Access Management (IAM) roles that
9045	// are associated with the DB cluster. IAM roles that are associated with a
9046	// DB cluster grant permission for the DB cluster to access other AWS services
9047	// on your behalf.
9048	AssociatedRoles []*DBClusterRole `locationNameList:"DBClusterRole" type:"list"`
9049
9050	// Provides the list of EC2 Availability Zones that instances in the DB cluster
9051	// can be created in.
9052	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
9053
9054	// Specifies the number of days for which automatic DB snapshots are retained.
9055	BackupRetentionPeriod *int64 `type:"integer"`
9056
9057	// (Not supported by Neptune)
9058	CharacterSetName *string `type:"string"`
9059
9060	// Identifies the clone group to which the DB cluster is associated.
9061	CloneGroupId *string `type:"string"`
9062
9063	// Specifies the time when the DB cluster was created, in Universal Coordinated
9064	// Time (UTC).
9065	ClusterCreateTime *time.Time `type:"timestamp"`
9066
9067	// The Amazon Resource Name (ARN) for the DB cluster.
9068	DBClusterArn *string `type:"string"`
9069
9070	// Contains a user-supplied DB cluster identifier. This identifier is the unique
9071	// key that identifies a DB cluster.
9072	DBClusterIdentifier *string `type:"string"`
9073
9074	// Provides the list of instances that make up the DB cluster.
9075	DBClusterMembers []*DBClusterMember `locationNameList:"DBClusterMember" type:"list"`
9076
9077	// (Not supported by Neptune)
9078	DBClusterOptionGroupMemberships []*DBClusterOptionGroupStatus `locationNameList:"DBClusterOptionGroup" type:"list"`
9079
9080	// Specifies the name of the DB cluster parameter group for the DB cluster.
9081	DBClusterParameterGroup *string `type:"string"`
9082
9083	// Specifies information on the subnet group associated with the DB cluster,
9084	// including the name, description, and subnets in the subnet group.
9085	DBSubnetGroup *string `type:"string"`
9086
9087	// Contains the name of the initial database of this DB cluster that was provided
9088	// at create time, if one was specified when the DB cluster was created. This
9089	// same name is returned for the life of the DB cluster.
9090	DatabaseName *string `type:"string"`
9091
9092	// The AWS Region-unique, immutable identifier for the DB cluster. This identifier
9093	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
9094	// cluster is accessed.
9095	DbClusterResourceId *string `type:"string"`
9096
9097	// Indicates whether or not the DB cluster has deletion protection enabled.
9098	// The database can't be deleted when deletion protection is enabled.
9099	DeletionProtection *bool `type:"boolean"`
9100
9101	// Specifies the earliest time to which a database can be restored with point-in-time
9102	// restore.
9103	EarliestRestorableTime *time.Time `type:"timestamp"`
9104
9105	// A list of log types that this DB cluster is configured to export to CloudWatch
9106	// Logs.
9107	EnabledCloudwatchLogsExports []*string `type:"list"`
9108
9109	// Specifies the connection endpoint for the primary instance of the DB cluster.
9110	Endpoint *string `type:"string"`
9111
9112	// Provides the name of the database engine to be used for this DB cluster.
9113	Engine *string `type:"string"`
9114
9115	// Indicates the database engine version.
9116	EngineVersion *string `type:"string"`
9117
9118	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
9119	HostedZoneId *string `type:"string"`
9120
9121	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
9122	// accounts is enabled, and otherwise false.
9123	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
9124
9125	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
9126	// DB cluster.
9127	KmsKeyId *string `type:"string"`
9128
9129	// Specifies the latest time to which a database can be restored with point-in-time
9130	// restore.
9131	LatestRestorableTime *time.Time `type:"timestamp"`
9132
9133	// Contains the master username for the DB cluster.
9134	MasterUsername *string `type:"string"`
9135
9136	// Specifies whether the DB cluster has instances in multiple Availability Zones.
9137	MultiAZ *bool `type:"boolean"`
9138
9139	// Specifies the progress of the operation as a percentage.
9140	PercentProgress *string `type:"string"`
9141
9142	// Specifies the port that the database engine is listening on.
9143	Port *int64 `type:"integer"`
9144
9145	// Specifies the daily time range during which automated backups are created
9146	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
9147	PreferredBackupWindow *string `type:"string"`
9148
9149	// Specifies the weekly time range during which system maintenance can occur,
9150	// in Universal Coordinated Time (UTC).
9151	PreferredMaintenanceWindow *string `type:"string"`
9152
9153	// Contains one or more identifiers of the Read Replicas associated with this
9154	// DB cluster.
9155	ReadReplicaIdentifiers []*string `locationNameList:"ReadReplicaIdentifier" type:"list"`
9156
9157	// The reader endpoint for the DB cluster. The reader endpoint for a DB cluster
9158	// load-balances connections across the Read Replicas that are available in
9159	// a DB cluster. As clients request new connections to the reader endpoint,
9160	// Neptune distributes the connection requests among the Read Replicas in the
9161	// DB cluster. This functionality can help balance your read workload across
9162	// multiple Read Replicas in your DB cluster.
9163	//
9164	// If a failover occurs, and the Read Replica that you are connected to is promoted
9165	// to be the primary instance, your connection is dropped. To continue sending
9166	// your read workload to other Read Replicas in the cluster, you can then reconnect
9167	// to the reader endpoint.
9168	ReaderEndpoint *string `type:"string"`
9169
9170	// Not supported by Neptune.
9171	ReplicationSourceIdentifier *string `type:"string"`
9172
9173	// Specifies the current state of this DB cluster.
9174	Status *string `type:"string"`
9175
9176	// Specifies whether the DB cluster is encrypted.
9177	StorageEncrypted *bool `type:"boolean"`
9178
9179	// Provides a list of VPC security groups that the DB cluster belongs to.
9180	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
9181}
9182
9183// String returns the string representation
9184func (s DBCluster) String() string {
9185	return awsutil.Prettify(s)
9186}
9187
9188// GoString returns the string representation
9189func (s DBCluster) GoString() string {
9190	return s.String()
9191}
9192
9193// SetAllocatedStorage sets the AllocatedStorage field's value.
9194func (s *DBCluster) SetAllocatedStorage(v int64) *DBCluster {
9195	s.AllocatedStorage = &v
9196	return s
9197}
9198
9199// SetAssociatedRoles sets the AssociatedRoles field's value.
9200func (s *DBCluster) SetAssociatedRoles(v []*DBClusterRole) *DBCluster {
9201	s.AssociatedRoles = v
9202	return s
9203}
9204
9205// SetAvailabilityZones sets the AvailabilityZones field's value.
9206func (s *DBCluster) SetAvailabilityZones(v []*string) *DBCluster {
9207	s.AvailabilityZones = v
9208	return s
9209}
9210
9211// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
9212func (s *DBCluster) SetBackupRetentionPeriod(v int64) *DBCluster {
9213	s.BackupRetentionPeriod = &v
9214	return s
9215}
9216
9217// SetCharacterSetName sets the CharacterSetName field's value.
9218func (s *DBCluster) SetCharacterSetName(v string) *DBCluster {
9219	s.CharacterSetName = &v
9220	return s
9221}
9222
9223// SetCloneGroupId sets the CloneGroupId field's value.
9224func (s *DBCluster) SetCloneGroupId(v string) *DBCluster {
9225	s.CloneGroupId = &v
9226	return s
9227}
9228
9229// SetClusterCreateTime sets the ClusterCreateTime field's value.
9230func (s *DBCluster) SetClusterCreateTime(v time.Time) *DBCluster {
9231	s.ClusterCreateTime = &v
9232	return s
9233}
9234
9235// SetDBClusterArn sets the DBClusterArn field's value.
9236func (s *DBCluster) SetDBClusterArn(v string) *DBCluster {
9237	s.DBClusterArn = &v
9238	return s
9239}
9240
9241// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
9242func (s *DBCluster) SetDBClusterIdentifier(v string) *DBCluster {
9243	s.DBClusterIdentifier = &v
9244	return s
9245}
9246
9247// SetDBClusterMembers sets the DBClusterMembers field's value.
9248func (s *DBCluster) SetDBClusterMembers(v []*DBClusterMember) *DBCluster {
9249	s.DBClusterMembers = v
9250	return s
9251}
9252
9253// SetDBClusterOptionGroupMemberships sets the DBClusterOptionGroupMemberships field's value.
9254func (s *DBCluster) SetDBClusterOptionGroupMemberships(v []*DBClusterOptionGroupStatus) *DBCluster {
9255	s.DBClusterOptionGroupMemberships = v
9256	return s
9257}
9258
9259// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
9260func (s *DBCluster) SetDBClusterParameterGroup(v string) *DBCluster {
9261	s.DBClusterParameterGroup = &v
9262	return s
9263}
9264
9265// SetDBSubnetGroup sets the DBSubnetGroup field's value.
9266func (s *DBCluster) SetDBSubnetGroup(v string) *DBCluster {
9267	s.DBSubnetGroup = &v
9268	return s
9269}
9270
9271// SetDatabaseName sets the DatabaseName field's value.
9272func (s *DBCluster) SetDatabaseName(v string) *DBCluster {
9273	s.DatabaseName = &v
9274	return s
9275}
9276
9277// SetDbClusterResourceId sets the DbClusterResourceId field's value.
9278func (s *DBCluster) SetDbClusterResourceId(v string) *DBCluster {
9279	s.DbClusterResourceId = &v
9280	return s
9281}
9282
9283// SetDeletionProtection sets the DeletionProtection field's value.
9284func (s *DBCluster) SetDeletionProtection(v bool) *DBCluster {
9285	s.DeletionProtection = &v
9286	return s
9287}
9288
9289// SetEarliestRestorableTime sets the EarliestRestorableTime field's value.
9290func (s *DBCluster) SetEarliestRestorableTime(v time.Time) *DBCluster {
9291	s.EarliestRestorableTime = &v
9292	return s
9293}
9294
9295// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
9296func (s *DBCluster) SetEnabledCloudwatchLogsExports(v []*string) *DBCluster {
9297	s.EnabledCloudwatchLogsExports = v
9298	return s
9299}
9300
9301// SetEndpoint sets the Endpoint field's value.
9302func (s *DBCluster) SetEndpoint(v string) *DBCluster {
9303	s.Endpoint = &v
9304	return s
9305}
9306
9307// SetEngine sets the Engine field's value.
9308func (s *DBCluster) SetEngine(v string) *DBCluster {
9309	s.Engine = &v
9310	return s
9311}
9312
9313// SetEngineVersion sets the EngineVersion field's value.
9314func (s *DBCluster) SetEngineVersion(v string) *DBCluster {
9315	s.EngineVersion = &v
9316	return s
9317}
9318
9319// SetHostedZoneId sets the HostedZoneId field's value.
9320func (s *DBCluster) SetHostedZoneId(v string) *DBCluster {
9321	s.HostedZoneId = &v
9322	return s
9323}
9324
9325// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
9326func (s *DBCluster) SetIAMDatabaseAuthenticationEnabled(v bool) *DBCluster {
9327	s.IAMDatabaseAuthenticationEnabled = &v
9328	return s
9329}
9330
9331// SetKmsKeyId sets the KmsKeyId field's value.
9332func (s *DBCluster) SetKmsKeyId(v string) *DBCluster {
9333	s.KmsKeyId = &v
9334	return s
9335}
9336
9337// SetLatestRestorableTime sets the LatestRestorableTime field's value.
9338func (s *DBCluster) SetLatestRestorableTime(v time.Time) *DBCluster {
9339	s.LatestRestorableTime = &v
9340	return s
9341}
9342
9343// SetMasterUsername sets the MasterUsername field's value.
9344func (s *DBCluster) SetMasterUsername(v string) *DBCluster {
9345	s.MasterUsername = &v
9346	return s
9347}
9348
9349// SetMultiAZ sets the MultiAZ field's value.
9350func (s *DBCluster) SetMultiAZ(v bool) *DBCluster {
9351	s.MultiAZ = &v
9352	return s
9353}
9354
9355// SetPercentProgress sets the PercentProgress field's value.
9356func (s *DBCluster) SetPercentProgress(v string) *DBCluster {
9357	s.PercentProgress = &v
9358	return s
9359}
9360
9361// SetPort sets the Port field's value.
9362func (s *DBCluster) SetPort(v int64) *DBCluster {
9363	s.Port = &v
9364	return s
9365}
9366
9367// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
9368func (s *DBCluster) SetPreferredBackupWindow(v string) *DBCluster {
9369	s.PreferredBackupWindow = &v
9370	return s
9371}
9372
9373// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
9374func (s *DBCluster) SetPreferredMaintenanceWindow(v string) *DBCluster {
9375	s.PreferredMaintenanceWindow = &v
9376	return s
9377}
9378
9379// SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
9380func (s *DBCluster) SetReadReplicaIdentifiers(v []*string) *DBCluster {
9381	s.ReadReplicaIdentifiers = v
9382	return s
9383}
9384
9385// SetReaderEndpoint sets the ReaderEndpoint field's value.
9386func (s *DBCluster) SetReaderEndpoint(v string) *DBCluster {
9387	s.ReaderEndpoint = &v
9388	return s
9389}
9390
9391// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
9392func (s *DBCluster) SetReplicationSourceIdentifier(v string) *DBCluster {
9393	s.ReplicationSourceIdentifier = &v
9394	return s
9395}
9396
9397// SetStatus sets the Status field's value.
9398func (s *DBCluster) SetStatus(v string) *DBCluster {
9399	s.Status = &v
9400	return s
9401}
9402
9403// SetStorageEncrypted sets the StorageEncrypted field's value.
9404func (s *DBCluster) SetStorageEncrypted(v bool) *DBCluster {
9405	s.StorageEncrypted = &v
9406	return s
9407}
9408
9409// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
9410func (s *DBCluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBCluster {
9411	s.VpcSecurityGroups = v
9412	return s
9413}
9414
9415// This data type represents the information you need to connect to an Amazon
9416// Neptune DB cluster. This data type is used as a response element in the following
9417// actions:
9418//
9419//    * CreateDBClusterEndpoint
9420//
9421//    * DescribeDBClusterEndpoints
9422//
9423//    * ModifyDBClusterEndpoint
9424//
9425//    * DeleteDBClusterEndpoint
9426//
9427// For the data structure that represents Amazon Neptune DB instance endpoints,
9428// see Endpoint.
9429type DBClusterEndpoint struct {
9430	_ struct{} `type:"structure"`
9431
9432	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
9433	CustomEndpointType *string `type:"string"`
9434
9435	// The Amazon Resource Name (ARN) for the endpoint.
9436	DBClusterEndpointArn *string `type:"string"`
9437
9438	// The identifier associated with the endpoint. This parameter is stored as
9439	// a lowercase string.
9440	DBClusterEndpointIdentifier *string `type:"string"`
9441
9442	// A unique system-generated identifier for an endpoint. It remains the same
9443	// for the whole life of the endpoint.
9444	DBClusterEndpointResourceIdentifier *string `type:"string"`
9445
9446	// The DB cluster identifier of the DB cluster associated with the endpoint.
9447	// This parameter is stored as a lowercase string.
9448	DBClusterIdentifier *string `type:"string"`
9449
9450	// The DNS address of the endpoint.
9451	Endpoint *string `type:"string"`
9452
9453	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
9454	EndpointType *string `type:"string"`
9455
9456	// List of DB instance identifiers that aren't part of the custom endpoint group.
9457	// All other eligible instances are reachable through the custom endpoint. Only
9458	// relevant if the list of static members is empty.
9459	ExcludedMembers []*string `type:"list"`
9460
9461	// List of DB instance identifiers that are part of the custom endpoint group.
9462	StaticMembers []*string `type:"list"`
9463
9464	// The current status of the endpoint. One of: creating, available, deleting,
9465	// inactive, modifying. The inactive state applies to an endpoint that cannot
9466	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
9467	// secondary cluster in a global database.
9468	Status *string `type:"string"`
9469}
9470
9471// String returns the string representation
9472func (s DBClusterEndpoint) String() string {
9473	return awsutil.Prettify(s)
9474}
9475
9476// GoString returns the string representation
9477func (s DBClusterEndpoint) GoString() string {
9478	return s.String()
9479}
9480
9481// SetCustomEndpointType sets the CustomEndpointType field's value.
9482func (s *DBClusterEndpoint) SetCustomEndpointType(v string) *DBClusterEndpoint {
9483	s.CustomEndpointType = &v
9484	return s
9485}
9486
9487// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
9488func (s *DBClusterEndpoint) SetDBClusterEndpointArn(v string) *DBClusterEndpoint {
9489	s.DBClusterEndpointArn = &v
9490	return s
9491}
9492
9493// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
9494func (s *DBClusterEndpoint) SetDBClusterEndpointIdentifier(v string) *DBClusterEndpoint {
9495	s.DBClusterEndpointIdentifier = &v
9496	return s
9497}
9498
9499// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
9500func (s *DBClusterEndpoint) SetDBClusterEndpointResourceIdentifier(v string) *DBClusterEndpoint {
9501	s.DBClusterEndpointResourceIdentifier = &v
9502	return s
9503}
9504
9505// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
9506func (s *DBClusterEndpoint) SetDBClusterIdentifier(v string) *DBClusterEndpoint {
9507	s.DBClusterIdentifier = &v
9508	return s
9509}
9510
9511// SetEndpoint sets the Endpoint field's value.
9512func (s *DBClusterEndpoint) SetEndpoint(v string) *DBClusterEndpoint {
9513	s.Endpoint = &v
9514	return s
9515}
9516
9517// SetEndpointType sets the EndpointType field's value.
9518func (s *DBClusterEndpoint) SetEndpointType(v string) *DBClusterEndpoint {
9519	s.EndpointType = &v
9520	return s
9521}
9522
9523// SetExcludedMembers sets the ExcludedMembers field's value.
9524func (s *DBClusterEndpoint) SetExcludedMembers(v []*string) *DBClusterEndpoint {
9525	s.ExcludedMembers = v
9526	return s
9527}
9528
9529// SetStaticMembers sets the StaticMembers field's value.
9530func (s *DBClusterEndpoint) SetStaticMembers(v []*string) *DBClusterEndpoint {
9531	s.StaticMembers = v
9532	return s
9533}
9534
9535// SetStatus sets the Status field's value.
9536func (s *DBClusterEndpoint) SetStatus(v string) *DBClusterEndpoint {
9537	s.Status = &v
9538	return s
9539}
9540
9541// Contains information about an instance that is part of a DB cluster.
9542type DBClusterMember struct {
9543	_ struct{} `type:"structure"`
9544
9545	// Specifies the status of the DB cluster parameter group for this member of
9546	// the DB cluster.
9547	DBClusterParameterGroupStatus *string `type:"string"`
9548
9549	// Specifies the instance identifier for this member of the DB cluster.
9550	DBInstanceIdentifier *string `type:"string"`
9551
9552	// Value that is true if the cluster member is the primary instance for the
9553	// DB cluster and false otherwise.
9554	IsClusterWriter *bool `type:"boolean"`
9555
9556	// A value that specifies the order in which a Read Replica is promoted to the
9557	// primary instance after a failure of the existing primary instance.
9558	PromotionTier *int64 `type:"integer"`
9559}
9560
9561// String returns the string representation
9562func (s DBClusterMember) String() string {
9563	return awsutil.Prettify(s)
9564}
9565
9566// GoString returns the string representation
9567func (s DBClusterMember) GoString() string {
9568	return s.String()
9569}
9570
9571// SetDBClusterParameterGroupStatus sets the DBClusterParameterGroupStatus field's value.
9572func (s *DBClusterMember) SetDBClusterParameterGroupStatus(v string) *DBClusterMember {
9573	s.DBClusterParameterGroupStatus = &v
9574	return s
9575}
9576
9577// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
9578func (s *DBClusterMember) SetDBInstanceIdentifier(v string) *DBClusterMember {
9579	s.DBInstanceIdentifier = &v
9580	return s
9581}
9582
9583// SetIsClusterWriter sets the IsClusterWriter field's value.
9584func (s *DBClusterMember) SetIsClusterWriter(v bool) *DBClusterMember {
9585	s.IsClusterWriter = &v
9586	return s
9587}
9588
9589// SetPromotionTier sets the PromotionTier field's value.
9590func (s *DBClusterMember) SetPromotionTier(v int64) *DBClusterMember {
9591	s.PromotionTier = &v
9592	return s
9593}
9594
9595// Contains status information for a DB cluster option group.
9596type DBClusterOptionGroupStatus struct {
9597	_ struct{} `type:"structure"`
9598
9599	// Specifies the name of the DB cluster option group.
9600	DBClusterOptionGroupName *string `type:"string"`
9601
9602	// Specifies the status of the DB cluster option group.
9603	Status *string `type:"string"`
9604}
9605
9606// String returns the string representation
9607func (s DBClusterOptionGroupStatus) String() string {
9608	return awsutil.Prettify(s)
9609}
9610
9611// GoString returns the string representation
9612func (s DBClusterOptionGroupStatus) GoString() string {
9613	return s.String()
9614}
9615
9616// SetDBClusterOptionGroupName sets the DBClusterOptionGroupName field's value.
9617func (s *DBClusterOptionGroupStatus) SetDBClusterOptionGroupName(v string) *DBClusterOptionGroupStatus {
9618	s.DBClusterOptionGroupName = &v
9619	return s
9620}
9621
9622// SetStatus sets the Status field's value.
9623func (s *DBClusterOptionGroupStatus) SetStatus(v string) *DBClusterOptionGroupStatus {
9624	s.Status = &v
9625	return s
9626}
9627
9628// Contains the details of an Amazon Neptune DB cluster parameter group.
9629//
9630// This data type is used as a response element in the DescribeDBClusterParameterGroups
9631// action.
9632type DBClusterParameterGroup struct {
9633	_ struct{} `type:"structure"`
9634
9635	// The Amazon Resource Name (ARN) for the DB cluster parameter group.
9636	DBClusterParameterGroupArn *string `type:"string"`
9637
9638	// Provides the name of the DB cluster parameter group.
9639	DBClusterParameterGroupName *string `type:"string"`
9640
9641	// Provides the name of the DB parameter group family that this DB cluster parameter
9642	// group is compatible with.
9643	DBParameterGroupFamily *string `type:"string"`
9644
9645	// Provides the customer-specified description for this DB cluster parameter
9646	// group.
9647	Description *string `type:"string"`
9648}
9649
9650// String returns the string representation
9651func (s DBClusterParameterGroup) String() string {
9652	return awsutil.Prettify(s)
9653}
9654
9655// GoString returns the string representation
9656func (s DBClusterParameterGroup) GoString() string {
9657	return s.String()
9658}
9659
9660// SetDBClusterParameterGroupArn sets the DBClusterParameterGroupArn field's value.
9661func (s *DBClusterParameterGroup) SetDBClusterParameterGroupArn(v string) *DBClusterParameterGroup {
9662	s.DBClusterParameterGroupArn = &v
9663	return s
9664}
9665
9666// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
9667func (s *DBClusterParameterGroup) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroup {
9668	s.DBClusterParameterGroupName = &v
9669	return s
9670}
9671
9672// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
9673func (s *DBClusterParameterGroup) SetDBParameterGroupFamily(v string) *DBClusterParameterGroup {
9674	s.DBParameterGroupFamily = &v
9675	return s
9676}
9677
9678// SetDescription sets the Description field's value.
9679func (s *DBClusterParameterGroup) SetDescription(v string) *DBClusterParameterGroup {
9680	s.Description = &v
9681	return s
9682}
9683
9684// Describes an AWS Identity and Access Management (IAM) role that is associated
9685// with a DB cluster.
9686type DBClusterRole struct {
9687	_ struct{} `type:"structure"`
9688
9689	// The name of the feature associated with the AWS Identity and Access Management
9690	// (IAM) role. For the list of supported feature names, see DBEngineVersion.
9691	FeatureName *string `type:"string"`
9692
9693	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
9694	// DB cluster.
9695	RoleArn *string `type:"string"`
9696
9697	// Describes the state of association between the IAM role and the DB cluster.
9698	// The Status property returns one of the following values:
9699	//
9700	//    * ACTIVE - the IAM role ARN is associated with the DB cluster and can
9701	//    be used to access other AWS services on your behalf.
9702	//
9703	//    * PENDING - the IAM role ARN is being associated with the DB cluster.
9704	//
9705	//    * INVALID - the IAM role ARN is associated with the DB cluster, but the
9706	//    DB cluster is unable to assume the IAM role in order to access other AWS
9707	//    services on your behalf.
9708	Status *string `type:"string"`
9709}
9710
9711// String returns the string representation
9712func (s DBClusterRole) String() string {
9713	return awsutil.Prettify(s)
9714}
9715
9716// GoString returns the string representation
9717func (s DBClusterRole) GoString() string {
9718	return s.String()
9719}
9720
9721// SetFeatureName sets the FeatureName field's value.
9722func (s *DBClusterRole) SetFeatureName(v string) *DBClusterRole {
9723	s.FeatureName = &v
9724	return s
9725}
9726
9727// SetRoleArn sets the RoleArn field's value.
9728func (s *DBClusterRole) SetRoleArn(v string) *DBClusterRole {
9729	s.RoleArn = &v
9730	return s
9731}
9732
9733// SetStatus sets the Status field's value.
9734func (s *DBClusterRole) SetStatus(v string) *DBClusterRole {
9735	s.Status = &v
9736	return s
9737}
9738
9739// Contains the details for an Amazon Neptune DB cluster snapshot
9740//
9741// This data type is used as a response element in the DescribeDBClusterSnapshots
9742// action.
9743type DBClusterSnapshot struct {
9744	_ struct{} `type:"structure"`
9745
9746	// Specifies the allocated storage size in gibibytes (GiB).
9747	AllocatedStorage *int64 `type:"integer"`
9748
9749	// Provides the list of EC2 Availability Zones that instances in the DB cluster
9750	// snapshot can be restored in.
9751	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
9752
9753	// Specifies the time when the DB cluster was created, in Universal Coordinated
9754	// Time (UTC).
9755	ClusterCreateTime *time.Time `type:"timestamp"`
9756
9757	// Specifies the DB cluster identifier of the DB cluster that this DB cluster
9758	// snapshot was created from.
9759	DBClusterIdentifier *string `type:"string"`
9760
9761	// The Amazon Resource Name (ARN) for the DB cluster snapshot.
9762	DBClusterSnapshotArn *string `type:"string"`
9763
9764	// Specifies the identifier for a DB cluster snapshot. Must match the identifier
9765	// of an existing snapshot.
9766	//
9767	// After you restore a DB cluster using a DBClusterSnapshotIdentifier, you must
9768	// specify the same DBClusterSnapshotIdentifier for any future updates to the
9769	// DB cluster. When you specify this property for an update, the DB cluster
9770	// is not restored from the snapshot again, and the data in the database is
9771	// not changed.
9772	//
9773	// However, if you don't specify the DBClusterSnapshotIdentifier, an empty DB
9774	// cluster is created, and the original DB cluster is deleted. If you specify
9775	// a property that is different from the previous snapshot restore property,
9776	// the DB cluster is restored from the snapshot specified by the DBClusterSnapshotIdentifier,
9777	// and the original DB cluster is deleted.
9778	DBClusterSnapshotIdentifier *string `type:"string"`
9779
9780	// Specifies the name of the database engine.
9781	Engine *string `type:"string"`
9782
9783	// Provides the version of the database engine for this DB cluster snapshot.
9784	EngineVersion *string `type:"string"`
9785
9786	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
9787	// accounts is enabled, and otherwise false.
9788	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
9789
9790	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
9791	// DB cluster snapshot.
9792	KmsKeyId *string `type:"string"`
9793
9794	// Provides the license model information for this DB cluster snapshot.
9795	LicenseModel *string `type:"string"`
9796
9797	// Provides the master username for the DB cluster snapshot.
9798	MasterUsername *string `type:"string"`
9799
9800	// Specifies the percentage of the estimated data that has been transferred.
9801	PercentProgress *int64 `type:"integer"`
9802
9803	// Specifies the port that the DB cluster was listening on at the time of the
9804	// snapshot.
9805	Port *int64 `type:"integer"`
9806
9807	// Provides the time when the snapshot was taken, in Universal Coordinated Time
9808	// (UTC).
9809	SnapshotCreateTime *time.Time `type:"timestamp"`
9810
9811	// Provides the type of the DB cluster snapshot.
9812	SnapshotType *string `type:"string"`
9813
9814	// If the DB cluster snapshot was copied from a source DB cluster snapshot,
9815	// the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise,
9816	// a null value.
9817	SourceDBClusterSnapshotArn *string `type:"string"`
9818
9819	// Specifies the status of this DB cluster snapshot.
9820	Status *string `type:"string"`
9821
9822	// Specifies whether the DB cluster snapshot is encrypted.
9823	StorageEncrypted *bool `type:"boolean"`
9824
9825	// Provides the VPC ID associated with the DB cluster snapshot.
9826	VpcId *string `type:"string"`
9827}
9828
9829// String returns the string representation
9830func (s DBClusterSnapshot) String() string {
9831	return awsutil.Prettify(s)
9832}
9833
9834// GoString returns the string representation
9835func (s DBClusterSnapshot) GoString() string {
9836	return s.String()
9837}
9838
9839// SetAllocatedStorage sets the AllocatedStorage field's value.
9840func (s *DBClusterSnapshot) SetAllocatedStorage(v int64) *DBClusterSnapshot {
9841	s.AllocatedStorage = &v
9842	return s
9843}
9844
9845// SetAvailabilityZones sets the AvailabilityZones field's value.
9846func (s *DBClusterSnapshot) SetAvailabilityZones(v []*string) *DBClusterSnapshot {
9847	s.AvailabilityZones = v
9848	return s
9849}
9850
9851// SetClusterCreateTime sets the ClusterCreateTime field's value.
9852func (s *DBClusterSnapshot) SetClusterCreateTime(v time.Time) *DBClusterSnapshot {
9853	s.ClusterCreateTime = &v
9854	return s
9855}
9856
9857// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
9858func (s *DBClusterSnapshot) SetDBClusterIdentifier(v string) *DBClusterSnapshot {
9859	s.DBClusterIdentifier = &v
9860	return s
9861}
9862
9863// SetDBClusterSnapshotArn sets the DBClusterSnapshotArn field's value.
9864func (s *DBClusterSnapshot) SetDBClusterSnapshotArn(v string) *DBClusterSnapshot {
9865	s.DBClusterSnapshotArn = &v
9866	return s
9867}
9868
9869// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
9870func (s *DBClusterSnapshot) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshot {
9871	s.DBClusterSnapshotIdentifier = &v
9872	return s
9873}
9874
9875// SetEngine sets the Engine field's value.
9876func (s *DBClusterSnapshot) SetEngine(v string) *DBClusterSnapshot {
9877	s.Engine = &v
9878	return s
9879}
9880
9881// SetEngineVersion sets the EngineVersion field's value.
9882func (s *DBClusterSnapshot) SetEngineVersion(v string) *DBClusterSnapshot {
9883	s.EngineVersion = &v
9884	return s
9885}
9886
9887// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
9888func (s *DBClusterSnapshot) SetIAMDatabaseAuthenticationEnabled(v bool) *DBClusterSnapshot {
9889	s.IAMDatabaseAuthenticationEnabled = &v
9890	return s
9891}
9892
9893// SetKmsKeyId sets the KmsKeyId field's value.
9894func (s *DBClusterSnapshot) SetKmsKeyId(v string) *DBClusterSnapshot {
9895	s.KmsKeyId = &v
9896	return s
9897}
9898
9899// SetLicenseModel sets the LicenseModel field's value.
9900func (s *DBClusterSnapshot) SetLicenseModel(v string) *DBClusterSnapshot {
9901	s.LicenseModel = &v
9902	return s
9903}
9904
9905// SetMasterUsername sets the MasterUsername field's value.
9906func (s *DBClusterSnapshot) SetMasterUsername(v string) *DBClusterSnapshot {
9907	s.MasterUsername = &v
9908	return s
9909}
9910
9911// SetPercentProgress sets the PercentProgress field's value.
9912func (s *DBClusterSnapshot) SetPercentProgress(v int64) *DBClusterSnapshot {
9913	s.PercentProgress = &v
9914	return s
9915}
9916
9917// SetPort sets the Port field's value.
9918func (s *DBClusterSnapshot) SetPort(v int64) *DBClusterSnapshot {
9919	s.Port = &v
9920	return s
9921}
9922
9923// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
9924func (s *DBClusterSnapshot) SetSnapshotCreateTime(v time.Time) *DBClusterSnapshot {
9925	s.SnapshotCreateTime = &v
9926	return s
9927}
9928
9929// SetSnapshotType sets the SnapshotType field's value.
9930func (s *DBClusterSnapshot) SetSnapshotType(v string) *DBClusterSnapshot {
9931	s.SnapshotType = &v
9932	return s
9933}
9934
9935// SetSourceDBClusterSnapshotArn sets the SourceDBClusterSnapshotArn field's value.
9936func (s *DBClusterSnapshot) SetSourceDBClusterSnapshotArn(v string) *DBClusterSnapshot {
9937	s.SourceDBClusterSnapshotArn = &v
9938	return s
9939}
9940
9941// SetStatus sets the Status field's value.
9942func (s *DBClusterSnapshot) SetStatus(v string) *DBClusterSnapshot {
9943	s.Status = &v
9944	return s
9945}
9946
9947// SetStorageEncrypted sets the StorageEncrypted field's value.
9948func (s *DBClusterSnapshot) SetStorageEncrypted(v bool) *DBClusterSnapshot {
9949	s.StorageEncrypted = &v
9950	return s
9951}
9952
9953// SetVpcId sets the VpcId field's value.
9954func (s *DBClusterSnapshot) SetVpcId(v string) *DBClusterSnapshot {
9955	s.VpcId = &v
9956	return s
9957}
9958
9959// Contains the name and values of a manual DB cluster snapshot attribute.
9960//
9961// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
9962// to restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute
9963// API action.
9964type DBClusterSnapshotAttribute struct {
9965	_ struct{} `type:"structure"`
9966
9967	// The name of the manual DB cluster snapshot attribute.
9968	//
9969	// The attribute named restore refers to the list of AWS accounts that have
9970	// permission to copy or restore the manual DB cluster snapshot. For more information,
9971	// see the ModifyDBClusterSnapshotAttribute API action.
9972	AttributeName *string `type:"string"`
9973
9974	// The value(s) for the manual DB cluster snapshot attribute.
9975	//
9976	// If the AttributeName field is set to restore, then this element returns a
9977	// list of IDs of the AWS accounts that are authorized to copy or restore the
9978	// manual DB cluster snapshot. If a value of all is in the list, then the manual
9979	// DB cluster snapshot is public and available for any AWS account to copy or
9980	// restore.
9981	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
9982}
9983
9984// String returns the string representation
9985func (s DBClusterSnapshotAttribute) String() string {
9986	return awsutil.Prettify(s)
9987}
9988
9989// GoString returns the string representation
9990func (s DBClusterSnapshotAttribute) GoString() string {
9991	return s.String()
9992}
9993
9994// SetAttributeName sets the AttributeName field's value.
9995func (s *DBClusterSnapshotAttribute) SetAttributeName(v string) *DBClusterSnapshotAttribute {
9996	s.AttributeName = &v
9997	return s
9998}
9999
10000// SetAttributeValues sets the AttributeValues field's value.
10001func (s *DBClusterSnapshotAttribute) SetAttributeValues(v []*string) *DBClusterSnapshotAttribute {
10002	s.AttributeValues = v
10003	return s
10004}
10005
10006// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
10007// API action.
10008//
10009// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
10010// to copy or restore a manual DB cluster snapshot. For more information, see
10011// the ModifyDBClusterSnapshotAttribute API action.
10012type DBClusterSnapshotAttributesResult struct {
10013	_ struct{} `type:"structure"`
10014
10015	// The list of attributes and values for the manual DB cluster snapshot.
10016	DBClusterSnapshotAttributes []*DBClusterSnapshotAttribute `locationNameList:"DBClusterSnapshotAttribute" type:"list"`
10017
10018	// The identifier of the manual DB cluster snapshot that the attributes apply
10019	// to.
10020	DBClusterSnapshotIdentifier *string `type:"string"`
10021}
10022
10023// String returns the string representation
10024func (s DBClusterSnapshotAttributesResult) String() string {
10025	return awsutil.Prettify(s)
10026}
10027
10028// GoString returns the string representation
10029func (s DBClusterSnapshotAttributesResult) GoString() string {
10030	return s.String()
10031}
10032
10033// SetDBClusterSnapshotAttributes sets the DBClusterSnapshotAttributes field's value.
10034func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotAttributes(v []*DBClusterSnapshotAttribute) *DBClusterSnapshotAttributesResult {
10035	s.DBClusterSnapshotAttributes = v
10036	return s
10037}
10038
10039// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
10040func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshotAttributesResult {
10041	s.DBClusterSnapshotIdentifier = &v
10042	return s
10043}
10044
10045// This data type is used as a response element in the action DescribeDBEngineVersions.
10046type DBEngineVersion struct {
10047	_ struct{} `type:"structure"`
10048
10049	// The description of the database engine.
10050	DBEngineDescription *string `type:"string"`
10051
10052	// The description of the database engine version.
10053	DBEngineVersionDescription *string `type:"string"`
10054
10055	// The name of the DB parameter group family for the database engine.
10056	DBParameterGroupFamily *string `type:"string"`
10057
10058	// (Not supported by Neptune)
10059	DefaultCharacterSet *CharacterSet `type:"structure"`
10060
10061	// The name of the database engine.
10062	Engine *string `type:"string"`
10063
10064	// The version number of the database engine.
10065	EngineVersion *string `type:"string"`
10066
10067	// The types of logs that the database engine has available for export to CloudWatch
10068	// Logs.
10069	ExportableLogTypes []*string `type:"list"`
10070
10071	// (Not supported by Neptune)
10072	SupportedCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
10073
10074	// A list of the time zones supported by this engine for the Timezone parameter
10075	// of the CreateDBInstance action.
10076	SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"`
10077
10078	// A value that indicates whether the engine version supports exporting the
10079	// log types specified by ExportableLogTypes to CloudWatch Logs.
10080	SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"`
10081
10082	// Indicates whether the database engine version supports read replicas.
10083	SupportsReadReplica *bool `type:"boolean"`
10084
10085	// A list of engine versions that this database engine version can be upgraded
10086	// to.
10087	ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"`
10088}
10089
10090// String returns the string representation
10091func (s DBEngineVersion) String() string {
10092	return awsutil.Prettify(s)
10093}
10094
10095// GoString returns the string representation
10096func (s DBEngineVersion) GoString() string {
10097	return s.String()
10098}
10099
10100// SetDBEngineDescription sets the DBEngineDescription field's value.
10101func (s *DBEngineVersion) SetDBEngineDescription(v string) *DBEngineVersion {
10102	s.DBEngineDescription = &v
10103	return s
10104}
10105
10106// SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value.
10107func (s *DBEngineVersion) SetDBEngineVersionDescription(v string) *DBEngineVersion {
10108	s.DBEngineVersionDescription = &v
10109	return s
10110}
10111
10112// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
10113func (s *DBEngineVersion) SetDBParameterGroupFamily(v string) *DBEngineVersion {
10114	s.DBParameterGroupFamily = &v
10115	return s
10116}
10117
10118// SetDefaultCharacterSet sets the DefaultCharacterSet field's value.
10119func (s *DBEngineVersion) SetDefaultCharacterSet(v *CharacterSet) *DBEngineVersion {
10120	s.DefaultCharacterSet = v
10121	return s
10122}
10123
10124// SetEngine sets the Engine field's value.
10125func (s *DBEngineVersion) SetEngine(v string) *DBEngineVersion {
10126	s.Engine = &v
10127	return s
10128}
10129
10130// SetEngineVersion sets the EngineVersion field's value.
10131func (s *DBEngineVersion) SetEngineVersion(v string) *DBEngineVersion {
10132	s.EngineVersion = &v
10133	return s
10134}
10135
10136// SetExportableLogTypes sets the ExportableLogTypes field's value.
10137func (s *DBEngineVersion) SetExportableLogTypes(v []*string) *DBEngineVersion {
10138	s.ExportableLogTypes = v
10139	return s
10140}
10141
10142// SetSupportedCharacterSets sets the SupportedCharacterSets field's value.
10143func (s *DBEngineVersion) SetSupportedCharacterSets(v []*CharacterSet) *DBEngineVersion {
10144	s.SupportedCharacterSets = v
10145	return s
10146}
10147
10148// SetSupportedTimezones sets the SupportedTimezones field's value.
10149func (s *DBEngineVersion) SetSupportedTimezones(v []*Timezone) *DBEngineVersion {
10150	s.SupportedTimezones = v
10151	return s
10152}
10153
10154// SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value.
10155func (s *DBEngineVersion) SetSupportsLogExportsToCloudwatchLogs(v bool) *DBEngineVersion {
10156	s.SupportsLogExportsToCloudwatchLogs = &v
10157	return s
10158}
10159
10160// SetSupportsReadReplica sets the SupportsReadReplica field's value.
10161func (s *DBEngineVersion) SetSupportsReadReplica(v bool) *DBEngineVersion {
10162	s.SupportsReadReplica = &v
10163	return s
10164}
10165
10166// SetValidUpgradeTarget sets the ValidUpgradeTarget field's value.
10167func (s *DBEngineVersion) SetValidUpgradeTarget(v []*UpgradeTarget) *DBEngineVersion {
10168	s.ValidUpgradeTarget = v
10169	return s
10170}
10171
10172// Contains the details of an Amazon Neptune DB instance.
10173//
10174// This data type is used as a response element in the DescribeDBInstances action.
10175type DBInstance struct {
10176	_ struct{} `type:"structure"`
10177
10178	// Specifies the allocated storage size specified in gibibytes.
10179	AllocatedStorage *int64 `type:"integer"`
10180
10181	// Indicates that minor version patches are applied automatically.
10182	AutoMinorVersionUpgrade *bool `type:"boolean"`
10183
10184	// Specifies the name of the Availability Zone the DB instance is located in.
10185	AvailabilityZone *string `type:"string"`
10186
10187	// Specifies the number of days for which automatic DB snapshots are retained.
10188	BackupRetentionPeriod *int64 `type:"integer"`
10189
10190	// The identifier of the CA certificate for this DB instance.
10191	CACertificateIdentifier *string `type:"string"`
10192
10193	// (Not supported by Neptune)
10194	CharacterSetName *string `type:"string"`
10195
10196	// Specifies whether tags are copied from the DB instance to snapshots of the
10197	// DB instance.
10198	CopyTagsToSnapshot *bool `type:"boolean"`
10199
10200	// If the DB instance is a member of a DB cluster, contains the name of the
10201	// DB cluster that the DB instance is a member of.
10202	DBClusterIdentifier *string `type:"string"`
10203
10204	// The Amazon Resource Name (ARN) for the DB instance.
10205	DBInstanceArn *string `type:"string"`
10206
10207	// Contains the name of the compute and memory capacity class of the DB instance.
10208	DBInstanceClass *string `type:"string"`
10209
10210	// Contains a user-supplied database identifier. This identifier is the unique
10211	// key that identifies a DB instance.
10212	DBInstanceIdentifier *string `type:"string"`
10213
10214	// Specifies the current state of this database.
10215	DBInstanceStatus *string `type:"string"`
10216
10217	// The database name.
10218	DBName *string `type:"string"`
10219
10220	// Provides the list of DB parameter groups applied to this DB instance.
10221	DBParameterGroups []*DBParameterGroupStatus `locationNameList:"DBParameterGroup" type:"list"`
10222
10223	// Provides List of DB security group elements containing only DBSecurityGroup.Name
10224	// and DBSecurityGroup.Status subelements.
10225	DBSecurityGroups []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
10226
10227	// Specifies information on the subnet group associated with the DB instance,
10228	// including the name, description, and subnets in the subnet group.
10229	DBSubnetGroup *DBSubnetGroup `type:"structure"`
10230
10231	// Specifies the port that the DB instance listens on. If the DB instance is
10232	// part of a DB cluster, this can be a different port than the DB cluster port.
10233	DbInstancePort *int64 `type:"integer"`
10234
10235	// The AWS Region-unique, immutable identifier for the DB instance. This identifier
10236	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
10237	// instance is accessed.
10238	DbiResourceId *string `type:"string"`
10239
10240	// Indicates whether or not the DB instance has deletion protection enabled.
10241	// The instance can't be deleted when deletion protection is enabled. See Deleting
10242	// a DB Instance (https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html).
10243	DeletionProtection *bool `type:"boolean"`
10244
10245	// Not supported
10246	DomainMemberships []*DomainMembership `locationNameList:"DomainMembership" type:"list"`
10247
10248	// A list of log types that this DB instance is configured to export to CloudWatch
10249	// Logs.
10250	EnabledCloudwatchLogsExports []*string `type:"list"`
10251
10252	// Specifies the connection endpoint.
10253	Endpoint *Endpoint `type:"structure"`
10254
10255	// Provides the name of the database engine to be used for this DB instance.
10256	Engine *string `type:"string"`
10257
10258	// Indicates the database engine version.
10259	EngineVersion *string `type:"string"`
10260
10261	// The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that
10262	// receives the Enhanced Monitoring metrics data for the DB instance.
10263	EnhancedMonitoringResourceArn *string `type:"string"`
10264
10265	// True if AWS Identity and Access Management (IAM) authentication is enabled,
10266	// and otherwise false.
10267	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
10268
10269	// Provides the date and time the DB instance was created.
10270	InstanceCreateTime *time.Time `type:"timestamp"`
10271
10272	// Specifies the Provisioned IOPS (I/O operations per second) value.
10273	Iops *int64 `type:"integer"`
10274
10275	// Not supported: The encryption for DB instances is managed by the DB cluster.
10276	KmsKeyId *string `type:"string"`
10277
10278	// Specifies the latest time to which a database can be restored with point-in-time
10279	// restore.
10280	LatestRestorableTime *time.Time `type:"timestamp"`
10281
10282	// License model information for this DB instance.
10283	LicenseModel *string `type:"string"`
10284
10285	// Contains the master username for the DB instance.
10286	MasterUsername *string `type:"string"`
10287
10288	// The interval, in seconds, between points when Enhanced Monitoring metrics
10289	// are collected for the DB instance.
10290	MonitoringInterval *int64 `type:"integer"`
10291
10292	// The ARN for the IAM role that permits Neptune to send Enhanced Monitoring
10293	// metrics to Amazon CloudWatch Logs.
10294	MonitoringRoleArn *string `type:"string"`
10295
10296	// Specifies if the DB instance is a Multi-AZ deployment.
10297	MultiAZ *bool `type:"boolean"`
10298
10299	// (Not supported by Neptune)
10300	OptionGroupMemberships []*OptionGroupMembership `locationNameList:"OptionGroupMembership" type:"list"`
10301
10302	// Specifies that changes to the DB instance are pending. This element is only
10303	// included when changes are pending. Specific changes are identified by subelements.
10304	PendingModifiedValues *PendingModifiedValues `type:"structure"`
10305
10306	// (Not supported by Neptune)
10307	PerformanceInsightsEnabled *bool `type:"boolean"`
10308
10309	// (Not supported by Neptune)
10310	PerformanceInsightsKMSKeyId *string `type:"string"`
10311
10312	// Specifies the daily time range during which automated backups are created
10313	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
10314	PreferredBackupWindow *string `type:"string"`
10315
10316	// Specifies the weekly time range during which system maintenance can occur,
10317	// in Universal Coordinated Time (UTC).
10318	PreferredMaintenanceWindow *string `type:"string"`
10319
10320	// A value that specifies the order in which a Read Replica is promoted to the
10321	// primary instance after a failure of the existing primary instance.
10322	PromotionTier *int64 `type:"integer"`
10323
10324	// This flag should no longer be used.
10325	//
10326	// Deprecated: PubliclyAccessible has been deprecated
10327	PubliclyAccessible *bool `deprecated:"true" type:"boolean"`
10328
10329	// Contains one or more identifiers of DB clusters that are Read Replicas of
10330	// this DB instance.
10331	ReadReplicaDBClusterIdentifiers []*string `locationNameList:"ReadReplicaDBClusterIdentifier" type:"list"`
10332
10333	// Contains one or more identifiers of the Read Replicas associated with this
10334	// DB instance.
10335	ReadReplicaDBInstanceIdentifiers []*string `locationNameList:"ReadReplicaDBInstanceIdentifier" type:"list"`
10336
10337	// Contains the identifier of the source DB instance if this DB instance is
10338	// a Read Replica.
10339	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
10340
10341	// If present, specifies the name of the secondary Availability Zone for a DB
10342	// instance with multi-AZ support.
10343	SecondaryAvailabilityZone *string `type:"string"`
10344
10345	// The status of a Read Replica. If the instance is not a Read Replica, this
10346	// is blank.
10347	StatusInfos []*DBInstanceStatusInfo `locationNameList:"DBInstanceStatusInfo" type:"list"`
10348
10349	// Not supported: The encryption for DB instances is managed by the DB cluster.
10350	StorageEncrypted *bool `type:"boolean"`
10351
10352	// Specifies the storage type associated with DB instance.
10353	StorageType *string `type:"string"`
10354
10355	// The ARN from the key store with which the instance is associated for TDE
10356	// encryption.
10357	TdeCredentialArn *string `type:"string"`
10358
10359	// Not supported.
10360	Timezone *string `type:"string"`
10361
10362	// Provides a list of VPC security group elements that the DB instance belongs
10363	// to.
10364	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
10365}
10366
10367// String returns the string representation
10368func (s DBInstance) String() string {
10369	return awsutil.Prettify(s)
10370}
10371
10372// GoString returns the string representation
10373func (s DBInstance) GoString() string {
10374	return s.String()
10375}
10376
10377// SetAllocatedStorage sets the AllocatedStorage field's value.
10378func (s *DBInstance) SetAllocatedStorage(v int64) *DBInstance {
10379	s.AllocatedStorage = &v
10380	return s
10381}
10382
10383// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
10384func (s *DBInstance) SetAutoMinorVersionUpgrade(v bool) *DBInstance {
10385	s.AutoMinorVersionUpgrade = &v
10386	return s
10387}
10388
10389// SetAvailabilityZone sets the AvailabilityZone field's value.
10390func (s *DBInstance) SetAvailabilityZone(v string) *DBInstance {
10391	s.AvailabilityZone = &v
10392	return s
10393}
10394
10395// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
10396func (s *DBInstance) SetBackupRetentionPeriod(v int64) *DBInstance {
10397	s.BackupRetentionPeriod = &v
10398	return s
10399}
10400
10401// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
10402func (s *DBInstance) SetCACertificateIdentifier(v string) *DBInstance {
10403	s.CACertificateIdentifier = &v
10404	return s
10405}
10406
10407// SetCharacterSetName sets the CharacterSetName field's value.
10408func (s *DBInstance) SetCharacterSetName(v string) *DBInstance {
10409	s.CharacterSetName = &v
10410	return s
10411}
10412
10413// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
10414func (s *DBInstance) SetCopyTagsToSnapshot(v bool) *DBInstance {
10415	s.CopyTagsToSnapshot = &v
10416	return s
10417}
10418
10419// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
10420func (s *DBInstance) SetDBClusterIdentifier(v string) *DBInstance {
10421	s.DBClusterIdentifier = &v
10422	return s
10423}
10424
10425// SetDBInstanceArn sets the DBInstanceArn field's value.
10426func (s *DBInstance) SetDBInstanceArn(v string) *DBInstance {
10427	s.DBInstanceArn = &v
10428	return s
10429}
10430
10431// SetDBInstanceClass sets the DBInstanceClass field's value.
10432func (s *DBInstance) SetDBInstanceClass(v string) *DBInstance {
10433	s.DBInstanceClass = &v
10434	return s
10435}
10436
10437// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
10438func (s *DBInstance) SetDBInstanceIdentifier(v string) *DBInstance {
10439	s.DBInstanceIdentifier = &v
10440	return s
10441}
10442
10443// SetDBInstanceStatus sets the DBInstanceStatus field's value.
10444func (s *DBInstance) SetDBInstanceStatus(v string) *DBInstance {
10445	s.DBInstanceStatus = &v
10446	return s
10447}
10448
10449// SetDBName sets the DBName field's value.
10450func (s *DBInstance) SetDBName(v string) *DBInstance {
10451	s.DBName = &v
10452	return s
10453}
10454
10455// SetDBParameterGroups sets the DBParameterGroups field's value.
10456func (s *DBInstance) SetDBParameterGroups(v []*DBParameterGroupStatus) *DBInstance {
10457	s.DBParameterGroups = v
10458	return s
10459}
10460
10461// SetDBSecurityGroups sets the DBSecurityGroups field's value.
10462func (s *DBInstance) SetDBSecurityGroups(v []*DBSecurityGroupMembership) *DBInstance {
10463	s.DBSecurityGroups = v
10464	return s
10465}
10466
10467// SetDBSubnetGroup sets the DBSubnetGroup field's value.
10468func (s *DBInstance) SetDBSubnetGroup(v *DBSubnetGroup) *DBInstance {
10469	s.DBSubnetGroup = v
10470	return s
10471}
10472
10473// SetDbInstancePort sets the DbInstancePort field's value.
10474func (s *DBInstance) SetDbInstancePort(v int64) *DBInstance {
10475	s.DbInstancePort = &v
10476	return s
10477}
10478
10479// SetDbiResourceId sets the DbiResourceId field's value.
10480func (s *DBInstance) SetDbiResourceId(v string) *DBInstance {
10481	s.DbiResourceId = &v
10482	return s
10483}
10484
10485// SetDeletionProtection sets the DeletionProtection field's value.
10486func (s *DBInstance) SetDeletionProtection(v bool) *DBInstance {
10487	s.DeletionProtection = &v
10488	return s
10489}
10490
10491// SetDomainMemberships sets the DomainMemberships field's value.
10492func (s *DBInstance) SetDomainMemberships(v []*DomainMembership) *DBInstance {
10493	s.DomainMemberships = v
10494	return s
10495}
10496
10497// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
10498func (s *DBInstance) SetEnabledCloudwatchLogsExports(v []*string) *DBInstance {
10499	s.EnabledCloudwatchLogsExports = v
10500	return s
10501}
10502
10503// SetEndpoint sets the Endpoint field's value.
10504func (s *DBInstance) SetEndpoint(v *Endpoint) *DBInstance {
10505	s.Endpoint = v
10506	return s
10507}
10508
10509// SetEngine sets the Engine field's value.
10510func (s *DBInstance) SetEngine(v string) *DBInstance {
10511	s.Engine = &v
10512	return s
10513}
10514
10515// SetEngineVersion sets the EngineVersion field's value.
10516func (s *DBInstance) SetEngineVersion(v string) *DBInstance {
10517	s.EngineVersion = &v
10518	return s
10519}
10520
10521// SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
10522func (s *DBInstance) SetEnhancedMonitoringResourceArn(v string) *DBInstance {
10523	s.EnhancedMonitoringResourceArn = &v
10524	return s
10525}
10526
10527// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
10528func (s *DBInstance) SetIAMDatabaseAuthenticationEnabled(v bool) *DBInstance {
10529	s.IAMDatabaseAuthenticationEnabled = &v
10530	return s
10531}
10532
10533// SetInstanceCreateTime sets the InstanceCreateTime field's value.
10534func (s *DBInstance) SetInstanceCreateTime(v time.Time) *DBInstance {
10535	s.InstanceCreateTime = &v
10536	return s
10537}
10538
10539// SetIops sets the Iops field's value.
10540func (s *DBInstance) SetIops(v int64) *DBInstance {
10541	s.Iops = &v
10542	return s
10543}
10544
10545// SetKmsKeyId sets the KmsKeyId field's value.
10546func (s *DBInstance) SetKmsKeyId(v string) *DBInstance {
10547	s.KmsKeyId = &v
10548	return s
10549}
10550
10551// SetLatestRestorableTime sets the LatestRestorableTime field's value.
10552func (s *DBInstance) SetLatestRestorableTime(v time.Time) *DBInstance {
10553	s.LatestRestorableTime = &v
10554	return s
10555}
10556
10557// SetLicenseModel sets the LicenseModel field's value.
10558func (s *DBInstance) SetLicenseModel(v string) *DBInstance {
10559	s.LicenseModel = &v
10560	return s
10561}
10562
10563// SetMasterUsername sets the MasterUsername field's value.
10564func (s *DBInstance) SetMasterUsername(v string) *DBInstance {
10565	s.MasterUsername = &v
10566	return s
10567}
10568
10569// SetMonitoringInterval sets the MonitoringInterval field's value.
10570func (s *DBInstance) SetMonitoringInterval(v int64) *DBInstance {
10571	s.MonitoringInterval = &v
10572	return s
10573}
10574
10575// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
10576func (s *DBInstance) SetMonitoringRoleArn(v string) *DBInstance {
10577	s.MonitoringRoleArn = &v
10578	return s
10579}
10580
10581// SetMultiAZ sets the MultiAZ field's value.
10582func (s *DBInstance) SetMultiAZ(v bool) *DBInstance {
10583	s.MultiAZ = &v
10584	return s
10585}
10586
10587// SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
10588func (s *DBInstance) SetOptionGroupMemberships(v []*OptionGroupMembership) *DBInstance {
10589	s.OptionGroupMemberships = v
10590	return s
10591}
10592
10593// SetPendingModifiedValues sets the PendingModifiedValues field's value.
10594func (s *DBInstance) SetPendingModifiedValues(v *PendingModifiedValues) *DBInstance {
10595	s.PendingModifiedValues = v
10596	return s
10597}
10598
10599// SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
10600func (s *DBInstance) SetPerformanceInsightsEnabled(v bool) *DBInstance {
10601	s.PerformanceInsightsEnabled = &v
10602	return s
10603}
10604
10605// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
10606func (s *DBInstance) SetPerformanceInsightsKMSKeyId(v string) *DBInstance {
10607	s.PerformanceInsightsKMSKeyId = &v
10608	return s
10609}
10610
10611// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
10612func (s *DBInstance) SetPreferredBackupWindow(v string) *DBInstance {
10613	s.PreferredBackupWindow = &v
10614	return s
10615}
10616
10617// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
10618func (s *DBInstance) SetPreferredMaintenanceWindow(v string) *DBInstance {
10619	s.PreferredMaintenanceWindow = &v
10620	return s
10621}
10622
10623// SetPromotionTier sets the PromotionTier field's value.
10624func (s *DBInstance) SetPromotionTier(v int64) *DBInstance {
10625	s.PromotionTier = &v
10626	return s
10627}
10628
10629// SetPubliclyAccessible sets the PubliclyAccessible field's value.
10630func (s *DBInstance) SetPubliclyAccessible(v bool) *DBInstance {
10631	s.PubliclyAccessible = &v
10632	return s
10633}
10634
10635// SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
10636func (s *DBInstance) SetReadReplicaDBClusterIdentifiers(v []*string) *DBInstance {
10637	s.ReadReplicaDBClusterIdentifiers = v
10638	return s
10639}
10640
10641// SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
10642func (s *DBInstance) SetReadReplicaDBInstanceIdentifiers(v []*string) *DBInstance {
10643	s.ReadReplicaDBInstanceIdentifiers = v
10644	return s
10645}
10646
10647// SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
10648func (s *DBInstance) SetReadReplicaSourceDBInstanceIdentifier(v string) *DBInstance {
10649	s.ReadReplicaSourceDBInstanceIdentifier = &v
10650	return s
10651}
10652
10653// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
10654func (s *DBInstance) SetSecondaryAvailabilityZone(v string) *DBInstance {
10655	s.SecondaryAvailabilityZone = &v
10656	return s
10657}
10658
10659// SetStatusInfos sets the StatusInfos field's value.
10660func (s *DBInstance) SetStatusInfos(v []*DBInstanceStatusInfo) *DBInstance {
10661	s.StatusInfos = v
10662	return s
10663}
10664
10665// SetStorageEncrypted sets the StorageEncrypted field's value.
10666func (s *DBInstance) SetStorageEncrypted(v bool) *DBInstance {
10667	s.StorageEncrypted = &v
10668	return s
10669}
10670
10671// SetStorageType sets the StorageType field's value.
10672func (s *DBInstance) SetStorageType(v string) *DBInstance {
10673	s.StorageType = &v
10674	return s
10675}
10676
10677// SetTdeCredentialArn sets the TdeCredentialArn field's value.
10678func (s *DBInstance) SetTdeCredentialArn(v string) *DBInstance {
10679	s.TdeCredentialArn = &v
10680	return s
10681}
10682
10683// SetTimezone sets the Timezone field's value.
10684func (s *DBInstance) SetTimezone(v string) *DBInstance {
10685	s.Timezone = &v
10686	return s
10687}
10688
10689// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
10690func (s *DBInstance) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBInstance {
10691	s.VpcSecurityGroups = v
10692	return s
10693}
10694
10695// Provides a list of status information for a DB instance.
10696type DBInstanceStatusInfo struct {
10697	_ struct{} `type:"structure"`
10698
10699	// Details of the error if there is an error for the instance. If the instance
10700	// is not in an error state, this value is blank.
10701	Message *string `type:"string"`
10702
10703	// Boolean value that is true if the instance is operating normally, or false
10704	// if the instance is in an error state.
10705	Normal *bool `type:"boolean"`
10706
10707	// Status of the DB instance. For a StatusType of read replica, the values can
10708	// be replicating, error, stopped, or terminated.
10709	Status *string `type:"string"`
10710
10711	// This value is currently "read replication."
10712	StatusType *string `type:"string"`
10713}
10714
10715// String returns the string representation
10716func (s DBInstanceStatusInfo) String() string {
10717	return awsutil.Prettify(s)
10718}
10719
10720// GoString returns the string representation
10721func (s DBInstanceStatusInfo) GoString() string {
10722	return s.String()
10723}
10724
10725// SetMessage sets the Message field's value.
10726func (s *DBInstanceStatusInfo) SetMessage(v string) *DBInstanceStatusInfo {
10727	s.Message = &v
10728	return s
10729}
10730
10731// SetNormal sets the Normal field's value.
10732func (s *DBInstanceStatusInfo) SetNormal(v bool) *DBInstanceStatusInfo {
10733	s.Normal = &v
10734	return s
10735}
10736
10737// SetStatus sets the Status field's value.
10738func (s *DBInstanceStatusInfo) SetStatus(v string) *DBInstanceStatusInfo {
10739	s.Status = &v
10740	return s
10741}
10742
10743// SetStatusType sets the StatusType field's value.
10744func (s *DBInstanceStatusInfo) SetStatusType(v string) *DBInstanceStatusInfo {
10745	s.StatusType = &v
10746	return s
10747}
10748
10749// Contains the details of an Amazon Neptune DB parameter group.
10750//
10751// This data type is used as a response element in the DescribeDBParameterGroups
10752// action.
10753type DBParameterGroup struct {
10754	_ struct{} `type:"structure"`
10755
10756	// The Amazon Resource Name (ARN) for the DB parameter group.
10757	DBParameterGroupArn *string `type:"string"`
10758
10759	// Provides the name of the DB parameter group family that this DB parameter
10760	// group is compatible with.
10761	DBParameterGroupFamily *string `type:"string"`
10762
10763	// Provides the name of the DB parameter group.
10764	DBParameterGroupName *string `type:"string"`
10765
10766	// Provides the customer-specified description for this DB parameter group.
10767	Description *string `type:"string"`
10768}
10769
10770// String returns the string representation
10771func (s DBParameterGroup) String() string {
10772	return awsutil.Prettify(s)
10773}
10774
10775// GoString returns the string representation
10776func (s DBParameterGroup) GoString() string {
10777	return s.String()
10778}
10779
10780// SetDBParameterGroupArn sets the DBParameterGroupArn field's value.
10781func (s *DBParameterGroup) SetDBParameterGroupArn(v string) *DBParameterGroup {
10782	s.DBParameterGroupArn = &v
10783	return s
10784}
10785
10786// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
10787func (s *DBParameterGroup) SetDBParameterGroupFamily(v string) *DBParameterGroup {
10788	s.DBParameterGroupFamily = &v
10789	return s
10790}
10791
10792// SetDBParameterGroupName sets the DBParameterGroupName field's value.
10793func (s *DBParameterGroup) SetDBParameterGroupName(v string) *DBParameterGroup {
10794	s.DBParameterGroupName = &v
10795	return s
10796}
10797
10798// SetDescription sets the Description field's value.
10799func (s *DBParameterGroup) SetDescription(v string) *DBParameterGroup {
10800	s.Description = &v
10801	return s
10802}
10803
10804// The status of the DB parameter group.
10805//
10806// This data type is used as a response element in the following actions:
10807//
10808//    * CreateDBInstance
10809//
10810//    * DeleteDBInstance
10811//
10812//    * ModifyDBInstance
10813//
10814//    * RebootDBInstance
10815type DBParameterGroupStatus struct {
10816	_ struct{} `type:"structure"`
10817
10818	// The name of the DP parameter group.
10819	DBParameterGroupName *string `type:"string"`
10820
10821	// The status of parameter updates.
10822	ParameterApplyStatus *string `type:"string"`
10823}
10824
10825// String returns the string representation
10826func (s DBParameterGroupStatus) String() string {
10827	return awsutil.Prettify(s)
10828}
10829
10830// GoString returns the string representation
10831func (s DBParameterGroupStatus) GoString() string {
10832	return s.String()
10833}
10834
10835// SetDBParameterGroupName sets the DBParameterGroupName field's value.
10836func (s *DBParameterGroupStatus) SetDBParameterGroupName(v string) *DBParameterGroupStatus {
10837	s.DBParameterGroupName = &v
10838	return s
10839}
10840
10841// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
10842func (s *DBParameterGroupStatus) SetParameterApplyStatus(v string) *DBParameterGroupStatus {
10843	s.ParameterApplyStatus = &v
10844	return s
10845}
10846
10847// Specifies membership in a designated DB security group.
10848type DBSecurityGroupMembership struct {
10849	_ struct{} `type:"structure"`
10850
10851	// The name of the DB security group.
10852	DBSecurityGroupName *string `type:"string"`
10853
10854	// The status of the DB security group.
10855	Status *string `type:"string"`
10856}
10857
10858// String returns the string representation
10859func (s DBSecurityGroupMembership) String() string {
10860	return awsutil.Prettify(s)
10861}
10862
10863// GoString returns the string representation
10864func (s DBSecurityGroupMembership) GoString() string {
10865	return s.String()
10866}
10867
10868// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
10869func (s *DBSecurityGroupMembership) SetDBSecurityGroupName(v string) *DBSecurityGroupMembership {
10870	s.DBSecurityGroupName = &v
10871	return s
10872}
10873
10874// SetStatus sets the Status field's value.
10875func (s *DBSecurityGroupMembership) SetStatus(v string) *DBSecurityGroupMembership {
10876	s.Status = &v
10877	return s
10878}
10879
10880// Contains the details of an Amazon Neptune DB subnet group.
10881//
10882// This data type is used as a response element in the DescribeDBSubnetGroups
10883// action.
10884type DBSubnetGroup struct {
10885	_ struct{} `type:"structure"`
10886
10887	// The Amazon Resource Name (ARN) for the DB subnet group.
10888	DBSubnetGroupArn *string `type:"string"`
10889
10890	// Provides the description of the DB subnet group.
10891	DBSubnetGroupDescription *string `type:"string"`
10892
10893	// The name of the DB subnet group.
10894	DBSubnetGroupName *string `type:"string"`
10895
10896	// Provides the status of the DB subnet group.
10897	SubnetGroupStatus *string `type:"string"`
10898
10899	// Contains a list of Subnet elements.
10900	Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
10901
10902	// Provides the VpcId of the DB subnet group.
10903	VpcId *string `type:"string"`
10904}
10905
10906// String returns the string representation
10907func (s DBSubnetGroup) String() string {
10908	return awsutil.Prettify(s)
10909}
10910
10911// GoString returns the string representation
10912func (s DBSubnetGroup) GoString() string {
10913	return s.String()
10914}
10915
10916// SetDBSubnetGroupArn sets the DBSubnetGroupArn field's value.
10917func (s *DBSubnetGroup) SetDBSubnetGroupArn(v string) *DBSubnetGroup {
10918	s.DBSubnetGroupArn = &v
10919	return s
10920}
10921
10922// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
10923func (s *DBSubnetGroup) SetDBSubnetGroupDescription(v string) *DBSubnetGroup {
10924	s.DBSubnetGroupDescription = &v
10925	return s
10926}
10927
10928// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
10929func (s *DBSubnetGroup) SetDBSubnetGroupName(v string) *DBSubnetGroup {
10930	s.DBSubnetGroupName = &v
10931	return s
10932}
10933
10934// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
10935func (s *DBSubnetGroup) SetSubnetGroupStatus(v string) *DBSubnetGroup {
10936	s.SubnetGroupStatus = &v
10937	return s
10938}
10939
10940// SetSubnets sets the Subnets field's value.
10941func (s *DBSubnetGroup) SetSubnets(v []*Subnet) *DBSubnetGroup {
10942	s.Subnets = v
10943	return s
10944}
10945
10946// SetVpcId sets the VpcId field's value.
10947func (s *DBSubnetGroup) SetVpcId(v string) *DBSubnetGroup {
10948	s.VpcId = &v
10949	return s
10950}
10951
10952type DeleteDBClusterEndpointInput struct {
10953	_ struct{} `type:"structure"`
10954
10955	// The identifier associated with the custom endpoint. This parameter is stored
10956	// as a lowercase string.
10957	//
10958	// DBClusterEndpointIdentifier is a required field
10959	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
10960}
10961
10962// String returns the string representation
10963func (s DeleteDBClusterEndpointInput) String() string {
10964	return awsutil.Prettify(s)
10965}
10966
10967// GoString returns the string representation
10968func (s DeleteDBClusterEndpointInput) GoString() string {
10969	return s.String()
10970}
10971
10972// Validate inspects the fields of the type to determine if they are valid.
10973func (s *DeleteDBClusterEndpointInput) Validate() error {
10974	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterEndpointInput"}
10975	if s.DBClusterEndpointIdentifier == nil {
10976		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
10977	}
10978
10979	if invalidParams.Len() > 0 {
10980		return invalidParams
10981	}
10982	return nil
10983}
10984
10985// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
10986func (s *DeleteDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *DeleteDBClusterEndpointInput {
10987	s.DBClusterEndpointIdentifier = &v
10988	return s
10989}
10990
10991// This data type represents the information you need to connect to an Amazon
10992// Neptune DB cluster. This data type is used as a response element in the following
10993// actions:
10994//
10995//    * CreateDBClusterEndpoint
10996//
10997//    * DescribeDBClusterEndpoints
10998//
10999//    * ModifyDBClusterEndpoint
11000//
11001//    * DeleteDBClusterEndpoint
11002//
11003// For the data structure that represents Amazon RDS DB instance endpoints,
11004// see Endpoint.
11005type DeleteDBClusterEndpointOutput struct {
11006	_ struct{} `type:"structure"`
11007
11008	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
11009	CustomEndpointType *string `type:"string"`
11010
11011	// The Amazon Resource Name (ARN) for the endpoint.
11012	DBClusterEndpointArn *string `type:"string"`
11013
11014	// The identifier associated with the endpoint. This parameter is stored as
11015	// a lowercase string.
11016	DBClusterEndpointIdentifier *string `type:"string"`
11017
11018	// A unique system-generated identifier for an endpoint. It remains the same
11019	// for the whole life of the endpoint.
11020	DBClusterEndpointResourceIdentifier *string `type:"string"`
11021
11022	// The DB cluster identifier of the DB cluster associated with the endpoint.
11023	// This parameter is stored as a lowercase string.
11024	DBClusterIdentifier *string `type:"string"`
11025
11026	// The DNS address of the endpoint.
11027	Endpoint *string `type:"string"`
11028
11029	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
11030	EndpointType *string `type:"string"`
11031
11032	// List of DB instance identifiers that aren't part of the custom endpoint group.
11033	// All other eligible instances are reachable through the custom endpoint. Only
11034	// relevant if the list of static members is empty.
11035	ExcludedMembers []*string `type:"list"`
11036
11037	// List of DB instance identifiers that are part of the custom endpoint group.
11038	StaticMembers []*string `type:"list"`
11039
11040	// The current status of the endpoint. One of: creating, available, deleting,
11041	// inactive, modifying. The inactive state applies to an endpoint that cannot
11042	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
11043	// secondary cluster in a global database.
11044	Status *string `type:"string"`
11045}
11046
11047// String returns the string representation
11048func (s DeleteDBClusterEndpointOutput) String() string {
11049	return awsutil.Prettify(s)
11050}
11051
11052// GoString returns the string representation
11053func (s DeleteDBClusterEndpointOutput) GoString() string {
11054	return s.String()
11055}
11056
11057// SetCustomEndpointType sets the CustomEndpointType field's value.
11058func (s *DeleteDBClusterEndpointOutput) SetCustomEndpointType(v string) *DeleteDBClusterEndpointOutput {
11059	s.CustomEndpointType = &v
11060	return s
11061}
11062
11063// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
11064func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *DeleteDBClusterEndpointOutput {
11065	s.DBClusterEndpointArn = &v
11066	return s
11067}
11068
11069// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
11070func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *DeleteDBClusterEndpointOutput {
11071	s.DBClusterEndpointIdentifier = &v
11072	return s
11073}
11074
11075// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
11076func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *DeleteDBClusterEndpointOutput {
11077	s.DBClusterEndpointResourceIdentifier = &v
11078	return s
11079}
11080
11081// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
11082func (s *DeleteDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *DeleteDBClusterEndpointOutput {
11083	s.DBClusterIdentifier = &v
11084	return s
11085}
11086
11087// SetEndpoint sets the Endpoint field's value.
11088func (s *DeleteDBClusterEndpointOutput) SetEndpoint(v string) *DeleteDBClusterEndpointOutput {
11089	s.Endpoint = &v
11090	return s
11091}
11092
11093// SetEndpointType sets the EndpointType field's value.
11094func (s *DeleteDBClusterEndpointOutput) SetEndpointType(v string) *DeleteDBClusterEndpointOutput {
11095	s.EndpointType = &v
11096	return s
11097}
11098
11099// SetExcludedMembers sets the ExcludedMembers field's value.
11100func (s *DeleteDBClusterEndpointOutput) SetExcludedMembers(v []*string) *DeleteDBClusterEndpointOutput {
11101	s.ExcludedMembers = v
11102	return s
11103}
11104
11105// SetStaticMembers sets the StaticMembers field's value.
11106func (s *DeleteDBClusterEndpointOutput) SetStaticMembers(v []*string) *DeleteDBClusterEndpointOutput {
11107	s.StaticMembers = v
11108	return s
11109}
11110
11111// SetStatus sets the Status field's value.
11112func (s *DeleteDBClusterEndpointOutput) SetStatus(v string) *DeleteDBClusterEndpointOutput {
11113	s.Status = &v
11114	return s
11115}
11116
11117type DeleteDBClusterInput struct {
11118	_ struct{} `type:"structure"`
11119
11120	// The DB cluster identifier for the DB cluster to be deleted. This parameter
11121	// isn't case-sensitive.
11122	//
11123	// Constraints:
11124	//
11125	//    * Must match an existing DBClusterIdentifier.
11126	//
11127	// DBClusterIdentifier is a required field
11128	DBClusterIdentifier *string `type:"string" required:"true"`
11129
11130	// The DB cluster snapshot identifier of the new DB cluster snapshot created
11131	// when SkipFinalSnapshot is set to false.
11132	//
11133	// Specifying this parameter and also setting the SkipFinalShapshot parameter
11134	// to true results in an error.
11135	//
11136	// Constraints:
11137	//
11138	//    * Must be 1 to 255 letters, numbers, or hyphens.
11139	//
11140	//    * First character must be a letter
11141	//
11142	//    * Cannot end with a hyphen or contain two consecutive hyphens
11143	FinalDBSnapshotIdentifier *string `type:"string"`
11144
11145	// Determines whether a final DB cluster snapshot is created before the DB cluster
11146	// is deleted. If true is specified, no DB cluster snapshot is created. If false
11147	// is specified, a DB cluster snapshot is created before the DB cluster is deleted.
11148	//
11149	// You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot
11150	// is false.
11151	//
11152	// Default: false
11153	SkipFinalSnapshot *bool `type:"boolean"`
11154}
11155
11156// String returns the string representation
11157func (s DeleteDBClusterInput) String() string {
11158	return awsutil.Prettify(s)
11159}
11160
11161// GoString returns the string representation
11162func (s DeleteDBClusterInput) GoString() string {
11163	return s.String()
11164}
11165
11166// Validate inspects the fields of the type to determine if they are valid.
11167func (s *DeleteDBClusterInput) Validate() error {
11168	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterInput"}
11169	if s.DBClusterIdentifier == nil {
11170		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
11171	}
11172
11173	if invalidParams.Len() > 0 {
11174		return invalidParams
11175	}
11176	return nil
11177}
11178
11179// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
11180func (s *DeleteDBClusterInput) SetDBClusterIdentifier(v string) *DeleteDBClusterInput {
11181	s.DBClusterIdentifier = &v
11182	return s
11183}
11184
11185// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
11186func (s *DeleteDBClusterInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBClusterInput {
11187	s.FinalDBSnapshotIdentifier = &v
11188	return s
11189}
11190
11191// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
11192func (s *DeleteDBClusterInput) SetSkipFinalSnapshot(v bool) *DeleteDBClusterInput {
11193	s.SkipFinalSnapshot = &v
11194	return s
11195}
11196
11197type DeleteDBClusterOutput struct {
11198	_ struct{} `type:"structure"`
11199
11200	// Contains the details of an Amazon Neptune DB cluster.
11201	//
11202	// This data type is used as a response element in the DescribeDBClusters action.
11203	DBCluster *DBCluster `type:"structure"`
11204}
11205
11206// String returns the string representation
11207func (s DeleteDBClusterOutput) String() string {
11208	return awsutil.Prettify(s)
11209}
11210
11211// GoString returns the string representation
11212func (s DeleteDBClusterOutput) GoString() string {
11213	return s.String()
11214}
11215
11216// SetDBCluster sets the DBCluster field's value.
11217func (s *DeleteDBClusterOutput) SetDBCluster(v *DBCluster) *DeleteDBClusterOutput {
11218	s.DBCluster = v
11219	return s
11220}
11221
11222type DeleteDBClusterParameterGroupInput struct {
11223	_ struct{} `type:"structure"`
11224
11225	// The name of the DB cluster parameter group.
11226	//
11227	// Constraints:
11228	//
11229	//    * Must be the name of an existing DB cluster parameter group.
11230	//
11231	//    * You can't delete a default DB cluster parameter group.
11232	//
11233	//    * Cannot be associated with any DB clusters.
11234	//
11235	// DBClusterParameterGroupName is a required field
11236	DBClusterParameterGroupName *string `type:"string" required:"true"`
11237}
11238
11239// String returns the string representation
11240func (s DeleteDBClusterParameterGroupInput) String() string {
11241	return awsutil.Prettify(s)
11242}
11243
11244// GoString returns the string representation
11245func (s DeleteDBClusterParameterGroupInput) GoString() string {
11246	return s.String()
11247}
11248
11249// Validate inspects the fields of the type to determine if they are valid.
11250func (s *DeleteDBClusterParameterGroupInput) Validate() error {
11251	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterParameterGroupInput"}
11252	if s.DBClusterParameterGroupName == nil {
11253		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
11254	}
11255
11256	if invalidParams.Len() > 0 {
11257		return invalidParams
11258	}
11259	return nil
11260}
11261
11262// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
11263func (s *DeleteDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *DeleteDBClusterParameterGroupInput {
11264	s.DBClusterParameterGroupName = &v
11265	return s
11266}
11267
11268type DeleteDBClusterParameterGroupOutput struct {
11269	_ struct{} `type:"structure"`
11270}
11271
11272// String returns the string representation
11273func (s DeleteDBClusterParameterGroupOutput) String() string {
11274	return awsutil.Prettify(s)
11275}
11276
11277// GoString returns the string representation
11278func (s DeleteDBClusterParameterGroupOutput) GoString() string {
11279	return s.String()
11280}
11281
11282type DeleteDBClusterSnapshotInput struct {
11283	_ struct{} `type:"structure"`
11284
11285	// The identifier of the DB cluster snapshot to delete.
11286	//
11287	// Constraints: Must be the name of an existing DB cluster snapshot in the available
11288	// state.
11289	//
11290	// DBClusterSnapshotIdentifier is a required field
11291	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
11292}
11293
11294// String returns the string representation
11295func (s DeleteDBClusterSnapshotInput) String() string {
11296	return awsutil.Prettify(s)
11297}
11298
11299// GoString returns the string representation
11300func (s DeleteDBClusterSnapshotInput) GoString() string {
11301	return s.String()
11302}
11303
11304// Validate inspects the fields of the type to determine if they are valid.
11305func (s *DeleteDBClusterSnapshotInput) Validate() error {
11306	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterSnapshotInput"}
11307	if s.DBClusterSnapshotIdentifier == nil {
11308		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
11309	}
11310
11311	if invalidParams.Len() > 0 {
11312		return invalidParams
11313	}
11314	return nil
11315}
11316
11317// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
11318func (s *DeleteDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *DeleteDBClusterSnapshotInput {
11319	s.DBClusterSnapshotIdentifier = &v
11320	return s
11321}
11322
11323type DeleteDBClusterSnapshotOutput struct {
11324	_ struct{} `type:"structure"`
11325
11326	// Contains the details for an Amazon Neptune DB cluster snapshot
11327	//
11328	// This data type is used as a response element in the DescribeDBClusterSnapshots
11329	// action.
11330	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
11331}
11332
11333// String returns the string representation
11334func (s DeleteDBClusterSnapshotOutput) String() string {
11335	return awsutil.Prettify(s)
11336}
11337
11338// GoString returns the string representation
11339func (s DeleteDBClusterSnapshotOutput) GoString() string {
11340	return s.String()
11341}
11342
11343// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
11344func (s *DeleteDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *DeleteDBClusterSnapshotOutput {
11345	s.DBClusterSnapshot = v
11346	return s
11347}
11348
11349type DeleteDBInstanceInput struct {
11350	_ struct{} `type:"structure"`
11351
11352	// The DB instance identifier for the DB instance to be deleted. This parameter
11353	// isn't case-sensitive.
11354	//
11355	// Constraints:
11356	//
11357	//    * Must match the name of an existing DB instance.
11358	//
11359	// DBInstanceIdentifier is a required field
11360	DBInstanceIdentifier *string `type:"string" required:"true"`
11361
11362	// The DBSnapshotIdentifier of the new DBSnapshot created when SkipFinalSnapshot
11363	// is set to false.
11364	//
11365	// Specifying this parameter and also setting the SkipFinalShapshot parameter
11366	// to true results in an error.
11367	//
11368	// Constraints:
11369	//
11370	//    * Must be 1 to 255 letters or numbers.
11371	//
11372	//    * First character must be a letter
11373	//
11374	//    * Cannot end with a hyphen or contain two consecutive hyphens
11375	//
11376	//    * Cannot be specified when deleting a Read Replica.
11377	FinalDBSnapshotIdentifier *string `type:"string"`
11378
11379	// Determines whether a final DB snapshot is created before the DB instance
11380	// is deleted. If true is specified, no DBSnapshot is created. If false is specified,
11381	// a DB snapshot is created before the DB instance is deleted.
11382	//
11383	// Note that when a DB instance is in a failure state and has a status of 'failed',
11384	// 'incompatible-restore', or 'incompatible-network', it can only be deleted
11385	// when the SkipFinalSnapshot parameter is set to "true".
11386	//
11387	// Specify true when deleting a Read Replica.
11388	//
11389	// The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot
11390	// is false.
11391	//
11392	// Default: false
11393	SkipFinalSnapshot *bool `type:"boolean"`
11394}
11395
11396// String returns the string representation
11397func (s DeleteDBInstanceInput) String() string {
11398	return awsutil.Prettify(s)
11399}
11400
11401// GoString returns the string representation
11402func (s DeleteDBInstanceInput) GoString() string {
11403	return s.String()
11404}
11405
11406// Validate inspects the fields of the type to determine if they are valid.
11407func (s *DeleteDBInstanceInput) Validate() error {
11408	invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceInput"}
11409	if s.DBInstanceIdentifier == nil {
11410		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
11411	}
11412
11413	if invalidParams.Len() > 0 {
11414		return invalidParams
11415	}
11416	return nil
11417}
11418
11419// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
11420func (s *DeleteDBInstanceInput) SetDBInstanceIdentifier(v string) *DeleteDBInstanceInput {
11421	s.DBInstanceIdentifier = &v
11422	return s
11423}
11424
11425// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
11426func (s *DeleteDBInstanceInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBInstanceInput {
11427	s.FinalDBSnapshotIdentifier = &v
11428	return s
11429}
11430
11431// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
11432func (s *DeleteDBInstanceInput) SetSkipFinalSnapshot(v bool) *DeleteDBInstanceInput {
11433	s.SkipFinalSnapshot = &v
11434	return s
11435}
11436
11437type DeleteDBInstanceOutput struct {
11438	_ struct{} `type:"structure"`
11439
11440	// Contains the details of an Amazon Neptune DB instance.
11441	//
11442	// This data type is used as a response element in the DescribeDBInstances action.
11443	DBInstance *DBInstance `type:"structure"`
11444}
11445
11446// String returns the string representation
11447func (s DeleteDBInstanceOutput) String() string {
11448	return awsutil.Prettify(s)
11449}
11450
11451// GoString returns the string representation
11452func (s DeleteDBInstanceOutput) GoString() string {
11453	return s.String()
11454}
11455
11456// SetDBInstance sets the DBInstance field's value.
11457func (s *DeleteDBInstanceOutput) SetDBInstance(v *DBInstance) *DeleteDBInstanceOutput {
11458	s.DBInstance = v
11459	return s
11460}
11461
11462type DeleteDBParameterGroupInput struct {
11463	_ struct{} `type:"structure"`
11464
11465	// The name of the DB parameter group.
11466	//
11467	// Constraints:
11468	//
11469	//    * Must be the name of an existing DB parameter group
11470	//
11471	//    * You can't delete a default DB parameter group
11472	//
11473	//    * Cannot be associated with any DB instances
11474	//
11475	// DBParameterGroupName is a required field
11476	DBParameterGroupName *string `type:"string" required:"true"`
11477}
11478
11479// String returns the string representation
11480func (s DeleteDBParameterGroupInput) String() string {
11481	return awsutil.Prettify(s)
11482}
11483
11484// GoString returns the string representation
11485func (s DeleteDBParameterGroupInput) GoString() string {
11486	return s.String()
11487}
11488
11489// Validate inspects the fields of the type to determine if they are valid.
11490func (s *DeleteDBParameterGroupInput) Validate() error {
11491	invalidParams := request.ErrInvalidParams{Context: "DeleteDBParameterGroupInput"}
11492	if s.DBParameterGroupName == nil {
11493		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
11494	}
11495
11496	if invalidParams.Len() > 0 {
11497		return invalidParams
11498	}
11499	return nil
11500}
11501
11502// SetDBParameterGroupName sets the DBParameterGroupName field's value.
11503func (s *DeleteDBParameterGroupInput) SetDBParameterGroupName(v string) *DeleteDBParameterGroupInput {
11504	s.DBParameterGroupName = &v
11505	return s
11506}
11507
11508type DeleteDBParameterGroupOutput struct {
11509	_ struct{} `type:"structure"`
11510}
11511
11512// String returns the string representation
11513func (s DeleteDBParameterGroupOutput) String() string {
11514	return awsutil.Prettify(s)
11515}
11516
11517// GoString returns the string representation
11518func (s DeleteDBParameterGroupOutput) GoString() string {
11519	return s.String()
11520}
11521
11522type DeleteDBSubnetGroupInput struct {
11523	_ struct{} `type:"structure"`
11524
11525	// The name of the database subnet group to delete.
11526	//
11527	// You can't delete the default subnet group.
11528	//
11529	// Constraints:
11530	//
11531	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
11532	// default.
11533	//
11534	// Example: mySubnetgroup
11535	//
11536	// DBSubnetGroupName is a required field
11537	DBSubnetGroupName *string `type:"string" required:"true"`
11538}
11539
11540// String returns the string representation
11541func (s DeleteDBSubnetGroupInput) String() string {
11542	return awsutil.Prettify(s)
11543}
11544
11545// GoString returns the string representation
11546func (s DeleteDBSubnetGroupInput) GoString() string {
11547	return s.String()
11548}
11549
11550// Validate inspects the fields of the type to determine if they are valid.
11551func (s *DeleteDBSubnetGroupInput) Validate() error {
11552	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSubnetGroupInput"}
11553	if s.DBSubnetGroupName == nil {
11554		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
11555	}
11556
11557	if invalidParams.Len() > 0 {
11558		return invalidParams
11559	}
11560	return nil
11561}
11562
11563// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
11564func (s *DeleteDBSubnetGroupInput) SetDBSubnetGroupName(v string) *DeleteDBSubnetGroupInput {
11565	s.DBSubnetGroupName = &v
11566	return s
11567}
11568
11569type DeleteDBSubnetGroupOutput struct {
11570	_ struct{} `type:"structure"`
11571}
11572
11573// String returns the string representation
11574func (s DeleteDBSubnetGroupOutput) String() string {
11575	return awsutil.Prettify(s)
11576}
11577
11578// GoString returns the string representation
11579func (s DeleteDBSubnetGroupOutput) GoString() string {
11580	return s.String()
11581}
11582
11583type DeleteEventSubscriptionInput struct {
11584	_ struct{} `type:"structure"`
11585
11586	// The name of the event notification subscription you want to delete.
11587	//
11588	// SubscriptionName is a required field
11589	SubscriptionName *string `type:"string" required:"true"`
11590}
11591
11592// String returns the string representation
11593func (s DeleteEventSubscriptionInput) String() string {
11594	return awsutil.Prettify(s)
11595}
11596
11597// GoString returns the string representation
11598func (s DeleteEventSubscriptionInput) GoString() string {
11599	return s.String()
11600}
11601
11602// Validate inspects the fields of the type to determine if they are valid.
11603func (s *DeleteEventSubscriptionInput) Validate() error {
11604	invalidParams := request.ErrInvalidParams{Context: "DeleteEventSubscriptionInput"}
11605	if s.SubscriptionName == nil {
11606		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
11607	}
11608
11609	if invalidParams.Len() > 0 {
11610		return invalidParams
11611	}
11612	return nil
11613}
11614
11615// SetSubscriptionName sets the SubscriptionName field's value.
11616func (s *DeleteEventSubscriptionInput) SetSubscriptionName(v string) *DeleteEventSubscriptionInput {
11617	s.SubscriptionName = &v
11618	return s
11619}
11620
11621type DeleteEventSubscriptionOutput struct {
11622	_ struct{} `type:"structure"`
11623
11624	// Contains the results of a successful invocation of the DescribeEventSubscriptions
11625	// action.
11626	EventSubscription *EventSubscription `type:"structure"`
11627}
11628
11629// String returns the string representation
11630func (s DeleteEventSubscriptionOutput) String() string {
11631	return awsutil.Prettify(s)
11632}
11633
11634// GoString returns the string representation
11635func (s DeleteEventSubscriptionOutput) GoString() string {
11636	return s.String()
11637}
11638
11639// SetEventSubscription sets the EventSubscription field's value.
11640func (s *DeleteEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *DeleteEventSubscriptionOutput {
11641	s.EventSubscription = v
11642	return s
11643}
11644
11645type DescribeDBClusterEndpointsInput struct {
11646	_ struct{} `type:"structure"`
11647
11648	// The identifier of the endpoint to describe. This parameter is stored as a
11649	// lowercase string.
11650	DBClusterEndpointIdentifier *string `type:"string"`
11651
11652	// The DB cluster identifier of the DB cluster associated with the endpoint.
11653	// This parameter is stored as a lowercase string.
11654	DBClusterIdentifier *string `type:"string"`
11655
11656	// A set of name-value pairs that define which endpoints to include in the output.
11657	// The filters are specified as name-value pairs, in the format Name=endpoint_type,Values=endpoint_type1,endpoint_type2,....
11658	// Name can be one of: db-cluster-endpoint-type, db-cluster-endpoint-custom-type,
11659	// db-cluster-endpoint-id, db-cluster-endpoint-status. Values for the db-cluster-endpoint-type
11660	// filter can be one or more of: reader, writer, custom. Values for the db-cluster-endpoint-custom-type
11661	// filter can be one or more of: reader, any. Values for the db-cluster-endpoint-status
11662	// filter can be one or more of: available, creating, deleting, inactive, modifying.
11663	Filters []*Filter `locationNameList:"Filter" type:"list"`
11664
11665	// An optional pagination token provided by a previous DescribeDBClusterEndpoints
11666	// request. If this parameter is specified, the response includes only records
11667	// beyond the marker, up to the value specified by MaxRecords.
11668	Marker *string `type:"string"`
11669
11670	// The maximum number of records to include in the response. If more records
11671	// exist than the specified MaxRecords value, a pagination token called a marker
11672	// is included in the response so you can retrieve the remaining results.
11673	//
11674	// Default: 100
11675	//
11676	// Constraints: Minimum 20, maximum 100.
11677	MaxRecords *int64 `type:"integer"`
11678}
11679
11680// String returns the string representation
11681func (s DescribeDBClusterEndpointsInput) String() string {
11682	return awsutil.Prettify(s)
11683}
11684
11685// GoString returns the string representation
11686func (s DescribeDBClusterEndpointsInput) GoString() string {
11687	return s.String()
11688}
11689
11690// Validate inspects the fields of the type to determine if they are valid.
11691func (s *DescribeDBClusterEndpointsInput) Validate() error {
11692	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterEndpointsInput"}
11693	if s.Filters != nil {
11694		for i, v := range s.Filters {
11695			if v == nil {
11696				continue
11697			}
11698			if err := v.Validate(); err != nil {
11699				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
11700			}
11701		}
11702	}
11703
11704	if invalidParams.Len() > 0 {
11705		return invalidParams
11706	}
11707	return nil
11708}
11709
11710// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
11711func (s *DescribeDBClusterEndpointsInput) SetDBClusterEndpointIdentifier(v string) *DescribeDBClusterEndpointsInput {
11712	s.DBClusterEndpointIdentifier = &v
11713	return s
11714}
11715
11716// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
11717func (s *DescribeDBClusterEndpointsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterEndpointsInput {
11718	s.DBClusterIdentifier = &v
11719	return s
11720}
11721
11722// SetFilters sets the Filters field's value.
11723func (s *DescribeDBClusterEndpointsInput) SetFilters(v []*Filter) *DescribeDBClusterEndpointsInput {
11724	s.Filters = v
11725	return s
11726}
11727
11728// SetMarker sets the Marker field's value.
11729func (s *DescribeDBClusterEndpointsInput) SetMarker(v string) *DescribeDBClusterEndpointsInput {
11730	s.Marker = &v
11731	return s
11732}
11733
11734// SetMaxRecords sets the MaxRecords field's value.
11735func (s *DescribeDBClusterEndpointsInput) SetMaxRecords(v int64) *DescribeDBClusterEndpointsInput {
11736	s.MaxRecords = &v
11737	return s
11738}
11739
11740type DescribeDBClusterEndpointsOutput struct {
11741	_ struct{} `type:"structure"`
11742
11743	// Contains the details of the endpoints associated with the cluster and matching
11744	// any filter conditions.
11745	DBClusterEndpoints []*DBClusterEndpoint `locationNameList:"DBClusterEndpointList" type:"list"`
11746
11747	// An optional pagination token provided by a previous DescribeDBClusterEndpoints
11748	// request. If this parameter is specified, the response includes only records
11749	// beyond the marker, up to the value specified by MaxRecords.
11750	Marker *string `type:"string"`
11751}
11752
11753// String returns the string representation
11754func (s DescribeDBClusterEndpointsOutput) String() string {
11755	return awsutil.Prettify(s)
11756}
11757
11758// GoString returns the string representation
11759func (s DescribeDBClusterEndpointsOutput) GoString() string {
11760	return s.String()
11761}
11762
11763// SetDBClusterEndpoints sets the DBClusterEndpoints field's value.
11764func (s *DescribeDBClusterEndpointsOutput) SetDBClusterEndpoints(v []*DBClusterEndpoint) *DescribeDBClusterEndpointsOutput {
11765	s.DBClusterEndpoints = v
11766	return s
11767}
11768
11769// SetMarker sets the Marker field's value.
11770func (s *DescribeDBClusterEndpointsOutput) SetMarker(v string) *DescribeDBClusterEndpointsOutput {
11771	s.Marker = &v
11772	return s
11773}
11774
11775type DescribeDBClusterParameterGroupsInput struct {
11776	_ struct{} `type:"structure"`
11777
11778	// The name of a specific DB cluster parameter group to return details for.
11779	//
11780	// Constraints:
11781	//
11782	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
11783	DBClusterParameterGroupName *string `type:"string"`
11784
11785	// This parameter is not currently supported.
11786	Filters []*Filter `locationNameList:"Filter" type:"list"`
11787
11788	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
11789	// request. If this parameter is specified, the response includes only records
11790	// beyond the marker, up to the value specified by MaxRecords.
11791	Marker *string `type:"string"`
11792
11793	// The maximum number of records to include in the response. If more records
11794	// exist than the specified MaxRecords value, a pagination token called a marker
11795	// is included in the response so that the remaining results can be retrieved.
11796	//
11797	// Default: 100
11798	//
11799	// Constraints: Minimum 20, maximum 100.
11800	MaxRecords *int64 `type:"integer"`
11801}
11802
11803// String returns the string representation
11804func (s DescribeDBClusterParameterGroupsInput) String() string {
11805	return awsutil.Prettify(s)
11806}
11807
11808// GoString returns the string representation
11809func (s DescribeDBClusterParameterGroupsInput) GoString() string {
11810	return s.String()
11811}
11812
11813// Validate inspects the fields of the type to determine if they are valid.
11814func (s *DescribeDBClusterParameterGroupsInput) Validate() error {
11815	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParameterGroupsInput"}
11816	if s.Filters != nil {
11817		for i, v := range s.Filters {
11818			if v == nil {
11819				continue
11820			}
11821			if err := v.Validate(); err != nil {
11822				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
11823			}
11824		}
11825	}
11826
11827	if invalidParams.Len() > 0 {
11828		return invalidParams
11829	}
11830	return nil
11831}
11832
11833// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
11834func (s *DescribeDBClusterParameterGroupsInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParameterGroupsInput {
11835	s.DBClusterParameterGroupName = &v
11836	return s
11837}
11838
11839// SetFilters sets the Filters field's value.
11840func (s *DescribeDBClusterParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBClusterParameterGroupsInput {
11841	s.Filters = v
11842	return s
11843}
11844
11845// SetMarker sets the Marker field's value.
11846func (s *DescribeDBClusterParameterGroupsInput) SetMarker(v string) *DescribeDBClusterParameterGroupsInput {
11847	s.Marker = &v
11848	return s
11849}
11850
11851// SetMaxRecords sets the MaxRecords field's value.
11852func (s *DescribeDBClusterParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBClusterParameterGroupsInput {
11853	s.MaxRecords = &v
11854	return s
11855}
11856
11857type DescribeDBClusterParameterGroupsOutput struct {
11858	_ struct{} `type:"structure"`
11859
11860	// A list of DB cluster parameter groups.
11861	DBClusterParameterGroups []*DBClusterParameterGroup `locationNameList:"DBClusterParameterGroup" type:"list"`
11862
11863	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
11864	// request. If this parameter is specified, the response includes only records
11865	// beyond the marker, up to the value specified by MaxRecords.
11866	Marker *string `type:"string"`
11867}
11868
11869// String returns the string representation
11870func (s DescribeDBClusterParameterGroupsOutput) String() string {
11871	return awsutil.Prettify(s)
11872}
11873
11874// GoString returns the string representation
11875func (s DescribeDBClusterParameterGroupsOutput) GoString() string {
11876	return s.String()
11877}
11878
11879// SetDBClusterParameterGroups sets the DBClusterParameterGroups field's value.
11880func (s *DescribeDBClusterParameterGroupsOutput) SetDBClusterParameterGroups(v []*DBClusterParameterGroup) *DescribeDBClusterParameterGroupsOutput {
11881	s.DBClusterParameterGroups = v
11882	return s
11883}
11884
11885// SetMarker sets the Marker field's value.
11886func (s *DescribeDBClusterParameterGroupsOutput) SetMarker(v string) *DescribeDBClusterParameterGroupsOutput {
11887	s.Marker = &v
11888	return s
11889}
11890
11891type DescribeDBClusterParametersInput struct {
11892	_ struct{} `type:"structure"`
11893
11894	// The name of a specific DB cluster parameter group to return parameter details
11895	// for.
11896	//
11897	// Constraints:
11898	//
11899	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
11900	//
11901	// DBClusterParameterGroupName is a required field
11902	DBClusterParameterGroupName *string `type:"string" required:"true"`
11903
11904	// This parameter is not currently supported.
11905	Filters []*Filter `locationNameList:"Filter" type:"list"`
11906
11907	// An optional pagination token provided by a previous DescribeDBClusterParameters
11908	// request. If this parameter is specified, the response includes only records
11909	// beyond the marker, up to the value specified by MaxRecords.
11910	Marker *string `type:"string"`
11911
11912	// The maximum number of records to include in the response. If more records
11913	// exist than the specified MaxRecords value, a pagination token called a marker
11914	// is included in the response so that the remaining results can be retrieved.
11915	//
11916	// Default: 100
11917	//
11918	// Constraints: Minimum 20, maximum 100.
11919	MaxRecords *int64 `type:"integer"`
11920
11921	// A value that indicates to return only parameters for a specific source. Parameter
11922	// sources can be engine, service, or customer.
11923	Source *string `type:"string"`
11924}
11925
11926// String returns the string representation
11927func (s DescribeDBClusterParametersInput) String() string {
11928	return awsutil.Prettify(s)
11929}
11930
11931// GoString returns the string representation
11932func (s DescribeDBClusterParametersInput) GoString() string {
11933	return s.String()
11934}
11935
11936// Validate inspects the fields of the type to determine if they are valid.
11937func (s *DescribeDBClusterParametersInput) Validate() error {
11938	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParametersInput"}
11939	if s.DBClusterParameterGroupName == nil {
11940		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
11941	}
11942	if s.Filters != nil {
11943		for i, v := range s.Filters {
11944			if v == nil {
11945				continue
11946			}
11947			if err := v.Validate(); err != nil {
11948				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
11949			}
11950		}
11951	}
11952
11953	if invalidParams.Len() > 0 {
11954		return invalidParams
11955	}
11956	return nil
11957}
11958
11959// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
11960func (s *DescribeDBClusterParametersInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParametersInput {
11961	s.DBClusterParameterGroupName = &v
11962	return s
11963}
11964
11965// SetFilters sets the Filters field's value.
11966func (s *DescribeDBClusterParametersInput) SetFilters(v []*Filter) *DescribeDBClusterParametersInput {
11967	s.Filters = v
11968	return s
11969}
11970
11971// SetMarker sets the Marker field's value.
11972func (s *DescribeDBClusterParametersInput) SetMarker(v string) *DescribeDBClusterParametersInput {
11973	s.Marker = &v
11974	return s
11975}
11976
11977// SetMaxRecords sets the MaxRecords field's value.
11978func (s *DescribeDBClusterParametersInput) SetMaxRecords(v int64) *DescribeDBClusterParametersInput {
11979	s.MaxRecords = &v
11980	return s
11981}
11982
11983// SetSource sets the Source field's value.
11984func (s *DescribeDBClusterParametersInput) SetSource(v string) *DescribeDBClusterParametersInput {
11985	s.Source = &v
11986	return s
11987}
11988
11989type DescribeDBClusterParametersOutput struct {
11990	_ struct{} `type:"structure"`
11991
11992	// An optional pagination token provided by a previous DescribeDBClusterParameters
11993	// request. If this parameter is specified, the response includes only records
11994	// beyond the marker, up to the value specified by MaxRecords .
11995	Marker *string `type:"string"`
11996
11997	// Provides a list of parameters for the DB cluster parameter group.
11998	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
11999}
12000
12001// String returns the string representation
12002func (s DescribeDBClusterParametersOutput) String() string {
12003	return awsutil.Prettify(s)
12004}
12005
12006// GoString returns the string representation
12007func (s DescribeDBClusterParametersOutput) GoString() string {
12008	return s.String()
12009}
12010
12011// SetMarker sets the Marker field's value.
12012func (s *DescribeDBClusterParametersOutput) SetMarker(v string) *DescribeDBClusterParametersOutput {
12013	s.Marker = &v
12014	return s
12015}
12016
12017// SetParameters sets the Parameters field's value.
12018func (s *DescribeDBClusterParametersOutput) SetParameters(v []*Parameter) *DescribeDBClusterParametersOutput {
12019	s.Parameters = v
12020	return s
12021}
12022
12023type DescribeDBClusterSnapshotAttributesInput struct {
12024	_ struct{} `type:"structure"`
12025
12026	// The identifier for the DB cluster snapshot to describe the attributes for.
12027	//
12028	// DBClusterSnapshotIdentifier is a required field
12029	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
12030}
12031
12032// String returns the string representation
12033func (s DescribeDBClusterSnapshotAttributesInput) String() string {
12034	return awsutil.Prettify(s)
12035}
12036
12037// GoString returns the string representation
12038func (s DescribeDBClusterSnapshotAttributesInput) GoString() string {
12039	return s.String()
12040}
12041
12042// Validate inspects the fields of the type to determine if they are valid.
12043func (s *DescribeDBClusterSnapshotAttributesInput) Validate() error {
12044	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotAttributesInput"}
12045	if s.DBClusterSnapshotIdentifier == nil {
12046		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
12047	}
12048
12049	if invalidParams.Len() > 0 {
12050		return invalidParams
12051	}
12052	return nil
12053}
12054
12055// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
12056func (s *DescribeDBClusterSnapshotAttributesInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotAttributesInput {
12057	s.DBClusterSnapshotIdentifier = &v
12058	return s
12059}
12060
12061type DescribeDBClusterSnapshotAttributesOutput struct {
12062	_ struct{} `type:"structure"`
12063
12064	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
12065	// API action.
12066	//
12067	// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
12068	// to copy or restore a manual DB cluster snapshot. For more information, see
12069	// the ModifyDBClusterSnapshotAttribute API action.
12070	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
12071}
12072
12073// String returns the string representation
12074func (s DescribeDBClusterSnapshotAttributesOutput) String() string {
12075	return awsutil.Prettify(s)
12076}
12077
12078// GoString returns the string representation
12079func (s DescribeDBClusterSnapshotAttributesOutput) GoString() string {
12080	return s.String()
12081}
12082
12083// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
12084func (s *DescribeDBClusterSnapshotAttributesOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *DescribeDBClusterSnapshotAttributesOutput {
12085	s.DBClusterSnapshotAttributesResult = v
12086	return s
12087}
12088
12089type DescribeDBClusterSnapshotsInput struct {
12090	_ struct{} `type:"structure"`
12091
12092	// The ID of the DB cluster to retrieve the list of DB cluster snapshots for.
12093	// This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier
12094	// parameter. This parameter is not case-sensitive.
12095	//
12096	// Constraints:
12097	//
12098	//    * If supplied, must match the identifier of an existing DBCluster.
12099	DBClusterIdentifier *string `type:"string"`
12100
12101	// A specific DB cluster snapshot identifier to describe. This parameter can't
12102	// be used in conjunction with the DBClusterIdentifier parameter. This value
12103	// is stored as a lowercase string.
12104	//
12105	// Constraints:
12106	//
12107	//    * If supplied, must match the identifier of an existing DBClusterSnapshot.
12108	//
12109	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
12110	//    must also be specified.
12111	DBClusterSnapshotIdentifier *string `type:"string"`
12112
12113	// This parameter is not currently supported.
12114	Filters []*Filter `locationNameList:"Filter" type:"list"`
12115
12116	// True to include manual DB cluster snapshots that are public and can be copied
12117	// or restored by any AWS account, and otherwise false. The default is false.
12118	// The default is false.
12119	//
12120	// You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute
12121	// API action.
12122	IncludePublic *bool `type:"boolean"`
12123
12124	// True to include shared manual DB cluster snapshots from other AWS accounts
12125	// that this AWS account has been given permission to copy or restore, and otherwise
12126	// false. The default is false.
12127	//
12128	// You can give an AWS account permission to restore a manual DB cluster snapshot
12129	// from another AWS account by the ModifyDBClusterSnapshotAttribute API action.
12130	IncludeShared *bool `type:"boolean"`
12131
12132	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
12133	// request. If this parameter is specified, the response includes only records
12134	// beyond the marker, up to the value specified by MaxRecords.
12135	Marker *string `type:"string"`
12136
12137	// The maximum number of records to include in the response. If more records
12138	// exist than the specified MaxRecords value, a pagination token called a marker
12139	// is included in the response so that the remaining results can be retrieved.
12140	//
12141	// Default: 100
12142	//
12143	// Constraints: Minimum 20, maximum 100.
12144	MaxRecords *int64 `type:"integer"`
12145
12146	// The type of DB cluster snapshots to be returned. You can specify one of the
12147	// following values:
12148	//
12149	//    * automated - Return all DB cluster snapshots that have been automatically
12150	//    taken by Amazon Neptune for my AWS account.
12151	//
12152	//    * manual - Return all DB cluster snapshots that have been taken by my
12153	//    AWS account.
12154	//
12155	//    * shared - Return all manual DB cluster snapshots that have been shared
12156	//    to my AWS account.
12157	//
12158	//    * public - Return all DB cluster snapshots that have been marked as public.
12159	//
12160	// If you don't specify a SnapshotType value, then both automated and manual
12161	// DB cluster snapshots are returned. You can include shared DB cluster snapshots
12162	// with these results by setting the IncludeShared parameter to true. You can
12163	// include public DB cluster snapshots with these results by setting the IncludePublic
12164	// parameter to true.
12165	//
12166	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
12167	// values of manual or automated. The IncludePublic parameter doesn't apply
12168	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
12169	// when SnapshotType is set to public.
12170	SnapshotType *string `type:"string"`
12171}
12172
12173// String returns the string representation
12174func (s DescribeDBClusterSnapshotsInput) String() string {
12175	return awsutil.Prettify(s)
12176}
12177
12178// GoString returns the string representation
12179func (s DescribeDBClusterSnapshotsInput) GoString() string {
12180	return s.String()
12181}
12182
12183// Validate inspects the fields of the type to determine if they are valid.
12184func (s *DescribeDBClusterSnapshotsInput) Validate() error {
12185	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotsInput"}
12186	if s.Filters != nil {
12187		for i, v := range s.Filters {
12188			if v == nil {
12189				continue
12190			}
12191			if err := v.Validate(); err != nil {
12192				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12193			}
12194		}
12195	}
12196
12197	if invalidParams.Len() > 0 {
12198		return invalidParams
12199	}
12200	return nil
12201}
12202
12203// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
12204func (s *DescribeDBClusterSnapshotsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterSnapshotsInput {
12205	s.DBClusterIdentifier = &v
12206	return s
12207}
12208
12209// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
12210func (s *DescribeDBClusterSnapshotsInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotsInput {
12211	s.DBClusterSnapshotIdentifier = &v
12212	return s
12213}
12214
12215// SetFilters sets the Filters field's value.
12216func (s *DescribeDBClusterSnapshotsInput) SetFilters(v []*Filter) *DescribeDBClusterSnapshotsInput {
12217	s.Filters = v
12218	return s
12219}
12220
12221// SetIncludePublic sets the IncludePublic field's value.
12222func (s *DescribeDBClusterSnapshotsInput) SetIncludePublic(v bool) *DescribeDBClusterSnapshotsInput {
12223	s.IncludePublic = &v
12224	return s
12225}
12226
12227// SetIncludeShared sets the IncludeShared field's value.
12228func (s *DescribeDBClusterSnapshotsInput) SetIncludeShared(v bool) *DescribeDBClusterSnapshotsInput {
12229	s.IncludeShared = &v
12230	return s
12231}
12232
12233// SetMarker sets the Marker field's value.
12234func (s *DescribeDBClusterSnapshotsInput) SetMarker(v string) *DescribeDBClusterSnapshotsInput {
12235	s.Marker = &v
12236	return s
12237}
12238
12239// SetMaxRecords sets the MaxRecords field's value.
12240func (s *DescribeDBClusterSnapshotsInput) SetMaxRecords(v int64) *DescribeDBClusterSnapshotsInput {
12241	s.MaxRecords = &v
12242	return s
12243}
12244
12245// SetSnapshotType sets the SnapshotType field's value.
12246func (s *DescribeDBClusterSnapshotsInput) SetSnapshotType(v string) *DescribeDBClusterSnapshotsInput {
12247	s.SnapshotType = &v
12248	return s
12249}
12250
12251type DescribeDBClusterSnapshotsOutput struct {
12252	_ struct{} `type:"structure"`
12253
12254	// Provides a list of DB cluster snapshots for the user.
12255	DBClusterSnapshots []*DBClusterSnapshot `locationNameList:"DBClusterSnapshot" type:"list"`
12256
12257	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
12258	// request. If this parameter is specified, the response includes only records
12259	// beyond the marker, up to the value specified by MaxRecords.
12260	Marker *string `type:"string"`
12261}
12262
12263// String returns the string representation
12264func (s DescribeDBClusterSnapshotsOutput) String() string {
12265	return awsutil.Prettify(s)
12266}
12267
12268// GoString returns the string representation
12269func (s DescribeDBClusterSnapshotsOutput) GoString() string {
12270	return s.String()
12271}
12272
12273// SetDBClusterSnapshots sets the DBClusterSnapshots field's value.
12274func (s *DescribeDBClusterSnapshotsOutput) SetDBClusterSnapshots(v []*DBClusterSnapshot) *DescribeDBClusterSnapshotsOutput {
12275	s.DBClusterSnapshots = v
12276	return s
12277}
12278
12279// SetMarker sets the Marker field's value.
12280func (s *DescribeDBClusterSnapshotsOutput) SetMarker(v string) *DescribeDBClusterSnapshotsOutput {
12281	s.Marker = &v
12282	return s
12283}
12284
12285type DescribeDBClustersInput struct {
12286	_ struct{} `type:"structure"`
12287
12288	// The user-supplied DB cluster identifier. If this parameter is specified,
12289	// information from only the specific DB cluster is returned. This parameter
12290	// isn't case-sensitive.
12291	//
12292	// Constraints:
12293	//
12294	//    * If supplied, must match an existing DBClusterIdentifier.
12295	DBClusterIdentifier *string `type:"string"`
12296
12297	// A filter that specifies one or more DB clusters to describe.
12298	//
12299	// Supported filters:
12300	//
12301	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
12302	//    Resource Names (ARNs). The results list will only include information
12303	//    about the DB clusters identified by these ARNs.
12304	//
12305	//    * engine - Accepts an engine name (such as neptune), and restricts the
12306	//    results list to DB clusters created by that engine.
12307	//
12308	// For example, to invoke this API from the AWS CLI and filter so that only
12309	// Neptune DB clusters are returned, you could use the following command:
12310	Filters []*Filter `locationNameList:"Filter" type:"list"`
12311
12312	// An optional pagination token provided by a previous DescribeDBClusters request.
12313	// If this parameter is specified, the response includes only records beyond
12314	// the marker, up to the value specified by MaxRecords.
12315	Marker *string `type:"string"`
12316
12317	// The maximum number of records to include in the response. If more records
12318	// exist than the specified MaxRecords value, a pagination token called a marker
12319	// is included in the response so that the remaining results can be retrieved.
12320	//
12321	// Default: 100
12322	//
12323	// Constraints: Minimum 20, maximum 100.
12324	MaxRecords *int64 `type:"integer"`
12325}
12326
12327// String returns the string representation
12328func (s DescribeDBClustersInput) String() string {
12329	return awsutil.Prettify(s)
12330}
12331
12332// GoString returns the string representation
12333func (s DescribeDBClustersInput) GoString() string {
12334	return s.String()
12335}
12336
12337// Validate inspects the fields of the type to determine if they are valid.
12338func (s *DescribeDBClustersInput) Validate() error {
12339	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClustersInput"}
12340	if s.Filters != nil {
12341		for i, v := range s.Filters {
12342			if v == nil {
12343				continue
12344			}
12345			if err := v.Validate(); err != nil {
12346				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12347			}
12348		}
12349	}
12350
12351	if invalidParams.Len() > 0 {
12352		return invalidParams
12353	}
12354	return nil
12355}
12356
12357// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
12358func (s *DescribeDBClustersInput) SetDBClusterIdentifier(v string) *DescribeDBClustersInput {
12359	s.DBClusterIdentifier = &v
12360	return s
12361}
12362
12363// SetFilters sets the Filters field's value.
12364func (s *DescribeDBClustersInput) SetFilters(v []*Filter) *DescribeDBClustersInput {
12365	s.Filters = v
12366	return s
12367}
12368
12369// SetMarker sets the Marker field's value.
12370func (s *DescribeDBClustersInput) SetMarker(v string) *DescribeDBClustersInput {
12371	s.Marker = &v
12372	return s
12373}
12374
12375// SetMaxRecords sets the MaxRecords field's value.
12376func (s *DescribeDBClustersInput) SetMaxRecords(v int64) *DescribeDBClustersInput {
12377	s.MaxRecords = &v
12378	return s
12379}
12380
12381type DescribeDBClustersOutput struct {
12382	_ struct{} `type:"structure"`
12383
12384	// Contains a list of DB clusters for the user.
12385	DBClusters []*DBCluster `locationNameList:"DBCluster" type:"list"`
12386
12387	// A pagination token that can be used in a subsequent DescribeDBClusters request.
12388	Marker *string `type:"string"`
12389}
12390
12391// String returns the string representation
12392func (s DescribeDBClustersOutput) String() string {
12393	return awsutil.Prettify(s)
12394}
12395
12396// GoString returns the string representation
12397func (s DescribeDBClustersOutput) GoString() string {
12398	return s.String()
12399}
12400
12401// SetDBClusters sets the DBClusters field's value.
12402func (s *DescribeDBClustersOutput) SetDBClusters(v []*DBCluster) *DescribeDBClustersOutput {
12403	s.DBClusters = v
12404	return s
12405}
12406
12407// SetMarker sets the Marker field's value.
12408func (s *DescribeDBClustersOutput) SetMarker(v string) *DescribeDBClustersOutput {
12409	s.Marker = &v
12410	return s
12411}
12412
12413type DescribeDBEngineVersionsInput struct {
12414	_ struct{} `type:"structure"`
12415
12416	// The name of a specific DB parameter group family to return details for.
12417	//
12418	// Constraints:
12419	//
12420	//    * If supplied, must match an existing DBParameterGroupFamily.
12421	DBParameterGroupFamily *string `type:"string"`
12422
12423	// Indicates that only the default version of the specified engine or engine
12424	// and major version combination is returned.
12425	DefaultOnly *bool `type:"boolean"`
12426
12427	// The database engine to return.
12428	Engine *string `type:"string"`
12429
12430	// The database engine version to return.
12431	//
12432	// Example: 5.1.49
12433	EngineVersion *string `type:"string"`
12434
12435	// Not currently supported.
12436	Filters []*Filter `locationNameList:"Filter" type:"list"`
12437
12438	// If this parameter is specified and the requested engine supports the CharacterSetName
12439	// parameter for CreateDBInstance, the response includes a list of supported
12440	// character sets for each engine version.
12441	ListSupportedCharacterSets *bool `type:"boolean"`
12442
12443	// If this parameter is specified and the requested engine supports the TimeZone
12444	// parameter for CreateDBInstance, the response includes a list of supported
12445	// time zones for each engine version.
12446	ListSupportedTimezones *bool `type:"boolean"`
12447
12448	// An optional pagination token provided by a previous request. If this parameter
12449	// is specified, the response includes only records beyond the marker, up to
12450	// the value specified by MaxRecords.
12451	Marker *string `type:"string"`
12452
12453	// The maximum number of records to include in the response. If more than the
12454	// MaxRecords value is available, a pagination token called a marker is included
12455	// in the response so that the following results can be retrieved.
12456	//
12457	// Default: 100
12458	//
12459	// Constraints: Minimum 20, maximum 100.
12460	MaxRecords *int64 `type:"integer"`
12461}
12462
12463// String returns the string representation
12464func (s DescribeDBEngineVersionsInput) String() string {
12465	return awsutil.Prettify(s)
12466}
12467
12468// GoString returns the string representation
12469func (s DescribeDBEngineVersionsInput) GoString() string {
12470	return s.String()
12471}
12472
12473// Validate inspects the fields of the type to determine if they are valid.
12474func (s *DescribeDBEngineVersionsInput) Validate() error {
12475	invalidParams := request.ErrInvalidParams{Context: "DescribeDBEngineVersionsInput"}
12476	if s.Filters != nil {
12477		for i, v := range s.Filters {
12478			if v == nil {
12479				continue
12480			}
12481			if err := v.Validate(); err != nil {
12482				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12483			}
12484		}
12485	}
12486
12487	if invalidParams.Len() > 0 {
12488		return invalidParams
12489	}
12490	return nil
12491}
12492
12493// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
12494func (s *DescribeDBEngineVersionsInput) SetDBParameterGroupFamily(v string) *DescribeDBEngineVersionsInput {
12495	s.DBParameterGroupFamily = &v
12496	return s
12497}
12498
12499// SetDefaultOnly sets the DefaultOnly field's value.
12500func (s *DescribeDBEngineVersionsInput) SetDefaultOnly(v bool) *DescribeDBEngineVersionsInput {
12501	s.DefaultOnly = &v
12502	return s
12503}
12504
12505// SetEngine sets the Engine field's value.
12506func (s *DescribeDBEngineVersionsInput) SetEngine(v string) *DescribeDBEngineVersionsInput {
12507	s.Engine = &v
12508	return s
12509}
12510
12511// SetEngineVersion sets the EngineVersion field's value.
12512func (s *DescribeDBEngineVersionsInput) SetEngineVersion(v string) *DescribeDBEngineVersionsInput {
12513	s.EngineVersion = &v
12514	return s
12515}
12516
12517// SetFilters sets the Filters field's value.
12518func (s *DescribeDBEngineVersionsInput) SetFilters(v []*Filter) *DescribeDBEngineVersionsInput {
12519	s.Filters = v
12520	return s
12521}
12522
12523// SetListSupportedCharacterSets sets the ListSupportedCharacterSets field's value.
12524func (s *DescribeDBEngineVersionsInput) SetListSupportedCharacterSets(v bool) *DescribeDBEngineVersionsInput {
12525	s.ListSupportedCharacterSets = &v
12526	return s
12527}
12528
12529// SetListSupportedTimezones sets the ListSupportedTimezones field's value.
12530func (s *DescribeDBEngineVersionsInput) SetListSupportedTimezones(v bool) *DescribeDBEngineVersionsInput {
12531	s.ListSupportedTimezones = &v
12532	return s
12533}
12534
12535// SetMarker sets the Marker field's value.
12536func (s *DescribeDBEngineVersionsInput) SetMarker(v string) *DescribeDBEngineVersionsInput {
12537	s.Marker = &v
12538	return s
12539}
12540
12541// SetMaxRecords sets the MaxRecords field's value.
12542func (s *DescribeDBEngineVersionsInput) SetMaxRecords(v int64) *DescribeDBEngineVersionsInput {
12543	s.MaxRecords = &v
12544	return s
12545}
12546
12547type DescribeDBEngineVersionsOutput struct {
12548	_ struct{} `type:"structure"`
12549
12550	// A list of DBEngineVersion elements.
12551	DBEngineVersions []*DBEngineVersion `locationNameList:"DBEngineVersion" type:"list"`
12552
12553	// An optional pagination token provided by a previous request. If this parameter
12554	// is specified, the response includes only records beyond the marker, up to
12555	// the value specified by MaxRecords.
12556	Marker *string `type:"string"`
12557}
12558
12559// String returns the string representation
12560func (s DescribeDBEngineVersionsOutput) String() string {
12561	return awsutil.Prettify(s)
12562}
12563
12564// GoString returns the string representation
12565func (s DescribeDBEngineVersionsOutput) GoString() string {
12566	return s.String()
12567}
12568
12569// SetDBEngineVersions sets the DBEngineVersions field's value.
12570func (s *DescribeDBEngineVersionsOutput) SetDBEngineVersions(v []*DBEngineVersion) *DescribeDBEngineVersionsOutput {
12571	s.DBEngineVersions = v
12572	return s
12573}
12574
12575// SetMarker sets the Marker field's value.
12576func (s *DescribeDBEngineVersionsOutput) SetMarker(v string) *DescribeDBEngineVersionsOutput {
12577	s.Marker = &v
12578	return s
12579}
12580
12581type DescribeDBInstancesInput struct {
12582	_ struct{} `type:"structure"`
12583
12584	// The user-supplied instance identifier. If this parameter is specified, information
12585	// from only the specific DB instance is returned. This parameter isn't case-sensitive.
12586	//
12587	// Constraints:
12588	//
12589	//    * If supplied, must match the identifier of an existing DBInstance.
12590	DBInstanceIdentifier *string `type:"string"`
12591
12592	// A filter that specifies one or more DB instances to describe.
12593	//
12594	// Supported filters:
12595	//
12596	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
12597	//    Resource Names (ARNs). The results list will only include information
12598	//    about the DB instances associated with the DB clusters identified by these
12599	//    ARNs.
12600	//
12601	//    * engine - Accepts an engine name (such as neptune), and restricts the
12602	//    results list to DB instances created by that engine.
12603	//
12604	// For example, to invoke this API from the AWS CLI and filter so that only
12605	// Neptune DB instances are returned, you could use the following command:
12606	Filters []*Filter `locationNameList:"Filter" type:"list"`
12607
12608	// An optional pagination token provided by a previous DescribeDBInstances request.
12609	// If this parameter is specified, the response includes only records beyond
12610	// the marker, up to the value specified by MaxRecords.
12611	Marker *string `type:"string"`
12612
12613	// The maximum number of records to include in the response. If more records
12614	// exist than the specified MaxRecords value, a pagination token called a marker
12615	// is included in the response so that the remaining results can be retrieved.
12616	//
12617	// Default: 100
12618	//
12619	// Constraints: Minimum 20, maximum 100.
12620	MaxRecords *int64 `type:"integer"`
12621}
12622
12623// String returns the string representation
12624func (s DescribeDBInstancesInput) String() string {
12625	return awsutil.Prettify(s)
12626}
12627
12628// GoString returns the string representation
12629func (s DescribeDBInstancesInput) GoString() string {
12630	return s.String()
12631}
12632
12633// Validate inspects the fields of the type to determine if they are valid.
12634func (s *DescribeDBInstancesInput) Validate() error {
12635	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstancesInput"}
12636	if s.Filters != nil {
12637		for i, v := range s.Filters {
12638			if v == nil {
12639				continue
12640			}
12641			if err := v.Validate(); err != nil {
12642				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12643			}
12644		}
12645	}
12646
12647	if invalidParams.Len() > 0 {
12648		return invalidParams
12649	}
12650	return nil
12651}
12652
12653// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
12654func (s *DescribeDBInstancesInput) SetDBInstanceIdentifier(v string) *DescribeDBInstancesInput {
12655	s.DBInstanceIdentifier = &v
12656	return s
12657}
12658
12659// SetFilters sets the Filters field's value.
12660func (s *DescribeDBInstancesInput) SetFilters(v []*Filter) *DescribeDBInstancesInput {
12661	s.Filters = v
12662	return s
12663}
12664
12665// SetMarker sets the Marker field's value.
12666func (s *DescribeDBInstancesInput) SetMarker(v string) *DescribeDBInstancesInput {
12667	s.Marker = &v
12668	return s
12669}
12670
12671// SetMaxRecords sets the MaxRecords field's value.
12672func (s *DescribeDBInstancesInput) SetMaxRecords(v int64) *DescribeDBInstancesInput {
12673	s.MaxRecords = &v
12674	return s
12675}
12676
12677type DescribeDBInstancesOutput struct {
12678	_ struct{} `type:"structure"`
12679
12680	// A list of DBInstance instances.
12681	DBInstances []*DBInstance `locationNameList:"DBInstance" type:"list"`
12682
12683	// An optional pagination token provided by a previous request. If this parameter
12684	// is specified, the response includes only records beyond the marker, up to
12685	// the value specified by MaxRecords .
12686	Marker *string `type:"string"`
12687}
12688
12689// String returns the string representation
12690func (s DescribeDBInstancesOutput) String() string {
12691	return awsutil.Prettify(s)
12692}
12693
12694// GoString returns the string representation
12695func (s DescribeDBInstancesOutput) GoString() string {
12696	return s.String()
12697}
12698
12699// SetDBInstances sets the DBInstances field's value.
12700func (s *DescribeDBInstancesOutput) SetDBInstances(v []*DBInstance) *DescribeDBInstancesOutput {
12701	s.DBInstances = v
12702	return s
12703}
12704
12705// SetMarker sets the Marker field's value.
12706func (s *DescribeDBInstancesOutput) SetMarker(v string) *DescribeDBInstancesOutput {
12707	s.Marker = &v
12708	return s
12709}
12710
12711type DescribeDBParameterGroupsInput struct {
12712	_ struct{} `type:"structure"`
12713
12714	// The name of a specific DB parameter group to return details for.
12715	//
12716	// Constraints:
12717	//
12718	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
12719	DBParameterGroupName *string `type:"string"`
12720
12721	// This parameter is not currently supported.
12722	Filters []*Filter `locationNameList:"Filter" type:"list"`
12723
12724	// An optional pagination token provided by a previous DescribeDBParameterGroups
12725	// request. If this parameter is specified, the response includes only records
12726	// beyond the marker, up to the value specified by MaxRecords.
12727	Marker *string `type:"string"`
12728
12729	// The maximum number of records to include in the response. If more records
12730	// exist than the specified MaxRecords value, a pagination token called a marker
12731	// is included in the response so that the remaining results can be retrieved.
12732	//
12733	// Default: 100
12734	//
12735	// Constraints: Minimum 20, maximum 100.
12736	MaxRecords *int64 `type:"integer"`
12737}
12738
12739// String returns the string representation
12740func (s DescribeDBParameterGroupsInput) String() string {
12741	return awsutil.Prettify(s)
12742}
12743
12744// GoString returns the string representation
12745func (s DescribeDBParameterGroupsInput) GoString() string {
12746	return s.String()
12747}
12748
12749// Validate inspects the fields of the type to determine if they are valid.
12750func (s *DescribeDBParameterGroupsInput) Validate() error {
12751	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParameterGroupsInput"}
12752	if s.Filters != nil {
12753		for i, v := range s.Filters {
12754			if v == nil {
12755				continue
12756			}
12757			if err := v.Validate(); err != nil {
12758				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12759			}
12760		}
12761	}
12762
12763	if invalidParams.Len() > 0 {
12764		return invalidParams
12765	}
12766	return nil
12767}
12768
12769// SetDBParameterGroupName sets the DBParameterGroupName field's value.
12770func (s *DescribeDBParameterGroupsInput) SetDBParameterGroupName(v string) *DescribeDBParameterGroupsInput {
12771	s.DBParameterGroupName = &v
12772	return s
12773}
12774
12775// SetFilters sets the Filters field's value.
12776func (s *DescribeDBParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBParameterGroupsInput {
12777	s.Filters = v
12778	return s
12779}
12780
12781// SetMarker sets the Marker field's value.
12782func (s *DescribeDBParameterGroupsInput) SetMarker(v string) *DescribeDBParameterGroupsInput {
12783	s.Marker = &v
12784	return s
12785}
12786
12787// SetMaxRecords sets the MaxRecords field's value.
12788func (s *DescribeDBParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBParameterGroupsInput {
12789	s.MaxRecords = &v
12790	return s
12791}
12792
12793type DescribeDBParameterGroupsOutput struct {
12794	_ struct{} `type:"structure"`
12795
12796	// A list of DBParameterGroup instances.
12797	DBParameterGroups []*DBParameterGroup `locationNameList:"DBParameterGroup" type:"list"`
12798
12799	// An optional pagination token provided by a previous request. If this parameter
12800	// is specified, the response includes only records beyond the marker, up to
12801	// the value specified by MaxRecords.
12802	Marker *string `type:"string"`
12803}
12804
12805// String returns the string representation
12806func (s DescribeDBParameterGroupsOutput) String() string {
12807	return awsutil.Prettify(s)
12808}
12809
12810// GoString returns the string representation
12811func (s DescribeDBParameterGroupsOutput) GoString() string {
12812	return s.String()
12813}
12814
12815// SetDBParameterGroups sets the DBParameterGroups field's value.
12816func (s *DescribeDBParameterGroupsOutput) SetDBParameterGroups(v []*DBParameterGroup) *DescribeDBParameterGroupsOutput {
12817	s.DBParameterGroups = v
12818	return s
12819}
12820
12821// SetMarker sets the Marker field's value.
12822func (s *DescribeDBParameterGroupsOutput) SetMarker(v string) *DescribeDBParameterGroupsOutput {
12823	s.Marker = &v
12824	return s
12825}
12826
12827type DescribeDBParametersInput struct {
12828	_ struct{} `type:"structure"`
12829
12830	// The name of a specific DB parameter group to return details for.
12831	//
12832	// Constraints:
12833	//
12834	//    * If supplied, must match the name of an existing DBParameterGroup.
12835	//
12836	// DBParameterGroupName is a required field
12837	DBParameterGroupName *string `type:"string" required:"true"`
12838
12839	// This parameter is not currently supported.
12840	Filters []*Filter `locationNameList:"Filter" type:"list"`
12841
12842	// An optional pagination token provided by a previous DescribeDBParameters
12843	// request. If this parameter is specified, the response includes only records
12844	// beyond the marker, up to the value specified by MaxRecords.
12845	Marker *string `type:"string"`
12846
12847	// The maximum number of records to include in the response. If more records
12848	// exist than the specified MaxRecords value, a pagination token called a marker
12849	// is included in the response so that the remaining results can be retrieved.
12850	//
12851	// Default: 100
12852	//
12853	// Constraints: Minimum 20, maximum 100.
12854	MaxRecords *int64 `type:"integer"`
12855
12856	// The parameter types to return.
12857	//
12858	// Default: All parameter types returned
12859	//
12860	// Valid Values: user | system | engine-default
12861	Source *string `type:"string"`
12862}
12863
12864// String returns the string representation
12865func (s DescribeDBParametersInput) String() string {
12866	return awsutil.Prettify(s)
12867}
12868
12869// GoString returns the string representation
12870func (s DescribeDBParametersInput) GoString() string {
12871	return s.String()
12872}
12873
12874// Validate inspects the fields of the type to determine if they are valid.
12875func (s *DescribeDBParametersInput) Validate() error {
12876	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParametersInput"}
12877	if s.DBParameterGroupName == nil {
12878		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
12879	}
12880	if s.Filters != nil {
12881		for i, v := range s.Filters {
12882			if v == nil {
12883				continue
12884			}
12885			if err := v.Validate(); err != nil {
12886				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12887			}
12888		}
12889	}
12890
12891	if invalidParams.Len() > 0 {
12892		return invalidParams
12893	}
12894	return nil
12895}
12896
12897// SetDBParameterGroupName sets the DBParameterGroupName field's value.
12898func (s *DescribeDBParametersInput) SetDBParameterGroupName(v string) *DescribeDBParametersInput {
12899	s.DBParameterGroupName = &v
12900	return s
12901}
12902
12903// SetFilters sets the Filters field's value.
12904func (s *DescribeDBParametersInput) SetFilters(v []*Filter) *DescribeDBParametersInput {
12905	s.Filters = v
12906	return s
12907}
12908
12909// SetMarker sets the Marker field's value.
12910func (s *DescribeDBParametersInput) SetMarker(v string) *DescribeDBParametersInput {
12911	s.Marker = &v
12912	return s
12913}
12914
12915// SetMaxRecords sets the MaxRecords field's value.
12916func (s *DescribeDBParametersInput) SetMaxRecords(v int64) *DescribeDBParametersInput {
12917	s.MaxRecords = &v
12918	return s
12919}
12920
12921// SetSource sets the Source field's value.
12922func (s *DescribeDBParametersInput) SetSource(v string) *DescribeDBParametersInput {
12923	s.Source = &v
12924	return s
12925}
12926
12927type DescribeDBParametersOutput struct {
12928	_ struct{} `type:"structure"`
12929
12930	// An optional pagination token provided by a previous request. If this parameter
12931	// is specified, the response includes only records beyond the marker, up to
12932	// the value specified by MaxRecords.
12933	Marker *string `type:"string"`
12934
12935	// A list of Parameter values.
12936	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
12937}
12938
12939// String returns the string representation
12940func (s DescribeDBParametersOutput) String() string {
12941	return awsutil.Prettify(s)
12942}
12943
12944// GoString returns the string representation
12945func (s DescribeDBParametersOutput) GoString() string {
12946	return s.String()
12947}
12948
12949// SetMarker sets the Marker field's value.
12950func (s *DescribeDBParametersOutput) SetMarker(v string) *DescribeDBParametersOutput {
12951	s.Marker = &v
12952	return s
12953}
12954
12955// SetParameters sets the Parameters field's value.
12956func (s *DescribeDBParametersOutput) SetParameters(v []*Parameter) *DescribeDBParametersOutput {
12957	s.Parameters = v
12958	return s
12959}
12960
12961type DescribeDBSubnetGroupsInput struct {
12962	_ struct{} `type:"structure"`
12963
12964	// The name of the DB subnet group to return details for.
12965	DBSubnetGroupName *string `type:"string"`
12966
12967	// This parameter is not currently supported.
12968	Filters []*Filter `locationNameList:"Filter" type:"list"`
12969
12970	// An optional pagination token provided by a previous DescribeDBSubnetGroups
12971	// request. If this parameter is specified, the response includes only records
12972	// beyond the marker, up to the value specified by MaxRecords.
12973	Marker *string `type:"string"`
12974
12975	// The maximum number of records to include in the response. If more records
12976	// exist than the specified MaxRecords value, a pagination token called a marker
12977	// is included in the response so that the remaining results can be retrieved.
12978	//
12979	// Default: 100
12980	//
12981	// Constraints: Minimum 20, maximum 100.
12982	MaxRecords *int64 `type:"integer"`
12983}
12984
12985// String returns the string representation
12986func (s DescribeDBSubnetGroupsInput) String() string {
12987	return awsutil.Prettify(s)
12988}
12989
12990// GoString returns the string representation
12991func (s DescribeDBSubnetGroupsInput) GoString() string {
12992	return s.String()
12993}
12994
12995// Validate inspects the fields of the type to determine if they are valid.
12996func (s *DescribeDBSubnetGroupsInput) Validate() error {
12997	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSubnetGroupsInput"}
12998	if s.Filters != nil {
12999		for i, v := range s.Filters {
13000			if v == nil {
13001				continue
13002			}
13003			if err := v.Validate(); err != nil {
13004				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13005			}
13006		}
13007	}
13008
13009	if invalidParams.Len() > 0 {
13010		return invalidParams
13011	}
13012	return nil
13013}
13014
13015// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
13016func (s *DescribeDBSubnetGroupsInput) SetDBSubnetGroupName(v string) *DescribeDBSubnetGroupsInput {
13017	s.DBSubnetGroupName = &v
13018	return s
13019}
13020
13021// SetFilters sets the Filters field's value.
13022func (s *DescribeDBSubnetGroupsInput) SetFilters(v []*Filter) *DescribeDBSubnetGroupsInput {
13023	s.Filters = v
13024	return s
13025}
13026
13027// SetMarker sets the Marker field's value.
13028func (s *DescribeDBSubnetGroupsInput) SetMarker(v string) *DescribeDBSubnetGroupsInput {
13029	s.Marker = &v
13030	return s
13031}
13032
13033// SetMaxRecords sets the MaxRecords field's value.
13034func (s *DescribeDBSubnetGroupsInput) SetMaxRecords(v int64) *DescribeDBSubnetGroupsInput {
13035	s.MaxRecords = &v
13036	return s
13037}
13038
13039type DescribeDBSubnetGroupsOutput struct {
13040	_ struct{} `type:"structure"`
13041
13042	// A list of DBSubnetGroup instances.
13043	DBSubnetGroups []*DBSubnetGroup `locationNameList:"DBSubnetGroup" type:"list"`
13044
13045	// An optional pagination token provided by a previous request. If this parameter
13046	// is specified, the response includes only records beyond the marker, up to
13047	// the value specified by MaxRecords.
13048	Marker *string `type:"string"`
13049}
13050
13051// String returns the string representation
13052func (s DescribeDBSubnetGroupsOutput) String() string {
13053	return awsutil.Prettify(s)
13054}
13055
13056// GoString returns the string representation
13057func (s DescribeDBSubnetGroupsOutput) GoString() string {
13058	return s.String()
13059}
13060
13061// SetDBSubnetGroups sets the DBSubnetGroups field's value.
13062func (s *DescribeDBSubnetGroupsOutput) SetDBSubnetGroups(v []*DBSubnetGroup) *DescribeDBSubnetGroupsOutput {
13063	s.DBSubnetGroups = v
13064	return s
13065}
13066
13067// SetMarker sets the Marker field's value.
13068func (s *DescribeDBSubnetGroupsOutput) SetMarker(v string) *DescribeDBSubnetGroupsOutput {
13069	s.Marker = &v
13070	return s
13071}
13072
13073type DescribeEngineDefaultClusterParametersInput struct {
13074	_ struct{} `type:"structure"`
13075
13076	// The name of the DB cluster parameter group family to return engine parameter
13077	// information for.
13078	//
13079	// DBParameterGroupFamily is a required field
13080	DBParameterGroupFamily *string `type:"string" required:"true"`
13081
13082	// This parameter is not currently supported.
13083	Filters []*Filter `locationNameList:"Filter" type:"list"`
13084
13085	// An optional pagination token provided by a previous DescribeEngineDefaultClusterParameters
13086	// request. If this parameter is specified, the response includes only records
13087	// beyond the marker, up to the value specified by MaxRecords.
13088	Marker *string `type:"string"`
13089
13090	// The maximum number of records to include in the response. If more records
13091	// exist than the specified MaxRecords value, a pagination token called a marker
13092	// is included in the response so that the remaining results can be retrieved.
13093	//
13094	// Default: 100
13095	//
13096	// Constraints: Minimum 20, maximum 100.
13097	MaxRecords *int64 `type:"integer"`
13098}
13099
13100// String returns the string representation
13101func (s DescribeEngineDefaultClusterParametersInput) String() string {
13102	return awsutil.Prettify(s)
13103}
13104
13105// GoString returns the string representation
13106func (s DescribeEngineDefaultClusterParametersInput) GoString() string {
13107	return s.String()
13108}
13109
13110// Validate inspects the fields of the type to determine if they are valid.
13111func (s *DescribeEngineDefaultClusterParametersInput) Validate() error {
13112	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultClusterParametersInput"}
13113	if s.DBParameterGroupFamily == nil {
13114		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
13115	}
13116	if s.Filters != nil {
13117		for i, v := range s.Filters {
13118			if v == nil {
13119				continue
13120			}
13121			if err := v.Validate(); err != nil {
13122				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13123			}
13124		}
13125	}
13126
13127	if invalidParams.Len() > 0 {
13128		return invalidParams
13129	}
13130	return nil
13131}
13132
13133// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
13134func (s *DescribeEngineDefaultClusterParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultClusterParametersInput {
13135	s.DBParameterGroupFamily = &v
13136	return s
13137}
13138
13139// SetFilters sets the Filters field's value.
13140func (s *DescribeEngineDefaultClusterParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultClusterParametersInput {
13141	s.Filters = v
13142	return s
13143}
13144
13145// SetMarker sets the Marker field's value.
13146func (s *DescribeEngineDefaultClusterParametersInput) SetMarker(v string) *DescribeEngineDefaultClusterParametersInput {
13147	s.Marker = &v
13148	return s
13149}
13150
13151// SetMaxRecords sets the MaxRecords field's value.
13152func (s *DescribeEngineDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultClusterParametersInput {
13153	s.MaxRecords = &v
13154	return s
13155}
13156
13157type DescribeEngineDefaultClusterParametersOutput struct {
13158	_ struct{} `type:"structure"`
13159
13160	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
13161	// action.
13162	EngineDefaults *EngineDefaults `type:"structure"`
13163}
13164
13165// String returns the string representation
13166func (s DescribeEngineDefaultClusterParametersOutput) String() string {
13167	return awsutil.Prettify(s)
13168}
13169
13170// GoString returns the string representation
13171func (s DescribeEngineDefaultClusterParametersOutput) GoString() string {
13172	return s.String()
13173}
13174
13175// SetEngineDefaults sets the EngineDefaults field's value.
13176func (s *DescribeEngineDefaultClusterParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultClusterParametersOutput {
13177	s.EngineDefaults = v
13178	return s
13179}
13180
13181type DescribeEngineDefaultParametersInput struct {
13182	_ struct{} `type:"structure"`
13183
13184	// The name of the DB parameter group family.
13185	//
13186	// DBParameterGroupFamily is a required field
13187	DBParameterGroupFamily *string `type:"string" required:"true"`
13188
13189	// Not currently supported.
13190	Filters []*Filter `locationNameList:"Filter" type:"list"`
13191
13192	// An optional pagination token provided by a previous DescribeEngineDefaultParameters
13193	// request. If this parameter is specified, the response includes only records
13194	// beyond the marker, up to the value specified by MaxRecords.
13195	Marker *string `type:"string"`
13196
13197	// The maximum number of records to include in the response. If more records
13198	// exist than the specified MaxRecords value, a pagination token called a marker
13199	// is included in the response so that the remaining results can be retrieved.
13200	//
13201	// Default: 100
13202	//
13203	// Constraints: Minimum 20, maximum 100.
13204	MaxRecords *int64 `type:"integer"`
13205}
13206
13207// String returns the string representation
13208func (s DescribeEngineDefaultParametersInput) String() string {
13209	return awsutil.Prettify(s)
13210}
13211
13212// GoString returns the string representation
13213func (s DescribeEngineDefaultParametersInput) GoString() string {
13214	return s.String()
13215}
13216
13217// Validate inspects the fields of the type to determine if they are valid.
13218func (s *DescribeEngineDefaultParametersInput) Validate() error {
13219	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"}
13220	if s.DBParameterGroupFamily == nil {
13221		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
13222	}
13223	if s.Filters != nil {
13224		for i, v := range s.Filters {
13225			if v == nil {
13226				continue
13227			}
13228			if err := v.Validate(); err != nil {
13229				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13230			}
13231		}
13232	}
13233
13234	if invalidParams.Len() > 0 {
13235		return invalidParams
13236	}
13237	return nil
13238}
13239
13240// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
13241func (s *DescribeEngineDefaultParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultParametersInput {
13242	s.DBParameterGroupFamily = &v
13243	return s
13244}
13245
13246// SetFilters sets the Filters field's value.
13247func (s *DescribeEngineDefaultParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultParametersInput {
13248	s.Filters = v
13249	return s
13250}
13251
13252// SetMarker sets the Marker field's value.
13253func (s *DescribeEngineDefaultParametersInput) SetMarker(v string) *DescribeEngineDefaultParametersInput {
13254	s.Marker = &v
13255	return s
13256}
13257
13258// SetMaxRecords sets the MaxRecords field's value.
13259func (s *DescribeEngineDefaultParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultParametersInput {
13260	s.MaxRecords = &v
13261	return s
13262}
13263
13264type DescribeEngineDefaultParametersOutput struct {
13265	_ struct{} `type:"structure"`
13266
13267	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
13268	// action.
13269	EngineDefaults *EngineDefaults `type:"structure"`
13270}
13271
13272// String returns the string representation
13273func (s DescribeEngineDefaultParametersOutput) String() string {
13274	return awsutil.Prettify(s)
13275}
13276
13277// GoString returns the string representation
13278func (s DescribeEngineDefaultParametersOutput) GoString() string {
13279	return s.String()
13280}
13281
13282// SetEngineDefaults sets the EngineDefaults field's value.
13283func (s *DescribeEngineDefaultParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultParametersOutput {
13284	s.EngineDefaults = v
13285	return s
13286}
13287
13288type DescribeEventCategoriesInput struct {
13289	_ struct{} `type:"structure"`
13290
13291	// This parameter is not currently supported.
13292	Filters []*Filter `locationNameList:"Filter" type:"list"`
13293
13294	// The type of source that is generating the events.
13295	//
13296	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
13297	SourceType *string `type:"string"`
13298}
13299
13300// String returns the string representation
13301func (s DescribeEventCategoriesInput) String() string {
13302	return awsutil.Prettify(s)
13303}
13304
13305// GoString returns the string representation
13306func (s DescribeEventCategoriesInput) GoString() string {
13307	return s.String()
13308}
13309
13310// Validate inspects the fields of the type to determine if they are valid.
13311func (s *DescribeEventCategoriesInput) Validate() error {
13312	invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"}
13313	if s.Filters != nil {
13314		for i, v := range s.Filters {
13315			if v == nil {
13316				continue
13317			}
13318			if err := v.Validate(); err != nil {
13319				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13320			}
13321		}
13322	}
13323
13324	if invalidParams.Len() > 0 {
13325		return invalidParams
13326	}
13327	return nil
13328}
13329
13330// SetFilters sets the Filters field's value.
13331func (s *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput {
13332	s.Filters = v
13333	return s
13334}
13335
13336// SetSourceType sets the SourceType field's value.
13337func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput {
13338	s.SourceType = &v
13339	return s
13340}
13341
13342type DescribeEventCategoriesOutput struct {
13343	_ struct{} `type:"structure"`
13344
13345	// A list of EventCategoriesMap data types.
13346	EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"`
13347}
13348
13349// String returns the string representation
13350func (s DescribeEventCategoriesOutput) String() string {
13351	return awsutil.Prettify(s)
13352}
13353
13354// GoString returns the string representation
13355func (s DescribeEventCategoriesOutput) GoString() string {
13356	return s.String()
13357}
13358
13359// SetEventCategoriesMapList sets the EventCategoriesMapList field's value.
13360func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput {
13361	s.EventCategoriesMapList = v
13362	return s
13363}
13364
13365type DescribeEventSubscriptionsInput struct {
13366	_ struct{} `type:"structure"`
13367
13368	// This parameter is not currently supported.
13369	Filters []*Filter `locationNameList:"Filter" type:"list"`
13370
13371	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
13372	// request. If this parameter is specified, the response includes only records
13373	// beyond the marker, up to the value specified by MaxRecords .
13374	Marker *string `type:"string"`
13375
13376	// The maximum number of records to include in the response. If more records
13377	// exist than the specified MaxRecords value, a pagination token called a marker
13378	// is included in the response so that the remaining results can be retrieved.
13379	//
13380	// Default: 100
13381	//
13382	// Constraints: Minimum 20, maximum 100.
13383	MaxRecords *int64 `type:"integer"`
13384
13385	// The name of the event notification subscription you want to describe.
13386	SubscriptionName *string `type:"string"`
13387}
13388
13389// String returns the string representation
13390func (s DescribeEventSubscriptionsInput) String() string {
13391	return awsutil.Prettify(s)
13392}
13393
13394// GoString returns the string representation
13395func (s DescribeEventSubscriptionsInput) GoString() string {
13396	return s.String()
13397}
13398
13399// Validate inspects the fields of the type to determine if they are valid.
13400func (s *DescribeEventSubscriptionsInput) Validate() error {
13401	invalidParams := request.ErrInvalidParams{Context: "DescribeEventSubscriptionsInput"}
13402	if s.Filters != nil {
13403		for i, v := range s.Filters {
13404			if v == nil {
13405				continue
13406			}
13407			if err := v.Validate(); err != nil {
13408				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13409			}
13410		}
13411	}
13412
13413	if invalidParams.Len() > 0 {
13414		return invalidParams
13415	}
13416	return nil
13417}
13418
13419// SetFilters sets the Filters field's value.
13420func (s *DescribeEventSubscriptionsInput) SetFilters(v []*Filter) *DescribeEventSubscriptionsInput {
13421	s.Filters = v
13422	return s
13423}
13424
13425// SetMarker sets the Marker field's value.
13426func (s *DescribeEventSubscriptionsInput) SetMarker(v string) *DescribeEventSubscriptionsInput {
13427	s.Marker = &v
13428	return s
13429}
13430
13431// SetMaxRecords sets the MaxRecords field's value.
13432func (s *DescribeEventSubscriptionsInput) SetMaxRecords(v int64) *DescribeEventSubscriptionsInput {
13433	s.MaxRecords = &v
13434	return s
13435}
13436
13437// SetSubscriptionName sets the SubscriptionName field's value.
13438func (s *DescribeEventSubscriptionsInput) SetSubscriptionName(v string) *DescribeEventSubscriptionsInput {
13439	s.SubscriptionName = &v
13440	return s
13441}
13442
13443type DescribeEventSubscriptionsOutput struct {
13444	_ struct{} `type:"structure"`
13445
13446	// A list of EventSubscriptions data types.
13447	EventSubscriptionsList []*EventSubscription `locationNameList:"EventSubscription" type:"list"`
13448
13449	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
13450	// request. If this parameter is specified, the response includes only records
13451	// beyond the marker, up to the value specified by MaxRecords.
13452	Marker *string `type:"string"`
13453}
13454
13455// String returns the string representation
13456func (s DescribeEventSubscriptionsOutput) String() string {
13457	return awsutil.Prettify(s)
13458}
13459
13460// GoString returns the string representation
13461func (s DescribeEventSubscriptionsOutput) GoString() string {
13462	return s.String()
13463}
13464
13465// SetEventSubscriptionsList sets the EventSubscriptionsList field's value.
13466func (s *DescribeEventSubscriptionsOutput) SetEventSubscriptionsList(v []*EventSubscription) *DescribeEventSubscriptionsOutput {
13467	s.EventSubscriptionsList = v
13468	return s
13469}
13470
13471// SetMarker sets the Marker field's value.
13472func (s *DescribeEventSubscriptionsOutput) SetMarker(v string) *DescribeEventSubscriptionsOutput {
13473	s.Marker = &v
13474	return s
13475}
13476
13477type DescribeEventsInput struct {
13478	_ struct{} `type:"structure"`
13479
13480	// The number of minutes to retrieve events for.
13481	//
13482	// Default: 60
13483	Duration *int64 `type:"integer"`
13484
13485	// The end of the time interval for which to retrieve events, specified in ISO
13486	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
13487	// page. (http://en.wikipedia.org/wiki/ISO_8601)
13488	//
13489	// Example: 2009-07-08T18:00Z
13490	EndTime *time.Time `type:"timestamp"`
13491
13492	// A list of event categories that trigger notifications for a event notification
13493	// subscription.
13494	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
13495
13496	// This parameter is not currently supported.
13497	Filters []*Filter `locationNameList:"Filter" type:"list"`
13498
13499	// An optional pagination token provided by a previous DescribeEvents request.
13500	// If this parameter is specified, the response includes only records beyond
13501	// the marker, up to the value specified by MaxRecords.
13502	Marker *string `type:"string"`
13503
13504	// The maximum number of records to include in the response. If more records
13505	// exist than the specified MaxRecords value, a pagination token called a marker
13506	// is included in the response so that the remaining results can be retrieved.
13507	//
13508	// Default: 100
13509	//
13510	// Constraints: Minimum 20, maximum 100.
13511	MaxRecords *int64 `type:"integer"`
13512
13513	// The identifier of the event source for which events are returned. If not
13514	// specified, then all sources are included in the response.
13515	//
13516	// Constraints:
13517	//
13518	//    * If SourceIdentifier is supplied, SourceType must also be provided.
13519	//
13520	//    * If the source type is DBInstance, then a DBInstanceIdentifier must be
13521	//    supplied.
13522	//
13523	//    * If the source type is DBSecurityGroup, a DBSecurityGroupName must be
13524	//    supplied.
13525	//
13526	//    * If the source type is DBParameterGroup, a DBParameterGroupName must
13527	//    be supplied.
13528	//
13529	//    * If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied.
13530	//
13531	//    * Cannot end with a hyphen or contain two consecutive hyphens.
13532	SourceIdentifier *string `type:"string"`
13533
13534	// The event source to retrieve events for. If no value is specified, all events
13535	// are returned.
13536	SourceType *string `type:"string" enum:"SourceType"`
13537
13538	// The beginning of the time interval to retrieve events for, specified in ISO
13539	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
13540	// page. (http://en.wikipedia.org/wiki/ISO_8601)
13541	//
13542	// Example: 2009-07-08T18:00Z
13543	StartTime *time.Time `type:"timestamp"`
13544}
13545
13546// String returns the string representation
13547func (s DescribeEventsInput) String() string {
13548	return awsutil.Prettify(s)
13549}
13550
13551// GoString returns the string representation
13552func (s DescribeEventsInput) GoString() string {
13553	return s.String()
13554}
13555
13556// Validate inspects the fields of the type to determine if they are valid.
13557func (s *DescribeEventsInput) Validate() error {
13558	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
13559	if s.Filters != nil {
13560		for i, v := range s.Filters {
13561			if v == nil {
13562				continue
13563			}
13564			if err := v.Validate(); err != nil {
13565				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13566			}
13567		}
13568	}
13569
13570	if invalidParams.Len() > 0 {
13571		return invalidParams
13572	}
13573	return nil
13574}
13575
13576// SetDuration sets the Duration field's value.
13577func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
13578	s.Duration = &v
13579	return s
13580}
13581
13582// SetEndTime sets the EndTime field's value.
13583func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
13584	s.EndTime = &v
13585	return s
13586}
13587
13588// SetEventCategories sets the EventCategories field's value.
13589func (s *DescribeEventsInput) SetEventCategories(v []*string) *DescribeEventsInput {
13590	s.EventCategories = v
13591	return s
13592}
13593
13594// SetFilters sets the Filters field's value.
13595func (s *DescribeEventsInput) SetFilters(v []*Filter) *DescribeEventsInput {
13596	s.Filters = v
13597	return s
13598}
13599
13600// SetMarker sets the Marker field's value.
13601func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput {
13602	s.Marker = &v
13603	return s
13604}
13605
13606// SetMaxRecords sets the MaxRecords field's value.
13607func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
13608	s.MaxRecords = &v
13609	return s
13610}
13611
13612// SetSourceIdentifier sets the SourceIdentifier field's value.
13613func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput {
13614	s.SourceIdentifier = &v
13615	return s
13616}
13617
13618// SetSourceType sets the SourceType field's value.
13619func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
13620	s.SourceType = &v
13621	return s
13622}
13623
13624// SetStartTime sets the StartTime field's value.
13625func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
13626	s.StartTime = &v
13627	return s
13628}
13629
13630type DescribeEventsOutput struct {
13631	_ struct{} `type:"structure"`
13632
13633	// A list of Event instances.
13634	Events []*Event `locationNameList:"Event" type:"list"`
13635
13636	// An optional pagination token provided by a previous Events request. If this
13637	// parameter is specified, the response includes only records beyond the marker,
13638	// up to the value specified by MaxRecords .
13639	Marker *string `type:"string"`
13640}
13641
13642// String returns the string representation
13643func (s DescribeEventsOutput) String() string {
13644	return awsutil.Prettify(s)
13645}
13646
13647// GoString returns the string representation
13648func (s DescribeEventsOutput) GoString() string {
13649	return s.String()
13650}
13651
13652// SetEvents sets the Events field's value.
13653func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
13654	s.Events = v
13655	return s
13656}
13657
13658// SetMarker sets the Marker field's value.
13659func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput {
13660	s.Marker = &v
13661	return s
13662}
13663
13664type DescribeOrderableDBInstanceOptionsInput struct {
13665	_ struct{} `type:"structure"`
13666
13667	// The DB instance class filter value. Specify this parameter to show only the
13668	// available offerings matching the specified DB instance class.
13669	DBInstanceClass *string `type:"string"`
13670
13671	// The name of the engine to retrieve DB instance options for.
13672	//
13673	// Engine is a required field
13674	Engine *string `type:"string" required:"true"`
13675
13676	// The engine version filter value. Specify this parameter to show only the
13677	// available offerings matching the specified engine version.
13678	EngineVersion *string `type:"string"`
13679
13680	// This parameter is not currently supported.
13681	Filters []*Filter `locationNameList:"Filter" type:"list"`
13682
13683	// The license model filter value. Specify this parameter to show only the available
13684	// offerings matching the specified license model.
13685	LicenseModel *string `type:"string"`
13686
13687	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
13688	// request. If this parameter is specified, the response includes only records
13689	// beyond the marker, up to the value specified by MaxRecords .
13690	Marker *string `type:"string"`
13691
13692	// The maximum number of records to include in the response. If more records
13693	// exist than the specified MaxRecords value, a pagination token called a marker
13694	// is included in the response so that the remaining results can be retrieved.
13695	//
13696	// Default: 100
13697	//
13698	// Constraints: Minimum 20, maximum 100.
13699	MaxRecords *int64 `type:"integer"`
13700
13701	// The VPC filter value. Specify this parameter to show only the available VPC
13702	// or non-VPC offerings.
13703	Vpc *bool `type:"boolean"`
13704}
13705
13706// String returns the string representation
13707func (s DescribeOrderableDBInstanceOptionsInput) String() string {
13708	return awsutil.Prettify(s)
13709}
13710
13711// GoString returns the string representation
13712func (s DescribeOrderableDBInstanceOptionsInput) GoString() string {
13713	return s.String()
13714}
13715
13716// Validate inspects the fields of the type to determine if they are valid.
13717func (s *DescribeOrderableDBInstanceOptionsInput) Validate() error {
13718	invalidParams := request.ErrInvalidParams{Context: "DescribeOrderableDBInstanceOptionsInput"}
13719	if s.Engine == nil {
13720		invalidParams.Add(request.NewErrParamRequired("Engine"))
13721	}
13722	if s.Filters != nil {
13723		for i, v := range s.Filters {
13724			if v == nil {
13725				continue
13726			}
13727			if err := v.Validate(); err != nil {
13728				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13729			}
13730		}
13731	}
13732
13733	if invalidParams.Len() > 0 {
13734		return invalidParams
13735	}
13736	return nil
13737}
13738
13739// SetDBInstanceClass sets the DBInstanceClass field's value.
13740func (s *DescribeOrderableDBInstanceOptionsInput) SetDBInstanceClass(v string) *DescribeOrderableDBInstanceOptionsInput {
13741	s.DBInstanceClass = &v
13742	return s
13743}
13744
13745// SetEngine sets the Engine field's value.
13746func (s *DescribeOrderableDBInstanceOptionsInput) SetEngine(v string) *DescribeOrderableDBInstanceOptionsInput {
13747	s.Engine = &v
13748	return s
13749}
13750
13751// SetEngineVersion sets the EngineVersion field's value.
13752func (s *DescribeOrderableDBInstanceOptionsInput) SetEngineVersion(v string) *DescribeOrderableDBInstanceOptionsInput {
13753	s.EngineVersion = &v
13754	return s
13755}
13756
13757// SetFilters sets the Filters field's value.
13758func (s *DescribeOrderableDBInstanceOptionsInput) SetFilters(v []*Filter) *DescribeOrderableDBInstanceOptionsInput {
13759	s.Filters = v
13760	return s
13761}
13762
13763// SetLicenseModel sets the LicenseModel field's value.
13764func (s *DescribeOrderableDBInstanceOptionsInput) SetLicenseModel(v string) *DescribeOrderableDBInstanceOptionsInput {
13765	s.LicenseModel = &v
13766	return s
13767}
13768
13769// SetMarker sets the Marker field's value.
13770func (s *DescribeOrderableDBInstanceOptionsInput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsInput {
13771	s.Marker = &v
13772	return s
13773}
13774
13775// SetMaxRecords sets the MaxRecords field's value.
13776func (s *DescribeOrderableDBInstanceOptionsInput) SetMaxRecords(v int64) *DescribeOrderableDBInstanceOptionsInput {
13777	s.MaxRecords = &v
13778	return s
13779}
13780
13781// SetVpc sets the Vpc field's value.
13782func (s *DescribeOrderableDBInstanceOptionsInput) SetVpc(v bool) *DescribeOrderableDBInstanceOptionsInput {
13783	s.Vpc = &v
13784	return s
13785}
13786
13787type DescribeOrderableDBInstanceOptionsOutput struct {
13788	_ struct{} `type:"structure"`
13789
13790	// An optional pagination token provided by a previous OrderableDBInstanceOptions
13791	// request. If this parameter is specified, the response includes only records
13792	// beyond the marker, up to the value specified by MaxRecords .
13793	Marker *string `type:"string"`
13794
13795	// An OrderableDBInstanceOption structure containing information about orderable
13796	// options for the DB instance.
13797	OrderableDBInstanceOptions []*OrderableDBInstanceOption `locationNameList:"OrderableDBInstanceOption" type:"list"`
13798}
13799
13800// String returns the string representation
13801func (s DescribeOrderableDBInstanceOptionsOutput) String() string {
13802	return awsutil.Prettify(s)
13803}
13804
13805// GoString returns the string representation
13806func (s DescribeOrderableDBInstanceOptionsOutput) GoString() string {
13807	return s.String()
13808}
13809
13810// SetMarker sets the Marker field's value.
13811func (s *DescribeOrderableDBInstanceOptionsOutput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsOutput {
13812	s.Marker = &v
13813	return s
13814}
13815
13816// SetOrderableDBInstanceOptions sets the OrderableDBInstanceOptions field's value.
13817func (s *DescribeOrderableDBInstanceOptionsOutput) SetOrderableDBInstanceOptions(v []*OrderableDBInstanceOption) *DescribeOrderableDBInstanceOptionsOutput {
13818	s.OrderableDBInstanceOptions = v
13819	return s
13820}
13821
13822type DescribePendingMaintenanceActionsInput struct {
13823	_ struct{} `type:"structure"`
13824
13825	// A filter that specifies one or more resources to return pending maintenance
13826	// actions for.
13827	//
13828	// Supported filters:
13829	//
13830	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
13831	//    Resource Names (ARNs). The results list will only include pending maintenance
13832	//    actions for the DB clusters identified by these ARNs.
13833	//
13834	//    * db-instance-id - Accepts DB instance identifiers and DB instance ARNs.
13835	//    The results list will only include pending maintenance actions for the
13836	//    DB instances identified by these ARNs.
13837	Filters []*Filter `locationNameList:"Filter" type:"list"`
13838
13839	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
13840	// request. If this parameter is specified, the response includes only records
13841	// beyond the marker, up to a number of records specified by MaxRecords.
13842	Marker *string `type:"string"`
13843
13844	// The maximum number of records to include in the response. If more records
13845	// exist than the specified MaxRecords value, a pagination token called a marker
13846	// is included in the response so that the remaining results can be retrieved.
13847	//
13848	// Default: 100
13849	//
13850	// Constraints: Minimum 20, maximum 100.
13851	MaxRecords *int64 `type:"integer"`
13852
13853	// The ARN of a resource to return pending maintenance actions for.
13854	ResourceIdentifier *string `type:"string"`
13855}
13856
13857// String returns the string representation
13858func (s DescribePendingMaintenanceActionsInput) String() string {
13859	return awsutil.Prettify(s)
13860}
13861
13862// GoString returns the string representation
13863func (s DescribePendingMaintenanceActionsInput) GoString() string {
13864	return s.String()
13865}
13866
13867// Validate inspects the fields of the type to determine if they are valid.
13868func (s *DescribePendingMaintenanceActionsInput) Validate() error {
13869	invalidParams := request.ErrInvalidParams{Context: "DescribePendingMaintenanceActionsInput"}
13870	if s.Filters != nil {
13871		for i, v := range s.Filters {
13872			if v == nil {
13873				continue
13874			}
13875			if err := v.Validate(); err != nil {
13876				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13877			}
13878		}
13879	}
13880
13881	if invalidParams.Len() > 0 {
13882		return invalidParams
13883	}
13884	return nil
13885}
13886
13887// SetFilters sets the Filters field's value.
13888func (s *DescribePendingMaintenanceActionsInput) SetFilters(v []*Filter) *DescribePendingMaintenanceActionsInput {
13889	s.Filters = v
13890	return s
13891}
13892
13893// SetMarker sets the Marker field's value.
13894func (s *DescribePendingMaintenanceActionsInput) SetMarker(v string) *DescribePendingMaintenanceActionsInput {
13895	s.Marker = &v
13896	return s
13897}
13898
13899// SetMaxRecords sets the MaxRecords field's value.
13900func (s *DescribePendingMaintenanceActionsInput) SetMaxRecords(v int64) *DescribePendingMaintenanceActionsInput {
13901	s.MaxRecords = &v
13902	return s
13903}
13904
13905// SetResourceIdentifier sets the ResourceIdentifier field's value.
13906func (s *DescribePendingMaintenanceActionsInput) SetResourceIdentifier(v string) *DescribePendingMaintenanceActionsInput {
13907	s.ResourceIdentifier = &v
13908	return s
13909}
13910
13911type DescribePendingMaintenanceActionsOutput struct {
13912	_ struct{} `type:"structure"`
13913
13914	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
13915	// request. If this parameter is specified, the response includes only records
13916	// beyond the marker, up to a number of records specified by MaxRecords.
13917	Marker *string `type:"string"`
13918
13919	// A list of the pending maintenance actions for the resource.
13920	PendingMaintenanceActions []*ResourcePendingMaintenanceActions `locationNameList:"ResourcePendingMaintenanceActions" type:"list"`
13921}
13922
13923// String returns the string representation
13924func (s DescribePendingMaintenanceActionsOutput) String() string {
13925	return awsutil.Prettify(s)
13926}
13927
13928// GoString returns the string representation
13929func (s DescribePendingMaintenanceActionsOutput) GoString() string {
13930	return s.String()
13931}
13932
13933// SetMarker sets the Marker field's value.
13934func (s *DescribePendingMaintenanceActionsOutput) SetMarker(v string) *DescribePendingMaintenanceActionsOutput {
13935	s.Marker = &v
13936	return s
13937}
13938
13939// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
13940func (s *DescribePendingMaintenanceActionsOutput) SetPendingMaintenanceActions(v []*ResourcePendingMaintenanceActions) *DescribePendingMaintenanceActionsOutput {
13941	s.PendingMaintenanceActions = v
13942	return s
13943}
13944
13945type DescribeValidDBInstanceModificationsInput struct {
13946	_ struct{} `type:"structure"`
13947
13948	// The customer identifier or the ARN of your DB instance.
13949	//
13950	// DBInstanceIdentifier is a required field
13951	DBInstanceIdentifier *string `type:"string" required:"true"`
13952}
13953
13954// String returns the string representation
13955func (s DescribeValidDBInstanceModificationsInput) String() string {
13956	return awsutil.Prettify(s)
13957}
13958
13959// GoString returns the string representation
13960func (s DescribeValidDBInstanceModificationsInput) GoString() string {
13961	return s.String()
13962}
13963
13964// Validate inspects the fields of the type to determine if they are valid.
13965func (s *DescribeValidDBInstanceModificationsInput) Validate() error {
13966	invalidParams := request.ErrInvalidParams{Context: "DescribeValidDBInstanceModificationsInput"}
13967	if s.DBInstanceIdentifier == nil {
13968		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
13969	}
13970
13971	if invalidParams.Len() > 0 {
13972		return invalidParams
13973	}
13974	return nil
13975}
13976
13977// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
13978func (s *DescribeValidDBInstanceModificationsInput) SetDBInstanceIdentifier(v string) *DescribeValidDBInstanceModificationsInput {
13979	s.DBInstanceIdentifier = &v
13980	return s
13981}
13982
13983type DescribeValidDBInstanceModificationsOutput struct {
13984	_ struct{} `type:"structure"`
13985
13986	// Information about valid modifications that you can make to your DB instance.
13987	// Contains the result of a successful call to the DescribeValidDBInstanceModifications
13988	// action. You can use this information when you call ModifyDBInstance.
13989	ValidDBInstanceModificationsMessage *ValidDBInstanceModificationsMessage `type:"structure"`
13990}
13991
13992// String returns the string representation
13993func (s DescribeValidDBInstanceModificationsOutput) String() string {
13994	return awsutil.Prettify(s)
13995}
13996
13997// GoString returns the string representation
13998func (s DescribeValidDBInstanceModificationsOutput) GoString() string {
13999	return s.String()
14000}
14001
14002// SetValidDBInstanceModificationsMessage sets the ValidDBInstanceModificationsMessage field's value.
14003func (s *DescribeValidDBInstanceModificationsOutput) SetValidDBInstanceModificationsMessage(v *ValidDBInstanceModificationsMessage) *DescribeValidDBInstanceModificationsOutput {
14004	s.ValidDBInstanceModificationsMessage = v
14005	return s
14006}
14007
14008// An Active Directory Domain membership record associated with a DB instance.
14009type DomainMembership struct {
14010	_ struct{} `type:"structure"`
14011
14012	// The identifier of the Active Directory Domain.
14013	Domain *string `type:"string"`
14014
14015	// The fully qualified domain name of the Active Directory Domain.
14016	FQDN *string `type:"string"`
14017
14018	// The name of the IAM role to be used when making API calls to the Directory
14019	// Service.
14020	IAMRoleName *string `type:"string"`
14021
14022	// The status of the DB instance's Active Directory Domain membership, such
14023	// as joined, pending-join, failed etc).
14024	Status *string `type:"string"`
14025}
14026
14027// String returns the string representation
14028func (s DomainMembership) String() string {
14029	return awsutil.Prettify(s)
14030}
14031
14032// GoString returns the string representation
14033func (s DomainMembership) GoString() string {
14034	return s.String()
14035}
14036
14037// SetDomain sets the Domain field's value.
14038func (s *DomainMembership) SetDomain(v string) *DomainMembership {
14039	s.Domain = &v
14040	return s
14041}
14042
14043// SetFQDN sets the FQDN field's value.
14044func (s *DomainMembership) SetFQDN(v string) *DomainMembership {
14045	s.FQDN = &v
14046	return s
14047}
14048
14049// SetIAMRoleName sets the IAMRoleName field's value.
14050func (s *DomainMembership) SetIAMRoleName(v string) *DomainMembership {
14051	s.IAMRoleName = &v
14052	return s
14053}
14054
14055// SetStatus sets the Status field's value.
14056func (s *DomainMembership) SetStatus(v string) *DomainMembership {
14057	s.Status = &v
14058	return s
14059}
14060
14061// A range of double values.
14062type DoubleRange struct {
14063	_ struct{} `type:"structure"`
14064
14065	// The minimum value in the range.
14066	From *float64 `type:"double"`
14067
14068	// The maximum value in the range.
14069	To *float64 `type:"double"`
14070}
14071
14072// String returns the string representation
14073func (s DoubleRange) String() string {
14074	return awsutil.Prettify(s)
14075}
14076
14077// GoString returns the string representation
14078func (s DoubleRange) GoString() string {
14079	return s.String()
14080}
14081
14082// SetFrom sets the From field's value.
14083func (s *DoubleRange) SetFrom(v float64) *DoubleRange {
14084	s.From = &v
14085	return s
14086}
14087
14088// SetTo sets the To field's value.
14089func (s *DoubleRange) SetTo(v float64) *DoubleRange {
14090	s.To = &v
14091	return s
14092}
14093
14094// Specifies a connection endpoint.
14095//
14096// For the data structure that represents Amazon Neptune DB cluster endpoints,
14097// see DBClusterEndpoint.
14098type Endpoint struct {
14099	_ struct{} `type:"structure"`
14100
14101	// Specifies the DNS address of the DB instance.
14102	Address *string `type:"string"`
14103
14104	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
14105	HostedZoneId *string `type:"string"`
14106
14107	// Specifies the port that the database engine is listening on.
14108	Port *int64 `type:"integer"`
14109}
14110
14111// String returns the string representation
14112func (s Endpoint) String() string {
14113	return awsutil.Prettify(s)
14114}
14115
14116// GoString returns the string representation
14117func (s Endpoint) GoString() string {
14118	return s.String()
14119}
14120
14121// SetAddress sets the Address field's value.
14122func (s *Endpoint) SetAddress(v string) *Endpoint {
14123	s.Address = &v
14124	return s
14125}
14126
14127// SetHostedZoneId sets the HostedZoneId field's value.
14128func (s *Endpoint) SetHostedZoneId(v string) *Endpoint {
14129	s.HostedZoneId = &v
14130	return s
14131}
14132
14133// SetPort sets the Port field's value.
14134func (s *Endpoint) SetPort(v int64) *Endpoint {
14135	s.Port = &v
14136	return s
14137}
14138
14139// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
14140// action.
14141type EngineDefaults struct {
14142	_ struct{} `type:"structure"`
14143
14144	// Specifies the name of the DB parameter group family that the engine default
14145	// parameters apply to.
14146	DBParameterGroupFamily *string `type:"string"`
14147
14148	// An optional pagination token provided by a previous EngineDefaults request.
14149	// If this parameter is specified, the response includes only records beyond
14150	// the marker, up to the value specified by MaxRecords .
14151	Marker *string `type:"string"`
14152
14153	// Contains a list of engine default parameters.
14154	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
14155}
14156
14157// String returns the string representation
14158func (s EngineDefaults) String() string {
14159	return awsutil.Prettify(s)
14160}
14161
14162// GoString returns the string representation
14163func (s EngineDefaults) GoString() string {
14164	return s.String()
14165}
14166
14167// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
14168func (s *EngineDefaults) SetDBParameterGroupFamily(v string) *EngineDefaults {
14169	s.DBParameterGroupFamily = &v
14170	return s
14171}
14172
14173// SetMarker sets the Marker field's value.
14174func (s *EngineDefaults) SetMarker(v string) *EngineDefaults {
14175	s.Marker = &v
14176	return s
14177}
14178
14179// SetParameters sets the Parameters field's value.
14180func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults {
14181	s.Parameters = v
14182	return s
14183}
14184
14185// This data type is used as a response element in the DescribeEvents action.
14186type Event struct {
14187	_ struct{} `type:"structure"`
14188
14189	// Specifies the date and time of the event.
14190	Date *time.Time `type:"timestamp"`
14191
14192	// Specifies the category for the event.
14193	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
14194
14195	// Provides the text of this event.
14196	Message *string `type:"string"`
14197
14198	// The Amazon Resource Name (ARN) for the event.
14199	SourceArn *string `type:"string"`
14200
14201	// Provides the identifier for the source of the event.
14202	SourceIdentifier *string `type:"string"`
14203
14204	// Specifies the source type for this event.
14205	SourceType *string `type:"string" enum:"SourceType"`
14206}
14207
14208// String returns the string representation
14209func (s Event) String() string {
14210	return awsutil.Prettify(s)
14211}
14212
14213// GoString returns the string representation
14214func (s Event) GoString() string {
14215	return s.String()
14216}
14217
14218// SetDate sets the Date field's value.
14219func (s *Event) SetDate(v time.Time) *Event {
14220	s.Date = &v
14221	return s
14222}
14223
14224// SetEventCategories sets the EventCategories field's value.
14225func (s *Event) SetEventCategories(v []*string) *Event {
14226	s.EventCategories = v
14227	return s
14228}
14229
14230// SetMessage sets the Message field's value.
14231func (s *Event) SetMessage(v string) *Event {
14232	s.Message = &v
14233	return s
14234}
14235
14236// SetSourceArn sets the SourceArn field's value.
14237func (s *Event) SetSourceArn(v string) *Event {
14238	s.SourceArn = &v
14239	return s
14240}
14241
14242// SetSourceIdentifier sets the SourceIdentifier field's value.
14243func (s *Event) SetSourceIdentifier(v string) *Event {
14244	s.SourceIdentifier = &v
14245	return s
14246}
14247
14248// SetSourceType sets the SourceType field's value.
14249func (s *Event) SetSourceType(v string) *Event {
14250	s.SourceType = &v
14251	return s
14252}
14253
14254// Contains the results of a successful invocation of the DescribeEventCategories
14255// action.
14256type EventCategoriesMap struct {
14257	_ struct{} `type:"structure"`
14258
14259	// The event categories for the specified source type
14260	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
14261
14262	// The source type that the returned categories belong to
14263	SourceType *string `type:"string"`
14264}
14265
14266// String returns the string representation
14267func (s EventCategoriesMap) String() string {
14268	return awsutil.Prettify(s)
14269}
14270
14271// GoString returns the string representation
14272func (s EventCategoriesMap) GoString() string {
14273	return s.String()
14274}
14275
14276// SetEventCategories sets the EventCategories field's value.
14277func (s *EventCategoriesMap) SetEventCategories(v []*string) *EventCategoriesMap {
14278	s.EventCategories = v
14279	return s
14280}
14281
14282// SetSourceType sets the SourceType field's value.
14283func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap {
14284	s.SourceType = &v
14285	return s
14286}
14287
14288// Contains the results of a successful invocation of the DescribeEventSubscriptions
14289// action.
14290type EventSubscription struct {
14291	_ struct{} `type:"structure"`
14292
14293	// The event notification subscription Id.
14294	CustSubscriptionId *string `type:"string"`
14295
14296	// The AWS customer account associated with the event notification subscription.
14297	CustomerAwsId *string `type:"string"`
14298
14299	// A Boolean value indicating if the subscription is enabled. True indicates
14300	// the subscription is enabled.
14301	Enabled *bool `type:"boolean"`
14302
14303	// A list of event categories for the event notification subscription.
14304	EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"`
14305
14306	// The Amazon Resource Name (ARN) for the event subscription.
14307	EventSubscriptionArn *string `type:"string"`
14308
14309	// The topic ARN of the event notification subscription.
14310	SnsTopicArn *string `type:"string"`
14311
14312	// A list of source IDs for the event notification subscription.
14313	SourceIdsList []*string `locationNameList:"SourceId" type:"list"`
14314
14315	// The source type for the event notification subscription.
14316	SourceType *string `type:"string"`
14317
14318	// The status of the event notification subscription.
14319	//
14320	// Constraints:
14321	//
14322	// Can be one of the following: creating | modifying | deleting | active | no-permission
14323	// | topic-not-exist
14324	//
14325	// The status "no-permission" indicates that Neptune no longer has permission
14326	// to post to the SNS topic. The status "topic-not-exist" indicates that the
14327	// topic was deleted after the subscription was created.
14328	Status *string `type:"string"`
14329
14330	// The time the event notification subscription was created.
14331	SubscriptionCreationTime *string `type:"string"`
14332}
14333
14334// String returns the string representation
14335func (s EventSubscription) String() string {
14336	return awsutil.Prettify(s)
14337}
14338
14339// GoString returns the string representation
14340func (s EventSubscription) GoString() string {
14341	return s.String()
14342}
14343
14344// SetCustSubscriptionId sets the CustSubscriptionId field's value.
14345func (s *EventSubscription) SetCustSubscriptionId(v string) *EventSubscription {
14346	s.CustSubscriptionId = &v
14347	return s
14348}
14349
14350// SetCustomerAwsId sets the CustomerAwsId field's value.
14351func (s *EventSubscription) SetCustomerAwsId(v string) *EventSubscription {
14352	s.CustomerAwsId = &v
14353	return s
14354}
14355
14356// SetEnabled sets the Enabled field's value.
14357func (s *EventSubscription) SetEnabled(v bool) *EventSubscription {
14358	s.Enabled = &v
14359	return s
14360}
14361
14362// SetEventCategoriesList sets the EventCategoriesList field's value.
14363func (s *EventSubscription) SetEventCategoriesList(v []*string) *EventSubscription {
14364	s.EventCategoriesList = v
14365	return s
14366}
14367
14368// SetEventSubscriptionArn sets the EventSubscriptionArn field's value.
14369func (s *EventSubscription) SetEventSubscriptionArn(v string) *EventSubscription {
14370	s.EventSubscriptionArn = &v
14371	return s
14372}
14373
14374// SetSnsTopicArn sets the SnsTopicArn field's value.
14375func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription {
14376	s.SnsTopicArn = &v
14377	return s
14378}
14379
14380// SetSourceIdsList sets the SourceIdsList field's value.
14381func (s *EventSubscription) SetSourceIdsList(v []*string) *EventSubscription {
14382	s.SourceIdsList = v
14383	return s
14384}
14385
14386// SetSourceType sets the SourceType field's value.
14387func (s *EventSubscription) SetSourceType(v string) *EventSubscription {
14388	s.SourceType = &v
14389	return s
14390}
14391
14392// SetStatus sets the Status field's value.
14393func (s *EventSubscription) SetStatus(v string) *EventSubscription {
14394	s.Status = &v
14395	return s
14396}
14397
14398// SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
14399func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscription {
14400	s.SubscriptionCreationTime = &v
14401	return s
14402}
14403
14404type FailoverDBClusterInput struct {
14405	_ struct{} `type:"structure"`
14406
14407	// A DB cluster identifier to force a failover for. This parameter is not case-sensitive.
14408	//
14409	// Constraints:
14410	//
14411	//    * Must match the identifier of an existing DBCluster.
14412	DBClusterIdentifier *string `type:"string"`
14413
14414	// The name of the instance to promote to the primary instance.
14415	//
14416	// You must specify the instance identifier for an Read Replica in the DB cluster.
14417	// For example, mydbcluster-replica1.
14418	TargetDBInstanceIdentifier *string `type:"string"`
14419}
14420
14421// String returns the string representation
14422func (s FailoverDBClusterInput) String() string {
14423	return awsutil.Prettify(s)
14424}
14425
14426// GoString returns the string representation
14427func (s FailoverDBClusterInput) GoString() string {
14428	return s.String()
14429}
14430
14431// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
14432func (s *FailoverDBClusterInput) SetDBClusterIdentifier(v string) *FailoverDBClusterInput {
14433	s.DBClusterIdentifier = &v
14434	return s
14435}
14436
14437// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
14438func (s *FailoverDBClusterInput) SetTargetDBInstanceIdentifier(v string) *FailoverDBClusterInput {
14439	s.TargetDBInstanceIdentifier = &v
14440	return s
14441}
14442
14443type FailoverDBClusterOutput struct {
14444	_ struct{} `type:"structure"`
14445
14446	// Contains the details of an Amazon Neptune DB cluster.
14447	//
14448	// This data type is used as a response element in the DescribeDBClusters action.
14449	DBCluster *DBCluster `type:"structure"`
14450}
14451
14452// String returns the string representation
14453func (s FailoverDBClusterOutput) String() string {
14454	return awsutil.Prettify(s)
14455}
14456
14457// GoString returns the string representation
14458func (s FailoverDBClusterOutput) GoString() string {
14459	return s.String()
14460}
14461
14462// SetDBCluster sets the DBCluster field's value.
14463func (s *FailoverDBClusterOutput) SetDBCluster(v *DBCluster) *FailoverDBClusterOutput {
14464	s.DBCluster = v
14465	return s
14466}
14467
14468// This type is not currently supported.
14469type Filter struct {
14470	_ struct{} `type:"structure"`
14471
14472	// This parameter is not currently supported.
14473	//
14474	// Name is a required field
14475	Name *string `type:"string" required:"true"`
14476
14477	// This parameter is not currently supported.
14478	//
14479	// Values is a required field
14480	Values []*string `locationNameList:"Value" type:"list" required:"true"`
14481}
14482
14483// String returns the string representation
14484func (s Filter) String() string {
14485	return awsutil.Prettify(s)
14486}
14487
14488// GoString returns the string representation
14489func (s Filter) GoString() string {
14490	return s.String()
14491}
14492
14493// Validate inspects the fields of the type to determine if they are valid.
14494func (s *Filter) Validate() error {
14495	invalidParams := request.ErrInvalidParams{Context: "Filter"}
14496	if s.Name == nil {
14497		invalidParams.Add(request.NewErrParamRequired("Name"))
14498	}
14499	if s.Values == nil {
14500		invalidParams.Add(request.NewErrParamRequired("Values"))
14501	}
14502
14503	if invalidParams.Len() > 0 {
14504		return invalidParams
14505	}
14506	return nil
14507}
14508
14509// SetName sets the Name field's value.
14510func (s *Filter) SetName(v string) *Filter {
14511	s.Name = &v
14512	return s
14513}
14514
14515// SetValues sets the Values field's value.
14516func (s *Filter) SetValues(v []*string) *Filter {
14517	s.Values = v
14518	return s
14519}
14520
14521type ListTagsForResourceInput struct {
14522	_ struct{} `type:"structure"`
14523
14524	// This parameter is not currently supported.
14525	Filters []*Filter `locationNameList:"Filter" type:"list"`
14526
14527	// The Amazon Neptune resource with tags to be listed. This value is an Amazon
14528	// Resource Name (ARN). For information about creating an ARN, see Constructing
14529	// an Amazon Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
14530	//
14531	// ResourceName is a required field
14532	ResourceName *string `type:"string" required:"true"`
14533}
14534
14535// String returns the string representation
14536func (s ListTagsForResourceInput) String() string {
14537	return awsutil.Prettify(s)
14538}
14539
14540// GoString returns the string representation
14541func (s ListTagsForResourceInput) GoString() string {
14542	return s.String()
14543}
14544
14545// Validate inspects the fields of the type to determine if they are valid.
14546func (s *ListTagsForResourceInput) Validate() error {
14547	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
14548	if s.ResourceName == nil {
14549		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
14550	}
14551	if s.Filters != nil {
14552		for i, v := range s.Filters {
14553			if v == nil {
14554				continue
14555			}
14556			if err := v.Validate(); err != nil {
14557				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
14558			}
14559		}
14560	}
14561
14562	if invalidParams.Len() > 0 {
14563		return invalidParams
14564	}
14565	return nil
14566}
14567
14568// SetFilters sets the Filters field's value.
14569func (s *ListTagsForResourceInput) SetFilters(v []*Filter) *ListTagsForResourceInput {
14570	s.Filters = v
14571	return s
14572}
14573
14574// SetResourceName sets the ResourceName field's value.
14575func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput {
14576	s.ResourceName = &v
14577	return s
14578}
14579
14580type ListTagsForResourceOutput struct {
14581	_ struct{} `type:"structure"`
14582
14583	// List of tags returned by the ListTagsForResource operation.
14584	TagList []*Tag `locationNameList:"Tag" type:"list"`
14585}
14586
14587// String returns the string representation
14588func (s ListTagsForResourceOutput) String() string {
14589	return awsutil.Prettify(s)
14590}
14591
14592// GoString returns the string representation
14593func (s ListTagsForResourceOutput) GoString() string {
14594	return s.String()
14595}
14596
14597// SetTagList sets the TagList field's value.
14598func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
14599	s.TagList = v
14600	return s
14601}
14602
14603type ModifyDBClusterEndpointInput struct {
14604	_ struct{} `type:"structure"`
14605
14606	// The identifier of the endpoint to modify. This parameter is stored as a lowercase
14607	// string.
14608	//
14609	// DBClusterEndpointIdentifier is a required field
14610	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
14611
14612	// The type of the endpoint. One of: READER, WRITER, ANY.
14613	EndpointType *string `type:"string"`
14614
14615	// List of DB instance identifiers that aren't part of the custom endpoint group.
14616	// All other eligible instances are reachable through the custom endpoint. Only
14617	// relevant if the list of static members is empty.
14618	ExcludedMembers []*string `type:"list"`
14619
14620	// List of DB instance identifiers that are part of the custom endpoint group.
14621	StaticMembers []*string `type:"list"`
14622}
14623
14624// String returns the string representation
14625func (s ModifyDBClusterEndpointInput) String() string {
14626	return awsutil.Prettify(s)
14627}
14628
14629// GoString returns the string representation
14630func (s ModifyDBClusterEndpointInput) GoString() string {
14631	return s.String()
14632}
14633
14634// Validate inspects the fields of the type to determine if they are valid.
14635func (s *ModifyDBClusterEndpointInput) Validate() error {
14636	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterEndpointInput"}
14637	if s.DBClusterEndpointIdentifier == nil {
14638		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
14639	}
14640
14641	if invalidParams.Len() > 0 {
14642		return invalidParams
14643	}
14644	return nil
14645}
14646
14647// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
14648func (s *ModifyDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *ModifyDBClusterEndpointInput {
14649	s.DBClusterEndpointIdentifier = &v
14650	return s
14651}
14652
14653// SetEndpointType sets the EndpointType field's value.
14654func (s *ModifyDBClusterEndpointInput) SetEndpointType(v string) *ModifyDBClusterEndpointInput {
14655	s.EndpointType = &v
14656	return s
14657}
14658
14659// SetExcludedMembers sets the ExcludedMembers field's value.
14660func (s *ModifyDBClusterEndpointInput) SetExcludedMembers(v []*string) *ModifyDBClusterEndpointInput {
14661	s.ExcludedMembers = v
14662	return s
14663}
14664
14665// SetStaticMembers sets the StaticMembers field's value.
14666func (s *ModifyDBClusterEndpointInput) SetStaticMembers(v []*string) *ModifyDBClusterEndpointInput {
14667	s.StaticMembers = v
14668	return s
14669}
14670
14671// This data type represents the information you need to connect to an Amazon
14672// Aurora DB cluster. This data type is used as a response element in the following
14673// actions:
14674//
14675//    * CreateDBClusterEndpoint
14676//
14677//    * DescribeDBClusterEndpoints
14678//
14679//    * ModifyDBClusterEndpoint
14680//
14681//    * DeleteDBClusterEndpoint
14682//
14683// For the data structure that represents Amazon RDS DB instance endpoints,
14684// see Endpoint.
14685type ModifyDBClusterEndpointOutput struct {
14686	_ struct{} `type:"structure"`
14687
14688	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
14689	CustomEndpointType *string `type:"string"`
14690
14691	// The Amazon Resource Name (ARN) for the endpoint.
14692	DBClusterEndpointArn *string `type:"string"`
14693
14694	// The identifier associated with the endpoint. This parameter is stored as
14695	// a lowercase string.
14696	DBClusterEndpointIdentifier *string `type:"string"`
14697
14698	// A unique system-generated identifier for an endpoint. It remains the same
14699	// for the whole life of the endpoint.
14700	DBClusterEndpointResourceIdentifier *string `type:"string"`
14701
14702	// The DB cluster identifier of the DB cluster associated with the endpoint.
14703	// This parameter is stored as a lowercase string.
14704	DBClusterIdentifier *string `type:"string"`
14705
14706	// The DNS address of the endpoint.
14707	Endpoint *string `type:"string"`
14708
14709	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
14710	EndpointType *string `type:"string"`
14711
14712	// List of DB instance identifiers that aren't part of the custom endpoint group.
14713	// All other eligible instances are reachable through the custom endpoint. Only
14714	// relevant if the list of static members is empty.
14715	ExcludedMembers []*string `type:"list"`
14716
14717	// List of DB instance identifiers that are part of the custom endpoint group.
14718	StaticMembers []*string `type:"list"`
14719
14720	// The current status of the endpoint. One of: creating, available, deleting,
14721	// inactive, modifying. The inactive state applies to an endpoint that cannot
14722	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
14723	// secondary cluster in a global database.
14724	Status *string `type:"string"`
14725}
14726
14727// String returns the string representation
14728func (s ModifyDBClusterEndpointOutput) String() string {
14729	return awsutil.Prettify(s)
14730}
14731
14732// GoString returns the string representation
14733func (s ModifyDBClusterEndpointOutput) GoString() string {
14734	return s.String()
14735}
14736
14737// SetCustomEndpointType sets the CustomEndpointType field's value.
14738func (s *ModifyDBClusterEndpointOutput) SetCustomEndpointType(v string) *ModifyDBClusterEndpointOutput {
14739	s.CustomEndpointType = &v
14740	return s
14741}
14742
14743// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
14744func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *ModifyDBClusterEndpointOutput {
14745	s.DBClusterEndpointArn = &v
14746	return s
14747}
14748
14749// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
14750func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *ModifyDBClusterEndpointOutput {
14751	s.DBClusterEndpointIdentifier = &v
14752	return s
14753}
14754
14755// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
14756func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *ModifyDBClusterEndpointOutput {
14757	s.DBClusterEndpointResourceIdentifier = &v
14758	return s
14759}
14760
14761// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
14762func (s *ModifyDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *ModifyDBClusterEndpointOutput {
14763	s.DBClusterIdentifier = &v
14764	return s
14765}
14766
14767// SetEndpoint sets the Endpoint field's value.
14768func (s *ModifyDBClusterEndpointOutput) SetEndpoint(v string) *ModifyDBClusterEndpointOutput {
14769	s.Endpoint = &v
14770	return s
14771}
14772
14773// SetEndpointType sets the EndpointType field's value.
14774func (s *ModifyDBClusterEndpointOutput) SetEndpointType(v string) *ModifyDBClusterEndpointOutput {
14775	s.EndpointType = &v
14776	return s
14777}
14778
14779// SetExcludedMembers sets the ExcludedMembers field's value.
14780func (s *ModifyDBClusterEndpointOutput) SetExcludedMembers(v []*string) *ModifyDBClusterEndpointOutput {
14781	s.ExcludedMembers = v
14782	return s
14783}
14784
14785// SetStaticMembers sets the StaticMembers field's value.
14786func (s *ModifyDBClusterEndpointOutput) SetStaticMembers(v []*string) *ModifyDBClusterEndpointOutput {
14787	s.StaticMembers = v
14788	return s
14789}
14790
14791// SetStatus sets the Status field's value.
14792func (s *ModifyDBClusterEndpointOutput) SetStatus(v string) *ModifyDBClusterEndpointOutput {
14793	s.Status = &v
14794	return s
14795}
14796
14797type ModifyDBClusterInput struct {
14798	_ struct{} `type:"structure"`
14799
14800	// A value that specifies whether the modifications in this request and any
14801	// pending modifications are asynchronously applied as soon as possible, regardless
14802	// of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter
14803	// is set to false, changes to the DB cluster are applied during the next maintenance
14804	// window.
14805	//
14806	// The ApplyImmediately parameter only affects the NewDBClusterIdentifier and
14807	// MasterUserPassword values. If you set the ApplyImmediately parameter value
14808	// to false, then changes to the NewDBClusterIdentifier and MasterUserPassword
14809	// values are applied during the next maintenance window. All other changes
14810	// are applied immediately, regardless of the value of the ApplyImmediately
14811	// parameter.
14812	//
14813	// Default: false
14814	ApplyImmediately *bool `type:"boolean"`
14815
14816	// The number of days for which automated backups are retained. You must specify
14817	// a minimum value of 1.
14818	//
14819	// Default: 1
14820	//
14821	// Constraints:
14822	//
14823	//    * Must be a value from 1 to 35
14824	BackupRetentionPeriod *int64 `type:"integer"`
14825
14826	// The configuration setting for the log types to be enabled for export to CloudWatch
14827	// Logs for a specific DB cluster.
14828	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
14829
14830	// The DB cluster identifier for the cluster being modified. This parameter
14831	// is not case-sensitive.
14832	//
14833	// Constraints:
14834	//
14835	//    * Must match the identifier of an existing DBCluster.
14836	//
14837	// DBClusterIdentifier is a required field
14838	DBClusterIdentifier *string `type:"string" required:"true"`
14839
14840	// The name of the DB cluster parameter group to use for the DB cluster.
14841	DBClusterParameterGroupName *string `type:"string"`
14842
14843	// A value that indicates whether the DB cluster has deletion protection enabled.
14844	// The database can't be deleted when deletion protection is enabled. By default,
14845	// deletion protection is disabled.
14846	DeletionProtection *bool `type:"boolean"`
14847
14848	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
14849	// to database accounts, and otherwise false.
14850	//
14851	// Default: false
14852	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
14853
14854	// The version number of the database engine to which you want to upgrade. Changing
14855	// this parameter results in an outage. The change is applied during the next
14856	// maintenance window unless the ApplyImmediately parameter is set to true.
14857	//
14858	// For a list of valid engine versions, see Engine Releases for Amazon Neptune
14859	// (https://docs.aws.amazon.com/neptune/latest/userguide/engine-releases.html),
14860	// or call DescribeDBEngineVersions (https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions).
14861	EngineVersion *string `type:"string"`
14862
14863	// The new password for the master database user. This password can contain
14864	// any printable ASCII character except "/", """, or "@".
14865	//
14866	// Constraints: Must contain from 8 to 41 characters.
14867	MasterUserPassword *string `type:"string"`
14868
14869	// The new DB cluster identifier for the DB cluster when renaming a DB cluster.
14870	// This value is stored as a lowercase string.
14871	//
14872	// Constraints:
14873	//
14874	//    * Must contain from 1 to 63 letters, numbers, or hyphens
14875	//
14876	//    * The first character must be a letter
14877	//
14878	//    * Cannot end with a hyphen or contain two consecutive hyphens
14879	//
14880	// Example: my-cluster2
14881	NewDBClusterIdentifier *string `type:"string"`
14882
14883	// (Not supported by Neptune)
14884	OptionGroupName *string `type:"string"`
14885
14886	// The port number on which the DB cluster accepts connections.
14887	//
14888	// Constraints: Value must be 1150-65535
14889	//
14890	// Default: The same port as the original DB cluster.
14891	Port *int64 `type:"integer"`
14892
14893	// The daily time range during which automated backups are created if automated
14894	// backups are enabled, using the BackupRetentionPeriod parameter.
14895	//
14896	// The default is a 30-minute window selected at random from an 8-hour block
14897	// of time for each AWS Region.
14898	//
14899	// Constraints:
14900	//
14901	//    * Must be in the format hh24:mi-hh24:mi.
14902	//
14903	//    * Must be in Universal Coordinated Time (UTC).
14904	//
14905	//    * Must not conflict with the preferred maintenance window.
14906	//
14907	//    * Must be at least 30 minutes.
14908	PreferredBackupWindow *string `type:"string"`
14909
14910	// The weekly time range during which system maintenance can occur, in Universal
14911	// Coordinated Time (UTC).
14912	//
14913	// Format: ddd:hh24:mi-ddd:hh24:mi
14914	//
14915	// The default is a 30-minute window selected at random from an 8-hour block
14916	// of time for each AWS Region, occurring on a random day of the week.
14917	//
14918	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
14919	//
14920	// Constraints: Minimum 30-minute window.
14921	PreferredMaintenanceWindow *string `type:"string"`
14922
14923	// A list of VPC security groups that the DB cluster will belong to.
14924	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
14925}
14926
14927// String returns the string representation
14928func (s ModifyDBClusterInput) String() string {
14929	return awsutil.Prettify(s)
14930}
14931
14932// GoString returns the string representation
14933func (s ModifyDBClusterInput) GoString() string {
14934	return s.String()
14935}
14936
14937// Validate inspects the fields of the type to determine if they are valid.
14938func (s *ModifyDBClusterInput) Validate() error {
14939	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterInput"}
14940	if s.DBClusterIdentifier == nil {
14941		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
14942	}
14943
14944	if invalidParams.Len() > 0 {
14945		return invalidParams
14946	}
14947	return nil
14948}
14949
14950// SetApplyImmediately sets the ApplyImmediately field's value.
14951func (s *ModifyDBClusterInput) SetApplyImmediately(v bool) *ModifyDBClusterInput {
14952	s.ApplyImmediately = &v
14953	return s
14954}
14955
14956// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
14957func (s *ModifyDBClusterInput) SetBackupRetentionPeriod(v int64) *ModifyDBClusterInput {
14958	s.BackupRetentionPeriod = &v
14959	return s
14960}
14961
14962// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
14963func (s *ModifyDBClusterInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBClusterInput {
14964	s.CloudwatchLogsExportConfiguration = v
14965	return s
14966}
14967
14968// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
14969func (s *ModifyDBClusterInput) SetDBClusterIdentifier(v string) *ModifyDBClusterInput {
14970	s.DBClusterIdentifier = &v
14971	return s
14972}
14973
14974// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
14975func (s *ModifyDBClusterInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterInput {
14976	s.DBClusterParameterGroupName = &v
14977	return s
14978}
14979
14980// SetDeletionProtection sets the DeletionProtection field's value.
14981func (s *ModifyDBClusterInput) SetDeletionProtection(v bool) *ModifyDBClusterInput {
14982	s.DeletionProtection = &v
14983	return s
14984}
14985
14986// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
14987func (s *ModifyDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBClusterInput {
14988	s.EnableIAMDatabaseAuthentication = &v
14989	return s
14990}
14991
14992// SetEngineVersion sets the EngineVersion field's value.
14993func (s *ModifyDBClusterInput) SetEngineVersion(v string) *ModifyDBClusterInput {
14994	s.EngineVersion = &v
14995	return s
14996}
14997
14998// SetMasterUserPassword sets the MasterUserPassword field's value.
14999func (s *ModifyDBClusterInput) SetMasterUserPassword(v string) *ModifyDBClusterInput {
15000	s.MasterUserPassword = &v
15001	return s
15002}
15003
15004// SetNewDBClusterIdentifier sets the NewDBClusterIdentifier field's value.
15005func (s *ModifyDBClusterInput) SetNewDBClusterIdentifier(v string) *ModifyDBClusterInput {
15006	s.NewDBClusterIdentifier = &v
15007	return s
15008}
15009
15010// SetOptionGroupName sets the OptionGroupName field's value.
15011func (s *ModifyDBClusterInput) SetOptionGroupName(v string) *ModifyDBClusterInput {
15012	s.OptionGroupName = &v
15013	return s
15014}
15015
15016// SetPort sets the Port field's value.
15017func (s *ModifyDBClusterInput) SetPort(v int64) *ModifyDBClusterInput {
15018	s.Port = &v
15019	return s
15020}
15021
15022// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
15023func (s *ModifyDBClusterInput) SetPreferredBackupWindow(v string) *ModifyDBClusterInput {
15024	s.PreferredBackupWindow = &v
15025	return s
15026}
15027
15028// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
15029func (s *ModifyDBClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyDBClusterInput {
15030	s.PreferredMaintenanceWindow = &v
15031	return s
15032}
15033
15034// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
15035func (s *ModifyDBClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBClusterInput {
15036	s.VpcSecurityGroupIds = v
15037	return s
15038}
15039
15040type ModifyDBClusterOutput struct {
15041	_ struct{} `type:"structure"`
15042
15043	// Contains the details of an Amazon Neptune DB cluster.
15044	//
15045	// This data type is used as a response element in the DescribeDBClusters action.
15046	DBCluster *DBCluster `type:"structure"`
15047}
15048
15049// String returns the string representation
15050func (s ModifyDBClusterOutput) String() string {
15051	return awsutil.Prettify(s)
15052}
15053
15054// GoString returns the string representation
15055func (s ModifyDBClusterOutput) GoString() string {
15056	return s.String()
15057}
15058
15059// SetDBCluster sets the DBCluster field's value.
15060func (s *ModifyDBClusterOutput) SetDBCluster(v *DBCluster) *ModifyDBClusterOutput {
15061	s.DBCluster = v
15062	return s
15063}
15064
15065type ModifyDBClusterParameterGroupInput struct {
15066	_ struct{} `type:"structure"`
15067
15068	// The name of the DB cluster parameter group to modify.
15069	//
15070	// DBClusterParameterGroupName is a required field
15071	DBClusterParameterGroupName *string `type:"string" required:"true"`
15072
15073	// A list of parameters in the DB cluster parameter group to modify.
15074	//
15075	// Parameters is a required field
15076	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
15077}
15078
15079// String returns the string representation
15080func (s ModifyDBClusterParameterGroupInput) String() string {
15081	return awsutil.Prettify(s)
15082}
15083
15084// GoString returns the string representation
15085func (s ModifyDBClusterParameterGroupInput) GoString() string {
15086	return s.String()
15087}
15088
15089// Validate inspects the fields of the type to determine if they are valid.
15090func (s *ModifyDBClusterParameterGroupInput) Validate() error {
15091	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterParameterGroupInput"}
15092	if s.DBClusterParameterGroupName == nil {
15093		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
15094	}
15095	if s.Parameters == nil {
15096		invalidParams.Add(request.NewErrParamRequired("Parameters"))
15097	}
15098
15099	if invalidParams.Len() > 0 {
15100		return invalidParams
15101	}
15102	return nil
15103}
15104
15105// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
15106func (s *ModifyDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupInput {
15107	s.DBClusterParameterGroupName = &v
15108	return s
15109}
15110
15111// SetParameters sets the Parameters field's value.
15112func (s *ModifyDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBClusterParameterGroupInput {
15113	s.Parameters = v
15114	return s
15115}
15116
15117type ModifyDBClusterSnapshotAttributeInput struct {
15118	_ struct{} `type:"structure"`
15119
15120	// The name of the DB cluster snapshot attribute to modify.
15121	//
15122	// To manage authorization for other AWS accounts to copy or restore a manual
15123	// DB cluster snapshot, set this value to restore.
15124	//
15125	// AttributeName is a required field
15126	AttributeName *string `type:"string" required:"true"`
15127
15128	// The identifier for the DB cluster snapshot to modify the attributes for.
15129	//
15130	// DBClusterSnapshotIdentifier is a required field
15131	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
15132
15133	// A list of DB cluster snapshot attributes to add to the attribute specified
15134	// by AttributeName.
15135	//
15136	// To authorize other AWS accounts to copy or restore a manual DB cluster snapshot,
15137	// set this list to include one or more AWS account IDs, or all to make the
15138	// manual DB cluster snapshot restorable by any AWS account. Do not add the
15139	// all value for any manual DB cluster snapshots that contain private information
15140	// that you don't want available to all AWS accounts.
15141	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
15142
15143	// A list of DB cluster snapshot attributes to remove from the attribute specified
15144	// by AttributeName.
15145	//
15146	// To remove authorization for other AWS accounts to copy or restore a manual
15147	// DB cluster snapshot, set this list to include one or more AWS account identifiers,
15148	// or all to remove authorization for any AWS account to copy or restore the
15149	// DB cluster snapshot. If you specify all, an AWS account whose account ID
15150	// is explicitly added to the restore attribute can still copy or restore a
15151	// manual DB cluster snapshot.
15152	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
15153}
15154
15155// String returns the string representation
15156func (s ModifyDBClusterSnapshotAttributeInput) String() string {
15157	return awsutil.Prettify(s)
15158}
15159
15160// GoString returns the string representation
15161func (s ModifyDBClusterSnapshotAttributeInput) GoString() string {
15162	return s.String()
15163}
15164
15165// Validate inspects the fields of the type to determine if they are valid.
15166func (s *ModifyDBClusterSnapshotAttributeInput) Validate() error {
15167	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterSnapshotAttributeInput"}
15168	if s.AttributeName == nil {
15169		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
15170	}
15171	if s.DBClusterSnapshotIdentifier == nil {
15172		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
15173	}
15174
15175	if invalidParams.Len() > 0 {
15176		return invalidParams
15177	}
15178	return nil
15179}
15180
15181// SetAttributeName sets the AttributeName field's value.
15182func (s *ModifyDBClusterSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBClusterSnapshotAttributeInput {
15183	s.AttributeName = &v
15184	return s
15185}
15186
15187// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
15188func (s *ModifyDBClusterSnapshotAttributeInput) SetDBClusterSnapshotIdentifier(v string) *ModifyDBClusterSnapshotAttributeInput {
15189	s.DBClusterSnapshotIdentifier = &v
15190	return s
15191}
15192
15193// SetValuesToAdd sets the ValuesToAdd field's value.
15194func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBClusterSnapshotAttributeInput {
15195	s.ValuesToAdd = v
15196	return s
15197}
15198
15199// SetValuesToRemove sets the ValuesToRemove field's value.
15200func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBClusterSnapshotAttributeInput {
15201	s.ValuesToRemove = v
15202	return s
15203}
15204
15205type ModifyDBClusterSnapshotAttributeOutput struct {
15206	_ struct{} `type:"structure"`
15207
15208	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
15209	// API action.
15210	//
15211	// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
15212	// to copy or restore a manual DB cluster snapshot. For more information, see
15213	// the ModifyDBClusterSnapshotAttribute API action.
15214	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
15215}
15216
15217// String returns the string representation
15218func (s ModifyDBClusterSnapshotAttributeOutput) String() string {
15219	return awsutil.Prettify(s)
15220}
15221
15222// GoString returns the string representation
15223func (s ModifyDBClusterSnapshotAttributeOutput) GoString() string {
15224	return s.String()
15225}
15226
15227// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
15228func (s *ModifyDBClusterSnapshotAttributeOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *ModifyDBClusterSnapshotAttributeOutput {
15229	s.DBClusterSnapshotAttributesResult = v
15230	return s
15231}
15232
15233type ModifyDBInstanceInput struct {
15234	_ struct{} `type:"structure"`
15235
15236	// The new amount of storage (in gibibytes) to allocate for the DB instance.
15237	//
15238	// Not applicable. Storage is managed by the DB Cluster.
15239	AllocatedStorage *int64 `type:"integer"`
15240
15241	// Indicates that major version upgrades are allowed. Changing this parameter
15242	// doesn't result in an outage and the change is asynchronously applied as soon
15243	// as possible.
15244	AllowMajorVersionUpgrade *bool `type:"boolean"`
15245
15246	// Specifies whether the modifications in this request and any pending modifications
15247	// are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow
15248	// setting for the DB instance.
15249	//
15250	// If this parameter is set to false, changes to the DB instance are applied
15251	// during the next maintenance window. Some parameter changes can cause an outage
15252	// and are applied on the next call to RebootDBInstance, or the next failure
15253	// reboot.
15254	//
15255	// Default: false
15256	ApplyImmediately *bool `type:"boolean"`
15257
15258	// Indicates that minor version upgrades are applied automatically to the DB
15259	// instance during the maintenance window. Changing this parameter doesn't result
15260	// in an outage except in the following case and the change is asynchronously
15261	// applied as soon as possible. An outage will result if this parameter is set
15262	// to true during the maintenance window, and a newer minor version is available,
15263	// and Neptune has enabled auto patching for that engine version.
15264	AutoMinorVersionUpgrade *bool `type:"boolean"`
15265
15266	// Not applicable. The retention period for automated backups is managed by
15267	// the DB cluster. For more information, see ModifyDBCluster.
15268	//
15269	// Default: Uses existing setting
15270	BackupRetentionPeriod *int64 `type:"integer"`
15271
15272	// Indicates the certificate that needs to be associated with the instance.
15273	CACertificateIdentifier *string `type:"string"`
15274
15275	// The configuration setting for the log types to be enabled for export to CloudWatch
15276	// Logs for a specific DB instance or DB cluster.
15277	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
15278
15279	// True to copy all tags from the DB instance to snapshots of the DB instance,
15280	// and otherwise false. The default is false.
15281	CopyTagsToSnapshot *bool `type:"boolean"`
15282
15283	// The new compute and memory capacity of the DB instance, for example, db.m4.large.
15284	// Not all DB instance classes are available in all AWS Regions.
15285	//
15286	// If you modify the DB instance class, an outage occurs during the change.
15287	// The change is applied during the next maintenance window, unless ApplyImmediately
15288	// is specified as true for this request.
15289	//
15290	// Default: Uses existing setting
15291	DBInstanceClass *string `type:"string"`
15292
15293	// The DB instance identifier. This value is stored as a lowercase string.
15294	//
15295	// Constraints:
15296	//
15297	//    * Must match the identifier of an existing DBInstance.
15298	//
15299	// DBInstanceIdentifier is a required field
15300	DBInstanceIdentifier *string `type:"string" required:"true"`
15301
15302	// The name of the DB parameter group to apply to the DB instance. Changing
15303	// this setting doesn't result in an outage. The parameter group name itself
15304	// is changed immediately, but the actual parameter changes are not applied
15305	// until you reboot the instance without failover. The db instance will NOT
15306	// be rebooted automatically and the parameter changes will NOT be applied during
15307	// the next maintenance window.
15308	//
15309	// Default: Uses existing setting
15310	//
15311	// Constraints: The DB parameter group must be in the same DB parameter group
15312	// family as this DB instance.
15313	DBParameterGroupName *string `type:"string"`
15314
15315	// The port number on which the database accepts connections.
15316	//
15317	// The value of the DBPortNumber parameter must not match any of the port values
15318	// specified for options in the option group for the DB instance.
15319	//
15320	// Your database will restart when you change the DBPortNumber value regardless
15321	// of the value of the ApplyImmediately parameter.
15322	//
15323	// Default: 8182
15324	DBPortNumber *int64 `type:"integer"`
15325
15326	// A list of DB security groups to authorize on this DB instance. Changing this
15327	// setting doesn't result in an outage and the change is asynchronously applied
15328	// as soon as possible.
15329	//
15330	// Constraints:
15331	//
15332	//    * If supplied, must match existing DBSecurityGroups.
15333	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
15334
15335	// The new DB subnet group for the DB instance. You can use this parameter to
15336	// move your DB instance to a different VPC.
15337	//
15338	// Changing the subnet group causes an outage during the change. The change
15339	// is applied during the next maintenance window, unless you specify true for
15340	// the ApplyImmediately parameter.
15341	//
15342	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
15343	//
15344	// Example: mySubnetGroup
15345	DBSubnetGroupName *string `type:"string"`
15346
15347	// A value that indicates whether the DB instance has deletion protection enabled.
15348	// The database can't be deleted when deletion protection is enabled. By default,
15349	// deletion protection is disabled. See Deleting a DB Instance (https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html).
15350	DeletionProtection *bool `type:"boolean"`
15351
15352	// Not supported.
15353	Domain *string `type:"string"`
15354
15355	// Not supported
15356	DomainIAMRoleName *string `type:"string"`
15357
15358	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
15359	// to database accounts, and otherwise false.
15360	//
15361	// You can enable IAM database authentication for the following database engines
15362	//
15363	// Not applicable. Mapping AWS IAM accounts to database accounts is managed
15364	// by the DB cluster. For more information, see ModifyDBCluster.
15365	//
15366	// Default: false
15367	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
15368
15369	// (Not supported by Neptune)
15370	EnablePerformanceInsights *bool `type:"boolean"`
15371
15372	// The version number of the database engine to upgrade to. Currently, setting
15373	// this parameter has no effect. To upgrade your database engine to the most
15374	// recent release, use the ApplyPendingMaintenanceAction API.
15375	EngineVersion *string `type:"string"`
15376
15377	// The new Provisioned IOPS (I/O operations per second) value for the instance.
15378	//
15379	// Changing this setting doesn't result in an outage and the change is applied
15380	// during the next maintenance window unless the ApplyImmediately parameter
15381	// is set to true for this request.
15382	//
15383	// Default: Uses existing setting
15384	Iops *int64 `type:"integer"`
15385
15386	// Not supported.
15387	LicenseModel *string `type:"string"`
15388
15389	// Not applicable.
15390	MasterUserPassword *string `type:"string"`
15391
15392	// The interval, in seconds, between points when Enhanced Monitoring metrics
15393	// are collected for the DB instance. To disable collecting Enhanced Monitoring
15394	// metrics, specify 0. The default is 0.
15395	//
15396	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
15397	// to a value other than 0.
15398	//
15399	// Valid Values: 0, 1, 5, 10, 15, 30, 60
15400	MonitoringInterval *int64 `type:"integer"`
15401
15402	// The ARN for the IAM role that permits Neptune to send enhanced monitoring
15403	// metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
15404	//
15405	// If MonitoringInterval is set to a value other than 0, then you must supply
15406	// a MonitoringRoleArn value.
15407	MonitoringRoleArn *string `type:"string"`
15408
15409	// Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter
15410	// doesn't result in an outage and the change is applied during the next maintenance
15411	// window unless the ApplyImmediately parameter is set to true for this request.
15412	MultiAZ *bool `type:"boolean"`
15413
15414	// The new DB instance identifier for the DB instance when renaming a DB instance.
15415	// When you change the DB instance identifier, an instance reboot will occur
15416	// immediately if you set Apply Immediately to true, or will occur during the
15417	// next maintenance window if Apply Immediately to false. This value is stored
15418	// as a lowercase string.
15419	//
15420	// Constraints:
15421	//
15422	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
15423	//
15424	//    * The first character must be a letter.
15425	//
15426	//    * Cannot end with a hyphen or contain two consecutive hyphens.
15427	//
15428	// Example: mydbinstance
15429	NewDBInstanceIdentifier *string `type:"string"`
15430
15431	// (Not supported by Neptune)
15432	OptionGroupName *string `type:"string"`
15433
15434	// (Not supported by Neptune)
15435	PerformanceInsightsKMSKeyId *string `type:"string"`
15436
15437	// The daily time range during which automated backups are created if automated
15438	// backups are enabled.
15439	//
15440	// Not applicable. The daily time range for creating automated backups is managed
15441	// by the DB cluster. For more information, see ModifyDBCluster.
15442	//
15443	// Constraints:
15444	//
15445	//    * Must be in the format hh24:mi-hh24:mi
15446	//
15447	//    * Must be in Universal Time Coordinated (UTC)
15448	//
15449	//    * Must not conflict with the preferred maintenance window
15450	//
15451	//    * Must be at least 30 minutes
15452	PreferredBackupWindow *string `type:"string"`
15453
15454	// The weekly time range (in UTC) during which system maintenance can occur,
15455	// which might result in an outage. Changing this parameter doesn't result in
15456	// an outage, except in the following situation, and the change is asynchronously
15457	// applied as soon as possible. If there are pending actions that cause a reboot,
15458	// and the maintenance window is changed to include the current time, then changing
15459	// this parameter will cause a reboot of the DB instance. If moving this window
15460	// to the current time, there must be at least 30 minutes between the current
15461	// time and end of the window to ensure pending changes are applied.
15462	//
15463	// Default: Uses existing setting
15464	//
15465	// Format: ddd:hh24:mi-ddd:hh24:mi
15466	//
15467	// Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
15468	//
15469	// Constraints: Must be at least 30 minutes
15470	PreferredMaintenanceWindow *string `type:"string"`
15471
15472	// A value that specifies the order in which a Read Replica is promoted to the
15473	// primary instance after a failure of the existing primary instance.
15474	//
15475	// Default: 1
15476	//
15477	// Valid Values: 0 - 15
15478	PromotionTier *int64 `type:"integer"`
15479
15480	// This flag should no longer be used.
15481	//
15482	// Deprecated: PubliclyAccessible has been deprecated
15483	PubliclyAccessible *bool `deprecated:"true" type:"boolean"`
15484
15485	// Not supported.
15486	StorageType *string `type:"string"`
15487
15488	// The ARN from the key store with which to associate the instance for TDE encryption.
15489	TdeCredentialArn *string `type:"string"`
15490
15491	// The password for the given ARN from the key store in order to access the
15492	// device.
15493	TdeCredentialPassword *string `type:"string"`
15494
15495	// A list of EC2 VPC security groups to authorize on this DB instance. This
15496	// change is asynchronously applied as soon as possible.
15497	//
15498	// Not applicable. The associated list of EC2 VPC security groups is managed
15499	// by the DB cluster. For more information, see ModifyDBCluster.
15500	//
15501	// Constraints:
15502	//
15503	//    * If supplied, must match existing VpcSecurityGroupIds.
15504	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
15505}
15506
15507// String returns the string representation
15508func (s ModifyDBInstanceInput) String() string {
15509	return awsutil.Prettify(s)
15510}
15511
15512// GoString returns the string representation
15513func (s ModifyDBInstanceInput) GoString() string {
15514	return s.String()
15515}
15516
15517// Validate inspects the fields of the type to determine if they are valid.
15518func (s *ModifyDBInstanceInput) Validate() error {
15519	invalidParams := request.ErrInvalidParams{Context: "ModifyDBInstanceInput"}
15520	if s.DBInstanceIdentifier == nil {
15521		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
15522	}
15523
15524	if invalidParams.Len() > 0 {
15525		return invalidParams
15526	}
15527	return nil
15528}
15529
15530// SetAllocatedStorage sets the AllocatedStorage field's value.
15531func (s *ModifyDBInstanceInput) SetAllocatedStorage(v int64) *ModifyDBInstanceInput {
15532	s.AllocatedStorage = &v
15533	return s
15534}
15535
15536// SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
15537func (s *ModifyDBInstanceInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBInstanceInput {
15538	s.AllowMajorVersionUpgrade = &v
15539	return s
15540}
15541
15542// SetApplyImmediately sets the ApplyImmediately field's value.
15543func (s *ModifyDBInstanceInput) SetApplyImmediately(v bool) *ModifyDBInstanceInput {
15544	s.ApplyImmediately = &v
15545	return s
15546}
15547
15548// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
15549func (s *ModifyDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *ModifyDBInstanceInput {
15550	s.AutoMinorVersionUpgrade = &v
15551	return s
15552}
15553
15554// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
15555func (s *ModifyDBInstanceInput) SetBackupRetentionPeriod(v int64) *ModifyDBInstanceInput {
15556	s.BackupRetentionPeriod = &v
15557	return s
15558}
15559
15560// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
15561func (s *ModifyDBInstanceInput) SetCACertificateIdentifier(v string) *ModifyDBInstanceInput {
15562	s.CACertificateIdentifier = &v
15563	return s
15564}
15565
15566// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
15567func (s *ModifyDBInstanceInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBInstanceInput {
15568	s.CloudwatchLogsExportConfiguration = v
15569	return s
15570}
15571
15572// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
15573func (s *ModifyDBInstanceInput) SetCopyTagsToSnapshot(v bool) *ModifyDBInstanceInput {
15574	s.CopyTagsToSnapshot = &v
15575	return s
15576}
15577
15578// SetDBInstanceClass sets the DBInstanceClass field's value.
15579func (s *ModifyDBInstanceInput) SetDBInstanceClass(v string) *ModifyDBInstanceInput {
15580	s.DBInstanceClass = &v
15581	return s
15582}
15583
15584// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
15585func (s *ModifyDBInstanceInput) SetDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
15586	s.DBInstanceIdentifier = &v
15587	return s
15588}
15589
15590// SetDBParameterGroupName sets the DBParameterGroupName field's value.
15591func (s *ModifyDBInstanceInput) SetDBParameterGroupName(v string) *ModifyDBInstanceInput {
15592	s.DBParameterGroupName = &v
15593	return s
15594}
15595
15596// SetDBPortNumber sets the DBPortNumber field's value.
15597func (s *ModifyDBInstanceInput) SetDBPortNumber(v int64) *ModifyDBInstanceInput {
15598	s.DBPortNumber = &v
15599	return s
15600}
15601
15602// SetDBSecurityGroups sets the DBSecurityGroups field's value.
15603func (s *ModifyDBInstanceInput) SetDBSecurityGroups(v []*string) *ModifyDBInstanceInput {
15604	s.DBSecurityGroups = v
15605	return s
15606}
15607
15608// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
15609func (s *ModifyDBInstanceInput) SetDBSubnetGroupName(v string) *ModifyDBInstanceInput {
15610	s.DBSubnetGroupName = &v
15611	return s
15612}
15613
15614// SetDeletionProtection sets the DeletionProtection field's value.
15615func (s *ModifyDBInstanceInput) SetDeletionProtection(v bool) *ModifyDBInstanceInput {
15616	s.DeletionProtection = &v
15617	return s
15618}
15619
15620// SetDomain sets the Domain field's value.
15621func (s *ModifyDBInstanceInput) SetDomain(v string) *ModifyDBInstanceInput {
15622	s.Domain = &v
15623	return s
15624}
15625
15626// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
15627func (s *ModifyDBInstanceInput) SetDomainIAMRoleName(v string) *ModifyDBInstanceInput {
15628	s.DomainIAMRoleName = &v
15629	return s
15630}
15631
15632// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
15633func (s *ModifyDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBInstanceInput {
15634	s.EnableIAMDatabaseAuthentication = &v
15635	return s
15636}
15637
15638// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
15639func (s *ModifyDBInstanceInput) SetEnablePerformanceInsights(v bool) *ModifyDBInstanceInput {
15640	s.EnablePerformanceInsights = &v
15641	return s
15642}
15643
15644// SetEngineVersion sets the EngineVersion field's value.
15645func (s *ModifyDBInstanceInput) SetEngineVersion(v string) *ModifyDBInstanceInput {
15646	s.EngineVersion = &v
15647	return s
15648}
15649
15650// SetIops sets the Iops field's value.
15651func (s *ModifyDBInstanceInput) SetIops(v int64) *ModifyDBInstanceInput {
15652	s.Iops = &v
15653	return s
15654}
15655
15656// SetLicenseModel sets the LicenseModel field's value.
15657func (s *ModifyDBInstanceInput) SetLicenseModel(v string) *ModifyDBInstanceInput {
15658	s.LicenseModel = &v
15659	return s
15660}
15661
15662// SetMasterUserPassword sets the MasterUserPassword field's value.
15663func (s *ModifyDBInstanceInput) SetMasterUserPassword(v string) *ModifyDBInstanceInput {
15664	s.MasterUserPassword = &v
15665	return s
15666}
15667
15668// SetMonitoringInterval sets the MonitoringInterval field's value.
15669func (s *ModifyDBInstanceInput) SetMonitoringInterval(v int64) *ModifyDBInstanceInput {
15670	s.MonitoringInterval = &v
15671	return s
15672}
15673
15674// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
15675func (s *ModifyDBInstanceInput) SetMonitoringRoleArn(v string) *ModifyDBInstanceInput {
15676	s.MonitoringRoleArn = &v
15677	return s
15678}
15679
15680// SetMultiAZ sets the MultiAZ field's value.
15681func (s *ModifyDBInstanceInput) SetMultiAZ(v bool) *ModifyDBInstanceInput {
15682	s.MultiAZ = &v
15683	return s
15684}
15685
15686// SetNewDBInstanceIdentifier sets the NewDBInstanceIdentifier field's value.
15687func (s *ModifyDBInstanceInput) SetNewDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
15688	s.NewDBInstanceIdentifier = &v
15689	return s
15690}
15691
15692// SetOptionGroupName sets the OptionGroupName field's value.
15693func (s *ModifyDBInstanceInput) SetOptionGroupName(v string) *ModifyDBInstanceInput {
15694	s.OptionGroupName = &v
15695	return s
15696}
15697
15698// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
15699func (s *ModifyDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *ModifyDBInstanceInput {
15700	s.PerformanceInsightsKMSKeyId = &v
15701	return s
15702}
15703
15704// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
15705func (s *ModifyDBInstanceInput) SetPreferredBackupWindow(v string) *ModifyDBInstanceInput {
15706	s.PreferredBackupWindow = &v
15707	return s
15708}
15709
15710// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
15711func (s *ModifyDBInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyDBInstanceInput {
15712	s.PreferredMaintenanceWindow = &v
15713	return s
15714}
15715
15716// SetPromotionTier sets the PromotionTier field's value.
15717func (s *ModifyDBInstanceInput) SetPromotionTier(v int64) *ModifyDBInstanceInput {
15718	s.PromotionTier = &v
15719	return s
15720}
15721
15722// SetPubliclyAccessible sets the PubliclyAccessible field's value.
15723func (s *ModifyDBInstanceInput) SetPubliclyAccessible(v bool) *ModifyDBInstanceInput {
15724	s.PubliclyAccessible = &v
15725	return s
15726}
15727
15728// SetStorageType sets the StorageType field's value.
15729func (s *ModifyDBInstanceInput) SetStorageType(v string) *ModifyDBInstanceInput {
15730	s.StorageType = &v
15731	return s
15732}
15733
15734// SetTdeCredentialArn sets the TdeCredentialArn field's value.
15735func (s *ModifyDBInstanceInput) SetTdeCredentialArn(v string) *ModifyDBInstanceInput {
15736	s.TdeCredentialArn = &v
15737	return s
15738}
15739
15740// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
15741func (s *ModifyDBInstanceInput) SetTdeCredentialPassword(v string) *ModifyDBInstanceInput {
15742	s.TdeCredentialPassword = &v
15743	return s
15744}
15745
15746// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
15747func (s *ModifyDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBInstanceInput {
15748	s.VpcSecurityGroupIds = v
15749	return s
15750}
15751
15752type ModifyDBInstanceOutput struct {
15753	_ struct{} `type:"structure"`
15754
15755	// Contains the details of an Amazon Neptune DB instance.
15756	//
15757	// This data type is used as a response element in the DescribeDBInstances action.
15758	DBInstance *DBInstance `type:"structure"`
15759}
15760
15761// String returns the string representation
15762func (s ModifyDBInstanceOutput) String() string {
15763	return awsutil.Prettify(s)
15764}
15765
15766// GoString returns the string representation
15767func (s ModifyDBInstanceOutput) GoString() string {
15768	return s.String()
15769}
15770
15771// SetDBInstance sets the DBInstance field's value.
15772func (s *ModifyDBInstanceOutput) SetDBInstance(v *DBInstance) *ModifyDBInstanceOutput {
15773	s.DBInstance = v
15774	return s
15775}
15776
15777type ModifyDBParameterGroupInput struct {
15778	_ struct{} `type:"structure"`
15779
15780	// The name of the DB parameter group.
15781	//
15782	// Constraints:
15783	//
15784	//    * If supplied, must match the name of an existing DBParameterGroup.
15785	//
15786	// DBParameterGroupName is a required field
15787	DBParameterGroupName *string `type:"string" required:"true"`
15788
15789	// An array of parameter names, values, and the apply method for the parameter
15790	// update. At least one parameter name, value, and apply method must be supplied;
15791	// subsequent arguments are optional. A maximum of 20 parameters can be modified
15792	// in a single request.
15793	//
15794	// Valid Values (for the application method): immediate | pending-reboot
15795	//
15796	// You can use the immediate value with dynamic parameters only. You can use
15797	// the pending-reboot value for both dynamic and static parameters, and changes
15798	// are applied when you reboot the DB instance without failover.
15799	//
15800	// Parameters is a required field
15801	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
15802}
15803
15804// String returns the string representation
15805func (s ModifyDBParameterGroupInput) String() string {
15806	return awsutil.Prettify(s)
15807}
15808
15809// GoString returns the string representation
15810func (s ModifyDBParameterGroupInput) GoString() string {
15811	return s.String()
15812}
15813
15814// Validate inspects the fields of the type to determine if they are valid.
15815func (s *ModifyDBParameterGroupInput) Validate() error {
15816	invalidParams := request.ErrInvalidParams{Context: "ModifyDBParameterGroupInput"}
15817	if s.DBParameterGroupName == nil {
15818		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
15819	}
15820	if s.Parameters == nil {
15821		invalidParams.Add(request.NewErrParamRequired("Parameters"))
15822	}
15823
15824	if invalidParams.Len() > 0 {
15825		return invalidParams
15826	}
15827	return nil
15828}
15829
15830// SetDBParameterGroupName sets the DBParameterGroupName field's value.
15831func (s *ModifyDBParameterGroupInput) SetDBParameterGroupName(v string) *ModifyDBParameterGroupInput {
15832	s.DBParameterGroupName = &v
15833	return s
15834}
15835
15836// SetParameters sets the Parameters field's value.
15837func (s *ModifyDBParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBParameterGroupInput {
15838	s.Parameters = v
15839	return s
15840}
15841
15842type ModifyDBSubnetGroupInput struct {
15843	_ struct{} `type:"structure"`
15844
15845	// The description for the DB subnet group.
15846	DBSubnetGroupDescription *string `type:"string"`
15847
15848	// The name for the DB subnet group. This value is stored as a lowercase string.
15849	// You can't modify the default subnet group.
15850	//
15851	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
15852	// default.
15853	//
15854	// Example: mySubnetgroup
15855	//
15856	// DBSubnetGroupName is a required field
15857	DBSubnetGroupName *string `type:"string" required:"true"`
15858
15859	// The EC2 subnet IDs for the DB subnet group.
15860	//
15861	// SubnetIds is a required field
15862	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
15863}
15864
15865// String returns the string representation
15866func (s ModifyDBSubnetGroupInput) String() string {
15867	return awsutil.Prettify(s)
15868}
15869
15870// GoString returns the string representation
15871func (s ModifyDBSubnetGroupInput) GoString() string {
15872	return s.String()
15873}
15874
15875// Validate inspects the fields of the type to determine if they are valid.
15876func (s *ModifyDBSubnetGroupInput) Validate() error {
15877	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSubnetGroupInput"}
15878	if s.DBSubnetGroupName == nil {
15879		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
15880	}
15881	if s.SubnetIds == nil {
15882		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
15883	}
15884
15885	if invalidParams.Len() > 0 {
15886		return invalidParams
15887	}
15888	return nil
15889}
15890
15891// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
15892func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *ModifyDBSubnetGroupInput {
15893	s.DBSubnetGroupDescription = &v
15894	return s
15895}
15896
15897// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
15898func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupName(v string) *ModifyDBSubnetGroupInput {
15899	s.DBSubnetGroupName = &v
15900	return s
15901}
15902
15903// SetSubnetIds sets the SubnetIds field's value.
15904func (s *ModifyDBSubnetGroupInput) SetSubnetIds(v []*string) *ModifyDBSubnetGroupInput {
15905	s.SubnetIds = v
15906	return s
15907}
15908
15909type ModifyDBSubnetGroupOutput struct {
15910	_ struct{} `type:"structure"`
15911
15912	// Contains the details of an Amazon Neptune DB subnet group.
15913	//
15914	// This data type is used as a response element in the DescribeDBSubnetGroups
15915	// action.
15916	DBSubnetGroup *DBSubnetGroup `type:"structure"`
15917}
15918
15919// String returns the string representation
15920func (s ModifyDBSubnetGroupOutput) String() string {
15921	return awsutil.Prettify(s)
15922}
15923
15924// GoString returns the string representation
15925func (s ModifyDBSubnetGroupOutput) GoString() string {
15926	return s.String()
15927}
15928
15929// SetDBSubnetGroup sets the DBSubnetGroup field's value.
15930func (s *ModifyDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *ModifyDBSubnetGroupOutput {
15931	s.DBSubnetGroup = v
15932	return s
15933}
15934
15935type ModifyEventSubscriptionInput struct {
15936	_ struct{} `type:"structure"`
15937
15938	// A Boolean value; set to true to activate the subscription.
15939	Enabled *bool `type:"boolean"`
15940
15941	// A list of event categories for a SourceType that you want to subscribe to.
15942	// You can see a list of the categories for a given SourceType by using the
15943	// DescribeEventCategories action.
15944	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
15945
15946	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
15947	// The ARN is created by Amazon SNS when you create a topic and subscribe to
15948	// it.
15949	SnsTopicArn *string `type:"string"`
15950
15951	// The type of source that is generating the events. For example, if you want
15952	// to be notified of events generated by a DB instance, you would set this parameter
15953	// to db-instance. if this value is not specified, all events are returned.
15954	//
15955	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
15956	SourceType *string `type:"string"`
15957
15958	// The name of the event notification subscription.
15959	//
15960	// SubscriptionName is a required field
15961	SubscriptionName *string `type:"string" required:"true"`
15962}
15963
15964// String returns the string representation
15965func (s ModifyEventSubscriptionInput) String() string {
15966	return awsutil.Prettify(s)
15967}
15968
15969// GoString returns the string representation
15970func (s ModifyEventSubscriptionInput) GoString() string {
15971	return s.String()
15972}
15973
15974// Validate inspects the fields of the type to determine if they are valid.
15975func (s *ModifyEventSubscriptionInput) Validate() error {
15976	invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"}
15977	if s.SubscriptionName == nil {
15978		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
15979	}
15980
15981	if invalidParams.Len() > 0 {
15982		return invalidParams
15983	}
15984	return nil
15985}
15986
15987// SetEnabled sets the Enabled field's value.
15988func (s *ModifyEventSubscriptionInput) SetEnabled(v bool) *ModifyEventSubscriptionInput {
15989	s.Enabled = &v
15990	return s
15991}
15992
15993// SetEventCategories sets the EventCategories field's value.
15994func (s *ModifyEventSubscriptionInput) SetEventCategories(v []*string) *ModifyEventSubscriptionInput {
15995	s.EventCategories = v
15996	return s
15997}
15998
15999// SetSnsTopicArn sets the SnsTopicArn field's value.
16000func (s *ModifyEventSubscriptionInput) SetSnsTopicArn(v string) *ModifyEventSubscriptionInput {
16001	s.SnsTopicArn = &v
16002	return s
16003}
16004
16005// SetSourceType sets the SourceType field's value.
16006func (s *ModifyEventSubscriptionInput) SetSourceType(v string) *ModifyEventSubscriptionInput {
16007	s.SourceType = &v
16008	return s
16009}
16010
16011// SetSubscriptionName sets the SubscriptionName field's value.
16012func (s *ModifyEventSubscriptionInput) SetSubscriptionName(v string) *ModifyEventSubscriptionInput {
16013	s.SubscriptionName = &v
16014	return s
16015}
16016
16017type ModifyEventSubscriptionOutput struct {
16018	_ struct{} `type:"structure"`
16019
16020	// Contains the results of a successful invocation of the DescribeEventSubscriptions
16021	// action.
16022	EventSubscription *EventSubscription `type:"structure"`
16023}
16024
16025// String returns the string representation
16026func (s ModifyEventSubscriptionOutput) String() string {
16027	return awsutil.Prettify(s)
16028}
16029
16030// GoString returns the string representation
16031func (s ModifyEventSubscriptionOutput) GoString() string {
16032	return s.String()
16033}
16034
16035// SetEventSubscription sets the EventSubscription field's value.
16036func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *ModifyEventSubscriptionOutput {
16037	s.EventSubscription = v
16038	return s
16039}
16040
16041// Provides information on the option groups the DB instance is a member of.
16042type OptionGroupMembership struct {
16043	_ struct{} `type:"structure"`
16044
16045	// The name of the option group that the instance belongs to.
16046	OptionGroupName *string `type:"string"`
16047
16048	// The status of the DB instance's option group membership. Valid values are:
16049	// in-sync, pending-apply, pending-removal, pending-maintenance-apply, pending-maintenance-removal,
16050	// applying, removing, and failed.
16051	Status *string `type:"string"`
16052}
16053
16054// String returns the string representation
16055func (s OptionGroupMembership) String() string {
16056	return awsutil.Prettify(s)
16057}
16058
16059// GoString returns the string representation
16060func (s OptionGroupMembership) GoString() string {
16061	return s.String()
16062}
16063
16064// SetOptionGroupName sets the OptionGroupName field's value.
16065func (s *OptionGroupMembership) SetOptionGroupName(v string) *OptionGroupMembership {
16066	s.OptionGroupName = &v
16067	return s
16068}
16069
16070// SetStatus sets the Status field's value.
16071func (s *OptionGroupMembership) SetStatus(v string) *OptionGroupMembership {
16072	s.Status = &v
16073	return s
16074}
16075
16076// Contains a list of available options for a DB instance.
16077//
16078// This data type is used as a response element in the DescribeOrderableDBInstanceOptions
16079// action.
16080type OrderableDBInstanceOption struct {
16081	_ struct{} `type:"structure"`
16082
16083	// A list of Availability Zones for a DB instance.
16084	AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"`
16085
16086	// The DB instance class for a DB instance.
16087	DBInstanceClass *string `type:"string"`
16088
16089	// The engine type of a DB instance.
16090	Engine *string `type:"string"`
16091
16092	// The engine version of a DB instance.
16093	EngineVersion *string `type:"string"`
16094
16095	// The license model for a DB instance.
16096	LicenseModel *string `type:"string"`
16097
16098	// Maximum total provisioned IOPS for a DB instance.
16099	MaxIopsPerDbInstance *int64 `type:"integer"`
16100
16101	// Maximum provisioned IOPS per GiB for a DB instance.
16102	MaxIopsPerGib *float64 `type:"double"`
16103
16104	// Maximum storage size for a DB instance.
16105	MaxStorageSize *int64 `type:"integer"`
16106
16107	// Minimum total provisioned IOPS for a DB instance.
16108	MinIopsPerDbInstance *int64 `type:"integer"`
16109
16110	// Minimum provisioned IOPS per GiB for a DB instance.
16111	MinIopsPerGib *float64 `type:"double"`
16112
16113	// Minimum storage size for a DB instance.
16114	MinStorageSize *int64 `type:"integer"`
16115
16116	// Indicates whether a DB instance is Multi-AZ capable.
16117	MultiAZCapable *bool `type:"boolean"`
16118
16119	// Indicates whether a DB instance can have a Read Replica.
16120	ReadReplicaCapable *bool `type:"boolean"`
16121
16122	// Indicates the storage type for a DB instance.
16123	StorageType *string `type:"string"`
16124
16125	// Indicates whether a DB instance supports Enhanced Monitoring at intervals
16126	// from 1 to 60 seconds.
16127	SupportsEnhancedMonitoring *bool `type:"boolean"`
16128
16129	// Indicates whether a DB instance supports IAM database authentication.
16130	SupportsIAMDatabaseAuthentication *bool `type:"boolean"`
16131
16132	// Indicates whether a DB instance supports provisioned IOPS.
16133	SupportsIops *bool `type:"boolean"`
16134
16135	// (Not supported by Neptune)
16136	SupportsPerformanceInsights *bool `type:"boolean"`
16137
16138	// Indicates whether a DB instance supports encrypted storage.
16139	SupportsStorageEncryption *bool `type:"boolean"`
16140
16141	// Indicates whether a DB instance is in a VPC.
16142	Vpc *bool `type:"boolean"`
16143}
16144
16145// String returns the string representation
16146func (s OrderableDBInstanceOption) String() string {
16147	return awsutil.Prettify(s)
16148}
16149
16150// GoString returns the string representation
16151func (s OrderableDBInstanceOption) GoString() string {
16152	return s.String()
16153}
16154
16155// SetAvailabilityZones sets the AvailabilityZones field's value.
16156func (s *OrderableDBInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableDBInstanceOption {
16157	s.AvailabilityZones = v
16158	return s
16159}
16160
16161// SetDBInstanceClass sets the DBInstanceClass field's value.
16162func (s *OrderableDBInstanceOption) SetDBInstanceClass(v string) *OrderableDBInstanceOption {
16163	s.DBInstanceClass = &v
16164	return s
16165}
16166
16167// SetEngine sets the Engine field's value.
16168func (s *OrderableDBInstanceOption) SetEngine(v string) *OrderableDBInstanceOption {
16169	s.Engine = &v
16170	return s
16171}
16172
16173// SetEngineVersion sets the EngineVersion field's value.
16174func (s *OrderableDBInstanceOption) SetEngineVersion(v string) *OrderableDBInstanceOption {
16175	s.EngineVersion = &v
16176	return s
16177}
16178
16179// SetLicenseModel sets the LicenseModel field's value.
16180func (s *OrderableDBInstanceOption) SetLicenseModel(v string) *OrderableDBInstanceOption {
16181	s.LicenseModel = &v
16182	return s
16183}
16184
16185// SetMaxIopsPerDbInstance sets the MaxIopsPerDbInstance field's value.
16186func (s *OrderableDBInstanceOption) SetMaxIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
16187	s.MaxIopsPerDbInstance = &v
16188	return s
16189}
16190
16191// SetMaxIopsPerGib sets the MaxIopsPerGib field's value.
16192func (s *OrderableDBInstanceOption) SetMaxIopsPerGib(v float64) *OrderableDBInstanceOption {
16193	s.MaxIopsPerGib = &v
16194	return s
16195}
16196
16197// SetMaxStorageSize sets the MaxStorageSize field's value.
16198func (s *OrderableDBInstanceOption) SetMaxStorageSize(v int64) *OrderableDBInstanceOption {
16199	s.MaxStorageSize = &v
16200	return s
16201}
16202
16203// SetMinIopsPerDbInstance sets the MinIopsPerDbInstance field's value.
16204func (s *OrderableDBInstanceOption) SetMinIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
16205	s.MinIopsPerDbInstance = &v
16206	return s
16207}
16208
16209// SetMinIopsPerGib sets the MinIopsPerGib field's value.
16210func (s *OrderableDBInstanceOption) SetMinIopsPerGib(v float64) *OrderableDBInstanceOption {
16211	s.MinIopsPerGib = &v
16212	return s
16213}
16214
16215// SetMinStorageSize sets the MinStorageSize field's value.
16216func (s *OrderableDBInstanceOption) SetMinStorageSize(v int64) *OrderableDBInstanceOption {
16217	s.MinStorageSize = &v
16218	return s
16219}
16220
16221// SetMultiAZCapable sets the MultiAZCapable field's value.
16222func (s *OrderableDBInstanceOption) SetMultiAZCapable(v bool) *OrderableDBInstanceOption {
16223	s.MultiAZCapable = &v
16224	return s
16225}
16226
16227// SetReadReplicaCapable sets the ReadReplicaCapable field's value.
16228func (s *OrderableDBInstanceOption) SetReadReplicaCapable(v bool) *OrderableDBInstanceOption {
16229	s.ReadReplicaCapable = &v
16230	return s
16231}
16232
16233// SetStorageType sets the StorageType field's value.
16234func (s *OrderableDBInstanceOption) SetStorageType(v string) *OrderableDBInstanceOption {
16235	s.StorageType = &v
16236	return s
16237}
16238
16239// SetSupportsEnhancedMonitoring sets the SupportsEnhancedMonitoring field's value.
16240func (s *OrderableDBInstanceOption) SetSupportsEnhancedMonitoring(v bool) *OrderableDBInstanceOption {
16241	s.SupportsEnhancedMonitoring = &v
16242	return s
16243}
16244
16245// SetSupportsIAMDatabaseAuthentication sets the SupportsIAMDatabaseAuthentication field's value.
16246func (s *OrderableDBInstanceOption) SetSupportsIAMDatabaseAuthentication(v bool) *OrderableDBInstanceOption {
16247	s.SupportsIAMDatabaseAuthentication = &v
16248	return s
16249}
16250
16251// SetSupportsIops sets the SupportsIops field's value.
16252func (s *OrderableDBInstanceOption) SetSupportsIops(v bool) *OrderableDBInstanceOption {
16253	s.SupportsIops = &v
16254	return s
16255}
16256
16257// SetSupportsPerformanceInsights sets the SupportsPerformanceInsights field's value.
16258func (s *OrderableDBInstanceOption) SetSupportsPerformanceInsights(v bool) *OrderableDBInstanceOption {
16259	s.SupportsPerformanceInsights = &v
16260	return s
16261}
16262
16263// SetSupportsStorageEncryption sets the SupportsStorageEncryption field's value.
16264func (s *OrderableDBInstanceOption) SetSupportsStorageEncryption(v bool) *OrderableDBInstanceOption {
16265	s.SupportsStorageEncryption = &v
16266	return s
16267}
16268
16269// SetVpc sets the Vpc field's value.
16270func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption {
16271	s.Vpc = &v
16272	return s
16273}
16274
16275// Specifies a parameter.
16276type Parameter struct {
16277	_ struct{} `type:"structure"`
16278
16279	// Specifies the valid range of values for the parameter.
16280	AllowedValues *string `type:"string"`
16281
16282	// Indicates when to apply parameter updates.
16283	ApplyMethod *string `type:"string" enum:"ApplyMethod"`
16284
16285	// Specifies the engine specific parameters type.
16286	ApplyType *string `type:"string"`
16287
16288	// Specifies the valid data type for the parameter.
16289	DataType *string `type:"string"`
16290
16291	// Provides a description of the parameter.
16292	Description *string `type:"string"`
16293
16294	// Indicates whether (true) or not (false) the parameter can be modified. Some
16295	// parameters have security or operational implications that prevent them from
16296	// being changed.
16297	IsModifiable *bool `type:"boolean"`
16298
16299	// The earliest engine version to which the parameter can apply.
16300	MinimumEngineVersion *string `type:"string"`
16301
16302	// Specifies the name of the parameter.
16303	ParameterName *string `type:"string"`
16304
16305	// Specifies the value of the parameter.
16306	ParameterValue *string `type:"string"`
16307
16308	// Indicates the source of the parameter value.
16309	Source *string `type:"string"`
16310}
16311
16312// String returns the string representation
16313func (s Parameter) String() string {
16314	return awsutil.Prettify(s)
16315}
16316
16317// GoString returns the string representation
16318func (s Parameter) GoString() string {
16319	return s.String()
16320}
16321
16322// SetAllowedValues sets the AllowedValues field's value.
16323func (s *Parameter) SetAllowedValues(v string) *Parameter {
16324	s.AllowedValues = &v
16325	return s
16326}
16327
16328// SetApplyMethod sets the ApplyMethod field's value.
16329func (s *Parameter) SetApplyMethod(v string) *Parameter {
16330	s.ApplyMethod = &v
16331	return s
16332}
16333
16334// SetApplyType sets the ApplyType field's value.
16335func (s *Parameter) SetApplyType(v string) *Parameter {
16336	s.ApplyType = &v
16337	return s
16338}
16339
16340// SetDataType sets the DataType field's value.
16341func (s *Parameter) SetDataType(v string) *Parameter {
16342	s.DataType = &v
16343	return s
16344}
16345
16346// SetDescription sets the Description field's value.
16347func (s *Parameter) SetDescription(v string) *Parameter {
16348	s.Description = &v
16349	return s
16350}
16351
16352// SetIsModifiable sets the IsModifiable field's value.
16353func (s *Parameter) SetIsModifiable(v bool) *Parameter {
16354	s.IsModifiable = &v
16355	return s
16356}
16357
16358// SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
16359func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter {
16360	s.MinimumEngineVersion = &v
16361	return s
16362}
16363
16364// SetParameterName sets the ParameterName field's value.
16365func (s *Parameter) SetParameterName(v string) *Parameter {
16366	s.ParameterName = &v
16367	return s
16368}
16369
16370// SetParameterValue sets the ParameterValue field's value.
16371func (s *Parameter) SetParameterValue(v string) *Parameter {
16372	s.ParameterValue = &v
16373	return s
16374}
16375
16376// SetSource sets the Source field's value.
16377func (s *Parameter) SetSource(v string) *Parameter {
16378	s.Source = &v
16379	return s
16380}
16381
16382// A list of the log types whose configuration is still pending. In other words,
16383// these log types are in the process of being activated or deactivated.
16384type PendingCloudwatchLogsExports struct {
16385	_ struct{} `type:"structure"`
16386
16387	// Log types that are in the process of being enabled. After they are enabled,
16388	// these log types are exported to CloudWatch Logs.
16389	LogTypesToDisable []*string `type:"list"`
16390
16391	// Log types that are in the process of being deactivated. After they are deactivated,
16392	// these log types aren't exported to CloudWatch Logs.
16393	LogTypesToEnable []*string `type:"list"`
16394}
16395
16396// String returns the string representation
16397func (s PendingCloudwatchLogsExports) String() string {
16398	return awsutil.Prettify(s)
16399}
16400
16401// GoString returns the string representation
16402func (s PendingCloudwatchLogsExports) GoString() string {
16403	return s.String()
16404}
16405
16406// SetLogTypesToDisable sets the LogTypesToDisable field's value.
16407func (s *PendingCloudwatchLogsExports) SetLogTypesToDisable(v []*string) *PendingCloudwatchLogsExports {
16408	s.LogTypesToDisable = v
16409	return s
16410}
16411
16412// SetLogTypesToEnable sets the LogTypesToEnable field's value.
16413func (s *PendingCloudwatchLogsExports) SetLogTypesToEnable(v []*string) *PendingCloudwatchLogsExports {
16414	s.LogTypesToEnable = v
16415	return s
16416}
16417
16418// Provides information about a pending maintenance action for a resource.
16419type PendingMaintenanceAction struct {
16420	_ struct{} `type:"structure"`
16421
16422	// The type of pending maintenance action that is available for the resource.
16423	Action *string `type:"string"`
16424
16425	// The date of the maintenance window when the action is applied. The maintenance
16426	// action is applied to the resource during its first maintenance window after
16427	// this date. If this date is specified, any next-maintenance opt-in requests
16428	// are ignored.
16429	AutoAppliedAfterDate *time.Time `type:"timestamp"`
16430
16431	// The effective date when the pending maintenance action is applied to the
16432	// resource. This date takes into account opt-in requests received from the
16433	// ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate.
16434	// This value is blank if an opt-in request has not been received and nothing
16435	// has been specified as AutoAppliedAfterDate or ForcedApplyDate.
16436	CurrentApplyDate *time.Time `type:"timestamp"`
16437
16438	// A description providing more detail about the maintenance action.
16439	Description *string `type:"string"`
16440
16441	// The date when the maintenance action is automatically applied. The maintenance
16442	// action is applied to the resource on this date regardless of the maintenance
16443	// window for the resource. If this date is specified, any immediate opt-in
16444	// requests are ignored.
16445	ForcedApplyDate *time.Time `type:"timestamp"`
16446
16447	// Indicates the type of opt-in request that has been received for the resource.
16448	OptInStatus *string `type:"string"`
16449}
16450
16451// String returns the string representation
16452func (s PendingMaintenanceAction) String() string {
16453	return awsutil.Prettify(s)
16454}
16455
16456// GoString returns the string representation
16457func (s PendingMaintenanceAction) GoString() string {
16458	return s.String()
16459}
16460
16461// SetAction sets the Action field's value.
16462func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
16463	s.Action = &v
16464	return s
16465}
16466
16467// SetAutoAppliedAfterDate sets the AutoAppliedAfterDate field's value.
16468func (s *PendingMaintenanceAction) SetAutoAppliedAfterDate(v time.Time) *PendingMaintenanceAction {
16469	s.AutoAppliedAfterDate = &v
16470	return s
16471}
16472
16473// SetCurrentApplyDate sets the CurrentApplyDate field's value.
16474func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
16475	s.CurrentApplyDate = &v
16476	return s
16477}
16478
16479// SetDescription sets the Description field's value.
16480func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
16481	s.Description = &v
16482	return s
16483}
16484
16485// SetForcedApplyDate sets the ForcedApplyDate field's value.
16486func (s *PendingMaintenanceAction) SetForcedApplyDate(v time.Time) *PendingMaintenanceAction {
16487	s.ForcedApplyDate = &v
16488	return s
16489}
16490
16491// SetOptInStatus sets the OptInStatus field's value.
16492func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceAction {
16493	s.OptInStatus = &v
16494	return s
16495}
16496
16497// This data type is used as a response element in the ModifyDBInstance action.
16498type PendingModifiedValues struct {
16499	_ struct{} `type:"structure"`
16500
16501	// Contains the new AllocatedStorage size for the DB instance that will be applied
16502	// or is currently being applied.
16503	AllocatedStorage *int64 `type:"integer"`
16504
16505	// Specifies the pending number of days for which automated backups are retained.
16506	BackupRetentionPeriod *int64 `type:"integer"`
16507
16508	// Specifies the identifier of the CA certificate for the DB instance.
16509	CACertificateIdentifier *string `type:"string"`
16510
16511	// Contains the new DBInstanceClass for the DB instance that will be applied
16512	// or is currently being applied.
16513	DBInstanceClass *string `type:"string"`
16514
16515	// Contains the new DBInstanceIdentifier for the DB instance that will be applied
16516	// or is currently being applied.
16517	DBInstanceIdentifier *string `type:"string"`
16518
16519	// The new DB subnet group for the DB instance.
16520	DBSubnetGroupName *string `type:"string"`
16521
16522	// Indicates the database engine version.
16523	EngineVersion *string `type:"string"`
16524
16525	// Specifies the new Provisioned IOPS value for the DB instance that will be
16526	// applied or is currently being applied.
16527	Iops *int64 `type:"integer"`
16528
16529	// The license model for the DB instance.
16530	//
16531	// Valid values: license-included | bring-your-own-license | general-public-license
16532	LicenseModel *string `type:"string"`
16533
16534	// Contains the pending or currently-in-progress change of the master credentials
16535	// for the DB instance.
16536	MasterUserPassword *string `type:"string"`
16537
16538	// Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.
16539	MultiAZ *bool `type:"boolean"`
16540
16541	// This PendingCloudwatchLogsExports structure specifies pending changes to
16542	// which CloudWatch logs are enabled and which are disabled.
16543	PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"`
16544
16545	// Specifies the pending port for the DB instance.
16546	Port *int64 `type:"integer"`
16547
16548	// Specifies the storage type to be associated with the DB instance.
16549	StorageType *string `type:"string"`
16550}
16551
16552// String returns the string representation
16553func (s PendingModifiedValues) String() string {
16554	return awsutil.Prettify(s)
16555}
16556
16557// GoString returns the string representation
16558func (s PendingModifiedValues) GoString() string {
16559	return s.String()
16560}
16561
16562// SetAllocatedStorage sets the AllocatedStorage field's value.
16563func (s *PendingModifiedValues) SetAllocatedStorage(v int64) *PendingModifiedValues {
16564	s.AllocatedStorage = &v
16565	return s
16566}
16567
16568// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
16569func (s *PendingModifiedValues) SetBackupRetentionPeriod(v int64) *PendingModifiedValues {
16570	s.BackupRetentionPeriod = &v
16571	return s
16572}
16573
16574// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
16575func (s *PendingModifiedValues) SetCACertificateIdentifier(v string) *PendingModifiedValues {
16576	s.CACertificateIdentifier = &v
16577	return s
16578}
16579
16580// SetDBInstanceClass sets the DBInstanceClass field's value.
16581func (s *PendingModifiedValues) SetDBInstanceClass(v string) *PendingModifiedValues {
16582	s.DBInstanceClass = &v
16583	return s
16584}
16585
16586// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
16587func (s *PendingModifiedValues) SetDBInstanceIdentifier(v string) *PendingModifiedValues {
16588	s.DBInstanceIdentifier = &v
16589	return s
16590}
16591
16592// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
16593func (s *PendingModifiedValues) SetDBSubnetGroupName(v string) *PendingModifiedValues {
16594	s.DBSubnetGroupName = &v
16595	return s
16596}
16597
16598// SetEngineVersion sets the EngineVersion field's value.
16599func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues {
16600	s.EngineVersion = &v
16601	return s
16602}
16603
16604// SetIops sets the Iops field's value.
16605func (s *PendingModifiedValues) SetIops(v int64) *PendingModifiedValues {
16606	s.Iops = &v
16607	return s
16608}
16609
16610// SetLicenseModel sets the LicenseModel field's value.
16611func (s *PendingModifiedValues) SetLicenseModel(v string) *PendingModifiedValues {
16612	s.LicenseModel = &v
16613	return s
16614}
16615
16616// SetMasterUserPassword sets the MasterUserPassword field's value.
16617func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues {
16618	s.MasterUserPassword = &v
16619	return s
16620}
16621
16622// SetMultiAZ sets the MultiAZ field's value.
16623func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues {
16624	s.MultiAZ = &v
16625	return s
16626}
16627
16628// SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value.
16629func (s *PendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *PendingModifiedValues {
16630	s.PendingCloudwatchLogsExports = v
16631	return s
16632}
16633
16634// SetPort sets the Port field's value.
16635func (s *PendingModifiedValues) SetPort(v int64) *PendingModifiedValues {
16636	s.Port = &v
16637	return s
16638}
16639
16640// SetStorageType sets the StorageType field's value.
16641func (s *PendingModifiedValues) SetStorageType(v string) *PendingModifiedValues {
16642	s.StorageType = &v
16643	return s
16644}
16645
16646type PromoteReadReplicaDBClusterInput struct {
16647	_ struct{} `type:"structure"`
16648
16649	// Not supported.
16650	//
16651	// DBClusterIdentifier is a required field
16652	DBClusterIdentifier *string `type:"string" required:"true"`
16653}
16654
16655// String returns the string representation
16656func (s PromoteReadReplicaDBClusterInput) String() string {
16657	return awsutil.Prettify(s)
16658}
16659
16660// GoString returns the string representation
16661func (s PromoteReadReplicaDBClusterInput) GoString() string {
16662	return s.String()
16663}
16664
16665// Validate inspects the fields of the type to determine if they are valid.
16666func (s *PromoteReadReplicaDBClusterInput) Validate() error {
16667	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaDBClusterInput"}
16668	if s.DBClusterIdentifier == nil {
16669		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
16670	}
16671
16672	if invalidParams.Len() > 0 {
16673		return invalidParams
16674	}
16675	return nil
16676}
16677
16678// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16679func (s *PromoteReadReplicaDBClusterInput) SetDBClusterIdentifier(v string) *PromoteReadReplicaDBClusterInput {
16680	s.DBClusterIdentifier = &v
16681	return s
16682}
16683
16684type PromoteReadReplicaDBClusterOutput struct {
16685	_ struct{} `type:"structure"`
16686
16687	// Contains the details of an Amazon Neptune DB cluster.
16688	//
16689	// This data type is used as a response element in the DescribeDBClusters action.
16690	DBCluster *DBCluster `type:"structure"`
16691}
16692
16693// String returns the string representation
16694func (s PromoteReadReplicaDBClusterOutput) String() string {
16695	return awsutil.Prettify(s)
16696}
16697
16698// GoString returns the string representation
16699func (s PromoteReadReplicaDBClusterOutput) GoString() string {
16700	return s.String()
16701}
16702
16703// SetDBCluster sets the DBCluster field's value.
16704func (s *PromoteReadReplicaDBClusterOutput) SetDBCluster(v *DBCluster) *PromoteReadReplicaDBClusterOutput {
16705	s.DBCluster = v
16706	return s
16707}
16708
16709// A range of integer values.
16710type Range struct {
16711	_ struct{} `type:"structure"`
16712
16713	// The minimum value in the range.
16714	From *int64 `type:"integer"`
16715
16716	// The step value for the range. For example, if you have a range of 5,000 to
16717	// 10,000, with a step value of 1,000, the valid values start at 5,000 and step
16718	// up by 1,000. Even though 7,500 is within the range, it isn't a valid value
16719	// for the range. The valid values are 5,000, 6,000, 7,000, 8,000...
16720	Step *int64 `type:"integer"`
16721
16722	// The maximum value in the range.
16723	To *int64 `type:"integer"`
16724}
16725
16726// String returns the string representation
16727func (s Range) String() string {
16728	return awsutil.Prettify(s)
16729}
16730
16731// GoString returns the string representation
16732func (s Range) GoString() string {
16733	return s.String()
16734}
16735
16736// SetFrom sets the From field's value.
16737func (s *Range) SetFrom(v int64) *Range {
16738	s.From = &v
16739	return s
16740}
16741
16742// SetStep sets the Step field's value.
16743func (s *Range) SetStep(v int64) *Range {
16744	s.Step = &v
16745	return s
16746}
16747
16748// SetTo sets the To field's value.
16749func (s *Range) SetTo(v int64) *Range {
16750	s.To = &v
16751	return s
16752}
16753
16754type RebootDBInstanceInput struct {
16755	_ struct{} `type:"structure"`
16756
16757	// The DB instance identifier. This parameter is stored as a lowercase string.
16758	//
16759	// Constraints:
16760	//
16761	//    * Must match the identifier of an existing DBInstance.
16762	//
16763	// DBInstanceIdentifier is a required field
16764	DBInstanceIdentifier *string `type:"string" required:"true"`
16765
16766	// When true, the reboot is conducted through a MultiAZ failover.
16767	//
16768	// Constraint: You can't specify true if the instance is not configured for
16769	// MultiAZ.
16770	ForceFailover *bool `type:"boolean"`
16771}
16772
16773// String returns the string representation
16774func (s RebootDBInstanceInput) String() string {
16775	return awsutil.Prettify(s)
16776}
16777
16778// GoString returns the string representation
16779func (s RebootDBInstanceInput) GoString() string {
16780	return s.String()
16781}
16782
16783// Validate inspects the fields of the type to determine if they are valid.
16784func (s *RebootDBInstanceInput) Validate() error {
16785	invalidParams := request.ErrInvalidParams{Context: "RebootDBInstanceInput"}
16786	if s.DBInstanceIdentifier == nil {
16787		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
16788	}
16789
16790	if invalidParams.Len() > 0 {
16791		return invalidParams
16792	}
16793	return nil
16794}
16795
16796// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
16797func (s *RebootDBInstanceInput) SetDBInstanceIdentifier(v string) *RebootDBInstanceInput {
16798	s.DBInstanceIdentifier = &v
16799	return s
16800}
16801
16802// SetForceFailover sets the ForceFailover field's value.
16803func (s *RebootDBInstanceInput) SetForceFailover(v bool) *RebootDBInstanceInput {
16804	s.ForceFailover = &v
16805	return s
16806}
16807
16808type RebootDBInstanceOutput struct {
16809	_ struct{} `type:"structure"`
16810
16811	// Contains the details of an Amazon Neptune DB instance.
16812	//
16813	// This data type is used as a response element in the DescribeDBInstances action.
16814	DBInstance *DBInstance `type:"structure"`
16815}
16816
16817// String returns the string representation
16818func (s RebootDBInstanceOutput) String() string {
16819	return awsutil.Prettify(s)
16820}
16821
16822// GoString returns the string representation
16823func (s RebootDBInstanceOutput) GoString() string {
16824	return s.String()
16825}
16826
16827// SetDBInstance sets the DBInstance field's value.
16828func (s *RebootDBInstanceOutput) SetDBInstance(v *DBInstance) *RebootDBInstanceOutput {
16829	s.DBInstance = v
16830	return s
16831}
16832
16833type RemoveRoleFromDBClusterInput struct {
16834	_ struct{} `type:"structure"`
16835
16836	// The name of the DB cluster to disassociate the IAM role from.
16837	//
16838	// DBClusterIdentifier is a required field
16839	DBClusterIdentifier *string `type:"string" required:"true"`
16840
16841	// The name of the feature for the DB cluster that the IAM role is to be disassociated
16842	// from. For the list of supported feature names, see DBEngineVersion.
16843	FeatureName *string `type:"string"`
16844
16845	// The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB
16846	// cluster, for example arn:aws:iam::123456789012:role/NeptuneAccessRole.
16847	//
16848	// RoleArn is a required field
16849	RoleArn *string `type:"string" required:"true"`
16850}
16851
16852// String returns the string representation
16853func (s RemoveRoleFromDBClusterInput) String() string {
16854	return awsutil.Prettify(s)
16855}
16856
16857// GoString returns the string representation
16858func (s RemoveRoleFromDBClusterInput) GoString() string {
16859	return s.String()
16860}
16861
16862// Validate inspects the fields of the type to determine if they are valid.
16863func (s *RemoveRoleFromDBClusterInput) Validate() error {
16864	invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBClusterInput"}
16865	if s.DBClusterIdentifier == nil {
16866		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
16867	}
16868	if s.RoleArn == nil {
16869		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
16870	}
16871
16872	if invalidParams.Len() > 0 {
16873		return invalidParams
16874	}
16875	return nil
16876}
16877
16878// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16879func (s *RemoveRoleFromDBClusterInput) SetDBClusterIdentifier(v string) *RemoveRoleFromDBClusterInput {
16880	s.DBClusterIdentifier = &v
16881	return s
16882}
16883
16884// SetFeatureName sets the FeatureName field's value.
16885func (s *RemoveRoleFromDBClusterInput) SetFeatureName(v string) *RemoveRoleFromDBClusterInput {
16886	s.FeatureName = &v
16887	return s
16888}
16889
16890// SetRoleArn sets the RoleArn field's value.
16891func (s *RemoveRoleFromDBClusterInput) SetRoleArn(v string) *RemoveRoleFromDBClusterInput {
16892	s.RoleArn = &v
16893	return s
16894}
16895
16896type RemoveRoleFromDBClusterOutput struct {
16897	_ struct{} `type:"structure"`
16898}
16899
16900// String returns the string representation
16901func (s RemoveRoleFromDBClusterOutput) String() string {
16902	return awsutil.Prettify(s)
16903}
16904
16905// GoString returns the string representation
16906func (s RemoveRoleFromDBClusterOutput) GoString() string {
16907	return s.String()
16908}
16909
16910type RemoveSourceIdentifierFromSubscriptionInput struct {
16911	_ struct{} `type:"structure"`
16912
16913	// The source identifier to be removed from the subscription, such as the DB
16914	// instance identifier for a DB instance or the name of a security group.
16915	//
16916	// SourceIdentifier is a required field
16917	SourceIdentifier *string `type:"string" required:"true"`
16918
16919	// The name of the event notification subscription you want to remove a source
16920	// identifier from.
16921	//
16922	// SubscriptionName is a required field
16923	SubscriptionName *string `type:"string" required:"true"`
16924}
16925
16926// String returns the string representation
16927func (s RemoveSourceIdentifierFromSubscriptionInput) String() string {
16928	return awsutil.Prettify(s)
16929}
16930
16931// GoString returns the string representation
16932func (s RemoveSourceIdentifierFromSubscriptionInput) GoString() string {
16933	return s.String()
16934}
16935
16936// Validate inspects the fields of the type to determine if they are valid.
16937func (s *RemoveSourceIdentifierFromSubscriptionInput) Validate() error {
16938	invalidParams := request.ErrInvalidParams{Context: "RemoveSourceIdentifierFromSubscriptionInput"}
16939	if s.SourceIdentifier == nil {
16940		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
16941	}
16942	if s.SubscriptionName == nil {
16943		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
16944	}
16945
16946	if invalidParams.Len() > 0 {
16947		return invalidParams
16948	}
16949	return nil
16950}
16951
16952// SetSourceIdentifier sets the SourceIdentifier field's value.
16953func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSourceIdentifier(v string) *RemoveSourceIdentifierFromSubscriptionInput {
16954	s.SourceIdentifier = &v
16955	return s
16956}
16957
16958// SetSubscriptionName sets the SubscriptionName field's value.
16959func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSubscriptionName(v string) *RemoveSourceIdentifierFromSubscriptionInput {
16960	s.SubscriptionName = &v
16961	return s
16962}
16963
16964type RemoveSourceIdentifierFromSubscriptionOutput struct {
16965	_ struct{} `type:"structure"`
16966
16967	// Contains the results of a successful invocation of the DescribeEventSubscriptions
16968	// action.
16969	EventSubscription *EventSubscription `type:"structure"`
16970}
16971
16972// String returns the string representation
16973func (s RemoveSourceIdentifierFromSubscriptionOutput) String() string {
16974	return awsutil.Prettify(s)
16975}
16976
16977// GoString returns the string representation
16978func (s RemoveSourceIdentifierFromSubscriptionOutput) GoString() string {
16979	return s.String()
16980}
16981
16982// SetEventSubscription sets the EventSubscription field's value.
16983func (s *RemoveSourceIdentifierFromSubscriptionOutput) SetEventSubscription(v *EventSubscription) *RemoveSourceIdentifierFromSubscriptionOutput {
16984	s.EventSubscription = v
16985	return s
16986}
16987
16988type RemoveTagsFromResourceInput struct {
16989	_ struct{} `type:"structure"`
16990
16991	// The Amazon Neptune resource that the tags are removed from. This value is
16992	// an Amazon Resource Name (ARN). For information about creating an ARN, see
16993	// Constructing an Amazon Resource Name (ARN) (https://docs.aws.amazon.com/neptune/latest/UserGuide/tagging.ARN.html#tagging.ARN.Constructing).
16994	//
16995	// ResourceName is a required field
16996	ResourceName *string `type:"string" required:"true"`
16997
16998	// The tag key (name) of the tag to be removed.
16999	//
17000	// TagKeys is a required field
17001	TagKeys []*string `type:"list" required:"true"`
17002}
17003
17004// String returns the string representation
17005func (s RemoveTagsFromResourceInput) String() string {
17006	return awsutil.Prettify(s)
17007}
17008
17009// GoString returns the string representation
17010func (s RemoveTagsFromResourceInput) GoString() string {
17011	return s.String()
17012}
17013
17014// Validate inspects the fields of the type to determine if they are valid.
17015func (s *RemoveTagsFromResourceInput) Validate() error {
17016	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
17017	if s.ResourceName == nil {
17018		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
17019	}
17020	if s.TagKeys == nil {
17021		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
17022	}
17023
17024	if invalidParams.Len() > 0 {
17025		return invalidParams
17026	}
17027	return nil
17028}
17029
17030// SetResourceName sets the ResourceName field's value.
17031func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput {
17032	s.ResourceName = &v
17033	return s
17034}
17035
17036// SetTagKeys sets the TagKeys field's value.
17037func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
17038	s.TagKeys = v
17039	return s
17040}
17041
17042type RemoveTagsFromResourceOutput struct {
17043	_ struct{} `type:"structure"`
17044}
17045
17046// String returns the string representation
17047func (s RemoveTagsFromResourceOutput) String() string {
17048	return awsutil.Prettify(s)
17049}
17050
17051// GoString returns the string representation
17052func (s RemoveTagsFromResourceOutput) GoString() string {
17053	return s.String()
17054}
17055
17056type ResetDBClusterParameterGroupInput struct {
17057	_ struct{} `type:"structure"`
17058
17059	// The name of the DB cluster parameter group to reset.
17060	//
17061	// DBClusterParameterGroupName is a required field
17062	DBClusterParameterGroupName *string `type:"string" required:"true"`
17063
17064	// A list of parameter names in the DB cluster parameter group to reset to the
17065	// default values. You can't use this parameter if the ResetAllParameters parameter
17066	// is set to true.
17067	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
17068
17069	// A value that is set to true to reset all parameters in the DB cluster parameter
17070	// group to their default values, and false otherwise. You can't use this parameter
17071	// if there is a list of parameter names specified for the Parameters parameter.
17072	ResetAllParameters *bool `type:"boolean"`
17073}
17074
17075// String returns the string representation
17076func (s ResetDBClusterParameterGroupInput) String() string {
17077	return awsutil.Prettify(s)
17078}
17079
17080// GoString returns the string representation
17081func (s ResetDBClusterParameterGroupInput) GoString() string {
17082	return s.String()
17083}
17084
17085// Validate inspects the fields of the type to determine if they are valid.
17086func (s *ResetDBClusterParameterGroupInput) Validate() error {
17087	invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"}
17088	if s.DBClusterParameterGroupName == nil {
17089		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
17090	}
17091
17092	if invalidParams.Len() > 0 {
17093		return invalidParams
17094	}
17095	return nil
17096}
17097
17098// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
17099func (s *ResetDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupInput {
17100	s.DBClusterParameterGroupName = &v
17101	return s
17102}
17103
17104// SetParameters sets the Parameters field's value.
17105func (s *ResetDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetDBClusterParameterGroupInput {
17106	s.Parameters = v
17107	return s
17108}
17109
17110// SetResetAllParameters sets the ResetAllParameters field's value.
17111func (s *ResetDBClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetDBClusterParameterGroupInput {
17112	s.ResetAllParameters = &v
17113	return s
17114}
17115
17116type ResetDBClusterParameterGroupOutput struct {
17117	_ struct{} `type:"structure"`
17118
17119	// The name of the DB cluster parameter group.
17120	//
17121	// Constraints:
17122	//
17123	//    * Must be 1 to 255 letters or numbers.
17124	//
17125	//    * First character must be a letter
17126	//
17127	//    * Cannot end with a hyphen or contain two consecutive hyphens
17128	//
17129	// This value is stored as a lowercase string.
17130	DBClusterParameterGroupName *string `type:"string"`
17131}
17132
17133// String returns the string representation
17134func (s ResetDBClusterParameterGroupOutput) String() string {
17135	return awsutil.Prettify(s)
17136}
17137
17138// GoString returns the string representation
17139func (s ResetDBClusterParameterGroupOutput) GoString() string {
17140	return s.String()
17141}
17142
17143// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
17144func (s *ResetDBClusterParameterGroupOutput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupOutput {
17145	s.DBClusterParameterGroupName = &v
17146	return s
17147}
17148
17149type ResetDBParameterGroupInput struct {
17150	_ struct{} `type:"structure"`
17151
17152	// The name of the DB parameter group.
17153	//
17154	// Constraints:
17155	//
17156	//    * Must match the name of an existing DBParameterGroup.
17157	//
17158	// DBParameterGroupName is a required field
17159	DBParameterGroupName *string `type:"string" required:"true"`
17160
17161	// To reset the entire DB parameter group, specify the DBParameterGroup name
17162	// and ResetAllParameters parameters. To reset specific parameters, provide
17163	// a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters
17164	// can be modified in a single request.
17165	//
17166	// Valid Values (for Apply method): pending-reboot
17167	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
17168
17169	// Specifies whether (true) or not (false) to reset all parameters in the DB
17170	// parameter group to default values.
17171	//
17172	// Default: true
17173	ResetAllParameters *bool `type:"boolean"`
17174}
17175
17176// String returns the string representation
17177func (s ResetDBParameterGroupInput) String() string {
17178	return awsutil.Prettify(s)
17179}
17180
17181// GoString returns the string representation
17182func (s ResetDBParameterGroupInput) GoString() string {
17183	return s.String()
17184}
17185
17186// Validate inspects the fields of the type to determine if they are valid.
17187func (s *ResetDBParameterGroupInput) Validate() error {
17188	invalidParams := request.ErrInvalidParams{Context: "ResetDBParameterGroupInput"}
17189	if s.DBParameterGroupName == nil {
17190		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
17191	}
17192
17193	if invalidParams.Len() > 0 {
17194		return invalidParams
17195	}
17196	return nil
17197}
17198
17199// SetDBParameterGroupName sets the DBParameterGroupName field's value.
17200func (s *ResetDBParameterGroupInput) SetDBParameterGroupName(v string) *ResetDBParameterGroupInput {
17201	s.DBParameterGroupName = &v
17202	return s
17203}
17204
17205// SetParameters sets the Parameters field's value.
17206func (s *ResetDBParameterGroupInput) SetParameters(v []*Parameter) *ResetDBParameterGroupInput {
17207	s.Parameters = v
17208	return s
17209}
17210
17211// SetResetAllParameters sets the ResetAllParameters field's value.
17212func (s *ResetDBParameterGroupInput) SetResetAllParameters(v bool) *ResetDBParameterGroupInput {
17213	s.ResetAllParameters = &v
17214	return s
17215}
17216
17217type ResetDBParameterGroupOutput struct {
17218	_ struct{} `type:"structure"`
17219
17220	// Provides the name of the DB parameter group.
17221	DBParameterGroupName *string `type:"string"`
17222}
17223
17224// String returns the string representation
17225func (s ResetDBParameterGroupOutput) String() string {
17226	return awsutil.Prettify(s)
17227}
17228
17229// GoString returns the string representation
17230func (s ResetDBParameterGroupOutput) GoString() string {
17231	return s.String()
17232}
17233
17234// SetDBParameterGroupName sets the DBParameterGroupName field's value.
17235func (s *ResetDBParameterGroupOutput) SetDBParameterGroupName(v string) *ResetDBParameterGroupOutput {
17236	s.DBParameterGroupName = &v
17237	return s
17238}
17239
17240// Describes the pending maintenance actions for a resource.
17241type ResourcePendingMaintenanceActions struct {
17242	_ struct{} `type:"structure"`
17243
17244	// A list that provides details about the pending maintenance actions for the
17245	// resource.
17246	PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"`
17247
17248	// The ARN of the resource that has pending maintenance actions.
17249	ResourceIdentifier *string `type:"string"`
17250}
17251
17252// String returns the string representation
17253func (s ResourcePendingMaintenanceActions) String() string {
17254	return awsutil.Prettify(s)
17255}
17256
17257// GoString returns the string representation
17258func (s ResourcePendingMaintenanceActions) GoString() string {
17259	return s.String()
17260}
17261
17262// SetPendingMaintenanceActionDetails sets the PendingMaintenanceActionDetails field's value.
17263func (s *ResourcePendingMaintenanceActions) SetPendingMaintenanceActionDetails(v []*PendingMaintenanceAction) *ResourcePendingMaintenanceActions {
17264	s.PendingMaintenanceActionDetails = v
17265	return s
17266}
17267
17268// SetResourceIdentifier sets the ResourceIdentifier field's value.
17269func (s *ResourcePendingMaintenanceActions) SetResourceIdentifier(v string) *ResourcePendingMaintenanceActions {
17270	s.ResourceIdentifier = &v
17271	return s
17272}
17273
17274type RestoreDBClusterFromSnapshotInput struct {
17275	_ struct{} `type:"structure"`
17276
17277	// Provides the list of EC2 Availability Zones that instances in the restored
17278	// DB cluster can be created in.
17279	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
17280
17281	// The name of the DB cluster to create from the DB snapshot or DB cluster snapshot.
17282	// This parameter isn't case-sensitive.
17283	//
17284	// Constraints:
17285	//
17286	//    * Must contain from 1 to 63 letters, numbers, or hyphens
17287	//
17288	//    * First character must be a letter
17289	//
17290	//    * Cannot end with a hyphen or contain two consecutive hyphens
17291	//
17292	// Example: my-snapshot-id
17293	//
17294	// DBClusterIdentifier is a required field
17295	DBClusterIdentifier *string `type:"string" required:"true"`
17296
17297	// The name of the DB cluster parameter group to associate with the new DB cluster.
17298	//
17299	// Constraints:
17300	//
17301	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
17302	DBClusterParameterGroupName *string `type:"string"`
17303
17304	// The name of the DB subnet group to use for the new DB cluster.
17305	//
17306	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
17307	//
17308	// Example: mySubnetgroup
17309	DBSubnetGroupName *string `type:"string"`
17310
17311	// Not supported.
17312	DatabaseName *string `type:"string"`
17313
17314	// A value that indicates whether the DB cluster has deletion protection enabled.
17315	// The database can't be deleted when deletion protection is enabled. By default,
17316	// deletion protection is disabled.
17317	DeletionProtection *bool `type:"boolean"`
17318
17319	// The list of logs that the restored DB cluster is to export to Amazon CloudWatch
17320	// Logs.
17321	EnableCloudwatchLogsExports []*string `type:"list"`
17322
17323	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
17324	// to database accounts, and otherwise false.
17325	//
17326	// Default: false
17327	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
17328
17329	// The database engine to use for the new DB cluster.
17330	//
17331	// Default: The same as source
17332	//
17333	// Constraint: Must be compatible with the engine of the source
17334	//
17335	// Engine is a required field
17336	Engine *string `type:"string" required:"true"`
17337
17338	// The version of the database engine to use for the new DB cluster.
17339	EngineVersion *string `type:"string"`
17340
17341	// The AWS KMS key identifier to use when restoring an encrypted DB cluster
17342	// from a DB snapshot or DB cluster snapshot.
17343	//
17344	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
17345	// key. If you are restoring a DB cluster with the same AWS account that owns
17346	// the KMS encryption key used to encrypt the new DB cluster, then you can use
17347	// the KMS key alias instead of the ARN for the KMS encryption key.
17348	//
17349	// If you do not specify a value for the KmsKeyId parameter, then the following
17350	// will occur:
17351	//
17352	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted,
17353	//    then the restored DB cluster is encrypted using the KMS key that was used
17354	//    to encrypt the DB snapshot or DB cluster snapshot.
17355	//
17356	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is not
17357	//    encrypted, then the restored DB cluster is not encrypted.
17358	KmsKeyId *string `type:"string"`
17359
17360	// (Not supported by Neptune)
17361	OptionGroupName *string `type:"string"`
17362
17363	// The port number on which the new DB cluster accepts connections.
17364	//
17365	// Constraints: Value must be 1150-65535
17366	//
17367	// Default: The same port as the original DB cluster.
17368	Port *int64 `type:"integer"`
17369
17370	// The identifier for the DB snapshot or DB cluster snapshot to restore from.
17371	//
17372	// You can use either the name or the Amazon Resource Name (ARN) to specify
17373	// a DB cluster snapshot. However, you can use only the ARN to specify a DB
17374	// snapshot.
17375	//
17376	// Constraints:
17377	//
17378	//    * Must match the identifier of an existing Snapshot.
17379	//
17380	// SnapshotIdentifier is a required field
17381	SnapshotIdentifier *string `type:"string" required:"true"`
17382
17383	// The tags to be assigned to the restored DB cluster.
17384	Tags []*Tag `locationNameList:"Tag" type:"list"`
17385
17386	// A list of VPC security groups that the new DB cluster will belong to.
17387	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
17388}
17389
17390// String returns the string representation
17391func (s RestoreDBClusterFromSnapshotInput) String() string {
17392	return awsutil.Prettify(s)
17393}
17394
17395// GoString returns the string representation
17396func (s RestoreDBClusterFromSnapshotInput) GoString() string {
17397	return s.String()
17398}
17399
17400// Validate inspects the fields of the type to determine if they are valid.
17401func (s *RestoreDBClusterFromSnapshotInput) Validate() error {
17402	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromSnapshotInput"}
17403	if s.DBClusterIdentifier == nil {
17404		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
17405	}
17406	if s.Engine == nil {
17407		invalidParams.Add(request.NewErrParamRequired("Engine"))
17408	}
17409	if s.SnapshotIdentifier == nil {
17410		invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
17411	}
17412
17413	if invalidParams.Len() > 0 {
17414		return invalidParams
17415	}
17416	return nil
17417}
17418
17419// SetAvailabilityZones sets the AvailabilityZones field's value.
17420func (s *RestoreDBClusterFromSnapshotInput) SetAvailabilityZones(v []*string) *RestoreDBClusterFromSnapshotInput {
17421	s.AvailabilityZones = v
17422	return s
17423}
17424
17425// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
17426func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
17427	s.DBClusterIdentifier = &v
17428	return s
17429}
17430
17431// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
17432func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterFromSnapshotInput {
17433	s.DBClusterParameterGroupName = &v
17434	return s
17435}
17436
17437// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
17438func (s *RestoreDBClusterFromSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBClusterFromSnapshotInput {
17439	s.DBSubnetGroupName = &v
17440	return s
17441}
17442
17443// SetDatabaseName sets the DatabaseName field's value.
17444func (s *RestoreDBClusterFromSnapshotInput) SetDatabaseName(v string) *RestoreDBClusterFromSnapshotInput {
17445	s.DatabaseName = &v
17446	return s
17447}
17448
17449// SetDeletionProtection sets the DeletionProtection field's value.
17450func (s *RestoreDBClusterFromSnapshotInput) SetDeletionProtection(v bool) *RestoreDBClusterFromSnapshotInput {
17451	s.DeletionProtection = &v
17452	return s
17453}
17454
17455// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
17456func (s *RestoreDBClusterFromSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromSnapshotInput {
17457	s.EnableCloudwatchLogsExports = v
17458	return s
17459}
17460
17461// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
17462func (s *RestoreDBClusterFromSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromSnapshotInput {
17463	s.EnableIAMDatabaseAuthentication = &v
17464	return s
17465}
17466
17467// SetEngine sets the Engine field's value.
17468func (s *RestoreDBClusterFromSnapshotInput) SetEngine(v string) *RestoreDBClusterFromSnapshotInput {
17469	s.Engine = &v
17470	return s
17471}
17472
17473// SetEngineVersion sets the EngineVersion field's value.
17474func (s *RestoreDBClusterFromSnapshotInput) SetEngineVersion(v string) *RestoreDBClusterFromSnapshotInput {
17475	s.EngineVersion = &v
17476	return s
17477}
17478
17479// SetKmsKeyId sets the KmsKeyId field's value.
17480func (s *RestoreDBClusterFromSnapshotInput) SetKmsKeyId(v string) *RestoreDBClusterFromSnapshotInput {
17481	s.KmsKeyId = &v
17482	return s
17483}
17484
17485// SetOptionGroupName sets the OptionGroupName field's value.
17486func (s *RestoreDBClusterFromSnapshotInput) SetOptionGroupName(v string) *RestoreDBClusterFromSnapshotInput {
17487	s.OptionGroupName = &v
17488	return s
17489}
17490
17491// SetPort sets the Port field's value.
17492func (s *RestoreDBClusterFromSnapshotInput) SetPort(v int64) *RestoreDBClusterFromSnapshotInput {
17493	s.Port = &v
17494	return s
17495}
17496
17497// SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
17498func (s *RestoreDBClusterFromSnapshotInput) SetSnapshotIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
17499	s.SnapshotIdentifier = &v
17500	return s
17501}
17502
17503// SetTags sets the Tags field's value.
17504func (s *RestoreDBClusterFromSnapshotInput) SetTags(v []*Tag) *RestoreDBClusterFromSnapshotInput {
17505	s.Tags = v
17506	return s
17507}
17508
17509// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
17510func (s *RestoreDBClusterFromSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromSnapshotInput {
17511	s.VpcSecurityGroupIds = v
17512	return s
17513}
17514
17515type RestoreDBClusterFromSnapshotOutput struct {
17516	_ struct{} `type:"structure"`
17517
17518	// Contains the details of an Amazon Neptune DB cluster.
17519	//
17520	// This data type is used as a response element in the DescribeDBClusters action.
17521	DBCluster *DBCluster `type:"structure"`
17522}
17523
17524// String returns the string representation
17525func (s RestoreDBClusterFromSnapshotOutput) String() string {
17526	return awsutil.Prettify(s)
17527}
17528
17529// GoString returns the string representation
17530func (s RestoreDBClusterFromSnapshotOutput) GoString() string {
17531	return s.String()
17532}
17533
17534// SetDBCluster sets the DBCluster field's value.
17535func (s *RestoreDBClusterFromSnapshotOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterFromSnapshotOutput {
17536	s.DBCluster = v
17537	return s
17538}
17539
17540type RestoreDBClusterToPointInTimeInput struct {
17541	_ struct{} `type:"structure"`
17542
17543	// The name of the new DB cluster to be created.
17544	//
17545	// Constraints:
17546	//
17547	//    * Must contain from 1 to 63 letters, numbers, or hyphens
17548	//
17549	//    * First character must be a letter
17550	//
17551	//    * Cannot end with a hyphen or contain two consecutive hyphens
17552	//
17553	// DBClusterIdentifier is a required field
17554	DBClusterIdentifier *string `type:"string" required:"true"`
17555
17556	// The name of the DB cluster parameter group to associate with the new DB cluster.
17557	//
17558	// Constraints:
17559	//
17560	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
17561	DBClusterParameterGroupName *string `type:"string"`
17562
17563	// The DB subnet group name to use for the new DB cluster.
17564	//
17565	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
17566	//
17567	// Example: mySubnetgroup
17568	DBSubnetGroupName *string `type:"string"`
17569
17570	// A value that indicates whether the DB cluster has deletion protection enabled.
17571	// The database can't be deleted when deletion protection is enabled. By default,
17572	// deletion protection is disabled.
17573	DeletionProtection *bool `type:"boolean"`
17574
17575	// The list of logs that the restored DB cluster is to export to CloudWatch
17576	// Logs.
17577	EnableCloudwatchLogsExports []*string `type:"list"`
17578
17579	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
17580	// to database accounts, and otherwise false.
17581	//
17582	// Default: false
17583	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
17584
17585	// The AWS KMS key identifier to use when restoring an encrypted DB cluster
17586	// from an encrypted DB cluster.
17587	//
17588	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
17589	// key. If you are restoring a DB cluster with the same AWS account that owns
17590	// the KMS encryption key used to encrypt the new DB cluster, then you can use
17591	// the KMS key alias instead of the ARN for the KMS encryption key.
17592	//
17593	// You can restore to a new DB cluster and encrypt the new DB cluster with a
17594	// KMS key that is different than the KMS key used to encrypt the source DB
17595	// cluster. The new DB cluster is encrypted with the KMS key identified by the
17596	// KmsKeyId parameter.
17597	//
17598	// If you do not specify a value for the KmsKeyId parameter, then the following
17599	// will occur:
17600	//
17601	//    * If the DB cluster is encrypted, then the restored DB cluster is encrypted
17602	//    using the KMS key that was used to encrypt the source DB cluster.
17603	//
17604	//    * If the DB cluster is not encrypted, then the restored DB cluster is
17605	//    not encrypted.
17606	//
17607	// If DBClusterIdentifier refers to a DB cluster that is not encrypted, then
17608	// the restore request is rejected.
17609	KmsKeyId *string `type:"string"`
17610
17611	// (Not supported by Neptune)
17612	OptionGroupName *string `type:"string"`
17613
17614	// The port number on which the new DB cluster accepts connections.
17615	//
17616	// Constraints: Value must be 1150-65535
17617	//
17618	// Default: The same port as the original DB cluster.
17619	Port *int64 `type:"integer"`
17620
17621	// The date and time to restore the DB cluster to.
17622	//
17623	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
17624	//
17625	// Constraints:
17626	//
17627	//    * Must be before the latest restorable time for the DB instance
17628	//
17629	//    * Must be specified if UseLatestRestorableTime parameter is not provided
17630	//
17631	//    * Cannot be specified if UseLatestRestorableTime parameter is true
17632	//
17633	//    * Cannot be specified if RestoreType parameter is copy-on-write
17634	//
17635	// Example: 2015-03-07T23:45:00Z
17636	RestoreToTime *time.Time `type:"timestamp"`
17637
17638	// The type of restore to be performed. You can specify one of the following
17639	// values:
17640	//
17641	//    * full-copy - The new DB cluster is restored as a full copy of the source
17642	//    DB cluster.
17643	//
17644	//    * copy-on-write - The new DB cluster is restored as a clone of the source
17645	//    DB cluster.
17646	//
17647	// If you don't specify a RestoreType value, then the new DB cluster is restored
17648	// as a full copy of the source DB cluster.
17649	RestoreType *string `type:"string"`
17650
17651	// The identifier of the source DB cluster from which to restore.
17652	//
17653	// Constraints:
17654	//
17655	//    * Must match the identifier of an existing DBCluster.
17656	//
17657	// SourceDBClusterIdentifier is a required field
17658	SourceDBClusterIdentifier *string `type:"string" required:"true"`
17659
17660	// The tags to be applied to the restored DB cluster.
17661	Tags []*Tag `locationNameList:"Tag" type:"list"`
17662
17663	// A value that is set to true to restore the DB cluster to the latest restorable
17664	// backup time, and false otherwise.
17665	//
17666	// Default: false
17667	//
17668	// Constraints: Cannot be specified if RestoreToTime parameter is provided.
17669	UseLatestRestorableTime *bool `type:"boolean"`
17670
17671	// A list of VPC security groups that the new DB cluster belongs to.
17672	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
17673}
17674
17675// String returns the string representation
17676func (s RestoreDBClusterToPointInTimeInput) String() string {
17677	return awsutil.Prettify(s)
17678}
17679
17680// GoString returns the string representation
17681func (s RestoreDBClusterToPointInTimeInput) GoString() string {
17682	return s.String()
17683}
17684
17685// Validate inspects the fields of the type to determine if they are valid.
17686func (s *RestoreDBClusterToPointInTimeInput) Validate() error {
17687	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterToPointInTimeInput"}
17688	if s.DBClusterIdentifier == nil {
17689		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
17690	}
17691	if s.SourceDBClusterIdentifier == nil {
17692		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterIdentifier"))
17693	}
17694
17695	if invalidParams.Len() > 0 {
17696		return invalidParams
17697	}
17698	return nil
17699}
17700
17701// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
17702func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
17703	s.DBClusterIdentifier = &v
17704	return s
17705}
17706
17707// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
17708func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterToPointInTimeInput {
17709	s.DBClusterParameterGroupName = &v
17710	return s
17711}
17712
17713// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
17714func (s *RestoreDBClusterToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBClusterToPointInTimeInput {
17715	s.DBSubnetGroupName = &v
17716	return s
17717}
17718
17719// SetDeletionProtection sets the DeletionProtection field's value.
17720func (s *RestoreDBClusterToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBClusterToPointInTimeInput {
17721	s.DeletionProtection = &v
17722	return s
17723}
17724
17725// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
17726func (s *RestoreDBClusterToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterToPointInTimeInput {
17727	s.EnableCloudwatchLogsExports = v
17728	return s
17729}
17730
17731// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
17732func (s *RestoreDBClusterToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterToPointInTimeInput {
17733	s.EnableIAMDatabaseAuthentication = &v
17734	return s
17735}
17736
17737// SetKmsKeyId sets the KmsKeyId field's value.
17738func (s *RestoreDBClusterToPointInTimeInput) SetKmsKeyId(v string) *RestoreDBClusterToPointInTimeInput {
17739	s.KmsKeyId = &v
17740	return s
17741}
17742
17743// SetOptionGroupName sets the OptionGroupName field's value.
17744func (s *RestoreDBClusterToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBClusterToPointInTimeInput {
17745	s.OptionGroupName = &v
17746	return s
17747}
17748
17749// SetPort sets the Port field's value.
17750func (s *RestoreDBClusterToPointInTimeInput) SetPort(v int64) *RestoreDBClusterToPointInTimeInput {
17751	s.Port = &v
17752	return s
17753}
17754
17755// SetRestoreToTime sets the RestoreToTime field's value.
17756func (s *RestoreDBClusterToPointInTimeInput) SetRestoreToTime(v time.Time) *RestoreDBClusterToPointInTimeInput {
17757	s.RestoreToTime = &v
17758	return s
17759}
17760
17761// SetRestoreType sets the RestoreType field's value.
17762func (s *RestoreDBClusterToPointInTimeInput) SetRestoreType(v string) *RestoreDBClusterToPointInTimeInput {
17763	s.RestoreType = &v
17764	return s
17765}
17766
17767// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
17768func (s *RestoreDBClusterToPointInTimeInput) SetSourceDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
17769	s.SourceDBClusterIdentifier = &v
17770	return s
17771}
17772
17773// SetTags sets the Tags field's value.
17774func (s *RestoreDBClusterToPointInTimeInput) SetTags(v []*Tag) *RestoreDBClusterToPointInTimeInput {
17775	s.Tags = v
17776	return s
17777}
17778
17779// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
17780func (s *RestoreDBClusterToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBClusterToPointInTimeInput {
17781	s.UseLatestRestorableTime = &v
17782	return s
17783}
17784
17785// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
17786func (s *RestoreDBClusterToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterToPointInTimeInput {
17787	s.VpcSecurityGroupIds = v
17788	return s
17789}
17790
17791type RestoreDBClusterToPointInTimeOutput struct {
17792	_ struct{} `type:"structure"`
17793
17794	// Contains the details of an Amazon Neptune DB cluster.
17795	//
17796	// This data type is used as a response element in the DescribeDBClusters action.
17797	DBCluster *DBCluster `type:"structure"`
17798}
17799
17800// String returns the string representation
17801func (s RestoreDBClusterToPointInTimeOutput) String() string {
17802	return awsutil.Prettify(s)
17803}
17804
17805// GoString returns the string representation
17806func (s RestoreDBClusterToPointInTimeOutput) GoString() string {
17807	return s.String()
17808}
17809
17810// SetDBCluster sets the DBCluster field's value.
17811func (s *RestoreDBClusterToPointInTimeOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterToPointInTimeOutput {
17812	s.DBCluster = v
17813	return s
17814}
17815
17816type StartDBClusterInput struct {
17817	_ struct{} `type:"structure"`
17818
17819	// The DB cluster identifier of the Neptune DB cluster to be started. This parameter
17820	// is stored as a lowercase string.
17821	//
17822	// DBClusterIdentifier is a required field
17823	DBClusterIdentifier *string `type:"string" required:"true"`
17824}
17825
17826// String returns the string representation
17827func (s StartDBClusterInput) String() string {
17828	return awsutil.Prettify(s)
17829}
17830
17831// GoString returns the string representation
17832func (s StartDBClusterInput) GoString() string {
17833	return s.String()
17834}
17835
17836// Validate inspects the fields of the type to determine if they are valid.
17837func (s *StartDBClusterInput) Validate() error {
17838	invalidParams := request.ErrInvalidParams{Context: "StartDBClusterInput"}
17839	if s.DBClusterIdentifier == nil {
17840		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
17841	}
17842
17843	if invalidParams.Len() > 0 {
17844		return invalidParams
17845	}
17846	return nil
17847}
17848
17849// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
17850func (s *StartDBClusterInput) SetDBClusterIdentifier(v string) *StartDBClusterInput {
17851	s.DBClusterIdentifier = &v
17852	return s
17853}
17854
17855type StartDBClusterOutput struct {
17856	_ struct{} `type:"structure"`
17857
17858	// Contains the details of an Amazon Neptune DB cluster.
17859	//
17860	// This data type is used as a response element in the DescribeDBClusters action.
17861	DBCluster *DBCluster `type:"structure"`
17862}
17863
17864// String returns the string representation
17865func (s StartDBClusterOutput) String() string {
17866	return awsutil.Prettify(s)
17867}
17868
17869// GoString returns the string representation
17870func (s StartDBClusterOutput) GoString() string {
17871	return s.String()
17872}
17873
17874// SetDBCluster sets the DBCluster field's value.
17875func (s *StartDBClusterOutput) SetDBCluster(v *DBCluster) *StartDBClusterOutput {
17876	s.DBCluster = v
17877	return s
17878}
17879
17880type StopDBClusterInput struct {
17881	_ struct{} `type:"structure"`
17882
17883	// The DB cluster identifier of the Neptune DB cluster to be stopped. This parameter
17884	// is stored as a lowercase string.
17885	//
17886	// DBClusterIdentifier is a required field
17887	DBClusterIdentifier *string `type:"string" required:"true"`
17888}
17889
17890// String returns the string representation
17891func (s StopDBClusterInput) String() string {
17892	return awsutil.Prettify(s)
17893}
17894
17895// GoString returns the string representation
17896func (s StopDBClusterInput) GoString() string {
17897	return s.String()
17898}
17899
17900// Validate inspects the fields of the type to determine if they are valid.
17901func (s *StopDBClusterInput) Validate() error {
17902	invalidParams := request.ErrInvalidParams{Context: "StopDBClusterInput"}
17903	if s.DBClusterIdentifier == nil {
17904		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
17905	}
17906
17907	if invalidParams.Len() > 0 {
17908		return invalidParams
17909	}
17910	return nil
17911}
17912
17913// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
17914func (s *StopDBClusterInput) SetDBClusterIdentifier(v string) *StopDBClusterInput {
17915	s.DBClusterIdentifier = &v
17916	return s
17917}
17918
17919type StopDBClusterOutput struct {
17920	_ struct{} `type:"structure"`
17921
17922	// Contains the details of an Amazon Neptune DB cluster.
17923	//
17924	// This data type is used as a response element in the DescribeDBClusters action.
17925	DBCluster *DBCluster `type:"structure"`
17926}
17927
17928// String returns the string representation
17929func (s StopDBClusterOutput) String() string {
17930	return awsutil.Prettify(s)
17931}
17932
17933// GoString returns the string representation
17934func (s StopDBClusterOutput) GoString() string {
17935	return s.String()
17936}
17937
17938// SetDBCluster sets the DBCluster field's value.
17939func (s *StopDBClusterOutput) SetDBCluster(v *DBCluster) *StopDBClusterOutput {
17940	s.DBCluster = v
17941	return s
17942}
17943
17944// Specifies a subnet.
17945//
17946// This data type is used as a response element in the DescribeDBSubnetGroups
17947// action.
17948type Subnet struct {
17949	_ struct{} `type:"structure"`
17950
17951	// Specifies the EC2 Availability Zone that the subnet is in.
17952	SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
17953
17954	// Specifies the identifier of the subnet.
17955	SubnetIdentifier *string `type:"string"`
17956
17957	// Specifies the status of the subnet.
17958	SubnetStatus *string `type:"string"`
17959}
17960
17961// String returns the string representation
17962func (s Subnet) String() string {
17963	return awsutil.Prettify(s)
17964}
17965
17966// GoString returns the string representation
17967func (s Subnet) GoString() string {
17968	return s.String()
17969}
17970
17971// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
17972func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet {
17973	s.SubnetAvailabilityZone = v
17974	return s
17975}
17976
17977// SetSubnetIdentifier sets the SubnetIdentifier field's value.
17978func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
17979	s.SubnetIdentifier = &v
17980	return s
17981}
17982
17983// SetSubnetStatus sets the SubnetStatus field's value.
17984func (s *Subnet) SetSubnetStatus(v string) *Subnet {
17985	s.SubnetStatus = &v
17986	return s
17987}
17988
17989// Metadata assigned to an Amazon Neptune resource consisting of a key-value
17990// pair.
17991type Tag struct {
17992	_ struct{} `type:"structure"`
17993
17994	// A key is the required name of the tag. The string value can be from 1 to
17995	// 128 Unicode characters in length and can't be prefixed with "aws:" or "rds:".
17996	// The string can only contain only the set of Unicode letters, digits, white-space,
17997	// '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
17998	Key *string `type:"string"`
17999
18000	// A value is the optional value of the tag. The string value can be from 1
18001	// to 256 Unicode characters in length and can't be prefixed with "aws:" or
18002	// "rds:". The string can only contain only the set of Unicode letters, digits,
18003	// white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
18004	Value *string `type:"string"`
18005}
18006
18007// String returns the string representation
18008func (s Tag) String() string {
18009	return awsutil.Prettify(s)
18010}
18011
18012// GoString returns the string representation
18013func (s Tag) GoString() string {
18014	return s.String()
18015}
18016
18017// SetKey sets the Key field's value.
18018func (s *Tag) SetKey(v string) *Tag {
18019	s.Key = &v
18020	return s
18021}
18022
18023// SetValue sets the Value field's value.
18024func (s *Tag) SetValue(v string) *Tag {
18025	s.Value = &v
18026	return s
18027}
18028
18029// A time zone associated with a DBInstance.
18030type Timezone struct {
18031	_ struct{} `type:"structure"`
18032
18033	// The name of the time zone.
18034	TimezoneName *string `type:"string"`
18035}
18036
18037// String returns the string representation
18038func (s Timezone) String() string {
18039	return awsutil.Prettify(s)
18040}
18041
18042// GoString returns the string representation
18043func (s Timezone) GoString() string {
18044	return s.String()
18045}
18046
18047// SetTimezoneName sets the TimezoneName field's value.
18048func (s *Timezone) SetTimezoneName(v string) *Timezone {
18049	s.TimezoneName = &v
18050	return s
18051}
18052
18053// The version of the database engine that a DB instance can be upgraded to.
18054type UpgradeTarget struct {
18055	_ struct{} `type:"structure"`
18056
18057	// A value that indicates whether the target version is applied to any source
18058	// DB instances that have AutoMinorVersionUpgrade set to true.
18059	AutoUpgrade *bool `type:"boolean"`
18060
18061	// The version of the database engine that a DB instance can be upgraded to.
18062	Description *string `type:"string"`
18063
18064	// The name of the upgrade target database engine.
18065	Engine *string `type:"string"`
18066
18067	// The version number of the upgrade target database engine.
18068	EngineVersion *string `type:"string"`
18069
18070	// A value that indicates whether a database engine is upgraded to a major version.
18071	IsMajorVersionUpgrade *bool `type:"boolean"`
18072}
18073
18074// String returns the string representation
18075func (s UpgradeTarget) String() string {
18076	return awsutil.Prettify(s)
18077}
18078
18079// GoString returns the string representation
18080func (s UpgradeTarget) GoString() string {
18081	return s.String()
18082}
18083
18084// SetAutoUpgrade sets the AutoUpgrade field's value.
18085func (s *UpgradeTarget) SetAutoUpgrade(v bool) *UpgradeTarget {
18086	s.AutoUpgrade = &v
18087	return s
18088}
18089
18090// SetDescription sets the Description field's value.
18091func (s *UpgradeTarget) SetDescription(v string) *UpgradeTarget {
18092	s.Description = &v
18093	return s
18094}
18095
18096// SetEngine sets the Engine field's value.
18097func (s *UpgradeTarget) SetEngine(v string) *UpgradeTarget {
18098	s.Engine = &v
18099	return s
18100}
18101
18102// SetEngineVersion sets the EngineVersion field's value.
18103func (s *UpgradeTarget) SetEngineVersion(v string) *UpgradeTarget {
18104	s.EngineVersion = &v
18105	return s
18106}
18107
18108// SetIsMajorVersionUpgrade sets the IsMajorVersionUpgrade field's value.
18109func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget {
18110	s.IsMajorVersionUpgrade = &v
18111	return s
18112}
18113
18114// Information about valid modifications that you can make to your DB instance.
18115// Contains the result of a successful call to the DescribeValidDBInstanceModifications
18116// action. You can use this information when you call ModifyDBInstance.
18117type ValidDBInstanceModificationsMessage struct {
18118	_ struct{} `type:"structure"`
18119
18120	// Valid storage options for your DB instance.
18121	Storage []*ValidStorageOptions `locationNameList:"ValidStorageOptions" type:"list"`
18122}
18123
18124// String returns the string representation
18125func (s ValidDBInstanceModificationsMessage) String() string {
18126	return awsutil.Prettify(s)
18127}
18128
18129// GoString returns the string representation
18130func (s ValidDBInstanceModificationsMessage) GoString() string {
18131	return s.String()
18132}
18133
18134// SetStorage sets the Storage field's value.
18135func (s *ValidDBInstanceModificationsMessage) SetStorage(v []*ValidStorageOptions) *ValidDBInstanceModificationsMessage {
18136	s.Storage = v
18137	return s
18138}
18139
18140// Information about valid modifications that you can make to your DB instance.
18141//
18142// Contains the result of a successful call to the DescribeValidDBInstanceModifications
18143// action.
18144type ValidStorageOptions struct {
18145	_ struct{} `type:"structure"`
18146
18147	// The valid range of Provisioned IOPS to gibibytes of storage multiplier. For
18148	// example, 3-10, which means that provisioned IOPS can be between 3 and 10
18149	// times storage.
18150	IopsToStorageRatio []*DoubleRange `locationNameList:"DoubleRange" type:"list"`
18151
18152	// The valid range of provisioned IOPS. For example, 1000-20000.
18153	ProvisionedIops []*Range `locationNameList:"Range" type:"list"`
18154
18155	// The valid range of storage in gibibytes. For example, 100 to 16384.
18156	StorageSize []*Range `locationNameList:"Range" type:"list"`
18157
18158	// The valid storage types for your DB instance. For example, gp2, io1.
18159	StorageType *string `type:"string"`
18160}
18161
18162// String returns the string representation
18163func (s ValidStorageOptions) String() string {
18164	return awsutil.Prettify(s)
18165}
18166
18167// GoString returns the string representation
18168func (s ValidStorageOptions) GoString() string {
18169	return s.String()
18170}
18171
18172// SetIopsToStorageRatio sets the IopsToStorageRatio field's value.
18173func (s *ValidStorageOptions) SetIopsToStorageRatio(v []*DoubleRange) *ValidStorageOptions {
18174	s.IopsToStorageRatio = v
18175	return s
18176}
18177
18178// SetProvisionedIops sets the ProvisionedIops field's value.
18179func (s *ValidStorageOptions) SetProvisionedIops(v []*Range) *ValidStorageOptions {
18180	s.ProvisionedIops = v
18181	return s
18182}
18183
18184// SetStorageSize sets the StorageSize field's value.
18185func (s *ValidStorageOptions) SetStorageSize(v []*Range) *ValidStorageOptions {
18186	s.StorageSize = v
18187	return s
18188}
18189
18190// SetStorageType sets the StorageType field's value.
18191func (s *ValidStorageOptions) SetStorageType(v string) *ValidStorageOptions {
18192	s.StorageType = &v
18193	return s
18194}
18195
18196// This data type is used as a response element for queries on VPC security
18197// group membership.
18198type VpcSecurityGroupMembership struct {
18199	_ struct{} `type:"structure"`
18200
18201	// The status of the VPC security group.
18202	Status *string `type:"string"`
18203
18204	// The name of the VPC security group.
18205	VpcSecurityGroupId *string `type:"string"`
18206}
18207
18208// String returns the string representation
18209func (s VpcSecurityGroupMembership) String() string {
18210	return awsutil.Prettify(s)
18211}
18212
18213// GoString returns the string representation
18214func (s VpcSecurityGroupMembership) GoString() string {
18215	return s.String()
18216}
18217
18218// SetStatus sets the Status field's value.
18219func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership {
18220	s.Status = &v
18221	return s
18222}
18223
18224// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
18225func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership {
18226	s.VpcSecurityGroupId = &v
18227	return s
18228}
18229
18230const (
18231	// ApplyMethodImmediate is a ApplyMethod enum value
18232	ApplyMethodImmediate = "immediate"
18233
18234	// ApplyMethodPendingReboot is a ApplyMethod enum value
18235	ApplyMethodPendingReboot = "pending-reboot"
18236)
18237
18238// ApplyMethod_Values returns all elements of the ApplyMethod enum
18239func ApplyMethod_Values() []string {
18240	return []string{
18241		ApplyMethodImmediate,
18242		ApplyMethodPendingReboot,
18243	}
18244}
18245
18246const (
18247	// SourceTypeDbInstance is a SourceType enum value
18248	SourceTypeDbInstance = "db-instance"
18249
18250	// SourceTypeDbParameterGroup is a SourceType enum value
18251	SourceTypeDbParameterGroup = "db-parameter-group"
18252
18253	// SourceTypeDbSecurityGroup is a SourceType enum value
18254	SourceTypeDbSecurityGroup = "db-security-group"
18255
18256	// SourceTypeDbSnapshot is a SourceType enum value
18257	SourceTypeDbSnapshot = "db-snapshot"
18258
18259	// SourceTypeDbCluster is a SourceType enum value
18260	SourceTypeDbCluster = "db-cluster"
18261
18262	// SourceTypeDbClusterSnapshot is a SourceType enum value
18263	SourceTypeDbClusterSnapshot = "db-cluster-snapshot"
18264)
18265
18266// SourceType_Values returns all elements of the SourceType enum
18267func SourceType_Values() []string {
18268	return []string{
18269		SourceTypeDbInstance,
18270		SourceTypeDbParameterGroup,
18271		SourceTypeDbSecurityGroup,
18272		SourceTypeDbSnapshot,
18273		SourceTypeDbCluster,
18274		SourceTypeDbClusterSnapshot,
18275	}
18276}
18277