1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// Describes a quota for an AWS account, for example, the number of replication
10// instances allowed.
11type AccountQuota struct {
12
13	// The name of the AWS DMS quota for this AWS account.
14	AccountQuotaName *string
15
16	// The maximum allowed value for the quota.
17	Max int64
18
19	// The amount currently used toward the quota maximum.
20	Used int64
21}
22
23// The name of an Availability Zone for use during database migration.
24// AvailabilityZone is an optional parameter to the CreateReplicationInstance
25// (https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationInstance.html)
26// operation, and it’s value relates to the AWS Region of an endpoint. For example,
27// the availability zone of an endpoint in the us-east-1 region might be
28// us-east-1a, us-east-1b, us-east-1c, or us-east-1d.
29type AvailabilityZone struct {
30
31	// The name of the Availability Zone.
32	Name *string
33}
34
35// The SSL certificate that can be used to encrypt connections between the
36// endpoints and the replication instance.
37type Certificate struct {
38
39	// The Amazon Resource Name (ARN) for the certificate.
40	CertificateArn *string
41
42	// The date that the certificate was created.
43	CertificateCreationDate *time.Time
44
45	// A customer-assigned name for the certificate. Identifiers must begin with a
46	// letter and must contain only ASCII letters, digits, and hyphens. They can't end
47	// with a hyphen or contain two consecutive hyphens.
48	CertificateIdentifier *string
49
50	// The owner of the certificate.
51	CertificateOwner *string
52
53	// The contents of a .pem file, which contains an X.509 certificate.
54	CertificatePem *string
55
56	// The location of an imported Oracle Wallet certificate for use with SSL.
57	CertificateWallet []byte
58
59	// The key length of the cryptographic algorithm being used.
60	KeyLength *int32
61
62	// The signing algorithm for the certificate.
63	SigningAlgorithm *string
64
65	// The beginning date that the certificate is valid.
66	ValidFromDate *time.Time
67
68	// The final date that the certificate is valid.
69	ValidToDate *time.Time
70}
71
72// Status of the connection between an endpoint and a replication instance,
73// including Amazon Resource Names (ARNs) and the last error message issued.
74type Connection struct {
75
76	// The ARN string that uniquely identifies the endpoint.
77	EndpointArn *string
78
79	// The identifier of the endpoint. Identifiers must begin with a letter and must
80	// contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or
81	// contain two consecutive hyphens.
82	EndpointIdentifier *string
83
84	// The error message when the connection last failed.
85	LastFailureMessage *string
86
87	// The ARN of the replication instance.
88	ReplicationInstanceArn *string
89
90	// The replication instance identifier. This parameter is stored as a lowercase
91	// string.
92	ReplicationInstanceIdentifier *string
93
94	// The connection status. This parameter can return one of the following values:
95	//
96	// *
97	// "successful"
98	//
99	// * "testing"
100	//
101	// * "failed"
102	//
103	// * "deleting"
104	Status *string
105}
106
107// The settings in JSON format for the DMS Transfer type source endpoint.
108type DmsTransferSettings struct {
109
110	// The name of the S3 bucket to use.
111	BucketName *string
112
113	// The IAM role that has permission to access the Amazon S3 bucket.
114	ServiceAccessRoleArn *string
115}
116
117// Provides information that defines a DocumentDB endpoint.
118type DocDbSettings struct {
119
120	// The database name on the DocumentDB source endpoint.
121	DatabaseName *string
122
123	// Indicates the number of documents to preview to determine the document
124	// organization. Use this setting when NestingLevel is set to "one". Must be a
125	// positive value greater than 0. Default value is 1000.
126	DocsToInvestigate *int32
127
128	// Specifies the document ID. Use this setting when NestingLevel is set to "none".
129	// Default value is "false".
130	ExtractDocId *bool
131
132	// The AWS KMS key identifier that is used to encrypt the content on the
133	// replication instance. If you don't specify a value for the KmsKeyId parameter,
134	// then AWS DMS uses your default encryption key. AWS KMS creates the default
135	// encryption key for your AWS account. Your AWS account has a different default
136	// encryption key for each AWS Region.
137	KmsKeyId *string
138
139	// Specifies either document or table mode. Default value is "none". Specify "none"
140	// to use document mode. Specify "one" to use table mode.
141	NestingLevel NestingLevelValue
142
143	// The password for the user account you use to access the DocumentDB source
144	// endpoint.
145	Password *string
146
147	// The port value for the DocumentDB source endpoint.
148	Port *int32
149
150	// The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as
151	// the trusted entity and grants the required permissions to access the value in
152	// SecretsManagerSecret. SecretsManagerSecret has the value of the AWS Secrets
153	// Manager secret that allows access to the DocumentDB endpoint. You can specify
154	// one of two sets of values for these permissions. You can specify the values for
155	// this setting and SecretsManagerSecretId. Or you can specify clear-text values
156	// for UserName, Password, ServerName, and Port. You can't specify both. For more
157	// information on creating this SecretsManagerSecret and the
158	// SecretsManagerAccessRoleArn and SecretsManagerSecretId required to access it,
159	// see Using secrets to access AWS Database Migration Service resources
160	// (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
161	// in the AWS Database Migration Service User Guide.
162	SecretsManagerAccessRoleArn *string
163
164	// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that
165	// contains the DocumentDB endpoint connection details.
166	SecretsManagerSecretId *string
167
168	// The name of the server on the DocumentDB source endpoint.
169	ServerName *string
170
171	// The user name you use to access the DocumentDB source endpoint.
172	Username *string
173}
174
175// Provides the Amazon Resource Name (ARN) of the AWS Identity and Access
176// Management (IAM) role used to define an Amazon DynamoDB target endpoint.
177type DynamoDbSettings struct {
178
179	// The Amazon Resource Name (ARN) used by the service access IAM role.
180	//
181	// This member is required.
182	ServiceAccessRoleArn *string
183}
184
185// Provides information that defines an Elasticsearch endpoint.
186type ElasticsearchSettings struct {
187
188	// The endpoint for the Elasticsearch cluster. AWS DMS uses HTTPS if a transport
189	// protocol (http/https) is not specified.
190	//
191	// This member is required.
192	EndpointUri *string
193
194	// The Amazon Resource Name (ARN) used by service to access the IAM role.
195	//
196	// This member is required.
197	ServiceAccessRoleArn *string
198
199	// The maximum number of seconds for which DMS retries failed API requests to the
200	// Elasticsearch cluster.
201	ErrorRetryDuration *int32
202
203	// The maximum percentage of records that can fail to be written before a full load
204	// operation stops. To avoid early failure, this counter is only effective after
205	// 1000 records are transferred. Elasticsearch also has the concept of error
206	// monitoring during the last 10 minutes of an Observation Window. If transfer of
207	// all records fail in the last 10 minutes, the full load operation stops.
208	FullLoadErrorPercentage *int32
209}
210
211// Describes an endpoint of a database instance in response to operations such as
212// the following:
213//
214// * CreateEndpoint
215//
216// * DescribeEndpoint
217//
218// * DescribeEndpointTypes
219//
220// *
221// ModifyEndpoint
222type Endpoint struct {
223
224	// The Amazon Resource Name (ARN) used for SSL connection to the endpoint.
225	CertificateArn *string
226
227	// The name of the database at the endpoint.
228	DatabaseName *string
229
230	// The settings in JSON format for the DMS transfer type of source endpoint.
231	// Possible settings include the following:
232	//
233	// * ServiceAccessRoleArn - The IAM role
234	// that has permission to access the Amazon S3 bucket.
235	//
236	// * BucketName - The name of
237	// the S3 bucket to use.
238	//
239	// * CompressionType - An optional parameter to use GZIP to
240	// compress the target files. To use GZIP, set this value to NONE (the default). To
241	// keep the files uncompressed, don't use this value.
242	//
243	// Shorthand syntax for these
244	// settings is as follows:
245	// ServiceAccessRoleArn=string,BucketName=string,CompressionType=string JSON syntax
246	// for these settings is as follows: { "ServiceAccessRoleArn": "string",
247	// "BucketName": "string", "CompressionType": "none"|"gzip" }
248	DmsTransferSettings *DmsTransferSettings
249
250	// Provides information that defines a DocumentDB endpoint.
251	DocDbSettings *DocDbSettings
252
253	// The settings for the DynamoDB target endpoint. For more information, see the
254	// DynamoDBSettings structure.
255	DynamoDbSettings *DynamoDbSettings
256
257	// The settings for the Elasticsearch source endpoint. For more information, see
258	// the ElasticsearchSettings structure.
259	ElasticsearchSettings *ElasticsearchSettings
260
261	// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.
262	EndpointArn *string
263
264	// The database endpoint identifier. Identifiers must begin with a letter and must
265	// contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or
266	// contain two consecutive hyphens.
267	EndpointIdentifier *string
268
269	// The type of endpoint. Valid values are source and target.
270	EndpointType ReplicationEndpointTypeValue
271
272	// The expanded name for the engine name. For example, if the EngineName parameter
273	// is "aurora," this value would be "Amazon Aurora MySQL."
274	EngineDisplayName *string
275
276	// The database engine name. Valid values, depending on the EndpointType, include
277	// "mysql", "oracle", "postgres", "mariadb", "aurora", "aurora-postgresql",
278	// "redshift", "s3", "db2", "azuredb", "sybase", "dynamodb", "mongodb", "kinesis",
279	// "kafka", "elasticsearch", "documentdb", "sqlserver", and "neptune".
280	EngineName *string
281
282	// Value returned by a call to CreateEndpoint that can be used for cross-account
283	// validation. Use it on a subsequent call to CreateEndpoint to create the endpoint
284	// with a cross-account.
285	ExternalId *string
286
287	// The external table definition.
288	ExternalTableDefinition *string
289
290	// Additional connection attributes used to connect to the endpoint.
291	ExtraConnectionAttributes *string
292
293	// The settings for the IBM Db2 LUW source endpoint. For more information, see the
294	// IBMDb2Settings structure.
295	IBMDb2Settings *IBMDb2Settings
296
297	// The settings for the Apache Kafka target endpoint. For more information, see the
298	// KafkaSettings structure.
299	KafkaSettings *KafkaSettings
300
301	// The settings for the Amazon Kinesis target endpoint. For more information, see
302	// the KinesisSettings structure.
303	KinesisSettings *KinesisSettings
304
305	// An AWS KMS key identifier that is used to encrypt the connection parameters for
306	// the endpoint. If you don't specify a value for the KmsKeyId parameter, then AWS
307	// DMS uses your default encryption key. AWS KMS creates the default encryption key
308	// for your AWS account. Your AWS account has a different default encryption key
309	// for each AWS Region.
310	KmsKeyId *string
311
312	// The settings for the Microsoft SQL Server source and target endpoint. For more
313	// information, see the MicrosoftSQLServerSettings structure.
314	MicrosoftSQLServerSettings *MicrosoftSQLServerSettings
315
316	// The settings for the MongoDB source endpoint. For more information, see the
317	// MongoDbSettings structure.
318	MongoDbSettings *MongoDbSettings
319
320	// The settings for the MySQL source and target endpoint. For more information, see
321	// the MySQLSettings structure.
322	MySQLSettings *MySQLSettings
323
324	// The settings for the Amazon Neptune target endpoint. For more information, see
325	// the NeptuneSettings structure.
326	NeptuneSettings *NeptuneSettings
327
328	// The settings for the Oracle source and target endpoint. For more information,
329	// see the OracleSettings structure.
330	OracleSettings *OracleSettings
331
332	// The port value used to access the endpoint.
333	Port *int32
334
335	// The settings for the PostgreSQL source and target endpoint. For more
336	// information, see the PostgreSQLSettings structure.
337	PostgreSQLSettings *PostgreSQLSettings
338
339	// Settings for the Amazon Redshift endpoint.
340	RedshiftSettings *RedshiftSettings
341
342	// The settings for the S3 target endpoint. For more information, see the
343	// S3Settings structure.
344	S3Settings *S3Settings
345
346	// The name of the server at the endpoint.
347	ServerName *string
348
349	// The Amazon Resource Name (ARN) used by the service access IAM role.
350	ServiceAccessRoleArn *string
351
352	// The SSL mode used to connect to the endpoint. The default value is none.
353	SslMode DmsSslModeValue
354
355	// The status of the endpoint.
356	Status *string
357
358	// The settings for the SAP ASE source and target endpoint. For more information,
359	// see the SybaseSettings structure.
360	SybaseSettings *SybaseSettings
361
362	// The user name used to connect to the endpoint.
363	Username *string
364}
365
366// Describes an identifiable significant activity that affects a replication
367// instance or task. This object can provide the message, the available event
368// categories, the date and source of the event, and the AWS DMS resource type.
369type Event struct {
370
371	// The date of the event.
372	Date *time.Time
373
374	// The event categories available for the specified source type.
375	EventCategories []string
376
377	// The event message.
378	Message *string
379
380	// The identifier of an event source.
381	SourceIdentifier *string
382
383	// The type of AWS DMS resource that generates events. Valid values:
384	// replication-instance | endpoint | replication-task
385	SourceType SourceType
386}
387
388// Lists categories of events subscribed to, and generated by, the applicable AWS
389// DMS resource type. This data type appears in response to the
390// DescribeEventCategories
391// (https://docs.aws.amazon.com/dms/latest/APIReference/API_EventCategoryGroup.html)
392// action.
393type EventCategoryGroup struct {
394
395	// A list of event categories from a source type that you've chosen.
396	EventCategories []string
397
398	// The type of AWS DMS resource that generates events. Valid values:
399	// replication-instance | replication-server | security-group | replication-task
400	SourceType *string
401}
402
403// Describes an event notification subscription created by the
404// CreateEventSubscription operation.
405type EventSubscription struct {
406
407	// The AWS DMS event notification subscription Id.
408	CustSubscriptionId *string
409
410	// The AWS customer account associated with the AWS DMS event notification
411	// subscription.
412	CustomerAwsId *string
413
414	// Boolean value that indicates if the event subscription is enabled.
415	Enabled bool
416
417	// A lists of event categories.
418	EventCategoriesList []string
419
420	// The topic ARN of the AWS DMS event notification subscription.
421	SnsTopicArn *string
422
423	// A list of source Ids for the event subscription.
424	SourceIdsList []string
425
426	// The type of AWS DMS resource that generates events. Valid values:
427	// replication-instance | replication-server | security-group | replication-task
428	SourceType *string
429
430	// The status of the AWS DMS event notification subscription. Constraints: Can be
431	// one of the following: creating | modifying | deleting | active | no-permission |
432	// topic-not-exist The status "no-permission" indicates that AWS DMS no longer has
433	// permission to post to the SNS topic. The status "topic-not-exist" indicates that
434	// the topic was deleted after the subscription was created.
435	Status *string
436
437	// The time the AWS DMS event notification subscription was created.
438	SubscriptionCreationTime *string
439}
440
441// Identifies the name and value of a filter object. This filter is used to limit
442// the number and type of AWS DMS objects that are returned for a particular
443// Describe* call or similar operation. Filters are used as an optional parameter
444// for certain API operations.
445type Filter struct {
446
447	// The name of the filter as specified for a Describe* or similar operation.
448	//
449	// This member is required.
450	Name *string
451
452	// The filter value, which can specify one or more values used to narrow the
453	// returned results.
454	//
455	// This member is required.
456	Values []string
457}
458
459// Provides information that defines an IBM Db2 LUW endpoint.
460type IBMDb2Settings struct {
461
462	// For ongoing replication (CDC), use CurrentLSN to specify a log sequence number
463	// (LSN) where you want the replication to start.
464	CurrentLsn *string
465
466	// Database name for the endpoint.
467	DatabaseName *string
468
469	// Maximum number of bytes per read, as a NUMBER value. The default is 64 KB.
470	MaxKBytesPerRead *int32
471
472	// Endpoint connection password.
473	Password *string
474
475	// Endpoint TCP port.
476	Port *int32
477
478	// The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as
479	// the trusted entity and grants the required permissions to access the value in
480	// SecretsManagerSecret. SecretsManagerSecret has the value of the AWS Secrets
481	// Manager secret that allows access to the Db2 LUW endpoint. You can specify one
482	// of two sets of values for these permissions. You can specify the values for this
483	// setting and SecretsManagerSecretId. Or you can specify clear-text values for
484	// UserName, Password, ServerName, and Port. You can't specify both. For more
485	// information on creating this SecretsManagerSecret and the
486	// SecretsManagerAccessRoleArn and SecretsManagerSecretId required to access it,
487	// see Using secrets to access AWS Database Migration Service resources
488	// (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
489	// in the AWS Database Migration Service User Guide.
490	SecretsManagerAccessRoleArn *string
491
492	// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that
493	// contains the Db2 LUW endpoint connection details.
494	SecretsManagerSecretId *string
495
496	// Fully qualified domain name of the endpoint.
497	ServerName *string
498
499	// Enables ongoing replication (CDC) as a BOOLEAN value. The default is true.
500	SetDataCaptureChanges *bool
501
502	// Endpoint connection user name.
503	Username *string
504}
505
506// Provides information that describes an Apache Kafka endpoint. This information
507// includes the output format of records applied to the endpoint and details of
508// transaction and control table data information.
509type KafkaSettings struct {
510
511	// The broker location and port of the Kafka broker that hosts your Kafka instance.
512	// Specify the broker in the form  broker-hostname-or-ip:port . For example,
513	// "ec2-12-345-678-901.compute-1.amazonaws.com:2345".
514	Broker *string
515
516	// Shows detailed control information for table definition, column definition, and
517	// table and column changes in the Kafka message output. The default is false.
518	IncludeControlDetails *bool
519
520	// Include NULL and empty columns for records migrated to the endpoint. The default
521	// is false.
522	IncludeNullAndEmpty *bool
523
524	// Shows the partition value within the Kafka message output, unless the partition
525	// type is schema-table-type. The default is false.
526	IncludePartitionValue *bool
527
528	// Includes any data definition language (DDL) operations that change the table in
529	// the control data, such as rename-table, drop-table, add-column, drop-column, and
530	// rename-column. The default is false.
531	IncludeTableAlterOperations *bool
532
533	// Provides detailed transaction information from the source database. This
534	// information includes a commit timestamp, a log position, and values for
535	// transaction_id, previous transaction_id, and transaction_record_id (the record
536	// offset within a transaction). The default is false.
537	IncludeTransactionDetails *bool
538
539	// The output format for the records created on the endpoint. The message format is
540	// JSON (default) or JSON_UNFORMATTED (a single line with no tab).
541	MessageFormat MessageFormatValue
542
543	// The maximum size in bytes for records created on the endpoint The default is
544	// 1,000,000.
545	MessageMaxBytes *int32
546
547	// Prefixes schema and table names to partition values, when the partition type is
548	// primary-key-type. Doing this increases data distribution among Kafka partitions.
549	// For example, suppose that a SysBench schema has thousands of tables and each
550	// table has only limited range for a primary key. In this case, the same primary
551	// key is sent from thousands of tables to the same partition, which causes
552	// throttling. The default is false.
553	PartitionIncludeSchemaTable *bool
554
555	// The topic to which you migrate the data. If you don't specify a topic, AWS DMS
556	// specifies "kafka-default-topic" as the migration topic.
557	Topic *string
558}
559
560// Provides information that describes an Amazon Kinesis Data Stream endpoint. This
561// information includes the output format of records applied to the endpoint and
562// details of transaction and control table data information.
563type KinesisSettings struct {
564
565	// Shows detailed control information for table definition, column definition, and
566	// table and column changes in the Kinesis message output. The default is false.
567	IncludeControlDetails *bool
568
569	// Include NULL and empty columns for records migrated to the endpoint. The default
570	// is false.
571	IncludeNullAndEmpty *bool
572
573	// Shows the partition value within the Kinesis message output, unless the
574	// partition type is schema-table-type. The default is false.
575	IncludePartitionValue *bool
576
577	// Includes any data definition language (DDL) operations that change the table in
578	// the control data, such as rename-table, drop-table, add-column, drop-column, and
579	// rename-column. The default is false.
580	IncludeTableAlterOperations *bool
581
582	// Provides detailed transaction information from the source database. This
583	// information includes a commit timestamp, a log position, and values for
584	// transaction_id, previous transaction_id, and transaction_record_id (the record
585	// offset within a transaction). The default is false.
586	IncludeTransactionDetails *bool
587
588	// The output format for the records created on the endpoint. The message format is
589	// JSON (default) or JSON_UNFORMATTED (a single line with no tab).
590	MessageFormat MessageFormatValue
591
592	// Prefixes schema and table names to partition values, when the partition type is
593	// primary-key-type. Doing this increases data distribution among Kinesis shards.
594	// For example, suppose that a SysBench schema has thousands of tables and each
595	// table has only limited range for a primary key. In this case, the same primary
596	// key is sent from thousands of tables to the same shard, which causes throttling.
597	// The default is false.
598	PartitionIncludeSchemaTable *bool
599
600	// The Amazon Resource Name (ARN) for the AWS Identity and Access Management (IAM)
601	// role that AWS DMS uses to write to the Kinesis data stream.
602	ServiceAccessRoleArn *string
603
604	// The Amazon Resource Name (ARN) for the Amazon Kinesis Data Streams endpoint.
605	StreamArn *string
606}
607
608// Provides information that defines a Microsoft SQL Server endpoint.
609type MicrosoftSQLServerSettings struct {
610
611	// The maximum size of the packets (in bytes) used to transfer data using BCP.
612	BcpPacketSize *int32
613
614	// Specifies a file group for the AWS DMS internal tables. When the replication
615	// task starts, all the internal AWS DMS control tables (awsdms_ apply_exception,
616	// awsdms_apply, awsdms_changes) are created for the specified file group.
617	ControlTablesFileGroup *string
618
619	// Database name for the endpoint.
620	DatabaseName *string
621
622	// Endpoint connection password.
623	Password *string
624
625	// Endpoint TCP port.
626	Port *int32
627
628	// When this attribute is set to Y, AWS DMS only reads changes from transaction log
629	// backups and doesn't read from the active transaction log file during ongoing
630	// replication. Setting this parameter to Y enables you to control active
631	// transaction log file growth during full load and ongoing replication tasks.
632	// However, it can add some source latency to ongoing replication.
633	ReadBackupOnly *bool
634
635	// Use this attribute to minimize the need to access the backup log and enable AWS
636	// DMS to prevent truncation using one of the following two methods. Start
637	// transactions in the database: This is the default method. When this method is
638	// used, AWS DMS prevents TLOG truncation by mimicking a transaction in the
639	// database. As long as such a transaction is open, changes that appear after the
640	// transaction started aren't truncated. If you need Microsoft Replication to be
641	// enabled in your database, then you must choose this method. Exclusively use
642	// sp_repldone within a single task: When this method is used, AWS DMS reads the
643	// changes and then uses sp_repldone to mark the TLOG transactions as ready for
644	// truncation. Although this method doesn't involve any transactional activities,
645	// it can only be used when Microsoft Replication isn't running. Also, when using
646	// this method, only one AWS DMS task can access the database at any given time.
647	// Therefore, if you need to run parallel AWS DMS tasks against the same database,
648	// use the default method.
649	SafeguardPolicy SafeguardPolicy
650
651	// The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as
652	// the trusted entity and grants the required permissions to access the value in
653	// SecretsManagerSecret. SecretsManagerSecret has the value of the AWS Secrets
654	// Manager secret that allows access to the SQL Server endpoint. You can specify
655	// one of two sets of values for these permissions. You can specify the values for
656	// this setting and SecretsManagerSecretId. Or you can specify clear-text values
657	// for UserName, Password, ServerName, and Port. You can't specify both. For more
658	// information on creating this SecretsManagerSecret and the
659	// SecretsManagerAccessRoleArn and SecretsManagerSecretId required to access it,
660	// see Using secrets to access AWS Database Migration Service resources
661	// (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
662	// in the AWS Database Migration Service User Guide.
663	SecretsManagerAccessRoleArn *string
664
665	// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that
666	// contains the SQL Server endpoint connection details.
667	SecretsManagerSecretId *string
668
669	// Fully qualified domain name of the endpoint.
670	ServerName *string
671
672	// Use this to attribute to transfer data for full-load operations using BCP. When
673	// the target table contains an identity column that does not exist in the source
674	// table, you must disable the use BCP for loading table option.
675	UseBcpFullLoad *bool
676
677	// Endpoint connection user name.
678	Username *string
679}
680
681// Provides information that defines a MongoDB endpoint.
682type MongoDbSettings struct {
683
684	// The authentication mechanism you use to access the MongoDB source endpoint. For
685	// the default value, in MongoDB version 2.x, "default" is "mongodb_cr". For
686	// MongoDB version 3.x or later, "default" is "scram_sha_1". This setting isn't
687	// used when AuthType is set to "no".
688	AuthMechanism AuthMechanismValue
689
690	// The MongoDB database name. This setting isn't used when AuthType is set to "no".
691	// The default is "admin".
692	AuthSource *string
693
694	// The authentication type you use to access the MongoDB source endpoint. When when
695	// set to "no", user name and password parameters are not used and can be empty.
696	AuthType AuthTypeValue
697
698	// The database name on the MongoDB source endpoint.
699	DatabaseName *string
700
701	// Indicates the number of documents to preview to determine the document
702	// organization. Use this setting when NestingLevel is set to "one". Must be a
703	// positive value greater than 0. Default value is 1000.
704	DocsToInvestigate *string
705
706	// Specifies the document ID. Use this setting when NestingLevel is set to "none".
707	// Default value is "false".
708	ExtractDocId *string
709
710	// The AWS KMS key identifier that is used to encrypt the content on the
711	// replication instance. If you don't specify a value for the KmsKeyId parameter,
712	// then AWS DMS uses your default encryption key. AWS KMS creates the default
713	// encryption key for your AWS account. Your AWS account has a different default
714	// encryption key for each AWS Region.
715	KmsKeyId *string
716
717	// Specifies either document or table mode. Default value is "none". Specify "none"
718	// to use document mode. Specify "one" to use table mode.
719	NestingLevel NestingLevelValue
720
721	// The password for the user account you use to access the MongoDB source endpoint.
722	Password *string
723
724	// The port value for the MongoDB source endpoint.
725	Port *int32
726
727	// The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as
728	// the trusted entity and grants the required permissions to access the value in
729	// SecretsManagerSecret. SecretsManagerSecret has the value of the AWS Secrets
730	// Manager secret that allows access to the MongoDB endpoint. You can specify one
731	// of two sets of values for these permissions. You can specify the values for this
732	// setting and SecretsManagerSecretId. Or you can specify clear-text values for
733	// UserName, Password, ServerName, and Port. You can't specify both. For more
734	// information on creating this SecretsManagerSecret and the
735	// SecretsManagerAccessRoleArn and SecretsManagerSecretId required to access it,
736	// see Using secrets to access AWS Database Migration Service resources
737	// (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
738	// in the AWS Database Migration Service User Guide.
739	SecretsManagerAccessRoleArn *string
740
741	// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that
742	// contains the MongoDB endpoint connection details.
743	SecretsManagerSecretId *string
744
745	// The name of the server on the MongoDB source endpoint.
746	ServerName *string
747
748	// The user name you use to access the MongoDB source endpoint.
749	Username *string
750}
751
752// Provides information that defines a MySQL endpoint.
753type MySQLSettings struct {
754
755	// Specifies a script to run immediately after AWS DMS connects to the endpoint.
756	// The migration task continues running regardless if the SQL statement succeeds or
757	// fails.
758	AfterConnectScript *string
759
760	// Database name for the endpoint.
761	DatabaseName *string
762
763	// Specifies how often to check the binary log for new changes/events when the
764	// database is idle. Example: eventsPollInterval=5; In the example, AWS DMS checks
765	// for changes in the binary logs every five seconds.
766	EventsPollInterval *int32
767
768	// Specifies the maximum size (in KB) of any .csv file used to transfer data to a
769	// MySQL-compatible database. Example: maxFileSize=512
770	MaxFileSize *int32
771
772	// Improves performance when loading data into the MySQL-compatible target
773	// database. Specifies how many threads to use to load the data into the
774	// MySQL-compatible target database. Setting a large number of threads can have an
775	// adverse effect on database performance, because a separate connection is
776	// required for each thread. Example: parallelLoadThreads=1
777	ParallelLoadThreads *int32
778
779	// Endpoint connection password.
780	Password *string
781
782	// Endpoint TCP port.
783	Port *int32
784
785	// The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as
786	// the trusted entity and grants the required permissions to access the value in
787	// SecretsManagerSecret. SecretsManagerSecret has the value of the AWS Secrets
788	// Manager secret that allows access to the MySQL endpoint. You can specify one of
789	// two sets of values for these permissions. You can specify the values for this
790	// setting and SecretsManagerSecretId. Or you can specify clear-text values for
791	// UserName, Password, ServerName, and Port. You can't specify both. For more
792	// information on creating this SecretsManagerSecret and the
793	// SecretsManagerAccessRoleArn and SecretsManagerSecretId required to access it,
794	// see Using secrets to access AWS Database Migration Service resources
795	// (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
796	// in the AWS Database Migration Service User Guide.
797	SecretsManagerAccessRoleArn *string
798
799	// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that
800	// contains the MySQL endpoint connection details.
801	SecretsManagerSecretId *string
802
803	// Fully qualified domain name of the endpoint.
804	ServerName *string
805
806	// Specifies the time zone for the source MySQL database. Example:
807	// serverTimezone=US/Pacific; Note: Do not enclose time zones in single quotes.
808	ServerTimezone *string
809
810	// Specifies where to migrate source tables on the target, either to a single
811	// database or multiple databases. Example: targetDbType=MULTIPLE_DATABASES
812	TargetDbType TargetDbType
813
814	// Endpoint connection user name.
815	Username *string
816}
817
818// Provides information that defines an Amazon Neptune endpoint.
819type NeptuneSettings struct {
820
821	// A folder path where you want AWS DMS to store migrated graph data in the S3
822	// bucket specified by S3BucketName
823	//
824	// This member is required.
825	S3BucketFolder *string
826
827	// The name of the Amazon S3 bucket where AWS DMS can temporarily store migrated
828	// graph data in .csv files before bulk-loading it to the Neptune target database.
829	// AWS DMS maps the SQL source data to graph data before storing it in these .csv
830	// files.
831	//
832	// This member is required.
833	S3BucketName *string
834
835	// The number of milliseconds for AWS DMS to wait to retry a bulk-load of migrated
836	// graph data to the Neptune target database before raising an error. The default
837	// is 250.
838	ErrorRetryDuration *int32
839
840	// If you want AWS Identity and Access Management (IAM) authorization enabled for
841	// this endpoint, set this parameter to true. Then attach the appropriate IAM
842	// policy document to your service role specified by ServiceAccessRoleArn. The
843	// default is false.
844	IamAuthEnabled *bool
845
846	// The maximum size in kilobytes of migrated graph data stored in a .csv file
847	// before AWS DMS bulk-loads the data to the Neptune target database. The default
848	// is 1,048,576 KB. If the bulk load is successful, AWS DMS clears the bucket,
849	// ready to store the next batch of migrated graph data.
850	MaxFileSize *int32
851
852	// The number of times for AWS DMS to retry a bulk load of migrated graph data to
853	// the Neptune target database before raising an error. The default is 5.
854	MaxRetryCount *int32
855
856	// The Amazon Resource Name (ARN) of the service role that you created for the
857	// Neptune target endpoint. For more information, see Creating an IAM Service Role
858	// for Accessing Amazon Neptune as a Target
859	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.ServiceRole)
860	// in the AWS Database Migration Service User Guide.
861	ServiceAccessRoleArn *string
862}
863
864// Provides information that defines an Oracle endpoint.
865type OracleSettings struct {
866
867	// Set this attribute to false in order to use the Binary Reader to capture change
868	// data for an Amazon RDS for Oracle as the source. This tells the DMS instance to
869	// not access redo logs through any specified path prefix replacement using direct
870	// file access.
871	AccessAlternateDirectly *bool
872
873	// Set this attribute to set up table-level supplemental logging for the Oracle
874	// database. This attribute enables PRIMARY KEY supplemental logging on all tables
875	// selected for a migration task. If you use this option, you still need to enable
876	// database-level supplemental logging.
877	AddSupplementalLogging *bool
878
879	// Set this attribute with archivedLogDestId in a primary/ standby setup. This
880	// attribute is useful in the case of a switchover. In this case, AWS DMS needs to
881	// know which destination to get archive redo logs from to read changes. This need
882	// arises because the previous primary instance is now a standby instance after
883	// switchover.
884	AdditionalArchivedLogDestId *int32
885
886	// Set this attribute to true to enable replication of Oracle tables containing
887	// columns that are nested tables or defined types.
888	AllowSelectNestedTables *bool
889
890	// Specifies the destination of the archived redo logs. The value should be the
891	// same as the DEST_ID number in the v$archived_log table. When working with
892	// multiple log destinations (DEST_ID), we recommend that you to specify an
893	// archived redo logs location identifier. Doing this improves performance by
894	// ensuring that the correct logs are accessed from the outset.
895	ArchivedLogDestId *int32
896
897	// When this field is set to Y, AWS DMS only accesses the archived redo logs. If
898	// the archived redo logs are stored on Oracle ASM only, the AWS DMS user account
899	// needs to be granted ASM privileges.
900	ArchivedLogsOnly *bool
901
902	// For an Oracle source endpoint, your Oracle Automatic Storage Management (ASM)
903	// password. You can set this value from the  asm_user_password  value. You set
904	// this value as part of the comma-separated value that you set to the Password
905	// request parameter when you create the endpoint to access transaction logs using
906	// Binary Reader. For more information, see Configuration for change data capture
907	// (CDC) on an Oracle source database
908	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration).
909	AsmPassword *string
910
911	// For an Oracle source endpoint, your ASM server address. You can set this value
912	// from the asm_server value. You set asm_server as part of the extra connection
913	// attribute string to access an Oracle server with Binary Reader that uses ASM.
914	// For more information, see Configuration for change data capture (CDC) on an
915	// Oracle source database
916	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration).
917	AsmServer *string
918
919	// For an Oracle source endpoint, your ASM user name. You can set this value from
920	// the asm_user value. You set asm_user as part of the extra connection attribute
921	// string to access an Oracle server with Binary Reader that uses ASM. For more
922	// information, see Configuration for change data capture (CDC) on an Oracle source
923	// database
924	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration).
925	AsmUser *string
926
927	// Specifies whether the length of a character column is in bytes or in characters.
928	// To indicate that the character column length is in characters, set this
929	// attribute to CHAR. Otherwise, the character column length is in bytes. Example:
930	// charLengthSemantics=CHAR;
931	CharLengthSemantics CharLengthSemantics
932
933	// Database name for the endpoint.
934	DatabaseName *string
935
936	// When set to true, this attribute helps to increase the commit rate on the Oracle
937	// target database by writing directly to tables and not writing a trail to
938	// database logs.
939	DirectPathNoLog *bool
940
941	// When set to true, this attribute specifies a parallel load when
942	// useDirectPathFullLoad is set to Y. This attribute also only applies when you use
943	// the AWS DMS parallel load feature. Note that the target table cannot have any
944	// constraints or indexes.
945	DirectPathParallelLoad *bool
946
947	// Set this attribute to enable homogenous tablespace replication and create
948	// existing tables or indexes under the same tablespace on the target.
949	EnableHomogenousTablespace *bool
950
951	// When set to true, this attribute causes a task to fail if the actual size of an
952	// LOB column is greater than the specified LobMaxSize. If a task is set to limited
953	// LOB mode and this option is set to true, the task fails instead of truncating
954	// the LOB data.
955	FailTasksOnLobTruncation *bool
956
957	// Specifies the number scale. You can select a scale up to 38, or you can select
958	// FLOAT. By default, the NUMBER data type is converted to precision 38, scale 10.
959	// Example: numberDataTypeScale=12
960	NumberDatatypeScale *int32
961
962	// Set this string attribute to the required value in order to use the Binary
963	// Reader to capture change data for an Amazon RDS for Oracle as the source. This
964	// value specifies the default Oracle root used to access the redo logs.
965	OraclePathPrefix *string
966
967	// Set this attribute to change the number of threads that DMS configures to
968	// perform a Change Data Capture (CDC) load using Oracle Automatic Storage
969	// Management (ASM). You can specify an integer value between 2 (the default) and 8
970	// (the maximum). Use this attribute together with the readAheadBlocks attribute.
971	ParallelAsmReadThreads *int32
972
973	// Endpoint connection password.
974	Password *string
975
976	// Endpoint TCP port.
977	Port *int32
978
979	// Set this attribute to change the number of read-ahead blocks that DMS configures
980	// to perform a Change Data Capture (CDC) load using Oracle Automatic Storage
981	// Management (ASM). You can specify an integer value between 1000 (the default)
982	// and 200,000 (the maximum).
983	ReadAheadBlocks *int32
984
985	// When set to true, this attribute supports tablespace replication.
986	ReadTableSpaceName *bool
987
988	// Set this attribute to true in order to use the Binary Reader to capture change
989	// data for an Amazon RDS for Oracle as the source. This setting tells DMS instance
990	// to replace the default Oracle root with the specified usePathPrefix setting to
991	// access the redo logs.
992	ReplacePathPrefix *bool
993
994	// Specifies the number of seconds that the system waits before resending a query.
995	// Example: retryInterval=6;
996	RetryInterval *int32
997
998	// The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as
999	// the trusted entity and grants the required permissions to access the value in
1000	// SecretsManagerSecret. SecretsManagerSecret has the value of the AWS Secrets
1001	// Manager secret that allows access to the Oracle endpoint. You can specify one of
1002	// two sets of values for these permissions. You can specify the values for this
1003	// setting and SecretsManagerSecretId. Or you can specify clear-text values for
1004	// UserName, Password, ServerName, and Port. You can't specify both. For more
1005	// information on creating this SecretsManagerSecret and the
1006	// SecretsManagerAccessRoleArn and SecretsManagerSecretId required to access it,
1007	// see Using secrets to access AWS Database Migration Service resources
1008	// (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
1009	// in the AWS Database Migration Service User Guide.
1010	SecretsManagerAccessRoleArn *string
1011
1012	// Required only if your Oracle endpoint uses Advanced Storage Manager (ASM). The
1013	// full ARN of the IAM role that specifies AWS DMS as the trusted entity and grants
1014	// the required permissions to access the SecretsManagerOracleAsmSecret. This
1015	// SecretsManagerOracleAsmSecret has the secret value that allows access to the
1016	// Oracle ASM of the endpoint. You can specify one of two sets of values for these
1017	// permissions. You can specify the values for this setting and
1018	// SecretsManagerOracleAsmSecretId. Or you can specify clear-text values for
1019	// AsmUserName, AsmPassword, and AsmServerName. You can't specify both. For more
1020	// information on creating this SecretsManagerOracleAsmSecret and the
1021	// SecretsManagerOracleAsmAccessRoleArn and SecretsManagerOracleAsmSecretId
1022	// required to access it, see Using secrets to access AWS Database Migration
1023	// Service resources
1024	// (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
1025	// in the AWS Database Migration Service User Guide.
1026	SecretsManagerOracleAsmAccessRoleArn *string
1027
1028	// Required only if your Oracle endpoint uses Advanced Storage Manager (ASM). The
1029	// full ARN, partial ARN, or friendly name of the SecretsManagerOracleAsmSecret
1030	// that contains the Oracle ASM connection details for the Oracle endpoint.
1031	SecretsManagerOracleAsmSecretId *string
1032
1033	// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that
1034	// contains the Oracle endpoint connection details.
1035	SecretsManagerSecretId *string
1036
1037	// For an Oracle source endpoint, the transparent data encryption (TDE) password
1038	// required by AWM DMS to access Oracle redo logs encrypted by TDE using Binary
1039	// Reader. It is also the  TDE_Password  part of the comma-separated value you set
1040	// to the Password request parameter when you create the endpoint. The
1041	// SecurityDbEncryptian setting is related to this SecurityDbEncryptionName
1042	// setting. For more information, see  Supported encryption methods for using
1043	// Oracle as a source for AWS DMS
1044	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption)
1045	// in the AWS Database Migration Service User Guide.
1046	SecurityDbEncryption *string
1047
1048	// For an Oracle source endpoint, the name of a key used for the transparent data
1049	// encryption (TDE) of the columns and tablespaces in an Oracle source database
1050	// that is encrypted using TDE. The key value is the value of the
1051	// SecurityDbEncryption setting. For more information on setting the key name value
1052	// of SecurityDbEncryptionName, see the information and example for setting the
1053	// securityDbEncryptionName extra connection attribute in  Supported encryption
1054	// methods for using Oracle as a source for AWS DMS
1055	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption)
1056	// in the AWS Database Migration Service User Guide.
1057	SecurityDbEncryptionName *string
1058
1059	// Fully qualified domain name of the endpoint.
1060	ServerName *string
1061
1062	// Set this attribute to true in order to use the Binary Reader to capture change
1063	// data for an Amazon RDS for Oracle as the source. This tells the DMS instance to
1064	// use any specified prefix replacement to access all online redo logs.
1065	UseAlternateFolderForOnline *bool
1066
1067	// Set this string attribute to the required value in order to use the Binary
1068	// Reader to capture change data for an Amazon RDS for Oracle as the source. This
1069	// value specifies the path prefix used to replace the default Oracle root to
1070	// access the redo logs.
1071	UsePathPrefix *string
1072
1073	// Endpoint connection user name.
1074	Username *string
1075}
1076
1077// In response to the DescribeOrderableReplicationInstances operation, this object
1078// describes an available replication instance. This description includes the
1079// replication instance's type, engine version, and allocated storage.
1080type OrderableReplicationInstance struct {
1081
1082	// List of Availability Zones for this replication instance.
1083	AvailabilityZones []string
1084
1085	// The default amount of storage (in gigabytes) that is allocated for the
1086	// replication instance.
1087	DefaultAllocatedStorage int32
1088
1089	// The version of the replication engine.
1090	EngineVersion *string
1091
1092	// The amount of storage (in gigabytes) that is allocated for the replication
1093	// instance.
1094	IncludedAllocatedStorage int32
1095
1096	// The minimum amount of storage (in gigabytes) that can be allocated for the
1097	// replication instance.
1098	MaxAllocatedStorage int32
1099
1100	// The minimum amount of storage (in gigabytes) that can be allocated for the
1101	// replication instance.
1102	MinAllocatedStorage int32
1103
1104	// The value returned when the specified EngineVersion of the replication instance
1105	// is in Beta or test mode. This indicates some features might not work as
1106	// expected. AWS DMS supports the ReleaseStatus parameter in versions 3.1.4 and
1107	// later.
1108	ReleaseStatus ReleaseStatusValues
1109
1110	// The compute and memory capacity of the replication instance as defined for the
1111	// specified replication instance class. For example to specify the instance class
1112	// dms.c4.large, set this parameter to "dms.c4.large". For more information on the
1113	// settings and capacities for the available replication instance classes, see
1114	// Selecting the right AWS DMS replication instance for your migration
1115	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth).
1116	ReplicationInstanceClass *string
1117
1118	// The type of storage used by the replication instance.
1119	StorageType *string
1120}
1121
1122// Describes a maintenance action pending for an AWS DMS resource, including when
1123// and how it will be applied. This data type is a response element to the
1124// DescribePendingMaintenanceActions operation.
1125type PendingMaintenanceAction struct {
1126
1127	// The type of pending maintenance action that is available for the resource.
1128	Action *string
1129
1130	// The date of the maintenance window when the action is to be applied. The
1131	// maintenance action is applied to the resource during its first maintenance
1132	// window after this date. If this date is specified, any next-maintenance opt-in
1133	// requests are ignored.
1134	AutoAppliedAfterDate *time.Time
1135
1136	// The effective date when the pending maintenance action will be applied to the
1137	// resource. This date takes into account opt-in requests received from the
1138	// ApplyPendingMaintenanceAction API operation, and also the AutoAppliedAfterDate
1139	// and ForcedApplyDate parameter values. This value is blank if an opt-in request
1140	// has not been received and nothing has been specified for AutoAppliedAfterDate or
1141	// ForcedApplyDate.
1142	CurrentApplyDate *time.Time
1143
1144	// A description providing more detail about the maintenance action.
1145	Description *string
1146
1147	// The date when the maintenance action will be automatically applied. The
1148	// maintenance action is applied to the resource on this date regardless of the
1149	// maintenance window for the resource. If this date is specified, any immediate
1150	// opt-in requests are ignored.
1151	ForcedApplyDate *time.Time
1152
1153	// The type of opt-in request that has been received for the resource.
1154	OptInStatus *string
1155}
1156
1157// Provides information that defines a PostgreSQL endpoint.
1158type PostgreSQLSettings struct {
1159
1160	// For use with change data capture (CDC) only, this attribute has AWS DMS bypass
1161	// foreign keys and user triggers to reduce the time it takes to bulk load data.
1162	// Example: afterConnectScript=SET session_replication_role='replica'
1163	AfterConnectScript *string
1164
1165	// To capture DDL events, AWS DMS creates various artifacts in the PostgreSQL
1166	// database when the task starts. You can later remove these artifacts. If this
1167	// value is set to N, you don't have to create tables or triggers on the source
1168	// database.
1169	CaptureDdls *bool
1170
1171	// Database name for the endpoint.
1172	DatabaseName *string
1173
1174	// The schema in which the operational DDL database artifacts are created. Example:
1175	// ddlArtifactsSchema=xyzddlschema;
1176	DdlArtifactsSchema *string
1177
1178	// Sets the client statement timeout for the PostgreSQL instance, in seconds. The
1179	// default value is 60 seconds. Example: executeTimeout=100;
1180	ExecuteTimeout *int32
1181
1182	// When set to true, this value causes a task to fail if the actual size of a LOB
1183	// column is greater than the specified LobMaxSize. If task is set to Limited LOB
1184	// mode and this option is set to true, the task fails instead of truncating the
1185	// LOB data.
1186	FailTasksOnLobTruncation *bool
1187
1188	// Specifies the maximum size (in KB) of any .csv file used to transfer data to
1189	// PostgreSQL. Example: maxFileSize=512
1190	MaxFileSize *int32
1191
1192	// Endpoint connection password.
1193	Password *string
1194
1195	// Endpoint TCP port.
1196	Port *int32
1197
1198	// The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as
1199	// the trusted entity and grants the required permissions to access the value in
1200	// SecretsManagerSecret. SecretsManagerSecret has the value of the AWS Secrets
1201	// Manager secret that allows access to the PostgreSQL endpoint. You can specify
1202	// one of two sets of values for these permissions. You can specify the values for
1203	// this setting and SecretsManagerSecretId. Or you can specify clear-text values
1204	// for UserName, Password, ServerName, and Port. You can't specify both. For more
1205	// information on creating this SecretsManagerSecret and the
1206	// SecretsManagerAccessRoleArn and SecretsManagerSecretId required to access it,
1207	// see Using secrets to access AWS Database Migration Service resources
1208	// (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
1209	// in the AWS Database Migration Service User Guide.
1210	SecretsManagerAccessRoleArn *string
1211
1212	// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that
1213	// contains the PostgreSQL endpoint connection details.
1214	SecretsManagerSecretId *string
1215
1216	// Fully qualified domain name of the endpoint.
1217	ServerName *string
1218
1219	// Sets the name of a previously created logical replication slot for a CDC load of
1220	// the PostgreSQL source instance. When used with the AWS DMS API CdcStartPosition
1221	// request parameter, this attribute also enables using native CDC start points.
1222	SlotName *string
1223
1224	// Endpoint connection user name.
1225	Username *string
1226}
1227
1228// Provides information that defines an Amazon Redshift endpoint.
1229type RedshiftSettings struct {
1230
1231	// A value that indicates to allow any date format, including invalid formats such
1232	// as 00/00/00 00:00:00, to be loaded without generating an error. You can choose
1233	// true or false (the default). This parameter applies only to TIMESTAMP and DATE
1234	// columns. Always use ACCEPTANYDATE with the DATEFORMAT parameter. If the date
1235	// format for the data doesn't match the DATEFORMAT specification, Amazon Redshift
1236	// inserts a NULL value into that field.
1237	AcceptAnyDate *bool
1238
1239	// Code to run after connecting. This parameter should contain the code itself, not
1240	// the name of a file containing the code.
1241	AfterConnectScript *string
1242
1243	// An S3 folder where the comma-separated-value (.csv) files are stored before
1244	// being uploaded to the target Redshift cluster. For full load mode, AWS DMS
1245	// converts source records into .csv files and loads them to the
1246	// BucketFolder/TableID path. AWS DMS uses the Redshift COPY command to upload the
1247	// .csv files to the target table. The files are deleted once the COPY operation
1248	// has finished. For more information, see COPY
1249	// (https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) in the Amazon
1250	// Redshift Database Developer Guide. For change-data-capture (CDC) mode, AWS DMS
1251	// creates a NetChanges table, and loads the .csv files to this
1252	// BucketFolder/NetChangesTableID path.
1253	BucketFolder *string
1254
1255	// The name of the intermediate S3 bucket used to store .csv files before uploading
1256	// data to Redshift.
1257	BucketName *string
1258
1259	// If Amazon Redshift is configured to support case sensitive schema names, set
1260	// CaseSensitiveNames to true. The default is false.
1261	CaseSensitiveNames *bool
1262
1263	// If you set CompUpdate to true Amazon Redshift applies automatic compression if
1264	// the table is empty. This applies even if the table columns already have
1265	// encodings other than RAW. If you set CompUpdate to false, automatic compression
1266	// is disabled and existing column encodings aren't changed. The default is true.
1267	CompUpdate *bool
1268
1269	// A value that sets the amount of time to wait (in milliseconds) before timing
1270	// out, beginning from when you initially establish a connection.
1271	ConnectionTimeout *int32
1272
1273	// The name of the Amazon Redshift data warehouse (service) that you are working
1274	// with.
1275	DatabaseName *string
1276
1277	// The date format that you are using. Valid values are auto (case-sensitive), your
1278	// date format string enclosed in quotes, or NULL. If this parameter is left unset
1279	// (NULL), it defaults to a format of 'YYYY-MM-DD'. Using auto recognizes most
1280	// strings, even some that aren't supported when you use a date format string. If
1281	// your date and time values use formats different from each other, set this to
1282	// auto.
1283	DateFormat *string
1284
1285	// A value that specifies whether AWS DMS should migrate empty CHAR and VARCHAR
1286	// fields as NULL. A value of true sets empty CHAR and VARCHAR fields to null. The
1287	// default is false.
1288	EmptyAsNull *bool
1289
1290	// The type of server-side encryption that you want to use for your data. This
1291	// encryption type is part of the endpoint settings or the extra connections
1292	// attributes for Amazon S3. You can choose either SSE_S3 (the default) or SSE_KMS.
1293	// For the ModifyEndpoint operation, you can change the existing value of the
1294	// EncryptionMode parameter from SSE_KMS to SSE_S3. But you can’t change the
1295	// existing value from SSE_S3 to SSE_KMS. To use SSE_S3, create an AWS Identity and
1296	// Access Management (IAM) role with a policy that allows "arn:aws:s3:::*" to use
1297	// the following actions: "s3:PutObject", "s3:ListBucket"
1298	EncryptionMode EncryptionModeValue
1299
1300	// This setting is only valid for a full-load migration task. Set ExplicitIds to
1301	// true to have tables with IDENTITY columns override their auto-generated values
1302	// with explicit values loaded from the source data files used to populate the
1303	// tables. The default is false.
1304	ExplicitIds *bool
1305
1306	// The number of threads used to upload a single file. This parameter accepts a
1307	// value from 1 through 64. It defaults to 10. The number of parallel streams used
1308	// to upload a single .csv file to an S3 bucket using S3 Multipart Upload. For more
1309	// information, see Multipart upload overview
1310	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html).
1311	// FileTransferUploadStreams accepts a value from 1 through 64. It defaults to 10.
1312	FileTransferUploadStreams *int32
1313
1314	// The amount of time to wait (in milliseconds) before timing out of operations
1315	// performed by AWS DMS on a Redshift cluster, such as Redshift COPY, INSERT,
1316	// DELETE, and UPDATE.
1317	LoadTimeout *int32
1318
1319	// The maximum size (in KB) of any .csv file used to load data on an S3 bucket and
1320	// transfer data to Amazon Redshift. It defaults to 1048576KB (1 GB).
1321	MaxFileSize *int32
1322
1323	// The password for the user named in the username property.
1324	Password *string
1325
1326	// The port number for Amazon Redshift. The default value is 5439.
1327	Port *int32
1328
1329	// A value that specifies to remove surrounding quotation marks from strings in the
1330	// incoming data. All characters within the quotation marks, including delimiters,
1331	// are retained. Choose true to remove quotation marks. The default is false.
1332	RemoveQuotes *bool
1333
1334	// A value that specifies to replaces the invalid characters specified in
1335	// ReplaceInvalidChars, substituting the specified characters instead. The default
1336	// is "?".
1337	ReplaceChars *string
1338
1339	// A list of characters that you want to replace. Use with ReplaceChars.
1340	ReplaceInvalidChars *string
1341
1342	// The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as
1343	// the trusted entity and grants the required permissions to access the value in
1344	// SecretsManagerSecret. SecretsManagerSecret has the value of the AWS Secrets
1345	// Manager secret that allows access to the Amazon Redshift endpoint. You can
1346	// specify one of two sets of values for these permissions. You can specify the
1347	// values for this setting and SecretsManagerSecretId. Or you can specify
1348	// clear-text values for UserName, Password, ServerName, and Port. You can't
1349	// specify both. For more information on creating this SecretsManagerSecret and the
1350	// SecretsManagerAccessRoleArn and SecretsManagerSecretId required to access it,
1351	// see Using secrets to access AWS Database Migration Service resources
1352	// (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
1353	// in the AWS Database Migration Service User Guide.
1354	SecretsManagerAccessRoleArn *string
1355
1356	// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that
1357	// contains the Amazon Redshift endpoint connection details.
1358	SecretsManagerSecretId *string
1359
1360	// The name of the Amazon Redshift cluster you are using.
1361	ServerName *string
1362
1363	// The AWS KMS key ID. If you are using SSE_KMS for the EncryptionMode, provide
1364	// this key ID. The key that you use needs an attached policy that enables IAM user
1365	// permissions and allows use of the key.
1366	ServerSideEncryptionKmsKeyId *string
1367
1368	// The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon
1369	// Redshift service.
1370	ServiceAccessRoleArn *string
1371
1372	// The time format that you want to use. Valid values are auto (case-sensitive),
1373	// 'timeformat_string', 'epochsecs', or 'epochmillisecs'. It defaults to 10. Using
1374	// auto recognizes most strings, even some that aren't supported when you use a
1375	// time format string. If your date and time values use formats different from each
1376	// other, set this parameter to auto.
1377	TimeFormat *string
1378
1379	// A value that specifies to remove the trailing white space characters from a
1380	// VARCHAR string. This parameter applies only to columns with a VARCHAR data type.
1381	// Choose true to remove unneeded white space. The default is false.
1382	TrimBlanks *bool
1383
1384	// A value that specifies to truncate data in columns to the appropriate number of
1385	// characters, so that the data fits in the column. This parameter applies only to
1386	// columns with a VARCHAR or CHAR data type, and rows with a size of 4 MB or less.
1387	// Choose true to truncate data. The default is false.
1388	TruncateColumns *bool
1389
1390	// An Amazon Redshift user name for a registered user.
1391	Username *string
1392
1393	// The size (in KB) of the in-memory file write buffer used when generating .csv
1394	// files on the local disk at the DMS replication instance. The default value is
1395	// 1000 (buffer size is 1000KB).
1396	WriteBufferSize *int32
1397}
1398
1399// Provides information that describes status of a schema at an endpoint specified
1400// by the DescribeRefreshSchemaStatus operation.
1401type RefreshSchemasStatus struct {
1402
1403	// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.
1404	EndpointArn *string
1405
1406	// The last failure message for the schema.
1407	LastFailureMessage *string
1408
1409	// The date the schema was last refreshed.
1410	LastRefreshDate *time.Time
1411
1412	// The Amazon Resource Name (ARN) of the replication instance.
1413	ReplicationInstanceArn *string
1414
1415	// The status of the schema.
1416	Status RefreshSchemasStatusTypeValue
1417}
1418
1419// Provides information that defines a replication instance.
1420type ReplicationInstance struct {
1421
1422	// The amount of storage (in gigabytes) that is allocated for the replication
1423	// instance.
1424	AllocatedStorage int32
1425
1426	// Boolean value indicating if minor version upgrades will be automatically applied
1427	// to the instance.
1428	AutoMinorVersionUpgrade bool
1429
1430	// The Availability Zone for the instance.
1431	AvailabilityZone *string
1432
1433	// The DNS name servers supported for the replication instance to access your
1434	// on-premise source or target database.
1435	DnsNameServers *string
1436
1437	// The engine version number of the replication instance. If an engine version
1438	// number is not specified when a replication instance is created, the default is
1439	// the latest engine version available. When modifying a major engine version of an
1440	// instance, also set AllowMajorVersionUpgrade to true.
1441	EngineVersion *string
1442
1443	// The expiration date of the free replication instance that is part of the Free
1444	// DMS program.
1445	FreeUntil *time.Time
1446
1447	// The time the replication instance was created.
1448	InstanceCreateTime *time.Time
1449
1450	// An AWS KMS key identifier that is used to encrypt the data on the replication
1451	// instance. If you don't specify a value for the KmsKeyId parameter, then AWS DMS
1452	// uses your default encryption key. AWS KMS creates the default encryption key for
1453	// your AWS account. Your AWS account has a different default encryption key for
1454	// each AWS Region.
1455	KmsKeyId *string
1456
1457	// Specifies whether the replication instance is a Multi-AZ deployment. You can't
1458	// set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.
1459	MultiAZ bool
1460
1461	// The pending modification values.
1462	PendingModifiedValues *ReplicationPendingModifiedValues
1463
1464	// The maintenance window times for the replication instance. Any pending upgrades
1465	// to the replication instance are performed during this time.
1466	PreferredMaintenanceWindow *string
1467
1468	// Specifies the accessibility options for the replication instance. A value of
1469	// true represents an instance with a public IP address. A value of false
1470	// represents an instance with a private IP address. The default value is true.
1471	PubliclyAccessible bool
1472
1473	// The Amazon Resource Name (ARN) of the replication instance.
1474	ReplicationInstanceArn *string
1475
1476	// The compute and memory capacity of the replication instance as defined for the
1477	// specified replication instance class. It is a required parameter, although a
1478	// defualt value is pre-selected in the DMS console. For more information on the
1479	// settings and capacities for the available replication instance classes, see
1480	// Selecting the right AWS DMS replication instance for your migration
1481	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth).
1482	ReplicationInstanceClass *string
1483
1484	// The replication instance identifier is a required parameter. This parameter is
1485	// stored as a lowercase string. Constraints:
1486	//
1487	// * Must contain 1-63 alphanumeric
1488	// characters or hyphens.
1489	//
1490	// * First character must be a letter.
1491	//
1492	// * Cannot end with a
1493	// hyphen or contain two consecutive hyphens.
1494	//
1495	// Example: myrepinstance
1496	ReplicationInstanceIdentifier *string
1497
1498	// The private IP address of the replication instance.
1499	//
1500	// Deprecated: This member has been deprecated.
1501	ReplicationInstancePrivateIpAddress *string
1502
1503	// One or more private IP addresses for the replication instance.
1504	ReplicationInstancePrivateIpAddresses []string
1505
1506	// The public IP address of the replication instance.
1507	//
1508	// Deprecated: This member has been deprecated.
1509	ReplicationInstancePublicIpAddress *string
1510
1511	// One or more public IP addresses for the replication instance.
1512	ReplicationInstancePublicIpAddresses []string
1513
1514	// The status of the replication instance. The possible return values include:
1515	//
1516	// *
1517	// "available"
1518	//
1519	// * "creating"
1520	//
1521	// * "deleted"
1522	//
1523	// * "deleting"
1524	//
1525	// * "failed"
1526	//
1527	// *
1528	// "modifying"
1529	//
1530	// * "upgrading"
1531	//
1532	// * "rebooting"
1533	//
1534	// * "resetting-master-credentials"
1535	//
1536	// *
1537	// "storage-full"
1538	//
1539	// * "incompatible-credentials"
1540	//
1541	// * "incompatible-network"
1542	//
1543	// *
1544	// "maintenance"
1545	ReplicationInstanceStatus *string
1546
1547	// The subnet group for the replication instance.
1548	ReplicationSubnetGroup *ReplicationSubnetGroup
1549
1550	// The Availability Zone of the standby replication instance in a Multi-AZ
1551	// deployment.
1552	SecondaryAvailabilityZone *string
1553
1554	// The VPC security group for the instance.
1555	VpcSecurityGroups []VpcSecurityGroupMembership
1556}
1557
1558// Contains metadata for a replication instance task log.
1559type ReplicationInstanceTaskLog struct {
1560
1561	// The size, in bytes, of the replication task log.
1562	ReplicationInstanceTaskLogSize int64
1563
1564	// The Amazon Resource Name (ARN) of the replication task.
1565	ReplicationTaskArn *string
1566
1567	// The name of the replication task.
1568	ReplicationTaskName *string
1569}
1570
1571// Provides information about the values of pending modifications to a replication
1572// instance. This data type is an object of the ReplicationInstance
1573// (https://docs.aws.amazon.com/dms/latest/APIReference/API_ReplicationInstance.html)
1574// user-defined data type.
1575type ReplicationPendingModifiedValues struct {
1576
1577	// The amount of storage (in gigabytes) that is allocated for the replication
1578	// instance.
1579	AllocatedStorage *int32
1580
1581	// The engine version number of the replication instance.
1582	EngineVersion *string
1583
1584	// Specifies whether the replication instance is a Multi-AZ deployment. You can't
1585	// set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.
1586	MultiAZ *bool
1587
1588	// The compute and memory capacity of the replication instance as defined for the
1589	// specified replication instance class. For more information on the settings and
1590	// capacities for the available replication instance classes, see  Selecting the
1591	// right AWS DMS replication instance for your migration
1592	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth).
1593	ReplicationInstanceClass *string
1594}
1595
1596// Describes a subnet group in response to a request by the
1597// DescribeReplicationSubnetGroups operation.
1598type ReplicationSubnetGroup struct {
1599
1600	// A description for the replication subnet group.
1601	ReplicationSubnetGroupDescription *string
1602
1603	// The identifier of the replication instance subnet group.
1604	ReplicationSubnetGroupIdentifier *string
1605
1606	// The status of the subnet group.
1607	SubnetGroupStatus *string
1608
1609	// The subnets that are in the subnet group.
1610	Subnets []Subnet
1611
1612	// The ID of the VPC.
1613	VpcId *string
1614}
1615
1616// Provides information that describes a replication task created by the
1617// CreateReplicationTask operation.
1618type ReplicationTask struct {
1619
1620	// Indicates when you want a change data capture (CDC) operation to start. Use
1621	// either CdcStartPosition or CdcStartTime to specify when you want the CDC
1622	// operation to start. Specifying both values results in an error. The value can be
1623	// in date, checkpoint, or LSN/SCN format. Date Example: --cdc-start-position
1624	// “2018-03-08T12:12:12” Checkpoint Example: --cdc-start-position
1625	// "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93"
1626	// LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”
1627	CdcStartPosition *string
1628
1629	// Indicates when you want a change data capture (CDC) operation to stop. The value
1630	// can be either server time or commit time. Server time example:
1631	// --cdc-stop-position “server_time:2018-02-09T12:12:12” Commit time example:
1632	// --cdc-stop-position “commit_time: 2018-02-09T12:12:12 “
1633	CdcStopPosition *string
1634
1635	// The last error (failure) message generated for the replication task.
1636	LastFailureMessage *string
1637
1638	// The type of migration.
1639	MigrationType MigrationTypeValue
1640
1641	// Indicates the last checkpoint that occurred during a change data capture (CDC)
1642	// operation. You can provide this value to the CdcStartPosition parameter to start
1643	// a CDC operation that begins at that checkpoint.
1644	RecoveryCheckpoint *string
1645
1646	// The ARN of the replication instance.
1647	ReplicationInstanceArn *string
1648
1649	// The Amazon Resource Name (ARN) of the replication task.
1650	ReplicationTaskArn *string
1651
1652	// The date the replication task was created.
1653	ReplicationTaskCreationDate *time.Time
1654
1655	// The user-assigned replication task identifier or name. Constraints:
1656	//
1657	// * Must
1658	// contain 1-255 alphanumeric characters or hyphens.
1659	//
1660	// * First character must be a
1661	// letter.
1662	//
1663	// * Cannot end with a hyphen or contain two consecutive hyphens.
1664	ReplicationTaskIdentifier *string
1665
1666	// The settings for the replication task.
1667	ReplicationTaskSettings *string
1668
1669	// The date the replication task is scheduled to start.
1670	ReplicationTaskStartDate *time.Time
1671
1672	// The statistics for the task, including elapsed time, tables loaded, and table
1673	// errors.
1674	ReplicationTaskStats *ReplicationTaskStats
1675
1676	// The Amazon Resource Name (ARN) that uniquely identifies the endpoint.
1677	SourceEndpointArn *string
1678
1679	// The status of the replication task. This response parameter can return one of
1680	// the following values:
1681	//
1682	// * "moving" – The task is being moved in response to
1683	// running the MoveReplicationTask
1684	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_MoveReplicationTask.html)
1685	// operation.
1686	//
1687	// * "creating" – The task is being created in response to running the
1688	// CreateReplicationTask
1689	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationTask.html)
1690	// operation.
1691	//
1692	// * "deleting" – The task is being deleted in response to running the
1693	// DeleteReplicationTask
1694	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_DeleteReplicationTask.html)
1695	// operation.
1696	//
1697	// * "failed" – The task failed to successfully complete the database
1698	// migration in response to running the StartReplicationTask
1699	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html)
1700	// operation.
1701	//
1702	// * "failed-move" – The task failed to move in response to running the
1703	// MoveReplicationTask
1704	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_MoveReplicationTask.html)
1705	// operation.
1706	//
1707	// * "modifying" – The task definition is being modified in response to
1708	// running the ModifyReplicationTask
1709	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyReplicationTask.html)
1710	// operation.
1711	//
1712	// * "ready" – The task is in a ready state where it can respond to
1713	// other task operations, such as StartReplicationTask
1714	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html)
1715	// or DeleteReplicationTask
1716	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_DeleteReplicationTask.html).
1717	//
1718	// *
1719	// "running" – The task is performing a database migration in response to running
1720	// the StartReplicationTask
1721	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html)
1722	// operation.
1723	//
1724	// * "starting" – The task is preparing to perform a database migration
1725	// in response to running the StartReplicationTask
1726	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html)
1727	// operation.
1728	//
1729	// * "stopped" – The task has stopped in response to running the
1730	// StopReplicationTask
1731	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_StopReplicationTask.html)
1732	// operation.
1733	//
1734	// * "stopping" – The task is preparing to stop in response to running
1735	// the StopReplicationTask
1736	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_StopReplicationTask.html)
1737	// operation.
1738	//
1739	// * "testing" – The database migration specified for this task is
1740	// being tested in response to running either the StartReplicationTaskAssessmentRun
1741	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessmentRun.html)
1742	// or the StartReplicationTaskAssessment
1743	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessment.html)
1744	// operation. StartReplicationTaskAssessmentRun
1745	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessmentRun.html)
1746	// is an improved premigration task assessment operation. The
1747	// StartReplicationTaskAssessment
1748	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessment.html)
1749	// operation assesses data type compatibility only between the source and target
1750	// database of a given migration task. In contrast,
1751	// StartReplicationTaskAssessmentRun
1752	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessmentRun.html)
1753	// enables you to specify a variety of premigration task assessments in addition to
1754	// data type compatibility. These assessments include ones for the validity of
1755	// primary key definitions and likely issues with database migration performance,
1756	// among others.
1757	Status *string
1758
1759	// The reason the replication task was stopped. This response parameter can return
1760	// one of the following values:
1761	//
1762	// * "STOP_REASON_FULL_LOAD_COMPLETED" – Full-load
1763	// migration completed.
1764	//
1765	// * "STOP_REASON_CACHED_CHANGES_APPLIED" – Change data
1766	// capture (CDC) load completed.
1767	//
1768	// * "STOP_REASON_CACHED_CHANGES_NOT_APPLIED" – In a
1769	// full-load and CDC migration, the full load stopped as specified before starting
1770	// the CDC migration.
1771	//
1772	// * "STOP_REASON_SERVER_TIME" – The migration stopped at the
1773	// specified server time.
1774	StopReason *string
1775
1776	// Table mappings specified in the task.
1777	TableMappings *string
1778
1779	// The ARN that uniquely identifies the endpoint.
1780	TargetEndpointArn *string
1781
1782	// The ARN of the replication instance to which this task is moved in response to
1783	// running the MoveReplicationTask
1784	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_MoveReplicationTask.html)
1785	// operation. Otherwise, this response parameter isn't a member of the
1786	// ReplicationTask object.
1787	TargetReplicationInstanceArn *string
1788
1789	// Supplemental information that the task requires to migrate the data for certain
1790	// source and target endpoints. For more information, see Specifying Supplemental
1791	// Data for Task Settings
1792	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html) in
1793	// the AWS Database Migration Service User Guide.
1794	TaskData *string
1795}
1796
1797// The task assessment report in JSON format.
1798type ReplicationTaskAssessmentResult struct {
1799
1800	// The task assessment results in JSON format.
1801	AssessmentResults *string
1802
1803	// The file containing the results of the task assessment.
1804	AssessmentResultsFile *string
1805
1806	// The status of the task assessment.
1807	AssessmentStatus *string
1808
1809	// The Amazon Resource Name (ARN) of the replication task.
1810	ReplicationTaskArn *string
1811
1812	// The replication task identifier of the task on which the task assessment was
1813	// run.
1814	ReplicationTaskIdentifier *string
1815
1816	// The date the task assessment was completed.
1817	ReplicationTaskLastAssessmentDate *time.Time
1818
1819	// The URL of the S3 object containing the task assessment results.
1820	S3ObjectUrl *string
1821}
1822
1823// Provides information that describes a premigration assessment run that you have
1824// started using the StartReplicationTaskAssessmentRun operation. Some of the
1825// information appears based on other operations that can return the
1826// ReplicationTaskAssessmentRun object.
1827type ReplicationTaskAssessmentRun struct {
1828
1829	// Indication of the completion progress for the individual assessments specified
1830	// to run.
1831	AssessmentProgress *ReplicationTaskAssessmentRunProgress
1832
1833	// Unique name of the assessment run.
1834	AssessmentRunName *string
1835
1836	// Last message generated by an individual assessment failure.
1837	LastFailureMessage *string
1838
1839	// ARN of the migration task associated with this premigration assessment run.
1840	ReplicationTaskArn *string
1841
1842	// Amazon Resource Name (ARN) of this assessment run.
1843	ReplicationTaskAssessmentRunArn *string
1844
1845	// Date on which the assessment run was created using the
1846	// StartReplicationTaskAssessmentRun operation.
1847	ReplicationTaskAssessmentRunCreationDate *time.Time
1848
1849	// Encryption mode used to encrypt the assessment run results.
1850	ResultEncryptionMode *string
1851
1852	// ARN of the AWS KMS encryption key used to encrypt the assessment run results.
1853	ResultKmsKeyArn *string
1854
1855	// Amazon S3 bucket where AWS DMS stores the results of this assessment run.
1856	ResultLocationBucket *string
1857
1858	// Folder in an Amazon S3 bucket where AWS DMS stores the results of this
1859	// assessment run.
1860	ResultLocationFolder *string
1861
1862	// ARN of the service role used to start the assessment run using the
1863	// StartReplicationTaskAssessmentRun operation.
1864	ServiceAccessRoleArn *string
1865
1866	// Assessment run status. This status can have one of the following values:
1867	//
1868	// *
1869	// "cancelling" – The assessment run was canceled by the
1870	// CancelReplicationTaskAssessmentRun operation.
1871	//
1872	// * "deleting" – The assessment run
1873	// was deleted by the DeleteReplicationTaskAssessmentRun operation.
1874	//
1875	// * "failed" –
1876	// At least one individual assessment completed with a failed status.
1877	//
1878	// *
1879	// "error-provisioning" – An internal error occurred while resources were
1880	// provisioned (during provisioning status).
1881	//
1882	// * "error-executing" – An internal
1883	// error occurred while individual assessments ran (during running status).
1884	//
1885	// *
1886	// "invalid state" – The assessment run is in an unknown state.
1887	//
1888	// * "passed" – All
1889	// individual assessments have completed, and none has a failed status.
1890	//
1891	// *
1892	// "provisioning" – Resources required to run individual assessments are being
1893	// provisioned.
1894	//
1895	// * "running" – Individual assessments are being run.
1896	//
1897	// * "starting"
1898	// – The assessment run is starting, but resources are not yet being provisioned
1899	// for individual assessments.
1900	Status *string
1901}
1902
1903// The progress values reported by the AssessmentProgress response element.
1904type ReplicationTaskAssessmentRunProgress struct {
1905
1906	// The number of individual assessments that have completed, successfully or not.
1907	IndividualAssessmentCompletedCount int32
1908
1909	// The number of individual assessments that are specified to run.
1910	IndividualAssessmentCount int32
1911}
1912
1913// Provides information that describes an individual assessment from a premigration
1914// assessment run.
1915type ReplicationTaskIndividualAssessment struct {
1916
1917	// Name of this individual assessment.
1918	IndividualAssessmentName *string
1919
1920	// ARN of the premigration assessment run that is created to run this individual
1921	// assessment.
1922	ReplicationTaskAssessmentRunArn *string
1923
1924	// Amazon Resource Name (ARN) of this individual assessment.
1925	ReplicationTaskIndividualAssessmentArn *string
1926
1927	// Date when this individual assessment was started as part of running the
1928	// StartReplicationTaskAssessmentRun operation.
1929	ReplicationTaskIndividualAssessmentStartDate *time.Time
1930
1931	// Individual assessment status. This status can have one of the following
1932	// values:
1933	//
1934	// * "cancelled"
1935	//
1936	// * "error"
1937	//
1938	// * "failed"
1939	//
1940	// * "passed"
1941	//
1942	// * "pending"
1943	//
1944	// *
1945	// "running"
1946	Status *string
1947}
1948
1949// In response to a request by the DescribeReplicationTasks operation, this object
1950// provides a collection of statistics about a replication task.
1951type ReplicationTaskStats struct {
1952
1953	// The elapsed time of the task, in milliseconds.
1954	ElapsedTimeMillis int64
1955
1956	// The date the replication task was started either with a fresh start or a target
1957	// reload.
1958	FreshStartDate *time.Time
1959
1960	// The date the replication task full load was completed.
1961	FullLoadFinishDate *time.Time
1962
1963	// The percent complete for the full load migration task.
1964	FullLoadProgressPercent int32
1965
1966	// The date the replication task full load was started.
1967	FullLoadStartDate *time.Time
1968
1969	// The date the replication task was started either with a fresh start or a resume.
1970	// For more information, see StartReplicationTaskType
1971	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html#DMS-StartReplicationTask-request-StartReplicationTaskType).
1972	StartDate *time.Time
1973
1974	// The date the replication task was stopped.
1975	StopDate *time.Time
1976
1977	// The number of errors that have occurred during this task.
1978	TablesErrored int32
1979
1980	// The number of tables loaded for this task.
1981	TablesLoaded int32
1982
1983	// The number of tables currently loading for this task.
1984	TablesLoading int32
1985
1986	// The number of tables queued for this task.
1987	TablesQueued int32
1988}
1989
1990// Identifies an AWS DMS resource and any pending actions for it.
1991type ResourcePendingMaintenanceActions struct {
1992
1993	// Detailed information about the pending maintenance action.
1994	PendingMaintenanceActionDetails []PendingMaintenanceAction
1995
1996	// The Amazon Resource Name (ARN) of the DMS resource that the pending maintenance
1997	// action applies to. For information about creating an ARN, see  Constructing an
1998	// Amazon Resource Name (ARN) for AWS DMS
1999	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.AWS.ARN.html)
2000	// in the DMS documentation.
2001	ResourceIdentifier *string
2002}
2003
2004// Settings for exporting data to Amazon S3.
2005type S3Settings struct {
2006
2007	// An optional parameter to set a folder name in the S3 bucket. If provided, tables
2008	// are created in the path  bucketFolder/schema_name/table_name/. If this parameter
2009	// isn't specified, then the path used is  schema_name/table_name/.
2010	BucketFolder *string
2011
2012	// The name of the S3 bucket.
2013	BucketName *string
2014
2015	// A value that enables a change data capture (CDC) load to write INSERT and UPDATE
2016	// operations to .csv or .parquet (columnar storage) output files. The default
2017	// setting is false, but when CdcInsertsAndUpdates is set to true or y, only
2018	// INSERTs and UPDATEs from the source database are migrated to the .csv or
2019	// .parquet file. For .csv file format only, how these INSERTs and UPDATEs are
2020	// recorded depends on the value of the IncludeOpForFullLoad parameter. If
2021	// IncludeOpForFullLoad is set to true, the first field of every CDC record is set
2022	// to either I or U to indicate INSERT and UPDATE operations at the source. But if
2023	// IncludeOpForFullLoad is set to false, CDC records are written without an
2024	// indication of INSERT or UPDATE operations at the source. For more information
2025	// about how these settings work together, see Indicating Source DB Operations in
2026	// Migrated S3 Data
2027	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring.InsertOps)
2028	// in the AWS Database Migration Service User Guide.. AWS DMS supports the use of
2029	// the CdcInsertsAndUpdates parameter in versions 3.3.1 and later. CdcInsertsOnly
2030	// and CdcInsertsAndUpdates can't both be set to true for the same endpoint. Set
2031	// either CdcInsertsOnly or CdcInsertsAndUpdates to true for the same endpoint, but
2032	// not both.
2033	CdcInsertsAndUpdates *bool
2034
2035	// A value that enables a change data capture (CDC) load to write only INSERT
2036	// operations to .csv or columnar storage (.parquet) output files. By default (the
2037	// false setting), the first field in a .csv or .parquet record contains the letter
2038	// I (INSERT), U (UPDATE), or D (DELETE). These values indicate whether the row was
2039	// inserted, updated, or deleted at the source database for a CDC load to the
2040	// target. If CdcInsertsOnly is set to true or y, only INSERTs from the source
2041	// database are migrated to the .csv or .parquet file. For .csv format only, how
2042	// these INSERTs are recorded depends on the value of IncludeOpForFullLoad. If
2043	// IncludeOpForFullLoad is set to true, the first field of every CDC record is set
2044	// to I to indicate the INSERT operation at the source. If IncludeOpForFullLoad is
2045	// set to false, every CDC record is written without a first field to indicate the
2046	// INSERT operation at the source. For more information about how these settings
2047	// work together, see Indicating Source DB Operations in Migrated S3 Data
2048	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring.InsertOps)
2049	// in the AWS Database Migration Service User Guide.. AWS DMS supports the
2050	// interaction described preceding between the CdcInsertsOnly and
2051	// IncludeOpForFullLoad parameters in versions 3.1.4 and later. CdcInsertsOnly and
2052	// CdcInsertsAndUpdates can't both be set to true for the same endpoint. Set either
2053	// CdcInsertsOnly or CdcInsertsAndUpdates to true for the same endpoint, but not
2054	// both.
2055	CdcInsertsOnly *bool
2056
2057	// Specifies the folder path of CDC files. For an S3 source, this setting is
2058	// required if a task captures change data; otherwise, it's optional. If CdcPath is
2059	// set, AWS DMS reads CDC files from this path and replicates the data changes to
2060	// the target endpoint. For an S3 target if you set PreserveTransactions
2061	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-PreserveTransactions)
2062	// to true, AWS DMS verifies that you have set this parameter to a folder path on
2063	// your S3 target where AWS DMS can save the transaction order for the CDC load.
2064	// AWS DMS creates this CDC folder path in either your S3 target working directory
2065	// or the S3 target location specified by BucketFolder
2066	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-BucketFolder)
2067	// and BucketName
2068	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-BucketName).
2069	// For example, if you specify CdcPath as MyChangedData, and you specify BucketName
2070	// as MyTargetBucket but do not specify BucketFolder, AWS DMS creates the CDC
2071	// folder path following: MyTargetBucket/MyChangedData. If you specify the same
2072	// CdcPath, and you specify BucketName as MyTargetBucket and BucketFolder as
2073	// MyTargetData, AWS DMS creates the CDC folder path following:
2074	// MyTargetBucket/MyTargetData/MyChangedData. For more information on CDC including
2075	// transaction order on an S3 target, see Capturing data changes (CDC) including
2076	// transaction order on the S3 target
2077	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.EndpointSettings.CdcPath).
2078	// This setting is supported in AWS DMS versions 3.4.2 and later.
2079	CdcPath *string
2080
2081	// An optional parameter to use GZIP to compress the target files. Set to GZIP to
2082	// compress the target files. Either set this parameter to NONE (the default) or
2083	// don't use it to leave the files uncompressed. This parameter applies to both
2084	// .csv and .parquet file formats.
2085	CompressionType CompressionTypeValue
2086
2087	// The delimiter used to separate columns in the .csv file for both source and
2088	// target. The default is a comma.
2089	CsvDelimiter *string
2090
2091	// This setting only applies if your Amazon S3 output files during a change data
2092	// capture (CDC) load are written in .csv format. If UseCsvNoSupValue
2093	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-UseCsvNoSupValue)
2094	// is set to true, specify a string value that you want AWS DMS to use for all
2095	// columns not included in the supplemental log. If you do not specify a string
2096	// value, AWS DMS uses the null value for these columns regardless of the
2097	// UseCsvNoSupValue setting. This setting is supported in AWS DMS versions 3.4.1
2098	// and later.
2099	CsvNoSupValue *string
2100
2101	// The delimiter used to separate rows in the .csv file for both source and target.
2102	// The default is a carriage return (\n).
2103	CsvRowDelimiter *string
2104
2105	// The format of the data that you want to use for output. You can choose one of
2106	// the following:
2107	//
2108	// * csv : This is a row-based file format with comma-separated
2109	// values (.csv).
2110	//
2111	// * parquet : Apache Parquet (.parquet) is a columnar storage file
2112	// format that features efficient compression and provides faster query response.
2113	DataFormat DataFormatValue
2114
2115	// The size of one data page in bytes. This parameter defaults to 1024 * 1024 bytes
2116	// (1 MiB). This number is used for .parquet file format only.
2117	DataPageSize *int32
2118
2119	// Specifies a date separating delimiter to use during folder partitioning. The
2120	// default value is SLASH. Use this parameter when DatePartitionedEnabled is set to
2121	// true.
2122	DatePartitionDelimiter DatePartitionDelimiterValue
2123
2124	// When set to true, this parameter partitions S3 bucket folders based on
2125	// transaction commit dates. The default value is false. For more information about
2126	// date-based folder partitoning, see Using date-based folder partitioning
2127	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.DatePartitioning).
2128	DatePartitionEnabled *bool
2129
2130	// Identifies the sequence of the date format to use during folder partitioning.
2131	// The default value is YYYYMMDD. Use this parameter when DatePartitionedEnabled is
2132	// set to true.
2133	DatePartitionSequence DatePartitionSequenceValue
2134
2135	// The maximum size of an encoded dictionary page of a column. If the dictionary
2136	// page exceeds this, this column is stored using an encoding type of PLAIN. This
2137	// parameter defaults to 1024 * 1024 bytes (1 MiB), the maximum size of a
2138	// dictionary page before it reverts to PLAIN encoding. This size is used for
2139	// .parquet file format only.
2140	DictPageSizeLimit *int32
2141
2142	// A value that enables statistics for Parquet pages and row groups. Choose true to
2143	// enable statistics, false to disable. Statistics include NULL, DISTINCT, MAX, and
2144	// MIN values. This parameter defaults to true. This value is used for .parquet
2145	// file format only.
2146	EnableStatistics *bool
2147
2148	// The type of encoding you are using:
2149	//
2150	// * RLE_DICTIONARY uses a combination of
2151	// bit-packing and run-length encoding to store repeated values more efficiently.
2152	// This is the default.
2153	//
2154	// * PLAIN doesn't use encoding at all. Values are stored as
2155	// they are.
2156	//
2157	// * PLAIN_DICTIONARY builds a dictionary of the values encountered in a
2158	// given column. The dictionary is stored in a dictionary page for each column
2159	// chunk.
2160	EncodingType EncodingTypeValue
2161
2162	// The type of server-side encryption that you want to use for your data. This
2163	// encryption type is part of the endpoint settings or the extra connections
2164	// attributes for Amazon S3. You can choose either SSE_S3 (the default) or SSE_KMS.
2165	// For the ModifyEndpoint operation, you can change the existing value of the
2166	// EncryptionMode parameter from SSE_KMS to SSE_S3. But you can’t change the
2167	// existing value from SSE_S3 to SSE_KMS. To use SSE_S3, you need an AWS Identity
2168	// and Access Management (IAM) role with permission to allow "arn:aws:s3:::dms-*"
2169	// to use the following actions:
2170	//
2171	// * s3:CreateBucket
2172	//
2173	// * s3:ListBucket
2174	//
2175	// *
2176	// s3:DeleteBucket
2177	//
2178	// * s3:GetBucketLocation
2179	//
2180	// * s3:GetObject
2181	//
2182	// * s3:PutObject
2183	//
2184	// *
2185	// s3:DeleteObject
2186	//
2187	// * s3:GetObjectVersion
2188	//
2189	// * s3:GetBucketPolicy
2190	//
2191	// *
2192	// s3:PutBucketPolicy
2193	//
2194	// * s3:DeleteBucketPolicy
2195	EncryptionMode EncryptionModeValue
2196
2197	// Specifies how tables are defined in the S3 source files only.
2198	ExternalTableDefinition *string
2199
2200	// A value that enables a full load to write INSERT operations to the
2201	// comma-separated value (.csv) output files only to indicate how the rows were
2202	// added to the source database. AWS DMS supports the IncludeOpForFullLoad
2203	// parameter in versions 3.1.4 and later. For full load, records can only be
2204	// inserted. By default (the false setting), no information is recorded in these
2205	// output files for a full load to indicate that the rows were inserted at the
2206	// source database. If IncludeOpForFullLoad is set to true or y, the INSERT is
2207	// recorded as an I annotation in the first field of the .csv file. This allows the
2208	// format of your target records from a full load to be consistent with the target
2209	// records from a CDC load. This setting works together with the CdcInsertsOnly and
2210	// the CdcInsertsAndUpdates parameters for output to .csv files only. For more
2211	// information about how these settings work together, see Indicating Source DB
2212	// Operations in Migrated S3 Data
2213	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring.InsertOps)
2214	// in the AWS Database Migration Service User Guide..
2215	IncludeOpForFullLoad *bool
2216
2217	// A value that specifies the precision of any TIMESTAMP column values that are
2218	// written to an Amazon S3 object file in .parquet format. AWS DMS supports the
2219	// ParquetTimestampInMillisecond parameter in versions 3.1.4 and later. When
2220	// ParquetTimestampInMillisecond is set to true or y, AWS DMS writes all TIMESTAMP
2221	// columns in a .parquet formatted file with millisecond precision. Otherwise, DMS
2222	// writes them with microsecond precision. Currently, Amazon Athena and AWS Glue
2223	// can handle only millisecond precision for TIMESTAMP values. Set this parameter
2224	// to true for S3 endpoint object files that are .parquet formatted only if you
2225	// plan to query or process the data with Athena or AWS Glue. AWS DMS writes any
2226	// TIMESTAMP column values written to an S3 file in .csv format with microsecond
2227	// precision. Setting ParquetTimestampInMillisecond has no effect on the string
2228	// format of the timestamp column value that is inserted by setting the
2229	// TimestampColumnName parameter.
2230	ParquetTimestampInMillisecond *bool
2231
2232	// The version of the Apache Parquet format that you want to use: parquet_1_0 (the
2233	// default) or parquet_2_0.
2234	ParquetVersion ParquetVersionValue
2235
2236	// If set to true, AWS DMS saves the transaction order for a change data capture
2237	// (CDC) load on the Amazon S3 target specified by CdcPath
2238	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-CdcPath).
2239	// For more information, see Capturing data changes (CDC) including transaction
2240	// order on the S3 target
2241	// (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.EndpointSettings.CdcPath).
2242	// This setting is supported in AWS DMS versions 3.4.2 and later.
2243	PreserveTransactions *bool
2244
2245	// The number of rows in a row group. A smaller row group size provides faster
2246	// reads. But as the number of row groups grows, the slower writes become. This
2247	// parameter defaults to 10,000 rows. This number is used for .parquet file format
2248	// only. If you choose a value larger than the maximum, RowGroupLength is set to
2249	// the max row group length in bytes (64 * 1024 * 1024).
2250	RowGroupLength *int32
2251
2252	// If you are using SSE_KMS for the EncryptionMode, provide the AWS KMS key ID. The
2253	// key that you use needs an attached policy that enables AWS Identity and Access
2254	// Management (IAM) user permissions and allows use of the key. Here is a CLI
2255	// example: aws dms create-endpoint --endpoint-identifier value --endpoint-type
2256	// target --engine-name s3 --s3-settings
2257	// ServiceAccessRoleArn=value,BucketFolder=value,BucketName=value,EncryptionMode=SSE_KMS,ServerSideEncryptionKmsKeyId=value
2258	ServerSideEncryptionKmsKeyId *string
2259
2260	// The Amazon Resource Name (ARN) used by the service access IAM role. It is a
2261	// required parameter that enables DMS to write and read objects from an 3S bucket.
2262	ServiceAccessRoleArn *string
2263
2264	// A value that when nonblank causes AWS DMS to add a column with timestamp
2265	// information to the endpoint data for an Amazon S3 target. AWS DMS supports the
2266	// TimestampColumnName parameter in versions 3.1.4 and later. DMS includes an
2267	// additional STRING column in the .csv or .parquet object files of your migrated
2268	// data when you set TimestampColumnName to a nonblank value. For a full load, each
2269	// row of this timestamp column contains a timestamp for when the data was
2270	// transferred from the source to the target by DMS. For a change data capture
2271	// (CDC) load, each row of the timestamp column contains the timestamp for the
2272	// commit of that row in the source database. The string format for this timestamp
2273	// column value is yyyy-MM-dd HH:mm:ss.SSSSSS. By default, the precision of this
2274	// value is in microseconds. For a CDC load, the rounding of the precision depends
2275	// on the commit timestamp supported by DMS for the source database. When the
2276	// AddColumnName parameter is set to true, DMS also includes a name for the
2277	// timestamp column that you set with TimestampColumnName.
2278	TimestampColumnName *string
2279
2280	// This setting applies if the S3 output files during a change data capture (CDC)
2281	// load are written in .csv format. If set to true for columns not included in the
2282	// supplemental log, AWS DMS uses the value specified by CsvNoSupValue
2283	// (https://docs.aws.amazon.com/dms/latest/APIReference/API_S3Settings.html#DMS-Type-S3Settings-CsvNoSupValue).
2284	// If not set or set to false, AWS DMS uses the null value for these columns. This
2285	// setting is supported in AWS DMS versions 3.4.1 and later.
2286	UseCsvNoSupValue *bool
2287}
2288
2289// In response to a request by the DescribeReplicationSubnetGroups operation, this
2290// object identifies a subnet by its given Availability Zone, subnet identifier,
2291// and status.
2292type Subnet struct {
2293
2294	// The Availability Zone of the subnet.
2295	SubnetAvailabilityZone *AvailabilityZone
2296
2297	// The subnet identifier.
2298	SubnetIdentifier *string
2299
2300	// The status of the subnet.
2301	SubnetStatus *string
2302}
2303
2304// Provides information about types of supported endpoints in response to a request
2305// by the DescribeEndpointTypes operation. This information includes the type of
2306// endpoint, the database engine name, and whether change data capture (CDC) is
2307// supported.
2308type SupportedEndpointType struct {
2309
2310	// The type of endpoint. Valid values are source and target.
2311	EndpointType ReplicationEndpointTypeValue
2312
2313	// The expanded name for the engine name. For example, if the EngineName parameter
2314	// is "aurora," this value would be "Amazon Aurora MySQL."
2315	EngineDisplayName *string
2316
2317	// The database engine name. Valid values, depending on the EndpointType, include
2318	// "mysql", "oracle", "postgres", "mariadb", "aurora", "aurora-postgresql",
2319	// "redshift", "s3", "db2", "azuredb", "sybase", "dynamodb", "mongodb", "kinesis",
2320	// "kafka", "elasticsearch", "documentdb", "sqlserver", and "neptune".
2321	EngineName *string
2322
2323	// The earliest AWS DMS engine version that supports this endpoint engine. Note
2324	// that endpoint engines released with AWS DMS versions earlier than 3.1.1 do not
2325	// return a value for this parameter.
2326	ReplicationInstanceEngineMinimumVersion *string
2327
2328	// Indicates if Change Data Capture (CDC) is supported.
2329	SupportsCDC bool
2330}
2331
2332// Provides information that defines a SAP ASE endpoint.
2333type SybaseSettings struct {
2334
2335	// Database name for the endpoint.
2336	DatabaseName *string
2337
2338	// Endpoint connection password.
2339	Password *string
2340
2341	// Endpoint TCP port.
2342	Port *int32
2343
2344	// The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as
2345	// the trusted entity and grants the required permissions to access the value in
2346	// SecretsManagerSecret. SecretsManagerSecret has the value of the AWS Secrets
2347	// Manager secret that allows access to the SAP ASE endpoint. You can specify one
2348	// of two sets of values for these permissions. You can specify the values for this
2349	// setting and SecretsManagerSecretId. Or you can specify clear-text values for
2350	// UserName, Password, ServerName, and Port. You can't specify both. For more
2351	// information on creating this SecretsManagerSecret and the
2352	// SecretsManagerAccessRoleArn and SecretsManagerSecretId required to access it,
2353	// see Using secrets to access AWS Database Migration Service resources
2354	// (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager)
2355	// in the AWS Database Migration Service User Guide.
2356	SecretsManagerAccessRoleArn *string
2357
2358	// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that
2359	// contains the SAP SAE endpoint connection details.
2360	SecretsManagerSecretId *string
2361
2362	// Fully qualified domain name of the endpoint.
2363	ServerName *string
2364
2365	// Endpoint connection user name.
2366	Username *string
2367}
2368
2369// Provides a collection of table statistics in response to a request by the
2370// DescribeTableStatistics operation.
2371type TableStatistics struct {
2372
2373	// The data definition language (DDL) used to build and modify the structure of
2374	// your tables.
2375	Ddls int64
2376
2377	// The number of delete actions performed on a table.
2378	Deletes int64
2379
2380	// The number of rows that failed conditional checks during the full load operation
2381	// (valid only for migrations where DynamoDB is the target).
2382	FullLoadCondtnlChkFailedRows int64
2383
2384	// The time when the full load operation completed.
2385	FullLoadEndTime *time.Time
2386
2387	// The number of rows that failed to load during the full load operation (valid
2388	// only for migrations where DynamoDB is the target).
2389	FullLoadErrorRows int64
2390
2391	// A value that indicates if the table was reloaded (true) or loaded as part of a
2392	// new full load operation (false).
2393	FullLoadReloaded *bool
2394
2395	// The number of rows added during the full load operation.
2396	FullLoadRows int64
2397
2398	// The time when the full load operation started.
2399	FullLoadStartTime *time.Time
2400
2401	// The number of insert actions performed on a table.
2402	Inserts int64
2403
2404	// The last time a table was updated.
2405	LastUpdateTime *time.Time
2406
2407	// The schema name.
2408	SchemaName *string
2409
2410	// The name of the table.
2411	TableName *string
2412
2413	// The state of the tables described. Valid states: Table does not exist | Before
2414	// load | Full load | Table completed | Table cancelled | Table error | Table all |
2415	// Table updates | Table is being reloaded
2416	TableState *string
2417
2418	// The number of update actions performed on a table.
2419	Updates int64
2420
2421	// The number of records that failed validation.
2422	ValidationFailedRecords int64
2423
2424	// The number of records that have yet to be validated.
2425	ValidationPendingRecords int64
2426
2427	// The validation state of the table. This parameter can have the following
2428	// values:
2429	//
2430	// * Not enabled – Validation isn't enabled for the table in the migration
2431	// task.
2432	//
2433	// * Pending records – Some records in the table are waiting for
2434	// validation.
2435	//
2436	// * Mismatched records – Some records in the table don't match
2437	// between the source and target.
2438	//
2439	// * Suspended records – Some records in the table
2440	// couldn't be validated.
2441	//
2442	// * No primary key –The table couldn't be validated
2443	// because it has no primary key.
2444	//
2445	// * Table error – The table wasn't validated
2446	// because it's in an error state and some data wasn't migrated.
2447	//
2448	// * Validated – All
2449	// rows in the table are validated. If the table is updated, the status can change
2450	// from Validated.
2451	//
2452	// * Error – The table couldn't be validated because of an
2453	// unexpected error.
2454	//
2455	// * Pending validation – The table is waiting validation.
2456	//
2457	// *
2458	// Preparing table – Preparing the table enabled in the migration task for
2459	// validation.
2460	//
2461	// * Pending revalidation – All rows in the table are pending
2462	// validation after the table was updated.
2463	ValidationState *string
2464
2465	// Additional details about the state of validation.
2466	ValidationStateDetails *string
2467
2468	// The number of records that couldn't be validated.
2469	ValidationSuspendedRecords int64
2470}
2471
2472// Provides the name of the schema and table to be reloaded.
2473type TableToReload struct {
2474
2475	// The schema name of the table to be reloaded.
2476	//
2477	// This member is required.
2478	SchemaName *string
2479
2480	// The table name of the table to be reloaded.
2481	//
2482	// This member is required.
2483	TableName *string
2484}
2485
2486// A user-defined key-value pair that describes metadata added to an AWS DMS
2487// resource and that is used by operations such as the following:
2488//
2489// *
2490// AddTagsToResource
2491//
2492// * ListTagsForResource
2493//
2494// * RemoveTagsFromResource
2495type Tag struct {
2496
2497	// A key is the required name of the tag. The string value can be 1-128 Unicode
2498	// characters in length and can't be prefixed with "aws:" or "dms:". The string can
2499	// only contain only the set of Unicode letters, digits, white-space, '_', '.',
2500	// '/', '=', '+', '-' (Java regular expressions:
2501	// "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
2502	Key *string
2503
2504	// A value is the optional value of the tag. The string value can be 1-256 Unicode
2505	// characters in length and can't be prefixed with "aws:" or "dms:". The string can
2506	// only contain only the set of Unicode letters, digits, white-space, '_', '.',
2507	// '/', '=', '+', '-' (Java regular expressions:
2508	// "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
2509	Value *string
2510}
2511
2512// Describes the status of a security group associated with the virtual private
2513// cloud (VPC) hosting your replication and DB instances.
2514type VpcSecurityGroupMembership struct {
2515
2516	// The status of the VPC security group.
2517	Status *string
2518
2519	// The VPC security group ID.
2520	VpcSecurityGroupId *string
2521}
2522