-
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
aws_sns_topic_subscription apply intermittently fails with "Root resource was present, but now absent" error #16695
Comments
…l consistency, enforce lowercase protocol argument validation Reference: #10225 Reference: #11737 Reference: #12692 Reference: #16695 Reference: #16796 The `protocol` validation update is to catch where the API accepts uppercase values such as `HTTPS`, but prevents proper handling when the API canonicalizes it to lowercase. The API documentation and existing Terraform documentation solely use lowercase. Output from acceptance testing in AWS Commercial: ``` --- PASS: TestAccAWSSNSTopicSubscription_autoConfirmingEndpoint (95.60s) --- PASS: TestAccAWSSNSTopicSubscription_autoConfirmingSecuredEndpoint (137.43s) --- PASS: TestAccAWSSNSTopicSubscription_basic (66.20s) --- PASS: TestAccAWSSNSTopicSubscription_deliveryPolicy (69.55s) --- PASS: TestAccAWSSNSTopicSubscription_disappears (74.02s) --- PASS: TestAccAWSSNSTopicSubscription_disappears_topic (75.13s) --- PASS: TestAccAWSSNSTopicSubscription_email (16.78s) --- PASS: TestAccAWSSNSTopicSubscription_filterPolicy (71.62s) --- PASS: TestAccAWSSNSTopicSubscription_firehose (140.29s) --- PASS: TestAccAWSSNSTopicSubscription_rawMessageDelivery (69.77s) --- PASS: TestAccAWSSNSTopicSubscription_redrivePolicy (64.88s) ``` Output from acceptance testing in AWS GovCloud (US): ``` --- PASS: TestAccAWSSNSTopicSubscription_basic (70.13s) --- PASS: TestAccAWSSNSTopicSubscription_deliveryPolicy (106.45s) --- PASS: TestAccAWSSNSTopicSubscription_disappears (82.09s) --- PASS: TestAccAWSSNSTopicSubscription_disappears_topic (68.14s) --- PASS: TestAccAWSSNSTopicSubscription_email (20.04s) --- PASS: TestAccAWSSNSTopicSubscription_filterPolicy (106.32s) --- PASS: TestAccAWSSNSTopicSubscription_rawMessageDelivery (95.36s) --- PASS: TestAccAWSSNSTopicSubscription_redrivePolicy (110.75s) --- SKIP: TestAccAWSSNSTopicSubscription_autoConfirmingEndpoint (1.41s) --- SKIP: TestAccAWSSNSTopicSubscription_autoConfirmingSecuredEndpoint (1.41s) --- SKIP: TestAccAWSSNSTopicSubscription_firehose (53.36s) ```
…l consistency, enforce lowercase protocol argument validation (#18475) * resource/aws_sns_topic_subscription: Handle read-after-create eventual consistency, enforce lowercase protocol argument validation Reference: #10225 Reference: #11737 Reference: #12692 Reference: #16695 Reference: #16796 The `protocol` validation update is to catch where the API accepts uppercase values such as `HTTPS`, but prevents proper handling when the API canonicalizes it to lowercase. The API documentation and existing Terraform documentation solely use lowercase. Output from acceptance testing in AWS Commercial: ``` --- PASS: TestAccAWSSNSTopicSubscription_autoConfirmingEndpoint (95.60s) --- PASS: TestAccAWSSNSTopicSubscription_autoConfirmingSecuredEndpoint (137.43s) --- PASS: TestAccAWSSNSTopicSubscription_basic (66.20s) --- PASS: TestAccAWSSNSTopicSubscription_deliveryPolicy (69.55s) --- PASS: TestAccAWSSNSTopicSubscription_disappears (74.02s) --- PASS: TestAccAWSSNSTopicSubscription_disappears_topic (75.13s) --- PASS: TestAccAWSSNSTopicSubscription_email (16.78s) --- PASS: TestAccAWSSNSTopicSubscription_filterPolicy (71.62s) --- PASS: TestAccAWSSNSTopicSubscription_firehose (140.29s) --- PASS: TestAccAWSSNSTopicSubscription_rawMessageDelivery (69.77s) --- PASS: TestAccAWSSNSTopicSubscription_redrivePolicy (64.88s) ``` Output from acceptance testing in AWS GovCloud (US): ``` --- PASS: TestAccAWSSNSTopicSubscription_basic (70.13s) --- PASS: TestAccAWSSNSTopicSubscription_deliveryPolicy (106.45s) --- PASS: TestAccAWSSNSTopicSubscription_disappears (82.09s) --- PASS: TestAccAWSSNSTopicSubscription_disappears_topic (68.14s) --- PASS: TestAccAWSSNSTopicSubscription_email (20.04s) --- PASS: TestAccAWSSNSTopicSubscription_filterPolicy (106.32s) --- PASS: TestAccAWSSNSTopicSubscription_rawMessageDelivery (95.36s) --- PASS: TestAccAWSSNSTopicSubscription_redrivePolicy (110.75s) --- SKIP: TestAccAWSSNSTopicSubscription_autoConfirmingEndpoint (1.41s) --- SKIP: TestAccAWSSNSTopicSubscription_autoConfirmingSecuredEndpoint (1.41s) --- SKIP: TestAccAWSSNSTopicSubscription_firehose (53.36s) ``` * Update CHANGELOG for #18475
This has been released in version 3.35.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 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! |
Community Note
Terraform CLI and Terraform AWS Provider Version
Affected Resource(s)
Terraform Configuration Files
Debug Output
The debug output shows that the provider was able to create the SNS subscription successfully:
Immediately after creating the subscription, though, a call to
GetSubscriptionAttributes
for the subscription returns a 404 error, which leads to the Terraform apply failure:When I looked in AWS at the SNS topic after the failure, I saw that the subscription did actually exist, so this may just be an eventual consistency-related issue.
Panic Output
Expected Behavior
The apply should have succeeded.
Actual Behavior
Most of the time, the apply succeeds. In at least once instance, though, the
aws_sns_topic_subscription
resource failed to apply, with this error:Note that if a second
terraform apply
is attempted after the error occurs, theaws_sns_topic_subscription
resource is created and the apply succeeds.Steps to Reproduce
terraform apply
Important Factoids
References
The text was updated successfully, but these errors were encountered: