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

[New Resource] TimestreamInfluxDB DB Instance #37963

Merged
merged 24 commits into from
Jul 31, 2024

Conversation

trevorbonas
Copy link
Contributor

@trevorbonas trevorbonas commented Jun 13, 2024

Description

  • aws_timestreaminfluxdb_db_instance resource added.
  • Acceptance tests added for aws_timestreaminfluxdb_db_instance.
  • Sweeper added for aws_timestreaminfluxdb_db_instance.
  • Website documentation added for aws_timestreaminfluxdb_db_instance.

Relations

Closes #36398

References

TimestreamInfluxDB AWS SDK Go v2 package: https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb@v1.0.5#pkg-index

Timestream for InfluxDB documentation: https://docs.aws.amazon.com/timestream/latest/developerguide/timestream-for-influxdb.html

Output from Acceptance Testing

% make testacc TESTS=TestAccTimestreamInfluxDBDBInstance PKG=timestreaminfluxdb ACCTEST_PARALLELISM=1
make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go1.22.2 test ./internal/service/timestreaminfluxdb/... -v -count 1 -parallel 1 -run='TestAccTimestreamInfluxDBDBInstance'  -timeout 360m
=== RUN   TestAccTimestreamInfluxDBDBInstance_basic
=== PAUSE TestAccTimestreamInfluxDBDBInstance_basic
=== RUN   TestAccTimestreamInfluxDBDBInstance_disappears
=== PAUSE TestAccTimestreamInfluxDBDBInstance_disappears
=== RUN   TestAccTimestreamInfluxDBDBInstance_logDeliveryConfiguration
=== PAUSE TestAccTimestreamInfluxDBDBInstance_logDeliveryConfiguration
=== RUN   TestAccTimestreamInfluxDBDBInstance_publiclyAccessible
=== PAUSE TestAccTimestreamInfluxDBDBInstance_publiclyAccessible
=== RUN   TestAccTimestreamInfluxDBDBInstance_deploymentTypeMultiAzStandby
=== PAUSE TestAccTimestreamInfluxDBDBInstance_deploymentTypeMultiAzStandby
=== RUN   TestAccTimestreamInfluxDBDBInstance_username
=== PAUSE TestAccTimestreamInfluxDBDBInstance_username
=== RUN   TestAccTimestreamInfluxDBDBInstance_bucket
=== PAUSE TestAccTimestreamInfluxDBDBInstance_bucket
=== RUN   TestAccTimestreamInfluxDBDBInstance_organization
=== PAUSE TestAccTimestreamInfluxDBDBInstance_organization
=== RUN   TestAccTimestreamInfluxDBDBInstance_tags
=== PAUSE TestAccTimestreamInfluxDBDBInstance_tags
=== RUN   TestAccTimestreamInfluxDBDBInstance_dbInstanceType
=== PAUSE TestAccTimestreamInfluxDBDBInstance_dbInstanceType
=== RUN   TestAccTimestreamInfluxDBDBInstance_dbStorageType
=== PAUSE TestAccTimestreamInfluxDBDBInstance_dbStorageType
=== CONT  TestAccTimestreamInfluxDBDBInstance_basic
--- PASS: TestAccTimestreamInfluxDBDBInstance_basic (960.79s)
=== CONT  TestAccTimestreamInfluxDBDBInstance_bucket
--- PASS: TestAccTimestreamInfluxDBDBInstance_bucket (826.30s)
=== CONT  TestAccTimestreamInfluxDBDBInstance_dbStorageType
--- PASS: TestAccTimestreamInfluxDBDBInstance_dbStorageType (1692.93s)
=== CONT  TestAccTimestreamInfluxDBDBInstance_dbInstanceType
--- PASS: TestAccTimestreamInfluxDBDBInstance_dbInstanceType (5692.87s)
=== CONT  TestAccTimestreamInfluxDBDBInstance_tags
--- PASS: TestAccTimestreamInfluxDBDBInstance_tags (849.57s)
=== CONT  TestAccTimestreamInfluxDBDBInstance_organization
--- PASS: TestAccTimestreamInfluxDBDBInstance_organization (855.72s)
=== CONT  TestAccTimestreamInfluxDBDBInstance_publiclyAccessible
--- PASS: TestAccTimestreamInfluxDBDBInstance_publiclyAccessible (956.25s)
=== CONT  TestAccTimestreamInfluxDBDBInstance_username
--- PASS: TestAccTimestreamInfluxDBDBInstance_username (917.59s)
=== CONT  TestAccTimestreamInfluxDBDBInstance_deploymentTypeMultiAzStandby
--- PASS: TestAccTimestreamInfluxDBDBInstance_deploymentTypeMultiAzStandby (1220.48s)
=== CONT  TestAccTimestreamInfluxDBDBInstance_logDeliveryConfiguration
--- PASS: TestAccTimestreamInfluxDBDBInstance_logDeliveryConfiguration (977.41s)
=== CONT  TestAccTimestreamInfluxDBDBInstance_disappears
--- PASS: TestAccTimestreamInfluxDBDBInstance_disappears (904.06s)
PASS
ok      github.com/hashicorp/terraform-provider-aws/internal/service/timestreaminfluxdb 15858.121s

@trevorbonas trevorbonas requested a review from a team as a code owner June 13, 2024 20:38
Copy link

Community Note

Voting for Prioritization

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

For Submitters

  • Review the contribution guide relating to the type of change you are making to ensure all of the necessary steps have been taken.
  • For new resources and data sources, use skaff to generate scaffolding with comments detailing common expectations.
  • Whether or not the branch has been rebased will not impact prioritization, but doing so is always a welcome surprise.

@github-actions github-actions bot added size/XL Managed by automation to categorize the size of a PR. documentation Introduces or discusses updates to documentation. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. sweeper Pertains to changes to or issues with the sweeper. generators Relates to code generators. service/timestreaminfluxdb Issues and PRs that pertain to the timestreaminfluxdb service. and removed size/XL Managed by automation to categorize the size of a PR. labels Jun 13, 2024
@terraform-aws-provider terraform-aws-provider bot added the needs-triage Waiting for first response or review from a maintainer. label Jun 13, 2024
@justinretzolk justinretzolk added new-resource Introduces a new resource. and removed needs-triage Waiting for first response or review from a maintainer. labels Jun 14, 2024
@github-actions github-actions bot added the size/XL Managed by automation to categorize the size of a PR. label Jun 17, 2024
@trevorbonas
Copy link
Contributor Author

trevorbonas commented Jun 18, 2024

I have addressed all failing checks. I have updated the output of the acceptance tests after the latest changes. This PR is ready for review.

cc @johnsonaj

@Sharu95
Copy link

Sharu95 commented Jul 10, 2024

Hi! Are there any updates on this PR? 😄

@AlexandrSher
Copy link

@hc-github-team-terraform-aws Hi! any updates?

@mfoti
Copy link

mfoti commented Jul 15, 2024

Hi all, this could be merged?

@trevorbonas
Copy link
Contributor Author

trevorbonas commented Jul 17, 2024

This PR is complete and needs assistance to review and merge.

Note: Currently, Timestream for InfluxDB does not support creating multiple database instances in parallel. This is why I used ACCTEST_PARALLELISM=1 for the above tests. This also means tests take a long time, for me, around 4 hours for all tests.

@johnsonaj johnsonaj self-assigned this Jul 24, 2024
Copy link
Contributor

@johnsonaj johnsonaj left a comment

Choose a reason for hiding this comment

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

LGTM 🚀

% make testacc TESTARGS="-run=TestAccTimestreamInfluxDBDBInstance_" PKG=timestreaminfluxdb ACCTEST_PARALLELISM=3

make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go1.22.5 test ./internal/service/timestreaminfluxdb/... -v -count 1 -parallel 3  -run=TestAccTimestreamInfluxDBDBInstance_ -timeout 360m
    db_instance_tags_gen_test.go:204: Tags with null values are not correctly handled with the Plugin Framework
--- SKIP: TestAccTimestreamInfluxDBDBInstance_tags_null (0.00s)
    db_instance_tags_gen_test.go:1523: Tags with null values are not correctly handled with the Plugin Framework
--- SKIP: TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_nullOverlappingResourceTag (0.00s)
    db_instance_tags_gen_test.go:1590: Tags with null values are not correctly handled with the Plugin Framework
--- SKIP: TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_nullNonOverlappingResourceTag (0.00s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_providerOnly (878.56s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_tags (882.29s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_emptyResourceTag (991.37s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_updateToProviderOnly (609.35s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_updateToResourceOnly (1349.81s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_tags_EmptyTag_OnUpdate_Add (1936.40s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_tags_EmptyTag_OnUpdate_Replace (1862.04s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_basic (1892.17s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_deploymentTypeMultiAzStandby (1692.02s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_publiclyAccessible (557.90s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_overlapping (2206.01s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_logDeliveryConfiguration (1496.61s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_disappears (753.26s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_tags_ComputedTag_OnUpdate_Add (661.75s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_nonOverlapping (2319.23s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_tags_ComputedTag_OnUpdate_Replace (845.38s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_tags_ComputedTag_OnCreate (970.87s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_tags_EmptyTag_OnCreate (2264.00s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_tags_AddOnUpdate (799.56s)
--- PASS: TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_emptyProviderOnlyTag (1904.56s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/timestreaminfluxdb	9596.592s

@johnsonaj
Copy link
Contributor

@trevorbonas thank you for the contribution! 🎉

@johnsonaj johnsonaj merged commit 197f6ec into hashicorp:main Jul 31, 2024
42 checks passed
@github-actions github-actions bot added this to the v5.61.0 milestone Jul 31, 2024
@trevorbonas trevorbonas deleted the f-timestreaminfluxdb-db-instance branch July 31, 2024 18:19
Copy link

github-actions bot commented Aug 2, 2024

This functionality has been released in v5.61.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. Thank you!

Copy link

github-actions bot commented Sep 1, 2024

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.
If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 1, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
documentation Introduces or discusses updates to documentation. generators Relates to code generators. new-resource Introduces a new resource. service/timestreaminfluxdb Issues and PRs that pertain to the timestreaminfluxdb service. size/XL Managed by automation to categorize the size of a PR. sweeper Pertains to changes to or issues with the sweeper. 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.

[Enhancement]: Support Timestream for InfluxDB
6 participants