【发布时间】:2021-11-08 08:20:41
【问题描述】:
我使用 Hashicorp 教程“使用 S3 和 Cloudflare 托管静态网站”中的代码创建了我的项目,但该教程没有提及 github 操作。因此,当我将项目放入 github 操作时,即使 terraform plan 和 terraform 在本地成功应用输出,我也会在 terraform apply 上遇到错误:
Error: expected DNS record to not already be present but already exists
with cloudflare_record.site_cname ...
with cloudflare_record.www
我的 main.tf 中有两个资源,一个用于站点域,一个用于 www,如下所示:
resource "cloudflare_record" "site_cname" {
zone_id = data.cloudflare_zones.domain.zones[0].id
name = var.site_domain
value = aws_s3_bucket.site.website_endpoint
type = "CNAME"
ttl = 1
proxied = true
}
resource "cloudflare_record" "www" {
zone_id = data.cloudflare_zones.domain.zones[0].id
name = "www"
value = var.site_domain
type = "CNAME"
ttl = 1
proxied = true
}
如果我从 main.tf 中删除这些代码行,然后在本地运行 terraform apply,我会收到警告说这会破坏我的资源。
我应该怎么做?
- 在某处添加 allow_overwrite(在文档中看不到如何使用它的示例)以及我尝试添加它的方式会产生错误。
- 从 main.tf 中删除代码行知道运行 github 操作将破坏我的 cloudflare_record.www 和 cloudflare_record.site_cname 知道如果我登录到 cloudflare 可以看到我的区域 id 和 CNAME,所以之后可能不需要此代码初始设置
- 在某处运行 terrform 导入?如果是这样,我在哪里可以找到区域 ID 和记录 ID
还是别的什么?
【问题讨论】:
标签: terraform cloudflare terraform-provider-aws