Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

provider/aws: Add AWS DMS (data migration service) resources #11122

Merged
merged 21 commits into from
Feb 2, 2017
Merged

provider/aws: Add AWS DMS (data migration service) resources #11122

merged 21 commits into from
Feb 2, 2017

Conversation

jzbruno
Copy link
Contributor

@jzbruno jzbruno commented Jan 9, 2017

This closes #8973.

This is WIP for adding AWS DMS resource support. A few people were asking for it so I am putting this up to allow; tracking progress, giving early feedback, or collaborating.

I will be working on finishing this week.

@radeksimko radeksimko changed the title [WIP]provider/aws: Add AWS DMS (data migration service) resources [WIP] provider/aws: Add AWS DMS (data migration service) resources Jan 18, 2017
@jzbruno jzbruno changed the title [WIP] provider/aws: Add AWS DMS (data migration service) resources provider/aws: Add AWS DMS (data migration service) resources Jan 20, 2017
@jzbruno
Copy link
Contributor Author

jzbruno commented Jan 20, 2017

OK. This PR is ready for review! Last test case run below. Thanks.

jbruno:~/golang/src/github.com/hashicorp/terraform$ make fmt; AWS_PROFILE=jzbruno AWS_DEFAULT_REGION=us-west-2 make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAwsDms*'
gofmt -w $(find . -name '*.go' | grep -v vendor)
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/19 22:44:34 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAwsDms* -timeout 120m
=== RUN   TestAccAwsDmsEndpointImport
--- PASS: TestAccAwsDmsEndpointImport (105.00s)
=== RUN   TestAccAwsDmsReplicationInstanceImport
--- PASS: TestAccAwsDmsReplicationInstanceImport (638.43s)
=== RUN   TestAccAwsDmsReplicationSubnetGroupImport
--- PASS: TestAccAwsDmsReplicationSubnetGroupImport (21.53s)
=== RUN   TestAccAwsDmsReplicationTaskImport
--- PASS: TestAccAwsDmsReplicationTaskImport (698.27s)
=== RUN   TestAccAwsDmsEndpointBasic
--- PASS: TestAccAwsDmsEndpointBasic (112.05s)
=== RUN   TestAccAwsDmsReplicationInstanceBasic
--- PASS: TestAccAwsDmsReplicationInstanceBasic (558.31s)
=== RUN   TestAccAwsDmsReplicationSubnetGroupBasic
--- PASS: TestAccAwsDmsReplicationSubnetGroupBasic (32.51s)
=== RUN   TestAccAwsDmsReplicationTaskBasic
--- PASS: TestAccAwsDmsReplicationTaskBasic (867.22s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    3033.337s

@kfloz
Copy link

kfloz commented Jan 20, 2017

OMG brilliant! Thank you so much for this PR it rocks big time! (we were about to start to write some scripts but thanks to you we dont have to) - cant wait for the release.

@stack72
Copy link
Contributor

stack72 commented Jan 23, 2017

Hi @jzbruno

Thanks so much for the work here - please can you rebase this against master? This will help us to get on the review

Thanks

Paul

@stack72 stack72 self-assigned this Jan 23, 2017
@jzbruno
Copy link
Contributor Author

jzbruno commented Jan 23, 2017

@stack72 Sure. Fixed the merge conflicts.

@stack72
Copy link
Contributor

stack72 commented Jan 24, 2017

@jzbruno

Just a FYI, while testing this, I got the following results:

% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAwsDms'                                                                 ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/24 02:25:43 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAwsDms -timeout 120m
=== RUN   TestAccAwsDmsEndpointImport
--- PASS: TestAccAwsDmsEndpointImport (121.53s)
=== RUN   TestAccAwsDmsReplicationInstanceImport
--- FAIL: TestAccAwsDmsReplicationInstanceImport (42.39s)
	testing.go:265: Step 0 error: Error applying: 1 error(s) occurred:

		* aws_dms_replication_subnet_group.dms_replication_subnet_group: AccessDeniedFault: The IAM Role arn:aws:iam::187416307283:role/dms-vpc-role is not configured properly.
			status code: 400, request id: 1988004e-e1cc-11e6-bfe9-99d62d503a4b
=== RUN   TestAccAwsDmsReplicationSubnetGroupImport
--- FAIL: TestAccAwsDmsReplicationSubnetGroupImport (40.82s)
	testing.go:265: Step 0 error: Error applying: 1 error(s) occurred:

		* aws_dms_replication_subnet_group.dms_replication_subnet_group: AccessDeniedFault: The IAM Role arn:aws:iam::187416307283:role/dms-vpc-role is not configured properly.
			status code: 400, request id: 317ca8de-e1cc-11e6-b1aa-29e6f32d069f
=== RUN   TestAccAwsDmsReplicationTaskImport
--- FAIL: TestAccAwsDmsReplicationTaskImport (180.24s)
	testing.go:265: Step 0 error: Error applying: 1 error(s) occurred:

		* aws_dms_replication_subnet_group.dms_replication_subnet_group: AccessDeniedFault: The IAM Role arn:aws:iam::187416307283:role/dms-vpc-role is not configured properly.
			status code: 400, request id: 489faa02-e1cc-11e6-b3bd-231cee71d707
=== RUN   TestAccAwsDmsEndpointBasic
--- PASS: TestAccAwsDmsEndpointBasic (111.95s)
=== RUN   TestAccAwsDmsReplicationInstanceBasic
--- FAIL: TestAccAwsDmsReplicationInstanceBasic (44.08s)
	testing.go:265: Step 0 error: Error applying: 1 error(s) occurred:

		* aws_dms_replication_subnet_group.dms_replication_subnet_group: AccessDeniedFault: The IAM Role arn:aws:iam::187416307283:role/dms-vpc-role is not configured properly.
			status code: 400, request id: f8f6cacf-e1cc-11e6-874c-db2fcfa9dbd9
=== RUN   TestAccAwsDmsReplicationSubnetGroupBasic
--- FAIL: TestAccAwsDmsReplicationSubnetGroupBasic (42.78s)
	testing.go:265: Step 0 error: Error applying: 1 error(s) occurred:

		* aws_dms_replication_subnet_group.dms_replication_subnet_group: AccessDeniedFault: The IAM Role arn:aws:iam::187416307283:role/dms-vpc-role is not configured properly.
			status code: 400, request id: 12191ea1-e1cd-11e6-874c-db2fcfa9dbd9
=== RUN   TestAccAwsDmsReplicationTaskBasic
--- FAIL: TestAccAwsDmsReplicationTaskBasic (136.09s)
	testing.go:265: Step 0 error: Error applying: 1 error(s) occurred:

		* aws_dms_replication_subnet_group.dms_replication_subnet_group: AccessDeniedFault: The IAM Role arn:aws:iam::187416307283:role/dms-vpc-role is not configured properly.
			status code: 400, request id: 2c721c97-e1cd-11e6-bfe9-99d62d503a4b
FAIL
exit status 1
FAIL	github.com/hashicorp/terraform/builtin/providers/aws	719.900s
make: *** [testacc] Error 1

@jzbruno
Copy link
Contributor Author

jzbruno commented Jan 24, 2017

Sorry, I forgot that the role is only created if you add your first DMS resource from the AWS console. I will add the role to the test tomorrow morning.

Copy link
Contributor

@stack72 stack72 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @jzbruno

Thanks for the work here - as i noted last night, this will need the role added to the tests. Generally, I think there will need to be a few changes.

  1. We shouldn't have empty strings in our test setup. I believe this is because we are setting these values as part of the request code rather than checking to see if it exists before passing it

  2. Some of the comments suggest we should have ValidateFuncs - these are not vital for the merge but we should, if possible, follow up and add them

Hope this is all ok

Thanks for the work again

Paul

"engine_name": {
Type: schema.TypeString,
Required: true,
// Valid Values: mysql, oracle, postgres, mariadb, aurora, redshift, sybase, sqlserver
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can add a validate func here - not crucial for merging :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added the validate function. This probably won't change very often.

For something like replication_instance_type where new instance types may be added often over the course of the year, should we validate those too?

Port: aws.Int64(int64(d.Get("port").(int))),
ServerName: aws.String(d.Get("server_name").(string)),
Tags: dmsTagsFromMap(d.Get("tags").(map[string]interface{})),
Username: aws.String(d.Get("username").(string)),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is optional - therefore, what happens if we don't set this - AWS will cope with the empty string?

EndpointIdentifier: aws.String(d.Get("endpoint_id").(string)),
EndpointType: aws.String(d.Get("endpoint_type").(string)),
EngineName: aws.String(d.Get("engine_name").(string)),
Password: aws.String(d.Get("password").(string)),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Optional attribute - what happens if we don't pass this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The API allows database_name, username, and password to be empty strings. I changed these to be required since it doesn't make much sense to set these to an empty string.

"github.com/hashicorp/terraform/helper/validation"
)

func resourceAwsDmsEndpoint() *schema.Resource {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to add wait for create or update? Is this eventually consistent?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The endpoint create and update are eventually consistent. I didn't put a wait on these because the update is very fast and it is hard to properly tell difference between the resource going from status of available to modifying to available vs. never leaving available.

Any suggestions on the proper handling of this?

func dmsEndpointConfig(randId string) string {
return fmt.Sprintf(`
resource "aws_dms_endpoint" "dms_endpoint" {
database_name = ""
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why would we pass an empty database name?

},
"replication_instance_id": {
Type: schema.TypeString,
Required: true,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should turn these constraints into a validate func

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have added validate functions to all the DMS resource IDs.

replication_subnet_group_id = "${aws_dms_replication_subnet_group.dms_replication_subnet_group.replication_subnet_group_id}"
tags {
Name = "tf-test-dms-replication-instance-%[1]s"
Update = ""
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn't pass these as empty strings - empty strings mean we should omit them

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

func resourceAwsDmsReplicationSubnetGroupUpdate(d *schema.ResourceData, meta interface{}) error {
conn := meta.(*AWSClient).dmsconn

request := &dms.ModifyReplicationSubnetGroupInput{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have to pass everything as part of the Update request or should we pass only what we need to change?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything but the ReplicationSubnetGroupDescription is required. I will update.

"cdc_start_time": {
Type: schema.TypeInt,
Optional: true,
// Unix timestamp 1484346880
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you just want me to add context? The API documentation was unclear what type of timestamp this should be.

func resourceAwsDmsReplicationTaskCreate(d *schema.ResourceData, meta interface{}) error {
conn := meta.(*AWSClient).dmsconn

request := &dms.CreateReplicationTaskInput{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like we still have an issue of passing empty strings - is this ok on the AWS side? We usually follow the pattern of if v_, ok := d.GetOk....

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have looked these situations over for each resource. The problem is that the AWS API does allow not only empty strings for a lot of it's inputs but also they are optional. Since GetOk sets ok to false when an input is the zero value of it's type, we cannot know if the input was omitted from the tf config or set to the valid zero value.

Any suggestions are welcome here, but since the API accepts the input I think we are ok.

@jzbruno
Copy link
Contributor Author

jzbruno commented Jan 25, 2017

The acceptance tests take a long time to run. Is there a way to create the common resources and use them in multiple test steps? This would help a lot with the aws_dms_replication_task test which requires all of the other resources to exist.

And is possible to combine the import tests with these?

@stack72
Copy link
Contributor

stack72 commented Jan 29, 2017

Hi @jzbruno

Sorry! Any chance of a rebase on this? :)

P.

@jzbruno
Copy link
Contributor Author

jzbruno commented Jan 31, 2017

Ok. I fixed the merge conflicts. Sorry, I missed that the certificate resource could be managed through the API. I have added that too. This should be ready for review again.

@stack72
Copy link
Contributor

stack72 commented Jan 31, 2017

Thanks @jzbruno :) Looking at this again now!

P.

@stack72
Copy link
Contributor

stack72 commented Jan 31, 2017

Hi @jzbruno

This is looking much - I am getting 1 error when I run the tests:

=== RUN   TestAccAwsDmsReplicationTaskImport
--- FAIL: TestAccAwsDmsReplicationTaskImport (1195.55s)
	testing.go:329: Error destroying resource! WARNING: Dangling resources
		may exist. The full state and error is shown below.

		Error: Error applying: 1 error(s) occurred:

		* aws_subnet.dms_subnet_2: Error deleting subnet: timeout while waiting for state to become 'destroyed' (last state: 'pending', timeout: 5m0s)

I am going to bump that timeout - to 20 minutes just to make sure that all is well :) As soon as I do that and get a successful test, we are good to merge

Thanks again

Paul

@stack72
Copy link
Contributor

stack72 commented Feb 1, 2017

Hey @jzbruno

so I am having real issues getting these tests to work - I am getting timeouts when the VPC that is being spun up is trying to be destroyed. Did you manage to get them all working successfully?

Paul

@stack72
Copy link
Contributor

stack72 commented Feb 1, 2017

Certificate tests pass:

% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAwsDmsCertificate'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/01 16:31:49 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAwsDmsCertificate -timeout 120m
=== RUN   TestAccAwsDmsCertificateImport
--- PASS: TestAccAwsDmsCertificateImport (13.64s)
=== RUN   TestAccAwsDmsCertificateBasic
--- PASS: TestAccAwsDmsCertificateBasic (11.31s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	24.976s

@stack72
Copy link
Contributor

stack72 commented Feb 1, 2017

Subnet tests pass:

% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAwsDmsReplicationSubnet'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/01 16:34:16 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAwsDmsReplicationSubnet -timeout 120m
=== RUN   TestAccAwsDmsReplicationSubnetGroupImport
--- PASS: TestAccAwsDmsReplicationSubnetGroupImport (46.29s)
=== RUN   TestAccAwsDmsReplicationSubnetGroupBasic
--- PASS: TestAccAwsDmsReplicationSubnetGroupBasic (68.19s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	114.513s

@stack72
Copy link
Contributor

stack72 commented Feb 1, 2017

Endpoint tests pass:

% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAwsDmsEndpoint'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/01 16:37:26 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAwsDmsEndpoint -timeout 120m
=== RUN   TestAccAwsDmsEndpointImport
--- PASS: TestAccAwsDmsEndpointImport (109.97s)
=== RUN   TestAccAwsDmsEndpointBasic
--- PASS: TestAccAwsDmsEndpointBasic (122.57s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	232.571s

@stack72
Copy link
Contributor

stack72 commented Feb 1, 2017

Replication Instance tests do not work for me...

% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAwsDmsReplicationInstance'                                                 ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/01 16:43:37 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAwsDmsReplicationInstance -timeout 120m
=== RUN   TestAccAwsDmsReplicationInstanceImport
--- FAIL: TestAccAwsDmsReplicationInstanceImport (970.69s)
	testing.go:329: Error destroying resource! WARNING: Dangling resources
		may exist. The full state and error is shown below.

		Error: Error applying: 1 error(s) occurred:

		* aws_subnet.dms_subnet_1: Error deleting subnet: timeout while waiting for state to become 'destroyed' (last state: 'pending', timeout: 5m0s)

		State: aws_subnet.dms_subnet_1:
		  ID = subnet-73c80e3a
		  availability_zone = us-west-2a
		  cidr_block = 10.1.1.0/24
		  map_public_ip_on_launch = false
		  tags.% = 1
		  tags.Name = tf-test-dms-subnet-oa7eupqy
		  vpc_id = vpc-8d7af2ea

		  Dependencies:
		    aws_vpc.dms_vpc
		aws_vpc.dms_vpc:
		  ID = vpc-8d7af2ea
		  cidr_block = 10.1.0.0/16
		  default_network_acl_id = acl-a3255dc4
		  default_route_table_id = rtb-52dffd35
		  default_security_group_id = sg-bc41cbc4
		  dhcp_options_id = dopt-11ac7e74
		  enable_classiclink = false
		  enable_dns_hostnames = false
		  enable_dns_support = true
		  instance_tenancy = default
		  main_route_table_id = rtb-52dffd35
		  tags.% = 1
		  tags.Name = tf-test-dms-vpc-oa7eupqy
=== RUN   TestAccAwsDmsReplicationInstanceBasic
--- FAIL: TestAccAwsDmsReplicationInstanceBasic (936.69s)
	testing.go:329: Error destroying resource! WARNING: Dangling resources
		may exist. The full state and error is shown below.

		Error: Error applying: 1 error(s) occurred:

		* aws_subnet.dms_subnet_1: Error deleting subnet: timeout while waiting for state to become 'destroyed' (last state: 'pending', timeout: 5m0s)

		State: aws_subnet.dms_subnet_1:
		  ID = subnet-72d7113b
		  availability_zone = us-west-2a
		  cidr_block = 10.1.1.0/24
		  map_public_ip_on_launch = false
		  tags.% = 1
		  tags.Name = tf-test-dms-subnet-frxyu8xy
		  vpc_id = vpc-567ef631

		  Dependencies:
		    aws_vpc.dms_vpc
		aws_vpc.dms_vpc:
		  ID = vpc-567ef631
		  cidr_block = 10.1.0.0/16
		  default_network_acl_id = acl-3819615f
		  default_route_table_id = rtb-56a38131
		  default_security_group_id = sg-0659d37e
		  dhcp_options_id = dopt-11ac7e74
		  enable_classiclink = false
		  enable_dns_hostnames = false
		  enable_dns_support = true
		  instance_tenancy = default
		  main_route_table_id = rtb-56a38131
		  tags.% = 1
		  tags.Name = tf-test-dms-vpc-frxyu8xy
FAIL
exit status 1
FAIL	github.com/hashicorp/terraform/builtin/providers/aws	1907.412s
make: *** [testacc] Error 1

@jzbruno
Copy link
Contributor Author

jzbruno commented Feb 1, 2017

Ok. I will take a look later today.

@stack72
Copy link
Contributor

stack72 commented Feb 1, 2017

nps! :)

… Combine import tests with basic tests to cut down runtime.
@jzbruno
Copy link
Contributor Author

jzbruno commented Feb 2, 2017

@stack72 I think I have the tests fixed. They needed explicit dependencies set to ensure the subnets were deleted in the correct order. Also, I combined the import tests with the basic tests. This saves about 30 mins on the runtime.

==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/01 22:02:13 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAwsDms* -timeout 120m
=== RUN   TestAccAwsDmsCertificateBasic
--- PASS: TestAccAwsDmsCertificateBasic (11.07s)
=== RUN   TestAccAwsDmsEndpointBasic
--- PASS: TestAccAwsDmsEndpointBasic (201.26s)
=== RUN   TestAccAwsDmsReplicationInstanceBasic
--- PASS: TestAccAwsDmsReplicationInstanceBasic (718.23s)
=== RUN   TestAccAwsDmsReplicationSubnetGroupBasic
--- PASS: TestAccAwsDmsReplicationSubnetGroupBasic (45.26s)
=== RUN   TestAccAwsDmsReplicationTaskBasic
--- PASS: TestAccAwsDmsReplicationTaskBasic (872.61s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    1848.463s

@stack72
Copy link
Contributor

stack72 commented Feb 2, 2017

Thanks so much for all the work here - you have worked through all the issues and made everything work :)

% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAwsDms'                                                                2 ↵ ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/02 09:51:28 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAwsDms -timeout 120m
=== RUN   TestAccAwsDmsCertificateBasic
--- PASS: TestAccAwsDmsCertificateBasic (20.71s)
=== RUN   TestAccAwsDmsEndpointBasic
--- PASS: TestAccAwsDmsEndpointBasic (132.32s)
=== RUN   TestAccAwsDmsReplicationInstanceBasic
--- PASS: TestAccAwsDmsReplicationInstanceBasic (682.36s)
=== RUN   TestAccAwsDmsReplicationSubnetGroupBasic
--- PASS: TestAccAwsDmsReplicationSubnetGroupBasic (161.60s)
=== RUN   TestAccAwsDmsReplicationTaskBasic
--- PASS: TestAccAwsDmsReplicationTaskBasic (1157.82s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	2154.825s

@stack72 stack72 merged commit be56c7d into hashicorp:master Feb 2, 2017
stack72 pushed a commit that referenced this pull request Feb 2, 2017
* Add aws dms vendoring

* Add aws dms endpoint resource

* Add aws dms replication instance resource

* Add aws dms replication subnet group resource

* Add aws dms replication task resource

* Fix aws dms resource go vet errors

* Review fixes: Add id validators for all resources. Add validator for endpoint engine_name.

* Add aws dms resources to importability list

* Review fixes: Add aws dms iam role dependencies to test cases

* Review fixes: Adjustments for handling input values

* Add aws dms replication subnet group tagging

* Fix aws dms subnet group doesn't use standard error for resource not found

* Missed update of aws dms vendored version

* Add aws dms certificate resource

* Update aws dms resources to force new for immutable attributes

* Fix tests failing on subnet deletion by adding explicit dependencies. Combine import tests with basic tests to cut down runtime.
@jzbruno
Copy link
Contributor Author

jzbruno commented Feb 2, 2017

Thanks for the review and help!

arcadiatea pushed a commit to ticketmaster/terraform that referenced this pull request Feb 5, 2017
…rp#11122)

* Add aws dms vendoring

* Add aws dms endpoint resource

* Add aws dms replication instance resource

* Add aws dms replication subnet group resource

* Add aws dms replication task resource

* Fix aws dms resource go vet errors

* Review fixes: Add id validators for all resources. Add validator for endpoint engine_name.

* Add aws dms resources to importability list

* Review fixes: Add aws dms iam role dependencies to test cases

* Review fixes: Adjustments for handling input values

* Add aws dms replication subnet group tagging

* Fix aws dms subnet group doesn't use standard error for resource not found

* Missed update of aws dms vendored version

* Add aws dms certificate resource

* Update aws dms resources to force new for immutable attributes

* Fix tests failing on subnet deletion by adding explicit dependencies. Combine import tests with basic tests to cut down runtime.
arcadiatea pushed a commit to ticketmaster/terraform that referenced this pull request Feb 9, 2017
…rp#11122)

* Add aws dms vendoring

* Add aws dms endpoint resource

* Add aws dms replication instance resource

* Add aws dms replication subnet group resource

* Add aws dms replication task resource

* Fix aws dms resource go vet errors

* Review fixes: Add id validators for all resources. Add validator for endpoint engine_name.

* Add aws dms resources to importability list

* Review fixes: Add aws dms iam role dependencies to test cases

* Review fixes: Adjustments for handling input values

* Add aws dms replication subnet group tagging

* Fix aws dms subnet group doesn't use standard error for resource not found

* Missed update of aws dms vendored version

* Add aws dms certificate resource

* Update aws dms resources to force new for immutable attributes

* Fix tests failing on subnet deletion by adding explicit dependencies. Combine import tests with basic tests to cut down runtime.
@ghost
Copy link

ghost commented Apr 17, 2020

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@ghost ghost locked and limited conversation to collaborators Apr 17, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support for Amazon DMS (Database Migration Service)
4 participants