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