-
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
r/aws_dynamodb_table_export - support DynamoDB ExportTableToPointInTime API. #30399
Conversation
Community NoteVoting for Prioritization
For Submitters
|
What's the status of this PR? Is it planned for a release of the AWS provider? If so, which release? |
9e166b0
to
43b79ce
Compare
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 🎉
% make t T=TestAccDynamoDBTableExport_ K=dynamodb
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go1.21.8 test ./internal/service/dynamodb/... -v -count 1 -parallel 20 -run='TestAccDynamoDBTableExport_' -timeout 360m
=== RUN TestAccDynamoDBTableExport_basic
=== PAUSE TestAccDynamoDBTableExport_basic
=== RUN TestAccDynamoDBTableExport_kms
=== PAUSE TestAccDynamoDBTableExport_kms
=== RUN TestAccDynamoDBTableExport_s3Prefix
=== PAUSE TestAccDynamoDBTableExport_s3Prefix
=== CONT TestAccDynamoDBTableExport_basic
=== CONT TestAccDynamoDBTableExport_s3Prefix
=== CONT TestAccDynamoDBTableExport_kms
--- PASS: TestAccDynamoDBTableExport_basic (887.94s)
--- PASS: TestAccDynamoDBTableExport_kms (923.29s)
--- PASS: TestAccDynamoDBTableExport_s3Prefix (941.83s)
PASS
ok github.com/hashicorp/terraform-provider-aws/internal/service/dynamodb 944.132s
This functionality has been released in v5.42.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! |
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. |
Description
Add
aws_dynamodb_table_export
resource.This change introduces support for the DynamoDB ExportTableToPointInTime API.
As issue #28917 describes, that this is not a conventional CRUD resources/API but will prove useful for ops tasks. Here are some observations and notes relating to this implementation:
I was having difficulty writing a specific test for the
export_time
attribute as this needs to be greater than or equal to the time Point-in-time recovery was enabled. This value is returned from the https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PointInTimeRecoveryDescription.html API but it's not currently accessible from any Terraform datasource/resource. It might be useful to add this?The provider has been configured to wait for either a
COMPLETED
or aFAILED
status when creating the resource. This means that we will wait for the task to finish - AWS suggests that this will usually be less than 30minutes. I have only tested on empty or small DynamoDB tables. It would be good to understand how long these tasks may take on a large table - the default create timeout may need to be reviewed accordingly.I have not tested 'cross account' export (using the
s3_bucket_owner
attribute). Any help testing this would be useful.Relations
Closes #28917
References
Output from Acceptance Testing