1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package databasemigrationservice
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/jsonrpc"
14)
15
16const opAddTagsToResource = "AddTagsToResource"
17
18// AddTagsToResourceRequest generates a "aws/request.Request" representing the
19// client's request for the AddTagsToResource 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 AddTagsToResource for more information on using the AddTagsToResource
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 AddTagsToResourceRequest method.
34//    req, resp := client.AddTagsToResourceRequest(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/dms-2016-01-01/AddTagsToResource
42func (c *DatabaseMigrationService) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
43	op := &request.Operation{
44		Name:       opAddTagsToResource,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AddTagsToResourceInput{}
51	}
52
53	output = &AddTagsToResourceOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AddTagsToResource API operation for AWS Database Migration Service.
60//
61// Adds metadata tags to an DMS resource, including replication instance, endpoint,
62// security group, and migration task. These tags can also be used with cost
63// allocation reporting to track cost associated with DMS resources, or used
64// in a Condition statement in an IAM policy for DMS. For more information,
65// see Tag (https://docs.aws.amazon.com/dms/latest/APIReference/API_Tag.html)
66// data type description.
67//
68// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
69// with awserr.Error's Code and Message methods to get detailed information about
70// the error.
71//
72// See the AWS API reference guide for AWS Database Migration Service's
73// API operation AddTagsToResource for usage and error information.
74//
75// Returned Error Types:
76//   * ResourceNotFoundFault
77//   The resource could not be found.
78//
79// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/AddTagsToResource
80func (c *DatabaseMigrationService) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
81	req, out := c.AddTagsToResourceRequest(input)
82	return out, req.Send()
83}
84
85// AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of
86// the ability to pass a context and additional request options.
87//
88// See AddTagsToResource for details on how to use this API operation.
89//
90// The context must be non-nil and will be used for request cancellation. If
91// the context is nil a panic will occur. In the future the SDK may create
92// sub-contexts for http.Requests. See https://golang.org/pkg/context/
93// for more information on using Contexts.
94func (c *DatabaseMigrationService) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) {
95	req, out := c.AddTagsToResourceRequest(input)
96	req.SetContext(ctx)
97	req.ApplyOptions(opts...)
98	return out, req.Send()
99}
100
101const opApplyPendingMaintenanceAction = "ApplyPendingMaintenanceAction"
102
103// ApplyPendingMaintenanceActionRequest generates a "aws/request.Request" representing the
104// client's request for the ApplyPendingMaintenanceAction operation. The "output" return
105// value will be populated with the request's response once the request completes
106// successfully.
107//
108// Use "Send" method on the returned Request to send the API call to the service.
109// the "output" return value is not valid until after Send returns without error.
110//
111// See ApplyPendingMaintenanceAction for more information on using the ApplyPendingMaintenanceAction
112// API call, and error handling.
113//
114// This method is useful when you want to inject custom logic or configuration
115// into the SDK's request lifecycle. Such as custom headers, or retry logic.
116//
117//
118//    // Example sending a request using the ApplyPendingMaintenanceActionRequest method.
119//    req, resp := client.ApplyPendingMaintenanceActionRequest(params)
120//
121//    err := req.Send()
122//    if err == nil { // resp is now filled
123//        fmt.Println(resp)
124//    }
125//
126// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ApplyPendingMaintenanceAction
127func (c *DatabaseMigrationService) ApplyPendingMaintenanceActionRequest(input *ApplyPendingMaintenanceActionInput) (req *request.Request, output *ApplyPendingMaintenanceActionOutput) {
128	op := &request.Operation{
129		Name:       opApplyPendingMaintenanceAction,
130		HTTPMethod: "POST",
131		HTTPPath:   "/",
132	}
133
134	if input == nil {
135		input = &ApplyPendingMaintenanceActionInput{}
136	}
137
138	output = &ApplyPendingMaintenanceActionOutput{}
139	req = c.newRequest(op, input, output)
140	return
141}
142
143// ApplyPendingMaintenanceAction API operation for AWS Database Migration Service.
144//
145// Applies a pending maintenance action to a resource (for example, to a replication
146// instance).
147//
148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
149// with awserr.Error's Code and Message methods to get detailed information about
150// the error.
151//
152// See the AWS API reference guide for AWS Database Migration Service's
153// API operation ApplyPendingMaintenanceAction for usage and error information.
154//
155// Returned Error Types:
156//   * ResourceNotFoundFault
157//   The resource could not be found.
158//
159// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ApplyPendingMaintenanceAction
160func (c *DatabaseMigrationService) ApplyPendingMaintenanceAction(input *ApplyPendingMaintenanceActionInput) (*ApplyPendingMaintenanceActionOutput, error) {
161	req, out := c.ApplyPendingMaintenanceActionRequest(input)
162	return out, req.Send()
163}
164
165// ApplyPendingMaintenanceActionWithContext is the same as ApplyPendingMaintenanceAction with the addition of
166// the ability to pass a context and additional request options.
167//
168// See ApplyPendingMaintenanceAction for details on how to use this API operation.
169//
170// The context must be non-nil and will be used for request cancellation. If
171// the context is nil a panic will occur. In the future the SDK may create
172// sub-contexts for http.Requests. See https://golang.org/pkg/context/
173// for more information on using Contexts.
174func (c *DatabaseMigrationService) ApplyPendingMaintenanceActionWithContext(ctx aws.Context, input *ApplyPendingMaintenanceActionInput, opts ...request.Option) (*ApplyPendingMaintenanceActionOutput, error) {
175	req, out := c.ApplyPendingMaintenanceActionRequest(input)
176	req.SetContext(ctx)
177	req.ApplyOptions(opts...)
178	return out, req.Send()
179}
180
181const opCancelReplicationTaskAssessmentRun = "CancelReplicationTaskAssessmentRun"
182
183// CancelReplicationTaskAssessmentRunRequest generates a "aws/request.Request" representing the
184// client's request for the CancelReplicationTaskAssessmentRun operation. The "output" return
185// value will be populated with the request's response once the request completes
186// successfully.
187//
188// Use "Send" method on the returned Request to send the API call to the service.
189// the "output" return value is not valid until after Send returns without error.
190//
191// See CancelReplicationTaskAssessmentRun for more information on using the CancelReplicationTaskAssessmentRun
192// API call, and error handling.
193//
194// This method is useful when you want to inject custom logic or configuration
195// into the SDK's request lifecycle. Such as custom headers, or retry logic.
196//
197//
198//    // Example sending a request using the CancelReplicationTaskAssessmentRunRequest method.
199//    req, resp := client.CancelReplicationTaskAssessmentRunRequest(params)
200//
201//    err := req.Send()
202//    if err == nil { // resp is now filled
203//        fmt.Println(resp)
204//    }
205//
206// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CancelReplicationTaskAssessmentRun
207func (c *DatabaseMigrationService) CancelReplicationTaskAssessmentRunRequest(input *CancelReplicationTaskAssessmentRunInput) (req *request.Request, output *CancelReplicationTaskAssessmentRunOutput) {
208	op := &request.Operation{
209		Name:       opCancelReplicationTaskAssessmentRun,
210		HTTPMethod: "POST",
211		HTTPPath:   "/",
212	}
213
214	if input == nil {
215		input = &CancelReplicationTaskAssessmentRunInput{}
216	}
217
218	output = &CancelReplicationTaskAssessmentRunOutput{}
219	req = c.newRequest(op, input, output)
220	return
221}
222
223// CancelReplicationTaskAssessmentRun API operation for AWS Database Migration Service.
224//
225// Cancels a single premigration assessment run.
226//
227// This operation prevents any individual assessments from running if they haven't
228// started running. It also attempts to cancel any individual assessments that
229// are currently running.
230//
231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
232// with awserr.Error's Code and Message methods to get detailed information about
233// the error.
234//
235// See the AWS API reference guide for AWS Database Migration Service's
236// API operation CancelReplicationTaskAssessmentRun for usage and error information.
237//
238// Returned Error Types:
239//   * AccessDeniedFault
240//   DMS was denied access to the endpoint. Check that the role is correctly configured.
241//
242//   * ResourceNotFoundFault
243//   The resource could not be found.
244//
245//   * InvalidResourceStateFault
246//   The resource is in a state that prevents it from being used for database
247//   migration.
248//
249// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CancelReplicationTaskAssessmentRun
250func (c *DatabaseMigrationService) CancelReplicationTaskAssessmentRun(input *CancelReplicationTaskAssessmentRunInput) (*CancelReplicationTaskAssessmentRunOutput, error) {
251	req, out := c.CancelReplicationTaskAssessmentRunRequest(input)
252	return out, req.Send()
253}
254
255// CancelReplicationTaskAssessmentRunWithContext is the same as CancelReplicationTaskAssessmentRun with the addition of
256// the ability to pass a context and additional request options.
257//
258// See CancelReplicationTaskAssessmentRun for details on how to use this API operation.
259//
260// The context must be non-nil and will be used for request cancellation. If
261// the context is nil a panic will occur. In the future the SDK may create
262// sub-contexts for http.Requests. See https://golang.org/pkg/context/
263// for more information on using Contexts.
264func (c *DatabaseMigrationService) CancelReplicationTaskAssessmentRunWithContext(ctx aws.Context, input *CancelReplicationTaskAssessmentRunInput, opts ...request.Option) (*CancelReplicationTaskAssessmentRunOutput, error) {
265	req, out := c.CancelReplicationTaskAssessmentRunRequest(input)
266	req.SetContext(ctx)
267	req.ApplyOptions(opts...)
268	return out, req.Send()
269}
270
271const opCreateEndpoint = "CreateEndpoint"
272
273// CreateEndpointRequest generates a "aws/request.Request" representing the
274// client's request for the CreateEndpoint operation. The "output" return
275// value will be populated with the request's response once the request completes
276// successfully.
277//
278// Use "Send" method on the returned Request to send the API call to the service.
279// the "output" return value is not valid until after Send returns without error.
280//
281// See CreateEndpoint for more information on using the CreateEndpoint
282// API call, and error handling.
283//
284// This method is useful when you want to inject custom logic or configuration
285// into the SDK's request lifecycle. Such as custom headers, or retry logic.
286//
287//
288//    // Example sending a request using the CreateEndpointRequest method.
289//    req, resp := client.CreateEndpointRequest(params)
290//
291//    err := req.Send()
292//    if err == nil { // resp is now filled
293//        fmt.Println(resp)
294//    }
295//
296// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateEndpoint
297func (c *DatabaseMigrationService) CreateEndpointRequest(input *CreateEndpointInput) (req *request.Request, output *CreateEndpointOutput) {
298	op := &request.Operation{
299		Name:       opCreateEndpoint,
300		HTTPMethod: "POST",
301		HTTPPath:   "/",
302	}
303
304	if input == nil {
305		input = &CreateEndpointInput{}
306	}
307
308	output = &CreateEndpointOutput{}
309	req = c.newRequest(op, input, output)
310	return
311}
312
313// CreateEndpoint API operation for AWS Database Migration Service.
314//
315// Creates an endpoint using the provided settings.
316//
317// For a MySQL source or target endpoint, don't explicitly specify the database
318// using the DatabaseName request parameter on the CreateEndpoint API call.
319// Specifying DatabaseName when you create a MySQL endpoint replicates all the
320// task tables to this single database. For MySQL endpoints, you specify the
321// database only when you specify the schema in the table-mapping rules of the
322// DMS task.
323//
324// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
325// with awserr.Error's Code and Message methods to get detailed information about
326// the error.
327//
328// See the AWS API reference guide for AWS Database Migration Service's
329// API operation CreateEndpoint for usage and error information.
330//
331// Returned Error Types:
332//   * KMSKeyNotAccessibleFault
333//   DMS cannot access the KMS key.
334//
335//   * ResourceAlreadyExistsFault
336//   The resource you are attempting to create already exists.
337//
338//   * ResourceQuotaExceededFault
339//   The quota for this resource quota has been exceeded.
340//
341//   * InvalidResourceStateFault
342//   The resource is in a state that prevents it from being used for database
343//   migration.
344//
345//   * ResourceNotFoundFault
346//   The resource could not be found.
347//
348//   * AccessDeniedFault
349//   DMS was denied access to the endpoint. Check that the role is correctly configured.
350//
351//   * S3AccessDeniedFault
352//   Insufficient privileges are preventing access to an Amazon S3 object.
353//
354// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateEndpoint
355func (c *DatabaseMigrationService) CreateEndpoint(input *CreateEndpointInput) (*CreateEndpointOutput, error) {
356	req, out := c.CreateEndpointRequest(input)
357	return out, req.Send()
358}
359
360// CreateEndpointWithContext is the same as CreateEndpoint with the addition of
361// the ability to pass a context and additional request options.
362//
363// See CreateEndpoint for details on how to use this API operation.
364//
365// The context must be non-nil and will be used for request cancellation. If
366// the context is nil a panic will occur. In the future the SDK may create
367// sub-contexts for http.Requests. See https://golang.org/pkg/context/
368// for more information on using Contexts.
369func (c *DatabaseMigrationService) CreateEndpointWithContext(ctx aws.Context, input *CreateEndpointInput, opts ...request.Option) (*CreateEndpointOutput, error) {
370	req, out := c.CreateEndpointRequest(input)
371	req.SetContext(ctx)
372	req.ApplyOptions(opts...)
373	return out, req.Send()
374}
375
376const opCreateEventSubscription = "CreateEventSubscription"
377
378// CreateEventSubscriptionRequest generates a "aws/request.Request" representing the
379// client's request for the CreateEventSubscription operation. The "output" return
380// value will be populated with the request's response once the request completes
381// successfully.
382//
383// Use "Send" method on the returned Request to send the API call to the service.
384// the "output" return value is not valid until after Send returns without error.
385//
386// See CreateEventSubscription for more information on using the CreateEventSubscription
387// API call, and error handling.
388//
389// This method is useful when you want to inject custom logic or configuration
390// into the SDK's request lifecycle. Such as custom headers, or retry logic.
391//
392//
393//    // Example sending a request using the CreateEventSubscriptionRequest method.
394//    req, resp := client.CreateEventSubscriptionRequest(params)
395//
396//    err := req.Send()
397//    if err == nil { // resp is now filled
398//        fmt.Println(resp)
399//    }
400//
401// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateEventSubscription
402func (c *DatabaseMigrationService) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) {
403	op := &request.Operation{
404		Name:       opCreateEventSubscription,
405		HTTPMethod: "POST",
406		HTTPPath:   "/",
407	}
408
409	if input == nil {
410		input = &CreateEventSubscriptionInput{}
411	}
412
413	output = &CreateEventSubscriptionOutput{}
414	req = c.newRequest(op, input, output)
415	return
416}
417
418// CreateEventSubscription API operation for AWS Database Migration Service.
419//
420// Creates an DMS event notification subscription.
421//
422// You can specify the type of source (SourceType) you want to be notified of,
423// provide a list of DMS source IDs (SourceIds) that triggers the events, and
424// provide a list of event categories (EventCategories) for events you want
425// to be notified of. If you specify both the SourceType and SourceIds, such
426// as SourceType = replication-instance and SourceIdentifier = my-replinstance,
427// you will be notified of all the replication instance events for the specified
428// source. If you specify a SourceType but don't specify a SourceIdentifier,
429// you receive notice of the events for that source type for all your DMS sources.
430// If you don't specify either SourceType nor SourceIdentifier, you will be
431// notified of events generated from all DMS sources belonging to your customer
432// account.
433//
434// For more information about DMS events, see Working with Events and Notifications
435// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Events.html) in the
436// Database Migration Service User Guide.
437//
438// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
439// with awserr.Error's Code and Message methods to get detailed information about
440// the error.
441//
442// See the AWS API reference guide for AWS Database Migration Service's
443// API operation CreateEventSubscription for usage and error information.
444//
445// Returned Error Types:
446//   * ResourceQuotaExceededFault
447//   The quota for this resource quota has been exceeded.
448//
449//   * ResourceNotFoundFault
450//   The resource could not be found.
451//
452//   * ResourceAlreadyExistsFault
453//   The resource you are attempting to create already exists.
454//
455//   * SNSInvalidTopicFault
456//   The SNS topic is invalid.
457//
458//   * SNSNoAuthorizationFault
459//   You are not authorized for the SNS subscription.
460//
461//   * KMSAccessDeniedFault
462//   The ciphertext references a key that doesn't exist or that the DMS account
463//   doesn't have access to.
464//
465//   * KMSDisabledFault
466//   The specified master key (CMK) isn't enabled.
467//
468//   * KMSInvalidStateFault
469//   The state of the specified KMS resource isn't valid for this request.
470//
471//   * KMSNotFoundFault
472//   The specified KMS entity or resource can't be found.
473//
474//   * KMSThrottlingFault
475//   This request triggered KMS request throttling.
476//
477// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateEventSubscription
478func (c *DatabaseMigrationService) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) {
479	req, out := c.CreateEventSubscriptionRequest(input)
480	return out, req.Send()
481}
482
483// CreateEventSubscriptionWithContext is the same as CreateEventSubscription with the addition of
484// the ability to pass a context and additional request options.
485//
486// See CreateEventSubscription for details on how to use this API operation.
487//
488// The context must be non-nil and will be used for request cancellation. If
489// the context is nil a panic will occur. In the future the SDK may create
490// sub-contexts for http.Requests. See https://golang.org/pkg/context/
491// for more information on using Contexts.
492func (c *DatabaseMigrationService) CreateEventSubscriptionWithContext(ctx aws.Context, input *CreateEventSubscriptionInput, opts ...request.Option) (*CreateEventSubscriptionOutput, error) {
493	req, out := c.CreateEventSubscriptionRequest(input)
494	req.SetContext(ctx)
495	req.ApplyOptions(opts...)
496	return out, req.Send()
497}
498
499const opCreateReplicationInstance = "CreateReplicationInstance"
500
501// CreateReplicationInstanceRequest generates a "aws/request.Request" representing the
502// client's request for the CreateReplicationInstance operation. The "output" return
503// value will be populated with the request's response once the request completes
504// successfully.
505//
506// Use "Send" method on the returned Request to send the API call to the service.
507// the "output" return value is not valid until after Send returns without error.
508//
509// See CreateReplicationInstance for more information on using the CreateReplicationInstance
510// API call, and error handling.
511//
512// This method is useful when you want to inject custom logic or configuration
513// into the SDK's request lifecycle. Such as custom headers, or retry logic.
514//
515//
516//    // Example sending a request using the CreateReplicationInstanceRequest method.
517//    req, resp := client.CreateReplicationInstanceRequest(params)
518//
519//    err := req.Send()
520//    if err == nil { // resp is now filled
521//        fmt.Println(resp)
522//    }
523//
524// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateReplicationInstance
525func (c *DatabaseMigrationService) CreateReplicationInstanceRequest(input *CreateReplicationInstanceInput) (req *request.Request, output *CreateReplicationInstanceOutput) {
526	op := &request.Operation{
527		Name:       opCreateReplicationInstance,
528		HTTPMethod: "POST",
529		HTTPPath:   "/",
530	}
531
532	if input == nil {
533		input = &CreateReplicationInstanceInput{}
534	}
535
536	output = &CreateReplicationInstanceOutput{}
537	req = c.newRequest(op, input, output)
538	return
539}
540
541// CreateReplicationInstance API operation for AWS Database Migration Service.
542//
543// Creates the replication instance using the specified parameters.
544//
545// DMS requires that your account have certain roles with appropriate permissions
546// before you can create a replication instance. For information on the required
547// roles, see Creating the IAM Roles to Use With the CLI and DMS API (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.APIRole).
548// For information on the required permissions, see IAM Permissions Needed to
549// Use DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.IAMPermissions).
550//
551// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
552// with awserr.Error's Code and Message methods to get detailed information about
553// the error.
554//
555// See the AWS API reference guide for AWS Database Migration Service's
556// API operation CreateReplicationInstance for usage and error information.
557//
558// Returned Error Types:
559//   * AccessDeniedFault
560//   DMS was denied access to the endpoint. Check that the role is correctly configured.
561//
562//   * ResourceAlreadyExistsFault
563//   The resource you are attempting to create already exists.
564//
565//   * InsufficientResourceCapacityFault
566//   There are not enough resources allocated to the database migration.
567//
568//   * ResourceQuotaExceededFault
569//   The quota for this resource quota has been exceeded.
570//
571//   * StorageQuotaExceededFault
572//   The storage quota has been exceeded.
573//
574//   * ResourceNotFoundFault
575//   The resource could not be found.
576//
577//   * ReplicationSubnetGroupDoesNotCoverEnoughAZs
578//   The replication subnet group does not cover enough Availability Zones (AZs).
579//   Edit the replication subnet group and add more AZs.
580//
581//   * InvalidResourceStateFault
582//   The resource is in a state that prevents it from being used for database
583//   migration.
584//
585//   * InvalidSubnet
586//   The subnet provided is invalid.
587//
588//   * KMSKeyNotAccessibleFault
589//   DMS cannot access the KMS key.
590//
591// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateReplicationInstance
592func (c *DatabaseMigrationService) CreateReplicationInstance(input *CreateReplicationInstanceInput) (*CreateReplicationInstanceOutput, error) {
593	req, out := c.CreateReplicationInstanceRequest(input)
594	return out, req.Send()
595}
596
597// CreateReplicationInstanceWithContext is the same as CreateReplicationInstance with the addition of
598// the ability to pass a context and additional request options.
599//
600// See CreateReplicationInstance for details on how to use this API operation.
601//
602// The context must be non-nil and will be used for request cancellation. If
603// the context is nil a panic will occur. In the future the SDK may create
604// sub-contexts for http.Requests. See https://golang.org/pkg/context/
605// for more information on using Contexts.
606func (c *DatabaseMigrationService) CreateReplicationInstanceWithContext(ctx aws.Context, input *CreateReplicationInstanceInput, opts ...request.Option) (*CreateReplicationInstanceOutput, error) {
607	req, out := c.CreateReplicationInstanceRequest(input)
608	req.SetContext(ctx)
609	req.ApplyOptions(opts...)
610	return out, req.Send()
611}
612
613const opCreateReplicationSubnetGroup = "CreateReplicationSubnetGroup"
614
615// CreateReplicationSubnetGroupRequest generates a "aws/request.Request" representing the
616// client's request for the CreateReplicationSubnetGroup operation. The "output" return
617// value will be populated with the request's response once the request completes
618// successfully.
619//
620// Use "Send" method on the returned Request to send the API call to the service.
621// the "output" return value is not valid until after Send returns without error.
622//
623// See CreateReplicationSubnetGroup for more information on using the CreateReplicationSubnetGroup
624// API call, and error handling.
625//
626// This method is useful when you want to inject custom logic or configuration
627// into the SDK's request lifecycle. Such as custom headers, or retry logic.
628//
629//
630//    // Example sending a request using the CreateReplicationSubnetGroupRequest method.
631//    req, resp := client.CreateReplicationSubnetGroupRequest(params)
632//
633//    err := req.Send()
634//    if err == nil { // resp is now filled
635//        fmt.Println(resp)
636//    }
637//
638// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateReplicationSubnetGroup
639func (c *DatabaseMigrationService) CreateReplicationSubnetGroupRequest(input *CreateReplicationSubnetGroupInput) (req *request.Request, output *CreateReplicationSubnetGroupOutput) {
640	op := &request.Operation{
641		Name:       opCreateReplicationSubnetGroup,
642		HTTPMethod: "POST",
643		HTTPPath:   "/",
644	}
645
646	if input == nil {
647		input = &CreateReplicationSubnetGroupInput{}
648	}
649
650	output = &CreateReplicationSubnetGroupOutput{}
651	req = c.newRequest(op, input, output)
652	return
653}
654
655// CreateReplicationSubnetGroup API operation for AWS Database Migration Service.
656//
657// Creates a replication subnet group given a list of the subnet IDs in a VPC.
658//
659// The VPC needs to have at least one subnet in at least two availability zones
660// in the Amazon Web Services Region, otherwise the service will throw a ReplicationSubnetGroupDoesNotCoverEnoughAZs
661// exception.
662//
663// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
664// with awserr.Error's Code and Message methods to get detailed information about
665// the error.
666//
667// See the AWS API reference guide for AWS Database Migration Service's
668// API operation CreateReplicationSubnetGroup for usage and error information.
669//
670// Returned Error Types:
671//   * AccessDeniedFault
672//   DMS was denied access to the endpoint. Check that the role is correctly configured.
673//
674//   * ResourceAlreadyExistsFault
675//   The resource you are attempting to create already exists.
676//
677//   * ResourceNotFoundFault
678//   The resource could not be found.
679//
680//   * ResourceQuotaExceededFault
681//   The quota for this resource quota has been exceeded.
682//
683//   * ReplicationSubnetGroupDoesNotCoverEnoughAZs
684//   The replication subnet group does not cover enough Availability Zones (AZs).
685//   Edit the replication subnet group and add more AZs.
686//
687//   * InvalidSubnet
688//   The subnet provided is invalid.
689//
690// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateReplicationSubnetGroup
691func (c *DatabaseMigrationService) CreateReplicationSubnetGroup(input *CreateReplicationSubnetGroupInput) (*CreateReplicationSubnetGroupOutput, error) {
692	req, out := c.CreateReplicationSubnetGroupRequest(input)
693	return out, req.Send()
694}
695
696// CreateReplicationSubnetGroupWithContext is the same as CreateReplicationSubnetGroup with the addition of
697// the ability to pass a context and additional request options.
698//
699// See CreateReplicationSubnetGroup for details on how to use this API operation.
700//
701// The context must be non-nil and will be used for request cancellation. If
702// the context is nil a panic will occur. In the future the SDK may create
703// sub-contexts for http.Requests. See https://golang.org/pkg/context/
704// for more information on using Contexts.
705func (c *DatabaseMigrationService) CreateReplicationSubnetGroupWithContext(ctx aws.Context, input *CreateReplicationSubnetGroupInput, opts ...request.Option) (*CreateReplicationSubnetGroupOutput, error) {
706	req, out := c.CreateReplicationSubnetGroupRequest(input)
707	req.SetContext(ctx)
708	req.ApplyOptions(opts...)
709	return out, req.Send()
710}
711
712const opCreateReplicationTask = "CreateReplicationTask"
713
714// CreateReplicationTaskRequest generates a "aws/request.Request" representing the
715// client's request for the CreateReplicationTask operation. The "output" return
716// value will be populated with the request's response once the request completes
717// successfully.
718//
719// Use "Send" method on the returned Request to send the API call to the service.
720// the "output" return value is not valid until after Send returns without error.
721//
722// See CreateReplicationTask for more information on using the CreateReplicationTask
723// API call, and error handling.
724//
725// This method is useful when you want to inject custom logic or configuration
726// into the SDK's request lifecycle. Such as custom headers, or retry logic.
727//
728//
729//    // Example sending a request using the CreateReplicationTaskRequest method.
730//    req, resp := client.CreateReplicationTaskRequest(params)
731//
732//    err := req.Send()
733//    if err == nil { // resp is now filled
734//        fmt.Println(resp)
735//    }
736//
737// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateReplicationTask
738func (c *DatabaseMigrationService) CreateReplicationTaskRequest(input *CreateReplicationTaskInput) (req *request.Request, output *CreateReplicationTaskOutput) {
739	op := &request.Operation{
740		Name:       opCreateReplicationTask,
741		HTTPMethod: "POST",
742		HTTPPath:   "/",
743	}
744
745	if input == nil {
746		input = &CreateReplicationTaskInput{}
747	}
748
749	output = &CreateReplicationTaskOutput{}
750	req = c.newRequest(op, input, output)
751	return
752}
753
754// CreateReplicationTask API operation for AWS Database Migration Service.
755//
756// Creates a replication task using the specified parameters.
757//
758// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
759// with awserr.Error's Code and Message methods to get detailed information about
760// the error.
761//
762// See the AWS API reference guide for AWS Database Migration Service's
763// API operation CreateReplicationTask for usage and error information.
764//
765// Returned Error Types:
766//   * AccessDeniedFault
767//   DMS was denied access to the endpoint. Check that the role is correctly configured.
768//
769//   * InvalidResourceStateFault
770//   The resource is in a state that prevents it from being used for database
771//   migration.
772//
773//   * ResourceAlreadyExistsFault
774//   The resource you are attempting to create already exists.
775//
776//   * ResourceNotFoundFault
777//   The resource could not be found.
778//
779//   * KMSKeyNotAccessibleFault
780//   DMS cannot access the KMS key.
781//
782//   * ResourceQuotaExceededFault
783//   The quota for this resource quota has been exceeded.
784//
785// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateReplicationTask
786func (c *DatabaseMigrationService) CreateReplicationTask(input *CreateReplicationTaskInput) (*CreateReplicationTaskOutput, error) {
787	req, out := c.CreateReplicationTaskRequest(input)
788	return out, req.Send()
789}
790
791// CreateReplicationTaskWithContext is the same as CreateReplicationTask with the addition of
792// the ability to pass a context and additional request options.
793//
794// See CreateReplicationTask for details on how to use this API operation.
795//
796// The context must be non-nil and will be used for request cancellation. If
797// the context is nil a panic will occur. In the future the SDK may create
798// sub-contexts for http.Requests. See https://golang.org/pkg/context/
799// for more information on using Contexts.
800func (c *DatabaseMigrationService) CreateReplicationTaskWithContext(ctx aws.Context, input *CreateReplicationTaskInput, opts ...request.Option) (*CreateReplicationTaskOutput, error) {
801	req, out := c.CreateReplicationTaskRequest(input)
802	req.SetContext(ctx)
803	req.ApplyOptions(opts...)
804	return out, req.Send()
805}
806
807const opDeleteCertificate = "DeleteCertificate"
808
809// DeleteCertificateRequest generates a "aws/request.Request" representing the
810// client's request for the DeleteCertificate operation. The "output" return
811// value will be populated with the request's response once the request completes
812// successfully.
813//
814// Use "Send" method on the returned Request to send the API call to the service.
815// the "output" return value is not valid until after Send returns without error.
816//
817// See DeleteCertificate for more information on using the DeleteCertificate
818// API call, and error handling.
819//
820// This method is useful when you want to inject custom logic or configuration
821// into the SDK's request lifecycle. Such as custom headers, or retry logic.
822//
823//
824//    // Example sending a request using the DeleteCertificateRequest method.
825//    req, resp := client.DeleteCertificateRequest(params)
826//
827//    err := req.Send()
828//    if err == nil { // resp is now filled
829//        fmt.Println(resp)
830//    }
831//
832// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteCertificate
833func (c *DatabaseMigrationService) DeleteCertificateRequest(input *DeleteCertificateInput) (req *request.Request, output *DeleteCertificateOutput) {
834	op := &request.Operation{
835		Name:       opDeleteCertificate,
836		HTTPMethod: "POST",
837		HTTPPath:   "/",
838	}
839
840	if input == nil {
841		input = &DeleteCertificateInput{}
842	}
843
844	output = &DeleteCertificateOutput{}
845	req = c.newRequest(op, input, output)
846	return
847}
848
849// DeleteCertificate API operation for AWS Database Migration Service.
850//
851// Deletes the specified certificate.
852//
853// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
854// with awserr.Error's Code and Message methods to get detailed information about
855// the error.
856//
857// See the AWS API reference guide for AWS Database Migration Service's
858// API operation DeleteCertificate for usage and error information.
859//
860// Returned Error Types:
861//   * ResourceNotFoundFault
862//   The resource could not be found.
863//
864//   * InvalidResourceStateFault
865//   The resource is in a state that prevents it from being used for database
866//   migration.
867//
868// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteCertificate
869func (c *DatabaseMigrationService) DeleteCertificate(input *DeleteCertificateInput) (*DeleteCertificateOutput, error) {
870	req, out := c.DeleteCertificateRequest(input)
871	return out, req.Send()
872}
873
874// DeleteCertificateWithContext is the same as DeleteCertificate with the addition of
875// the ability to pass a context and additional request options.
876//
877// See DeleteCertificate for details on how to use this API operation.
878//
879// The context must be non-nil and will be used for request cancellation. If
880// the context is nil a panic will occur. In the future the SDK may create
881// sub-contexts for http.Requests. See https://golang.org/pkg/context/
882// for more information on using Contexts.
883func (c *DatabaseMigrationService) DeleteCertificateWithContext(ctx aws.Context, input *DeleteCertificateInput, opts ...request.Option) (*DeleteCertificateOutput, error) {
884	req, out := c.DeleteCertificateRequest(input)
885	req.SetContext(ctx)
886	req.ApplyOptions(opts...)
887	return out, req.Send()
888}
889
890const opDeleteConnection = "DeleteConnection"
891
892// DeleteConnectionRequest generates a "aws/request.Request" representing the
893// client's request for the DeleteConnection operation. The "output" return
894// value will be populated with the request's response once the request completes
895// successfully.
896//
897// Use "Send" method on the returned Request to send the API call to the service.
898// the "output" return value is not valid until after Send returns without error.
899//
900// See DeleteConnection for more information on using the DeleteConnection
901// API call, and error handling.
902//
903// This method is useful when you want to inject custom logic or configuration
904// into the SDK's request lifecycle. Such as custom headers, or retry logic.
905//
906//
907//    // Example sending a request using the DeleteConnectionRequest method.
908//    req, resp := client.DeleteConnectionRequest(params)
909//
910//    err := req.Send()
911//    if err == nil { // resp is now filled
912//        fmt.Println(resp)
913//    }
914//
915// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteConnection
916func (c *DatabaseMigrationService) DeleteConnectionRequest(input *DeleteConnectionInput) (req *request.Request, output *DeleteConnectionOutput) {
917	op := &request.Operation{
918		Name:       opDeleteConnection,
919		HTTPMethod: "POST",
920		HTTPPath:   "/",
921	}
922
923	if input == nil {
924		input = &DeleteConnectionInput{}
925	}
926
927	output = &DeleteConnectionOutput{}
928	req = c.newRequest(op, input, output)
929	return
930}
931
932// DeleteConnection API operation for AWS Database Migration Service.
933//
934// Deletes the connection between a replication instance and an endpoint.
935//
936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
937// with awserr.Error's Code and Message methods to get detailed information about
938// the error.
939//
940// See the AWS API reference guide for AWS Database Migration Service's
941// API operation DeleteConnection for usage and error information.
942//
943// Returned Error Types:
944//   * AccessDeniedFault
945//   DMS was denied access to the endpoint. Check that the role is correctly configured.
946//
947//   * ResourceNotFoundFault
948//   The resource could not be found.
949//
950//   * InvalidResourceStateFault
951//   The resource is in a state that prevents it from being used for database
952//   migration.
953//
954// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteConnection
955func (c *DatabaseMigrationService) DeleteConnection(input *DeleteConnectionInput) (*DeleteConnectionOutput, error) {
956	req, out := c.DeleteConnectionRequest(input)
957	return out, req.Send()
958}
959
960// DeleteConnectionWithContext is the same as DeleteConnection with the addition of
961// the ability to pass a context and additional request options.
962//
963// See DeleteConnection for details on how to use this API operation.
964//
965// The context must be non-nil and will be used for request cancellation. If
966// the context is nil a panic will occur. In the future the SDK may create
967// sub-contexts for http.Requests. See https://golang.org/pkg/context/
968// for more information on using Contexts.
969func (c *DatabaseMigrationService) DeleteConnectionWithContext(ctx aws.Context, input *DeleteConnectionInput, opts ...request.Option) (*DeleteConnectionOutput, error) {
970	req, out := c.DeleteConnectionRequest(input)
971	req.SetContext(ctx)
972	req.ApplyOptions(opts...)
973	return out, req.Send()
974}
975
976const opDeleteEndpoint = "DeleteEndpoint"
977
978// DeleteEndpointRequest generates a "aws/request.Request" representing the
979// client's request for the DeleteEndpoint operation. The "output" return
980// value will be populated with the request's response once the request completes
981// successfully.
982//
983// Use "Send" method on the returned Request to send the API call to the service.
984// the "output" return value is not valid until after Send returns without error.
985//
986// See DeleteEndpoint for more information on using the DeleteEndpoint
987// API call, and error handling.
988//
989// This method is useful when you want to inject custom logic or configuration
990// into the SDK's request lifecycle. Such as custom headers, or retry logic.
991//
992//
993//    // Example sending a request using the DeleteEndpointRequest method.
994//    req, resp := client.DeleteEndpointRequest(params)
995//
996//    err := req.Send()
997//    if err == nil { // resp is now filled
998//        fmt.Println(resp)
999//    }
1000//
1001// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteEndpoint
1002func (c *DatabaseMigrationService) DeleteEndpointRequest(input *DeleteEndpointInput) (req *request.Request, output *DeleteEndpointOutput) {
1003	op := &request.Operation{
1004		Name:       opDeleteEndpoint,
1005		HTTPMethod: "POST",
1006		HTTPPath:   "/",
1007	}
1008
1009	if input == nil {
1010		input = &DeleteEndpointInput{}
1011	}
1012
1013	output = &DeleteEndpointOutput{}
1014	req = c.newRequest(op, input, output)
1015	return
1016}
1017
1018// DeleteEndpoint API operation for AWS Database Migration Service.
1019//
1020// Deletes the specified endpoint.
1021//
1022// All tasks associated with the endpoint must be deleted before you can delete
1023// the endpoint.
1024//
1025// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1026// with awserr.Error's Code and Message methods to get detailed information about
1027// the error.
1028//
1029// See the AWS API reference guide for AWS Database Migration Service's
1030// API operation DeleteEndpoint for usage and error information.
1031//
1032// Returned Error Types:
1033//   * ResourceNotFoundFault
1034//   The resource could not be found.
1035//
1036//   * InvalidResourceStateFault
1037//   The resource is in a state that prevents it from being used for database
1038//   migration.
1039//
1040// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteEndpoint
1041func (c *DatabaseMigrationService) DeleteEndpoint(input *DeleteEndpointInput) (*DeleteEndpointOutput, error) {
1042	req, out := c.DeleteEndpointRequest(input)
1043	return out, req.Send()
1044}
1045
1046// DeleteEndpointWithContext is the same as DeleteEndpoint with the addition of
1047// the ability to pass a context and additional request options.
1048//
1049// See DeleteEndpoint for details on how to use this API operation.
1050//
1051// The context must be non-nil and will be used for request cancellation. If
1052// the context is nil a panic will occur. In the future the SDK may create
1053// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1054// for more information on using Contexts.
1055func (c *DatabaseMigrationService) DeleteEndpointWithContext(ctx aws.Context, input *DeleteEndpointInput, opts ...request.Option) (*DeleteEndpointOutput, error) {
1056	req, out := c.DeleteEndpointRequest(input)
1057	req.SetContext(ctx)
1058	req.ApplyOptions(opts...)
1059	return out, req.Send()
1060}
1061
1062const opDeleteEventSubscription = "DeleteEventSubscription"
1063
1064// DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the
1065// client's request for the DeleteEventSubscription operation. The "output" return
1066// value will be populated with the request's response once the request completes
1067// successfully.
1068//
1069// Use "Send" method on the returned Request to send the API call to the service.
1070// the "output" return value is not valid until after Send returns without error.
1071//
1072// See DeleteEventSubscription for more information on using the DeleteEventSubscription
1073// API call, and error handling.
1074//
1075// This method is useful when you want to inject custom logic or configuration
1076// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1077//
1078//
1079//    // Example sending a request using the DeleteEventSubscriptionRequest method.
1080//    req, resp := client.DeleteEventSubscriptionRequest(params)
1081//
1082//    err := req.Send()
1083//    if err == nil { // resp is now filled
1084//        fmt.Println(resp)
1085//    }
1086//
1087// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteEventSubscription
1088func (c *DatabaseMigrationService) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) {
1089	op := &request.Operation{
1090		Name:       opDeleteEventSubscription,
1091		HTTPMethod: "POST",
1092		HTTPPath:   "/",
1093	}
1094
1095	if input == nil {
1096		input = &DeleteEventSubscriptionInput{}
1097	}
1098
1099	output = &DeleteEventSubscriptionOutput{}
1100	req = c.newRequest(op, input, output)
1101	return
1102}
1103
1104// DeleteEventSubscription API operation for AWS Database Migration Service.
1105//
1106// Deletes an DMS event subscription.
1107//
1108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1109// with awserr.Error's Code and Message methods to get detailed information about
1110// the error.
1111//
1112// See the AWS API reference guide for AWS Database Migration Service's
1113// API operation DeleteEventSubscription for usage and error information.
1114//
1115// Returned Error Types:
1116//   * ResourceNotFoundFault
1117//   The resource could not be found.
1118//
1119//   * InvalidResourceStateFault
1120//   The resource is in a state that prevents it from being used for database
1121//   migration.
1122//
1123// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteEventSubscription
1124func (c *DatabaseMigrationService) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) {
1125	req, out := c.DeleteEventSubscriptionRequest(input)
1126	return out, req.Send()
1127}
1128
1129// DeleteEventSubscriptionWithContext is the same as DeleteEventSubscription with the addition of
1130// the ability to pass a context and additional request options.
1131//
1132// See DeleteEventSubscription for details on how to use this API operation.
1133//
1134// The context must be non-nil and will be used for request cancellation. If
1135// the context is nil a panic will occur. In the future the SDK may create
1136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1137// for more information on using Contexts.
1138func (c *DatabaseMigrationService) DeleteEventSubscriptionWithContext(ctx aws.Context, input *DeleteEventSubscriptionInput, opts ...request.Option) (*DeleteEventSubscriptionOutput, error) {
1139	req, out := c.DeleteEventSubscriptionRequest(input)
1140	req.SetContext(ctx)
1141	req.ApplyOptions(opts...)
1142	return out, req.Send()
1143}
1144
1145const opDeleteReplicationInstance = "DeleteReplicationInstance"
1146
1147// DeleteReplicationInstanceRequest generates a "aws/request.Request" representing the
1148// client's request for the DeleteReplicationInstance operation. The "output" return
1149// value will be populated with the request's response once the request completes
1150// successfully.
1151//
1152// Use "Send" method on the returned Request to send the API call to the service.
1153// the "output" return value is not valid until after Send returns without error.
1154//
1155// See DeleteReplicationInstance for more information on using the DeleteReplicationInstance
1156// API call, and error handling.
1157//
1158// This method is useful when you want to inject custom logic or configuration
1159// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1160//
1161//
1162//    // Example sending a request using the DeleteReplicationInstanceRequest method.
1163//    req, resp := client.DeleteReplicationInstanceRequest(params)
1164//
1165//    err := req.Send()
1166//    if err == nil { // resp is now filled
1167//        fmt.Println(resp)
1168//    }
1169//
1170// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationInstance
1171func (c *DatabaseMigrationService) DeleteReplicationInstanceRequest(input *DeleteReplicationInstanceInput) (req *request.Request, output *DeleteReplicationInstanceOutput) {
1172	op := &request.Operation{
1173		Name:       opDeleteReplicationInstance,
1174		HTTPMethod: "POST",
1175		HTTPPath:   "/",
1176	}
1177
1178	if input == nil {
1179		input = &DeleteReplicationInstanceInput{}
1180	}
1181
1182	output = &DeleteReplicationInstanceOutput{}
1183	req = c.newRequest(op, input, output)
1184	return
1185}
1186
1187// DeleteReplicationInstance API operation for AWS Database Migration Service.
1188//
1189// Deletes the specified replication instance.
1190//
1191// You must delete any migration tasks that are associated with the replication
1192// instance before you can delete it.
1193//
1194// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1195// with awserr.Error's Code and Message methods to get detailed information about
1196// the error.
1197//
1198// See the AWS API reference guide for AWS Database Migration Service's
1199// API operation DeleteReplicationInstance for usage and error information.
1200//
1201// Returned Error Types:
1202//   * InvalidResourceStateFault
1203//   The resource is in a state that prevents it from being used for database
1204//   migration.
1205//
1206//   * ResourceNotFoundFault
1207//   The resource could not be found.
1208//
1209// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationInstance
1210func (c *DatabaseMigrationService) DeleteReplicationInstance(input *DeleteReplicationInstanceInput) (*DeleteReplicationInstanceOutput, error) {
1211	req, out := c.DeleteReplicationInstanceRequest(input)
1212	return out, req.Send()
1213}
1214
1215// DeleteReplicationInstanceWithContext is the same as DeleteReplicationInstance with the addition of
1216// the ability to pass a context and additional request options.
1217//
1218// See DeleteReplicationInstance for details on how to use this API operation.
1219//
1220// The context must be non-nil and will be used for request cancellation. If
1221// the context is nil a panic will occur. In the future the SDK may create
1222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1223// for more information on using Contexts.
1224func (c *DatabaseMigrationService) DeleteReplicationInstanceWithContext(ctx aws.Context, input *DeleteReplicationInstanceInput, opts ...request.Option) (*DeleteReplicationInstanceOutput, error) {
1225	req, out := c.DeleteReplicationInstanceRequest(input)
1226	req.SetContext(ctx)
1227	req.ApplyOptions(opts...)
1228	return out, req.Send()
1229}
1230
1231const opDeleteReplicationSubnetGroup = "DeleteReplicationSubnetGroup"
1232
1233// DeleteReplicationSubnetGroupRequest generates a "aws/request.Request" representing the
1234// client's request for the DeleteReplicationSubnetGroup operation. The "output" return
1235// value will be populated with the request's response once the request completes
1236// successfully.
1237//
1238// Use "Send" method on the returned Request to send the API call to the service.
1239// the "output" return value is not valid until after Send returns without error.
1240//
1241// See DeleteReplicationSubnetGroup for more information on using the DeleteReplicationSubnetGroup
1242// API call, and error handling.
1243//
1244// This method is useful when you want to inject custom logic or configuration
1245// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1246//
1247//
1248//    // Example sending a request using the DeleteReplicationSubnetGroupRequest method.
1249//    req, resp := client.DeleteReplicationSubnetGroupRequest(params)
1250//
1251//    err := req.Send()
1252//    if err == nil { // resp is now filled
1253//        fmt.Println(resp)
1254//    }
1255//
1256// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationSubnetGroup
1257func (c *DatabaseMigrationService) DeleteReplicationSubnetGroupRequest(input *DeleteReplicationSubnetGroupInput) (req *request.Request, output *DeleteReplicationSubnetGroupOutput) {
1258	op := &request.Operation{
1259		Name:       opDeleteReplicationSubnetGroup,
1260		HTTPMethod: "POST",
1261		HTTPPath:   "/",
1262	}
1263
1264	if input == nil {
1265		input = &DeleteReplicationSubnetGroupInput{}
1266	}
1267
1268	output = &DeleteReplicationSubnetGroupOutput{}
1269	req = c.newRequest(op, input, output)
1270	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1271	return
1272}
1273
1274// DeleteReplicationSubnetGroup API operation for AWS Database Migration Service.
1275//
1276// Deletes a subnet group.
1277//
1278// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1279// with awserr.Error's Code and Message methods to get detailed information about
1280// the error.
1281//
1282// See the AWS API reference guide for AWS Database Migration Service's
1283// API operation DeleteReplicationSubnetGroup for usage and error information.
1284//
1285// Returned Error Types:
1286//   * InvalidResourceStateFault
1287//   The resource is in a state that prevents it from being used for database
1288//   migration.
1289//
1290//   * ResourceNotFoundFault
1291//   The resource could not be found.
1292//
1293// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationSubnetGroup
1294func (c *DatabaseMigrationService) DeleteReplicationSubnetGroup(input *DeleteReplicationSubnetGroupInput) (*DeleteReplicationSubnetGroupOutput, error) {
1295	req, out := c.DeleteReplicationSubnetGroupRequest(input)
1296	return out, req.Send()
1297}
1298
1299// DeleteReplicationSubnetGroupWithContext is the same as DeleteReplicationSubnetGroup with the addition of
1300// the ability to pass a context and additional request options.
1301//
1302// See DeleteReplicationSubnetGroup for details on how to use this API operation.
1303//
1304// The context must be non-nil and will be used for request cancellation. If
1305// the context is nil a panic will occur. In the future the SDK may create
1306// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1307// for more information on using Contexts.
1308func (c *DatabaseMigrationService) DeleteReplicationSubnetGroupWithContext(ctx aws.Context, input *DeleteReplicationSubnetGroupInput, opts ...request.Option) (*DeleteReplicationSubnetGroupOutput, error) {
1309	req, out := c.DeleteReplicationSubnetGroupRequest(input)
1310	req.SetContext(ctx)
1311	req.ApplyOptions(opts...)
1312	return out, req.Send()
1313}
1314
1315const opDeleteReplicationTask = "DeleteReplicationTask"
1316
1317// DeleteReplicationTaskRequest generates a "aws/request.Request" representing the
1318// client's request for the DeleteReplicationTask operation. The "output" return
1319// value will be populated with the request's response once the request completes
1320// successfully.
1321//
1322// Use "Send" method on the returned Request to send the API call to the service.
1323// the "output" return value is not valid until after Send returns without error.
1324//
1325// See DeleteReplicationTask for more information on using the DeleteReplicationTask
1326// API call, and error handling.
1327//
1328// This method is useful when you want to inject custom logic or configuration
1329// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1330//
1331//
1332//    // Example sending a request using the DeleteReplicationTaskRequest method.
1333//    req, resp := client.DeleteReplicationTaskRequest(params)
1334//
1335//    err := req.Send()
1336//    if err == nil { // resp is now filled
1337//        fmt.Println(resp)
1338//    }
1339//
1340// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationTask
1341func (c *DatabaseMigrationService) DeleteReplicationTaskRequest(input *DeleteReplicationTaskInput) (req *request.Request, output *DeleteReplicationTaskOutput) {
1342	op := &request.Operation{
1343		Name:       opDeleteReplicationTask,
1344		HTTPMethod: "POST",
1345		HTTPPath:   "/",
1346	}
1347
1348	if input == nil {
1349		input = &DeleteReplicationTaskInput{}
1350	}
1351
1352	output = &DeleteReplicationTaskOutput{}
1353	req = c.newRequest(op, input, output)
1354	return
1355}
1356
1357// DeleteReplicationTask API operation for AWS Database Migration Service.
1358//
1359// Deletes the specified replication task.
1360//
1361// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1362// with awserr.Error's Code and Message methods to get detailed information about
1363// the error.
1364//
1365// See the AWS API reference guide for AWS Database Migration Service's
1366// API operation DeleteReplicationTask for usage and error information.
1367//
1368// Returned Error Types:
1369//   * ResourceNotFoundFault
1370//   The resource could not be found.
1371//
1372//   * InvalidResourceStateFault
1373//   The resource is in a state that prevents it from being used for database
1374//   migration.
1375//
1376// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationTask
1377func (c *DatabaseMigrationService) DeleteReplicationTask(input *DeleteReplicationTaskInput) (*DeleteReplicationTaskOutput, error) {
1378	req, out := c.DeleteReplicationTaskRequest(input)
1379	return out, req.Send()
1380}
1381
1382// DeleteReplicationTaskWithContext is the same as DeleteReplicationTask with the addition of
1383// the ability to pass a context and additional request options.
1384//
1385// See DeleteReplicationTask for details on how to use this API operation.
1386//
1387// The context must be non-nil and will be used for request cancellation. If
1388// the context is nil a panic will occur. In the future the SDK may create
1389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1390// for more information on using Contexts.
1391func (c *DatabaseMigrationService) DeleteReplicationTaskWithContext(ctx aws.Context, input *DeleteReplicationTaskInput, opts ...request.Option) (*DeleteReplicationTaskOutput, error) {
1392	req, out := c.DeleteReplicationTaskRequest(input)
1393	req.SetContext(ctx)
1394	req.ApplyOptions(opts...)
1395	return out, req.Send()
1396}
1397
1398const opDeleteReplicationTaskAssessmentRun = "DeleteReplicationTaskAssessmentRun"
1399
1400// DeleteReplicationTaskAssessmentRunRequest generates a "aws/request.Request" representing the
1401// client's request for the DeleteReplicationTaskAssessmentRun operation. The "output" return
1402// value will be populated with the request's response once the request completes
1403// successfully.
1404//
1405// Use "Send" method on the returned Request to send the API call to the service.
1406// the "output" return value is not valid until after Send returns without error.
1407//
1408// See DeleteReplicationTaskAssessmentRun for more information on using the DeleteReplicationTaskAssessmentRun
1409// API call, and error handling.
1410//
1411// This method is useful when you want to inject custom logic or configuration
1412// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1413//
1414//
1415//    // Example sending a request using the DeleteReplicationTaskAssessmentRunRequest method.
1416//    req, resp := client.DeleteReplicationTaskAssessmentRunRequest(params)
1417//
1418//    err := req.Send()
1419//    if err == nil { // resp is now filled
1420//        fmt.Println(resp)
1421//    }
1422//
1423// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationTaskAssessmentRun
1424func (c *DatabaseMigrationService) DeleteReplicationTaskAssessmentRunRequest(input *DeleteReplicationTaskAssessmentRunInput) (req *request.Request, output *DeleteReplicationTaskAssessmentRunOutput) {
1425	op := &request.Operation{
1426		Name:       opDeleteReplicationTaskAssessmentRun,
1427		HTTPMethod: "POST",
1428		HTTPPath:   "/",
1429	}
1430
1431	if input == nil {
1432		input = &DeleteReplicationTaskAssessmentRunInput{}
1433	}
1434
1435	output = &DeleteReplicationTaskAssessmentRunOutput{}
1436	req = c.newRequest(op, input, output)
1437	return
1438}
1439
1440// DeleteReplicationTaskAssessmentRun API operation for AWS Database Migration Service.
1441//
1442// Deletes the record of a single premigration assessment run.
1443//
1444// This operation removes all metadata that DMS maintains about this assessment
1445// run. However, the operation leaves untouched all information about this assessment
1446// run that is stored in your Amazon S3 bucket.
1447//
1448// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1449// with awserr.Error's Code and Message methods to get detailed information about
1450// the error.
1451//
1452// See the AWS API reference guide for AWS Database Migration Service's
1453// API operation DeleteReplicationTaskAssessmentRun for usage and error information.
1454//
1455// Returned Error Types:
1456//   * AccessDeniedFault
1457//   DMS was denied access to the endpoint. Check that the role is correctly configured.
1458//
1459//   * ResourceNotFoundFault
1460//   The resource could not be found.
1461//
1462//   * InvalidResourceStateFault
1463//   The resource is in a state that prevents it from being used for database
1464//   migration.
1465//
1466// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationTaskAssessmentRun
1467func (c *DatabaseMigrationService) DeleteReplicationTaskAssessmentRun(input *DeleteReplicationTaskAssessmentRunInput) (*DeleteReplicationTaskAssessmentRunOutput, error) {
1468	req, out := c.DeleteReplicationTaskAssessmentRunRequest(input)
1469	return out, req.Send()
1470}
1471
1472// DeleteReplicationTaskAssessmentRunWithContext is the same as DeleteReplicationTaskAssessmentRun with the addition of
1473// the ability to pass a context and additional request options.
1474//
1475// See DeleteReplicationTaskAssessmentRun for details on how to use this API operation.
1476//
1477// The context must be non-nil and will be used for request cancellation. If
1478// the context is nil a panic will occur. In the future the SDK may create
1479// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1480// for more information on using Contexts.
1481func (c *DatabaseMigrationService) DeleteReplicationTaskAssessmentRunWithContext(ctx aws.Context, input *DeleteReplicationTaskAssessmentRunInput, opts ...request.Option) (*DeleteReplicationTaskAssessmentRunOutput, error) {
1482	req, out := c.DeleteReplicationTaskAssessmentRunRequest(input)
1483	req.SetContext(ctx)
1484	req.ApplyOptions(opts...)
1485	return out, req.Send()
1486}
1487
1488const opDescribeAccountAttributes = "DescribeAccountAttributes"
1489
1490// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
1491// client's request for the DescribeAccountAttributes operation. The "output" return
1492// value will be populated with the request's response once the request completes
1493// successfully.
1494//
1495// Use "Send" method on the returned Request to send the API call to the service.
1496// the "output" return value is not valid until after Send returns without error.
1497//
1498// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
1499// API call, and error handling.
1500//
1501// This method is useful when you want to inject custom logic or configuration
1502// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1503//
1504//
1505//    // Example sending a request using the DescribeAccountAttributesRequest method.
1506//    req, resp := client.DescribeAccountAttributesRequest(params)
1507//
1508//    err := req.Send()
1509//    if err == nil { // resp is now filled
1510//        fmt.Println(resp)
1511//    }
1512//
1513// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeAccountAttributes
1514func (c *DatabaseMigrationService) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
1515	op := &request.Operation{
1516		Name:       opDescribeAccountAttributes,
1517		HTTPMethod: "POST",
1518		HTTPPath:   "/",
1519	}
1520
1521	if input == nil {
1522		input = &DescribeAccountAttributesInput{}
1523	}
1524
1525	output = &DescribeAccountAttributesOutput{}
1526	req = c.newRequest(op, input, output)
1527	return
1528}
1529
1530// DescribeAccountAttributes API operation for AWS Database Migration Service.
1531//
1532// Lists all of the DMS attributes for a customer account. These attributes
1533// include DMS quotas for the account and a unique account identifier in a particular
1534// DMS region. DMS quotas include a list of resource quotas supported by the
1535// account, such as the number of replication instances allowed. The description
1536// for each resource quota, includes the quota name, current usage toward that
1537// quota, and the quota's maximum value. DMS uses the unique account identifier
1538// to name each artifact used by DMS in the given region.
1539//
1540// This command does not take any parameters.
1541//
1542// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1543// with awserr.Error's Code and Message methods to get detailed information about
1544// the error.
1545//
1546// See the AWS API reference guide for AWS Database Migration Service's
1547// API operation DescribeAccountAttributes for usage and error information.
1548// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeAccountAttributes
1549func (c *DatabaseMigrationService) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
1550	req, out := c.DescribeAccountAttributesRequest(input)
1551	return out, req.Send()
1552}
1553
1554// DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
1555// the ability to pass a context and additional request options.
1556//
1557// See DescribeAccountAttributes for details on how to use this API operation.
1558//
1559// The context must be non-nil and will be used for request cancellation. If
1560// the context is nil a panic will occur. In the future the SDK may create
1561// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1562// for more information on using Contexts.
1563func (c *DatabaseMigrationService) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
1564	req, out := c.DescribeAccountAttributesRequest(input)
1565	req.SetContext(ctx)
1566	req.ApplyOptions(opts...)
1567	return out, req.Send()
1568}
1569
1570const opDescribeApplicableIndividualAssessments = "DescribeApplicableIndividualAssessments"
1571
1572// DescribeApplicableIndividualAssessmentsRequest generates a "aws/request.Request" representing the
1573// client's request for the DescribeApplicableIndividualAssessments operation. The "output" return
1574// value will be populated with the request's response once the request completes
1575// successfully.
1576//
1577// Use "Send" method on the returned Request to send the API call to the service.
1578// the "output" return value is not valid until after Send returns without error.
1579//
1580// See DescribeApplicableIndividualAssessments for more information on using the DescribeApplicableIndividualAssessments
1581// API call, and error handling.
1582//
1583// This method is useful when you want to inject custom logic or configuration
1584// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1585//
1586//
1587//    // Example sending a request using the DescribeApplicableIndividualAssessmentsRequest method.
1588//    req, resp := client.DescribeApplicableIndividualAssessmentsRequest(params)
1589//
1590//    err := req.Send()
1591//    if err == nil { // resp is now filled
1592//        fmt.Println(resp)
1593//    }
1594//
1595// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeApplicableIndividualAssessments
1596func (c *DatabaseMigrationService) DescribeApplicableIndividualAssessmentsRequest(input *DescribeApplicableIndividualAssessmentsInput) (req *request.Request, output *DescribeApplicableIndividualAssessmentsOutput) {
1597	op := &request.Operation{
1598		Name:       opDescribeApplicableIndividualAssessments,
1599		HTTPMethod: "POST",
1600		HTTPPath:   "/",
1601		Paginator: &request.Paginator{
1602			InputTokens:     []string{"Marker"},
1603			OutputTokens:    []string{"Marker"},
1604			LimitToken:      "MaxRecords",
1605			TruncationToken: "",
1606		},
1607	}
1608
1609	if input == nil {
1610		input = &DescribeApplicableIndividualAssessmentsInput{}
1611	}
1612
1613	output = &DescribeApplicableIndividualAssessmentsOutput{}
1614	req = c.newRequest(op, input, output)
1615	return
1616}
1617
1618// DescribeApplicableIndividualAssessments API operation for AWS Database Migration Service.
1619//
1620// Provides a list of individual assessments that you can specify for a new
1621// premigration assessment run, given one or more parameters.
1622//
1623// If you specify an existing migration task, this operation provides the default
1624// individual assessments you can specify for that task. Otherwise, the specified
1625// parameters model elements of a possible migration task on which to base a
1626// premigration assessment run.
1627//
1628// To use these migration task modeling parameters, you must specify an existing
1629// replication instance, a source database engine, a target database engine,
1630// and a migration type. This combination of parameters potentially limits the
1631// default individual assessments available for an assessment run created for
1632// a corresponding migration task.
1633//
1634// If you specify no parameters, this operation provides a list of all possible
1635// individual assessments that you can specify for an assessment run. If you
1636// specify any one of the task modeling parameters, you must specify all of
1637// them or the operation cannot provide a list of individual assessments. The
1638// only parameter that you can specify alone is for an existing migration task.
1639// The specified task definition then determines the default list of individual
1640// assessments that you can specify in an assessment run for the task.
1641//
1642// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1643// with awserr.Error's Code and Message methods to get detailed information about
1644// the error.
1645//
1646// See the AWS API reference guide for AWS Database Migration Service's
1647// API operation DescribeApplicableIndividualAssessments for usage and error information.
1648//
1649// Returned Error Types:
1650//   * AccessDeniedFault
1651//   DMS was denied access to the endpoint. Check that the role is correctly configured.
1652//
1653//   * ResourceNotFoundFault
1654//   The resource could not be found.
1655//
1656//   * InvalidResourceStateFault
1657//   The resource is in a state that prevents it from being used for database
1658//   migration.
1659//
1660// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeApplicableIndividualAssessments
1661func (c *DatabaseMigrationService) DescribeApplicableIndividualAssessments(input *DescribeApplicableIndividualAssessmentsInput) (*DescribeApplicableIndividualAssessmentsOutput, error) {
1662	req, out := c.DescribeApplicableIndividualAssessmentsRequest(input)
1663	return out, req.Send()
1664}
1665
1666// DescribeApplicableIndividualAssessmentsWithContext is the same as DescribeApplicableIndividualAssessments with the addition of
1667// the ability to pass a context and additional request options.
1668//
1669// See DescribeApplicableIndividualAssessments for details on how to use this API operation.
1670//
1671// The context must be non-nil and will be used for request cancellation. If
1672// the context is nil a panic will occur. In the future the SDK may create
1673// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1674// for more information on using Contexts.
1675func (c *DatabaseMigrationService) DescribeApplicableIndividualAssessmentsWithContext(ctx aws.Context, input *DescribeApplicableIndividualAssessmentsInput, opts ...request.Option) (*DescribeApplicableIndividualAssessmentsOutput, error) {
1676	req, out := c.DescribeApplicableIndividualAssessmentsRequest(input)
1677	req.SetContext(ctx)
1678	req.ApplyOptions(opts...)
1679	return out, req.Send()
1680}
1681
1682// DescribeApplicableIndividualAssessmentsPages iterates over the pages of a DescribeApplicableIndividualAssessments operation,
1683// calling the "fn" function with the response data for each page. To stop
1684// iterating, return false from the fn function.
1685//
1686// See DescribeApplicableIndividualAssessments method for more information on how to use this operation.
1687//
1688// Note: This operation can generate multiple requests to a service.
1689//
1690//    // Example iterating over at most 3 pages of a DescribeApplicableIndividualAssessments operation.
1691//    pageNum := 0
1692//    err := client.DescribeApplicableIndividualAssessmentsPages(params,
1693//        func(page *databasemigrationservice.DescribeApplicableIndividualAssessmentsOutput, lastPage bool) bool {
1694//            pageNum++
1695//            fmt.Println(page)
1696//            return pageNum <= 3
1697//        })
1698//
1699func (c *DatabaseMigrationService) DescribeApplicableIndividualAssessmentsPages(input *DescribeApplicableIndividualAssessmentsInput, fn func(*DescribeApplicableIndividualAssessmentsOutput, bool) bool) error {
1700	return c.DescribeApplicableIndividualAssessmentsPagesWithContext(aws.BackgroundContext(), input, fn)
1701}
1702
1703// DescribeApplicableIndividualAssessmentsPagesWithContext same as DescribeApplicableIndividualAssessmentsPages except
1704// it takes a Context and allows setting request options on the pages.
1705//
1706// The context must be non-nil and will be used for request cancellation. If
1707// the context is nil a panic will occur. In the future the SDK may create
1708// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1709// for more information on using Contexts.
1710func (c *DatabaseMigrationService) DescribeApplicableIndividualAssessmentsPagesWithContext(ctx aws.Context, input *DescribeApplicableIndividualAssessmentsInput, fn func(*DescribeApplicableIndividualAssessmentsOutput, bool) bool, opts ...request.Option) error {
1711	p := request.Pagination{
1712		NewRequest: func() (*request.Request, error) {
1713			var inCpy *DescribeApplicableIndividualAssessmentsInput
1714			if input != nil {
1715				tmp := *input
1716				inCpy = &tmp
1717			}
1718			req, _ := c.DescribeApplicableIndividualAssessmentsRequest(inCpy)
1719			req.SetContext(ctx)
1720			req.ApplyOptions(opts...)
1721			return req, nil
1722		},
1723	}
1724
1725	for p.Next() {
1726		if !fn(p.Page().(*DescribeApplicableIndividualAssessmentsOutput), !p.HasNextPage()) {
1727			break
1728		}
1729	}
1730
1731	return p.Err()
1732}
1733
1734const opDescribeCertificates = "DescribeCertificates"
1735
1736// DescribeCertificatesRequest generates a "aws/request.Request" representing the
1737// client's request for the DescribeCertificates operation. The "output" return
1738// value will be populated with the request's response once the request completes
1739// successfully.
1740//
1741// Use "Send" method on the returned Request to send the API call to the service.
1742// the "output" return value is not valid until after Send returns without error.
1743//
1744// See DescribeCertificates for more information on using the DescribeCertificates
1745// API call, and error handling.
1746//
1747// This method is useful when you want to inject custom logic or configuration
1748// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1749//
1750//
1751//    // Example sending a request using the DescribeCertificatesRequest method.
1752//    req, resp := client.DescribeCertificatesRequest(params)
1753//
1754//    err := req.Send()
1755//    if err == nil { // resp is now filled
1756//        fmt.Println(resp)
1757//    }
1758//
1759// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeCertificates
1760func (c *DatabaseMigrationService) DescribeCertificatesRequest(input *DescribeCertificatesInput) (req *request.Request, output *DescribeCertificatesOutput) {
1761	op := &request.Operation{
1762		Name:       opDescribeCertificates,
1763		HTTPMethod: "POST",
1764		HTTPPath:   "/",
1765		Paginator: &request.Paginator{
1766			InputTokens:     []string{"Marker"},
1767			OutputTokens:    []string{"Marker"},
1768			LimitToken:      "MaxRecords",
1769			TruncationToken: "",
1770		},
1771	}
1772
1773	if input == nil {
1774		input = &DescribeCertificatesInput{}
1775	}
1776
1777	output = &DescribeCertificatesOutput{}
1778	req = c.newRequest(op, input, output)
1779	return
1780}
1781
1782// DescribeCertificates API operation for AWS Database Migration Service.
1783//
1784// Provides a description of the certificate.
1785//
1786// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1787// with awserr.Error's Code and Message methods to get detailed information about
1788// the error.
1789//
1790// See the AWS API reference guide for AWS Database Migration Service's
1791// API operation DescribeCertificates for usage and error information.
1792//
1793// Returned Error Types:
1794//   * ResourceNotFoundFault
1795//   The resource could not be found.
1796//
1797// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeCertificates
1798func (c *DatabaseMigrationService) DescribeCertificates(input *DescribeCertificatesInput) (*DescribeCertificatesOutput, error) {
1799	req, out := c.DescribeCertificatesRequest(input)
1800	return out, req.Send()
1801}
1802
1803// DescribeCertificatesWithContext is the same as DescribeCertificates with the addition of
1804// the ability to pass a context and additional request options.
1805//
1806// See DescribeCertificates for details on how to use this API operation.
1807//
1808// The context must be non-nil and will be used for request cancellation. If
1809// the context is nil a panic will occur. In the future the SDK may create
1810// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1811// for more information on using Contexts.
1812func (c *DatabaseMigrationService) DescribeCertificatesWithContext(ctx aws.Context, input *DescribeCertificatesInput, opts ...request.Option) (*DescribeCertificatesOutput, error) {
1813	req, out := c.DescribeCertificatesRequest(input)
1814	req.SetContext(ctx)
1815	req.ApplyOptions(opts...)
1816	return out, req.Send()
1817}
1818
1819// DescribeCertificatesPages iterates over the pages of a DescribeCertificates operation,
1820// calling the "fn" function with the response data for each page. To stop
1821// iterating, return false from the fn function.
1822//
1823// See DescribeCertificates method for more information on how to use this operation.
1824//
1825// Note: This operation can generate multiple requests to a service.
1826//
1827//    // Example iterating over at most 3 pages of a DescribeCertificates operation.
1828//    pageNum := 0
1829//    err := client.DescribeCertificatesPages(params,
1830//        func(page *databasemigrationservice.DescribeCertificatesOutput, lastPage bool) bool {
1831//            pageNum++
1832//            fmt.Println(page)
1833//            return pageNum <= 3
1834//        })
1835//
1836func (c *DatabaseMigrationService) DescribeCertificatesPages(input *DescribeCertificatesInput, fn func(*DescribeCertificatesOutput, bool) bool) error {
1837	return c.DescribeCertificatesPagesWithContext(aws.BackgroundContext(), input, fn)
1838}
1839
1840// DescribeCertificatesPagesWithContext same as DescribeCertificatesPages except
1841// it takes a Context and allows setting request options on the pages.
1842//
1843// The context must be non-nil and will be used for request cancellation. If
1844// the context is nil a panic will occur. In the future the SDK may create
1845// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1846// for more information on using Contexts.
1847func (c *DatabaseMigrationService) DescribeCertificatesPagesWithContext(ctx aws.Context, input *DescribeCertificatesInput, fn func(*DescribeCertificatesOutput, bool) bool, opts ...request.Option) error {
1848	p := request.Pagination{
1849		NewRequest: func() (*request.Request, error) {
1850			var inCpy *DescribeCertificatesInput
1851			if input != nil {
1852				tmp := *input
1853				inCpy = &tmp
1854			}
1855			req, _ := c.DescribeCertificatesRequest(inCpy)
1856			req.SetContext(ctx)
1857			req.ApplyOptions(opts...)
1858			return req, nil
1859		},
1860	}
1861
1862	for p.Next() {
1863		if !fn(p.Page().(*DescribeCertificatesOutput), !p.HasNextPage()) {
1864			break
1865		}
1866	}
1867
1868	return p.Err()
1869}
1870
1871const opDescribeConnections = "DescribeConnections"
1872
1873// DescribeConnectionsRequest generates a "aws/request.Request" representing the
1874// client's request for the DescribeConnections operation. The "output" return
1875// value will be populated with the request's response once the request completes
1876// successfully.
1877//
1878// Use "Send" method on the returned Request to send the API call to the service.
1879// the "output" return value is not valid until after Send returns without error.
1880//
1881// See DescribeConnections for more information on using the DescribeConnections
1882// API call, and error handling.
1883//
1884// This method is useful when you want to inject custom logic or configuration
1885// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1886//
1887//
1888//    // Example sending a request using the DescribeConnectionsRequest method.
1889//    req, resp := client.DescribeConnectionsRequest(params)
1890//
1891//    err := req.Send()
1892//    if err == nil { // resp is now filled
1893//        fmt.Println(resp)
1894//    }
1895//
1896// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeConnections
1897func (c *DatabaseMigrationService) DescribeConnectionsRequest(input *DescribeConnectionsInput) (req *request.Request, output *DescribeConnectionsOutput) {
1898	op := &request.Operation{
1899		Name:       opDescribeConnections,
1900		HTTPMethod: "POST",
1901		HTTPPath:   "/",
1902		Paginator: &request.Paginator{
1903			InputTokens:     []string{"Marker"},
1904			OutputTokens:    []string{"Marker"},
1905			LimitToken:      "MaxRecords",
1906			TruncationToken: "",
1907		},
1908	}
1909
1910	if input == nil {
1911		input = &DescribeConnectionsInput{}
1912	}
1913
1914	output = &DescribeConnectionsOutput{}
1915	req = c.newRequest(op, input, output)
1916	return
1917}
1918
1919// DescribeConnections API operation for AWS Database Migration Service.
1920//
1921// Describes the status of the connections that have been made between the replication
1922// instance and an endpoint. Connections are created when you test an endpoint.
1923//
1924// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1925// with awserr.Error's Code and Message methods to get detailed information about
1926// the error.
1927//
1928// See the AWS API reference guide for AWS Database Migration Service's
1929// API operation DescribeConnections for usage and error information.
1930//
1931// Returned Error Types:
1932//   * ResourceNotFoundFault
1933//   The resource could not be found.
1934//
1935// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeConnections
1936func (c *DatabaseMigrationService) DescribeConnections(input *DescribeConnectionsInput) (*DescribeConnectionsOutput, error) {
1937	req, out := c.DescribeConnectionsRequest(input)
1938	return out, req.Send()
1939}
1940
1941// DescribeConnectionsWithContext is the same as DescribeConnections with the addition of
1942// the ability to pass a context and additional request options.
1943//
1944// See DescribeConnections for details on how to use this API operation.
1945//
1946// The context must be non-nil and will be used for request cancellation. If
1947// the context is nil a panic will occur. In the future the SDK may create
1948// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1949// for more information on using Contexts.
1950func (c *DatabaseMigrationService) DescribeConnectionsWithContext(ctx aws.Context, input *DescribeConnectionsInput, opts ...request.Option) (*DescribeConnectionsOutput, error) {
1951	req, out := c.DescribeConnectionsRequest(input)
1952	req.SetContext(ctx)
1953	req.ApplyOptions(opts...)
1954	return out, req.Send()
1955}
1956
1957// DescribeConnectionsPages iterates over the pages of a DescribeConnections operation,
1958// calling the "fn" function with the response data for each page. To stop
1959// iterating, return false from the fn function.
1960//
1961// See DescribeConnections method for more information on how to use this operation.
1962//
1963// Note: This operation can generate multiple requests to a service.
1964//
1965//    // Example iterating over at most 3 pages of a DescribeConnections operation.
1966//    pageNum := 0
1967//    err := client.DescribeConnectionsPages(params,
1968//        func(page *databasemigrationservice.DescribeConnectionsOutput, lastPage bool) bool {
1969//            pageNum++
1970//            fmt.Println(page)
1971//            return pageNum <= 3
1972//        })
1973//
1974func (c *DatabaseMigrationService) DescribeConnectionsPages(input *DescribeConnectionsInput, fn func(*DescribeConnectionsOutput, bool) bool) error {
1975	return c.DescribeConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
1976}
1977
1978// DescribeConnectionsPagesWithContext same as DescribeConnectionsPages except
1979// it takes a Context and allows setting request options on the pages.
1980//
1981// The context must be non-nil and will be used for request cancellation. If
1982// the context is nil a panic will occur. In the future the SDK may create
1983// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1984// for more information on using Contexts.
1985func (c *DatabaseMigrationService) DescribeConnectionsPagesWithContext(ctx aws.Context, input *DescribeConnectionsInput, fn func(*DescribeConnectionsOutput, bool) bool, opts ...request.Option) error {
1986	p := request.Pagination{
1987		NewRequest: func() (*request.Request, error) {
1988			var inCpy *DescribeConnectionsInput
1989			if input != nil {
1990				tmp := *input
1991				inCpy = &tmp
1992			}
1993			req, _ := c.DescribeConnectionsRequest(inCpy)
1994			req.SetContext(ctx)
1995			req.ApplyOptions(opts...)
1996			return req, nil
1997		},
1998	}
1999
2000	for p.Next() {
2001		if !fn(p.Page().(*DescribeConnectionsOutput), !p.HasNextPage()) {
2002			break
2003		}
2004	}
2005
2006	return p.Err()
2007}
2008
2009const opDescribeEndpointSettings = "DescribeEndpointSettings"
2010
2011// DescribeEndpointSettingsRequest generates a "aws/request.Request" representing the
2012// client's request for the DescribeEndpointSettings operation. The "output" return
2013// value will be populated with the request's response once the request completes
2014// successfully.
2015//
2016// Use "Send" method on the returned Request to send the API call to the service.
2017// the "output" return value is not valid until after Send returns without error.
2018//
2019// See DescribeEndpointSettings for more information on using the DescribeEndpointSettings
2020// API call, and error handling.
2021//
2022// This method is useful when you want to inject custom logic or configuration
2023// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2024//
2025//
2026//    // Example sending a request using the DescribeEndpointSettingsRequest method.
2027//    req, resp := client.DescribeEndpointSettingsRequest(params)
2028//
2029//    err := req.Send()
2030//    if err == nil { // resp is now filled
2031//        fmt.Println(resp)
2032//    }
2033//
2034// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEndpointSettings
2035func (c *DatabaseMigrationService) DescribeEndpointSettingsRequest(input *DescribeEndpointSettingsInput) (req *request.Request, output *DescribeEndpointSettingsOutput) {
2036	op := &request.Operation{
2037		Name:       opDescribeEndpointSettings,
2038		HTTPMethod: "POST",
2039		HTTPPath:   "/",
2040		Paginator: &request.Paginator{
2041			InputTokens:     []string{"Marker"},
2042			OutputTokens:    []string{"Marker"},
2043			LimitToken:      "MaxRecords",
2044			TruncationToken: "",
2045		},
2046	}
2047
2048	if input == nil {
2049		input = &DescribeEndpointSettingsInput{}
2050	}
2051
2052	output = &DescribeEndpointSettingsOutput{}
2053	req = c.newRequest(op, input, output)
2054	return
2055}
2056
2057// DescribeEndpointSettings API operation for AWS Database Migration Service.
2058//
2059// Returns information about the possible endpoint settings available when you
2060// create an endpoint for a specific database engine.
2061//
2062// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2063// with awserr.Error's Code and Message methods to get detailed information about
2064// the error.
2065//
2066// See the AWS API reference guide for AWS Database Migration Service's
2067// API operation DescribeEndpointSettings for usage and error information.
2068// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEndpointSettings
2069func (c *DatabaseMigrationService) DescribeEndpointSettings(input *DescribeEndpointSettingsInput) (*DescribeEndpointSettingsOutput, error) {
2070	req, out := c.DescribeEndpointSettingsRequest(input)
2071	return out, req.Send()
2072}
2073
2074// DescribeEndpointSettingsWithContext is the same as DescribeEndpointSettings with the addition of
2075// the ability to pass a context and additional request options.
2076//
2077// See DescribeEndpointSettings for details on how to use this API operation.
2078//
2079// The context must be non-nil and will be used for request cancellation. If
2080// the context is nil a panic will occur. In the future the SDK may create
2081// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2082// for more information on using Contexts.
2083func (c *DatabaseMigrationService) DescribeEndpointSettingsWithContext(ctx aws.Context, input *DescribeEndpointSettingsInput, opts ...request.Option) (*DescribeEndpointSettingsOutput, error) {
2084	req, out := c.DescribeEndpointSettingsRequest(input)
2085	req.SetContext(ctx)
2086	req.ApplyOptions(opts...)
2087	return out, req.Send()
2088}
2089
2090// DescribeEndpointSettingsPages iterates over the pages of a DescribeEndpointSettings operation,
2091// calling the "fn" function with the response data for each page. To stop
2092// iterating, return false from the fn function.
2093//
2094// See DescribeEndpointSettings method for more information on how to use this operation.
2095//
2096// Note: This operation can generate multiple requests to a service.
2097//
2098//    // Example iterating over at most 3 pages of a DescribeEndpointSettings operation.
2099//    pageNum := 0
2100//    err := client.DescribeEndpointSettingsPages(params,
2101//        func(page *databasemigrationservice.DescribeEndpointSettingsOutput, lastPage bool) bool {
2102//            pageNum++
2103//            fmt.Println(page)
2104//            return pageNum <= 3
2105//        })
2106//
2107func (c *DatabaseMigrationService) DescribeEndpointSettingsPages(input *DescribeEndpointSettingsInput, fn func(*DescribeEndpointSettingsOutput, bool) bool) error {
2108	return c.DescribeEndpointSettingsPagesWithContext(aws.BackgroundContext(), input, fn)
2109}
2110
2111// DescribeEndpointSettingsPagesWithContext same as DescribeEndpointSettingsPages except
2112// it takes a Context and allows setting request options on the pages.
2113//
2114// The context must be non-nil and will be used for request cancellation. If
2115// the context is nil a panic will occur. In the future the SDK may create
2116// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2117// for more information on using Contexts.
2118func (c *DatabaseMigrationService) DescribeEndpointSettingsPagesWithContext(ctx aws.Context, input *DescribeEndpointSettingsInput, fn func(*DescribeEndpointSettingsOutput, bool) bool, opts ...request.Option) error {
2119	p := request.Pagination{
2120		NewRequest: func() (*request.Request, error) {
2121			var inCpy *DescribeEndpointSettingsInput
2122			if input != nil {
2123				tmp := *input
2124				inCpy = &tmp
2125			}
2126			req, _ := c.DescribeEndpointSettingsRequest(inCpy)
2127			req.SetContext(ctx)
2128			req.ApplyOptions(opts...)
2129			return req, nil
2130		},
2131	}
2132
2133	for p.Next() {
2134		if !fn(p.Page().(*DescribeEndpointSettingsOutput), !p.HasNextPage()) {
2135			break
2136		}
2137	}
2138
2139	return p.Err()
2140}
2141
2142const opDescribeEndpointTypes = "DescribeEndpointTypes"
2143
2144// DescribeEndpointTypesRequest generates a "aws/request.Request" representing the
2145// client's request for the DescribeEndpointTypes operation. The "output" return
2146// value will be populated with the request's response once the request completes
2147// successfully.
2148//
2149// Use "Send" method on the returned Request to send the API call to the service.
2150// the "output" return value is not valid until after Send returns without error.
2151//
2152// See DescribeEndpointTypes for more information on using the DescribeEndpointTypes
2153// API call, and error handling.
2154//
2155// This method is useful when you want to inject custom logic or configuration
2156// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2157//
2158//
2159//    // Example sending a request using the DescribeEndpointTypesRequest method.
2160//    req, resp := client.DescribeEndpointTypesRequest(params)
2161//
2162//    err := req.Send()
2163//    if err == nil { // resp is now filled
2164//        fmt.Println(resp)
2165//    }
2166//
2167// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEndpointTypes
2168func (c *DatabaseMigrationService) DescribeEndpointTypesRequest(input *DescribeEndpointTypesInput) (req *request.Request, output *DescribeEndpointTypesOutput) {
2169	op := &request.Operation{
2170		Name:       opDescribeEndpointTypes,
2171		HTTPMethod: "POST",
2172		HTTPPath:   "/",
2173		Paginator: &request.Paginator{
2174			InputTokens:     []string{"Marker"},
2175			OutputTokens:    []string{"Marker"},
2176			LimitToken:      "MaxRecords",
2177			TruncationToken: "",
2178		},
2179	}
2180
2181	if input == nil {
2182		input = &DescribeEndpointTypesInput{}
2183	}
2184
2185	output = &DescribeEndpointTypesOutput{}
2186	req = c.newRequest(op, input, output)
2187	return
2188}
2189
2190// DescribeEndpointTypes API operation for AWS Database Migration Service.
2191//
2192// Returns information about the type of endpoints available.
2193//
2194// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2195// with awserr.Error's Code and Message methods to get detailed information about
2196// the error.
2197//
2198// See the AWS API reference guide for AWS Database Migration Service's
2199// API operation DescribeEndpointTypes for usage and error information.
2200// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEndpointTypes
2201func (c *DatabaseMigrationService) DescribeEndpointTypes(input *DescribeEndpointTypesInput) (*DescribeEndpointTypesOutput, error) {
2202	req, out := c.DescribeEndpointTypesRequest(input)
2203	return out, req.Send()
2204}
2205
2206// DescribeEndpointTypesWithContext is the same as DescribeEndpointTypes with the addition of
2207// the ability to pass a context and additional request options.
2208//
2209// See DescribeEndpointTypes for details on how to use this API operation.
2210//
2211// The context must be non-nil and will be used for request cancellation. If
2212// the context is nil a panic will occur. In the future the SDK may create
2213// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2214// for more information on using Contexts.
2215func (c *DatabaseMigrationService) DescribeEndpointTypesWithContext(ctx aws.Context, input *DescribeEndpointTypesInput, opts ...request.Option) (*DescribeEndpointTypesOutput, error) {
2216	req, out := c.DescribeEndpointTypesRequest(input)
2217	req.SetContext(ctx)
2218	req.ApplyOptions(opts...)
2219	return out, req.Send()
2220}
2221
2222// DescribeEndpointTypesPages iterates over the pages of a DescribeEndpointTypes operation,
2223// calling the "fn" function with the response data for each page. To stop
2224// iterating, return false from the fn function.
2225//
2226// See DescribeEndpointTypes method for more information on how to use this operation.
2227//
2228// Note: This operation can generate multiple requests to a service.
2229//
2230//    // Example iterating over at most 3 pages of a DescribeEndpointTypes operation.
2231//    pageNum := 0
2232//    err := client.DescribeEndpointTypesPages(params,
2233//        func(page *databasemigrationservice.DescribeEndpointTypesOutput, lastPage bool) bool {
2234//            pageNum++
2235//            fmt.Println(page)
2236//            return pageNum <= 3
2237//        })
2238//
2239func (c *DatabaseMigrationService) DescribeEndpointTypesPages(input *DescribeEndpointTypesInput, fn func(*DescribeEndpointTypesOutput, bool) bool) error {
2240	return c.DescribeEndpointTypesPagesWithContext(aws.BackgroundContext(), input, fn)
2241}
2242
2243// DescribeEndpointTypesPagesWithContext same as DescribeEndpointTypesPages except
2244// it takes a Context and allows setting request options on the pages.
2245//
2246// The context must be non-nil and will be used for request cancellation. If
2247// the context is nil a panic will occur. In the future the SDK may create
2248// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2249// for more information on using Contexts.
2250func (c *DatabaseMigrationService) DescribeEndpointTypesPagesWithContext(ctx aws.Context, input *DescribeEndpointTypesInput, fn func(*DescribeEndpointTypesOutput, bool) bool, opts ...request.Option) error {
2251	p := request.Pagination{
2252		NewRequest: func() (*request.Request, error) {
2253			var inCpy *DescribeEndpointTypesInput
2254			if input != nil {
2255				tmp := *input
2256				inCpy = &tmp
2257			}
2258			req, _ := c.DescribeEndpointTypesRequest(inCpy)
2259			req.SetContext(ctx)
2260			req.ApplyOptions(opts...)
2261			return req, nil
2262		},
2263	}
2264
2265	for p.Next() {
2266		if !fn(p.Page().(*DescribeEndpointTypesOutput), !p.HasNextPage()) {
2267			break
2268		}
2269	}
2270
2271	return p.Err()
2272}
2273
2274const opDescribeEndpoints = "DescribeEndpoints"
2275
2276// DescribeEndpointsRequest generates a "aws/request.Request" representing the
2277// client's request for the DescribeEndpoints operation. The "output" return
2278// value will be populated with the request's response once the request completes
2279// successfully.
2280//
2281// Use "Send" method on the returned Request to send the API call to the service.
2282// the "output" return value is not valid until after Send returns without error.
2283//
2284// See DescribeEndpoints for more information on using the DescribeEndpoints
2285// API call, and error handling.
2286//
2287// This method is useful when you want to inject custom logic or configuration
2288// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2289//
2290//
2291//    // Example sending a request using the DescribeEndpointsRequest method.
2292//    req, resp := client.DescribeEndpointsRequest(params)
2293//
2294//    err := req.Send()
2295//    if err == nil { // resp is now filled
2296//        fmt.Println(resp)
2297//    }
2298//
2299// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEndpoints
2300func (c *DatabaseMigrationService) DescribeEndpointsRequest(input *DescribeEndpointsInput) (req *request.Request, output *DescribeEndpointsOutput) {
2301	op := &request.Operation{
2302		Name:       opDescribeEndpoints,
2303		HTTPMethod: "POST",
2304		HTTPPath:   "/",
2305		Paginator: &request.Paginator{
2306			InputTokens:     []string{"Marker"},
2307			OutputTokens:    []string{"Marker"},
2308			LimitToken:      "MaxRecords",
2309			TruncationToken: "",
2310		},
2311	}
2312
2313	if input == nil {
2314		input = &DescribeEndpointsInput{}
2315	}
2316
2317	output = &DescribeEndpointsOutput{}
2318	req = c.newRequest(op, input, output)
2319	return
2320}
2321
2322// DescribeEndpoints API operation for AWS Database Migration Service.
2323//
2324// Returns information about the endpoints for your account in the current region.
2325//
2326// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2327// with awserr.Error's Code and Message methods to get detailed information about
2328// the error.
2329//
2330// See the AWS API reference guide for AWS Database Migration Service's
2331// API operation DescribeEndpoints for usage and error information.
2332//
2333// Returned Error Types:
2334//   * ResourceNotFoundFault
2335//   The resource could not be found.
2336//
2337// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEndpoints
2338func (c *DatabaseMigrationService) DescribeEndpoints(input *DescribeEndpointsInput) (*DescribeEndpointsOutput, error) {
2339	req, out := c.DescribeEndpointsRequest(input)
2340	return out, req.Send()
2341}
2342
2343// DescribeEndpointsWithContext is the same as DescribeEndpoints with the addition of
2344// the ability to pass a context and additional request options.
2345//
2346// See DescribeEndpoints for details on how to use this API operation.
2347//
2348// The context must be non-nil and will be used for request cancellation. If
2349// the context is nil a panic will occur. In the future the SDK may create
2350// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2351// for more information on using Contexts.
2352func (c *DatabaseMigrationService) DescribeEndpointsWithContext(ctx aws.Context, input *DescribeEndpointsInput, opts ...request.Option) (*DescribeEndpointsOutput, error) {
2353	req, out := c.DescribeEndpointsRequest(input)
2354	req.SetContext(ctx)
2355	req.ApplyOptions(opts...)
2356	return out, req.Send()
2357}
2358
2359// DescribeEndpointsPages iterates over the pages of a DescribeEndpoints operation,
2360// calling the "fn" function with the response data for each page. To stop
2361// iterating, return false from the fn function.
2362//
2363// See DescribeEndpoints method for more information on how to use this operation.
2364//
2365// Note: This operation can generate multiple requests to a service.
2366//
2367//    // Example iterating over at most 3 pages of a DescribeEndpoints operation.
2368//    pageNum := 0
2369//    err := client.DescribeEndpointsPages(params,
2370//        func(page *databasemigrationservice.DescribeEndpointsOutput, lastPage bool) bool {
2371//            pageNum++
2372//            fmt.Println(page)
2373//            return pageNum <= 3
2374//        })
2375//
2376func (c *DatabaseMigrationService) DescribeEndpointsPages(input *DescribeEndpointsInput, fn func(*DescribeEndpointsOutput, bool) bool) error {
2377	return c.DescribeEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
2378}
2379
2380// DescribeEndpointsPagesWithContext same as DescribeEndpointsPages except
2381// it takes a Context and allows setting request options on the pages.
2382//
2383// The context must be non-nil and will be used for request cancellation. If
2384// the context is nil a panic will occur. In the future the SDK may create
2385// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2386// for more information on using Contexts.
2387func (c *DatabaseMigrationService) DescribeEndpointsPagesWithContext(ctx aws.Context, input *DescribeEndpointsInput, fn func(*DescribeEndpointsOutput, bool) bool, opts ...request.Option) error {
2388	p := request.Pagination{
2389		NewRequest: func() (*request.Request, error) {
2390			var inCpy *DescribeEndpointsInput
2391			if input != nil {
2392				tmp := *input
2393				inCpy = &tmp
2394			}
2395			req, _ := c.DescribeEndpointsRequest(inCpy)
2396			req.SetContext(ctx)
2397			req.ApplyOptions(opts...)
2398			return req, nil
2399		},
2400	}
2401
2402	for p.Next() {
2403		if !fn(p.Page().(*DescribeEndpointsOutput), !p.HasNextPage()) {
2404			break
2405		}
2406	}
2407
2408	return p.Err()
2409}
2410
2411const opDescribeEventCategories = "DescribeEventCategories"
2412
2413// DescribeEventCategoriesRequest generates a "aws/request.Request" representing the
2414// client's request for the DescribeEventCategories operation. The "output" return
2415// value will be populated with the request's response once the request completes
2416// successfully.
2417//
2418// Use "Send" method on the returned Request to send the API call to the service.
2419// the "output" return value is not valid until after Send returns without error.
2420//
2421// See DescribeEventCategories for more information on using the DescribeEventCategories
2422// API call, and error handling.
2423//
2424// This method is useful when you want to inject custom logic or configuration
2425// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2426//
2427//
2428//    // Example sending a request using the DescribeEventCategoriesRequest method.
2429//    req, resp := client.DescribeEventCategoriesRequest(params)
2430//
2431//    err := req.Send()
2432//    if err == nil { // resp is now filled
2433//        fmt.Println(resp)
2434//    }
2435//
2436// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEventCategories
2437func (c *DatabaseMigrationService) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) {
2438	op := &request.Operation{
2439		Name:       opDescribeEventCategories,
2440		HTTPMethod: "POST",
2441		HTTPPath:   "/",
2442	}
2443
2444	if input == nil {
2445		input = &DescribeEventCategoriesInput{}
2446	}
2447
2448	output = &DescribeEventCategoriesOutput{}
2449	req = c.newRequest(op, input, output)
2450	return
2451}
2452
2453// DescribeEventCategories API operation for AWS Database Migration Service.
2454//
2455// Lists categories for all event source types, or, if specified, for a specified
2456// source type. You can see a list of the event categories and source types
2457// in Working with Events and Notifications (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Events.html)
2458// in the Database Migration Service User Guide.
2459//
2460// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2461// with awserr.Error's Code and Message methods to get detailed information about
2462// the error.
2463//
2464// See the AWS API reference guide for AWS Database Migration Service's
2465// API operation DescribeEventCategories for usage and error information.
2466// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEventCategories
2467func (c *DatabaseMigrationService) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) {
2468	req, out := c.DescribeEventCategoriesRequest(input)
2469	return out, req.Send()
2470}
2471
2472// DescribeEventCategoriesWithContext is the same as DescribeEventCategories with the addition of
2473// the ability to pass a context and additional request options.
2474//
2475// See DescribeEventCategories for details on how to use this API operation.
2476//
2477// The context must be non-nil and will be used for request cancellation. If
2478// the context is nil a panic will occur. In the future the SDK may create
2479// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2480// for more information on using Contexts.
2481func (c *DatabaseMigrationService) DescribeEventCategoriesWithContext(ctx aws.Context, input *DescribeEventCategoriesInput, opts ...request.Option) (*DescribeEventCategoriesOutput, error) {
2482	req, out := c.DescribeEventCategoriesRequest(input)
2483	req.SetContext(ctx)
2484	req.ApplyOptions(opts...)
2485	return out, req.Send()
2486}
2487
2488const opDescribeEventSubscriptions = "DescribeEventSubscriptions"
2489
2490// DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the
2491// client's request for the DescribeEventSubscriptions operation. The "output" return
2492// value will be populated with the request's response once the request completes
2493// successfully.
2494//
2495// Use "Send" method on the returned Request to send the API call to the service.
2496// the "output" return value is not valid until after Send returns without error.
2497//
2498// See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions
2499// API call, and error handling.
2500//
2501// This method is useful when you want to inject custom logic or configuration
2502// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2503//
2504//
2505//    // Example sending a request using the DescribeEventSubscriptionsRequest method.
2506//    req, resp := client.DescribeEventSubscriptionsRequest(params)
2507//
2508//    err := req.Send()
2509//    if err == nil { // resp is now filled
2510//        fmt.Println(resp)
2511//    }
2512//
2513// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEventSubscriptions
2514func (c *DatabaseMigrationService) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) {
2515	op := &request.Operation{
2516		Name:       opDescribeEventSubscriptions,
2517		HTTPMethod: "POST",
2518		HTTPPath:   "/",
2519		Paginator: &request.Paginator{
2520			InputTokens:     []string{"Marker"},
2521			OutputTokens:    []string{"Marker"},
2522			LimitToken:      "MaxRecords",
2523			TruncationToken: "",
2524		},
2525	}
2526
2527	if input == nil {
2528		input = &DescribeEventSubscriptionsInput{}
2529	}
2530
2531	output = &DescribeEventSubscriptionsOutput{}
2532	req = c.newRequest(op, input, output)
2533	return
2534}
2535
2536// DescribeEventSubscriptions API operation for AWS Database Migration Service.
2537//
2538// Lists all the event subscriptions for a customer account. The description
2539// of a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType,
2540// SourceID, CreationTime, and Status.
2541//
2542// If you specify SubscriptionName, this action lists the description for that
2543// subscription.
2544//
2545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2546// with awserr.Error's Code and Message methods to get detailed information about
2547// the error.
2548//
2549// See the AWS API reference guide for AWS Database Migration Service's
2550// API operation DescribeEventSubscriptions for usage and error information.
2551//
2552// Returned Error Types:
2553//   * ResourceNotFoundFault
2554//   The resource could not be found.
2555//
2556// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEventSubscriptions
2557func (c *DatabaseMigrationService) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) {
2558	req, out := c.DescribeEventSubscriptionsRequest(input)
2559	return out, req.Send()
2560}
2561
2562// DescribeEventSubscriptionsWithContext is the same as DescribeEventSubscriptions with the addition of
2563// the ability to pass a context and additional request options.
2564//
2565// See DescribeEventSubscriptions for details on how to use this API operation.
2566//
2567// The context must be non-nil and will be used for request cancellation. If
2568// the context is nil a panic will occur. In the future the SDK may create
2569// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2570// for more information on using Contexts.
2571func (c *DatabaseMigrationService) DescribeEventSubscriptionsWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, opts ...request.Option) (*DescribeEventSubscriptionsOutput, error) {
2572	req, out := c.DescribeEventSubscriptionsRequest(input)
2573	req.SetContext(ctx)
2574	req.ApplyOptions(opts...)
2575	return out, req.Send()
2576}
2577
2578// DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation,
2579// calling the "fn" function with the response data for each page. To stop
2580// iterating, return false from the fn function.
2581//
2582// See DescribeEventSubscriptions method for more information on how to use this operation.
2583//
2584// Note: This operation can generate multiple requests to a service.
2585//
2586//    // Example iterating over at most 3 pages of a DescribeEventSubscriptions operation.
2587//    pageNum := 0
2588//    err := client.DescribeEventSubscriptionsPages(params,
2589//        func(page *databasemigrationservice.DescribeEventSubscriptionsOutput, lastPage bool) bool {
2590//            pageNum++
2591//            fmt.Println(page)
2592//            return pageNum <= 3
2593//        })
2594//
2595func (c *DatabaseMigrationService) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool) error {
2596	return c.DescribeEventSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn)
2597}
2598
2599// DescribeEventSubscriptionsPagesWithContext same as DescribeEventSubscriptionsPages except
2600// it takes a Context and allows setting request options on the pages.
2601//
2602// The context must be non-nil and will be used for request cancellation. If
2603// the context is nil a panic will occur. In the future the SDK may create
2604// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2605// for more information on using Contexts.
2606func (c *DatabaseMigrationService) DescribeEventSubscriptionsPagesWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool, opts ...request.Option) error {
2607	p := request.Pagination{
2608		NewRequest: func() (*request.Request, error) {
2609			var inCpy *DescribeEventSubscriptionsInput
2610			if input != nil {
2611				tmp := *input
2612				inCpy = &tmp
2613			}
2614			req, _ := c.DescribeEventSubscriptionsRequest(inCpy)
2615			req.SetContext(ctx)
2616			req.ApplyOptions(opts...)
2617			return req, nil
2618		},
2619	}
2620
2621	for p.Next() {
2622		if !fn(p.Page().(*DescribeEventSubscriptionsOutput), !p.HasNextPage()) {
2623			break
2624		}
2625	}
2626
2627	return p.Err()
2628}
2629
2630const opDescribeEvents = "DescribeEvents"
2631
2632// DescribeEventsRequest generates a "aws/request.Request" representing the
2633// client's request for the DescribeEvents operation. The "output" return
2634// value will be populated with the request's response once the request completes
2635// successfully.
2636//
2637// Use "Send" method on the returned Request to send the API call to the service.
2638// the "output" return value is not valid until after Send returns without error.
2639//
2640// See DescribeEvents for more information on using the DescribeEvents
2641// API call, and error handling.
2642//
2643// This method is useful when you want to inject custom logic or configuration
2644// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2645//
2646//
2647//    // Example sending a request using the DescribeEventsRequest method.
2648//    req, resp := client.DescribeEventsRequest(params)
2649//
2650//    err := req.Send()
2651//    if err == nil { // resp is now filled
2652//        fmt.Println(resp)
2653//    }
2654//
2655// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEvents
2656func (c *DatabaseMigrationService) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
2657	op := &request.Operation{
2658		Name:       opDescribeEvents,
2659		HTTPMethod: "POST",
2660		HTTPPath:   "/",
2661		Paginator: &request.Paginator{
2662			InputTokens:     []string{"Marker"},
2663			OutputTokens:    []string{"Marker"},
2664			LimitToken:      "MaxRecords",
2665			TruncationToken: "",
2666		},
2667	}
2668
2669	if input == nil {
2670		input = &DescribeEventsInput{}
2671	}
2672
2673	output = &DescribeEventsOutput{}
2674	req = c.newRequest(op, input, output)
2675	return
2676}
2677
2678// DescribeEvents API operation for AWS Database Migration Service.
2679//
2680// Lists events for a given source identifier and source type. You can also
2681// specify a start and end time. For more information on DMS events, see Working
2682// with Events and Notifications (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Events.html)
2683// in the Database Migration Service User Guide.
2684//
2685// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2686// with awserr.Error's Code and Message methods to get detailed information about
2687// the error.
2688//
2689// See the AWS API reference guide for AWS Database Migration Service's
2690// API operation DescribeEvents for usage and error information.
2691// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEvents
2692func (c *DatabaseMigrationService) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
2693	req, out := c.DescribeEventsRequest(input)
2694	return out, req.Send()
2695}
2696
2697// DescribeEventsWithContext is the same as DescribeEvents with the addition of
2698// the ability to pass a context and additional request options.
2699//
2700// See DescribeEvents for details on how to use this API operation.
2701//
2702// The context must be non-nil and will be used for request cancellation. If
2703// the context is nil a panic will occur. In the future the SDK may create
2704// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2705// for more information on using Contexts.
2706func (c *DatabaseMigrationService) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
2707	req, out := c.DescribeEventsRequest(input)
2708	req.SetContext(ctx)
2709	req.ApplyOptions(opts...)
2710	return out, req.Send()
2711}
2712
2713// DescribeEventsPages iterates over the pages of a DescribeEvents operation,
2714// calling the "fn" function with the response data for each page. To stop
2715// iterating, return false from the fn function.
2716//
2717// See DescribeEvents method for more information on how to use this operation.
2718//
2719// Note: This operation can generate multiple requests to a service.
2720//
2721//    // Example iterating over at most 3 pages of a DescribeEvents operation.
2722//    pageNum := 0
2723//    err := client.DescribeEventsPages(params,
2724//        func(page *databasemigrationservice.DescribeEventsOutput, lastPage bool) bool {
2725//            pageNum++
2726//            fmt.Println(page)
2727//            return pageNum <= 3
2728//        })
2729//
2730func (c *DatabaseMigrationService) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
2731	return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
2732}
2733
2734// DescribeEventsPagesWithContext same as DescribeEventsPages except
2735// it takes a Context and allows setting request options on the pages.
2736//
2737// The context must be non-nil and will be used for request cancellation. If
2738// the context is nil a panic will occur. In the future the SDK may create
2739// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2740// for more information on using Contexts.
2741func (c *DatabaseMigrationService) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
2742	p := request.Pagination{
2743		NewRequest: func() (*request.Request, error) {
2744			var inCpy *DescribeEventsInput
2745			if input != nil {
2746				tmp := *input
2747				inCpy = &tmp
2748			}
2749			req, _ := c.DescribeEventsRequest(inCpy)
2750			req.SetContext(ctx)
2751			req.ApplyOptions(opts...)
2752			return req, nil
2753		},
2754	}
2755
2756	for p.Next() {
2757		if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) {
2758			break
2759		}
2760	}
2761
2762	return p.Err()
2763}
2764
2765const opDescribeOrderableReplicationInstances = "DescribeOrderableReplicationInstances"
2766
2767// DescribeOrderableReplicationInstancesRequest generates a "aws/request.Request" representing the
2768// client's request for the DescribeOrderableReplicationInstances operation. The "output" return
2769// value will be populated with the request's response once the request completes
2770// successfully.
2771//
2772// Use "Send" method on the returned Request to send the API call to the service.
2773// the "output" return value is not valid until after Send returns without error.
2774//
2775// See DescribeOrderableReplicationInstances for more information on using the DescribeOrderableReplicationInstances
2776// API call, and error handling.
2777//
2778// This method is useful when you want to inject custom logic or configuration
2779// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2780//
2781//
2782//    // Example sending a request using the DescribeOrderableReplicationInstancesRequest method.
2783//    req, resp := client.DescribeOrderableReplicationInstancesRequest(params)
2784//
2785//    err := req.Send()
2786//    if err == nil { // resp is now filled
2787//        fmt.Println(resp)
2788//    }
2789//
2790// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeOrderableReplicationInstances
2791func (c *DatabaseMigrationService) DescribeOrderableReplicationInstancesRequest(input *DescribeOrderableReplicationInstancesInput) (req *request.Request, output *DescribeOrderableReplicationInstancesOutput) {
2792	op := &request.Operation{
2793		Name:       opDescribeOrderableReplicationInstances,
2794		HTTPMethod: "POST",
2795		HTTPPath:   "/",
2796		Paginator: &request.Paginator{
2797			InputTokens:     []string{"Marker"},
2798			OutputTokens:    []string{"Marker"},
2799			LimitToken:      "MaxRecords",
2800			TruncationToken: "",
2801		},
2802	}
2803
2804	if input == nil {
2805		input = &DescribeOrderableReplicationInstancesInput{}
2806	}
2807
2808	output = &DescribeOrderableReplicationInstancesOutput{}
2809	req = c.newRequest(op, input, output)
2810	return
2811}
2812
2813// DescribeOrderableReplicationInstances API operation for AWS Database Migration Service.
2814//
2815// Returns information about the replication instance types that can be created
2816// in the specified region.
2817//
2818// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2819// with awserr.Error's Code and Message methods to get detailed information about
2820// the error.
2821//
2822// See the AWS API reference guide for AWS Database Migration Service's
2823// API operation DescribeOrderableReplicationInstances for usage and error information.
2824// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeOrderableReplicationInstances
2825func (c *DatabaseMigrationService) DescribeOrderableReplicationInstances(input *DescribeOrderableReplicationInstancesInput) (*DescribeOrderableReplicationInstancesOutput, error) {
2826	req, out := c.DescribeOrderableReplicationInstancesRequest(input)
2827	return out, req.Send()
2828}
2829
2830// DescribeOrderableReplicationInstancesWithContext is the same as DescribeOrderableReplicationInstances with the addition of
2831// the ability to pass a context and additional request options.
2832//
2833// See DescribeOrderableReplicationInstances for details on how to use this API operation.
2834//
2835// The context must be non-nil and will be used for request cancellation. If
2836// the context is nil a panic will occur. In the future the SDK may create
2837// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2838// for more information on using Contexts.
2839func (c *DatabaseMigrationService) DescribeOrderableReplicationInstancesWithContext(ctx aws.Context, input *DescribeOrderableReplicationInstancesInput, opts ...request.Option) (*DescribeOrderableReplicationInstancesOutput, error) {
2840	req, out := c.DescribeOrderableReplicationInstancesRequest(input)
2841	req.SetContext(ctx)
2842	req.ApplyOptions(opts...)
2843	return out, req.Send()
2844}
2845
2846// DescribeOrderableReplicationInstancesPages iterates over the pages of a DescribeOrderableReplicationInstances operation,
2847// calling the "fn" function with the response data for each page. To stop
2848// iterating, return false from the fn function.
2849//
2850// See DescribeOrderableReplicationInstances method for more information on how to use this operation.
2851//
2852// Note: This operation can generate multiple requests to a service.
2853//
2854//    // Example iterating over at most 3 pages of a DescribeOrderableReplicationInstances operation.
2855//    pageNum := 0
2856//    err := client.DescribeOrderableReplicationInstancesPages(params,
2857//        func(page *databasemigrationservice.DescribeOrderableReplicationInstancesOutput, lastPage bool) bool {
2858//            pageNum++
2859//            fmt.Println(page)
2860//            return pageNum <= 3
2861//        })
2862//
2863func (c *DatabaseMigrationService) DescribeOrderableReplicationInstancesPages(input *DescribeOrderableReplicationInstancesInput, fn func(*DescribeOrderableReplicationInstancesOutput, bool) bool) error {
2864	return c.DescribeOrderableReplicationInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
2865}
2866
2867// DescribeOrderableReplicationInstancesPagesWithContext same as DescribeOrderableReplicationInstancesPages except
2868// it takes a Context and allows setting request options on the pages.
2869//
2870// The context must be non-nil and will be used for request cancellation. If
2871// the context is nil a panic will occur. In the future the SDK may create
2872// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2873// for more information on using Contexts.
2874func (c *DatabaseMigrationService) DescribeOrderableReplicationInstancesPagesWithContext(ctx aws.Context, input *DescribeOrderableReplicationInstancesInput, fn func(*DescribeOrderableReplicationInstancesOutput, bool) bool, opts ...request.Option) error {
2875	p := request.Pagination{
2876		NewRequest: func() (*request.Request, error) {
2877			var inCpy *DescribeOrderableReplicationInstancesInput
2878			if input != nil {
2879				tmp := *input
2880				inCpy = &tmp
2881			}
2882			req, _ := c.DescribeOrderableReplicationInstancesRequest(inCpy)
2883			req.SetContext(ctx)
2884			req.ApplyOptions(opts...)
2885			return req, nil
2886		},
2887	}
2888
2889	for p.Next() {
2890		if !fn(p.Page().(*DescribeOrderableReplicationInstancesOutput), !p.HasNextPage()) {
2891			break
2892		}
2893	}
2894
2895	return p.Err()
2896}
2897
2898const opDescribePendingMaintenanceActions = "DescribePendingMaintenanceActions"
2899
2900// DescribePendingMaintenanceActionsRequest generates a "aws/request.Request" representing the
2901// client's request for the DescribePendingMaintenanceActions operation. The "output" return
2902// value will be populated with the request's response once the request completes
2903// successfully.
2904//
2905// Use "Send" method on the returned Request to send the API call to the service.
2906// the "output" return value is not valid until after Send returns without error.
2907//
2908// See DescribePendingMaintenanceActions for more information on using the DescribePendingMaintenanceActions
2909// API call, and error handling.
2910//
2911// This method is useful when you want to inject custom logic or configuration
2912// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2913//
2914//
2915//    // Example sending a request using the DescribePendingMaintenanceActionsRequest method.
2916//    req, resp := client.DescribePendingMaintenanceActionsRequest(params)
2917//
2918//    err := req.Send()
2919//    if err == nil { // resp is now filled
2920//        fmt.Println(resp)
2921//    }
2922//
2923// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribePendingMaintenanceActions
2924func (c *DatabaseMigrationService) DescribePendingMaintenanceActionsRequest(input *DescribePendingMaintenanceActionsInput) (req *request.Request, output *DescribePendingMaintenanceActionsOutput) {
2925	op := &request.Operation{
2926		Name:       opDescribePendingMaintenanceActions,
2927		HTTPMethod: "POST",
2928		HTTPPath:   "/",
2929		Paginator: &request.Paginator{
2930			InputTokens:     []string{"Marker"},
2931			OutputTokens:    []string{"Marker"},
2932			LimitToken:      "MaxRecords",
2933			TruncationToken: "",
2934		},
2935	}
2936
2937	if input == nil {
2938		input = &DescribePendingMaintenanceActionsInput{}
2939	}
2940
2941	output = &DescribePendingMaintenanceActionsOutput{}
2942	req = c.newRequest(op, input, output)
2943	return
2944}
2945
2946// DescribePendingMaintenanceActions API operation for AWS Database Migration Service.
2947//
2948// For internal use only
2949//
2950// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2951// with awserr.Error's Code and Message methods to get detailed information about
2952// the error.
2953//
2954// See the AWS API reference guide for AWS Database Migration Service's
2955// API operation DescribePendingMaintenanceActions for usage and error information.
2956//
2957// Returned Error Types:
2958//   * ResourceNotFoundFault
2959//   The resource could not be found.
2960//
2961// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribePendingMaintenanceActions
2962func (c *DatabaseMigrationService) DescribePendingMaintenanceActions(input *DescribePendingMaintenanceActionsInput) (*DescribePendingMaintenanceActionsOutput, error) {
2963	req, out := c.DescribePendingMaintenanceActionsRequest(input)
2964	return out, req.Send()
2965}
2966
2967// DescribePendingMaintenanceActionsWithContext is the same as DescribePendingMaintenanceActions with the addition of
2968// the ability to pass a context and additional request options.
2969//
2970// See DescribePendingMaintenanceActions for details on how to use this API operation.
2971//
2972// The context must be non-nil and will be used for request cancellation. If
2973// the context is nil a panic will occur. In the future the SDK may create
2974// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2975// for more information on using Contexts.
2976func (c *DatabaseMigrationService) DescribePendingMaintenanceActionsWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, opts ...request.Option) (*DescribePendingMaintenanceActionsOutput, error) {
2977	req, out := c.DescribePendingMaintenanceActionsRequest(input)
2978	req.SetContext(ctx)
2979	req.ApplyOptions(opts...)
2980	return out, req.Send()
2981}
2982
2983// DescribePendingMaintenanceActionsPages iterates over the pages of a DescribePendingMaintenanceActions operation,
2984// calling the "fn" function with the response data for each page. To stop
2985// iterating, return false from the fn function.
2986//
2987// See DescribePendingMaintenanceActions method for more information on how to use this operation.
2988//
2989// Note: This operation can generate multiple requests to a service.
2990//
2991//    // Example iterating over at most 3 pages of a DescribePendingMaintenanceActions operation.
2992//    pageNum := 0
2993//    err := client.DescribePendingMaintenanceActionsPages(params,
2994//        func(page *databasemigrationservice.DescribePendingMaintenanceActionsOutput, lastPage bool) bool {
2995//            pageNum++
2996//            fmt.Println(page)
2997//            return pageNum <= 3
2998//        })
2999//
3000func (c *DatabaseMigrationService) DescribePendingMaintenanceActionsPages(input *DescribePendingMaintenanceActionsInput, fn func(*DescribePendingMaintenanceActionsOutput, bool) bool) error {
3001	return c.DescribePendingMaintenanceActionsPagesWithContext(aws.BackgroundContext(), input, fn)
3002}
3003
3004// DescribePendingMaintenanceActionsPagesWithContext same as DescribePendingMaintenanceActionsPages except
3005// it takes a Context and allows setting request options on the pages.
3006//
3007// The context must be non-nil and will be used for request cancellation. If
3008// the context is nil a panic will occur. In the future the SDK may create
3009// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3010// for more information on using Contexts.
3011func (c *DatabaseMigrationService) DescribePendingMaintenanceActionsPagesWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, fn func(*DescribePendingMaintenanceActionsOutput, bool) bool, opts ...request.Option) error {
3012	p := request.Pagination{
3013		NewRequest: func() (*request.Request, error) {
3014			var inCpy *DescribePendingMaintenanceActionsInput
3015			if input != nil {
3016				tmp := *input
3017				inCpy = &tmp
3018			}
3019			req, _ := c.DescribePendingMaintenanceActionsRequest(inCpy)
3020			req.SetContext(ctx)
3021			req.ApplyOptions(opts...)
3022			return req, nil
3023		},
3024	}
3025
3026	for p.Next() {
3027		if !fn(p.Page().(*DescribePendingMaintenanceActionsOutput), !p.HasNextPage()) {
3028			break
3029		}
3030	}
3031
3032	return p.Err()
3033}
3034
3035const opDescribeRefreshSchemasStatus = "DescribeRefreshSchemasStatus"
3036
3037// DescribeRefreshSchemasStatusRequest generates a "aws/request.Request" representing the
3038// client's request for the DescribeRefreshSchemasStatus operation. The "output" return
3039// value will be populated with the request's response once the request completes
3040// successfully.
3041//
3042// Use "Send" method on the returned Request to send the API call to the service.
3043// the "output" return value is not valid until after Send returns without error.
3044//
3045// See DescribeRefreshSchemasStatus for more information on using the DescribeRefreshSchemasStatus
3046// API call, and error handling.
3047//
3048// This method is useful when you want to inject custom logic or configuration
3049// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3050//
3051//
3052//    // Example sending a request using the DescribeRefreshSchemasStatusRequest method.
3053//    req, resp := client.DescribeRefreshSchemasStatusRequest(params)
3054//
3055//    err := req.Send()
3056//    if err == nil { // resp is now filled
3057//        fmt.Println(resp)
3058//    }
3059//
3060// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeRefreshSchemasStatus
3061func (c *DatabaseMigrationService) DescribeRefreshSchemasStatusRequest(input *DescribeRefreshSchemasStatusInput) (req *request.Request, output *DescribeRefreshSchemasStatusOutput) {
3062	op := &request.Operation{
3063		Name:       opDescribeRefreshSchemasStatus,
3064		HTTPMethod: "POST",
3065		HTTPPath:   "/",
3066	}
3067
3068	if input == nil {
3069		input = &DescribeRefreshSchemasStatusInput{}
3070	}
3071
3072	output = &DescribeRefreshSchemasStatusOutput{}
3073	req = c.newRequest(op, input, output)
3074	return
3075}
3076
3077// DescribeRefreshSchemasStatus API operation for AWS Database Migration Service.
3078//
3079// Returns the status of the RefreshSchemas operation.
3080//
3081// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3082// with awserr.Error's Code and Message methods to get detailed information about
3083// the error.
3084//
3085// See the AWS API reference guide for AWS Database Migration Service's
3086// API operation DescribeRefreshSchemasStatus for usage and error information.
3087//
3088// Returned Error Types:
3089//   * InvalidResourceStateFault
3090//   The resource is in a state that prevents it from being used for database
3091//   migration.
3092//
3093//   * ResourceNotFoundFault
3094//   The resource could not be found.
3095//
3096// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeRefreshSchemasStatus
3097func (c *DatabaseMigrationService) DescribeRefreshSchemasStatus(input *DescribeRefreshSchemasStatusInput) (*DescribeRefreshSchemasStatusOutput, error) {
3098	req, out := c.DescribeRefreshSchemasStatusRequest(input)
3099	return out, req.Send()
3100}
3101
3102// DescribeRefreshSchemasStatusWithContext is the same as DescribeRefreshSchemasStatus with the addition of
3103// the ability to pass a context and additional request options.
3104//
3105// See DescribeRefreshSchemasStatus for details on how to use this API operation.
3106//
3107// The context must be non-nil and will be used for request cancellation. If
3108// the context is nil a panic will occur. In the future the SDK may create
3109// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3110// for more information on using Contexts.
3111func (c *DatabaseMigrationService) DescribeRefreshSchemasStatusWithContext(ctx aws.Context, input *DescribeRefreshSchemasStatusInput, opts ...request.Option) (*DescribeRefreshSchemasStatusOutput, error) {
3112	req, out := c.DescribeRefreshSchemasStatusRequest(input)
3113	req.SetContext(ctx)
3114	req.ApplyOptions(opts...)
3115	return out, req.Send()
3116}
3117
3118const opDescribeReplicationInstanceTaskLogs = "DescribeReplicationInstanceTaskLogs"
3119
3120// DescribeReplicationInstanceTaskLogsRequest generates a "aws/request.Request" representing the
3121// client's request for the DescribeReplicationInstanceTaskLogs operation. The "output" return
3122// value will be populated with the request's response once the request completes
3123// successfully.
3124//
3125// Use "Send" method on the returned Request to send the API call to the service.
3126// the "output" return value is not valid until after Send returns without error.
3127//
3128// See DescribeReplicationInstanceTaskLogs for more information on using the DescribeReplicationInstanceTaskLogs
3129// API call, and error handling.
3130//
3131// This method is useful when you want to inject custom logic or configuration
3132// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3133//
3134//
3135//    // Example sending a request using the DescribeReplicationInstanceTaskLogsRequest method.
3136//    req, resp := client.DescribeReplicationInstanceTaskLogsRequest(params)
3137//
3138//    err := req.Send()
3139//    if err == nil { // resp is now filled
3140//        fmt.Println(resp)
3141//    }
3142//
3143// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationInstanceTaskLogs
3144func (c *DatabaseMigrationService) DescribeReplicationInstanceTaskLogsRequest(input *DescribeReplicationInstanceTaskLogsInput) (req *request.Request, output *DescribeReplicationInstanceTaskLogsOutput) {
3145	op := &request.Operation{
3146		Name:       opDescribeReplicationInstanceTaskLogs,
3147		HTTPMethod: "POST",
3148		HTTPPath:   "/",
3149		Paginator: &request.Paginator{
3150			InputTokens:     []string{"Marker"},
3151			OutputTokens:    []string{"Marker"},
3152			LimitToken:      "MaxRecords",
3153			TruncationToken: "",
3154		},
3155	}
3156
3157	if input == nil {
3158		input = &DescribeReplicationInstanceTaskLogsInput{}
3159	}
3160
3161	output = &DescribeReplicationInstanceTaskLogsOutput{}
3162	req = c.newRequest(op, input, output)
3163	return
3164}
3165
3166// DescribeReplicationInstanceTaskLogs API operation for AWS Database Migration Service.
3167//
3168// Returns information about the task logs for the specified task.
3169//
3170// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3171// with awserr.Error's Code and Message methods to get detailed information about
3172// the error.
3173//
3174// See the AWS API reference guide for AWS Database Migration Service's
3175// API operation DescribeReplicationInstanceTaskLogs for usage and error information.
3176//
3177// Returned Error Types:
3178//   * ResourceNotFoundFault
3179//   The resource could not be found.
3180//
3181//   * InvalidResourceStateFault
3182//   The resource is in a state that prevents it from being used for database
3183//   migration.
3184//
3185// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationInstanceTaskLogs
3186func (c *DatabaseMigrationService) DescribeReplicationInstanceTaskLogs(input *DescribeReplicationInstanceTaskLogsInput) (*DescribeReplicationInstanceTaskLogsOutput, error) {
3187	req, out := c.DescribeReplicationInstanceTaskLogsRequest(input)
3188	return out, req.Send()
3189}
3190
3191// DescribeReplicationInstanceTaskLogsWithContext is the same as DescribeReplicationInstanceTaskLogs with the addition of
3192// the ability to pass a context and additional request options.
3193//
3194// See DescribeReplicationInstanceTaskLogs for details on how to use this API operation.
3195//
3196// The context must be non-nil and will be used for request cancellation. If
3197// the context is nil a panic will occur. In the future the SDK may create
3198// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3199// for more information on using Contexts.
3200func (c *DatabaseMigrationService) DescribeReplicationInstanceTaskLogsWithContext(ctx aws.Context, input *DescribeReplicationInstanceTaskLogsInput, opts ...request.Option) (*DescribeReplicationInstanceTaskLogsOutput, error) {
3201	req, out := c.DescribeReplicationInstanceTaskLogsRequest(input)
3202	req.SetContext(ctx)
3203	req.ApplyOptions(opts...)
3204	return out, req.Send()
3205}
3206
3207// DescribeReplicationInstanceTaskLogsPages iterates over the pages of a DescribeReplicationInstanceTaskLogs operation,
3208// calling the "fn" function with the response data for each page. To stop
3209// iterating, return false from the fn function.
3210//
3211// See DescribeReplicationInstanceTaskLogs method for more information on how to use this operation.
3212//
3213// Note: This operation can generate multiple requests to a service.
3214//
3215//    // Example iterating over at most 3 pages of a DescribeReplicationInstanceTaskLogs operation.
3216//    pageNum := 0
3217//    err := client.DescribeReplicationInstanceTaskLogsPages(params,
3218//        func(page *databasemigrationservice.DescribeReplicationInstanceTaskLogsOutput, lastPage bool) bool {
3219//            pageNum++
3220//            fmt.Println(page)
3221//            return pageNum <= 3
3222//        })
3223//
3224func (c *DatabaseMigrationService) DescribeReplicationInstanceTaskLogsPages(input *DescribeReplicationInstanceTaskLogsInput, fn func(*DescribeReplicationInstanceTaskLogsOutput, bool) bool) error {
3225	return c.DescribeReplicationInstanceTaskLogsPagesWithContext(aws.BackgroundContext(), input, fn)
3226}
3227
3228// DescribeReplicationInstanceTaskLogsPagesWithContext same as DescribeReplicationInstanceTaskLogsPages except
3229// it takes a Context and allows setting request options on the pages.
3230//
3231// The context must be non-nil and will be used for request cancellation. If
3232// the context is nil a panic will occur. In the future the SDK may create
3233// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3234// for more information on using Contexts.
3235func (c *DatabaseMigrationService) DescribeReplicationInstanceTaskLogsPagesWithContext(ctx aws.Context, input *DescribeReplicationInstanceTaskLogsInput, fn func(*DescribeReplicationInstanceTaskLogsOutput, bool) bool, opts ...request.Option) error {
3236	p := request.Pagination{
3237		NewRequest: func() (*request.Request, error) {
3238			var inCpy *DescribeReplicationInstanceTaskLogsInput
3239			if input != nil {
3240				tmp := *input
3241				inCpy = &tmp
3242			}
3243			req, _ := c.DescribeReplicationInstanceTaskLogsRequest(inCpy)
3244			req.SetContext(ctx)
3245			req.ApplyOptions(opts...)
3246			return req, nil
3247		},
3248	}
3249
3250	for p.Next() {
3251		if !fn(p.Page().(*DescribeReplicationInstanceTaskLogsOutput), !p.HasNextPage()) {
3252			break
3253		}
3254	}
3255
3256	return p.Err()
3257}
3258
3259const opDescribeReplicationInstances = "DescribeReplicationInstances"
3260
3261// DescribeReplicationInstancesRequest generates a "aws/request.Request" representing the
3262// client's request for the DescribeReplicationInstances operation. The "output" return
3263// value will be populated with the request's response once the request completes
3264// successfully.
3265//
3266// Use "Send" method on the returned Request to send the API call to the service.
3267// the "output" return value is not valid until after Send returns without error.
3268//
3269// See DescribeReplicationInstances for more information on using the DescribeReplicationInstances
3270// API call, and error handling.
3271//
3272// This method is useful when you want to inject custom logic or configuration
3273// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3274//
3275//
3276//    // Example sending a request using the DescribeReplicationInstancesRequest method.
3277//    req, resp := client.DescribeReplicationInstancesRequest(params)
3278//
3279//    err := req.Send()
3280//    if err == nil { // resp is now filled
3281//        fmt.Println(resp)
3282//    }
3283//
3284// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationInstances
3285func (c *DatabaseMigrationService) DescribeReplicationInstancesRequest(input *DescribeReplicationInstancesInput) (req *request.Request, output *DescribeReplicationInstancesOutput) {
3286	op := &request.Operation{
3287		Name:       opDescribeReplicationInstances,
3288		HTTPMethod: "POST",
3289		HTTPPath:   "/",
3290		Paginator: &request.Paginator{
3291			InputTokens:     []string{"Marker"},
3292			OutputTokens:    []string{"Marker"},
3293			LimitToken:      "MaxRecords",
3294			TruncationToken: "",
3295		},
3296	}
3297
3298	if input == nil {
3299		input = &DescribeReplicationInstancesInput{}
3300	}
3301
3302	output = &DescribeReplicationInstancesOutput{}
3303	req = c.newRequest(op, input, output)
3304	return
3305}
3306
3307// DescribeReplicationInstances API operation for AWS Database Migration Service.
3308//
3309// Returns information about replication instances for your account in the current
3310// region.
3311//
3312// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3313// with awserr.Error's Code and Message methods to get detailed information about
3314// the error.
3315//
3316// See the AWS API reference guide for AWS Database Migration Service's
3317// API operation DescribeReplicationInstances for usage and error information.
3318//
3319// Returned Error Types:
3320//   * ResourceNotFoundFault
3321//   The resource could not be found.
3322//
3323// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationInstances
3324func (c *DatabaseMigrationService) DescribeReplicationInstances(input *DescribeReplicationInstancesInput) (*DescribeReplicationInstancesOutput, error) {
3325	req, out := c.DescribeReplicationInstancesRequest(input)
3326	return out, req.Send()
3327}
3328
3329// DescribeReplicationInstancesWithContext is the same as DescribeReplicationInstances with the addition of
3330// the ability to pass a context and additional request options.
3331//
3332// See DescribeReplicationInstances for details on how to use this API operation.
3333//
3334// The context must be non-nil and will be used for request cancellation. If
3335// the context is nil a panic will occur. In the future the SDK may create
3336// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3337// for more information on using Contexts.
3338func (c *DatabaseMigrationService) DescribeReplicationInstancesWithContext(ctx aws.Context, input *DescribeReplicationInstancesInput, opts ...request.Option) (*DescribeReplicationInstancesOutput, error) {
3339	req, out := c.DescribeReplicationInstancesRequest(input)
3340	req.SetContext(ctx)
3341	req.ApplyOptions(opts...)
3342	return out, req.Send()
3343}
3344
3345// DescribeReplicationInstancesPages iterates over the pages of a DescribeReplicationInstances operation,
3346// calling the "fn" function with the response data for each page. To stop
3347// iterating, return false from the fn function.
3348//
3349// See DescribeReplicationInstances method for more information on how to use this operation.
3350//
3351// Note: This operation can generate multiple requests to a service.
3352//
3353//    // Example iterating over at most 3 pages of a DescribeReplicationInstances operation.
3354//    pageNum := 0
3355//    err := client.DescribeReplicationInstancesPages(params,
3356//        func(page *databasemigrationservice.DescribeReplicationInstancesOutput, lastPage bool) bool {
3357//            pageNum++
3358//            fmt.Println(page)
3359//            return pageNum <= 3
3360//        })
3361//
3362func (c *DatabaseMigrationService) DescribeReplicationInstancesPages(input *DescribeReplicationInstancesInput, fn func(*DescribeReplicationInstancesOutput, bool) bool) error {
3363	return c.DescribeReplicationInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
3364}
3365
3366// DescribeReplicationInstancesPagesWithContext same as DescribeReplicationInstancesPages except
3367// it takes a Context and allows setting request options on the pages.
3368//
3369// The context must be non-nil and will be used for request cancellation. If
3370// the context is nil a panic will occur. In the future the SDK may create
3371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3372// for more information on using Contexts.
3373func (c *DatabaseMigrationService) DescribeReplicationInstancesPagesWithContext(ctx aws.Context, input *DescribeReplicationInstancesInput, fn func(*DescribeReplicationInstancesOutput, bool) bool, opts ...request.Option) error {
3374	p := request.Pagination{
3375		NewRequest: func() (*request.Request, error) {
3376			var inCpy *DescribeReplicationInstancesInput
3377			if input != nil {
3378				tmp := *input
3379				inCpy = &tmp
3380			}
3381			req, _ := c.DescribeReplicationInstancesRequest(inCpy)
3382			req.SetContext(ctx)
3383			req.ApplyOptions(opts...)
3384			return req, nil
3385		},
3386	}
3387
3388	for p.Next() {
3389		if !fn(p.Page().(*DescribeReplicationInstancesOutput), !p.HasNextPage()) {
3390			break
3391		}
3392	}
3393
3394	return p.Err()
3395}
3396
3397const opDescribeReplicationSubnetGroups = "DescribeReplicationSubnetGroups"
3398
3399// DescribeReplicationSubnetGroupsRequest generates a "aws/request.Request" representing the
3400// client's request for the DescribeReplicationSubnetGroups operation. The "output" return
3401// value will be populated with the request's response once the request completes
3402// successfully.
3403//
3404// Use "Send" method on the returned Request to send the API call to the service.
3405// the "output" return value is not valid until after Send returns without error.
3406//
3407// See DescribeReplicationSubnetGroups for more information on using the DescribeReplicationSubnetGroups
3408// API call, and error handling.
3409//
3410// This method is useful when you want to inject custom logic or configuration
3411// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3412//
3413//
3414//    // Example sending a request using the DescribeReplicationSubnetGroupsRequest method.
3415//    req, resp := client.DescribeReplicationSubnetGroupsRequest(params)
3416//
3417//    err := req.Send()
3418//    if err == nil { // resp is now filled
3419//        fmt.Println(resp)
3420//    }
3421//
3422// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationSubnetGroups
3423func (c *DatabaseMigrationService) DescribeReplicationSubnetGroupsRequest(input *DescribeReplicationSubnetGroupsInput) (req *request.Request, output *DescribeReplicationSubnetGroupsOutput) {
3424	op := &request.Operation{
3425		Name:       opDescribeReplicationSubnetGroups,
3426		HTTPMethod: "POST",
3427		HTTPPath:   "/",
3428		Paginator: &request.Paginator{
3429			InputTokens:     []string{"Marker"},
3430			OutputTokens:    []string{"Marker"},
3431			LimitToken:      "MaxRecords",
3432			TruncationToken: "",
3433		},
3434	}
3435
3436	if input == nil {
3437		input = &DescribeReplicationSubnetGroupsInput{}
3438	}
3439
3440	output = &DescribeReplicationSubnetGroupsOutput{}
3441	req = c.newRequest(op, input, output)
3442	return
3443}
3444
3445// DescribeReplicationSubnetGroups API operation for AWS Database Migration Service.
3446//
3447// Returns information about the replication subnet groups.
3448//
3449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3450// with awserr.Error's Code and Message methods to get detailed information about
3451// the error.
3452//
3453// See the AWS API reference guide for AWS Database Migration Service's
3454// API operation DescribeReplicationSubnetGroups for usage and error information.
3455//
3456// Returned Error Types:
3457//   * ResourceNotFoundFault
3458//   The resource could not be found.
3459//
3460// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationSubnetGroups
3461func (c *DatabaseMigrationService) DescribeReplicationSubnetGroups(input *DescribeReplicationSubnetGroupsInput) (*DescribeReplicationSubnetGroupsOutput, error) {
3462	req, out := c.DescribeReplicationSubnetGroupsRequest(input)
3463	return out, req.Send()
3464}
3465
3466// DescribeReplicationSubnetGroupsWithContext is the same as DescribeReplicationSubnetGroups with the addition of
3467// the ability to pass a context and additional request options.
3468//
3469// See DescribeReplicationSubnetGroups for details on how to use this API operation.
3470//
3471// The context must be non-nil and will be used for request cancellation. If
3472// the context is nil a panic will occur. In the future the SDK may create
3473// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3474// for more information on using Contexts.
3475func (c *DatabaseMigrationService) DescribeReplicationSubnetGroupsWithContext(ctx aws.Context, input *DescribeReplicationSubnetGroupsInput, opts ...request.Option) (*DescribeReplicationSubnetGroupsOutput, error) {
3476	req, out := c.DescribeReplicationSubnetGroupsRequest(input)
3477	req.SetContext(ctx)
3478	req.ApplyOptions(opts...)
3479	return out, req.Send()
3480}
3481
3482// DescribeReplicationSubnetGroupsPages iterates over the pages of a DescribeReplicationSubnetGroups operation,
3483// calling the "fn" function with the response data for each page. To stop
3484// iterating, return false from the fn function.
3485//
3486// See DescribeReplicationSubnetGroups method for more information on how to use this operation.
3487//
3488// Note: This operation can generate multiple requests to a service.
3489//
3490//    // Example iterating over at most 3 pages of a DescribeReplicationSubnetGroups operation.
3491//    pageNum := 0
3492//    err := client.DescribeReplicationSubnetGroupsPages(params,
3493//        func(page *databasemigrationservice.DescribeReplicationSubnetGroupsOutput, lastPage bool) bool {
3494//            pageNum++
3495//            fmt.Println(page)
3496//            return pageNum <= 3
3497//        })
3498//
3499func (c *DatabaseMigrationService) DescribeReplicationSubnetGroupsPages(input *DescribeReplicationSubnetGroupsInput, fn func(*DescribeReplicationSubnetGroupsOutput, bool) bool) error {
3500	return c.DescribeReplicationSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
3501}
3502
3503// DescribeReplicationSubnetGroupsPagesWithContext same as DescribeReplicationSubnetGroupsPages except
3504// it takes a Context and allows setting request options on the pages.
3505//
3506// The context must be non-nil and will be used for request cancellation. If
3507// the context is nil a panic will occur. In the future the SDK may create
3508// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3509// for more information on using Contexts.
3510func (c *DatabaseMigrationService) DescribeReplicationSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeReplicationSubnetGroupsInput, fn func(*DescribeReplicationSubnetGroupsOutput, bool) bool, opts ...request.Option) error {
3511	p := request.Pagination{
3512		NewRequest: func() (*request.Request, error) {
3513			var inCpy *DescribeReplicationSubnetGroupsInput
3514			if input != nil {
3515				tmp := *input
3516				inCpy = &tmp
3517			}
3518			req, _ := c.DescribeReplicationSubnetGroupsRequest(inCpy)
3519			req.SetContext(ctx)
3520			req.ApplyOptions(opts...)
3521			return req, nil
3522		},
3523	}
3524
3525	for p.Next() {
3526		if !fn(p.Page().(*DescribeReplicationSubnetGroupsOutput), !p.HasNextPage()) {
3527			break
3528		}
3529	}
3530
3531	return p.Err()
3532}
3533
3534const opDescribeReplicationTaskAssessmentResults = "DescribeReplicationTaskAssessmentResults"
3535
3536// DescribeReplicationTaskAssessmentResultsRequest generates a "aws/request.Request" representing the
3537// client's request for the DescribeReplicationTaskAssessmentResults operation. The "output" return
3538// value will be populated with the request's response once the request completes
3539// successfully.
3540//
3541// Use "Send" method on the returned Request to send the API call to the service.
3542// the "output" return value is not valid until after Send returns without error.
3543//
3544// See DescribeReplicationTaskAssessmentResults for more information on using the DescribeReplicationTaskAssessmentResults
3545// API call, and error handling.
3546//
3547// This method is useful when you want to inject custom logic or configuration
3548// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3549//
3550//
3551//    // Example sending a request using the DescribeReplicationTaskAssessmentResultsRequest method.
3552//    req, resp := client.DescribeReplicationTaskAssessmentResultsRequest(params)
3553//
3554//    err := req.Send()
3555//    if err == nil { // resp is now filled
3556//        fmt.Println(resp)
3557//    }
3558//
3559// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskAssessmentResults
3560func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentResultsRequest(input *DescribeReplicationTaskAssessmentResultsInput) (req *request.Request, output *DescribeReplicationTaskAssessmentResultsOutput) {
3561	op := &request.Operation{
3562		Name:       opDescribeReplicationTaskAssessmentResults,
3563		HTTPMethod: "POST",
3564		HTTPPath:   "/",
3565		Paginator: &request.Paginator{
3566			InputTokens:     []string{"Marker"},
3567			OutputTokens:    []string{"Marker"},
3568			LimitToken:      "MaxRecords",
3569			TruncationToken: "",
3570		},
3571	}
3572
3573	if input == nil {
3574		input = &DescribeReplicationTaskAssessmentResultsInput{}
3575	}
3576
3577	output = &DescribeReplicationTaskAssessmentResultsOutput{}
3578	req = c.newRequest(op, input, output)
3579	return
3580}
3581
3582// DescribeReplicationTaskAssessmentResults API operation for AWS Database Migration Service.
3583//
3584// Returns the task assessment results from the Amazon S3 bucket that DMS creates
3585// in your Amazon Web Services account. This action always returns the latest
3586// results.
3587//
3588// For more information about DMS task assessments, see Creating a task assessment
3589// report (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.AssessmentReport.html)
3590// in the Database Migration Service User Guide (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/dms/latest/userguide/Welcome.html).
3591//
3592// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3593// with awserr.Error's Code and Message methods to get detailed information about
3594// the error.
3595//
3596// See the AWS API reference guide for AWS Database Migration Service's
3597// API operation DescribeReplicationTaskAssessmentResults for usage and error information.
3598//
3599// Returned Error Types:
3600//   * ResourceNotFoundFault
3601//   The resource could not be found.
3602//
3603// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskAssessmentResults
3604func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentResults(input *DescribeReplicationTaskAssessmentResultsInput) (*DescribeReplicationTaskAssessmentResultsOutput, error) {
3605	req, out := c.DescribeReplicationTaskAssessmentResultsRequest(input)
3606	return out, req.Send()
3607}
3608
3609// DescribeReplicationTaskAssessmentResultsWithContext is the same as DescribeReplicationTaskAssessmentResults with the addition of
3610// the ability to pass a context and additional request options.
3611//
3612// See DescribeReplicationTaskAssessmentResults for details on how to use this API operation.
3613//
3614// The context must be non-nil and will be used for request cancellation. If
3615// the context is nil a panic will occur. In the future the SDK may create
3616// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3617// for more information on using Contexts.
3618func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentResultsWithContext(ctx aws.Context, input *DescribeReplicationTaskAssessmentResultsInput, opts ...request.Option) (*DescribeReplicationTaskAssessmentResultsOutput, error) {
3619	req, out := c.DescribeReplicationTaskAssessmentResultsRequest(input)
3620	req.SetContext(ctx)
3621	req.ApplyOptions(opts...)
3622	return out, req.Send()
3623}
3624
3625// DescribeReplicationTaskAssessmentResultsPages iterates over the pages of a DescribeReplicationTaskAssessmentResults operation,
3626// calling the "fn" function with the response data for each page. To stop
3627// iterating, return false from the fn function.
3628//
3629// See DescribeReplicationTaskAssessmentResults method for more information on how to use this operation.
3630//
3631// Note: This operation can generate multiple requests to a service.
3632//
3633//    // Example iterating over at most 3 pages of a DescribeReplicationTaskAssessmentResults operation.
3634//    pageNum := 0
3635//    err := client.DescribeReplicationTaskAssessmentResultsPages(params,
3636//        func(page *databasemigrationservice.DescribeReplicationTaskAssessmentResultsOutput, lastPage bool) bool {
3637//            pageNum++
3638//            fmt.Println(page)
3639//            return pageNum <= 3
3640//        })
3641//
3642func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentResultsPages(input *DescribeReplicationTaskAssessmentResultsInput, fn func(*DescribeReplicationTaskAssessmentResultsOutput, bool) bool) error {
3643	return c.DescribeReplicationTaskAssessmentResultsPagesWithContext(aws.BackgroundContext(), input, fn)
3644}
3645
3646// DescribeReplicationTaskAssessmentResultsPagesWithContext same as DescribeReplicationTaskAssessmentResultsPages except
3647// it takes a Context and allows setting request options on the pages.
3648//
3649// The context must be non-nil and will be used for request cancellation. If
3650// the context is nil a panic will occur. In the future the SDK may create
3651// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3652// for more information on using Contexts.
3653func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentResultsPagesWithContext(ctx aws.Context, input *DescribeReplicationTaskAssessmentResultsInput, fn func(*DescribeReplicationTaskAssessmentResultsOutput, bool) bool, opts ...request.Option) error {
3654	p := request.Pagination{
3655		NewRequest: func() (*request.Request, error) {
3656			var inCpy *DescribeReplicationTaskAssessmentResultsInput
3657			if input != nil {
3658				tmp := *input
3659				inCpy = &tmp
3660			}
3661			req, _ := c.DescribeReplicationTaskAssessmentResultsRequest(inCpy)
3662			req.SetContext(ctx)
3663			req.ApplyOptions(opts...)
3664			return req, nil
3665		},
3666	}
3667
3668	for p.Next() {
3669		if !fn(p.Page().(*DescribeReplicationTaskAssessmentResultsOutput), !p.HasNextPage()) {
3670			break
3671		}
3672	}
3673
3674	return p.Err()
3675}
3676
3677const opDescribeReplicationTaskAssessmentRuns = "DescribeReplicationTaskAssessmentRuns"
3678
3679// DescribeReplicationTaskAssessmentRunsRequest generates a "aws/request.Request" representing the
3680// client's request for the DescribeReplicationTaskAssessmentRuns operation. The "output" return
3681// value will be populated with the request's response once the request completes
3682// successfully.
3683//
3684// Use "Send" method on the returned Request to send the API call to the service.
3685// the "output" return value is not valid until after Send returns without error.
3686//
3687// See DescribeReplicationTaskAssessmentRuns for more information on using the DescribeReplicationTaskAssessmentRuns
3688// API call, and error handling.
3689//
3690// This method is useful when you want to inject custom logic or configuration
3691// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3692//
3693//
3694//    // Example sending a request using the DescribeReplicationTaskAssessmentRunsRequest method.
3695//    req, resp := client.DescribeReplicationTaskAssessmentRunsRequest(params)
3696//
3697//    err := req.Send()
3698//    if err == nil { // resp is now filled
3699//        fmt.Println(resp)
3700//    }
3701//
3702// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskAssessmentRuns
3703func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentRunsRequest(input *DescribeReplicationTaskAssessmentRunsInput) (req *request.Request, output *DescribeReplicationTaskAssessmentRunsOutput) {
3704	op := &request.Operation{
3705		Name:       opDescribeReplicationTaskAssessmentRuns,
3706		HTTPMethod: "POST",
3707		HTTPPath:   "/",
3708		Paginator: &request.Paginator{
3709			InputTokens:     []string{"Marker"},
3710			OutputTokens:    []string{"Marker"},
3711			LimitToken:      "MaxRecords",
3712			TruncationToken: "",
3713		},
3714	}
3715
3716	if input == nil {
3717		input = &DescribeReplicationTaskAssessmentRunsInput{}
3718	}
3719
3720	output = &DescribeReplicationTaskAssessmentRunsOutput{}
3721	req = c.newRequest(op, input, output)
3722	return
3723}
3724
3725// DescribeReplicationTaskAssessmentRuns API operation for AWS Database Migration Service.
3726//
3727// Returns a paginated list of premigration assessment runs based on filter
3728// settings.
3729//
3730// These filter settings can specify a combination of premigration assessment
3731// runs, migration tasks, replication instances, and assessment run status values.
3732//
3733// This operation doesn't return information about individual assessments. For
3734// this information, see the DescribeReplicationTaskIndividualAssessments operation.
3735//
3736// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3737// with awserr.Error's Code and Message methods to get detailed information about
3738// the error.
3739//
3740// See the AWS API reference guide for AWS Database Migration Service's
3741// API operation DescribeReplicationTaskAssessmentRuns for usage and error information.
3742//
3743// Returned Error Types:
3744//   * ResourceNotFoundFault
3745//   The resource could not be found.
3746//
3747// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskAssessmentRuns
3748func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentRuns(input *DescribeReplicationTaskAssessmentRunsInput) (*DescribeReplicationTaskAssessmentRunsOutput, error) {
3749	req, out := c.DescribeReplicationTaskAssessmentRunsRequest(input)
3750	return out, req.Send()
3751}
3752
3753// DescribeReplicationTaskAssessmentRunsWithContext is the same as DescribeReplicationTaskAssessmentRuns with the addition of
3754// the ability to pass a context and additional request options.
3755//
3756// See DescribeReplicationTaskAssessmentRuns for details on how to use this API operation.
3757//
3758// The context must be non-nil and will be used for request cancellation. If
3759// the context is nil a panic will occur. In the future the SDK may create
3760// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3761// for more information on using Contexts.
3762func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentRunsWithContext(ctx aws.Context, input *DescribeReplicationTaskAssessmentRunsInput, opts ...request.Option) (*DescribeReplicationTaskAssessmentRunsOutput, error) {
3763	req, out := c.DescribeReplicationTaskAssessmentRunsRequest(input)
3764	req.SetContext(ctx)
3765	req.ApplyOptions(opts...)
3766	return out, req.Send()
3767}
3768
3769// DescribeReplicationTaskAssessmentRunsPages iterates over the pages of a DescribeReplicationTaskAssessmentRuns operation,
3770// calling the "fn" function with the response data for each page. To stop
3771// iterating, return false from the fn function.
3772//
3773// See DescribeReplicationTaskAssessmentRuns method for more information on how to use this operation.
3774//
3775// Note: This operation can generate multiple requests to a service.
3776//
3777//    // Example iterating over at most 3 pages of a DescribeReplicationTaskAssessmentRuns operation.
3778//    pageNum := 0
3779//    err := client.DescribeReplicationTaskAssessmentRunsPages(params,
3780//        func(page *databasemigrationservice.DescribeReplicationTaskAssessmentRunsOutput, lastPage bool) bool {
3781//            pageNum++
3782//            fmt.Println(page)
3783//            return pageNum <= 3
3784//        })
3785//
3786func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentRunsPages(input *DescribeReplicationTaskAssessmentRunsInput, fn func(*DescribeReplicationTaskAssessmentRunsOutput, bool) bool) error {
3787	return c.DescribeReplicationTaskAssessmentRunsPagesWithContext(aws.BackgroundContext(), input, fn)
3788}
3789
3790// DescribeReplicationTaskAssessmentRunsPagesWithContext same as DescribeReplicationTaskAssessmentRunsPages except
3791// it takes a Context and allows setting request options on the pages.
3792//
3793// The context must be non-nil and will be used for request cancellation. If
3794// the context is nil a panic will occur. In the future the SDK may create
3795// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3796// for more information on using Contexts.
3797func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentRunsPagesWithContext(ctx aws.Context, input *DescribeReplicationTaskAssessmentRunsInput, fn func(*DescribeReplicationTaskAssessmentRunsOutput, bool) bool, opts ...request.Option) error {
3798	p := request.Pagination{
3799		NewRequest: func() (*request.Request, error) {
3800			var inCpy *DescribeReplicationTaskAssessmentRunsInput
3801			if input != nil {
3802				tmp := *input
3803				inCpy = &tmp
3804			}
3805			req, _ := c.DescribeReplicationTaskAssessmentRunsRequest(inCpy)
3806			req.SetContext(ctx)
3807			req.ApplyOptions(opts...)
3808			return req, nil
3809		},
3810	}
3811
3812	for p.Next() {
3813		if !fn(p.Page().(*DescribeReplicationTaskAssessmentRunsOutput), !p.HasNextPage()) {
3814			break
3815		}
3816	}
3817
3818	return p.Err()
3819}
3820
3821const opDescribeReplicationTaskIndividualAssessments = "DescribeReplicationTaskIndividualAssessments"
3822
3823// DescribeReplicationTaskIndividualAssessmentsRequest generates a "aws/request.Request" representing the
3824// client's request for the DescribeReplicationTaskIndividualAssessments operation. The "output" return
3825// value will be populated with the request's response once the request completes
3826// successfully.
3827//
3828// Use "Send" method on the returned Request to send the API call to the service.
3829// the "output" return value is not valid until after Send returns without error.
3830//
3831// See DescribeReplicationTaskIndividualAssessments for more information on using the DescribeReplicationTaskIndividualAssessments
3832// API call, and error handling.
3833//
3834// This method is useful when you want to inject custom logic or configuration
3835// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3836//
3837//
3838//    // Example sending a request using the DescribeReplicationTaskIndividualAssessmentsRequest method.
3839//    req, resp := client.DescribeReplicationTaskIndividualAssessmentsRequest(params)
3840//
3841//    err := req.Send()
3842//    if err == nil { // resp is now filled
3843//        fmt.Println(resp)
3844//    }
3845//
3846// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskIndividualAssessments
3847func (c *DatabaseMigrationService) DescribeReplicationTaskIndividualAssessmentsRequest(input *DescribeReplicationTaskIndividualAssessmentsInput) (req *request.Request, output *DescribeReplicationTaskIndividualAssessmentsOutput) {
3848	op := &request.Operation{
3849		Name:       opDescribeReplicationTaskIndividualAssessments,
3850		HTTPMethod: "POST",
3851		HTTPPath:   "/",
3852		Paginator: &request.Paginator{
3853			InputTokens:     []string{"Marker"},
3854			OutputTokens:    []string{"Marker"},
3855			LimitToken:      "MaxRecords",
3856			TruncationToken: "",
3857		},
3858	}
3859
3860	if input == nil {
3861		input = &DescribeReplicationTaskIndividualAssessmentsInput{}
3862	}
3863
3864	output = &DescribeReplicationTaskIndividualAssessmentsOutput{}
3865	req = c.newRequest(op, input, output)
3866	return
3867}
3868
3869// DescribeReplicationTaskIndividualAssessments API operation for AWS Database Migration Service.
3870//
3871// Returns a paginated list of individual assessments based on filter settings.
3872//
3873// These filter settings can specify a combination of premigration assessment
3874// runs, migration tasks, and assessment status values.
3875//
3876// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3877// with awserr.Error's Code and Message methods to get detailed information about
3878// the error.
3879//
3880// See the AWS API reference guide for AWS Database Migration Service's
3881// API operation DescribeReplicationTaskIndividualAssessments for usage and error information.
3882//
3883// Returned Error Types:
3884//   * ResourceNotFoundFault
3885//   The resource could not be found.
3886//
3887// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskIndividualAssessments
3888func (c *DatabaseMigrationService) DescribeReplicationTaskIndividualAssessments(input *DescribeReplicationTaskIndividualAssessmentsInput) (*DescribeReplicationTaskIndividualAssessmentsOutput, error) {
3889	req, out := c.DescribeReplicationTaskIndividualAssessmentsRequest(input)
3890	return out, req.Send()
3891}
3892
3893// DescribeReplicationTaskIndividualAssessmentsWithContext is the same as DescribeReplicationTaskIndividualAssessments with the addition of
3894// the ability to pass a context and additional request options.
3895//
3896// See DescribeReplicationTaskIndividualAssessments for details on how to use this API operation.
3897//
3898// The context must be non-nil and will be used for request cancellation. If
3899// the context is nil a panic will occur. In the future the SDK may create
3900// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3901// for more information on using Contexts.
3902func (c *DatabaseMigrationService) DescribeReplicationTaskIndividualAssessmentsWithContext(ctx aws.Context, input *DescribeReplicationTaskIndividualAssessmentsInput, opts ...request.Option) (*DescribeReplicationTaskIndividualAssessmentsOutput, error) {
3903	req, out := c.DescribeReplicationTaskIndividualAssessmentsRequest(input)
3904	req.SetContext(ctx)
3905	req.ApplyOptions(opts...)
3906	return out, req.Send()
3907}
3908
3909// DescribeReplicationTaskIndividualAssessmentsPages iterates over the pages of a DescribeReplicationTaskIndividualAssessments operation,
3910// calling the "fn" function with the response data for each page. To stop
3911// iterating, return false from the fn function.
3912//
3913// See DescribeReplicationTaskIndividualAssessments method for more information on how to use this operation.
3914//
3915// Note: This operation can generate multiple requests to a service.
3916//
3917//    // Example iterating over at most 3 pages of a DescribeReplicationTaskIndividualAssessments operation.
3918//    pageNum := 0
3919//    err := client.DescribeReplicationTaskIndividualAssessmentsPages(params,
3920//        func(page *databasemigrationservice.DescribeReplicationTaskIndividualAssessmentsOutput, lastPage bool) bool {
3921//            pageNum++
3922//            fmt.Println(page)
3923//            return pageNum <= 3
3924//        })
3925//
3926func (c *DatabaseMigrationService) DescribeReplicationTaskIndividualAssessmentsPages(input *DescribeReplicationTaskIndividualAssessmentsInput, fn func(*DescribeReplicationTaskIndividualAssessmentsOutput, bool) bool) error {
3927	return c.DescribeReplicationTaskIndividualAssessmentsPagesWithContext(aws.BackgroundContext(), input, fn)
3928}
3929
3930// DescribeReplicationTaskIndividualAssessmentsPagesWithContext same as DescribeReplicationTaskIndividualAssessmentsPages except
3931// it takes a Context and allows setting request options on the pages.
3932//
3933// The context must be non-nil and will be used for request cancellation. If
3934// the context is nil a panic will occur. In the future the SDK may create
3935// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3936// for more information on using Contexts.
3937func (c *DatabaseMigrationService) DescribeReplicationTaskIndividualAssessmentsPagesWithContext(ctx aws.Context, input *DescribeReplicationTaskIndividualAssessmentsInput, fn func(*DescribeReplicationTaskIndividualAssessmentsOutput, bool) bool, opts ...request.Option) error {
3938	p := request.Pagination{
3939		NewRequest: func() (*request.Request, error) {
3940			var inCpy *DescribeReplicationTaskIndividualAssessmentsInput
3941			if input != nil {
3942				tmp := *input
3943				inCpy = &tmp
3944			}
3945			req, _ := c.DescribeReplicationTaskIndividualAssessmentsRequest(inCpy)
3946			req.SetContext(ctx)
3947			req.ApplyOptions(opts...)
3948			return req, nil
3949		},
3950	}
3951
3952	for p.Next() {
3953		if !fn(p.Page().(*DescribeReplicationTaskIndividualAssessmentsOutput), !p.HasNextPage()) {
3954			break
3955		}
3956	}
3957
3958	return p.Err()
3959}
3960
3961const opDescribeReplicationTasks = "DescribeReplicationTasks"
3962
3963// DescribeReplicationTasksRequest generates a "aws/request.Request" representing the
3964// client's request for the DescribeReplicationTasks operation. The "output" return
3965// value will be populated with the request's response once the request completes
3966// successfully.
3967//
3968// Use "Send" method on the returned Request to send the API call to the service.
3969// the "output" return value is not valid until after Send returns without error.
3970//
3971// See DescribeReplicationTasks for more information on using the DescribeReplicationTasks
3972// API call, and error handling.
3973//
3974// This method is useful when you want to inject custom logic or configuration
3975// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3976//
3977//
3978//    // Example sending a request using the DescribeReplicationTasksRequest method.
3979//    req, resp := client.DescribeReplicationTasksRequest(params)
3980//
3981//    err := req.Send()
3982//    if err == nil { // resp is now filled
3983//        fmt.Println(resp)
3984//    }
3985//
3986// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTasks
3987func (c *DatabaseMigrationService) DescribeReplicationTasksRequest(input *DescribeReplicationTasksInput) (req *request.Request, output *DescribeReplicationTasksOutput) {
3988	op := &request.Operation{
3989		Name:       opDescribeReplicationTasks,
3990		HTTPMethod: "POST",
3991		HTTPPath:   "/",
3992		Paginator: &request.Paginator{
3993			InputTokens:     []string{"Marker"},
3994			OutputTokens:    []string{"Marker"},
3995			LimitToken:      "MaxRecords",
3996			TruncationToken: "",
3997		},
3998	}
3999
4000	if input == nil {
4001		input = &DescribeReplicationTasksInput{}
4002	}
4003
4004	output = &DescribeReplicationTasksOutput{}
4005	req = c.newRequest(op, input, output)
4006	return
4007}
4008
4009// DescribeReplicationTasks API operation for AWS Database Migration Service.
4010//
4011// Returns information about replication tasks for your account in the current
4012// region.
4013//
4014// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4015// with awserr.Error's Code and Message methods to get detailed information about
4016// the error.
4017//
4018// See the AWS API reference guide for AWS Database Migration Service's
4019// API operation DescribeReplicationTasks for usage and error information.
4020//
4021// Returned Error Types:
4022//   * ResourceNotFoundFault
4023//   The resource could not be found.
4024//
4025// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTasks
4026func (c *DatabaseMigrationService) DescribeReplicationTasks(input *DescribeReplicationTasksInput) (*DescribeReplicationTasksOutput, error) {
4027	req, out := c.DescribeReplicationTasksRequest(input)
4028	return out, req.Send()
4029}
4030
4031// DescribeReplicationTasksWithContext is the same as DescribeReplicationTasks with the addition of
4032// the ability to pass a context and additional request options.
4033//
4034// See DescribeReplicationTasks for details on how to use this API operation.
4035//
4036// The context must be non-nil and will be used for request cancellation. If
4037// the context is nil a panic will occur. In the future the SDK may create
4038// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4039// for more information on using Contexts.
4040func (c *DatabaseMigrationService) DescribeReplicationTasksWithContext(ctx aws.Context, input *DescribeReplicationTasksInput, opts ...request.Option) (*DescribeReplicationTasksOutput, error) {
4041	req, out := c.DescribeReplicationTasksRequest(input)
4042	req.SetContext(ctx)
4043	req.ApplyOptions(opts...)
4044	return out, req.Send()
4045}
4046
4047// DescribeReplicationTasksPages iterates over the pages of a DescribeReplicationTasks operation,
4048// calling the "fn" function with the response data for each page. To stop
4049// iterating, return false from the fn function.
4050//
4051// See DescribeReplicationTasks method for more information on how to use this operation.
4052//
4053// Note: This operation can generate multiple requests to a service.
4054//
4055//    // Example iterating over at most 3 pages of a DescribeReplicationTasks operation.
4056//    pageNum := 0
4057//    err := client.DescribeReplicationTasksPages(params,
4058//        func(page *databasemigrationservice.DescribeReplicationTasksOutput, lastPage bool) bool {
4059//            pageNum++
4060//            fmt.Println(page)
4061//            return pageNum <= 3
4062//        })
4063//
4064func (c *DatabaseMigrationService) DescribeReplicationTasksPages(input *DescribeReplicationTasksInput, fn func(*DescribeReplicationTasksOutput, bool) bool) error {
4065	return c.DescribeReplicationTasksPagesWithContext(aws.BackgroundContext(), input, fn)
4066}
4067
4068// DescribeReplicationTasksPagesWithContext same as DescribeReplicationTasksPages except
4069// it takes a Context and allows setting request options on the pages.
4070//
4071// The context must be non-nil and will be used for request cancellation. If
4072// the context is nil a panic will occur. In the future the SDK may create
4073// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4074// for more information on using Contexts.
4075func (c *DatabaseMigrationService) DescribeReplicationTasksPagesWithContext(ctx aws.Context, input *DescribeReplicationTasksInput, fn func(*DescribeReplicationTasksOutput, bool) bool, opts ...request.Option) error {
4076	p := request.Pagination{
4077		NewRequest: func() (*request.Request, error) {
4078			var inCpy *DescribeReplicationTasksInput
4079			if input != nil {
4080				tmp := *input
4081				inCpy = &tmp
4082			}
4083			req, _ := c.DescribeReplicationTasksRequest(inCpy)
4084			req.SetContext(ctx)
4085			req.ApplyOptions(opts...)
4086			return req, nil
4087		},
4088	}
4089
4090	for p.Next() {
4091		if !fn(p.Page().(*DescribeReplicationTasksOutput), !p.HasNextPage()) {
4092			break
4093		}
4094	}
4095
4096	return p.Err()
4097}
4098
4099const opDescribeSchemas = "DescribeSchemas"
4100
4101// DescribeSchemasRequest generates a "aws/request.Request" representing the
4102// client's request for the DescribeSchemas operation. The "output" return
4103// value will be populated with the request's response once the request completes
4104// successfully.
4105//
4106// Use "Send" method on the returned Request to send the API call to the service.
4107// the "output" return value is not valid until after Send returns without error.
4108//
4109// See DescribeSchemas for more information on using the DescribeSchemas
4110// API call, and error handling.
4111//
4112// This method is useful when you want to inject custom logic or configuration
4113// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4114//
4115//
4116//    // Example sending a request using the DescribeSchemasRequest method.
4117//    req, resp := client.DescribeSchemasRequest(params)
4118//
4119//    err := req.Send()
4120//    if err == nil { // resp is now filled
4121//        fmt.Println(resp)
4122//    }
4123//
4124// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeSchemas
4125func (c *DatabaseMigrationService) DescribeSchemasRequest(input *DescribeSchemasInput) (req *request.Request, output *DescribeSchemasOutput) {
4126	op := &request.Operation{
4127		Name:       opDescribeSchemas,
4128		HTTPMethod: "POST",
4129		HTTPPath:   "/",
4130		Paginator: &request.Paginator{
4131			InputTokens:     []string{"Marker"},
4132			OutputTokens:    []string{"Marker"},
4133			LimitToken:      "MaxRecords",
4134			TruncationToken: "",
4135		},
4136	}
4137
4138	if input == nil {
4139		input = &DescribeSchemasInput{}
4140	}
4141
4142	output = &DescribeSchemasOutput{}
4143	req = c.newRequest(op, input, output)
4144	return
4145}
4146
4147// DescribeSchemas API operation for AWS Database Migration Service.
4148//
4149// Returns information about the schema for the specified endpoint.
4150//
4151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4152// with awserr.Error's Code and Message methods to get detailed information about
4153// the error.
4154//
4155// See the AWS API reference guide for AWS Database Migration Service's
4156// API operation DescribeSchemas for usage and error information.
4157//
4158// Returned Error Types:
4159//   * InvalidResourceStateFault
4160//   The resource is in a state that prevents it from being used for database
4161//   migration.
4162//
4163//   * ResourceNotFoundFault
4164//   The resource could not be found.
4165//
4166// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeSchemas
4167func (c *DatabaseMigrationService) DescribeSchemas(input *DescribeSchemasInput) (*DescribeSchemasOutput, error) {
4168	req, out := c.DescribeSchemasRequest(input)
4169	return out, req.Send()
4170}
4171
4172// DescribeSchemasWithContext is the same as DescribeSchemas with the addition of
4173// the ability to pass a context and additional request options.
4174//
4175// See DescribeSchemas for details on how to use this API operation.
4176//
4177// The context must be non-nil and will be used for request cancellation. If
4178// the context is nil a panic will occur. In the future the SDK may create
4179// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4180// for more information on using Contexts.
4181func (c *DatabaseMigrationService) DescribeSchemasWithContext(ctx aws.Context, input *DescribeSchemasInput, opts ...request.Option) (*DescribeSchemasOutput, error) {
4182	req, out := c.DescribeSchemasRequest(input)
4183	req.SetContext(ctx)
4184	req.ApplyOptions(opts...)
4185	return out, req.Send()
4186}
4187
4188// DescribeSchemasPages iterates over the pages of a DescribeSchemas operation,
4189// calling the "fn" function with the response data for each page. To stop
4190// iterating, return false from the fn function.
4191//
4192// See DescribeSchemas method for more information on how to use this operation.
4193//
4194// Note: This operation can generate multiple requests to a service.
4195//
4196//    // Example iterating over at most 3 pages of a DescribeSchemas operation.
4197//    pageNum := 0
4198//    err := client.DescribeSchemasPages(params,
4199//        func(page *databasemigrationservice.DescribeSchemasOutput, lastPage bool) bool {
4200//            pageNum++
4201//            fmt.Println(page)
4202//            return pageNum <= 3
4203//        })
4204//
4205func (c *DatabaseMigrationService) DescribeSchemasPages(input *DescribeSchemasInput, fn func(*DescribeSchemasOutput, bool) bool) error {
4206	return c.DescribeSchemasPagesWithContext(aws.BackgroundContext(), input, fn)
4207}
4208
4209// DescribeSchemasPagesWithContext same as DescribeSchemasPages except
4210// it takes a Context and allows setting request options on the pages.
4211//
4212// The context must be non-nil and will be used for request cancellation. If
4213// the context is nil a panic will occur. In the future the SDK may create
4214// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4215// for more information on using Contexts.
4216func (c *DatabaseMigrationService) DescribeSchemasPagesWithContext(ctx aws.Context, input *DescribeSchemasInput, fn func(*DescribeSchemasOutput, bool) bool, opts ...request.Option) error {
4217	p := request.Pagination{
4218		NewRequest: func() (*request.Request, error) {
4219			var inCpy *DescribeSchemasInput
4220			if input != nil {
4221				tmp := *input
4222				inCpy = &tmp
4223			}
4224			req, _ := c.DescribeSchemasRequest(inCpy)
4225			req.SetContext(ctx)
4226			req.ApplyOptions(opts...)
4227			return req, nil
4228		},
4229	}
4230
4231	for p.Next() {
4232		if !fn(p.Page().(*DescribeSchemasOutput), !p.HasNextPage()) {
4233			break
4234		}
4235	}
4236
4237	return p.Err()
4238}
4239
4240const opDescribeTableStatistics = "DescribeTableStatistics"
4241
4242// DescribeTableStatisticsRequest generates a "aws/request.Request" representing the
4243// client's request for the DescribeTableStatistics 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 DescribeTableStatistics for more information on using the DescribeTableStatistics
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 DescribeTableStatisticsRequest method.
4258//    req, resp := client.DescribeTableStatisticsRequest(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/dms-2016-01-01/DescribeTableStatistics
4266func (c *DatabaseMigrationService) DescribeTableStatisticsRequest(input *DescribeTableStatisticsInput) (req *request.Request, output *DescribeTableStatisticsOutput) {
4267	op := &request.Operation{
4268		Name:       opDescribeTableStatistics,
4269		HTTPMethod: "POST",
4270		HTTPPath:   "/",
4271		Paginator: &request.Paginator{
4272			InputTokens:     []string{"Marker"},
4273			OutputTokens:    []string{"Marker"},
4274			LimitToken:      "MaxRecords",
4275			TruncationToken: "",
4276		},
4277	}
4278
4279	if input == nil {
4280		input = &DescribeTableStatisticsInput{}
4281	}
4282
4283	output = &DescribeTableStatisticsOutput{}
4284	req = c.newRequest(op, input, output)
4285	return
4286}
4287
4288// DescribeTableStatistics API operation for AWS Database Migration Service.
4289//
4290// Returns table statistics on the database migration task, including table
4291// name, rows inserted, rows updated, and rows deleted.
4292//
4293// Note that the "last updated" column the DMS console only indicates the time
4294// that DMS last updated the table statistics record for a table. It does not
4295// indicate the time of the last update to the table.
4296//
4297// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4298// with awserr.Error's Code and Message methods to get detailed information about
4299// the error.
4300//
4301// See the AWS API reference guide for AWS Database Migration Service's
4302// API operation DescribeTableStatistics for usage and error information.
4303//
4304// Returned Error Types:
4305//   * ResourceNotFoundFault
4306//   The resource could not be found.
4307//
4308//   * InvalidResourceStateFault
4309//   The resource is in a state that prevents it from being used for database
4310//   migration.
4311//
4312// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeTableStatistics
4313func (c *DatabaseMigrationService) DescribeTableStatistics(input *DescribeTableStatisticsInput) (*DescribeTableStatisticsOutput, error) {
4314	req, out := c.DescribeTableStatisticsRequest(input)
4315	return out, req.Send()
4316}
4317
4318// DescribeTableStatisticsWithContext is the same as DescribeTableStatistics with the addition of
4319// the ability to pass a context and additional request options.
4320//
4321// See DescribeTableStatistics for details on how to use this API operation.
4322//
4323// The context must be non-nil and will be used for request cancellation. If
4324// the context is nil a panic will occur. In the future the SDK may create
4325// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4326// for more information on using Contexts.
4327func (c *DatabaseMigrationService) DescribeTableStatisticsWithContext(ctx aws.Context, input *DescribeTableStatisticsInput, opts ...request.Option) (*DescribeTableStatisticsOutput, error) {
4328	req, out := c.DescribeTableStatisticsRequest(input)
4329	req.SetContext(ctx)
4330	req.ApplyOptions(opts...)
4331	return out, req.Send()
4332}
4333
4334// DescribeTableStatisticsPages iterates over the pages of a DescribeTableStatistics operation,
4335// calling the "fn" function with the response data for each page. To stop
4336// iterating, return false from the fn function.
4337//
4338// See DescribeTableStatistics method for more information on how to use this operation.
4339//
4340// Note: This operation can generate multiple requests to a service.
4341//
4342//    // Example iterating over at most 3 pages of a DescribeTableStatistics operation.
4343//    pageNum := 0
4344//    err := client.DescribeTableStatisticsPages(params,
4345//        func(page *databasemigrationservice.DescribeTableStatisticsOutput, lastPage bool) bool {
4346//            pageNum++
4347//            fmt.Println(page)
4348//            return pageNum <= 3
4349//        })
4350//
4351func (c *DatabaseMigrationService) DescribeTableStatisticsPages(input *DescribeTableStatisticsInput, fn func(*DescribeTableStatisticsOutput, bool) bool) error {
4352	return c.DescribeTableStatisticsPagesWithContext(aws.BackgroundContext(), input, fn)
4353}
4354
4355// DescribeTableStatisticsPagesWithContext same as DescribeTableStatisticsPages except
4356// it takes a Context and allows setting request options on the pages.
4357//
4358// The context must be non-nil and will be used for request cancellation. If
4359// the context is nil a panic will occur. In the future the SDK may create
4360// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4361// for more information on using Contexts.
4362func (c *DatabaseMigrationService) DescribeTableStatisticsPagesWithContext(ctx aws.Context, input *DescribeTableStatisticsInput, fn func(*DescribeTableStatisticsOutput, bool) bool, opts ...request.Option) error {
4363	p := request.Pagination{
4364		NewRequest: func() (*request.Request, error) {
4365			var inCpy *DescribeTableStatisticsInput
4366			if input != nil {
4367				tmp := *input
4368				inCpy = &tmp
4369			}
4370			req, _ := c.DescribeTableStatisticsRequest(inCpy)
4371			req.SetContext(ctx)
4372			req.ApplyOptions(opts...)
4373			return req, nil
4374		},
4375	}
4376
4377	for p.Next() {
4378		if !fn(p.Page().(*DescribeTableStatisticsOutput), !p.HasNextPage()) {
4379			break
4380		}
4381	}
4382
4383	return p.Err()
4384}
4385
4386const opImportCertificate = "ImportCertificate"
4387
4388// ImportCertificateRequest generates a "aws/request.Request" representing the
4389// client's request for the ImportCertificate operation. The "output" return
4390// value will be populated with the request's response once the request completes
4391// successfully.
4392//
4393// Use "Send" method on the returned Request to send the API call to the service.
4394// the "output" return value is not valid until after Send returns without error.
4395//
4396// See ImportCertificate for more information on using the ImportCertificate
4397// API call, and error handling.
4398//
4399// This method is useful when you want to inject custom logic or configuration
4400// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4401//
4402//
4403//    // Example sending a request using the ImportCertificateRequest method.
4404//    req, resp := client.ImportCertificateRequest(params)
4405//
4406//    err := req.Send()
4407//    if err == nil { // resp is now filled
4408//        fmt.Println(resp)
4409//    }
4410//
4411// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ImportCertificate
4412func (c *DatabaseMigrationService) ImportCertificateRequest(input *ImportCertificateInput) (req *request.Request, output *ImportCertificateOutput) {
4413	op := &request.Operation{
4414		Name:       opImportCertificate,
4415		HTTPMethod: "POST",
4416		HTTPPath:   "/",
4417	}
4418
4419	if input == nil {
4420		input = &ImportCertificateInput{}
4421	}
4422
4423	output = &ImportCertificateOutput{}
4424	req = c.newRequest(op, input, output)
4425	return
4426}
4427
4428// ImportCertificate API operation for AWS Database Migration Service.
4429//
4430// Uploads the specified certificate.
4431//
4432// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4433// with awserr.Error's Code and Message methods to get detailed information about
4434// the error.
4435//
4436// See the AWS API reference guide for AWS Database Migration Service's
4437// API operation ImportCertificate for usage and error information.
4438//
4439// Returned Error Types:
4440//   * ResourceAlreadyExistsFault
4441//   The resource you are attempting to create already exists.
4442//
4443//   * InvalidCertificateFault
4444//   The certificate was not valid.
4445//
4446//   * ResourceQuotaExceededFault
4447//   The quota for this resource quota has been exceeded.
4448//
4449// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ImportCertificate
4450func (c *DatabaseMigrationService) ImportCertificate(input *ImportCertificateInput) (*ImportCertificateOutput, error) {
4451	req, out := c.ImportCertificateRequest(input)
4452	return out, req.Send()
4453}
4454
4455// ImportCertificateWithContext is the same as ImportCertificate with the addition of
4456// the ability to pass a context and additional request options.
4457//
4458// See ImportCertificate for details on how to use this API operation.
4459//
4460// The context must be non-nil and will be used for request cancellation. If
4461// the context is nil a panic will occur. In the future the SDK may create
4462// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4463// for more information on using Contexts.
4464func (c *DatabaseMigrationService) ImportCertificateWithContext(ctx aws.Context, input *ImportCertificateInput, opts ...request.Option) (*ImportCertificateOutput, error) {
4465	req, out := c.ImportCertificateRequest(input)
4466	req.SetContext(ctx)
4467	req.ApplyOptions(opts...)
4468	return out, req.Send()
4469}
4470
4471const opListTagsForResource = "ListTagsForResource"
4472
4473// ListTagsForResourceRequest generates a "aws/request.Request" representing the
4474// client's request for the ListTagsForResource operation. The "output" return
4475// value will be populated with the request's response once the request completes
4476// successfully.
4477//
4478// Use "Send" method on the returned Request to send the API call to the service.
4479// the "output" return value is not valid until after Send returns without error.
4480//
4481// See ListTagsForResource for more information on using the ListTagsForResource
4482// API call, and error handling.
4483//
4484// This method is useful when you want to inject custom logic or configuration
4485// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4486//
4487//
4488//    // Example sending a request using the ListTagsForResourceRequest method.
4489//    req, resp := client.ListTagsForResourceRequest(params)
4490//
4491//    err := req.Send()
4492//    if err == nil { // resp is now filled
4493//        fmt.Println(resp)
4494//    }
4495//
4496// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ListTagsForResource
4497func (c *DatabaseMigrationService) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
4498	op := &request.Operation{
4499		Name:       opListTagsForResource,
4500		HTTPMethod: "POST",
4501		HTTPPath:   "/",
4502	}
4503
4504	if input == nil {
4505		input = &ListTagsForResourceInput{}
4506	}
4507
4508	output = &ListTagsForResourceOutput{}
4509	req = c.newRequest(op, input, output)
4510	return
4511}
4512
4513// ListTagsForResource API operation for AWS Database Migration Service.
4514//
4515// Lists all metadata tags attached to an DMS resource, including replication
4516// instance, endpoint, security group, and migration task. For more information,
4517// see Tag (https://docs.aws.amazon.com/dms/latest/APIReference/API_Tag.html)
4518// data type description.
4519//
4520// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4521// with awserr.Error's Code and Message methods to get detailed information about
4522// the error.
4523//
4524// See the AWS API reference guide for AWS Database Migration Service's
4525// API operation ListTagsForResource for usage and error information.
4526//
4527// Returned Error Types:
4528//   * ResourceNotFoundFault
4529//   The resource could not be found.
4530//
4531// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ListTagsForResource
4532func (c *DatabaseMigrationService) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4533	req, out := c.ListTagsForResourceRequest(input)
4534	return out, req.Send()
4535}
4536
4537// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4538// the ability to pass a context and additional request options.
4539//
4540// See ListTagsForResource for details on how to use this API operation.
4541//
4542// The context must be non-nil and will be used for request cancellation. If
4543// the context is nil a panic will occur. In the future the SDK may create
4544// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4545// for more information on using Contexts.
4546func (c *DatabaseMigrationService) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4547	req, out := c.ListTagsForResourceRequest(input)
4548	req.SetContext(ctx)
4549	req.ApplyOptions(opts...)
4550	return out, req.Send()
4551}
4552
4553const opModifyEndpoint = "ModifyEndpoint"
4554
4555// ModifyEndpointRequest generates a "aws/request.Request" representing the
4556// client's request for the ModifyEndpoint operation. The "output" return
4557// value will be populated with the request's response once the request completes
4558// successfully.
4559//
4560// Use "Send" method on the returned Request to send the API call to the service.
4561// the "output" return value is not valid until after Send returns without error.
4562//
4563// See ModifyEndpoint for more information on using the ModifyEndpoint
4564// API call, and error handling.
4565//
4566// This method is useful when you want to inject custom logic or configuration
4567// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4568//
4569//
4570//    // Example sending a request using the ModifyEndpointRequest method.
4571//    req, resp := client.ModifyEndpointRequest(params)
4572//
4573//    err := req.Send()
4574//    if err == nil { // resp is now filled
4575//        fmt.Println(resp)
4576//    }
4577//
4578// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyEndpoint
4579func (c *DatabaseMigrationService) ModifyEndpointRequest(input *ModifyEndpointInput) (req *request.Request, output *ModifyEndpointOutput) {
4580	op := &request.Operation{
4581		Name:       opModifyEndpoint,
4582		HTTPMethod: "POST",
4583		HTTPPath:   "/",
4584	}
4585
4586	if input == nil {
4587		input = &ModifyEndpointInput{}
4588	}
4589
4590	output = &ModifyEndpointOutput{}
4591	req = c.newRequest(op, input, output)
4592	return
4593}
4594
4595// ModifyEndpoint API operation for AWS Database Migration Service.
4596//
4597// Modifies the specified endpoint.
4598//
4599// For a MySQL source or target endpoint, don't explicitly specify the database
4600// using the DatabaseName request parameter on the ModifyEndpoint API call.
4601// Specifying DatabaseName when you modify a MySQL endpoint replicates all the
4602// task tables to this single database. For MySQL endpoints, you specify the
4603// database only when you specify the schema in the table-mapping rules of the
4604// DMS task.
4605//
4606// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4607// with awserr.Error's Code and Message methods to get detailed information about
4608// the error.
4609//
4610// See the AWS API reference guide for AWS Database Migration Service's
4611// API operation ModifyEndpoint for usage and error information.
4612//
4613// Returned Error Types:
4614//   * InvalidResourceStateFault
4615//   The resource is in a state that prevents it from being used for database
4616//   migration.
4617//
4618//   * ResourceNotFoundFault
4619//   The resource could not be found.
4620//
4621//   * ResourceAlreadyExistsFault
4622//   The resource you are attempting to create already exists.
4623//
4624//   * KMSKeyNotAccessibleFault
4625//   DMS cannot access the KMS key.
4626//
4627//   * AccessDeniedFault
4628//   DMS was denied access to the endpoint. Check that the role is correctly configured.
4629//
4630// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyEndpoint
4631func (c *DatabaseMigrationService) ModifyEndpoint(input *ModifyEndpointInput) (*ModifyEndpointOutput, error) {
4632	req, out := c.ModifyEndpointRequest(input)
4633	return out, req.Send()
4634}
4635
4636// ModifyEndpointWithContext is the same as ModifyEndpoint with the addition of
4637// the ability to pass a context and additional request options.
4638//
4639// See ModifyEndpoint for details on how to use this API operation.
4640//
4641// The context must be non-nil and will be used for request cancellation. If
4642// the context is nil a panic will occur. In the future the SDK may create
4643// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4644// for more information on using Contexts.
4645func (c *DatabaseMigrationService) ModifyEndpointWithContext(ctx aws.Context, input *ModifyEndpointInput, opts ...request.Option) (*ModifyEndpointOutput, error) {
4646	req, out := c.ModifyEndpointRequest(input)
4647	req.SetContext(ctx)
4648	req.ApplyOptions(opts...)
4649	return out, req.Send()
4650}
4651
4652const opModifyEventSubscription = "ModifyEventSubscription"
4653
4654// ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the
4655// client's request for the ModifyEventSubscription operation. The "output" return
4656// value will be populated with the request's response once the request completes
4657// successfully.
4658//
4659// Use "Send" method on the returned Request to send the API call to the service.
4660// the "output" return value is not valid until after Send returns without error.
4661//
4662// See ModifyEventSubscription for more information on using the ModifyEventSubscription
4663// API call, and error handling.
4664//
4665// This method is useful when you want to inject custom logic or configuration
4666// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4667//
4668//
4669//    // Example sending a request using the ModifyEventSubscriptionRequest method.
4670//    req, resp := client.ModifyEventSubscriptionRequest(params)
4671//
4672//    err := req.Send()
4673//    if err == nil { // resp is now filled
4674//        fmt.Println(resp)
4675//    }
4676//
4677// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyEventSubscription
4678func (c *DatabaseMigrationService) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) {
4679	op := &request.Operation{
4680		Name:       opModifyEventSubscription,
4681		HTTPMethod: "POST",
4682		HTTPPath:   "/",
4683	}
4684
4685	if input == nil {
4686		input = &ModifyEventSubscriptionInput{}
4687	}
4688
4689	output = &ModifyEventSubscriptionOutput{}
4690	req = c.newRequest(op, input, output)
4691	return
4692}
4693
4694// ModifyEventSubscription API operation for AWS Database Migration Service.
4695//
4696// Modifies an existing DMS event notification subscription.
4697//
4698// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4699// with awserr.Error's Code and Message methods to get detailed information about
4700// the error.
4701//
4702// See the AWS API reference guide for AWS Database Migration Service's
4703// API operation ModifyEventSubscription for usage and error information.
4704//
4705// Returned Error Types:
4706//   * ResourceQuotaExceededFault
4707//   The quota for this resource quota has been exceeded.
4708//
4709//   * ResourceNotFoundFault
4710//   The resource could not be found.
4711//
4712//   * SNSInvalidTopicFault
4713//   The SNS topic is invalid.
4714//
4715//   * SNSNoAuthorizationFault
4716//   You are not authorized for the SNS subscription.
4717//
4718//   * KMSAccessDeniedFault
4719//   The ciphertext references a key that doesn't exist or that the DMS account
4720//   doesn't have access to.
4721//
4722//   * KMSDisabledFault
4723//   The specified master key (CMK) isn't enabled.
4724//
4725//   * KMSInvalidStateFault
4726//   The state of the specified KMS resource isn't valid for this request.
4727//
4728//   * KMSNotFoundFault
4729//   The specified KMS entity or resource can't be found.
4730//
4731//   * KMSThrottlingFault
4732//   This request triggered KMS request throttling.
4733//
4734// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyEventSubscription
4735func (c *DatabaseMigrationService) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) {
4736	req, out := c.ModifyEventSubscriptionRequest(input)
4737	return out, req.Send()
4738}
4739
4740// ModifyEventSubscriptionWithContext is the same as ModifyEventSubscription with the addition of
4741// the ability to pass a context and additional request options.
4742//
4743// See ModifyEventSubscription for details on how to use this API operation.
4744//
4745// The context must be non-nil and will be used for request cancellation. If
4746// the context is nil a panic will occur. In the future the SDK may create
4747// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4748// for more information on using Contexts.
4749func (c *DatabaseMigrationService) ModifyEventSubscriptionWithContext(ctx aws.Context, input *ModifyEventSubscriptionInput, opts ...request.Option) (*ModifyEventSubscriptionOutput, error) {
4750	req, out := c.ModifyEventSubscriptionRequest(input)
4751	req.SetContext(ctx)
4752	req.ApplyOptions(opts...)
4753	return out, req.Send()
4754}
4755
4756const opModifyReplicationInstance = "ModifyReplicationInstance"
4757
4758// ModifyReplicationInstanceRequest generates a "aws/request.Request" representing the
4759// client's request for the ModifyReplicationInstance operation. The "output" return
4760// value will be populated with the request's response once the request completes
4761// successfully.
4762//
4763// Use "Send" method on the returned Request to send the API call to the service.
4764// the "output" return value is not valid until after Send returns without error.
4765//
4766// See ModifyReplicationInstance for more information on using the ModifyReplicationInstance
4767// API call, and error handling.
4768//
4769// This method is useful when you want to inject custom logic or configuration
4770// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4771//
4772//
4773//    // Example sending a request using the ModifyReplicationInstanceRequest method.
4774//    req, resp := client.ModifyReplicationInstanceRequest(params)
4775//
4776//    err := req.Send()
4777//    if err == nil { // resp is now filled
4778//        fmt.Println(resp)
4779//    }
4780//
4781// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyReplicationInstance
4782func (c *DatabaseMigrationService) ModifyReplicationInstanceRequest(input *ModifyReplicationInstanceInput) (req *request.Request, output *ModifyReplicationInstanceOutput) {
4783	op := &request.Operation{
4784		Name:       opModifyReplicationInstance,
4785		HTTPMethod: "POST",
4786		HTTPPath:   "/",
4787	}
4788
4789	if input == nil {
4790		input = &ModifyReplicationInstanceInput{}
4791	}
4792
4793	output = &ModifyReplicationInstanceOutput{}
4794	req = c.newRequest(op, input, output)
4795	return
4796}
4797
4798// ModifyReplicationInstance API operation for AWS Database Migration Service.
4799//
4800// Modifies the replication instance to apply new settings. You can change one
4801// or more parameters by specifying these parameters and the new values in the
4802// request.
4803//
4804// Some settings are applied during the maintenance window.
4805//
4806// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4807// with awserr.Error's Code and Message methods to get detailed information about
4808// the error.
4809//
4810// See the AWS API reference guide for AWS Database Migration Service's
4811// API operation ModifyReplicationInstance for usage and error information.
4812//
4813// Returned Error Types:
4814//   * AccessDeniedFault
4815//   DMS was denied access to the endpoint. Check that the role is correctly configured.
4816//
4817//   * InvalidResourceStateFault
4818//   The resource is in a state that prevents it from being used for database
4819//   migration.
4820//
4821//   * ResourceAlreadyExistsFault
4822//   The resource you are attempting to create already exists.
4823//
4824//   * ResourceNotFoundFault
4825//   The resource could not be found.
4826//
4827//   * InsufficientResourceCapacityFault
4828//   There are not enough resources allocated to the database migration.
4829//
4830//   * StorageQuotaExceededFault
4831//   The storage quota has been exceeded.
4832//
4833//   * UpgradeDependencyFailureFault
4834//   An upgrade dependency is preventing the database migration.
4835//
4836// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyReplicationInstance
4837func (c *DatabaseMigrationService) ModifyReplicationInstance(input *ModifyReplicationInstanceInput) (*ModifyReplicationInstanceOutput, error) {
4838	req, out := c.ModifyReplicationInstanceRequest(input)
4839	return out, req.Send()
4840}
4841
4842// ModifyReplicationInstanceWithContext is the same as ModifyReplicationInstance with the addition of
4843// the ability to pass a context and additional request options.
4844//
4845// See ModifyReplicationInstance for details on how to use this API operation.
4846//
4847// The context must be non-nil and will be used for request cancellation. If
4848// the context is nil a panic will occur. In the future the SDK may create
4849// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4850// for more information on using Contexts.
4851func (c *DatabaseMigrationService) ModifyReplicationInstanceWithContext(ctx aws.Context, input *ModifyReplicationInstanceInput, opts ...request.Option) (*ModifyReplicationInstanceOutput, error) {
4852	req, out := c.ModifyReplicationInstanceRequest(input)
4853	req.SetContext(ctx)
4854	req.ApplyOptions(opts...)
4855	return out, req.Send()
4856}
4857
4858const opModifyReplicationSubnetGroup = "ModifyReplicationSubnetGroup"
4859
4860// ModifyReplicationSubnetGroupRequest generates a "aws/request.Request" representing the
4861// client's request for the ModifyReplicationSubnetGroup operation. The "output" return
4862// value will be populated with the request's response once the request completes
4863// successfully.
4864//
4865// Use "Send" method on the returned Request to send the API call to the service.
4866// the "output" return value is not valid until after Send returns without error.
4867//
4868// See ModifyReplicationSubnetGroup for more information on using the ModifyReplicationSubnetGroup
4869// API call, and error handling.
4870//
4871// This method is useful when you want to inject custom logic or configuration
4872// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4873//
4874//
4875//    // Example sending a request using the ModifyReplicationSubnetGroupRequest method.
4876//    req, resp := client.ModifyReplicationSubnetGroupRequest(params)
4877//
4878//    err := req.Send()
4879//    if err == nil { // resp is now filled
4880//        fmt.Println(resp)
4881//    }
4882//
4883// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyReplicationSubnetGroup
4884func (c *DatabaseMigrationService) ModifyReplicationSubnetGroupRequest(input *ModifyReplicationSubnetGroupInput) (req *request.Request, output *ModifyReplicationSubnetGroupOutput) {
4885	op := &request.Operation{
4886		Name:       opModifyReplicationSubnetGroup,
4887		HTTPMethod: "POST",
4888		HTTPPath:   "/",
4889	}
4890
4891	if input == nil {
4892		input = &ModifyReplicationSubnetGroupInput{}
4893	}
4894
4895	output = &ModifyReplicationSubnetGroupOutput{}
4896	req = c.newRequest(op, input, output)
4897	return
4898}
4899
4900// ModifyReplicationSubnetGroup API operation for AWS Database Migration Service.
4901//
4902// Modifies the settings for the specified replication subnet group.
4903//
4904// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4905// with awserr.Error's Code and Message methods to get detailed information about
4906// the error.
4907//
4908// See the AWS API reference guide for AWS Database Migration Service's
4909// API operation ModifyReplicationSubnetGroup for usage and error information.
4910//
4911// Returned Error Types:
4912//   * AccessDeniedFault
4913//   DMS was denied access to the endpoint. Check that the role is correctly configured.
4914//
4915//   * ResourceNotFoundFault
4916//   The resource could not be found.
4917//
4918//   * ResourceQuotaExceededFault
4919//   The quota for this resource quota has been exceeded.
4920//
4921//   * SubnetAlreadyInUse
4922//   The specified subnet is already in use.
4923//
4924//   * ReplicationSubnetGroupDoesNotCoverEnoughAZs
4925//   The replication subnet group does not cover enough Availability Zones (AZs).
4926//   Edit the replication subnet group and add more AZs.
4927//
4928//   * InvalidSubnet
4929//   The subnet provided is invalid.
4930//
4931// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyReplicationSubnetGroup
4932func (c *DatabaseMigrationService) ModifyReplicationSubnetGroup(input *ModifyReplicationSubnetGroupInput) (*ModifyReplicationSubnetGroupOutput, error) {
4933	req, out := c.ModifyReplicationSubnetGroupRequest(input)
4934	return out, req.Send()
4935}
4936
4937// ModifyReplicationSubnetGroupWithContext is the same as ModifyReplicationSubnetGroup with the addition of
4938// the ability to pass a context and additional request options.
4939//
4940// See ModifyReplicationSubnetGroup for details on how to use this API operation.
4941//
4942// The context must be non-nil and will be used for request cancellation. If
4943// the context is nil a panic will occur. In the future the SDK may create
4944// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4945// for more information on using Contexts.
4946func (c *DatabaseMigrationService) ModifyReplicationSubnetGroupWithContext(ctx aws.Context, input *ModifyReplicationSubnetGroupInput, opts ...request.Option) (*ModifyReplicationSubnetGroupOutput, error) {
4947	req, out := c.ModifyReplicationSubnetGroupRequest(input)
4948	req.SetContext(ctx)
4949	req.ApplyOptions(opts...)
4950	return out, req.Send()
4951}
4952
4953const opModifyReplicationTask = "ModifyReplicationTask"
4954
4955// ModifyReplicationTaskRequest generates a "aws/request.Request" representing the
4956// client's request for the ModifyReplicationTask operation. The "output" return
4957// value will be populated with the request's response once the request completes
4958// successfully.
4959//
4960// Use "Send" method on the returned Request to send the API call to the service.
4961// the "output" return value is not valid until after Send returns without error.
4962//
4963// See ModifyReplicationTask for more information on using the ModifyReplicationTask
4964// API call, and error handling.
4965//
4966// This method is useful when you want to inject custom logic or configuration
4967// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4968//
4969//
4970//    // Example sending a request using the ModifyReplicationTaskRequest method.
4971//    req, resp := client.ModifyReplicationTaskRequest(params)
4972//
4973//    err := req.Send()
4974//    if err == nil { // resp is now filled
4975//        fmt.Println(resp)
4976//    }
4977//
4978// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyReplicationTask
4979func (c *DatabaseMigrationService) ModifyReplicationTaskRequest(input *ModifyReplicationTaskInput) (req *request.Request, output *ModifyReplicationTaskOutput) {
4980	op := &request.Operation{
4981		Name:       opModifyReplicationTask,
4982		HTTPMethod: "POST",
4983		HTTPPath:   "/",
4984	}
4985
4986	if input == nil {
4987		input = &ModifyReplicationTaskInput{}
4988	}
4989
4990	output = &ModifyReplicationTaskOutput{}
4991	req = c.newRequest(op, input, output)
4992	return
4993}
4994
4995// ModifyReplicationTask API operation for AWS Database Migration Service.
4996//
4997// Modifies the specified replication task.
4998//
4999// You can't modify the task endpoints. The task must be stopped before you
5000// can modify it.
5001//
5002// For more information about DMS tasks, see Working with Migration Tasks (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html)
5003// in the Database Migration Service User Guide.
5004//
5005// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5006// with awserr.Error's Code and Message methods to get detailed information about
5007// the error.
5008//
5009// See the AWS API reference guide for AWS Database Migration Service's
5010// API operation ModifyReplicationTask for usage and error information.
5011//
5012// Returned Error Types:
5013//   * InvalidResourceStateFault
5014//   The resource is in a state that prevents it from being used for database
5015//   migration.
5016//
5017//   * ResourceNotFoundFault
5018//   The resource could not be found.
5019//
5020//   * ResourceAlreadyExistsFault
5021//   The resource you are attempting to create already exists.
5022//
5023//   * KMSKeyNotAccessibleFault
5024//   DMS cannot access the KMS key.
5025//
5026// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyReplicationTask
5027func (c *DatabaseMigrationService) ModifyReplicationTask(input *ModifyReplicationTaskInput) (*ModifyReplicationTaskOutput, error) {
5028	req, out := c.ModifyReplicationTaskRequest(input)
5029	return out, req.Send()
5030}
5031
5032// ModifyReplicationTaskWithContext is the same as ModifyReplicationTask with the addition of
5033// the ability to pass a context and additional request options.
5034//
5035// See ModifyReplicationTask for details on how to use this API operation.
5036//
5037// The context must be non-nil and will be used for request cancellation. If
5038// the context is nil a panic will occur. In the future the SDK may create
5039// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5040// for more information on using Contexts.
5041func (c *DatabaseMigrationService) ModifyReplicationTaskWithContext(ctx aws.Context, input *ModifyReplicationTaskInput, opts ...request.Option) (*ModifyReplicationTaskOutput, error) {
5042	req, out := c.ModifyReplicationTaskRequest(input)
5043	req.SetContext(ctx)
5044	req.ApplyOptions(opts...)
5045	return out, req.Send()
5046}
5047
5048const opMoveReplicationTask = "MoveReplicationTask"
5049
5050// MoveReplicationTaskRequest generates a "aws/request.Request" representing the
5051// client's request for the MoveReplicationTask operation. The "output" return
5052// value will be populated with the request's response once the request completes
5053// successfully.
5054//
5055// Use "Send" method on the returned Request to send the API call to the service.
5056// the "output" return value is not valid until after Send returns without error.
5057//
5058// See MoveReplicationTask for more information on using the MoveReplicationTask
5059// API call, and error handling.
5060//
5061// This method is useful when you want to inject custom logic or configuration
5062// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5063//
5064//
5065//    // Example sending a request using the MoveReplicationTaskRequest method.
5066//    req, resp := client.MoveReplicationTaskRequest(params)
5067//
5068//    err := req.Send()
5069//    if err == nil { // resp is now filled
5070//        fmt.Println(resp)
5071//    }
5072//
5073// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/MoveReplicationTask
5074func (c *DatabaseMigrationService) MoveReplicationTaskRequest(input *MoveReplicationTaskInput) (req *request.Request, output *MoveReplicationTaskOutput) {
5075	op := &request.Operation{
5076		Name:       opMoveReplicationTask,
5077		HTTPMethod: "POST",
5078		HTTPPath:   "/",
5079	}
5080
5081	if input == nil {
5082		input = &MoveReplicationTaskInput{}
5083	}
5084
5085	output = &MoveReplicationTaskOutput{}
5086	req = c.newRequest(op, input, output)
5087	return
5088}
5089
5090// MoveReplicationTask API operation for AWS Database Migration Service.
5091//
5092// Moves a replication task from its current replication instance to a different
5093// target replication instance using the specified parameters. The target replication
5094// instance must be created with the same or later DMS version as the current
5095// replication instance.
5096//
5097// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5098// with awserr.Error's Code and Message methods to get detailed information about
5099// the error.
5100//
5101// See the AWS API reference guide for AWS Database Migration Service's
5102// API operation MoveReplicationTask for usage and error information.
5103//
5104// Returned Error Types:
5105//   * AccessDeniedFault
5106//   DMS was denied access to the endpoint. Check that the role is correctly configured.
5107//
5108//   * InvalidResourceStateFault
5109//   The resource is in a state that prevents it from being used for database
5110//   migration.
5111//
5112//   * ResourceNotFoundFault
5113//   The resource could not be found.
5114//
5115//   * KMSKeyNotAccessibleFault
5116//   DMS cannot access the KMS key.
5117//
5118//   * ResourceQuotaExceededFault
5119//   The quota for this resource quota has been exceeded.
5120//
5121// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/MoveReplicationTask
5122func (c *DatabaseMigrationService) MoveReplicationTask(input *MoveReplicationTaskInput) (*MoveReplicationTaskOutput, error) {
5123	req, out := c.MoveReplicationTaskRequest(input)
5124	return out, req.Send()
5125}
5126
5127// MoveReplicationTaskWithContext is the same as MoveReplicationTask with the addition of
5128// the ability to pass a context and additional request options.
5129//
5130// See MoveReplicationTask for details on how to use this API operation.
5131//
5132// The context must be non-nil and will be used for request cancellation. If
5133// the context is nil a panic will occur. In the future the SDK may create
5134// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5135// for more information on using Contexts.
5136func (c *DatabaseMigrationService) MoveReplicationTaskWithContext(ctx aws.Context, input *MoveReplicationTaskInput, opts ...request.Option) (*MoveReplicationTaskOutput, error) {
5137	req, out := c.MoveReplicationTaskRequest(input)
5138	req.SetContext(ctx)
5139	req.ApplyOptions(opts...)
5140	return out, req.Send()
5141}
5142
5143const opRebootReplicationInstance = "RebootReplicationInstance"
5144
5145// RebootReplicationInstanceRequest generates a "aws/request.Request" representing the
5146// client's request for the RebootReplicationInstance operation. The "output" return
5147// value will be populated with the request's response once the request completes
5148// successfully.
5149//
5150// Use "Send" method on the returned Request to send the API call to the service.
5151// the "output" return value is not valid until after Send returns without error.
5152//
5153// See RebootReplicationInstance for more information on using the RebootReplicationInstance
5154// API call, and error handling.
5155//
5156// This method is useful when you want to inject custom logic or configuration
5157// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5158//
5159//
5160//    // Example sending a request using the RebootReplicationInstanceRequest method.
5161//    req, resp := client.RebootReplicationInstanceRequest(params)
5162//
5163//    err := req.Send()
5164//    if err == nil { // resp is now filled
5165//        fmt.Println(resp)
5166//    }
5167//
5168// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/RebootReplicationInstance
5169func (c *DatabaseMigrationService) RebootReplicationInstanceRequest(input *RebootReplicationInstanceInput) (req *request.Request, output *RebootReplicationInstanceOutput) {
5170	op := &request.Operation{
5171		Name:       opRebootReplicationInstance,
5172		HTTPMethod: "POST",
5173		HTTPPath:   "/",
5174	}
5175
5176	if input == nil {
5177		input = &RebootReplicationInstanceInput{}
5178	}
5179
5180	output = &RebootReplicationInstanceOutput{}
5181	req = c.newRequest(op, input, output)
5182	return
5183}
5184
5185// RebootReplicationInstance API operation for AWS Database Migration Service.
5186//
5187// Reboots a replication instance. Rebooting results in a momentary outage,
5188// until the replication instance becomes available again.
5189//
5190// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5191// with awserr.Error's Code and Message methods to get detailed information about
5192// the error.
5193//
5194// See the AWS API reference guide for AWS Database Migration Service's
5195// API operation RebootReplicationInstance for usage and error information.
5196//
5197// Returned Error Types:
5198//   * ResourceNotFoundFault
5199//   The resource could not be found.
5200//
5201//   * InvalidResourceStateFault
5202//   The resource is in a state that prevents it from being used for database
5203//   migration.
5204//
5205// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/RebootReplicationInstance
5206func (c *DatabaseMigrationService) RebootReplicationInstance(input *RebootReplicationInstanceInput) (*RebootReplicationInstanceOutput, error) {
5207	req, out := c.RebootReplicationInstanceRequest(input)
5208	return out, req.Send()
5209}
5210
5211// RebootReplicationInstanceWithContext is the same as RebootReplicationInstance with the addition of
5212// the ability to pass a context and additional request options.
5213//
5214// See RebootReplicationInstance for details on how to use this API operation.
5215//
5216// The context must be non-nil and will be used for request cancellation. If
5217// the context is nil a panic will occur. In the future the SDK may create
5218// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5219// for more information on using Contexts.
5220func (c *DatabaseMigrationService) RebootReplicationInstanceWithContext(ctx aws.Context, input *RebootReplicationInstanceInput, opts ...request.Option) (*RebootReplicationInstanceOutput, error) {
5221	req, out := c.RebootReplicationInstanceRequest(input)
5222	req.SetContext(ctx)
5223	req.ApplyOptions(opts...)
5224	return out, req.Send()
5225}
5226
5227const opRefreshSchemas = "RefreshSchemas"
5228
5229// RefreshSchemasRequest generates a "aws/request.Request" representing the
5230// client's request for the RefreshSchemas operation. The "output" return
5231// value will be populated with the request's response once the request completes
5232// successfully.
5233//
5234// Use "Send" method on the returned Request to send the API call to the service.
5235// the "output" return value is not valid until after Send returns without error.
5236//
5237// See RefreshSchemas for more information on using the RefreshSchemas
5238// API call, and error handling.
5239//
5240// This method is useful when you want to inject custom logic or configuration
5241// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5242//
5243//
5244//    // Example sending a request using the RefreshSchemasRequest method.
5245//    req, resp := client.RefreshSchemasRequest(params)
5246//
5247//    err := req.Send()
5248//    if err == nil { // resp is now filled
5249//        fmt.Println(resp)
5250//    }
5251//
5252// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/RefreshSchemas
5253func (c *DatabaseMigrationService) RefreshSchemasRequest(input *RefreshSchemasInput) (req *request.Request, output *RefreshSchemasOutput) {
5254	op := &request.Operation{
5255		Name:       opRefreshSchemas,
5256		HTTPMethod: "POST",
5257		HTTPPath:   "/",
5258	}
5259
5260	if input == nil {
5261		input = &RefreshSchemasInput{}
5262	}
5263
5264	output = &RefreshSchemasOutput{}
5265	req = c.newRequest(op, input, output)
5266	return
5267}
5268
5269// RefreshSchemas API operation for AWS Database Migration Service.
5270//
5271// Populates the schema for the specified endpoint. This is an asynchronous
5272// operation and can take several minutes. You can check the status of this
5273// operation by calling the DescribeRefreshSchemasStatus operation.
5274//
5275// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5276// with awserr.Error's Code and Message methods to get detailed information about
5277// the error.
5278//
5279// See the AWS API reference guide for AWS Database Migration Service's
5280// API operation RefreshSchemas for usage and error information.
5281//
5282// Returned Error Types:
5283//   * InvalidResourceStateFault
5284//   The resource is in a state that prevents it from being used for database
5285//   migration.
5286//
5287//   * ResourceNotFoundFault
5288//   The resource could not be found.
5289//
5290//   * KMSKeyNotAccessibleFault
5291//   DMS cannot access the KMS key.
5292//
5293//   * ResourceQuotaExceededFault
5294//   The quota for this resource quota has been exceeded.
5295//
5296// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/RefreshSchemas
5297func (c *DatabaseMigrationService) RefreshSchemas(input *RefreshSchemasInput) (*RefreshSchemasOutput, error) {
5298	req, out := c.RefreshSchemasRequest(input)
5299	return out, req.Send()
5300}
5301
5302// RefreshSchemasWithContext is the same as RefreshSchemas with the addition of
5303// the ability to pass a context and additional request options.
5304//
5305// See RefreshSchemas for details on how to use this API operation.
5306//
5307// The context must be non-nil and will be used for request cancellation. If
5308// the context is nil a panic will occur. In the future the SDK may create
5309// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5310// for more information on using Contexts.
5311func (c *DatabaseMigrationService) RefreshSchemasWithContext(ctx aws.Context, input *RefreshSchemasInput, opts ...request.Option) (*RefreshSchemasOutput, error) {
5312	req, out := c.RefreshSchemasRequest(input)
5313	req.SetContext(ctx)
5314	req.ApplyOptions(opts...)
5315	return out, req.Send()
5316}
5317
5318const opReloadTables = "ReloadTables"
5319
5320// ReloadTablesRequest generates a "aws/request.Request" representing the
5321// client's request for the ReloadTables operation. The "output" return
5322// value will be populated with the request's response once the request completes
5323// successfully.
5324//
5325// Use "Send" method on the returned Request to send the API call to the service.
5326// the "output" return value is not valid until after Send returns without error.
5327//
5328// See ReloadTables for more information on using the ReloadTables
5329// API call, and error handling.
5330//
5331// This method is useful when you want to inject custom logic or configuration
5332// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5333//
5334//
5335//    // Example sending a request using the ReloadTablesRequest method.
5336//    req, resp := client.ReloadTablesRequest(params)
5337//
5338//    err := req.Send()
5339//    if err == nil { // resp is now filled
5340//        fmt.Println(resp)
5341//    }
5342//
5343// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ReloadTables
5344func (c *DatabaseMigrationService) ReloadTablesRequest(input *ReloadTablesInput) (req *request.Request, output *ReloadTablesOutput) {
5345	op := &request.Operation{
5346		Name:       opReloadTables,
5347		HTTPMethod: "POST",
5348		HTTPPath:   "/",
5349	}
5350
5351	if input == nil {
5352		input = &ReloadTablesInput{}
5353	}
5354
5355	output = &ReloadTablesOutput{}
5356	req = c.newRequest(op, input, output)
5357	return
5358}
5359
5360// ReloadTables API operation for AWS Database Migration Service.
5361//
5362// Reloads the target database table with the source data.
5363//
5364// You can only use this operation with a task in the RUNNING state, otherwise
5365// the service will throw an InvalidResourceStateFault exception.
5366//
5367// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5368// with awserr.Error's Code and Message methods to get detailed information about
5369// the error.
5370//
5371// See the AWS API reference guide for AWS Database Migration Service's
5372// API operation ReloadTables for usage and error information.
5373//
5374// Returned Error Types:
5375//   * ResourceNotFoundFault
5376//   The resource could not be found.
5377//
5378//   * InvalidResourceStateFault
5379//   The resource is in a state that prevents it from being used for database
5380//   migration.
5381//
5382// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ReloadTables
5383func (c *DatabaseMigrationService) ReloadTables(input *ReloadTablesInput) (*ReloadTablesOutput, error) {
5384	req, out := c.ReloadTablesRequest(input)
5385	return out, req.Send()
5386}
5387
5388// ReloadTablesWithContext is the same as ReloadTables with the addition of
5389// the ability to pass a context and additional request options.
5390//
5391// See ReloadTables for details on how to use this API operation.
5392//
5393// The context must be non-nil and will be used for request cancellation. If
5394// the context is nil a panic will occur. In the future the SDK may create
5395// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5396// for more information on using Contexts.
5397func (c *DatabaseMigrationService) ReloadTablesWithContext(ctx aws.Context, input *ReloadTablesInput, opts ...request.Option) (*ReloadTablesOutput, error) {
5398	req, out := c.ReloadTablesRequest(input)
5399	req.SetContext(ctx)
5400	req.ApplyOptions(opts...)
5401	return out, req.Send()
5402}
5403
5404const opRemoveTagsFromResource = "RemoveTagsFromResource"
5405
5406// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
5407// client's request for the RemoveTagsFromResource operation. The "output" return
5408// value will be populated with the request's response once the request completes
5409// successfully.
5410//
5411// Use "Send" method on the returned Request to send the API call to the service.
5412// the "output" return value is not valid until after Send returns without error.
5413//
5414// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
5415// API call, and error handling.
5416//
5417// This method is useful when you want to inject custom logic or configuration
5418// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5419//
5420//
5421//    // Example sending a request using the RemoveTagsFromResourceRequest method.
5422//    req, resp := client.RemoveTagsFromResourceRequest(params)
5423//
5424//    err := req.Send()
5425//    if err == nil { // resp is now filled
5426//        fmt.Println(resp)
5427//    }
5428//
5429// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/RemoveTagsFromResource
5430func (c *DatabaseMigrationService) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
5431	op := &request.Operation{
5432		Name:       opRemoveTagsFromResource,
5433		HTTPMethod: "POST",
5434		HTTPPath:   "/",
5435	}
5436
5437	if input == nil {
5438		input = &RemoveTagsFromResourceInput{}
5439	}
5440
5441	output = &RemoveTagsFromResourceOutput{}
5442	req = c.newRequest(op, input, output)
5443	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5444	return
5445}
5446
5447// RemoveTagsFromResource API operation for AWS Database Migration Service.
5448//
5449// Removes metadata tags from an DMS resource, including replication instance,
5450// endpoint, security group, and migration task. For more information, see Tag
5451// (https://docs.aws.amazon.com/dms/latest/APIReference/API_Tag.html) data type
5452// description.
5453//
5454// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5455// with awserr.Error's Code and Message methods to get detailed information about
5456// the error.
5457//
5458// See the AWS API reference guide for AWS Database Migration Service's
5459// API operation RemoveTagsFromResource for usage and error information.
5460//
5461// Returned Error Types:
5462//   * ResourceNotFoundFault
5463//   The resource could not be found.
5464//
5465// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/RemoveTagsFromResource
5466func (c *DatabaseMigrationService) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
5467	req, out := c.RemoveTagsFromResourceRequest(input)
5468	return out, req.Send()
5469}
5470
5471// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
5472// the ability to pass a context and additional request options.
5473//
5474// See RemoveTagsFromResource for details on how to use this API operation.
5475//
5476// The context must be non-nil and will be used for request cancellation. If
5477// the context is nil a panic will occur. In the future the SDK may create
5478// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5479// for more information on using Contexts.
5480func (c *DatabaseMigrationService) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
5481	req, out := c.RemoveTagsFromResourceRequest(input)
5482	req.SetContext(ctx)
5483	req.ApplyOptions(opts...)
5484	return out, req.Send()
5485}
5486
5487const opStartReplicationTask = "StartReplicationTask"
5488
5489// StartReplicationTaskRequest generates a "aws/request.Request" representing the
5490// client's request for the StartReplicationTask operation. The "output" return
5491// value will be populated with the request's response once the request completes
5492// successfully.
5493//
5494// Use "Send" method on the returned Request to send the API call to the service.
5495// the "output" return value is not valid until after Send returns without error.
5496//
5497// See StartReplicationTask for more information on using the StartReplicationTask
5498// API call, and error handling.
5499//
5500// This method is useful when you want to inject custom logic or configuration
5501// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5502//
5503//
5504//    // Example sending a request using the StartReplicationTaskRequest method.
5505//    req, resp := client.StartReplicationTaskRequest(params)
5506//
5507//    err := req.Send()
5508//    if err == nil { // resp is now filled
5509//        fmt.Println(resp)
5510//    }
5511//
5512// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTask
5513func (c *DatabaseMigrationService) StartReplicationTaskRequest(input *StartReplicationTaskInput) (req *request.Request, output *StartReplicationTaskOutput) {
5514	op := &request.Operation{
5515		Name:       opStartReplicationTask,
5516		HTTPMethod: "POST",
5517		HTTPPath:   "/",
5518	}
5519
5520	if input == nil {
5521		input = &StartReplicationTaskInput{}
5522	}
5523
5524	output = &StartReplicationTaskOutput{}
5525	req = c.newRequest(op, input, output)
5526	return
5527}
5528
5529// StartReplicationTask API operation for AWS Database Migration Service.
5530//
5531// Starts the replication task.
5532//
5533// For more information about DMS tasks, see Working with Migration Tasks (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html)
5534// in the Database Migration Service User Guide.
5535//
5536// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5537// with awserr.Error's Code and Message methods to get detailed information about
5538// the error.
5539//
5540// See the AWS API reference guide for AWS Database Migration Service's
5541// API operation StartReplicationTask for usage and error information.
5542//
5543// Returned Error Types:
5544//   * ResourceNotFoundFault
5545//   The resource could not be found.
5546//
5547//   * InvalidResourceStateFault
5548//   The resource is in a state that prevents it from being used for database
5549//   migration.
5550//
5551//   * AccessDeniedFault
5552//   DMS was denied access to the endpoint. Check that the role is correctly configured.
5553//
5554// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTask
5555func (c *DatabaseMigrationService) StartReplicationTask(input *StartReplicationTaskInput) (*StartReplicationTaskOutput, error) {
5556	req, out := c.StartReplicationTaskRequest(input)
5557	return out, req.Send()
5558}
5559
5560// StartReplicationTaskWithContext is the same as StartReplicationTask with the addition of
5561// the ability to pass a context and additional request options.
5562//
5563// See StartReplicationTask for details on how to use this API operation.
5564//
5565// The context must be non-nil and will be used for request cancellation. If
5566// the context is nil a panic will occur. In the future the SDK may create
5567// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5568// for more information on using Contexts.
5569func (c *DatabaseMigrationService) StartReplicationTaskWithContext(ctx aws.Context, input *StartReplicationTaskInput, opts ...request.Option) (*StartReplicationTaskOutput, error) {
5570	req, out := c.StartReplicationTaskRequest(input)
5571	req.SetContext(ctx)
5572	req.ApplyOptions(opts...)
5573	return out, req.Send()
5574}
5575
5576const opStartReplicationTaskAssessment = "StartReplicationTaskAssessment"
5577
5578// StartReplicationTaskAssessmentRequest generates a "aws/request.Request" representing the
5579// client's request for the StartReplicationTaskAssessment operation. The "output" return
5580// value will be populated with the request's response once the request completes
5581// successfully.
5582//
5583// Use "Send" method on the returned Request to send the API call to the service.
5584// the "output" return value is not valid until after Send returns without error.
5585//
5586// See StartReplicationTaskAssessment for more information on using the StartReplicationTaskAssessment
5587// API call, and error handling.
5588//
5589// This method is useful when you want to inject custom logic or configuration
5590// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5591//
5592//
5593//    // Example sending a request using the StartReplicationTaskAssessmentRequest method.
5594//    req, resp := client.StartReplicationTaskAssessmentRequest(params)
5595//
5596//    err := req.Send()
5597//    if err == nil { // resp is now filled
5598//        fmt.Println(resp)
5599//    }
5600//
5601// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTaskAssessment
5602func (c *DatabaseMigrationService) StartReplicationTaskAssessmentRequest(input *StartReplicationTaskAssessmentInput) (req *request.Request, output *StartReplicationTaskAssessmentOutput) {
5603	op := &request.Operation{
5604		Name:       opStartReplicationTaskAssessment,
5605		HTTPMethod: "POST",
5606		HTTPPath:   "/",
5607	}
5608
5609	if input == nil {
5610		input = &StartReplicationTaskAssessmentInput{}
5611	}
5612
5613	output = &StartReplicationTaskAssessmentOutput{}
5614	req = c.newRequest(op, input, output)
5615	return
5616}
5617
5618// StartReplicationTaskAssessment API operation for AWS Database Migration Service.
5619//
5620// Starts the replication task assessment for unsupported data types in the
5621// source database.
5622//
5623// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5624// with awserr.Error's Code and Message methods to get detailed information about
5625// the error.
5626//
5627// See the AWS API reference guide for AWS Database Migration Service's
5628// API operation StartReplicationTaskAssessment for usage and error information.
5629//
5630// Returned Error Types:
5631//   * InvalidResourceStateFault
5632//   The resource is in a state that prevents it from being used for database
5633//   migration.
5634//
5635//   * ResourceNotFoundFault
5636//   The resource could not be found.
5637//
5638// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTaskAssessment
5639func (c *DatabaseMigrationService) StartReplicationTaskAssessment(input *StartReplicationTaskAssessmentInput) (*StartReplicationTaskAssessmentOutput, error) {
5640	req, out := c.StartReplicationTaskAssessmentRequest(input)
5641	return out, req.Send()
5642}
5643
5644// StartReplicationTaskAssessmentWithContext is the same as StartReplicationTaskAssessment with the addition of
5645// the ability to pass a context and additional request options.
5646//
5647// See StartReplicationTaskAssessment for details on how to use this API operation.
5648//
5649// The context must be non-nil and will be used for request cancellation. If
5650// the context is nil a panic will occur. In the future the SDK may create
5651// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5652// for more information on using Contexts.
5653func (c *DatabaseMigrationService) StartReplicationTaskAssessmentWithContext(ctx aws.Context, input *StartReplicationTaskAssessmentInput, opts ...request.Option) (*StartReplicationTaskAssessmentOutput, error) {
5654	req, out := c.StartReplicationTaskAssessmentRequest(input)
5655	req.SetContext(ctx)
5656	req.ApplyOptions(opts...)
5657	return out, req.Send()
5658}
5659
5660const opStartReplicationTaskAssessmentRun = "StartReplicationTaskAssessmentRun"
5661
5662// StartReplicationTaskAssessmentRunRequest generates a "aws/request.Request" representing the
5663// client's request for the StartReplicationTaskAssessmentRun operation. The "output" return
5664// value will be populated with the request's response once the request completes
5665// successfully.
5666//
5667// Use "Send" method on the returned Request to send the API call to the service.
5668// the "output" return value is not valid until after Send returns without error.
5669//
5670// See StartReplicationTaskAssessmentRun for more information on using the StartReplicationTaskAssessmentRun
5671// API call, and error handling.
5672//
5673// This method is useful when you want to inject custom logic or configuration
5674// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5675//
5676//
5677//    // Example sending a request using the StartReplicationTaskAssessmentRunRequest method.
5678//    req, resp := client.StartReplicationTaskAssessmentRunRequest(params)
5679//
5680//    err := req.Send()
5681//    if err == nil { // resp is now filled
5682//        fmt.Println(resp)
5683//    }
5684//
5685// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTaskAssessmentRun
5686func (c *DatabaseMigrationService) StartReplicationTaskAssessmentRunRequest(input *StartReplicationTaskAssessmentRunInput) (req *request.Request, output *StartReplicationTaskAssessmentRunOutput) {
5687	op := &request.Operation{
5688		Name:       opStartReplicationTaskAssessmentRun,
5689		HTTPMethod: "POST",
5690		HTTPPath:   "/",
5691	}
5692
5693	if input == nil {
5694		input = &StartReplicationTaskAssessmentRunInput{}
5695	}
5696
5697	output = &StartReplicationTaskAssessmentRunOutput{}
5698	req = c.newRequest(op, input, output)
5699	return
5700}
5701
5702// StartReplicationTaskAssessmentRun API operation for AWS Database Migration Service.
5703//
5704// Starts a new premigration assessment run for one or more individual assessments
5705// of a migration task.
5706//
5707// The assessments that you can specify depend on the source and target database
5708// engine and the migration type defined for the given task. To run this operation,
5709// your migration task must already be created. After you run this operation,
5710// you can review the status of each individual assessment. You can also run
5711// the migration task manually after the assessment run and its individual assessments
5712// complete.
5713//
5714// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5715// with awserr.Error's Code and Message methods to get detailed information about
5716// the error.
5717//
5718// See the AWS API reference guide for AWS Database Migration Service's
5719// API operation StartReplicationTaskAssessmentRun for usage and error information.
5720//
5721// Returned Error Types:
5722//   * AccessDeniedFault
5723//   DMS was denied access to the endpoint. Check that the role is correctly configured.
5724//
5725//   * ResourceNotFoundFault
5726//   The resource could not be found.
5727//
5728//   * InvalidResourceStateFault
5729//   The resource is in a state that prevents it from being used for database
5730//   migration.
5731//
5732//   * KMSAccessDeniedFault
5733//   The ciphertext references a key that doesn't exist or that the DMS account
5734//   doesn't have access to.
5735//
5736//   * KMSDisabledFault
5737//   The specified master key (CMK) isn't enabled.
5738//
5739//   * KMSFault
5740//   An Key Management Service (KMS) error is preventing access to KMS.
5741//
5742//   * KMSInvalidStateFault
5743//   The state of the specified KMS resource isn't valid for this request.
5744//
5745//   * KMSNotFoundFault
5746//   The specified KMS entity or resource can't be found.
5747//
5748//   * KMSKeyNotAccessibleFault
5749//   DMS cannot access the KMS key.
5750//
5751//   * S3AccessDeniedFault
5752//   Insufficient privileges are preventing access to an Amazon S3 object.
5753//
5754//   * S3ResourceNotFoundFault
5755//   A specified Amazon S3 bucket, bucket folder, or other object can't be found.
5756//
5757//   * ResourceAlreadyExistsFault
5758//   The resource you are attempting to create already exists.
5759//
5760// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTaskAssessmentRun
5761func (c *DatabaseMigrationService) StartReplicationTaskAssessmentRun(input *StartReplicationTaskAssessmentRunInput) (*StartReplicationTaskAssessmentRunOutput, error) {
5762	req, out := c.StartReplicationTaskAssessmentRunRequest(input)
5763	return out, req.Send()
5764}
5765
5766// StartReplicationTaskAssessmentRunWithContext is the same as StartReplicationTaskAssessmentRun with the addition of
5767// the ability to pass a context and additional request options.
5768//
5769// See StartReplicationTaskAssessmentRun for details on how to use this API operation.
5770//
5771// The context must be non-nil and will be used for request cancellation. If
5772// the context is nil a panic will occur. In the future the SDK may create
5773// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5774// for more information on using Contexts.
5775func (c *DatabaseMigrationService) StartReplicationTaskAssessmentRunWithContext(ctx aws.Context, input *StartReplicationTaskAssessmentRunInput, opts ...request.Option) (*StartReplicationTaskAssessmentRunOutput, error) {
5776	req, out := c.StartReplicationTaskAssessmentRunRequest(input)
5777	req.SetContext(ctx)
5778	req.ApplyOptions(opts...)
5779	return out, req.Send()
5780}
5781
5782const opStopReplicationTask = "StopReplicationTask"
5783
5784// StopReplicationTaskRequest generates a "aws/request.Request" representing the
5785// client's request for the StopReplicationTask operation. The "output" return
5786// value will be populated with the request's response once the request completes
5787// successfully.
5788//
5789// Use "Send" method on the returned Request to send the API call to the service.
5790// the "output" return value is not valid until after Send returns without error.
5791//
5792// See StopReplicationTask for more information on using the StopReplicationTask
5793// API call, and error handling.
5794//
5795// This method is useful when you want to inject custom logic or configuration
5796// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5797//
5798//
5799//    // Example sending a request using the StopReplicationTaskRequest method.
5800//    req, resp := client.StopReplicationTaskRequest(params)
5801//
5802//    err := req.Send()
5803//    if err == nil { // resp is now filled
5804//        fmt.Println(resp)
5805//    }
5806//
5807// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StopReplicationTask
5808func (c *DatabaseMigrationService) StopReplicationTaskRequest(input *StopReplicationTaskInput) (req *request.Request, output *StopReplicationTaskOutput) {
5809	op := &request.Operation{
5810		Name:       opStopReplicationTask,
5811		HTTPMethod: "POST",
5812		HTTPPath:   "/",
5813	}
5814
5815	if input == nil {
5816		input = &StopReplicationTaskInput{}
5817	}
5818
5819	output = &StopReplicationTaskOutput{}
5820	req = c.newRequest(op, input, output)
5821	return
5822}
5823
5824// StopReplicationTask API operation for AWS Database Migration Service.
5825//
5826// Stops the replication task.
5827//
5828// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5829// with awserr.Error's Code and Message methods to get detailed information about
5830// the error.
5831//
5832// See the AWS API reference guide for AWS Database Migration Service's
5833// API operation StopReplicationTask for usage and error information.
5834//
5835// Returned Error Types:
5836//   * ResourceNotFoundFault
5837//   The resource could not be found.
5838//
5839//   * InvalidResourceStateFault
5840//   The resource is in a state that prevents it from being used for database
5841//   migration.
5842//
5843// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StopReplicationTask
5844func (c *DatabaseMigrationService) StopReplicationTask(input *StopReplicationTaskInput) (*StopReplicationTaskOutput, error) {
5845	req, out := c.StopReplicationTaskRequest(input)
5846	return out, req.Send()
5847}
5848
5849// StopReplicationTaskWithContext is the same as StopReplicationTask with the addition of
5850// the ability to pass a context and additional request options.
5851//
5852// See StopReplicationTask for details on how to use this API operation.
5853//
5854// The context must be non-nil and will be used for request cancellation. If
5855// the context is nil a panic will occur. In the future the SDK may create
5856// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5857// for more information on using Contexts.
5858func (c *DatabaseMigrationService) StopReplicationTaskWithContext(ctx aws.Context, input *StopReplicationTaskInput, opts ...request.Option) (*StopReplicationTaskOutput, error) {
5859	req, out := c.StopReplicationTaskRequest(input)
5860	req.SetContext(ctx)
5861	req.ApplyOptions(opts...)
5862	return out, req.Send()
5863}
5864
5865const opTestConnection = "TestConnection"
5866
5867// TestConnectionRequest generates a "aws/request.Request" representing the
5868// client's request for the TestConnection operation. The "output" return
5869// value will be populated with the request's response once the request completes
5870// successfully.
5871//
5872// Use "Send" method on the returned Request to send the API call to the service.
5873// the "output" return value is not valid until after Send returns without error.
5874//
5875// See TestConnection for more information on using the TestConnection
5876// API call, and error handling.
5877//
5878// This method is useful when you want to inject custom logic or configuration
5879// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5880//
5881//
5882//    // Example sending a request using the TestConnectionRequest method.
5883//    req, resp := client.TestConnectionRequest(params)
5884//
5885//    err := req.Send()
5886//    if err == nil { // resp is now filled
5887//        fmt.Println(resp)
5888//    }
5889//
5890// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/TestConnection
5891func (c *DatabaseMigrationService) TestConnectionRequest(input *TestConnectionInput) (req *request.Request, output *TestConnectionOutput) {
5892	op := &request.Operation{
5893		Name:       opTestConnection,
5894		HTTPMethod: "POST",
5895		HTTPPath:   "/",
5896	}
5897
5898	if input == nil {
5899		input = &TestConnectionInput{}
5900	}
5901
5902	output = &TestConnectionOutput{}
5903	req = c.newRequest(op, input, output)
5904	return
5905}
5906
5907// TestConnection API operation for AWS Database Migration Service.
5908//
5909// Tests the connection between the replication instance and the endpoint.
5910//
5911// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5912// with awserr.Error's Code and Message methods to get detailed information about
5913// the error.
5914//
5915// See the AWS API reference guide for AWS Database Migration Service's
5916// API operation TestConnection for usage and error information.
5917//
5918// Returned Error Types:
5919//   * ResourceNotFoundFault
5920//   The resource could not be found.
5921//
5922//   * InvalidResourceStateFault
5923//   The resource is in a state that prevents it from being used for database
5924//   migration.
5925//
5926//   * KMSKeyNotAccessibleFault
5927//   DMS cannot access the KMS key.
5928//
5929//   * ResourceQuotaExceededFault
5930//   The quota for this resource quota has been exceeded.
5931//
5932//   * AccessDeniedFault
5933//   DMS was denied access to the endpoint. Check that the role is correctly configured.
5934//
5935// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/TestConnection
5936func (c *DatabaseMigrationService) TestConnection(input *TestConnectionInput) (*TestConnectionOutput, error) {
5937	req, out := c.TestConnectionRequest(input)
5938	return out, req.Send()
5939}
5940
5941// TestConnectionWithContext is the same as TestConnection with the addition of
5942// the ability to pass a context and additional request options.
5943//
5944// See TestConnection for details on how to use this API operation.
5945//
5946// The context must be non-nil and will be used for request cancellation. If
5947// the context is nil a panic will occur. In the future the SDK may create
5948// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5949// for more information on using Contexts.
5950func (c *DatabaseMigrationService) TestConnectionWithContext(ctx aws.Context, input *TestConnectionInput, opts ...request.Option) (*TestConnectionOutput, error) {
5951	req, out := c.TestConnectionRequest(input)
5952	req.SetContext(ctx)
5953	req.ApplyOptions(opts...)
5954	return out, req.Send()
5955}
5956
5957// DMS was denied access to the endpoint. Check that the role is correctly configured.
5958type AccessDeniedFault struct {
5959	_            struct{}                  `type:"structure"`
5960	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5961
5962	Message_ *string `locationName:"message" type:"string"`
5963}
5964
5965// String returns the string representation.
5966//
5967// API parameter values that are decorated as "sensitive" in the API will not
5968// be included in the string output. The member name will be present, but the
5969// value will be replaced with "sensitive".
5970func (s AccessDeniedFault) String() string {
5971	return awsutil.Prettify(s)
5972}
5973
5974// GoString returns the string representation.
5975//
5976// API parameter values that are decorated as "sensitive" in the API will not
5977// be included in the string output. The member name will be present, but the
5978// value will be replaced with "sensitive".
5979func (s AccessDeniedFault) GoString() string {
5980	return s.String()
5981}
5982
5983func newErrorAccessDeniedFault(v protocol.ResponseMetadata) error {
5984	return &AccessDeniedFault{
5985		RespMetadata: v,
5986	}
5987}
5988
5989// Code returns the exception type name.
5990func (s *AccessDeniedFault) Code() string {
5991	return "AccessDeniedFault"
5992}
5993
5994// Message returns the exception's message.
5995func (s *AccessDeniedFault) Message() string {
5996	if s.Message_ != nil {
5997		return *s.Message_
5998	}
5999	return ""
6000}
6001
6002// OrigErr always returns nil, satisfies awserr.Error interface.
6003func (s *AccessDeniedFault) OrigErr() error {
6004	return nil
6005}
6006
6007func (s *AccessDeniedFault) Error() string {
6008	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6009}
6010
6011// Status code returns the HTTP status code for the request's response error.
6012func (s *AccessDeniedFault) StatusCode() int {
6013	return s.RespMetadata.StatusCode
6014}
6015
6016// RequestID returns the service's response RequestID for request.
6017func (s *AccessDeniedFault) RequestID() string {
6018	return s.RespMetadata.RequestID
6019}
6020
6021// Describes a quota for an Amazon Web Services account, for example the number
6022// of replication instances allowed.
6023type AccountQuota struct {
6024	_ struct{} `type:"structure"`
6025
6026	// The name of the DMS quota for this Amazon Web Services account.
6027	AccountQuotaName *string `type:"string"`
6028
6029	// The maximum allowed value for the quota.
6030	Max *int64 `type:"long"`
6031
6032	// The amount currently used toward the quota maximum.
6033	Used *int64 `type:"long"`
6034}
6035
6036// String returns the string representation.
6037//
6038// API parameter values that are decorated as "sensitive" in the API will not
6039// be included in the string output. The member name will be present, but the
6040// value will be replaced with "sensitive".
6041func (s AccountQuota) String() string {
6042	return awsutil.Prettify(s)
6043}
6044
6045// GoString returns the string representation.
6046//
6047// API parameter values that are decorated as "sensitive" in the API will not
6048// be included in the string output. The member name will be present, but the
6049// value will be replaced with "sensitive".
6050func (s AccountQuota) GoString() string {
6051	return s.String()
6052}
6053
6054// SetAccountQuotaName sets the AccountQuotaName field's value.
6055func (s *AccountQuota) SetAccountQuotaName(v string) *AccountQuota {
6056	s.AccountQuotaName = &v
6057	return s
6058}
6059
6060// SetMax sets the Max field's value.
6061func (s *AccountQuota) SetMax(v int64) *AccountQuota {
6062	s.Max = &v
6063	return s
6064}
6065
6066// SetUsed sets the Used field's value.
6067func (s *AccountQuota) SetUsed(v int64) *AccountQuota {
6068	s.Used = &v
6069	return s
6070}
6071
6072// Associates a set of tags with an DMS resource.
6073type AddTagsToResourceInput struct {
6074	_ struct{} `type:"structure"`
6075
6076	// Identifies the DMS resource to which tags should be added. The value for
6077	// this parameter is an Amazon Resource Name (ARN).
6078	//
6079	// For DMS, you can tag a replication instance, an endpoint, or a replication
6080	// task.
6081	//
6082	// ResourceArn is a required field
6083	ResourceArn *string `type:"string" required:"true"`
6084
6085	// One or more tags to be assigned to the resource.
6086	//
6087	// Tags is a required field
6088	Tags []*Tag `type:"list" required:"true"`
6089}
6090
6091// String returns the string representation.
6092//
6093// API parameter values that are decorated as "sensitive" in the API will not
6094// be included in the string output. The member name will be present, but the
6095// value will be replaced with "sensitive".
6096func (s AddTagsToResourceInput) String() string {
6097	return awsutil.Prettify(s)
6098}
6099
6100// GoString returns the string representation.
6101//
6102// API parameter values that are decorated as "sensitive" in the API will not
6103// be included in the string output. The member name will be present, but the
6104// value will be replaced with "sensitive".
6105func (s AddTagsToResourceInput) GoString() string {
6106	return s.String()
6107}
6108
6109// Validate inspects the fields of the type to determine if they are valid.
6110func (s *AddTagsToResourceInput) Validate() error {
6111	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
6112	if s.ResourceArn == nil {
6113		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
6114	}
6115	if s.Tags == nil {
6116		invalidParams.Add(request.NewErrParamRequired("Tags"))
6117	}
6118
6119	if invalidParams.Len() > 0 {
6120		return invalidParams
6121	}
6122	return nil
6123}
6124
6125// SetResourceArn sets the ResourceArn field's value.
6126func (s *AddTagsToResourceInput) SetResourceArn(v string) *AddTagsToResourceInput {
6127	s.ResourceArn = &v
6128	return s
6129}
6130
6131// SetTags sets the Tags field's value.
6132func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
6133	s.Tags = v
6134	return s
6135}
6136
6137type AddTagsToResourceOutput struct {
6138	_ struct{} `type:"structure"`
6139}
6140
6141// String returns the string representation.
6142//
6143// API parameter values that are decorated as "sensitive" in the API will not
6144// be included in the string output. The member name will be present, but the
6145// value will be replaced with "sensitive".
6146func (s AddTagsToResourceOutput) String() string {
6147	return awsutil.Prettify(s)
6148}
6149
6150// GoString returns the string representation.
6151//
6152// API parameter values that are decorated as "sensitive" in the API will not
6153// be included in the string output. The member name will be present, but the
6154// value will be replaced with "sensitive".
6155func (s AddTagsToResourceOutput) GoString() string {
6156	return s.String()
6157}
6158
6159type ApplyPendingMaintenanceActionInput struct {
6160	_ struct{} `type:"structure"`
6161
6162	// The pending maintenance action to apply to this resource.
6163	//
6164	// Valid values: os-upgrade, system-update, db-upgrade
6165	//
6166	// ApplyAction is a required field
6167	ApplyAction *string `type:"string" required:"true"`
6168
6169	// A value that specifies the type of opt-in request, or undoes an opt-in request.
6170	// You can't undo an opt-in request of type immediate.
6171	//
6172	// Valid values:
6173	//
6174	//    * immediate - Apply the maintenance action immediately.
6175	//
6176	//    * next-maintenance - Apply the maintenance action during the next maintenance
6177	//    window for the resource.
6178	//
6179	//    * undo-opt-in - Cancel any existing next-maintenance opt-in requests.
6180	//
6181	// OptInType is a required field
6182	OptInType *string `type:"string" required:"true"`
6183
6184	// The Amazon Resource Name (ARN) of the DMS resource that the pending maintenance
6185	// action applies to.
6186	//
6187	// ReplicationInstanceArn is a required field
6188	ReplicationInstanceArn *string `type:"string" required:"true"`
6189}
6190
6191// String returns the string representation.
6192//
6193// API parameter values that are decorated as "sensitive" in the API will not
6194// be included in the string output. The member name will be present, but the
6195// value will be replaced with "sensitive".
6196func (s ApplyPendingMaintenanceActionInput) String() string {
6197	return awsutil.Prettify(s)
6198}
6199
6200// GoString returns the string representation.
6201//
6202// API parameter values that are decorated as "sensitive" in the API will not
6203// be included in the string output. The member name will be present, but the
6204// value will be replaced with "sensitive".
6205func (s ApplyPendingMaintenanceActionInput) GoString() string {
6206	return s.String()
6207}
6208
6209// Validate inspects the fields of the type to determine if they are valid.
6210func (s *ApplyPendingMaintenanceActionInput) Validate() error {
6211	invalidParams := request.ErrInvalidParams{Context: "ApplyPendingMaintenanceActionInput"}
6212	if s.ApplyAction == nil {
6213		invalidParams.Add(request.NewErrParamRequired("ApplyAction"))
6214	}
6215	if s.OptInType == nil {
6216		invalidParams.Add(request.NewErrParamRequired("OptInType"))
6217	}
6218	if s.ReplicationInstanceArn == nil {
6219		invalidParams.Add(request.NewErrParamRequired("ReplicationInstanceArn"))
6220	}
6221
6222	if invalidParams.Len() > 0 {
6223		return invalidParams
6224	}
6225	return nil
6226}
6227
6228// SetApplyAction sets the ApplyAction field's value.
6229func (s *ApplyPendingMaintenanceActionInput) SetApplyAction(v string) *ApplyPendingMaintenanceActionInput {
6230	s.ApplyAction = &v
6231	return s
6232}
6233
6234// SetOptInType sets the OptInType field's value.
6235func (s *ApplyPendingMaintenanceActionInput) SetOptInType(v string) *ApplyPendingMaintenanceActionInput {
6236	s.OptInType = &v
6237	return s
6238}
6239
6240// SetReplicationInstanceArn sets the ReplicationInstanceArn field's value.
6241func (s *ApplyPendingMaintenanceActionInput) SetReplicationInstanceArn(v string) *ApplyPendingMaintenanceActionInput {
6242	s.ReplicationInstanceArn = &v
6243	return s
6244}
6245
6246type ApplyPendingMaintenanceActionOutput struct {
6247	_ struct{} `type:"structure"`
6248
6249	// The DMS resource that the pending maintenance action will be applied to.
6250	ResourcePendingMaintenanceActions *ResourcePendingMaintenanceActions `type:"structure"`
6251}
6252
6253// String returns the string representation.
6254//
6255// API parameter values that are decorated as "sensitive" in the API will not
6256// be included in the string output. The member name will be present, but the
6257// value will be replaced with "sensitive".
6258func (s ApplyPendingMaintenanceActionOutput) String() string {
6259	return awsutil.Prettify(s)
6260}
6261
6262// GoString returns the string representation.
6263//
6264// API parameter values that are decorated as "sensitive" in the API will not
6265// be included in the string output. The member name will be present, but the
6266// value will be replaced with "sensitive".
6267func (s ApplyPendingMaintenanceActionOutput) GoString() string {
6268	return s.String()
6269}
6270
6271// SetResourcePendingMaintenanceActions sets the ResourcePendingMaintenanceActions field's value.
6272func (s *ApplyPendingMaintenanceActionOutput) SetResourcePendingMaintenanceActions(v *ResourcePendingMaintenanceActions) *ApplyPendingMaintenanceActionOutput {
6273	s.ResourcePendingMaintenanceActions = v
6274	return s
6275}
6276
6277// The name of an Availability Zone for use during database migration. AvailabilityZone
6278// is an optional parameter to the CreateReplicationInstance (https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationInstance.html)
6279// operation, and it’s value relates to the Amazon Web Services Region of
6280// an endpoint. For example, the availability zone of an endpoint in the us-east-1
6281// region might be us-east-1a, us-east-1b, us-east-1c, or us-east-1d.
6282type AvailabilityZone struct {
6283	_ struct{} `type:"structure"`
6284
6285	// The name of the Availability Zone.
6286	Name *string `type:"string"`
6287}
6288
6289// String returns the string representation.
6290//
6291// API parameter values that are decorated as "sensitive" in the API will not
6292// be included in the string output. The member name will be present, but the
6293// value will be replaced with "sensitive".
6294func (s AvailabilityZone) String() string {
6295	return awsutil.Prettify(s)
6296}
6297
6298// GoString returns the string representation.
6299//
6300// API parameter values that are decorated as "sensitive" in the API will not
6301// be included in the string output. The member name will be present, but the
6302// value will be replaced with "sensitive".
6303func (s AvailabilityZone) GoString() string {
6304	return s.String()
6305}
6306
6307// SetName sets the Name field's value.
6308func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
6309	s.Name = &v
6310	return s
6311}
6312
6313type CancelReplicationTaskAssessmentRunInput struct {
6314	_ struct{} `type:"structure"`
6315
6316	// Amazon Resource Name (ARN) of the premigration assessment run to be canceled.
6317	//
6318	// ReplicationTaskAssessmentRunArn is a required field
6319	ReplicationTaskAssessmentRunArn *string `type:"string" required:"true"`
6320}
6321
6322// String returns the string representation.
6323//
6324// API parameter values that are decorated as "sensitive" in the API will not
6325// be included in the string output. The member name will be present, but the
6326// value will be replaced with "sensitive".
6327func (s CancelReplicationTaskAssessmentRunInput) String() string {
6328	return awsutil.Prettify(s)
6329}
6330
6331// GoString returns the string representation.
6332//
6333// API parameter values that are decorated as "sensitive" in the API will not
6334// be included in the string output. The member name will be present, but the
6335// value will be replaced with "sensitive".
6336func (s CancelReplicationTaskAssessmentRunInput) GoString() string {
6337	return s.String()
6338}
6339
6340// Validate inspects the fields of the type to determine if they are valid.
6341func (s *CancelReplicationTaskAssessmentRunInput) Validate() error {
6342	invalidParams := request.ErrInvalidParams{Context: "CancelReplicationTaskAssessmentRunInput"}
6343	if s.ReplicationTaskAssessmentRunArn == nil {
6344		invalidParams.Add(request.NewErrParamRequired("ReplicationTaskAssessmentRunArn"))
6345	}
6346
6347	if invalidParams.Len() > 0 {
6348		return invalidParams
6349	}
6350	return nil
6351}
6352
6353// SetReplicationTaskAssessmentRunArn sets the ReplicationTaskAssessmentRunArn field's value.
6354func (s *CancelReplicationTaskAssessmentRunInput) SetReplicationTaskAssessmentRunArn(v string) *CancelReplicationTaskAssessmentRunInput {
6355	s.ReplicationTaskAssessmentRunArn = &v
6356	return s
6357}
6358
6359type CancelReplicationTaskAssessmentRunOutput struct {
6360	_ struct{} `type:"structure"`
6361
6362	// The ReplicationTaskAssessmentRun object for the canceled assessment run.
6363	ReplicationTaskAssessmentRun *ReplicationTaskAssessmentRun `type:"structure"`
6364}
6365
6366// String returns the string representation.
6367//
6368// API parameter values that are decorated as "sensitive" in the API will not
6369// be included in the string output. The member name will be present, but the
6370// value will be replaced with "sensitive".
6371func (s CancelReplicationTaskAssessmentRunOutput) String() string {
6372	return awsutil.Prettify(s)
6373}
6374
6375// GoString returns the string representation.
6376//
6377// API parameter values that are decorated as "sensitive" in the API will not
6378// be included in the string output. The member name will be present, but the
6379// value will be replaced with "sensitive".
6380func (s CancelReplicationTaskAssessmentRunOutput) GoString() string {
6381	return s.String()
6382}
6383
6384// SetReplicationTaskAssessmentRun sets the ReplicationTaskAssessmentRun field's value.
6385func (s *CancelReplicationTaskAssessmentRunOutput) SetReplicationTaskAssessmentRun(v *ReplicationTaskAssessmentRun) *CancelReplicationTaskAssessmentRunOutput {
6386	s.ReplicationTaskAssessmentRun = v
6387	return s
6388}
6389
6390// The SSL certificate that can be used to encrypt connections between the endpoints
6391// and the replication instance.
6392type Certificate struct {
6393	_ struct{} `type:"structure"`
6394
6395	// The Amazon Resource Name (ARN) for the certificate.
6396	CertificateArn *string `type:"string"`
6397
6398	// The date that the certificate was created.
6399	CertificateCreationDate *time.Time `type:"timestamp"`
6400
6401	// A customer-assigned name for the certificate. Identifiers must begin with
6402	// a letter and must contain only ASCII letters, digits, and hyphens. They can't
6403	// end with a hyphen or contain two consecutive hyphens.
6404	CertificateIdentifier *string `type:"string"`
6405
6406	// The owner of the certificate.
6407	CertificateOwner *string `type:"string"`
6408
6409	// The contents of a .pem file, which contains an X.509 certificate.
6410	CertificatePem *string `type:"string"`
6411
6412	// The location of an imported Oracle Wallet certificate for use with SSL.
6413	// CertificateWallet is automatically base64 encoded/decoded by the SDK.
6414	CertificateWallet []byte `type:"blob"`
6415
6416	// The key length of the cryptographic algorithm being used.
6417	KeyLength *int64 `type:"integer"`
6418
6419	// The signing algorithm for the certificate.
6420	SigningAlgorithm *string `type:"string"`
6421
6422	// The beginning date that the certificate is valid.
6423	ValidFromDate *time.Time `type:"timestamp"`
6424
6425	// The final date that the certificate is valid.
6426	ValidToDate *time.Time `type:"timestamp"`
6427}
6428
6429// String returns the string representation.
6430//
6431// API parameter values that are decorated as "sensitive" in the API will not
6432// be included in the string output. The member name will be present, but the
6433// value will be replaced with "sensitive".
6434func (s Certificate) String() string {
6435	return awsutil.Prettify(s)
6436}
6437
6438// GoString returns the string representation.
6439//
6440// API parameter values that are decorated as "sensitive" in the API will not
6441// be included in the string output. The member name will be present, but the
6442// value will be replaced with "sensitive".
6443func (s Certificate) GoString() string {
6444	return s.String()
6445}
6446
6447// SetCertificateArn sets the CertificateArn field's value.
6448func (s *Certificate) SetCertificateArn(v string) *Certificate {
6449	s.CertificateArn = &v
6450	return s
6451}
6452
6453// SetCertificateCreationDate sets the CertificateCreationDate field's value.
6454func (s *Certificate) SetCertificateCreationDate(v time.Time) *Certificate {
6455	s.CertificateCreationDate = &v
6456	return s
6457}
6458
6459// SetCertificateIdentifier sets the CertificateIdentifier field's value.
6460func (s *Certificate) SetCertificateIdentifier(v string) *Certificate {
6461	s.CertificateIdentifier = &v
6462	return s
6463}
6464
6465// SetCertificateOwner sets the CertificateOwner field's value.
6466func (s *Certificate) SetCertificateOwner(v string) *Certificate {
6467	s.CertificateOwner = &v
6468	return s
6469}
6470
6471// SetCertificatePem sets the CertificatePem field's value.
6472func (s *Certificate) SetCertificatePem(v string) *Certificate {
6473	s.CertificatePem = &v
6474	return s
6475}
6476
6477// SetCertificateWallet sets the CertificateWallet field's value.
6478func (s *Certificate) SetCertificateWallet(v []byte) *Certificate {
6479	s.CertificateWallet = v
6480	return s
6481}
6482
6483// SetKeyLength sets the KeyLength field's value.
6484func (s *Certificate) SetKeyLength(v int64) *Certificate {
6485	s.KeyLength = &v
6486	return s
6487}
6488
6489// SetSigningAlgorithm sets the SigningAlgorithm field's value.
6490func (s *Certificate) SetSigningAlgorithm(v string) *Certificate {
6491	s.SigningAlgorithm = &v
6492	return s
6493}
6494
6495// SetValidFromDate sets the ValidFromDate field's value.
6496func (s *Certificate) SetValidFromDate(v time.Time) *Certificate {
6497	s.ValidFromDate = &v
6498	return s
6499}
6500
6501// SetValidToDate sets the ValidToDate field's value.
6502func (s *Certificate) SetValidToDate(v time.Time) *Certificate {
6503	s.ValidToDate = &v
6504	return s
6505}
6506
6507// Status of the connection between an endpoint and a replication instance,
6508// including Amazon Resource Names (ARNs) and the last error message issued.
6509type Connection struct {
6510	_ struct{} `type:"structure"`
6511
6512	// The ARN string that uniquely identifies the endpoint.
6513	EndpointArn *string `type:"string"`
6514
6515	// The identifier of the endpoint. Identifiers must begin with a letter and
6516	// must contain only ASCII letters, digits, and hyphens. They can't end with
6517	// a hyphen or contain two consecutive hyphens.
6518	EndpointIdentifier *string `type:"string"`
6519
6520	// The error message when the connection last failed.
6521	LastFailureMessage *string `type:"string"`
6522
6523	// The ARN of the replication instance.
6524	ReplicationInstanceArn *string `type:"string"`
6525
6526	// The replication instance identifier. This parameter is stored as a lowercase
6527	// string.
6528	ReplicationInstanceIdentifier *string `type:"string"`
6529
6530	// The connection status. This parameter can return one of the following values:
6531	//
6532	//    * "successful"
6533	//
6534	//    * "testing"
6535	//
6536	//    * "failed"
6537	//
6538	//    * "deleting"
6539	Status *string `type:"string"`
6540}
6541
6542// String returns the string representation.
6543//
6544// API parameter values that are decorated as "sensitive" in the API will not
6545// be included in the string output. The member name will be present, but the
6546// value will be replaced with "sensitive".
6547func (s Connection) String() string {
6548	return awsutil.Prettify(s)
6549}
6550
6551// GoString returns the string representation.
6552//
6553// API parameter values that are decorated as "sensitive" in the API will not
6554// be included in the string output. The member name will be present, but the
6555// value will be replaced with "sensitive".
6556func (s Connection) GoString() string {
6557	return s.String()
6558}
6559
6560// SetEndpointArn sets the EndpointArn field's value.
6561func (s *Connection) SetEndpointArn(v string) *Connection {
6562	s.EndpointArn = &v
6563	return s
6564}
6565
6566// SetEndpointIdentifier sets the EndpointIdentifier field's value.
6567func (s *Connection) SetEndpointIdentifier(v string) *Connection {
6568	s.EndpointIdentifier = &v
6569	return s
6570}
6571
6572// SetLastFailureMessage sets the LastFailureMessage field's value.
6573func (s *Connection) SetLastFailureMessage(v string) *Connection {
6574	s.LastFailureMessage = &v
6575	return s
6576}
6577
6578// SetReplicationInstanceArn sets the ReplicationInstanceArn field's value.
6579func (s *Connection) SetReplicationInstanceArn(v string) *Connection {
6580	s.ReplicationInstanceArn = &v
6581	return s
6582}
6583
6584// SetReplicationInstanceIdentifier sets the ReplicationInstanceIdentifier field's value.
6585func (s *Connection) SetReplicationInstanceIdentifier(v string) *Connection {
6586	s.ReplicationInstanceIdentifier = &v
6587	return s
6588}
6589
6590// SetStatus sets the Status field's value.
6591func (s *Connection) SetStatus(v string) *Connection {
6592	s.Status = &v
6593	return s
6594}
6595
6596type CreateEndpointInput struct {
6597	_ struct{} `type:"structure"`
6598
6599	// The Amazon Resource Name (ARN) for the certificate.
6600	CertificateArn *string `type:"string"`
6601
6602	// The name of the endpoint database. For a MySQL source or target endpoint,
6603	// do not specify DatabaseName.
6604	DatabaseName *string `type:"string"`
6605
6606	// The settings in JSON format for the DMS transfer type of source endpoint.
6607	//
6608	// Possible settings include the following:
6609	//
6610	//    * ServiceAccessRoleArn - The Amazon Resource Name (ARN) used by the service
6611	//    access IAM role. The role must allow the iam:PassRole action.
6612	//
6613	//    * BucketName - The name of the S3 bucket to use.
6614	//
6615	// Shorthand syntax for these settings is as follows: ServiceAccessRoleArn=string,BucketName=string
6616	//
6617	// JSON syntax for these settings is as follows: { "ServiceAccessRoleArn": "string",
6618	// "BucketName": "string", }
6619	DmsTransferSettings *DmsTransferSettings `type:"structure"`
6620
6621	// Provides information that defines a DocumentDB endpoint.
6622	DocDbSettings *DocDbSettings `type:"structure"`
6623
6624	// Settings in JSON format for the target Amazon DynamoDB endpoint. For information
6625	// about other available settings, see Using Object Mapping to Migrate Data
6626	// to DynamoDB (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html#CHAP_Target.DynamoDB.ObjectMapping)
6627	// in the Database Migration Service User Guide.
6628	DynamoDbSettings *DynamoDbSettings `type:"structure"`
6629
6630	// Settings in JSON format for the target Elasticsearch endpoint. For more information
6631	// about the available settings, see Extra Connection Attributes When Using
6632	// Elasticsearch as a Target for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Elasticsearch.html#CHAP_Target.Elasticsearch.Configuration)
6633	// in the Database Migration Service User Guide.
6634	ElasticsearchSettings *ElasticsearchSettings `type:"structure"`
6635
6636	// The database endpoint identifier. Identifiers must begin with a letter and
6637	// must contain only ASCII letters, digits, and hyphens. They can't end with
6638	// a hyphen, or contain two consecutive hyphens.
6639	//
6640	// EndpointIdentifier is a required field
6641	EndpointIdentifier *string `type:"string" required:"true"`
6642
6643	// The type of endpoint. Valid values are source and target.
6644	//
6645	// EndpointType is a required field
6646	EndpointType *string `type:"string" required:"true" enum:"ReplicationEndpointTypeValue"`
6647
6648	// The type of engine for the endpoint. Valid values, depending on the EndpointType
6649	// value, include "mysql", "oracle", "postgres", "mariadb", "aurora", "aurora-postgresql",
6650	// "redshift", "s3", "db2", "azuredb", "sybase", "dynamodb", "mongodb", "kinesis",
6651	// "kafka", "elasticsearch", "docdb", "sqlserver", and "neptune".
6652	//
6653	// EngineName is a required field
6654	EngineName *string `type:"string" required:"true"`
6655
6656	// The external table definition.
6657	ExternalTableDefinition *string `type:"string"`
6658
6659	// Additional attributes associated with the connection. Each attribute is specified
6660	// as a name-value pair associated by an equal sign (=). Multiple attributes
6661	// are separated by a semicolon (;) with no additional white space. For information
6662	// on the attributes available for connecting your source or target endpoint,
6663	// see Working with DMS Endpoints (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.html)
6664	// in the Database Migration Service User Guide.
6665	ExtraConnectionAttributes *string `type:"string"`
6666
6667	// Settings in JSON format for the source IBM Db2 LUW endpoint. For information
6668	// about other available settings, see Extra connection attributes when using
6669	// Db2 LUW as a source for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.html#CHAP_Source.DB2.ConnectionAttrib)
6670	// in the Database Migration Service User Guide.
6671	IBMDb2Settings *IBMDb2Settings `type:"structure"`
6672
6673	// Settings in JSON format for the target Apache Kafka endpoint. For more information
6674	// about the available settings, see Using object mapping to migrate data to
6675	// a Kafka topic (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html#CHAP_Target.Kafka.ObjectMapping)
6676	// in the Database Migration Service User Guide.
6677	KafkaSettings *KafkaSettings `type:"structure"`
6678
6679	// Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams.
6680	// For more information about the available settings, see Using object mapping
6681	// to migrate data to a Kinesis data stream (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html#CHAP_Target.Kinesis.ObjectMapping)
6682	// in the Database Migration Service User Guide.
6683	KinesisSettings *KinesisSettings `type:"structure"`
6684
6685	// An KMS key identifier that is used to encrypt the connection parameters for
6686	// the endpoint.
6687	//
6688	// If you don't specify a value for the KmsKeyId parameter, then DMS uses your
6689	// default encryption key.
6690	//
6691	// KMS creates the default encryption key for your Amazon Web Services account.
6692	// Your Amazon Web Services account has a different default encryption key for
6693	// each Amazon Web Services Region.
6694	KmsKeyId *string `type:"string"`
6695
6696	// Settings in JSON format for the source and target Microsoft SQL Server endpoint.
6697	// For information about other available settings, see Extra connection attributes
6698	// when using SQL Server as a source for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.ConnectionAttrib)
6699	// and Extra connection attributes when using SQL Server as a target for DMS
6700	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html#CHAP_Target.SQLServer.ConnectionAttrib)
6701	// in the Database Migration Service User Guide.
6702	MicrosoftSQLServerSettings *MicrosoftSQLServerSettings `type:"structure"`
6703
6704	// Settings in JSON format for the source MongoDB endpoint. For more information
6705	// about the available settings, see Endpoint configuration settings when using
6706	// MongoDB as a source for Database Migration Service (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html#CHAP_Source.MongoDB.Configuration)
6707	// in the Database Migration Service User Guide.
6708	MongoDbSettings *MongoDbSettings `type:"structure"`
6709
6710	// Settings in JSON format for the source and target MySQL endpoint. For information
6711	// about other available settings, see Extra connection attributes when using
6712	// MySQL as a source for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib)
6713	// and Extra connection attributes when using a MySQL-compatible database as
6714	// a target for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html#CHAP_Target.MySQL.ConnectionAttrib)
6715	// in the Database Migration Service User Guide.
6716	MySQLSettings *MySQLSettings `type:"structure"`
6717
6718	// Settings in JSON format for the target Amazon Neptune endpoint. For more
6719	// information about the available settings, see Specifying graph-mapping rules
6720	// using Gremlin and R2RML for Amazon Neptune as a target (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings)
6721	// in the Database Migration Service User Guide.
6722	NeptuneSettings *NeptuneSettings `type:"structure"`
6723
6724	// Settings in JSON format for the source and target Oracle endpoint. For information
6725	// about other available settings, see Extra connection attributes when using
6726	// Oracle as a source for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib)
6727	// and Extra connection attributes when using Oracle as a target for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.ConnectionAttrib)
6728	// in the Database Migration Service User Guide.
6729	OracleSettings *OracleSettings `type:"structure"`
6730
6731	// The password to be used to log in to the endpoint database.
6732	//
6733	// Password is a sensitive parameter and its value will be
6734	// replaced with "sensitive" in string returned by CreateEndpointInput's
6735	// String and GoString methods.
6736	Password *string `type:"string" sensitive:"true"`
6737
6738	// The port used by the endpoint database.
6739	Port *int64 `type:"integer"`
6740
6741	// Settings in JSON format for the source and target PostgreSQL endpoint. For
6742	// information about other available settings, see Extra connection attributes
6743	// when using PostgreSQL as a source for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib)
6744	// and Extra connection attributes when using PostgreSQL as a target for DMS
6745	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html#CHAP_Target.PostgreSQL.ConnectionAttrib)
6746	// in the Database Migration Service User Guide.
6747	PostgreSQLSettings *PostgreSQLSettings `type:"structure"`
6748
6749	// Settings in JSON format for the target Redis endpoint.
6750	RedisSettings *RedisSettings `type:"structure"`
6751
6752	// Provides information that defines an Amazon Redshift endpoint.
6753	RedshiftSettings *RedshiftSettings `type:"structure"`
6754
6755	// A friendly name for the resource identifier at the end of the EndpointArn
6756	// response parameter that is returned in the created Endpoint object. The value
6757	// for this parameter can have up to 31 characters. It can contain only ASCII
6758	// letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain
6759	// two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1.
6760	// For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1.
6761	// If you don't specify a ResourceIdentifier value, DMS generates a default
6762	// identifier value for the end of EndpointArn.
6763	ResourceIdentifier *string `type:"string"`
6764
6765	// Settings in JSON format for the target Amazon S3 endpoint. For more information
6766	// about the available settings, see Extra Connection Attributes When Using
6767	// Amazon S3 as a Target for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring)
6768	// in the Database Migration Service User Guide.
6769	S3Settings *S3Settings `type:"structure"`
6770
6771	// The name of the server where the endpoint database resides.
6772	ServerName *string `type:"string"`
6773
6774	// The Amazon Resource Name (ARN) for the service access role that you want
6775	// to use to create the endpoint. The role must allow the iam:PassRole action.
6776	ServiceAccessRoleArn *string `type:"string"`
6777
6778	// The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default
6779	// is none
6780	SslMode *string `type:"string" enum:"DmsSslModeValue"`
6781
6782	// Settings in JSON format for the source and target SAP ASE endpoint. For information
6783	// about other available settings, see Extra connection attributes when using
6784	// SAP ASE as a source for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html#CHAP_Source.SAP.ConnectionAttrib)
6785	// and Extra connection attributes when using SAP ASE as a target for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.html#CHAP_Target.SAP.ConnectionAttrib)
6786	// in the Database Migration Service User Guide.
6787	SybaseSettings *SybaseSettings `type:"structure"`
6788
6789	// One or more tags to be assigned to the endpoint.
6790	Tags []*Tag `type:"list"`
6791
6792	// The user name to be used to log in to the endpoint database.
6793	Username *string `type:"string"`
6794}
6795
6796// String returns the string representation.
6797//
6798// API parameter values that are decorated as "sensitive" in the API will not
6799// be included in the string output. The member name will be present, but the
6800// value will be replaced with "sensitive".
6801func (s CreateEndpointInput) String() string {
6802	return awsutil.Prettify(s)
6803}
6804
6805// GoString returns the string representation.
6806//
6807// API parameter values that are decorated as "sensitive" in the API will not
6808// be included in the string output. The member name will be present, but the
6809// value will be replaced with "sensitive".
6810func (s CreateEndpointInput) GoString() string {
6811	return s.String()
6812}
6813
6814// Validate inspects the fields of the type to determine if they are valid.
6815func (s *CreateEndpointInput) Validate() error {
6816	invalidParams := request.ErrInvalidParams{Context: "CreateEndpointInput"}
6817	if s.EndpointIdentifier == nil {
6818		invalidParams.Add(request.NewErrParamRequired("EndpointIdentifier"))
6819	}
6820	if s.EndpointType == nil {
6821		invalidParams.Add(request.NewErrParamRequired("EndpointType"))
6822	}
6823	if s.EngineName == nil {
6824		invalidParams.Add(request.NewErrParamRequired("EngineName"))
6825	}
6826	if s.DynamoDbSettings != nil {
6827		if err := s.DynamoDbSettings.Validate(); err != nil {
6828			invalidParams.AddNested("DynamoDbSettings", err.(request.ErrInvalidParams))
6829		}
6830	}
6831	if s.ElasticsearchSettings != nil {
6832		if err := s.ElasticsearchSettings.Validate(); err != nil {
6833			invalidParams.AddNested("ElasticsearchSettings", err.(request.ErrInvalidParams))
6834		}
6835	}
6836	if s.NeptuneSettings != nil {
6837		if err := s.NeptuneSettings.Validate(); err != nil {
6838			invalidParams.AddNested("NeptuneSettings", err.(request.ErrInvalidParams))
6839		}
6840	}
6841	if s.RedisSettings != nil {
6842		if err := s.RedisSettings.Validate(); err != nil {
6843			invalidParams.AddNested("RedisSettings", err.(request.ErrInvalidParams))
6844		}
6845	}
6846
6847	if invalidParams.Len() > 0 {
6848		return invalidParams
6849	}
6850	return nil
6851}
6852
6853// SetCertificateArn sets the CertificateArn field's value.
6854func (s *CreateEndpointInput) SetCertificateArn(v string) *CreateEndpointInput {
6855	s.CertificateArn = &v
6856	return s
6857}
6858
6859// SetDatabaseName sets the DatabaseName field's value.
6860func (s *CreateEndpointInput) SetDatabaseName(v string) *CreateEndpointInput {
6861	s.DatabaseName = &v
6862	return s
6863}
6864
6865// SetDmsTransferSettings sets the DmsTransferSettings field's value.
6866func (s *CreateEndpointInput) SetDmsTransferSettings(v *DmsTransferSettings) *CreateEndpointInput {
6867	s.DmsTransferSettings = v
6868	return s
6869}
6870
6871// SetDocDbSettings sets the DocDbSettings field's value.
6872func (s *CreateEndpointInput) SetDocDbSettings(v *DocDbSettings) *CreateEndpointInput {
6873	s.DocDbSettings = v
6874	return s
6875}
6876
6877// SetDynamoDbSettings sets the DynamoDbSettings field's value.
6878func (s *CreateEndpointInput) SetDynamoDbSettings(v *DynamoDbSettings) *CreateEndpointInput {
6879	s.DynamoDbSettings = v
6880	return s
6881}
6882
6883// SetElasticsearchSettings sets the ElasticsearchSettings field's value.
6884func (s *CreateEndpointInput) SetElasticsearchSettings(v *ElasticsearchSettings) *CreateEndpointInput {
6885	s.ElasticsearchSettings = v
6886	return s
6887}
6888
6889// SetEndpointIdentifier sets the EndpointIdentifier field's value.
6890func (s *CreateEndpointInput) SetEndpointIdentifier(v string) *CreateEndpointInput {
6891	s.EndpointIdentifier = &v
6892	return s
6893}
6894
6895// SetEndpointType sets the EndpointType field's value.
6896func (s *CreateEndpointInput) SetEndpointType(v string) *CreateEndpointInput {
6897	s.EndpointType = &v
6898	return s
6899}
6900
6901// SetEngineName sets the EngineName field's value.
6902func (s *CreateEndpointInput) SetEngineName(v string) *CreateEndpointInput {
6903	s.EngineName = &v
6904	return s
6905}
6906
6907// SetExternalTableDefinition sets the ExternalTableDefinition field's value.
6908func (s *CreateEndpointInput) SetExternalTableDefinition(v string) *CreateEndpointInput {
6909	s.ExternalTableDefinition = &v
6910	return s
6911}
6912
6913// SetExtraConnectionAttributes sets the ExtraConnectionAttributes field's value.
6914func (s *CreateEndpointInput) SetExtraConnectionAttributes(v string) *CreateEndpointInput {
6915	s.ExtraConnectionAttributes = &v
6916	return s
6917}
6918
6919// SetIBMDb2Settings sets the IBMDb2Settings field's value.
6920func (s *CreateEndpointInput) SetIBMDb2Settings(v *IBMDb2Settings) *CreateEndpointInput {
6921	s.IBMDb2Settings = v
6922	return s
6923}
6924
6925// SetKafkaSettings sets the KafkaSettings field's value.
6926func (s *CreateEndpointInput) SetKafkaSettings(v *KafkaSettings) *CreateEndpointInput {
6927	s.KafkaSettings = v
6928	return s
6929}
6930
6931// SetKinesisSettings sets the KinesisSettings field's value.
6932func (s *CreateEndpointInput) SetKinesisSettings(v *KinesisSettings) *CreateEndpointInput {
6933	s.KinesisSettings = v
6934	return s
6935}
6936
6937// SetKmsKeyId sets the KmsKeyId field's value.
6938func (s *CreateEndpointInput) SetKmsKeyId(v string) *CreateEndpointInput {
6939	s.KmsKeyId = &v
6940	return s
6941}
6942
6943// SetMicrosoftSQLServerSettings sets the MicrosoftSQLServerSettings field's value.
6944func (s *CreateEndpointInput) SetMicrosoftSQLServerSettings(v *MicrosoftSQLServerSettings) *CreateEndpointInput {
6945	s.MicrosoftSQLServerSettings = v
6946	return s
6947}
6948
6949// SetMongoDbSettings sets the MongoDbSettings field's value.
6950func (s *CreateEndpointInput) SetMongoDbSettings(v *MongoDbSettings) *CreateEndpointInput {
6951	s.MongoDbSettings = v
6952	return s
6953}
6954
6955// SetMySQLSettings sets the MySQLSettings field's value.
6956func (s *CreateEndpointInput) SetMySQLSettings(v *MySQLSettings) *CreateEndpointInput {
6957	s.MySQLSettings = v
6958	return s
6959}
6960
6961// SetNeptuneSettings sets the NeptuneSettings field's value.
6962func (s *CreateEndpointInput) SetNeptuneSettings(v *NeptuneSettings) *CreateEndpointInput {
6963	s.NeptuneSettings = v
6964	return s
6965}
6966
6967// SetOracleSettings sets the OracleSettings field's value.
6968func (s *CreateEndpointInput) SetOracleSettings(v *OracleSettings) *CreateEndpointInput {
6969	s.OracleSettings = v
6970	return s
6971}
6972
6973// SetPassword sets the Password field's value.
6974func (s *CreateEndpointInput) SetPassword(v string) *CreateEndpointInput {
6975	s.Password = &v
6976	return s
6977}
6978
6979// SetPort sets the Port field's value.
6980func (s *CreateEndpointInput) SetPort(v int64) *CreateEndpointInput {
6981	s.Port = &v
6982	return s
6983}
6984
6985// SetPostgreSQLSettings sets the PostgreSQLSettings field's value.
6986func (s *CreateEndpointInput) SetPostgreSQLSettings(v *PostgreSQLSettings) *CreateEndpointInput {
6987	s.PostgreSQLSettings = v
6988	return s
6989}
6990
6991// SetRedisSettings sets the RedisSettings field's value.
6992func (s *CreateEndpointInput) SetRedisSettings(v *RedisSettings) *CreateEndpointInput {
6993	s.RedisSettings = v
6994	return s
6995}
6996
6997// SetRedshiftSettings sets the RedshiftSettings field's value.
6998func (s *CreateEndpointInput) SetRedshiftSettings(v *RedshiftSettings) *CreateEndpointInput {
6999	s.RedshiftSettings = v
7000	return s
7001}
7002
7003// SetResourceIdentifier sets the ResourceIdentifier field's value.
7004func (s *CreateEndpointInput) SetResourceIdentifier(v string) *CreateEndpointInput {
7005	s.ResourceIdentifier = &v
7006	return s
7007}
7008
7009// SetS3Settings sets the S3Settings field's value.
7010func (s *CreateEndpointInput) SetS3Settings(v *S3Settings) *CreateEndpointInput {
7011	s.S3Settings = v
7012	return s
7013}
7014
7015// SetServerName sets the ServerName field's value.
7016func (s *CreateEndpointInput) SetServerName(v string) *CreateEndpointInput {
7017	s.ServerName = &v
7018	return s
7019}
7020
7021// SetServiceAccessRoleArn sets the ServiceAccessRoleArn field's value.
7022func (s *CreateEndpointInput) SetServiceAccessRoleArn(v string) *CreateEndpointInput {
7023	s.ServiceAccessRoleArn = &v
7024	return s
7025}
7026
7027// SetSslMode sets the SslMode field's value.
7028func (s *CreateEndpointInput) SetSslMode(v string) *CreateEndpointInput {
7029	s.SslMode = &v
7030	return s
7031}
7032
7033// SetSybaseSettings sets the SybaseSettings field's value.
7034func (s *CreateEndpointInput) SetSybaseSettings(v *SybaseSettings) *CreateEndpointInput {
7035	s.SybaseSettings = v
7036	return s
7037}
7038
7039// SetTags sets the Tags field's value.
7040func (s *CreateEndpointInput) SetTags(v []*Tag) *CreateEndpointInput {
7041	s.Tags = v
7042	return s
7043}
7044
7045// SetUsername sets the Username field's value.
7046func (s *CreateEndpointInput) SetUsername(v string) *CreateEndpointInput {
7047	s.Username = &v
7048	return s
7049}
7050
7051type CreateEndpointOutput struct {
7052	_ struct{} `type:"structure"`
7053
7054	// The endpoint that was created.
7055	Endpoint *Endpoint `type:"structure"`
7056}
7057
7058// String returns the string representation.
7059//
7060// API parameter values that are decorated as "sensitive" in the API will not
7061// be included in the string output. The member name will be present, but the
7062// value will be replaced with "sensitive".
7063func (s CreateEndpointOutput) String() string {
7064	return awsutil.Prettify(s)
7065}
7066
7067// GoString returns the string representation.
7068//
7069// API parameter values that are decorated as "sensitive" in the API will not
7070// be included in the string output. The member name will be present, but the
7071// value will be replaced with "sensitive".
7072func (s CreateEndpointOutput) GoString() string {
7073	return s.String()
7074}
7075
7076// SetEndpoint sets the Endpoint field's value.
7077func (s *CreateEndpointOutput) SetEndpoint(v *Endpoint) *CreateEndpointOutput {
7078	s.Endpoint = v
7079	return s
7080}
7081
7082type CreateEventSubscriptionInput struct {
7083	_ struct{} `type:"structure"`
7084
7085	// A Boolean value; set to true to activate the subscription, or set to false
7086	// to create the subscription but not activate it.
7087	Enabled *bool `type:"boolean"`
7088
7089	// A list of event categories for a source type that you want to subscribe to.
7090	// For more information, see Working with Events and Notifications (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Events.html)
7091	// in the Database Migration Service User Guide.
7092	EventCategories []*string `type:"list"`
7093
7094	// The Amazon Resource Name (ARN) of the Amazon SNS topic created for event
7095	// notification. The ARN is created by Amazon SNS when you create a topic and
7096	// subscribe to it.
7097	//
7098	// SnsTopicArn is a required field
7099	SnsTopicArn *string `type:"string" required:"true"`
7100
7101	// A list of identifiers for which DMS provides notification events.
7102	//
7103	// If you don't specify a value, notifications are provided for all sources.
7104	//
7105	// If you specify multiple values, they must be of the same type. For example,
7106	// if you specify a database instance ID, then all of the other values must
7107	// be database instance IDs.
7108	SourceIds []*string `type:"list"`
7109
7110	// The type of DMS resource that generates the events. For example, if you want
7111	// to be notified of events generated by a replication instance, you set this
7112	// parameter to replication-instance. If this value isn't specified, all events
7113	// are returned.
7114	//
7115	// Valid values: replication-instance | replication-task
7116	SourceType *string `type:"string"`
7117
7118	// The name of the DMS event notification subscription. This name must be less
7119	// than 255 characters.
7120	//
7121	// SubscriptionName is a required field
7122	SubscriptionName *string `type:"string" required:"true"`
7123
7124	// One or more tags to be assigned to the event subscription.
7125	Tags []*Tag `type:"list"`
7126}
7127
7128// String returns the string representation.
7129//
7130// API parameter values that are decorated as "sensitive" in the API will not
7131// be included in the string output. The member name will be present, but the
7132// value will be replaced with "sensitive".
7133func (s CreateEventSubscriptionInput) String() string {
7134	return awsutil.Prettify(s)
7135}
7136
7137// GoString returns the string representation.
7138//
7139// API parameter values that are decorated as "sensitive" in the API will not
7140// be included in the string output. The member name will be present, but the
7141// value will be replaced with "sensitive".
7142func (s CreateEventSubscriptionInput) GoString() string {
7143	return s.String()
7144}
7145
7146// Validate inspects the fields of the type to determine if they are valid.
7147func (s *CreateEventSubscriptionInput) Validate() error {
7148	invalidParams := request.ErrInvalidParams{Context: "CreateEventSubscriptionInput"}
7149	if s.SnsTopicArn == nil {
7150		invalidParams.Add(request.NewErrParamRequired("SnsTopicArn"))
7151	}
7152	if s.SubscriptionName == nil {
7153		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
7154	}
7155
7156	if invalidParams.Len() > 0 {
7157		return invalidParams
7158	}
7159	return nil
7160}
7161
7162// SetEnabled sets the Enabled field's value.
7163func (s *CreateEventSubscriptionInput) SetEnabled(v bool) *CreateEventSubscriptionInput {
7164	s.Enabled = &v
7165	return s
7166}
7167
7168// SetEventCategories sets the EventCategories field's value.
7169func (s *CreateEventSubscriptionInput) SetEventCategories(v []*string) *CreateEventSubscriptionInput {
7170	s.EventCategories = v
7171	return s
7172}
7173
7174// SetSnsTopicArn sets the SnsTopicArn field's value.
7175func (s *CreateEventSubscriptionInput) SetSnsTopicArn(v string) *CreateEventSubscriptionInput {
7176	s.SnsTopicArn = &v
7177	return s
7178}
7179
7180// SetSourceIds sets the SourceIds field's value.
7181func (s *CreateEventSubscriptionInput) SetSourceIds(v []*string) *CreateEventSubscriptionInput {
7182	s.SourceIds = v
7183	return s
7184}
7185
7186// SetSourceType sets the SourceType field's value.
7187func (s *CreateEventSubscriptionInput) SetSourceType(v string) *CreateEventSubscriptionInput {
7188	s.SourceType = &v
7189	return s
7190}
7191
7192// SetSubscriptionName sets the SubscriptionName field's value.
7193func (s *CreateEventSubscriptionInput) SetSubscriptionName(v string) *CreateEventSubscriptionInput {
7194	s.SubscriptionName = &v
7195	return s
7196}
7197
7198// SetTags sets the Tags field's value.
7199func (s *CreateEventSubscriptionInput) SetTags(v []*Tag) *CreateEventSubscriptionInput {
7200	s.Tags = v
7201	return s
7202}
7203
7204type CreateEventSubscriptionOutput struct {
7205	_ struct{} `type:"structure"`
7206
7207	// The event subscription that was created.
7208	EventSubscription *EventSubscription `type:"structure"`
7209}
7210
7211// String returns the string representation.
7212//
7213// API parameter values that are decorated as "sensitive" in the API will not
7214// be included in the string output. The member name will be present, but the
7215// value will be replaced with "sensitive".
7216func (s CreateEventSubscriptionOutput) String() string {
7217	return awsutil.Prettify(s)
7218}
7219
7220// GoString returns the string representation.
7221//
7222// API parameter values that are decorated as "sensitive" in the API will not
7223// be included in the string output. The member name will be present, but the
7224// value will be replaced with "sensitive".
7225func (s CreateEventSubscriptionOutput) GoString() string {
7226	return s.String()
7227}
7228
7229// SetEventSubscription sets the EventSubscription field's value.
7230func (s *CreateEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *CreateEventSubscriptionOutput {
7231	s.EventSubscription = v
7232	return s
7233}
7234
7235type CreateReplicationInstanceInput struct {
7236	_ struct{} `type:"structure"`
7237
7238	// The amount of storage (in gigabytes) to be initially allocated for the replication
7239	// instance.
7240	AllocatedStorage *int64 `type:"integer"`
7241
7242	// A value that indicates whether minor engine upgrades are applied automatically
7243	// to the replication instance during the maintenance window. This parameter
7244	// defaults to true.
7245	//
7246	// Default: true
7247	AutoMinorVersionUpgrade *bool `type:"boolean"`
7248
7249	// The Availability Zone where the replication instance will be created. The
7250	// default value is a random, system-chosen Availability Zone in the endpoint's
7251	// Amazon Web Services Region, for example: us-east-1d
7252	AvailabilityZone *string `type:"string"`
7253
7254	// A list of custom DNS name servers supported for the replication instance
7255	// to access your on-premise source or target database. This list overrides
7256	// the default name servers supported by the replication instance. You can specify
7257	// a comma-separated list of internet addresses for up to four on-premise DNS
7258	// name servers. For example: "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"
7259	DnsNameServers *string `type:"string"`
7260
7261	// The engine version number of the replication instance.
7262	//
7263	// If an engine version number is not specified when a replication instance
7264	// is created, the default is the latest engine version available.
7265	EngineVersion *string `type:"string"`
7266
7267	// An KMS key identifier that is used to encrypt the data on the replication
7268	// instance.
7269	//
7270	// If you don't specify a value for the KmsKeyId parameter, then DMS uses your
7271	// default encryption key.
7272	//
7273	// KMS creates the default encryption key for your Amazon Web Services account.
7274	// Your Amazon Web Services account has a different default encryption key for
7275	// each Amazon Web Services Region.
7276	KmsKeyId *string `type:"string"`
7277
7278	// Specifies whether the replication instance is a Multi-AZ deployment. You
7279	// can't set the AvailabilityZone parameter if the Multi-AZ parameter is set
7280	// to true.
7281	MultiAZ *bool `type:"boolean"`
7282
7283	// The weekly time range during which system maintenance can occur, in Universal
7284	// Coordinated Time (UTC).
7285	//
7286	// Format: ddd:hh24:mi-ddd:hh24:mi
7287	//
7288	// Default: A 30-minute window selected at random from an 8-hour block of time
7289	// per Amazon Web Services Region, occurring on a random day of the week.
7290	//
7291	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
7292	//
7293	// Constraints: Minimum 30-minute window.
7294	PreferredMaintenanceWindow *string `type:"string"`
7295
7296	// Specifies the accessibility options for the replication instance. A value
7297	// of true represents an instance with a public IP address. A value of false
7298	// represents an instance with a private IP address. The default value is true.
7299	PubliclyAccessible *bool `type:"boolean"`
7300
7301	// The compute and memory capacity of the replication instance as defined for
7302	// the specified replication instance class. For example to specify the instance
7303	// class dms.c4.large, set this parameter to "dms.c4.large".
7304	//
7305	// For more information on the settings and capacities for the available replication
7306	// instance classes, see Selecting the right DMS replication instance for your
7307	// migration (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth).
7308	//
7309	// ReplicationInstanceClass is a required field
7310	ReplicationInstanceClass *string `type:"string" required:"true"`
7311
7312	// The replication instance identifier. This parameter is stored as a lowercase
7313	// string.
7314	//
7315	// Constraints:
7316	//
7317	//    * Must contain 1-63 alphanumeric characters or hyphens.
7318	//
7319	//    * First character must be a letter.
7320	//
7321	//    * Can't end with a hyphen or contain two consecutive hyphens.
7322	//
7323	// Example: myrepinstance
7324	//
7325	// ReplicationInstanceIdentifier is a required field
7326	ReplicationInstanceIdentifier *string `type:"string" required:"true"`
7327
7328	// A subnet group to associate with the replication instance.
7329	ReplicationSubnetGroupIdentifier *string `type:"string"`
7330
7331	// A friendly name for the resource identifier at the end of the EndpointArn
7332	// response parameter that is returned in the created Endpoint object. The value
7333	// for this parameter can have up to 31 characters. It can contain only ASCII
7334	// letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain
7335	// two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1.
7336	// For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1.
7337	// If you don't specify a ResourceIdentifier value, DMS generates a default
7338	// identifier value for the end of EndpointArn.
7339	ResourceIdentifier *string `type:"string"`
7340
7341	// One or more tags to be assigned to the replication instance.
7342	Tags []*Tag `type:"list"`
7343
7344	// Specifies the VPC security group to be used with the replication instance.
7345	// The VPC security group must work with the VPC containing the replication
7346	// instance.
7347	VpcSecurityGroupIds []*string `type:"list"`
7348}
7349
7350// String returns the string representation.
7351//
7352// API parameter values that are decorated as "sensitive" in the API will not
7353// be included in the string output. The member name will be present, but the
7354// value will be replaced with "sensitive".
7355func (s CreateReplicationInstanceInput) String() string {
7356	return awsutil.Prettify(s)
7357}
7358
7359// GoString returns the string representation.
7360//
7361// API parameter values that are decorated as "sensitive" in the API will not
7362// be included in the string output. The member name will be present, but the
7363// value will be replaced with "sensitive".
7364func (s CreateReplicationInstanceInput) GoString() string {
7365	return s.String()
7366}
7367
7368// Validate inspects the fields of the type to determine if they are valid.
7369func (s *CreateReplicationInstanceInput) Validate() error {
7370	invalidParams := request.ErrInvalidParams{Context: "CreateReplicationInstanceInput"}
7371	if s.ReplicationInstanceClass == nil {
7372		invalidParams.Add(request.NewErrParamRequired("ReplicationInstanceClass"))
7373	}
7374	if s.ReplicationInstanceIdentifier == nil {
7375		invalidParams.Add(request.NewErrParamRequired("ReplicationInstanceIdentifier"))
7376	}
7377
7378	if invalidParams.Len() > 0 {
7379		return invalidParams
7380	}
7381	return nil
7382}
7383
7384// SetAllocatedStorage sets the AllocatedStorage field's value.
7385func (s *CreateReplicationInstanceInput) SetAllocatedStorage(v int64) *CreateReplicationInstanceInput {
7386	s.AllocatedStorage = &v
7387	return s
7388}
7389
7390// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
7391func (s *CreateReplicationInstanceInput) SetAutoMinorVersionUpgrade(v bool) *CreateReplicationInstanceInput {
7392	s.AutoMinorVersionUpgrade = &v
7393	return s
7394}
7395
7396// SetAvailabilityZone sets the AvailabilityZone field's value.
7397func (s *CreateReplicationInstanceInput) SetAvailabilityZone(v string) *CreateReplicationInstanceInput {
7398	s.AvailabilityZone = &v
7399	return s
7400}
7401
7402// SetDnsNameServers sets the DnsNameServers field's value.
7403func (s *CreateReplicationInstanceInput) SetDnsNameServers(v string) *CreateReplicationInstanceInput {
7404	s.DnsNameServers = &v
7405	return s
7406}
7407
7408// SetEngineVersion sets the EngineVersion field's value.
7409func (s *CreateReplicationInstanceInput) SetEngineVersion(v string) *CreateReplicationInstanceInput {
7410	s.EngineVersion = &v
7411	return s
7412}
7413
7414// SetKmsKeyId sets the KmsKeyId field's value.
7415func (s *CreateReplicationInstanceInput) SetKmsKeyId(v string) *CreateReplicationInstanceInput {
7416	s.KmsKeyId = &v
7417	return s
7418}
7419
7420// SetMultiAZ sets the MultiAZ field's value.
7421func (s *CreateReplicationInstanceInput) SetMultiAZ(v bool) *CreateReplicationInstanceInput {
7422	s.MultiAZ = &v
7423	return s
7424}
7425
7426// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
7427func (s *CreateReplicationInstanceInput) SetPreferredMaintenanceWindow(v string) *CreateReplicationInstanceInput {
7428	s.PreferredMaintenanceWindow = &v
7429	return s
7430}
7431
7432// SetPubliclyAccessible sets the PubliclyAccessible field's value.
7433func (s *CreateReplicationInstanceInput) SetPubliclyAccessible(v bool) *CreateReplicationInstanceInput {
7434	s.PubliclyAccessible = &v
7435	return s
7436}
7437
7438// SetReplicationInstanceClass sets the ReplicationInstanceClass field's value.
7439func (s *CreateReplicationInstanceInput) SetReplicationInstanceClass(v string) *CreateReplicationInstanceInput {
7440	s.ReplicationInstanceClass = &v
7441	return s
7442}
7443
7444// SetReplicationInstanceIdentifier sets the ReplicationInstanceIdentifier field's value.
7445func (s *CreateReplicationInstanceInput) SetReplicationInstanceIdentifier(v string) *CreateReplicationInstanceInput {
7446	s.ReplicationInstanceIdentifier = &v
7447	return s
7448}
7449
7450// SetReplicationSubnetGroupIdentifier sets the ReplicationSubnetGroupIdentifier field's value.
7451func (s *CreateReplicationInstanceInput) SetReplicationSubnetGroupIdentifier(v string) *CreateReplicationInstanceInput {
7452	s.ReplicationSubnetGroupIdentifier = &v
7453	return s
7454}
7455
7456// SetResourceIdentifier sets the ResourceIdentifier field's value.
7457func (s *CreateReplicationInstanceInput) SetResourceIdentifier(v string) *CreateReplicationInstanceInput {
7458	s.ResourceIdentifier = &v
7459	return s
7460}
7461
7462// SetTags sets the Tags field's value.
7463func (s *CreateReplicationInstanceInput) SetTags(v []*Tag) *CreateReplicationInstanceInput {
7464	s.Tags = v
7465	return s
7466}
7467
7468// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
7469func (s *CreateReplicationInstanceInput) SetVpcSecurityGroupIds(v []*string) *CreateReplicationInstanceInput {
7470	s.VpcSecurityGroupIds = v
7471	return s
7472}
7473
7474type CreateReplicationInstanceOutput struct {
7475	_ struct{} `type:"structure"`
7476
7477	// The replication instance that was created.
7478	ReplicationInstance *ReplicationInstance `type:"structure"`
7479}
7480
7481// String returns the string representation.
7482//
7483// API parameter values that are decorated as "sensitive" in the API will not
7484// be included in the string output. The member name will be present, but the
7485// value will be replaced with "sensitive".
7486func (s CreateReplicationInstanceOutput) String() string {
7487	return awsutil.Prettify(s)
7488}
7489
7490// GoString returns the string representation.
7491//
7492// API parameter values that are decorated as "sensitive" in the API will not
7493// be included in the string output. The member name will be present, but the
7494// value will be replaced with "sensitive".
7495func (s CreateReplicationInstanceOutput) GoString() string {
7496	return s.String()
7497}
7498
7499// SetReplicationInstance sets the ReplicationInstance field's value.
7500func (s *CreateReplicationInstanceOutput) SetReplicationInstance(v *ReplicationInstance) *CreateReplicationInstanceOutput {
7501	s.ReplicationInstance = v
7502	return s
7503}
7504
7505type CreateReplicationSubnetGroupInput struct {
7506	_ struct{} `type:"structure"`
7507
7508	// The description for the subnet group.
7509	//
7510	// ReplicationSubnetGroupDescription is a required field
7511	ReplicationSubnetGroupDescription *string `type:"string" required:"true"`
7512
7513	// The name for the replication subnet group. This value is stored as a lowercase
7514	// string.
7515	//
7516	// Constraints: Must contain no more than 255 alphanumeric characters, periods,
7517	// spaces, underscores, or hyphens. Must not be "default".
7518	//
7519	// Example: mySubnetgroup
7520	//
7521	// ReplicationSubnetGroupIdentifier is a required field
7522	ReplicationSubnetGroupIdentifier *string `type:"string" required:"true"`
7523
7524	// One or more subnet IDs to be assigned to the subnet group.
7525	//
7526	// SubnetIds is a required field
7527	SubnetIds []*string `type:"list" required:"true"`
7528
7529	// One or more tags to be assigned to the subnet group.
7530	Tags []*Tag `type:"list"`
7531}
7532
7533// String returns the string representation.
7534//
7535// API parameter values that are decorated as "sensitive" in the API will not
7536// be included in the string output. The member name will be present, but the
7537// value will be replaced with "sensitive".
7538func (s CreateReplicationSubnetGroupInput) String() string {
7539	return awsutil.Prettify(s)
7540}
7541
7542// GoString returns the string representation.
7543//
7544// API parameter values that are decorated as "sensitive" in the API will not
7545// be included in the string output. The member name will be present, but the
7546// value will be replaced with "sensitive".
7547func (s CreateReplicationSubnetGroupInput) GoString() string {
7548	return s.String()
7549}
7550
7551// Validate inspects the fields of the type to determine if they are valid.
7552func (s *CreateReplicationSubnetGroupInput) Validate() error {
7553	invalidParams := request.ErrInvalidParams{Context: "CreateReplicationSubnetGroupInput"}
7554	if s.ReplicationSubnetGroupDescription == nil {
7555		invalidParams.Add(request.NewErrParamRequired("ReplicationSubnetGroupDescription"))
7556	}
7557	if s.ReplicationSubnetGroupIdentifier == nil {
7558		invalidParams.Add(request.NewErrParamRequired("ReplicationSubnetGroupIdentifier"))
7559	}
7560	if s.SubnetIds == nil {
7561		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
7562	}
7563
7564	if invalidParams.Len() > 0 {
7565		return invalidParams
7566	}
7567	return nil
7568}
7569
7570// SetReplicationSubnetGroupDescription sets the ReplicationSubnetGroupDescription field's value.
7571func (s *CreateReplicationSubnetGroupInput) SetReplicationSubnetGroupDescription(v string) *CreateReplicationSubnetGroupInput {
7572	s.ReplicationSubnetGroupDescription = &v
7573	return s
7574}
7575
7576// SetReplicationSubnetGroupIdentifier sets the ReplicationSubnetGroupIdentifier field's value.
7577func (s *CreateReplicationSubnetGroupInput) SetReplicationSubnetGroupIdentifier(v string) *CreateReplicationSubnetGroupInput {
7578	s.ReplicationSubnetGroupIdentifier = &v
7579	return s
7580}
7581
7582// SetSubnetIds sets the SubnetIds field's value.
7583func (s *CreateReplicationSubnetGroupInput) SetSubnetIds(v []*string) *CreateReplicationSubnetGroupInput {
7584	s.SubnetIds = v
7585	return s
7586}
7587
7588// SetTags sets the Tags field's value.
7589func (s *CreateReplicationSubnetGroupInput) SetTags(v []*Tag) *CreateReplicationSubnetGroupInput {
7590	s.Tags = v
7591	return s
7592}
7593
7594type CreateReplicationSubnetGroupOutput struct {
7595	_ struct{} `type:"structure"`
7596
7597	// The replication subnet group that was created.
7598	ReplicationSubnetGroup *ReplicationSubnetGroup `type:"structure"`
7599}
7600
7601// String returns the string representation.
7602//
7603// API parameter values that are decorated as "sensitive" in the API will not
7604// be included in the string output. The member name will be present, but the
7605// value will be replaced with "sensitive".
7606func (s CreateReplicationSubnetGroupOutput) String() string {
7607	return awsutil.Prettify(s)
7608}
7609
7610// GoString returns the string representation.
7611//
7612// API parameter values that are decorated as "sensitive" in the API will not
7613// be included in the string output. The member name will be present, but the
7614// value will be replaced with "sensitive".
7615func (s CreateReplicationSubnetGroupOutput) GoString() string {
7616	return s.String()
7617}
7618
7619// SetReplicationSubnetGroup sets the ReplicationSubnetGroup field's value.
7620func (s *CreateReplicationSubnetGroupOutput) SetReplicationSubnetGroup(v *ReplicationSubnetGroup) *CreateReplicationSubnetGroupOutput {
7621	s.ReplicationSubnetGroup = v
7622	return s
7623}
7624
7625type CreateReplicationTaskInput struct {
7626	_ struct{} `type:"structure"`
7627
7628	// Indicates when you want a change data capture (CDC) operation to start. Use
7629	// either CdcStartPosition or CdcStartTime to specify when you want a CDC operation
7630	// to start. Specifying both values results in an error.
7631	//
7632	// The value can be in date, checkpoint, or LSN/SCN format.
7633	//
7634	// Date Example: --cdc-start-position “2018-03-08T12:12:12”
7635	//
7636	// Checkpoint Example: --cdc-start-position "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93"
7637	//
7638	// LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”
7639	//
7640	// When you use this task setting with a source PostgreSQL database, a logical
7641	// replication slot should already be created and associated with the source
7642	// endpoint. You can verify this by setting the slotName extra connection attribute
7643	// to the name of this logical replication slot. For more information, see Extra
7644	// Connection Attributes When Using PostgreSQL as a Source for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib).
7645	CdcStartPosition *string `type:"string"`
7646
7647	// Indicates the start time for a change data capture (CDC) operation. Use either
7648	// CdcStartTime or CdcStartPosition to specify when you want a CDC operation
7649	// to start. Specifying both values results in an error.
7650	//
7651	// Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”
7652	CdcStartTime *time.Time `type:"timestamp"`
7653
7654	// Indicates when you want a change data capture (CDC) operation to stop. The
7655	// value can be either server time or commit time.
7656	//
7657	// Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”
7658	//
7659	// Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12
7660	// “
7661	CdcStopPosition *string `type:"string"`
7662
7663	// The migration type. Valid values: full-load | cdc | full-load-and-cdc
7664	//
7665	// MigrationType is a required field
7666	MigrationType *string `type:"string" required:"true" enum:"MigrationTypeValue"`
7667
7668	// The Amazon Resource Name (ARN) of a replication instance.
7669	//
7670	// ReplicationInstanceArn is a required field
7671	ReplicationInstanceArn *string `type:"string" required:"true"`
7672
7673	// An identifier for the replication task.
7674	//
7675	// Constraints:
7676	//
7677	//    * Must contain 1-255 alphanumeric characters or hyphens.
7678	//
7679	//    * First character must be a letter.
7680	//
7681	//    * Cannot end with a hyphen or contain two consecutive hyphens.
7682	//
7683	// ReplicationTaskIdentifier is a required field
7684	ReplicationTaskIdentifier *string `type:"string" required:"true"`
7685
7686	// Overall settings for the task, in JSON format. For more information, see
7687	// Specifying Task Settings for Database Migration Service Tasks (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html)
7688	// in the Database Migration Service User Guide.
7689	ReplicationTaskSettings *string `type:"string"`
7690
7691	// A friendly name for the resource identifier at the end of the EndpointArn
7692	// response parameter that is returned in the created Endpoint object. The value
7693	// for this parameter can have up to 31 characters. It can contain only ASCII
7694	// letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain
7695	// two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1.
7696	// For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1.
7697	// If you don't specify a ResourceIdentifier value, DMS generates a default
7698	// identifier value for the end of EndpointArn.
7699	ResourceIdentifier *string `type:"string"`
7700
7701	// An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.
7702	//
7703	// SourceEndpointArn is a required field
7704	SourceEndpointArn *string `type:"string" required:"true"`
7705
7706	// The table mappings for the task, in JSON format. For more information, see
7707	// Using Table Mapping to Specify Task Settings (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.html)
7708	// in the Database Migration Service User Guide.
7709	//
7710	// TableMappings is a required field
7711	TableMappings *string `type:"string" required:"true"`
7712
7713	// One or more tags to be assigned to the replication task.
7714	Tags []*Tag `type:"list"`
7715
7716	// An Amazon Resource Name (ARN) that uniquely identifies the target endpoint.
7717	//
7718	// TargetEndpointArn is a required field
7719	TargetEndpointArn *string `type:"string" required:"true"`
7720
7721	// Supplemental information that the task requires to migrate the data for certain
7722	// source and target endpoints. For more information, see Specifying Supplemental
7723	// Data for Task Settings (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html)
7724	// in the Database Migration Service User Guide.
7725	TaskData *string `type:"string"`
7726}
7727
7728// String returns the string representation.
7729//
7730// API parameter values that are decorated as "sensitive" in the API will not
7731// be included in the string output. The member name will be present, but the
7732// value will be replaced with "sensitive".
7733func (s CreateReplicationTaskInput) String() string {
7734	return awsutil.Prettify(s)
7735}
7736
7737// GoString returns the string representation.
7738//
7739// API parameter values that are decorated as "sensitive" in the API will not
7740// be included in the string output. The member name will be present, but the
7741// value will be replaced with "sensitive".
7742func (s CreateReplicationTaskInput) GoString() string {
7743	return s.String()
7744}
7745
7746// Validate inspects the fields of the type to determine if they are valid.
7747func (s *CreateReplicationTaskInput) Validate() error {
7748	invalidParams := request.ErrInvalidParams{Context: "CreateReplicationTaskInput"}
7749	if s.MigrationType == nil {
7750		invalidParams.Add(request.NewErrParamRequired("MigrationType"))
7751	}
7752	if s.ReplicationInstanceArn == nil {
7753		invalidParams.Add(request.NewErrParamRequired("ReplicationInstanceArn"))
7754	}
7755	if s.ReplicationTaskIdentifier == nil {
7756		invalidParams.Add(request.NewErrParamRequired("ReplicationTaskIdentifier"))
7757	}
7758	if s.SourceEndpointArn == nil {
7759		invalidParams.Add(request.NewErrParamRequired("SourceEndpointArn"))
7760	}
7761	if s.TableMappings == nil {
7762		invalidParams.Add(request.NewErrParamRequired("TableMappings"))
7763	}
7764	if s.TargetEndpointArn == nil {
7765		invalidParams.Add(request.NewErrParamRequired("TargetEndpointArn"))
7766	}
7767
7768	if invalidParams.Len() > 0 {
7769		return invalidParams
7770	}
7771	return nil
7772}
7773
7774// SetCdcStartPosition sets the CdcStartPosition field's value.
7775func (s *CreateReplicationTaskInput) SetCdcStartPosition(v string) *CreateReplicationTaskInput {
7776	s.CdcStartPosition = &v
7777	return s
7778}
7779
7780// SetCdcStartTime sets the CdcStartTime field's value.
7781func (s *CreateReplicationTaskInput) SetCdcStartTime(v time.Time) *CreateReplicationTaskInput {
7782	s.CdcStartTime = &v
7783	return s
7784}
7785
7786// SetCdcStopPosition sets the CdcStopPosition field's value.
7787func (s *CreateReplicationTaskInput) SetCdcStopPosition(v string) *CreateReplicationTaskInput {
7788	s.CdcStopPosition = &v
7789	return s
7790}
7791
7792// SetMigrationType sets the MigrationType field's value.
7793func (s *CreateReplicationTaskInput) SetMigrationType(v string) *CreateReplicationTaskInput {
7794	s.MigrationType = &v
7795	return s
7796}
7797
7798// SetReplicationInstanceArn sets the ReplicationInstanceArn field's value.
7799func (s *CreateReplicationTaskInput) SetReplicationInstanceArn(v string) *CreateReplicationTaskInput {
7800	s.ReplicationInstanceArn = &v
7801	return s
7802}
7803
7804// SetReplicationTaskIdentifier sets the ReplicationTaskIdentifier field's value.
7805func (s *CreateReplicationTaskInput) SetReplicationTaskIdentifier(v string) *CreateReplicationTaskInput {
7806	s.ReplicationTaskIdentifier = &v
7807	return s
7808}
7809
7810// SetReplicationTaskSettings sets the ReplicationTaskSettings field's value.
7811func (s *CreateReplicationTaskInput) SetReplicationTaskSettings(v string) *CreateReplicationTaskInput {
7812	s.ReplicationTaskSettings = &v
7813	return s
7814}
7815
7816// SetResourceIdentifier sets the ResourceIdentifier field's value.
7817func (s *CreateReplicationTaskInput) SetResourceIdentifier(v string) *CreateReplicationTaskInput {
7818	s.ResourceIdentifier = &v
7819	return s
7820}
7821
7822// SetSourceEndpointArn sets the SourceEndpointArn field's value.
7823func (s *CreateReplicationTaskInput) SetSourceEndpointArn(v string) *CreateReplicationTaskInput {
7824	s.SourceEndpointArn = &v
7825	return s
7826}
7827
7828// SetTableMappings sets the TableMappings field's value.
7829func (s *CreateReplicationTaskInput) SetTableMappings(v string) *CreateReplicationTaskInput {
7830	s.TableMappings = &v
7831	return s
7832}
7833
7834// SetTags sets the Tags field's value.
7835func (s *CreateReplicationTaskInput) SetTags(v []*Tag) *CreateReplicationTaskInput {
7836	s.Tags = v
7837	return s
7838}
7839
7840// SetTargetEndpointArn sets the TargetEndpointArn field's value.
7841func (s *CreateReplicationTaskInput) SetTargetEndpointArn(v string) *CreateReplicationTaskInput {
7842	s.TargetEndpointArn = &v
7843	return s
7844}
7845
7846// SetTaskData sets the TaskData field's value.
7847func (s *CreateReplicationTaskInput) SetTaskData(v string) *CreateReplicationTaskInput {
7848	s.TaskData = &v
7849	return s
7850}
7851
7852type CreateReplicationTaskOutput struct {
7853	_ struct{} `type:"structure"`
7854
7855	// The replication task that was created.
7856	ReplicationTask *ReplicationTask `type:"structure"`
7857}
7858
7859// String returns the string representation.
7860//
7861// API parameter values that are decorated as "sensitive" in the API will not
7862// be included in the string output. The member name will be present, but the
7863// value will be replaced with "sensitive".
7864func (s CreateReplicationTaskOutput) String() string {
7865	return awsutil.Prettify(s)
7866}
7867
7868// GoString returns the string representation.
7869//
7870// API parameter values that are decorated as "sensitive" in the API will not
7871// be included in the string output. The member name will be present, but the
7872// value will be replaced with "sensitive".
7873func (s CreateReplicationTaskOutput) GoString() string {
7874	return s.String()
7875}
7876
7877// SetReplicationTask sets the ReplicationTask field's value.
7878func (s *CreateReplicationTaskOutput) SetReplicationTask(v *ReplicationTask) *CreateReplicationTaskOutput {
7879	s.ReplicationTask = v
7880	return s
7881}
7882
7883type DeleteCertificateInput struct {
7884	_ struct{} `type:"structure"`
7885
7886	// The Amazon Resource Name (ARN) of the deleted certificate.
7887	//
7888	// CertificateArn is a required field
7889	CertificateArn *string `type:"string" required:"true"`
7890}
7891
7892// String returns the string representation.
7893//
7894// API parameter values that are decorated as "sensitive" in the API will not
7895// be included in the string output. The member name will be present, but the
7896// value will be replaced with "sensitive".
7897func (s DeleteCertificateInput) String() string {
7898	return awsutil.Prettify(s)
7899}
7900
7901// GoString returns the string representation.
7902//
7903// API parameter values that are decorated as "sensitive" in the API will not
7904// be included in the string output. The member name will be present, but the
7905// value will be replaced with "sensitive".
7906func (s DeleteCertificateInput) GoString() string {
7907	return s.String()
7908}
7909
7910// Validate inspects the fields of the type to determine if they are valid.
7911func (s *DeleteCertificateInput) Validate() error {
7912	invalidParams := request.ErrInvalidParams{Context: "DeleteCertificateInput"}
7913	if s.CertificateArn == nil {
7914		invalidParams.Add(request.NewErrParamRequired("CertificateArn"))
7915	}
7916
7917	if invalidParams.Len() > 0 {
7918		return invalidParams
7919	}
7920	return nil
7921}
7922
7923// SetCertificateArn sets the CertificateArn field's value.
7924func (s *DeleteCertificateInput) SetCertificateArn(v string) *DeleteCertificateInput {
7925	s.CertificateArn = &v
7926	return s
7927}
7928
7929type DeleteCertificateOutput struct {
7930	_ struct{} `type:"structure"`
7931
7932	// The Secure Sockets Layer (SSL) certificate.
7933	Certificate *Certificate `type:"structure"`
7934}
7935
7936// String returns the string representation.
7937//
7938// API parameter values that are decorated as "sensitive" in the API will not
7939// be included in the string output. The member name will be present, but the
7940// value will be replaced with "sensitive".
7941func (s DeleteCertificateOutput) String() string {
7942	return awsutil.Prettify(s)
7943}
7944
7945// GoString returns the string representation.
7946//
7947// API parameter values that are decorated as "sensitive" in the API will not
7948// be included in the string output. The member name will be present, but the
7949// value will be replaced with "sensitive".
7950func (s DeleteCertificateOutput) GoString() string {
7951	return s.String()
7952}
7953
7954// SetCertificate sets the Certificate field's value.
7955func (s *DeleteCertificateOutput) SetCertificate(v *Certificate) *DeleteCertificateOutput {
7956	s.Certificate = v
7957	return s
7958}
7959
7960type DeleteConnectionInput struct {
7961	_ struct{} `type:"structure"`
7962
7963	// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.
7964	//
7965	// EndpointArn is a required field
7966	EndpointArn *string `type:"string" required:"true"`
7967
7968	// The Amazon Resource Name (ARN) of the replication instance.
7969	//
7970	// ReplicationInstanceArn is a required field
7971	ReplicationInstanceArn *string `type:"string" required:"true"`
7972}
7973
7974// String returns the string representation.
7975//
7976// API parameter values that are decorated as "sensitive" in the API will not
7977// be included in the string output. The member name will be present, but the
7978// value will be replaced with "sensitive".
7979func (s DeleteConnectionInput) String() string {
7980	return awsutil.Prettify(s)
7981}
7982
7983// GoString returns the string representation.
7984//
7985// API parameter values that are decorated as "sensitive" in the API will not
7986// be included in the string output. The member name will be present, but the
7987// value will be replaced with "sensitive".
7988func (s DeleteConnectionInput) GoString() string {
7989	return s.String()
7990}
7991
7992// Validate inspects the fields of the type to determine if they are valid.
7993func (s *DeleteConnectionInput) Validate() error {
7994	invalidParams := request.ErrInvalidParams{Context: "DeleteConnectionInput"}
7995	if s.EndpointArn == nil {
7996		invalidParams.Add(request.NewErrParamRequired("EndpointArn"))
7997	}
7998	if s.ReplicationInstanceArn == nil {
7999		invalidParams.Add(request.NewErrParamRequired("ReplicationInstanceArn"))
8000	}
8001
8002	if invalidParams.Len() > 0 {
8003		return invalidParams
8004	}
8005	return nil
8006}
8007
8008// SetEndpointArn sets the EndpointArn field's value.
8009func (s *DeleteConnectionInput) SetEndpointArn(v string) *DeleteConnectionInput {
8010	s.EndpointArn = &v
8011	return s
8012}
8013
8014// SetReplicationInstanceArn sets the ReplicationInstanceArn field's value.
8015func (s *DeleteConnectionInput) SetReplicationInstanceArn(v string) *DeleteConnectionInput {
8016	s.ReplicationInstanceArn = &v
8017	return s
8018}
8019
8020type DeleteConnectionOutput struct {
8021	_ struct{} `type:"structure"`
8022
8023	// The connection that is being deleted.
8024	Connection *Connection `type:"structure"`
8025}
8026
8027// String returns the string representation.
8028//
8029// API parameter values that are decorated as "sensitive" in the API will not
8030// be included in the string output. The member name will be present, but the
8031// value will be replaced with "sensitive".
8032func (s DeleteConnectionOutput) String() string {
8033	return awsutil.Prettify(s)
8034}
8035
8036// GoString returns the string representation.
8037//
8038// API parameter values that are decorated as "sensitive" in the API will not
8039// be included in the string output. The member name will be present, but the
8040// value will be replaced with "sensitive".
8041func (s DeleteConnectionOutput) GoString() string {
8042	return s.String()
8043}
8044
8045// SetConnection sets the Connection field's value.
8046func (s *DeleteConnectionOutput) SetConnection(v *Connection) *DeleteConnectionOutput {
8047	s.Connection = v
8048	return s
8049}
8050
8051type DeleteEndpointInput struct {
8052	_ struct{} `type:"structure"`
8053
8054	// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.
8055	//
8056	// EndpointArn is a required field
8057	EndpointArn *string `type:"string" required:"true"`
8058}
8059
8060// String returns the string representation.
8061//
8062// API parameter values that are decorated as "sensitive" in the API will not
8063// be included in the string output. The member name will be present, but the
8064// value will be replaced with "sensitive".
8065func (s DeleteEndpointInput) String() string {
8066	return awsutil.Prettify(s)
8067}
8068
8069// GoString returns the string representation.
8070//
8071// API parameter values that are decorated as "sensitive" in the API will not
8072// be included in the string output. The member name will be present, but the
8073// value will be replaced with "sensitive".
8074func (s DeleteEndpointInput) GoString() string {
8075	return s.String()
8076}
8077
8078// Validate inspects the fields of the type to determine if they are valid.
8079func (s *DeleteEndpointInput) Validate() error {
8080	invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointInput"}
8081	if s.EndpointArn == nil {
8082		invalidParams.Add(request.NewErrParamRequired("EndpointArn"))
8083	}
8084
8085	if invalidParams.Len() > 0 {
8086		return invalidParams
8087	}
8088	return nil
8089}
8090
8091// SetEndpointArn sets the EndpointArn field's value.
8092func (s *DeleteEndpointInput) SetEndpointArn(v string) *DeleteEndpointInput {
8093	s.EndpointArn = &v
8094	return s
8095}
8096
8097type DeleteEndpointOutput struct {
8098	_ struct{} `type:"structure"`
8099
8100	// The endpoint that was deleted.
8101	Endpoint *Endpoint `type:"structure"`
8102}
8103
8104// String returns the string representation.
8105//
8106// API parameter values that are decorated as "sensitive" in the API will not
8107// be included in the string output. The member name will be present, but the
8108// value will be replaced with "sensitive".
8109func (s DeleteEndpointOutput) String() string {
8110	return awsutil.Prettify(s)
8111}
8112
8113// GoString returns the string representation.
8114//
8115// API parameter values that are decorated as "sensitive" in the API will not
8116// be included in the string output. The member name will be present, but the
8117// value will be replaced with "sensitive".
8118func (s DeleteEndpointOutput) GoString() string {
8119	return s.String()
8120}
8121
8122// SetEndpoint sets the Endpoint field's value.
8123func (s *DeleteEndpointOutput) SetEndpoint(v *Endpoint) *DeleteEndpointOutput {
8124	s.Endpoint = v
8125	return s
8126}
8127
8128type DeleteEventSubscriptionInput struct {
8129	_ struct{} `type:"structure"`
8130
8131	// The name of the DMS event notification subscription to be deleted.
8132	//
8133	// SubscriptionName is a required field
8134	SubscriptionName *string `type:"string" required:"true"`
8135}
8136
8137// String returns the string representation.
8138//
8139// API parameter values that are decorated as "sensitive" in the API will not
8140// be included in the string output. The member name will be present, but the
8141// value will be replaced with "sensitive".
8142func (s DeleteEventSubscriptionInput) String() string {
8143	return awsutil.Prettify(s)
8144}
8145
8146// GoString returns the string representation.
8147//
8148// API parameter values that are decorated as "sensitive" in the API will not
8149// be included in the string output. The member name will be present, but the
8150// value will be replaced with "sensitive".
8151func (s DeleteEventSubscriptionInput) GoString() string {
8152	return s.String()
8153}
8154
8155// Validate inspects the fields of the type to determine if they are valid.
8156func (s *DeleteEventSubscriptionInput) Validate() error {
8157	invalidParams := request.ErrInvalidParams{Context: "DeleteEventSubscriptionInput"}
8158	if s.SubscriptionName == nil {
8159		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
8160	}
8161
8162	if invalidParams.Len() > 0 {
8163		return invalidParams
8164	}
8165	return nil
8166}
8167
8168// SetSubscriptionName sets the SubscriptionName field's value.
8169func (s *DeleteEventSubscriptionInput) SetSubscriptionName(v string) *DeleteEventSubscriptionInput {
8170	s.SubscriptionName = &v
8171	return s
8172}
8173
8174type DeleteEventSubscriptionOutput struct {
8175	_ struct{} `type:"structure"`
8176
8177	// The event subscription that was deleted.
8178	EventSubscription *EventSubscription `type:"structure"`
8179}
8180
8181// String returns the string representation.
8182//
8183// API parameter values that are decorated as "sensitive" in the API will not
8184// be included in the string output. The member name will be present, but the
8185// value will be replaced with "sensitive".
8186func (s DeleteEventSubscriptionOutput) String() string {
8187	return awsutil.Prettify(s)
8188}
8189
8190// GoString returns the string representation.
8191//
8192// API parameter values that are decorated as "sensitive" in the API will not
8193// be included in the string output. The member name will be present, but the
8194// value will be replaced with "sensitive".
8195func (s DeleteEventSubscriptionOutput) GoString() string {
8196	return s.String()
8197}
8198
8199// SetEventSubscription sets the EventSubscription field's value.
8200func (s *DeleteEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *DeleteEventSubscriptionOutput {
8201	s.EventSubscription = v
8202	return s
8203}
8204
8205type DeleteReplicationInstanceInput struct {
8206	_ struct{} `type:"structure"`
8207
8208	// The Amazon Resource Name (ARN) of the replication instance to be deleted.
8209	//
8210	// ReplicationInstanceArn is a required field
8211	ReplicationInstanceArn *string `type:"string" required:"true"`
8212}
8213
8214// String returns the string representation.
8215//
8216// API parameter values that are decorated as "sensitive" in the API will not
8217// be included in the string output. The member name will be present, but the
8218// value will be replaced with "sensitive".
8219func (s DeleteReplicationInstanceInput) String() string {
8220	return awsutil.Prettify(s)
8221}
8222
8223// GoString returns the string representation.
8224//
8225// API parameter values that are decorated as "sensitive" in the API will not
8226// be included in the string output. The member name will be present, but the
8227// value will be replaced with "sensitive".
8228func (s DeleteReplicationInstanceInput) GoString() string {
8229	return s.String()
8230}
8231
8232// Validate inspects the fields of the type to determine if they are valid.
8233func (s *DeleteReplicationInstanceInput) Validate() error {
8234	invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationInstanceInput"}
8235	if s.ReplicationInstanceArn == nil {
8236		invalidParams.Add(request.NewErrParamRequired("ReplicationInstanceArn"))
8237	}
8238
8239	if invalidParams.Len() > 0 {
8240		return invalidParams
8241	}
8242	return nil
8243}
8244
8245// SetReplicationInstanceArn sets the ReplicationInstanceArn field's value.
8246func (s *DeleteReplicationInstanceInput) SetReplicationInstanceArn(v string) *DeleteReplicationInstanceInput {
8247	s.ReplicationInstanceArn = &v
8248	return s
8249}
8250
8251type DeleteReplicationInstanceOutput struct {
8252	_ struct{} `type:"structure"`
8253
8254	// The replication instance that was deleted.
8255	ReplicationInstance *ReplicationInstance `type:"structure"`
8256}
8257
8258// String returns the string representation.
8259//
8260// API parameter values that are decorated as "sensitive" in the API will not
8261// be included in the string output. The member name will be present, but the
8262// value will be replaced with "sensitive".
8263func (s DeleteReplicationInstanceOutput) String() string {
8264	return awsutil.Prettify(s)
8265}
8266
8267// GoString returns the string representation.
8268//
8269// API parameter values that are decorated as "sensitive" in the API will not
8270// be included in the string output. The member name will be present, but the
8271// value will be replaced with "sensitive".
8272func (s DeleteReplicationInstanceOutput) GoString() string {
8273	return s.String()
8274}
8275
8276// SetReplicationInstance sets the ReplicationInstance field's value.
8277func (s *DeleteReplicationInstanceOutput) SetReplicationInstance(v *ReplicationInstance) *DeleteReplicationInstanceOutput {
8278	s.ReplicationInstance = v
8279	return s
8280}
8281
8282type DeleteReplicationSubnetGroupInput struct {
8283	_ struct{} `type:"structure"`
8284
8285	// The subnet group name of the replication instance.
8286	//
8287	// ReplicationSubnetGroupIdentifier is a required field
8288	ReplicationSubnetGroupIdentifier *string `type:"string" required:"true"`
8289}
8290
8291// String returns the string representation.
8292//
8293// API parameter values that are decorated as "sensitive" in the API will not
8294// be included in the string output. The member name will be present, but the
8295// value will be replaced with "sensitive".
8296func (s DeleteReplicationSubnetGroupInput) String() string {
8297	return awsutil.Prettify(s)
8298}
8299
8300// GoString returns the string representation.
8301//
8302// API parameter values that are decorated as "sensitive" in the API will not
8303// be included in the string output. The member name will be present, but the
8304// value will be replaced with "sensitive".
8305func (s DeleteReplicationSubnetGroupInput) GoString() string {
8306	return s.String()
8307}
8308
8309// Validate inspects the fields of the type to determine if they are valid.
8310func (s *DeleteReplicationSubnetGroupInput) Validate() error {
8311	invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationSubnetGroupInput"}
8312	if s.ReplicationSubnetGroupIdentifier == nil {
8313		invalidParams.Add(request.NewErrParamRequired("ReplicationSubnetGroupIdentifier"))
8314	}
8315
8316	if invalidParams.Len() > 0 {
8317		return invalidParams
8318	}
8319	return nil
8320}
8321
8322// SetReplicationSubnetGroupIdentifier sets the ReplicationSubnetGroupIdentifier field's value.
8323func (s *DeleteReplicationSubnetGroupInput) SetReplicationSubnetGroupIdentifier(v string) *DeleteReplicationSubnetGroupInput {
8324	s.ReplicationSubnetGroupIdentifier = &v
8325	return s
8326}
8327
8328type DeleteReplicationSubnetGroupOutput struct {
8329	_ struct{} `type:"structure"`
8330}
8331
8332// String returns the string representation.
8333//
8334// API parameter values that are decorated as "sensitive" in the API will not
8335// be included in the string output. The member name will be present, but the
8336// value will be replaced with "sensitive".
8337func (s DeleteReplicationSubnetGroupOutput) String() string {
8338	return awsutil.Prettify(s)
8339}
8340
8341// GoString returns the string representation.
8342//
8343// API parameter values that are decorated as "sensitive" in the API will not
8344// be included in the string output. The member name will be present, but the
8345// value will be replaced with "sensitive".
8346func (s DeleteReplicationSubnetGroupOutput) GoString() string {
8347	return s.String()
8348}
8349
8350type DeleteReplicationTaskAssessmentRunInput struct {
8351	_ struct{} `type:"structure"`
8352
8353	// Amazon Resource Name (ARN) of the premigration assessment run to be deleted.
8354	//
8355	// ReplicationTaskAssessmentRunArn is a required field
8356	ReplicationTaskAssessmentRunArn *string `type:"string" required:"true"`
8357}
8358
8359// String returns the string representation.
8360//
8361// API parameter values that are decorated as "sensitive" in the API will not
8362// be included in the string output. The member name will be present, but the
8363// value will be replaced with "sensitive".
8364func (s DeleteReplicationTaskAssessmentRunInput) String() string {
8365	return awsutil.Prettify(s)
8366}
8367
8368// GoString returns the string representation.
8369//
8370// API parameter values that are decorated as "sensitive" in the API will not
8371// be included in the string output. The member name will be present, but the
8372// value will be replaced with "sensitive".
8373func (s DeleteReplicationTaskAssessmentRunInput) GoString() string {
8374	return s.String()
8375}
8376
8377// Validate inspects the fields of the type to determine if they are valid.
8378func (s *DeleteReplicationTaskAssessmentRunInput) Validate() error {
8379	invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationTaskAssessmentRunInput"}
8380	if s.ReplicationTaskAssessmentRunArn == nil {
8381		invalidParams.Add(request.NewErrParamRequired("ReplicationTaskAssessmentRunArn"))
8382	}
8383
8384	if invalidParams.Len() > 0 {
8385		return invalidParams
8386	}
8387	return nil
8388}
8389
8390// SetReplicationTaskAssessmentRunArn sets the ReplicationTaskAssessmentRunArn field's value.
8391func (s *DeleteReplicationTaskAssessmentRunInput) SetReplicationTaskAssessmentRunArn(v string) *DeleteReplicationTaskAssessmentRunInput {
8392	s.ReplicationTaskAssessmentRunArn = &v
8393	return s
8394}
8395
8396type DeleteReplicationTaskAssessmentRunOutput struct {
8397	_ struct{} `type:"structure"`
8398
8399	// The ReplicationTaskAssessmentRun object for the deleted assessment run.
8400	ReplicationTaskAssessmentRun *ReplicationTaskAssessmentRun `type:"structure"`
8401}
8402
8403// String returns the string representation.
8404//
8405// API parameter values that are decorated as "sensitive" in the API will not
8406// be included in the string output. The member name will be present, but the
8407// value will be replaced with "sensitive".
8408func (s DeleteReplicationTaskAssessmentRunOutput) String() string {
8409	return awsutil.Prettify(s)
8410}
8411
8412// GoString returns the string representation.
8413//
8414// API parameter values that are decorated as "sensitive" in the API will not
8415// be included in the string output. The member name will be present, but the
8416// value will be replaced with "sensitive".
8417func (s DeleteReplicationTaskAssessmentRunOutput) GoString() string {
8418	return s.String()
8419}
8420
8421// SetReplicationTaskAssessmentRun sets the ReplicationTaskAssessmentRun field's value.
8422func (s *DeleteReplicationTaskAssessmentRunOutput) SetReplicationTaskAssessmentRun(v *ReplicationTaskAssessmentRun) *DeleteReplicationTaskAssessmentRunOutput {
8423	s.ReplicationTaskAssessmentRun = v
8424	return s
8425}
8426
8427type DeleteReplicationTaskInput struct {
8428	_ struct{} `type:"structure"`
8429
8430	// The Amazon Resource Name (ARN) of the replication task to be deleted.
8431	//
8432	// ReplicationTaskArn is a required field
8433	ReplicationTaskArn *string `type:"string" required:"true"`
8434}
8435
8436// String returns the string representation.
8437//
8438// API parameter values that are decorated as "sensitive" in the API will not
8439// be included in the string output. The member name will be present, but the
8440// value will be replaced with "sensitive".
8441func (s DeleteReplicationTaskInput) String() string {
8442	return awsutil.Prettify(s)
8443}
8444
8445// GoString returns the string representation.
8446//
8447// API parameter values that are decorated as "sensitive" in the API will not
8448// be included in the string output. The member name will be present, but the
8449// value will be replaced with "sensitive".
8450func (s DeleteReplicationTaskInput) GoString() string {
8451	return s.String()
8452}
8453
8454// Validate inspects the fields of the type to determine if they are valid.
8455func (s *DeleteReplicationTaskInput) Validate() error {
8456	invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationTaskInput"}
8457	if s.ReplicationTaskArn == nil {
8458		invalidParams.Add(request.NewErrParamRequired("ReplicationTaskArn"))
8459	}
8460
8461	if invalidParams.Len() > 0 {
8462		return invalidParams
8463	}
8464	return nil
8465}
8466
8467// SetReplicationTaskArn sets the ReplicationTaskArn field's value.
8468func (s *DeleteReplicationTaskInput) SetReplicationTaskArn(v string) *DeleteReplicationTaskInput {
8469	s.ReplicationTaskArn = &v
8470	return s
8471}
8472
8473type DeleteReplicationTaskOutput struct {
8474	_ struct{} `type:"structure"`
8475
8476	// The deleted replication task.
8477	ReplicationTask *ReplicationTask `type:"structure"`
8478}
8479
8480// String returns the string representation.
8481//
8482// API parameter values that are decorated as "sensitive" in the API will not
8483// be included in the string output. The member name will be present, but the
8484// value will be replaced with "sensitive".
8485func (s DeleteReplicationTaskOutput) String() string {
8486	return awsutil.Prettify(s)
8487}
8488
8489// GoString returns the string representation.
8490//
8491// API parameter values that are decorated as "sensitive" in the API will not
8492// be included in the string output. The member name will be present, but the
8493// value will be replaced with "sensitive".
8494func (s DeleteReplicationTaskOutput) GoString() string {
8495	return s.String()
8496}
8497
8498// SetReplicationTask sets the ReplicationTask field's value.
8499func (s *DeleteReplicationTaskOutput) SetReplicationTask(v *ReplicationTask) *DeleteReplicationTaskOutput {
8500	s.ReplicationTask = v
8501	return s
8502}
8503
8504type DescribeAccountAttributesInput struct {
8505	_ struct{} `type:"structure"`
8506}
8507
8508// String returns the string representation.
8509//
8510// API parameter values that are decorated as "sensitive" in the API will not
8511// be included in the string output. The member name will be present, but the
8512// value will be replaced with "sensitive".
8513func (s DescribeAccountAttributesInput) String() string {
8514	return awsutil.Prettify(s)
8515}
8516
8517// GoString returns the string representation.
8518//
8519// API parameter values that are decorated as "sensitive" in the API will not
8520// be included in the string output. The member name will be present, but the
8521// value will be replaced with "sensitive".
8522func (s DescribeAccountAttributesInput) GoString() string {
8523	return s.String()
8524}
8525
8526type DescribeAccountAttributesOutput struct {
8527	_ struct{} `type:"structure"`
8528
8529	// Account quota information.
8530	AccountQuotas []*AccountQuota `type:"list"`
8531
8532	// A unique DMS identifier for an account in a particular Amazon Web Services
8533	// Region. The value of this identifier has the following format: c99999999999.
8534	// DMS uses this identifier to name artifacts. For example, DMS uses this identifier
8535	// to name the default Amazon S3 bucket for storing task assessment reports
8536	// in a given Amazon Web Services Region. The format of this S3 bucket name
8537	// is the following: dms-AccountNumber-UniqueAccountIdentifier. Here is an example
8538	// name for this default S3 bucket: dms-111122223333-c44445555666.
8539	//
8540	// DMS supports the UniqueAccountIdentifier parameter in versions 3.1.4 and
8541	// later.
8542	UniqueAccountIdentifier *string `type:"string"`
8543}
8544
8545// String returns the string representation.
8546//
8547// API parameter values that are decorated as "sensitive" in the API will not
8548// be included in the string output. The member name will be present, but the
8549// value will be replaced with "sensitive".
8550func (s DescribeAccountAttributesOutput) String() string {
8551	return awsutil.Prettify(s)
8552}
8553
8554// GoString returns the string representation.
8555//
8556// API parameter values that are decorated as "sensitive" in the API will not
8557// be included in the string output. The member name will be present, but the
8558// value will be replaced with "sensitive".
8559func (s DescribeAccountAttributesOutput) GoString() string {
8560	return s.String()
8561}
8562
8563// SetAccountQuotas sets the AccountQuotas field's value.
8564func (s *DescribeAccountAttributesOutput) SetAccountQuotas(v []*AccountQuota) *DescribeAccountAttributesOutput {
8565	s.AccountQuotas = v
8566	return s
8567}
8568
8569// SetUniqueAccountIdentifier sets the UniqueAccountIdentifier field's value.
8570func (s *DescribeAccountAttributesOutput) SetUniqueAccountIdentifier(v string) *DescribeAccountAttributesOutput {
8571	s.UniqueAccountIdentifier = &v
8572	return s
8573}
8574
8575type DescribeApplicableIndividualAssessmentsInput struct {
8576	_ struct{} `type:"structure"`
8577
8578	// Optional pagination token provided by a previous request. If this parameter
8579	// is specified, the response includes only records beyond the marker, up to
8580	// the value specified by MaxRecords.
8581	Marker *string `type:"string"`
8582
8583	// Maximum number of records to include in the response. If more records exist
8584	// than the specified MaxRecords value, a pagination token called a marker is
8585	// included in the response so that the remaining results can be retrieved.
8586	MaxRecords *int64 `type:"integer"`
8587
8588	// Name of the migration type that each provided individual assessment must
8589	// support.
8590	MigrationType *string `type:"string" enum:"MigrationTypeValue"`
8591
8592	// ARN of a replication instance on which you want to base the default list
8593	// of individual assessments.
8594	ReplicationInstanceArn *string `type:"string"`
8595
8596	// Amazon Resource Name (ARN) of a migration task on which you want to base
8597	// the default list of individual assessments.
8598	ReplicationTaskArn *string `type:"string"`
8599
8600	// Name of a database engine that the specified replication instance supports
8601	// as a source.
8602	SourceEngineName *string `type:"string"`
8603
8604	// Name of a database engine that the specified replication instance supports
8605	// as a target.
8606	TargetEngineName *string `type:"string"`
8607}
8608
8609// String returns the string representation.
8610//
8611// API parameter values that are decorated as "sensitive" in the API will not
8612// be included in the string output. The member name will be present, but the
8613// value will be replaced with "sensitive".
8614func (s DescribeApplicableIndividualAssessmentsInput) String() string {
8615	return awsutil.Prettify(s)
8616}
8617
8618// GoString returns the string representation.
8619//
8620// API parameter values that are decorated as "sensitive" in the API will not
8621// be included in the string output. The member name will be present, but the
8622// value will be replaced with "sensitive".
8623func (s DescribeApplicableIndividualAssessmentsInput) GoString() string {
8624	return s.String()
8625}
8626
8627// SetMarker sets the Marker field's value.
8628func (s *DescribeApplicableIndividualAssessmentsInput) SetMarker(v string) *DescribeApplicableIndividualAssessmentsInput {
8629	s.Marker = &v
8630	return s
8631}
8632
8633// SetMaxRecords sets the MaxRecords field's value.
8634func (s *DescribeApplicableIndividualAssessmentsInput) SetMaxRecords(v int64) *DescribeApplicableIndividualAssessmentsInput {
8635	s.MaxRecords = &v
8636	return s
8637}
8638
8639// SetMigrationType sets the MigrationType field's value.
8640func (s *DescribeApplicableIndividualAssessmentsInput) SetMigrationType(v string) *DescribeApplicableIndividualAssessmentsInput {
8641	s.MigrationType = &v
8642	return s
8643}
8644
8645// SetReplicationInstanceArn sets the ReplicationInstanceArn field's value.
8646func (s *DescribeApplicableIndividualAssessmentsInput) SetReplicationInstanceArn(v string) *DescribeApplicableIndividualAssessmentsInput {
8647	s.ReplicationInstanceArn = &v
8648	return s
8649}
8650
8651// SetReplicationTaskArn sets the ReplicationTaskArn field's value.
8652func (s *DescribeApplicableIndividualAssessmentsInput) SetReplicationTaskArn(v string) *DescribeApplicableIndividualAssessmentsInput {
8653	s.ReplicationTaskArn = &v
8654	return s
8655}
8656
8657// SetSourceEngineName sets the SourceEngineName field's value.
8658func (s *DescribeApplicableIndividualAssessmentsInput) SetSourceEngineName(v string) *DescribeApplicableIndividualAssessmentsInput {
8659	s.SourceEngineName = &v
8660	return s
8661}
8662
8663// SetTargetEngineName sets the TargetEngineName field's value.
8664func (s *DescribeApplicableIndividualAssessmentsInput) SetTargetEngineName(v string) *DescribeApplicableIndividualAssessmentsInput {
8665	s.TargetEngineName = &v
8666	return s
8667}
8668
8669type DescribeApplicableIndividualAssessmentsOutput struct {
8670	_ struct{} `type:"structure"`
8671
8672	// List of names for the individual assessments supported by the premigration
8673	// assessment run that you start based on the specified request parameters.
8674	// For more information on the available individual assessments, including compatibility
8675	// with different migration task configurations, see Working with premigration
8676	// assessment runs (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.AssessmentReport.html)
8677	// in the Database Migration Service User Guide.
8678	IndividualAssessmentNames []*string `type:"list"`
8679
8680	// Pagination token returned for you to pass to a subsequent request. If you
8681	// pass this token as the Marker value in a subsequent request, the response
8682	// includes only records beyond the marker, up to the value specified in the
8683	// request by MaxRecords.
8684	Marker *string `type:"string"`
8685}
8686
8687// String returns the string representation.
8688//
8689// API parameter values that are decorated as "sensitive" in the API will not
8690// be included in the string output. The member name will be present, but the
8691// value will be replaced with "sensitive".
8692func (s DescribeApplicableIndividualAssessmentsOutput) String() string {
8693	return awsutil.Prettify(s)
8694}
8695
8696// GoString returns the string representation.
8697//
8698// API parameter values that are decorated as "sensitive" in the API will not
8699// be included in the string output. The member name will be present, but the
8700// value will be replaced with "sensitive".
8701func (s DescribeApplicableIndividualAssessmentsOutput) GoString() string {
8702	return s.String()
8703}
8704
8705// SetIndividualAssessmentNames sets the IndividualAssessmentNames field's value.
8706func (s *DescribeApplicableIndividualAssessmentsOutput) SetIndividualAssessmentNames(v []*string) *DescribeApplicableIndividualAssessmentsOutput {
8707	s.IndividualAssessmentNames = v
8708	return s
8709}
8710
8711// SetMarker sets the Marker field's value.
8712func (s *DescribeApplicableIndividualAssessmentsOutput) SetMarker(v string) *DescribeApplicableIndividualAssessmentsOutput {
8713	s.Marker = &v
8714	return s
8715}
8716
8717type DescribeCertificatesInput struct {
8718	_ struct{} `type:"structure"`
8719
8720	// Filters applied to the certificates described in the form of key-value pairs.
8721	Filters []*Filter `type:"list"`
8722
8723	// An optional pagination token provided by a previous request. If this parameter
8724	// is specified, the response includes only records beyond the marker, up to
8725	// the value specified by MaxRecords.
8726	Marker *string `type:"string"`
8727
8728	// The maximum number of records to include in the response. If more records
8729	// exist than the specified MaxRecords value, a pagination token called a marker
8730	// is included in the response so that the remaining results can be retrieved.
8731	//
8732	// Default: 10
8733	MaxRecords *int64 `type:"integer"`
8734}
8735
8736// String returns the string representation.
8737//
8738// API parameter values that are decorated as "sensitive" in the API will not
8739// be included in the string output. The member name will be present, but the
8740// value will be replaced with "sensitive".
8741func (s DescribeCertificatesInput) String() string {
8742	return awsutil.Prettify(s)
8743}
8744
8745// GoString returns the string representation.
8746//
8747// API parameter values that are decorated as "sensitive" in the API will not
8748// be included in the string output. The member name will be present, but the
8749// value will be replaced with "sensitive".
8750func (s DescribeCertificatesInput) GoString() string {
8751	return s.String()
8752}
8753
8754// Validate inspects the fields of the type to determine if they are valid.
8755func (s *DescribeCertificatesInput) Validate() error {
8756	invalidParams := request.ErrInvalidParams{Context: "DescribeCertificatesInput"}
8757	if s.Filters != nil {
8758		for i, v := range s.Filters {
8759			if v == nil {
8760				continue
8761			}
8762			if err := v.Validate(); err != nil {
8763				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8764			}
8765		}
8766	}
8767
8768	if invalidParams.Len() > 0 {
8769		return invalidParams
8770	}
8771	return nil
8772}
8773
8774// SetFilters sets the Filters field's value.
8775func (s *DescribeCertificatesInput) SetFilters(v []*Filter) *DescribeCertificatesInput {
8776	s.Filters = v
8777	return s
8778}
8779
8780// SetMarker sets the Marker field's value.
8781func (s *DescribeCertificatesInput) SetMarker(v string) *DescribeCertificatesInput {
8782	s.Marker = &v
8783	return s
8784}
8785
8786// SetMaxRecords sets the MaxRecords field's value.
8787func (s *DescribeCertificatesInput) SetMaxRecords(v int64) *DescribeCertificatesInput {
8788	s.MaxRecords = &v
8789	return s
8790}
8791
8792type DescribeCertificatesOutput struct {
8793	_ struct{} `type:"structure"`
8794
8795	// The Secure Sockets Layer (SSL) certificates associated with the replication
8796	// instance.
8797	Certificates []*Certificate `type:"list"`
8798
8799	// The pagination token.
8800	Marker *string `type:"string"`
8801}
8802
8803// String returns the string representation.
8804//
8805// API parameter values that are decorated as "sensitive" in the API will not
8806// be included in the string output. The member name will be present, but the
8807// value will be replaced with "sensitive".
8808func (s DescribeCertificatesOutput) String() string {
8809	return awsutil.Prettify(s)
8810}
8811
8812// GoString returns the string representation.
8813//
8814// API parameter values that are decorated as "sensitive" in the API will not
8815// be included in the string output. The member name will be present, but the
8816// value will be replaced with "sensitive".
8817func (s DescribeCertificatesOutput) GoString() string {
8818	return s.String()
8819}
8820
8821// SetCertificates sets the Certificates field's value.
8822func (s *DescribeCertificatesOutput) SetCertificates(v []*Certificate) *DescribeCertificatesOutput {
8823	s.Certificates = v
8824	return s
8825}
8826
8827// SetMarker sets the Marker field's value.
8828func (s *DescribeCertificatesOutput) SetMarker(v string) *DescribeCertificatesOutput {
8829	s.Marker = &v
8830	return s
8831}
8832
8833type DescribeConnectionsInput struct {
8834	_ struct{} `type:"structure"`
8835
8836	// The filters applied to the connection.
8837	//
8838	// Valid filter names: endpoint-arn | replication-instance-arn
8839	Filters []*Filter `type:"list"`
8840
8841	// An optional pagination token provided by a previous request. If this parameter
8842	// is specified, the response includes only records beyond the marker, up to
8843	// the value specified by MaxRecords.
8844	Marker *string `type:"string"`
8845
8846	// The maximum number of records to include in the response. If more records
8847	// exist than the specified MaxRecords value, a pagination token called a marker
8848	// is included in the response so that the remaining results can be retrieved.
8849	//
8850	// Default: 100
8851	//
8852	// Constraints: Minimum 20, maximum 100.
8853	MaxRecords *int64 `type:"integer"`
8854}
8855
8856// String returns the string representation.
8857//
8858// API parameter values that are decorated as "sensitive" in the API will not
8859// be included in the string output. The member name will be present, but the
8860// value will be replaced with "sensitive".
8861func (s DescribeConnectionsInput) String() string {
8862	return awsutil.Prettify(s)
8863}
8864
8865// GoString returns the string representation.
8866//
8867// API parameter values that are decorated as "sensitive" in the API will not
8868// be included in the string output. The member name will be present, but the
8869// value will be replaced with "sensitive".
8870func (s DescribeConnectionsInput) GoString() string {
8871	return s.String()
8872}
8873
8874// Validate inspects the fields of the type to determine if they are valid.
8875func (s *DescribeConnectionsInput) Validate() error {
8876	invalidParams := request.ErrInvalidParams{Context: "DescribeConnectionsInput"}
8877	if s.Filters != nil {
8878		for i, v := range s.Filters {
8879			if v == nil {
8880				continue
8881			}
8882			if err := v.Validate(); err != nil {
8883				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8884			}
8885		}
8886	}
8887
8888	if invalidParams.Len() > 0 {
8889		return invalidParams
8890	}
8891	return nil
8892}
8893
8894// SetFilters sets the Filters field's value.
8895func (s *DescribeConnectionsInput) SetFilters(v []*Filter) *DescribeConnectionsInput {
8896	s.Filters = v
8897	return s
8898}
8899
8900// SetMarker sets the Marker field's value.
8901func (s *DescribeConnectionsInput) SetMarker(v string) *DescribeConnectionsInput {
8902	s.Marker = &v
8903	return s
8904}
8905
8906// SetMaxRecords sets the MaxRecords field's value.
8907func (s *DescribeConnectionsInput) SetMaxRecords(v int64) *DescribeConnectionsInput {
8908	s.MaxRecords = &v
8909	return s
8910}
8911
8912type DescribeConnectionsOutput struct {
8913	_ struct{} `type:"structure"`
8914
8915	// A description of the connections.
8916	Connections []*Connection `type:"list"`
8917
8918	// An optional pagination token provided by a previous request. If this parameter
8919	// is specified, the response includes only records beyond the marker, up to
8920	// the value specified by MaxRecords.
8921	Marker *string `type:"string"`
8922}
8923
8924// String returns the string representation.
8925//
8926// API parameter values that are decorated as "sensitive" in the API will not
8927// be included in the string output. The member name will be present, but the
8928// value will be replaced with "sensitive".
8929func (s DescribeConnectionsOutput) String() string {
8930	return awsutil.Prettify(s)
8931}
8932
8933// GoString returns the string representation.
8934//
8935// API parameter values that are decorated as "sensitive" in the API will not
8936// be included in the string output. The member name will be present, but the
8937// value will be replaced with "sensitive".
8938func (s DescribeConnectionsOutput) GoString() string {
8939	return s.String()
8940}
8941
8942// SetConnections sets the Connections field's value.
8943func (s *DescribeConnectionsOutput) SetConnections(v []*Connection) *DescribeConnectionsOutput {
8944	s.Connections = v
8945	return s
8946}
8947
8948// SetMarker sets the Marker field's value.
8949func (s *DescribeConnectionsOutput) SetMarker(v string) *DescribeConnectionsOutput {
8950	s.Marker = &v
8951	return s
8952}
8953
8954type DescribeEndpointSettingsInput struct {
8955	_ struct{} `type:"structure"`
8956
8957	// The databse engine used for your source or target endpoint.
8958	//
8959	// EngineName is a required field
8960	EngineName *string `type:"string" required:"true"`
8961
8962	// An optional pagination token provided by a previous request. If this parameter
8963	// is specified, the response includes only records beyond the marker, up to
8964	// the value specified by MaxRecords.
8965	Marker *string `type:"string"`
8966
8967	// The maximum number of records to include in the response. If more records
8968	// exist than the specified MaxRecords value, a pagination token called a marker
8969	// is included in the response so that the remaining results can be retrieved.
8970	MaxRecords *int64 `type:"integer"`
8971}
8972
8973// String returns the string representation.
8974//
8975// API parameter values that are decorated as "sensitive" in the API will not
8976// be included in the string output. The member name will be present, but the
8977// value will be replaced with "sensitive".
8978func (s DescribeEndpointSettingsInput) String() string {
8979	return awsutil.Prettify(s)
8980}
8981
8982// GoString returns the string representation.
8983//
8984// API parameter values that are decorated as "sensitive" in the API will not
8985// be included in the string output. The member name will be present, but the
8986// value will be replaced with "sensitive".
8987func (s DescribeEndpointSettingsInput) GoString() string {
8988	return s.String()
8989}
8990
8991// Validate inspects the fields of the type to determine if they are valid.
8992func (s *DescribeEndpointSettingsInput) Validate() error {
8993	invalidParams := request.ErrInvalidParams{Context: "DescribeEndpointSettingsInput"}
8994	if s.EngineName == nil {
8995		invalidParams.Add(request.NewErrParamRequired("EngineName"))
8996	}
8997
8998	if invalidParams.Len() > 0 {
8999		return invalidParams
9000	}
9001	return nil
9002}
9003
9004// SetEngineName sets the EngineName field's value.
9005func (s *DescribeEndpointSettingsInput) SetEngineName(v string) *DescribeEndpointSettingsInput {
9006	s.EngineName = &v
9007	return s
9008}
9009
9010// SetMarker sets the Marker field's value.
9011func (s *DescribeEndpointSettingsInput) SetMarker(v string) *DescribeEndpointSettingsInput {
9012	s.Marker = &v
9013	return s
9014}
9015
9016// SetMaxRecords sets the MaxRecords field's value.
9017func (s *DescribeEndpointSettingsInput) SetMaxRecords(v int64) *DescribeEndpointSettingsInput {
9018	s.MaxRecords = &v
9019	return s
9020}
9021
9022type DescribeEndpointSettingsOutput struct {
9023	_ struct{} `type:"structure"`
9024
9025	// Descriptions of the endpoint settings available for your source or target
9026	// database engine.
9027	EndpointSettings []*EndpointSetting `type:"list"`
9028
9029	// An optional pagination token provided by a previous request. If this parameter
9030	// is specified, the response includes only records beyond the marker, up to
9031	// the value specified by MaxRecords.
9032	Marker *string `type:"string"`
9033}
9034
9035// String returns the string representation.
9036//
9037// API parameter values that are decorated as "sensitive" in the API will not
9038// be included in the string output. The member name will be present, but the
9039// value will be replaced with "sensitive".
9040func (s DescribeEndpointSettingsOutput) String() string {
9041	return awsutil.Prettify(s)
9042}
9043
9044// GoString returns the string representation.
9045//
9046// API parameter values that are decorated as "sensitive" in the API will not
9047// be included in the string output. The member name will be present, but the
9048// value will be replaced with "sensitive".
9049func (s DescribeEndpointSettingsOutput) GoString() string {
9050	return s.String()
9051}
9052
9053// SetEndpointSettings sets the EndpointSettings field's value.
9054func (s *DescribeEndpointSettingsOutput) SetEndpointSettings(v []*EndpointSetting) *DescribeEndpointSettingsOutput {
9055	s.EndpointSettings = v
9056	return s
9057}
9058
9059// SetMarker sets the Marker field's value.
9060func (s *DescribeEndpointSettingsOutput) SetMarker(v string) *DescribeEndpointSettingsOutput {
9061	s.Marker = &v
9062	return s
9063}
9064
9065type DescribeEndpointTypesInput struct {
9066	_ struct{} `type:"structure"`
9067
9068	// Filters applied to the endpoint types.
9069	//
9070	// Valid filter names: engine-name | endpoint-type
9071	Filters []*Filter `type:"list"`
9072
9073	// An optional pagination token provided by a previous request. If this parameter
9074	// is specified, the response includes only records beyond the marker, up to
9075	// the value specified by MaxRecords.
9076	Marker *string `type:"string"`
9077
9078	// The maximum number of records to include in the response. If more records
9079	// exist than the specified MaxRecords value, a pagination token called a marker
9080	// is included in the response so that the remaining results can be retrieved.
9081	//
9082	// Default: 100
9083	//
9084	// Constraints: Minimum 20, maximum 100.
9085	MaxRecords *int64 `type:"integer"`
9086}
9087
9088// String returns the string representation.
9089//
9090// API parameter values that are decorated as "sensitive" in the API will not
9091// be included in the string output. The member name will be present, but the
9092// value will be replaced with "sensitive".
9093func (s DescribeEndpointTypesInput) String() string {
9094	return awsutil.Prettify(s)
9095}
9096
9097// GoString returns the string representation.
9098//
9099// API parameter values that are decorated as "sensitive" in the API will not
9100// be included in the string output. The member name will be present, but the
9101// value will be replaced with "sensitive".
9102func (s DescribeEndpointTypesInput) GoString() string {
9103	return s.String()
9104}
9105
9106// Validate inspects the fields of the type to determine if they are valid.
9107func (s *DescribeEndpointTypesInput) Validate() error {
9108	invalidParams := request.ErrInvalidParams{Context: "DescribeEndpointTypesInput"}
9109	if s.Filters != nil {
9110		for i, v := range s.Filters {
9111			if v == nil {
9112				continue
9113			}
9114			if err := v.Validate(); err != nil {
9115				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9116			}
9117		}
9118	}
9119
9120	if invalidParams.Len() > 0 {
9121		return invalidParams
9122	}
9123	return nil
9124}
9125
9126// SetFilters sets the Filters field's value.
9127func (s *DescribeEndpointTypesInput) SetFilters(v []*Filter) *DescribeEndpointTypesInput {
9128	s.Filters = v
9129	return s
9130}
9131
9132// SetMarker sets the Marker field's value.
9133func (s *DescribeEndpointTypesInput) SetMarker(v string) *DescribeEndpointTypesInput {
9134	s.Marker = &v
9135	return s
9136}
9137
9138// SetMaxRecords sets the MaxRecords field's value.
9139func (s *DescribeEndpointTypesInput) SetMaxRecords(v int64) *DescribeEndpointTypesInput {
9140	s.MaxRecords = &v
9141	return s
9142}
9143
9144type DescribeEndpointTypesOutput struct {
9145	_ struct{} `type:"structure"`
9146
9147	// An optional pagination token provided by a previous request. If this parameter
9148	// is specified, the response includes only records beyond the marker, up to
9149	// the value specified by MaxRecords.
9150	Marker *string `type:"string"`
9151
9152	// The types of endpoints that are supported.
9153	SupportedEndpointTypes []*SupportedEndpointType `type:"list"`
9154}
9155
9156// String returns the string representation.
9157//
9158// API parameter values that are decorated as "sensitive" in the API will not
9159// be included in the string output. The member name will be present, but the
9160// value will be replaced with "sensitive".
9161func (s DescribeEndpointTypesOutput) String() string {
9162	return awsutil.Prettify(s)
9163}
9164
9165// GoString returns the string representation.
9166//
9167// API parameter values that are decorated as "sensitive" in the API will not
9168// be included in the string output. The member name will be present, but the
9169// value will be replaced with "sensitive".
9170func (s DescribeEndpointTypesOutput) GoString() string {
9171	return s.String()
9172}
9173
9174// SetMarker sets the Marker field's value.
9175func (s *DescribeEndpointTypesOutput) SetMarker(v string) *DescribeEndpointTypesOutput {
9176	s.Marker = &v
9177	return s
9178}
9179
9180// SetSupportedEndpointTypes sets the SupportedEndpointTypes field's value.
9181func (s *DescribeEndpointTypesOutput) SetSupportedEndpointTypes(v []*SupportedEndpointType) *DescribeEndpointTypesOutput {
9182	s.SupportedEndpointTypes = v
9183	return s
9184}
9185
9186type DescribeEndpointsInput struct {
9187	_ struct{} `type:"structure"`
9188
9189	// Filters applied to the endpoints.
9190	//
9191	// Valid filter names: endpoint-arn | endpoint-type | endpoint-id | engine-name
9192	Filters []*Filter `type:"list"`
9193
9194	// An optional pagination token provided by a previous request. If this parameter
9195	// is specified, the response includes only records beyond the marker, up to
9196	// the value specified by MaxRecords.
9197	Marker *string `type:"string"`
9198
9199	// The maximum number of records to include in the response. If more records
9200	// exist than the specified MaxRecords value, a pagination token called a marker
9201	// is included in the response so that the remaining results can be retrieved.
9202	//
9203	// Default: 100
9204	//
9205	// Constraints: Minimum 20, maximum 100.
9206	MaxRecords *int64 `type:"integer"`
9207}
9208
9209// String returns the string representation.
9210//
9211// API parameter values that are decorated as "sensitive" in the API will not
9212// be included in the string output. The member name will be present, but the
9213// value will be replaced with "sensitive".
9214func (s DescribeEndpointsInput) String() string {
9215	return awsutil.Prettify(s)
9216}
9217
9218// GoString returns the string representation.
9219//
9220// API parameter values that are decorated as "sensitive" in the API will not
9221// be included in the string output. The member name will be present, but the
9222// value will be replaced with "sensitive".
9223func (s DescribeEndpointsInput) GoString() string {
9224	return s.String()
9225}
9226
9227// Validate inspects the fields of the type to determine if they are valid.
9228func (s *DescribeEndpointsInput) Validate() error {
9229	invalidParams := request.ErrInvalidParams{Context: "DescribeEndpointsInput"}
9230	if s.Filters != nil {
9231		for i, v := range s.Filters {
9232			if v == nil {
9233				continue
9234			}
9235			if err := v.Validate(); err != nil {
9236				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9237			}
9238		}
9239	}
9240
9241	if invalidParams.Len() > 0 {
9242		return invalidParams
9243	}
9244	return nil
9245}
9246
9247// SetFilters sets the Filters field's value.
9248func (s *DescribeEndpointsInput) SetFilters(v []*Filter) *DescribeEndpointsInput {
9249	s.Filters = v
9250	return s
9251}
9252
9253// SetMarker sets the Marker field's value.
9254func (s *DescribeEndpointsInput) SetMarker(v string) *DescribeEndpointsInput {
9255	s.Marker = &v
9256	return s
9257}
9258
9259// SetMaxRecords sets the MaxRecords field's value.
9260func (s *DescribeEndpointsInput) SetMaxRecords(v int64) *DescribeEndpointsInput {
9261	s.MaxRecords = &v
9262	return s
9263}
9264
9265type DescribeEndpointsOutput struct {
9266	_ struct{} `type:"structure"`
9267
9268	// Endpoint description.
9269	Endpoints []*Endpoint `type:"list"`
9270
9271	// An optional pagination token provided by a previous request. If this parameter
9272	// is specified, the response includes only records beyond the marker, up to
9273	// the value specified by MaxRecords.
9274	Marker *string `type:"string"`
9275}
9276
9277// String returns the string representation.
9278//
9279// API parameter values that are decorated as "sensitive" in the API will not
9280// be included in the string output. The member name will be present, but the
9281// value will be replaced with "sensitive".
9282func (s DescribeEndpointsOutput) String() string {
9283	return awsutil.Prettify(s)
9284}
9285
9286// GoString returns the string representation.
9287//
9288// API parameter values that are decorated as "sensitive" in the API will not
9289// be included in the string output. The member name will be present, but the
9290// value will be replaced with "sensitive".
9291func (s DescribeEndpointsOutput) GoString() string {
9292	return s.String()
9293}
9294
9295// SetEndpoints sets the Endpoints field's value.
9296func (s *DescribeEndpointsOutput) SetEndpoints(v []*Endpoint) *DescribeEndpointsOutput {
9297	s.Endpoints = v
9298	return s
9299}
9300
9301// SetMarker sets the Marker field's value.
9302func (s *DescribeEndpointsOutput) SetMarker(v string) *DescribeEndpointsOutput {
9303	s.Marker = &v
9304	return s
9305}
9306
9307type DescribeEventCategoriesInput struct {
9308	_ struct{} `type:"structure"`
9309
9310	// Filters applied to the event categories.
9311	Filters []*Filter `type:"list"`
9312
9313	// The type of DMS resource that generates events.
9314	//
9315	// Valid values: replication-instance | replication-task
9316	SourceType *string `type:"string"`
9317}
9318
9319// String returns the string representation.
9320//
9321// API parameter values that are decorated as "sensitive" in the API will not
9322// be included in the string output. The member name will be present, but the
9323// value will be replaced with "sensitive".
9324func (s DescribeEventCategoriesInput) String() string {
9325	return awsutil.Prettify(s)
9326}
9327
9328// GoString returns the string representation.
9329//
9330// API parameter values that are decorated as "sensitive" in the API will not
9331// be included in the string output. The member name will be present, but the
9332// value will be replaced with "sensitive".
9333func (s DescribeEventCategoriesInput) GoString() string {
9334	return s.String()
9335}
9336
9337// Validate inspects the fields of the type to determine if they are valid.
9338func (s *DescribeEventCategoriesInput) Validate() error {
9339	invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"}
9340	if s.Filters != nil {
9341		for i, v := range s.Filters {
9342			if v == nil {
9343				continue
9344			}
9345			if err := v.Validate(); err != nil {
9346				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9347			}
9348		}
9349	}
9350
9351	if invalidParams.Len() > 0 {
9352		return invalidParams
9353	}
9354	return nil
9355}
9356
9357// SetFilters sets the Filters field's value.
9358func (s *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput {
9359	s.Filters = v
9360	return s
9361}
9362
9363// SetSourceType sets the SourceType field's value.
9364func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput {
9365	s.SourceType = &v
9366	return s
9367}
9368
9369type DescribeEventCategoriesOutput struct {
9370	_ struct{} `type:"structure"`
9371
9372	// A list of event categories.
9373	EventCategoryGroupList []*EventCategoryGroup `type:"list"`
9374}
9375
9376// String returns the string representation.
9377//
9378// API parameter values that are decorated as "sensitive" in the API will not
9379// be included in the string output. The member name will be present, but the
9380// value will be replaced with "sensitive".
9381func (s DescribeEventCategoriesOutput) String() string {
9382	return awsutil.Prettify(s)
9383}
9384
9385// GoString returns the string representation.
9386//
9387// API parameter values that are decorated as "sensitive" in the API will not
9388// be included in the string output. The member name will be present, but the
9389// value will be replaced with "sensitive".
9390func (s DescribeEventCategoriesOutput) GoString() string {
9391	return s.String()
9392}
9393
9394// SetEventCategoryGroupList sets the EventCategoryGroupList field's value.
9395func (s *DescribeEventCategoriesOutput) SetEventCategoryGroupList(v []*EventCategoryGroup) *DescribeEventCategoriesOutput {
9396	s.EventCategoryGroupList = v
9397	return s
9398}
9399
9400type DescribeEventSubscriptionsInput struct {
9401	_ struct{} `type:"structure"`
9402
9403	// Filters applied to event subscriptions.
9404	Filters []*Filter `type:"list"`
9405
9406	// An optional pagination token provided by a previous request. If this parameter
9407	// is specified, the response includes only records beyond the marker, up to
9408	// the value specified by MaxRecords.
9409	Marker *string `type:"string"`
9410
9411	// The maximum number of records to include in the response. If more records
9412	// exist than the specified MaxRecords value, a pagination token called a marker
9413	// is included in the response so that the remaining results can be retrieved.
9414	//
9415	// Default: 100
9416	//
9417	// Constraints: Minimum 20, maximum 100.
9418	MaxRecords *int64 `type:"integer"`
9419
9420	// The name of the DMS event subscription to be described.
9421	SubscriptionName *string `type:"string"`
9422}
9423
9424// String returns the string representation.
9425//
9426// API parameter values that are decorated as "sensitive" in the API will not
9427// be included in the string output. The member name will be present, but the
9428// value will be replaced with "sensitive".
9429func (s DescribeEventSubscriptionsInput) String() string {
9430	return awsutil.Prettify(s)
9431}
9432
9433// GoString returns the string representation.
9434//
9435// API parameter values that are decorated as "sensitive" in the API will not
9436// be included in the string output. The member name will be present, but the
9437// value will be replaced with "sensitive".
9438func (s DescribeEventSubscriptionsInput) GoString() string {
9439	return s.String()
9440}
9441
9442// Validate inspects the fields of the type to determine if they are valid.
9443func (s *DescribeEventSubscriptionsInput) Validate() error {
9444	invalidParams := request.ErrInvalidParams{Context: "DescribeEventSubscriptionsInput"}
9445	if s.Filters != nil {
9446		for i, v := range s.Filters {
9447			if v == nil {
9448				continue
9449			}
9450			if err := v.Validate(); err != nil {
9451				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9452			}
9453		}
9454	}
9455
9456	if invalidParams.Len() > 0 {
9457		return invalidParams
9458	}
9459	return nil
9460}
9461
9462// SetFilters sets the Filters field's value.
9463func (s *DescribeEventSubscriptionsInput) SetFilters(v []*Filter) *DescribeEventSubscriptionsInput {
9464	s.Filters = v
9465	return s
9466}
9467
9468// SetMarker sets the Marker field's value.
9469func (s *DescribeEventSubscriptionsInput) SetMarker(v string) *DescribeEventSubscriptionsInput {
9470	s.Marker = &v
9471	return s
9472}
9473
9474// SetMaxRecords sets the MaxRecords field's value.
9475func (s *DescribeEventSubscriptionsInput) SetMaxRecords(v int64) *DescribeEventSubscriptionsInput {
9476	s.MaxRecords = &v
9477	return s
9478}
9479
9480// SetSubscriptionName sets the SubscriptionName field's value.
9481func (s *DescribeEventSubscriptionsInput) SetSubscriptionName(v string) *DescribeEventSubscriptionsInput {
9482	s.SubscriptionName = &v
9483	return s
9484}
9485
9486type DescribeEventSubscriptionsOutput struct {
9487	_ struct{} `type:"structure"`
9488
9489	// A list of event subscriptions.
9490	EventSubscriptionsList []*EventSubscription `type:"list"`
9491
9492	// An optional pagination token provided by a previous request. If this parameter
9493	// is specified, the response includes only records beyond the marker, up to
9494	// the value specified by MaxRecords.
9495	Marker *string `type:"string"`
9496}
9497
9498// String returns the string representation.
9499//
9500// API parameter values that are decorated as "sensitive" in the API will not
9501// be included in the string output. The member name will be present, but the
9502// value will be replaced with "sensitive".
9503func (s DescribeEventSubscriptionsOutput) String() string {
9504	return awsutil.Prettify(s)
9505}
9506
9507// GoString returns the string representation.
9508//
9509// API parameter values that are decorated as "sensitive" in the API will not
9510// be included in the string output. The member name will be present, but the
9511// value will be replaced with "sensitive".
9512func (s DescribeEventSubscriptionsOutput) GoString() string {
9513	return s.String()
9514}
9515
9516// SetEventSubscriptionsList sets the EventSubscriptionsList field's value.
9517func (s *DescribeEventSubscriptionsOutput) SetEventSubscriptionsList(v []*EventSubscription) *DescribeEventSubscriptionsOutput {
9518	s.EventSubscriptionsList = v
9519	return s
9520}
9521
9522// SetMarker sets the Marker field's value.
9523func (s *DescribeEventSubscriptionsOutput) SetMarker(v string) *DescribeEventSubscriptionsOutput {
9524	s.Marker = &v
9525	return s
9526}
9527
9528type DescribeEventsInput struct {
9529	_ struct{} `type:"structure"`
9530
9531	// The duration of the events to be listed.
9532	Duration *int64 `type:"integer"`
9533
9534	// The end time for the events to be listed.
9535	EndTime *time.Time `type:"timestamp"`
9536
9537	// A list of event categories for the source type that you've chosen.
9538	EventCategories []*string `type:"list"`
9539
9540	// Filters applied to events.
9541	Filters []*Filter `type:"list"`
9542
9543	// An optional pagination token provided by a previous request. If this parameter
9544	// is specified, the response includes only records beyond the marker, up to
9545	// the value specified by MaxRecords.
9546	Marker *string `type:"string"`
9547
9548	// The maximum number of records to include in the response. If more records
9549	// exist than the specified MaxRecords value, a pagination token called a marker
9550	// is included in the response so that the remaining results can be retrieved.
9551	//
9552	// Default: 100
9553	//
9554	// Constraints: Minimum 20, maximum 100.
9555	MaxRecords *int64 `type:"integer"`
9556
9557	// The identifier of an event source.
9558	SourceIdentifier *string `type:"string"`
9559
9560	// The type of DMS resource that generates events.
9561	//
9562	// Valid values: replication-instance | replication-task
9563	SourceType *string `type:"string" enum:"SourceType"`
9564
9565	// The start time for the events to be listed.
9566	StartTime *time.Time `type:"timestamp"`
9567}
9568
9569// String returns the string representation.
9570//
9571// API parameter values that are decorated as "sensitive" in the API will not
9572// be included in the string output. The member name will be present, but the
9573// value will be replaced with "sensitive".
9574func (s DescribeEventsInput) String() string {
9575	return awsutil.Prettify(s)
9576}
9577
9578// GoString returns the string representation.
9579//
9580// API parameter values that are decorated as "sensitive" in the API will not
9581// be included in the string output. The member name will be present, but the
9582// value will be replaced with "sensitive".
9583func (s DescribeEventsInput) GoString() string {
9584	return s.String()
9585}
9586
9587// Validate inspects the fields of the type to determine if they are valid.
9588func (s *DescribeEventsInput) Validate() error {
9589	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
9590	if s.Filters != nil {
9591		for i, v := range s.Filters {
9592			if v == nil {
9593				continue
9594			}
9595			if err := v.Validate(); err != nil {
9596				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9597			}
9598		}
9599	}
9600
9601	if invalidParams.Len() > 0 {
9602		return invalidParams
9603	}
9604	return nil
9605}
9606
9607// SetDuration sets the Duration field's value.
9608func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
9609	s.Duration = &v
9610	return s
9611}
9612
9613// SetEndTime sets the EndTime field's value.
9614func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
9615	s.EndTime = &v
9616	return s
9617}
9618
9619// SetEventCategories sets the EventCategories field's value.
9620func (s *DescribeEventsInput) SetEventCategories(v []*string) *DescribeEventsInput {
9621	s.EventCategories = v
9622	return s
9623}
9624
9625// SetFilters sets the Filters field's value.
9626func (s *DescribeEventsInput) SetFilters(v []*Filter) *DescribeEventsInput {
9627	s.Filters = v
9628	return s
9629}
9630
9631// SetMarker sets the Marker field's value.
9632func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput {
9633	s.Marker = &v
9634	return s
9635}
9636
9637// SetMaxRecords sets the MaxRecords field's value.
9638func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
9639	s.MaxRecords = &v
9640	return s
9641}
9642
9643// SetSourceIdentifier sets the SourceIdentifier field's value.
9644func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput {
9645	s.SourceIdentifier = &v
9646	return s
9647}
9648
9649// SetSourceType sets the SourceType field's value.
9650func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
9651	s.SourceType = &v
9652	return s
9653}
9654
9655// SetStartTime sets the StartTime field's value.
9656func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
9657	s.StartTime = &v
9658	return s
9659}
9660
9661type DescribeEventsOutput struct {
9662	_ struct{} `type:"structure"`
9663
9664	// The events described.
9665	Events []*Event `type:"list"`
9666
9667	// An optional pagination token provided by a previous request. If this parameter
9668	// is specified, the response includes only records beyond the marker, up to
9669	// the value specified by MaxRecords.
9670	Marker *string `type:"string"`
9671}
9672
9673// String returns the string representation.
9674//
9675// API parameter values that are decorated as "sensitive" in the API will not
9676// be included in the string output. The member name will be present, but the
9677// value will be replaced with "sensitive".
9678func (s DescribeEventsOutput) String() string {
9679	return awsutil.Prettify(s)
9680}
9681
9682// GoString returns the string representation.
9683//
9684// API parameter values that are decorated as "sensitive" in the API will not
9685// be included in the string output. The member name will be present, but the
9686// value will be replaced with "sensitive".
9687func (s DescribeEventsOutput) GoString() string {
9688	return s.String()
9689}
9690
9691// SetEvents sets the Events field's value.
9692func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
9693	s.Events = v
9694	return s
9695}
9696
9697// SetMarker sets the Marker field's value.
9698func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput {
9699	s.Marker = &v
9700	return s
9701}
9702
9703type DescribeOrderableReplicationInstancesInput struct {
9704	_ struct{} `type:"structure"`
9705
9706	// An optional pagination token provided by a previous request. If this parameter
9707	// is specified, the response includes only records beyond the marker, up to
9708	// the value specified by MaxRecords.
9709	Marker *string `type:"string"`
9710
9711	// The maximum number of records to include in the response. If more records
9712	// exist than the specified MaxRecords value, a pagination token called a marker
9713	// is included in the response so that the remaining results can be retrieved.
9714	//
9715	// Default: 100
9716	//
9717	// Constraints: Minimum 20, maximum 100.
9718	MaxRecords *int64 `type:"integer"`
9719}
9720
9721// String returns the string representation.
9722//
9723// API parameter values that are decorated as "sensitive" in the API will not
9724// be included in the string output. The member name will be present, but the
9725// value will be replaced with "sensitive".
9726func (s DescribeOrderableReplicationInstancesInput) String() string {
9727	return awsutil.Prettify(s)
9728}
9729
9730// GoString returns the string representation.
9731//
9732// API parameter values that are decorated as "sensitive" in the API will not
9733// be included in the string output. The member name will be present, but the
9734// value will be replaced with "sensitive".
9735func (s DescribeOrderableReplicationInstancesInput) GoString() string {
9736	return s.String()
9737}
9738
9739// SetMarker sets the Marker field's value.
9740func (s *DescribeOrderableReplicationInstancesInput) SetMarker(v string) *DescribeOrderableReplicationInstancesInput {
9741	s.Marker = &v
9742	return s
9743}
9744
9745// SetMaxRecords sets the MaxRecords field's value.
9746func (s *DescribeOrderableReplicationInstancesInput) SetMaxRecords(v int64) *DescribeOrderableReplicationInstancesInput {
9747	s.MaxRecords = &v
9748	return s
9749}
9750
9751type DescribeOrderableReplicationInstancesOutput struct {
9752	_ struct{} `type:"structure"`
9753
9754	// An optional pagination token provided by a previous request. If this parameter
9755	// is specified, the response includes only records beyond the marker, up to
9756	// the value specified by MaxRecords.
9757	Marker *string `type:"string"`
9758
9759	// The order-able replication instances available.
9760	OrderableReplicationInstances []*OrderableReplicationInstance `type:"list"`
9761}
9762
9763// String returns the string representation.
9764//
9765// API parameter values that are decorated as "sensitive" in the API will not
9766// be included in the string output. The member name will be present, but the
9767// value will be replaced with "sensitive".
9768func (s DescribeOrderableReplicationInstancesOutput) String() string {
9769	return awsutil.Prettify(s)
9770}
9771
9772// GoString returns the string representation.
9773//
9774// API parameter values that are decorated as "sensitive" in the API will not
9775// be included in the string output. The member name will be present, but the
9776// value will be replaced with "sensitive".
9777func (s DescribeOrderableReplicationInstancesOutput) GoString() string {
9778	return s.String()
9779}
9780
9781// SetMarker sets the Marker field's value.
9782func (s *DescribeOrderableReplicationInstancesOutput) SetMarker(v string) *DescribeOrderableReplicationInstancesOutput {
9783	s.Marker = &v
9784	return s
9785}
9786
9787// SetOrderableReplicationInstances sets the OrderableReplicationInstances field's value.
9788func (s *DescribeOrderableReplicationInstancesOutput) SetOrderableReplicationInstances(v []*OrderableReplicationInstance) *DescribeOrderableReplicationInstancesOutput {
9789	s.OrderableReplicationInstances = v
9790	return s
9791}
9792
9793type DescribePendingMaintenanceActionsInput struct {
9794	_ struct{} `type:"structure"`
9795
9796	Filters []*Filter `type:"list"`
9797
9798	// An optional pagination token provided by a previous request. If this parameter
9799	// is specified, the response includes only records beyond the marker, up to
9800	// the value specified by MaxRecords.
9801	Marker *string `type:"string"`
9802
9803	// The maximum number of records to include in the response. If more records
9804	// exist than the specified MaxRecords value, a pagination token called a marker
9805	// is included in the response so that the remaining results can be retrieved.
9806	//
9807	// Default: 100
9808	//
9809	// Constraints: Minimum 20, maximum 100.
9810	MaxRecords *int64 `type:"integer"`
9811
9812	// The Amazon Resource Name (ARN) of the replication instance.
9813	ReplicationInstanceArn *string `type:"string"`
9814}
9815
9816// String returns the string representation.
9817//
9818// API parameter values that are decorated as "sensitive" in the API will not
9819// be included in the string output. The member name will be present, but the
9820// value will be replaced with "sensitive".
9821func (s DescribePendingMaintenanceActionsInput) String() string {
9822	return awsutil.Prettify(s)
9823}
9824
9825// GoString returns the string representation.
9826//
9827// API parameter values that are decorated as "sensitive" in the API will not
9828// be included in the string output. The member name will be present, but the
9829// value will be replaced with "sensitive".
9830func (s DescribePendingMaintenanceActionsInput) GoString() string {
9831	return s.String()
9832}
9833
9834// Validate inspects the fields of the type to determine if they are valid.
9835func (s *DescribePendingMaintenanceActionsInput) Validate() error {
9836	invalidParams := request.ErrInvalidParams{Context: "DescribePendingMaintenanceActionsInput"}
9837	if s.Filters != nil {
9838		for i, v := range s.Filters {
9839			if v == nil {
9840				continue
9841			}
9842			if err := v.Validate(); err != nil {
9843				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9844			}
9845		}
9846	}
9847
9848	if invalidParams.Len() > 0 {
9849		return invalidParams
9850	}
9851	return nil
9852}
9853
9854// SetFilters sets the Filters field's value.
9855func (s *DescribePendingMaintenanceActionsInput) SetFilters(v []*Filter) *DescribePendingMaintenanceActionsInput {
9856	s.Filters = v
9857	return s
9858}
9859
9860// SetMarker sets the Marker field's value.
9861func (s *DescribePendingMaintenanceActionsInput) SetMarker(v string) *DescribePendingMaintenanceActionsInput {
9862	s.Marker = &v
9863	return s
9864}
9865
9866// SetMaxRecords sets the MaxRecords field's value.
9867func (s *DescribePendingMaintenanceActionsInput) SetMaxRecords(v int64) *DescribePendingMaintenanceActionsInput {
9868	s.MaxRecords = &v
9869	return s
9870}
9871
9872// SetReplicationInstanceArn sets the ReplicationInstanceArn field's value.
9873func (s *DescribePendingMaintenanceActionsInput) SetReplicationInstanceArn(v string) *DescribePendingMaintenanceActionsInput {
9874	s.ReplicationInstanceArn = &v
9875	return s
9876}
9877
9878type DescribePendingMaintenanceActionsOutput struct {
9879	_ struct{} `type:"structure"`
9880
9881	// An optional pagination token provided by a previous request. If this parameter
9882	// is specified, the response includes only records beyond the marker, up to
9883	// the value specified by MaxRecords.
9884	Marker *string `type:"string"`
9885
9886	// The pending maintenance action.
9887	PendingMaintenanceActions []*ResourcePendingMaintenanceActions `type:"list"`
9888}
9889
9890// String returns the string representation.
9891//
9892// API parameter values that are decorated as "sensitive" in the API will not
9893// be included in the string output. The member name will be present, but the
9894// value will be replaced with "sensitive".
9895func (s DescribePendingMaintenanceActionsOutput) String() string {
9896	return awsutil.Prettify(s)
9897}
9898
9899// GoString returns the string representation.
9900//
9901// API parameter values that are decorated as "sensitive" in the API will not
9902// be included in the string output. The member name will be present, but the
9903// value will be replaced with "sensitive".
9904func (s DescribePendingMaintenanceActionsOutput) GoString() string {
9905	return s.String()
9906}
9907
9908// SetMarker sets the Marker field's value.
9909func (s *DescribePendingMaintenanceActionsOutput) SetMarker(v string) *DescribePendingMaintenanceActionsOutput {
9910	s.Marker = &v
9911	return s
9912}
9913
9914// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
9915func (s *DescribePendingMaintenanceActionsOutput) SetPendingMaintenanceActions(v []*ResourcePendingMaintenanceActions) *DescribePendingMaintenanceActionsOutput {
9916	s.PendingMaintenanceActions = v
9917	return s
9918}
9919
9920type DescribeRefreshSchemasStatusInput struct {
9921	_ struct{} `type:"structure"`
9922
9923	// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.
9924	//
9925	// EndpointArn is a required field
9926	EndpointArn *string `type:"string" required:"true"`
9927}
9928
9929// String returns the string representation.
9930//
9931// API parameter values that are decorated as "sensitive" in the API will not
9932// be included in the string output. The member name will be present, but the
9933// value will be replaced with "sensitive".
9934func (s DescribeRefreshSchemasStatusInput) String() string {
9935	return awsutil.Prettify(s)
9936}
9937
9938// GoString returns the string representation.
9939//
9940// API parameter values that are decorated as "sensitive" in the API will not
9941// be included in the string output. The member name will be present, but the
9942// value will be replaced with "sensitive".
9943func (s DescribeRefreshSchemasStatusInput) GoString() string {
9944	return s.String()
9945}
9946
9947// Validate inspects the fields of the type to determine if they are valid.
9948func (s *DescribeRefreshSchemasStatusInput) Validate() error {
9949	invalidParams := request.ErrInvalidParams{Context: "DescribeRefreshSchemasStatusInput"}
9950	if s.EndpointArn == nil {
9951		invalidParams.Add(request.NewErrParamRequired("EndpointArn"))
9952	}
9953
9954	if invalidParams.Len() > 0 {
9955		return invalidParams
9956	}
9957	return nil
9958}
9959
9960// SetEndpointArn sets the EndpointArn field's value.
9961func (s *DescribeRefreshSchemasStatusInput) SetEndpointArn(v string) *DescribeRefreshSchemasStatusInput {
9962	s.EndpointArn = &v
9963	return s
9964}
9965
9966type DescribeRefreshSchemasStatusOutput struct {
9967	_ struct{} `type:"structure"`
9968
9969	// The status of the schema.
9970	RefreshSchemasStatus *RefreshSchemasStatus `type:"structure"`
9971}
9972
9973// String returns the string representation.
9974//
9975// API parameter values that are decorated as "sensitive" in the API will not
9976// be included in the string output. The member name will be present, but the
9977// value will be replaced with "sensitive".
9978func (s DescribeRefreshSchemasStatusOutput) String() string {
9979	return awsutil.Prettify(s)
9980}
9981
9982// GoString returns the string representation.
9983//
9984// API parameter values that are decorated as "sensitive" in the API will not
9985// be included in the string output. The member name will be present, but the
9986// value will be replaced with "sensitive".
9987func (s DescribeRefreshSchemasStatusOutput) GoString() string {
9988	return s.String()
9989}
9990
9991// SetRefreshSchemasStatus sets the RefreshSchemasStatus field's value.
9992func (s *DescribeRefreshSchemasStatusOutput) SetRefreshSchemasStatus(v *RefreshSchemasStatus) *DescribeRefreshSchemasStatusOutput {
9993	s.RefreshSchemasStatus = v
9994	return s
9995}
9996
9997type DescribeReplicationInstanceTaskLogsInput struct {
9998	_ struct{} `type:"structure"`
9999
10000	// An optional pagination token provided by a previous request. If this parameter
10001	// is specified, the response includes only records beyond the marker, up to
10002	// the value specified by MaxRecords.
10003	Marker *string `type:"string"`
10004
10005	// The maximum number of records to include in the response. If more records
10006	// exist than the specified MaxRecords value, a pagination token called a marker
10007	// is included in the response so that the remaining results can be retrieved.
10008	//
10009	// Default: 100
10010	//
10011	// Constraints: Minimum 20, maximum 100.
10012	MaxRecords *int64 `type:"integer"`
10013
10014	// The Amazon Resource Name (ARN) of the replication instance.
10015	//
10016	// ReplicationInstanceArn is a required field
10017	ReplicationInstanceArn *string `type:"string" required:"true"`
10018}
10019
10020// String returns the string representation.
10021//
10022// API parameter values that are decorated as "sensitive" in the API will not
10023// be included in the string output. The member name will be present, but the
10024// value will be replaced with "sensitive".
10025func (s DescribeReplicationInstanceTaskLogsInput) String() string {
10026	return awsutil.Prettify(s)
10027}
10028
10029// GoString returns the string representation.
10030//
10031// API parameter values that are decorated as "sensitive" in the API will not
10032// be included in the string output. The member name will be present, but the
10033// value will be replaced with "sensitive".
10034func (s DescribeReplicationInstanceTaskLogsInput) GoString() string {
10035	return s.String()
10036}
10037
10038// Validate inspects the fields of the type to determine if they are valid.
10039func (s *DescribeReplicationInstanceTaskLogsInput) Validate() error {
10040	invalidParams := request.ErrInvalidParams{Context: "DescribeReplicationInstanceTaskLogsInput"}
10041	if s.ReplicationInstanceArn == nil {
10042		invalidParams.Add(request.NewErrParamRequired("ReplicationInstanceArn"))
10043	}
10044
10045	if invalidParams.Len() > 0 {
10046		return invalidParams
10047	}
10048	return nil
10049}
10050
10051// SetMarker sets the Marker field's value.
10052func (s *DescribeReplicationInstanceTaskLogsInput) SetMarker(v string) *DescribeReplicationInstanceTaskLogsInput {
10053	s.Marker = &v
10054	return s
10055}
10056
10057// SetMaxRecords sets the MaxRecords field's value.
10058func (s *DescribeReplicationInstanceTaskLogsInput) SetMaxRecords(v int64) *DescribeReplicationInstanceTaskLogsInput {
10059	s.MaxRecords = &v
10060	return s
10061}
10062
10063// SetReplicationInstanceArn sets the ReplicationInstanceArn field's value.
10064func (s *DescribeReplicationInstanceTaskLogsInput) SetReplicationInstanceArn(v string) *DescribeReplicationInstanceTaskLogsInput {
10065	s.ReplicationInstanceArn = &v
10066	return s
10067}
10068
10069type DescribeReplicationInstanceTaskLogsOutput struct {
10070	_ struct{} `type:"structure"`
10071
10072	// An optional pagination token provided by a previous request. If this parameter
10073	// is specified, the response includes only records beyond the marker, up to
10074	// the value specified by MaxRecords.
10075	Marker *string `type:"string"`
10076
10077	// The Amazon Resource Name (ARN) of the replication instance.
10078	ReplicationInstanceArn *string `type:"string"`
10079
10080	// An array of replication task log metadata. Each member of the array contains
10081	// the replication task name, ARN, and task log size (in bytes).
10082	ReplicationInstanceTaskLogs []*ReplicationInstanceTaskLog `type:"list"`
10083}
10084
10085// String returns the string representation.
10086//
10087// API parameter values that are decorated as "sensitive" in the API will not
10088// be included in the string output. The member name will be present, but the
10089// value will be replaced with "sensitive".
10090func (s DescribeReplicationInstanceTaskLogsOutput) String() string {
10091	return awsutil.Prettify(s)
10092}
10093
10094// GoString returns the string representation.
10095//
10096// API parameter values that are decorated as "sensitive" in the API will not
10097// be included in the string output. The member name will be present, but the
10098// value will be replaced with "sensitive".
10099func (s DescribeReplicationInstanceTaskLogsOutput) GoString() string {
10100	return s.String()
10101}
10102
10103// SetMarker sets the Marker field's value.
10104func (s *DescribeReplicationInstanceTaskLogsOutput) SetMarker(v string) *DescribeReplicationInstanceTaskLogsOutput {
10105	s.Marker = &v
10106	return s
10107}
10108
10109// SetReplicationInstanceArn sets the ReplicationInstanceArn field's value.
10110func (s *DescribeReplicationInstanceTaskLogsOutput) SetReplicationInstanceArn(v string) *DescribeReplicationInstanceTaskLogsOutput {
10111	s.ReplicationInstanceArn = &v
10112	return s
10113}
10114
10115// SetReplicationInstanceTaskLogs sets the ReplicationInstanceTaskLogs field's value.
10116func (s *DescribeReplicationInstanceTaskLogsOutput) SetReplicationInstanceTaskLogs(v []*ReplicationInstanceTaskLog) *DescribeReplicationInstanceTaskLogsOutput {
10117	s.ReplicationInstanceTaskLogs = v
10118	return s
10119}
10120
10121type DescribeReplicationInstancesInput struct {
10122	_ struct{} `type:"structure"`
10123
10124	// Filters applied to replication instances.
10125	//
10126	// Valid filter names: replication-instance-arn | replication-instance-id |
10127	// replication-instance-class | engine-version
10128	Filters []*Filter `type:"list"`
10129
10130	// An optional pagination token provided by a previous request. If this parameter
10131	// is specified, the response includes only records beyond the marker, up to
10132	// the value specified by MaxRecords.
10133	Marker *string `type:"string"`
10134
10135	// The maximum number of records to include in the response. If more records
10136	// exist than the specified MaxRecords value, a pagination token called a marker
10137	// is included in the response so that the remaining results can be retrieved.
10138	//
10139	// Default: 100
10140	//
10141	// Constraints: Minimum 20, maximum 100.
10142	MaxRecords *int64 `type:"integer"`
10143}
10144
10145// String returns the string representation.
10146//
10147// API parameter values that are decorated as "sensitive" in the API will not
10148// be included in the string output. The member name will be present, but the
10149// value will be replaced with "sensitive".
10150func (s DescribeReplicationInstancesInput) String() string {
10151	return awsutil.Prettify(s)
10152}
10153
10154// GoString returns the string representation.
10155//
10156// API parameter values that are decorated as "sensitive" in the API will not
10157// be included in the string output. The member name will be present, but the
10158// value will be replaced with "sensitive".
10159func (s DescribeReplicationInstancesInput) GoString() string {
10160	return s.String()
10161}
10162
10163// Validate inspects the fields of the type to determine if they are valid.
10164func (s *DescribeReplicationInstancesInput) Validate() error {
10165	invalidParams := request.ErrInvalidParams{Context: "DescribeReplicationInstancesInput"}
10166	if s.Filters != nil {
10167		for i, v := range s.Filters {
10168			if v == nil {
10169				continue
10170			}
10171			if err := v.Validate(); err != nil {
10172				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
10173			}
10174		}
10175	}
10176
10177	if invalidParams.Len() > 0 {
10178		return invalidParams
10179	}
10180	return nil
10181}
10182
10183// SetFilters sets the Filters field's value.
10184func (s *DescribeReplicationInstancesInput) SetFilters(v []*Filter) *DescribeReplicationInstancesInput {
10185	s.Filters = v
10186	return s
10187}
10188
10189// SetMarker sets the Marker field's value.
10190func (s *DescribeReplicationInstancesInput) SetMarker(v string) *DescribeReplicationInstancesInput {
10191	s.Marker = &v
10192	return s
10193}
10194
10195// SetMaxRecords sets the MaxRecords field's value.
10196func (s *DescribeReplicationInstancesInput) SetMaxRecords(v int64) *DescribeReplicationInstancesInput {
10197	s.MaxRecords = &v
10198	return s
10199}
10200
10201type DescribeReplicationInstancesOutput struct {
10202	_ struct{} `type:"structure"`
10203
10204	// An optional pagination token provided by a previous request. If this parameter
10205	// is specified, the response includes only records beyond the marker, up to
10206	// the value specified by MaxRecords.
10207	Marker *string `type:"string"`
10208
10209	// The replication instances described.
10210	ReplicationInstances []*ReplicationInstance `type:"list"`
10211}
10212
10213// String returns the string representation.
10214//
10215// API parameter values that are decorated as "sensitive" in the API will not
10216// be included in the string output. The member name will be present, but the
10217// value will be replaced with "sensitive".
10218func (s DescribeReplicationInstancesOutput) String() string {
10219	return awsutil.Prettify(s)
10220}
10221
10222// GoString returns the string representation.
10223//
10224// API parameter values that are decorated as "sensitive" in the API will not
10225// be included in the string output. The member name will be present, but the
10226// value will be replaced with "sensitive".
10227func (s DescribeReplicationInstancesOutput) GoString() string {
10228	return s.String()
10229}
10230
10231// SetMarker sets the Marker field's value.
10232func (s *DescribeReplicationInstancesOutput) SetMarker(v string) *DescribeReplicationInstancesOutput {
10233	s.Marker = &v
10234	return s
10235}
10236
10237// SetReplicationInstances sets the ReplicationInstances field's value.
10238func (s *DescribeReplicationInstancesOutput) SetReplicationInstances(v []*ReplicationInstance) *DescribeReplicationInstancesOutput {
10239	s.ReplicationInstances = v
10240	return s
10241}
10242
10243type DescribeReplicationSubnetGroupsInput struct {
10244	_ struct{} `type:"structure"`
10245
10246	// Filters applied to replication subnet groups.
10247	//
10248	// Valid filter names: replication-subnet-group-id
10249	Filters []*Filter `type:"list"`
10250
10251	// An optional pagination token provided by a previous request. If this parameter
10252	// is specified, the response includes only records beyond the marker, up to
10253	// the value specified by MaxRecords.
10254	Marker *string `type:"string"`
10255
10256	// The maximum number of records to include in the response. If more records
10257	// exist than the specified MaxRecords value, a pagination token called a marker
10258	// is included in the response so that the remaining results can be retrieved.
10259	//
10260	// Default: 100
10261	//
10262	// Constraints: Minimum 20, maximum 100.
10263	MaxRecords *int64 `type:"integer"`
10264}
10265
10266// String returns the string representation.
10267//
10268// API parameter values that are decorated as "sensitive" in the API will not
10269// be included in the string output. The member name will be present, but the
10270// value will be replaced with "sensitive".
10271func (s DescribeReplicationSubnetGroupsInput) String() string {
10272	return awsutil.Prettify(s)
10273}
10274
10275// GoString returns the string representation.
10276//
10277// API parameter values that are decorated as "sensitive" in the API will not
10278// be included in the string output. The member name will be present, but the
10279// value will be replaced with "sensitive".
10280func (s DescribeReplicationSubnetGroupsInput) GoString() string {
10281	return s.String()
10282}
10283
10284// Validate inspects the fields of the type to determine if they are valid.
10285func (s *DescribeReplicationSubnetGroupsInput) Validate() error {
10286	invalidParams := request.ErrInvalidParams{Context: "DescribeReplicationSubnetGroupsInput"}
10287	if s.Filters != nil {
10288		for i, v := range s.Filters {
10289			if v == nil {
10290				continue
10291			}
10292			if err := v.Validate(); err != nil {
10293				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
10294			}
10295		}
10296	}
10297
10298	if invalidParams.Len() > 0 {
10299		return invalidParams
10300	}
10301	return nil
10302}
10303
10304// SetFilters sets the Filters field's value.
10305func (s *DescribeReplicationSubnetGroupsInput) SetFilters(v []*Filter) *DescribeReplicationSubnetGroupsInput {
10306	s.Filters = v
10307	return s
10308}
10309
10310// SetMarker sets the Marker field's value.
10311func (s *DescribeReplicationSubnetGroupsInput) SetMarker(v string) *DescribeReplicationSubnetGroupsInput {
10312	s.Marker = &v
10313	return s
10314}
10315
10316// SetMaxRecords sets the MaxRecords field's value.
10317func (s *DescribeReplicationSubnetGroupsInput) SetMaxRecords(v int64) *DescribeReplicationSubnetGroupsInput {
10318	s.MaxRecords = &v
10319	return s
10320}
10321
10322type DescribeReplicationSubnetGroupsOutput struct {
10323	_ struct{} `type:"structure"`
10324
10325	// An optional pagination token provided by a previous request. If this parameter
10326	// is specified, the response includes only records beyond the marker, up to
10327	// the value specified by MaxRecords.
10328	Marker *string `type:"string"`
10329
10330	// A description of the replication subnet groups.
10331	ReplicationSubnetGroups []*ReplicationSubnetGroup `type:"list"`
10332}
10333
10334// String returns the string representation.
10335//
10336// API parameter values that are decorated as "sensitive" in the API will not
10337// be included in the string output. The member name will be present, but the
10338// value will be replaced with "sensitive".
10339func (s DescribeReplicationSubnetGroupsOutput) String() string {
10340	return awsutil.Prettify(s)
10341}
10342
10343// GoString returns the string representation.
10344//
10345// API parameter values that are decorated as "sensitive" in the API will not
10346// be included in the string output. The member name will be present, but the
10347// value will be replaced with "sensitive".
10348func (s DescribeReplicationSubnetGroupsOutput) GoString() string {
10349	return s.String()
10350}
10351
10352// SetMarker sets the Marker field's value.
10353func (s *DescribeReplicationSubnetGroupsOutput) SetMarker(v string) *DescribeReplicationSubnetGroupsOutput {
10354	s.Marker = &v
10355	return s
10356}
10357
10358// SetReplicationSubnetGroups sets the ReplicationSubnetGroups field's value.
10359func (s *DescribeReplicationSubnetGroupsOutput) SetReplicationSubnetGroups(v []*ReplicationSubnetGroup) *DescribeReplicationSubnetGroupsOutput {
10360	s.ReplicationSubnetGroups = v
10361	return s
10362}
10363
10364type DescribeReplicationTaskAssessmentResultsInput struct {
10365	_ struct{} `type:"structure"`
10366
10367	// An optional pagination token provided by a previous request. If this parameter
10368	// is specified, the response includes only records beyond the marker, up to
10369	// the value specified by MaxRecords.
10370	Marker *string `type:"string"`
10371
10372	// The maximum number of records to include in the response. If more records
10373	// exist than the specified MaxRecords value, a pagination token called a marker
10374	// is included in the response so that the remaining results can be retrieved.
10375	//
10376	// Default: 100
10377	//
10378	// Constraints: Minimum 20, maximum 100.
10379	MaxRecords *int64 `type:"integer"`
10380
10381	// The Amazon Resource Name (ARN) string that uniquely identifies the task.
10382	// When this input parameter is specified, the API returns only one result and
10383	// ignore the values of the MaxRecords and Marker parameters.
10384	ReplicationTaskArn *string `type:"string"`
10385}
10386
10387// String returns the string representation.
10388//
10389// API parameter values that are decorated as "sensitive" in the API will not
10390// be included in the string output. The member name will be present, but the
10391// value will be replaced with "sensitive".
10392func (s DescribeReplicationTaskAssessmentResultsInput) String() string {
10393	return awsutil.Prettify(s)
10394}
10395
10396// GoString returns the string representation.
10397//
10398// API parameter values that are decorated as "sensitive" in the API will not
10399// be included in the string output. The member name will be present, but the
10400// value will be replaced with "sensitive".
10401func (s DescribeReplicationTaskAssessmentResultsInput) GoString() string {
10402	return s.String()
10403}
10404
10405// SetMarker sets the Marker field's value.
10406func (s *DescribeReplicationTaskAssessmentResultsInput) SetMarker(v string) *DescribeReplicationTaskAssessmentResultsInput {
10407	s.Marker = &v
10408	return s
10409}
10410
10411// SetMaxRecords sets the MaxRecords field's value.
10412func (s *DescribeReplicationTaskAssessmentResultsInput) SetMaxRecords(v int64) *DescribeReplicationTaskAssessmentResultsInput {
10413	s.MaxRecords = &v
10414	return s
10415}
10416
10417// SetReplicationTaskArn sets the ReplicationTaskArn field's value.
10418func (s *DescribeReplicationTaskAssessmentResultsInput) SetReplicationTaskArn(v string) *DescribeReplicationTaskAssessmentResultsInput {
10419	s.ReplicationTaskArn = &v
10420	return s
10421}
10422
10423type DescribeReplicationTaskAssessmentResultsOutput struct {
10424	_ struct{} `type:"structure"`
10425
10426	// - The Amazon S3 bucket where the task assessment report is located.
10427	BucketName *string `type:"string"`
10428
10429	// An optional pagination token provided by a previous request. If this parameter
10430	// is specified, the response includes only records beyond the marker, up to
10431	// the value specified by MaxRecords.
10432	Marker *string `type:"string"`
10433
10434	// The task assessment report.
10435	ReplicationTaskAssessmentResults []*ReplicationTaskAssessmentResult `type:"list"`
10436}
10437
10438// String returns the string representation.
10439//
10440// API parameter values that are decorated as "sensitive" in the API will not
10441// be included in the string output. The member name will be present, but the
10442// value will be replaced with "sensitive".
10443func (s DescribeReplicationTaskAssessmentResultsOutput) String() string {
10444	return awsutil.Prettify(s)
10445}
10446
10447// GoString returns the string representation.
10448//
10449// API parameter values that are decorated as "sensitive" in the API will not
10450// be included in the string output. The member name will be present, but the
10451// value will be replaced with "sensitive".
10452func (s DescribeReplicationTaskAssessmentResultsOutput) GoString() string {
10453	return s.String()
10454}
10455
10456// SetBucketName sets the BucketName field's value.
10457func (s *DescribeReplicationTaskAssessmentResultsOutput) SetBucketName(v string) *DescribeReplicationTaskAssessmentResultsOutput {
10458	s.BucketName = &v
10459	return s
10460}
10461
10462// SetMarker sets the Marker field's value.
10463func (s *DescribeReplicationTaskAssessmentResultsOutput) SetMarker(v string) *DescribeReplicationTaskAssessmentResultsOutput {
10464	s.Marker = &v
10465	return s
10466}
10467
10468// SetReplicationTaskAssessmentResults sets the ReplicationTaskAssessmentResults field's value.
10469func (s *DescribeReplicationTaskAssessmentResultsOutput) SetReplicationTaskAssessmentResults(v []*ReplicationTaskAssessmentResult) *DescribeReplicationTaskAssessmentResultsOutput {
10470	s.ReplicationTaskAssessmentResults = v
10471	return s
10472}
10473
10474type DescribeReplicationTaskAssessmentRunsInput struct {
10475	_ struct{} `type:"structure"`
10476
10477	// Filters applied to the premigration assessment runs described in the form
10478	// of key-value pairs.
10479	//
10480	// Valid filter names: replication-task-assessment-run-arn, replication-task-arn,
10481	// replication-instance-arn, status
10482	Filters []*Filter `type:"list"`
10483
10484	// An optional pagination token provided by a previous request. If this parameter
10485	// is specified, the response includes only records beyond the marker, up to
10486	// the value specified by MaxRecords.
10487	Marker *string `type:"string"`
10488
10489	// The maximum number of records to include in the response. If more records
10490	// exist than the specified MaxRecords value, a pagination token called a marker
10491	// is included in the response so that the remaining results can be retrieved.
10492	MaxRecords *int64 `type:"integer"`
10493}
10494
10495// String returns the string representation.
10496//
10497// API parameter values that are decorated as "sensitive" in the API will not
10498// be included in the string output. The member name will be present, but the
10499// value will be replaced with "sensitive".
10500func (s DescribeReplicationTaskAssessmentRunsInput) String() string {
10501	return awsutil.Prettify(s)
10502}
10503
10504// GoString returns the string representation.
10505//
10506// API parameter values that are decorated as "sensitive" in the API will not
10507// be included in the string output. The member name will be present, but the
10508// value will be replaced with "sensitive".
10509func (s DescribeReplicationTaskAssessmentRunsInput) GoString() string {
10510	return s.String()
10511}
10512
10513// Validate inspects the fields of the type to determine if they are valid.
10514func (s *DescribeReplicationTaskAssessmentRunsInput) Validate() error {
10515	invalidParams := request.ErrInvalidParams{Context: "DescribeReplicationTaskAssessmentRunsInput"}
10516	if s.Filters != nil {
10517		for i, v := range s.Filters {
10518			if v == nil {
10519				continue
10520			}
10521			if err := v.Validate(); err != nil {
10522				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
10523			}
10524		}
10525	}
10526
10527	if invalidParams.Len() > 0 {
10528		return invalidParams
10529	}
10530	return nil
10531}
10532
10533// SetFilters sets the Filters field's value.
10534func (s *DescribeReplicationTaskAssessmentRunsInput) SetFilters(v []*Filter) *DescribeReplicationTaskAssessmentRunsInput {
10535	s.Filters = v
10536	return s
10537}
10538
10539// SetMarker sets the Marker field's value.
10540func (s *DescribeReplicationTaskAssessmentRunsInput) SetMarker(v string) *DescribeReplicationTaskAssessmentRunsInput {
10541	s.Marker = &v
10542	return s
10543}
10544
10545// SetMaxRecords sets the MaxRecords field's value.
10546func (s *DescribeReplicationTaskAssessmentRunsInput) SetMaxRecords(v int64) *DescribeReplicationTaskAssessmentRunsInput {
10547	s.MaxRecords = &v
10548	return s
10549}
10550
10551type DescribeReplicationTaskAssessmentRunsOutput struct {
10552	_ struct{} `type:"structure"`
10553
10554	// A pagination token returned for you to pass to a subsequent request. If you
10555	// pass this token as the Marker value in a subsequent request, the response
10556	// includes only records beyond the marker, up to the value specified in the
10557	// request by MaxRecords.
10558	Marker *string `type:"string"`
10559
10560	// One or more premigration assessment runs as specified by Filters.
10561	ReplicationTaskAssessmentRuns []*ReplicationTaskAssessmentRun `type:"list"`
10562}
10563
10564// String returns the string representation.
10565//
10566// API parameter values that are decorated as "sensitive" in the API will not
10567// be included in the string output. The member name will be present, but the
10568// value will be replaced with "sensitive".
10569func (s DescribeReplicationTaskAssessmentRunsOutput) String() string {
10570	return awsutil.Prettify(s)
10571}
10572
10573// GoString returns the string representation.
10574//
10575// API parameter values that are decorated as "sensitive" in the API will not
10576// be included in the string output. The member name will be present, but the
10577// value will be replaced with "sensitive".
10578func (s DescribeReplicationTaskAssessmentRunsOutput) GoString() string {
10579	return s.String()
10580}
10581
10582// SetMarker sets the Marker field's value.
10583func (s *DescribeReplicationTaskAssessmentRunsOutput) SetMarker(v string) *DescribeReplicationTaskAssessmentRunsOutput {
10584	s.Marker = &v
10585	return s
10586}
10587
10588// SetReplicationTaskAssessmentRuns sets the ReplicationTaskAssessmentRuns field's value.
10589func (s *DescribeReplicationTaskAssessmentRunsOutput) SetReplicationTaskAssessmentRuns(v []*ReplicationTaskAssessmentRun) *DescribeReplicationTaskAssessmentRunsOutput {
10590	s.ReplicationTaskAssessmentRuns = v
10591	return s
10592}
10593
10594type DescribeReplicationTaskIndividualAssessmentsInput struct {
10595	_ struct{} `type:"structure"`
10596
10597	// Filters applied to the individual assessments described in the form of key-value
10598	// pairs.
10599	//
10600	// Valid filter names: replication-task-assessment-run-arn, replication-task-arn,
10601	// status
10602	Filters []*Filter `type:"list"`
10603
10604	// An optional pagination token provided by a previous request. If this parameter
10605	// is specified, the response includes only records beyond the marker, up to
10606	// the value specified by MaxRecords.
10607	Marker *string `type:"string"`
10608
10609	// The maximum number of records to include in the response. If more records
10610	// exist than the specified MaxRecords value, a pagination token called a marker
10611	// is included in the response so that the remaining results can be retrieved.
10612	MaxRecords *int64 `type:"integer"`
10613}
10614
10615// String returns the string representation.
10616//
10617// API parameter values that are decorated as "sensitive" in the API will not
10618// be included in the string output. The member name will be present, but the
10619// value will be replaced with "sensitive".
10620func (s DescribeReplicationTaskIndividualAssessmentsInput) String() string {
10621	return awsutil.Prettify(s)
10622}
10623
10624// GoString returns the string representation.
10625//
10626// API parameter values that are decorated as "sensitive" in the API will not
10627// be included in the string output. The member name will be present, but the
10628// value will be replaced with "sensitive".
10629func (s DescribeReplicationTaskIndividualAssessmentsInput) GoString() string {
10630	return s.String()
10631}
10632
10633// Validate inspects the fields of the type to determine if they are valid.
10634func (s *DescribeReplicationTaskIndividualAssessmentsInput) Validate() error {
10635	invalidParams := request.ErrInvalidParams{Context: "DescribeReplicationTaskIndividualAssessmentsInput"}
10636	if s.Filters != nil {
10637		for i, v := range s.Filters {
10638			if v == nil {
10639				continue
10640			}
10641			if err := v.Validate(); err != nil {
10642				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
10643			}
10644		}
10645	}
10646
10647	if invalidParams.Len() > 0 {
10648		return invalidParams
10649	}
10650	return nil
10651}
10652
10653// SetFilters sets the Filters field's value.
10654func (s *DescribeReplicationTaskIndividualAssessmentsInput) SetFilters(v []*Filter) *DescribeReplicationTaskIndividualAssessmentsInput {
10655	s.Filters = v
10656	return s
10657}
10658
10659// SetMarker sets the Marker field's value.
10660func (s *DescribeReplicationTaskIndividualAssessmentsInput) SetMarker(v string) *DescribeReplicationTaskIndividualAssessmentsInput {
10661	s.Marker = &v
10662	return s
10663}
10664
10665// SetMaxRecords sets the MaxRecords field's value.
10666func (s *DescribeReplicationTaskIndividualAssessmentsInput) SetMaxRecords(v int64) *DescribeReplicationTaskIndividualAssessmentsInput {
10667	s.MaxRecords = &v
10668	return s
10669}
10670
10671type DescribeReplicationTaskIndividualAssessmentsOutput struct {
10672	_ struct{} `type:"structure"`
10673
10674	// A pagination token returned for you to pass to a subsequent request. If you
10675	// pass this token as the Marker value in a subsequent request, the response
10676	// includes only records beyond the marker, up to the value specified in the
10677	// request by MaxRecords.
10678	Marker *string `type:"string"`
10679
10680	// One or more individual assessments as specified by Filters.
10681	ReplicationTaskIndividualAssessments []*ReplicationTaskIndividualAssessment `type:"list"`
10682}
10683
10684// String returns the string representation.
10685//
10686// API parameter values that are decorated as "sensitive" in the API will not
10687// be included in the string output. The member name will be present, but the
10688// value will be replaced with "sensitive".
10689func (s DescribeReplicationTaskIndividualAssessmentsOutput) String() string {
10690	return awsutil.Prettify(s)
10691}
10692
10693// GoString returns the string representation.
10694//
10695// API parameter values that are decorated as "sensitive" in the API will not
10696// be included in the string output. The member name will be present, but the
10697// value will be replaced with "sensitive".
10698func (s DescribeReplicationTaskIndividualAssessmentsOutput) GoString() string {
10699	return s.String()
10700}
10701
10702// SetMarker sets the Marker field's value.
10703func (s *DescribeReplicationTaskIndividualAssessmentsOutput) SetMarker(v string) *DescribeReplicationTaskIndividualAssessmentsOutput {
10704	s.Marker = &v
10705	return s
10706}
10707
10708// SetReplicationTaskIndividualAssessments sets the ReplicationTaskIndividualAssessments field's value.
10709func (s *DescribeReplicationTaskIndividualAssessmentsOutput) SetReplicationTaskIndividualAssessments(v []*ReplicationTaskIndividualAssessment) *DescribeReplicationTaskIndividualAssessmentsOutput {
10710	s.ReplicationTaskIndividualAssessments = v
10711	return s
10712}
10713
10714type DescribeReplicationTasksInput struct {
10715	_ struct{} `type:"structure"`
10716
10717	// Filters applied to replication tasks.
10718	//
10719	// Valid filter names: replication-task-arn | replication-task-id | migration-type
10720	// | endpoint-arn | replication-instance-arn
10721	Filters []*Filter `type:"list"`
10722
10723	// An optional pagination token provided by a previous request. If this parameter
10724	// is specified, the response includes only records beyond the marker, up to
10725	// the value specified by MaxRecords.
10726	Marker *string `type:"string"`
10727
10728	// The maximum number of records to include in the response. If more records
10729	// exist than the specified MaxRecords value, a pagination token called a marker
10730	// is included in the response so that the remaining results can be retrieved.
10731	//
10732	// Default: 100
10733	//
10734	// Constraints: Minimum 20, maximum 100.
10735	MaxRecords *int64 `type:"integer"`
10736
10737	// An option to set to avoid returning information about settings. Use this
10738	// to reduce overhead when setting information is too large. To use this option,
10739	// choose true; otherwise, choose false (the default).
10740	WithoutSettings *bool `type:"boolean"`
10741}
10742
10743// String returns the string representation.
10744//
10745// API parameter values that are decorated as "sensitive" in the API will not
10746// be included in the string output. The member name will be present, but the
10747// value will be replaced with "sensitive".
10748func (s DescribeReplicationTasksInput) String() string {
10749	return awsutil.Prettify(s)
10750}
10751
10752// GoString returns the string representation.
10753//
10754// API parameter values that are decorated as "sensitive" in the API will not
10755// be included in the string output. The member name will be present, but the
10756// value will be replaced with "sensitive".
10757func (s DescribeReplicationTasksInput) GoString() string {
10758	return s.String()
10759}
10760
10761// Validate inspects the fields of the type to determine if they are valid.
10762func (s *DescribeReplicationTasksInput) Validate() error {
10763	invalidParams := request.ErrInvalidParams{Context: "DescribeReplicationTasksInput"}
10764	if s.Filters != nil {
10765		for i, v := range s.Filters {
10766			if v == nil {
10767				continue
10768			}
10769			if err := v.Validate(); err != nil {
10770				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
10771			}
10772		}
10773	}
10774
10775	if invalidParams.Len() > 0 {
10776		return invalidParams
10777	}
10778	return nil
10779}
10780
10781// SetFilters sets the Filters field's value.
10782func (s *DescribeReplicationTasksInput) SetFilters(v []*Filter) *DescribeReplicationTasksInput {
10783	s.Filters = v
10784	return s
10785}
10786
10787// SetMarker sets the Marker field's value.
10788func (s *DescribeReplicationTasksInput) SetMarker(v string) *DescribeReplicationTasksInput {
10789	s.Marker = &v
10790	return s
10791}
10792
10793// SetMaxRecords sets the MaxRecords field's value.
10794func (s *DescribeReplicationTasksInput) SetMaxRecords(v int64) *DescribeReplicationTasksInput {
10795	s.MaxRecords = &v
10796	return s
10797}
10798
10799// SetWithoutSettings sets the WithoutSettings field's value.
10800func (s *DescribeReplicationTasksInput) SetWithoutSettings(v bool) *DescribeReplicationTasksInput {
10801	s.WithoutSettings = &v
10802	return s
10803}
10804
10805type DescribeReplicationTasksOutput struct {
10806	_ struct{} `type:"structure"`
10807
10808	// An optional pagination token provided by a previous request. If this parameter
10809	// is specified, the response includes only records beyond the marker, up to
10810	// the value specified by MaxRecords.
10811	Marker *string `type:"string"`
10812
10813	// A description of the replication tasks.
10814	ReplicationTasks []*ReplicationTask `type:"list"`
10815}
10816
10817// String returns the string representation.
10818//
10819// API parameter values that are decorated as "sensitive" in the API will not
10820// be included in the string output. The member name will be present, but the
10821// value will be replaced with "sensitive".
10822func (s DescribeReplicationTasksOutput) String() string {
10823	return awsutil.Prettify(s)
10824}
10825
10826// GoString returns the string representation.
10827//
10828// API parameter values that are decorated as "sensitive" in the API will not
10829// be included in the string output. The member name will be present, but the
10830// value will be replaced with "sensitive".
10831func (s DescribeReplicationTasksOutput) GoString() string {
10832	return s.String()
10833}
10834
10835// SetMarker sets the Marker field's value.
10836func (s *DescribeReplicationTasksOutput) SetMarker(v string) *DescribeReplicationTasksOutput {
10837	s.Marker = &v
10838	return s
10839}
10840
10841// SetReplicationTasks sets the ReplicationTasks field's value.
10842func (s *DescribeReplicationTasksOutput) SetReplicationTasks(v []*ReplicationTask) *DescribeReplicationTasksOutput {
10843	s.ReplicationTasks = v
10844	return s
10845}
10846
10847type DescribeSchemasInput struct {
10848	_ struct{} `type:"structure"`
10849
10850	// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.
10851	//
10852	// EndpointArn is a required field
10853	EndpointArn *string `type:"string" required:"true"`
10854
10855	// An optional pagination token provided by a previous request. If this parameter
10856	// is specified, the response includes only records beyond the marker, up to
10857	// the value specified by MaxRecords.
10858	Marker *string `type:"string"`
10859
10860	// The maximum number of records to include in the response. If more records
10861	// exist than the specified MaxRecords value, a pagination token called a marker
10862	// is included in the response so that the remaining results can be retrieved.
10863	//
10864	// Default: 100
10865	//
10866	// Constraints: Minimum 20, maximum 100.
10867	MaxRecords *int64 `type:"integer"`
10868}
10869
10870// String returns the string representation.
10871//
10872// API parameter values that are decorated as "sensitive" in the API will not
10873// be included in the string output. The member name will be present, but the
10874// value will be replaced with "sensitive".
10875func (s DescribeSchemasInput) String() string {
10876	return awsutil.Prettify(s)
10877}
10878
10879// GoString returns the string representation.
10880//
10881// API parameter values that are decorated as "sensitive" in the API will not
10882// be included in the string output. The member name will be present, but the
10883// value will be replaced with "sensitive".
10884func (s DescribeSchemasInput) GoString() string {
10885	return s.String()
10886}
10887
10888// Validate inspects the fields of the type to determine if they are valid.
10889func (s *DescribeSchemasInput) Validate() error {
10890	invalidParams := request.ErrInvalidParams{Context: "DescribeSchemasInput"}
10891	if s.EndpointArn == nil {
10892		invalidParams.Add(request.NewErrParamRequired("EndpointArn"))
10893	}
10894
10895	if invalidParams.Len() > 0 {
10896		return invalidParams
10897	}
10898	return nil
10899}
10900
10901// SetEndpointArn sets the EndpointArn field's value.
10902func (s *DescribeSchemasInput) SetEndpointArn(v string) *DescribeSchemasInput {
10903	s.EndpointArn = &v
10904	return s
10905}
10906
10907// SetMarker sets the Marker field's value.
10908func (s *DescribeSchemasInput) SetMarker(v string) *DescribeSchemasInput {
10909	s.Marker = &v
10910	return s
10911}
10912
10913// SetMaxRecords sets the MaxRecords field's value.
10914func (s *DescribeSchemasInput) SetMaxRecords(v int64) *DescribeSchemasInput {
10915	s.MaxRecords = &v
10916	return s
10917}
10918
10919type DescribeSchemasOutput struct {
10920	_ struct{} `type:"structure"`
10921
10922	// An optional pagination token provided by a previous request. If this parameter
10923	// is specified, the response includes only records beyond the marker, up to
10924	// the value specified by MaxRecords.
10925	Marker *string `type:"string"`
10926
10927	// The described schema.
10928	Schemas []*string `type:"list"`
10929}
10930
10931// String returns the string representation.
10932//
10933// API parameter values that are decorated as "sensitive" in the API will not
10934// be included in the string output. The member name will be present, but the
10935// value will be replaced with "sensitive".
10936func (s DescribeSchemasOutput) String() string {
10937	return awsutil.Prettify(s)
10938}
10939
10940// GoString returns the string representation.
10941//
10942// API parameter values that are decorated as "sensitive" in the API will not
10943// be included in the string output. The member name will be present, but the
10944// value will be replaced with "sensitive".
10945func (s DescribeSchemasOutput) GoString() string {
10946	return s.String()
10947}
10948
10949// SetMarker sets the Marker field's value.
10950func (s *DescribeSchemasOutput) SetMarker(v string) *DescribeSchemasOutput {
10951	s.Marker = &v
10952	return s
10953}
10954
10955// SetSchemas sets the Schemas field's value.
10956func (s *DescribeSchemasOutput) SetSchemas(v []*string) *DescribeSchemasOutput {
10957	s.Schemas = v
10958	return s
10959}
10960
10961type DescribeTableStatisticsInput struct {
10962	_ struct{} `type:"structure"`
10963
10964	// Filters applied to table statistics.
10965	//
10966	// Valid filter names: schema-name | table-name | table-state
10967	//
10968	// A combination of filters creates an AND condition where each record matches
10969	// all specified filters.
10970	Filters []*Filter `type:"list"`
10971
10972	// An optional pagination token provided by a previous request. If this parameter
10973	// is specified, the response includes only records beyond the marker, up to
10974	// the value specified by MaxRecords.
10975	Marker *string `type:"string"`
10976
10977	// The maximum number of records to include in the response. If more records
10978	// exist than the specified MaxRecords value, a pagination token called a marker
10979	// is included in the response so that the remaining results can be retrieved.
10980	//
10981	// Default: 100
10982	//
10983	// Constraints: Minimum 20, maximum 500.
10984	MaxRecords *int64 `type:"integer"`
10985
10986	// The Amazon Resource Name (ARN) of the replication task.
10987	//
10988	// ReplicationTaskArn is a required field
10989	ReplicationTaskArn *string `type:"string" required:"true"`
10990}
10991
10992// String returns the string representation.
10993//
10994// API parameter values that are decorated as "sensitive" in the API will not
10995// be included in the string output. The member name will be present, but the
10996// value will be replaced with "sensitive".
10997func (s DescribeTableStatisticsInput) String() string {
10998	return awsutil.Prettify(s)
10999}
11000
11001// GoString returns the string representation.
11002//
11003// API parameter values that are decorated as "sensitive" in the API will not
11004// be included in the string output. The member name will be present, but the
11005// value will be replaced with "sensitive".
11006func (s DescribeTableStatisticsInput) GoString() string {
11007	return s.String()
11008}
11009
11010// Validate inspects the fields of the type to determine if they are valid.
11011func (s *DescribeTableStatisticsInput) Validate() error {
11012	invalidParams := request.ErrInvalidParams{Context: "DescribeTableStatisticsInput"}
11013	if s.ReplicationTaskArn == nil {
11014		invalidParams.Add(request.NewErrParamRequired("ReplicationTaskArn"))
11015	}
11016	if s.Filters != nil {
11017		for i, v := range s.Filters {
11018			if v == nil {
11019				continue
11020			}
11021			if err := v.Validate(); err != nil {
11022				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
11023			}
11024		}
11025	}
11026
11027	if invalidParams.Len() > 0 {
11028		return invalidParams
11029	}
11030	return nil
11031}
11032
11033// SetFilters sets the Filters field's value.
11034func (s *DescribeTableStatisticsInput) SetFilters(v []*Filter) *DescribeTableStatisticsInput {
11035	s.Filters = v
11036	return s
11037}
11038
11039// SetMarker sets the Marker field's value.
11040func (s *DescribeTableStatisticsInput) SetMarker(v string) *DescribeTableStatisticsInput {
11041	s.Marker = &v
11042	return s
11043}
11044
11045// SetMaxRecords sets the MaxRecords field's value.
11046func (s *DescribeTableStatisticsInput) SetMaxRecords(v int64) *DescribeTableStatisticsInput {
11047	s.MaxRecords = &v
11048	return s
11049}
11050
11051// SetReplicationTaskArn sets the ReplicationTaskArn field's value.
11052func (s *DescribeTableStatisticsInput) SetReplicationTaskArn(v string) *DescribeTableStatisticsInput {
11053	s.ReplicationTaskArn = &v
11054	return s
11055}
11056
11057type DescribeTableStatisticsOutput struct {
11058	_ struct{} `type:"structure"`
11059
11060	// An optional pagination token provided by a previous request. If this parameter
11061	// is specified, the response includes only records beyond the marker, up to
11062	// the value specified by MaxRecords.
11063	Marker *string `type:"string"`
11064
11065	// The Amazon Resource Name (ARN) of the replication task.
11066	ReplicationTaskArn *string `type:"string"`
11067
11068	// The table statistics.
11069	TableStatistics []*TableStatistics `type:"list"`
11070}
11071
11072// String returns the string representation.
11073//
11074// API parameter values that are decorated as "sensitive" in the API will not
11075// be included in the string output. The member name will be present, but the
11076// value will be replaced with "sensitive".
11077func (s DescribeTableStatisticsOutput) String() string {
11078	return awsutil.Prettify(s)
11079}
11080
11081// GoString returns the string representation.
11082//
11083// API parameter values that are decorated as "sensitive" in the API will not
11084// be included in the string output. The member name will be present, but the
11085// value will be replaced with "sensitive".
11086func (s DescribeTableStatisticsOutput) GoString() string {
11087	return s.String()
11088}
11089
11090// SetMarker sets the Marker field's value.
11091func (s *DescribeTableStatisticsOutput) SetMarker(v string) *DescribeTableStatisticsOutput {
11092	s.Marker = &v
11093	return s
11094}
11095
11096// SetReplicationTaskArn sets the ReplicationTaskArn field's value.
11097func (s *DescribeTableStatisticsOutput) SetReplicationTaskArn(v string) *DescribeTableStatisticsOutput {
11098	s.ReplicationTaskArn = &v
11099	return s
11100}
11101
11102// SetTableStatistics sets the TableStatistics field's value.
11103func (s *DescribeTableStatisticsOutput) SetTableStatistics(v []*TableStatistics) *DescribeTableStatisticsOutput {
11104	s.TableStatistics = v
11105	return s
11106}
11107
11108// The settings in JSON format for the DMS Transfer type source endpoint.
11109type DmsTransferSettings struct {
11110	_ struct{} `type:"structure"`
11111
11112	// The name of the S3 bucket to use.
11113	BucketName *string `type:"string"`
11114
11115	// The Amazon Resource Name (ARN) used by the service access IAM role. The role
11116	// must allow the iam:PassRole action.
11117	ServiceAccessRoleArn *string `type:"string"`
11118}
11119
11120// String returns the string representation.
11121//
11122// API parameter values that are decorated as "sensitive" in the API will not
11123// be included in the string output. The member name will be present, but the
11124// value will be replaced with "sensitive".
11125func (s DmsTransferSettings) String() string {
11126	return awsutil.Prettify(s)
11127}
11128
11129// GoString returns the string representation.
11130//
11131// API parameter values that are decorated as "sensitive" in the API will not
11132// be included in the string output. The member name will be present, but the
11133// value will be replaced with "sensitive".
11134func (s DmsTransferSettings) GoString() string {
11135	return s.String()
11136}
11137
11138// SetBucketName sets the BucketName field's value.
11139func (s *DmsTransferSettings) SetBucketName(v string) *DmsTransferSettings {
11140	s.BucketName = &v
11141	return s
11142}
11143
11144// SetServiceAccessRoleArn sets the ServiceAccessRoleArn field's value.
11145func (s *DmsTransferSettings) SetServiceAccessRoleArn(v string) *DmsTransferSettings {
11146	s.ServiceAccessRoleArn = &v
11147	return s
11148}
11149
11150// Provides information that defines a DocumentDB endpoint.
11151type DocDbSettings struct {
11152	_ struct{} `type:"structure"`
11153
11154	// The database name on the DocumentDB source endpoint.
11155	DatabaseName *string `type:"string"`
11156
11157	// Indicates the number of documents to preview to determine the document organization.
11158	// Use this setting when NestingLevel is set to "one".
11159	//
11160	// Must be a positive value greater than 0. Default value is 1000.
11161	DocsToInvestigate *int64 `type:"integer"`
11162
11163	// Specifies the document ID. Use this setting when NestingLevel is set to "none".
11164	//
11165	// Default value is "false".
11166	ExtractDocId *bool `type:"boolean"`
11167
11168	// The KMS key identifier that is used to encrypt the content on the replication
11169	// instance. If you don't specify a value for the KmsKeyId parameter, then DMS
11170	// uses your default encryption key. KMS creates the default encryption key
11171	// for your Amazon Web Services account. Your Amazon Web Services account has
11172	// a different default encryption key for each Amazon Web Services Region.
11173	KmsKeyId *string `type:"string"`
11174
11175	// Specifies either document or table mode.
11176	//
11177	// Default value is "none". Specify "none" to use document mode. Specify "one"
11178	// to use table mode.
11179	NestingLevel *string `type:"string" enum:"NestingLevelValue"`
11180
11181	// The password for the user account you use to access the DocumentDB source
11182	// endpoint.
11183	//
11184	// Password is a sensitive parameter and its value will be
11185	// replaced with "sensitive" in string returned by DocDbSettings's
11186	// String and GoString methods.
11187	Password *string `type:"string" sensitive:"true"`
11188
11189	// The port value for the DocumentDB source endpoint.
11190	Port *int64 `type:"integer"`
11191
11192	// The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as
11193	// the trusted entity and grants the required permissions to access the value
11194	// in SecretsManagerSecret. The role must allow the iam:PassRole action. SecretsManagerSecret
11195	// has the value of the Amazon Web Services Secrets Manager secret that allows
11196	// access to the DocumentDB endpoint.
11197	//
11198	// You can specify one of two sets of values for these permissions. You can
11199	// specify the values for this setting and SecretsManagerSecretId. Or you can
11200	// specify clear-text values for UserName, Password, ServerName, and Port. You
11201	// can't specify both. For more information on creating this SecretsManagerSecret
11202	// and the SecretsManagerAccessRoleArn and SecretsManagerSecretId required to
11203	// access it, see Using secrets to access Database Migration Service resources
11204	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
11205	// in the Database Migration Service User Guide.
11206	SecretsManagerAccessRoleArn *string `type:"string"`
11207
11208	// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that
11209	// contains the DocumentDB endpoint connection details.
11210	SecretsManagerSecretId *string `type:"string"`
11211
11212	// The name of the server on the DocumentDB source endpoint.
11213	ServerName *string `type:"string"`
11214
11215	// The user name you use to access the DocumentDB source endpoint.
11216	Username *string `type:"string"`
11217}
11218
11219// String returns the string representation.
11220//
11221// API parameter values that are decorated as "sensitive" in the API will not
11222// be included in the string output. The member name will be present, but the
11223// value will be replaced with "sensitive".
11224func (s DocDbSettings) String() string {
11225	return awsutil.Prettify(s)
11226}
11227
11228// GoString returns the string representation.
11229//
11230// API parameter values that are decorated as "sensitive" in the API will not
11231// be included in the string output. The member name will be present, but the
11232// value will be replaced with "sensitive".
11233func (s DocDbSettings) GoString() string {
11234	return s.String()
11235}
11236
11237// SetDatabaseName sets the DatabaseName field's value.
11238func (s *DocDbSettings) SetDatabaseName(v string) *DocDbSettings {
11239	s.DatabaseName = &v
11240	return s
11241}
11242
11243// SetDocsToInvestigate sets the DocsToInvestigate field's value.
11244func (s *DocDbSettings) SetDocsToInvestigate(v int64) *DocDbSettings {
11245	s.DocsToInvestigate = &v
11246	return s
11247}
11248
11249// SetExtractDocId sets the ExtractDocId field's value.
11250func (s *DocDbSettings) SetExtractDocId(v bool) *DocDbSettings {
11251	s.ExtractDocId = &v
11252	return s
11253}
11254
11255// SetKmsKeyId sets the KmsKeyId field's value.
11256func (s *DocDbSettings) SetKmsKeyId(v string) *DocDbSettings {
11257	s.KmsKeyId = &v
11258	return s
11259}
11260
11261// SetNestingLevel sets the NestingLevel field's value.
11262func (s *DocDbSettings) SetNestingLevel(v string) *DocDbSettings {
11263	s.NestingLevel = &v
11264	return s
11265}
11266
11267// SetPassword sets the Password field's value.
11268func (s *DocDbSettings) SetPassword(v string) *DocDbSettings {
11269	s.Password = &v
11270	return s
11271}
11272
11273// SetPort sets the Port field's value.
11274func (s *DocDbSettings) SetPort(v int64) *DocDbSettings {
11275	s.Port = &v
11276	return s
11277}
11278
11279// SetSecretsManagerAccessRoleArn sets the SecretsManagerAccessRoleArn field's value.
11280func (s *DocDbSettings) SetSecretsManagerAccessRoleArn(v string) *DocDbSettings {
11281	s.SecretsManagerAccessRoleArn = &v
11282	return s
11283}
11284
11285// SetSecretsManagerSecretId sets the SecretsManagerSecretId field's value.
11286func (s *DocDbSettings) SetSecretsManagerSecretId(v string) *DocDbSettings {
11287	s.SecretsManagerSecretId = &v
11288	return s
11289}
11290
11291// SetServerName sets the ServerName field's value.
11292func (s *DocDbSettings) SetServerName(v string) *DocDbSettings {
11293	s.ServerName = &v
11294	return s
11295}
11296
11297// SetUsername sets the Username field's value.
11298func (s *DocDbSettings) SetUsername(v string) *DocDbSettings {
11299	s.Username = &v
11300	return s
11301}
11302
11303// Provides the Amazon Resource Name (ARN) of the Identity and Access Management
11304// (IAM) role used to define an Amazon DynamoDB target endpoint.
11305type DynamoDbSettings struct {
11306	_ struct{} `type:"structure"`
11307
11308	// The Amazon Resource Name (ARN) used by the service to access the IAM role.
11309	// The role must allow the iam:PassRole action.
11310	//
11311	// ServiceAccessRoleArn is a required field
11312	ServiceAccessRoleArn *string `type:"string" required:"true"`
11313}
11314
11315// String returns the string representation.
11316//
11317// API parameter values that are decorated as "sensitive" in the API will not
11318// be included in the string output. The member name will be present, but the
11319// value will be replaced with "sensitive".
11320func (s DynamoDbSettings) String() string {
11321	return awsutil.Prettify(s)
11322}
11323
11324// GoString returns the string representation.
11325//
11326// API parameter values that are decorated as "sensitive" in the API will not
11327// be included in the string output. The member name will be present, but the
11328// value will be replaced with "sensitive".
11329func (s DynamoDbSettings) GoString() string {
11330	return s.String()
11331}
11332
11333// Validate inspects the fields of the type to determine if they are valid.
11334func (s *DynamoDbSettings) Validate() error {
11335	invalidParams := request.ErrInvalidParams{Context: "DynamoDbSettings"}
11336	if s.ServiceAccessRoleArn == nil {
11337		invalidParams.Add(request.NewErrParamRequired("ServiceAccessRoleArn"))
11338	}
11339
11340	if invalidParams.Len() > 0 {
11341		return invalidParams
11342	}
11343	return nil
11344}
11345
11346// SetServiceAccessRoleArn sets the ServiceAccessRoleArn field's value.
11347func (s *DynamoDbSettings) SetServiceAccessRoleArn(v string) *DynamoDbSettings {
11348	s.ServiceAccessRoleArn = &v
11349	return s
11350}
11351
11352// Provides information that defines an Elasticsearch endpoint.
11353type ElasticsearchSettings struct {
11354	_ struct{} `type:"structure"`
11355
11356	// The endpoint for the Elasticsearch cluster. DMS uses HTTPS if a transport
11357	// protocol (http/https) is not specified.
11358	//
11359	// EndpointUri is a required field
11360	EndpointUri *string `type:"string" required:"true"`
11361
11362	// The maximum number of seconds for which DMS retries failed API requests to
11363	// the Elasticsearch cluster.
11364	ErrorRetryDuration *int64 `type:"integer"`
11365
11366	// The maximum percentage of records that can fail to be written before a full
11367	// load operation stops.
11368	//
11369	// To avoid early failure, this counter is only effective after 1000 records
11370	// are transferred. Elasticsearch also has the concept of error monitoring during
11371	// the last 10 minutes of an Observation Window. If transfer of all records
11372	// fail in the last 10 minutes, the full load operation stops.
11373	FullLoadErrorPercentage *int64 `type:"integer"`
11374
11375	// The Amazon Resource Name (ARN) used by the service to access the IAM role.
11376	// The role must allow the iam:PassRole action.
11377	//
11378	// ServiceAccessRoleArn is a required field
11379	ServiceAccessRoleArn *string `type:"string" required:"true"`
11380}
11381
11382// String returns the string representation.
11383//
11384// API parameter values that are decorated as "sensitive" in the API will not
11385// be included in the string output. The member name will be present, but the
11386// value will be replaced with "sensitive".
11387func (s ElasticsearchSettings) String() string {
11388	return awsutil.Prettify(s)
11389}
11390
11391// GoString returns the string representation.
11392//
11393// API parameter values that are decorated as "sensitive" in the API will not
11394// be included in the string output. The member name will be present, but the
11395// value will be replaced with "sensitive".
11396func (s ElasticsearchSettings) GoString() string {
11397	return s.String()
11398}
11399
11400// Validate inspects the fields of the type to determine if they are valid.
11401func (s *ElasticsearchSettings) Validate() error {
11402	invalidParams := request.ErrInvalidParams{Context: "ElasticsearchSettings"}
11403	if s.EndpointUri == nil {
11404		invalidParams.Add(request.NewErrParamRequired("EndpointUri"))
11405	}
11406	if s.ServiceAccessRoleArn == nil {
11407		invalidParams.Add(request.NewErrParamRequired("ServiceAccessRoleArn"))
11408	}
11409
11410	if invalidParams.Len() > 0 {
11411		return invalidParams
11412	}
11413	return nil
11414}
11415
11416// SetEndpointUri sets the EndpointUri field's value.
11417func (s *ElasticsearchSettings) SetEndpointUri(v string) *ElasticsearchSettings {
11418	s.EndpointUri = &v
11419	return s
11420}
11421
11422// SetErrorRetryDuration sets the ErrorRetryDuration field's value.
11423func (s *ElasticsearchSettings) SetErrorRetryDuration(v int64) *ElasticsearchSettings {
11424	s.ErrorRetryDuration = &v
11425	return s
11426}
11427
11428// SetFullLoadErrorPercentage sets the FullLoadErrorPercentage field's value.
11429func (s *ElasticsearchSettings) SetFullLoadErrorPercentage(v int64) *ElasticsearchSettings {
11430	s.FullLoadErrorPercentage = &v
11431	return s
11432}
11433
11434// SetServiceAccessRoleArn sets the ServiceAccessRoleArn field's value.
11435func (s *ElasticsearchSettings) SetServiceAccessRoleArn(v string) *ElasticsearchSettings {
11436	s.ServiceAccessRoleArn = &v
11437	return s
11438}
11439
11440// Describes an endpoint of a database instance in response to operations such
11441// as the following:
11442//
11443//    * CreateEndpoint
11444//
11445//    * DescribeEndpoint
11446//
11447//    * ModifyEndpoint
11448type Endpoint struct {
11449	_ struct{} `type:"structure"`
11450
11451	// The Amazon Resource Name (ARN) used for SSL connection to the endpoint.
11452	CertificateArn *string `type:"string"`
11453
11454	// The name of the database at the endpoint.
11455	DatabaseName *string `type:"string"`
11456
11457	// The settings in JSON format for the DMS transfer type of source endpoint.
11458	//
11459	// Possible settings include the following:
11460	//
11461	//    * ServiceAccessRoleArn - - The Amazon Resource Name (ARN) used by the
11462	//    service access IAM role. The role must allow the iam:PassRole action.
11463	//
11464	//    * BucketName - The name of the S3 bucket to use.
11465	//
11466	// Shorthand syntax for these settings is as follows: ServiceAccessRoleArn=string,BucketName=string,
11467	//
11468	// JSON syntax for these settings is as follows: { "ServiceAccessRoleArn": "string",
11469	// "BucketName": "string"}
11470	DmsTransferSettings *DmsTransferSettings `type:"structure"`
11471
11472	// Provides information that defines a DocumentDB endpoint.
11473	DocDbSettings *DocDbSettings `type:"structure"`
11474
11475	// The settings for the DynamoDB target endpoint. For more information, see
11476	// the DynamoDBSettings structure.
11477	DynamoDbSettings *DynamoDbSettings `type:"structure"`
11478
11479	// The settings for the Elasticsearch source endpoint. For more information,
11480	// see the ElasticsearchSettings structure.
11481	ElasticsearchSettings *ElasticsearchSettings `type:"structure"`
11482
11483	// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.
11484	EndpointArn *string `type:"string"`
11485
11486	// The database endpoint identifier. Identifiers must begin with a letter and
11487	// must contain only ASCII letters, digits, and hyphens. They can't end with
11488	// a hyphen or contain two consecutive hyphens.
11489	EndpointIdentifier *string `type:"string"`
11490
11491	// The type of endpoint. Valid values are source and target.
11492	EndpointType *string `type:"string" enum:"ReplicationEndpointTypeValue"`
11493
11494	// The expanded name for the engine name. For example, if the EngineName parameter
11495	// is "aurora," this value would be "Amazon Aurora MySQL."
11496	EngineDisplayName *string `type:"string"`
11497
11498	// The database engine name. Valid values, depending on the EndpointType, include
11499	// "mysql", "oracle", "postgres", "mariadb", "aurora", "aurora-postgresql",
11500	// "redshift", "s3", "db2", "azuredb", "sybase", "dynamodb", "mongodb", "kinesis",
11501	// "kafka", "elasticsearch", "documentdb", "sqlserver", and "neptune".
11502	EngineName *string `type:"string"`
11503
11504	// Value returned by a call to CreateEndpoint that can be used for cross-account
11505	// validation. Use it on a subsequent call to CreateEndpoint to create the endpoint
11506	// with a cross-account.
11507	ExternalId *string `type:"string"`
11508
11509	// The external table definition.
11510	ExternalTableDefinition *string `type:"string"`
11511
11512	// Additional connection attributes used to connect to the endpoint.
11513	ExtraConnectionAttributes *string `type:"string"`
11514
11515	// The settings for the IBM Db2 LUW source endpoint. For more information, see
11516	// the IBMDb2Settings structure.
11517	IBMDb2Settings *IBMDb2Settings `type:"structure"`
11518
11519	// The settings for the Apache Kafka target endpoint. For more information,
11520	// see the KafkaSettings structure.
11521	KafkaSettings *KafkaSettings `type:"structure"`
11522
11523	// The settings for the Amazon Kinesis target endpoint. For more information,
11524	// see the KinesisSettings structure.
11525	KinesisSettings *KinesisSettings `type:"structure"`
11526
11527	// An KMS key identifier that is used to encrypt the connection parameters for
11528	// the endpoint.
11529	//
11530	// If you don't specify a value for the KmsKeyId parameter, then DMS uses your
11531	// default encryption key.
11532	//
11533	// KMS creates the default encryption key for your Amazon Web Services account.
11534	// Your Amazon Web Services account has a different default encryption key for
11535	// each Amazon Web Services Region.
11536	KmsKeyId *string `type:"string"`
11537
11538	// The settings for the Microsoft SQL Server source and target endpoint. For
11539	// more information, see the MicrosoftSQLServerSettings structure.
11540	MicrosoftSQLServerSettings *MicrosoftSQLServerSettings `type:"structure"`
11541
11542	// The settings for the MongoDB source endpoint. For more information, see the
11543	// MongoDbSettings structure.
11544	MongoDbSettings *MongoDbSettings `type:"structure"`
11545
11546	// The settings for the MySQL source and target endpoint. For more information,
11547	// see the MySQLSettings structure.
11548	MySQLSettings *MySQLSettings `type:"structure"`
11549
11550	// The settings for the Amazon Neptune target endpoint. For more information,
11551	// see the NeptuneSettings structure.
11552	NeptuneSettings *NeptuneSettings `type:"structure"`
11553
11554	// The settings for the Oracle source and target endpoint. For more information,
11555	// see the OracleSettings structure.
11556	OracleSettings *OracleSettings `type:"structure"`
11557
11558	// The port value used to access the endpoint.
11559	Port *int64 `type:"integer"`
11560
11561	// The settings for the PostgreSQL source and target endpoint. For more information,
11562	// see the PostgreSQLSettings structure.
11563	PostgreSQLSettings *PostgreSQLSettings `type:"structure"`
11564
11565	// The settings for the Redis target endpoint. For more information, see the
11566	// RedisSettings structure.
11567	RedisSettings *RedisSettings `type:"structure"`
11568
11569	// Settings for the Amazon Redshift endpoint.
11570	RedshiftSettings *RedshiftSettings `type:"structure"`
11571
11572	// The settings for the S3 target endpoint. For more information, see the S3Settings
11573	// structure.
11574	S3Settings *S3Settings `type:"structure"`
11575
11576	// The name of the server at the endpoint.
11577	ServerName *string `type:"string"`
11578
11579	// The Amazon Resource Name (ARN) used by the service to access the IAM role.
11580	// The role must allow the iam:PassRole action.
11581	ServiceAccessRoleArn *string `type:"string"`
11582
11583	// The SSL mode used to connect to the endpoint. The default value is none.
11584	SslMode *string `type:"string" enum:"DmsSslModeValue"`
11585
11586	// The status of the endpoint.
11587	Status *string `type:"string"`
11588
11589	// The settings for the SAP ASE source and target endpoint. For more information,
11590	// see the SybaseSettings structure.
11591	SybaseSettings *SybaseSettings `type:"structure"`
11592
11593	// The user name used to connect to the endpoint.
11594	Username *string `type:"string"`
11595}
11596
11597// String returns the string representation.
11598//
11599// API parameter values that are decorated as "sensitive" in the API will not
11600// be included in the string output. The member name will be present, but the
11601// value will be replaced with "sensitive".
11602func (s Endpoint) String() string {
11603	return awsutil.Prettify(s)
11604}
11605
11606// GoString returns the string representation.
11607//
11608// API parameter values that are decorated as "sensitive" in the API will not
11609// be included in the string output. The member name will be present, but the
11610// value will be replaced with "sensitive".
11611func (s Endpoint) GoString() string {
11612	return s.String()
11613}
11614
11615// SetCertificateArn sets the CertificateArn field's value.
11616func (s *Endpoint) SetCertificateArn(v string) *Endpoint {
11617	s.CertificateArn = &v
11618	return s
11619}
11620
11621// SetDatabaseName sets the DatabaseName field's value.
11622func (s *Endpoint) SetDatabaseName(v string) *Endpoint {
11623	s.DatabaseName = &v
11624	return s
11625}
11626
11627// SetDmsTransferSettings sets the DmsTransferSettings field's value.
11628func (s *Endpoint) SetDmsTransferSettings(v *DmsTransferSettings) *Endpoint {
11629	s.DmsTransferSettings = v
11630	return s
11631}
11632
11633// SetDocDbSettings sets the DocDbSettings field's value.
11634func (s *Endpoint) SetDocDbSettings(v *DocDbSettings) *Endpoint {
11635	s.DocDbSettings = v
11636	return s
11637}
11638
11639// SetDynamoDbSettings sets the DynamoDbSettings field's value.
11640func (s *Endpoint) SetDynamoDbSettings(v *DynamoDbSettings) *Endpoint {
11641	s.DynamoDbSettings = v
11642	return s
11643}
11644
11645// SetElasticsearchSettings sets the ElasticsearchSettings field's value.
11646func (s *Endpoint) SetElasticsearchSettings(v *ElasticsearchSettings) *Endpoint {
11647	s.ElasticsearchSettings = v
11648	return s
11649}
11650
11651// SetEndpointArn sets the EndpointArn field's value.
11652func (s *Endpoint) SetEndpointArn(v string) *Endpoint {
11653	s.EndpointArn = &v
11654	return s
11655}
11656
11657// SetEndpointIdentifier sets the EndpointIdentifier field's value.
11658func (s *Endpoint) SetEndpointIdentifier(v string) *Endpoint {
11659	s.EndpointIdentifier = &v
11660	return s
11661}
11662
11663// SetEndpointType sets the EndpointType field's value.
11664func (s *Endpoint) SetEndpointType(v string) *Endpoint {
11665	s.EndpointType = &v
11666	return s
11667}
11668
11669// SetEngineDisplayName sets the EngineDisplayName field's value.
11670func (s *Endpoint) SetEngineDisplayName(v string) *Endpoint {
11671	s.EngineDisplayName = &v
11672	return s
11673}
11674
11675// SetEngineName sets the EngineName field's value.
11676func (s *Endpoint) SetEngineName(v string) *Endpoint {
11677	s.EngineName = &v
11678	return s
11679}
11680
11681// SetExternalId sets the ExternalId field's value.
11682func (s *Endpoint) SetExternalId(v string) *Endpoint {
11683	s.ExternalId = &v
11684	return s
11685}
11686
11687// SetExternalTableDefinition sets the ExternalTableDefinition field's value.
11688func (s *Endpoint) SetExternalTableDefinition(v string) *Endpoint {
11689	s.ExternalTableDefinition = &v
11690	return s
11691}
11692
11693// SetExtraConnectionAttributes sets the ExtraConnectionAttributes field's value.
11694func (s *Endpoint) SetExtraConnectionAttributes(v string) *Endpoint {
11695	s.ExtraConnectionAttributes = &v
11696	return s
11697}
11698
11699// SetIBMDb2Settings sets the IBMDb2Settings field's value.
11700func (s *Endpoint) SetIBMDb2Settings(v *IBMDb2Settings) *Endpoint {
11701	s.IBMDb2Settings = v
11702	return s
11703}
11704
11705// SetKafkaSettings sets the KafkaSettings field's value.
11706func (s *Endpoint) SetKafkaSettings(v *KafkaSettings) *Endpoint {
11707	s.KafkaSettings = v
11708	return s
11709}
11710
11711// SetKinesisSettings sets the KinesisSettings field's value.
11712func (s *Endpoint) SetKinesisSettings(v *KinesisSettings) *Endpoint {
11713	s.KinesisSettings = v
11714	return s
11715}
11716
11717// SetKmsKeyId sets the KmsKeyId field's value.
11718func (s *Endpoint) SetKmsKeyId(v string) *Endpoint {
11719	s.KmsKeyId = &v
11720	return s
11721}
11722
11723// SetMicrosoftSQLServerSettings sets the MicrosoftSQLServerSettings field's value.
11724func (s *Endpoint) SetMicrosoftSQLServerSettings(v *MicrosoftSQLServerSettings) *Endpoint {
11725	s.MicrosoftSQLServerSettings = v
11726	return s
11727}
11728
11729// SetMongoDbSettings sets the MongoDbSettings field's value.
11730func (s *Endpoint) SetMongoDbSettings(v *MongoDbSettings) *Endpoint {
11731	s.MongoDbSettings = v
11732	return s
11733}
11734
11735// SetMySQLSettings sets the MySQLSettings field's value.
11736func (s *Endpoint) SetMySQLSettings(v *MySQLSettings) *Endpoint {
11737	s.MySQLSettings = v
11738	return s
11739}
11740
11741// SetNeptuneSettings sets the NeptuneSettings field's value.
11742func (s *Endpoint) SetNeptuneSettings(v *NeptuneSettings) *Endpoint {
11743	s.NeptuneSettings = v
11744	return s
11745}
11746
11747// SetOracleSettings sets the OracleSettings field's value.
11748func (s *Endpoint) SetOracleSettings(v *OracleSettings) *Endpoint {
11749	s.OracleSettings = v
11750	return s
11751}
11752
11753// SetPort sets the Port field's value.
11754func (s *Endpoint) SetPort(v int64) *Endpoint {
11755	s.Port = &v
11756	return s
11757}
11758
11759// SetPostgreSQLSettings sets the PostgreSQLSettings field's value.
11760func (s *Endpoint) SetPostgreSQLSettings(v *PostgreSQLSettings) *Endpoint {
11761	s.PostgreSQLSettings = v
11762	return s
11763}
11764
11765// SetRedisSettings sets the RedisSettings field's value.
11766func (s *Endpoint) SetRedisSettings(v *RedisSettings) *Endpoint {
11767	s.RedisSettings = v
11768	return s
11769}
11770
11771// SetRedshiftSettings sets the RedshiftSettings field's value.
11772func (s *Endpoint) SetRedshiftSettings(v *RedshiftSettings) *Endpoint {
11773	s.RedshiftSettings = v
11774	return s
11775}
11776
11777// SetS3Settings sets the S3Settings field's value.
11778func (s *Endpoint) SetS3Settings(v *S3Settings) *Endpoint {
11779	s.S3Settings = v
11780	return s
11781}
11782
11783// SetServerName sets the ServerName field's value.
11784func (s *Endpoint) SetServerName(v string) *Endpoint {
11785	s.ServerName = &v
11786	return s
11787}
11788
11789// SetServiceAccessRoleArn sets the ServiceAccessRoleArn field's value.
11790func (s *Endpoint) SetServiceAccessRoleArn(v string) *Endpoint {
11791	s.ServiceAccessRoleArn = &v
11792	return s
11793}
11794
11795// SetSslMode sets the SslMode field's value.
11796func (s *Endpoint) SetSslMode(v string) *Endpoint {
11797	s.SslMode = &v
11798	return s
11799}
11800
11801// SetStatus sets the Status field's value.
11802func (s *Endpoint) SetStatus(v string) *Endpoint {
11803	s.Status = &v
11804	return s
11805}
11806
11807// SetSybaseSettings sets the SybaseSettings field's value.
11808func (s *Endpoint) SetSybaseSettings(v *SybaseSettings) *Endpoint {
11809	s.SybaseSettings = v
11810	return s
11811}
11812
11813// SetUsername sets the Username field's value.
11814func (s *Endpoint) SetUsername(v string) *Endpoint {
11815	s.Username = &v
11816	return s
11817}
11818
11819// Endpoint settings.
11820type EndpointSetting struct {
11821	_ struct{} `type:"structure"`
11822
11823	// The relevance or validity of an endpoint setting for an engine name and its
11824	// endpoint type.
11825	Applicability *string `type:"string"`
11826
11827	// The default value of the endpoint setting if no value is specified using
11828	// CreateEndpoint or ModifyEndpoint.
11829	DefaultValue *string `type:"string"`
11830
11831	// Enumerated values to use for this endpoint.
11832	EnumValues []*string `type:"list"`
11833
11834	// The maximum value of an endpoint setting that is of type int.
11835	IntValueMax *int64 `type:"integer"`
11836
11837	// The minimum value of an endpoint setting that is of type int.
11838	IntValueMin *int64 `type:"integer"`
11839
11840	// The name that you want to give the endpoint settings.
11841	Name *string `type:"string"`
11842
11843	// A value that marks this endpoint setting as sensitive.
11844	Sensitive *bool `type:"boolean"`
11845
11846	// The type of endpoint. Valid values are source and target.
11847	Type *string `type:"string" enum:"EndpointSettingTypeValue"`
11848
11849	// The unit of measure for this endpoint setting.
11850	Units *string `type:"string"`
11851}
11852
11853// String returns the string representation.
11854//
11855// API parameter values that are decorated as "sensitive" in the API will not
11856// be included in the string output. The member name will be present, but the
11857// value will be replaced with "sensitive".
11858func (s EndpointSetting) String() string {
11859	return awsutil.Prettify(s)
11860}
11861
11862// GoString returns the string representation.
11863//
11864// API parameter values that are decorated as "sensitive" in the API will not
11865// be included in the string output. The member name will be present, but the
11866// value will be replaced with "sensitive".
11867func (s EndpointSetting) GoString() string {
11868	return s.String()
11869}
11870
11871// SetApplicability sets the Applicability field's value.
11872func (s *EndpointSetting) SetApplicability(v string) *EndpointSetting {
11873	s.Applicability = &v
11874	return s
11875}
11876
11877// SetDefaultValue sets the DefaultValue field's value.
11878func (s *EndpointSetting) SetDefaultValue(v string) *EndpointSetting {
11879	s.DefaultValue = &v
11880	return s
11881}
11882
11883// SetEnumValues sets the EnumValues field's value.
11884func (s *EndpointSetting) SetEnumValues(v []*string) *EndpointSetting {
11885	s.EnumValues = v
11886	return s
11887}
11888
11889// SetIntValueMax sets the IntValueMax field's value.
11890func (s *EndpointSetting) SetIntValueMax(v int64) *EndpointSetting {
11891	s.IntValueMax = &v
11892	return s
11893}
11894
11895// SetIntValueMin sets the IntValueMin field's value.
11896func (s *EndpointSetting) SetIntValueMin(v int64) *EndpointSetting {
11897	s.IntValueMin = &v
11898	return s
11899}
11900
11901// SetName sets the Name field's value.
11902func (s *EndpointSetting) SetName(v string) *EndpointSetting {
11903	s.Name = &v
11904	return s
11905}
11906
11907// SetSensitive sets the Sensitive field's value.
11908func (s *EndpointSetting) SetSensitive(v bool) *EndpointSetting {
11909	s.Sensitive = &v
11910	return s
11911}
11912
11913// SetType sets the Type field's value.
11914func (s *EndpointSetting) SetType(v string) *EndpointSetting {
11915	s.Type = &v
11916	return s
11917}
11918
11919// SetUnits sets the Units field's value.
11920func (s *EndpointSetting) SetUnits(v string) *EndpointSetting {
11921	s.Units = &v
11922	return s
11923}
11924
11925// Describes an identifiable significant activity that affects a replication
11926// instance or task. This object can provide the message, the available event
11927// categories, the date and source of the event, and the DMS resource type.
11928type Event struct {
11929	_ struct{} `type:"structure"`
11930
11931	// The date of the event.
11932	Date *time.Time `type:"timestamp"`
11933
11934	// The event categories available for the specified source type.
11935	EventCategories []*string `type:"list"`
11936
11937	// The event message.
11938	Message *string `type:"string"`
11939
11940	// The identifier of an event source.
11941	SourceIdentifier *string `type:"string"`
11942
11943	// The type of DMS resource that generates events.
11944	//
11945	// Valid values: replication-instance | endpoint | replication-task
11946	SourceType *string `type:"string" enum:"SourceType"`
11947}
11948
11949// String returns the string representation.
11950//
11951// API parameter values that are decorated as "sensitive" in the API will not
11952// be included in the string output. The member name will be present, but the
11953// value will be replaced with "sensitive".
11954func (s Event) String() string {
11955	return awsutil.Prettify(s)
11956}
11957
11958// GoString returns the string representation.
11959//
11960// API parameter values that are decorated as "sensitive" in the API will not
11961// be included in the string output. The member name will be present, but the
11962// value will be replaced with "sensitive".
11963func (s Event) GoString() string {
11964	return s.String()
11965}
11966
11967// SetDate sets the Date field's value.
11968func (s *Event) SetDate(v time.Time) *Event {
11969	s.Date = &v
11970	return s
11971}
11972
11973// SetEventCategories sets the EventCategories field's value.
11974func (s *Event) SetEventCategories(v []*string) *Event {
11975	s.EventCategories = v
11976	return s
11977}
11978
11979// SetMessage sets the Message field's value.
11980func (s *Event) SetMessage(v string) *Event {
11981	s.Message = &v
11982	return s
11983}
11984
11985// SetSourceIdentifier sets the SourceIdentifier field's value.
11986func (s *Event) SetSourceIdentifier(v string) *Event {
11987	s.SourceIdentifier = &v
11988	return s
11989}
11990
11991// SetSourceType sets the SourceType field's value.
11992func (s *Event) SetSourceType(v string) *Event {
11993	s.SourceType = &v
11994	return s
11995}
11996
11997// Lists categories of events subscribed to, and generated by, the applicable
11998// DMS resource type. This data type appears in response to the DescribeEventCategories
11999// (https://docs.aws.amazon.com/dms/latest/APIReference/API_EventCategoryGroup.html)
12000// action.
12001type EventCategoryGroup struct {
12002	_ struct{} `type:"structure"`
12003
12004	// A list of event categories from a source type that you've chosen.
12005	EventCategories []*string `type:"list"`
12006
12007	// The type of DMS resource that generates events.
12008	//
12009	// Valid values: replication-instance | replication-server | security-group
12010	// | replication-task
12011	SourceType *string `type:"string"`
12012}
12013
12014// String returns the string representation.
12015//
12016// API parameter values that are decorated as "sensitive" in the API will not
12017// be included in the string output. The member name will be present, but the
12018// value will be replaced with "sensitive".
12019func (s EventCategoryGroup) String() string {
12020	return awsutil.Prettify(s)
12021}
12022
12023// GoString returns the string representation.
12024//
12025// API parameter values that are decorated as "sensitive" in the API will not
12026// be included in the string output. The member name will be present, but the
12027// value will be replaced with "sensitive".
12028func (s EventCategoryGroup) GoString() string {
12029	return s.String()
12030}
12031
12032// SetEventCategories sets the EventCategories field's value.
12033func (s *EventCategoryGroup) SetEventCategories(v []*string) *EventCategoryGroup {
12034	s.EventCategories = v
12035	return s
12036}
12037
12038// SetSourceType sets the SourceType field's value.
12039func (s *EventCategoryGroup) SetSourceType(v string) *EventCategoryGroup {
12040	s.SourceType = &v
12041	return s
12042}
12043
12044// Describes an event notification subscription created by the CreateEventSubscription
12045// operation.
12046type EventSubscription struct {
12047	_ struct{} `type:"structure"`
12048
12049	// The DMS event notification subscription Id.
12050	CustSubscriptionId *string `type:"string"`
12051
12052	// The Amazon Web Services customer account associated with the DMS event notification
12053	// subscription.
12054	CustomerAwsId *string `type:"string"`
12055
12056	// Boolean value that indicates if the event subscription is enabled.
12057	Enabled *bool `type:"boolean"`
12058
12059	// A lists of event categories.
12060	EventCategoriesList []*string `type:"list"`
12061
12062	// The topic ARN of the DMS event notification subscription.
12063	SnsTopicArn *string `type:"string"`
12064
12065	// A list of source Ids for the event subscription.
12066	SourceIdsList []*string `type:"list"`
12067
12068	// The type of DMS resource that generates events.
12069	//
12070	// Valid values: replication-instance | replication-server | security-group
12071	// | replication-task
12072	SourceType *string `type:"string"`
12073
12074	// The status of the DMS event notification subscription.
12075	//
12076	// Constraints:
12077	//
12078	// Can be one of the following: creating | modifying | deleting | active | no-permission
12079	// | topic-not-exist
12080	//
12081	// The status "no-permission" indicates that DMS no longer has permission to
12082	// post to the SNS topic. The status "topic-not-exist" indicates that the topic
12083	// was deleted after the subscription was created.
12084	Status *string `type:"string"`
12085
12086	// The time the DMS event notification subscription was created.
12087	SubscriptionCreationTime *string `type:"string"`
12088}
12089
12090// String returns the string representation.
12091//
12092// API parameter values that are decorated as "sensitive" in the API will not
12093// be included in the string output. The member name will be present, but the
12094// value will be replaced with "sensitive".
12095func (s EventSubscription) String() string {
12096	return awsutil.Prettify(s)
12097}
12098
12099// GoString returns the string representation.
12100//
12101// API parameter values that are decorated as "sensitive" in the API will not
12102// be included in the string output. The member name will be present, but the
12103// value will be replaced with "sensitive".
12104func (s EventSubscription) GoString() string {
12105	return s.String()
12106}
12107
12108// SetCustSubscriptionId sets the CustSubscriptionId field's value.
12109func (s *EventSubscription) SetCustSubscriptionId(v string) *EventSubscription {
12110	s.CustSubscriptionId = &v
12111	return s
12112}
12113
12114// SetCustomerAwsId sets the CustomerAwsId field's value.
12115func (s *EventSubscription) SetCustomerAwsId(v string) *EventSubscription {
12116	s.CustomerAwsId = &v
12117	return s
12118}
12119
12120// SetEnabled sets the Enabled field's value.
12121func (s *EventSubscription) SetEnabled(v bool) *EventSubscription {
12122	s.Enabled = &v
12123	return s
12124}
12125
12126// SetEventCategoriesList sets the EventCategoriesList field's value.
12127func (s *EventSubscription) SetEventCategoriesList(v []*string) *EventSubscription {
12128	s.EventCategoriesList = v
12129	return s
12130}
12131
12132// SetSnsTopicArn sets the SnsTopicArn field's value.
12133func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription {
12134	s.SnsTopicArn = &v
12135	return s
12136}
12137
12138// SetSourceIdsList sets the SourceIdsList field's value.
12139func (s *EventSubscription) SetSourceIdsList(v []*string) *EventSubscription {
12140	s.SourceIdsList = v
12141	return s
12142}
12143
12144// SetSourceType sets the SourceType field's value.
12145func (s *EventSubscription) SetSourceType(v string) *EventSubscription {
12146	s.SourceType = &v
12147	return s
12148}
12149
12150// SetStatus sets the Status field's value.
12151func (s *EventSubscription) SetStatus(v string) *EventSubscription {
12152	s.Status = &v
12153	return s
12154}
12155
12156// SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
12157func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscription {
12158	s.SubscriptionCreationTime = &v
12159	return s
12160}
12161
12162// Identifies the name and value of a filter object. This filter is used to
12163// limit the number and type of DMS objects that are returned for a particular
12164// Describe* call or similar operation. Filters are used as an optional parameter
12165// for certain API operations.
12166type Filter struct {
12167	_ struct{} `type:"structure"`
12168
12169	// The name of the filter as specified for a Describe* or similar operation.
12170	//
12171	// Name is a required field
12172	Name *string `type:"string" required:"true"`
12173
12174	// The filter value, which can specify one or more values used to narrow the
12175	// returned results.
12176	//
12177	// Values is a required field
12178	Values []*string `type:"list" required:"true"`
12179}
12180
12181// String returns the string representation.
12182//
12183// API parameter values that are decorated as "sensitive" in the API will not
12184// be included in the string output. The member name will be present, but the
12185// value will be replaced with "sensitive".
12186func (s Filter) String() string {
12187	return awsutil.Prettify(s)
12188}
12189
12190// GoString returns the string representation.
12191//
12192// API parameter values that are decorated as "sensitive" in the API will not
12193// be included in the string output. The member name will be present, but the
12194// value will be replaced with "sensitive".
12195func (s Filter) GoString() string {
12196	return s.String()
12197}
12198
12199// Validate inspects the fields of the type to determine if they are valid.
12200func (s *Filter) Validate() error {
12201	invalidParams := request.ErrInvalidParams{Context: "Filter"}
12202	if s.Name == nil {
12203		invalidParams.Add(request.NewErrParamRequired("Name"))
12204	}
12205	if s.Values == nil {
12206		invalidParams.Add(request.NewErrParamRequired("Values"))
12207	}
12208
12209	if invalidParams.Len() > 0 {
12210		return invalidParams
12211	}
12212	return nil
12213}
12214
12215// SetName sets the Name field's value.
12216func (s *Filter) SetName(v string) *Filter {
12217	s.Name = &v
12218	return s
12219}
12220
12221// SetValues sets the Values field's value.
12222func (s *Filter) SetValues(v []*string) *Filter {
12223	s.Values = v
12224	return s
12225}
12226
12227// Provides information that defines an IBM Db2 LUW endpoint.
12228type IBMDb2Settings struct {
12229	_ struct{} `type:"structure"`
12230
12231	// For ongoing replication (CDC), use CurrentLSN to specify a log sequence number
12232	// (LSN) where you want the replication to start.
12233	CurrentLsn *string `type:"string"`
12234
12235	// Database name for the endpoint.
12236	DatabaseName *string `type:"string"`
12237
12238	// Maximum number of bytes per read, as a NUMBER value. The default is 64 KB.
12239	MaxKBytesPerRead *int64 `type:"integer"`
12240
12241	// Endpoint connection password.
12242	//
12243	// Password is a sensitive parameter and its value will be
12244	// replaced with "sensitive" in string returned by IBMDb2Settings's
12245	// String and GoString methods.
12246	Password *string `type:"string" sensitive:"true"`
12247
12248	// Endpoint TCP port. The default value is 50000.
12249	Port *int64 `type:"integer"`
12250
12251	// The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as
12252	// the trusted entity and grants the required permissions to access the value
12253	// in SecretsManagerSecret. The role must allow the iam:PassRole action. SecretsManagerSecret
12254	// has the value of the Amazon Web Services Secrets Manager secret that allows
12255	// access to the Db2 LUW endpoint.
12256	//
12257	// You can specify one of two sets of values for these permissions. You can
12258	// specify the values for this setting and SecretsManagerSecretId. Or you can
12259	// specify clear-text values for UserName, Password, ServerName, and Port. You
12260	// can't specify both. For more information on creating this SecretsManagerSecret
12261	// and the SecretsManagerAccessRoleArn and SecretsManagerSecretId required to
12262	// access it, see Using secrets to access Database Migration Service resources
12263	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
12264	// in the Database Migration Service User Guide.
12265	SecretsManagerAccessRoleArn *string `type:"string"`
12266
12267	// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that
12268	// contains the Db2 LUW endpoint connection details.
12269	SecretsManagerSecretId *string `type:"string"`
12270
12271	// Fully qualified domain name of the endpoint.
12272	ServerName *string `type:"string"`
12273
12274	// Enables ongoing replication (CDC) as a BOOLEAN value. The default is true.
12275	SetDataCaptureChanges *bool `type:"boolean"`
12276
12277	// Endpoint connection user name.
12278	Username *string `type:"string"`
12279}
12280
12281// String returns the string representation.
12282//
12283// API parameter values that are decorated as "sensitive" in the API will not
12284// be included in the string output. The member name will be present, but the
12285// value will be replaced with "sensitive".
12286func (s IBMDb2Settings) String() string {
12287	return awsutil.Prettify(s)
12288}
12289
12290// GoString returns the string representation.
12291//
12292// API parameter values that are decorated as "sensitive" in the API will not
12293// be included in the string output. The member name will be present, but the
12294// value will be replaced with "sensitive".
12295func (s IBMDb2Settings) GoString() string {
12296	return s.String()
12297}
12298
12299// SetCurrentLsn sets the CurrentLsn field's value.
12300func (s *IBMDb2Settings) SetCurrentLsn(v string) *IBMDb2Settings {
12301	s.CurrentLsn = &v
12302	return s
12303}
12304
12305// SetDatabaseName sets the DatabaseName field's value.
12306func (s *IBMDb2Settings) SetDatabaseName(v string) *IBMDb2Settings {
12307	s.DatabaseName = &v
12308	return s
12309}
12310
12311// SetMaxKBytesPerRead sets the MaxKBytesPerRead field's value.
12312func (s *IBMDb2Settings) SetMaxKBytesPerRead(v int64) *IBMDb2Settings {
12313	s.MaxKBytesPerRead = &v
12314	return s
12315}
12316
12317// SetPassword sets the Password field's value.
12318func (s *IBMDb2Settings) SetPassword(v string) *IBMDb2Settings {
12319	s.Password = &v
12320	return s
12321}
12322
12323// SetPort sets the Port field's value.
12324func (s *IBMDb2Settings) SetPort(v int64) *IBMDb2Settings {
12325	s.Port = &v
12326	return s
12327}
12328
12329// SetSecretsManagerAccessRoleArn sets the SecretsManagerAccessRoleArn field's value.
12330func (s *IBMDb2Settings) SetSecretsManagerAccessRoleArn(v string) *IBMDb2Settings {
12331	s.SecretsManagerAccessRoleArn = &v
12332	return s
12333}
12334
12335// SetSecretsManagerSecretId sets the SecretsManagerSecretId field's value.
12336func (s *IBMDb2Settings) SetSecretsManagerSecretId(v string) *IBMDb2Settings {
12337	s.SecretsManagerSecretId = &v
12338	return s
12339}
12340
12341// SetServerName sets the ServerName field's value.
12342func (s *IBMDb2Settings) SetServerName(v string) *IBMDb2Settings {
12343	s.ServerName = &v
12344	return s
12345}
12346
12347// SetSetDataCaptureChanges sets the SetDataCaptureChanges field's value.
12348func (s *IBMDb2Settings) SetSetDataCaptureChanges(v bool) *IBMDb2Settings {
12349	s.SetDataCaptureChanges = &v
12350	return s
12351}
12352
12353// SetUsername sets the Username field's value.
12354func (s *IBMDb2Settings) SetUsername(v string) *IBMDb2Settings {
12355	s.Username = &v
12356	return s
12357}
12358
12359type ImportCertificateInput struct {
12360	_ struct{} `type:"structure"`
12361
12362	// A customer-assigned name for the certificate. Identifiers must begin with
12363	// a letter and must contain only ASCII letters, digits, and hyphens. They can't
12364	// end with a hyphen or contain two consecutive hyphens.
12365	//
12366	// CertificateIdentifier is a required field
12367	CertificateIdentifier *string `type:"string" required:"true"`
12368
12369	// The contents of a .pem file, which contains an X.509 certificate.
12370	//
12371	// CertificatePem is a sensitive parameter and its value will be
12372	// replaced with "sensitive" in string returned by ImportCertificateInput's
12373	// String and GoString methods.
12374	CertificatePem *string `type:"string" sensitive:"true"`
12375
12376	// The location of an imported Oracle Wallet certificate for use with SSL. Provide
12377	// the name of a .sso file using the fileb:// prefix. You can't provide the
12378	// certificate inline.
12379	// CertificateWallet is automatically base64 encoded/decoded by the SDK.
12380	CertificateWallet []byte `type:"blob"`
12381
12382	// The tags associated with the certificate.
12383	Tags []*Tag `type:"list"`
12384}
12385
12386// String returns the string representation.
12387//
12388// API parameter values that are decorated as "sensitive" in the API will not
12389// be included in the string output. The member name will be present, but the
12390// value will be replaced with "sensitive".
12391func (s ImportCertificateInput) String() string {
12392	return awsutil.Prettify(s)
12393}
12394
12395// GoString returns the string representation.
12396//
12397// API parameter values that are decorated as "sensitive" in the API will not
12398// be included in the string output. The member name will be present, but the
12399// value will be replaced with "sensitive".
12400func (s ImportCertificateInput) GoString() string {
12401	return s.String()
12402}
12403
12404// Validate inspects the fields of the type to determine if they are valid.
12405func (s *ImportCertificateInput) Validate() error {
12406	invalidParams := request.ErrInvalidParams{Context: "ImportCertificateInput"}
12407	if s.CertificateIdentifier == nil {
12408		invalidParams.Add(request.NewErrParamRequired("CertificateIdentifier"))
12409	}
12410
12411	if invalidParams.Len() > 0 {
12412		return invalidParams
12413	}
12414	return nil
12415}
12416
12417// SetCertificateIdentifier sets the CertificateIdentifier field's value.
12418func (s *ImportCertificateInput) SetCertificateIdentifier(v string) *ImportCertificateInput {
12419	s.CertificateIdentifier = &v
12420	return s
12421}
12422
12423// SetCertificatePem sets the CertificatePem field's value.
12424func (s *ImportCertificateInput) SetCertificatePem(v string) *ImportCertificateInput {
12425	s.CertificatePem = &v
12426	return s
12427}
12428
12429// SetCertificateWallet sets the CertificateWallet field's value.
12430func (s *ImportCertificateInput) SetCertificateWallet(v []byte) *ImportCertificateInput {
12431	s.CertificateWallet = v
12432	return s
12433}
12434
12435// SetTags sets the Tags field's value.
12436func (s *ImportCertificateInput) SetTags(v []*Tag) *ImportCertificateInput {
12437	s.Tags = v
12438	return s
12439}
12440
12441type ImportCertificateOutput struct {
12442	_ struct{} `type:"structure"`
12443
12444	// The certificate to be uploaded.
12445	Certificate *Certificate `type:"structure"`
12446}
12447
12448// String returns the string representation.
12449//
12450// API parameter values that are decorated as "sensitive" in the API will not
12451// be included in the string output. The member name will be present, but the
12452// value will be replaced with "sensitive".
12453func (s ImportCertificateOutput) String() string {
12454	return awsutil.Prettify(s)
12455}
12456
12457// GoString returns the string representation.
12458//
12459// API parameter values that are decorated as "sensitive" in the API will not
12460// be included in the string output. The member name will be present, but the
12461// value will be replaced with "sensitive".
12462func (s ImportCertificateOutput) GoString() string {
12463	return s.String()
12464}
12465
12466// SetCertificate sets the Certificate field's value.
12467func (s *ImportCertificateOutput) SetCertificate(v *Certificate) *ImportCertificateOutput {
12468	s.Certificate = v
12469	return s
12470}
12471
12472// There are not enough resources allocated to the database migration.
12473type InsufficientResourceCapacityFault struct {
12474	_            struct{}                  `type:"structure"`
12475	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12476
12477	Message_ *string `locationName:"message" type:"string"`
12478}
12479
12480// String returns the string representation.
12481//
12482// API parameter values that are decorated as "sensitive" in the API will not
12483// be included in the string output. The member name will be present, but the
12484// value will be replaced with "sensitive".
12485func (s InsufficientResourceCapacityFault) String() string {
12486	return awsutil.Prettify(s)
12487}
12488
12489// GoString returns the string representation.
12490//
12491// API parameter values that are decorated as "sensitive" in the API will not
12492// be included in the string output. The member name will be present, but the
12493// value will be replaced with "sensitive".
12494func (s InsufficientResourceCapacityFault) GoString() string {
12495	return s.String()
12496}
12497
12498func newErrorInsufficientResourceCapacityFault(v protocol.ResponseMetadata) error {
12499	return &InsufficientResourceCapacityFault{
12500		RespMetadata: v,
12501	}
12502}
12503
12504// Code returns the exception type name.
12505func (s *InsufficientResourceCapacityFault) Code() string {
12506	return "InsufficientResourceCapacityFault"
12507}
12508
12509// Message returns the exception's message.
12510func (s *InsufficientResourceCapacityFault) Message() string {
12511	if s.Message_ != nil {
12512		return *s.Message_
12513	}
12514	return ""
12515}
12516
12517// OrigErr always returns nil, satisfies awserr.Error interface.
12518func (s *InsufficientResourceCapacityFault) OrigErr() error {
12519	return nil
12520}
12521
12522func (s *InsufficientResourceCapacityFault) Error() string {
12523	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12524}
12525
12526// Status code returns the HTTP status code for the request's response error.
12527func (s *InsufficientResourceCapacityFault) StatusCode() int {
12528	return s.RespMetadata.StatusCode
12529}
12530
12531// RequestID returns the service's response RequestID for request.
12532func (s *InsufficientResourceCapacityFault) RequestID() string {
12533	return s.RespMetadata.RequestID
12534}
12535
12536// The certificate was not valid.
12537type InvalidCertificateFault struct {
12538	_            struct{}                  `type:"structure"`
12539	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12540
12541	Message_ *string `locationName:"message" type:"string"`
12542}
12543
12544// String returns the string representation.
12545//
12546// API parameter values that are decorated as "sensitive" in the API will not
12547// be included in the string output. The member name will be present, but the
12548// value will be replaced with "sensitive".
12549func (s InvalidCertificateFault) String() string {
12550	return awsutil.Prettify(s)
12551}
12552
12553// GoString returns the string representation.
12554//
12555// API parameter values that are decorated as "sensitive" in the API will not
12556// be included in the string output. The member name will be present, but the
12557// value will be replaced with "sensitive".
12558func (s InvalidCertificateFault) GoString() string {
12559	return s.String()
12560}
12561
12562func newErrorInvalidCertificateFault(v protocol.ResponseMetadata) error {
12563	return &InvalidCertificateFault{
12564		RespMetadata: v,
12565	}
12566}
12567
12568// Code returns the exception type name.
12569func (s *InvalidCertificateFault) Code() string {
12570	return "InvalidCertificateFault"
12571}
12572
12573// Message returns the exception's message.
12574func (s *InvalidCertificateFault) Message() string {
12575	if s.Message_ != nil {
12576		return *s.Message_
12577	}
12578	return ""
12579}
12580
12581// OrigErr always returns nil, satisfies awserr.Error interface.
12582func (s *InvalidCertificateFault) OrigErr() error {
12583	return nil
12584}
12585
12586func (s *InvalidCertificateFault) Error() string {
12587	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12588}
12589
12590// Status code returns the HTTP status code for the request's response error.
12591func (s *InvalidCertificateFault) StatusCode() int {
12592	return s.RespMetadata.StatusCode
12593}
12594
12595// RequestID returns the service's response RequestID for request.
12596func (s *InvalidCertificateFault) RequestID() string {
12597	return s.RespMetadata.RequestID
12598}
12599
12600// The resource is in a state that prevents it from being used for database
12601// migration.
12602type InvalidResourceStateFault struct {
12603	_            struct{}                  `type:"structure"`
12604	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12605
12606	Message_ *string `locationName:"message" type:"string"`
12607}
12608
12609// String returns the string representation.
12610//
12611// API parameter values that are decorated as "sensitive" in the API will not
12612// be included in the string output. The member name will be present, but the
12613// value will be replaced with "sensitive".
12614func (s InvalidResourceStateFault) String() string {
12615	return awsutil.Prettify(s)
12616}
12617
12618// GoString returns the string representation.
12619//
12620// API parameter values that are decorated as "sensitive" in the API will not
12621// be included in the string output. The member name will be present, but the
12622// value will be replaced with "sensitive".
12623func (s InvalidResourceStateFault) GoString() string {
12624	return s.String()
12625}
12626
12627func newErrorInvalidResourceStateFault(v protocol.ResponseMetadata) error {
12628	return &InvalidResourceStateFault{
12629		RespMetadata: v,
12630	}
12631}
12632
12633// Code returns the exception type name.
12634func (s *InvalidResourceStateFault) Code() string {
12635	return "InvalidResourceStateFault"
12636}
12637
12638// Message returns the exception's message.
12639func (s *InvalidResourceStateFault) Message() string {
12640	if s.Message_ != nil {
12641		return *s.Message_
12642	}
12643	return ""
12644}
12645
12646// OrigErr always returns nil, satisfies awserr.Error interface.
12647func (s *InvalidResourceStateFault) OrigErr() error {
12648	return nil
12649}
12650
12651func (s *InvalidResourceStateFault) Error() string {
12652	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12653}
12654
12655// Status code returns the HTTP status code for the request's response error.
12656func (s *InvalidResourceStateFault) StatusCode() int {
12657	return s.RespMetadata.StatusCode
12658}
12659
12660// RequestID returns the service's response RequestID for request.
12661func (s *InvalidResourceStateFault) RequestID() string {
12662	return s.RespMetadata.RequestID
12663}
12664
12665// The subnet provided is invalid.
12666type InvalidSubnet struct {
12667	_            struct{}                  `type:"structure"`
12668	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12669
12670	Message_ *string `locationName:"message" type:"string"`
12671}
12672
12673// String returns the string representation.
12674//
12675// API parameter values that are decorated as "sensitive" in the API will not
12676// be included in the string output. The member name will be present, but the
12677// value will be replaced with "sensitive".
12678func (s InvalidSubnet) String() string {
12679	return awsutil.Prettify(s)
12680}
12681
12682// GoString returns the string representation.
12683//
12684// API parameter values that are decorated as "sensitive" in the API will not
12685// be included in the string output. The member name will be present, but the
12686// value will be replaced with "sensitive".
12687func (s InvalidSubnet) GoString() string {
12688	return s.String()
12689}
12690
12691func newErrorInvalidSubnet(v protocol.ResponseMetadata) error {
12692	return &InvalidSubnet{
12693		RespMetadata: v,
12694	}
12695}
12696
12697// Code returns the exception type name.
12698func (s *InvalidSubnet) Code() string {
12699	return "InvalidSubnet"
12700}
12701
12702// Message returns the exception's message.
12703func (s *InvalidSubnet) Message() string {
12704	if s.Message_ != nil {
12705		return *s.Message_
12706	}
12707	return ""
12708}
12709
12710// OrigErr always returns nil, satisfies awserr.Error interface.
12711func (s *InvalidSubnet) OrigErr() error {
12712	return nil
12713}
12714
12715func (s *InvalidSubnet) Error() string {
12716	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12717}
12718
12719// Status code returns the HTTP status code for the request's response error.
12720func (s *InvalidSubnet) StatusCode() int {
12721	return s.RespMetadata.StatusCode
12722}
12723
12724// RequestID returns the service's response RequestID for request.
12725func (s *InvalidSubnet) RequestID() string {
12726	return s.RespMetadata.RequestID
12727}
12728
12729// The ciphertext references a key that doesn't exist or that the DMS account
12730// doesn't have access to.
12731type KMSAccessDeniedFault struct {
12732	_            struct{}                  `type:"structure"`
12733	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12734
12735	Message_ *string `locationName:"message" type:"string"`
12736}
12737
12738// String returns the string representation.
12739//
12740// API parameter values that are decorated as "sensitive" in the API will not
12741// be included in the string output. The member name will be present, but the
12742// value will be replaced with "sensitive".
12743func (s KMSAccessDeniedFault) String() string {
12744	return awsutil.Prettify(s)
12745}
12746
12747// GoString returns the string representation.
12748//
12749// API parameter values that are decorated as "sensitive" in the API will not
12750// be included in the string output. The member name will be present, but the
12751// value will be replaced with "sensitive".
12752func (s KMSAccessDeniedFault) GoString() string {
12753	return s.String()
12754}
12755
12756func newErrorKMSAccessDeniedFault(v protocol.ResponseMetadata) error {
12757	return &KMSAccessDeniedFault{
12758		RespMetadata: v,
12759	}
12760}
12761
12762// Code returns the exception type name.
12763func (s *KMSAccessDeniedFault) Code() string {
12764	return "KMSAccessDeniedFault"
12765}
12766
12767// Message returns the exception's message.
12768func (s *KMSAccessDeniedFault) Message() string {
12769	if s.Message_ != nil {
12770		return *s.Message_
12771	}
12772	return ""
12773}
12774
12775// OrigErr always returns nil, satisfies awserr.Error interface.
12776func (s *KMSAccessDeniedFault) OrigErr() error {
12777	return nil
12778}
12779
12780func (s *KMSAccessDeniedFault) Error() string {
12781	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12782}
12783
12784// Status code returns the HTTP status code for the request's response error.
12785func (s *KMSAccessDeniedFault) StatusCode() int {
12786	return s.RespMetadata.StatusCode
12787}
12788
12789// RequestID returns the service's response RequestID for request.
12790func (s *KMSAccessDeniedFault) RequestID() string {
12791	return s.RespMetadata.RequestID
12792}
12793
12794// The specified master key (CMK) isn't enabled.
12795type KMSDisabledFault struct {
12796	_            struct{}                  `type:"structure"`
12797	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12798
12799	Message_ *string `locationName:"message" type:"string"`
12800}
12801
12802// String returns the string representation.
12803//
12804// API parameter values that are decorated as "sensitive" in the API will not
12805// be included in the string output. The member name will be present, but the
12806// value will be replaced with "sensitive".
12807func (s KMSDisabledFault) String() string {
12808	return awsutil.Prettify(s)
12809}
12810
12811// GoString returns the string representation.
12812//
12813// API parameter values that are decorated as "sensitive" in the API will not
12814// be included in the string output. The member name will be present, but the
12815// value will be replaced with "sensitive".
12816func (s KMSDisabledFault) GoString() string {
12817	return s.String()
12818}
12819
12820func newErrorKMSDisabledFault(v protocol.ResponseMetadata) error {
12821	return &KMSDisabledFault{
12822		RespMetadata: v,
12823	}
12824}
12825
12826// Code returns the exception type name.
12827func (s *KMSDisabledFault) Code() string {
12828	return "KMSDisabledFault"
12829}
12830
12831// Message returns the exception's message.
12832func (s *KMSDisabledFault) Message() string {
12833	if s.Message_ != nil {
12834		return *s.Message_
12835	}
12836	return ""
12837}
12838
12839// OrigErr always returns nil, satisfies awserr.Error interface.
12840func (s *KMSDisabledFault) OrigErr() error {
12841	return nil
12842}
12843
12844func (s *KMSDisabledFault) Error() string {
12845	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12846}
12847
12848// Status code returns the HTTP status code for the request's response error.
12849func (s *KMSDisabledFault) StatusCode() int {
12850	return s.RespMetadata.StatusCode
12851}
12852
12853// RequestID returns the service's response RequestID for request.
12854func (s *KMSDisabledFault) RequestID() string {
12855	return s.RespMetadata.RequestID
12856}
12857
12858// An Key Management Service (KMS) error is preventing access to KMS.
12859type KMSFault struct {
12860	_            struct{}                  `type:"structure"`
12861	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12862
12863	Message_ *string `locationName:"message" type:"string"`
12864}
12865
12866// String returns the string representation.
12867//
12868// API parameter values that are decorated as "sensitive" in the API will not
12869// be included in the string output. The member name will be present, but the
12870// value will be replaced with "sensitive".
12871func (s KMSFault) String() string {
12872	return awsutil.Prettify(s)
12873}
12874
12875// GoString returns the string representation.
12876//
12877// API parameter values that are decorated as "sensitive" in the API will not
12878// be included in the string output. The member name will be present, but the
12879// value will be replaced with "sensitive".
12880func (s KMSFault) GoString() string {
12881	return s.String()
12882}
12883
12884func newErrorKMSFault(v protocol.ResponseMetadata) error {
12885	return &KMSFault{
12886		RespMetadata: v,
12887	}
12888}
12889
12890// Code returns the exception type name.
12891func (s *KMSFault) Code() string {
12892	return "KMSFault"
12893}
12894
12895// Message returns the exception's message.
12896func (s *KMSFault) Message() string {
12897	if s.Message_ != nil {
12898		return *s.Message_
12899	}
12900	return ""
12901}
12902
12903// OrigErr always returns nil, satisfies awserr.Error interface.
12904func (s *KMSFault) OrigErr() error {
12905	return nil
12906}
12907
12908func (s *KMSFault) Error() string {
12909	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12910}
12911
12912// Status code returns the HTTP status code for the request's response error.
12913func (s *KMSFault) StatusCode() int {
12914	return s.RespMetadata.StatusCode
12915}
12916
12917// RequestID returns the service's response RequestID for request.
12918func (s *KMSFault) RequestID() string {
12919	return s.RespMetadata.RequestID
12920}
12921
12922// The state of the specified KMS resource isn't valid for this request.
12923type KMSInvalidStateFault struct {
12924	_            struct{}                  `type:"structure"`
12925	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12926
12927	Message_ *string `locationName:"message" type:"string"`
12928}
12929
12930// String returns the string representation.
12931//
12932// API parameter values that are decorated as "sensitive" in the API will not
12933// be included in the string output. The member name will be present, but the
12934// value will be replaced with "sensitive".
12935func (s KMSInvalidStateFault) String() string {
12936	return awsutil.Prettify(s)
12937}
12938
12939// GoString returns the string representation.
12940//
12941// API parameter values that are decorated as "sensitive" in the API will not
12942// be included in the string output. The member name will be present, but the
12943// value will be replaced with "sensitive".
12944func (s KMSInvalidStateFault) GoString() string {
12945	return s.String()
12946}
12947
12948func newErrorKMSInvalidStateFault(v protocol.ResponseMetadata) error {
12949	return &KMSInvalidStateFault{
12950		RespMetadata: v,
12951	}
12952}
12953
12954// Code returns the exception type name.
12955func (s *KMSInvalidStateFault) Code() string {
12956	return "KMSInvalidStateFault"
12957}
12958
12959// Message returns the exception's message.
12960func (s *KMSInvalidStateFault) Message() string {
12961	if s.Message_ != nil {
12962		return *s.Message_
12963	}
12964	return ""
12965}
12966
12967// OrigErr always returns nil, satisfies awserr.Error interface.
12968func (s *KMSInvalidStateFault) OrigErr() error {
12969	return nil
12970}
12971
12972func (s *KMSInvalidStateFault) Error() string {
12973	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12974}
12975
12976// Status code returns the HTTP status code for the request's response error.
12977func (s *KMSInvalidStateFault) StatusCode() int {
12978	return s.RespMetadata.StatusCode
12979}
12980
12981// RequestID returns the service's response RequestID for request.
12982func (s *KMSInvalidStateFault) RequestID() string {
12983	return s.RespMetadata.RequestID
12984}
12985
12986// DMS cannot access the KMS key.
12987type KMSKeyNotAccessibleFault struct {
12988	_            struct{}                  `type:"structure"`
12989	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12990
12991	Message_ *string `locationName:"message" type:"string"`
12992}
12993
12994// String returns the string representation.
12995//
12996// API parameter values that are decorated as "sensitive" in the API will not
12997// be included in the string output. The member name will be present, but the
12998// value will be replaced with "sensitive".
12999func (s KMSKeyNotAccessibleFault) String() string {
13000	return awsutil.Prettify(s)
13001}
13002
13003// GoString returns the string representation.
13004//
13005// API parameter values that are decorated as "sensitive" in the API will not
13006// be included in the string output. The member name will be present, but the
13007// value will be replaced with "sensitive".
13008func (s KMSKeyNotAccessibleFault) GoString() string {
13009	return s.String()
13010}
13011
13012func newErrorKMSKeyNotAccessibleFault(v protocol.ResponseMetadata) error {
13013	return &KMSKeyNotAccessibleFault{
13014		RespMetadata: v,
13015	}
13016}
13017
13018// Code returns the exception type name.
13019func (s *KMSKeyNotAccessibleFault) Code() string {
13020	return "KMSKeyNotAccessibleFault"
13021}
13022
13023// Message returns the exception's message.
13024func (s *KMSKeyNotAccessibleFault) Message() string {
13025	if s.Message_ != nil {
13026		return *s.Message_
13027	}
13028	return ""
13029}
13030
13031// OrigErr always returns nil, satisfies awserr.Error interface.
13032func (s *KMSKeyNotAccessibleFault) OrigErr() error {
13033	return nil
13034}
13035
13036func (s *KMSKeyNotAccessibleFault) Error() string {
13037	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13038}
13039
13040// Status code returns the HTTP status code for the request's response error.
13041func (s *KMSKeyNotAccessibleFault) StatusCode() int {
13042	return s.RespMetadata.StatusCode
13043}
13044
13045// RequestID returns the service's response RequestID for request.
13046func (s *KMSKeyNotAccessibleFault) RequestID() string {
13047	return s.RespMetadata.RequestID
13048}
13049
13050// The specified KMS entity or resource can't be found.
13051type KMSNotFoundFault struct {
13052	_            struct{}                  `type:"structure"`
13053	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13054
13055	Message_ *string `locationName:"message" type:"string"`
13056}
13057
13058// String returns the string representation.
13059//
13060// API parameter values that are decorated as "sensitive" in the API will not
13061// be included in the string output. The member name will be present, but the
13062// value will be replaced with "sensitive".
13063func (s KMSNotFoundFault) String() string {
13064	return awsutil.Prettify(s)
13065}
13066
13067// GoString returns the string representation.
13068//
13069// API parameter values that are decorated as "sensitive" in the API will not
13070// be included in the string output. The member name will be present, but the
13071// value will be replaced with "sensitive".
13072func (s KMSNotFoundFault) GoString() string {
13073	return s.String()
13074}
13075
13076func newErrorKMSNotFoundFault(v protocol.ResponseMetadata) error {
13077	return &KMSNotFoundFault{
13078		RespMetadata: v,
13079	}
13080}
13081
13082// Code returns the exception type name.
13083func (s *KMSNotFoundFault) Code() string {
13084	return "KMSNotFoundFault"
13085}
13086
13087// Message returns the exception's message.
13088func (s *KMSNotFoundFault) Message() string {
13089	if s.Message_ != nil {
13090		return *s.Message_
13091	}
13092	return ""
13093}
13094
13095// OrigErr always returns nil, satisfies awserr.Error interface.
13096func (s *KMSNotFoundFault) OrigErr() error {
13097	return nil
13098}
13099
13100func (s *KMSNotFoundFault) Error() string {
13101	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13102}
13103
13104// Status code returns the HTTP status code for the request's response error.
13105func (s *KMSNotFoundFault) StatusCode() int {
13106	return s.RespMetadata.StatusCode
13107}
13108
13109// RequestID returns the service's response RequestID for request.
13110func (s *KMSNotFoundFault) RequestID() string {
13111	return s.RespMetadata.RequestID
13112}
13113
13114// This request triggered KMS request throttling.
13115type KMSThrottlingFault struct {
13116	_            struct{}                  `type:"structure"`
13117	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13118
13119	Message_ *string `locationName:"message" type:"string"`
13120}
13121
13122// String returns the string representation.
13123//
13124// API parameter values that are decorated as "sensitive" in the API will not
13125// be included in the string output. The member name will be present, but the
13126// value will be replaced with "sensitive".
13127func (s KMSThrottlingFault) String() string {
13128	return awsutil.Prettify(s)
13129}
13130
13131// GoString returns the string representation.
13132//
13133// API parameter values that are decorated as "sensitive" in the API will not
13134// be included in the string output. The member name will be present, but the
13135// value will be replaced with "sensitive".
13136func (s KMSThrottlingFault) GoString() string {
13137	return s.String()
13138}
13139
13140func newErrorKMSThrottlingFault(v protocol.ResponseMetadata) error {
13141	return &KMSThrottlingFault{
13142		RespMetadata: v,
13143	}
13144}
13145
13146// Code returns the exception type name.
13147func (s *KMSThrottlingFault) Code() string {
13148	return "KMSThrottlingFault"
13149}
13150
13151// Message returns the exception's message.
13152func (s *KMSThrottlingFault) Message() string {
13153	if s.Message_ != nil {
13154		return *s.Message_
13155	}
13156	return ""
13157}
13158
13159// OrigErr always returns nil, satisfies awserr.Error interface.
13160func (s *KMSThrottlingFault) OrigErr() error {
13161	return nil
13162}
13163
13164func (s *KMSThrottlingFault) Error() string {
13165	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13166}
13167
13168// Status code returns the HTTP status code for the request's response error.
13169func (s *KMSThrottlingFault) StatusCode() int {
13170	return s.RespMetadata.StatusCode
13171}
13172
13173// RequestID returns the service's response RequestID for request.
13174func (s *KMSThrottlingFault) RequestID() string {
13175	return s.RespMetadata.RequestID
13176}
13177
13178// Provides information that describes an Apache Kafka endpoint. This information
13179// includes the output format of records applied to the endpoint and details
13180// of transaction and control table data information.
13181type KafkaSettings struct {
13182	_ struct{} `type:"structure"`
13183
13184	// A comma-separated list of one or more broker locations in your Kafka cluster
13185	// that host your Kafka instance. Specify each broker location in the form broker-hostname-or-ip:port
13186	// . For example, "ec2-12-345-678-901.compute-1.amazonaws.com:2345". For more
13187	// information and examples of specifying a list of broker locations, see Using
13188	// Apache Kafka as a target for Database Migration Service (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html)
13189	// in the Database Migration Service User Guide.
13190	Broker *string `type:"string"`
13191
13192	// Shows detailed control information for table definition, column definition,
13193	// and table and column changes in the Kafka message output. The default is
13194	// false.
13195	IncludeControlDetails *bool `type:"boolean"`
13196
13197	// Include NULL and empty columns for records migrated to the endpoint. The
13198	// default is false.
13199	IncludeNullAndEmpty *bool `type:"boolean"`
13200
13201	// Shows the partition value within the Kafka message output unless the partition
13202	// type is schema-table-type. The default is false.
13203	IncludePartitionValue *bool `type:"boolean"`
13204
13205	// Includes any data definition language (DDL) operations that change the table
13206	// in the control data, such as rename-table, drop-table, add-column, drop-column,
13207	// and rename-column. The default is false.
13208	IncludeTableAlterOperations *bool `type:"boolean"`
13209
13210	// Provides detailed transaction information from the source database. This
13211	// information includes a commit timestamp, a log position, and values for transaction_id,
13212	// previous transaction_id, and transaction_record_id (the record offset within
13213	// a transaction). The default is false.
13214	IncludeTransactionDetails *bool `type:"boolean"`
13215
13216	// The output format for the records created on the endpoint. The message format
13217	// is JSON (default) or JSON_UNFORMATTED (a single line with no tab).
13218	MessageFormat *string `type:"string" enum:"MessageFormatValue"`
13219
13220	// The maximum size in bytes for records created on the endpoint The default
13221	// is 1,000,000.
13222	MessageMaxBytes *int64 `type:"integer"`
13223
13224	// Set this optional parameter to true to avoid adding a '0x' prefix to raw
13225	// data in hexadecimal format. For example, by default, DMS adds a '0x' prefix
13226	// to the LOB column type in hexadecimal format moving from an Oracle source
13227	// to a Kafka target. Use the NoHexPrefix endpoint setting to enable migration
13228	// of RAW data type columns without adding the '0x' prefix.
13229	NoHexPrefix *bool `type:"boolean"`
13230
13231	// Prefixes schema and table names to partition values, when the partition type
13232	// is primary-key-type. Doing this increases data distribution among Kafka partitions.
13233	// For example, suppose that a SysBench schema has thousands of tables and each
13234	// table has only limited range for a primary key. In this case, the same primary
13235	// key is sent from thousands of tables to the same partition, which causes
13236	// throttling. The default is false.
13237	PartitionIncludeSchemaTable *bool `type:"boolean"`
13238
13239	// The secure password you created when you first set up your MSK cluster to
13240	// validate a client identity and make an encrypted connection between server
13241	// and client using SASL-SSL authentication.
13242	//
13243	// SaslPassword is a sensitive parameter and its value will be
13244	// replaced with "sensitive" in string returned by KafkaSettings's
13245	// String and GoString methods.
13246	SaslPassword *string `type:"string" sensitive:"true"`
13247
13248	// The secure user name you created when you first set up your MSK cluster to
13249	// validate a client identity and make an encrypted connection between server
13250	// and client using SASL-SSL authentication.
13251	SaslUsername *string `type:"string"`
13252
13253	// Set secure connection to a Kafka target endpoint using Transport Layer Security
13254	// (TLS). Options include ssl-encryption, ssl-authentication, and sasl-ssl.
13255	// sasl-ssl requires SaslUsername and SaslPassword.
13256	SecurityProtocol *string `type:"string" enum:"KafkaSecurityProtocol"`
13257
13258	// The Amazon Resource Name (ARN) for the private certificate authority (CA)
13259	// cert that DMS uses to securely connect to your Kafka target endpoint.
13260	SslCaCertificateArn *string `type:"string"`
13261
13262	// The Amazon Resource Name (ARN) of the client certificate used to securely
13263	// connect to a Kafka target endpoint.
13264	SslClientCertificateArn *string `type:"string"`
13265
13266	// The Amazon Resource Name (ARN) for the client private key used to securely
13267	// connect to a Kafka target endpoint.
13268	SslClientKeyArn *string `type:"string"`
13269
13270	// The password for the client private key used to securely connect to a Kafka
13271	// target endpoint.
13272	//
13273	// SslClientKeyPassword is a sensitive parameter and its value will be
13274	// replaced with "sensitive" in string returned by KafkaSettings's
13275	// String and GoString methods.
13276	SslClientKeyPassword *string `type:"string" sensitive:"true"`
13277
13278	// The topic to which you migrate the data. If you don't specify a topic, DMS
13279	// specifies "kafka-default-topic" as the migration topic.
13280	Topic *string `type:"string"`
13281}
13282
13283// String returns the string representation.
13284//
13285// API parameter values that are decorated as "sensitive" in the API will not
13286// be included in the string output. The member name will be present, but the
13287// value will be replaced with "sensitive".
13288func (s KafkaSettings) String() string {
13289	return awsutil.Prettify(s)
13290}
13291
13292// GoString returns the string representation.
13293//
13294// API parameter values that are decorated as "sensitive" in the API will not
13295// be included in the string output. The member name will be present, but the
13296// value will be replaced with "sensitive".
13297func (s KafkaSettings) GoString() string {
13298	return s.String()
13299}
13300
13301// SetBroker sets the Broker field's value.
13302func (s *KafkaSettings) SetBroker(v string) *KafkaSettings {
13303	s.Broker = &v
13304	return s
13305}
13306
13307// SetIncludeControlDetails sets the IncludeControlDetails field's value.
13308func (s *KafkaSettings) SetIncludeControlDetails(v bool) *KafkaSettings {
13309	s.IncludeControlDetails = &v
13310	return s
13311}
13312
13313// SetIncludeNullAndEmpty sets the IncludeNullAndEmpty field's value.
13314func (s *KafkaSettings) SetIncludeNullAndEmpty(v bool) *KafkaSettings {
13315	s.IncludeNullAndEmpty = &v
13316	return s
13317}
13318
13319// SetIncludePartitionValue sets the IncludePartitionValue field's value.
13320func (s *KafkaSettings) SetIncludePartitionValue(v bool) *KafkaSettings {
13321	s.IncludePartitionValue = &v
13322	return s
13323}
13324
13325// SetIncludeTableAlterOperations sets the IncludeTableAlterOperations field's value.
13326func (s *KafkaSettings) SetIncludeTableAlterOperations(v bool) *KafkaSettings {
13327	s.IncludeTableAlterOperations = &v
13328	return s
13329}
13330
13331// SetIncludeTransactionDetails sets the IncludeTransactionDetails field's value.
13332func (s *KafkaSettings) SetIncludeTransactionDetails(v bool) *KafkaSettings {
13333	s.IncludeTransactionDetails = &v
13334	return s
13335}
13336
13337// SetMessageFormat sets the MessageFormat field's value.
13338func (s *KafkaSettings) SetMessageFormat(v string) *KafkaSettings {
13339	s.MessageFormat = &v
13340	return s
13341}
13342
13343// SetMessageMaxBytes sets the MessageMaxBytes field's value.
13344func (s *KafkaSettings) SetMessageMaxBytes(v int64) *KafkaSettings {
13345	s.MessageMaxBytes = &v
13346	return s
13347}
13348
13349// SetNoHexPrefix sets the NoHexPrefix field's value.
13350func (s *KafkaSettings) SetNoHexPrefix(v bool) *KafkaSettings {
13351	s.NoHexPrefix = &v
13352	return s
13353}
13354
13355// SetPartitionIncludeSchemaTable sets the PartitionIncludeSchemaTable field's value.
13356func (s *KafkaSettings) SetPartitionIncludeSchemaTable(v bool) *KafkaSettings {
13357	s.PartitionIncludeSchemaTable = &v
13358	return s
13359}
13360
13361// SetSaslPassword sets the SaslPassword field's value.
13362func (s *KafkaSettings) SetSaslPassword(v string) *KafkaSettings {
13363	s.SaslPassword = &v
13364	return s
13365}
13366
13367// SetSaslUsername sets the SaslUsername field's value.
13368func (s *KafkaSettings) SetSaslUsername(v string) *KafkaSettings {
13369	s.SaslUsername = &v
13370	return s
13371}
13372
13373// SetSecurityProtocol sets the SecurityProtocol field's value.
13374func (s *KafkaSettings) SetSecurityProtocol(v string) *KafkaSettings {
13375	s.SecurityProtocol = &v
13376	return s
13377}
13378
13379// SetSslCaCertificateArn sets the SslCaCertificateArn field's value.
13380func (s *KafkaSettings) SetSslCaCertificateArn(v string) *KafkaSettings {
13381	s.SslCaCertificateArn = &v
13382	return s
13383}
13384
13385// SetSslClientCertificateArn sets the SslClientCertificateArn field's value.
13386func (s *KafkaSettings) SetSslClientCertificateArn(v string) *KafkaSettings {
13387	s.SslClientCertificateArn = &v
13388	return s
13389}
13390
13391// SetSslClientKeyArn sets the SslClientKeyArn field's value.
13392func (s *KafkaSettings) SetSslClientKeyArn(v string) *KafkaSettings {
13393	s.SslClientKeyArn = &v
13394	return s
13395}
13396
13397// SetSslClientKeyPassword sets the SslClientKeyPassword field's value.
13398func (s *KafkaSettings) SetSslClientKeyPassword(v string) *KafkaSettings {
13399	s.SslClientKeyPassword = &v
13400	return s
13401}
13402
13403// SetTopic sets the Topic field's value.
13404func (s *KafkaSettings) SetTopic(v string) *KafkaSettings {
13405	s.Topic = &v
13406	return s
13407}
13408
13409// Provides information that describes an Amazon Kinesis Data Stream endpoint.
13410// This information includes the output format of records applied to the endpoint
13411// and details of transaction and control table data information.
13412type KinesisSettings struct {
13413	_ struct{} `type:"structure"`
13414
13415	// Shows detailed control information for table definition, column definition,
13416	// and table and column changes in the Kinesis message output. The default is
13417	// false.
13418	IncludeControlDetails *bool `type:"boolean"`
13419
13420	// Include NULL and empty columns for records migrated to the endpoint. The
13421	// default is false.
13422	IncludeNullAndEmpty *bool `type:"boolean"`
13423
13424	// Shows the partition value within the Kinesis message output, unless the partition
13425	// type is schema-table-type. The default is false.
13426	IncludePartitionValue *bool `type:"boolean"`
13427
13428	// Includes any data definition language (DDL) operations that change the table
13429	// in the control data, such as rename-table, drop-table, add-column, drop-column,
13430	// and rename-column. The default is false.
13431	IncludeTableAlterOperations *bool `type:"boolean"`
13432
13433	// Provides detailed transaction information from the source database. This
13434	// information includes a commit timestamp, a log position, and values for transaction_id,
13435	// previous transaction_id, and transaction_record_id (the record offset within
13436	// a transaction). The default is false.
13437	IncludeTransactionDetails *bool `type:"boolean"`
13438
13439	// The output format for the records created on the endpoint. The message format
13440	// is JSON (default) or JSON_UNFORMATTED (a single line with no tab).
13441	MessageFormat *string `type:"string" enum:"MessageFormatValue"`
13442
13443	// Set this optional parameter to true to avoid adding a '0x' prefix to raw
13444	// data in hexadecimal format. For example, by default, DMS adds a '0x' prefix
13445	// to the LOB column type in hexadecimal format moving from an Oracle source
13446	// to an Amazon Kinesis target. Use the NoHexPrefix endpoint setting to enable
13447	// migration of RAW data type columns without adding the '0x' prefix.
13448	NoHexPrefix *bool `type:"boolean"`
13449
13450	// Prefixes schema and table names to partition values, when the partition type
13451	// is primary-key-type. Doing this increases data distribution among Kinesis
13452	// shards. For example, suppose that a SysBench schema has thousands of tables
13453	// and each table has only limited range for a primary key. In this case, the
13454	// same primary key is sent from thousands of tables to the same shard, which
13455	// causes throttling. The default is false.
13456	PartitionIncludeSchemaTable *bool `type:"boolean"`
13457
13458	// The Amazon Resource Name (ARN) for the IAM role that DMS uses to write to
13459	// the Kinesis data stream. The role must allow the iam:PassRole action.
13460	ServiceAccessRoleArn *string `type:"string"`
13461
13462	// The Amazon Resource Name (ARN) for the Amazon Kinesis Data Streams endpoint.
13463	StreamArn *string `type:"string"`
13464}
13465
13466// String returns the string representation.
13467//
13468// API parameter values that are decorated as "sensitive" in the API will not
13469// be included in the string output. The member name will be present, but the
13470// value will be replaced with "sensitive".
13471func (s KinesisSettings) String() string {
13472	return awsutil.Prettify(s)
13473}
13474
13475// GoString returns the string representation.
13476//
13477// API parameter values that are decorated as "sensitive" in the API will not
13478// be included in the string output. The member name will be present, but the
13479// value will be replaced with "sensitive".
13480func (s KinesisSettings) GoString() string {
13481	return s.String()
13482}
13483
13484// SetIncludeControlDetails sets the IncludeControlDetails field's value.
13485func (s *KinesisSettings) SetIncludeControlDetails(v bool) *KinesisSettings {
13486	s.IncludeControlDetails = &v
13487	return s
13488}
13489
13490// SetIncludeNullAndEmpty sets the IncludeNullAndEmpty field's value.
13491func (s *KinesisSettings) SetIncludeNullAndEmpty(v bool) *KinesisSettings {
13492	s.IncludeNullAndEmpty = &v
13493	return s
13494}
13495
13496// SetIncludePartitionValue sets the IncludePartitionValue field's value.
13497func (s *KinesisSettings) SetIncludePartitionValue(v bool) *KinesisSettings {
13498	s.IncludePartitionValue = &v
13499	return s
13500}
13501
13502// SetIncludeTableAlterOperations sets the IncludeTableAlterOperations field's value.
13503func (s *KinesisSettings) SetIncludeTableAlterOperations(v bool) *KinesisSettings {
13504	s.IncludeTableAlterOperations = &v
13505	return s
13506}
13507
13508// SetIncludeTransactionDetails sets the IncludeTransactionDetails field's value.
13509func (s *KinesisSettings) SetIncludeTransactionDetails(v bool) *KinesisSettings {
13510	s.IncludeTransactionDetails = &v
13511	return s
13512}
13513
13514// SetMessageFormat sets the MessageFormat field's value.
13515func (s *KinesisSettings) SetMessageFormat(v string) *KinesisSettings {
13516	s.MessageFormat = &v
13517	return s
13518}
13519
13520// SetNoHexPrefix sets the NoHexPrefix field's value.
13521func (s *KinesisSettings) SetNoHexPrefix(v bool) *KinesisSettings {
13522	s.NoHexPrefix = &v
13523	return s
13524}
13525
13526// SetPartitionIncludeSchemaTable sets the PartitionIncludeSchemaTable field's value.
13527func (s *KinesisSettings) SetPartitionIncludeSchemaTable(v bool) *KinesisSettings {
13528	s.PartitionIncludeSchemaTable = &v
13529	return s
13530}
13531
13532// SetServiceAccessRoleArn sets the ServiceAccessRoleArn field's value.
13533func (s *KinesisSettings) SetServiceAccessRoleArn(v string) *KinesisSettings {
13534	s.ServiceAccessRoleArn = &v
13535	return s
13536}
13537
13538// SetStreamArn sets the StreamArn field's value.
13539func (s *KinesisSettings) SetStreamArn(v string) *KinesisSettings {
13540	s.StreamArn = &v
13541	return s
13542}
13543
13544type ListTagsForResourceInput struct {
13545	_ struct{} `type:"structure"`
13546
13547	// The Amazon Resource Name (ARN) string that uniquely identifies the DMS resource
13548	// to list tags for. This returns a list of keys (names of tags) created for
13549	// the resource and their associated tag values.
13550	ResourceArn *string `type:"string"`
13551
13552	// List of ARNs that identify multiple DMS resources that you want to list tags
13553	// for. This returns a list of keys (tag names) and their associated tag values.
13554	// It also returns each tag's associated ResourceArn value, which is the ARN
13555	// of the resource for which each listed tag is created.
13556	ResourceArnList []*string `type:"list"`
13557}
13558
13559// String returns the string representation.
13560//
13561// API parameter values that are decorated as "sensitive" in the API will not
13562// be included in the string output. The member name will be present, but the
13563// value will be replaced with "sensitive".
13564func (s ListTagsForResourceInput) String() string {
13565	return awsutil.Prettify(s)
13566}
13567
13568// GoString returns the string representation.
13569//
13570// API parameter values that are decorated as "sensitive" in the API will not
13571// be included in the string output. The member name will be present, but the
13572// value will be replaced with "sensitive".
13573func (s ListTagsForResourceInput) GoString() string {
13574	return s.String()
13575}
13576
13577// SetResourceArn sets the ResourceArn field's value.
13578func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
13579	s.ResourceArn = &v
13580	return s
13581}
13582
13583// SetResourceArnList sets the ResourceArnList field's value.
13584func (s *ListTagsForResourceInput) SetResourceArnList(v []*string) *ListTagsForResourceInput {
13585	s.ResourceArnList = v
13586	return s
13587}
13588
13589type ListTagsForResourceOutput struct {
13590	_ struct{} `type:"structure"`
13591
13592	// A list of tags for the resource.
13593	TagList []*Tag `type:"list"`
13594}
13595
13596// String returns the string representation.
13597//
13598// API parameter values that are decorated as "sensitive" in the API will not
13599// be included in the string output. The member name will be present, but the
13600// value will be replaced with "sensitive".
13601func (s ListTagsForResourceOutput) String() string {
13602	return awsutil.Prettify(s)
13603}
13604
13605// GoString returns the string representation.
13606//
13607// API parameter values that are decorated as "sensitive" in the API will not
13608// be included in the string output. The member name will be present, but the
13609// value will be replaced with "sensitive".
13610func (s ListTagsForResourceOutput) GoString() string {
13611	return s.String()
13612}
13613
13614// SetTagList sets the TagList field's value.
13615func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
13616	s.TagList = v
13617	return s
13618}
13619
13620// Provides information that defines a Microsoft SQL Server endpoint.
13621type MicrosoftSQLServerSettings struct {
13622	_ struct{} `type:"structure"`
13623
13624	// The maximum size of the packets (in bytes) used to transfer data using BCP.
13625	BcpPacketSize *int64 `type:"integer"`
13626
13627	// Specifies a file group for the DMS internal tables. When the replication
13628	// task starts, all the internal DMS control tables (awsdms_ apply_exception,
13629	// awsdms_apply, awsdms_changes) are created for the specified file group.
13630	ControlTablesFileGroup *string `type:"string"`
13631
13632	// Database name for the endpoint.
13633	DatabaseName *string `type:"string"`
13634
13635	// Endpoint connection password.
13636	//
13637	// Password is a sensitive parameter and its value will be
13638	// replaced with "sensitive" in string returned by MicrosoftSQLServerSettings's
13639	// String and GoString methods.
13640	Password *string `type:"string" sensitive:"true"`
13641
13642	// Endpoint TCP port.
13643	Port *int64 `type:"integer"`
13644
13645	// Cleans and recreates table metadata information on the replication instance
13646	// when a mismatch occurs. An example is a situation where running an alter
13647	// DDL statement on a table might result in different information about the
13648	// table cached in the replication instance.
13649	QuerySingleAlwaysOnNode *bool `type:"boolean"`
13650
13651	// When this attribute is set to Y, DMS only reads changes from transaction
13652	// log backups and doesn't read from the active transaction log file during
13653	// ongoing replication. Setting this parameter to Y enables you to control active
13654	// transaction log file growth during full load and ongoing replication tasks.
13655	// However, it can add some source latency to ongoing replication.
13656	ReadBackupOnly *bool `type:"boolean"`
13657
13658	// Use this attribute to minimize the need to access the backup log and enable
13659	// DMS to prevent truncation using one of the following two methods.
13660	//
13661	// Start transactions in the database: This is the default method. When this
13662	// method is used, DMS prevents TLOG truncation by mimicking a transaction in
13663	// the database. As long as such a transaction is open, changes that appear
13664	// after the transaction started aren't truncated. If you need Microsoft Replication
13665	// to be enabled in your database, then you must choose this method.
13666	//
13667	// Exclusively use sp_repldone within a single task: When this method is used,
13668	// DMS reads the changes and then uses sp_repldone to mark the TLOG transactions
13669	// as ready for truncation. Although this method doesn't involve any transactional
13670	// activities, it can only be used when Microsoft Replication isn't running.
13671	// Also, when using this method, only one DMS task can access the database at
13672	// any given time. Therefore, if you need to run parallel DMS tasks against
13673	// the same database, use the default method.
13674	SafeguardPolicy *string `type:"string" enum:"SafeguardPolicy"`
13675
13676	// The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as
13677	// the trusted entity and grants the required permissions to access the value
13678	// in SecretsManagerSecret. The role must allow the iam:PassRole action. SecretsManagerSecret
13679	// has the value of the Amazon Web Services Secrets Manager secret that allows
13680	// access to the SQL Server endpoint.
13681	//
13682	// You can specify one of two sets of values for these permissions. You can
13683	// specify the values for this setting and SecretsManagerSecretId. Or you can
13684	// specify clear-text values for UserName, Password, ServerName, and Port. You
13685	// can't specify both. For more information on creating this SecretsManagerSecret
13686	// and the SecretsManagerAccessRoleArn and SecretsManagerSecretId required to
13687	// access it, see Using secrets to access Database Migration Service resources
13688	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
13689	// in the Database Migration Service User Guide.
13690	SecretsManagerAccessRoleArn *string `type:"string"`
13691
13692	// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that
13693	// contains the SQL Server endpoint connection details.
13694	SecretsManagerSecretId *string `type:"string"`
13695
13696	// Fully qualified domain name of the endpoint.
13697	ServerName *string `type:"string"`
13698
13699	// Use this to attribute to transfer data for full-load operations using BCP.
13700	// When the target table contains an identity column that does not exist in
13701	// the source table, you must disable the use BCP for loading table option.
13702	UseBcpFullLoad *bool `type:"boolean"`
13703
13704	// When this attribute is set to Y, DMS processes third-party transaction log
13705	// backups if they are created in native format.
13706	UseThirdPartyBackupDevice *bool `type:"boolean"`
13707
13708	// Endpoint connection user name.
13709	Username *string `type:"string"`
13710}
13711
13712// String returns the string representation.
13713//
13714// API parameter values that are decorated as "sensitive" in the API will not
13715// be included in the string output. The member name will be present, but the
13716// value will be replaced with "sensitive".
13717func (s MicrosoftSQLServerSettings) String() string {
13718	return awsutil.Prettify(s)
13719}
13720
13721// GoString returns the string representation.
13722//
13723// API parameter values that are decorated as "sensitive" in the API will not
13724// be included in the string output. The member name will be present, but the
13725// value will be replaced with "sensitive".
13726func (s MicrosoftSQLServerSettings) GoString() string {
13727	return s.String()
13728}
13729
13730// SetBcpPacketSize sets the BcpPacketSize field's value.
13731func (s *MicrosoftSQLServerSettings) SetBcpPacketSize(v int64) *MicrosoftSQLServerSettings {
13732	s.BcpPacketSize = &v
13733	return s
13734}
13735
13736// SetControlTablesFileGroup sets the ControlTablesFileGroup field's value.
13737func (s *MicrosoftSQLServerSettings) SetControlTablesFileGroup(v string) *MicrosoftSQLServerSettings {
13738	s.ControlTablesFileGroup = &v
13739	return s
13740}
13741
13742// SetDatabaseName sets the DatabaseName field's value.
13743func (s *MicrosoftSQLServerSettings) SetDatabaseName(v string) *MicrosoftSQLServerSettings {
13744	s.DatabaseName = &v
13745	return s
13746}
13747
13748// SetPassword sets the Password field's value.
13749func (s *MicrosoftSQLServerSettings) SetPassword(v string) *MicrosoftSQLServerSettings {
13750	s.Password = &v
13751	return s
13752}
13753
13754// SetPort sets the Port field's value.
13755func (s *MicrosoftSQLServerSettings) SetPort(v int64) *MicrosoftSQLServerSettings {
13756	s.Port = &v
13757	return s
13758}
13759
13760// SetQuerySingleAlwaysOnNode sets the QuerySingleAlwaysOnNode field's value.
13761func (s *MicrosoftSQLServerSettings) SetQuerySingleAlwaysOnNode(v bool) *MicrosoftSQLServerSettings {
13762	s.QuerySingleAlwaysOnNode = &v
13763	return s
13764}
13765
13766// SetReadBackupOnly sets the ReadBackupOnly field's value.
13767func (s *MicrosoftSQLServerSettings) SetReadBackupOnly(v bool) *MicrosoftSQLServerSettings {
13768	s.ReadBackupOnly = &v
13769	return s
13770}
13771
13772// SetSafeguardPolicy sets the SafeguardPolicy field's value.
13773func (s *MicrosoftSQLServerSettings) SetSafeguardPolicy(v string) *MicrosoftSQLServerSettings {
13774	s.SafeguardPolicy = &v
13775	return s
13776}
13777
13778// SetSecretsManagerAccessRoleArn sets the SecretsManagerAccessRoleArn field's value.
13779func (s *MicrosoftSQLServerSettings) SetSecretsManagerAccessRoleArn(v string) *MicrosoftSQLServerSettings {
13780	s.SecretsManagerAccessRoleArn = &v
13781	return s
13782}
13783
13784// SetSecretsManagerSecretId sets the SecretsManagerSecretId field's value.
13785func (s *MicrosoftSQLServerSettings) SetSecretsManagerSecretId(v string) *MicrosoftSQLServerSettings {
13786	s.SecretsManagerSecretId = &v
13787	return s
13788}
13789
13790// SetServerName sets the ServerName field's value.
13791func (s *MicrosoftSQLServerSettings) SetServerName(v string) *MicrosoftSQLServerSettings {
13792	s.ServerName = &v
13793	return s
13794}
13795
13796// SetUseBcpFullLoad sets the UseBcpFullLoad field's value.
13797func (s *MicrosoftSQLServerSettings) SetUseBcpFullLoad(v bool) *MicrosoftSQLServerSettings {
13798	s.UseBcpFullLoad = &v
13799	return s
13800}
13801
13802// SetUseThirdPartyBackupDevice sets the UseThirdPartyBackupDevice field's value.
13803func (s *MicrosoftSQLServerSettings) SetUseThirdPartyBackupDevice(v bool) *MicrosoftSQLServerSettings {
13804	s.UseThirdPartyBackupDevice = &v
13805	return s
13806}
13807
13808// SetUsername sets the Username field's value.
13809func (s *MicrosoftSQLServerSettings) SetUsername(v string) *MicrosoftSQLServerSettings {
13810	s.Username = &v
13811	return s
13812}
13813
13814type ModifyEndpointInput struct {
13815	_ struct{} `type:"structure"`
13816
13817	// The Amazon Resource Name (ARN) of the certificate used for SSL connection.
13818	CertificateArn *string `type:"string"`
13819
13820	// The name of the endpoint database. For a MySQL source or target endpoint,
13821	// do not specify DatabaseName.
13822	DatabaseName *string `type:"string"`
13823
13824	// The settings in JSON format for the DMS transfer type of source endpoint.
13825	//
13826	// Attributes include the following:
13827	//
13828	//    * serviceAccessRoleArn - The Amazon Resource Name (ARN) used by the service
13829	//    access IAM role. The role must allow the iam:PassRole action.
13830	//
13831	//    * BucketName - The name of the S3 bucket to use.
13832	//
13833	// Shorthand syntax for these settings is as follows: ServiceAccessRoleArn=string
13834	// ,BucketName=string
13835	//
13836	// JSON syntax for these settings is as follows: { "ServiceAccessRoleArn": "string",
13837	// "BucketName": "string"}
13838	DmsTransferSettings *DmsTransferSettings `type:"structure"`
13839
13840	// Settings in JSON format for the source DocumentDB endpoint. For more information
13841	// about the available settings, see the configuration properties section in
13842	// Using DocumentDB as a Target for Database Migration Service (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DocumentDB.html)
13843	// in the Database Migration Service User Guide.
13844	DocDbSettings *DocDbSettings `type:"structure"`
13845
13846	// Settings in JSON format for the target Amazon DynamoDB endpoint. For information
13847	// about other available settings, see Using Object Mapping to Migrate Data
13848	// to DynamoDB (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html#CHAP_Target.DynamoDB.ObjectMapping)
13849	// in the Database Migration Service User Guide.
13850	DynamoDbSettings *DynamoDbSettings `type:"structure"`
13851
13852	// Settings in JSON format for the target Elasticsearch endpoint. For more information
13853	// about the available settings, see Extra Connection Attributes When Using
13854	// Elasticsearch as a Target for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Elasticsearch.html#CHAP_Target.Elasticsearch.Configuration)
13855	// in the Database Migration Service User Guide.
13856	ElasticsearchSettings *ElasticsearchSettings `type:"structure"`
13857
13858	// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.
13859	//
13860	// EndpointArn is a required field
13861	EndpointArn *string `type:"string" required:"true"`
13862
13863	// The database endpoint identifier. Identifiers must begin with a letter and
13864	// must contain only ASCII letters, digits, and hyphens. They can't end with
13865	// a hyphen or contain two consecutive hyphens.
13866	EndpointIdentifier *string `type:"string"`
13867
13868	// The type of endpoint. Valid values are source and target.
13869	EndpointType *string `type:"string" enum:"ReplicationEndpointTypeValue"`
13870
13871	// The type of engine for the endpoint. Valid values, depending on the EndpointType,
13872	// include "mysql", "oracle", "postgres", "mariadb", "aurora", "aurora-postgresql",
13873	// "redshift", "s3", "db2", "azuredb", "sybase", "dynamodb", "mongodb", "kinesis",
13874	// "kafka", "elasticsearch", "documentdb", "sqlserver", and "neptune".
13875	EngineName *string `type:"string"`
13876
13877	// If this attribute is Y, the current call to ModifyEndpoint replaces all existing
13878	// endpoint settings with the exact settings that you specify in this call.
13879	// If this attribute is N, the current call to ModifyEndpoint does two things:
13880	//
13881	//    * It replaces any endpoint settings that already exist with new values,
13882	//    for settings with the same names.
13883	//
13884	//    * It creates new endpoint settings that you specify in the call, for settings
13885	//    with different names.
13886	//
13887	// For example, if you call create-endpoint ... --endpoint-settings '{"a":1}'
13888	// ..., the endpoint has the following endpoint settings: '{"a":1}'. If you
13889	// then call modify-endpoint ... --endpoint-settings '{"b":2}' ... for the same
13890	// endpoint, the endpoint has the following settings: '{"a":1,"b":2}'.
13891	//
13892	// However, suppose that you follow this with a call to modify-endpoint ...
13893	// --endpoint-settings '{"b":2}' --exact-settings ... for that same endpoint
13894	// again. Then the endpoint has the following settings: '{"b":2}'. All existing
13895	// settings are replaced with the exact settings that you specify.
13896	ExactSettings *bool `type:"boolean"`
13897
13898	// The external table definition.
13899	ExternalTableDefinition *string `type:"string"`
13900
13901	// Additional attributes associated with the connection. To reset this parameter,
13902	// pass the empty string ("") as an argument.
13903	ExtraConnectionAttributes *string `type:"string"`
13904
13905	// Settings in JSON format for the source IBM Db2 LUW endpoint. For information
13906	// about other available settings, see Extra connection attributes when using
13907	// Db2 LUW as a source for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.html#CHAP_Source.DB2.ConnectionAttrib)
13908	// in the Database Migration Service User Guide.
13909	IBMDb2Settings *IBMDb2Settings `type:"structure"`
13910
13911	// Settings in JSON format for the target Apache Kafka endpoint. For more information
13912	// about the available settings, see Using object mapping to migrate data to
13913	// a Kafka topic (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html#CHAP_Target.Kafka.ObjectMapping)
13914	// in the Database Migration Service User Guide.
13915	KafkaSettings *KafkaSettings `type:"structure"`
13916
13917	// Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams.
13918	// For more information about the available settings, see Using object mapping
13919	// to migrate data to a Kinesis data stream (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html#CHAP_Target.Kinesis.ObjectMapping)
13920	// in the Database Migration Service User Guide.
13921	KinesisSettings *KinesisSettings `type:"structure"`
13922
13923	// Settings in JSON format for the source and target Microsoft SQL Server endpoint.
13924	// For information about other available settings, see Extra connection attributes
13925	// when using SQL Server as a source for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.ConnectionAttrib)
13926	// and Extra connection attributes when using SQL Server as a target for DMS
13927	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html#CHAP_Target.SQLServer.ConnectionAttrib)
13928	// in the Database Migration Service User Guide.
13929	MicrosoftSQLServerSettings *MicrosoftSQLServerSettings `type:"structure"`
13930
13931	// Settings in JSON format for the source MongoDB endpoint. For more information
13932	// about the available settings, see the configuration properties section in
13933	// Endpoint configuration settings when using MongoDB as a source for Database
13934	// Migration Service (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html#CHAP_Source.MongoDB.Configuration)
13935	// in the Database Migration Service User Guide.
13936	MongoDbSettings *MongoDbSettings `type:"structure"`
13937
13938	// Settings in JSON format for the source and target MySQL endpoint. For information
13939	// about other available settings, see Extra connection attributes when using
13940	// MySQL as a source for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib)
13941	// and Extra connection attributes when using a MySQL-compatible database as
13942	// a target for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html#CHAP_Target.MySQL.ConnectionAttrib)
13943	// in the Database Migration Service User Guide.
13944	MySQLSettings *MySQLSettings `type:"structure"`
13945
13946	// Settings in JSON format for the target Amazon Neptune endpoint. For more
13947	// information about the available settings, see Specifying graph-mapping rules
13948	// using Gremlin and R2RML for Amazon Neptune as a target (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings)
13949	// in the Database Migration Service User Guide.
13950	NeptuneSettings *NeptuneSettings `type:"structure"`
13951
13952	// Settings in JSON format for the source and target Oracle endpoint. For information
13953	// about other available settings, see Extra connection attributes when using
13954	// Oracle as a source for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib)
13955	// and Extra connection attributes when using Oracle as a target for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.ConnectionAttrib)
13956	// in the Database Migration Service User Guide.
13957	OracleSettings *OracleSettings `type:"structure"`
13958
13959	// The password to be used to login to the endpoint database.
13960	//
13961	// Password is a sensitive parameter and its value will be
13962	// replaced with "sensitive" in string returned by ModifyEndpointInput's
13963	// String and GoString methods.
13964	Password *string `type:"string" sensitive:"true"`
13965
13966	// The port used by the endpoint database.
13967	Port *int64 `type:"integer"`
13968
13969	// Settings in JSON format for the source and target PostgreSQL endpoint. For
13970	// information about other available settings, see Extra connection attributes
13971	// when using PostgreSQL as a source for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib)
13972	// and Extra connection attributes when using PostgreSQL as a target for DMS
13973	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html#CHAP_Target.PostgreSQL.ConnectionAttrib)
13974	// in the Database Migration Service User Guide.
13975	PostgreSQLSettings *PostgreSQLSettings `type:"structure"`
13976
13977	// Settings in JSON format for the Redis target endpoint.
13978	RedisSettings *RedisSettings `type:"structure"`
13979
13980	// Provides information that defines an Amazon Redshift endpoint.
13981	RedshiftSettings *RedshiftSettings `type:"structure"`
13982
13983	// Settings in JSON format for the target Amazon S3 endpoint. For more information
13984	// about the available settings, see Extra Connection Attributes When Using
13985	// Amazon S3 as a Target for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring)
13986	// in the Database Migration Service User Guide.
13987	S3Settings *S3Settings `type:"structure"`
13988
13989	// The name of the server where the endpoint database resides.
13990	ServerName *string `type:"string"`
13991
13992	// The Amazon Resource Name (ARN) for the IAM role you want to use to modify
13993	// the endpoint. The role must allow the iam:PassRole action.
13994	ServiceAccessRoleArn *string `type:"string"`
13995
13996	// The SSL mode used to connect to the endpoint. The default value is none.
13997	SslMode *string `type:"string" enum:"DmsSslModeValue"`
13998
13999	// Settings in JSON format for the source and target SAP ASE endpoint. For information
14000	// about other available settings, see Extra connection attributes when using
14001	// SAP ASE as a source for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html#CHAP_Source.SAP.ConnectionAttrib)
14002	// and Extra connection attributes when using SAP ASE as a target for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.html#CHAP_Target.SAP.ConnectionAttrib)
14003	// in the Database Migration Service User Guide.
14004	SybaseSettings *SybaseSettings `type:"structure"`
14005
14006	// The user name to be used to login to the endpoint database.
14007	Username *string `type:"string"`
14008}
14009
14010// String returns the string representation.
14011//
14012// API parameter values that are decorated as "sensitive" in the API will not
14013// be included in the string output. The member name will be present, but the
14014// value will be replaced with "sensitive".
14015func (s ModifyEndpointInput) String() string {
14016	return awsutil.Prettify(s)
14017}
14018
14019// GoString returns the string representation.
14020//
14021// API parameter values that are decorated as "sensitive" in the API will not
14022// be included in the string output. The member name will be present, but the
14023// value will be replaced with "sensitive".
14024func (s ModifyEndpointInput) GoString() string {
14025	return s.String()
14026}
14027
14028// Validate inspects the fields of the type to determine if they are valid.
14029func (s *ModifyEndpointInput) Validate() error {
14030	invalidParams := request.ErrInvalidParams{Context: "ModifyEndpointInput"}
14031	if s.EndpointArn == nil {
14032		invalidParams.Add(request.NewErrParamRequired("EndpointArn"))
14033	}
14034	if s.DynamoDbSettings != nil {
14035		if err := s.DynamoDbSettings.Validate(); err != nil {
14036			invalidParams.AddNested("DynamoDbSettings", err.(request.ErrInvalidParams))
14037		}
14038	}
14039	if s.ElasticsearchSettings != nil {
14040		if err := s.ElasticsearchSettings.Validate(); err != nil {
14041			invalidParams.AddNested("ElasticsearchSettings", err.(request.ErrInvalidParams))
14042		}
14043	}
14044	if s.NeptuneSettings != nil {
14045		if err := s.NeptuneSettings.Validate(); err != nil {
14046			invalidParams.AddNested("NeptuneSettings", err.(request.ErrInvalidParams))
14047		}
14048	}
14049	if s.RedisSettings != nil {
14050		if err := s.RedisSettings.Validate(); err != nil {
14051			invalidParams.AddNested("RedisSettings", err.(request.ErrInvalidParams))
14052		}
14053	}
14054
14055	if invalidParams.Len() > 0 {
14056		return invalidParams
14057	}
14058	return nil
14059}
14060
14061// SetCertificateArn sets the CertificateArn field's value.
14062func (s *ModifyEndpointInput) SetCertificateArn(v string) *ModifyEndpointInput {
14063	s.CertificateArn = &v
14064	return s
14065}
14066
14067// SetDatabaseName sets the DatabaseName field's value.
14068func (s *ModifyEndpointInput) SetDatabaseName(v string) *ModifyEndpointInput {
14069	s.DatabaseName = &v
14070	return s
14071}
14072
14073// SetDmsTransferSettings sets the DmsTransferSettings field's value.
14074func (s *ModifyEndpointInput) SetDmsTransferSettings(v *DmsTransferSettings) *ModifyEndpointInput {
14075	s.DmsTransferSettings = v
14076	return s
14077}
14078
14079// SetDocDbSettings sets the DocDbSettings field's value.
14080func (s *ModifyEndpointInput) SetDocDbSettings(v *DocDbSettings) *ModifyEndpointInput {
14081	s.DocDbSettings = v
14082	return s
14083}
14084
14085// SetDynamoDbSettings sets the DynamoDbSettings field's value.
14086func (s *ModifyEndpointInput) SetDynamoDbSettings(v *DynamoDbSettings) *ModifyEndpointInput {
14087	s.DynamoDbSettings = v
14088	return s
14089}
14090
14091// SetElasticsearchSettings sets the ElasticsearchSettings field's value.
14092func (s *ModifyEndpointInput) SetElasticsearchSettings(v *ElasticsearchSettings) *ModifyEndpointInput {
14093	s.ElasticsearchSettings = v
14094	return s
14095}
14096
14097// SetEndpointArn sets the EndpointArn field's value.
14098func (s *ModifyEndpointInput) SetEndpointArn(v string) *ModifyEndpointInput {
14099	s.EndpointArn = &v
14100	return s
14101}
14102
14103// SetEndpointIdentifier sets the EndpointIdentifier field's value.
14104func (s *ModifyEndpointInput) SetEndpointIdentifier(v string) *ModifyEndpointInput {
14105	s.EndpointIdentifier = &v
14106	return s
14107}
14108
14109// SetEndpointType sets the EndpointType field's value.
14110func (s *ModifyEndpointInput) SetEndpointType(v string) *ModifyEndpointInput {
14111	s.EndpointType = &v
14112	return s
14113}
14114
14115// SetEngineName sets the EngineName field's value.
14116func (s *ModifyEndpointInput) SetEngineName(v string) *ModifyEndpointInput {
14117	s.EngineName = &v
14118	return s
14119}
14120
14121// SetExactSettings sets the ExactSettings field's value.
14122func (s *ModifyEndpointInput) SetExactSettings(v bool) *ModifyEndpointInput {
14123	s.ExactSettings = &v
14124	return s
14125}
14126
14127// SetExternalTableDefinition sets the ExternalTableDefinition field's value.
14128func (s *ModifyEndpointInput) SetExternalTableDefinition(v string) *ModifyEndpointInput {
14129	s.ExternalTableDefinition = &v
14130	return s
14131}
14132
14133// SetExtraConnectionAttributes sets the ExtraConnectionAttributes field's value.
14134func (s *ModifyEndpointInput) SetExtraConnectionAttributes(v string) *ModifyEndpointInput {
14135	s.ExtraConnectionAttributes = &v
14136	return s
14137}
14138
14139// SetIBMDb2Settings sets the IBMDb2Settings field's value.
14140func (s *ModifyEndpointInput) SetIBMDb2Settings(v *IBMDb2Settings) *ModifyEndpointInput {
14141	s.IBMDb2Settings = v
14142	return s
14143}
14144
14145// SetKafkaSettings sets the KafkaSettings field's value.
14146func (s *ModifyEndpointInput) SetKafkaSettings(v *KafkaSettings) *ModifyEndpointInput {
14147	s.KafkaSettings = v
14148	return s
14149}
14150
14151// SetKinesisSettings sets the KinesisSettings field's value.
14152func (s *ModifyEndpointInput) SetKinesisSettings(v *KinesisSettings) *ModifyEndpointInput {
14153	s.KinesisSettings = v
14154	return s
14155}
14156
14157// SetMicrosoftSQLServerSettings sets the MicrosoftSQLServerSettings field's value.
14158func (s *ModifyEndpointInput) SetMicrosoftSQLServerSettings(v *MicrosoftSQLServerSettings) *ModifyEndpointInput {
14159	s.MicrosoftSQLServerSettings = v
14160	return s
14161}
14162
14163// SetMongoDbSettings sets the MongoDbSettings field's value.
14164func (s *ModifyEndpointInput) SetMongoDbSettings(v *MongoDbSettings) *ModifyEndpointInput {
14165	s.MongoDbSettings = v
14166	return s
14167}
14168
14169// SetMySQLSettings sets the MySQLSettings field's value.
14170func (s *ModifyEndpointInput) SetMySQLSettings(v *MySQLSettings) *ModifyEndpointInput {
14171	s.MySQLSettings = v
14172	return s
14173}
14174
14175// SetNeptuneSettings sets the NeptuneSettings field's value.
14176func (s *ModifyEndpointInput) SetNeptuneSettings(v *NeptuneSettings) *ModifyEndpointInput {
14177	s.NeptuneSettings = v
14178	return s
14179}
14180
14181// SetOracleSettings sets the OracleSettings field's value.
14182func (s *ModifyEndpointInput) SetOracleSettings(v *OracleSettings) *ModifyEndpointInput {
14183	s.OracleSettings = v
14184	return s
14185}
14186
14187// SetPassword sets the Password field's value.
14188func (s *ModifyEndpointInput) SetPassword(v string) *ModifyEndpointInput {
14189	s.Password = &v
14190	return s
14191}
14192
14193// SetPort sets the Port field's value.
14194func (s *ModifyEndpointInput) SetPort(v int64) *ModifyEndpointInput {
14195	s.Port = &v
14196	return s
14197}
14198
14199// SetPostgreSQLSettings sets the PostgreSQLSettings field's value.
14200func (s *ModifyEndpointInput) SetPostgreSQLSettings(v *PostgreSQLSettings) *ModifyEndpointInput {
14201	s.PostgreSQLSettings = v
14202	return s
14203}
14204
14205// SetRedisSettings sets the RedisSettings field's value.
14206func (s *ModifyEndpointInput) SetRedisSettings(v *RedisSettings) *ModifyEndpointInput {
14207	s.RedisSettings = v
14208	return s
14209}
14210
14211// SetRedshiftSettings sets the RedshiftSettings field's value.
14212func (s *ModifyEndpointInput) SetRedshiftSettings(v *RedshiftSettings) *ModifyEndpointInput {
14213	s.RedshiftSettings = v
14214	return s
14215}
14216
14217// SetS3Settings sets the S3Settings field's value.
14218func (s *ModifyEndpointInput) SetS3Settings(v *S3Settings) *ModifyEndpointInput {
14219	s.S3Settings = v
14220	return s
14221}
14222
14223// SetServerName sets the ServerName field's value.
14224func (s *ModifyEndpointInput) SetServerName(v string) *ModifyEndpointInput {
14225	s.ServerName = &v
14226	return s
14227}
14228
14229// SetServiceAccessRoleArn sets the ServiceAccessRoleArn field's value.
14230func (s *ModifyEndpointInput) SetServiceAccessRoleArn(v string) *ModifyEndpointInput {
14231	s.ServiceAccessRoleArn = &v
14232	return s
14233}
14234
14235// SetSslMode sets the SslMode field's value.
14236func (s *ModifyEndpointInput) SetSslMode(v string) *ModifyEndpointInput {
14237	s.SslMode = &v
14238	return s
14239}
14240
14241// SetSybaseSettings sets the SybaseSettings field's value.
14242func (s *ModifyEndpointInput) SetSybaseSettings(v *SybaseSettings) *ModifyEndpointInput {
14243	s.SybaseSettings = v
14244	return s
14245}
14246
14247// SetUsername sets the Username field's value.
14248func (s *ModifyEndpointInput) SetUsername(v string) *ModifyEndpointInput {
14249	s.Username = &v
14250	return s
14251}
14252
14253type ModifyEndpointOutput struct {
14254	_ struct{} `type:"structure"`
14255
14256	// The modified endpoint.
14257	Endpoint *Endpoint `type:"structure"`
14258}
14259
14260// String returns the string representation.
14261//
14262// API parameter values that are decorated as "sensitive" in the API will not
14263// be included in the string output. The member name will be present, but the
14264// value will be replaced with "sensitive".
14265func (s ModifyEndpointOutput) String() string {
14266	return awsutil.Prettify(s)
14267}
14268
14269// GoString returns the string representation.
14270//
14271// API parameter values that are decorated as "sensitive" in the API will not
14272// be included in the string output. The member name will be present, but the
14273// value will be replaced with "sensitive".
14274func (s ModifyEndpointOutput) GoString() string {
14275	return s.String()
14276}
14277
14278// SetEndpoint sets the Endpoint field's value.
14279func (s *ModifyEndpointOutput) SetEndpoint(v *Endpoint) *ModifyEndpointOutput {
14280	s.Endpoint = v
14281	return s
14282}
14283
14284type ModifyEventSubscriptionInput struct {
14285	_ struct{} `type:"structure"`
14286
14287	// A Boolean value; set to true to activate the subscription.
14288	Enabled *bool `type:"boolean"`
14289
14290	// A list of event categories for a source type that you want to subscribe to.
14291	// Use the DescribeEventCategories action to see a list of event categories.
14292	EventCategories []*string `type:"list"`
14293
14294	// The Amazon Resource Name (ARN) of the Amazon SNS topic created for event
14295	// notification. The ARN is created by Amazon SNS when you create a topic and
14296	// subscribe to it.
14297	SnsTopicArn *string `type:"string"`
14298
14299	// The type of DMS resource that generates the events you want to subscribe
14300	// to.
14301	//
14302	// Valid values: replication-instance | replication-task
14303	SourceType *string `type:"string"`
14304
14305	// The name of the DMS event notification subscription to be modified.
14306	//
14307	// SubscriptionName is a required field
14308	SubscriptionName *string `type:"string" required:"true"`
14309}
14310
14311// String returns the string representation.
14312//
14313// API parameter values that are decorated as "sensitive" in the API will not
14314// be included in the string output. The member name will be present, but the
14315// value will be replaced with "sensitive".
14316func (s ModifyEventSubscriptionInput) String() string {
14317	return awsutil.Prettify(s)
14318}
14319
14320// GoString returns the string representation.
14321//
14322// API parameter values that are decorated as "sensitive" in the API will not
14323// be included in the string output. The member name will be present, but the
14324// value will be replaced with "sensitive".
14325func (s ModifyEventSubscriptionInput) GoString() string {
14326	return s.String()
14327}
14328
14329// Validate inspects the fields of the type to determine if they are valid.
14330func (s *ModifyEventSubscriptionInput) Validate() error {
14331	invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"}
14332	if s.SubscriptionName == nil {
14333		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
14334	}
14335
14336	if invalidParams.Len() > 0 {
14337		return invalidParams
14338	}
14339	return nil
14340}
14341
14342// SetEnabled sets the Enabled field's value.
14343func (s *ModifyEventSubscriptionInput) SetEnabled(v bool) *ModifyEventSubscriptionInput {
14344	s.Enabled = &v
14345	return s
14346}
14347
14348// SetEventCategories sets the EventCategories field's value.
14349func (s *ModifyEventSubscriptionInput) SetEventCategories(v []*string) *ModifyEventSubscriptionInput {
14350	s.EventCategories = v
14351	return s
14352}
14353
14354// SetSnsTopicArn sets the SnsTopicArn field's value.
14355func (s *ModifyEventSubscriptionInput) SetSnsTopicArn(v string) *ModifyEventSubscriptionInput {
14356	s.SnsTopicArn = &v
14357	return s
14358}
14359
14360// SetSourceType sets the SourceType field's value.
14361func (s *ModifyEventSubscriptionInput) SetSourceType(v string) *ModifyEventSubscriptionInput {
14362	s.SourceType = &v
14363	return s
14364}
14365
14366// SetSubscriptionName sets the SubscriptionName field's value.
14367func (s *ModifyEventSubscriptionInput) SetSubscriptionName(v string) *ModifyEventSubscriptionInput {
14368	s.SubscriptionName = &v
14369	return s
14370}
14371
14372type ModifyEventSubscriptionOutput struct {
14373	_ struct{} `type:"structure"`
14374
14375	// The modified event subscription.
14376	EventSubscription *EventSubscription `type:"structure"`
14377}
14378
14379// String returns the string representation.
14380//
14381// API parameter values that are decorated as "sensitive" in the API will not
14382// be included in the string output. The member name will be present, but the
14383// value will be replaced with "sensitive".
14384func (s ModifyEventSubscriptionOutput) String() string {
14385	return awsutil.Prettify(s)
14386}
14387
14388// GoString returns the string representation.
14389//
14390// API parameter values that are decorated as "sensitive" in the API will not
14391// be included in the string output. The member name will be present, but the
14392// value will be replaced with "sensitive".
14393func (s ModifyEventSubscriptionOutput) GoString() string {
14394	return s.String()
14395}
14396
14397// SetEventSubscription sets the EventSubscription field's value.
14398func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *ModifyEventSubscriptionOutput {
14399	s.EventSubscription = v
14400	return s
14401}
14402
14403type ModifyReplicationInstanceInput struct {
14404	_ struct{} `type:"structure"`
14405
14406	// The amount of storage (in gigabytes) to be allocated for the replication
14407	// instance.
14408	AllocatedStorage *int64 `type:"integer"`
14409
14410	// Indicates that major version upgrades are allowed. Changing this parameter
14411	// does not result in an outage, and the change is asynchronously applied as
14412	// soon as possible.
14413	//
14414	// This parameter must be set to true when specifying a value for the EngineVersion
14415	// parameter that is a different major version than the replication instance's
14416	// current version.
14417	AllowMajorVersionUpgrade *bool `type:"boolean"`
14418
14419	// Indicates whether the changes should be applied immediately or during the
14420	// next maintenance window.
14421	ApplyImmediately *bool `type:"boolean"`
14422
14423	// A value that indicates that minor version upgrades are applied automatically
14424	// to the replication instance during the maintenance window. Changing this
14425	// parameter doesn't result in an outage, except in the case described following.
14426	// The change is asynchronously applied as soon as possible.
14427	//
14428	// An outage does result if these factors apply:
14429	//
14430	//    * This parameter is set to true during the maintenance window.
14431	//
14432	//    * A newer minor version is available.
14433	//
14434	//    * DMS has enabled automatic patching for the given engine version.
14435	AutoMinorVersionUpgrade *bool `type:"boolean"`
14436
14437	// The engine version number of the replication instance.
14438	//
14439	// When modifying a major engine version of an instance, also set AllowMajorVersionUpgrade
14440	// to true.
14441	EngineVersion *string `type:"string"`
14442
14443	// Specifies whether the replication instance is a Multi-AZ deployment. You
14444	// can't set the AvailabilityZone parameter if the Multi-AZ parameter is set
14445	// to true.
14446	MultiAZ *bool `type:"boolean"`
14447
14448	// The weekly time range (in UTC) during which system maintenance can occur,
14449	// which might result in an outage. Changing this parameter does not result
14450	// in an outage, except in the following situation, and the change is asynchronously
14451	// applied as soon as possible. If moving this window to the current time, there
14452	// must be at least 30 minutes between the current time and end of the window
14453	// to ensure pending changes are applied.
14454	//
14455	// Default: Uses existing setting
14456	//
14457	// Format: ddd:hh24:mi-ddd:hh24:mi
14458	//
14459	// Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
14460	//
14461	// Constraints: Must be at least 30 minutes
14462	PreferredMaintenanceWindow *string `type:"string"`
14463
14464	// The Amazon Resource Name (ARN) of the replication instance.
14465	//
14466	// ReplicationInstanceArn is a required field
14467	ReplicationInstanceArn *string `type:"string" required:"true"`
14468
14469	// The compute and memory capacity of the replication instance as defined for
14470	// the specified replication instance class. For example to specify the instance
14471	// class dms.c4.large, set this parameter to "dms.c4.large".
14472	//
14473	// For more information on the settings and capacities for the available replication
14474	// instance classes, see Selecting the right DMS replication instance for your
14475	// migration (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth).
14476	ReplicationInstanceClass *string `type:"string"`
14477
14478	// The replication instance identifier. This parameter is stored as a lowercase
14479	// string.
14480	ReplicationInstanceIdentifier *string `type:"string"`
14481
14482	// Specifies the VPC security group to be used with the replication instance.
14483	// The VPC security group must work with the VPC containing the replication
14484	// instance.
14485	VpcSecurityGroupIds []*string `type:"list"`
14486}
14487
14488// String returns the string representation.
14489//
14490// API parameter values that are decorated as "sensitive" in the API will not
14491// be included in the string output. The member name will be present, but the
14492// value will be replaced with "sensitive".
14493func (s ModifyReplicationInstanceInput) String() string {
14494	return awsutil.Prettify(s)
14495}
14496
14497// GoString returns the string representation.
14498//
14499// API parameter values that are decorated as "sensitive" in the API will not
14500// be included in the string output. The member name will be present, but the
14501// value will be replaced with "sensitive".
14502func (s ModifyReplicationInstanceInput) GoString() string {
14503	return s.String()
14504}
14505
14506// Validate inspects the fields of the type to determine if they are valid.
14507func (s *ModifyReplicationInstanceInput) Validate() error {
14508	invalidParams := request.ErrInvalidParams{Context: "ModifyReplicationInstanceInput"}
14509	if s.ReplicationInstanceArn == nil {
14510		invalidParams.Add(request.NewErrParamRequired("ReplicationInstanceArn"))
14511	}
14512
14513	if invalidParams.Len() > 0 {
14514		return invalidParams
14515	}
14516	return nil
14517}
14518
14519// SetAllocatedStorage sets the AllocatedStorage field's value.
14520func (s *ModifyReplicationInstanceInput) SetAllocatedStorage(v int64) *ModifyReplicationInstanceInput {
14521	s.AllocatedStorage = &v
14522	return s
14523}
14524
14525// SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
14526func (s *ModifyReplicationInstanceInput) SetAllowMajorVersionUpgrade(v bool) *ModifyReplicationInstanceInput {
14527	s.AllowMajorVersionUpgrade = &v
14528	return s
14529}
14530
14531// SetApplyImmediately sets the ApplyImmediately field's value.
14532func (s *ModifyReplicationInstanceInput) SetApplyImmediately(v bool) *ModifyReplicationInstanceInput {
14533	s.ApplyImmediately = &v
14534	return s
14535}
14536
14537// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
14538func (s *ModifyReplicationInstanceInput) SetAutoMinorVersionUpgrade(v bool) *ModifyReplicationInstanceInput {
14539	s.AutoMinorVersionUpgrade = &v
14540	return s
14541}
14542
14543// SetEngineVersion sets the EngineVersion field's value.
14544func (s *ModifyReplicationInstanceInput) SetEngineVersion(v string) *ModifyReplicationInstanceInput {
14545	s.EngineVersion = &v
14546	return s
14547}
14548
14549// SetMultiAZ sets the MultiAZ field's value.
14550func (s *ModifyReplicationInstanceInput) SetMultiAZ(v bool) *ModifyReplicationInstanceInput {
14551	s.MultiAZ = &v
14552	return s
14553}
14554
14555// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
14556func (s *ModifyReplicationInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyReplicationInstanceInput {
14557	s.PreferredMaintenanceWindow = &v
14558	return s
14559}
14560
14561// SetReplicationInstanceArn sets the ReplicationInstanceArn field's value.
14562func (s *ModifyReplicationInstanceInput) SetReplicationInstanceArn(v string) *ModifyReplicationInstanceInput {
14563	s.ReplicationInstanceArn = &v
14564	return s
14565}
14566
14567// SetReplicationInstanceClass sets the ReplicationInstanceClass field's value.
14568func (s *ModifyReplicationInstanceInput) SetReplicationInstanceClass(v string) *ModifyReplicationInstanceInput {
14569	s.ReplicationInstanceClass = &v
14570	return s
14571}
14572
14573// SetReplicationInstanceIdentifier sets the ReplicationInstanceIdentifier field's value.
14574func (s *ModifyReplicationInstanceInput) SetReplicationInstanceIdentifier(v string) *ModifyReplicationInstanceInput {
14575	s.ReplicationInstanceIdentifier = &v
14576	return s
14577}
14578
14579// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
14580func (s *ModifyReplicationInstanceInput) SetVpcSecurityGroupIds(v []*string) *ModifyReplicationInstanceInput {
14581	s.VpcSecurityGroupIds = v
14582	return s
14583}
14584
14585type ModifyReplicationInstanceOutput struct {
14586	_ struct{} `type:"structure"`
14587
14588	// The modified replication instance.
14589	ReplicationInstance *ReplicationInstance `type:"structure"`
14590}
14591
14592// String returns the string representation.
14593//
14594// API parameter values that are decorated as "sensitive" in the API will not
14595// be included in the string output. The member name will be present, but the
14596// value will be replaced with "sensitive".
14597func (s ModifyReplicationInstanceOutput) String() string {
14598	return awsutil.Prettify(s)
14599}
14600
14601// GoString returns the string representation.
14602//
14603// API parameter values that are decorated as "sensitive" in the API will not
14604// be included in the string output. The member name will be present, but the
14605// value will be replaced with "sensitive".
14606func (s ModifyReplicationInstanceOutput) GoString() string {
14607	return s.String()
14608}
14609
14610// SetReplicationInstance sets the ReplicationInstance field's value.
14611func (s *ModifyReplicationInstanceOutput) SetReplicationInstance(v *ReplicationInstance) *ModifyReplicationInstanceOutput {
14612	s.ReplicationInstance = v
14613	return s
14614}
14615
14616type ModifyReplicationSubnetGroupInput struct {
14617	_ struct{} `type:"structure"`
14618
14619	// A description for the replication instance subnet group.
14620	ReplicationSubnetGroupDescription *string `type:"string"`
14621
14622	// The name of the replication instance subnet group.
14623	//
14624	// ReplicationSubnetGroupIdentifier is a required field
14625	ReplicationSubnetGroupIdentifier *string `type:"string" required:"true"`
14626
14627	// A list of subnet IDs.
14628	//
14629	// SubnetIds is a required field
14630	SubnetIds []*string `type:"list" required:"true"`
14631}
14632
14633// String returns the string representation.
14634//
14635// API parameter values that are decorated as "sensitive" in the API will not
14636// be included in the string output. The member name will be present, but the
14637// value will be replaced with "sensitive".
14638func (s ModifyReplicationSubnetGroupInput) String() string {
14639	return awsutil.Prettify(s)
14640}
14641
14642// GoString returns the string representation.
14643//
14644// API parameter values that are decorated as "sensitive" in the API will not
14645// be included in the string output. The member name will be present, but the
14646// value will be replaced with "sensitive".
14647func (s ModifyReplicationSubnetGroupInput) GoString() string {
14648	return s.String()
14649}
14650
14651// Validate inspects the fields of the type to determine if they are valid.
14652func (s *ModifyReplicationSubnetGroupInput) Validate() error {
14653	invalidParams := request.ErrInvalidParams{Context: "ModifyReplicationSubnetGroupInput"}
14654	if s.ReplicationSubnetGroupIdentifier == nil {
14655		invalidParams.Add(request.NewErrParamRequired("ReplicationSubnetGroupIdentifier"))
14656	}
14657	if s.SubnetIds == nil {
14658		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
14659	}
14660
14661	if invalidParams.Len() > 0 {
14662		return invalidParams
14663	}
14664	return nil
14665}
14666
14667// SetReplicationSubnetGroupDescription sets the ReplicationSubnetGroupDescription field's value.
14668func (s *ModifyReplicationSubnetGroupInput) SetReplicationSubnetGroupDescription(v string) *ModifyReplicationSubnetGroupInput {
14669	s.ReplicationSubnetGroupDescription = &v
14670	return s
14671}
14672
14673// SetReplicationSubnetGroupIdentifier sets the ReplicationSubnetGroupIdentifier field's value.
14674func (s *ModifyReplicationSubnetGroupInput) SetReplicationSubnetGroupIdentifier(v string) *ModifyReplicationSubnetGroupInput {
14675	s.ReplicationSubnetGroupIdentifier = &v
14676	return s
14677}
14678
14679// SetSubnetIds sets the SubnetIds field's value.
14680func (s *ModifyReplicationSubnetGroupInput) SetSubnetIds(v []*string) *ModifyReplicationSubnetGroupInput {
14681	s.SubnetIds = v
14682	return s
14683}
14684
14685type ModifyReplicationSubnetGroupOutput struct {
14686	_ struct{} `type:"structure"`
14687
14688	// The modified replication subnet group.
14689	ReplicationSubnetGroup *ReplicationSubnetGroup `type:"structure"`
14690}
14691
14692// String returns the string representation.
14693//
14694// API parameter values that are decorated as "sensitive" in the API will not
14695// be included in the string output. The member name will be present, but the
14696// value will be replaced with "sensitive".
14697func (s ModifyReplicationSubnetGroupOutput) String() string {
14698	return awsutil.Prettify(s)
14699}
14700
14701// GoString returns the string representation.
14702//
14703// API parameter values that are decorated as "sensitive" in the API will not
14704// be included in the string output. The member name will be present, but the
14705// value will be replaced with "sensitive".
14706func (s ModifyReplicationSubnetGroupOutput) GoString() string {
14707	return s.String()
14708}
14709
14710// SetReplicationSubnetGroup sets the ReplicationSubnetGroup field's value.
14711func (s *ModifyReplicationSubnetGroupOutput) SetReplicationSubnetGroup(v *ReplicationSubnetGroup) *ModifyReplicationSubnetGroupOutput {
14712	s.ReplicationSubnetGroup = v
14713	return s
14714}
14715
14716type ModifyReplicationTaskInput struct {
14717	_ struct{} `type:"structure"`
14718
14719	// Indicates when you want a change data capture (CDC) operation to start. Use
14720	// either CdcStartPosition or CdcStartTime to specify when you want a CDC operation
14721	// to start. Specifying both values results in an error.
14722	//
14723	// The value can be in date, checkpoint, or LSN/SCN format.
14724	//
14725	// Date Example: --cdc-start-position “2018-03-08T12:12:12”
14726	//
14727	// Checkpoint Example: --cdc-start-position "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93"
14728	//
14729	// LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”
14730	//
14731	// When you use this task setting with a source PostgreSQL database, a logical
14732	// replication slot should already be created and associated with the source
14733	// endpoint. You can verify this by setting the slotName extra connection attribute
14734	// to the name of this logical replication slot. For more information, see Extra
14735	// Connection Attributes When Using PostgreSQL as a Source for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib).
14736	CdcStartPosition *string `type:"string"`
14737
14738	// Indicates the start time for a change data capture (CDC) operation. Use either
14739	// CdcStartTime or CdcStartPosition to specify when you want a CDC operation
14740	// to start. Specifying both values results in an error.
14741	//
14742	// Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”
14743	CdcStartTime *time.Time `type:"timestamp"`
14744
14745	// Indicates when you want a change data capture (CDC) operation to stop. The
14746	// value can be either server time or commit time.
14747	//
14748	// Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”
14749	//
14750	// Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12
14751	// “
14752	CdcStopPosition *string `type:"string"`
14753
14754	// The migration type. Valid values: full-load | cdc | full-load-and-cdc
14755	MigrationType *string `type:"string" enum:"MigrationTypeValue"`
14756
14757	// The Amazon Resource Name (ARN) of the replication task.
14758	//
14759	// ReplicationTaskArn is a required field
14760	ReplicationTaskArn *string `type:"string" required:"true"`
14761
14762	// The replication task identifier.
14763	//
14764	// Constraints:
14765	//
14766	//    * Must contain 1-255 alphanumeric characters or hyphens.
14767	//
14768	//    * First character must be a letter.
14769	//
14770	//    * Cannot end with a hyphen or contain two consecutive hyphens.
14771	ReplicationTaskIdentifier *string `type:"string"`
14772
14773	// JSON file that contains settings for the task, such as task metadata settings.
14774	ReplicationTaskSettings *string `type:"string"`
14775
14776	// When using the CLI or boto3, provide the path of the JSON file that contains
14777	// the table mappings. Precede the path with file://. For example, --table-mappings
14778	// file://mappingfile.json. When working with the DMS API, provide the JSON
14779	// as the parameter value.
14780	TableMappings *string `type:"string"`
14781
14782	// Supplemental information that the task requires to migrate the data for certain
14783	// source and target endpoints. For more information, see Specifying Supplemental
14784	// Data for Task Settings (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html)
14785	// in the Database Migration Service User Guide.
14786	TaskData *string `type:"string"`
14787}
14788
14789// String returns the string representation.
14790//
14791// API parameter values that are decorated as "sensitive" in the API will not
14792// be included in the string output. The member name will be present, but the
14793// value will be replaced with "sensitive".
14794func (s ModifyReplicationTaskInput) String() string {
14795	return awsutil.Prettify(s)
14796}
14797
14798// GoString returns the string representation.
14799//
14800// API parameter values that are decorated as "sensitive" in the API will not
14801// be included in the string output. The member name will be present, but the
14802// value will be replaced with "sensitive".
14803func (s ModifyReplicationTaskInput) GoString() string {
14804	return s.String()
14805}
14806
14807// Validate inspects the fields of the type to determine if they are valid.
14808func (s *ModifyReplicationTaskInput) Validate() error {
14809	invalidParams := request.ErrInvalidParams{Context: "ModifyReplicationTaskInput"}
14810	if s.ReplicationTaskArn == nil {
14811		invalidParams.Add(request.NewErrParamRequired("ReplicationTaskArn"))
14812	}
14813
14814	if invalidParams.Len() > 0 {
14815		return invalidParams
14816	}
14817	return nil
14818}
14819
14820// SetCdcStartPosition sets the CdcStartPosition field's value.
14821func (s *ModifyReplicationTaskInput) SetCdcStartPosition(v string) *ModifyReplicationTaskInput {
14822	s.CdcStartPosition = &v
14823	return s
14824}
14825
14826// SetCdcStartTime sets the CdcStartTime field's value.
14827func (s *ModifyReplicationTaskInput) SetCdcStartTime(v time.Time) *ModifyReplicationTaskInput {
14828	s.CdcStartTime = &v
14829	return s
14830}
14831
14832// SetCdcStopPosition sets the CdcStopPosition field's value.
14833func (s *ModifyReplicationTaskInput) SetCdcStopPosition(v string) *ModifyReplicationTaskInput {
14834	s.CdcStopPosition = &v
14835	return s
14836}
14837
14838// SetMigrationType sets the MigrationType field's value.
14839func (s *ModifyReplicationTaskInput) SetMigrationType(v string) *ModifyReplicationTaskInput {
14840	s.MigrationType = &v
14841	return s
14842}
14843
14844// SetReplicationTaskArn sets the ReplicationTaskArn field's value.
14845func (s *ModifyReplicationTaskInput) SetReplicationTaskArn(v string) *ModifyReplicationTaskInput {
14846	s.ReplicationTaskArn = &v
14847	return s
14848}
14849
14850// SetReplicationTaskIdentifier sets the ReplicationTaskIdentifier field's value.
14851func (s *ModifyReplicationTaskInput) SetReplicationTaskIdentifier(v string) *ModifyReplicationTaskInput {
14852	s.ReplicationTaskIdentifier = &v
14853	return s
14854}
14855
14856// SetReplicationTaskSettings sets the ReplicationTaskSettings field's value.
14857func (s *ModifyReplicationTaskInput) SetReplicationTaskSettings(v string) *ModifyReplicationTaskInput {
14858	s.ReplicationTaskSettings = &v
14859	return s
14860}
14861
14862// SetTableMappings sets the TableMappings field's value.
14863func (s *ModifyReplicationTaskInput) SetTableMappings(v string) *ModifyReplicationTaskInput {
14864	s.TableMappings = &v
14865	return s
14866}
14867
14868// SetTaskData sets the TaskData field's value.
14869func (s *ModifyReplicationTaskInput) SetTaskData(v string) *ModifyReplicationTaskInput {
14870	s.TaskData = &v
14871	return s
14872}
14873
14874type ModifyReplicationTaskOutput struct {
14875	_ struct{} `type:"structure"`
14876
14877	// The replication task that was modified.
14878	ReplicationTask *ReplicationTask `type:"structure"`
14879}
14880
14881// String returns the string representation.
14882//
14883// API parameter values that are decorated as "sensitive" in the API will not
14884// be included in the string output. The member name will be present, but the
14885// value will be replaced with "sensitive".
14886func (s ModifyReplicationTaskOutput) String() string {
14887	return awsutil.Prettify(s)
14888}
14889
14890// GoString returns the string representation.
14891//
14892// API parameter values that are decorated as "sensitive" in the API will not
14893// be included in the string output. The member name will be present, but the
14894// value will be replaced with "sensitive".
14895func (s ModifyReplicationTaskOutput) GoString() string {
14896	return s.String()
14897}
14898
14899// SetReplicationTask sets the ReplicationTask field's value.
14900func (s *ModifyReplicationTaskOutput) SetReplicationTask(v *ReplicationTask) *ModifyReplicationTaskOutput {
14901	s.ReplicationTask = v
14902	return s
14903}
14904
14905// Provides information that defines a MongoDB endpoint.
14906type MongoDbSettings struct {
14907	_ struct{} `type:"structure"`
14908
14909	// The authentication mechanism you use to access the MongoDB source endpoint.
14910	//
14911	// For the default value, in MongoDB version 2.x, "default" is "mongodb_cr".
14912	// For MongoDB version 3.x or later, "default" is "scram_sha_1". This setting
14913	// isn't used when AuthType is set to "no".
14914	AuthMechanism *string `type:"string" enum:"AuthMechanismValue"`
14915
14916	// The MongoDB database name. This setting isn't used when AuthType is set to
14917	// "no".
14918	//
14919	// The default is "admin".
14920	AuthSource *string `type:"string"`
14921
14922	// The authentication type you use to access the MongoDB source endpoint.
14923	//
14924	// When when set to "no", user name and password parameters are not used and
14925	// can be empty.
14926	AuthType *string `type:"string" enum:"AuthTypeValue"`
14927
14928	// The database name on the MongoDB source endpoint.
14929	DatabaseName *string `type:"string"`
14930
14931	// Indicates the number of documents to preview to determine the document organization.
14932	// Use this setting when NestingLevel is set to "one".
14933	//
14934	// Must be a positive value greater than 0. Default value is 1000.
14935	DocsToInvestigate *string `type:"string"`
14936
14937	// Specifies the document ID. Use this setting when NestingLevel is set to "none".
14938	//
14939	// Default value is "false".
14940	ExtractDocId *string `type:"string"`
14941
14942	// The KMS key identifier that is used to encrypt the content on the replication
14943	// instance. If you don't specify a value for the KmsKeyId parameter, then DMS
14944	// uses your default encryption key. KMS creates the default encryption key
14945	// for your Amazon Web Services account. Your Amazon Web Services account has
14946	// a different default encryption key for each Amazon Web Services Region.
14947	KmsKeyId *string `type:"string"`
14948
14949	// Specifies either document or table mode.
14950	//
14951	// Default value is "none". Specify "none" to use document mode. Specify "one"
14952	// to use table mode.
14953	NestingLevel *string `type:"string" enum:"NestingLevelValue"`
14954
14955	// The password for the user account you use to access the MongoDB source endpoint.
14956	//
14957	// Password is a sensitive parameter and its value will be
14958	// replaced with "sensitive" in string returned by MongoDbSettings's
14959	// String and GoString methods.
14960	Password *string `type:"string" sensitive:"true"`
14961
14962	// The port value for the MongoDB source endpoint.
14963	Port *int64 `type:"integer"`
14964
14965	// The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as
14966	// the trusted entity and grants the required permissions to access the value
14967	// in SecretsManagerSecret. The role must allow the iam:PassRole action. SecretsManagerSecret
14968	// has the value of the Amazon Web Services Secrets Manager secret that allows
14969	// access to the MongoDB endpoint.
14970	//
14971	// You can specify one of two sets of values for these permissions. You can
14972	// specify the values for this setting and SecretsManagerSecretId. Or you can
14973	// specify clear-text values for UserName, Password, ServerName, and Port. You
14974	// can't specify both. For more information on creating this SecretsManagerSecret
14975	// and the SecretsManagerAccessRoleArn and SecretsManagerSecretId required to
14976	// access it, see Using secrets to access Database Migration Service resources
14977	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
14978	// in the Database Migration Service User Guide.
14979	SecretsManagerAccessRoleArn *string `type:"string"`
14980
14981	// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that
14982	// contains the MongoDB endpoint connection details.
14983	SecretsManagerSecretId *string `type:"string"`
14984
14985	// The name of the server on the MongoDB source endpoint.
14986	ServerName *string `type:"string"`
14987
14988	// The user name you use to access the MongoDB source endpoint.
14989	Username *string `type:"string"`
14990}
14991
14992// String returns the string representation.
14993//
14994// API parameter values that are decorated as "sensitive" in the API will not
14995// be included in the string output. The member name will be present, but the
14996// value will be replaced with "sensitive".
14997func (s MongoDbSettings) String() string {
14998	return awsutil.Prettify(s)
14999}
15000
15001// GoString returns the string representation.
15002//
15003// API parameter values that are decorated as "sensitive" in the API will not
15004// be included in the string output. The member name will be present, but the
15005// value will be replaced with "sensitive".
15006func (s MongoDbSettings) GoString() string {
15007	return s.String()
15008}
15009
15010// SetAuthMechanism sets the AuthMechanism field's value.
15011func (s *MongoDbSettings) SetAuthMechanism(v string) *MongoDbSettings {
15012	s.AuthMechanism = &v
15013	return s
15014}
15015
15016// SetAuthSource sets the AuthSource field's value.
15017func (s *MongoDbSettings) SetAuthSource(v string) *MongoDbSettings {
15018	s.AuthSource = &v
15019	return s
15020}
15021
15022// SetAuthType sets the AuthType field's value.
15023func (s *MongoDbSettings) SetAuthType(v string) *MongoDbSettings {
15024	s.AuthType = &v
15025	return s
15026}
15027
15028// SetDatabaseName sets the DatabaseName field's value.
15029func (s *MongoDbSettings) SetDatabaseName(v string) *MongoDbSettings {
15030	s.DatabaseName = &v
15031	return s
15032}
15033
15034// SetDocsToInvestigate sets the DocsToInvestigate field's value.
15035func (s *MongoDbSettings) SetDocsToInvestigate(v string) *MongoDbSettings {
15036	s.DocsToInvestigate = &v
15037	return s
15038}
15039
15040// SetExtractDocId sets the ExtractDocId field's value.
15041func (s *MongoDbSettings) SetExtractDocId(v string) *MongoDbSettings {
15042	s.ExtractDocId = &v
15043	return s
15044}
15045
15046// SetKmsKeyId sets the KmsKeyId field's value.
15047func (s *MongoDbSettings) SetKmsKeyId(v string) *MongoDbSettings {
15048	s.KmsKeyId = &v
15049	return s
15050}
15051
15052// SetNestingLevel sets the NestingLevel field's value.
15053func (s *MongoDbSettings) SetNestingLevel(v string) *MongoDbSettings {
15054	s.NestingLevel = &v
15055	return s
15056}
15057
15058// SetPassword sets the Password field's value.
15059func (s *MongoDbSettings) SetPassword(v string) *MongoDbSettings {
15060	s.Password = &v
15061	return s
15062}
15063
15064// SetPort sets the Port field's value.
15065func (s *MongoDbSettings) SetPort(v int64) *MongoDbSettings {
15066	s.Port = &v
15067	return s
15068}
15069
15070// SetSecretsManagerAccessRoleArn sets the SecretsManagerAccessRoleArn field's value.
15071func (s *MongoDbSettings) SetSecretsManagerAccessRoleArn(v string) *MongoDbSettings {
15072	s.SecretsManagerAccessRoleArn = &v
15073	return s
15074}
15075
15076// SetSecretsManagerSecretId sets the SecretsManagerSecretId field's value.
15077func (s *MongoDbSettings) SetSecretsManagerSecretId(v string) *MongoDbSettings {
15078	s.SecretsManagerSecretId = &v
15079	return s
15080}
15081
15082// SetServerName sets the ServerName field's value.
15083func (s *MongoDbSettings) SetServerName(v string) *MongoDbSettings {
15084	s.ServerName = &v
15085	return s
15086}
15087
15088// SetUsername sets the Username field's value.
15089func (s *MongoDbSettings) SetUsername(v string) *MongoDbSettings {
15090	s.Username = &v
15091	return s
15092}
15093
15094type MoveReplicationTaskInput struct {
15095	_ struct{} `type:"structure"`
15096
15097	// The Amazon Resource Name (ARN) of the task that you want to move.
15098	//
15099	// ReplicationTaskArn is a required field
15100	ReplicationTaskArn *string `type:"string" required:"true"`
15101
15102	// The ARN of the replication instance where you want to move the task to.
15103	//
15104	// TargetReplicationInstanceArn is a required field
15105	TargetReplicationInstanceArn *string `type:"string" required:"true"`
15106}
15107
15108// String returns the string representation.
15109//
15110// API parameter values that are decorated as "sensitive" in the API will not
15111// be included in the string output. The member name will be present, but the
15112// value will be replaced with "sensitive".
15113func (s MoveReplicationTaskInput) String() string {
15114	return awsutil.Prettify(s)
15115}
15116
15117// GoString returns the string representation.
15118//
15119// API parameter values that are decorated as "sensitive" in the API will not
15120// be included in the string output. The member name will be present, but the
15121// value will be replaced with "sensitive".
15122func (s MoveReplicationTaskInput) GoString() string {
15123	return s.String()
15124}
15125
15126// Validate inspects the fields of the type to determine if they are valid.
15127func (s *MoveReplicationTaskInput) Validate() error {
15128	invalidParams := request.ErrInvalidParams{Context: "MoveReplicationTaskInput"}
15129	if s.ReplicationTaskArn == nil {
15130		invalidParams.Add(request.NewErrParamRequired("ReplicationTaskArn"))
15131	}
15132	if s.TargetReplicationInstanceArn == nil {
15133		invalidParams.Add(request.NewErrParamRequired("TargetReplicationInstanceArn"))
15134	}
15135
15136	if invalidParams.Len() > 0 {
15137		return invalidParams
15138	}
15139	return nil
15140}
15141
15142// SetReplicationTaskArn sets the ReplicationTaskArn field's value.
15143func (s *MoveReplicationTaskInput) SetReplicationTaskArn(v string) *MoveReplicationTaskInput {
15144	s.ReplicationTaskArn = &v
15145	return s
15146}
15147
15148// SetTargetReplicationInstanceArn sets the TargetReplicationInstanceArn field's value.
15149func (s *MoveReplicationTaskInput) SetTargetReplicationInstanceArn(v string) *MoveReplicationTaskInput {
15150	s.TargetReplicationInstanceArn = &v
15151	return s
15152}
15153
15154type MoveReplicationTaskOutput struct {
15155	_ struct{} `type:"structure"`
15156
15157	// The replication task that was moved.
15158	ReplicationTask *ReplicationTask `type:"structure"`
15159}
15160
15161// String returns the string representation.
15162//
15163// API parameter values that are decorated as "sensitive" in the API will not
15164// be included in the string output. The member name will be present, but the
15165// value will be replaced with "sensitive".
15166func (s MoveReplicationTaskOutput) String() string {
15167	return awsutil.Prettify(s)
15168}
15169
15170// GoString returns the string representation.
15171//
15172// API parameter values that are decorated as "sensitive" in the API will not
15173// be included in the string output. The member name will be present, but the
15174// value will be replaced with "sensitive".
15175func (s MoveReplicationTaskOutput) GoString() string {
15176	return s.String()
15177}
15178
15179// SetReplicationTask sets the ReplicationTask field's value.
15180func (s *MoveReplicationTaskOutput) SetReplicationTask(v *ReplicationTask) *MoveReplicationTaskOutput {
15181	s.ReplicationTask = v
15182	return s
15183}
15184
15185// Provides information that defines a MySQL endpoint.
15186type MySQLSettings struct {
15187	_ struct{} `type:"structure"`
15188
15189	// Specifies a script to run immediately after DMS connects to the endpoint.
15190	// The migration task continues running regardless if the SQL statement succeeds
15191	// or fails.
15192	//
15193	// For this parameter, provide the code of the script itself, not the name of
15194	// a file containing the script.
15195	AfterConnectScript *string `type:"string"`
15196
15197	// Adjusts the behavior of DMS when migrating from an SQL Server source database
15198	// that is hosted as part of an Always On availability group cluster. If you
15199	// need DMS to poll all the nodes in the Always On cluster for transaction backups,
15200	// set this attribute to false.
15201	CleanSourceMetadataOnMismatch *bool `type:"boolean"`
15202
15203	// Database name for the endpoint. For a MySQL source or target endpoint, don't
15204	// explicitly specify the database using the DatabaseName request parameter
15205	// on either the CreateEndpoint or ModifyEndpoint API call. Specifying DatabaseName
15206	// when you create or modify a MySQL endpoint replicates all the task tables
15207	// to this single database. For MySQL endpoints, you specify the database only
15208	// when you specify the schema in the table-mapping rules of the DMS task.
15209	DatabaseName *string `type:"string"`
15210
15211	// Specifies how often to check the binary log for new changes/events when the
15212	// database is idle.
15213	//
15214	// Example: eventsPollInterval=5;
15215	//
15216	// In the example, DMS checks for changes in the binary logs every five seconds.
15217	EventsPollInterval *int64 `type:"integer"`
15218
15219	// Specifies the maximum size (in KB) of any .csv file used to transfer data
15220	// to a MySQL-compatible database.
15221	//
15222	// Example: maxFileSize=512
15223	MaxFileSize *int64 `type:"integer"`
15224
15225	// Improves performance when loading data into the MySQL-compatible target database.
15226	// Specifies how many threads to use to load the data into the MySQL-compatible
15227	// target database. Setting a large number of threads can have an adverse effect
15228	// on database performance, because a separate connection is required for each
15229	// thread.
15230	//
15231	// Example: parallelLoadThreads=1
15232	ParallelLoadThreads *int64 `type:"integer"`
15233
15234	// Endpoint connection password.
15235	//
15236	// Password is a sensitive parameter and its value will be
15237	// replaced with "sensitive" in string returned by MySQLSettings's
15238	// String and GoString methods.
15239	Password *string `type:"string" sensitive:"true"`
15240
15241	// Endpoint TCP port.
15242	Port *int64 `type:"integer"`
15243
15244	// The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as
15245	// the trusted entity and grants the required permissions to access the value
15246	// in SecretsManagerSecret. The role must allow the iam:PassRole action. SecretsManagerSecret
15247	// has the value of the Amazon Web Services Secrets Manager secret that allows
15248	// access to the MySQL endpoint.
15249	//
15250	// You can specify one of two sets of values for these permissions. You can
15251	// specify the values for this setting and SecretsManagerSecretId. Or you can
15252	// specify clear-text values for UserName, Password, ServerName, and Port. You
15253	// can't specify both. For more information on creating this SecretsManagerSecret
15254	// and the SecretsManagerAccessRoleArn and SecretsManagerSecretId required to
15255	// access it, see Using secrets to access Database Migration Service resources
15256	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
15257	// in the Database Migration Service User Guide.
15258	SecretsManagerAccessRoleArn *string `type:"string"`
15259
15260	// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that
15261	// contains the MySQL endpoint connection details.
15262	SecretsManagerSecretId *string `type:"string"`
15263
15264	// Fully qualified domain name of the endpoint.
15265	ServerName *string `type:"string"`
15266
15267	// Specifies the time zone for the source MySQL database.
15268	//
15269	// Example: serverTimezone=US/Pacific;
15270	//
15271	// Note: Do not enclose time zones in single quotes.
15272	ServerTimezone *string `type:"string"`
15273
15274	// Specifies where to migrate source tables on the target, either to a single
15275	// database or multiple databases.
15276	//
15277	// Example: targetDbType=MULTIPLE_DATABASES
15278	TargetDbType *string `type:"string" enum:"TargetDbType"`
15279
15280	// Endpoint connection user name.
15281	Username *string `type:"string"`
15282}
15283
15284// String returns the string representation.
15285//
15286// API parameter values that are decorated as "sensitive" in the API will not
15287// be included in the string output. The member name will be present, but the
15288// value will be replaced with "sensitive".
15289func (s MySQLSettings) String() string {
15290	return awsutil.Prettify(s)
15291}
15292
15293// GoString returns the string representation.
15294//
15295// API parameter values that are decorated as "sensitive" in the API will not
15296// be included in the string output. The member name will be present, but the
15297// value will be replaced with "sensitive".
15298func (s MySQLSettings) GoString() string {
15299	return s.String()
15300}
15301
15302// SetAfterConnectScript sets the AfterConnectScript field's value.
15303func (s *MySQLSettings) SetAfterConnectScript(v string) *MySQLSettings {
15304	s.AfterConnectScript = &v
15305	return s
15306}
15307
15308// SetCleanSourceMetadataOnMismatch sets the CleanSourceMetadataOnMismatch field's value.
15309func (s *MySQLSettings) SetCleanSourceMetadataOnMismatch(v bool) *MySQLSettings {
15310	s.CleanSourceMetadataOnMismatch = &v
15311	return s
15312}
15313
15314// SetDatabaseName sets the DatabaseName field's value.
15315func (s *MySQLSettings) SetDatabaseName(v string) *MySQLSettings {
15316	s.DatabaseName = &v
15317	return s
15318}
15319
15320// SetEventsPollInterval sets the EventsPollInterval field's value.
15321func (s *MySQLSettings) SetEventsPollInterval(v int64) *MySQLSettings {
15322	s.EventsPollInterval = &v
15323	return s
15324}
15325
15326// SetMaxFileSize sets the MaxFileSize field's value.
15327func (s *MySQLSettings) SetMaxFileSize(v int64) *MySQLSettings {
15328	s.MaxFileSize = &v
15329	return s
15330}
15331
15332// SetParallelLoadThreads sets the ParallelLoadThreads field's value.
15333func (s *MySQLSettings) SetParallelLoadThreads(v int64) *MySQLSettings {
15334	s.ParallelLoadThreads = &v
15335	return s
15336}
15337
15338// SetPassword sets the Password field's value.
15339func (s *MySQLSettings) SetPassword(v string) *MySQLSettings {
15340	s.Password = &v
15341	return s
15342}
15343
15344// SetPort sets the Port field's value.
15345func (s *MySQLSettings) SetPort(v int64) *MySQLSettings {
15346	s.Port = &v
15347	return s
15348}
15349
15350// SetSecretsManagerAccessRoleArn sets the SecretsManagerAccessRoleArn field's value.
15351func (s *MySQLSettings) SetSecretsManagerAccessRoleArn(v string) *MySQLSettings {
15352	s.SecretsManagerAccessRoleArn = &v
15353	return s
15354}
15355
15356// SetSecretsManagerSecretId sets the SecretsManagerSecretId field's value.
15357func (s *MySQLSettings) SetSecretsManagerSecretId(v string) *MySQLSettings {
15358	s.SecretsManagerSecretId = &v
15359	return s
15360}
15361
15362// SetServerName sets the ServerName field's value.
15363func (s *MySQLSettings) SetServerName(v string) *MySQLSettings {
15364	s.ServerName = &v
15365	return s
15366}
15367
15368// SetServerTimezone sets the ServerTimezone field's value.
15369func (s *MySQLSettings) SetServerTimezone(v string) *MySQLSettings {
15370	s.ServerTimezone = &v
15371	return s
15372}
15373
15374// SetTargetDbType sets the TargetDbType field's value.
15375func (s *MySQLSettings) SetTargetDbType(v string) *MySQLSettings {
15376	s.TargetDbType = &v
15377	return s
15378}
15379
15380// SetUsername sets the Username field's value.
15381func (s *MySQLSettings) SetUsername(v string) *MySQLSettings {
15382	s.Username = &v
15383	return s
15384}
15385
15386// Provides information that defines an Amazon Neptune endpoint.
15387type NeptuneSettings struct {
15388	_ struct{} `type:"structure"`
15389
15390	// The number of milliseconds for DMS to wait to retry a bulk-load of migrated
15391	// graph data to the Neptune target database before raising an error. The default
15392	// is 250.
15393	ErrorRetryDuration *int64 `type:"integer"`
15394
15395	// If you want Identity and Access Management (IAM) authorization enabled for
15396	// this endpoint, set this parameter to true. Then attach the appropriate IAM
15397	// policy document to your service role specified by ServiceAccessRoleArn. The
15398	// default is false.
15399	IamAuthEnabled *bool `type:"boolean"`
15400
15401	// The maximum size in kilobytes of migrated graph data stored in a .csv file
15402	// before DMS bulk-loads the data to the Neptune target database. The default
15403	// is 1,048,576 KB. If the bulk load is successful, DMS clears the bucket, ready
15404	// to store the next batch of migrated graph data.
15405	MaxFileSize *int64 `type:"integer"`
15406
15407	// The number of times for DMS to retry a bulk load of migrated graph data to
15408	// the Neptune target database before raising an error. The default is 5.
15409	MaxRetryCount *int64 `type:"integer"`
15410
15411	// A folder path where you want DMS to store migrated graph data in the S3 bucket
15412	// specified by S3BucketName
15413	//
15414	// S3BucketFolder is a required field
15415	S3BucketFolder *string `type:"string" required:"true"`
15416
15417	// The name of the Amazon S3 bucket where DMS can temporarily store migrated
15418	// graph data in .csv files before bulk-loading it to the Neptune target database.
15419	// DMS maps the SQL source data to graph data before storing it in these .csv
15420	// files.
15421	//
15422	// S3BucketName is a required field
15423	S3BucketName *string `type:"string" required:"true"`
15424
15425	// The Amazon Resource Name (ARN) of the service role that you created for the
15426	// Neptune target endpoint. The role must allow the iam:PassRole action. For
15427	// more information, see Creating an IAM Service Role for Accessing Amazon Neptune
15428	// as a Target (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.ServiceRole)
15429	// in the Database Migration Service User Guide.
15430	ServiceAccessRoleArn *string `type:"string"`
15431}
15432
15433// String returns the string representation.
15434//
15435// API parameter values that are decorated as "sensitive" in the API will not
15436// be included in the string output. The member name will be present, but the
15437// value will be replaced with "sensitive".
15438func (s NeptuneSettings) String() string {
15439	return awsutil.Prettify(s)
15440}
15441
15442// GoString returns the string representation.
15443//
15444// API parameter values that are decorated as "sensitive" in the API will not
15445// be included in the string output. The member name will be present, but the
15446// value will be replaced with "sensitive".
15447func (s NeptuneSettings) GoString() string {
15448	return s.String()
15449}
15450
15451// Validate inspects the fields of the type to determine if they are valid.
15452func (s *NeptuneSettings) Validate() error {
15453	invalidParams := request.ErrInvalidParams{Context: "NeptuneSettings"}
15454	if s.S3BucketFolder == nil {
15455		invalidParams.Add(request.NewErrParamRequired("S3BucketFolder"))
15456	}
15457	if s.S3BucketName == nil {
15458		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
15459	}
15460
15461	if invalidParams.Len() > 0 {
15462		return invalidParams
15463	}
15464	return nil
15465}
15466
15467// SetErrorRetryDuration sets the ErrorRetryDuration field's value.
15468func (s *NeptuneSettings) SetErrorRetryDuration(v int64) *NeptuneSettings {
15469	s.ErrorRetryDuration = &v
15470	return s
15471}
15472
15473// SetIamAuthEnabled sets the IamAuthEnabled field's value.
15474func (s *NeptuneSettings) SetIamAuthEnabled(v bool) *NeptuneSettings {
15475	s.IamAuthEnabled = &v
15476	return s
15477}
15478
15479// SetMaxFileSize sets the MaxFileSize field's value.
15480func (s *NeptuneSettings) SetMaxFileSize(v int64) *NeptuneSettings {
15481	s.MaxFileSize = &v
15482	return s
15483}
15484
15485// SetMaxRetryCount sets the MaxRetryCount field's value.
15486func (s *NeptuneSettings) SetMaxRetryCount(v int64) *NeptuneSettings {
15487	s.MaxRetryCount = &v
15488	return s
15489}
15490
15491// SetS3BucketFolder sets the S3BucketFolder field's value.
15492func (s *NeptuneSettings) SetS3BucketFolder(v string) *NeptuneSettings {
15493	s.S3BucketFolder = &v
15494	return s
15495}
15496
15497// SetS3BucketName sets the S3BucketName field's value.
15498func (s *NeptuneSettings) SetS3BucketName(v string) *NeptuneSettings {
15499	s.S3BucketName = &v
15500	return s
15501}
15502
15503// SetServiceAccessRoleArn sets the ServiceAccessRoleArn field's value.
15504func (s *NeptuneSettings) SetServiceAccessRoleArn(v string) *NeptuneSettings {
15505	s.ServiceAccessRoleArn = &v
15506	return s
15507}
15508
15509// Provides information that defines an Oracle endpoint.
15510type OracleSettings struct {
15511	_ struct{} `type:"structure"`
15512
15513	// Set this attribute to false in order to use the Binary Reader to capture
15514	// change data for an Amazon RDS for Oracle as the source. This tells the DMS
15515	// instance to not access redo logs through any specified path prefix replacement
15516	// using direct file access.
15517	AccessAlternateDirectly *bool `type:"boolean"`
15518
15519	// Set this attribute to set up table-level supplemental logging for the Oracle
15520	// database. This attribute enables PRIMARY KEY supplemental logging on all
15521	// tables selected for a migration task.
15522	//
15523	// If you use this option, you still need to enable database-level supplemental
15524	// logging.
15525	AddSupplementalLogging *bool `type:"boolean"`
15526
15527	// Set this attribute with ArchivedLogDestId in a primary/ standby setup. This
15528	// attribute is useful in the case of a switchover. In this case, DMS needs
15529	// to know which destination to get archive redo logs from to read changes.
15530	// This need arises because the previous primary instance is now a standby instance
15531	// after switchover.
15532	//
15533	// Although DMS supports the use of the Oracle RESETLOGS option to open the
15534	// database, never use RESETLOGS unless necessary. For additional information
15535	// about RESETLOGS, see RMAN Data Repair Concepts (https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B)
15536	// in the Oracle Database Backup and Recovery User's Guide.
15537	AdditionalArchivedLogDestId *int64 `type:"integer"`
15538
15539	// Set this attribute to true to enable replication of Oracle tables containing
15540	// columns that are nested tables or defined types.
15541	AllowSelectNestedTables *bool `type:"boolean"`
15542
15543	// Specifies the ID of the destination for the archived redo logs. This value
15544	// should be the same as a number in the dest_id column of the v$archived_log
15545	// view. If you work with an additional redo log destination, use the AdditionalArchivedLogDestId
15546	// option to specify the additional destination ID. Doing this improves performance
15547	// by ensuring that the correct logs are accessed from the outset.
15548	ArchivedLogDestId *int64 `type:"integer"`
15549
15550	// When this field is set to Y, DMS only accesses the archived redo logs. If
15551	// the archived redo logs are stored on Oracle ASM only, the DMS user account
15552	// needs to be granted ASM privileges.
15553	ArchivedLogsOnly *bool `type:"boolean"`
15554
15555	// For an Oracle source endpoint, your Oracle Automatic Storage Management (ASM)
15556	// password. You can set this value from the asm_user_password value. You set
15557	// this value as part of the comma-separated value that you set to the Password
15558	// request parameter when you create the endpoint to access transaction logs
15559	// using Binary Reader. For more information, see Configuration for change data
15560	// capture (CDC) on an Oracle source database (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration).
15561	//
15562	// AsmPassword is a sensitive parameter and its value will be
15563	// replaced with "sensitive" in string returned by OracleSettings's
15564	// String and GoString methods.
15565	AsmPassword *string `type:"string" sensitive:"true"`
15566
15567	// For an Oracle source endpoint, your ASM server address. You can set this
15568	// value from the asm_server value. You set asm_server as part of the extra
15569	// connection attribute string to access an Oracle server with Binary Reader
15570	// that uses ASM. For more information, see Configuration for change data capture
15571	// (CDC) on an Oracle source database (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration).
15572	AsmServer *string `type:"string"`
15573
15574	// For an Oracle source endpoint, your ASM user name. You can set this value
15575	// from the asm_user value. You set asm_user as part of the extra connection
15576	// attribute string to access an Oracle server with Binary Reader that uses
15577	// ASM. For more information, see Configuration for change data capture (CDC)
15578	// on an Oracle source database (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration).
15579	AsmUser *string `type:"string"`
15580
15581	// Specifies whether the length of a character column is in bytes or in characters.
15582	// To indicate that the character column length is in characters, set this attribute
15583	// to CHAR. Otherwise, the character column length is in bytes.
15584	//
15585	// Example: charLengthSemantics=CHAR;
15586	CharLengthSemantics *string `type:"string" enum:"CharLengthSemantics"`
15587
15588	// Database name for the endpoint.
15589	DatabaseName *string `type:"string"`
15590
15591	// When set to true, this attribute helps to increase the commit rate on the
15592	// Oracle target database by writing directly to tables and not writing a trail
15593	// to database logs.
15594	DirectPathNoLog *bool `type:"boolean"`
15595
15596	// When set to true, this attribute specifies a parallel load when useDirectPathFullLoad
15597	// is set to Y. This attribute also only applies when you use the DMS parallel
15598	// load feature. Note that the target table cannot have any constraints or indexes.
15599	DirectPathParallelLoad *bool `type:"boolean"`
15600
15601	// Set this attribute to enable homogenous tablespace replication and create
15602	// existing tables or indexes under the same tablespace on the target.
15603	EnableHomogenousTablespace *bool `type:"boolean"`
15604
15605	// Specifies the IDs of one more destinations for one or more archived redo
15606	// logs. These IDs are the values of the dest_id column in the v$archived_log
15607	// view. Use this setting with the archivedLogDestId extra connection attribute
15608	// in a primary-to-single setup or a primary-to-multiple-standby setup.
15609	//
15610	// This setting is useful in a switchover when you use an Oracle Data Guard
15611	// database as a source. In this case, DMS needs information about what destination
15612	// to get archive redo logs from to read changes. DMS needs this because after
15613	// the switchover the previous primary is a standby instance. For example, in
15614	// a primary-to-single standby setup you might apply the following settings.
15615	//
15616	// archivedLogDestId=1; ExtraArchivedLogDestIds=[2]
15617	//
15618	// In a primary-to-multiple-standby setup, you might apply the following settings.
15619	//
15620	// archivedLogDestId=1; ExtraArchivedLogDestIds=[2,3,4]
15621	//
15622	// Although DMS supports the use of the Oracle RESETLOGS option to open the
15623	// database, never use RESETLOGS unless it's necessary. For more information
15624	// about RESETLOGS, see RMAN Data Repair Concepts (https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B)
15625	// in the Oracle Database Backup and Recovery User's Guide.
15626	ExtraArchivedLogDestIds []*int64 `type:"list"`
15627
15628	// When set to true, this attribute causes a task to fail if the actual size
15629	// of an LOB column is greater than the specified LobMaxSize.
15630	//
15631	// If a task is set to limited LOB mode and this option is set to true, the
15632	// task fails instead of truncating the LOB data.
15633	FailTasksOnLobTruncation *bool `type:"boolean"`
15634
15635	// Specifies the number scale. You can select a scale up to 38, or you can select
15636	// FLOAT. By default, the NUMBER data type is converted to precision 38, scale
15637	// 10.
15638	//
15639	// Example: numberDataTypeScale=12
15640	NumberDatatypeScale *int64 `type:"integer"`
15641
15642	// Set this string attribute to the required value in order to use the Binary
15643	// Reader to capture change data for an Amazon RDS for Oracle as the source.
15644	// This value specifies the default Oracle root used to access the redo logs.
15645	OraclePathPrefix *string `type:"string"`
15646
15647	// Set this attribute to change the number of threads that DMS configures to
15648	// perform a change data capture (CDC) load using Oracle Automatic Storage Management
15649	// (ASM). You can specify an integer value between 2 (the default) and 8 (the
15650	// maximum). Use this attribute together with the readAheadBlocks attribute.
15651	ParallelAsmReadThreads *int64 `type:"integer"`
15652
15653	// Endpoint connection password.
15654	//
15655	// Password is a sensitive parameter and its value will be
15656	// replaced with "sensitive" in string returned by OracleSettings's
15657	// String and GoString methods.
15658	Password *string `type:"string" sensitive:"true"`
15659
15660	// Endpoint TCP port.
15661	Port *int64 `type:"integer"`
15662
15663	// Set this attribute to change the number of read-ahead blocks that DMS configures
15664	// to perform a change data capture (CDC) load using Oracle Automatic Storage
15665	// Management (ASM). You can specify an integer value between 1000 (the default)
15666	// and 200,000 (the maximum).
15667	ReadAheadBlocks *int64 `type:"integer"`
15668
15669	// When set to true, this attribute supports tablespace replication.
15670	ReadTableSpaceName *bool `type:"boolean"`
15671
15672	// Set this attribute to true in order to use the Binary Reader to capture change
15673	// data for an Amazon RDS for Oracle as the source. This setting tells DMS instance
15674	// to replace the default Oracle root with the specified usePathPrefix setting
15675	// to access the redo logs.
15676	ReplacePathPrefix *bool `type:"boolean"`
15677
15678	// Specifies the number of seconds that the system waits before resending a
15679	// query.
15680	//
15681	// Example: retryInterval=6;
15682	RetryInterval *int64 `type:"integer"`
15683
15684	// The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as
15685	// the trusted entity and grants the required permissions to access the value
15686	// in SecretsManagerSecret. The role must allow the iam:PassRole action. SecretsManagerSecret
15687	// has the value of the Amazon Web Services Secrets Manager secret that allows
15688	// access to the Oracle endpoint.
15689	//
15690	// You can specify one of two sets of values for these permissions. You can
15691	// specify the values for this setting and SecretsManagerSecretId. Or you can
15692	// specify clear-text values for UserName, Password, ServerName, and Port. You
15693	// can't specify both. For more information on creating this SecretsManagerSecret
15694	// and the SecretsManagerAccessRoleArn and SecretsManagerSecretId required to
15695	// access it, see Using secrets to access Database Migration Service resources
15696	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
15697	// in the Database Migration Service User Guide.
15698	SecretsManagerAccessRoleArn *string `type:"string"`
15699
15700	// Required only if your Oracle endpoint uses Advanced Storage Manager (ASM).
15701	// The full ARN of the IAM role that specifies DMS as the trusted entity and
15702	// grants the required permissions to access the SecretsManagerOracleAsmSecret.
15703	// This SecretsManagerOracleAsmSecret has the secret value that allows access
15704	// to the Oracle ASM of the endpoint.
15705	//
15706	// You can specify one of two sets of values for these permissions. You can
15707	// specify the values for this setting and SecretsManagerOracleAsmSecretId.
15708	// Or you can specify clear-text values for AsmUserName, AsmPassword, and AsmServerName.
15709	// You can't specify both. For more information on creating this SecretsManagerOracleAsmSecret
15710	// and the SecretsManagerOracleAsmAccessRoleArn and SecretsManagerOracleAsmSecretId
15711	// required to access it, see Using secrets to access Database Migration Service
15712	// resources (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
15713	// in the Database Migration Service User Guide.
15714	SecretsManagerOracleAsmAccessRoleArn *string `type:"string"`
15715
15716	// Required only if your Oracle endpoint uses Advanced Storage Manager (ASM).
15717	// The full ARN, partial ARN, or friendly name of the SecretsManagerOracleAsmSecret
15718	// that contains the Oracle ASM connection details for the Oracle endpoint.
15719	SecretsManagerOracleAsmSecretId *string `type:"string"`
15720
15721	// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that
15722	// contains the Oracle endpoint connection details.
15723	SecretsManagerSecretId *string `type:"string"`
15724
15725	// For an Oracle source endpoint, the transparent data encryption (TDE) password
15726	// required by AWM DMS to access Oracle redo logs encrypted by TDE using Binary
15727	// Reader. It is also the TDE_Password part of the comma-separated value you
15728	// set to the Password request parameter when you create the endpoint. The SecurityDbEncryptian
15729	// setting is related to this SecurityDbEncryptionName setting. For more information,
15730	// see Supported encryption methods for using Oracle as a source for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption)
15731	// in the Database Migration Service User Guide.
15732	//
15733	// SecurityDbEncryption is a sensitive parameter and its value will be
15734	// replaced with "sensitive" in string returned by OracleSettings's
15735	// String and GoString methods.
15736	SecurityDbEncryption *string `type:"string" sensitive:"true"`
15737
15738	// For an Oracle source endpoint, the name of a key used for the transparent
15739	// data encryption (TDE) of the columns and tablespaces in an Oracle source
15740	// database that is encrypted using TDE. The key value is the value of the SecurityDbEncryption
15741	// setting. For more information on setting the key name value of SecurityDbEncryptionName,
15742	// see the information and example for setting the securityDbEncryptionName
15743	// extra connection attribute in Supported encryption methods for using Oracle
15744	// as a source for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption)
15745	// in the Database Migration Service User Guide.
15746	SecurityDbEncryptionName *string `type:"string"`
15747
15748	// Fully qualified domain name of the endpoint.
15749	ServerName *string `type:"string"`
15750
15751	// Use this attribute to convert SDO_GEOMETRY to GEOJSON format. By default,
15752	// DMS calls the SDO2GEOJSON custom function if present and accessible. Or you
15753	// can create your own custom function that mimics the operation of SDOGEOJSON
15754	// and set SpatialDataOptionToGeoJsonFunctionName to call it instead.
15755	SpatialDataOptionToGeoJsonFunctionName *string `type:"string"`
15756
15757	// Use this attribute to specify a time in minutes for the delay in standby
15758	// sync. If the source is an Oracle Active Data Guard standby database, use
15759	// this attribute to specify the time lag between primary and standby databases.
15760	//
15761	// In DMS, you can create an Oracle CDC task that uses an Active Data Guard
15762	// standby instance as a source for replicating ongoing changes. Doing this
15763	// eliminates the need to connect to an active database that might be in production.
15764	StandbyDelayTime *int64 `type:"integer"`
15765
15766	// Set this attribute to true in order to use the Binary Reader to capture change
15767	// data for an Amazon RDS for Oracle as the source. This tells the DMS instance
15768	// to use any specified prefix replacement to access all online redo logs.
15769	UseAlternateFolderForOnline *bool `type:"boolean"`
15770
15771	// Set this attribute to Y to capture change data using the Binary Reader utility.
15772	// Set UseLogminerReader to N to set this attribute to Y. To use Binary Reader
15773	// with Amazon RDS for Oracle as the source, you set additional attributes.
15774	// For more information about using this setting with Oracle Automatic Storage
15775	// Management (ASM), see Using Oracle LogMiner or DMS Binary Reader for CDC
15776	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC).
15777	UseBFile *bool `type:"boolean"`
15778
15779	// Set this attribute to Y to have DMS use a direct path full load. Specify
15780	// this value to use the direct path protocol in the Oracle Call Interface (OCI).
15781	// By using this OCI protocol, you can bulk-load Oracle target tables during
15782	// a full load.
15783	UseDirectPathFullLoad *bool `type:"boolean"`
15784
15785	// Set this attribute to Y to capture change data using the Oracle LogMiner
15786	// utility (the default). Set this attribute to N if you want to access the
15787	// redo logs as a binary file. When you set UseLogminerReader to N, also set
15788	// UseBfile to Y. For more information on this setting and using Oracle ASM,
15789	// see Using Oracle LogMiner or DMS Binary Reader for CDC (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC)
15790	// in the DMS User Guide.
15791	UseLogminerReader *bool `type:"boolean"`
15792
15793	// Set this string attribute to the required value in order to use the Binary
15794	// Reader to capture change data for an Amazon RDS for Oracle as the source.
15795	// This value specifies the path prefix used to replace the default Oracle root
15796	// to access the redo logs.
15797	UsePathPrefix *string `type:"string"`
15798
15799	// Endpoint connection user name.
15800	Username *string `type:"string"`
15801}
15802
15803// String returns the string representation.
15804//
15805// API parameter values that are decorated as "sensitive" in the API will not
15806// be included in the string output. The member name will be present, but the
15807// value will be replaced with "sensitive".
15808func (s OracleSettings) String() string {
15809	return awsutil.Prettify(s)
15810}
15811
15812// GoString returns the string representation.
15813//
15814// API parameter values that are decorated as "sensitive" in the API will not
15815// be included in the string output. The member name will be present, but the
15816// value will be replaced with "sensitive".
15817func (s OracleSettings) GoString() string {
15818	return s.String()
15819}
15820
15821// SetAccessAlternateDirectly sets the AccessAlternateDirectly field's value.
15822func (s *OracleSettings) SetAccessAlternateDirectly(v bool) *OracleSettings {
15823	s.AccessAlternateDirectly = &v
15824	return s
15825}
15826
15827// SetAddSupplementalLogging sets the AddSupplementalLogging field's value.
15828func (s *OracleSettings) SetAddSupplementalLogging(v bool) *OracleSettings {
15829	s.AddSupplementalLogging = &v
15830	return s
15831}
15832
15833// SetAdditionalArchivedLogDestId sets the AdditionalArchivedLogDestId field's value.
15834func (s *OracleSettings) SetAdditionalArchivedLogDestId(v int64) *OracleSettings {
15835	s.AdditionalArchivedLogDestId = &v
15836	return s
15837}
15838
15839// SetAllowSelectNestedTables sets the AllowSelectNestedTables field's value.
15840func (s *OracleSettings) SetAllowSelectNestedTables(v bool) *OracleSettings {
15841	s.AllowSelectNestedTables = &v
15842	return s
15843}
15844
15845// SetArchivedLogDestId sets the ArchivedLogDestId field's value.
15846func (s *OracleSettings) SetArchivedLogDestId(v int64) *OracleSettings {
15847	s.ArchivedLogDestId = &v
15848	return s
15849}
15850
15851// SetArchivedLogsOnly sets the ArchivedLogsOnly field's value.
15852func (s *OracleSettings) SetArchivedLogsOnly(v bool) *OracleSettings {
15853	s.ArchivedLogsOnly = &v
15854	return s
15855}
15856
15857// SetAsmPassword sets the AsmPassword field's value.
15858func (s *OracleSettings) SetAsmPassword(v string) *OracleSettings {
15859	s.AsmPassword = &v
15860	return s
15861}
15862
15863// SetAsmServer sets the AsmServer field's value.
15864func (s *OracleSettings) SetAsmServer(v string) *OracleSettings {
15865	s.AsmServer = &v
15866	return s
15867}
15868
15869// SetAsmUser sets the AsmUser field's value.
15870func (s *OracleSettings) SetAsmUser(v string) *OracleSettings {
15871	s.AsmUser = &v
15872	return s
15873}
15874
15875// SetCharLengthSemantics sets the CharLengthSemantics field's value.
15876func (s *OracleSettings) SetCharLengthSemantics(v string) *OracleSettings {
15877	s.CharLengthSemantics = &v
15878	return s
15879}
15880
15881// SetDatabaseName sets the DatabaseName field's value.
15882func (s *OracleSettings) SetDatabaseName(v string) *OracleSettings {
15883	s.DatabaseName = &v
15884	return s
15885}
15886
15887// SetDirectPathNoLog sets the DirectPathNoLog field's value.
15888func (s *OracleSettings) SetDirectPathNoLog(v bool) *OracleSettings {
15889	s.DirectPathNoLog = &v
15890	return s
15891}
15892
15893// SetDirectPathParallelLoad sets the DirectPathParallelLoad field's value.
15894func (s *OracleSettings) SetDirectPathParallelLoad(v bool) *OracleSettings {
15895	s.DirectPathParallelLoad = &v
15896	return s
15897}
15898
15899// SetEnableHomogenousTablespace sets the EnableHomogenousTablespace field's value.
15900func (s *OracleSettings) SetEnableHomogenousTablespace(v bool) *OracleSettings {
15901	s.EnableHomogenousTablespace = &v
15902	return s
15903}
15904
15905// SetExtraArchivedLogDestIds sets the ExtraArchivedLogDestIds field's value.
15906func (s *OracleSettings) SetExtraArchivedLogDestIds(v []*int64) *OracleSettings {
15907	s.ExtraArchivedLogDestIds = v
15908	return s
15909}
15910
15911// SetFailTasksOnLobTruncation sets the FailTasksOnLobTruncation field's value.
15912func (s *OracleSettings) SetFailTasksOnLobTruncation(v bool) *OracleSettings {
15913	s.FailTasksOnLobTruncation = &v
15914	return s
15915}
15916
15917// SetNumberDatatypeScale sets the NumberDatatypeScale field's value.
15918func (s *OracleSettings) SetNumberDatatypeScale(v int64) *OracleSettings {
15919	s.NumberDatatypeScale = &v
15920	return s
15921}
15922
15923// SetOraclePathPrefix sets the OraclePathPrefix field's value.
15924func (s *OracleSettings) SetOraclePathPrefix(v string) *OracleSettings {
15925	s.OraclePathPrefix = &v
15926	return s
15927}
15928
15929// SetParallelAsmReadThreads sets the ParallelAsmReadThreads field's value.
15930func (s *OracleSettings) SetParallelAsmReadThreads(v int64) *OracleSettings {
15931	s.ParallelAsmReadThreads = &v
15932	return s
15933}
15934
15935// SetPassword sets the Password field's value.
15936func (s *OracleSettings) SetPassword(v string) *OracleSettings {
15937	s.Password = &v
15938	return s
15939}
15940
15941// SetPort sets the Port field's value.
15942func (s *OracleSettings) SetPort(v int64) *OracleSettings {
15943	s.Port = &v
15944	return s
15945}
15946
15947// SetReadAheadBlocks sets the ReadAheadBlocks field's value.
15948func (s *OracleSettings) SetReadAheadBlocks(v int64) *OracleSettings {
15949	s.ReadAheadBlocks = &v
15950	return s
15951}
15952
15953// SetReadTableSpaceName sets the ReadTableSpaceName field's value.
15954func (s *OracleSettings) SetReadTableSpaceName(v bool) *OracleSettings {
15955	s.ReadTableSpaceName = &v
15956	return s
15957}
15958
15959// SetReplacePathPrefix sets the ReplacePathPrefix field's value.
15960func (s *OracleSettings) SetReplacePathPrefix(v bool) *OracleSettings {
15961	s.ReplacePathPrefix = &v
15962	return s
15963}
15964
15965// SetRetryInterval sets the RetryInterval field's value.
15966func (s *OracleSettings) SetRetryInterval(v int64) *OracleSettings {
15967	s.RetryInterval = &v
15968	return s
15969}
15970
15971// SetSecretsManagerAccessRoleArn sets the SecretsManagerAccessRoleArn field's value.
15972func (s *OracleSettings) SetSecretsManagerAccessRoleArn(v string) *OracleSettings {
15973	s.SecretsManagerAccessRoleArn = &v
15974	return s
15975}
15976
15977// SetSecretsManagerOracleAsmAccessRoleArn sets the SecretsManagerOracleAsmAccessRoleArn field's value.
15978func (s *OracleSettings) SetSecretsManagerOracleAsmAccessRoleArn(v string) *OracleSettings {
15979	s.SecretsManagerOracleAsmAccessRoleArn = &v
15980	return s
15981}
15982
15983// SetSecretsManagerOracleAsmSecretId sets the SecretsManagerOracleAsmSecretId field's value.
15984func (s *OracleSettings) SetSecretsManagerOracleAsmSecretId(v string) *OracleSettings {
15985	s.SecretsManagerOracleAsmSecretId = &v
15986	return s
15987}
15988
15989// SetSecretsManagerSecretId sets the SecretsManagerSecretId field's value.
15990func (s *OracleSettings) SetSecretsManagerSecretId(v string) *OracleSettings {
15991	s.SecretsManagerSecretId = &v
15992	return s
15993}
15994
15995// SetSecurityDbEncryption sets the SecurityDbEncryption field's value.
15996func (s *OracleSettings) SetSecurityDbEncryption(v string) *OracleSettings {
15997	s.SecurityDbEncryption = &v
15998	return s
15999}
16000
16001// SetSecurityDbEncryptionName sets the SecurityDbEncryptionName field's value.
16002func (s *OracleSettings) SetSecurityDbEncryptionName(v string) *OracleSettings {
16003	s.SecurityDbEncryptionName = &v
16004	return s
16005}
16006
16007// SetServerName sets the ServerName field's value.
16008func (s *OracleSettings) SetServerName(v string) *OracleSettings {
16009	s.ServerName = &v
16010	return s
16011}
16012
16013// SetSpatialDataOptionToGeoJsonFunctionName sets the SpatialDataOptionToGeoJsonFunctionName field's value.
16014func (s *OracleSettings) SetSpatialDataOptionToGeoJsonFunctionName(v string) *OracleSettings {
16015	s.SpatialDataOptionToGeoJsonFunctionName = &v
16016	return s
16017}
16018
16019// SetStandbyDelayTime sets the StandbyDelayTime field's value.
16020func (s *OracleSettings) SetStandbyDelayTime(v int64) *OracleSettings {
16021	s.StandbyDelayTime = &v
16022	return s
16023}
16024
16025// SetUseAlternateFolderForOnline sets the UseAlternateFolderForOnline field's value.
16026func (s *OracleSettings) SetUseAlternateFolderForOnline(v bool) *OracleSettings {
16027	s.UseAlternateFolderForOnline = &v
16028	return s
16029}
16030
16031// SetUseBFile sets the UseBFile field's value.
16032func (s *OracleSettings) SetUseBFile(v bool) *OracleSettings {
16033	s.UseBFile = &v
16034	return s
16035}
16036
16037// SetUseDirectPathFullLoad sets the UseDirectPathFullLoad field's value.
16038func (s *OracleSettings) SetUseDirectPathFullLoad(v bool) *OracleSettings {
16039	s.UseDirectPathFullLoad = &v
16040	return s
16041}
16042
16043// SetUseLogminerReader sets the UseLogminerReader field's value.
16044func (s *OracleSettings) SetUseLogminerReader(v bool) *OracleSettings {
16045	s.UseLogminerReader = &v
16046	return s
16047}
16048
16049// SetUsePathPrefix sets the UsePathPrefix field's value.
16050func (s *OracleSettings) SetUsePathPrefix(v string) *OracleSettings {
16051	s.UsePathPrefix = &v
16052	return s
16053}
16054
16055// SetUsername sets the Username field's value.
16056func (s *OracleSettings) SetUsername(v string) *OracleSettings {
16057	s.Username = &v
16058	return s
16059}
16060
16061// In response to the DescribeOrderableReplicationInstances operation, this
16062// object describes an available replication instance. This description includes
16063// the replication instance's type, engine version, and allocated storage.
16064type OrderableReplicationInstance struct {
16065	_ struct{} `type:"structure"`
16066
16067	// List of Availability Zones for this replication instance.
16068	AvailabilityZones []*string `type:"list"`
16069
16070	// The default amount of storage (in gigabytes) that is allocated for the replication
16071	// instance.
16072	DefaultAllocatedStorage *int64 `type:"integer"`
16073
16074	// The version of the replication engine.
16075	EngineVersion *string `type:"string"`
16076
16077	// The amount of storage (in gigabytes) that is allocated for the replication
16078	// instance.
16079	IncludedAllocatedStorage *int64 `type:"integer"`
16080
16081	// The minimum amount of storage (in gigabytes) that can be allocated for the
16082	// replication instance.
16083	MaxAllocatedStorage *int64 `type:"integer"`
16084
16085	// The minimum amount of storage (in gigabytes) that can be allocated for the
16086	// replication instance.
16087	MinAllocatedStorage *int64 `type:"integer"`
16088
16089	// The value returned when the specified EngineVersion of the replication instance
16090	// is in Beta or test mode. This indicates some features might not work as expected.
16091	//
16092	// DMS supports the ReleaseStatus parameter in versions 3.1.4 and later.
16093	ReleaseStatus *string `type:"string" enum:"ReleaseStatusValues"`
16094
16095	// The compute and memory capacity of the replication instance as defined for
16096	// the specified replication instance class. For example to specify the instance
16097	// class dms.c4.large, set this parameter to "dms.c4.large".
16098	//
16099	// For more information on the settings and capacities for the available replication
16100	// instance classes, see Selecting the right DMS replication instance for your
16101	// migration (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth).
16102	ReplicationInstanceClass *string `type:"string"`
16103
16104	// The type of storage used by the replication instance.
16105	StorageType *string `type:"string"`
16106}
16107
16108// String returns the string representation.
16109//
16110// API parameter values that are decorated as "sensitive" in the API will not
16111// be included in the string output. The member name will be present, but the
16112// value will be replaced with "sensitive".
16113func (s OrderableReplicationInstance) String() string {
16114	return awsutil.Prettify(s)
16115}
16116
16117// GoString returns the string representation.
16118//
16119// API parameter values that are decorated as "sensitive" in the API will not
16120// be included in the string output. The member name will be present, but the
16121// value will be replaced with "sensitive".
16122func (s OrderableReplicationInstance) GoString() string {
16123	return s.String()
16124}
16125
16126// SetAvailabilityZones sets the AvailabilityZones field's value.
16127func (s *OrderableReplicationInstance) SetAvailabilityZones(v []*string) *OrderableReplicationInstance {
16128	s.AvailabilityZones = v
16129	return s
16130}
16131
16132// SetDefaultAllocatedStorage sets the DefaultAllocatedStorage field's value.
16133func (s *OrderableReplicationInstance) SetDefaultAllocatedStorage(v int64) *OrderableReplicationInstance {
16134	s.DefaultAllocatedStorage = &v
16135	return s
16136}
16137
16138// SetEngineVersion sets the EngineVersion field's value.
16139func (s *OrderableReplicationInstance) SetEngineVersion(v string) *OrderableReplicationInstance {
16140	s.EngineVersion = &v
16141	return s
16142}
16143
16144// SetIncludedAllocatedStorage sets the IncludedAllocatedStorage field's value.
16145func (s *OrderableReplicationInstance) SetIncludedAllocatedStorage(v int64) *OrderableReplicationInstance {
16146	s.IncludedAllocatedStorage = &v
16147	return s
16148}
16149
16150// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
16151func (s *OrderableReplicationInstance) SetMaxAllocatedStorage(v int64) *OrderableReplicationInstance {
16152	s.MaxAllocatedStorage = &v
16153	return s
16154}
16155
16156// SetMinAllocatedStorage sets the MinAllocatedStorage field's value.
16157func (s *OrderableReplicationInstance) SetMinAllocatedStorage(v int64) *OrderableReplicationInstance {
16158	s.MinAllocatedStorage = &v
16159	return s
16160}
16161
16162// SetReleaseStatus sets the ReleaseStatus field's value.
16163func (s *OrderableReplicationInstance) SetReleaseStatus(v string) *OrderableReplicationInstance {
16164	s.ReleaseStatus = &v
16165	return s
16166}
16167
16168// SetReplicationInstanceClass sets the ReplicationInstanceClass field's value.
16169func (s *OrderableReplicationInstance) SetReplicationInstanceClass(v string) *OrderableReplicationInstance {
16170	s.ReplicationInstanceClass = &v
16171	return s
16172}
16173
16174// SetStorageType sets the StorageType field's value.
16175func (s *OrderableReplicationInstance) SetStorageType(v string) *OrderableReplicationInstance {
16176	s.StorageType = &v
16177	return s
16178}
16179
16180// Describes a maintenance action pending for an DMS resource, including when
16181// and how it will be applied. This data type is a response element to the DescribePendingMaintenanceActions
16182// operation.
16183type PendingMaintenanceAction struct {
16184	_ struct{} `type:"structure"`
16185
16186	// The type of pending maintenance action that is available for the resource.
16187	Action *string `type:"string"`
16188
16189	// The date of the maintenance window when the action is to be applied. The
16190	// maintenance action is applied to the resource during its first maintenance
16191	// window after this date. If this date is specified, any next-maintenance opt-in
16192	// requests are ignored.
16193	AutoAppliedAfterDate *time.Time `type:"timestamp"`
16194
16195	// The effective date when the pending maintenance action will be applied to
16196	// the resource. This date takes into account opt-in requests received from
16197	// the ApplyPendingMaintenanceAction API operation, and also the AutoAppliedAfterDate
16198	// and ForcedApplyDate parameter values. This value is blank if an opt-in request
16199	// has not been received and nothing has been specified for AutoAppliedAfterDate
16200	// or ForcedApplyDate.
16201	CurrentApplyDate *time.Time `type:"timestamp"`
16202
16203	// A description providing more detail about the maintenance action.
16204	Description *string `type:"string"`
16205
16206	// The date when the maintenance action will be automatically applied. The maintenance
16207	// action is applied to the resource on this date regardless of the maintenance
16208	// window for the resource. If this date is specified, any immediate opt-in
16209	// requests are ignored.
16210	ForcedApplyDate *time.Time `type:"timestamp"`
16211
16212	// The type of opt-in request that has been received for the resource.
16213	OptInStatus *string `type:"string"`
16214}
16215
16216// String returns the string representation.
16217//
16218// API parameter values that are decorated as "sensitive" in the API will not
16219// be included in the string output. The member name will be present, but the
16220// value will be replaced with "sensitive".
16221func (s PendingMaintenanceAction) String() string {
16222	return awsutil.Prettify(s)
16223}
16224
16225// GoString returns the string representation.
16226//
16227// API parameter values that are decorated as "sensitive" in the API will not
16228// be included in the string output. The member name will be present, but the
16229// value will be replaced with "sensitive".
16230func (s PendingMaintenanceAction) GoString() string {
16231	return s.String()
16232}
16233
16234// SetAction sets the Action field's value.
16235func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
16236	s.Action = &v
16237	return s
16238}
16239
16240// SetAutoAppliedAfterDate sets the AutoAppliedAfterDate field's value.
16241func (s *PendingMaintenanceAction) SetAutoAppliedAfterDate(v time.Time) *PendingMaintenanceAction {
16242	s.AutoAppliedAfterDate = &v
16243	return s
16244}
16245
16246// SetCurrentApplyDate sets the CurrentApplyDate field's value.
16247func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
16248	s.CurrentApplyDate = &v
16249	return s
16250}
16251
16252// SetDescription sets the Description field's value.
16253func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
16254	s.Description = &v
16255	return s
16256}
16257
16258// SetForcedApplyDate sets the ForcedApplyDate field's value.
16259func (s *PendingMaintenanceAction) SetForcedApplyDate(v time.Time) *PendingMaintenanceAction {
16260	s.ForcedApplyDate = &v
16261	return s
16262}
16263
16264// SetOptInStatus sets the OptInStatus field's value.
16265func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceAction {
16266	s.OptInStatus = &v
16267	return s
16268}
16269
16270// Provides information that defines a PostgreSQL endpoint.
16271type PostgreSQLSettings struct {
16272	_ struct{} `type:"structure"`
16273
16274	// For use with change data capture (CDC) only, this attribute has DMS bypass
16275	// foreign keys and user triggers to reduce the time it takes to bulk load data.
16276	//
16277	// Example: afterConnectScript=SET session_replication_role='replica'
16278	AfterConnectScript *string `type:"string"`
16279
16280	// To capture DDL events, DMS creates various artifacts in the PostgreSQL database
16281	// when the task starts. You can later remove these artifacts.
16282	//
16283	// If this value is set to N, you don't have to create tables or triggers on
16284	// the source database.
16285	CaptureDdls *bool `type:"boolean"`
16286
16287	// Database name for the endpoint.
16288	DatabaseName *string `type:"string"`
16289
16290	// The schema in which the operational DDL database artifacts are created.
16291	//
16292	// Example: ddlArtifactsSchema=xyzddlschema;
16293	DdlArtifactsSchema *string `type:"string"`
16294
16295	// Sets the client statement timeout for the PostgreSQL instance, in seconds.
16296	// The default value is 60 seconds.
16297	//
16298	// Example: executeTimeout=100;
16299	ExecuteTimeout *int64 `type:"integer"`
16300
16301	// When set to true, this value causes a task to fail if the actual size of
16302	// a LOB column is greater than the specified LobMaxSize.
16303	//
16304	// If task is set to Limited LOB mode and this option is set to true, the task
16305	// fails instead of truncating the LOB data.
16306	FailTasksOnLobTruncation *bool `type:"boolean"`
16307
16308	// The write-ahead log (WAL) heartbeat feature mimics a dummy transaction. By
16309	// doing this, it prevents idle logical replication slots from holding onto
16310	// old WAL logs, which can result in storage full situations on the source.
16311	// This heartbeat keeps restart_lsn moving and prevents storage full scenarios.
16312	HeartbeatEnable *bool `type:"boolean"`
16313
16314	// Sets the WAL heartbeat frequency (in minutes).
16315	HeartbeatFrequency *int64 `type:"integer"`
16316
16317	// Sets the schema in which the heartbeat artifacts are created.
16318	HeartbeatSchema *string `type:"string"`
16319
16320	// Specifies the maximum size (in KB) of any .csv file used to transfer data
16321	// to PostgreSQL.
16322	//
16323	// Example: maxFileSize=512
16324	MaxFileSize *int64 `type:"integer"`
16325
16326	// Endpoint connection password.
16327	//
16328	// Password is a sensitive parameter and its value will be
16329	// replaced with "sensitive" in string returned by PostgreSQLSettings's
16330	// String and GoString methods.
16331	Password *string `type:"string" sensitive:"true"`
16332
16333	// Specifies the plugin to use to create a replication slot.
16334	PluginName *string `type:"string" enum:"PluginNameValue"`
16335
16336	// Endpoint TCP port.
16337	Port *int64 `type:"integer"`
16338
16339	// The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as
16340	// the trusted entity and grants the required permissions to access the value
16341	// in SecretsManagerSecret. The role must allow the iam:PassRole action. SecretsManagerSecret
16342	// has the value of the Amazon Web Services Secrets Manager secret that allows
16343	// access to the PostgreSQL endpoint.
16344	//
16345	// You can specify one of two sets of values for these permissions. You can
16346	// specify the values for this setting and SecretsManagerSecretId. Or you can
16347	// specify clear-text values for UserName, Password, ServerName, and Port. You
16348	// can't specify both. For more information on creating this SecretsManagerSecret
16349	// and the SecretsManagerAccessRoleArn and SecretsManagerSecretId required to
16350	// access it, see Using secrets to access Database Migration Service resources
16351	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
16352	// in the Database Migration Service User Guide.
16353	SecretsManagerAccessRoleArn *string `type:"string"`
16354
16355	// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that
16356	// contains the PostgreSQL endpoint connection details.
16357	SecretsManagerSecretId *string `type:"string"`
16358
16359	// Fully qualified domain name of the endpoint.
16360	ServerName *string `type:"string"`
16361
16362	// Sets the name of a previously created logical replication slot for a change
16363	// data capture (CDC) load of the PostgreSQL source instance.
16364	//
16365	// When used with the CdcStartPosition request parameter for the DMS API , this
16366	// attribute also makes it possible to use native CDC start points. DMS verifies
16367	// that the specified logical replication slot exists before starting the CDC
16368	// load task. It also verifies that the task was created with a valid setting
16369	// of CdcStartPosition. If the specified slot doesn't exist or the task doesn't
16370	// have a valid CdcStartPosition setting, DMS raises an error.
16371	//
16372	// For more information about setting the CdcStartPosition request parameter,
16373	// see Determining a CDC native start point (dms/latest/userguide/CHAP_Task.CDC.html#CHAP_Task.CDC.StartPoint.Native)
16374	// in the Database Migration Service User Guide. For more information about
16375	// using CdcStartPosition, see CreateReplicationTask (https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationTask.html),
16376	// StartReplicationTask (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html),
16377	// and ModifyReplicationTask (https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyReplicationTask.html).
16378	SlotName *string `type:"string"`
16379
16380	// Endpoint connection user name.
16381	Username *string `type:"string"`
16382}
16383
16384// String returns the string representation.
16385//
16386// API parameter values that are decorated as "sensitive" in the API will not
16387// be included in the string output. The member name will be present, but the
16388// value will be replaced with "sensitive".
16389func (s PostgreSQLSettings) String() string {
16390	return awsutil.Prettify(s)
16391}
16392
16393// GoString returns the string representation.
16394//
16395// API parameter values that are decorated as "sensitive" in the API will not
16396// be included in the string output. The member name will be present, but the
16397// value will be replaced with "sensitive".
16398func (s PostgreSQLSettings) GoString() string {
16399	return s.String()
16400}
16401
16402// SetAfterConnectScript sets the AfterConnectScript field's value.
16403func (s *PostgreSQLSettings) SetAfterConnectScript(v string) *PostgreSQLSettings {
16404	s.AfterConnectScript = &v
16405	return s
16406}
16407
16408// SetCaptureDdls sets the CaptureDdls field's value.
16409func (s *PostgreSQLSettings) SetCaptureDdls(v bool) *PostgreSQLSettings {
16410	s.CaptureDdls = &v
16411	return s
16412}
16413
16414// SetDatabaseName sets the DatabaseName field's value.
16415func (s *PostgreSQLSettings) SetDatabaseName(v string) *PostgreSQLSettings {
16416	s.DatabaseName = &v
16417	return s
16418}
16419
16420// SetDdlArtifactsSchema sets the DdlArtifactsSchema field's value.
16421func (s *PostgreSQLSettings) SetDdlArtifactsSchema(v string) *PostgreSQLSettings {
16422	s.DdlArtifactsSchema = &v
16423	return s
16424}
16425
16426// SetExecuteTimeout sets the ExecuteTimeout field's value.
16427func (s *PostgreSQLSettings) SetExecuteTimeout(v int64) *PostgreSQLSettings {
16428	s.ExecuteTimeout = &v
16429	return s
16430}
16431
16432// SetFailTasksOnLobTruncation sets the FailTasksOnLobTruncation field's value.
16433func (s *PostgreSQLSettings) SetFailTasksOnLobTruncation(v bool) *PostgreSQLSettings {
16434	s.FailTasksOnLobTruncation = &v
16435	return s
16436}
16437
16438// SetHeartbeatEnable sets the HeartbeatEnable field's value.
16439func (s *PostgreSQLSettings) SetHeartbeatEnable(v bool) *PostgreSQLSettings {
16440	s.HeartbeatEnable = &v
16441	return s
16442}
16443
16444// SetHeartbeatFrequency sets the HeartbeatFrequency field's value.
16445func (s *PostgreSQLSettings) SetHeartbeatFrequency(v int64) *PostgreSQLSettings {
16446	s.HeartbeatFrequency = &v
16447	return s
16448}
16449
16450// SetHeartbeatSchema sets the HeartbeatSchema field's value.
16451func (s *PostgreSQLSettings) SetHeartbeatSchema(v string) *PostgreSQLSettings {
16452	s.HeartbeatSchema = &v
16453	return s
16454}
16455
16456// SetMaxFileSize sets the MaxFileSize field's value.
16457func (s *PostgreSQLSettings) SetMaxFileSize(v int64) *PostgreSQLSettings {
16458	s.MaxFileSize = &v
16459	return s
16460}
16461
16462// SetPassword sets the Password field's value.
16463func (s *PostgreSQLSettings) SetPassword(v string) *PostgreSQLSettings {
16464	s.Password = &v
16465	return s
16466}
16467
16468// SetPluginName sets the PluginName field's value.
16469func (s *PostgreSQLSettings) SetPluginName(v string) *PostgreSQLSettings {
16470	s.PluginName = &v
16471	return s
16472}
16473
16474// SetPort sets the Port field's value.
16475func (s *PostgreSQLSettings) SetPort(v int64) *PostgreSQLSettings {
16476	s.Port = &v
16477	return s
16478}
16479
16480// SetSecretsManagerAccessRoleArn sets the SecretsManagerAccessRoleArn field's value.
16481func (s *PostgreSQLSettings) SetSecretsManagerAccessRoleArn(v string) *PostgreSQLSettings {
16482	s.SecretsManagerAccessRoleArn = &v
16483	return s
16484}
16485
16486// SetSecretsManagerSecretId sets the SecretsManagerSecretId field's value.
16487func (s *PostgreSQLSettings) SetSecretsManagerSecretId(v string) *PostgreSQLSettings {
16488	s.SecretsManagerSecretId = &v
16489	return s
16490}
16491
16492// SetServerName sets the ServerName field's value.
16493func (s *PostgreSQLSettings) SetServerName(v string) *PostgreSQLSettings {
16494	s.ServerName = &v
16495	return s
16496}
16497
16498// SetSlotName sets the SlotName field's value.
16499func (s *PostgreSQLSettings) SetSlotName(v string) *PostgreSQLSettings {
16500	s.SlotName = &v
16501	return s
16502}
16503
16504// SetUsername sets the Username field's value.
16505func (s *PostgreSQLSettings) SetUsername(v string) *PostgreSQLSettings {
16506	s.Username = &v
16507	return s
16508}
16509
16510type RebootReplicationInstanceInput struct {
16511	_ struct{} `type:"structure"`
16512
16513	// If this parameter is true, the reboot is conducted through a Multi-AZ failover.
16514	// If the instance isn't configured for Multi-AZ, then you can't specify true.
16515	// ( --force-planned-failover and --force-failover can't both be set to true.)
16516	ForceFailover *bool `type:"boolean"`
16517
16518	// If this parameter is true, the reboot is conducted through a planned Multi-AZ
16519	// failover where resources are released and cleaned up prior to conducting
16520	// the failover. If the instance isn''t configured for Multi-AZ, then you can't
16521	// specify true. ( --force-planned-failover and --force-failover can't both
16522	// be set to true.)
16523	ForcePlannedFailover *bool `type:"boolean"`
16524
16525	// The Amazon Resource Name (ARN) of the replication instance.
16526	//
16527	// ReplicationInstanceArn is a required field
16528	ReplicationInstanceArn *string `type:"string" required:"true"`
16529}
16530
16531// String returns the string representation.
16532//
16533// API parameter values that are decorated as "sensitive" in the API will not
16534// be included in the string output. The member name will be present, but the
16535// value will be replaced with "sensitive".
16536func (s RebootReplicationInstanceInput) String() string {
16537	return awsutil.Prettify(s)
16538}
16539
16540// GoString returns the string representation.
16541//
16542// API parameter values that are decorated as "sensitive" in the API will not
16543// be included in the string output. The member name will be present, but the
16544// value will be replaced with "sensitive".
16545func (s RebootReplicationInstanceInput) GoString() string {
16546	return s.String()
16547}
16548
16549// Validate inspects the fields of the type to determine if they are valid.
16550func (s *RebootReplicationInstanceInput) Validate() error {
16551	invalidParams := request.ErrInvalidParams{Context: "RebootReplicationInstanceInput"}
16552	if s.ReplicationInstanceArn == nil {
16553		invalidParams.Add(request.NewErrParamRequired("ReplicationInstanceArn"))
16554	}
16555
16556	if invalidParams.Len() > 0 {
16557		return invalidParams
16558	}
16559	return nil
16560}
16561
16562// SetForceFailover sets the ForceFailover field's value.
16563func (s *RebootReplicationInstanceInput) SetForceFailover(v bool) *RebootReplicationInstanceInput {
16564	s.ForceFailover = &v
16565	return s
16566}
16567
16568// SetForcePlannedFailover sets the ForcePlannedFailover field's value.
16569func (s *RebootReplicationInstanceInput) SetForcePlannedFailover(v bool) *RebootReplicationInstanceInput {
16570	s.ForcePlannedFailover = &v
16571	return s
16572}
16573
16574// SetReplicationInstanceArn sets the ReplicationInstanceArn field's value.
16575func (s *RebootReplicationInstanceInput) SetReplicationInstanceArn(v string) *RebootReplicationInstanceInput {
16576	s.ReplicationInstanceArn = &v
16577	return s
16578}
16579
16580type RebootReplicationInstanceOutput struct {
16581	_ struct{} `type:"structure"`
16582
16583	// The replication instance that is being rebooted.
16584	ReplicationInstance *ReplicationInstance `type:"structure"`
16585}
16586
16587// String returns the string representation.
16588//
16589// API parameter values that are decorated as "sensitive" in the API will not
16590// be included in the string output. The member name will be present, but the
16591// value will be replaced with "sensitive".
16592func (s RebootReplicationInstanceOutput) String() string {
16593	return awsutil.Prettify(s)
16594}
16595
16596// GoString returns the string representation.
16597//
16598// API parameter values that are decorated as "sensitive" in the API will not
16599// be included in the string output. The member name will be present, but the
16600// value will be replaced with "sensitive".
16601func (s RebootReplicationInstanceOutput) GoString() string {
16602	return s.String()
16603}
16604
16605// SetReplicationInstance sets the ReplicationInstance field's value.
16606func (s *RebootReplicationInstanceOutput) SetReplicationInstance(v *ReplicationInstance) *RebootReplicationInstanceOutput {
16607	s.ReplicationInstance = v
16608	return s
16609}
16610
16611// Provides information that defines a Redis target endpoint.
16612type RedisSettings struct {
16613	_ struct{} `type:"structure"`
16614
16615	// The password provided with the auth-role and auth-token options of the AuthType
16616	// setting for a Redis target endpoint.
16617	//
16618	// AuthPassword is a sensitive parameter and its value will be
16619	// replaced with "sensitive" in string returned by RedisSettings's
16620	// String and GoString methods.
16621	AuthPassword *string `type:"string" sensitive:"true"`
16622
16623	// The type of authentication to perform when connecting to a Redis target.
16624	// Options include none, auth-token, and auth-role. The auth-token option requires
16625	// an AuthPassword value to be provided. The auth-role option requires AuthUserName
16626	// and AuthPassword values to be provided.
16627	AuthType *string `type:"string" enum:"RedisAuthTypeValue"`
16628
16629	// The user name provided with the auth-role option of the AuthType setting
16630	// for a Redis target endpoint.
16631	AuthUserName *string `type:"string"`
16632
16633	// Transmission Control Protocol (TCP) port for the endpoint.
16634	//
16635	// Port is a required field
16636	Port *int64 `type:"integer" required:"true"`
16637
16638	// Fully qualified domain name of the endpoint.
16639	//
16640	// ServerName is a required field
16641	ServerName *string `type:"string" required:"true"`
16642
16643	// The Amazon Resource Name (ARN) for the certificate authority (CA) that DMS
16644	// uses to connect to your Redis target endpoint.
16645	SslCaCertificateArn *string `type:"string"`
16646
16647	// The connection to a Redis target endpoint using Transport Layer Security
16648	// (TLS). Valid values include plaintext and ssl-encryption. The default is
16649	// ssl-encryption. The ssl-encryption option makes an encrypted connection.
16650	// Optionally, you can identify an Amazon Resource Name (ARN) for an SSL certificate
16651	// authority (CA) using the SslCaCertificateArn setting. If an ARN isn't given
16652	// for a CA, DMS uses the Amazon root CA.
16653	//
16654	// The plaintext option doesn't provide Transport Layer Security (TLS) encryption
16655	// for traffic between endpoint and database.
16656	SslSecurityProtocol *string `type:"string" enum:"SslSecurityProtocolValue"`
16657}
16658
16659// String returns the string representation.
16660//
16661// API parameter values that are decorated as "sensitive" in the API will not
16662// be included in the string output. The member name will be present, but the
16663// value will be replaced with "sensitive".
16664func (s RedisSettings) String() string {
16665	return awsutil.Prettify(s)
16666}
16667
16668// GoString returns the string representation.
16669//
16670// API parameter values that are decorated as "sensitive" in the API will not
16671// be included in the string output. The member name will be present, but the
16672// value will be replaced with "sensitive".
16673func (s RedisSettings) GoString() string {
16674	return s.String()
16675}
16676
16677// Validate inspects the fields of the type to determine if they are valid.
16678func (s *RedisSettings) Validate() error {
16679	invalidParams := request.ErrInvalidParams{Context: "RedisSettings"}
16680	if s.Port == nil {
16681		invalidParams.Add(request.NewErrParamRequired("Port"))
16682	}
16683	if s.ServerName == nil {
16684		invalidParams.Add(request.NewErrParamRequired("ServerName"))
16685	}
16686
16687	if invalidParams.Len() > 0 {
16688		return invalidParams
16689	}
16690	return nil
16691}
16692
16693// SetAuthPassword sets the AuthPassword field's value.
16694func (s *RedisSettings) SetAuthPassword(v string) *RedisSettings {
16695	s.AuthPassword = &v
16696	return s
16697}
16698
16699// SetAuthType sets the AuthType field's value.
16700func (s *RedisSettings) SetAuthType(v string) *RedisSettings {
16701	s.AuthType = &v
16702	return s
16703}
16704
16705// SetAuthUserName sets the AuthUserName field's value.
16706func (s *RedisSettings) SetAuthUserName(v string) *RedisSettings {
16707	s.AuthUserName = &v
16708	return s
16709}
16710
16711// SetPort sets the Port field's value.
16712func (s *RedisSettings) SetPort(v int64) *RedisSettings {
16713	s.Port = &v
16714	return s
16715}
16716
16717// SetServerName sets the ServerName field's value.
16718func (s *RedisSettings) SetServerName(v string) *RedisSettings {
16719	s.ServerName = &v
16720	return s
16721}
16722
16723// SetSslCaCertificateArn sets the SslCaCertificateArn field's value.
16724func (s *RedisSettings) SetSslCaCertificateArn(v string) *RedisSettings {
16725	s.SslCaCertificateArn = &v
16726	return s
16727}
16728
16729// SetSslSecurityProtocol sets the SslSecurityProtocol field's value.
16730func (s *RedisSettings) SetSslSecurityProtocol(v string) *RedisSettings {
16731	s.SslSecurityProtocol = &v
16732	return s
16733}
16734
16735// Provides information that defines an Amazon Redshift endpoint.
16736type RedshiftSettings struct {
16737	_ struct{} `type:"structure"`
16738
16739	// A value that indicates to allow any date format, including invalid formats
16740	// such as 00/00/00 00:00:00, to be loaded without generating an error. You
16741	// can choose true or false (the default).
16742	//
16743	// This parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE
16744	// with the DATEFORMAT parameter. If the date format for the data doesn't match
16745	// the DATEFORMAT specification, Amazon Redshift inserts a NULL value into that
16746	// field.
16747	AcceptAnyDate *bool `type:"boolean"`
16748
16749	// Code to run after connecting. This parameter should contain the code itself,
16750	// not the name of a file containing the code.
16751	AfterConnectScript *string `type:"string"`
16752
16753	// An S3 folder where the comma-separated-value (.csv) files are stored before
16754	// being uploaded to the target Redshift cluster.
16755	//
16756	// For full load mode, DMS converts source records into .csv files and loads
16757	// them to the BucketFolder/TableID path. DMS uses the Redshift COPY command
16758	// to upload the .csv files to the target table. The files are deleted once
16759	// the COPY operation has finished. For more information, see COPY (https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html)
16760	// in the Amazon Redshift Database Developer Guide.
16761	//
16762	// For change-data-capture (CDC) mode, DMS creates a NetChanges table, and loads
16763	// the .csv files to this BucketFolder/NetChangesTableID path.
16764	BucketFolder *string `type:"string"`
16765
16766	// The name of the intermediate S3 bucket used to store .csv files before uploading
16767	// data to Redshift.
16768	BucketName *string `type:"string"`
16769
16770	// If Amazon Redshift is configured to support case sensitive schema names,
16771	// set CaseSensitiveNames to true. The default is false.
16772	CaseSensitiveNames *bool `type:"boolean"`
16773
16774	// If you set CompUpdate to true Amazon Redshift applies automatic compression
16775	// if the table is empty. This applies even if the table columns already have
16776	// encodings other than RAW. If you set CompUpdate to false, automatic compression
16777	// is disabled and existing column encodings aren't changed. The default is
16778	// true.
16779	CompUpdate *bool `type:"boolean"`
16780
16781	// A value that sets the amount of time to wait (in milliseconds) before timing
16782	// out, beginning from when you initially establish a connection.
16783	ConnectionTimeout *int64 `type:"integer"`
16784
16785	// The name of the Amazon Redshift data warehouse (service) that you are working
16786	// with.
16787	DatabaseName *string `type:"string"`
16788
16789	// The date format that you are using. Valid values are auto (case-sensitive),
16790	// your date format string enclosed in quotes, or NULL. If this parameter is
16791	// left unset (NULL), it defaults to a format of 'YYYY-MM-DD'. Using auto recognizes
16792	// most strings, even some that aren't supported when you use a date format
16793	// string.
16794	//
16795	// If your date and time values use formats different from each other, set this
16796	// to auto.
16797	DateFormat *string `type:"string"`
16798
16799	// A value that specifies whether DMS should migrate empty CHAR and VARCHAR
16800	// fields as NULL. A value of true sets empty CHAR and VARCHAR fields to null.
16801	// The default is false.
16802	EmptyAsNull *bool `type:"boolean"`
16803
16804	// The type of server-side encryption that you want to use for your data. This
16805	// encryption type is part of the endpoint settings or the extra connections
16806	// attributes for Amazon S3. You can choose either SSE_S3 (the default) or SSE_KMS.
16807	//
16808	// For the ModifyEndpoint operation, you can change the existing value of the
16809	// EncryptionMode parameter from SSE_KMS to SSE_S3. But you can’t change the
16810	// existing value from SSE_S3 to SSE_KMS.
16811	//
16812	// To use SSE_S3, create an Identity and Access Management (IAM) role with a
16813	// policy that allows "arn:aws:s3:::*" to use the following actions: "s3:PutObject",
16814	// "s3:ListBucket"
16815	EncryptionMode *string `type:"string" enum:"EncryptionModeValue"`
16816
16817	// This setting is only valid for a full-load migration task. Set ExplicitIds
16818	// to true to have tables with IDENTITY columns override their auto-generated
16819	// values with explicit values loaded from the source data files used to populate
16820	// the tables. The default is false.
16821	ExplicitIds *bool `type:"boolean"`
16822
16823	// The number of threads used to upload a single file. This parameter accepts
16824	// a value from 1 through 64. It defaults to 10.
16825	//
16826	// The number of parallel streams used to upload a single .csv file to an S3
16827	// bucket using S3 Multipart Upload. For more information, see Multipart upload
16828	// overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html).
16829	//
16830	// FileTransferUploadStreams accepts a value from 1 through 64. It defaults
16831	// to 10.
16832	FileTransferUploadStreams *int64 `type:"integer"`
16833
16834	// The amount of time to wait (in milliseconds) before timing out of operations
16835	// performed by DMS on a Redshift cluster, such as Redshift COPY, INSERT, DELETE,
16836	// and UPDATE.
16837	LoadTimeout *int64 `type:"integer"`
16838
16839	// The maximum size (in KB) of any .csv file used to load data on an S3 bucket
16840	// and transfer data to Amazon Redshift. It defaults to 1048576KB (1 GB).
16841	MaxFileSize *int64 `type:"integer"`
16842
16843	// The password for the user named in the username property.
16844	//
16845	// Password is a sensitive parameter and its value will be
16846	// replaced with "sensitive" in string returned by RedshiftSettings's
16847	// String and GoString methods.
16848	Password *string `type:"string" sensitive:"true"`
16849
16850	// The port number for Amazon Redshift. The default value is 5439.
16851	Port *int64 `type:"integer"`
16852
16853	// A value that specifies to remove surrounding quotation marks from strings
16854	// in the incoming data. All characters within the quotation marks, including
16855	// delimiters, are retained. Choose true to remove quotation marks. The default
16856	// is false.
16857	RemoveQuotes *bool `type:"boolean"`
16858
16859	// A value that specifies to replaces the invalid characters specified in ReplaceInvalidChars,
16860	// substituting the specified characters instead. The default is "?".
16861	ReplaceChars *string `type:"string"`
16862
16863	// A list of characters that you want to replace. Use with ReplaceChars.
16864	ReplaceInvalidChars *string `type:"string"`
16865
16866	// The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as
16867	// the trusted entity and grants the required permissions to access the value
16868	// in SecretsManagerSecret. The role must allow the iam:PassRole action. SecretsManagerSecret
16869	// has the value of the Amazon Web Services Secrets Manager secret that allows
16870	// access to the Amazon Redshift endpoint.
16871	//
16872	// You can specify one of two sets of values for these permissions. You can
16873	// specify the values for this setting and SecretsManagerSecretId. Or you can
16874	// specify clear-text values for UserName, Password, ServerName, and Port. You
16875	// can't specify both. For more information on creating this SecretsManagerSecret
16876	// and the SecretsManagerAccessRoleArn and SecretsManagerSecretId required to
16877	// access it, see Using secrets to access Database Migration Service resources
16878	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
16879	// in the Database Migration Service User Guide.
16880	SecretsManagerAccessRoleArn *string `type:"string"`
16881
16882	// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that
16883	// contains the Amazon Redshift endpoint connection details.
16884	SecretsManagerSecretId *string `type:"string"`
16885
16886	// The name of the Amazon Redshift cluster you are using.
16887	ServerName *string `type:"string"`
16888
16889	// The KMS key ID. If you are using SSE_KMS for the EncryptionMode, provide
16890	// this key ID. The key that you use needs an attached policy that enables IAM
16891	// user permissions and allows use of the key.
16892	ServerSideEncryptionKmsKeyId *string `type:"string"`
16893
16894	// The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon
16895	// Redshift service. The role must allow the iam:PassRole action.
16896	ServiceAccessRoleArn *string `type:"string"`
16897
16898	// The time format that you want to use. Valid values are auto (case-sensitive),
16899	// 'timeformat_string', 'epochsecs', or 'epochmillisecs'. It defaults to 10.
16900	// Using auto recognizes most strings, even some that aren't supported when
16901	// you use a time format string.
16902	//
16903	// If your date and time values use formats different from each other, set this
16904	// parameter to auto.
16905	TimeFormat *string `type:"string"`
16906
16907	// A value that specifies to remove the trailing white space characters from
16908	// a VARCHAR string. This parameter applies only to columns with a VARCHAR data
16909	// type. Choose true to remove unneeded white space. The default is false.
16910	TrimBlanks *bool `type:"boolean"`
16911
16912	// A value that specifies to truncate data in columns to the appropriate number
16913	// of characters, so that the data fits in the column. This parameter applies
16914	// only to columns with a VARCHAR or CHAR data type, and rows with a size of
16915	// 4 MB or less. Choose true to truncate data. The default is false.
16916	TruncateColumns *bool `type:"boolean"`
16917
16918	// An Amazon Redshift user name for a registered user.
16919	Username *string `type:"string"`
16920
16921	// The size (in KB) of the in-memory file write buffer used when generating
16922	// .csv files on the local disk at the DMS replication instance. The default
16923	// value is 1000 (buffer size is 1000KB).
16924	WriteBufferSize *int64 `type:"integer"`
16925}
16926
16927// String returns the string representation.
16928//
16929// API parameter values that are decorated as "sensitive" in the API will not
16930// be included in the string output. The member name will be present, but the
16931// value will be replaced with "sensitive".
16932func (s RedshiftSettings) String() string {
16933	return awsutil.Prettify(s)
16934}
16935
16936// GoString returns the string representation.
16937//
16938// API parameter values that are decorated as "sensitive" in the API will not
16939// be included in the string output. The member name will be present, but the
16940// value will be replaced with "sensitive".
16941func (s RedshiftSettings) GoString() string {
16942	return s.String()
16943}
16944
16945// SetAcceptAnyDate sets the AcceptAnyDate field's value.
16946func (s *RedshiftSettings) SetAcceptAnyDate(v bool) *RedshiftSettings {
16947	s.AcceptAnyDate = &v
16948	return s
16949}
16950
16951// SetAfterConnectScript sets the AfterConnectScript field's value.
16952func (s *RedshiftSettings) SetAfterConnectScript(v string) *RedshiftSettings {
16953	s.AfterConnectScript = &v
16954	return s
16955}
16956
16957// SetBucketFolder sets the BucketFolder field's value.
16958func (s *RedshiftSettings) SetBucketFolder(v string) *RedshiftSettings {
16959	s.BucketFolder = &v
16960	return s
16961}
16962
16963// SetBucketName sets the BucketName field's value.
16964func (s *RedshiftSettings) SetBucketName(v string) *RedshiftSettings {
16965	s.BucketName = &v
16966	return s
16967}
16968
16969// SetCaseSensitiveNames sets the CaseSensitiveNames field's value.
16970func (s *RedshiftSettings) SetCaseSensitiveNames(v bool) *RedshiftSettings {
16971	s.CaseSensitiveNames = &v
16972	return s
16973}
16974
16975// SetCompUpdate sets the CompUpdate field's value.
16976func (s *RedshiftSettings) SetCompUpdate(v bool) *RedshiftSettings {
16977	s.CompUpdate = &v
16978	return s
16979}
16980
16981// SetConnectionTimeout sets the ConnectionTimeout field's value.
16982func (s *RedshiftSettings) SetConnectionTimeout(v int64) *RedshiftSettings {
16983	s.ConnectionTimeout = &v
16984	return s
16985}
16986
16987// SetDatabaseName sets the DatabaseName field's value.
16988func (s *RedshiftSettings) SetDatabaseName(v string) *RedshiftSettings {
16989	s.DatabaseName = &v
16990	return s
16991}
16992
16993// SetDateFormat sets the DateFormat field's value.
16994func (s *RedshiftSettings) SetDateFormat(v string) *RedshiftSettings {
16995	s.DateFormat = &v
16996	return s
16997}
16998
16999// SetEmptyAsNull sets the EmptyAsNull field's value.
17000func (s *RedshiftSettings) SetEmptyAsNull(v bool) *RedshiftSettings {
17001	s.EmptyAsNull = &v
17002	return s
17003}
17004
17005// SetEncryptionMode sets the EncryptionMode field's value.
17006func (s *RedshiftSettings) SetEncryptionMode(v string) *RedshiftSettings {
17007	s.EncryptionMode = &v
17008	return s
17009}
17010
17011// SetExplicitIds sets the ExplicitIds field's value.
17012func (s *RedshiftSettings) SetExplicitIds(v bool) *RedshiftSettings {
17013	s.ExplicitIds = &v
17014	return s
17015}
17016
17017// SetFileTransferUploadStreams sets the FileTransferUploadStreams field's value.
17018func (s *RedshiftSettings) SetFileTransferUploadStreams(v int64) *RedshiftSettings {
17019	s.FileTransferUploadStreams = &v
17020	return s
17021}
17022
17023// SetLoadTimeout sets the LoadTimeout field's value.
17024func (s *RedshiftSettings) SetLoadTimeout(v int64) *RedshiftSettings {
17025	s.LoadTimeout = &v
17026	return s
17027}
17028
17029// SetMaxFileSize sets the MaxFileSize field's value.
17030func (s *RedshiftSettings) SetMaxFileSize(v int64) *RedshiftSettings {
17031	s.MaxFileSize = &v
17032	return s
17033}
17034
17035// SetPassword sets the Password field's value.
17036func (s *RedshiftSettings) SetPassword(v string) *RedshiftSettings {
17037	s.Password = &v
17038	return s
17039}
17040
17041// SetPort sets the Port field's value.
17042func (s *RedshiftSettings) SetPort(v int64) *RedshiftSettings {
17043	s.Port = &v
17044	return s
17045}
17046
17047// SetRemoveQuotes sets the RemoveQuotes field's value.
17048func (s *RedshiftSettings) SetRemoveQuotes(v bool) *RedshiftSettings {
17049	s.RemoveQuotes = &v
17050	return s
17051}
17052
17053// SetReplaceChars sets the ReplaceChars field's value.
17054func (s *RedshiftSettings) SetReplaceChars(v string) *RedshiftSettings {
17055	s.ReplaceChars = &v
17056	return s
17057}
17058
17059// SetReplaceInvalidChars sets the ReplaceInvalidChars field's value.
17060func (s *RedshiftSettings) SetReplaceInvalidChars(v string) *RedshiftSettings {
17061	s.ReplaceInvalidChars = &v
17062	return s
17063}
17064
17065// SetSecretsManagerAccessRoleArn sets the SecretsManagerAccessRoleArn field's value.
17066func (s *RedshiftSettings) SetSecretsManagerAccessRoleArn(v string) *RedshiftSettings {
17067	s.SecretsManagerAccessRoleArn = &v
17068	return s
17069}
17070
17071// SetSecretsManagerSecretId sets the SecretsManagerSecretId field's value.
17072func (s *RedshiftSettings) SetSecretsManagerSecretId(v string) *RedshiftSettings {
17073	s.SecretsManagerSecretId = &v
17074	return s
17075}
17076
17077// SetServerName sets the ServerName field's value.
17078func (s *RedshiftSettings) SetServerName(v string) *RedshiftSettings {
17079	s.ServerName = &v
17080	return s
17081}
17082
17083// SetServerSideEncryptionKmsKeyId sets the ServerSideEncryptionKmsKeyId field's value.
17084func (s *RedshiftSettings) SetServerSideEncryptionKmsKeyId(v string) *RedshiftSettings {
17085	s.ServerSideEncryptionKmsKeyId = &v
17086	return s
17087}
17088
17089// SetServiceAccessRoleArn sets the ServiceAccessRoleArn field's value.
17090func (s *RedshiftSettings) SetServiceAccessRoleArn(v string) *RedshiftSettings {
17091	s.ServiceAccessRoleArn = &v
17092	return s
17093}
17094
17095// SetTimeFormat sets the TimeFormat field's value.
17096func (s *RedshiftSettings) SetTimeFormat(v string) *RedshiftSettings {
17097	s.TimeFormat = &v
17098	return s
17099}
17100
17101// SetTrimBlanks sets the TrimBlanks field's value.
17102func (s *RedshiftSettings) SetTrimBlanks(v bool) *RedshiftSettings {
17103	s.TrimBlanks = &v
17104	return s
17105}
17106
17107// SetTruncateColumns sets the TruncateColumns field's value.
17108func (s *RedshiftSettings) SetTruncateColumns(v bool) *RedshiftSettings {
17109	s.TruncateColumns = &v
17110	return s
17111}
17112
17113// SetUsername sets the Username field's value.
17114func (s *RedshiftSettings) SetUsername(v string) *RedshiftSettings {
17115	s.Username = &v
17116	return s
17117}
17118
17119// SetWriteBufferSize sets the WriteBufferSize field's value.
17120func (s *RedshiftSettings) SetWriteBufferSize(v int64) *RedshiftSettings {
17121	s.WriteBufferSize = &v
17122	return s
17123}
17124
17125type RefreshSchemasInput struct {
17126	_ struct{} `type:"structure"`
17127
17128	// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.
17129	//
17130	// EndpointArn is a required field
17131	EndpointArn *string `type:"string" required:"true"`
17132
17133	// The Amazon Resource Name (ARN) of the replication instance.
17134	//
17135	// ReplicationInstanceArn is a required field
17136	ReplicationInstanceArn *string `type:"string" required:"true"`
17137}
17138
17139// String returns the string representation.
17140//
17141// API parameter values that are decorated as "sensitive" in the API will not
17142// be included in the string output. The member name will be present, but the
17143// value will be replaced with "sensitive".
17144func (s RefreshSchemasInput) String() string {
17145	return awsutil.Prettify(s)
17146}
17147
17148// GoString returns the string representation.
17149//
17150// API parameter values that are decorated as "sensitive" in the API will not
17151// be included in the string output. The member name will be present, but the
17152// value will be replaced with "sensitive".
17153func (s RefreshSchemasInput) GoString() string {
17154	return s.String()
17155}
17156
17157// Validate inspects the fields of the type to determine if they are valid.
17158func (s *RefreshSchemasInput) Validate() error {
17159	invalidParams := request.ErrInvalidParams{Context: "RefreshSchemasInput"}
17160	if s.EndpointArn == nil {
17161		invalidParams.Add(request.NewErrParamRequired("EndpointArn"))
17162	}
17163	if s.ReplicationInstanceArn == nil {
17164		invalidParams.Add(request.NewErrParamRequired("ReplicationInstanceArn"))
17165	}
17166
17167	if invalidParams.Len() > 0 {
17168		return invalidParams
17169	}
17170	return nil
17171}
17172
17173// SetEndpointArn sets the EndpointArn field's value.
17174func (s *RefreshSchemasInput) SetEndpointArn(v string) *RefreshSchemasInput {
17175	s.EndpointArn = &v
17176	return s
17177}
17178
17179// SetReplicationInstanceArn sets the ReplicationInstanceArn field's value.
17180func (s *RefreshSchemasInput) SetReplicationInstanceArn(v string) *RefreshSchemasInput {
17181	s.ReplicationInstanceArn = &v
17182	return s
17183}
17184
17185type RefreshSchemasOutput struct {
17186	_ struct{} `type:"structure"`
17187
17188	// The status of the refreshed schema.
17189	RefreshSchemasStatus *RefreshSchemasStatus `type:"structure"`
17190}
17191
17192// String returns the string representation.
17193//
17194// API parameter values that are decorated as "sensitive" in the API will not
17195// be included in the string output. The member name will be present, but the
17196// value will be replaced with "sensitive".
17197func (s RefreshSchemasOutput) String() string {
17198	return awsutil.Prettify(s)
17199}
17200
17201// GoString returns the string representation.
17202//
17203// API parameter values that are decorated as "sensitive" in the API will not
17204// be included in the string output. The member name will be present, but the
17205// value will be replaced with "sensitive".
17206func (s RefreshSchemasOutput) GoString() string {
17207	return s.String()
17208}
17209
17210// SetRefreshSchemasStatus sets the RefreshSchemasStatus field's value.
17211func (s *RefreshSchemasOutput) SetRefreshSchemasStatus(v *RefreshSchemasStatus) *RefreshSchemasOutput {
17212	s.RefreshSchemasStatus = v
17213	return s
17214}
17215
17216// Provides information that describes status of a schema at an endpoint specified
17217// by the DescribeRefreshSchemaStatus operation.
17218type RefreshSchemasStatus struct {
17219	_ struct{} `type:"structure"`
17220
17221	// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.
17222	EndpointArn *string `type:"string"`
17223
17224	// The last failure message for the schema.
17225	LastFailureMessage *string `type:"string"`
17226
17227	// The date the schema was last refreshed.
17228	LastRefreshDate *time.Time `type:"timestamp"`
17229
17230	// The Amazon Resource Name (ARN) of the replication instance.
17231	ReplicationInstanceArn *string `type:"string"`
17232
17233	// The status of the schema.
17234	Status *string `type:"string" enum:"RefreshSchemasStatusTypeValue"`
17235}
17236
17237// String returns the string representation.
17238//
17239// API parameter values that are decorated as "sensitive" in the API will not
17240// be included in the string output. The member name will be present, but the
17241// value will be replaced with "sensitive".
17242func (s RefreshSchemasStatus) String() string {
17243	return awsutil.Prettify(s)
17244}
17245
17246// GoString returns the string representation.
17247//
17248// API parameter values that are decorated as "sensitive" in the API will not
17249// be included in the string output. The member name will be present, but the
17250// value will be replaced with "sensitive".
17251func (s RefreshSchemasStatus) GoString() string {
17252	return s.String()
17253}
17254
17255// SetEndpointArn sets the EndpointArn field's value.
17256func (s *RefreshSchemasStatus) SetEndpointArn(v string) *RefreshSchemasStatus {
17257	s.EndpointArn = &v
17258	return s
17259}
17260
17261// SetLastFailureMessage sets the LastFailureMessage field's value.
17262func (s *RefreshSchemasStatus) SetLastFailureMessage(v string) *RefreshSchemasStatus {
17263	s.LastFailureMessage = &v
17264	return s
17265}
17266
17267// SetLastRefreshDate sets the LastRefreshDate field's value.
17268func (s *RefreshSchemasStatus) SetLastRefreshDate(v time.Time) *RefreshSchemasStatus {
17269	s.LastRefreshDate = &v
17270	return s
17271}
17272
17273// SetReplicationInstanceArn sets the ReplicationInstanceArn field's value.
17274func (s *RefreshSchemasStatus) SetReplicationInstanceArn(v string) *RefreshSchemasStatus {
17275	s.ReplicationInstanceArn = &v
17276	return s
17277}
17278
17279// SetStatus sets the Status field's value.
17280func (s *RefreshSchemasStatus) SetStatus(v string) *RefreshSchemasStatus {
17281	s.Status = &v
17282	return s
17283}
17284
17285type ReloadTablesInput struct {
17286	_ struct{} `type:"structure"`
17287
17288	// Options for reload. Specify data-reload to reload the data and re-validate
17289	// it if validation is enabled. Specify validate-only to re-validate the table.
17290	// This option applies only when validation is enabled for the task.
17291	//
17292	// Valid values: data-reload, validate-only
17293	//
17294	// Default value is data-reload.
17295	ReloadOption *string `type:"string" enum:"ReloadOptionValue"`
17296
17297	// The Amazon Resource Name (ARN) of the replication task.
17298	//
17299	// ReplicationTaskArn is a required field
17300	ReplicationTaskArn *string `type:"string" required:"true"`
17301
17302	// The name and schema of the table to be reloaded.
17303	//
17304	// TablesToReload is a required field
17305	TablesToReload []*TableToReload `type:"list" required:"true"`
17306}
17307
17308// String returns the string representation.
17309//
17310// API parameter values that are decorated as "sensitive" in the API will not
17311// be included in the string output. The member name will be present, but the
17312// value will be replaced with "sensitive".
17313func (s ReloadTablesInput) String() string {
17314	return awsutil.Prettify(s)
17315}
17316
17317// GoString returns the string representation.
17318//
17319// API parameter values that are decorated as "sensitive" in the API will not
17320// be included in the string output. The member name will be present, but the
17321// value will be replaced with "sensitive".
17322func (s ReloadTablesInput) GoString() string {
17323	return s.String()
17324}
17325
17326// Validate inspects the fields of the type to determine if they are valid.
17327func (s *ReloadTablesInput) Validate() error {
17328	invalidParams := request.ErrInvalidParams{Context: "ReloadTablesInput"}
17329	if s.ReplicationTaskArn == nil {
17330		invalidParams.Add(request.NewErrParamRequired("ReplicationTaskArn"))
17331	}
17332	if s.TablesToReload == nil {
17333		invalidParams.Add(request.NewErrParamRequired("TablesToReload"))
17334	}
17335	if s.TablesToReload != nil {
17336		for i, v := range s.TablesToReload {
17337			if v == nil {
17338				continue
17339			}
17340			if err := v.Validate(); err != nil {
17341				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TablesToReload", i), err.(request.ErrInvalidParams))
17342			}
17343		}
17344	}
17345
17346	if invalidParams.Len() > 0 {
17347		return invalidParams
17348	}
17349	return nil
17350}
17351
17352// SetReloadOption sets the ReloadOption field's value.
17353func (s *ReloadTablesInput) SetReloadOption(v string) *ReloadTablesInput {
17354	s.ReloadOption = &v
17355	return s
17356}
17357
17358// SetReplicationTaskArn sets the ReplicationTaskArn field's value.
17359func (s *ReloadTablesInput) SetReplicationTaskArn(v string) *ReloadTablesInput {
17360	s.ReplicationTaskArn = &v
17361	return s
17362}
17363
17364// SetTablesToReload sets the TablesToReload field's value.
17365func (s *ReloadTablesInput) SetTablesToReload(v []*TableToReload) *ReloadTablesInput {
17366	s.TablesToReload = v
17367	return s
17368}
17369
17370type ReloadTablesOutput struct {
17371	_ struct{} `type:"structure"`
17372
17373	// The Amazon Resource Name (ARN) of the replication task.
17374	ReplicationTaskArn *string `type:"string"`
17375}
17376
17377// String returns the string representation.
17378//
17379// API parameter values that are decorated as "sensitive" in the API will not
17380// be included in the string output. The member name will be present, but the
17381// value will be replaced with "sensitive".
17382func (s ReloadTablesOutput) String() string {
17383	return awsutil.Prettify(s)
17384}
17385
17386// GoString returns the string representation.
17387//
17388// API parameter values that are decorated as "sensitive" in the API will not
17389// be included in the string output. The member name will be present, but the
17390// value will be replaced with "sensitive".
17391func (s ReloadTablesOutput) GoString() string {
17392	return s.String()
17393}
17394
17395// SetReplicationTaskArn sets the ReplicationTaskArn field's value.
17396func (s *ReloadTablesOutput) SetReplicationTaskArn(v string) *ReloadTablesOutput {
17397	s.ReplicationTaskArn = &v
17398	return s
17399}
17400
17401// Removes one or more tags from an DMS resource.
17402type RemoveTagsFromResourceInput struct {
17403	_ struct{} `type:"structure"`
17404
17405	// An DMS resource from which you want to remove tag(s). The value for this
17406	// parameter is an Amazon Resource Name (ARN).
17407	//
17408	// ResourceArn is a required field
17409	ResourceArn *string `type:"string" required:"true"`
17410
17411	// The tag key (name) of the tag to be removed.
17412	//
17413	// TagKeys is a required field
17414	TagKeys []*string `type:"list" required:"true"`
17415}
17416
17417// String returns the string representation.
17418//
17419// API parameter values that are decorated as "sensitive" in the API will not
17420// be included in the string output. The member name will be present, but the
17421// value will be replaced with "sensitive".
17422func (s RemoveTagsFromResourceInput) String() string {
17423	return awsutil.Prettify(s)
17424}
17425
17426// GoString returns the string representation.
17427//
17428// API parameter values that are decorated as "sensitive" in the API will not
17429// be included in the string output. The member name will be present, but the
17430// value will be replaced with "sensitive".
17431func (s RemoveTagsFromResourceInput) GoString() string {
17432	return s.String()
17433}
17434
17435// Validate inspects the fields of the type to determine if they are valid.
17436func (s *RemoveTagsFromResourceInput) Validate() error {
17437	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
17438	if s.ResourceArn == nil {
17439		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
17440	}
17441	if s.TagKeys == nil {
17442		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
17443	}
17444
17445	if invalidParams.Len() > 0 {
17446		return invalidParams
17447	}
17448	return nil
17449}
17450
17451// SetResourceArn sets the ResourceArn field's value.
17452func (s *RemoveTagsFromResourceInput) SetResourceArn(v string) *RemoveTagsFromResourceInput {
17453	s.ResourceArn = &v
17454	return s
17455}
17456
17457// SetTagKeys sets the TagKeys field's value.
17458func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
17459	s.TagKeys = v
17460	return s
17461}
17462
17463type RemoveTagsFromResourceOutput struct {
17464	_ struct{} `type:"structure"`
17465}
17466
17467// String returns the string representation.
17468//
17469// API parameter values that are decorated as "sensitive" in the API will not
17470// be included in the string output. The member name will be present, but the
17471// value will be replaced with "sensitive".
17472func (s RemoveTagsFromResourceOutput) String() string {
17473	return awsutil.Prettify(s)
17474}
17475
17476// GoString returns the string representation.
17477//
17478// API parameter values that are decorated as "sensitive" in the API will not
17479// be included in the string output. The member name will be present, but the
17480// value will be replaced with "sensitive".
17481func (s RemoveTagsFromResourceOutput) GoString() string {
17482	return s.String()
17483}
17484
17485// Provides information that defines a replication instance.
17486type ReplicationInstance struct {
17487	_ struct{} `type:"structure"`
17488
17489	// The amount of storage (in gigabytes) that is allocated for the replication
17490	// instance.
17491	AllocatedStorage *int64 `type:"integer"`
17492
17493	// Boolean value indicating if minor version upgrades will be automatically
17494	// applied to the instance.
17495	AutoMinorVersionUpgrade *bool `type:"boolean"`
17496
17497	// The Availability Zone for the instance.
17498	AvailabilityZone *string `type:"string"`
17499
17500	// The DNS name servers supported for the replication instance to access your
17501	// on-premise source or target database.
17502	DnsNameServers *string `type:"string"`
17503
17504	// The engine version number of the replication instance.
17505	//
17506	// If an engine version number is not specified when a replication instance
17507	// is created, the default is the latest engine version available.
17508	//
17509	// When modifying a major engine version of an instance, also set AllowMajorVersionUpgrade
17510	// to true.
17511	EngineVersion *string `type:"string"`
17512
17513	// The expiration date of the free replication instance that is part of the
17514	// Free DMS program.
17515	FreeUntil *time.Time `type:"timestamp"`
17516
17517	// The time the replication instance was created.
17518	InstanceCreateTime *time.Time `type:"timestamp"`
17519
17520	// An KMS key identifier that is used to encrypt the data on the replication
17521	// instance.
17522	//
17523	// If you don't specify a value for the KmsKeyId parameter, then DMS uses your
17524	// default encryption key.
17525	//
17526	// KMS creates the default encryption key for your Amazon Web Services account.
17527	// Your Amazon Web Services account has a different default encryption key for
17528	// each Amazon Web Services Region.
17529	KmsKeyId *string `type:"string"`
17530
17531	// Specifies whether the replication instance is a Multi-AZ deployment. You
17532	// can't set the AvailabilityZone parameter if the Multi-AZ parameter is set
17533	// to true.
17534	MultiAZ *bool `type:"boolean"`
17535
17536	// The pending modification values.
17537	PendingModifiedValues *ReplicationPendingModifiedValues `type:"structure"`
17538
17539	// The maintenance window times for the replication instance. Any pending upgrades
17540	// to the replication instance are performed during this time.
17541	PreferredMaintenanceWindow *string `type:"string"`
17542
17543	// Specifies the accessibility options for the replication instance. A value
17544	// of true represents an instance with a public IP address. A value of false
17545	// represents an instance with a private IP address. The default value is true.
17546	PubliclyAccessible *bool `type:"boolean"`
17547
17548	// The Amazon Resource Name (ARN) of the replication instance.
17549	ReplicationInstanceArn *string `type:"string"`
17550
17551	// The compute and memory capacity of the replication instance as defined for
17552	// the specified replication instance class. It is a required parameter, although
17553	// a default value is pre-selected in the DMS console.
17554	//
17555	// For more information on the settings and capacities for the available replication
17556	// instance classes, see Selecting the right DMS replication instance for your
17557	// migration (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth).
17558	ReplicationInstanceClass *string `type:"string"`
17559
17560	// The replication instance identifier is a required parameter. This parameter
17561	// is stored as a lowercase string.
17562	//
17563	// Constraints:
17564	//
17565	//    * Must contain 1-63 alphanumeric characters or hyphens.
17566	//
17567	//    * First character must be a letter.
17568	//
17569	//    * Cannot end with a hyphen or contain two consecutive hyphens.
17570	//
17571	// Example: myrepinstance
17572	ReplicationInstanceIdentifier *string `type:"string"`
17573
17574	// The private IP address of the replication instance.
17575	//
17576	// Deprecated: ReplicationInstancePrivateIpAddress has been deprecated
17577	ReplicationInstancePrivateIpAddress *string `deprecated:"true" type:"string"`
17578
17579	// One or more private IP addresses for the replication instance.
17580	ReplicationInstancePrivateIpAddresses []*string `type:"list"`
17581
17582	// The public IP address of the replication instance.
17583	//
17584	// Deprecated: ReplicationInstancePublicIpAddress has been deprecated
17585	ReplicationInstancePublicIpAddress *string `deprecated:"true" type:"string"`
17586
17587	// One or more public IP addresses for the replication instance.
17588	ReplicationInstancePublicIpAddresses []*string `type:"list"`
17589
17590	// The status of the replication instance. The possible return values include:
17591	//
17592	//    * "available"
17593	//
17594	//    * "creating"
17595	//
17596	//    * "deleted"
17597	//
17598	//    * "deleting"
17599	//
17600	//    * "failed"
17601	//
17602	//    * "modifying"
17603	//
17604	//    * "upgrading"
17605	//
17606	//    * "rebooting"
17607	//
17608	//    * "resetting-master-credentials"
17609	//
17610	//    * "storage-full"
17611	//
17612	//    * "incompatible-credentials"
17613	//
17614	//    * "incompatible-network"
17615	//
17616	//    * "maintenance"
17617	ReplicationInstanceStatus *string `type:"string"`
17618
17619	// The subnet group for the replication instance.
17620	ReplicationSubnetGroup *ReplicationSubnetGroup `type:"structure"`
17621
17622	// The Availability Zone of the standby replication instance in a Multi-AZ deployment.
17623	SecondaryAvailabilityZone *string `type:"string"`
17624
17625	// The VPC security group for the instance.
17626	VpcSecurityGroups []*VpcSecurityGroupMembership `type:"list"`
17627}
17628
17629// String returns the string representation.
17630//
17631// API parameter values that are decorated as "sensitive" in the API will not
17632// be included in the string output. The member name will be present, but the
17633// value will be replaced with "sensitive".
17634func (s ReplicationInstance) String() string {
17635	return awsutil.Prettify(s)
17636}
17637
17638// GoString returns the string representation.
17639//
17640// API parameter values that are decorated as "sensitive" in the API will not
17641// be included in the string output. The member name will be present, but the
17642// value will be replaced with "sensitive".
17643func (s ReplicationInstance) GoString() string {
17644	return s.String()
17645}
17646
17647// SetAllocatedStorage sets the AllocatedStorage field's value.
17648func (s *ReplicationInstance) SetAllocatedStorage(v int64) *ReplicationInstance {
17649	s.AllocatedStorage = &v
17650	return s
17651}
17652
17653// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
17654func (s *ReplicationInstance) SetAutoMinorVersionUpgrade(v bool) *ReplicationInstance {
17655	s.AutoMinorVersionUpgrade = &v
17656	return s
17657}
17658
17659// SetAvailabilityZone sets the AvailabilityZone field's value.
17660func (s *ReplicationInstance) SetAvailabilityZone(v string) *ReplicationInstance {
17661	s.AvailabilityZone = &v
17662	return s
17663}
17664
17665// SetDnsNameServers sets the DnsNameServers field's value.
17666func (s *ReplicationInstance) SetDnsNameServers(v string) *ReplicationInstance {
17667	s.DnsNameServers = &v
17668	return s
17669}
17670
17671// SetEngineVersion sets the EngineVersion field's value.
17672func (s *ReplicationInstance) SetEngineVersion(v string) *ReplicationInstance {
17673	s.EngineVersion = &v
17674	return s
17675}
17676
17677// SetFreeUntil sets the FreeUntil field's value.
17678func (s *ReplicationInstance) SetFreeUntil(v time.Time) *ReplicationInstance {
17679	s.FreeUntil = &v
17680	return s
17681}
17682
17683// SetInstanceCreateTime sets the InstanceCreateTime field's value.
17684func (s *ReplicationInstance) SetInstanceCreateTime(v time.Time) *ReplicationInstance {
17685	s.InstanceCreateTime = &v
17686	return s
17687}
17688
17689// SetKmsKeyId sets the KmsKeyId field's value.
17690func (s *ReplicationInstance) SetKmsKeyId(v string) *ReplicationInstance {
17691	s.KmsKeyId = &v
17692	return s
17693}
17694
17695// SetMultiAZ sets the MultiAZ field's value.
17696func (s *ReplicationInstance) SetMultiAZ(v bool) *ReplicationInstance {
17697	s.MultiAZ = &v
17698	return s
17699}
17700
17701// SetPendingModifiedValues sets the PendingModifiedValues field's value.
17702func (s *ReplicationInstance) SetPendingModifiedValues(v *ReplicationPendingModifiedValues) *ReplicationInstance {
17703	s.PendingModifiedValues = v
17704	return s
17705}
17706
17707// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
17708func (s *ReplicationInstance) SetPreferredMaintenanceWindow(v string) *ReplicationInstance {
17709	s.PreferredMaintenanceWindow = &v
17710	return s
17711}
17712
17713// SetPubliclyAccessible sets the PubliclyAccessible field's value.
17714func (s *ReplicationInstance) SetPubliclyAccessible(v bool) *ReplicationInstance {
17715	s.PubliclyAccessible = &v
17716	return s
17717}
17718
17719// SetReplicationInstanceArn sets the ReplicationInstanceArn field's value.
17720func (s *ReplicationInstance) SetReplicationInstanceArn(v string) *ReplicationInstance {
17721	s.ReplicationInstanceArn = &v
17722	return s
17723}
17724
17725// SetReplicationInstanceClass sets the ReplicationInstanceClass field's value.
17726func (s *ReplicationInstance) SetReplicationInstanceClass(v string) *ReplicationInstance {
17727	s.ReplicationInstanceClass = &v
17728	return s
17729}
17730
17731// SetReplicationInstanceIdentifier sets the ReplicationInstanceIdentifier field's value.
17732func (s *ReplicationInstance) SetReplicationInstanceIdentifier(v string) *ReplicationInstance {
17733	s.ReplicationInstanceIdentifier = &v
17734	return s
17735}
17736
17737// SetReplicationInstancePrivateIpAddress sets the ReplicationInstancePrivateIpAddress field's value.
17738func (s *ReplicationInstance) SetReplicationInstancePrivateIpAddress(v string) *ReplicationInstance {
17739	s.ReplicationInstancePrivateIpAddress = &v
17740	return s
17741}
17742
17743// SetReplicationInstancePrivateIpAddresses sets the ReplicationInstancePrivateIpAddresses field's value.
17744func (s *ReplicationInstance) SetReplicationInstancePrivateIpAddresses(v []*string) *ReplicationInstance {
17745	s.ReplicationInstancePrivateIpAddresses = v
17746	return s
17747}
17748
17749// SetReplicationInstancePublicIpAddress sets the ReplicationInstancePublicIpAddress field's value.
17750func (s *ReplicationInstance) SetReplicationInstancePublicIpAddress(v string) *ReplicationInstance {
17751	s.ReplicationInstancePublicIpAddress = &v
17752	return s
17753}
17754
17755// SetReplicationInstancePublicIpAddresses sets the ReplicationInstancePublicIpAddresses field's value.
17756func (s *ReplicationInstance) SetReplicationInstancePublicIpAddresses(v []*string) *ReplicationInstance {
17757	s.ReplicationInstancePublicIpAddresses = v
17758	return s
17759}
17760
17761// SetReplicationInstanceStatus sets the ReplicationInstanceStatus field's value.
17762func (s *ReplicationInstance) SetReplicationInstanceStatus(v string) *ReplicationInstance {
17763	s.ReplicationInstanceStatus = &v
17764	return s
17765}
17766
17767// SetReplicationSubnetGroup sets the ReplicationSubnetGroup field's value.
17768func (s *ReplicationInstance) SetReplicationSubnetGroup(v *ReplicationSubnetGroup) *ReplicationInstance {
17769	s.ReplicationSubnetGroup = v
17770	return s
17771}
17772
17773// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
17774func (s *ReplicationInstance) SetSecondaryAvailabilityZone(v string) *ReplicationInstance {
17775	s.SecondaryAvailabilityZone = &v
17776	return s
17777}
17778
17779// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
17780func (s *ReplicationInstance) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *ReplicationInstance {
17781	s.VpcSecurityGroups = v
17782	return s
17783}
17784
17785// Contains metadata for a replication instance task log.
17786type ReplicationInstanceTaskLog struct {
17787	_ struct{} `type:"structure"`
17788
17789	// The size, in bytes, of the replication task log.
17790	ReplicationInstanceTaskLogSize *int64 `type:"long"`
17791
17792	// The Amazon Resource Name (ARN) of the replication task.
17793	ReplicationTaskArn *string `type:"string"`
17794
17795	// The name of the replication task.
17796	ReplicationTaskName *string `type:"string"`
17797}
17798
17799// String returns the string representation.
17800//
17801// API parameter values that are decorated as "sensitive" in the API will not
17802// be included in the string output. The member name will be present, but the
17803// value will be replaced with "sensitive".
17804func (s ReplicationInstanceTaskLog) String() string {
17805	return awsutil.Prettify(s)
17806}
17807
17808// GoString returns the string representation.
17809//
17810// API parameter values that are decorated as "sensitive" in the API will not
17811// be included in the string output. The member name will be present, but the
17812// value will be replaced with "sensitive".
17813func (s ReplicationInstanceTaskLog) GoString() string {
17814	return s.String()
17815}
17816
17817// SetReplicationInstanceTaskLogSize sets the ReplicationInstanceTaskLogSize field's value.
17818func (s *ReplicationInstanceTaskLog) SetReplicationInstanceTaskLogSize(v int64) *ReplicationInstanceTaskLog {
17819	s.ReplicationInstanceTaskLogSize = &v
17820	return s
17821}
17822
17823// SetReplicationTaskArn sets the ReplicationTaskArn field's value.
17824func (s *ReplicationInstanceTaskLog) SetReplicationTaskArn(v string) *ReplicationInstanceTaskLog {
17825	s.ReplicationTaskArn = &v
17826	return s
17827}
17828
17829// SetReplicationTaskName sets the ReplicationTaskName field's value.
17830func (s *ReplicationInstanceTaskLog) SetReplicationTaskName(v string) *ReplicationInstanceTaskLog {
17831	s.ReplicationTaskName = &v
17832	return s
17833}
17834
17835// Provides information about the values of pending modifications to a replication
17836// instance. This data type is an object of the ReplicationInstance (https://docs.aws.amazon.com/dms/latest/APIReference/API_ReplicationInstance.html)
17837// user-defined data type.
17838type ReplicationPendingModifiedValues struct {
17839	_ struct{} `type:"structure"`
17840
17841	// The amount of storage (in gigabytes) that is allocated for the replication
17842	// instance.
17843	AllocatedStorage *int64 `type:"integer"`
17844
17845	// The engine version number of the replication instance.
17846	EngineVersion *string `type:"string"`
17847
17848	// Specifies whether the replication instance is a Multi-AZ deployment. You
17849	// can't set the AvailabilityZone parameter if the Multi-AZ parameter is set
17850	// to true.
17851	MultiAZ *bool `type:"boolean"`
17852
17853	// The compute and memory capacity of the replication instance as defined for
17854	// the specified replication instance class.
17855	//
17856	// For more information on the settings and capacities for the available replication
17857	// instance classes, see Selecting the right DMS replication instance for your
17858	// migration (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth).
17859	ReplicationInstanceClass *string `type:"string"`
17860}
17861
17862// String returns the string representation.
17863//
17864// API parameter values that are decorated as "sensitive" in the API will not
17865// be included in the string output. The member name will be present, but the
17866// value will be replaced with "sensitive".
17867func (s ReplicationPendingModifiedValues) String() string {
17868	return awsutil.Prettify(s)
17869}
17870
17871// GoString returns the string representation.
17872//
17873// API parameter values that are decorated as "sensitive" in the API will not
17874// be included in the string output. The member name will be present, but the
17875// value will be replaced with "sensitive".
17876func (s ReplicationPendingModifiedValues) GoString() string {
17877	return s.String()
17878}
17879
17880// SetAllocatedStorage sets the AllocatedStorage field's value.
17881func (s *ReplicationPendingModifiedValues) SetAllocatedStorage(v int64) *ReplicationPendingModifiedValues {
17882	s.AllocatedStorage = &v
17883	return s
17884}
17885
17886// SetEngineVersion sets the EngineVersion field's value.
17887func (s *ReplicationPendingModifiedValues) SetEngineVersion(v string) *ReplicationPendingModifiedValues {
17888	s.EngineVersion = &v
17889	return s
17890}
17891
17892// SetMultiAZ sets the MultiAZ field's value.
17893func (s *ReplicationPendingModifiedValues) SetMultiAZ(v bool) *ReplicationPendingModifiedValues {
17894	s.MultiAZ = &v
17895	return s
17896}
17897
17898// SetReplicationInstanceClass sets the ReplicationInstanceClass field's value.
17899func (s *ReplicationPendingModifiedValues) SetReplicationInstanceClass(v string) *ReplicationPendingModifiedValues {
17900	s.ReplicationInstanceClass = &v
17901	return s
17902}
17903
17904// Describes a subnet group in response to a request by the DescribeReplicationSubnetGroups
17905// operation.
17906type ReplicationSubnetGroup struct {
17907	_ struct{} `type:"structure"`
17908
17909	// A description for the replication subnet group.
17910	ReplicationSubnetGroupDescription *string `type:"string"`
17911
17912	// The identifier of the replication instance subnet group.
17913	ReplicationSubnetGroupIdentifier *string `type:"string"`
17914
17915	// The status of the subnet group.
17916	SubnetGroupStatus *string `type:"string"`
17917
17918	// The subnets that are in the subnet group.
17919	Subnets []*Subnet `type:"list"`
17920
17921	// The ID of the VPC.
17922	VpcId *string `type:"string"`
17923}
17924
17925// String returns the string representation.
17926//
17927// API parameter values that are decorated as "sensitive" in the API will not
17928// be included in the string output. The member name will be present, but the
17929// value will be replaced with "sensitive".
17930func (s ReplicationSubnetGroup) String() string {
17931	return awsutil.Prettify(s)
17932}
17933
17934// GoString returns the string representation.
17935//
17936// API parameter values that are decorated as "sensitive" in the API will not
17937// be included in the string output. The member name will be present, but the
17938// value will be replaced with "sensitive".
17939func (s ReplicationSubnetGroup) GoString() string {
17940	return s.String()
17941}
17942
17943// SetReplicationSubnetGroupDescription sets the ReplicationSubnetGroupDescription field's value.
17944func (s *ReplicationSubnetGroup) SetReplicationSubnetGroupDescription(v string) *ReplicationSubnetGroup {
17945	s.ReplicationSubnetGroupDescription = &v
17946	return s
17947}
17948
17949// SetReplicationSubnetGroupIdentifier sets the ReplicationSubnetGroupIdentifier field's value.
17950func (s *ReplicationSubnetGroup) SetReplicationSubnetGroupIdentifier(v string) *ReplicationSubnetGroup {
17951	s.ReplicationSubnetGroupIdentifier = &v
17952	return s
17953}
17954
17955// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
17956func (s *ReplicationSubnetGroup) SetSubnetGroupStatus(v string) *ReplicationSubnetGroup {
17957	s.SubnetGroupStatus = &v
17958	return s
17959}
17960
17961// SetSubnets sets the Subnets field's value.
17962func (s *ReplicationSubnetGroup) SetSubnets(v []*Subnet) *ReplicationSubnetGroup {
17963	s.Subnets = v
17964	return s
17965}
17966
17967// SetVpcId sets the VpcId field's value.
17968func (s *ReplicationSubnetGroup) SetVpcId(v string) *ReplicationSubnetGroup {
17969	s.VpcId = &v
17970	return s
17971}
17972
17973// The replication subnet group does not cover enough Availability Zones (AZs).
17974// Edit the replication subnet group and add more AZs.
17975type ReplicationSubnetGroupDoesNotCoverEnoughAZs struct {
17976	_            struct{}                  `type:"structure"`
17977	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17978
17979	Message_ *string `locationName:"message" type:"string"`
17980}
17981
17982// String returns the string representation.
17983//
17984// API parameter values that are decorated as "sensitive" in the API will not
17985// be included in the string output. The member name will be present, but the
17986// value will be replaced with "sensitive".
17987func (s ReplicationSubnetGroupDoesNotCoverEnoughAZs) String() string {
17988	return awsutil.Prettify(s)
17989}
17990
17991// GoString returns the string representation.
17992//
17993// API parameter values that are decorated as "sensitive" in the API will not
17994// be included in the string output. The member name will be present, but the
17995// value will be replaced with "sensitive".
17996func (s ReplicationSubnetGroupDoesNotCoverEnoughAZs) GoString() string {
17997	return s.String()
17998}
17999
18000func newErrorReplicationSubnetGroupDoesNotCoverEnoughAZs(v protocol.ResponseMetadata) error {
18001	return &ReplicationSubnetGroupDoesNotCoverEnoughAZs{
18002		RespMetadata: v,
18003	}
18004}
18005
18006// Code returns the exception type name.
18007func (s *ReplicationSubnetGroupDoesNotCoverEnoughAZs) Code() string {
18008	return "ReplicationSubnetGroupDoesNotCoverEnoughAZs"
18009}
18010
18011// Message returns the exception's message.
18012func (s *ReplicationSubnetGroupDoesNotCoverEnoughAZs) Message() string {
18013	if s.Message_ != nil {
18014		return *s.Message_
18015	}
18016	return ""
18017}
18018
18019// OrigErr always returns nil, satisfies awserr.Error interface.
18020func (s *ReplicationSubnetGroupDoesNotCoverEnoughAZs) OrigErr() error {
18021	return nil
18022}
18023
18024func (s *ReplicationSubnetGroupDoesNotCoverEnoughAZs) Error() string {
18025	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18026}
18027
18028// Status code returns the HTTP status code for the request's response error.
18029func (s *ReplicationSubnetGroupDoesNotCoverEnoughAZs) StatusCode() int {
18030	return s.RespMetadata.StatusCode
18031}
18032
18033// RequestID returns the service's response RequestID for request.
18034func (s *ReplicationSubnetGroupDoesNotCoverEnoughAZs) RequestID() string {
18035	return s.RespMetadata.RequestID
18036}
18037
18038// Provides information that describes a replication task created by the CreateReplicationTask
18039// operation.
18040type ReplicationTask struct {
18041	_ struct{} `type:"structure"`
18042
18043	// Indicates when you want a change data capture (CDC) operation to start. Use
18044	// either CdcStartPosition or CdcStartTime to specify when you want the CDC
18045	// operation to start. Specifying both values results in an error.
18046	//
18047	// The value can be in date, checkpoint, or LSN/SCN format.
18048	//
18049	// Date Example: --cdc-start-position “2018-03-08T12:12:12”
18050	//
18051	// Checkpoint Example: --cdc-start-position "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93"
18052	//
18053	// LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”
18054	CdcStartPosition *string `type:"string"`
18055
18056	// Indicates when you want a change data capture (CDC) operation to stop. The
18057	// value can be either server time or commit time.
18058	//
18059	// Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”
18060	//
18061	// Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12
18062	// “
18063	CdcStopPosition *string `type:"string"`
18064
18065	// The last error (failure) message generated for the replication task.
18066	LastFailureMessage *string `type:"string"`
18067
18068	// The type of migration.
18069	MigrationType *string `type:"string" enum:"MigrationTypeValue"`
18070
18071	// Indicates the last checkpoint that occurred during a change data capture
18072	// (CDC) operation. You can provide this value to the CdcStartPosition parameter
18073	// to start a CDC operation that begins at that checkpoint.
18074	RecoveryCheckpoint *string `type:"string"`
18075
18076	// The ARN of the replication instance.
18077	ReplicationInstanceArn *string `type:"string"`
18078
18079	// The Amazon Resource Name (ARN) of the replication task.
18080	ReplicationTaskArn *string `type:"string"`
18081
18082	// The date the replication task was created.
18083	ReplicationTaskCreationDate *time.Time `type:"timestamp"`
18084
18085	// The user-assigned replication task identifier or name.
18086	//
18087	// Constraints:
18088	//
18089	//    * Must contain 1-255 alphanumeric characters or hyphens.
18090	//
18091	//    * First character must be a letter.
18092	//
18093	//    * Cannot end with a hyphen or contain two consecutive hyphens.
18094	ReplicationTaskIdentifier *string `type:"string"`
18095
18096	// The settings for the replication task.
18097	ReplicationTaskSettings *string `type:"string"`
18098
18099	// The date the replication task is scheduled to start.
18100	ReplicationTaskStartDate *time.Time `type:"timestamp"`
18101
18102	// The statistics for the task, including elapsed time, tables loaded, and table
18103	// errors.
18104	ReplicationTaskStats *ReplicationTaskStats `type:"structure"`
18105
18106	// The Amazon Resource Name (ARN) that uniquely identifies the endpoint.
18107	SourceEndpointArn *string `type:"string"`
18108
18109	// The status of the replication task. This response parameter can return one
18110	// of the following values:
18111	//
18112	//    * "moving" – The task is being moved in response to running the MoveReplicationTask
18113	//    (https://docs.aws.amazon.com/dms/latest/APIReference/API_MoveReplicationTask.html)
18114	//    operation.
18115	//
18116	//    * "creating" – The task is being created in response to running the
18117	//    CreateReplicationTask (https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationTask.html)
18118	//    operation.
18119	//
18120	//    * "deleting" – The task is being deleted in response to running the
18121	//    DeleteReplicationTask (https://docs.aws.amazon.com/dms/latest/APIReference/API_DeleteReplicationTask.html)
18122	//    operation.
18123	//
18124	//    * "failed" – The task failed to successfully complete the database migration
18125	//    in response to running the StartReplicationTask (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html)
18126	//    operation.
18127	//
18128	//    * "failed-move" – The task failed to move in response to running the
18129	//    MoveReplicationTask (https://docs.aws.amazon.com/dms/latest/APIReference/API_MoveReplicationTask.html)
18130	//    operation.
18131	//
18132	//    * "modifying" – The task definition is being modified in response to
18133	//    running the ModifyReplicationTask (https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyReplicationTask.html)
18134	//    operation.
18135	//
18136	//    * "ready" – The task is in a ready state where it can respond to other
18137	//    task operations, such as StartReplicationTask (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html)
18138	//    or DeleteReplicationTask (https://docs.aws.amazon.com/dms/latest/APIReference/API_DeleteReplicationTask.html).
18139	//
18140	//    * "running" – The task is performing a database migration in response
18141	//    to running the StartReplicationTask (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html)
18142	//    operation.
18143	//
18144	//    * "starting" – The task is preparing to perform a database migration
18145	//    in response to running the StartReplicationTask (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html)
18146	//    operation.
18147	//
18148	//    * "stopped" – The task has stopped in response to running the StopReplicationTask
18149	//    (https://docs.aws.amazon.com/dms/latest/APIReference/API_StopReplicationTask.html)
18150	//    operation.
18151	//
18152	//    * "stopping" – The task is preparing to stop in response to running
18153	//    the StopReplicationTask (https://docs.aws.amazon.com/dms/latest/APIReference/API_StopReplicationTask.html)
18154	//    operation.
18155	//
18156	//    * "testing" – The database migration specified for this task is being
18157	//    tested in response to running either the StartReplicationTaskAssessmentRun
18158	//    (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessmentRun.html)
18159	//    or the StartReplicationTaskAssessment (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessment.html)
18160	//    operation. StartReplicationTaskAssessmentRun (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessmentRun.html)
18161	//    is an improved premigration task assessment operation. The StartReplicationTaskAssessment
18162	//    (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessment.html)
18163	//    operation assesses data type compatibility only between the source and
18164	//    target database of a given migration task. In contrast, StartReplicationTaskAssessmentRun
18165	//    (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessmentRun.html)
18166	//    enables you to specify a variety of premigration task assessments in addition
18167	//    to data type compatibility. These assessments include ones for the validity
18168	//    of primary key definitions and likely issues with database migration performance,
18169	//    among others.
18170	Status *string `type:"string"`
18171
18172	// The reason the replication task was stopped. This response parameter can
18173	// return one of the following values:
18174	//
18175	//    * "STOP_REASON_FULL_LOAD_COMPLETED" – Full-load migration completed.
18176	//
18177	//    * "STOP_REASON_CACHED_CHANGES_APPLIED" – Change data capture (CDC) load
18178	//    completed.
18179	//
18180	//    * "STOP_REASON_CACHED_CHANGES_NOT_APPLIED" – In a full-load and CDC
18181	//    migration, the full load stopped as specified before starting the CDC
18182	//    migration.
18183	//
18184	//    * "STOP_REASON_SERVER_TIME" – The migration stopped at the specified
18185	//    server time.
18186	StopReason *string `type:"string"`
18187
18188	// Table mappings specified in the task.
18189	TableMappings *string `type:"string"`
18190
18191	// The ARN that uniquely identifies the endpoint.
18192	TargetEndpointArn *string `type:"string"`
18193
18194	// The ARN of the replication instance to which this task is moved in response
18195	// to running the MoveReplicationTask (https://docs.aws.amazon.com/dms/latest/APIReference/API_MoveReplicationTask.html)
18196	// operation. Otherwise, this response parameter isn't a member of the ReplicationTask
18197	// object.
18198	TargetReplicationInstanceArn *string `type:"string"`
18199
18200	// Supplemental information that the task requires to migrate the data for certain
18201	// source and target endpoints. For more information, see Specifying Supplemental
18202	// Data for Task Settings (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html)
18203	// in the Database Migration Service User Guide.
18204	TaskData *string `type:"string"`
18205}
18206
18207// String returns the string representation.
18208//
18209// API parameter values that are decorated as "sensitive" in the API will not
18210// be included in the string output. The member name will be present, but the
18211// value will be replaced with "sensitive".
18212func (s ReplicationTask) String() string {
18213	return awsutil.Prettify(s)
18214}
18215
18216// GoString returns the string representation.
18217//
18218// API parameter values that are decorated as "sensitive" in the API will not
18219// be included in the string output. The member name will be present, but the
18220// value will be replaced with "sensitive".
18221func (s ReplicationTask) GoString() string {
18222	return s.String()
18223}
18224
18225// SetCdcStartPosition sets the CdcStartPosition field's value.
18226func (s *ReplicationTask) SetCdcStartPosition(v string) *ReplicationTask {
18227	s.CdcStartPosition = &v
18228	return s
18229}
18230
18231// SetCdcStopPosition sets the CdcStopPosition field's value.
18232func (s *ReplicationTask) SetCdcStopPosition(v string) *ReplicationTask {
18233	s.CdcStopPosition = &v
18234	return s
18235}
18236
18237// SetLastFailureMessage sets the LastFailureMessage field's value.
18238func (s *ReplicationTask) SetLastFailureMessage(v string) *ReplicationTask {
18239	s.LastFailureMessage = &v
18240	return s
18241}
18242
18243// SetMigrationType sets the MigrationType field's value.
18244func (s *ReplicationTask) SetMigrationType(v string) *ReplicationTask {
18245	s.MigrationType = &v
18246	return s
18247}
18248
18249// SetRecoveryCheckpoint sets the RecoveryCheckpoint field's value.
18250func (s *ReplicationTask) SetRecoveryCheckpoint(v string) *ReplicationTask {
18251	s.RecoveryCheckpoint = &v
18252	return s
18253}
18254
18255// SetReplicationInstanceArn sets the ReplicationInstanceArn field's value.
18256func (s *ReplicationTask) SetReplicationInstanceArn(v string) *ReplicationTask {
18257	s.ReplicationInstanceArn = &v
18258	return s
18259}
18260
18261// SetReplicationTaskArn sets the ReplicationTaskArn field's value.
18262func (s *ReplicationTask) SetReplicationTaskArn(v string) *ReplicationTask {
18263	s.ReplicationTaskArn = &v
18264	return s
18265}
18266
18267// SetReplicationTaskCreationDate sets the ReplicationTaskCreationDate field's value.
18268func (s *ReplicationTask) SetReplicationTaskCreationDate(v time.Time) *ReplicationTask {
18269	s.ReplicationTaskCreationDate = &v
18270	return s
18271}
18272
18273// SetReplicationTaskIdentifier sets the ReplicationTaskIdentifier field's value.
18274func (s *ReplicationTask) SetReplicationTaskIdentifier(v string) *ReplicationTask {
18275	s.ReplicationTaskIdentifier = &v
18276	return s
18277}
18278
18279// SetReplicationTaskSettings sets the ReplicationTaskSettings field's value.
18280func (s *ReplicationTask) SetReplicationTaskSettings(v string) *ReplicationTask {
18281	s.ReplicationTaskSettings = &v
18282	return s
18283}
18284
18285// SetReplicationTaskStartDate sets the ReplicationTaskStartDate field's value.
18286func (s *ReplicationTask) SetReplicationTaskStartDate(v time.Time) *ReplicationTask {
18287	s.ReplicationTaskStartDate = &v
18288	return s
18289}
18290
18291// SetReplicationTaskStats sets the ReplicationTaskStats field's value.
18292func (s *ReplicationTask) SetReplicationTaskStats(v *ReplicationTaskStats) *ReplicationTask {
18293	s.ReplicationTaskStats = v
18294	return s
18295}
18296
18297// SetSourceEndpointArn sets the SourceEndpointArn field's value.
18298func (s *ReplicationTask) SetSourceEndpointArn(v string) *ReplicationTask {
18299	s.SourceEndpointArn = &v
18300	return s
18301}
18302
18303// SetStatus sets the Status field's value.
18304func (s *ReplicationTask) SetStatus(v string) *ReplicationTask {
18305	s.Status = &v
18306	return s
18307}
18308
18309// SetStopReason sets the StopReason field's value.
18310func (s *ReplicationTask) SetStopReason(v string) *ReplicationTask {
18311	s.StopReason = &v
18312	return s
18313}
18314
18315// SetTableMappings sets the TableMappings field's value.
18316func (s *ReplicationTask) SetTableMappings(v string) *ReplicationTask {
18317	s.TableMappings = &v
18318	return s
18319}
18320
18321// SetTargetEndpointArn sets the TargetEndpointArn field's value.
18322func (s *ReplicationTask) SetTargetEndpointArn(v string) *ReplicationTask {
18323	s.TargetEndpointArn = &v
18324	return s
18325}
18326
18327// SetTargetReplicationInstanceArn sets the TargetReplicationInstanceArn field's value.
18328func (s *ReplicationTask) SetTargetReplicationInstanceArn(v string) *ReplicationTask {
18329	s.TargetReplicationInstanceArn = &v
18330	return s
18331}
18332
18333// SetTaskData sets the TaskData field's value.
18334func (s *ReplicationTask) SetTaskData(v string) *ReplicationTask {
18335	s.TaskData = &v
18336	return s
18337}
18338
18339// The task assessment report in JSON format.
18340type ReplicationTaskAssessmentResult struct {
18341	_ struct{} `type:"structure"`
18342
18343	// The task assessment results in JSON format.
18344	//
18345	// The response object only contains this field if you provide DescribeReplicationTaskAssessmentResultsMessage$ReplicationTaskArn
18346	// in the request.
18347	AssessmentResults *string `type:"string"`
18348
18349	// The file containing the results of the task assessment.
18350	AssessmentResultsFile *string `type:"string"`
18351
18352	// The status of the task assessment.
18353	AssessmentStatus *string `type:"string"`
18354
18355	// The Amazon Resource Name (ARN) of the replication task.
18356	ReplicationTaskArn *string `type:"string"`
18357
18358	// The replication task identifier of the task on which the task assessment
18359	// was run.
18360	ReplicationTaskIdentifier *string `type:"string"`
18361
18362	// The date the task assessment was completed.
18363	ReplicationTaskLastAssessmentDate *time.Time `type:"timestamp"`
18364
18365	// The URL of the S3 object containing the task assessment results.
18366	//
18367	// The response object only contains this field if you provide DescribeReplicationTaskAssessmentResultsMessage$ReplicationTaskArn
18368	// in the request.
18369	S3ObjectUrl *string `type:"string"`
18370}
18371
18372// String returns the string representation.
18373//
18374// API parameter values that are decorated as "sensitive" in the API will not
18375// be included in the string output. The member name will be present, but the
18376// value will be replaced with "sensitive".
18377func (s ReplicationTaskAssessmentResult) String() string {
18378	return awsutil.Prettify(s)
18379}
18380
18381// GoString returns the string representation.
18382//
18383// API parameter values that are decorated as "sensitive" in the API will not
18384// be included in the string output. The member name will be present, but the
18385// value will be replaced with "sensitive".
18386func (s ReplicationTaskAssessmentResult) GoString() string {
18387	return s.String()
18388}
18389
18390// SetAssessmentResults sets the AssessmentResults field's value.
18391func (s *ReplicationTaskAssessmentResult) SetAssessmentResults(v string) *ReplicationTaskAssessmentResult {
18392	s.AssessmentResults = &v
18393	return s
18394}
18395
18396// SetAssessmentResultsFile sets the AssessmentResultsFile field's value.
18397func (s *ReplicationTaskAssessmentResult) SetAssessmentResultsFile(v string) *ReplicationTaskAssessmentResult {
18398	s.AssessmentResultsFile = &v
18399	return s
18400}
18401
18402// SetAssessmentStatus sets the AssessmentStatus field's value.
18403func (s *ReplicationTaskAssessmentResult) SetAssessmentStatus(v string) *ReplicationTaskAssessmentResult {
18404	s.AssessmentStatus = &v
18405	return s
18406}
18407
18408// SetReplicationTaskArn sets the ReplicationTaskArn field's value.
18409func (s *ReplicationTaskAssessmentResult) SetReplicationTaskArn(v string) *ReplicationTaskAssessmentResult {
18410	s.ReplicationTaskArn = &v
18411	return s
18412}
18413
18414// SetReplicationTaskIdentifier sets the ReplicationTaskIdentifier field's value.
18415func (s *ReplicationTaskAssessmentResult) SetReplicationTaskIdentifier(v string) *ReplicationTaskAssessmentResult {
18416	s.ReplicationTaskIdentifier = &v
18417	return s
18418}
18419
18420// SetReplicationTaskLastAssessmentDate sets the ReplicationTaskLastAssessmentDate field's value.
18421func (s *ReplicationTaskAssessmentResult) SetReplicationTaskLastAssessmentDate(v time.Time) *ReplicationTaskAssessmentResult {
18422	s.ReplicationTaskLastAssessmentDate = &v
18423	return s
18424}
18425
18426// SetS3ObjectUrl sets the S3ObjectUrl field's value.
18427func (s *ReplicationTaskAssessmentResult) SetS3ObjectUrl(v string) *ReplicationTaskAssessmentResult {
18428	s.S3ObjectUrl = &v
18429	return s
18430}
18431
18432// Provides information that describes a premigration assessment run that you
18433// have started using the StartReplicationTaskAssessmentRun operation.
18434//
18435// Some of the information appears based on other operations that can return
18436// the ReplicationTaskAssessmentRun object.
18437type ReplicationTaskAssessmentRun struct {
18438	_ struct{} `type:"structure"`
18439
18440	// Indication of the completion progress for the individual assessments specified
18441	// to run.
18442	AssessmentProgress *ReplicationTaskAssessmentRunProgress `type:"structure"`
18443
18444	// Unique name of the assessment run.
18445	AssessmentRunName *string `type:"string"`
18446
18447	// Last message generated by an individual assessment failure.
18448	LastFailureMessage *string `type:"string"`
18449
18450	// ARN of the migration task associated with this premigration assessment run.
18451	ReplicationTaskArn *string `type:"string"`
18452
18453	// Amazon Resource Name (ARN) of this assessment run.
18454	ReplicationTaskAssessmentRunArn *string `type:"string"`
18455
18456	// Date on which the assessment run was created using the StartReplicationTaskAssessmentRun
18457	// operation.
18458	ReplicationTaskAssessmentRunCreationDate *time.Time `type:"timestamp"`
18459
18460	// Encryption mode used to encrypt the assessment run results.
18461	ResultEncryptionMode *string `type:"string"`
18462
18463	// ARN of the KMS encryption key used to encrypt the assessment run results.
18464	ResultKmsKeyArn *string `type:"string"`
18465
18466	// Amazon S3 bucket where DMS stores the results of this assessment run.
18467	ResultLocationBucket *string `type:"string"`
18468
18469	// Folder in an Amazon S3 bucket where DMS stores the results of this assessment
18470	// run.
18471	ResultLocationFolder *string `type:"string"`
18472
18473	// ARN of the service role used to start the assessment run using the StartReplicationTaskAssessmentRun
18474	// operation. The role must allow the iam:PassRole action.
18475	ServiceAccessRoleArn *string `type:"string"`
18476
18477	// Assessment run status.
18478	//
18479	// This status can have one of the following values:
18480	//
18481	//    * "cancelling" – The assessment run was canceled by the CancelReplicationTaskAssessmentRun
18482	//    operation.
18483	//
18484	//    * "deleting" – The assessment run was deleted by the DeleteReplicationTaskAssessmentRun
18485	//    operation.
18486	//
18487	//    * "failed" – At least one individual assessment completed with a failed
18488	//    status.
18489	//
18490	//    * "error-provisioning" – An internal error occurred while resources
18491	//    were provisioned (during provisioning status).
18492	//
18493	//    * "error-executing" – An internal error occurred while individual assessments
18494	//    ran (during running status).
18495	//
18496	//    * "invalid state" – The assessment run is in an unknown state.
18497	//
18498	//    * "passed" – All individual assessments have completed, and none has
18499	//    a failed status.
18500	//
18501	//    * "provisioning" – Resources required to run individual assessments
18502	//    are being provisioned.
18503	//
18504	//    * "running" – Individual assessments are being run.
18505	//
18506	//    * "starting" – The assessment run is starting, but resources are not
18507	//    yet being provisioned for individual assessments.
18508	Status *string `type:"string"`
18509}
18510
18511// String returns the string representation.
18512//
18513// API parameter values that are decorated as "sensitive" in the API will not
18514// be included in the string output. The member name will be present, but the
18515// value will be replaced with "sensitive".
18516func (s ReplicationTaskAssessmentRun) String() string {
18517	return awsutil.Prettify(s)
18518}
18519
18520// GoString returns the string representation.
18521//
18522// API parameter values that are decorated as "sensitive" in the API will not
18523// be included in the string output. The member name will be present, but the
18524// value will be replaced with "sensitive".
18525func (s ReplicationTaskAssessmentRun) GoString() string {
18526	return s.String()
18527}
18528
18529// SetAssessmentProgress sets the AssessmentProgress field's value.
18530func (s *ReplicationTaskAssessmentRun) SetAssessmentProgress(v *ReplicationTaskAssessmentRunProgress) *ReplicationTaskAssessmentRun {
18531	s.AssessmentProgress = v
18532	return s
18533}
18534
18535// SetAssessmentRunName sets the AssessmentRunName field's value.
18536func (s *ReplicationTaskAssessmentRun) SetAssessmentRunName(v string) *ReplicationTaskAssessmentRun {
18537	s.AssessmentRunName = &v
18538	return s
18539}
18540
18541// SetLastFailureMessage sets the LastFailureMessage field's value.
18542func (s *ReplicationTaskAssessmentRun) SetLastFailureMessage(v string) *ReplicationTaskAssessmentRun {
18543	s.LastFailureMessage = &v
18544	return s
18545}
18546
18547// SetReplicationTaskArn sets the ReplicationTaskArn field's value.
18548func (s *ReplicationTaskAssessmentRun) SetReplicationTaskArn(v string) *ReplicationTaskAssessmentRun {
18549	s.ReplicationTaskArn = &v
18550	return s
18551}
18552
18553// SetReplicationTaskAssessmentRunArn sets the ReplicationTaskAssessmentRunArn field's value.
18554func (s *ReplicationTaskAssessmentRun) SetReplicationTaskAssessmentRunArn(v string) *ReplicationTaskAssessmentRun {
18555	s.ReplicationTaskAssessmentRunArn = &v
18556	return s
18557}
18558
18559// SetReplicationTaskAssessmentRunCreationDate sets the ReplicationTaskAssessmentRunCreationDate field's value.
18560func (s *ReplicationTaskAssessmentRun) SetReplicationTaskAssessmentRunCreationDate(v time.Time) *ReplicationTaskAssessmentRun {
18561	s.ReplicationTaskAssessmentRunCreationDate = &v
18562	return s
18563}
18564
18565// SetResultEncryptionMode sets the ResultEncryptionMode field's value.
18566func (s *ReplicationTaskAssessmentRun) SetResultEncryptionMode(v string) *ReplicationTaskAssessmentRun {
18567	s.ResultEncryptionMode = &v
18568	return s
18569}
18570
18571// SetResultKmsKeyArn sets the ResultKmsKeyArn field's value.
18572func (s *ReplicationTaskAssessmentRun) SetResultKmsKeyArn(v string) *ReplicationTaskAssessmentRun {
18573	s.ResultKmsKeyArn = &v
18574	return s
18575}
18576
18577// SetResultLocationBucket sets the ResultLocationBucket field's value.
18578func (s *ReplicationTaskAssessmentRun) SetResultLocationBucket(v string) *ReplicationTaskAssessmentRun {
18579	s.ResultLocationBucket = &v
18580	return s
18581}
18582
18583// SetResultLocationFolder sets the ResultLocationFolder field's value.
18584func (s *ReplicationTaskAssessmentRun) SetResultLocationFolder(v string) *ReplicationTaskAssessmentRun {
18585	s.ResultLocationFolder = &v
18586	return s
18587}
18588
18589// SetServiceAccessRoleArn sets the ServiceAccessRoleArn field's value.
18590func (s *ReplicationTaskAssessmentRun) SetServiceAccessRoleArn(v string) *ReplicationTaskAssessmentRun {
18591	s.ServiceAccessRoleArn = &v
18592	return s
18593}
18594
18595// SetStatus sets the Status field's value.
18596func (s *ReplicationTaskAssessmentRun) SetStatus(v string) *ReplicationTaskAssessmentRun {
18597	s.Status = &v
18598	return s
18599}
18600
18601// The progress values reported by the AssessmentProgress response element.
18602type ReplicationTaskAssessmentRunProgress struct {
18603	_ struct{} `type:"structure"`
18604
18605	// The number of individual assessments that have completed, successfully or
18606	// not.
18607	IndividualAssessmentCompletedCount *int64 `type:"integer"`
18608
18609	// The number of individual assessments that are specified to run.
18610	IndividualAssessmentCount *int64 `type:"integer"`
18611}
18612
18613// String returns the string representation.
18614//
18615// API parameter values that are decorated as "sensitive" in the API will not
18616// be included in the string output. The member name will be present, but the
18617// value will be replaced with "sensitive".
18618func (s ReplicationTaskAssessmentRunProgress) String() string {
18619	return awsutil.Prettify(s)
18620}
18621
18622// GoString returns the string representation.
18623//
18624// API parameter values that are decorated as "sensitive" in the API will not
18625// be included in the string output. The member name will be present, but the
18626// value will be replaced with "sensitive".
18627func (s ReplicationTaskAssessmentRunProgress) GoString() string {
18628	return s.String()
18629}
18630
18631// SetIndividualAssessmentCompletedCount sets the IndividualAssessmentCompletedCount field's value.
18632func (s *ReplicationTaskAssessmentRunProgress) SetIndividualAssessmentCompletedCount(v int64) *ReplicationTaskAssessmentRunProgress {
18633	s.IndividualAssessmentCompletedCount = &v
18634	return s
18635}
18636
18637// SetIndividualAssessmentCount sets the IndividualAssessmentCount field's value.
18638func (s *ReplicationTaskAssessmentRunProgress) SetIndividualAssessmentCount(v int64) *ReplicationTaskAssessmentRunProgress {
18639	s.IndividualAssessmentCount = &v
18640	return s
18641}
18642
18643// Provides information that describes an individual assessment from a premigration
18644// assessment run.
18645type ReplicationTaskIndividualAssessment struct {
18646	_ struct{} `type:"structure"`
18647
18648	// Name of this individual assessment.
18649	IndividualAssessmentName *string `type:"string"`
18650
18651	// ARN of the premigration assessment run that is created to run this individual
18652	// assessment.
18653	ReplicationTaskAssessmentRunArn *string `type:"string"`
18654
18655	// Amazon Resource Name (ARN) of this individual assessment.
18656	ReplicationTaskIndividualAssessmentArn *string `type:"string"`
18657
18658	// Date when this individual assessment was started as part of running the StartReplicationTaskAssessmentRun
18659	// operation.
18660	ReplicationTaskIndividualAssessmentStartDate *time.Time `type:"timestamp"`
18661
18662	// Individual assessment status.
18663	//
18664	// This status can have one of the following values:
18665	//
18666	//    * "cancelled"
18667	//
18668	//    * "error"
18669	//
18670	//    * "failed"
18671	//
18672	//    * "passed"
18673	//
18674	//    * "pending"
18675	//
18676	//    * "running"
18677	Status *string `type:"string"`
18678}
18679
18680// String returns the string representation.
18681//
18682// API parameter values that are decorated as "sensitive" in the API will not
18683// be included in the string output. The member name will be present, but the
18684// value will be replaced with "sensitive".
18685func (s ReplicationTaskIndividualAssessment) String() string {
18686	return awsutil.Prettify(s)
18687}
18688
18689// GoString returns the string representation.
18690//
18691// API parameter values that are decorated as "sensitive" in the API will not
18692// be included in the string output. The member name will be present, but the
18693// value will be replaced with "sensitive".
18694func (s ReplicationTaskIndividualAssessment) GoString() string {
18695	return s.String()
18696}
18697
18698// SetIndividualAssessmentName sets the IndividualAssessmentName field's value.
18699func (s *ReplicationTaskIndividualAssessment) SetIndividualAssessmentName(v string) *ReplicationTaskIndividualAssessment {
18700	s.IndividualAssessmentName = &v
18701	return s
18702}
18703
18704// SetReplicationTaskAssessmentRunArn sets the ReplicationTaskAssessmentRunArn field's value.
18705func (s *ReplicationTaskIndividualAssessment) SetReplicationTaskAssessmentRunArn(v string) *ReplicationTaskIndividualAssessment {
18706	s.ReplicationTaskAssessmentRunArn = &v
18707	return s
18708}
18709
18710// SetReplicationTaskIndividualAssessmentArn sets the ReplicationTaskIndividualAssessmentArn field's value.
18711func (s *ReplicationTaskIndividualAssessment) SetReplicationTaskIndividualAssessmentArn(v string) *ReplicationTaskIndividualAssessment {
18712	s.ReplicationTaskIndividualAssessmentArn = &v
18713	return s
18714}
18715
18716// SetReplicationTaskIndividualAssessmentStartDate sets the ReplicationTaskIndividualAssessmentStartDate field's value.
18717func (s *ReplicationTaskIndividualAssessment) SetReplicationTaskIndividualAssessmentStartDate(v time.Time) *ReplicationTaskIndividualAssessment {
18718	s.ReplicationTaskIndividualAssessmentStartDate = &v
18719	return s
18720}
18721
18722// SetStatus sets the Status field's value.
18723func (s *ReplicationTaskIndividualAssessment) SetStatus(v string) *ReplicationTaskIndividualAssessment {
18724	s.Status = &v
18725	return s
18726}
18727
18728// In response to a request by the DescribeReplicationTasks operation, this
18729// object provides a collection of statistics about a replication task.
18730type ReplicationTaskStats struct {
18731	_ struct{} `type:"structure"`
18732
18733	// The elapsed time of the task, in milliseconds.
18734	ElapsedTimeMillis *int64 `type:"long"`
18735
18736	// The date the replication task was started either with a fresh start or a
18737	// target reload.
18738	FreshStartDate *time.Time `type:"timestamp"`
18739
18740	// The date the replication task full load was completed.
18741	FullLoadFinishDate *time.Time `type:"timestamp"`
18742
18743	// The percent complete for the full load migration task.
18744	FullLoadProgressPercent *int64 `type:"integer"`
18745
18746	// The date the replication task full load was started.
18747	FullLoadStartDate *time.Time `type:"timestamp"`
18748
18749	// The date the replication task was started either with a fresh start or a
18750	// resume. For more information, see StartReplicationTaskType (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html#DMS-StartReplicationTask-request-StartReplicationTaskType).
18751	StartDate *time.Time `type:"timestamp"`
18752
18753	// The date the replication task was stopped.
18754	StopDate *time.Time `type:"timestamp"`
18755
18756	// The number of errors that have occurred during this task.
18757	TablesErrored *int64 `type:"integer"`
18758
18759	// The number of tables loaded for this task.
18760	TablesLoaded *int64 `type:"integer"`
18761
18762	// The number of tables currently loading for this task.
18763	TablesLoading *int64 `type:"integer"`
18764
18765	// The number of tables queued for this task.
18766	TablesQueued *int64 `type:"integer"`
18767}
18768
18769// String returns the string representation.
18770//
18771// API parameter values that are decorated as "sensitive" in the API will not
18772// be included in the string output. The member name will be present, but the
18773// value will be replaced with "sensitive".
18774func (s ReplicationTaskStats) String() string {
18775	return awsutil.Prettify(s)
18776}
18777
18778// GoString returns the string representation.
18779//
18780// API parameter values that are decorated as "sensitive" in the API will not
18781// be included in the string output. The member name will be present, but the
18782// value will be replaced with "sensitive".
18783func (s ReplicationTaskStats) GoString() string {
18784	return s.String()
18785}
18786
18787// SetElapsedTimeMillis sets the ElapsedTimeMillis field's value.
18788func (s *ReplicationTaskStats) SetElapsedTimeMillis(v int64) *ReplicationTaskStats {
18789	s.ElapsedTimeMillis = &v
18790	return s
18791}
18792
18793// SetFreshStartDate sets the FreshStartDate field's value.
18794func (s *ReplicationTaskStats) SetFreshStartDate(v time.Time) *ReplicationTaskStats {
18795	s.FreshStartDate = &v
18796	return s
18797}
18798
18799// SetFullLoadFinishDate sets the FullLoadFinishDate field's value.
18800func (s *ReplicationTaskStats) SetFullLoadFinishDate(v time.Time) *ReplicationTaskStats {
18801	s.FullLoadFinishDate = &v
18802	return s
18803}
18804
18805// SetFullLoadProgressPercent sets the FullLoadProgressPercent field's value.
18806func (s *ReplicationTaskStats) SetFullLoadProgressPercent(v int64) *ReplicationTaskStats {
18807	s.FullLoadProgressPercent = &v
18808	return s
18809}
18810
18811// SetFullLoadStartDate sets the FullLoadStartDate field's value.
18812func (s *ReplicationTaskStats) SetFullLoadStartDate(v time.Time) *ReplicationTaskStats {
18813	s.FullLoadStartDate = &v
18814	return s
18815}
18816
18817// SetStartDate sets the StartDate field's value.
18818func (s *ReplicationTaskStats) SetStartDate(v time.Time) *ReplicationTaskStats {
18819	s.StartDate = &v
18820	return s
18821}
18822
18823// SetStopDate sets the StopDate field's value.
18824func (s *ReplicationTaskStats) SetStopDate(v time.Time) *ReplicationTaskStats {
18825	s.StopDate = &v
18826	return s
18827}
18828
18829// SetTablesErrored sets the TablesErrored field's value.
18830func (s *ReplicationTaskStats) SetTablesErrored(v int64) *ReplicationTaskStats {
18831	s.TablesErrored = &v
18832	return s
18833}
18834
18835// SetTablesLoaded sets the TablesLoaded field's value.
18836func (s *ReplicationTaskStats) SetTablesLoaded(v int64) *ReplicationTaskStats {
18837	s.TablesLoaded = &v
18838	return s
18839}
18840
18841// SetTablesLoading sets the TablesLoading field's value.
18842func (s *ReplicationTaskStats) SetTablesLoading(v int64) *ReplicationTaskStats {
18843	s.TablesLoading = &v
18844	return s
18845}
18846
18847// SetTablesQueued sets the TablesQueued field's value.
18848func (s *ReplicationTaskStats) SetTablesQueued(v int64) *ReplicationTaskStats {
18849	s.TablesQueued = &v
18850	return s
18851}
18852
18853// The resource you are attempting to create already exists.
18854type ResourceAlreadyExistsFault struct {
18855	_            struct{}                  `type:"structure"`
18856	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18857
18858	Message_ *string `locationName:"message" type:"string"`
18859
18860	ResourceArn *string `locationName:"resourceArn" type:"string"`
18861}
18862
18863// String returns the string representation.
18864//
18865// API parameter values that are decorated as "sensitive" in the API will not
18866// be included in the string output. The member name will be present, but the
18867// value will be replaced with "sensitive".
18868func (s ResourceAlreadyExistsFault) String() string {
18869	return awsutil.Prettify(s)
18870}
18871
18872// GoString returns the string representation.
18873//
18874// API parameter values that are decorated as "sensitive" in the API will not
18875// be included in the string output. The member name will be present, but the
18876// value will be replaced with "sensitive".
18877func (s ResourceAlreadyExistsFault) GoString() string {
18878	return s.String()
18879}
18880
18881func newErrorResourceAlreadyExistsFault(v protocol.ResponseMetadata) error {
18882	return &ResourceAlreadyExistsFault{
18883		RespMetadata: v,
18884	}
18885}
18886
18887// Code returns the exception type name.
18888func (s *ResourceAlreadyExistsFault) Code() string {
18889	return "ResourceAlreadyExistsFault"
18890}
18891
18892// Message returns the exception's message.
18893func (s *ResourceAlreadyExistsFault) Message() string {
18894	if s.Message_ != nil {
18895		return *s.Message_
18896	}
18897	return ""
18898}
18899
18900// OrigErr always returns nil, satisfies awserr.Error interface.
18901func (s *ResourceAlreadyExistsFault) OrigErr() error {
18902	return nil
18903}
18904
18905func (s *ResourceAlreadyExistsFault) Error() string {
18906	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
18907}
18908
18909// Status code returns the HTTP status code for the request's response error.
18910func (s *ResourceAlreadyExistsFault) StatusCode() int {
18911	return s.RespMetadata.StatusCode
18912}
18913
18914// RequestID returns the service's response RequestID for request.
18915func (s *ResourceAlreadyExistsFault) RequestID() string {
18916	return s.RespMetadata.RequestID
18917}
18918
18919// The resource could not be found.
18920type ResourceNotFoundFault struct {
18921	_            struct{}                  `type:"structure"`
18922	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18923
18924	Message_ *string `locationName:"message" type:"string"`
18925}
18926
18927// String returns the string representation.
18928//
18929// API parameter values that are decorated as "sensitive" in the API will not
18930// be included in the string output. The member name will be present, but the
18931// value will be replaced with "sensitive".
18932func (s ResourceNotFoundFault) String() string {
18933	return awsutil.Prettify(s)
18934}
18935
18936// GoString returns the string representation.
18937//
18938// API parameter values that are decorated as "sensitive" in the API will not
18939// be included in the string output. The member name will be present, but the
18940// value will be replaced with "sensitive".
18941func (s ResourceNotFoundFault) GoString() string {
18942	return s.String()
18943}
18944
18945func newErrorResourceNotFoundFault(v protocol.ResponseMetadata) error {
18946	return &ResourceNotFoundFault{
18947		RespMetadata: v,
18948	}
18949}
18950
18951// Code returns the exception type name.
18952func (s *ResourceNotFoundFault) Code() string {
18953	return "ResourceNotFoundFault"
18954}
18955
18956// Message returns the exception's message.
18957func (s *ResourceNotFoundFault) Message() string {
18958	if s.Message_ != nil {
18959		return *s.Message_
18960	}
18961	return ""
18962}
18963
18964// OrigErr always returns nil, satisfies awserr.Error interface.
18965func (s *ResourceNotFoundFault) OrigErr() error {
18966	return nil
18967}
18968
18969func (s *ResourceNotFoundFault) Error() string {
18970	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18971}
18972
18973// Status code returns the HTTP status code for the request's response error.
18974func (s *ResourceNotFoundFault) StatusCode() int {
18975	return s.RespMetadata.StatusCode
18976}
18977
18978// RequestID returns the service's response RequestID for request.
18979func (s *ResourceNotFoundFault) RequestID() string {
18980	return s.RespMetadata.RequestID
18981}
18982
18983// Identifies an DMS resource and any pending actions for it.
18984type ResourcePendingMaintenanceActions struct {
18985	_ struct{} `type:"structure"`
18986
18987	// Detailed information about the pending maintenance action.
18988	PendingMaintenanceActionDetails []*PendingMaintenanceAction `type:"list"`
18989
18990	// The Amazon Resource Name (ARN) of the DMS resource that the pending maintenance
18991	// action applies to. For information about creating an ARN, see Constructing
18992	// an Amazon Resource Name (ARN) for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.AWS.ARN.html)
18993	// in the DMS documentation.
18994	ResourceIdentifier *string `type:"string"`
18995}
18996
18997// String returns the string representation.
18998//
18999// API parameter values that are decorated as "sensitive" in the API will not
19000// be included in the string output. The member name will be present, but the
19001// value will be replaced with "sensitive".
19002func (s ResourcePendingMaintenanceActions) String() string {
19003	return awsutil.Prettify(s)
19004}
19005
19006// GoString returns the string representation.
19007//
19008// API parameter values that are decorated as "sensitive" in the API will not
19009// be included in the string output. The member name will be present, but the
19010// value will be replaced with "sensitive".
19011func (s ResourcePendingMaintenanceActions) GoString() string {
19012	return s.String()
19013}
19014
19015// SetPendingMaintenanceActionDetails sets the PendingMaintenanceActionDetails field's value.
19016func (s *ResourcePendingMaintenanceActions) SetPendingMaintenanceActionDetails(v []*PendingMaintenanceAction) *ResourcePendingMaintenanceActions {
19017	s.PendingMaintenanceActionDetails = v
19018	return s
19019}
19020
19021// SetResourceIdentifier sets the ResourceIdentifier field's value.
19022func (s *ResourcePendingMaintenanceActions) SetResourceIdentifier(v string) *ResourcePendingMaintenanceActions {
19023	s.ResourceIdentifier = &v
19024	return s
19025}
19026
19027// The quota for this resource quota has been exceeded.
19028type ResourceQuotaExceededFault struct {
19029	_            struct{}                  `type:"structure"`
19030	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19031
19032	Message_ *string `locationName:"message" type:"string"`
19033}
19034
19035// String returns the string representation.
19036//
19037// API parameter values that are decorated as "sensitive" in the API will not
19038// be included in the string output. The member name will be present, but the
19039// value will be replaced with "sensitive".
19040func (s ResourceQuotaExceededFault) String() string {
19041	return awsutil.Prettify(s)
19042}
19043
19044// GoString returns the string representation.
19045//
19046// API parameter values that are decorated as "sensitive" in the API will not
19047// be included in the string output. The member name will be present, but the
19048// value will be replaced with "sensitive".
19049func (s ResourceQuotaExceededFault) GoString() string {
19050	return s.String()
19051}
19052
19053func newErrorResourceQuotaExceededFault(v protocol.ResponseMetadata) error {
19054	return &ResourceQuotaExceededFault{
19055		RespMetadata: v,
19056	}
19057}
19058
19059// Code returns the exception type name.
19060func (s *ResourceQuotaExceededFault) Code() string {
19061	return "ResourceQuotaExceededFault"
19062}
19063
19064// Message returns the exception's message.
19065func (s *ResourceQuotaExceededFault) Message() string {
19066	if s.Message_ != nil {
19067		return *s.Message_
19068	}
19069	return ""
19070}
19071
19072// OrigErr always returns nil, satisfies awserr.Error interface.
19073func (s *ResourceQuotaExceededFault) OrigErr() error {
19074	return nil
19075}
19076
19077func (s *ResourceQuotaExceededFault) Error() string {
19078	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19079}
19080
19081// Status code returns the HTTP status code for the request's response error.
19082func (s *ResourceQuotaExceededFault) StatusCode() int {
19083	return s.RespMetadata.StatusCode
19084}
19085
19086// RequestID returns the service's response RequestID for request.
19087func (s *ResourceQuotaExceededFault) RequestID() string {
19088	return s.RespMetadata.RequestID
19089}
19090
19091// Insufficient privileges are preventing access to an Amazon S3 object.
19092type S3AccessDeniedFault struct {
19093	_            struct{}                  `type:"structure"`
19094	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19095
19096	Message_ *string `locationName:"message" type:"string"`
19097}
19098
19099// String returns the string representation.
19100//
19101// API parameter values that are decorated as "sensitive" in the API will not
19102// be included in the string output. The member name will be present, but the
19103// value will be replaced with "sensitive".
19104func (s S3AccessDeniedFault) String() string {
19105	return awsutil.Prettify(s)
19106}
19107
19108// GoString returns the string representation.
19109//
19110// API parameter values that are decorated as "sensitive" in the API will not
19111// be included in the string output. The member name will be present, but the
19112// value will be replaced with "sensitive".
19113func (s S3AccessDeniedFault) GoString() string {
19114	return s.String()
19115}
19116
19117func newErrorS3AccessDeniedFault(v protocol.ResponseMetadata) error {
19118	return &S3AccessDeniedFault{
19119		RespMetadata: v,
19120	}
19121}
19122
19123// Code returns the exception type name.
19124func (s *S3AccessDeniedFault) Code() string {
19125	return "S3AccessDeniedFault"
19126}
19127
19128// Message returns the exception's message.
19129func (s *S3AccessDeniedFault) Message() string {
19130	if s.Message_ != nil {
19131		return *s.Message_
19132	}
19133	return ""
19134}
19135
19136// OrigErr always returns nil, satisfies awserr.Error interface.
19137func (s *S3AccessDeniedFault) OrigErr() error {
19138	return nil
19139}
19140
19141func (s *S3AccessDeniedFault) Error() string {
19142	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19143}
19144
19145// Status code returns the HTTP status code for the request's response error.
19146func (s *S3AccessDeniedFault) StatusCode() int {
19147	return s.RespMetadata.StatusCode
19148}
19149
19150// RequestID returns the service's response RequestID for request.
19151func (s *S3AccessDeniedFault) RequestID() string {
19152	return s.RespMetadata.RequestID
19153}
19154
19155// A specified Amazon S3 bucket, bucket folder, or other object can't be found.
19156type S3ResourceNotFoundFault struct {
19157	_            struct{}                  `type:"structure"`
19158	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19159
19160	Message_ *string `locationName:"message" type:"string"`
19161}
19162
19163// String returns the string representation.
19164//
19165// API parameter values that are decorated as "sensitive" in the API will not
19166// be included in the string output. The member name will be present, but the
19167// value will be replaced with "sensitive".
19168func (s S3ResourceNotFoundFault) String() string {
19169	return awsutil.Prettify(s)
19170}
19171
19172// GoString returns the string representation.
19173//
19174// API parameter values that are decorated as "sensitive" in the API will not
19175// be included in the string output. The member name will be present, but the
19176// value will be replaced with "sensitive".
19177func (s S3ResourceNotFoundFault) GoString() string {
19178	return s.String()
19179}
19180
19181func newErrorS3ResourceNotFoundFault(v protocol.ResponseMetadata) error {
19182	return &S3ResourceNotFoundFault{
19183		RespMetadata: v,
19184	}
19185}
19186
19187// Code returns the exception type name.
19188func (s *S3ResourceNotFoundFault) Code() string {
19189	return "S3ResourceNotFoundFault"
19190}
19191
19192// Message returns the exception's message.
19193func (s *S3ResourceNotFoundFault) Message() string {
19194	if s.Message_ != nil {
19195		return *s.Message_
19196	}
19197	return ""
19198}
19199
19200// OrigErr always returns nil, satisfies awserr.Error interface.
19201func (s *S3ResourceNotFoundFault) OrigErr() error {
19202	return nil
19203}
19204
19205func (s *S3ResourceNotFoundFault) Error() string {
19206	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19207}
19208
19209// Status code returns the HTTP status code for the request's response error.
19210func (s *S3ResourceNotFoundFault) StatusCode() int {
19211	return s.RespMetadata.StatusCode
19212}
19213
19214// RequestID returns the service's response RequestID for request.
19215func (s *S3ResourceNotFoundFault) RequestID() string {
19216	return s.RespMetadata.RequestID
19217}
19218
19219// Settings for exporting data to Amazon S3.
19220type S3Settings struct {
19221	_ struct{} `type:"structure"`
19222
19223	// An optional parameter that, when set to true or y, you can use to add column
19224	// name information to the .csv output file.
19225	//
19226	// The default value is false. Valid values are true, false, y, and n.
19227	AddColumnName *bool `type:"boolean"`
19228
19229	// An optional parameter to set a folder name in the S3 bucket. If provided,
19230	// tables are created in the path bucketFolder/schema_name/table_name/. If this
19231	// parameter isn't specified, then the path used is schema_name/table_name/.
19232	BucketFolder *string `type:"string"`
19233
19234	// The name of the S3 bucket.
19235	BucketName *string `type:"string"`
19236
19237	// A value that enables DMS to specify a predefined (canned) access control
19238	// list for objects created in an Amazon S3 bucket as .csv or .parquet files.
19239	// For more information about Amazon S3 canned ACLs, see Canned ACL (http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl)
19240	// in the Amazon S3 Developer Guide.
19241	//
19242	// The default value is NONE. Valid values include NONE, PRIVATE, PUBLIC_READ,
19243	// PUBLIC_READ_WRITE, AUTHENTICATED_READ, AWS_EXEC_READ, BUCKET_OWNER_READ,
19244	// and BUCKET_OWNER_FULL_CONTROL.
19245	CannedAclForObjects *string `type:"string" enum:"CannedAclForObjectsValue"`
19246
19247	// A value that enables a change data capture (CDC) load to write INSERT and
19248	// UPDATE operations to .csv or .parquet (columnar storage) output files. The
19249	// default setting is false, but when CdcInsertsAndUpdates is set to true or
19250	// y, only INSERTs and UPDATEs from the source database are migrated to the
19251	// .csv or .parquet file.
19252	//
19253	// For .csv file format only, how these INSERTs and UPDATEs are recorded depends
19254	// on the value of the IncludeOpForFullLoad parameter. If IncludeOpForFullLoad
19255	// is set to true, the first field of every CDC record is set to either I or
19256	// U to indicate INSERT and UPDATE operations at the source. But if IncludeOpForFullLoad
19257	// is set to false, CDC records are written without an indication of INSERT
19258	// or UPDATE operations at the source. For more information about how these
19259	// settings work together, see Indicating Source DB Operations in Migrated S3
19260	// Data (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring.InsertOps)
19261	// in the Database Migration Service User Guide..
19262	//
19263	// DMS supports the use of the CdcInsertsAndUpdates parameter in versions 3.3.1
19264	// and later.
19265	//
19266	// CdcInsertsOnly and CdcInsertsAndUpdates can't both be set to true for the
19267	// same endpoint. Set either CdcInsertsOnly or CdcInsertsAndUpdates to true
19268	// for the same endpoint, but not both.
19269	CdcInsertsAndUpdates *bool `type:"boolean"`
19270
19271	// A value that enables a change data capture (CDC) load to write only INSERT
19272	// operations to .csv or columnar storage (.parquet) output files. By default
19273	// (the false setting), the first field in a .csv or .parquet record contains
19274	// the letter I (INSERT), U (UPDATE), or D (DELETE). These values indicate whether
19275	// the row was inserted, updated, or deleted at the source database for a CDC
19276	// load to the target.
19277	//
19278	// If CdcInsertsOnly is set to true or y, only INSERTs from the source database
19279	// are migrated to the .csv or .parquet file. For .csv format only, how these
19280	// INSERTs are recorded depends on the value of IncludeOpForFullLoad. If IncludeOpForFullLoad
19281	// is set to true, the first field of every CDC record is set to I to indicate
19282	// the INSERT operation at the source. If IncludeOpForFullLoad is set to false,
19283	// every CDC record is written without a first field to indicate the INSERT
19284	// operation at the source. For more information about how these settings work
19285	// together, see Indicating Source DB Operations in Migrated S3 Data (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring.InsertOps)
19286	// in the Database Migration Service User Guide..
19287	//
19288	// DMS supports the interaction described preceding between the CdcInsertsOnly
19289	// and IncludeOpForFullLoad parameters in versions 3.1.4 and later.
19290	//
19291	// CdcInsertsOnly and CdcInsertsAndUpdates can't both be set to true for the
19292	// same endpoint. Set either CdcInsertsOnly or CdcInsertsAndUpdates to true
19293	// for the same endpoint, but not both.
19294	CdcInsertsOnly *bool `type:"boolean"`
19295
19296	// Maximum length of the interval, defined in seconds, after which to output
19297	// a file to Amazon S3.
19298	//
19299	// When CdcMaxBatchInterval and CdcMinFileSize are both specified, the file
19300	// write is triggered by whichever parameter condition is met first within an
19301	// DMS CloudFormation template.
19302	//
19303	// The default value is 60 seconds.
19304	CdcMaxBatchInterval *int64 `type:"integer"`
19305
19306	// Minimum file size, defined in megabytes, to reach for a file output to Amazon
19307	// S3.
19308	//
19309	// When CdcMinFileSize and CdcMaxBatchInterval are both specified, the file
19310	// write is triggered by whichever parameter condition is met first within an
19311	// DMS CloudFormation template.
19312	//
19313	// The default value is 32 MB.
19314	CdcMinFileSize *int64 `type:"integer"`
19315
19316	// Specifies the folder path of CDC files. For an S3 source, this setting is
19317	// required if a task captures change data; otherwise, it's optional. If CdcPath
19318	// is set, DMS reads CDC files from this path and replicates the data changes
19319	// to the target endpoint. For an S3 target if you set PreserveTransactions
19320	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-PreserveTransactions)
19321	// to true, DMS verifies that you have set this parameter to a folder path on
19322	// your S3 target where DMS can save the transaction order for the CDC load.
19323	// DMS creates this CDC folder path in either your S3 target working directory
19324	// or the S3 target location specified by BucketFolder (https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-BucketFolder)
19325	// and BucketName (https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-BucketName).
19326	//
19327	// For example, if you specify CdcPath as MyChangedData, and you specify BucketName
19328	// as MyTargetBucket but do not specify BucketFolder, DMS creates the CDC folder
19329	// path following: MyTargetBucket/MyChangedData.
19330	//
19331	// If you specify the same CdcPath, and you specify BucketName as MyTargetBucket
19332	// and BucketFolder as MyTargetData, DMS creates the CDC folder path following:
19333	// MyTargetBucket/MyTargetData/MyChangedData.
19334	//
19335	// For more information on CDC including transaction order on an S3 target,
19336	// see Capturing data changes (CDC) including transaction order on the S3 target
19337	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.EndpointSettings.CdcPath).
19338	//
19339	// This setting is supported in DMS versions 3.4.2 and later.
19340	CdcPath *string `type:"string"`
19341
19342	// An optional parameter to use GZIP to compress the target files. Set to GZIP
19343	// to compress the target files. Either set this parameter to NONE (the default)
19344	// or don't use it to leave the files uncompressed. This parameter applies to
19345	// both .csv and .parquet file formats.
19346	CompressionType *string `type:"string" enum:"CompressionTypeValue"`
19347
19348	// The delimiter used to separate columns in the .csv file for both source and
19349	// target. The default is a comma.
19350	CsvDelimiter *string `type:"string"`
19351
19352	// This setting only applies if your Amazon S3 output files during a change
19353	// data capture (CDC) load are written in .csv format. If UseCsvNoSupValue (https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-UseCsvNoSupValue)
19354	// is set to true, specify a string value that you want DMS to use for all columns
19355	// not included in the supplemental log. If you do not specify a string value,
19356	// DMS uses the null value for these columns regardless of the UseCsvNoSupValue
19357	// setting.
19358	//
19359	// This setting is supported in DMS versions 3.4.1 and later.
19360	CsvNoSupValue *string `type:"string"`
19361
19362	// An optional parameter that specifies how DMS treats null values. While handling
19363	// the null value, you can use this parameter to pass a user-defined string
19364	// as null when writing to the target. For example, when target columns are
19365	// not nullable, you can use this option to differentiate between the empty
19366	// string value and the null value. So, if you set this parameter value to the
19367	// empty string ("" or ''), DMS treats the empty string as the null value instead
19368	// of NULL.
19369	//
19370	// The default value is NULL. Valid values include any valid string.
19371	CsvNullValue *string `type:"string"`
19372
19373	// The delimiter used to separate rows in the .csv file for both source and
19374	// target. The default is a carriage return (\n).
19375	CsvRowDelimiter *string `type:"string"`
19376
19377	// The format of the data that you want to use for output. You can choose one
19378	// of the following:
19379	//
19380	//    * csv : This is a row-based file format with comma-separated values (.csv).
19381	//
19382	//    * parquet : Apache Parquet (.parquet) is a columnar storage file format
19383	//    that features efficient compression and provides faster query response.
19384	DataFormat *string `type:"string" enum:"DataFormatValue"`
19385
19386	// The size of one data page in bytes. This parameter defaults to 1024 * 1024
19387	// bytes (1 MiB). This number is used for .parquet file format only.
19388	DataPageSize *int64 `type:"integer"`
19389
19390	// Specifies a date separating delimiter to use during folder partitioning.
19391	// The default value is SLASH. Use this parameter when DatePartitionedEnabled
19392	// is set to true.
19393	DatePartitionDelimiter *string `type:"string" enum:"DatePartitionDelimiterValue"`
19394
19395	// When set to true, this parameter partitions S3 bucket folders based on transaction
19396	// commit dates. The default value is false. For more information about date-based
19397	// folder partitioning, see Using date-based folder partitioning (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.DatePartitioning).
19398	DatePartitionEnabled *bool `type:"boolean"`
19399
19400	// Identifies the sequence of the date format to use during folder partitioning.
19401	// The default value is YYYYMMDD. Use this parameter when DatePartitionedEnabled
19402	// is set to true.
19403	DatePartitionSequence *string `type:"string" enum:"DatePartitionSequenceValue"`
19404
19405	// The maximum size of an encoded dictionary page of a column. If the dictionary
19406	// page exceeds this, this column is stored using an encoding type of PLAIN.
19407	// This parameter defaults to 1024 * 1024 bytes (1 MiB), the maximum size of
19408	// a dictionary page before it reverts to PLAIN encoding. This size is used
19409	// for .parquet file format only.
19410	DictPageSizeLimit *int64 `type:"integer"`
19411
19412	// A value that enables statistics for Parquet pages and row groups. Choose
19413	// true to enable statistics, false to disable. Statistics include NULL, DISTINCT,
19414	// MAX, and MIN values. This parameter defaults to true. This value is used
19415	// for .parquet file format only.
19416	EnableStatistics *bool `type:"boolean"`
19417
19418	// The type of encoding you are using:
19419	//
19420	//    * RLE_DICTIONARY uses a combination of bit-packing and run-length encoding
19421	//    to store repeated values more efficiently. This is the default.
19422	//
19423	//    * PLAIN doesn't use encoding at all. Values are stored as they are.
19424	//
19425	//    * PLAIN_DICTIONARY builds a dictionary of the values encountered in a
19426	//    given column. The dictionary is stored in a dictionary page for each column
19427	//    chunk.
19428	EncodingType *string `type:"string" enum:"EncodingTypeValue"`
19429
19430	// The type of server-side encryption that you want to use for your data. This
19431	// encryption type is part of the endpoint settings or the extra connections
19432	// attributes for Amazon S3. You can choose either SSE_S3 (the default) or SSE_KMS.
19433	//
19434	// For the ModifyEndpoint operation, you can change the existing value of the
19435	// EncryptionMode parameter from SSE_KMS to SSE_S3. But you can’t change the
19436	// existing value from SSE_S3 to SSE_KMS.
19437	//
19438	// To use SSE_S3, you need an Identity and Access Management (IAM) role with
19439	// permission to allow "arn:aws:s3:::dms-*" to use the following actions:
19440	//
19441	//    * s3:CreateBucket
19442	//
19443	//    * s3:ListBucket
19444	//
19445	//    * s3:DeleteBucket
19446	//
19447	//    * s3:GetBucketLocation
19448	//
19449	//    * s3:GetObject
19450	//
19451	//    * s3:PutObject
19452	//
19453	//    * s3:DeleteObject
19454	//
19455	//    * s3:GetObjectVersion
19456	//
19457	//    * s3:GetBucketPolicy
19458	//
19459	//    * s3:PutBucketPolicy
19460	//
19461	//    * s3:DeleteBucketPolicy
19462	EncryptionMode *string `type:"string" enum:"EncryptionModeValue"`
19463
19464	// Specifies how tables are defined in the S3 source files only.
19465	ExternalTableDefinition *string `type:"string"`
19466
19467	// When this value is set to 1, DMS ignores the first row header in a .csv file.
19468	// A value of 1 turns on the feature; a value of 0 turns off the feature.
19469	//
19470	// The default is 0.
19471	IgnoreHeaderRows *int64 `type:"integer"`
19472
19473	// A value that enables a full load to write INSERT operations to the comma-separated
19474	// value (.csv) output files only to indicate how the rows were added to the
19475	// source database.
19476	//
19477	// DMS supports the IncludeOpForFullLoad parameter in versions 3.1.4 and later.
19478	//
19479	// For full load, records can only be inserted. By default (the false setting),
19480	// no information is recorded in these output files for a full load to indicate
19481	// that the rows were inserted at the source database. If IncludeOpForFullLoad
19482	// is set to true or y, the INSERT is recorded as an I annotation in the first
19483	// field of the .csv file. This allows the format of your target records from
19484	// a full load to be consistent with the target records from a CDC load.
19485	//
19486	// This setting works together with the CdcInsertsOnly and the CdcInsertsAndUpdates
19487	// parameters for output to .csv files only. For more information about how
19488	// these settings work together, see Indicating Source DB Operations in Migrated
19489	// S3 Data (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring.InsertOps)
19490	// in the Database Migration Service User Guide..
19491	IncludeOpForFullLoad *bool `type:"boolean"`
19492
19493	// A value that specifies the maximum size (in KB) of any .csv file to be created
19494	// while migrating to an S3 target during full load.
19495	//
19496	// The default value is 1,048,576 KB (1 GB). Valid values include 1 to 1,048,576.
19497	MaxFileSize *int64 `type:"integer"`
19498
19499	// A value that specifies the precision of any TIMESTAMP column values that
19500	// are written to an Amazon S3 object file in .parquet format.
19501	//
19502	// DMS supports the ParquetTimestampInMillisecond parameter in versions 3.1.4
19503	// and later.
19504	//
19505	// When ParquetTimestampInMillisecond is set to true or y, DMS writes all TIMESTAMP
19506	// columns in a .parquet formatted file with millisecond precision. Otherwise,
19507	// DMS writes them with microsecond precision.
19508	//
19509	// Currently, Amazon Athena and Glue can handle only millisecond precision for
19510	// TIMESTAMP values. Set this parameter to true for S3 endpoint object files
19511	// that are .parquet formatted only if you plan to query or process the data
19512	// with Athena or Glue.
19513	//
19514	// DMS writes any TIMESTAMP column values written to an S3 file in .csv format
19515	// with microsecond precision.
19516	//
19517	// Setting ParquetTimestampInMillisecond has no effect on the string format
19518	// of the timestamp column value that is inserted by setting the TimestampColumnName
19519	// parameter.
19520	ParquetTimestampInMillisecond *bool `type:"boolean"`
19521
19522	// The version of the Apache Parquet format that you want to use: parquet_1_0
19523	// (the default) or parquet_2_0.
19524	ParquetVersion *string `type:"string" enum:"ParquetVersionValue"`
19525
19526	// If set to true, DMS saves the transaction order for a change data capture
19527	// (CDC) load on the Amazon S3 target specified by CdcPath (https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-CdcPath).
19528	// For more information, see Capturing data changes (CDC) including transaction
19529	// order on the S3 target (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.EndpointSettings.CdcPath).
19530	//
19531	// This setting is supported in DMS versions 3.4.2 and later.
19532	PreserveTransactions *bool `type:"boolean"`
19533
19534	// For an S3 source, when this value is set to true or y, each leading double
19535	// quotation mark has to be followed by an ending double quotation mark. This
19536	// formatting complies with RFC 4180. When this value is set to false or n,
19537	// string literals are copied to the target as is. In this case, a delimiter
19538	// (row or column) signals the end of the field. Thus, you can't use a delimiter
19539	// as part of the string, because it signals the end of the value.
19540	//
19541	// For an S3 target, an optional parameter used to set behavior to comply with
19542	// RFC 4180 for data migrated to Amazon S3 using .csv file format only. When
19543	// this value is set to true or y using Amazon S3 as a target, if the data has
19544	// quotation marks or newline characters in it, DMS encloses the entire column
19545	// with an additional pair of double quotation marks ("). Every quotation mark
19546	// within the data is repeated twice.
19547	//
19548	// The default value is true. Valid values include true, false, y, and n.
19549	Rfc4180 *bool `type:"boolean"`
19550
19551	// The number of rows in a row group. A smaller row group size provides faster
19552	// reads. But as the number of row groups grows, the slower writes become. This
19553	// parameter defaults to 10,000 rows. This number is used for .parquet file
19554	// format only.
19555	//
19556	// If you choose a value larger than the maximum, RowGroupLength is set to the
19557	// max row group length in bytes (64 * 1024 * 1024).
19558	RowGroupLength *int64 `type:"integer"`
19559
19560	// If you are using SSE_KMS for the EncryptionMode, provide the KMS key ID.
19561	// The key that you use needs an attached policy that enables Identity and Access
19562	// Management (IAM) user permissions and allows use of the key.
19563	//
19564	// Here is a CLI example: aws dms create-endpoint --endpoint-identifier value
19565	// --endpoint-type target --engine-name s3 --s3-settings ServiceAccessRoleArn=value,BucketFolder=value,BucketName=value,EncryptionMode=SSE_KMS,ServerSideEncryptionKmsKeyId=value
19566	ServerSideEncryptionKmsKeyId *string `type:"string"`
19567
19568	// The Amazon Resource Name (ARN) used by the service to access the IAM role.
19569	// The role must allow the iam:PassRole action. It is a required parameter that
19570	// enables DMS to write and read objects from an S3 bucket.
19571	ServiceAccessRoleArn *string `type:"string"`
19572
19573	// A value that when nonblank causes DMS to add a column with timestamp information
19574	// to the endpoint data for an Amazon S3 target.
19575	//
19576	// DMS supports the TimestampColumnName parameter in versions 3.1.4 and later.
19577	//
19578	// DMS includes an additional STRING column in the .csv or .parquet object files
19579	// of your migrated data when you set TimestampColumnName to a nonblank value.
19580	//
19581	// For a full load, each row of this timestamp column contains a timestamp for
19582	// when the data was transferred from the source to the target by DMS.
19583	//
19584	// For a change data capture (CDC) load, each row of the timestamp column contains
19585	// the timestamp for the commit of that row in the source database.
19586	//
19587	// The string format for this timestamp column value is yyyy-MM-dd HH:mm:ss.SSSSSS.
19588	// By default, the precision of this value is in microseconds. For a CDC load,
19589	// the rounding of the precision depends on the commit timestamp supported by
19590	// DMS for the source database.
19591	//
19592	// When the AddColumnName parameter is set to true, DMS also includes a name
19593	// for the timestamp column that you set with TimestampColumnName.
19594	TimestampColumnName *string `type:"string"`
19595
19596	// This setting applies if the S3 output files during a change data capture
19597	// (CDC) load are written in .csv format. If set to true for columns not included
19598	// in the supplemental log, DMS uses the value specified by CsvNoSupValue (https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-CsvNoSupValue).
19599	// If not set or set to false, DMS uses the null value for these columns.
19600	//
19601	// This setting is supported in DMS versions 3.4.1 and later.
19602	UseCsvNoSupValue *bool `type:"boolean"`
19603}
19604
19605// String returns the string representation.
19606//
19607// API parameter values that are decorated as "sensitive" in the API will not
19608// be included in the string output. The member name will be present, but the
19609// value will be replaced with "sensitive".
19610func (s S3Settings) String() string {
19611	return awsutil.Prettify(s)
19612}
19613
19614// GoString returns the string representation.
19615//
19616// API parameter values that are decorated as "sensitive" in the API will not
19617// be included in the string output. The member name will be present, but the
19618// value will be replaced with "sensitive".
19619func (s S3Settings) GoString() string {
19620	return s.String()
19621}
19622
19623// SetAddColumnName sets the AddColumnName field's value.
19624func (s *S3Settings) SetAddColumnName(v bool) *S3Settings {
19625	s.AddColumnName = &v
19626	return s
19627}
19628
19629// SetBucketFolder sets the BucketFolder field's value.
19630func (s *S3Settings) SetBucketFolder(v string) *S3Settings {
19631	s.BucketFolder = &v
19632	return s
19633}
19634
19635// SetBucketName sets the BucketName field's value.
19636func (s *S3Settings) SetBucketName(v string) *S3Settings {
19637	s.BucketName = &v
19638	return s
19639}
19640
19641// SetCannedAclForObjects sets the CannedAclForObjects field's value.
19642func (s *S3Settings) SetCannedAclForObjects(v string) *S3Settings {
19643	s.CannedAclForObjects = &v
19644	return s
19645}
19646
19647// SetCdcInsertsAndUpdates sets the CdcInsertsAndUpdates field's value.
19648func (s *S3Settings) SetCdcInsertsAndUpdates(v bool) *S3Settings {
19649	s.CdcInsertsAndUpdates = &v
19650	return s
19651}
19652
19653// SetCdcInsertsOnly sets the CdcInsertsOnly field's value.
19654func (s *S3Settings) SetCdcInsertsOnly(v bool) *S3Settings {
19655	s.CdcInsertsOnly = &v
19656	return s
19657}
19658
19659// SetCdcMaxBatchInterval sets the CdcMaxBatchInterval field's value.
19660func (s *S3Settings) SetCdcMaxBatchInterval(v int64) *S3Settings {
19661	s.CdcMaxBatchInterval = &v
19662	return s
19663}
19664
19665// SetCdcMinFileSize sets the CdcMinFileSize field's value.
19666func (s *S3Settings) SetCdcMinFileSize(v int64) *S3Settings {
19667	s.CdcMinFileSize = &v
19668	return s
19669}
19670
19671// SetCdcPath sets the CdcPath field's value.
19672func (s *S3Settings) SetCdcPath(v string) *S3Settings {
19673	s.CdcPath = &v
19674	return s
19675}
19676
19677// SetCompressionType sets the CompressionType field's value.
19678func (s *S3Settings) SetCompressionType(v string) *S3Settings {
19679	s.CompressionType = &v
19680	return s
19681}
19682
19683// SetCsvDelimiter sets the CsvDelimiter field's value.
19684func (s *S3Settings) SetCsvDelimiter(v string) *S3Settings {
19685	s.CsvDelimiter = &v
19686	return s
19687}
19688
19689// SetCsvNoSupValue sets the CsvNoSupValue field's value.
19690func (s *S3Settings) SetCsvNoSupValue(v string) *S3Settings {
19691	s.CsvNoSupValue = &v
19692	return s
19693}
19694
19695// SetCsvNullValue sets the CsvNullValue field's value.
19696func (s *S3Settings) SetCsvNullValue(v string) *S3Settings {
19697	s.CsvNullValue = &v
19698	return s
19699}
19700
19701// SetCsvRowDelimiter sets the CsvRowDelimiter field's value.
19702func (s *S3Settings) SetCsvRowDelimiter(v string) *S3Settings {
19703	s.CsvRowDelimiter = &v
19704	return s
19705}
19706
19707// SetDataFormat sets the DataFormat field's value.
19708func (s *S3Settings) SetDataFormat(v string) *S3Settings {
19709	s.DataFormat = &v
19710	return s
19711}
19712
19713// SetDataPageSize sets the DataPageSize field's value.
19714func (s *S3Settings) SetDataPageSize(v int64) *S3Settings {
19715	s.DataPageSize = &v
19716	return s
19717}
19718
19719// SetDatePartitionDelimiter sets the DatePartitionDelimiter field's value.
19720func (s *S3Settings) SetDatePartitionDelimiter(v string) *S3Settings {
19721	s.DatePartitionDelimiter = &v
19722	return s
19723}
19724
19725// SetDatePartitionEnabled sets the DatePartitionEnabled field's value.
19726func (s *S3Settings) SetDatePartitionEnabled(v bool) *S3Settings {
19727	s.DatePartitionEnabled = &v
19728	return s
19729}
19730
19731// SetDatePartitionSequence sets the DatePartitionSequence field's value.
19732func (s *S3Settings) SetDatePartitionSequence(v string) *S3Settings {
19733	s.DatePartitionSequence = &v
19734	return s
19735}
19736
19737// SetDictPageSizeLimit sets the DictPageSizeLimit field's value.
19738func (s *S3Settings) SetDictPageSizeLimit(v int64) *S3Settings {
19739	s.DictPageSizeLimit = &v
19740	return s
19741}
19742
19743// SetEnableStatistics sets the EnableStatistics field's value.
19744func (s *S3Settings) SetEnableStatistics(v bool) *S3Settings {
19745	s.EnableStatistics = &v
19746	return s
19747}
19748
19749// SetEncodingType sets the EncodingType field's value.
19750func (s *S3Settings) SetEncodingType(v string) *S3Settings {
19751	s.EncodingType = &v
19752	return s
19753}
19754
19755// SetEncryptionMode sets the EncryptionMode field's value.
19756func (s *S3Settings) SetEncryptionMode(v string) *S3Settings {
19757	s.EncryptionMode = &v
19758	return s
19759}
19760
19761// SetExternalTableDefinition sets the ExternalTableDefinition field's value.
19762func (s *S3Settings) SetExternalTableDefinition(v string) *S3Settings {
19763	s.ExternalTableDefinition = &v
19764	return s
19765}
19766
19767// SetIgnoreHeaderRows sets the IgnoreHeaderRows field's value.
19768func (s *S3Settings) SetIgnoreHeaderRows(v int64) *S3Settings {
19769	s.IgnoreHeaderRows = &v
19770	return s
19771}
19772
19773// SetIncludeOpForFullLoad sets the IncludeOpForFullLoad field's value.
19774func (s *S3Settings) SetIncludeOpForFullLoad(v bool) *S3Settings {
19775	s.IncludeOpForFullLoad = &v
19776	return s
19777}
19778
19779// SetMaxFileSize sets the MaxFileSize field's value.
19780func (s *S3Settings) SetMaxFileSize(v int64) *S3Settings {
19781	s.MaxFileSize = &v
19782	return s
19783}
19784
19785// SetParquetTimestampInMillisecond sets the ParquetTimestampInMillisecond field's value.
19786func (s *S3Settings) SetParquetTimestampInMillisecond(v bool) *S3Settings {
19787	s.ParquetTimestampInMillisecond = &v
19788	return s
19789}
19790
19791// SetParquetVersion sets the ParquetVersion field's value.
19792func (s *S3Settings) SetParquetVersion(v string) *S3Settings {
19793	s.ParquetVersion = &v
19794	return s
19795}
19796
19797// SetPreserveTransactions sets the PreserveTransactions field's value.
19798func (s *S3Settings) SetPreserveTransactions(v bool) *S3Settings {
19799	s.PreserveTransactions = &v
19800	return s
19801}
19802
19803// SetRfc4180 sets the Rfc4180 field's value.
19804func (s *S3Settings) SetRfc4180(v bool) *S3Settings {
19805	s.Rfc4180 = &v
19806	return s
19807}
19808
19809// SetRowGroupLength sets the RowGroupLength field's value.
19810func (s *S3Settings) SetRowGroupLength(v int64) *S3Settings {
19811	s.RowGroupLength = &v
19812	return s
19813}
19814
19815// SetServerSideEncryptionKmsKeyId sets the ServerSideEncryptionKmsKeyId field's value.
19816func (s *S3Settings) SetServerSideEncryptionKmsKeyId(v string) *S3Settings {
19817	s.ServerSideEncryptionKmsKeyId = &v
19818	return s
19819}
19820
19821// SetServiceAccessRoleArn sets the ServiceAccessRoleArn field's value.
19822func (s *S3Settings) SetServiceAccessRoleArn(v string) *S3Settings {
19823	s.ServiceAccessRoleArn = &v
19824	return s
19825}
19826
19827// SetTimestampColumnName sets the TimestampColumnName field's value.
19828func (s *S3Settings) SetTimestampColumnName(v string) *S3Settings {
19829	s.TimestampColumnName = &v
19830	return s
19831}
19832
19833// SetUseCsvNoSupValue sets the UseCsvNoSupValue field's value.
19834func (s *S3Settings) SetUseCsvNoSupValue(v bool) *S3Settings {
19835	s.UseCsvNoSupValue = &v
19836	return s
19837}
19838
19839// The SNS topic is invalid.
19840type SNSInvalidTopicFault struct {
19841	_            struct{}                  `type:"structure"`
19842	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19843
19844	Message_ *string `locationName:"message" type:"string"`
19845}
19846
19847// String returns the string representation.
19848//
19849// API parameter values that are decorated as "sensitive" in the API will not
19850// be included in the string output. The member name will be present, but the
19851// value will be replaced with "sensitive".
19852func (s SNSInvalidTopicFault) String() string {
19853	return awsutil.Prettify(s)
19854}
19855
19856// GoString returns the string representation.
19857//
19858// API parameter values that are decorated as "sensitive" in the API will not
19859// be included in the string output. The member name will be present, but the
19860// value will be replaced with "sensitive".
19861func (s SNSInvalidTopicFault) GoString() string {
19862	return s.String()
19863}
19864
19865func newErrorSNSInvalidTopicFault(v protocol.ResponseMetadata) error {
19866	return &SNSInvalidTopicFault{
19867		RespMetadata: v,
19868	}
19869}
19870
19871// Code returns the exception type name.
19872func (s *SNSInvalidTopicFault) Code() string {
19873	return "SNSInvalidTopicFault"
19874}
19875
19876// Message returns the exception's message.
19877func (s *SNSInvalidTopicFault) Message() string {
19878	if s.Message_ != nil {
19879		return *s.Message_
19880	}
19881	return ""
19882}
19883
19884// OrigErr always returns nil, satisfies awserr.Error interface.
19885func (s *SNSInvalidTopicFault) OrigErr() error {
19886	return nil
19887}
19888
19889func (s *SNSInvalidTopicFault) Error() string {
19890	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19891}
19892
19893// Status code returns the HTTP status code for the request's response error.
19894func (s *SNSInvalidTopicFault) StatusCode() int {
19895	return s.RespMetadata.StatusCode
19896}
19897
19898// RequestID returns the service's response RequestID for request.
19899func (s *SNSInvalidTopicFault) RequestID() string {
19900	return s.RespMetadata.RequestID
19901}
19902
19903// You are not authorized for the SNS subscription.
19904type SNSNoAuthorizationFault struct {
19905	_            struct{}                  `type:"structure"`
19906	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19907
19908	Message_ *string `locationName:"message" type:"string"`
19909}
19910
19911// String returns the string representation.
19912//
19913// API parameter values that are decorated as "sensitive" in the API will not
19914// be included in the string output. The member name will be present, but the
19915// value will be replaced with "sensitive".
19916func (s SNSNoAuthorizationFault) String() string {
19917	return awsutil.Prettify(s)
19918}
19919
19920// GoString returns the string representation.
19921//
19922// API parameter values that are decorated as "sensitive" in the API will not
19923// be included in the string output. The member name will be present, but the
19924// value will be replaced with "sensitive".
19925func (s SNSNoAuthorizationFault) GoString() string {
19926	return s.String()
19927}
19928
19929func newErrorSNSNoAuthorizationFault(v protocol.ResponseMetadata) error {
19930	return &SNSNoAuthorizationFault{
19931		RespMetadata: v,
19932	}
19933}
19934
19935// Code returns the exception type name.
19936func (s *SNSNoAuthorizationFault) Code() string {
19937	return "SNSNoAuthorizationFault"
19938}
19939
19940// Message returns the exception's message.
19941func (s *SNSNoAuthorizationFault) Message() string {
19942	if s.Message_ != nil {
19943		return *s.Message_
19944	}
19945	return ""
19946}
19947
19948// OrigErr always returns nil, satisfies awserr.Error interface.
19949func (s *SNSNoAuthorizationFault) OrigErr() error {
19950	return nil
19951}
19952
19953func (s *SNSNoAuthorizationFault) Error() string {
19954	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19955}
19956
19957// Status code returns the HTTP status code for the request's response error.
19958func (s *SNSNoAuthorizationFault) StatusCode() int {
19959	return s.RespMetadata.StatusCode
19960}
19961
19962// RequestID returns the service's response RequestID for request.
19963func (s *SNSNoAuthorizationFault) RequestID() string {
19964	return s.RespMetadata.RequestID
19965}
19966
19967type StartReplicationTaskAssessmentInput struct {
19968	_ struct{} `type:"structure"`
19969
19970	// The Amazon Resource Name (ARN) of the replication task.
19971	//
19972	// ReplicationTaskArn is a required field
19973	ReplicationTaskArn *string `type:"string" required:"true"`
19974}
19975
19976// String returns the string representation.
19977//
19978// API parameter values that are decorated as "sensitive" in the API will not
19979// be included in the string output. The member name will be present, but the
19980// value will be replaced with "sensitive".
19981func (s StartReplicationTaskAssessmentInput) String() string {
19982	return awsutil.Prettify(s)
19983}
19984
19985// GoString returns the string representation.
19986//
19987// API parameter values that are decorated as "sensitive" in the API will not
19988// be included in the string output. The member name will be present, but the
19989// value will be replaced with "sensitive".
19990func (s StartReplicationTaskAssessmentInput) GoString() string {
19991	return s.String()
19992}
19993
19994// Validate inspects the fields of the type to determine if they are valid.
19995func (s *StartReplicationTaskAssessmentInput) Validate() error {
19996	invalidParams := request.ErrInvalidParams{Context: "StartReplicationTaskAssessmentInput"}
19997	if s.ReplicationTaskArn == nil {
19998		invalidParams.Add(request.NewErrParamRequired("ReplicationTaskArn"))
19999	}
20000
20001	if invalidParams.Len() > 0 {
20002		return invalidParams
20003	}
20004	return nil
20005}
20006
20007// SetReplicationTaskArn sets the ReplicationTaskArn field's value.
20008func (s *StartReplicationTaskAssessmentInput) SetReplicationTaskArn(v string) *StartReplicationTaskAssessmentInput {
20009	s.ReplicationTaskArn = &v
20010	return s
20011}
20012
20013type StartReplicationTaskAssessmentOutput struct {
20014	_ struct{} `type:"structure"`
20015
20016	// The assessed replication task.
20017	ReplicationTask *ReplicationTask `type:"structure"`
20018}
20019
20020// String returns the string representation.
20021//
20022// API parameter values that are decorated as "sensitive" in the API will not
20023// be included in the string output. The member name will be present, but the
20024// value will be replaced with "sensitive".
20025func (s StartReplicationTaskAssessmentOutput) String() string {
20026	return awsutil.Prettify(s)
20027}
20028
20029// GoString returns the string representation.
20030//
20031// API parameter values that are decorated as "sensitive" in the API will not
20032// be included in the string output. The member name will be present, but the
20033// value will be replaced with "sensitive".
20034func (s StartReplicationTaskAssessmentOutput) GoString() string {
20035	return s.String()
20036}
20037
20038// SetReplicationTask sets the ReplicationTask field's value.
20039func (s *StartReplicationTaskAssessmentOutput) SetReplicationTask(v *ReplicationTask) *StartReplicationTaskAssessmentOutput {
20040	s.ReplicationTask = v
20041	return s
20042}
20043
20044type StartReplicationTaskAssessmentRunInput struct {
20045	_ struct{} `type:"structure"`
20046
20047	// Unique name to identify the assessment run.
20048	//
20049	// AssessmentRunName is a required field
20050	AssessmentRunName *string `type:"string" required:"true"`
20051
20052	// Space-separated list of names for specific individual assessments that you
20053	// want to exclude. These names come from the default list of individual assessments
20054	// that DMS supports for the associated migration task. This task is specified
20055	// by ReplicationTaskArn.
20056	//
20057	// You can't set a value for Exclude if you also set a value for IncludeOnly
20058	// in the API operation.
20059	//
20060	// To identify the names of the default individual assessments that DMS supports
20061	// for the associated migration task, run the DescribeApplicableIndividualAssessments
20062	// operation using its own ReplicationTaskArn request parameter.
20063	Exclude []*string `type:"list"`
20064
20065	// Space-separated list of names for specific individual assessments that you
20066	// want to include. These names come from the default list of individual assessments
20067	// that DMS supports for the associated migration task. This task is specified
20068	// by ReplicationTaskArn.
20069	//
20070	// You can't set a value for IncludeOnly if you also set a value for Exclude
20071	// in the API operation.
20072	//
20073	// To identify the names of the default individual assessments that DMS supports
20074	// for the associated migration task, run the DescribeApplicableIndividualAssessments
20075	// operation using its own ReplicationTaskArn request parameter.
20076	IncludeOnly []*string `type:"list"`
20077
20078	// Amazon Resource Name (ARN) of the migration task associated with the premigration
20079	// assessment run that you want to start.
20080	//
20081	// ReplicationTaskArn is a required field
20082	ReplicationTaskArn *string `type:"string" required:"true"`
20083
20084	// Encryption mode that you can specify to encrypt the results of this assessment
20085	// run. If you don't specify this request parameter, DMS stores the assessment
20086	// run results without encryption. You can specify one of the options following:
20087	//
20088	//    * "SSE_S3" – The server-side encryption provided as a default by Amazon
20089	//    S3.
20090	//
20091	//    * "SSE_KMS" – Key Management Service (KMS) encryption. This encryption
20092	//    can use either a custom KMS encryption key that you specify or the default
20093	//    KMS encryption key that DMS provides.
20094	ResultEncryptionMode *string `type:"string"`
20095
20096	// ARN of a custom KMS encryption key that you specify when you set ResultEncryptionMode
20097	// to "SSE_KMS".
20098	ResultKmsKeyArn *string `type:"string"`
20099
20100	// Amazon S3 bucket where you want DMS to store the results of this assessment
20101	// run.
20102	//
20103	// ResultLocationBucket is a required field
20104	ResultLocationBucket *string `type:"string" required:"true"`
20105
20106	// Folder within an Amazon S3 bucket where you want DMS to store the results
20107	// of this assessment run.
20108	ResultLocationFolder *string `type:"string"`
20109
20110	// ARN of the service role needed to start the assessment run. The role must
20111	// allow the iam:PassRole action.
20112	//
20113	// ServiceAccessRoleArn is a required field
20114	ServiceAccessRoleArn *string `type:"string" required:"true"`
20115}
20116
20117// String returns the string representation.
20118//
20119// API parameter values that are decorated as "sensitive" in the API will not
20120// be included in the string output. The member name will be present, but the
20121// value will be replaced with "sensitive".
20122func (s StartReplicationTaskAssessmentRunInput) String() string {
20123	return awsutil.Prettify(s)
20124}
20125
20126// GoString returns the string representation.
20127//
20128// API parameter values that are decorated as "sensitive" in the API will not
20129// be included in the string output. The member name will be present, but the
20130// value will be replaced with "sensitive".
20131func (s StartReplicationTaskAssessmentRunInput) GoString() string {
20132	return s.String()
20133}
20134
20135// Validate inspects the fields of the type to determine if they are valid.
20136func (s *StartReplicationTaskAssessmentRunInput) Validate() error {
20137	invalidParams := request.ErrInvalidParams{Context: "StartReplicationTaskAssessmentRunInput"}
20138	if s.AssessmentRunName == nil {
20139		invalidParams.Add(request.NewErrParamRequired("AssessmentRunName"))
20140	}
20141	if s.ReplicationTaskArn == nil {
20142		invalidParams.Add(request.NewErrParamRequired("ReplicationTaskArn"))
20143	}
20144	if s.ResultLocationBucket == nil {
20145		invalidParams.Add(request.NewErrParamRequired("ResultLocationBucket"))
20146	}
20147	if s.ServiceAccessRoleArn == nil {
20148		invalidParams.Add(request.NewErrParamRequired("ServiceAccessRoleArn"))
20149	}
20150
20151	if invalidParams.Len() > 0 {
20152		return invalidParams
20153	}
20154	return nil
20155}
20156
20157// SetAssessmentRunName sets the AssessmentRunName field's value.
20158func (s *StartReplicationTaskAssessmentRunInput) SetAssessmentRunName(v string) *StartReplicationTaskAssessmentRunInput {
20159	s.AssessmentRunName = &v
20160	return s
20161}
20162
20163// SetExclude sets the Exclude field's value.
20164func (s *StartReplicationTaskAssessmentRunInput) SetExclude(v []*string) *StartReplicationTaskAssessmentRunInput {
20165	s.Exclude = v
20166	return s
20167}
20168
20169// SetIncludeOnly sets the IncludeOnly field's value.
20170func (s *StartReplicationTaskAssessmentRunInput) SetIncludeOnly(v []*string) *StartReplicationTaskAssessmentRunInput {
20171	s.IncludeOnly = v
20172	return s
20173}
20174
20175// SetReplicationTaskArn sets the ReplicationTaskArn field's value.
20176func (s *StartReplicationTaskAssessmentRunInput) SetReplicationTaskArn(v string) *StartReplicationTaskAssessmentRunInput {
20177	s.ReplicationTaskArn = &v
20178	return s
20179}
20180
20181// SetResultEncryptionMode sets the ResultEncryptionMode field's value.
20182func (s *StartReplicationTaskAssessmentRunInput) SetResultEncryptionMode(v string) *StartReplicationTaskAssessmentRunInput {
20183	s.ResultEncryptionMode = &v
20184	return s
20185}
20186
20187// SetResultKmsKeyArn sets the ResultKmsKeyArn field's value.
20188func (s *StartReplicationTaskAssessmentRunInput) SetResultKmsKeyArn(v string) *StartReplicationTaskAssessmentRunInput {
20189	s.ResultKmsKeyArn = &v
20190	return s
20191}
20192
20193// SetResultLocationBucket sets the ResultLocationBucket field's value.
20194func (s *StartReplicationTaskAssessmentRunInput) SetResultLocationBucket(v string) *StartReplicationTaskAssessmentRunInput {
20195	s.ResultLocationBucket = &v
20196	return s
20197}
20198
20199// SetResultLocationFolder sets the ResultLocationFolder field's value.
20200func (s *StartReplicationTaskAssessmentRunInput) SetResultLocationFolder(v string) *StartReplicationTaskAssessmentRunInput {
20201	s.ResultLocationFolder = &v
20202	return s
20203}
20204
20205// SetServiceAccessRoleArn sets the ServiceAccessRoleArn field's value.
20206func (s *StartReplicationTaskAssessmentRunInput) SetServiceAccessRoleArn(v string) *StartReplicationTaskAssessmentRunInput {
20207	s.ServiceAccessRoleArn = &v
20208	return s
20209}
20210
20211type StartReplicationTaskAssessmentRunOutput struct {
20212	_ struct{} `type:"structure"`
20213
20214	// The premigration assessment run that was started.
20215	ReplicationTaskAssessmentRun *ReplicationTaskAssessmentRun `type:"structure"`
20216}
20217
20218// String returns the string representation.
20219//
20220// API parameter values that are decorated as "sensitive" in the API will not
20221// be included in the string output. The member name will be present, but the
20222// value will be replaced with "sensitive".
20223func (s StartReplicationTaskAssessmentRunOutput) String() string {
20224	return awsutil.Prettify(s)
20225}
20226
20227// GoString returns the string representation.
20228//
20229// API parameter values that are decorated as "sensitive" in the API will not
20230// be included in the string output. The member name will be present, but the
20231// value will be replaced with "sensitive".
20232func (s StartReplicationTaskAssessmentRunOutput) GoString() string {
20233	return s.String()
20234}
20235
20236// SetReplicationTaskAssessmentRun sets the ReplicationTaskAssessmentRun field's value.
20237func (s *StartReplicationTaskAssessmentRunOutput) SetReplicationTaskAssessmentRun(v *ReplicationTaskAssessmentRun) *StartReplicationTaskAssessmentRunOutput {
20238	s.ReplicationTaskAssessmentRun = v
20239	return s
20240}
20241
20242type StartReplicationTaskInput struct {
20243	_ struct{} `type:"structure"`
20244
20245	// Indicates when you want a change data capture (CDC) operation to start. Use
20246	// either CdcStartPosition or CdcStartTime to specify when you want a CDC operation
20247	// to start. Specifying both values results in an error.
20248	//
20249	// The value can be in date, checkpoint, or LSN/SCN format.
20250	//
20251	// Date Example: --cdc-start-position “2018-03-08T12:12:12”
20252	//
20253	// Checkpoint Example: --cdc-start-position "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93"
20254	//
20255	// LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”
20256	//
20257	// When you use this task setting with a source PostgreSQL database, a logical
20258	// replication slot should already be created and associated with the source
20259	// endpoint. You can verify this by setting the slotName extra connection attribute
20260	// to the name of this logical replication slot. For more information, see Extra
20261	// Connection Attributes When Using PostgreSQL as a Source for DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib).
20262	CdcStartPosition *string `type:"string"`
20263
20264	// Indicates the start time for a change data capture (CDC) operation. Use either
20265	// CdcStartTime or CdcStartPosition to specify when you want a CDC operation
20266	// to start. Specifying both values results in an error.
20267	//
20268	// Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”
20269	CdcStartTime *time.Time `type:"timestamp"`
20270
20271	// Indicates when you want a change data capture (CDC) operation to stop. The
20272	// value can be either server time or commit time.
20273	//
20274	// Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”
20275	//
20276	// Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12
20277	// “
20278	CdcStopPosition *string `type:"string"`
20279
20280	// The Amazon Resource Name (ARN) of the replication task to be started.
20281	//
20282	// ReplicationTaskArn is a required field
20283	ReplicationTaskArn *string `type:"string" required:"true"`
20284
20285	// A type of replication task.
20286	//
20287	// StartReplicationTaskType is a required field
20288	StartReplicationTaskType *string `type:"string" required:"true" enum:"StartReplicationTaskTypeValue"`
20289}
20290
20291// String returns the string representation.
20292//
20293// API parameter values that are decorated as "sensitive" in the API will not
20294// be included in the string output. The member name will be present, but the
20295// value will be replaced with "sensitive".
20296func (s StartReplicationTaskInput) String() string {
20297	return awsutil.Prettify(s)
20298}
20299
20300// GoString returns the string representation.
20301//
20302// API parameter values that are decorated as "sensitive" in the API will not
20303// be included in the string output. The member name will be present, but the
20304// value will be replaced with "sensitive".
20305func (s StartReplicationTaskInput) GoString() string {
20306	return s.String()
20307}
20308
20309// Validate inspects the fields of the type to determine if they are valid.
20310func (s *StartReplicationTaskInput) Validate() error {
20311	invalidParams := request.ErrInvalidParams{Context: "StartReplicationTaskInput"}
20312	if s.ReplicationTaskArn == nil {
20313		invalidParams.Add(request.NewErrParamRequired("ReplicationTaskArn"))
20314	}
20315	if s.StartReplicationTaskType == nil {
20316		invalidParams.Add(request.NewErrParamRequired("StartReplicationTaskType"))
20317	}
20318
20319	if invalidParams.Len() > 0 {
20320		return invalidParams
20321	}
20322	return nil
20323}
20324
20325// SetCdcStartPosition sets the CdcStartPosition field's value.
20326func (s *StartReplicationTaskInput) SetCdcStartPosition(v string) *StartReplicationTaskInput {
20327	s.CdcStartPosition = &v
20328	return s
20329}
20330
20331// SetCdcStartTime sets the CdcStartTime field's value.
20332func (s *StartReplicationTaskInput) SetCdcStartTime(v time.Time) *StartReplicationTaskInput {
20333	s.CdcStartTime = &v
20334	return s
20335}
20336
20337// SetCdcStopPosition sets the CdcStopPosition field's value.
20338func (s *StartReplicationTaskInput) SetCdcStopPosition(v string) *StartReplicationTaskInput {
20339	s.CdcStopPosition = &v
20340	return s
20341}
20342
20343// SetReplicationTaskArn sets the ReplicationTaskArn field's value.
20344func (s *StartReplicationTaskInput) SetReplicationTaskArn(v string) *StartReplicationTaskInput {
20345	s.ReplicationTaskArn = &v
20346	return s
20347}
20348
20349// SetStartReplicationTaskType sets the StartReplicationTaskType field's value.
20350func (s *StartReplicationTaskInput) SetStartReplicationTaskType(v string) *StartReplicationTaskInput {
20351	s.StartReplicationTaskType = &v
20352	return s
20353}
20354
20355type StartReplicationTaskOutput struct {
20356	_ struct{} `type:"structure"`
20357
20358	// The replication task started.
20359	ReplicationTask *ReplicationTask `type:"structure"`
20360}
20361
20362// String returns the string representation.
20363//
20364// API parameter values that are decorated as "sensitive" in the API will not
20365// be included in the string output. The member name will be present, but the
20366// value will be replaced with "sensitive".
20367func (s StartReplicationTaskOutput) String() string {
20368	return awsutil.Prettify(s)
20369}
20370
20371// GoString returns the string representation.
20372//
20373// API parameter values that are decorated as "sensitive" in the API will not
20374// be included in the string output. The member name will be present, but the
20375// value will be replaced with "sensitive".
20376func (s StartReplicationTaskOutput) GoString() string {
20377	return s.String()
20378}
20379
20380// SetReplicationTask sets the ReplicationTask field's value.
20381func (s *StartReplicationTaskOutput) SetReplicationTask(v *ReplicationTask) *StartReplicationTaskOutput {
20382	s.ReplicationTask = v
20383	return s
20384}
20385
20386type StopReplicationTaskInput struct {
20387	_ struct{} `type:"structure"`
20388
20389	// The Amazon Resource Name(ARN) of the replication task to be stopped.
20390	//
20391	// ReplicationTaskArn is a required field
20392	ReplicationTaskArn *string `type:"string" required:"true"`
20393}
20394
20395// String returns the string representation.
20396//
20397// API parameter values that are decorated as "sensitive" in the API will not
20398// be included in the string output. The member name will be present, but the
20399// value will be replaced with "sensitive".
20400func (s StopReplicationTaskInput) String() string {
20401	return awsutil.Prettify(s)
20402}
20403
20404// GoString returns the string representation.
20405//
20406// API parameter values that are decorated as "sensitive" in the API will not
20407// be included in the string output. The member name will be present, but the
20408// value will be replaced with "sensitive".
20409func (s StopReplicationTaskInput) GoString() string {
20410	return s.String()
20411}
20412
20413// Validate inspects the fields of the type to determine if they are valid.
20414func (s *StopReplicationTaskInput) Validate() error {
20415	invalidParams := request.ErrInvalidParams{Context: "StopReplicationTaskInput"}
20416	if s.ReplicationTaskArn == nil {
20417		invalidParams.Add(request.NewErrParamRequired("ReplicationTaskArn"))
20418	}
20419
20420	if invalidParams.Len() > 0 {
20421		return invalidParams
20422	}
20423	return nil
20424}
20425
20426// SetReplicationTaskArn sets the ReplicationTaskArn field's value.
20427func (s *StopReplicationTaskInput) SetReplicationTaskArn(v string) *StopReplicationTaskInput {
20428	s.ReplicationTaskArn = &v
20429	return s
20430}
20431
20432type StopReplicationTaskOutput struct {
20433	_ struct{} `type:"structure"`
20434
20435	// The replication task stopped.
20436	ReplicationTask *ReplicationTask `type:"structure"`
20437}
20438
20439// String returns the string representation.
20440//
20441// API parameter values that are decorated as "sensitive" in the API will not
20442// be included in the string output. The member name will be present, but the
20443// value will be replaced with "sensitive".
20444func (s StopReplicationTaskOutput) String() string {
20445	return awsutil.Prettify(s)
20446}
20447
20448// GoString returns the string representation.
20449//
20450// API parameter values that are decorated as "sensitive" in the API will not
20451// be included in the string output. The member name will be present, but the
20452// value will be replaced with "sensitive".
20453func (s StopReplicationTaskOutput) GoString() string {
20454	return s.String()
20455}
20456
20457// SetReplicationTask sets the ReplicationTask field's value.
20458func (s *StopReplicationTaskOutput) SetReplicationTask(v *ReplicationTask) *StopReplicationTaskOutput {
20459	s.ReplicationTask = v
20460	return s
20461}
20462
20463// The storage quota has been exceeded.
20464type StorageQuotaExceededFault struct {
20465	_            struct{}                  `type:"structure"`
20466	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20467
20468	Message_ *string `locationName:"message" type:"string"`
20469}
20470
20471// String returns the string representation.
20472//
20473// API parameter values that are decorated as "sensitive" in the API will not
20474// be included in the string output. The member name will be present, but the
20475// value will be replaced with "sensitive".
20476func (s StorageQuotaExceededFault) String() string {
20477	return awsutil.Prettify(s)
20478}
20479
20480// GoString returns the string representation.
20481//
20482// API parameter values that are decorated as "sensitive" in the API will not
20483// be included in the string output. The member name will be present, but the
20484// value will be replaced with "sensitive".
20485func (s StorageQuotaExceededFault) GoString() string {
20486	return s.String()
20487}
20488
20489func newErrorStorageQuotaExceededFault(v protocol.ResponseMetadata) error {
20490	return &StorageQuotaExceededFault{
20491		RespMetadata: v,
20492	}
20493}
20494
20495// Code returns the exception type name.
20496func (s *StorageQuotaExceededFault) Code() string {
20497	return "StorageQuotaExceededFault"
20498}
20499
20500// Message returns the exception's message.
20501func (s *StorageQuotaExceededFault) Message() string {
20502	if s.Message_ != nil {
20503		return *s.Message_
20504	}
20505	return ""
20506}
20507
20508// OrigErr always returns nil, satisfies awserr.Error interface.
20509func (s *StorageQuotaExceededFault) OrigErr() error {
20510	return nil
20511}
20512
20513func (s *StorageQuotaExceededFault) Error() string {
20514	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
20515}
20516
20517// Status code returns the HTTP status code for the request's response error.
20518func (s *StorageQuotaExceededFault) StatusCode() int {
20519	return s.RespMetadata.StatusCode
20520}
20521
20522// RequestID returns the service's response RequestID for request.
20523func (s *StorageQuotaExceededFault) RequestID() string {
20524	return s.RespMetadata.RequestID
20525}
20526
20527// In response to a request by the DescribeReplicationSubnetGroups operation,
20528// this object identifies a subnet by its given Availability Zone, subnet identifier,
20529// and status.
20530type Subnet struct {
20531	_ struct{} `type:"structure"`
20532
20533	// The Availability Zone of the subnet.
20534	SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
20535
20536	// The subnet identifier.
20537	SubnetIdentifier *string `type:"string"`
20538
20539	// The status of the subnet.
20540	SubnetStatus *string `type:"string"`
20541}
20542
20543// String returns the string representation.
20544//
20545// API parameter values that are decorated as "sensitive" in the API will not
20546// be included in the string output. The member name will be present, but the
20547// value will be replaced with "sensitive".
20548func (s Subnet) String() string {
20549	return awsutil.Prettify(s)
20550}
20551
20552// GoString returns the string representation.
20553//
20554// API parameter values that are decorated as "sensitive" in the API will not
20555// be included in the string output. The member name will be present, but the
20556// value will be replaced with "sensitive".
20557func (s Subnet) GoString() string {
20558	return s.String()
20559}
20560
20561// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
20562func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet {
20563	s.SubnetAvailabilityZone = v
20564	return s
20565}
20566
20567// SetSubnetIdentifier sets the SubnetIdentifier field's value.
20568func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
20569	s.SubnetIdentifier = &v
20570	return s
20571}
20572
20573// SetSubnetStatus sets the SubnetStatus field's value.
20574func (s *Subnet) SetSubnetStatus(v string) *Subnet {
20575	s.SubnetStatus = &v
20576	return s
20577}
20578
20579// The specified subnet is already in use.
20580type SubnetAlreadyInUse struct {
20581	_            struct{}                  `type:"structure"`
20582	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20583
20584	Message_ *string `locationName:"message" type:"string"`
20585}
20586
20587// String returns the string representation.
20588//
20589// API parameter values that are decorated as "sensitive" in the API will not
20590// be included in the string output. The member name will be present, but the
20591// value will be replaced with "sensitive".
20592func (s SubnetAlreadyInUse) String() string {
20593	return awsutil.Prettify(s)
20594}
20595
20596// GoString returns the string representation.
20597//
20598// API parameter values that are decorated as "sensitive" in the API will not
20599// be included in the string output. The member name will be present, but the
20600// value will be replaced with "sensitive".
20601func (s SubnetAlreadyInUse) GoString() string {
20602	return s.String()
20603}
20604
20605func newErrorSubnetAlreadyInUse(v protocol.ResponseMetadata) error {
20606	return &SubnetAlreadyInUse{
20607		RespMetadata: v,
20608	}
20609}
20610
20611// Code returns the exception type name.
20612func (s *SubnetAlreadyInUse) Code() string {
20613	return "SubnetAlreadyInUse"
20614}
20615
20616// Message returns the exception's message.
20617func (s *SubnetAlreadyInUse) Message() string {
20618	if s.Message_ != nil {
20619		return *s.Message_
20620	}
20621	return ""
20622}
20623
20624// OrigErr always returns nil, satisfies awserr.Error interface.
20625func (s *SubnetAlreadyInUse) OrigErr() error {
20626	return nil
20627}
20628
20629func (s *SubnetAlreadyInUse) Error() string {
20630	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
20631}
20632
20633// Status code returns the HTTP status code for the request's response error.
20634func (s *SubnetAlreadyInUse) StatusCode() int {
20635	return s.RespMetadata.StatusCode
20636}
20637
20638// RequestID returns the service's response RequestID for request.
20639func (s *SubnetAlreadyInUse) RequestID() string {
20640	return s.RespMetadata.RequestID
20641}
20642
20643// Provides information about types of supported endpoints in response to a
20644// request by the DescribeEndpointTypes operation. This information includes
20645// the type of endpoint, the database engine name, and whether change data capture
20646// (CDC) is supported.
20647type SupportedEndpointType struct {
20648	_ struct{} `type:"structure"`
20649
20650	// The type of endpoint. Valid values are source and target.
20651	EndpointType *string `type:"string" enum:"ReplicationEndpointTypeValue"`
20652
20653	// The expanded name for the engine name. For example, if the EngineName parameter
20654	// is "aurora," this value would be "Amazon Aurora MySQL."
20655	EngineDisplayName *string `type:"string"`
20656
20657	// The database engine name. Valid values, depending on the EndpointType, include
20658	// "mysql", "oracle", "postgres", "mariadb", "aurora", "aurora-postgresql",
20659	// "redshift", "s3", "db2", "azuredb", "sybase", "dynamodb", "mongodb", "kinesis",
20660	// "kafka", "elasticsearch", "documentdb", "sqlserver", and "neptune".
20661	EngineName *string `type:"string"`
20662
20663	// The earliest DMS engine version that supports this endpoint engine. Note
20664	// that endpoint engines released with DMS versions earlier than 3.1.1 do not
20665	// return a value for this parameter.
20666	ReplicationInstanceEngineMinimumVersion *string `type:"string"`
20667
20668	// Indicates if change data capture (CDC) is supported.
20669	SupportsCDC *bool `type:"boolean"`
20670}
20671
20672// String returns the string representation.
20673//
20674// API parameter values that are decorated as "sensitive" in the API will not
20675// be included in the string output. The member name will be present, but the
20676// value will be replaced with "sensitive".
20677func (s SupportedEndpointType) String() string {
20678	return awsutil.Prettify(s)
20679}
20680
20681// GoString returns the string representation.
20682//
20683// API parameter values that are decorated as "sensitive" in the API will not
20684// be included in the string output. The member name will be present, but the
20685// value will be replaced with "sensitive".
20686func (s SupportedEndpointType) GoString() string {
20687	return s.String()
20688}
20689
20690// SetEndpointType sets the EndpointType field's value.
20691func (s *SupportedEndpointType) SetEndpointType(v string) *SupportedEndpointType {
20692	s.EndpointType = &v
20693	return s
20694}
20695
20696// SetEngineDisplayName sets the EngineDisplayName field's value.
20697func (s *SupportedEndpointType) SetEngineDisplayName(v string) *SupportedEndpointType {
20698	s.EngineDisplayName = &v
20699	return s
20700}
20701
20702// SetEngineName sets the EngineName field's value.
20703func (s *SupportedEndpointType) SetEngineName(v string) *SupportedEndpointType {
20704	s.EngineName = &v
20705	return s
20706}
20707
20708// SetReplicationInstanceEngineMinimumVersion sets the ReplicationInstanceEngineMinimumVersion field's value.
20709func (s *SupportedEndpointType) SetReplicationInstanceEngineMinimumVersion(v string) *SupportedEndpointType {
20710	s.ReplicationInstanceEngineMinimumVersion = &v
20711	return s
20712}
20713
20714// SetSupportsCDC sets the SupportsCDC field's value.
20715func (s *SupportedEndpointType) SetSupportsCDC(v bool) *SupportedEndpointType {
20716	s.SupportsCDC = &v
20717	return s
20718}
20719
20720// Provides information that defines a SAP ASE endpoint.
20721type SybaseSettings struct {
20722	_ struct{} `type:"structure"`
20723
20724	// Database name for the endpoint.
20725	DatabaseName *string `type:"string"`
20726
20727	// Endpoint connection password.
20728	//
20729	// Password is a sensitive parameter and its value will be
20730	// replaced with "sensitive" in string returned by SybaseSettings's
20731	// String and GoString methods.
20732	Password *string `type:"string" sensitive:"true"`
20733
20734	// Endpoint TCP port.
20735	Port *int64 `type:"integer"`
20736
20737	// The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as
20738	// the trusted entity and grants the required permissions to access the value
20739	// in SecretsManagerSecret. The role must allow the iam:PassRole action. SecretsManagerSecret
20740	// has the value of the Amazon Web Services Secrets Manager secret that allows
20741	// access to the SAP ASE endpoint.
20742	//
20743	// You can specify one of two sets of values for these permissions. You can
20744	// specify the values for this setting and SecretsManagerSecretId. Or you can
20745	// specify clear-text values for UserName, Password, ServerName, and Port. You
20746	// can't specify both. For more information on creating this SecretsManagerSecret
20747	// and the SecretsManagerAccessRoleArn and SecretsManagerSecretId required to
20748	// access it, see Using secrets to access Database Migration Service resources
20749	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
20750	// in the Database Migration Service User Guide.
20751	SecretsManagerAccessRoleArn *string `type:"string"`
20752
20753	// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that
20754	// contains the SAP SAE endpoint connection details.
20755	SecretsManagerSecretId *string `type:"string"`
20756
20757	// Fully qualified domain name of the endpoint.
20758	ServerName *string `type:"string"`
20759
20760	// Endpoint connection user name.
20761	Username *string `type:"string"`
20762}
20763
20764// String returns the string representation.
20765//
20766// API parameter values that are decorated as "sensitive" in the API will not
20767// be included in the string output. The member name will be present, but the
20768// value will be replaced with "sensitive".
20769func (s SybaseSettings) String() string {
20770	return awsutil.Prettify(s)
20771}
20772
20773// GoString returns the string representation.
20774//
20775// API parameter values that are decorated as "sensitive" in the API will not
20776// be included in the string output. The member name will be present, but the
20777// value will be replaced with "sensitive".
20778func (s SybaseSettings) GoString() string {
20779	return s.String()
20780}
20781
20782// SetDatabaseName sets the DatabaseName field's value.
20783func (s *SybaseSettings) SetDatabaseName(v string) *SybaseSettings {
20784	s.DatabaseName = &v
20785	return s
20786}
20787
20788// SetPassword sets the Password field's value.
20789func (s *SybaseSettings) SetPassword(v string) *SybaseSettings {
20790	s.Password = &v
20791	return s
20792}
20793
20794// SetPort sets the Port field's value.
20795func (s *SybaseSettings) SetPort(v int64) *SybaseSettings {
20796	s.Port = &v
20797	return s
20798}
20799
20800// SetSecretsManagerAccessRoleArn sets the SecretsManagerAccessRoleArn field's value.
20801func (s *SybaseSettings) SetSecretsManagerAccessRoleArn(v string) *SybaseSettings {
20802	s.SecretsManagerAccessRoleArn = &v
20803	return s
20804}
20805
20806// SetSecretsManagerSecretId sets the SecretsManagerSecretId field's value.
20807func (s *SybaseSettings) SetSecretsManagerSecretId(v string) *SybaseSettings {
20808	s.SecretsManagerSecretId = &v
20809	return s
20810}
20811
20812// SetServerName sets the ServerName field's value.
20813func (s *SybaseSettings) SetServerName(v string) *SybaseSettings {
20814	s.ServerName = &v
20815	return s
20816}
20817
20818// SetUsername sets the Username field's value.
20819func (s *SybaseSettings) SetUsername(v string) *SybaseSettings {
20820	s.Username = &v
20821	return s
20822}
20823
20824// Provides a collection of table statistics in response to a request by the
20825// DescribeTableStatistics operation.
20826type TableStatistics struct {
20827	_ struct{} `type:"structure"`
20828
20829	// The data definition language (DDL) used to build and modify the structure
20830	// of your tables.
20831	Ddls *int64 `type:"long"`
20832
20833	// The number of delete actions performed on a table.
20834	Deletes *int64 `type:"long"`
20835
20836	// The number of rows that failed conditional checks during the full load operation
20837	// (valid only for migrations where DynamoDB is the target).
20838	FullLoadCondtnlChkFailedRows *int64 `type:"long"`
20839
20840	// The time when the full load operation completed.
20841	FullLoadEndTime *time.Time `type:"timestamp"`
20842
20843	// The number of rows that failed to load during the full load operation (valid
20844	// only for migrations where DynamoDB is the target).
20845	FullLoadErrorRows *int64 `type:"long"`
20846
20847	// A value that indicates if the table was reloaded (true) or loaded as part
20848	// of a new full load operation (false).
20849	FullLoadReloaded *bool `type:"boolean"`
20850
20851	// The number of rows added during the full load operation.
20852	FullLoadRows *int64 `type:"long"`
20853
20854	// The time when the full load operation started.
20855	FullLoadStartTime *time.Time `type:"timestamp"`
20856
20857	// The number of insert actions performed on a table.
20858	Inserts *int64 `type:"long"`
20859
20860	// The last time a table was updated.
20861	LastUpdateTime *time.Time `type:"timestamp"`
20862
20863	// The schema name.
20864	SchemaName *string `type:"string"`
20865
20866	// The name of the table.
20867	TableName *string `type:"string"`
20868
20869	// The state of the tables described.
20870	//
20871	// Valid states: Table does not exist | Before load | Full load | Table completed
20872	// | Table cancelled | Table error | Table all | Table updates | Table is being
20873	// reloaded
20874	TableState *string `type:"string"`
20875
20876	// The number of update actions performed on a table.
20877	Updates *int64 `type:"long"`
20878
20879	// The number of records that failed validation.
20880	ValidationFailedRecords *int64 `type:"long"`
20881
20882	// The number of records that have yet to be validated.
20883	ValidationPendingRecords *int64 `type:"long"`
20884
20885	// The validation state of the table.
20886	//
20887	// This parameter can have the following values:
20888	//
20889	//    * Not enabled – Validation isn't enabled for the table in the migration
20890	//    task.
20891	//
20892	//    * Pending records – Some records in the table are waiting for validation.
20893	//
20894	//    * Mismatched records – Some records in the table don't match between
20895	//    the source and target.
20896	//
20897	//    * Suspended records – Some records in the table couldn't be validated.
20898	//
20899	//    * No primary key –The table couldn't be validated because it has no
20900	//    primary key.
20901	//
20902	//    * Table error – The table wasn't validated because it's in an error
20903	//    state and some data wasn't migrated.
20904	//
20905	//    * Validated – All rows in the table are validated. If the table is updated,
20906	//    the status can change from Validated.
20907	//
20908	//    * Error – The table couldn't be validated because of an unexpected error.
20909	//
20910	//    * Pending validation – The table is waiting validation.
20911	//
20912	//    * Preparing table – Preparing the table enabled in the migration task
20913	//    for validation.
20914	//
20915	//    * Pending revalidation – All rows in the table are pending validation
20916	//    after the table was updated.
20917	ValidationState *string `type:"string"`
20918
20919	// Additional details about the state of validation.
20920	ValidationStateDetails *string `type:"string"`
20921
20922	// The number of records that couldn't be validated.
20923	ValidationSuspendedRecords *int64 `type:"long"`
20924}
20925
20926// String returns the string representation.
20927//
20928// API parameter values that are decorated as "sensitive" in the API will not
20929// be included in the string output. The member name will be present, but the
20930// value will be replaced with "sensitive".
20931func (s TableStatistics) String() string {
20932	return awsutil.Prettify(s)
20933}
20934
20935// GoString returns the string representation.
20936//
20937// API parameter values that are decorated as "sensitive" in the API will not
20938// be included in the string output. The member name will be present, but the
20939// value will be replaced with "sensitive".
20940func (s TableStatistics) GoString() string {
20941	return s.String()
20942}
20943
20944// SetDdls sets the Ddls field's value.
20945func (s *TableStatistics) SetDdls(v int64) *TableStatistics {
20946	s.Ddls = &v
20947	return s
20948}
20949
20950// SetDeletes sets the Deletes field's value.
20951func (s *TableStatistics) SetDeletes(v int64) *TableStatistics {
20952	s.Deletes = &v
20953	return s
20954}
20955
20956// SetFullLoadCondtnlChkFailedRows sets the FullLoadCondtnlChkFailedRows field's value.
20957func (s *TableStatistics) SetFullLoadCondtnlChkFailedRows(v int64) *TableStatistics {
20958	s.FullLoadCondtnlChkFailedRows = &v
20959	return s
20960}
20961
20962// SetFullLoadEndTime sets the FullLoadEndTime field's value.
20963func (s *TableStatistics) SetFullLoadEndTime(v time.Time) *TableStatistics {
20964	s.FullLoadEndTime = &v
20965	return s
20966}
20967
20968// SetFullLoadErrorRows sets the FullLoadErrorRows field's value.
20969func (s *TableStatistics) SetFullLoadErrorRows(v int64) *TableStatistics {
20970	s.FullLoadErrorRows = &v
20971	return s
20972}
20973
20974// SetFullLoadReloaded sets the FullLoadReloaded field's value.
20975func (s *TableStatistics) SetFullLoadReloaded(v bool) *TableStatistics {
20976	s.FullLoadReloaded = &v
20977	return s
20978}
20979
20980// SetFullLoadRows sets the FullLoadRows field's value.
20981func (s *TableStatistics) SetFullLoadRows(v int64) *TableStatistics {
20982	s.FullLoadRows = &v
20983	return s
20984}
20985
20986// SetFullLoadStartTime sets the FullLoadStartTime field's value.
20987func (s *TableStatistics) SetFullLoadStartTime(v time.Time) *TableStatistics {
20988	s.FullLoadStartTime = &v
20989	return s
20990}
20991
20992// SetInserts sets the Inserts field's value.
20993func (s *TableStatistics) SetInserts(v int64) *TableStatistics {
20994	s.Inserts = &v
20995	return s
20996}
20997
20998// SetLastUpdateTime sets the LastUpdateTime field's value.
20999func (s *TableStatistics) SetLastUpdateTime(v time.Time) *TableStatistics {
21000	s.LastUpdateTime = &v
21001	return s
21002}
21003
21004// SetSchemaName sets the SchemaName field's value.
21005func (s *TableStatistics) SetSchemaName(v string) *TableStatistics {
21006	s.SchemaName = &v
21007	return s
21008}
21009
21010// SetTableName sets the TableName field's value.
21011func (s *TableStatistics) SetTableName(v string) *TableStatistics {
21012	s.TableName = &v
21013	return s
21014}
21015
21016// SetTableState sets the TableState field's value.
21017func (s *TableStatistics) SetTableState(v string) *TableStatistics {
21018	s.TableState = &v
21019	return s
21020}
21021
21022// SetUpdates sets the Updates field's value.
21023func (s *TableStatistics) SetUpdates(v int64) *TableStatistics {
21024	s.Updates = &v
21025	return s
21026}
21027
21028// SetValidationFailedRecords sets the ValidationFailedRecords field's value.
21029func (s *TableStatistics) SetValidationFailedRecords(v int64) *TableStatistics {
21030	s.ValidationFailedRecords = &v
21031	return s
21032}
21033
21034// SetValidationPendingRecords sets the ValidationPendingRecords field's value.
21035func (s *TableStatistics) SetValidationPendingRecords(v int64) *TableStatistics {
21036	s.ValidationPendingRecords = &v
21037	return s
21038}
21039
21040// SetValidationState sets the ValidationState field's value.
21041func (s *TableStatistics) SetValidationState(v string) *TableStatistics {
21042	s.ValidationState = &v
21043	return s
21044}
21045
21046// SetValidationStateDetails sets the ValidationStateDetails field's value.
21047func (s *TableStatistics) SetValidationStateDetails(v string) *TableStatistics {
21048	s.ValidationStateDetails = &v
21049	return s
21050}
21051
21052// SetValidationSuspendedRecords sets the ValidationSuspendedRecords field's value.
21053func (s *TableStatistics) SetValidationSuspendedRecords(v int64) *TableStatistics {
21054	s.ValidationSuspendedRecords = &v
21055	return s
21056}
21057
21058// Provides the name of the schema and table to be reloaded.
21059type TableToReload struct {
21060	_ struct{} `type:"structure"`
21061
21062	// The schema name of the table to be reloaded.
21063	//
21064	// SchemaName is a required field
21065	SchemaName *string `type:"string" required:"true"`
21066
21067	// The table name of the table to be reloaded.
21068	//
21069	// TableName is a required field
21070	TableName *string `type:"string" required:"true"`
21071}
21072
21073// String returns the string representation.
21074//
21075// API parameter values that are decorated as "sensitive" in the API will not
21076// be included in the string output. The member name will be present, but the
21077// value will be replaced with "sensitive".
21078func (s TableToReload) String() string {
21079	return awsutil.Prettify(s)
21080}
21081
21082// GoString returns the string representation.
21083//
21084// API parameter values that are decorated as "sensitive" in the API will not
21085// be included in the string output. The member name will be present, but the
21086// value will be replaced with "sensitive".
21087func (s TableToReload) GoString() string {
21088	return s.String()
21089}
21090
21091// Validate inspects the fields of the type to determine if they are valid.
21092func (s *TableToReload) Validate() error {
21093	invalidParams := request.ErrInvalidParams{Context: "TableToReload"}
21094	if s.SchemaName == nil {
21095		invalidParams.Add(request.NewErrParamRequired("SchemaName"))
21096	}
21097	if s.TableName == nil {
21098		invalidParams.Add(request.NewErrParamRequired("TableName"))
21099	}
21100
21101	if invalidParams.Len() > 0 {
21102		return invalidParams
21103	}
21104	return nil
21105}
21106
21107// SetSchemaName sets the SchemaName field's value.
21108func (s *TableToReload) SetSchemaName(v string) *TableToReload {
21109	s.SchemaName = &v
21110	return s
21111}
21112
21113// SetTableName sets the TableName field's value.
21114func (s *TableToReload) SetTableName(v string) *TableToReload {
21115	s.TableName = &v
21116	return s
21117}
21118
21119// A user-defined key-value pair that describes metadata added to an DMS resource
21120// and that is used by operations such as the following:
21121//
21122//    * AddTagsToResource
21123//
21124//    * ListTagsForResource
21125//
21126//    * RemoveTagsFromResource
21127type Tag struct {
21128	_ struct{} `type:"structure"`
21129
21130	// A key is the required name of the tag. The string value can be 1-128 Unicode
21131	// characters in length and can't be prefixed with "aws:" or "dms:". The string
21132	// can only contain only the set of Unicode letters, digits, white-space, '_',
21133	// '.', '/', '=', '+', '-' (Java regular expressions: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
21134	Key *string `type:"string"`
21135
21136	// The Amazon Resource Name (ARN) string that uniquely identifies the resource
21137	// for which the tag is created.
21138	ResourceArn *string `type:"string"`
21139
21140	// A value is the optional value of the tag. The string value can be 1-256 Unicode
21141	// characters in length and can't be prefixed with "aws:" or "dms:". The string
21142	// can only contain only the set of Unicode letters, digits, white-space, '_',
21143	// '.', '/', '=', '+', '-' (Java regular expressions: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
21144	Value *string `type:"string"`
21145}
21146
21147// String returns the string representation.
21148//
21149// API parameter values that are decorated as "sensitive" in the API will not
21150// be included in the string output. The member name will be present, but the
21151// value will be replaced with "sensitive".
21152func (s Tag) String() string {
21153	return awsutil.Prettify(s)
21154}
21155
21156// GoString returns the string representation.
21157//
21158// API parameter values that are decorated as "sensitive" in the API will not
21159// be included in the string output. The member name will be present, but the
21160// value will be replaced with "sensitive".
21161func (s Tag) GoString() string {
21162	return s.String()
21163}
21164
21165// SetKey sets the Key field's value.
21166func (s *Tag) SetKey(v string) *Tag {
21167	s.Key = &v
21168	return s
21169}
21170
21171// SetResourceArn sets the ResourceArn field's value.
21172func (s *Tag) SetResourceArn(v string) *Tag {
21173	s.ResourceArn = &v
21174	return s
21175}
21176
21177// SetValue sets the Value field's value.
21178func (s *Tag) SetValue(v string) *Tag {
21179	s.Value = &v
21180	return s
21181}
21182
21183type TestConnectionInput struct {
21184	_ struct{} `type:"structure"`
21185
21186	// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.
21187	//
21188	// EndpointArn is a required field
21189	EndpointArn *string `type:"string" required:"true"`
21190
21191	// The Amazon Resource Name (ARN) of the replication instance.
21192	//
21193	// ReplicationInstanceArn is a required field
21194	ReplicationInstanceArn *string `type:"string" required:"true"`
21195}
21196
21197// String returns the string representation.
21198//
21199// API parameter values that are decorated as "sensitive" in the API will not
21200// be included in the string output. The member name will be present, but the
21201// value will be replaced with "sensitive".
21202func (s TestConnectionInput) String() string {
21203	return awsutil.Prettify(s)
21204}
21205
21206// GoString returns the string representation.
21207//
21208// API parameter values that are decorated as "sensitive" in the API will not
21209// be included in the string output. The member name will be present, but the
21210// value will be replaced with "sensitive".
21211func (s TestConnectionInput) GoString() string {
21212	return s.String()
21213}
21214
21215// Validate inspects the fields of the type to determine if they are valid.
21216func (s *TestConnectionInput) Validate() error {
21217	invalidParams := request.ErrInvalidParams{Context: "TestConnectionInput"}
21218	if s.EndpointArn == nil {
21219		invalidParams.Add(request.NewErrParamRequired("EndpointArn"))
21220	}
21221	if s.ReplicationInstanceArn == nil {
21222		invalidParams.Add(request.NewErrParamRequired("ReplicationInstanceArn"))
21223	}
21224
21225	if invalidParams.Len() > 0 {
21226		return invalidParams
21227	}
21228	return nil
21229}
21230
21231// SetEndpointArn sets the EndpointArn field's value.
21232func (s *TestConnectionInput) SetEndpointArn(v string) *TestConnectionInput {
21233	s.EndpointArn = &v
21234	return s
21235}
21236
21237// SetReplicationInstanceArn sets the ReplicationInstanceArn field's value.
21238func (s *TestConnectionInput) SetReplicationInstanceArn(v string) *TestConnectionInput {
21239	s.ReplicationInstanceArn = &v
21240	return s
21241}
21242
21243type TestConnectionOutput struct {
21244	_ struct{} `type:"structure"`
21245
21246	// The connection tested.
21247	Connection *Connection `type:"structure"`
21248}
21249
21250// String returns the string representation.
21251//
21252// API parameter values that are decorated as "sensitive" in the API will not
21253// be included in the string output. The member name will be present, but the
21254// value will be replaced with "sensitive".
21255func (s TestConnectionOutput) String() string {
21256	return awsutil.Prettify(s)
21257}
21258
21259// GoString returns the string representation.
21260//
21261// API parameter values that are decorated as "sensitive" in the API will not
21262// be included in the string output. The member name will be present, but the
21263// value will be replaced with "sensitive".
21264func (s TestConnectionOutput) GoString() string {
21265	return s.String()
21266}
21267
21268// SetConnection sets the Connection field's value.
21269func (s *TestConnectionOutput) SetConnection(v *Connection) *TestConnectionOutput {
21270	s.Connection = v
21271	return s
21272}
21273
21274// An upgrade dependency is preventing the database migration.
21275type UpgradeDependencyFailureFault struct {
21276	_            struct{}                  `type:"structure"`
21277	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
21278
21279	Message_ *string `locationName:"message" type:"string"`
21280}
21281
21282// String returns the string representation.
21283//
21284// API parameter values that are decorated as "sensitive" in the API will not
21285// be included in the string output. The member name will be present, but the
21286// value will be replaced with "sensitive".
21287func (s UpgradeDependencyFailureFault) String() string {
21288	return awsutil.Prettify(s)
21289}
21290
21291// GoString returns the string representation.
21292//
21293// API parameter values that are decorated as "sensitive" in the API will not
21294// be included in the string output. The member name will be present, but the
21295// value will be replaced with "sensitive".
21296func (s UpgradeDependencyFailureFault) GoString() string {
21297	return s.String()
21298}
21299
21300func newErrorUpgradeDependencyFailureFault(v protocol.ResponseMetadata) error {
21301	return &UpgradeDependencyFailureFault{
21302		RespMetadata: v,
21303	}
21304}
21305
21306// Code returns the exception type name.
21307func (s *UpgradeDependencyFailureFault) Code() string {
21308	return "UpgradeDependencyFailureFault"
21309}
21310
21311// Message returns the exception's message.
21312func (s *UpgradeDependencyFailureFault) Message() string {
21313	if s.Message_ != nil {
21314		return *s.Message_
21315	}
21316	return ""
21317}
21318
21319// OrigErr always returns nil, satisfies awserr.Error interface.
21320func (s *UpgradeDependencyFailureFault) OrigErr() error {
21321	return nil
21322}
21323
21324func (s *UpgradeDependencyFailureFault) Error() string {
21325	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
21326}
21327
21328// Status code returns the HTTP status code for the request's response error.
21329func (s *UpgradeDependencyFailureFault) StatusCode() int {
21330	return s.RespMetadata.StatusCode
21331}
21332
21333// RequestID returns the service's response RequestID for request.
21334func (s *UpgradeDependencyFailureFault) RequestID() string {
21335	return s.RespMetadata.RequestID
21336}
21337
21338// Describes the status of a security group associated with the virtual private
21339// cloud (VPC) hosting your replication and DB instances.
21340type VpcSecurityGroupMembership struct {
21341	_ struct{} `type:"structure"`
21342
21343	// The status of the VPC security group.
21344	Status *string `type:"string"`
21345
21346	// The VPC security group ID.
21347	VpcSecurityGroupId *string `type:"string"`
21348}
21349
21350// String returns the string representation.
21351//
21352// API parameter values that are decorated as "sensitive" in the API will not
21353// be included in the string output. The member name will be present, but the
21354// value will be replaced with "sensitive".
21355func (s VpcSecurityGroupMembership) String() string {
21356	return awsutil.Prettify(s)
21357}
21358
21359// GoString returns the string representation.
21360//
21361// API parameter values that are decorated as "sensitive" in the API will not
21362// be included in the string output. The member name will be present, but the
21363// value will be replaced with "sensitive".
21364func (s VpcSecurityGroupMembership) GoString() string {
21365	return s.String()
21366}
21367
21368// SetStatus sets the Status field's value.
21369func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership {
21370	s.Status = &v
21371	return s
21372}
21373
21374// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
21375func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership {
21376	s.VpcSecurityGroupId = &v
21377	return s
21378}
21379
21380const (
21381	// AuthMechanismValueDefault is a AuthMechanismValue enum value
21382	AuthMechanismValueDefault = "default"
21383
21384	// AuthMechanismValueMongodbCr is a AuthMechanismValue enum value
21385	AuthMechanismValueMongodbCr = "mongodb_cr"
21386
21387	// AuthMechanismValueScramSha1 is a AuthMechanismValue enum value
21388	AuthMechanismValueScramSha1 = "scram_sha_1"
21389)
21390
21391// AuthMechanismValue_Values returns all elements of the AuthMechanismValue enum
21392func AuthMechanismValue_Values() []string {
21393	return []string{
21394		AuthMechanismValueDefault,
21395		AuthMechanismValueMongodbCr,
21396		AuthMechanismValueScramSha1,
21397	}
21398}
21399
21400const (
21401	// AuthTypeValueNo is a AuthTypeValue enum value
21402	AuthTypeValueNo = "no"
21403
21404	// AuthTypeValuePassword is a AuthTypeValue enum value
21405	AuthTypeValuePassword = "password"
21406)
21407
21408// AuthTypeValue_Values returns all elements of the AuthTypeValue enum
21409func AuthTypeValue_Values() []string {
21410	return []string{
21411		AuthTypeValueNo,
21412		AuthTypeValuePassword,
21413	}
21414}
21415
21416const (
21417	// CannedAclForObjectsValueNone is a CannedAclForObjectsValue enum value
21418	CannedAclForObjectsValueNone = "none"
21419
21420	// CannedAclForObjectsValuePrivate is a CannedAclForObjectsValue enum value
21421	CannedAclForObjectsValuePrivate = "private"
21422
21423	// CannedAclForObjectsValuePublicRead is a CannedAclForObjectsValue enum value
21424	CannedAclForObjectsValuePublicRead = "public-read"
21425
21426	// CannedAclForObjectsValuePublicReadWrite is a CannedAclForObjectsValue enum value
21427	CannedAclForObjectsValuePublicReadWrite = "public-read-write"
21428
21429	// CannedAclForObjectsValueAuthenticatedRead is a CannedAclForObjectsValue enum value
21430	CannedAclForObjectsValueAuthenticatedRead = "authenticated-read"
21431
21432	// CannedAclForObjectsValueAwsExecRead is a CannedAclForObjectsValue enum value
21433	CannedAclForObjectsValueAwsExecRead = "aws-exec-read"
21434
21435	// CannedAclForObjectsValueBucketOwnerRead is a CannedAclForObjectsValue enum value
21436	CannedAclForObjectsValueBucketOwnerRead = "bucket-owner-read"
21437
21438	// CannedAclForObjectsValueBucketOwnerFullControl is a CannedAclForObjectsValue enum value
21439	CannedAclForObjectsValueBucketOwnerFullControl = "bucket-owner-full-control"
21440)
21441
21442// CannedAclForObjectsValue_Values returns all elements of the CannedAclForObjectsValue enum
21443func CannedAclForObjectsValue_Values() []string {
21444	return []string{
21445		CannedAclForObjectsValueNone,
21446		CannedAclForObjectsValuePrivate,
21447		CannedAclForObjectsValuePublicRead,
21448		CannedAclForObjectsValuePublicReadWrite,
21449		CannedAclForObjectsValueAuthenticatedRead,
21450		CannedAclForObjectsValueAwsExecRead,
21451		CannedAclForObjectsValueBucketOwnerRead,
21452		CannedAclForObjectsValueBucketOwnerFullControl,
21453	}
21454}
21455
21456const (
21457	// CharLengthSemanticsDefault is a CharLengthSemantics enum value
21458	CharLengthSemanticsDefault = "default"
21459
21460	// CharLengthSemanticsChar is a CharLengthSemantics enum value
21461	CharLengthSemanticsChar = "char"
21462
21463	// CharLengthSemanticsByte is a CharLengthSemantics enum value
21464	CharLengthSemanticsByte = "byte"
21465)
21466
21467// CharLengthSemantics_Values returns all elements of the CharLengthSemantics enum
21468func CharLengthSemantics_Values() []string {
21469	return []string{
21470		CharLengthSemanticsDefault,
21471		CharLengthSemanticsChar,
21472		CharLengthSemanticsByte,
21473	}
21474}
21475
21476const (
21477	// CompressionTypeValueNone is a CompressionTypeValue enum value
21478	CompressionTypeValueNone = "none"
21479
21480	// CompressionTypeValueGzip is a CompressionTypeValue enum value
21481	CompressionTypeValueGzip = "gzip"
21482)
21483
21484// CompressionTypeValue_Values returns all elements of the CompressionTypeValue enum
21485func CompressionTypeValue_Values() []string {
21486	return []string{
21487		CompressionTypeValueNone,
21488		CompressionTypeValueGzip,
21489	}
21490}
21491
21492const (
21493	// DataFormatValueCsv is a DataFormatValue enum value
21494	DataFormatValueCsv = "csv"
21495
21496	// DataFormatValueParquet is a DataFormatValue enum value
21497	DataFormatValueParquet = "parquet"
21498)
21499
21500// DataFormatValue_Values returns all elements of the DataFormatValue enum
21501func DataFormatValue_Values() []string {
21502	return []string{
21503		DataFormatValueCsv,
21504		DataFormatValueParquet,
21505	}
21506}
21507
21508const (
21509	// DatePartitionDelimiterValueSlash is a DatePartitionDelimiterValue enum value
21510	DatePartitionDelimiterValueSlash = "SLASH"
21511
21512	// DatePartitionDelimiterValueUnderscore is a DatePartitionDelimiterValue enum value
21513	DatePartitionDelimiterValueUnderscore = "UNDERSCORE"
21514
21515	// DatePartitionDelimiterValueDash is a DatePartitionDelimiterValue enum value
21516	DatePartitionDelimiterValueDash = "DASH"
21517
21518	// DatePartitionDelimiterValueNone is a DatePartitionDelimiterValue enum value
21519	DatePartitionDelimiterValueNone = "NONE"
21520)
21521
21522// DatePartitionDelimiterValue_Values returns all elements of the DatePartitionDelimiterValue enum
21523func DatePartitionDelimiterValue_Values() []string {
21524	return []string{
21525		DatePartitionDelimiterValueSlash,
21526		DatePartitionDelimiterValueUnderscore,
21527		DatePartitionDelimiterValueDash,
21528		DatePartitionDelimiterValueNone,
21529	}
21530}
21531
21532const (
21533	// DatePartitionSequenceValueYyyymmdd is a DatePartitionSequenceValue enum value
21534	DatePartitionSequenceValueYyyymmdd = "YYYYMMDD"
21535
21536	// DatePartitionSequenceValueYyyymmddhh is a DatePartitionSequenceValue enum value
21537	DatePartitionSequenceValueYyyymmddhh = "YYYYMMDDHH"
21538
21539	// DatePartitionSequenceValueYyyymm is a DatePartitionSequenceValue enum value
21540	DatePartitionSequenceValueYyyymm = "YYYYMM"
21541
21542	// DatePartitionSequenceValueMmyyyydd is a DatePartitionSequenceValue enum value
21543	DatePartitionSequenceValueMmyyyydd = "MMYYYYDD"
21544
21545	// DatePartitionSequenceValueDdmmyyyy is a DatePartitionSequenceValue enum value
21546	DatePartitionSequenceValueDdmmyyyy = "DDMMYYYY"
21547)
21548
21549// DatePartitionSequenceValue_Values returns all elements of the DatePartitionSequenceValue enum
21550func DatePartitionSequenceValue_Values() []string {
21551	return []string{
21552		DatePartitionSequenceValueYyyymmdd,
21553		DatePartitionSequenceValueYyyymmddhh,
21554		DatePartitionSequenceValueYyyymm,
21555		DatePartitionSequenceValueMmyyyydd,
21556		DatePartitionSequenceValueDdmmyyyy,
21557	}
21558}
21559
21560const (
21561	// DmsSslModeValueNone is a DmsSslModeValue enum value
21562	DmsSslModeValueNone = "none"
21563
21564	// DmsSslModeValueRequire is a DmsSslModeValue enum value
21565	DmsSslModeValueRequire = "require"
21566
21567	// DmsSslModeValueVerifyCa is a DmsSslModeValue enum value
21568	DmsSslModeValueVerifyCa = "verify-ca"
21569
21570	// DmsSslModeValueVerifyFull is a DmsSslModeValue enum value
21571	DmsSslModeValueVerifyFull = "verify-full"
21572)
21573
21574// DmsSslModeValue_Values returns all elements of the DmsSslModeValue enum
21575func DmsSslModeValue_Values() []string {
21576	return []string{
21577		DmsSslModeValueNone,
21578		DmsSslModeValueRequire,
21579		DmsSslModeValueVerifyCa,
21580		DmsSslModeValueVerifyFull,
21581	}
21582}
21583
21584const (
21585	// EncodingTypeValuePlain is a EncodingTypeValue enum value
21586	EncodingTypeValuePlain = "plain"
21587
21588	// EncodingTypeValuePlainDictionary is a EncodingTypeValue enum value
21589	EncodingTypeValuePlainDictionary = "plain-dictionary"
21590
21591	// EncodingTypeValueRleDictionary is a EncodingTypeValue enum value
21592	EncodingTypeValueRleDictionary = "rle-dictionary"
21593)
21594
21595// EncodingTypeValue_Values returns all elements of the EncodingTypeValue enum
21596func EncodingTypeValue_Values() []string {
21597	return []string{
21598		EncodingTypeValuePlain,
21599		EncodingTypeValuePlainDictionary,
21600		EncodingTypeValueRleDictionary,
21601	}
21602}
21603
21604const (
21605	// EncryptionModeValueSseS3 is a EncryptionModeValue enum value
21606	EncryptionModeValueSseS3 = "sse-s3"
21607
21608	// EncryptionModeValueSseKms is a EncryptionModeValue enum value
21609	EncryptionModeValueSseKms = "sse-kms"
21610)
21611
21612// EncryptionModeValue_Values returns all elements of the EncryptionModeValue enum
21613func EncryptionModeValue_Values() []string {
21614	return []string{
21615		EncryptionModeValueSseS3,
21616		EncryptionModeValueSseKms,
21617	}
21618}
21619
21620const (
21621	// EndpointSettingTypeValueString is a EndpointSettingTypeValue enum value
21622	EndpointSettingTypeValueString = "string"
21623
21624	// EndpointSettingTypeValueBoolean is a EndpointSettingTypeValue enum value
21625	EndpointSettingTypeValueBoolean = "boolean"
21626
21627	// EndpointSettingTypeValueInteger is a EndpointSettingTypeValue enum value
21628	EndpointSettingTypeValueInteger = "integer"
21629
21630	// EndpointSettingTypeValueEnum is a EndpointSettingTypeValue enum value
21631	EndpointSettingTypeValueEnum = "enum"
21632)
21633
21634// EndpointSettingTypeValue_Values returns all elements of the EndpointSettingTypeValue enum
21635func EndpointSettingTypeValue_Values() []string {
21636	return []string{
21637		EndpointSettingTypeValueString,
21638		EndpointSettingTypeValueBoolean,
21639		EndpointSettingTypeValueInteger,
21640		EndpointSettingTypeValueEnum,
21641	}
21642}
21643
21644const (
21645	// KafkaSecurityProtocolPlaintext is a KafkaSecurityProtocol enum value
21646	KafkaSecurityProtocolPlaintext = "plaintext"
21647
21648	// KafkaSecurityProtocolSslAuthentication is a KafkaSecurityProtocol enum value
21649	KafkaSecurityProtocolSslAuthentication = "ssl-authentication"
21650
21651	// KafkaSecurityProtocolSslEncryption is a KafkaSecurityProtocol enum value
21652	KafkaSecurityProtocolSslEncryption = "ssl-encryption"
21653
21654	// KafkaSecurityProtocolSaslSsl is a KafkaSecurityProtocol enum value
21655	KafkaSecurityProtocolSaslSsl = "sasl-ssl"
21656)
21657
21658// KafkaSecurityProtocol_Values returns all elements of the KafkaSecurityProtocol enum
21659func KafkaSecurityProtocol_Values() []string {
21660	return []string{
21661		KafkaSecurityProtocolPlaintext,
21662		KafkaSecurityProtocolSslAuthentication,
21663		KafkaSecurityProtocolSslEncryption,
21664		KafkaSecurityProtocolSaslSsl,
21665	}
21666}
21667
21668const (
21669	// MessageFormatValueJson is a MessageFormatValue enum value
21670	MessageFormatValueJson = "json"
21671
21672	// MessageFormatValueJsonUnformatted is a MessageFormatValue enum value
21673	MessageFormatValueJsonUnformatted = "json-unformatted"
21674)
21675
21676// MessageFormatValue_Values returns all elements of the MessageFormatValue enum
21677func MessageFormatValue_Values() []string {
21678	return []string{
21679		MessageFormatValueJson,
21680		MessageFormatValueJsonUnformatted,
21681	}
21682}
21683
21684const (
21685	// MigrationTypeValueFullLoad is a MigrationTypeValue enum value
21686	MigrationTypeValueFullLoad = "full-load"
21687
21688	// MigrationTypeValueCdc is a MigrationTypeValue enum value
21689	MigrationTypeValueCdc = "cdc"
21690
21691	// MigrationTypeValueFullLoadAndCdc is a MigrationTypeValue enum value
21692	MigrationTypeValueFullLoadAndCdc = "full-load-and-cdc"
21693)
21694
21695// MigrationTypeValue_Values returns all elements of the MigrationTypeValue enum
21696func MigrationTypeValue_Values() []string {
21697	return []string{
21698		MigrationTypeValueFullLoad,
21699		MigrationTypeValueCdc,
21700		MigrationTypeValueFullLoadAndCdc,
21701	}
21702}
21703
21704const (
21705	// NestingLevelValueNone is a NestingLevelValue enum value
21706	NestingLevelValueNone = "none"
21707
21708	// NestingLevelValueOne is a NestingLevelValue enum value
21709	NestingLevelValueOne = "one"
21710)
21711
21712// NestingLevelValue_Values returns all elements of the NestingLevelValue enum
21713func NestingLevelValue_Values() []string {
21714	return []string{
21715		NestingLevelValueNone,
21716		NestingLevelValueOne,
21717	}
21718}
21719
21720const (
21721	// ParquetVersionValueParquet10 is a ParquetVersionValue enum value
21722	ParquetVersionValueParquet10 = "parquet-1-0"
21723
21724	// ParquetVersionValueParquet20 is a ParquetVersionValue enum value
21725	ParquetVersionValueParquet20 = "parquet-2-0"
21726)
21727
21728// ParquetVersionValue_Values returns all elements of the ParquetVersionValue enum
21729func ParquetVersionValue_Values() []string {
21730	return []string{
21731		ParquetVersionValueParquet10,
21732		ParquetVersionValueParquet20,
21733	}
21734}
21735
21736const (
21737	// PluginNameValueNoPreference is a PluginNameValue enum value
21738	PluginNameValueNoPreference = "no-preference"
21739
21740	// PluginNameValueTestDecoding is a PluginNameValue enum value
21741	PluginNameValueTestDecoding = "test-decoding"
21742
21743	// PluginNameValuePglogical is a PluginNameValue enum value
21744	PluginNameValuePglogical = "pglogical"
21745)
21746
21747// PluginNameValue_Values returns all elements of the PluginNameValue enum
21748func PluginNameValue_Values() []string {
21749	return []string{
21750		PluginNameValueNoPreference,
21751		PluginNameValueTestDecoding,
21752		PluginNameValuePglogical,
21753	}
21754}
21755
21756const (
21757	// RedisAuthTypeValueNone is a RedisAuthTypeValue enum value
21758	RedisAuthTypeValueNone = "none"
21759
21760	// RedisAuthTypeValueAuthRole is a RedisAuthTypeValue enum value
21761	RedisAuthTypeValueAuthRole = "auth-role"
21762
21763	// RedisAuthTypeValueAuthToken is a RedisAuthTypeValue enum value
21764	RedisAuthTypeValueAuthToken = "auth-token"
21765)
21766
21767// RedisAuthTypeValue_Values returns all elements of the RedisAuthTypeValue enum
21768func RedisAuthTypeValue_Values() []string {
21769	return []string{
21770		RedisAuthTypeValueNone,
21771		RedisAuthTypeValueAuthRole,
21772		RedisAuthTypeValueAuthToken,
21773	}
21774}
21775
21776const (
21777	// RefreshSchemasStatusTypeValueSuccessful is a RefreshSchemasStatusTypeValue enum value
21778	RefreshSchemasStatusTypeValueSuccessful = "successful"
21779
21780	// RefreshSchemasStatusTypeValueFailed is a RefreshSchemasStatusTypeValue enum value
21781	RefreshSchemasStatusTypeValueFailed = "failed"
21782
21783	// RefreshSchemasStatusTypeValueRefreshing is a RefreshSchemasStatusTypeValue enum value
21784	RefreshSchemasStatusTypeValueRefreshing = "refreshing"
21785)
21786
21787// RefreshSchemasStatusTypeValue_Values returns all elements of the RefreshSchemasStatusTypeValue enum
21788func RefreshSchemasStatusTypeValue_Values() []string {
21789	return []string{
21790		RefreshSchemasStatusTypeValueSuccessful,
21791		RefreshSchemasStatusTypeValueFailed,
21792		RefreshSchemasStatusTypeValueRefreshing,
21793	}
21794}
21795
21796const (
21797	// ReleaseStatusValuesBeta is a ReleaseStatusValues enum value
21798	ReleaseStatusValuesBeta = "beta"
21799)
21800
21801// ReleaseStatusValues_Values returns all elements of the ReleaseStatusValues enum
21802func ReleaseStatusValues_Values() []string {
21803	return []string{
21804		ReleaseStatusValuesBeta,
21805	}
21806}
21807
21808const (
21809	// ReloadOptionValueDataReload is a ReloadOptionValue enum value
21810	ReloadOptionValueDataReload = "data-reload"
21811
21812	// ReloadOptionValueValidateOnly is a ReloadOptionValue enum value
21813	ReloadOptionValueValidateOnly = "validate-only"
21814)
21815
21816// ReloadOptionValue_Values returns all elements of the ReloadOptionValue enum
21817func ReloadOptionValue_Values() []string {
21818	return []string{
21819		ReloadOptionValueDataReload,
21820		ReloadOptionValueValidateOnly,
21821	}
21822}
21823
21824const (
21825	// ReplicationEndpointTypeValueSource is a ReplicationEndpointTypeValue enum value
21826	ReplicationEndpointTypeValueSource = "source"
21827
21828	// ReplicationEndpointTypeValueTarget is a ReplicationEndpointTypeValue enum value
21829	ReplicationEndpointTypeValueTarget = "target"
21830)
21831
21832// ReplicationEndpointTypeValue_Values returns all elements of the ReplicationEndpointTypeValue enum
21833func ReplicationEndpointTypeValue_Values() []string {
21834	return []string{
21835		ReplicationEndpointTypeValueSource,
21836		ReplicationEndpointTypeValueTarget,
21837	}
21838}
21839
21840const (
21841	// SafeguardPolicyRelyOnSqlServerReplicationAgent is a SafeguardPolicy enum value
21842	SafeguardPolicyRelyOnSqlServerReplicationAgent = "rely-on-sql-server-replication-agent"
21843
21844	// SafeguardPolicyExclusiveAutomaticTruncation is a SafeguardPolicy enum value
21845	SafeguardPolicyExclusiveAutomaticTruncation = "exclusive-automatic-truncation"
21846
21847	// SafeguardPolicySharedAutomaticTruncation is a SafeguardPolicy enum value
21848	SafeguardPolicySharedAutomaticTruncation = "shared-automatic-truncation"
21849)
21850
21851// SafeguardPolicy_Values returns all elements of the SafeguardPolicy enum
21852func SafeguardPolicy_Values() []string {
21853	return []string{
21854		SafeguardPolicyRelyOnSqlServerReplicationAgent,
21855		SafeguardPolicyExclusiveAutomaticTruncation,
21856		SafeguardPolicySharedAutomaticTruncation,
21857	}
21858}
21859
21860const (
21861	// SourceTypeReplicationInstance is a SourceType enum value
21862	SourceTypeReplicationInstance = "replication-instance"
21863)
21864
21865// SourceType_Values returns all elements of the SourceType enum
21866func SourceType_Values() []string {
21867	return []string{
21868		SourceTypeReplicationInstance,
21869	}
21870}
21871
21872const (
21873	// SslSecurityProtocolValuePlaintext is a SslSecurityProtocolValue enum value
21874	SslSecurityProtocolValuePlaintext = "plaintext"
21875
21876	// SslSecurityProtocolValueSslEncryption is a SslSecurityProtocolValue enum value
21877	SslSecurityProtocolValueSslEncryption = "ssl-encryption"
21878)
21879
21880// SslSecurityProtocolValue_Values returns all elements of the SslSecurityProtocolValue enum
21881func SslSecurityProtocolValue_Values() []string {
21882	return []string{
21883		SslSecurityProtocolValuePlaintext,
21884		SslSecurityProtocolValueSslEncryption,
21885	}
21886}
21887
21888const (
21889	// StartReplicationTaskTypeValueStartReplication is a StartReplicationTaskTypeValue enum value
21890	StartReplicationTaskTypeValueStartReplication = "start-replication"
21891
21892	// StartReplicationTaskTypeValueResumeProcessing is a StartReplicationTaskTypeValue enum value
21893	StartReplicationTaskTypeValueResumeProcessing = "resume-processing"
21894
21895	// StartReplicationTaskTypeValueReloadTarget is a StartReplicationTaskTypeValue enum value
21896	StartReplicationTaskTypeValueReloadTarget = "reload-target"
21897)
21898
21899// StartReplicationTaskTypeValue_Values returns all elements of the StartReplicationTaskTypeValue enum
21900func StartReplicationTaskTypeValue_Values() []string {
21901	return []string{
21902		StartReplicationTaskTypeValueStartReplication,
21903		StartReplicationTaskTypeValueResumeProcessing,
21904		StartReplicationTaskTypeValueReloadTarget,
21905	}
21906}
21907
21908const (
21909	// TargetDbTypeSpecificDatabase is a TargetDbType enum value
21910	TargetDbTypeSpecificDatabase = "specific-database"
21911
21912	// TargetDbTypeMultipleDatabases is a TargetDbType enum value
21913	TargetDbTypeMultipleDatabases = "multiple-databases"
21914)
21915
21916// TargetDbType_Values returns all elements of the TargetDbType enum
21917func TargetDbType_Values() []string {
21918	return []string{
21919		TargetDbTypeSpecificDatabase,
21920		TargetDbTypeMultipleDatabases,
21921	}
21922}
21923