Terraform导入google_project_iam_binding提示Wrong number of parts错误如何解决
Terraform导入google_project_iam_binding报错的解决方法
问题根因
错误提示已经明确说明导入ID不符合格式要求:google_project_iam_binding类型资源的导入ID不能只填项目ID,需要按规则拼接多个字段。
导入ID拼接规则
- 无IAM条件的绑定:导入ID格式为
{项目ID} {角色名},两个字段用空格分隔 - 带IAM条件的绑定:导入ID格式为
{项目ID} {角色名} {条件标题},三个字段用空格分隔
对应场景的解决命令
你当前配置没有添加condition块,执行以下命令即可完成导入,注意双引号不能省略,避免shell把空格识别为参数分隔符:
terraform import google_project_iam_binding.log-writer "my-terraform-project roles/logging.logWriter"
验证与其他注意事项
- 确保导入命令中的角色名和你配置里的
role字段值完全一致,大小写、拼写都不能出错 - 之前添加condition块导入失败的原因是云端现有IAM绑定本身没有配置条件,配置和实际资源不匹配,删除配置中额外添加的condition块即可
- 导入完成后执行
terraform plan验证,如果没有提示需要创建或修改该google_project_iam_binding资源,说明导入成功。如果提示成员列表不一致,只需把配置中的members字段调整为和实际云端一致即可
内容的提问来源于stack exchange,提问作者VReyes
相关产品推荐
相关产品推荐

