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

resource/aws_ebs_volume: Allow both 'snapshot_id' and 'size' #17243

Merged

Conversation

ewbankkit
Copy link
Contributor

@ewbankkit ewbankkit commented Jan 22, 2021

Community Note

  • Please vote on this pull request by adding a 👍 reaction to the original pull request comment to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for pull request followers and do not help prioritize the request

Closes #17235.
Relates #16514.
Relates #16517.

Includes formatting fix from #17242.

Verified that at least one of size or snapshot_id is required:

$ aws --region us-west-2 ec2 create-volume --availability-zone us-west-2a

An error occurred (MissingParameter) when calling the CreateVolume operation: The request must contain the parameter size/snapshot

Output from acceptance testing:

$ make testacc TEST=./aws TESTARGS='-run=TestAccAWSEBSVolume_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSEBSVolume_ -timeout 120m
=== RUN   TestAccAWSEBSVolume_basic
=== PAUSE TestAccAWSEBSVolume_basic
=== RUN   TestAccAWSEBSVolume_updateAttachedEbsVolume
=== PAUSE TestAccAWSEBSVolume_updateAttachedEbsVolume
=== RUN   TestAccAWSEBSVolume_updateSize
=== PAUSE TestAccAWSEBSVolume_updateSize
=== RUN   TestAccAWSEBSVolume_updateType
=== PAUSE TestAccAWSEBSVolume_updateType
=== RUN   TestAccAWSEBSVolume_updateIops_Io1
=== PAUSE TestAccAWSEBSVolume_updateIops_Io1
=== RUN   TestAccAWSEBSVolume_updateIops_Io2
=== PAUSE TestAccAWSEBSVolume_updateIops_Io2
=== RUN   TestAccAWSEBSVolume_kmsKey
=== PAUSE TestAccAWSEBSVolume_kmsKey
=== RUN   TestAccAWSEBSVolume_NoIops
=== PAUSE TestAccAWSEBSVolume_NoIops
=== RUN   TestAccAWSEBSVolume_InvalidIopsForType
=== PAUSE TestAccAWSEBSVolume_InvalidIopsForType
=== RUN   TestAccAWSEBSVolume_InvalidThroughputForType
=== PAUSE TestAccAWSEBSVolume_InvalidThroughputForType
=== RUN   TestAccAWSEBSVolume_withTags
=== PAUSE TestAccAWSEBSVolume_withTags
=== RUN   TestAccAWSEBSVolume_multiAttach
=== PAUSE TestAccAWSEBSVolume_multiAttach
=== RUN   TestAccAWSEBSVolume_outpost
=== PAUSE TestAccAWSEBSVolume_outpost
=== RUN   TestAccAWSEBSVolume_gp3_basic
=== PAUSE TestAccAWSEBSVolume_gp3_basic
=== RUN   TestAccAWSEBSVolume_gp3_iops
=== PAUSE TestAccAWSEBSVolume_gp3_iops
=== RUN   TestAccAWSEBSVolume_gp3_throughput
=== PAUSE TestAccAWSEBSVolume_gp3_throughput
=== RUN   TestAccAWSEBSVolume_snapshotID
=== PAUSE TestAccAWSEBSVolume_snapshotID
=== RUN   TestAccAWSEBSVolume_snapshotIDAndSize
=== PAUSE TestAccAWSEBSVolume_snapshotIDAndSize
=== RUN   TestAccAWSEBSVolume_disappears
=== PAUSE TestAccAWSEBSVolume_disappears
=== CONT  TestAccAWSEBSVolume_basic
=== CONT  TestAccAWSEBSVolume_withTags
=== CONT  TestAccAWSEBSVolume_disappears
=== CONT  TestAccAWSEBSVolume_snapshotIDAndSize
=== CONT  TestAccAWSEBSVolume_snapshotID
=== CONT  TestAccAWSEBSVolume_gp3_throughput
=== CONT  TestAccAWSEBSVolume_gp3_iops
=== CONT  TestAccAWSEBSVolume_gp3_basic
=== CONT  TestAccAWSEBSVolume_outpost
=== CONT  TestAccAWSEBSVolume_multiAttach
=== CONT  TestAccAWSEBSVolume_updateIops_Io2
=== CONT  TestAccAWSEBSVolume_InvalidThroughputForType
=== CONT  TestAccAWSEBSVolume_InvalidIopsForType
=== CONT  TestAccAWSEBSVolume_NoIops
=== CONT  TestAccAWSEBSVolume_kmsKey
=== CONT  TestAccAWSEBSVolume_updateType
=== CONT  TestAccAWSEBSVolume_updateIops_Io1
=== CONT  TestAccAWSEBSVolume_updateSize
=== CONT  TestAccAWSEBSVolume_updateAttachedEbsVolume
=== CONT  TestAccAWSEBSVolume_outpost
    data_source_aws_outposts_outposts_test.go:66: skipping since no Outposts found
--- SKIP: TestAccAWSEBSVolume_outpost (2.98s)
--- PASS: TestAccAWSEBSVolume_InvalidThroughputForType (20.53s)
--- PASS: TestAccAWSEBSVolume_InvalidIopsForType (20.60s)
--- PASS: TestAccAWSEBSVolume_disappears (57.32s)
--- PASS: TestAccAWSEBSVolume_NoIops (65.27s)
--- PASS: TestAccAWSEBSVolume_multiAttach (72.48s)
--- PASS: TestAccAWSEBSVolume_withTags (72.54s)
--- PASS: TestAccAWSEBSVolume_basic (72.60s)
--- PASS: TestAccAWSEBSVolume_gp3_basic (73.47s)
--- PASS: TestAccAWSEBSVolume_kmsKey (74.54s)
--- PASS: TestAccAWSEBSVolume_snapshotIDAndSize (80.58s)
--- PASS: TestAccAWSEBSVolume_snapshotID (84.31s)
--- PASS: TestAccAWSEBSVolume_updateIops_Io2 (84.79s)
--- PASS: TestAccAWSEBSVolume_updateType (97.39s)
--- PASS: TestAccAWSEBSVolume_updateIops_Io1 (100.53s)
--- PASS: TestAccAWSEBSVolume_gp3_throughput (101.28s)
--- PASS: TestAccAWSEBSVolume_updateSize (101.72s)
--- PASS: TestAccAWSEBSVolume_gp3_iops (102.74s)
--- PASS: TestAccAWSEBSVolume_updateAttachedEbsVolume (189.96s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	190.076s

Acceptance test output:

$ make testacc TEST=./aws TESTARGS='-run=TestAccAWSEBSVolume_snapshotID'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSEBSVolume_snapshotID -timeout 120m
=== RUN   TestAccAWSEBSVolume_snapshotID
=== PAUSE TestAccAWSEBSVolume_snapshotID
=== RUN   TestAccAWSEBSVolume_snapshotIDAndSize
=== PAUSE TestAccAWSEBSVolume_snapshotIDAndSize
=== CONT  TestAccAWSEBSVolume_snapshotID
=== CONT  TestAccAWSEBSVolume_snapshotIDAndSize
--- PASS: TestAccAWSEBSVolume_snapshotIDAndSize (44.60s)
--- PASS: TestAccAWSEBSVolume_snapshotID (46.74s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	46.829s
@ghost ghost added size/L Managed by automation to categorize the size of a PR. service/ec2 Issues and PRs that pertain to the ec2 service. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. labels Jan 22, 2021
Acceptance test output:

$ make testacc TEST=./aws TESTARGS='-run=TestAccAWSEBSVolume_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSEBSVolume_ -timeout 120m
=== RUN   TestAccAWSEBSVolume_basic
=== PAUSE TestAccAWSEBSVolume_basic
=== RUN   TestAccAWSEBSVolume_updateAttachedEbsVolume
=== PAUSE TestAccAWSEBSVolume_updateAttachedEbsVolume
=== RUN   TestAccAWSEBSVolume_updateSize
=== PAUSE TestAccAWSEBSVolume_updateSize
=== RUN   TestAccAWSEBSVolume_updateType
=== PAUSE TestAccAWSEBSVolume_updateType
=== RUN   TestAccAWSEBSVolume_updateIops_Io1
=== PAUSE TestAccAWSEBSVolume_updateIops_Io1
=== RUN   TestAccAWSEBSVolume_updateIops_Io2
=== PAUSE TestAccAWSEBSVolume_updateIops_Io2
=== RUN   TestAccAWSEBSVolume_kmsKey
=== PAUSE TestAccAWSEBSVolume_kmsKey
=== RUN   TestAccAWSEBSVolume_NoIops
=== PAUSE TestAccAWSEBSVolume_NoIops
=== RUN   TestAccAWSEBSVolume_InvalidIopsForType
=== PAUSE TestAccAWSEBSVolume_InvalidIopsForType
=== RUN   TestAccAWSEBSVolume_InvalidThroughputForType
=== PAUSE TestAccAWSEBSVolume_InvalidThroughputForType
=== RUN   TestAccAWSEBSVolume_withTags
=== PAUSE TestAccAWSEBSVolume_withTags
=== RUN   TestAccAWSEBSVolume_multiAttach
=== PAUSE TestAccAWSEBSVolume_multiAttach
=== RUN   TestAccAWSEBSVolume_outpost
=== PAUSE TestAccAWSEBSVolume_outpost
=== RUN   TestAccAWSEBSVolume_gp3_basic
=== PAUSE TestAccAWSEBSVolume_gp3_basic
=== RUN   TestAccAWSEBSVolume_gp3_iops
=== PAUSE TestAccAWSEBSVolume_gp3_iops
=== RUN   TestAccAWSEBSVolume_gp3_throughput
=== PAUSE TestAccAWSEBSVolume_gp3_throughput
=== RUN   TestAccAWSEBSVolume_snapshotID
=== PAUSE TestAccAWSEBSVolume_snapshotID
=== RUN   TestAccAWSEBSVolume_snapshotIDAndSize
=== PAUSE TestAccAWSEBSVolume_snapshotIDAndSize
=== RUN   TestAccAWSEBSVolume_disappears
=== PAUSE TestAccAWSEBSVolume_disappears
=== CONT  TestAccAWSEBSVolume_basic
=== CONT  TestAccAWSEBSVolume_withTags
=== CONT  TestAccAWSEBSVolume_disappears
=== CONT  TestAccAWSEBSVolume_snapshotIDAndSize
=== CONT  TestAccAWSEBSVolume_snapshotID
=== CONT  TestAccAWSEBSVolume_gp3_throughput
=== CONT  TestAccAWSEBSVolume_gp3_iops
=== CONT  TestAccAWSEBSVolume_gp3_basic
=== CONT  TestAccAWSEBSVolume_outpost
=== CONT  TestAccAWSEBSVolume_multiAttach
=== CONT  TestAccAWSEBSVolume_updateIops_Io2
=== CONT  TestAccAWSEBSVolume_InvalidThroughputForType
=== CONT  TestAccAWSEBSVolume_InvalidIopsForType
=== CONT  TestAccAWSEBSVolume_NoIops
=== CONT  TestAccAWSEBSVolume_kmsKey
=== CONT  TestAccAWSEBSVolume_updateType
=== CONT  TestAccAWSEBSVolume_updateIops_Io1
=== CONT  TestAccAWSEBSVolume_updateSize
=== CONT  TestAccAWSEBSVolume_updateAttachedEbsVolume
=== CONT  TestAccAWSEBSVolume_outpost
    data_source_aws_outposts_outposts_test.go:66: skipping since no Outposts found
--- SKIP: TestAccAWSEBSVolume_outpost (2.98s)
--- PASS: TestAccAWSEBSVolume_InvalidThroughputForType (20.53s)
--- PASS: TestAccAWSEBSVolume_InvalidIopsForType (20.60s)
--- PASS: TestAccAWSEBSVolume_disappears (57.32s)
--- PASS: TestAccAWSEBSVolume_NoIops (65.27s)
--- PASS: TestAccAWSEBSVolume_multiAttach (72.48s)
--- PASS: TestAccAWSEBSVolume_withTags (72.54s)
--- PASS: TestAccAWSEBSVolume_basic (72.60s)
--- PASS: TestAccAWSEBSVolume_gp3_basic (73.47s)
--- PASS: TestAccAWSEBSVolume_kmsKey (74.54s)
--- PASS: TestAccAWSEBSVolume_snapshotIDAndSize (80.58s)
--- PASS: TestAccAWSEBSVolume_snapshotID (84.31s)
--- PASS: TestAccAWSEBSVolume_updateIops_Io2 (84.79s)
--- PASS: TestAccAWSEBSVolume_updateType (97.39s)
--- PASS: TestAccAWSEBSVolume_updateIops_Io1 (100.53s)
--- PASS: TestAccAWSEBSVolume_gp3_throughput (101.28s)
--- PASS: TestAccAWSEBSVolume_updateSize (101.72s)
--- PASS: TestAccAWSEBSVolume_gp3_iops (102.74s)
--- PASS: TestAccAWSEBSVolume_updateAttachedEbsVolume (189.96s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	190.076s
@ghost ghost added the documentation Introduces or discusses updates to documentation. label Jan 22, 2021
@ewbankkit ewbankkit marked this pull request as ready for review January 22, 2021 14:59
@ewbankkit ewbankkit requested a review from a team as a code owner January 22, 2021 14:59
Base automatically changed from master to main January 23, 2021 01:00
@bflad bflad added bug Addresses a defect in current functionality. regression Pertains to a degraded workflow resulting from an upstream patch or internal enhancement. labels Jan 26, 2021
@bflad bflad self-assigned this Jan 26, 2021
Copy link
Contributor

@bflad bflad left a comment

Choose a reason for hiding this comment

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

Looks good to me, @ewbankkit 🚀

Output from acceptance testing:

--- PASS: TestAccAWSEBSVolume_basic (33.48s)
--- PASS: TestAccAWSEBSVolume_disappears (30.44s)
--- PASS: TestAccAWSEBSVolume_gp3_basic (33.48s)
--- PASS: TestAccAWSEBSVolume_gp3_iops (60.35s)
--- PASS: TestAccAWSEBSVolume_gp3_throughput (59.52s)
--- PASS: TestAccAWSEBSVolume_InvalidIopsForType (4.53s)
--- PASS: TestAccAWSEBSVolume_InvalidThroughputForType (4.49s)
--- PASS: TestAccAWSEBSVolume_kmsKey (37.88s)
--- PASS: TestAccAWSEBSVolume_multiAttach (34.63s)
--- PASS: TestAccAWSEBSVolume_NoIops (33.46s)
--- PASS: TestAccAWSEBSVolume_snapshotID (65.05s)
--- PASS: TestAccAWSEBSVolume_snapshotIDAndSize (64.66s)
--- PASS: TestAccAWSEBSVolume_updateAttachedEbsVolume (275.15s)
--- PASS: TestAccAWSEBSVolume_updateIops_Io1 (60.24s)
--- PASS: TestAccAWSEBSVolume_updateIops_Io2 (60.25s)
--- PASS: TestAccAWSEBSVolume_updateSize (60.33s)
--- PASS: TestAccAWSEBSVolume_updateType (60.81s)
--- PASS: TestAccAWSEBSVolume_withTags (33.96s)
--- SKIP: TestAccAWSEBSVolume_outpost (2.00s)

@bflad bflad merged commit 73d1aaa into hashicorp:main Jan 26, 2021
@github-actions github-actions bot added this to the v3.26.0 milestone Jan 26, 2021
@ewbankkit ewbankkit deleted the b-r/aws_ebs_volume-size-and-snapshot-id branch January 26, 2021 16:19
@ghost
Copy link

ghost commented Jan 28, 2021

This has been released in version 3.26.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!

@ghost
Copy link

ghost commented Feb 25, 2021

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 feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. Thanks!

@ghost ghost locked as resolved and limited conversation to collaborators Feb 25, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Addresses a defect in current functionality. documentation Introduces or discusses updates to documentation. regression Pertains to a degraded workflow resulting from an upstream patch or internal enhancement. service/ec2 Issues and PRs that pertain to the ec2 service. size/L Managed by automation to categorize the size of a PR. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3.25.0 breaks aws_ebs_volume with size": only one of size,snapshot_id can be specified
2 participants