-
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
Sugestion: aws_route53_record allow_overwrite should have the default value to false #3895
Comments
Hi @marcosdiez 👋 When the original resource was written (quite a long time ago), it was set to always use the The eventual plan is to switch the behavior to always use the |
That's a very sane decision. Marcos |
… to false References: * #3895 * #2926 Previously, the `aws_route53_record` resource did not follow standard Terraform conventions of requiring existing infrastructure to be imported into Terraform's state for management, which meant operators could unexpectedly affect that existing infrastructure. In version 1.10.0, we introduced the `allow_overwrite` argument so operators could opt into the upcoming import requirement and force the Terraform resource during resource creation to error if it attempted to create a Route53 record that previously existed. Here we make the breaking change to switch the default resource behavior to error on creation for existing records. Operators can opt out of the new behavior by enabling the flag, but it is marked as deprecated for removal in the next major version and will display the deprecation warning when used to signal that workflows should be adjusted if necessary. Output from acceptance testing: ``` --- PASS: TestAccAWSRoute53Record_Alias_Elb (319.83s) --- PASS: TestAccAWSRoute53Record_Alias_S3 (123.47s) --- PASS: TestAccAWSRoute53Record_Alias_Uppercase (184.67s) --- PASS: TestAccAWSRoute53Record_Alias_VpcEndpoint (450.17s) --- PASS: TestAccAWSRoute53Record_AliasChange (157.29s) --- PASS: TestAccAWSRoute53Record_allowOverwrite (365.48s) --- PASS: TestAccAWSRoute53Record_basic (130.53s) --- PASS: TestAccAWSRoute53Record_basic_fqdn (146.30s) --- PASS: TestAccAWSRoute53Record_caaSupport (177.87s) --- PASS: TestAccAWSRoute53Record_disappears (107.58s) --- PASS: TestAccAWSRoute53Record_disappears_MultipleRecords (247.77s) --- PASS: TestAccAWSRoute53Record_empty (115.48s) --- PASS: TestAccAWSRoute53Record_failover (204.75s) --- PASS: TestAccAWSRoute53Record_generatesSuffix (180.48s) --- PASS: TestAccAWSRoute53Record_geolocation_basic (196.58s) --- PASS: TestAccAWSRoute53Record_importBasic (174.28s) --- PASS: TestAccAWSRoute53Record_importUnderscored (114.40s) --- PASS: TestAccAWSRoute53Record_latency_basic (173.99s) --- PASS: TestAccAWSRoute53Record_longTXTrecord (114.97s) --- PASS: TestAccAWSRoute53Record_multivalue_answer_basic (197.09s) --- PASS: TestAccAWSRoute53Record_SetIdentifierChange (206.47s) --- PASS: TestAccAWSRoute53Record_spfSupport (152.57s) --- PASS: TestAccAWSRoute53Record_txtSupport (170.00s) --- PASS: TestAccAWSRoute53Record_TypeChange (220.81s) --- PASS: TestAccAWSRoute53Record_weighted_alias (278.61s) --- PASS: TestAccAWSRoute53Record_weighted_basic (112.68s) --- PASS: TestAccAWSRoute53Record_wildcard (216.04s) ```
The behavior of requiring imports for existing infrastructure is now the default in version 2.0.0, releasing later this week. The |
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! |
Terraform Version
Affected Resource(s)
Terraform Configuration Files
Sugestion
One of the nice things about terraform is that it only fiddles with resources it created (unless one explicitly uses
terraform import
)That means one can be certain that he or she won't step on nobody else's toes while using terraform.
Weirdly, that does not happen with
aws_route53_record
.It simply overwrites existing records as if they did not matter.
@Erouan50 was nice enough to create a parameter called
allow_overwrite
exactly to prevent that behavior.Nevertheless the default value is
true
. I deeply believe it should befalse
. The former is counter intuitive and when one notices, it may be too late. Although this is a behavior change, it's the same as adding a sit belt to the existing process. More or less liketerraform --apply
is not automatic now.Please consider changing the default value of
allow_overwrite
tofalse
References
Are there any other GitHub issues (open or closed) or Pull Requests that should be linked here? For example:
The text was updated successfully, but these errors were encountered: