Skip to content

Commit a815255

Browse files
authored
fix: correct usage of *_settings blocks within aws_dms_endpoint resource (#2)
* chore: fix typos and update image links to be accessible from registry * chore: s3 task replication example is working successfully * chore: update all settings blocks to match corrected format
1 parent 7f91665 commit a815255

File tree

9 files changed

+301
-73
lines changed

9 files changed

+301
-73
lines changed

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -100,15 +100,15 @@ module "database_migration_service" {
100100

101101
Within DMS you can have multiple combinations of resources depending on your use case. For example (not an exhaustive list of possible combinations):
102102
#### Simple
103-
- One source endpdoint
103+
- One source endpoint
104104
- One target/destination endpoint
105105
- One replication task
106-
- Two event subcriptions
106+
- Two event subscriptions
107107
- Replication instance event subscription
108108
- Replication task event subscriptions
109109

110110
<p align="center">
111-
<img src=".github/images/dms_simple.png" alt="DMS Simple" width="100%">
111+
<img src="https://raw.githubusercontent.com/clowdhaus/terraform-aws-dms/main/.github/images/dms_simple.png" alt="DMS Simple" width="100%">
112112
</p>
113113

114114
#### Multiple endpoints, multiple tasks
@@ -120,7 +120,7 @@ Within DMS you can have multiple combinations of resources depending on your use
120120
- Replication task event subscription for each task listed above
121121

122122
<p align="center">
123-
<img src=".github/images/dms_complex.png" alt="DMS Complex" width="100%">
123+
<img src="https://raw.githubusercontent.com/clowdhaus/terraform-aws-dms/main/.github/images/dms_complex.png" alt="DMS Complex" width="100%">
124124
</p>
125125

126126
In order to accommodate a flexible, multi-resource combinatorial module, keys and maps are used for cross-referencing resources created within the module.
@@ -199,7 +199,7 @@ Continuing the same lookup patter, to create event subscriptions, you simply ref
199199
Tasks are the "jobs" that perform the necessary actions of migrating from `source` to `target`, including any transformations and/or mappings of the data in transit. Tasks are largely controlled by [task settings](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html) that are defined in a JSON document.
200200

201201
<p align="center">
202-
<img src=".github/images/replication_task.png" alt="Replication Task" width="100%">
202+
<img src="https://raw.githubusercontent.com/clowdhaus/terraform-aws-dms/main/.github/images/replication_task.png" alt="Replication Task" width="100%">
203203
</p>
204204

205205
#### [Example task settings JSON document](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.Saving.html):
@@ -325,7 +325,7 @@ No modules.
325325
| <a name="input_create"></a> [create](#input\_create) | Determines whether resources will be created | `bool` | `true` | no |
326326
| <a name="input_create_iam_roles"></a> [create\_iam\_roles](#input\_create\_iam\_roles) | Determines whether the required [DMS IAM resources](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.APIRole) will be created | `bool` | `true` | no |
327327
| <a name="input_create_repl_subnet_group"></a> [create\_repl\_subnet\_group](#input\_create\_repl\_subnet\_group) | Determines whether the replication subnet group will be created | `bool` | `true` | no |
328-
| <a name="input_endpoints"></a> [endpoints](#input\_endpoints) | Map of objects that define the endpoints to be created | `map(any)` | `{}` | no |
328+
| <a name="input_endpoints"></a> [endpoints](#input\_endpoints) | Map of objects that define the endpoints to be created | `any` | `{}` | no |
329329
| <a name="input_event_subscription_timeouts"></a> [event\_subscription\_timeouts](#input\_event\_subscription\_timeouts) | A map of timeouts for event subscription create/update/delete operations | `map(string)` | `{}` | no |
330330
| <a name="input_event_subscriptions"></a> [event\_subscriptions](#input\_event\_subscriptions) | Map of objects that define the event subscriptions to be created | `any` | `{}` | no |
331331
| <a name="input_iam_role_permissions_boundary"></a> [iam\_role\_permissions\_boundary](#input\_iam\_role\_permissions\_boundary) | ARN of the policy that is used to set the permissions boundary for the role | `string` | `null` | no |
@@ -350,7 +350,7 @@ No modules.
350350
| <a name="input_repl_subnet_group_name"></a> [repl\_subnet\_group\_name](#input\_repl\_subnet\_group\_name) | The name for the replication subnet group. Stored as a lowercase string, must contain no more than 255 alphanumeric characters, periods, spaces, underscores, or hyphens | `string` | `null` | no |
351351
| <a name="input_repl_subnet_group_subnet_ids"></a> [repl\_subnet\_group\_subnet\_ids](#input\_repl\_subnet\_group\_subnet\_ids) | A list of the EC2 subnet IDs for the subnet group | `list(string)` | `[]` | no |
352352
| <a name="input_repl_subnet_group_tags"></a> [repl\_subnet\_group\_tags](#input\_repl\_subnet\_group\_tags) | A map of additional tags to apply to the replication subnet group | `map(string)` | `{}` | no |
353-
| <a name="input_replication_tasks"></a> [replication\_tasks](#input\_replication\_tasks) | Map of objects that define the replication tasks to be created | `map(any)` | `{}` | no |
353+
| <a name="input_replication_tasks"></a> [replication\_tasks](#input\_replication\_tasks) | Map of objects that define the replication tasks to be created | `any` | `{}` | no |
354354
| <a name="input_tags"></a> [tags](#input\_tags) | A map of tags to use on all resources | `map(string)` | `{}` | no |
355355

356356
## Outputs

examples/complete/README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Note that this example may create resources which will incur monetary charges on
3434

3535
| Name | Version |
3636
|------|---------|
37-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 3.55 |
37+
| <a name="provider_aws"></a> [aws](#provider\_aws) | 3.58.0 |
3838

3939
## Modules
4040

@@ -44,6 +44,7 @@ Note that this example may create resources which will incur monetary charges on
4444
| <a name="module_dms_default"></a> [dms\_default](#module\_dms\_default) | ../.. | n/a |
4545
| <a name="module_dms_disabled"></a> [dms\_disabled](#module\_dms\_disabled) | ../.. | n/a |
4646
| <a name="module_rds_aurora"></a> [rds\_aurora](#module\_rds\_aurora) | terraform-aws-modules/rds-aurora/aws | ~> 5 |
47+
| <a name="module_s3_bucket"></a> [s3\_bucket](#module\_s3\_bucket) | terraform-aws-modules/s3-bucket/aws | ~> 2 |
4748
| <a name="module_security_group"></a> [security\_group](#module\_security\_group) | terraform-aws-modules/security-group/aws | ~> 4 |
4849
| <a name="module_vpc"></a> [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | ~> 3 |
4950
| <a name="module_vpc_endpoint_security_group"></a> [vpc\_endpoint\_security\_group](#module\_vpc\_endpoint\_security\_group) | terraform-aws-modules/security-group/aws | ~> 4 |
@@ -53,7 +54,12 @@ Note that this example may create resources which will incur monetary charges on
5354

5455
| Name | Type |
5556
|------|------|
57+
| [aws_iam_role.s3_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
58+
| [aws_rds_cluster_parameter_group.postgresql](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/rds_cluster_parameter_group) | resource |
59+
| [aws_s3_bucket_object.hr_data](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_object) | resource |
5660
| [aws_sns_topic.example](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sns_topic) | resource |
61+
| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |
62+
| [aws_partition.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/partition) | data source |
5763
| [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source |
5864

5965
## Inputs
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"TableCount": "1",
3+
"Tables": [{
4+
"TableName": "employee",
5+
"TablePath": "hr/employee/",
6+
"TableOwner": "hr",
7+
"TableColumns": [{
8+
"ColumnName": "Id",
9+
"ColumnType": "INT8",
10+
"ColumnNullable": "false",
11+
"ColumnIsPk": "true"
12+
},
13+
{
14+
"ColumnName": "LastName",
15+
"ColumnType": "STRING",
16+
"ColumnLength": "20"
17+
},
18+
{
19+
"ColumnName": "FirstName",
20+
"ColumnType": "STRING",
21+
"ColumnLength": "30"
22+
},
23+
{
24+
"ColumnName": "HireDate",
25+
"ColumnType": "DATETIME"
26+
},
27+
{
28+
"ColumnName": "OfficeLocation",
29+
"ColumnType": "STRING",
30+
"ColumnLength": "20"
31+
}
32+
],
33+
"TableColumnsTotal": "5"
34+
}]
35+
}

examples/complete/task_settings.json renamed to examples/complete/configs/task_settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"CommitRate": 10000
1818
},
1919
"Logging": {
20-
"EnableLogging": false
20+
"EnableLogging": true
2121
},
2222
"ControlTablesSettings": {
2323
"HistoryTimeslotInMinutes": 5,

examples/complete/data/hr.csv

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
101,Smith,Bob,2014-06-04,New York
2+
102,Smith,Bob,2015-10-08,Los Angeles
3+
103,Smith,Bob,2017-03-13,Dallas
4+
104,Smith,Bob,2017-03-13,Dallas

0 commit comments

Comments
 (0)