@aws-mdaa/dataops-dms 1.5.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +99 -102
- package/SCHEMA.md +1803 -3278
- package/lib/config-schema.json +4 -0
- package/package.json +16 -15
- package/sample_configs/sample-config-cdc.yaml +97 -0
- package/sample_configs/sample-config-comprehensive.yaml +590 -0
- package/sample_configs/sample-config-minimal.yaml +22 -0
- package/sample_configs/sample-config-noproject.yaml +106 -0
- package/mdaa.config.json +0 -3
package/lib/config-schema.json
CHANGED
|
@@ -3567,6 +3567,10 @@
|
|
|
3567
3567
|
"description": "Encoding type specification for Parquet file compression and storage optimization",
|
|
3568
3568
|
"type": "string"
|
|
3569
3569
|
},
|
|
3570
|
+
"expectedBucketOwner": {
|
|
3571
|
+
"description": "AWS account ID of the S3 bucket owner for cross-account access and bucket sniping prevention",
|
|
3572
|
+
"type": "string"
|
|
3573
|
+
},
|
|
3570
3574
|
"externalTableDefinition": {
|
|
3571
3575
|
"description": "External table definition for S3 source configuration in data lake integration",
|
|
3572
3576
|
"type": "string"
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"name": "Amazon Web Services",
|
|
6
6
|
"url": "https://aws.amazon.com/solutions"
|
|
7
7
|
},
|
|
8
|
-
"version": "1.
|
|
8
|
+
"version": "1.6.0",
|
|
9
9
|
"license": "Apache-2.0",
|
|
10
10
|
"bin": {
|
|
11
11
|
"dms": "bin/dms.js"
|
|
@@ -13,33 +13,31 @@
|
|
|
13
13
|
"main": "lib/index.js",
|
|
14
14
|
"types": "lib/index.d.ts",
|
|
15
15
|
"scripts": {
|
|
16
|
-
"build": "
|
|
16
|
+
"build": "../../../../scripts/build/build_package.sh DMSConfigContents",
|
|
17
17
|
"watch": "tsc -w",
|
|
18
|
-
"test": "jest --passWithNoTests --
|
|
18
|
+
"test": "jest --passWithNoTests --coverage",
|
|
19
19
|
"lint": "eslint --max-warnings 0 -c ../../../../eslint.config.mjs",
|
|
20
20
|
"cdk": "cdk",
|
|
21
|
-
"test:
|
|
22
|
-
"test:
|
|
23
|
-
"test:snapshots:update": "jest --passWithNoTests --testPathPattern='.*\\.snapshot\\.test\\.ts' --updateSnapshot"
|
|
21
|
+
"test:update-baselines": "UPDATE_BASELINES=true jest --passWithNoTests --testPathPattern='.*\\.diff\\.test\\.ts'",
|
|
22
|
+
"test:package-docs": "../../../../scripts/generate_docs/test_package_docs.sh"
|
|
24
23
|
},
|
|
25
24
|
"devDependencies": {
|
|
26
|
-
"@aws-mdaa/testing": "1.
|
|
25
|
+
"@aws-mdaa/testing": "1.6.0",
|
|
27
26
|
"@types/jest": "29.5.14",
|
|
28
27
|
"@types/node": "22.9.0",
|
|
29
28
|
"@types/prettier": "2.6.0",
|
|
30
29
|
"jest": "29.7.0",
|
|
31
|
-
"ts-jest": "29.4.
|
|
30
|
+
"ts-jest": "29.4.9",
|
|
32
31
|
"ts-node": "10.9.2",
|
|
33
32
|
"typescript": "5.9.3",
|
|
34
|
-
"typescript-json-schema": "0.67.
|
|
33
|
+
"typescript-json-schema": "0.67.4"
|
|
35
34
|
},
|
|
36
35
|
"dependencies": {
|
|
37
|
-
"@aws-mdaa/app": "1.
|
|
38
|
-
"@aws-mdaa/
|
|
39
|
-
"@aws-mdaa/dataops-
|
|
40
|
-
"@aws-mdaa/
|
|
41
|
-
"
|
|
42
|
-
"ajv": "8.17.1",
|
|
36
|
+
"@aws-mdaa/app": "1.6.0",
|
|
37
|
+
"@aws-mdaa/dataops-dms-l3-construct": "1.6.0",
|
|
38
|
+
"@aws-mdaa/dataops-shared": "1.6.0",
|
|
39
|
+
"@aws-mdaa/l3-construct": "1.6.0",
|
|
40
|
+
"ajv": "8.18.0",
|
|
43
41
|
"aws-cdk-lib": "2.220.0",
|
|
44
42
|
"cdk-nag": "2.37.55",
|
|
45
43
|
"constructs": "10.0.96",
|
|
@@ -50,5 +48,8 @@
|
|
|
50
48
|
"repository": {
|
|
51
49
|
"type": "git",
|
|
52
50
|
"url": "https://github.com/aws/modern-data-architecture-accelerator"
|
|
51
|
+
},
|
|
52
|
+
"mdaa": {
|
|
53
|
+
"deployStage": "5"
|
|
53
54
|
}
|
|
54
55
|
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Sample config for the DataOps DMS module - CDC migration variant.
|
|
2
|
+
# Demonstrates CDC and full-load-and-cdc migration types with
|
|
3
|
+
# CDC-specific task properties (cdcStartPosition, cdcStartTime,
|
|
4
|
+
# cdcStopPosition).
|
|
5
|
+
|
|
6
|
+
# DataOps project name for auto-wiring shared resources.
|
|
7
|
+
projectName: test-project
|
|
8
|
+
|
|
9
|
+
# DMS migration and replication configuration.
|
|
10
|
+
dms:
|
|
11
|
+
# Named replication instance configurations.
|
|
12
|
+
replicationInstances:
|
|
13
|
+
test-instance:
|
|
14
|
+
# DMS replication instance class.
|
|
15
|
+
instanceClass: dms.t3.micro
|
|
16
|
+
# VPC ID for replication instance deployment.
|
|
17
|
+
# Often created by your VPC/networking stack.
|
|
18
|
+
# Example SSM: ssm:/path/to/vpc/id
|
|
19
|
+
vpcId: test_vpc_id
|
|
20
|
+
# Subnet IDs spanning at least two AZs.
|
|
21
|
+
# Often created by your VPC/networking stack.
|
|
22
|
+
# Example SSM: ssm:/path/to/subnet/id
|
|
23
|
+
subnetIds:
|
|
24
|
+
- test_subnet_id1
|
|
25
|
+
- test_subnet_id2
|
|
26
|
+
|
|
27
|
+
# Named endpoint configurations.
|
|
28
|
+
endpoints:
|
|
29
|
+
test-source:
|
|
30
|
+
# The type of endpoint. (enum: source, target)
|
|
31
|
+
endpointType: source
|
|
32
|
+
# The endpoint engine name.
|
|
33
|
+
engineName: postgres
|
|
34
|
+
databaseName: test-cdc-db
|
|
35
|
+
# PostgreSQL settings.
|
|
36
|
+
postgreSqlSettings:
|
|
37
|
+
secretsManagerSecretArn: arn:{{partition}}:secretsmanager:{{region}}:{{account}}:secret:test-pg-secret
|
|
38
|
+
secretsManagerSecretKMSArn: arn:{{partition}}:kms:{{region}}:{{account}}:key/test-pg-key
|
|
39
|
+
captureDdls: true
|
|
40
|
+
pluginName: pglogical
|
|
41
|
+
slotName: test_cdc_slot
|
|
42
|
+
test-target:
|
|
43
|
+
endpointType: target
|
|
44
|
+
engineName: s3
|
|
45
|
+
# S3 settings.
|
|
46
|
+
s3Settings:
|
|
47
|
+
bucketName: test-cdc-target-bucket
|
|
48
|
+
serverSideEncryptionKmsKeyId: test-cdc-kms-key-id
|
|
49
|
+
|
|
50
|
+
# Named replication task configurations.
|
|
51
|
+
replicationTasks:
|
|
52
|
+
# CDC-only migration task.
|
|
53
|
+
test-task-cdc:
|
|
54
|
+
replicationInstance: test-instance
|
|
55
|
+
sourceEndpoint: test-source
|
|
56
|
+
targetEndpoint: test-target
|
|
57
|
+
# Migration type: cdc (change data capture only).
|
|
58
|
+
migrationType: cdc
|
|
59
|
+
# CDC start position (date, checkpoint, LSN, or SCN format).
|
|
60
|
+
cdcStartPosition: '2024-01-01T00:00:00'
|
|
61
|
+
# CDC stop position (server_time or commit_time format).
|
|
62
|
+
cdcStopPosition: 'server_time:2024-12-31T23:59:59'
|
|
63
|
+
# Table mappings for the task.
|
|
64
|
+
tableMappings:
|
|
65
|
+
rules:
|
|
66
|
+
- rule-type: selection
|
|
67
|
+
rule-id: '1'
|
|
68
|
+
rule-name: '1'
|
|
69
|
+
object-locator:
|
|
70
|
+
schema-name: public
|
|
71
|
+
table-name: '%'
|
|
72
|
+
rule-action: include
|
|
73
|
+
|
|
74
|
+
# Full-load-and-cdc migration task.
|
|
75
|
+
test-task-full-load-and-cdc:
|
|
76
|
+
replicationInstance: test-instance
|
|
77
|
+
sourceEndpoint: test-source
|
|
78
|
+
targetEndpoint: test-target
|
|
79
|
+
# Migration type: full-load-and-cdc.
|
|
80
|
+
migrationType: full-load-and-cdc
|
|
81
|
+
# CDC start time (epoch timestamp).
|
|
82
|
+
cdcStartTime: 1704067200
|
|
83
|
+
# Table mappings for the task.
|
|
84
|
+
tableMappings:
|
|
85
|
+
rules:
|
|
86
|
+
- rule-type: selection
|
|
87
|
+
rule-id: '1'
|
|
88
|
+
rule-name: '1'
|
|
89
|
+
object-locator:
|
|
90
|
+
schema-name: public
|
|
91
|
+
table-name: '%'
|
|
92
|
+
rule-action: include
|
|
93
|
+
# Overall settings for the task.
|
|
94
|
+
replicationTaskSettings:
|
|
95
|
+
TargetMetadata:
|
|
96
|
+
TargetSchema: ''
|
|
97
|
+
SupportLobs: true
|