-
Notifications
You must be signed in to change notification settings - Fork 9.2k
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
support FTP & FTPS protocols for the aws_transfer_server resource #13371
Conversation
@ewbankkit mind reviewing this when you get the chance? |
@drexler Thanks for submitting this. |
@ewbankkit thanks for the review. I'll address your comments tonight. |
@drexler @ewbankkit I am happy to pick this up if it is stalled but I wasn't sure where this PR was at. It seems @drexler needs to just fix a couple of comments. If you are slammed, I could help address them, but I dont want to step on your toes. |
@geota thanks for the offer. @ewbankkit made the updates. |
Current test results:
|
Would love to see this. Any updates on time frame to merge? |
6c19f8a
to
3f53d87
Compare
Rebased to remove merge conflicts |
6c50d57
to
c56db51
Compare
…kages. Acceptance test output: % make testacc TEST=./aws TESTARGS='-run=TestAccAWSTransferServer_basic' ==> Checking that code complies with gofmt requirements... TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSTransferServer_basic -timeout 180m === RUN TestAccAWSTransferServer_basic === PAUSE TestAccAWSTransferServer_basic === CONT TestAccAWSTransferServer_basic --- PASS: TestAccAWSTransferServer_basic (451.78s) PASS ok github.com/terraform-providers/terraform-provider-aws/aws 455.113s
Acceptance test output: % make testacc TEST=./aws TESTARGS='-run=TestAccAWSTransferServer_' ==> Checking that code complies with gofmt requirements... TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSTransferServer_ -timeout 180m === RUN TestAccAWSTransferServer_basic === PAUSE TestAccAWSTransferServer_basic === RUN TestAccAWSTransferServer_securityPolicy === PAUSE TestAccAWSTransferServer_securityPolicy === RUN TestAccAWSTransferServer_Vpc === PAUSE TestAccAWSTransferServer_Vpc === RUN TestAccAWSTransferServer_apigateway === PAUSE TestAccAWSTransferServer_apigateway === RUN TestAccAWSTransferServer_disappears === PAUSE TestAccAWSTransferServer_disappears === RUN TestAccAWSTransferServer_forcedestroy === PAUSE TestAccAWSTransferServer_forcedestroy === RUN TestAccAWSTransferServer_vpcEndpointId === PAUSE TestAccAWSTransferServer_vpcEndpointId === RUN TestAccAWSTransferServer_hostKey === PAUSE TestAccAWSTransferServer_hostKey === CONT TestAccAWSTransferServer_basic === CONT TestAccAWSTransferServer_hostKey === CONT TestAccAWSTransferServer_vpcEndpointId === CONT TestAccAWSTransferServer_disappears === CONT TestAccAWSTransferServer_forcedestroy === CONT TestAccAWSTransferServer_apigateway === CONT TestAccAWSTransferServer_securityPolicy === CONT TestAccAWSTransferServer_Vpc --- PASS: TestAccAWSTransferServer_vpcEndpointId (89.58s) --- PASS: TestAccAWSTransferServer_disappears (163.68s) --- PASS: TestAccAWSTransferServer_forcedestroy (169.20s) --- PASS: TestAccAWSTransferServer_securityPolicy (175.07s) --- PASS: TestAccAWSTransferServer_basic (197.39s) --- PASS: TestAccAWSTransferServer_Vpc (243.54s) --- PASS: TestAccAWSTransferServer_hostKey (312.69s) --- PASS: TestAccAWSTransferServer_apigateway (469.74s) PASS ok github.com/terraform-providers/terraform-provider-aws/aws 472.730s
Acceptance test output: % make testacc TEST=./aws TESTARGS='-run=TestAccAWSTransferServer_forcedestroy' ==> Checking that code complies with gofmt requirements... TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSTransferServer_forcedestroy -timeout 180m === RUN TestAccAWSTransferServer_forcedestroy === PAUSE TestAccAWSTransferServer_forcedestroy === CONT TestAccAWSTransferServer_forcedestroy --- PASS: TestAccAWSTransferServer_forcedestroy (159.70s) PASS ok github.com/terraform-providers/terraform-provider-aws/aws 162.636s
Acceptance test output: % make testacc TEST=./aws TESTARGS='-run=TestAccAWSTransferServer_protocols' ==> Checking that code complies with gofmt requirements... TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSTransferServer_protocols -timeout 180m === RUN TestAccAWSTransferServer_protocols === PAUSE TestAccAWSTransferServer_protocols === CONT TestAccAWSTransferServer_protocols --- PASS: TestAccAWSTransferServer_protocols (146.05s) PASS ok github.com/terraform-providers/terraform-provider-aws/aws 149.144s
Acceptance test output: % make testacc TEST=./aws TESTARGS='-run=TestAccAWSTransferServer_' ==> Checking that code complies with gofmt requirements... TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSTransferServer_ -timeout 180m === RUN TestAccAWSTransferServer_basic === PAUSE TestAccAWSTransferServer_basic === RUN TestAccAWSTransferServer_disappears === PAUSE TestAccAWSTransferServer_disappears === RUN TestAccAWSTransferServer_securityPolicy === PAUSE TestAccAWSTransferServer_securityPolicy === RUN TestAccAWSTransferServer_vpc === PAUSE TestAccAWSTransferServer_vpc === RUN TestAccAWSTransferServer_apiGateway === PAUSE TestAccAWSTransferServer_apiGateway === RUN TestAccAWSTransferServer_forceDestroy === PAUSE TestAccAWSTransferServer_forceDestroy === RUN TestAccAWSTransferServer_hostKey === PAUSE TestAccAWSTransferServer_hostKey === RUN TestAccAWSTransferServer_vpcEndpointId === PAUSE TestAccAWSTransferServer_vpcEndpointId === CONT TestAccAWSTransferServer_basic === CONT TestAccAWSTransferServer_forceDestroy === CONT TestAccAWSTransferServer_hostKey === CONT TestAccAWSTransferServer_vpcEndpointId === CONT TestAccAWSTransferServer_disappears === CONT TestAccAWSTransferServer_vpc === CONT TestAccAWSTransferServer_apiGateway === CONT TestAccAWSTransferServer_securityPolicy === CONT TestAccAWSTransferServer_vpc --- PASS: TestAccAWSTransferServer_vpc (256.37s) --- PASS: TestAccAWSTransferServer_vpcEndpointId (97.98s) --- PASS: TestAccAWSTransferServer_disappears (185.33s) --- PASS: TestAccAWSTransferServer_hostKey (185.69s) --- PASS: TestAccAWSTransferServer_securityPolicy (196.43s) --- PASS: TestAccAWSTransferServer_forceDestroy (203.22s) --- PASS: TestAccAWSTransferServer_apiGateway (344.76s) --- PASS: TestAccAWSTransferServer_basic (436.61s) PASS ok github.com/terraform-providers/terraform-provider-aws/aws 439.548s
Acceptance test output: % make testacc TEST=./aws TESTARGS='-run=TestAccAWSTransferServer_protocols' ==> Checking that code complies with gofmt requirements... TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSTransferServer_protocols -timeout 180m === RUN TestAccAWSTransferServer_protocols === PAUSE TestAccAWSTransferServer_protocols === CONT TestAccAWSTransferServer_protocols --- PASS: TestAccAWSTransferServer_protocols (262.65s) PASS ok github.com/terraform-providers/terraform-provider-aws/aws 265.960s
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🚀.
Commercial
% make testacc TEST=./aws TESTARGS='-run=TestAccAWSTransferServer_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSTransferServer_ -timeout 180m
=== RUN TestAccAWSTransferServer_basic
=== PAUSE TestAccAWSTransferServer_basic
=== RUN TestAccAWSTransferServer_disappears
=== PAUSE TestAccAWSTransferServer_disappears
=== RUN TestAccAWSTransferServer_securityPolicy
=== PAUSE TestAccAWSTransferServer_securityPolicy
=== RUN TestAccAWSTransferServer_vpc
=== PAUSE TestAccAWSTransferServer_vpc
=== RUN TestAccAWSTransferServer_protocols
=== PAUSE TestAccAWSTransferServer_protocols
=== RUN TestAccAWSTransferServer_apiGateway
=== PAUSE TestAccAWSTransferServer_apiGateway
=== RUN TestAccAWSTransferServer_forceDestroy
=== PAUSE TestAccAWSTransferServer_forceDestroy
=== RUN TestAccAWSTransferServer_hostKey
=== PAUSE TestAccAWSTransferServer_hostKey
=== RUN TestAccAWSTransferServer_vpcEndpointId
=== PAUSE TestAccAWSTransferServer_vpcEndpointId
=== CONT TestAccAWSTransferServer_basic
=== CONT TestAccAWSTransferServer_apiGateway
=== CONT TestAccAWSTransferServer_vpcEndpointId
=== CONT TestAccAWSTransferServer_forceDestroy
=== CONT TestAccAWSTransferServer_protocols
=== CONT TestAccAWSTransferServer_hostKey
=== CONT TestAccAWSTransferServer_disappears
=== CONT TestAccAWSTransferServer_vpc
=== CONT TestAccAWSTransferServer_securityPolicy
--- PASS: TestAccAWSTransferServer_vpcEndpointId (87.47s)
--- PASS: TestAccAWSTransferServer_hostKey (186.66s)
--- PASS: TestAccAWSTransferServer_disappears (194.21s)
--- PASS: TestAccAWSTransferServer_basic (197.89s)
--- PASS: TestAccAWSTransferServer_apiGateway (205.75s)
--- PASS: TestAccAWSTransferServer_securityPolicy (206.63s)
--- PASS: TestAccAWSTransferServer_forceDestroy (226.34s)
--- PASS: TestAccAWSTransferServer_protocols (258.82s)
--- PASS: TestAccAWSTransferServer_vpc (282.07s)
PASS
ok github.com/terraform-providers/terraform-provider-aws/aws 285.013s
% make testacc TEST=./aws TESTARGS='-run=TestAccDataSourceAwsTransferServer_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccDataSourceAwsTransferServer_ -timeout 180m
=== RUN TestAccDataSourceAwsTransferServer_basic
=== PAUSE TestAccDataSourceAwsTransferServer_basic
=== RUN TestAccDataSourceAwsTransferServer_service_managed
=== PAUSE TestAccDataSourceAwsTransferServer_service_managed
=== RUN TestAccDataSourceAwsTransferServer_apigateway
=== PAUSE TestAccDataSourceAwsTransferServer_apigateway
=== CONT TestAccDataSourceAwsTransferServer_basic
=== CONT TestAccDataSourceAwsTransferServer_service_managed
=== CONT TestAccDataSourceAwsTransferServer_apigateway
--- PASS: TestAccDataSourceAwsTransferServer_basic (185.98s)
--- PASS: TestAccDataSourceAwsTransferServer_apigateway (193.05s)
--- PASS: TestAccDataSourceAwsTransferServer_service_managed (197.67s)
PASS
ok github.com/terraform-providers/terraform-provider-aws/aws 200.873s
GovCloud
% make testacc TEST=./aws TESTARGS='-run=TestAccAWSTransferServer_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSTransferServer_ -timeout 180m
=== RUN TestAccAWSTransferServer_basic
=== PAUSE TestAccAWSTransferServer_basic
=== RUN TestAccAWSTransferServer_disappears
=== PAUSE TestAccAWSTransferServer_disappears
=== RUN TestAccAWSTransferServer_securityPolicy
=== PAUSE TestAccAWSTransferServer_securityPolicy
=== RUN TestAccAWSTransferServer_vpc
=== PAUSE TestAccAWSTransferServer_vpc
=== RUN TestAccAWSTransferServer_protocols
=== PAUSE TestAccAWSTransferServer_protocols
=== RUN TestAccAWSTransferServer_apiGateway
=== PAUSE TestAccAWSTransferServer_apiGateway
=== RUN TestAccAWSTransferServer_forceDestroy
=== PAUSE TestAccAWSTransferServer_forceDestroy
=== RUN TestAccAWSTransferServer_hostKey
=== PAUSE TestAccAWSTransferServer_hostKey
=== RUN TestAccAWSTransferServer_vpcEndpointId
resource_aws_transfer_server_test.go:433: Transfer Server VPC_ENDPOINT endpoint type is not supported in GovCloud partition
--- SKIP: TestAccAWSTransferServer_vpcEndpointId (0.00s)
=== CONT TestAccAWSTransferServer_basic
=== CONT TestAccAWSTransferServer_apiGateway
=== CONT TestAccAWSTransferServer_hostKey
=== CONT TestAccAWSTransferServer_forceDestroy
=== CONT TestAccAWSTransferServer_securityPolicy
=== CONT TestAccAWSTransferServer_vpc
=== CONT TestAccAWSTransferServer_disappears
=== CONT TestAccAWSTransferServer_protocols
=== CONT TestAccAWSTransferServer_apiGateway
resource_aws_api_gateway_rest_api_test.go:1326: skipping test; Endpoint Configuration type EDGE is not supported in this partition (aws-us-gov)
--- SKIP: TestAccAWSTransferServer_apiGateway (2.63s)
=== CONT TestAccAWSTransferServer_hostKey
provider_test.go:1072: skipping test for aws-us-gov/us-gov-west-1: Error running apply: exit status 1
2021/05/06 15:57:48 [DEBUG] Using modified User-Agent: Terraform/0.12.30 HashiCorp-terraform-exec/0.13.3
Error: error creating Transfer Server: InvalidRequestException: Invalid server type: PUBLIC
on terraform_plugin_test.tf line 2, in resource "aws_transfer_server" "test":
2: resource "aws_transfer_server" "test" {
--- SKIP: TestAccAWSTransferServer_hostKey (7.93s)
=== CONT TestAccAWSTransferServer_disappears
provider_test.go:1072: skipping test for aws-us-gov/us-gov-west-1: Error running apply: exit status 1
2021/05/06 15:57:49 [DEBUG] Using modified User-Agent: Terraform/0.12.30 HashiCorp-terraform-exec/0.13.3
Error: error creating Transfer Server: InvalidRequestException: Invalid server type: PUBLIC
on terraform_plugin_test.tf line 2, in resource "aws_transfer_server" "test":
2: resource "aws_transfer_server" "test" {}
=== CONT TestAccAWSTransferServer_securityPolicy
provider_test.go:1072: skipping test for aws-us-gov/us-gov-west-1: Error running apply: exit status 1
2021/05/06 15:57:49 [DEBUG] Using modified User-Agent: Terraform/0.12.30 HashiCorp-terraform-exec/0.13.3
Error: error creating Transfer Server: InvalidRequestException: Invalid server type: PUBLIC
on terraform_plugin_test.tf line 2, in resource "aws_transfer_server" "test":
2: resource "aws_transfer_server" "test" {
=== CONT TestAccAWSTransferServer_basic
provider_test.go:1072: skipping test for aws-us-gov/us-gov-west-1: Error running apply: exit status 1
2021/05/06 15:57:49 [DEBUG] Using modified User-Agent: Terraform/0.12.30 HashiCorp-terraform-exec/0.13.3
Error: error creating Transfer Server: InvalidRequestException: Invalid server type: PUBLIC
on terraform_plugin_test.tf line 2, in resource "aws_transfer_server" "test":
2: resource "aws_transfer_server" "test" {}
--- SKIP: TestAccAWSTransferServer_disappears (8.90s)
--- SKIP: TestAccAWSTransferServer_securityPolicy (8.93s)
--- SKIP: TestAccAWSTransferServer_basic (9.03s)
=== CONT TestAccAWSTransferServer_forceDestroy
provider_test.go:1072: skipping test for aws-us-gov/us-gov-west-1: Error running apply: exit status 1
2021/05/06 15:57:49 [DEBUG] Using modified User-Agent: Terraform/0.12.30 HashiCorp-terraform-exec/0.13.3
Error: error creating Transfer Server: InvalidRequestException: Invalid server type: PUBLIC
on terraform_plugin_test.tf line 2, in resource "aws_transfer_server" "test":
2: resource "aws_transfer_server" "test" {
--- SKIP: TestAccAWSTransferServer_forceDestroy (15.93s)
=== CONT TestAccAWSTransferServer_protocols
provider_test.go:1115: skipping test for aws-us-gov/us-gov-west-1: Error running apply: exit status 1
2021/05/06 15:57:49 [DEBUG] Using modified User-Agent: Terraform/0.12.30 HashiCorp-terraform-exec/0.13.3
Error: Error creating API Gateway: BadRequestException: Endpoint Configuration type EDGE is not supported in this region: us-gov-west-1
on terraform_plugin_test.tf line 52, in resource "aws_api_gateway_rest_api" "test":
52: resource "aws_api_gateway_rest_api" "test" {
--- SKIP: TestAccAWSTransferServer_protocols (43.15s)
--- PASS: TestAccAWSTransferServer_vpc (205.51s)
PASS
ok github.com/terraform-providers/terraform-provider-aws/aws 208.446s
% make testacc TEST=./aws TESTARGS='-run=TestAccDataSourceAwsTransferServer_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccDataSourceAwsTransferServer_ -timeout 180m
=== RUN TestAccDataSourceAwsTransferServer_basic
=== PAUSE TestAccDataSourceAwsTransferServer_basic
=== RUN TestAccDataSourceAwsTransferServer_service_managed
=== PAUSE TestAccDataSourceAwsTransferServer_service_managed
=== RUN TestAccDataSourceAwsTransferServer_apigateway
=== PAUSE TestAccDataSourceAwsTransferServer_apigateway
=== CONT TestAccDataSourceAwsTransferServer_basic
=== CONT TestAccDataSourceAwsTransferServer_apigateway
=== CONT TestAccDataSourceAwsTransferServer_service_managed
=== CONT TestAccDataSourceAwsTransferServer_apigateway
resource_aws_api_gateway_rest_api_test.go:1326: skipping test; Endpoint Configuration type EDGE is not supported in this partition (aws-us-gov)
--- SKIP: TestAccDataSourceAwsTransferServer_apigateway (1.90s)
=== CONT TestAccDataSourceAwsTransferServer_basic
provider_test.go:1072: skipping test for aws-us-gov/us-gov-west-1: Error running apply: exit status 1
2021/05/06 16:59:35 [DEBUG] Using modified User-Agent: Terraform/0.12.30 HashiCorp-terraform-exec/0.13.3
Error: error creating Transfer Server: InvalidRequestException: Invalid server type: PUBLIC
on terraform_plugin_test.tf line 2, in resource "aws_transfer_server" "test":
2: resource "aws_transfer_server" "test" {}
--- SKIP: TestAccDataSourceAwsTransferServer_basic (7.58s)
=== CONT TestAccDataSourceAwsTransferServer_service_managed
provider_test.go:1072: skipping test for aws-us-gov/us-gov-west-1: Error running apply: exit status 1
2021/05/06 16:59:35 [DEBUG] Using modified User-Agent: Terraform/0.12.30 HashiCorp-terraform-exec/0.13.3
Error: error creating Transfer Server: InvalidRequestException: Invalid server type: PUBLIC
on terraform_plugin_test.tf line 42, in resource "aws_transfer_server" "test":
42: resource "aws_transfer_server" "test" {
--- SKIP: TestAccDataSourceAwsTransferServer_service_managed (13.18s)
PASS
ok github.com/terraform-providers/terraform-provider-aws/aws 17.256s
@drexler Thanks for the contribution 👏. |
This has been released in version 3.39.0 of the Terraform AWS provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading. For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template for triage. Thanks! |
I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. |
Community Note
Closes #13016
Release note for CHANGELOG:
Output from acceptance testing: