Google cloud platform re是确定围绕shell语法工作的最佳方法,以便必要的字符可以到达Terraform
对于Unix样式的shell,我通常建议将地址放在单引号中以禁用元字符解释,如下所示:Google cloud platform re是确定围绕shell语法工作的最佳方法,以便必要的字符可以到达Terraform,google-cloud-platform,terraform,terragrunt,Google Cloud Platform,Terraform,Terragrunt,对于Unix样式的shell,我通常建议将地址放在单引号中以禁用元字符解释,如下所示: terragrunt import 'google_storage_bucket.buckets["a-test-test-test"]' a-test-test-test 我对zsh没有太多的经验,但从参考中我得到的印象是,上面的zsh语法也是有效的。如果上述方法不起作用,那么可能值得尝试使用不同的shell,例如bash,以查看是否得到不同的结果 尽管您特别提到了zsh,但为了完整起
terragrunt import 'google_storage_bucket.buckets["a-test-test-test"]' a-test-test-test
我对zsh
没有太多的经验,但从参考中我得到的印象是,上面的zsh
语法也是有效的。如果上述方法不起作用,那么可能值得尝试使用不同的shell,例如bash
,以查看是否得到不同的结果
尽管您特别提到了zsh
,但为了完整起见,我还将注意到,在Windows上,规则有点不同:传统的Windows命令行语法不支持单引号,因此,不幸的是,在Windows命令提示符下运行Terraform时,我们必须转义引号:
terragrunt import google_storage_bucket.buckets[\"a-test-test-test\"] a-test-test-test
重要的是,地址中的引号字符
“
通过shell传递到Terraform,这样Terraform就可以成功地将参数解析为。导入完整的实例地址(包括实例键索引部分)这是正确的方法,但这里的诀窍是确定围绕shell语法工作的最佳方法,以便必要的字符可以到达Terraform
对于Unix样式的shell,我通常建议将地址放在单引号中以禁用元字符解释,如下所示:
terragrunt import 'google_storage_bucket.buckets["a-test-test-test"]' a-test-test-test
我对zsh
没有太多的经验,但从参考中我得到的印象是,上面的zsh
语法也是有效的。如果上面的方法不起作用,可能值得尝试使用另一个shell,例如bash
,看看是否得到不同的结果
尽管您特别提到了zsh
,但为了完整起见,我还将注意到,在Windows上,规则有点不同:传统的Windows命令行语法不支持单引号,因此,不幸的是,在Windows命令提示符下运行Terraform时,我们必须转义引号:
terragrunt import google_storage_bucket.buckets[\"a-test-test-test\"] a-test-test-test
重要的是,地址中的引号字符
“
通过shell传递到Terraform,这样Terraform就可以成功地将参数解析为。我在Terraform模块中使用了数据,通过Terragrunt调用的变量避免了这个问题
在main.tf中
data "azurerm_resource_group" "k8s" {
name = var.resource_group_name
}
在terragrunt.hcl中
resource_group_name = "rgpazewsmlit-sandbox-xxxxx"
我使用Terraform模块中的数据来避免这个问题,从Terragrunt调用变量 在main.tf中
data "azurerm_resource_group" "k8s" {
name = var.resource_group_name
}
在terragrunt.hcl中
resource_group_name = "rgpazewsmlit-sandbox-xxxxx"
你是一个生命救世主,从来没有想过(或者我会在几个小时内)这是一个空壳问题,你的第一个例子成功了,谢谢你,你是一个生命救世主,从来没有想过(或者我会在几个小时内)这是一个空壳问题,你的第一个例子成功了,谢谢