首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Terraform未检测到导入的Azure Server administrator_login_password

Terraform未检测到导入的Azure Server administrator_login_password
EN

Stack Overflow用户
提问于 2021-03-12 11:50:22
回答 1查看 176关注 0票数 1

我已经将Azure SQL Server定义为:

代码语言:javascript
复制
resource "azurerm_sql_server" "azure-sql-server" {
  name                         = "xxxxx"
  resource_group_name          = "xxxx"
  location                     = "xxxx"
  version                      = "12.0"
  administrator_login          = "admin_login"
  administrator_login_password = "password"

}

因为资源已经存在于我的Azure订阅中,所以我使用terraform import命令导入了它,该命令可以工作。

当我使用terraform plan时,terraform说administrator_login_password将被就地更新,即使我使用了服务器中设置的相同密码。

我该如何避免它的发生?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-12 12:14:06

使用terraform import将当前资源读入状态时,将不会检索密码。这是因为出于安全考虑,Azure API (和大多数其他API)将不支持从其相关端点读取密码。因此,当前状态中的密码是未知的,Terraform提供程序将尝试更新它。

可以通过以lifecycle元块ignore_changes元参数为目标的password参数来防止这种情况:

代码语言:javascript
复制
resource "azurerm_sql_server" "azure-sql-server" {
  name                         = "xxxxx"
  resource_group_name          = "xxxx"
  location                     = "xxxx"
  version                      = "12.0"
  administrator_login          = "admin_login"
  administrator_login_password = "password"

  lifecycle {
    ignore_changes = [administrator_login_password]
  }
}

而Azure提供程序将不再尝试对您的资源执行更新操作。ignore_changes的相关文档是这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66599373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档