-
Notifications
You must be signed in to change notification settings - Fork 597
/
api_types.go
1699 lines (1354 loc) · 62.2 KB
/
api_types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package databasemigrationservice
import (
"time"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
var _ aws.Config
var _ = awsutil.Prettify
// Describes a quota for an AWS account, for example, the number of replication
// instances allowed.
type AccountQuota struct {
_ struct{} `type:"structure"`
// The name of the AWS DMS quota for this AWS account.
AccountQuotaName *string `type:"string"`
// The maximum allowed value for the quota.
Max *int64 `type:"long"`
// The amount currently used toward the quota maximum.
Used *int64 `type:"long"`
}
// String returns the string representation
func (s AccountQuota) String() string {
return awsutil.Prettify(s)
}
// The name of the Availability Zone for use during database migration.
type AvailabilityZone struct {
_ struct{} `type:"structure"`
// The name of the Availability Zone.
Name *string `type:"string"`
}
// String returns the string representation
func (s AvailabilityZone) String() string {
return awsutil.Prettify(s)
}
// The SSL certificate that can be used to encrypt connections between the endpoints
// and the replication instance.
type Certificate struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) for the certificate.
CertificateArn *string `type:"string"`
// The date that the certificate was created.
CertificateCreationDate *time.Time `type:"timestamp"`
// A customer-assigned name for the certificate. Identifiers must begin with
// a letter and must contain only ASCII letters, digits, and hyphens. They can't
// end with a hyphen or contain two consecutive hyphens.
CertificateIdentifier *string `type:"string"`
// The owner of the certificate.
CertificateOwner *string `type:"string"`
// The contents of a .pem file, which contains an X.509 certificate.
CertificatePem *string `type:"string"`
// The location of an imported Oracle Wallet certificate for use with SSL.
//
// CertificateWallet is automatically base64 encoded/decoded by the SDK.
CertificateWallet []byte `type:"blob"`
// The key length of the cryptographic algorithm being used.
KeyLength *int64 `type:"integer"`
// The signing algorithm for the certificate.
SigningAlgorithm *string `type:"string"`
// The beginning date that the certificate is valid.
ValidFromDate *time.Time `type:"timestamp"`
// The final date that the certificate is valid.
ValidToDate *time.Time `type:"timestamp"`
}
// String returns the string representation
func (s Certificate) String() string {
return awsutil.Prettify(s)
}
// Status of the connection between an endpoint and a replication instance,
// including Amazon Resource Names (ARNs) and the last error message issued.
type Connection struct {
_ struct{} `type:"structure"`
// The ARN string that uniquely identifies the endpoint.
EndpointArn *string `type:"string"`
// The identifier of the endpoint. Identifiers must begin with a letter and
// must contain only ASCII letters, digits, and hyphens. They can't end with
// a hyphen or contain two consecutive hyphens.
EndpointIdentifier *string `type:"string"`
// The error message when the connection last failed.
LastFailureMessage *string `type:"string"`
// The ARN of the replication instance.
ReplicationInstanceArn *string `type:"string"`
// The replication instance identifier. This parameter is stored as a lowercase
// string.
ReplicationInstanceIdentifier *string `type:"string"`
// The connection status.
Status *string `type:"string"`
}
// String returns the string representation
func (s Connection) String() string {
return awsutil.Prettify(s)
}
// The settings in JSON format for the DMS Transfer type source endpoint.
type DmsTransferSettings struct {
_ struct{} `type:"structure"`
// The name of the S3 bucket to use.
BucketName *string `type:"string"`
// The IAM role that has permission to access the Amazon S3 bucket.
ServiceAccessRoleArn *string `type:"string"`
}
// String returns the string representation
func (s DmsTransferSettings) String() string {
return awsutil.Prettify(s)
}
// Provides the Amazon Resource Name (ARN) of the AWS Identity and Access Management
// (IAM) role used to define an Amazon DynamoDB target endpoint.
type DynamoDbSettings struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) used by the service access IAM role.
//
// ServiceAccessRoleArn is a required field
ServiceAccessRoleArn *string `type:"string" required:"true"`
}
// String returns the string representation
func (s DynamoDbSettings) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DynamoDbSettings) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "DynamoDbSettings"}
if s.ServiceAccessRoleArn == nil {
invalidParams.Add(aws.NewErrParamRequired("ServiceAccessRoleArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Provides information that defines an Elasticsearch endpoint.
type ElasticsearchSettings struct {
_ struct{} `type:"structure"`
// The endpoint for the Elasticsearch cluster.
//
// EndpointUri is a required field
EndpointUri *string `type:"string" required:"true"`
// The maximum number of seconds for which DMS retries failed API requests to
// the Elasticsearch cluster.
ErrorRetryDuration *int64 `type:"integer"`
// The maximum percentage of records that can fail to be written before a full
// load operation stops.
FullLoadErrorPercentage *int64 `type:"integer"`
// The Amazon Resource Name (ARN) used by service to access the IAM role.
//
// ServiceAccessRoleArn is a required field
ServiceAccessRoleArn *string `type:"string" required:"true"`
}
// String returns the string representation
func (s ElasticsearchSettings) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ElasticsearchSettings) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "ElasticsearchSettings"}
if s.EndpointUri == nil {
invalidParams.Add(aws.NewErrParamRequired("EndpointUri"))
}
if s.ServiceAccessRoleArn == nil {
invalidParams.Add(aws.NewErrParamRequired("ServiceAccessRoleArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Describes an endpoint of a database instance in response to operations such
// as the following:
//
// * CreateEndpoint
//
// * DescribeEndpoint
//
// * DescribeEndpointTypes
//
// * ModifyEndpoint
type Endpoint struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) used for SSL connection to the endpoint.
CertificateArn *string `type:"string"`
// The name of the database at the endpoint.
DatabaseName *string `type:"string"`
// The settings in JSON format for the DMS transfer type of source endpoint.
//
// Possible settings include the following:
//
// * ServiceAccessRoleArn - The IAM role that has permission to access the
// Amazon S3 bucket.
//
// * BucketName - The name of the S3 bucket to use.
//
// * CompressionType - An optional parameter to use GZIP to compress the
// target files. To use GZIP, set this value to NONE (the default). To keep
// the files uncompressed, don't use this value.
//
// Shorthand syntax for these settings is as follows: ServiceAccessRoleArn=string,BucketName=string,CompressionType=string
//
// JSON syntax for these settings is as follows: { "ServiceAccessRoleArn": "string",
// "BucketName": "string", "CompressionType": "none"|"gzip" }
DmsTransferSettings *DmsTransferSettings `type:"structure"`
// The settings for the target DynamoDB database. For more information, see
// the DynamoDBSettings structure.
DynamoDbSettings *DynamoDbSettings `type:"structure"`
// The settings for the Elasticsearch source endpoint. For more information,
// see the ElasticsearchSettings structure.
ElasticsearchSettings *ElasticsearchSettings `type:"structure"`
// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.
EndpointArn *string `type:"string"`
// The database endpoint identifier. Identifiers must begin with a letter and
// must contain only ASCII letters, digits, and hyphens. They can't end with
// a hyphen or contain two consecutive hyphens.
EndpointIdentifier *string `type:"string"`
// The type of endpoint. Valid values are source and target.
EndpointType ReplicationEndpointTypeValue `type:"string" enum:"true"`
// The expanded name for the engine name. For example, if the EngineName parameter
// is "aurora," this value would be "Amazon Aurora MySQL."
EngineDisplayName *string `type:"string"`
// The database engine name. Valid values, depending on the EndpointType, include
// "mysql", "oracle", "postgres", "mariadb", "aurora", "aurora-postgresql",
// "redshift", "s3", "db2", "azuredb", "sybase", "dynamodb", "mongodb", "kinesis",
// "kafka", "elasticsearch", "documentdb", and "sqlserver".
EngineName *string `type:"string"`
// Value returned by a call to CreateEndpoint that can be used for cross-account
// validation. Use it on a subsequent call to CreateEndpoint to create the endpoint
// with a cross-account.
ExternalId *string `type:"string"`
// The external table definition.
ExternalTableDefinition *string `type:"string"`
// Additional connection attributes used to connect to the endpoint.
ExtraConnectionAttributes *string `type:"string"`
// The settings for the Apache Kafka target endpoint. For more information,
// see the KafkaSettings structure.
KafkaSettings *KafkaSettings `type:"structure"`
// The settings for the Amazon Kinesis target endpoint. For more information,
// see the KinesisSettings structure.
KinesisSettings *KinesisSettings `type:"structure"`
// An AWS KMS key identifier that is used to encrypt the connection parameters
// for the endpoint.
//
// If you don't specify a value for the KmsKeyId parameter, then AWS DMS uses
// your default encryption key.
//
// AWS KMS creates the default encryption key for your AWS account. Your AWS
// account has a different default encryption key for each AWS Region.
KmsKeyId *string `type:"string"`
// The settings for the MongoDB source endpoint. For more information, see the
// MongoDbSettings structure.
MongoDbSettings *MongoDbSettings `type:"structure"`
// The port value used to access the endpoint.
Port *int64 `type:"integer"`
// Settings for the Amazon Redshift endpoint.
RedshiftSettings *RedshiftSettings `type:"structure"`
// The settings for the S3 target endpoint. For more information, see the S3Settings
// structure.
S3Settings *S3Settings `type:"structure"`
// The name of the server at the endpoint.
ServerName *string `type:"string"`
// The Amazon Resource Name (ARN) used by the service access IAM role.
ServiceAccessRoleArn *string `type:"string"`
// The SSL mode used to connect to the endpoint. The default value is none.
SslMode DmsSslModeValue `type:"string" enum:"true"`
// The status of the endpoint.
Status *string `type:"string"`
// The user name used to connect to the endpoint.
Username *string `type:"string"`
}
// String returns the string representation
func (s Endpoint) String() string {
return awsutil.Prettify(s)
}
// Describes an identifiable significant activity that affects a replication
// instance or task. This object can provide the message, the available event
// categories, the date and source of the event, and the AWS DMS resource type.
type Event struct {
_ struct{} `type:"structure"`
// The date of the event.
Date *time.Time `type:"timestamp"`
// The event categories available for the specified source type.
EventCategories []string `type:"list"`
// The event message.
Message *string `type:"string"`
// The identifier of an event source.
SourceIdentifier *string `type:"string"`
// The type of AWS DMS resource that generates events.
//
// Valid values: replication-instance | endpoint | replication-task
SourceType SourceType `type:"string" enum:"true"`
}
// String returns the string representation
func (s Event) String() string {
return awsutil.Prettify(s)
}
// Lists categories of events subscribed to, and generated by, the applicable
// AWS DMS resource type.
type EventCategoryGroup struct {
_ struct{} `type:"structure"`
// A list of event categories from a source type that you've chosen.
EventCategories []string `type:"list"`
// The type of AWS DMS resource that generates events.
//
// Valid values: replication-instance | replication-server | security-group
// | replication-task
SourceType *string `type:"string"`
}
// String returns the string representation
func (s EventCategoryGroup) String() string {
return awsutil.Prettify(s)
}
// Describes an event notification subscription created by the CreateEventSubscription
// operation.
type EventSubscription struct {
_ struct{} `type:"structure"`
// The AWS DMS event notification subscription Id.
CustSubscriptionId *string `type:"string"`
// The AWS customer account associated with the AWS DMS event notification subscription.
CustomerAwsId *string `type:"string"`
// Boolean value that indicates if the event subscription is enabled.
Enabled *bool `type:"boolean"`
// A lists of event categories.
EventCategoriesList []string `type:"list"`
// The topic ARN of the AWS DMS event notification subscription.
SnsTopicArn *string `type:"string"`
// A list of source Ids for the event subscription.
SourceIdsList []string `type:"list"`
// The type of AWS DMS resource that generates events.
//
// Valid values: replication-instance | replication-server | security-group
// | replication-task
SourceType *string `type:"string"`
// The status of the AWS DMS event notification subscription.
//
// Constraints:
//
// Can be one of the following: creating | modifying | deleting | active | no-permission
// | topic-not-exist
//
// The status "no-permission" indicates that AWS DMS no longer has permission
// to post to the SNS topic. The status "topic-not-exist" indicates that the
// topic was deleted after the subscription was created.
Status *string `type:"string"`
// The time the RDS event notification subscription was created.
SubscriptionCreationTime *string `type:"string"`
}
// String returns the string representation
func (s EventSubscription) String() string {
return awsutil.Prettify(s)
}
// Identifies the name and value of a source filter object used to limit the
// number and type of records transferred from your source to your target.
type Filter struct {
_ struct{} `type:"structure"`
// The name of the filter.
//
// Name is a required field
Name *string `type:"string" required:"true"`
// The filter value.
//
// Values is a required field
Values []string `type:"list" required:"true"`
}
// String returns the string representation
func (s Filter) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *Filter) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "Filter"}
if s.Name == nil {
invalidParams.Add(aws.NewErrParamRequired("Name"))
}
if s.Values == nil {
invalidParams.Add(aws.NewErrParamRequired("Values"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Provides information that describes an Apache Kafka endpoint. This information
// includes the output format of records applied to the endpoint and details
// of transaction and control table data information.
type KafkaSettings struct {
_ struct{} `type:"structure"`
// The broker location and port of the Kafka broker that hosts your Kafka instance.
// Specify the broker in the form broker-hostname-or-ip:port . For example,
// "ec2-12-345-678-901.compute-1.amazonaws.com:2345".
Broker *string `type:"string"`
// The topic to which you migrate the data. If you don't specify a topic, AWS
// DMS specifies "kafka-default-topic" as the migration topic.
Topic *string `type:"string"`
}
// String returns the string representation
func (s KafkaSettings) String() string {
return awsutil.Prettify(s)
}
// Provides information that describes an Amazon Kinesis Data Stream endpoint.
// This information includes the output format of records applied to the endpoint
// and details of transaction and control table data information.
type KinesisSettings struct {
_ struct{} `type:"structure"`
// Shows detailed control information for table definition, column definition,
// and table and column changes in the Kinesis message output. The default is
// False.
IncludeControlDetails *bool `type:"boolean"`
// Shows the partition value within the Kinesis message output, unless the partition
// type is schema-table-type. The default is False.
IncludePartitionValue *bool `type:"boolean"`
// Includes any data definition language (DDL) operations that change the table
// in the control data, such as rename-table, drop-table, add-column, drop-column,
// and rename-column. The default is False.
IncludeTableAlterOperations *bool `type:"boolean"`
// Provides detailed transaction information from the source database. This
// information includes a commit timestamp, a log position, and values for transaction_id,
// previous transaction_id, and transaction_record_id (the record offset within
// a transaction). The default is False.
IncludeTransactionDetails *bool `type:"boolean"`
// The output format for the records created on the endpoint. The message format
// is JSON (default) or JSON_UNFORMATTED (a single line with no tab).
MessageFormat MessageFormatValue `type:"string" enum:"true"`
// Prefixes schema and table names to partition values, when the partition type
// is primary-key-type. Doing this increases data distribution among Kinesis
// shards. For example, suppose that a SysBench schema has thousands of tables
// and each table has only limited range for a primary key. In this case, the
// same primary key is sent from thousands of tables to the same shard, which
// causes throttling. The default is False.
PartitionIncludeSchemaTable *bool `type:"boolean"`
// The Amazon Resource Name (ARN) for the AWS Identity and Access Management
// (IAM) role that AWS DMS uses to write to the Kinesis data stream.
ServiceAccessRoleArn *string `type:"string"`
// The Amazon Resource Name (ARN) for the Amazon Kinesis Data Streams endpoint.
StreamArn *string `type:"string"`
}
// String returns the string representation
func (s KinesisSettings) String() string {
return awsutil.Prettify(s)
}
// Provides information that defines a MongoDB endpoint.
type MongoDbSettings struct {
_ struct{} `type:"structure"`
// The authentication mechanism you use to access the MongoDB source endpoint.
//
// Valid values: DEFAULT, MONGODB_CR, SCRAM_SHA_1
//
// DEFAULT – For MongoDB version 2.x, use MONGODB_CR. For MongoDB version
// 3.x, use SCRAM_SHA_1. This setting isn't used when authType=No.
AuthMechanism AuthMechanismValue `type:"string" enum:"true"`
// The MongoDB database name. This setting isn't used when authType=NO.
//
// The default is admin.
AuthSource *string `type:"string"`
// The authentication type you use to access the MongoDB source endpoint.
//
// Valid values: NO, PASSWORD
//
// When NO is selected, user name and password parameters are not used and can
// be empty.
AuthType AuthTypeValue `type:"string" enum:"true"`
// The database name on the MongoDB source endpoint.
DatabaseName *string `type:"string"`
// Indicates the number of documents to preview to determine the document organization.
// Use this setting when NestingLevel is set to ONE.
//
// Must be a positive value greater than 0. Default value is 1000.
DocsToInvestigate *string `type:"string"`
// Specifies the document ID. Use this setting when NestingLevel is set to NONE.
//
// Default value is false.
ExtractDocId *string `type:"string"`
// The AWS KMS key identifier that is used to encrypt the content on the replication
// instance. If you don't specify a value for the KmsKeyId parameter, then AWS
// DMS uses your default encryption key. AWS KMS creates the default encryption
// key for your AWS account. Your AWS account has a different default encryption
// key for each AWS Region.
KmsKeyId *string `type:"string"`
// Specifies either document or table mode.
//
// Valid values: NONE, ONE
//
// Default value is NONE. Specify NONE to use document mode. Specify ONE to
// use table mode.
NestingLevel NestingLevelValue `type:"string" enum:"true"`
// The password for the user account you use to access the MongoDB source endpoint.
Password *string `type:"string" sensitive:"true"`
// The port value for the MongoDB source endpoint.
Port *int64 `type:"integer"`
// The name of the server on the MongoDB source endpoint.
ServerName *string `type:"string"`
// The user name you use to access the MongoDB source endpoint.
Username *string `type:"string"`
}
// String returns the string representation
func (s MongoDbSettings) String() string {
return awsutil.Prettify(s)
}
// In response to the DescribeOrderableReplicationInstances operation, this
// object describes an available replication instance. This description includes
// the replication instance's type, engine version, and allocated storage.
type OrderableReplicationInstance struct {
_ struct{} `type:"structure"`
// List of Availability Zones for this replication instance.
AvailabilityZones []string `type:"list"`
// The default amount of storage (in gigabytes) that is allocated for the replication
// instance.
DefaultAllocatedStorage *int64 `type:"integer"`
// The version of the replication engine.
EngineVersion *string `type:"string"`
// The amount of storage (in gigabytes) that is allocated for the replication
// instance.
IncludedAllocatedStorage *int64 `type:"integer"`
// The minimum amount of storage (in gigabytes) that can be allocated for the
// replication instance.
MaxAllocatedStorage *int64 `type:"integer"`
// The minimum amount of storage (in gigabytes) that can be allocated for the
// replication instance.
MinAllocatedStorage *int64 `type:"integer"`
// The value returned when the specified EngineVersion of the replication instance
// is in Beta or test mode. This indicates some features might not work as expected.
//
// AWS DMS supports the ReleaseStatus parameter in versions 3.1.4 and later.
ReleaseStatus ReleaseStatusValues `type:"string" enum:"true"`
// The compute and memory capacity of the replication instance.
//
// Valid Values: dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large
// | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge
ReplicationInstanceClass *string `type:"string"`
// The type of storage used by the replication instance.
StorageType *string `type:"string"`
}
// String returns the string representation
func (s OrderableReplicationInstance) String() string {
return awsutil.Prettify(s)
}
// Describes a maintenance action pending for an AWS DMS resource, including
// when and how it will be applied. This data type is a response element to
// the DescribePendingMaintenanceActions operation.
type PendingMaintenanceAction struct {
_ struct{} `type:"structure"`
// The type of pending maintenance action that is available for the resource.
Action *string `type:"string"`
// The date of the maintenance window when the action is to be applied. The
// maintenance action is applied to the resource during its first maintenance
// window after this date. If this date is specified, any next-maintenance opt-in
// requests are ignored.
AutoAppliedAfterDate *time.Time `type:"timestamp"`
// The effective date when the pending maintenance action will be applied to
// the resource. This date takes into account opt-in requests received from
// the ApplyPendingMaintenanceAction API operation, and also the AutoAppliedAfterDate
// and ForcedApplyDate parameter values. This value is blank if an opt-in request
// has not been received and nothing has been specified for AutoAppliedAfterDate
// or ForcedApplyDate.
CurrentApplyDate *time.Time `type:"timestamp"`
// A description providing more detail about the maintenance action.
Description *string `type:"string"`
// The date when the maintenance action will be automatically applied. The maintenance
// action is applied to the resource on this date regardless of the maintenance
// window for the resource. If this date is specified, any immediate opt-in
// requests are ignored.
ForcedApplyDate *time.Time `type:"timestamp"`
// The type of opt-in request that has been received for the resource.
OptInStatus *string `type:"string"`
}
// String returns the string representation
func (s PendingMaintenanceAction) String() string {
return awsutil.Prettify(s)
}
// Provides information that defines an Amazon Redshift endpoint.
type RedshiftSettings struct {
_ struct{} `type:"structure"`
// A value that indicates to allow any date format, including invalid formats
// such as 00/00/00 00:00:00, to be loaded without generating an error. You
// can choose true or false (the default).
//
// This parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE
// with the DATEFORMAT parameter. If the date format for the data doesn't match
// the DATEFORMAT specification, Amazon Redshift inserts a NULL value into that
// field.
AcceptAnyDate *bool `type:"boolean"`
// Code to run after connecting. This parameter should contain the code itself,
// not the name of a file containing the code.
AfterConnectScript *string `type:"string"`
// The location where the comma-separated value (.csv) files are stored before
// being uploaded to the S3 bucket.
BucketFolder *string `type:"string"`
// The name of the S3 bucket you want to use
BucketName *string `type:"string"`
// A value that sets the amount of time to wait (in milliseconds) before timing
// out, beginning from when you initially establish a connection.
ConnectionTimeout *int64 `type:"integer"`
// The name of the Amazon Redshift data warehouse (service) that you are working
// with.
DatabaseName *string `type:"string"`
// The date format that you are using. Valid values are auto (case-sensitive),
// your date format string enclosed in quotes, or NULL. If this parameter is
// left unset (NULL), it defaults to a format of 'YYYY-MM-DD'. Using auto recognizes
// most strings, even some that aren't supported when you use a date format
// string.
//
// If your date and time values use formats different from each other, set this
// to auto.
DateFormat *string `type:"string"`
// A value that specifies whether AWS DMS should migrate empty CHAR and VARCHAR
// fields as NULL. A value of true sets empty CHAR and VARCHAR fields to null.
// The default is false.
EmptyAsNull *bool `type:"boolean"`
// The type of server-side encryption that you want to use for your data. This
// encryption type is part of the endpoint settings or the extra connections
// attributes for Amazon S3. You can choose either SSE_S3 (the default) or SSE_KMS.
// To use SSE_S3, create an AWS Identity and Access Management (IAM) role with
// a policy that allows "arn:aws:s3:::*" to use the following actions: "s3:PutObject",
// "s3:ListBucket"
EncryptionMode EncryptionModeValue `type:"string" enum:"true"`
// The number of threads used to upload a single file. This parameter accepts
// a value from 1 through 64. It defaults to 10.
FileTransferUploadStreams *int64 `type:"integer"`
// The amount of time to wait (in milliseconds) before timing out, beginning
// from when you begin loading.
LoadTimeout *int64 `type:"integer"`
// The maximum size (in KB) of any .csv file used to transfer data to Amazon
// Redshift. This accepts a value from 1 through 1,048,576. It defaults to 32,768
// KB (32 MB).
MaxFileSize *int64 `type:"integer"`
// The password for the user named in the username property.
Password *string `type:"string" sensitive:"true"`
// The port number for Amazon Redshift. The default value is 5439.
Port *int64 `type:"integer"`
// A value that specifies to remove surrounding quotation marks from strings
// in the incoming data. All characters within the quotation marks, including
// delimiters, are retained. Choose true to remove quotation marks. The default
// is false.
RemoveQuotes *bool `type:"boolean"`
// A value that specifies to replaces the invalid characters specified in ReplaceInvalidChars,
// substituting the specified characters instead. The default is "?".
ReplaceChars *string `type:"string"`
// A list of characters that you want to replace. Use with ReplaceChars.
ReplaceInvalidChars *string `type:"string"`
// The name of the Amazon Redshift cluster you are using.
ServerName *string `type:"string"`
// The AWS KMS key ID. If you are using SSE_KMS for the EncryptionMode, provide
// this key ID. The key that you use needs an attached policy that enables IAM
// user permissions and allows use of the key.
ServerSideEncryptionKmsKeyId *string `type:"string"`
// The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon
// Redshift service.
ServiceAccessRoleArn *string `type:"string"`
// The time format that you want to use. Valid values are auto (case-sensitive),
// 'timeformat_string', 'epochsecs', or 'epochmillisecs'. It defaults to 10.
// Using auto recognizes most strings, even some that aren't supported when
// you use a time format string.
//
// If your date and time values use formats different from each other, set this
// parameter to auto.
TimeFormat *string `type:"string"`
// A value that specifies to remove the trailing white space characters from
// a VARCHAR string. This parameter applies only to columns with a VARCHAR data
// type. Choose true to remove unneeded white space. The default is false.
TrimBlanks *bool `type:"boolean"`
// A value that specifies to truncate data in columns to the appropriate number
// of characters, so that the data fits in the column. This parameter applies
// only to columns with a VARCHAR or CHAR data type, and rows with a size of
// 4 MB or less. Choose true to truncate data. The default is false.
TruncateColumns *bool `type:"boolean"`
// An Amazon Redshift user name for a registered user.
Username *string `type:"string"`
// The size of the write buffer to use in rows. Valid values range from 1 through
// 2,048. The default is 1,024. Use this setting to tune performance.
WriteBufferSize *int64 `type:"integer"`
}
// String returns the string representation
func (s RedshiftSettings) String() string {
return awsutil.Prettify(s)
}
// Provides information that describes status of a schema at an endpoint specified
// by the DescribeRefreshSchemaStatus operation.
type RefreshSchemasStatus struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.
EndpointArn *string `type:"string"`
// The last failure message for the schema.
LastFailureMessage *string `type:"string"`
// The date the schema was last refreshed.
LastRefreshDate *time.Time `type:"timestamp"`
// The Amazon Resource Name (ARN) of the replication instance.
ReplicationInstanceArn *string `type:"string"`
// The status of the schema.
Status RefreshSchemasStatusTypeValue `type:"string" enum:"true"`
}
// String returns the string representation
func (s RefreshSchemasStatus) String() string {
return awsutil.Prettify(s)
}
// Provides information that defines a replication instance.
type ReplicationInstance struct {
_ struct{} `type:"structure"`
// The amount of storage (in gigabytes) that is allocated for the replication
// instance.
AllocatedStorage *int64 `type:"integer"`
// Boolean value indicating if minor version upgrades will be automatically
// applied to the instance.
AutoMinorVersionUpgrade *bool `type:"boolean"`
// The Availability Zone for the instance.
AvailabilityZone *string `type:"string"`
// The DNS name servers for the replication instance.
DnsNameServers *string `type:"string"`
// The engine version number of the replication instance.
EngineVersion *string `type:"string"`
// The expiration date of the free replication instance that is part of the
// Free DMS program.
FreeUntil *time.Time `type:"timestamp"`
// The time the replication instance was created.
InstanceCreateTime *time.Time `type:"timestamp"`
// An AWS KMS key identifier that is used to encrypt the data on the replication
// instance.
//
// If you don't specify a value for the KmsKeyId parameter, then AWS DMS uses
// your default encryption key.
//
// AWS KMS creates the default encryption key for your AWS account. Your AWS
// account has a different default encryption key for each AWS Region.
KmsKeyId *string `type:"string"`
// Specifies whether the replication instance is a Multi-AZ deployment. You
// can't set the AvailabilityZone parameter if the Multi-AZ parameter is set
// to true.
MultiAZ *bool `type:"boolean"`
// The pending modification values.
PendingModifiedValues *ReplicationPendingModifiedValues `type:"structure"`
// The maintenance window times for the replication instance.
PreferredMaintenanceWindow *string `type:"string"`
// Specifies the accessibility options for the replication instance. A value
// of true represents an instance with a public IP address. A value of false
// represents an instance with a private IP address. The default value is true.
PubliclyAccessible *bool `type:"boolean"`
// The Amazon Resource Name (ARN) of the replication instance.
ReplicationInstanceArn *string `type:"string"`
// The compute and memory capacity of the replication instance.
//
// Valid Values: dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large
// | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge
ReplicationInstanceClass *string `type:"string"`
// The replication instance identifier. This parameter is stored as a lowercase
// string.
//
// Constraints:
//
// * Must contain from 1 to 63 alphanumeric characters or hyphens.
//
// * First character must be a letter.
//
// * Cannot end with a hyphen or contain two consecutive hyphens.
//
// Example: myrepinstance
ReplicationInstanceIdentifier *string `type:"string"`
// The private IP address of the replication instance.
ReplicationInstancePrivateIpAddress *string `deprecated:"true" type:"string"`
// One or more private IP addresses for the replication instance.
ReplicationInstancePrivateIpAddresses []string `type:"list"`
// The public IP address of the replication instance.
ReplicationInstancePublicIpAddress *string `deprecated:"true" type:"string"`
// One or more public IP addresses for the replication instance.
ReplicationInstancePublicIpAddresses []string `type:"list"`
// The status of the replication instance.
ReplicationInstanceStatus *string `type:"string"`
// The subnet group for the replication instance.
ReplicationSubnetGroup *ReplicationSubnetGroup `type:"structure"`
// The Availability Zone of the standby replication instance in a Multi-AZ deployment.
SecondaryAvailabilityZone *string `type:"string"`
// The VPC security group for the instance.
VpcSecurityGroups []VpcSecurityGroupMembership `type:"list"`
}
// String returns the string representation
func (s ReplicationInstance) String() string {
return awsutil.Prettify(s)
}
// Contains metadata for a replication instance task log.
type ReplicationInstanceTaskLog struct {
_ struct{} `type:"structure"`
// The size, in bytes, of the replication task log.
ReplicationInstanceTaskLogSize *int64 `type:"long"`
// The Amazon Resource Name (ARN) of the replication task.
ReplicationTaskArn *string `type:"string"`
// The name of the replication task.
ReplicationTaskName *string `type:"string"`
}
// String returns the string representation